8730e2c0d0e93a19c8709dc10065fccd3585a88d
[mw_sourceml] / app / controllers / users / groupes.php
1 <?php
2
3   class mw_users_groupes extends mw_controller
4   {
5
6     var $groupe;
7     var $user;
8
9     function validate(){
10       $env = $this->env();
11       $data = $env->data();
12       if($this->user = $env->user())
13       { if($env->etat("action") == "edit" || $env->etat("action") == "del")
14         { if
15           ( ( $this->groupe = $data->groupe
16               ( $_GET[$env->param("id")]
17               )
18             ) !== false
19             && $this->groupe
20           )
21           { if($this->groupe["id_user"] == $this->user["id"])
22             { return true;
23             }
24             else return "Vous n'est pas autoris&eacute; &agrave; modifier ce groupe";
25           }
26           else return "Impossible de lire les informations du groupe";
27         }
28         else return true;
29       }
30       return "Vous devez &ecirc;tre identifier pour acc&eacute;der &agrave; cette page";
31     }
32
33     function index(){
34       $env = $this->env();
35       $data = $env->data();
36       if
37       ( $env->set_out
38         ( "groupes",
39           $data->groupes
40           ( $this->user["id"],
41             isset($_GET[$env->param("start")]) ? $_GET[$env->param("start")] : 0
42           )
43         ) !== false
44       )
45       {
46       }
47       else $env->erreur("Impossible de lire la liste des groupes");
48     }
49
50     function add(){
51       $env = $this->env();
52       $data = $env->data();
53       if($data->check_user_uploads_dir())
54       { $web_path = $env->path("web");
55         $upload_dir = $env->path("content")."uploads/".$this->user["id"];
56         $_SESSION["upload_dir"] = $web_path.($web_path ? "" : "/").$upload_dir;
57         if($_POST)
58         { $env->set_out("groupe", $_POST);
59           if(($image = $data->upload("image", $upload_dir)) !== false){
60             if(trim($_POST["nom"]))
61             { if(($exists = $data->groupe_exists($_POST["nom"])) !== false)
62               { if(!isset($_POST["contact_form"]) || trim($_POST["email"]))
63                 { if($exists == 0)
64                   { if
65                     ( $data->add_groupe
66                       ( $this->user["id"],
67                         $_POST["nom"],
68                         $image ? $this->user["id"]."/".$image : null,
69                         $_POST["description"],
70                         $_POST["email"],
71                         isset($_POST["contact_form"]) ? 1 : 0,
72                         isset($_POST["captcha"]) ? 1 : 0
73                       )
74                     ) $env->redirect
75                     ( $env->url("users/groupes"),
76                       "le groupe a &eacute;t&eacute; ajout&eacute;"
77                     );
78                     else $env->erreur("Impossible d'ajouter le groupe");
79                   }
80                   else $env->message("Un groupe avec ce nom existe d&eacute;j&agrave;");
81                 }
82                 else $env->message("merci de pr&eacute;ciser un email pour le formulaire de contact");
83               }
84               else $env->erreur("Impossible de savoir si le groupe existe d&eacute;j&agrave;");
85             }
86             else $env->message("merci de pr&eacute;ciser un nom pour le groupe");
87           }
88           else $env->erreur("Impossible d'uploader l'image");
89         }
90       }
91       else $env->erreur("Impossible de creer le repertoire utilisateur");
92     }
93
94     function edit(){
95       $env = $this->env();
96       $data = $env->data();
97       if($data->check_user_uploads_dir())
98       { $web_path = $env->path("web");
99         $upload_dir = $env->path("content")."uploads/".$this->user["id"];
100         $_SESSION["upload_dir"] = $web_path.($web_path ? "" : "/").$upload_dir;
101         if($env->set_out("groupe", $this->groupe))
102         { $groupe = $env->out("groupe");
103           if($_POST)
104           { $id = $groupe["id"];
105             $nom = $groupe["nom"];
106             $image = $groupe["image"];
107             $_POST["image"] = $image ? $_SESSION["upload_dir"]."/".$image : "";
108             $env->set_out("groupe", $_POST);
109             if(isset($_POST["del_image"]))
110             { if($image)
111               { if(@unlink($env->path("content")."uploads/".$image)) $image = "";
112                 else
113                 { $image = false;
114                   $env->erreur("Impossible d'effacer l'image");
115                 }
116               }
117               else $image = "";
118             }
119             else
120             { if(($new_image = $data->upload("image", $upload_dir)) !== false)
121               { if($new_image) $image = $this->user["id"]."/".$new_image;
122               }
123               else $env->erreur("Impossible d'uploader l'image");
124             }
125             if($image !== false)
126             { if(trim($_POST["nom"]))
127               { if(($exists = $data->groupe_exists($_POST["nom"], $this->groupe["id"])) !== false)
128                 { if(!$exists)
129                   { if(!isset($_POST["contact_form"]) || trim($_POST["email"]))
130                     { if
131                       ( $data->set_groupe
132                         ( $id,
133                           $_POST["nom"],
134                           $image,
135                           $_POST["description"],
136                           $_POST["email"],
137                           isset($_POST["contact_form"]) ? 1 : 0,
138                           isset($_POST["captcha"]) ? 1 : 0
139                         )
140                       ) $env->redirect
141                       ( $env->url("users/groupes/edit", array("id" => $_GET[$env->param("id")])),
142                         "le groupe a &eacute;t&eacute; modifi&eacute;"
143                       );
144                       else $env->erreur("Impossible de modifier le groupe");
145                     }
146                     else $env->message("merci de pr&eacute;ciser un email pour le formulaire de contact");
147                   }
148                   else $env->message("Un groupe avec ce nom existe d&eacute;j&agrave;");
149                 }
150                 else $env->erreur("Impossible de savoir si le groupe existe d&eacute;j&agrave;");
151               }
152               else $env->message("merci de pr&eacute;ciser un nom pour le groupe");
153             }
154           }
155           else
156           { $env->set_out("groupe", $groupe);
157           }
158         }
159         else $env->erreur("Impossible de lire les informations du groupe");
160       }
161       else $env->erreur("Impossible de creer le repertoire utilisateur");
162     }
163
164     function del(){
165       $env = $this->env();
166       $data = $env->data();
167       if(($res = $data->del_groupe($this->groupe["id"])) !== false)
168       { if($res === 1) $env->redirect
169         ( $env->url("users/groupes"),
170           "Ce groupe a des sources sur ce site, il n'a pas &eacute;t&eacute; supprim&eacute;.",
171           5
172         );
173         else $env->redirect
174         ( $env->url("users/groupes"),
175           "le groupe a &eacute;t&eacute; supprim&eacute;"
176         );
177       }
178       else $env->erreur("Impossible de supprimer le groupe");
179     }
180
181   }
182
183 ?>