31aad2ddb2036c599a7721932c11eb0abe32a29e
[cl7.git] / pizzas.php
1 <?php # coding:utf-8
2 // Gestion de commande de pizza
3 // Auteur: KiKi
4
5 function selection_pizzas()
6 {
7 global $PIZZA_PEUT_COMMANDER;
8 global $le_participant;
9 $requ = mysql_query("select * from pizzas order by nom");
10 echo '<h1>commande de pizza</h1>';
11
12 if ($PIZZA_PEUT_COMMANDER)
13 {
14 if ($le_participant->info->pizza != null)
15 echo '<br>Vous avez deja commandé une pizza ! mais vous pouvez encore changez votre choix:';
16
17 echo '<form name="commande" method="post" action="index.php?page=pizzas">';
18 echo '<table width ="100%" border="0" cellpadding="1" cellspacing="3">';
19 echo '<tr><td class="pizzaHeader"></td><td class="pizzaHeader">Nom</td><td class="pizzaHeader">Composition</td><td class="pizzaHeader">Prix</td></tr>';
20 echo '<tr><td><input type="radio" name="piz_choisie" value="-1" ', ($le_participant->info->pizza==null?'checked':''), '></td><td class="texte">', ($le_participant->info->pizza==null?'<b>':''), 'Aucune', ($le_participant->info->pizza==null?'</b>':''), '</td><td></td><td></td></tr>';
21 while($pizza = mysql_fetch_object($requ))
22 echo '<tr><td width="1" ',($le_participant->info->pizza==$pizza->id?'class="pizzaChoisie"':''),'><input type="radio" id="pizza_', $pizza->id ,'" name="piz_choisie" value="', $pizza->id, '"',($le_participant->info->pizza==$pizza->id?'checked':''), '></td><td class="',($le_participant->info->pizza==$pizza->id?'pizzaChoisie ':''),'texte"><label for="pizza_', $pizza->id ,'">', $pizza->nom, '</label></td><td class="',($le_participant->info->pizza==$pizza->id?'pizzaChoisie ':''),'texte"><label for="pizza_', $pizza->id ,'">', $pizza->composition, '</label></td><td class="',($le_participant->info->pizza==$pizza->id?'pizzaChoisie ':''),'texte"><label for="pizza_', $pizza->id ,'">', $pizza->prix, '.-</label></td></tr>';
23 echo '</table><br><input type="submit" value="Commander"></form>';
24 }
25 else
26 if ($le_participant->info->pizza != null)
27 echo '<br><br>votre pizza ', pizza($le_participant->info->pizza), ' va bientot arriver';
28 else
29 echo "<br><br>la commande de pizza est terminée, veuillez attendre la prochaine vague<br><br>";
30 }
31
32 // Affiche les statistique sur les pizza
33 function stats()
34 {
35 $requ_pizza = mysql_query("select * from pizzas order by nom");
36 $requ_participant = mysql_query("select * from participants");
37 $nb = array();
38 $nb_tot = 0;
39 $total = 0;
40 $nb_pizza = mysql_fetch_row(mysql_query("select count(*) from pizzas"));
41
42 // Initialise le tableau de comptage
43 for ($i=0; $i < ($nb_pizza[0] + 3); $i++) // on fait un '+3' parce que on ne sais jamais trop ce qui pourrait se passer ;-))
44 $nb[$i] = 0;
45
46 // Rempli le tableau de nombre de pizzas
47 while ($participant = mysql_fetch_object($requ_participant))
48 if ($participant->pizza != null)
49 $nb[$participant->pizza]++;
50
51 echo '<h1>total des commandes</h1>';
52 echo '<table width="100%" border="0" cellpadding="1" cellspacing="3">';
53 echo '<tr><td class="pizzaHeader">Nom</td><td class="pizzaHeader">Nombre</td><td class="pizzaHeader">Prix unitaire</td><td class="pizzaHeader">Prix total</td></tr>';
54
55 while($pizza = mysql_fetch_object($requ_pizza))
56 {
57 if ($nb[$pizza->id] == 0)
58 continue;
59
60 echo '<tr><td class="texte">' . $pizza->nom . '</td><td class="texte">' . $nb[$pizza->id] . '</td><td class="texte">' . $pizza->prix . '.-</td><td class="texte">' . $nb[$pizza->id] * $pizza->prix . '.-</td></tr>';
61 $total += $nb[$pizza->id] * $pizza->prix;
62 $nb_tot += $nb[$pizza->id];
63 }
64 echo '<tr><td class="pizzaHeader">TOTAL</td><td class="texte pizzaHeader"><b>', $nb_tot, '</b></td><td class="pizzaHeader"></td><td class="texte pizzaHeader"><b>', $total, '.-</b></td></tr></table>';
65 }
66
67 // Retourne le nom de la pizza en fonction de son ID
68 function pizza ($id)
69 {
70 $requ = mysql_query("select * from pizzas where id = " . $id);
71 if ($pizza = mysql_fetch_object($requ))
72 return $pizza->nom;
73 else
74 return 'Pizza inexistante !';
75 }
76
77
78 // Affiche qui prends koi
79 function kiakoi()
80 {
81 global $le_participant;
82 $requ = mysql_query("select * from participants order by nom");
83
84
85 echo '<h1>qui prend quoi</h1>';
86 echo '<table width="100%" border="0" cellpadding="1" cellspacing="3">';
87 echo '<tr><td class="pizzaHeader">Pseudo</td><td class="pizzaHeader">Nom</td><td class="pizzaHeader">Prix</td><td class="pizzaHeader">Paiement</td></tr>';
88
89 while ($participant = mysql_fetch_object($requ))
90 {
91 if ($participant->pizza != null)
92 {
93 $pizza = mysql_fetch_object(mysql_query("select * from pizzas where id = " . $participant->pizza));
94 echo '<tr><td class="texte">', $participant->pseudo ,'</td><td class="texte">', $pizza->nom, '</td><td class="texte">', $pizza->prix, '.-</td><td class="texte">', ($le_participant->info->admin?'<a href="?page=pizzas&stats=1&paye=' . $participant->id . '">':''), ($participant->pizza_paye?'payé':'non payé !'), ($le_participant->info->admin?'</a>':'') ,'</td></tr>';
95 }
96 else
97 echo '<tr><td class="texte">', $participant->pseudo ,'</td><td class="texte">-</td><td class="texte">-</td><td class="texte">', '-</td></tr>';
98 }
99 echo '</table>';
100
101 }
102
103 function liens()
104 {
105 global $le_participant;
106
107 $res = '';
108 if (!isset($_GET['stats']))
109 $res .= '<br><a href="/pizzas.html&stats=1">voir les stats globaux</a>';
110
111 // if ($le_participant->info->admin && !isset($kiakoi))
112 // $res .= '<br><a href="?page=pizzas&kiakoi=1">qui prend quoi</a>';
113
114 if ($le_participant->info->admin)
115 $res .= '<br><br><a href="?page=pizzas' . (isset($_GET['stats'])?'&stats=1':'') . (isset($_GET['kiakoi'])?'&kiakoi=1':'') . '&reset=1">remise a zero de toutes les commandes</a>';
116
117 return $res;
118 }
119
120
121 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
122
123
124 echo '<div id="pizzas">';
125 if ($le_participant->valide) // le participant est loggé
126 {
127 // Si demande d'effacer les commande et que le gars est admin, le fait
128 if(isset($_GET['reset']) && $le_participant->info->admin)
129 {
130 mysql_query("update participants set pizza = null, pizza_paye = 0");
131 $le_participant->info->pizza = -1; //mettre a jour le participants courant pour la beaute de l'affichage
132 }
133
134 if(isset($_GET['paye']) && $le_participant->info->admin)
135 {
136 /////// methode d'inversion
137 // $gars = mysql_fetch_object(mysql_query("select * from participants where id = " . $paye));
138 // mysql_query("update participants set pizza_paye = " . (1 - $gars->pizza_paye) . " where id = " . $paye);
139 ///////
140
141 /////// methode d'un unique changement : non-paye -> paye
142 mysql_query("update participants set pizza_paye = 1 where id = " . $_GET['paye']);
143 ///////
144 }
145
146
147 if (!isset($_GET['stats']) && !isset($_GET['kiakoi']))
148 {
149 if (isset($_POST['piz_choisie'])) // la pizza a ete choisie
150 {
151 if ($piz_choisie != -1) // La pizza est validei
152 {
153 echo 'une '. pizza($_POST['piz_choisie']) . ' commandée !<br>';
154 $pizza_id = $_POST['piz_choisie'];
155 }
156 else
157 {
158 echo 'Aucune pizza commandée !'; // la pizza est '-1' donc pas de pizza commandée
159 $pizza_id = "NULL";
160 }
161 mysql_query("update participants set pizza = " . $pizza_id . " where id = " . $le_participant->info->id);
162 }
163 else
164 selection_pizzas();
165 }
166
167 if (isset($_GET['stats']))
168 {
169 kiakoi();
170 echo '<br>';
171 stats();
172 }
173
174 echo liens();
175 }
176 else // le participant n'est pas loggé
177 {
178 echo '<span class ="texte">Vous devez vous loggé pour commander une pizza</span>';
179 }
180 echo '</div>';
181 ?>