public attr / function, constructeurs __construct
[mtweb] / mw / app / controllers / users / infos.php
1 <?php
2
3   class mw_users_infos extends mw_controller{
4
5     public $users_compte_controller;
6
7     public function validate(){
8       $env = $this->env();
9       if($this->users_compte_controller = $env->get_controller("users/compte")){
10         return $this->users_compte_controller->validate();
11       }
12       return "impossible de trouver le controller users/compte";
13     }
14
15     public function index(){
16       $env = $this->env();
17       $env->run("users/infos/edit");
18     }
19
20     public function edit(){
21       $env = $this->env();
22       if(isset($this->users_compte_controller->user) && $this->users_compte_controller->user !== false){
23         $user = $this->users_compte_controller->user;
24         if($_POST){
25           $data = $env->data();
26           $VALID = true;
27           if($_POST["email"]) $user["email"] = $_POST["email"];
28           else{
29             $env->message("merci de preciser un email");
30             $VALID = false;
31           }
32           if($VALID && isset($_POST["change_password"]) && $_POST["change_password"]){
33             if($_POST["password"]){
34               if($_POST["password"] == $_POST["password_confirm"]){
35                 $user["password"] = md5($_POST["password"]);
36               }
37               else{
38                 $env->message("la confirmation du mot de passe est incorrecte");
39                 $VALID = false;
40               }
41             }
42             else{
43               $env->message("merci de preciser un mot de passe");
44               $VALID = false;
45             }
46           }
47           if($VALID){
48             if(
49               $data->set_user(
50                 $user["id"],
51                 $user["login"],
52                 $user["password"],
53                 $user["email"],
54                 $user["roles"]
55               )
56             )
57             $env->redirect(
58               $env->url("users/infos"),
59               "vos informations ont &eacute;t&eacute; modifi&eacute;es"
60             );
61             else $env->erreur("Impossible de mettre &agrave; jour l'utilisateur");
62           }
63         }
64         $env->set_out("user", $user);
65         $env->set_out("roles", $this->users_compte_controller->roles);
66       }
67       else $env->erreur("Impossible de lire les informations de l'utilisateur");
68     }
69
70   }