MOD déplacement des fichiers php dans le dossier PHP (sauf index.php)
[cl7.git] / php / controller.php
diff --git a/php/controller.php b/php/controller.php
new file mode 100644 (file)
index 0000000..ff47132
--- /dev/null
@@ -0,0 +1,101 @@
+<?php # coding:utf-8\r
+/**\r
+  * Traite les données envoyées par le client.\r
+  */\r
+include_once("class_participant.php");
+\r
+/**\r
+  * Renvoie TRUE si les données d'une inscription sont valides (POST).\r
+  */\r
+function donnees_inscription_valides()\r
+{\r
+   return\r
+      $_POST['pseudo'] != "" &&\r
+      $_POST['pass1'] != "" &&\r
+      $_POST['pass1'] == $_POST['pass2'] &&\r
+      strlen($_POST['pass1']) >= 3 &&\r
+      $_POST['nom'] != "" &&\r
+      $_POST['prenom'] != "" &&\r
+      $_POST['e_mail'] != "";\r
+}\r
+\r
+# insciption d'un nouveau participant
+if (isset($_POST['inscription']) && !Participant::nombre_participant_max_atteint())
+{              \r
+   # vérification des données\r
+   if (\r
+      donnees_inscription_valides() &&\r
+      $_POST['accord'] == "on"\r
+   )\r
+   {\r
+      mysql_query("BEGIN TRANSACTION");\r
+      mysql_query("\r
+         INSERT INTO participants \r
+         (pseudo, password, clan_nom, clan_tag, nom, prenom, age, e_mail, remarques)
+         VALUES (\r
+            '".addslashes($_POST['pseudo'])."',\r
+            '".addslashes($_POST['pass1'])."',\r
+            '".addslashes($_POST['clan_nom'])."',\r
+            '".addslashes($_POST['clan_tag'])."',\r
+            '".addslashes($_POST['nom'])."',\r
+            '".addslashes($_POST['prenom'])."',\r
+            '".addslashes($_POST['age'])."',\r
+            '".addslashes($_POST['e_mail'])."',\r
+            '".addslashes($_POST['remarques'])."'\r
+         )"\r
+      );\r
+      mysql_query("COMMIT");\r
+   }\r
+   
+       $le_participant = new participant($_POST['pseudo'], $_POST['pass1']);
+   setcookie("COOKIE_INFO_PATICIPANT", $le_participant->info->id, time() + 31104000);  
+}
+# un participant modifie ses infos
+else if(isset($_POST['modification_participant']) && $le_participant->valide)
+{\r
+   if (donnees_inscription_valides())\r
+   {\r
+      mysql_query("BEGIN TRANSACTION");
+      mysql_query("UPDATE participants SET pseudo = '".addslashes($_POST['pseudo'])."' WHERE id = " . $le_participant->info->id);
+      mysql_query("UPDATE participants SET password = '".addslashes($_POST['pass1'])."' WHERE id = " . $le_participant->info->id);
+      mysql_query("UPDATE participants SET clan_nom = '".addslashes($_POST['clan_nom'])."' WHERE id = " . $le_participant->info->id);
+      mysql_query("UPDATE participants SET clan_tag = '".addslashes($_POST['clan_tag'])."' WHERE id = " . $le_participant->info->id);
+      mysql_query("UPDATE participants SET nom = '".addslashes($_POST['nom'])."' WHERE id = " . $le_participant->info->id);
+      mysql_query("UPDATE participants SET prenom = '".addslashes($_POST['prenom'])."' WHERE id = " . $le_participant->info->id);
+      mysql_query("UPDATE participants SET age = '".addslashes($_POST['age'])."' WHERE id = " . $le_participant->info->id);
+      mysql_query("UPDATE participants SET e_mail = '".addslashes($_POST['e_mail'])."' WHERE id = " . $le_participant->info->id);
+      mysql_query("UPDATE participants SET remarques = '".addslashes($_POST['remarques'])."' WHERE id = " . $le_participant->info->id);\r
+      mysql_query("COMMIT");\r
+   }
+}\r
+# vote pour des jeux\r
+else if (isset($_POST['set_jeux_joues']) && $le_participant->valide)\r
+{\r
+   $votes = $_POST['votes'];\r
+   if (!$votes)\r
+      $votes = array();\r
+   \r
+   mysql_query("BEGIN TRANSACTION");\r
+   \r
+   # l'utilisateur peut proposer le nom d'un jeu qui ne se trouve pas dans la liste\r
+   $jeu = trim($_POST['jeu']);\r
+   if ($jeu !== '')\r
+   {\r
+      mysql_query("INSERT INTO jeux (nom) VALUES ('".addslashes($jeu)."')");\r
+      $id = mysql_insert_id();\r
+      if ($id != 0) # si le jeu se trouve déjà dans la liste alors $id == 0\r
+         array_unshift($votes, $id);\r
+   }\r
+   \r
+   # suppression des anciens votes (remplacement par les nouveaux)\r
+   mysql_query("DELETE FROM jeux_choisis WHERE participant_id = " . $le_participant->info->id);\r
+\r
+   # traite les trois premiers votes\r
+   for ($i = 0; $i < count($votes) && $i < $NB_VOTES_JEUX ; $i++)\r
+   {\r
+      mysql_query("INSERT INTO jeux_choisis (participant_id, jeu_id) VALUES (".$le_participant->info->id.", ".(int)$votes[$i].")");\r
+   }\r
+   \r
+   mysql_query("COMMIT");\r
+}
+?>