X-Git-Url: http://git.dj3c1t.com/index.cgi?a=blobdiff_plain;f=mw%2Fapp%2Fmods%2Fadmin%2Fusers.php;fp=mw%2Fapp%2Fmods%2Fadmin%2Fusers.php;h=12f3e561cfae5f792ea3f5e81e57ab5776bbafb1;hb=36ed114046cbe3d72a3589230e9f306a54fcc79d;hp=0000000000000000000000000000000000000000;hpb=281c96e95451269f2614684b8de5be25862c8374;p=mtweb
diff --git a/mw/app/mods/admin/users.php b/mw/app/mods/admin/users.php
new file mode 100644
index 0000000..12f3e56
--- /dev/null
+++ b/mw/app/mods/admin/users.php
@@ -0,0 +1,148 @@
+data();
+ if(($this->status = $data->status()) === false) return "impossible de lire la liste des statuts";
+ return true;
+ }
+
+ function index(&$env){
+ $data = $env->data();
+ if(
+ $env->set_out(
+ "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
+ )
+ ) !== false
+ ){
+ if($this->status){
+ $env->set_out("status", $this->status);
+ }
+ else $env->erreur("impossible de lire la liste des status");
+ }
+ else $env->erreur("impossible de lire la liste des utilisateurs");
+ }
+
+ function add(&$env){
+ $data = $env->data();
+ if($this->status){
+ $env->set_out("status", $this->status);
+ $env->set_out("user", array("status" => $data->creation_default_status()));
+ if($_POST){
+ $env->set_out("user", $_POST);
+ if($_POST["login"]){
+ if(($exists = $data->user($_POST["login"])) !== false){
+ if(!$exists){
+ $VALID = true;
+ if(!$_POST["email"]){
+ $env->message("merci de preciser un email");
+ $VALID = false;
+ }
+ if(!$_POST["password"]){
+ $env->message("merci de preciser un mot de passe");
+ $VALID = false;
+ }
+ if($_POST["password"] != $_POST["password_confirm"]){
+ $env->message("la confirmation du mot de passe est incorrecte");
+ $VALID = false;
+ }
+ if($VALID){
+ if(
+ $data->add_user(
+ $_POST["login"],
+ md5($_POST["password"]),
+ $_POST["email"],
+ $_POST["status"]
+ )
+ ){
+ $env->redirect(
+ $env->url("admin/users"),
+ "l'utilisateur ".$_POST["login"]." a été ajouté"
+ );
+ }
+ else $env->erreur("Impossible d'ajouter l'utilisateur");
+ }
+ }
+ else $env->message("ce login existe déjà");
+ }
+ else $env->erreur("impossible de savoir si cet login existe déjà");
+ }
+ else $env->message("merci de préciser un login");
+ }
+ }
+ else $env->erreur("impossible de lire la liste des status");
+ }
+
+ function edit(&$env){
+ $data = $env->data();
+ if($this->status){
+ $env->set_out("status", $this->status);
+ if($env->set_out("user", $data->user($_GET[$env->param("id")]))){
+ if($_POST){
+ $user = $env->out("user");
+ $id = $user["id"];
+ $login = $user["login"];
+ $password = $user["password"];
+ $_POST["login"] = $login;
+ $env->set_out("user", $_POST);
+ $VALID = true;
+ if(!$_POST["email"]){
+ $env->message("merci de preciser un email");
+ $VALID = false;
+ }
+ if(isset($_POST["change_password"]) && $_POST["change_password"]){
+ if(!$_POST["password"]){
+ $env->message("merci de preciser un mot de passe");
+ $VALID = false;
+ }
+ if($_POST["password"] != $_POST["password_confirm"]){
+ $env->message("la confirmation du mot de passe est incorrecte");
+ $VALID = false;
+ }
+ }
+ if($VALID){
+ if(
+ $data->set_user(
+ $id,
+ $login,
+ isset($_POST["change_password"]) && $_POST["change_password"] ? md5($_POST["password"]) : $password,
+ $_POST["email"],
+ $_POST["status"]
+ )
+ )
+ $env->redirect(
+ $env->url("admin/users"),
+ "l'utilisateur ".$login." a été modifié"
+ );
+ else $env->erreur("Impossible de mettre à jour l'utilisateur");
+ }
+ }
+ }
+ else $env->erreur("Impossible de lire les informations de cet utilisateur");
+ }
+ else $env->erreur("impossible de lire la liste des status");
+ }
+
+ function del(&$env){
+ $data = $env->data();
+ if($env->set_out("user", $data->user($_GET[$env->param("id")]))){
+ $user = $env->out("user");
+ if($data->del_user($_GET[$env->param("id")])) $env->redirect(
+ $env->url("admin/users"),
+ "l'utilisateur ".$user["login"]." a été supprimé"
+ );
+ else $env->erreur("Impossible de supprimer l'utilisateur");
+ }
+ else $env->erreur("Impossible de lire les informations de cet utilisateur");
+ }
+
+ }
+
+?>
\ No newline at end of file