function validate(&$env){
$data = $env->data();
- if(($this->roles = $data->roles()) === 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->roles) $env->set_out("roles", $this->roles);
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->roles();
- $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_roles = array();
- $als = array();
- foreach($_POST as $key => $value){
- if(substr($key, 0, 7) == "module_" && ($action = substr($key, 7))) $action_roles[$action] = $role["id"];
- elseif(substr($key, 0, 11) == "controleur_" && ($action = substr($key, 11))) $action_roles[$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_roles[$value] = $role["id"];
- }
- }
- foreach($action_roles 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