site-accueil-insa/com_ville.php
2022-07-30 16:14:24 +02:00

225 lines
No EOL
8 KiB
PHP
Raw 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 OR $rs[0]['state']>2 ) {
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>
<?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");
?>