forked from rebillar/site-accueil-insa
253 lines
No EOL
9.7 KiB
PHP
253 lines
No EOL
9.7 KiB
PHP
<?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>
|
||
|
||
<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="zone_txt">
|
||
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>
|
||
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>
|
||
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>
|
||
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 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>
|
||
<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 n’importe 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>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>
|
||
<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 d’apres 3 min / 5 d’apres 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 d’apres 3 min / 5 d’apres 1 min et les autres 0</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<?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
|
||
|
||
$titre = "Equipe ".$name;
|
||
|
||
if($avancement+1 <= $nombre_d_epreuve) {
|
||
$titre += '<br>Etape <font color="red">'.($avancement+1).'</font>/17';
|
||
} else {
|
||
$titre += '<br><font color="red">finit</font> aka <font color="red">17</font>/17';
|
||
}
|
||
|
||
|
||
|
||
$infopage = ["", "Com'ville", ob_get_clean(), "", "com_ville",$titre]; //relativepath, pagetitle, pagecontent, pagescript, pagename | cf structure/template.php ligne 2 à 6
|
||
include("structure/template.php");
|
||
?>
|