forked from rebillar/site-accueil-insa
225 lines
No EOL
8 KiB
PHP
225 lines
No EOL
8 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>
|
||
<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 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>
|
||
<?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");
|
||
?>
|