site-accueil-insa/com_ville.php
2022-08-31 10:46:02 +02:00

272 lines
No EOL
10 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
ob_start(); // Start reading html
include "assets/fonts/color.php";
include "script/db.php";
$nombre_d_epreuve = (int) 17;
if(isset($_GET['team']) AND !empty($_GET['team']))
{
$team = (int) htmlspecialchars($_GET['team']);
$req = $db->prepare("SELECT * FROM ville_equipe WHERE id = ?");
$req->execute(array($team));
$rc = $req->rowcount();
$r = $req -> fetchAll(PDO::FETCH_ASSOC);
if($rc == 1) {
if($r[0]['id'] < $nombre_d_epreuve) {
$session = 1;
} else {
$session = 2;
}
$reqsession = $db->prepare("SELECT state, time_begin FROM ville WHERE session = ?");
$reqsession->execute(array($session));
$rs = $reqsession -> fetchAll(PDO::FETCH_ASSOC);
if($rs[0]['state']!=1) {
header('Location: error.php');
}
} else {
header('Location: error.php');
}
//page avec le GET team
$name = $r[0]["nom"];
$begin = $r[0]["begin"];
$temps_init = $r[0]["temps"];
$tab_time = explode(";", $temps_init);
if($temps_init == NULL) {
$avancement = (int) 0;
$delta_temps = time() - $rs[0]['time_begin'];
$delta_temps_begin = $delta_temps;
} else {
$avancement = count($tab_time);
$delta_temps = time() - $tab_time[$avancement-1];
$delta_temps_begin = time() - $rs[0]['time_begin'];
$def_time = $tab_time[$avancement-1] - $rs[0]['time_begin'];
}
$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]
if($begin + $avancement <= 17) {
$etape = $begin + $avancement;
} else {
$etape = ( ($begin + $avancement)%($nombre_d_epreuve+1) ) + 1; //même chose ici
}
$req = $db->prepare("SELECT * FROM ville_epreuve WHERE id = ?");
$req->execute(array($etape));
$r = $req -> fetchAll(PDO::FETCH_ASSOC);
if($avancement+1 <= $nombre_d_epreuve) {
if(isset($_POST['send'])) {
if(isset($_POST['answer']) AND !empty($_POST['answer'])) {
$pass = htmlspecialchars($_POST['answer']);
if($pass == $r[0]['reponse']) {
if($temps_init == NULL) {
$temps_new = time();
} else {
$temps_new = $temps_init.";".time();
}
$req = $db->prepare("UPDATE ville_equipe SET temps = ? WHERE id = ?");
$req->execute(array($temps_new, $team));
header('Refresh: 0');
} else {
$error = "Le code est incorrect";
}
} else {
$error = "Vous devez entrer le code pour passer à l'étape suivante !";
}
}
}
?>
<main>
<div class="box-jaune">
<span class="corners corners-top"></span>
<span class="corners corners-bottom"></span>
<div class="title">
Equipe <?= $name ?>
<?php
if($avancement+1 <= $nombre_d_epreuve) {
echo '<br>Etape <font color="red">'.($avancement+1).'</font>/17';
} else {
echo '<br><font color="red">finit</font> aka <font color="red">17</font>/17';
}
?>
</div>
<span class="circles circles-top"></span>
<span class="circles circles-bottom"></span>
</div>
<section>
<?php
if($avancement+1 <= $nombre_d_epreuve) {
?>
L'épreuve à commencé depuis <font color="red"><?= gmdate("H:i:s",$delta_temps_begin) ?></font> !<br>
Vous êtes sur cette étape depuis <font color="red"><?= gmdate("H:i:s",$delta_temps) ?></font> !<br><br>
<?php if($r[0]["photo"] != NULL) { ?><img src="assets/img/com_ville/<?= $r[0]["photo"] ?>" class="img_enigme"><br><br><?php } ?>
<strong><?= $r[0]["indice"] ?></strong><br><br>
<form method="POST">
<input type="text" placeholder="le code (the only one)" name="answer" class="input">
<input type="submit" name="send" value="Passer à l'étape suivante" class="submit">
</form>
<font color="red"><?php if(isset($error)) { echo $error; } ?></font>
<?php
} else {
?>
Vous avez finit le circuit en <font color="red"><?= gmdate("H:i:s",$def_time) ?></font> !<br><br>
<?= colored_text("Felicitation") ?> !
<?php
}
?>
</section>
</main>
<?php
//gin de la page avec le GET team
} else {
//page sans le GET team
?>
<main>
<div class="box-jaune">
<span class="corners corners-top"></span>
<span class="corners corners-bottom"></span>
<div class="title">Com'ville</div>
<span class="circles circles-top"></span>
<span class="circles circles-bottom"></span>
</div>
<section>
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 quest <?= colored_text("Toulouse") ?> ( si thabites déjà ici tu nes pas concerné par cette phrase dintroduction mais te plains pas trop on soccupe du jour où tu va pouvoir le plus flex de la semaine).<br>
Tout dabord 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 nest pas grave! Vu quon 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 dune 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>
Alors il nous reste plus quà te dire de profiter de tes derniers instants dans ta ville natale parce que même si Toulouse cest <?= colored_text("tarpin bieng") ?> elle va finir par te manquer (sauf si thabites trop ds le nord).<br>
Bon allez nous on se taille dans nos kart!<br>
<?= colored_text("*saute*") ?><br>
Insert “mouhahahaahaaa” diabolique mario
</section>
<section>
Vos missions à faire sur le chemin :<br><br>
<table>
<thead>
<tr>
<th>Nom</th>
<th>Description</th>
<th>barème</th>
</tr>
</thead>
<tr>
<td class="title">Mario furious</td>
<td>Garde les yeux grands ouverts, Mario sest perdu en ville et a besoin de ton aide. Si tu le vois cours vite lattraper et il te donnera peut être un bonus</td>
<td>3 minutes</td>
</tr>
<tr>
<td class="title">Take a pic</td>
<td>Prends un max de photos avec les habitants du royaume des champignons. Mais attention! N'importunes pas nimporte quel passant, tu dois suivre la liste ci-dessous (cf liste)</td>
<td>10s par photo/vidéo</td>
</tr>
<tr>
<td class="title">Be JoCo</td>
<td>Lhumour étant lélément clé dun vrai insaiens. Arrête les passants et fais les rires, tous les coups sont permis ;)</td>
<td>20s par blague réussi avec un max de 6 blagues</td>
</tr>
<tr>
<td class="title">Toad Fourras</td>
<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>
<td>2 min30</td>
</tr>
<tr>
<td class="title">Chifoumi</td>
<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>
<td>30s par chifoumi 3* max</td>
</tr>
<tr>
<td class="title">Rangé de chaise</td>
<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>
<td>3 premiers prennent 5 min / 3 dapres 3 min / 5 dapres 1 min et les autres 0</td>
</tr>
<tr>
<td class="title">la dauradaladaurade</td>
<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>
<td>3 premiers prennent 5 min / 3 dapres 3 min / 5 dapres 1 min et les autres 0</td>
</tr>
</table>
</section>
<?php
$req = $db->query("SELECT state FROM ville WHERE session = 1");
$r = $req -> fetchAll(PDO::FETCH_ASSOC);
if($r[0]['state'] == 0) {
?>
<section>
<h1>Session matin</h1>
<font color="red">La session n'a pas commencé</font>
</section>
<?php
} elseif($r[0]['state'] == 1) {
?>
<section>
<h1>Session matin</h1>
<font color="orange">La session est en cours</font><br><br>
<?php
$reqint = $db->query('SELECT id, nom FROM ville_equipe WHERE id < 17');
while($equipe = $reqint->fetch()) {
echo "<a href='com_ville.php?team=".$equipe["id"]."' class='team'>Equipe ".$equipe["nom"]."</a>";
}
?>
</section>
<?php
} elseif($r[0]['state'] == 2) {
?>
<section>
<h1>Session matin</h1>
<font color="black">La session est terminé</font>
</section>
<?php
}
$req = $db->query("SELECT state FROM ville WHERE session = 2");
$r = $req -> fetchAll(PDO::FETCH_ASSOC);
if($r[0]['state'] == 0) {
?>
<section>
<h1>Session aprem</h1>
<font color="red">La session n'a pas commencé</font>
</section>
<?php
} elseif($r[0]['state'] == 1) {
?>
<section>
<h1>Session aprem</h1>
<font color="orange">La session est en cours</font><br><br>
<?php
$reqint = $db->query('SELECT id, nom FROM ville_equipe WHERE id > 16');
while($equipe = $reqint->fetch()) {
echo "<a href='com_ville.php?team=".$equipe["id"]."' class='team'>Equipe ".$equipe["nom"]."</a>";
}
?>
</section>
<?php
} elseif($r[0]['state'] == 2) {
?>
<section>
<h1>Session aprem</h1>
<font color="black">La session est terminé</font>
</section>
<?php
}
?>
</main>
<?php
} //fin de la page ou y'a pas de GET team
$infopage = ["", "Com'ville", ob_get_clean(), "", "com_ville"]; //relativepath, pagetitle, pagecontent, pagescript, pagename | cf structure/template.php ligne 2 à 6
include("structure/template.php");
?>