X-Git-Url: http://git.dj3c1t.com/index.cgi?a=blobdiff_plain;f=mw%2Fapp%2Fmods%2Fadmin%2Fusers.php;h=586d8d237ec873e446ed36a5d97a655b5cbd9e94;hb=refs%2Ftags%2Fmtweb.0.8.1;hp=95dfed0dc71a5fca7a1a7bc342b862de61c1c159;hpb=3c17f81e1d2fb68f69cfa620ca00ad63e83cc17c;p=mtweb diff --git a/mw/app/mods/admin/users.php b/mw/app/mods/admin/users.php index 95dfed0..586d8d2 100644 --- a/mw/app/mods/admin/users.php +++ b/mw/app/mods/admin/users.php @@ -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 ){ @@ -36,12 +32,12 @@ 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; @@ -78,12 +74,12 @@ $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( @@ -106,13 +102,13 @@ } $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; @@ -132,12 +128,12 @@ } 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; } } } @@ -148,7 +144,7 @@ $user["login"], $user["password"], $user["email"], - $user["status"] + $user["roles"] ) ) $env->redirect( @@ -162,7 +158,7 @@ } 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){ @@ -178,146 +174,6 @@ 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