module config et role webmaster
[mtweb] / mw / app / mods / config / templates.php
diff --git a/mw/app/mods/config/templates.php b/mw/app/mods/config/templates.php
new file mode 100644 (file)
index 0000000..47d1d2f
--- /dev/null
@@ -0,0 +1,63 @@
+<?php
+
+  class mw_config_templates extends mw_mod{
+
+    function index(&$env){
+      $data = $env->data();
+      if(($out_pathes = $env->out_pathes()) === false){
+        $env->erreur("Impossible de lire la liste des templates");
+        return;
+      }
+      if(($out_config = $env->get_out_config()) === false){
+        $env->erreur("Impossible de lire la configuration du template");
+        return;
+      }
+      if($_POST){
+        $template = isset($_POST["out"]) ? $_POST["out"] : "";
+        if(!$template) $template = $env->config("default_out");
+        if(!$env->app_file_exists("out/".$template)){
+          $env->erreur("impossible de trouver le template");
+          return;
+        }
+        if($data->set_config("out", $template) === false){
+          $env->erreur("erreur lors de l'enregistrement du template");
+          return;
+        }
+        $env->redirect(
+          $env->url("config/templates/index"),
+          "la configuration a été enregistrée"
+        );
+      }
+      $env->set_out("out_pathes", $out_pathes);
+      $env->set_out("out_config", $out_config);
+    }
+
+    function options(&$env){
+      $data = $env->data();
+      if(($config = $env->get_CONFIG()) === false){
+        $env->erreur("Impossible de lire la configuration");
+        return;
+      }
+      if(($out_config = $env->get_out_config()) === false){
+        $env->erreur("Impossible de lire la configuration du template");
+        return;
+      }
+      if($_POST){
+        foreach($out_config as $key => $values){
+          if($data->set_config("out_".$key, isset($_POST["out_".$key]) ? $_POST["out_".$key] : "") === false){
+            $env->erreur("erreur lors de l'enregistrement de la configuration du template");
+            return;
+          }
+        }
+        $env->redirect(
+          $env->url("config/templates/options"),
+          "la configuration a été enregistrée"
+        );
+      }
+      $env->set_out("config", $config);
+      $env->set_out("out_config", $out_config);
+    }
+
+  }
+
+?>
\ No newline at end of file