Commit 3fde9691707993f2a14f01b21cb250bd3549c5bc
1 parent
1d6e24f7
[Orga] Interprétation des données serveurs en cas de modif
Roadmap Orga : [x] Squelette / Définition [x] Génération serveur [x] Édition client [x] Communication serveur/client [ ] SQL (le plus dur pour moi, ça fait longtemps) [ ] Meilleure gestion modifications (permissions) [ ] Ajout / Validation de dates [ ] Fonctions s/ les dates (suppresion / validation) [ ] Intégration au système d'utilisateurs [ ] Cleanup (y en aura bien besoin)
Showing
2 changed files
with
91 additions
and
23 deletions
Show diff stats
js/orga.js
@@ -38,7 +38,7 @@ $(document).ready(function() { | @@ -38,7 +38,7 @@ $(document).ready(function() { | ||
38 | envoiRefresh({ | 38 | envoiRefresh({ |
39 | action: 'modifier', | 39 | action: 'modifier', |
40 | id: id, | 40 | id: id, |
41 | - id: description[0].innerHTML, | 41 | + description: description[0].value, |
42 | duree: parseInt(duree[0].value.match(/^../)[0]) * 3600 + parseInt(duree[0].value.match(/^..:(..)/)[1]) * 60 | 42 | duree: parseInt(duree[0].value.match(/^../)[0]) * 3600 + parseInt(duree[0].value.match(/^..:(..)/)[1]) * 60 |
43 | }) | 43 | }) |
44 | }) | 44 | }) |
orga.php
@@ -19,11 +19,13 @@ if ($e_connecte) { | @@ -19,11 +19,13 @@ if ($e_connecte) { | ||
19 | $droits = array('voir'); | 19 | $droits = array('voir'); |
20 | } | 20 | } |
21 | 21 | ||
22 | +$lastID = 0; // TODO Est-ce que cela mérite-t-il d'exister ? | ||
22 | 23 | ||
23 | class Evenement | 24 | class Evenement |
24 | { | 25 | { |
25 | - public $id = 0; // TODO DEBUG Remettre privé (et aussi d'autres choses) | ||
26 | - private $creationTime = 0; | 26 | + // TODO Mettre tout en privé et utiliser __get et __set |
27 | + public $id = 0; | ||
28 | + public $creationTime = 0; | ||
27 | 29 | ||
28 | public $nom = "Sans nom"; | 30 | public $nom = "Sans nom"; |
29 | public $description = "Sans description"; | 31 | public $description = "Sans description"; |
@@ -35,8 +37,20 @@ class Evenement | @@ -35,8 +37,20 @@ class Evenement | ||
35 | public $dates = array(); | 37 | public $dates = array(); |
36 | public $datesVotes = array(); | 38 | public $datesVotes = array(); |
37 | 39 | ||
38 | - public function charger() { | ||
39 | - // TODO SQL | 40 | + function __construct($id = 0) { |
41 | + global $lastID; | ||
42 | + if ($id == 0) { // Nouvel évènement | ||
43 | + $lastID += 1; | ||
44 | + $this->id = $lastID; | ||
45 | + $this->creationTime = time(); | ||
46 | + } else { // Évènement existant : on charge | ||
47 | + // TODO SQL Select | ||
48 | + $this->id = $lastID + 1; // TODO DEBUG SQL Récupération id | ||
49 | + if ($this->id > $lastID) { | ||
50 | + $lastID = $this->id; | ||
51 | + } | ||
52 | + // TODO SQL Récupération du reste des propriétés | ||
53 | + } | ||
40 | } | 54 | } |
41 | 55 | ||
42 | public function sauvegarder() { | 56 | public function sauvegarder() { |
@@ -168,18 +182,16 @@ class Evenement | @@ -168,18 +182,16 @@ class Evenement | ||
168 | 182 | ||
169 | } | 183 | } |
170 | 184 | ||
171 | -# a_ : Récupérer depuis la base de donnée | ||
172 | -function a_evenement() { | 185 | +# a_ : Récupérer depuis la base de donnée (ou pas) |
186 | +function a_evenements() { | ||
173 | # DEBUG | 187 | # DEBUG |
174 | $test1 = new Evenement; | 188 | $test1 = new Evenement; |
175 | - $test1->id = 1; | ||
176 | $test1->duree = 12345; | 189 | $test1->duree = 12345; |
177 | $test1->nom = 'Évènement de test n°1'; | 190 | $test1->nom = 'Évènement de test n°1'; |
178 | $test1->description = 'Description de l\'évènement de test n°1'; | 191 | $test1->description = 'Description de l\'évènement de test n°1'; |
179 | $test1->valide = time(); | 192 | $test1->valide = time(); |
180 | 193 | ||
181 | $test2 = new Evenement; | 194 | $test2 = new Evenement; |
182 | - $test2->id = 2; | ||
183 | $test2->nom = 'Évènement de test n°2'; | 195 | $test2->nom = 'Évènement de test n°2'; |
184 | $test2->description = 'Description de l\'évènement de test n°2'; | 196 | $test2->description = 'Description de l\'évènement de test n°2'; |
185 | $test2->duree = 36000; | 197 | $test2->duree = 36000; |
@@ -187,7 +199,6 @@ function a_evenement() { | @@ -187,7 +199,6 @@ function a_evenement() { | ||
187 | $test2->annule = true; | 199 | $test2->annule = true; |
188 | 200 | ||
189 | $test3 = new Evenement; | 201 | $test3 = new Evenement; |
190 | - $test3->id = 3; | ||
191 | $test3->nom = 'Évènement de test n°3'; | 202 | $test3->nom = 'Évènement de test n°3'; |
192 | $test3->description = 'Description de l\'évènement de test n°3'; | 203 | $test3->description = 'Description de l\'évènement de test n°3'; |
193 | $test3->dates[] = 1415482197; | 204 | $test3->dates[] = 1415482197; |
@@ -198,7 +209,6 @@ function a_evenement() { | @@ -198,7 +209,6 @@ function a_evenement() { | ||
198 | $test3->datesVotes[] = 1; | 209 | $test3->datesVotes[] = 1; |
199 | 210 | ||
200 | $test4 = new Evenement; | 211 | $test4 = new Evenement; |
201 | - $test4->id = 4; | ||
202 | $test4->nom = 'Évènement de test n°4'; | 212 | $test4->nom = 'Évènement de test n°4'; |
203 | $test4->description = 'Description de l\'évènement de test n°4'; | 213 | $test4->description = 'Description de l\'évènement de test n°4'; |
204 | $test4->dates[] = time(); | 214 | $test4->dates[] = time(); |
@@ -209,7 +219,6 @@ function a_evenement() { | @@ -209,7 +219,6 @@ function a_evenement() { | ||
209 | $test4->annule = true; | 219 | $test4->annule = true; |
210 | 220 | ||
211 | $test5 = new Evenement; | 221 | $test5 = new Evenement; |
212 | - $test5->id = 5; | ||
213 | $test5->nom = 'Évènement de test n°5'; | 222 | $test5->nom = 'Évènement de test n°5'; |
214 | $test5->description = 'Description de l\'évènement de test n°5'; | 223 | $test5->description = 'Description de l\'évènement de test n°5'; |
215 | $test5->dates[] = time(); | 224 | $test5->dates[] = time(); |
@@ -217,7 +226,6 @@ function a_evenement() { | @@ -217,7 +226,6 @@ function a_evenement() { | ||
217 | $test5->supprime = true; | 226 | $test5->supprime = true; |
218 | 227 | ||
219 | $test6 = new Evenement; | 228 | $test6 = new Evenement; |
220 | - $test6->id = 6; | ||
221 | $test6->nom = 'Évènement de test n°6'; | 229 | $test6->nom = 'Évènement de test n°6'; |
222 | $test6->description = 'Description de l\'évènement de test n°6'; | 230 | $test6->description = 'Description de l\'évènement de test n°6'; |
223 | $test6->valide = 1415452197; | 231 | $test6->valide = 1415452197; |
@@ -225,27 +233,88 @@ function a_evenement() { | @@ -225,27 +233,88 @@ function a_evenement() { | ||
225 | return array($test1, $test2, $test3, $test4, $test5, $test6); | 233 | return array($test1, $test2, $test3, $test4, $test5, $test6); |
226 | } | 234 | } |
227 | 235 | ||
228 | -# POST | 236 | +$evenements = a_evenements(); |
229 | 237 | ||
230 | -if (isset($_POST['action'])) { | ||
231 | -?> | 238 | +function a_evenement($id) { |
239 | + global $evenements; | ||
240 | + foreach ($evenements as $evenement) { | ||
241 | + if ($evenement->id == $id) { | ||
242 | + return $evenement; | ||
243 | + } | ||
244 | + } | ||
245 | +} | ||
232 | 246 | ||
233 | -<div class="alert alert-success" role="alert">Mon capitaine ! On a reçu quelque chose !</div> | 247 | +# TRAITEMENT DES DONNEES POST |
234 | 248 | ||
235 | -<?php | 249 | +function mauvaiseRequete($code = 0) { |
250 | + echo '<div class="alert alert-danger" role="alert">Le serveur n\'a pas compris votre requête <small>(code d\'erreur n°'.$code.')</small>.</div>'; | ||
251 | +} | ||
252 | + | ||
253 | +function bonneRequete($message = 'Action correctement effectuée.') { | ||
254 | + echo '<div class="alert alert-success" role="alert">'.$message.'</div>'; | ||
255 | +} | ||
256 | + | ||
257 | +if (isset($_POST['action'])) { | ||
258 | + | ||
259 | + switch ($_POST['action']) { | ||
260 | + case 'modifier': | ||
261 | + if (isset($_POST['id']) && isset($_POST['description']) && isset($_POST['duree'])) { | ||
262 | + if ($evenement = a_evenement($_POST['id'])) { | ||
263 | + if (($duree = intval($_POST['duree'])) >= 0) { | ||
264 | + $evenement->description = $_POST['description']; // TODO Protection nécessaire pour SQL | ||
265 | + $evenement->duree = $duree; | ||
266 | + bonneRequete('Élement correctement modifié.'); | ||
267 | + } else { | ||
268 | + mauvaiseRequete(4); | ||
269 | + } | ||
270 | + } else { | ||
271 | + mauvaiseRequete(3); | ||
272 | + } | ||
273 | + } else { | ||
274 | + mauvaiseRequete(2); | ||
275 | + } | ||
276 | + break; | ||
277 | + | ||
278 | + case 'annuler': | ||
279 | + if (isset($_POST['id'])) { | ||
280 | + if ($evenement = a_evenement($_POST['id'])) { | ||
281 | + $evenement->annule = true; | ||
282 | + bonneRequete('Évènement annulé.'); | ||
283 | + } else { | ||
284 | + mauvaiseRequete(3); | ||
285 | + } | ||
286 | + } else { | ||
287 | + mauvaiseRequete(2); | ||
288 | + } | ||
289 | + break; | ||
290 | + | ||
291 | + case 'supprimer': | ||
292 | + if (isset($_POST['id'])) { | ||
293 | + if ($evenement = a_evenement($_POST['id'])) { | ||
294 | + $evenement->supprime = true; | ||
295 | + bonneRequete('Évènement supprimé.'); | ||
296 | + } else { | ||
297 | + mauvaiseRequete(3); | ||
298 | + } | ||
299 | + } else { | ||
300 | + mauvaiseRequete(2); | ||
301 | + } | ||
302 | + break; | ||
303 | + | ||
304 | + default: | ||
305 | + mauvaiseRequete(1); | ||
306 | + break; | ||
307 | + } | ||
236 | } | 308 | } |
237 | 309 | ||
238 | 310 | ||
239 | # AFFICHAGE DE LA PAGE | 311 | # AFFICHAGE DE LA PAGE |
240 | 312 | ||
241 | # Tri des évènements | 313 | # Tri des évènements |
242 | -$evenements = a_evenement(); | ||
243 | $evenementsPlanifies = array(); | 314 | $evenementsPlanifies = array(); |
244 | $evenementsAPlanifier = array(); | 315 | $evenementsAPlanifier = array(); |
245 | $evenementsPasses = array(); | 316 | $evenementsPasses = array(); |
246 | 317 | ||
247 | -$time = time(); | ||
248 | - | ||
249 | foreach ($evenements as $evenement) { | 318 | foreach ($evenements as $evenement) { |
250 | if (!$evenement->supprime) { | 319 | if (!$evenement->supprime) { |
251 | if ($evenement->valide) { | 320 | if ($evenement->valide) { |
@@ -260,9 +329,8 @@ foreach ($evenements as $evenement) { | @@ -260,9 +329,8 @@ foreach ($evenements as $evenement) { | ||
260 | } | 329 | } |
261 | } | 330 | } |
262 | 331 | ||
263 | -?> | 332 | +# Affichage |
264 | 333 | ||
265 | -<?php | ||
266 | if (!$e_connecte) { | 334 | if (!$e_connecte) { |
267 | ?> | 335 | ?> |
268 | <div class="alert alert-warning" role="alert">Connectez-vous afin de pouvoir agir sur les évènements.</div> | 336 | <div class="alert alert-warning" role="alert">Connectez-vous afin de pouvoir agir sur les évènements.</div> |