reorganisation des dossiers
[mtweb] / mw / app / mods / users / infos.php
diff --git a/mw/app/mods/users/infos.php b/mw/app/mods/users/infos.php
new file mode 100644 (file)
index 0000000..d3583af
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+
+  class mw_users_infos extends mw_mod{
+
+    var $users_compte_mod;
+
+    function validate(&$env){
+      if($this->users_compte_mod = $env->get_mod("users/compte")){
+        return $this->users_compte_mod->validate($env);
+      }
+      return "impossible de trouver le module users/compte";
+    }
+
+    function index(&$env){
+      $env->run("users/infos/edit");
+    }
+
+    function edit(&$env){
+      if(isset($this->users_compte_mod->user) && $this->users_compte_mod->user !== false){
+        $user = $this->users_compte_mod->user;
+        if($_POST){
+          $data = $env->data();
+          $VALID = true;
+          if($_POST["email"]) $user["email"] = $_POST["email"];
+          else{
+            $env->message("merci de preciser un email");
+            $VALID = false;
+          }
+          if($VALID && isset($_POST["change_password"]) && $_POST["change_password"]){
+            if($_POST["password"]){
+              if($_POST["password"] == $_POST["password_confirm"]){
+                $user["password"] = md5($_POST["password"]);
+              }
+              else{
+                $env->message("la confirmation du mot de passe est incorrecte");
+                $VALID = false;
+              }
+            }
+            else{
+              $env->message("merci de preciser un mot de passe");
+              $VALID = false;
+            }
+          }
+          if($VALID){
+            if(
+              $data->set_user(
+                $user["id"],
+                $user["login"],
+                $user["password"],
+                $user["email"],
+                $user["status"]
+              )
+            )
+            $env->redirect(
+              $env->url("users/infos"),
+              "vos informations ont &eacute;t&eacute; modifi&eacute;es"
+            );
+            else $env->erreur("Impossible de mettre &agrave; jour l'utilisateur");
+          }
+        }
+        $env->set_out("user", $user);
+        $env->set_out("status", $this->users_compte_mod->status);
+      }
+      else $env->erreur("Impossible de lire les informations de l'utilisateur");
+    }
+
+  }
+
+?>
\ No newline at end of file