maj syntaxe accolades, maj jQuery, correction layout contact
[mtweb] / web / app / mods / admin / users.php
1 <?php
2
3   class mw_admin_users extends mw_mod{
4
5     var $status;
6
7     function validate(&$env){
8       $data = $env->data();
9       if(($this->status = $data->status()) === false) return "impossible de lire la liste des statuts";
10       return true;
11     }
12
13     function index(&$env){
14       $data = $env->data();
15       if(
16         $env->set_out(
17           "users",
18           $data->users(
19             $_GET[$env->param("start")] ? $_GET[$env->param("start")] : 0,
20             $_GET[$env->param("alpha")],
21             $_GET[$env->param("status")]
22           )
23         ) !== false
24       ){
25         if($this->status){
26           $env->set_out("status", $this->status);
27         }
28         else $env->erreur("impossible de lire la liste des status");
29       }
30       else $env->erreur("impossible de lire la liste des utilisateurs");
31     }
32
33     function add(&$env){
34       $data = $env->data();
35       if($this->status){
36         $env->set_out("status", $this->status);
37         $env->set_out("user", array("status" => $data->creation_default_status()));
38         if($_POST){
39           $env->set_out("user", $_POST);
40           if($_POST["login"]){
41             if(($exists = $data->user($_POST["login"])) !== false){
42               if(!$exists){
43                 $VALID = true;
44                 if(!$_POST["email"]){
45                   $env->message("merci de preciser un email");
46                   $VALID = false;
47                 }
48                 if(!$_POST["password"]){
49                   $env->message("merci de preciser un mot de passe");
50                   $VALID = false;
51                 }
52                 if($_POST["password"] != $_POST["password_confirm"]){
53                   $env->message("la confirmation du mot de passe est incorrecte");
54                   $VALID = false;
55                 }
56                 if($VALID){
57                   if(
58                     $data->add_user(
59                       $_POST["login"],
60                       md5($_POST["password"]),
61                       $_POST["email"],
62                       $_POST["status"]
63                     )
64                   )
65                   $env->redirect(
66                     $env->url("admin/users"),
67                     "l'utilisateur <strong>".$_POST["login"]."</strong> a &eacute;t&eacute; ajout&eacute;"
68                   );
69                   else $env->erreur("Impossible d'ajouter l'utilisateur");
70                 }
71               }
72               else $env->message("ce login existe d&eacute;j&agrave;");
73             }
74             else $env->erreur("impossible de savoir si cet login existe d&eacute;j&agrave;");
75           }
76           else $env->message("merci de pr&eacute;ciser un login");
77         }
78       }
79       else $env->erreur("impossible de lire la liste des status");
80     }
81
82     function edit(&$env){
83       $data = $env->data();
84       if($this->status){
85         $env->set_out("status", $this->status);
86         if($env->set_out("user", $data->user($_GET[$env->param("id")]))){
87           if($_POST){
88             $user = $env->out("user");
89             $id = $user["id"];
90             $login = $user["login"];
91             $password = $user["password"];
92             $_POST["login"] = $login;
93             $env->set_out("user", $_POST);
94             $VALID = true;
95             if(!$_POST["email"]){
96               $env->message("merci de preciser un email");
97               $VALID = false;
98             }
99             if(isset($_POST["change_password"]) && $_POST["change_password"]){
100               if(!$_POST["password"]){
101                 $env->message("merci de preciser un mot de passe");
102                 $VALID = false;
103               }
104               if($_POST["password"] != $_POST["password_confirm"]){
105                 $env->message("la confirmation du mot de passe est incorrecte");
106                 $VALID = false;
107               }
108             }
109             if($VALID){
110               if(
111                 $data->set_user(
112                   $id,
113                   $login,
114                   isset($_POST["change_password"]) && $_POST["change_password"] ? md5($_POST["password"]) : $password,
115                   $_POST["email"],
116                   $_POST["status"]
117                 )
118               )
119               $env->redirect(
120                 $env->url("admin/users"),
121                 "l'utilisateur <strong>".$login."</strong> a &eacute;t&eacute; modifi&eacute;"
122               );
123               else $env->erreur("Impossible de mettre &agrave; jour l'utilisateur");
124             }
125           }
126         }
127         else $env->erreur("Impossible de lire les informations de cet utilisateur");
128       }
129       else $env->erreur("impossible de lire la liste des status");
130     }
131
132     function del(&$env){
133       $data = $env->data();
134       if($env->set_out("user", $data->user($_GET[$env->param("id")]))){
135         $user = $env->out("user");
136         if($data->del_user($_GET[$env->param("id")])) $env->redirect(
137           $env->url("admin/users"),
138           "l'utilisateur <strong>".$user["login"]."</strong> a &eacute;t&eacute; supprim&eacute;"
139         );
140         else $env->erreur("Impossible de supprimer l'utilisateur");
141       }
142       else $env->erreur("Impossible de lire les informations de cet utilisateur");
143     }
144
145   }
146
147 ?>