Merge ssh://git@dev.euphorik.ch/cl7
[cl7.git] / php / pages / pizzas.php
diff --git a/php/pages/pizzas.php b/php/pages/pizzas.php
new file mode 100644 (file)
index 0000000..be856bd
--- /dev/null
@@ -0,0 +1,181 @@
+<?php # coding:utf-8\r
+// Gestion de commande de pizza\r
+// Auteur: KiKi\r
+\r
+function selection_pizzas()\r
+{\r
+   global $config;\r
+   global $participant;\r
+   $requ = mysql_query("select * from pizzas order by nom");\r
+   echo '<h1>commande de pizza</h1>';\r
+   \r
+   if ($config->get('pizza_peut_commander'))\r
+   {\r
+      if ($participant->info->pizza != null)\r
+         echo '<br>Vous avez deja commandé une pizza ! mais vous pouvez encore changez votre choix:';\r
+         \r
+      echo '<form name="commande" method="post" action="index.php?page=pizzas">';\r
+      echo '<table width ="100%" border="0" cellpadding="1" cellspacing="3">';\r
+      echo '<tr><td class="pizzaHeader"></td><td class="pizzaHeader">Nom</td><td class="pizzaHeader">Composition</td><td class="pizzaHeader">Prix</td></tr>';\r
+      echo '<tr><td><input type="radio" name="piz_choisie" value="-1" ', ($participant->info->pizza==null?'checked':''), '></td><td class="texte">', ($participant->info->pizza==null?'<b>':''), 'Aucune', ($participant->info->pizza==null?'</b>':''), '</td><td></td><td></td></tr>';\r
+      while($pizza = mysql_fetch_object($requ))\r
+         echo '<tr><td width="1" ',($participant->info->pizza==$pizza->id?'class="pizzaChoisie"':''),'><input type="radio" id="pizza_', $pizza->id ,'" name="piz_choisie" value="', $pizza->id, '"',($participant->info->pizza==$pizza->id?'checked':''), '></td><td class="',($participant->info->pizza==$pizza->id?'pizzaChoisie ':''),'texte"><label for="pizza_', $pizza->id ,'">', $pizza->nom, '</label></td><td class="',($participant->info->pizza==$pizza->id?'pizzaChoisie ':''),'texte"><label for="pizza_', $pizza->id ,'">', $pizza->composition, '</label></td><td class="',($participant->info->pizza==$pizza->id?'pizzaChoisie ':''),'texte"><label for="pizza_', $pizza->id ,'">', $pizza->prix, '.-</label></td></tr>';\r
+      echo '</table><br><input type="submit" value="Commander"></form>';\r
+   }\r
+   else\r
+      if ($participant->info->pizza != null)\r
+         echo '<br><br>votre pizza ', pizza($participant->info->pizza), ' va bientot arriver';\r
+      else\r
+         echo "<br><br>la commande de pizza est terminée, veuillez attendre la prochaine vague<br><br>";\r
+}\r
+\r
+// Affiche les statistique sur les pizza\r
+function stats()\r
+{\r
+   $requ_pizza = mysql_query("select * from pizzas order by nom");\r
+   $requ_participant = mysql_query("select * from participants");\r
+   $nb = array();\r
+   $nb_tot = 0;\r
+   $total = 0;\r
+   $nb_pizza = mysql_fetch_row(mysql_query("select count(*) from pizzas"));\r
+   \r
+   // Initialise le tableau de comptage\r
+   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 ;-))\r
+      $nb[$i] = 0;\r
+     \r
+   // Rempli le tableau de nombre de pizzas\r
+   while ($participant = mysql_fetch_object($requ_participant))\r
+      if ($participant->pizza != null)\r
+          $nb[$participant->pizza]++;\r
+      \r
+   echo '<h1>total des commandes</h1>'; \r
+   echo '<table width="100%" border="0" cellpadding="1" cellspacing="3">';\r
+   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>';   \r
+      \r
+   while($pizza = mysql_fetch_object($requ_pizza))\r
+   {\r
+      if ($nb[$pizza->id] == 0)\r
+         continue;      \r
+\r
+      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>';\r
+       $total += $nb[$pizza->id] * $pizza->prix;\r
+       $nb_tot += $nb[$pizza->id];\r
+   }\r
+   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>';   \r
+}\r
+\r
+// Retourne le nom de la pizza en fonction de son ID\r
+function pizza ($id)\r
+{\r
+   $requ = mysql_query("select * from pizzas where id = " . $id);\r
+   if ($pizza = mysql_fetch_object($requ))\r
+      return $pizza->nom;\r
+   else\r
+      return 'Pizza inexistante !';\r
+}\r
+\r
+\r
+// Affiche qui prends koi\r
+function kiakoi()\r
+{\r
+   global $participant;\r
+   $requ = mysql_query("select * from participants order by nom");\r
+   \r
+   \r
+   echo '<h1>qui prend quoi</h1>';\r
+   echo '<table width="100%" border="0" cellpadding="1" cellspacing="3">';\r
+   echo '<tr><td class="pizzaHeader">Pseudo</td><td class="pizzaHeader">Nom</td><td class="pizzaHeader">Prix</td><td class="pizzaHeader">Paiement</td></tr>';\r
+   \r
+   while ($participant = mysql_fetch_object($requ))\r
+   {\r
+      if ($participant->pizza != null)\r
+      {\r
+         $pizza = mysql_fetch_object(mysql_query("select * from pizzas where id = " . $participant->pizza));\r
+         echo '<tr><td class="texte">', $participant->pseudo ,'</td><td class="texte">', $pizza->nom, '</td><td class="texte">', $pizza->prix, '.-</td><td class="texte">', ($participant->info->admin?'<a href="?page=pizzas&stats=1&paye=' . $participant->id . '">':''), ($participant->pizza_paye?'payé':'non payé !'), ($participant->info->admin?'</a>':'') ,'</td></tr>';\r
+      }\r
+      else\r
+         echo '<tr><td class="texte">', $participant->pseudo ,'</td><td class="texte">-</td><td class="texte">-</td><td class="texte">', '-</td></tr>';\r
+   }\r
+   echo '</table>';  \r
+   \r
+}\r
+\r
+function liens()\r
+{\r
+   global $participant;\r
+   \r
+   $res = '';\r
+   if (!isset($_GET['stats']))\r
+      $res .= '<br><a href="/pizzas.html&stats=1">voir les stats globaux</a>';\r
+      \r
+ //  if ($participant->info->admin && !isset($kiakoi))\r
+ //     $res .= '<br><a href="?page=pizzas&kiakoi=1">qui prend quoi</a>';\r
+      \r
+   if ($participant->info->admin)\r
+      $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>';\r
+   \r
+   return $res;\r
+}\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r
+\r
+\r
+echo '<div id="pizzas">';\r
+if ($participant->valide) // le participant est loggé\r
+{\r
+   // Si demande d'effacer les commande et que le gars est admin, le fait\r
+   if(isset($_GET['reset']) && $participant->info->admin)\r
+   {\r
+      mysql_query("update participants set pizza = null, pizza_paye = 0");\r
+      $participant->info->pizza = -1; //mettre a jour le participants courant pour la beaute de l'affichage\r
+   }\r
+      \r
+   if(isset($_GET['paye']) && $participant->info->admin)\r
+   {  \r
+      /////// methode d'inversion\r
+      // $gars = mysql_fetch_object(mysql_query("select * from participants where id = " . $paye));\r
+      // mysql_query("update participants set pizza_paye = " . (1 - $gars->pizza_paye) . " where id = " . $paye);\r
+      ///////\r
+      \r
+      /////// methode d'un unique changement : non-paye -> paye\r
+      mysql_query("update participants set pizza_paye = 1 where id = " . $_GET['paye']);\r
+      ///////\r
+   }\r
+      \r
+      \r
+   if (!isset($_GET['stats']) && !isset($_GET['kiakoi']))\r
+   {\r
+      if (isset($_POST['piz_choisie'])) // la pizza a ete choisie\r
+      {\r
+         if ($piz_choisie != -1) // La pizza est validei\r
+         {\r
+            echo 'une '. pizza($_POST['piz_choisie']) . ' commandée !<br>';\r
+            $pizza_id = $_POST['piz_choisie'];\r
+         }\r
+         else\r
+         {\r
+            echo 'Aucune pizza commandée !'; // la pizza est '-1' donc pas de pizza commandée         \r
+            $pizza_id = "NULL";\r
+         }\r
+         mysql_query("update participants set pizza = " . $pizza_id . " where id = " . $participant->info->id);\r
+      }\r
+      else\r
+         selection_pizzas();\r
+   }\r
+   \r
+   if (isset($_GET['stats']))\r
+   {      \r
+      kiakoi();\r
+      echo '<br>';\r
+      stats();\r
+   }\r
+\r
+   echo liens();\r
+}\r
+else // le participant n'est pas loggé\r
+{\r
+   echo '<span class ="texte">Vous devez vous loggé pour commander une pizza</span>';\r
+}\r
+echo '</div>';\r
+?>\r