Commit 3fde9691707993f2a14f01b21cb250bd3549c5bc

Authored by Geoffrey PREUD'HOMME
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
@@ -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 })
@@ -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>