module config et role webmaster
[mtweb] / mw / app / mods / admin / users.php
index 95dfed0..586d8d2 100644 (file)
@@ -2,30 +2,26 @@
 
   class mw_admin_users extends mw_mod{
 
-    var $status;
+    var $roles;
 
     function validate(&$env){
       $data = $env->data();
-      if(($this->status = $data->status()) === false) return "impossible de lire la liste des statuts";
+      if(($this->roles = $data->roles()) === false) return "impossible de lire la liste des roles";
       return true;
     }
 
-    // ------------------------------------------------------------------------------------
-    //                                                                         utilisateurs
-    //
-
     function index(&$env){
       $data = $env->data();
-      if($this->status) $env->set_out("status", $this->status);
+      if($this->roles) $env->set_out("roles", $this->roles);
       else{
-        $env->erreur("impossible de lire la liste des status");
+        $env->erreur("impossible de lire la liste des roles");
         return;
       }
       if(
         ( $users = $data->users(
             isset($_GET[$env->param("start")]) ? $_GET[$env->param("start")] : 0,
             isset($_GET[$env->param("alpha")]) ? $_GET[$env->param("alpha")] : null,
-            isset($_GET[$env->param("status")]) ? $_GET[$env->param("status")] : null
+            isset($_GET[$env->param("role")]) ? $_GET[$env->param("role")] : null
           )
         ) !== false
       ){
 
     function add(&$env){
       $data = $env->data();
-      if($this->status){
-        $env->set_out("status", $this->status);
+      if($this->roles){
+        $env->set_out("roles", $this->roles);
         $user = array(
           "login" => "",
           "email" => "",
-          "status" => array()
+          "roles" => array()
         );
         if($_POST){
           $VALID = true;
             $env->message("merci de preciser un mot de passe");
             $VALID = false;
           }
-          $user["status"] = array();
+          $user["roles"] = array();
           foreach($_POST as $key => $value){
-            if(substr($key, 0, 7) == "status_"){
-              $id_role = substr($key, 7);
+            if(substr($key, 0, 5) == "role_"){
+              $id_role = substr($key, 5);
               if(preg_match("/^[0-9]+$/", $id_role)){
-                $user["status"][] = $id_role;
+                $user["roles"][] = $id_role;
               }
             }
           }
@@ -93,7 +89,7 @@
                 $user["login"],
                 $user["password"],
                 $user["email"],
-                $user["status"]
+                $user["roles"]
               )
             ){
               $env->redirect(
         }
         $env->set_out("user", $user);
       }
-      else $env->erreur("impossible de lire la liste des status");
+      else $env->erreur("impossible de lire la liste des roles");
     }
 
     function edit(&$env){
       $data = $env->data();
-      if($this->status){
-        $env->set_out("status", $this->status);
+      if($this->roles){
+        $env->set_out("roles", $this->roles);
         if($user = $data->user($_GET[$env->param("id")])){
           if($_POST){
             $VALID = true;
               }
               if($VALID) $user["password"] = md5($_POST["password"]);
             }
-            $user["status"] = array();
+            $user["roles"] = array();
             foreach($_POST as $key => $value){
-              if(substr($key, 0, 7) == "status_"){
-                $id_role = substr($key, 7);
-                if(preg_match("/^[0-9]+$/", $id_role) && isset($this->status[$id_role])){
-                  $user["status"][] = $id_role;
+              if(substr($key, 0, 5) == "role_"){
+                $id_role = substr($key, 5);
+                if(preg_match("/^[0-9]+$/", $id_role) && isset($this->roles[$id_role])){
+                  $user["roles"][] = $id_role;
                 }
               }
             }
                   $user["login"],
                   $user["password"],
                   $user["email"],
-                  $user["status"]
+                  $user["roles"]
                 )
               )
               $env->redirect(
         }
         else $env->erreur("Impossible de lire les informations de cet utilisateur");
       }
-      else $env->erreur("impossible de lire la liste des status");
+      else $env->erreur("impossible de lire la liste des roles");
     }
 
     function del(&$env){
       else $env->erreur("Impossible de lire les informations de cet utilisateur");
     }
 
-    // ------------------------------------------------------------------------------------
-    //                                                                                roles
-    //
-
-    function set_default_allow(&$env){
-      $default_allow = $_GET[$env->param("id")];
-      if(!isset($default_allow) || ($default_allow !== "0" && $default_allow !== "1")){
-        $env->erreur("parametre default_allow invalide");
-        return;
-      }
-      $data = $env->data();
-      if(!$data->set_config("default_allow", $default_allow)){
-        $env->erreur("impossible de mettre a jour la configuration default_allow");
-        return;
-      }
-      $env->redirect(
-        $env->url("admin/users/roles"),
-        "la configuration default_allow a été enregistrée"
-      );
-    }
-
-    function roles(&$env){
-      $data = $env->data();
-      $roles = $data->status();
-      $id_role = isset($_GET[$env->param("id")]) && $_GET[$env->param("id")] ? $_GET[$env->param("id")] : 0;
-      $env->set_out("id_role", $id_role);
-      if(!isset($roles) || $roles === false){
-        $env->erreur("impossible de lire la liste des roles");
-        return;
-      }
-      $env->set_out("roles", $roles);
-      if(($actions = $data->get_actions($id_role)) === false){
-        $env->erreur("impossible de lire la liste des droits d'acces");
-        return;
-      }
-      $env->set_out("actions", $actions);
-
-    }
-
-    function add_role(&$env){
-      $data = $env->data();
-      $role = array(
-        "nom" => "",
-        "intitule" => ""
-      );
-      if($_POST){
-        if(!($role["nom"] = $_POST["nom"])) $env->message("merci de preciser un nom");
-        if(!($role["intitule"] = $_POST["intitule"])) $env->message("merci de preciser un intitule");
-        if(!$env->messages()){
-          if(($id_role = $data->add_role($role["nom"], $role["intitule"])) !== false){
-            $env->redirect(
-              $env->url("admin/users/roles", array("id" => $id_role)),
-              "le rôle a été enregistré"
-            );
-          }
-          else $env->erreur("impossible d'enregistrer les informations du role");
-        }
-      }
-      $env->set_out("role", $role);
-    }
-
-    function edit_role(&$env){
-      $data = $env->data();
-      if(!isset($_GET[$env->param("id")]) || !($role = $data->get_role($_GET[$env->param("id")]))){
-        $env->erreur("impossible de lire les informations du role");
-        return;
-      }
-      if($_POST){
-        if(!($role["nom"] = $_POST["nom"])) $env->message("merci de preciser un nom");
-        if(!($role["intitule"] = $_POST["intitule"])) $env->message("merci de preciser un intitule");
-        if(!$env->messages()){
-          if($data->set_role($role["id"], $role["nom"], $role["intitule"])){
-            $env->redirect(
-              $env->url("admin/users/roles", array("id" => $role["id"])),
-              "le rôle a été enregistré"
-            );
-          }
-          else $env->erreur("impossible d'enregistrer les informations du role");
-        }
-      }
-      $env->set_out("role", $role);
-    }
-
-    function save_role(&$env){
-      $data = $env->data();
-      if(!($role = $data->get_role($_POST["id_role"]))){
-        $env->erreur("impossible de lire les informations du role");
-        return;
-      }
-      if(!$data->clear_role_actions($role["id"])){
-        $env->erreur("impossible de supprimer les actions du role");
-        return;
-      }
-      $action_status = array();
-      $als = array();
-      foreach($_POST as $key => $value){
-        if(substr($key, 0, 7) == "module_" && ($action = substr($key, 7))) $action_status[$action] = $role["id"];
-        elseif(substr($key, 0, 11) == "controleur_" && ($action = substr($key, 11))) $action_status[$action] = $role["id"];
-        elseif(substr($key, 0, 3) == "al_" && ($al_index = substr($key, 3))) $als[] = $al_index;
-      }
-      foreach($als as $al_index){
-        $al_prefix = "action_".$al_index."_";
-        $al_prefix_length = strlen($al_prefix);
-        foreach($_POST as $key => $value){
-          if(substr($key, 0, $al_prefix_length) == $al_prefix) $action_status[$value] = $role["id"];
-        }
-      }
-      foreach($action_status as $action => $id_role){
-        if(!$data->add_role_action($id_role, $action)){
-          $env->erreur("impossible d'enregistrer les actions du role");
-          return;
-        }
-      }
-      $env->redirect(
-        $env->url("admin/users/roles", array("id" => $role["id"])),
-        "les actions du rôle ont été enregistrées"
-      );
-    }
-
-    function del_role(&$env){
-      $data = $env->data();
-      if(!isset($_GET[$env->param("id")]) || !($role = $data->get_role($_GET[$env->param("id")]))){
-        $env->erreur("impossible de lire les informations du role");
-        return;
-      }
-      if($data->clear_role_actions($role["id"])){
-        if($data->clear_role_users($role["id"])){
-          if($data->del_role($role["id"])){
-            $env->redirect(
-              $env->url("admin/users/roles"),
-              "le rôle a été effacé"
-            );
-          }
-          else $env->erreur("impossible de supprimer le role");
-        }
-        else $env->erreur("impossible de supprimer le role aux utilisateurs");
-      }
-      else $env->erreur("impossible de supprimer les actions du role");
-    }
-
   }
 
 ?>
\ No newline at end of file