ff4713273668dc4315169259f5f263dfaeda08fa
[cl7.git] / php / controller.php
1 <?php # coding:utf-8
2 /**
3 * Traite les données envoyées par le client.
4 */
5 include_once("class_participant.php");
6
7 /**
8 * Renvoie TRUE si les données d'une inscription sont valides (POST).
9 */
10 function donnees_inscription_valides()
11 {
12 return
13 $_POST['pseudo'] != "" &&
14 $_POST['pass1'] != "" &&
15 $_POST['pass1'] == $_POST['pass2'] &&
16 strlen($_POST['pass1']) >= 3 &&
17 $_POST['nom'] != "" &&
18 $_POST['prenom'] != "" &&
19 $_POST['e_mail'] != "";
20 }
21
22 # insciption d'un nouveau participant
23 if (isset($_POST['inscription']) && !Participant::nombre_participant_max_atteint())
24 {
25 # vérification des données
26 if (
27 donnees_inscription_valides() &&
28 $_POST['accord'] == "on"
29 )
30 {
31 mysql_query("BEGIN TRANSACTION");
32 mysql_query("
33 INSERT INTO participants
34 (pseudo, password, clan_nom, clan_tag, nom, prenom, age, e_mail, remarques)
35 VALUES (
36 '".addslashes($_POST['pseudo'])."',
37 '".addslashes($_POST['pass1'])."',
38 '".addslashes($_POST['clan_nom'])."',
39 '".addslashes($_POST['clan_tag'])."',
40 '".addslashes($_POST['nom'])."',
41 '".addslashes($_POST['prenom'])."',
42 '".addslashes($_POST['age'])."',
43 '".addslashes($_POST['e_mail'])."',
44 '".addslashes($_POST['remarques'])."'
45 )"
46 );
47 mysql_query("COMMIT");
48 }
49
50 $le_participant = new participant($_POST['pseudo'], $_POST['pass1']);
51 setcookie("COOKIE_INFO_PATICIPANT", $le_participant->info->id, time() + 31104000);
52 }
53 # un participant modifie ses infos
54 else if(isset($_POST['modification_participant']) && $le_participant->valide)
55 {
56 if (donnees_inscription_valides())
57 {
58 mysql_query("BEGIN TRANSACTION");
59 mysql_query("UPDATE participants SET pseudo = '".addslashes($_POST['pseudo'])."' WHERE id = " . $le_participant->info->id);
60 mysql_query("UPDATE participants SET password = '".addslashes($_POST['pass1'])."' WHERE id = " . $le_participant->info->id);
61 mysql_query("UPDATE participants SET clan_nom = '".addslashes($_POST['clan_nom'])."' WHERE id = " . $le_participant->info->id);
62 mysql_query("UPDATE participants SET clan_tag = '".addslashes($_POST['clan_tag'])."' WHERE id = " . $le_participant->info->id);
63 mysql_query("UPDATE participants SET nom = '".addslashes($_POST['nom'])."' WHERE id = " . $le_participant->info->id);
64 mysql_query("UPDATE participants SET prenom = '".addslashes($_POST['prenom'])."' WHERE id = " . $le_participant->info->id);
65 mysql_query("UPDATE participants SET age = '".addslashes($_POST['age'])."' WHERE id = " . $le_participant->info->id);
66 mysql_query("UPDATE participants SET e_mail = '".addslashes($_POST['e_mail'])."' WHERE id = " . $le_participant->info->id);
67 mysql_query("UPDATE participants SET remarques = '".addslashes($_POST['remarques'])."' WHERE id = " . $le_participant->info->id);
68 mysql_query("COMMIT");
69 }
70 }
71 # vote pour des jeux
72 else if (isset($_POST['set_jeux_joues']) && $le_participant->valide)
73 {
74 $votes = $_POST['votes'];
75 if (!$votes)
76 $votes = array();
77
78 mysql_query("BEGIN TRANSACTION");
79
80 # l'utilisateur peut proposer le nom d'un jeu qui ne se trouve pas dans la liste
81 $jeu = trim($_POST['jeu']);
82 if ($jeu !== '')
83 {
84 mysql_query("INSERT INTO jeux (nom) VALUES ('".addslashes($jeu)."')");
85 $id = mysql_insert_id();
86 if ($id != 0) # si le jeu se trouve déjà dans la liste alors $id == 0
87 array_unshift($votes, $id);
88 }
89
90 # suppression des anciens votes (remplacement par les nouveaux)
91 mysql_query("DELETE FROM jeux_choisis WHERE participant_id = " . $le_participant->info->id);
92
93 # traite les trois premiers votes
94 for ($i = 0; $i < count($votes) && $i < $NB_VOTES_JEUX ; $i++)
95 {
96 mysql_query("INSERT INTO jeux_choisis (participant_id, jeu_id) VALUES (".$le_participant->info->id.", ".(int)$votes[$i].")");
97 }
98
99 mysql_query("COMMIT");
100 }
101 ?>