Site de la semaine d'accueil
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

com_ville.php 10KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. <?php
  2. ob_start(); // Start reading html
  3. include "assets/fonts/color.php";
  4. include "script/db.php";
  5. $nombre_d_epreuve = (int) 17;
  6. if(isset($_GET['team']) AND !empty($_GET['team']))
  7. {
  8. $team = (int) htmlspecialchars($_GET['team']);
  9. $req = $db->prepare("SELECT * FROM ville_equipe WHERE id = ?");
  10. $req->execute(array($team));
  11. $rc = $req->rowcount();
  12. $r = $req -> fetchAll(PDO::FETCH_ASSOC);
  13. if($rc == 1) {
  14. if($r[0]['id'] < $nombre_d_epreuve) {
  15. $session = 1;
  16. } else {
  17. $session = 2;
  18. }
  19. $reqsession = $db->prepare("SELECT state, time_begin FROM ville WHERE session = ?");
  20. $reqsession->execute(array($session));
  21. $rs = $reqsession -> fetchAll(PDO::FETCH_ASSOC);
  22. if($rs[0]['state']!=1) {
  23. header('Location: error.php');
  24. }
  25. } else {
  26. header('Location: error.php');
  27. }
  28. //page avec le GET team
  29. $name = $r[0]["nom"];
  30. $begin = $r[0]["begin"];
  31. $temps_init = $r[0]["temps"];
  32. $tab_time = explode(";", $temps_init);
  33. if($temps_init == NULL) {
  34. $avancement = (int) 0;
  35. $delta_temps = time() - $rs[0]['time_begin'];
  36. $delta_temps_begin = $delta_temps;
  37. } else {
  38. $avancement = count($tab_time);
  39. $delta_temps = time() - $tab_time[$avancement-1];
  40. $delta_temps_begin = time() - $rs[0]['time_begin'];
  41. $def_time = $tab_time[$avancement-1] - $rs[0]['time_begin'];
  42. }
  43. $etape = (int) ($begin + $avancement)%($nombre_d_epreuve+1); //attention ici pour 2022 on a decidé d'avoir une épreuve de plus que de nombre d'équipe, à refaire en fonction des années <=> [nombre d'équipe = nombre d'épreuve - 1]
  44. if($begin + $avancement <= 17) {
  45. $etape = $begin + $avancement;
  46. } else {
  47. $etape = ( ($begin + $avancement)%($nombre_d_epreuve+1) ) + 1; //même chose ici
  48. }
  49. $req = $db->prepare("SELECT * FROM ville_epreuve WHERE id = ?");
  50. $req->execute(array($etape));
  51. $r = $req -> fetchAll(PDO::FETCH_ASSOC);
  52. if($avancement+1 <= $nombre_d_epreuve) {
  53. if(isset($_POST['send'])) {
  54. if(isset($_POST['answer']) AND !empty($_POST['answer'])) {
  55. $pass = htmlspecialchars($_POST['answer']);
  56. if($pass == $r[0]['reponse']) {
  57. if($temps_init == NULL) {
  58. $temps_new = time();
  59. } else {
  60. $temps_new = $temps_init.";".time();
  61. }
  62. $req = $db->prepare("UPDATE ville_equipe SET temps = ? WHERE id = ?");
  63. $req->execute(array($temps_new, $team));
  64. header('Refresh: 0');
  65. } else {
  66. $error = "Le code est incorrect";
  67. }
  68. } else {
  69. $error = "Vous devez entrer le code pour passer à l'étape suivante !";
  70. }
  71. }
  72. }
  73. ?>
  74. <main>
  75. <div class="box-jaune">
  76. <span class="corners corners-top"></span>
  77. <span class="corners corners-bottom"></span>
  78. <div class="title">
  79. Equipe <?= $name ?>
  80. <?php
  81. if($avancement+1 <= $nombre_d_epreuve) {
  82. echo '<br>Etape <font color="red">'.($avancement+1).'</font>/17';
  83. } else {
  84. echo '<br><font color="red">finit</font> aka <font color="red">17</font>/17';
  85. }
  86. ?>
  87. </div>
  88. <span class="circles circles-top"></span>
  89. <span class="circles circles-bottom"></span>
  90. </div>
  91. <section>
  92. <?php
  93. if($avancement+1 <= $nombre_d_epreuve) {
  94. ?>
  95. L'épreuve à commencé depuis <font color="red"><?= gmdate("H:i:s",$delta_temps_begin) ?></font> !<br>
  96. Vous êtes sur cette étape depuis <font color="red"><?= gmdate("H:i:s",$delta_temps) ?></font> !<br><br>
  97. <?php if($r[0]["photo"] != NULL) { ?><img src="assets/img/com_ville/<?= $r[0]["photo"] ?>" class="img_enigme"><br><br><?php } ?>
  98. <strong><?= $r[0]["indice"] ?></strong><br><br>
  99. <form method="POST">
  100. <input type="text" placeholder="le code (the only one)" name="answer" class="input">
  101. <input type="submit" name="send" value="Passer à l'étape suivante" class="submit">
  102. </form>
  103. <font color="red"><?php if(isset($error)) { echo $error; } ?></font>
  104. <?php
  105. } else {
  106. ?>
  107. Vous avez finit le circuit en <font color="red"><?= gmdate("H:i:s",$def_time) ?></font> !<br><br>
  108. <?= colored_text("Felicitation") ?> !
  109. <?php
  110. }
  111. ?>
  112. </section>
  113. </main>
  114. <?php
  115. //gin de la page avec le GET team
  116. } else {
  117. //page sans le GET team
  118. ?>
  119. <main>
  120. <div class="box-jaune">
  121. <span class="corners corners-top"></span>
  122. <span class="corners corners-bottom"></span>
  123. <div class="title">Com'ville</div>
  124. <span class="circles circles-top"></span>
  125. <span class="circles circles-bottom"></span>
  126. </div>
  127. <section>
  128. Salut à toi <strong><font color="red">P</font></strong>etit <strong><font color="red">P</font></strong>erdu <strong><font color="red">A</font></strong>rrivant tout juste dans cette magnifique ville qu’est <?= colored_text("Toulouse") ?> ( si t’habites déjà ici tu n’es pas concerné par cette phrase d’introduction mais te plains pas trop on s’occupe du jour où tu va pouvoir le plus flex de la semaine).<br>
  129. Tout d’abord il faut que tu saches que le destin nous a mis plein de carapaces dans les roues : devoir partager la journée avec la com rallye et ses infâmes respos, la ville de Toulouse qui décide de saboter nos plans en organisant la grande <?= colored_text("bowsererie") ?> sur notre créneau et cet infâme président qui cherchait à nous déconcentrer pendant nos réunions. Mais ce n’est pas grave! Vu qu’on est la com de l’élite on a quand même réussi à te préparer une <?= colored_text("wati") ?> demi journée mêlant découverte d’une partie de la ville ( on compte sur ton parrain ou ta marraine pour te faire découvrir les mondes qui nous sont interdits) et activités de zinzin à la praire des filtres.<br>
  130. Alors il nous reste plus qu’à te dire de profiter de tes derniers instants dans ta ville natale parce que même si Toulouse c’est <?= colored_text("tarpin bieng") ?> elle va finir par te manquer (sauf si t’habites trop ds le nord).<br>
  131. Bon allez nous on se taille dans nos kart!<br>
  132. <?= colored_text("*saute*") ?><br>
  133. Insert “mouhahahaahaaa” diabolique mario
  134. </section>
  135. <section>
  136. Vos missions à faire sur le chemin :<br><br>
  137. <table>
  138. <thead>
  139. <tr>
  140. <th>Nom</th>
  141. <th>Description</th>
  142. <th>barème</th>
  143. </tr>
  144. </thead>
  145. <tr>
  146. <td class="title">Mario furious</td>
  147. <td>Garde les yeux grands ouverts, Mario s’est perdu en ville et a besoin de ton aide. Si tu le vois cours vite l’attraper et il te donnera peut être un bonus</td>
  148. <td>3 minutes</td>
  149. </tr>
  150. <tr>
  151. <td class="title">Take a pic</td>
  152. <td>Prends un max de photos avec les habitants du royaume des champignons. Mais attention! N'importunes pas n’importe quel passant, tu dois suivre la liste ci-dessous (cf liste)</td>
  153. <td>10s par photo/vidéo</td>
  154. </tr>
  155. <tr>
  156. <td class="title">Be JoCo</td>
  157. <td>L’humour étant l’élément clé d’un vrai insaiens. Arrête les passants et fais les rires, tous les coups sont permis ;)</td>
  158. <td>20s par blague réussi avec un max de 6 blagues</td>
  159. </tr>
  160. <tr>
  161. <td class="title">Toad Fourras</td>
  162. <td>Sur votre chemin vers le château de Bowser, vous devrez chercher un mystérieux Toad (il viendra à votre rencontre si vous avez de la chance) et il faudra résoudre ses énigmes si vous souhaitez gagner un maximum de points !!!</td>
  163. <td>2 min30</td>
  164. </tr>
  165. <tr>
  166. <td class="title">Chifoumi</td>
  167. <td>C'est tout simple tu propose un chifoumi a un passant , tu filmes, tu gagnes, c'est bonus tu perds c'est 10 pompes ( t'as intérêt à les faire on te surveille).</td>
  168. <td>30s par chifoumi 3* max</td>
  169. </tr>
  170. <tr>
  171. <td class="title">Rangé de chaise</td>
  172. <td>Pour ce défi, il va vous falloir faire preuve de travail d’équipe. Tu vois une chaise contre un mur et bah c'est pareil sauf que ton pote s'assoit sur tes genoux et ainsi de suite pour arriver le plus loin du mur. Si vous réussissez à barrer toute une rue , un max de points bonus vous attend.</td>
  173. <td>3 premiers prennent 5 min / 3 d’apres 3 min / 5 d’apres 1 min et les autres 0</td>
  174. </tr>
  175. <tr>
  176. <td class="title">la dauradaladaurade</td>
  177. <td>comme les poissons tu as toujours soif (qualité indispensable des insaiens). Prouve le nous et réalises ta meilleur imitation de saumon sur la place de la Daurade</td>
  178. <td>3 premiers prennent 5 min / 3 d’apres 3 min / 5 d’apres 1 min et les autres 0</td>
  179. </tr>
  180. </table>
  181. </section>
  182. <?php
  183. $req = $db->query("SELECT state FROM ville WHERE session = 1");
  184. $r = $req -> fetchAll(PDO::FETCH_ASSOC);
  185. if($r[0]['state'] == 0) {
  186. ?>
  187. <section>
  188. <h1>Session matin</h1>
  189. <font color="red">La session n'a pas commencé</font>
  190. </section>
  191. <?php
  192. } elseif($r[0]['state'] == 1) {
  193. ?>
  194. <section>
  195. <h1>Session matin</h1>
  196. <font color="orange">La session est en cours</font><br><br>
  197. <?php
  198. $reqint = $db->query('SELECT id, nom FROM ville_equipe WHERE id < 17');
  199. while($equipe = $reqint->fetch()) {
  200. echo "<a href='com_ville.php?team=".$equipe["id"]."' class='team'>Equipe ".$equipe["nom"]."</a>";
  201. }
  202. ?>
  203. </section>
  204. <?php
  205. } elseif($r[0]['state'] == 2) {
  206. ?>
  207. <section>
  208. <h1>Session matin</h1>
  209. <font color="black">La session est terminé</font>
  210. </section>
  211. <?php
  212. }
  213. $req = $db->query("SELECT state FROM ville WHERE session = 2");
  214. $r = $req -> fetchAll(PDO::FETCH_ASSOC);
  215. if($r[0]['state'] == 0) {
  216. ?>
  217. <section>
  218. <h1>Session aprem</h1>
  219. <font color="red">La session n'a pas commencé</font>
  220. </section>
  221. <?php
  222. } elseif($r[0]['state'] == 1) {
  223. ?>
  224. <section>
  225. <h1>Session aprem</h1>
  226. <font color="orange">La session est en cours</font><br><br>
  227. <?php
  228. $reqint = $db->query('SELECT id, nom FROM ville_equipe WHERE id > 16');
  229. while($equipe = $reqint->fetch()) {
  230. echo "<a href='com_ville.php?team=".$equipe["id"]."' class='team'>Equipe ".$equipe["nom"]."</a>";
  231. }
  232. ?>
  233. </section>
  234. <?php
  235. } elseif($r[0]['state'] == 2) {
  236. ?>
  237. <section>
  238. <h1>Session aprem</h1>
  239. <font color="black">La session est terminé</font>
  240. </section>
  241. <?php
  242. }
  243. ?>
  244. </main>
  245. <?php
  246. } //fin de la page ou y'a pas de GET team
  247. $infopage = ["", "Com'ville", ob_get_clean(), "", "com_ville"]; //relativepath, pagetitle, pagecontent, pagescript, pagename | cf structure/template.php ligne 2 à 6
  248. include("structure/template.php");
  249. ?>