début du nouveau système de com ville

This commit is contained in:
thaaoblues 2023-06-01 17:51:06 +02:00
parent 84ca0441c1
commit 299461d12c
6 changed files with 112 additions and 652 deletions

View file

@ -117,15 +117,6 @@ Par défaut il faut avoir une seule ligne vide, le script se chargera de la modi
| team | tinyint(1) | | |
| id_staff | text | | |
### ville
| Nom | Type | AUTO_INCREMENT | NULL |
| :----------- |:------------:|:---------------:|:-----:|
| session | int(11) | X | |
| state | int(11) | | |
| time_begin | int(11) | | |
ici il y a les session car il y a la session du matin et la session de l'après midi, cette table permet de savoir quelle session à été lancé, et le temps(unix) à laquelle la session à été lancé si elle l'a été.
### ville_epreuve
@ -135,8 +126,17 @@ ici il y a les session car il y a la session du matin et la session de l'après
| indice | text | | |
| reponse | varchar(50) | | |
| photo | varchar(20) | | X |
| id_equipe | int(11) | | X |
| est_finale | BOOLEAN | | |
| ordre | int(11) | | |
| est_trouvee | BOOLEAN | | |
ici il va falloir mettre chaque épreuve à la main, indice correspond à ce qui va etre affiché aux PPA à chaque étape, la réponse à ce que doivent deviner les PPA, et éventuellement une photos pour les aider qui se trouve dans "assets/img/ville/"
Le champ "id_equipe" est une clé étrangère faisant reférence à la taple ville_equipe. Cette clé est utile si l'on veut mettre des indices différents pour chaque équipe (NULL si universel).
Le bouléen "est_finale" va servir à mettre fin au chronomètre si l'équipe trouve la réponse de l'énigme.
L'entier "ordre" est simplement là pour spécifier la position dans laquelle l'énigme va apparaître dans le parcours de l'équipe.
Le bouléen "est_trouvee" va simplement indiquer si une épreuve est complétée ou non
### ville_equipe

View file

@ -1,28 +1,26 @@
<?php
include "script.php";
include "../script/db_init.php";
include "../assets/scripts/globals.php";
if($user['perm'] < 3) {
header('Location: deco.php');
}
$req = $db->query("SELECT * FROM enigma WHERE id = 1");
$r = $req -> fetchAll(PDO::FETCH_ASSOC);
if(isset($_GET["radio_bdd"])){
switch($_GET["radio_bdd"]){
case "drop":
drop_bdd($LISTE_TABLES);
//drop_bdd($LISTE_TABLES,$db);
break;
case "create":
create_bdd($LISTE_TABLES);
create_bdd($LISTE_TABLES_DROP,$db);
break;
}
}

View file

@ -6,7 +6,10 @@ require_once("../phpCAS-1.3.6/CAS.php");
$_SESSION['id']=1;
$pseudo = "mougnibas";
$user = array(
"pseudo"=>$pseudo,
"perm"=>3
);
/*
// Initialize phpCAS

View file

@ -1,6 +1,5 @@
<?php
include "../script/db.php";
include_once "../script/db.php";
session_start();
if(isset($_SESSION['id'])) {
@ -35,11 +34,11 @@ if($user_exist != 1) {
case 3:
$content = $content
."<a href='ville.php'><li class='yellow'>Com'ville</li></a>"
.'<a href="planning.php"><li class="orange">Planning</li></a>'
.'<a href="gestion_des_acces.php"><li class="red">Gestion des accès</li></a>'
.'<a href="enigma.php"><li class="red">Enigma</li></a>'
.'<a href="../matomo" target="_matomo"><li class="red">Matomo</li></a>'
.'<a href="bdd.php"><li class="red">/!\DANGER ZONE/!\</li></a>';
."<a href=\"planning.php\"><li class=\"orange\">Planning</li></a>"
."<a href=\"gestion_des_acces.php\"><li class=\"red\">Gestion des accès</li></a>"
."<a href=\"enigma.php\"><li class=\"red\">Enigma</li></a>"
."<a href=\"../matomo\" target=\"_matomo\"><li class=\"red\">Matomo</li></a>"
."<a href=\"bdd.php\"><li class=\"red\">/!\DANGER ZONE/!\</li></a>";
break;
}

View file

@ -7,60 +7,38 @@ if($user['perm'] < 1) {
header('Location: deco.php');
}
if(isset($_POST['start1'])) {
$req = $db->prepare("UPDATE ville SET state = ?, time_begin = ? WHERE session = 1");
$req->execute(array(1, time()));
header('Refresh: 0');
}
if(isset($_POST['start2'])) {
$req = $db->prepare("UPDATE ville SET state = ?, time_begin = ? WHERE session = 2");
$req->execute(array(1, time()));
header('Refresh: 0');
}
//ajout d'une session ville
if(isset($_POST['add_session'])){
$req = $db->query("INSERT INTO ville(state,time_begin) VALUES(0,0)");
}
// ajout d'une epreuve
if(isset($_POST['add_epreuve'])){
$req = $db->prepare("INSERT INTO ville_epreuve(indice,reponse,photo) VALUES(?,?,?)");
$req->execute(array(htmlspecialchars($_POST['indice']),htmlspecialchars($_POST['reponse']),'assets/img/ville/'.htmlspecialchars($_POST['photo'])));
$_POST['est_finale'] = $_POST['est_finale'] == 'true' ? true : false;
$req = $db->prepare("INSERT INTO ville_epreuve(indice,reponse,photo,id_equipe,est_finale,ordre,est_trouvee) VALUES(?,?,?,?,?,?,?)");
$req->execute(array(htmlspecialchars($_POST['indice']),
htmlspecialchars($_POST['reponse']),
'assets/img/ville/'.htmlspecialchars($_POST['photo']),
(int)htmlspecialchars($_POST['id_equipe']),
(bool)htmlspecialchars($_POST['est_finale']),
(int)htmlspecialchars($_POST['ordre']),
false
));
}
//ajout d'une equipe
if(isset($_POST['add_equipe'])){
$req = $db->prepare("INSERT INTO ville_equipe(nom,begin,temps) VALUES(?,?,?)");
$req->execute(array(htmlspecialchars($_POST['nom']),(int) htmlspecialchars($_POST['begin']),NULL));
$req = $db->prepare("INSERT INTO ville_equipe(nom,temps) VALUES(?,?)");
$req->execute(array(htmlspecialchars($_POST['nom']),NULL));
}
if(isset($_POST['stop1'])) {
$req = $db->query("UPDATE ville SET state = 2 WHERE session = 1");
header('Refresh: 0');
}
if(isset($_POST['stop2'])) {
$req = $db->query("UPDATE ville SET state = 2 WHERE session = 2");
header('Refresh: 0');
}
if(isset($_POST['reset1'])) {
if(htmlspecialchars($_POST['code']) == "anti-missclick") {
$req = $db->query("UPDATE ville SET state = 0, time_begin = 0 WHERE session = 1");
$req = $db->query("UPDATE ville_equipe SET temps = NULL WHERE id < 17");
header('Refresh: 0');
}
}
if(isset($_POST['reset2'])) {
if(htmlspecialchars($_POST['code']) == "anti-missclick") {
$req = $db->query("UPDATE ville SET state = 0, time_begin = 0 WHERE session = 2");
$req = $db->query("UPDATE ville_equipe SET temps = NULL WHERE id > 16");
header('Refresh: 0');
}
}
/* TODO :
- MODIFIER LES SCRIPTS D'AJOUTS pour intégrer les autres champs
- faire un tableau pour chaque équipe (à défiler)
- faire un tableau récapitulatif des équipes
*/
?>
<!DOCTYPE html>
@ -74,372 +52,63 @@ if(isset($_POST['reset2'])) {
<body>
<main>
<form method="POST">
<input type="submit" name="add_session" value="Ajouter une session" id="add_session" class="submit_inline">
<label for="add_session">Ajouter une session de ville (plage plusieurs equipes s'enchainent). Habituellement une matin et une aprem.</label>
</form>
<form method="POST">
<input type="text" name="indice" placeholder="indice" class="input_inline">
<input type="text" name="reponse" placeholder="réponse" class="input_inline">
<input type="text" name="photo" placeholder="prout.png" class="input_inline">
<input type="number" name="id_equipe" id="id_equipe" class="input_inline" value="<?= isset($_GET["ekip"]) ? (int)$_GET["ekip"]:1;?>">
<label for="id_equipe">id de l'équipe</label>
<input type="radio" name="est_finale" id="est_finale" class="input_inline">
<label for="est_finale">ultime épreuve</label>
<input type="number" name="ordre" id="ordre" class="input_inline">
<label for="ordre">ordre de l'épreuve</label>
<input type="submit" name="add_epreuve" value="Ajouter l'épreuve" class="submit_inline">
</form>
<hr>
<form method="POST">
<input type="text" name="nom" placeholder="nom de l'équipe" class="input_inline">
<input type="number" name="begin" id="begin" class="input_inline">
<label for="begin" >numero de l'étape à laquelle démarre l'équipe</label>
<input type="submit" name="add_equipe" value="Ajouter l'équipe" class="submit_inline">
</form>
<h4>Equipes déjà enregistrées :</h4>
<table class="acces">
<?php
$req = $db->query('SELECT * FROM ville_equipe');
while($equipe = $req->fetch()) {
if(isset($_GET['session']) AND !empty($_GET['session']))
{
$session = (int) htmlspecialchars($_GET['session']);
if($session == 1) {
?>
<form me
<a href="ville.php?session=1" class="href_session_selected">Session matin</a>
<a href="ville.php?session=2" class="href_session">Session aprem</a>
<br>
<?php
$req = $db->query("SELECT state FROM ville WHERE session = 1");
$r = $req -> fetchAll(PDO::FETCH_ASSOC);
if($r[0]['state'] == 0) {
?>
<font color="green">Session non demarrée, </font>
<form method="POST">
<input type="submit" name="start1" value="Démarrer la session" class="submit_inline"></form>
</form>
<?php
} elseif($r[0]['state'] >= 1) {
if($r[0]['state'] == 1) {
?>
<font color="orange">Session en cours, </font>
<form method="POST">
<input type="submit" name="stop1" value="Stopper la session" class="submit_inline"></form>
</form>
<META HTTP-EQUIV="Refresh" CONTENT="<?= $refresh_rate ?>">
<?php
} elseif($r[0]['state'] == 2) {
?>
<font color="red">Session terminée, </font>
<form method="POST">
<input type="text" name="code" placeholder="anti-missclick" class="input_inline">
<input type="submit" name="reset1" value="Reset la session" class="submit_inline"></form>
</form>
<?php
}
echo "<br><br><br>";
$reqsession = $db->query("SELECT state, time_begin FROM ville WHERE session = 1");
$rs = $reqsession -> fetchAll(PDO::FETCH_ASSOC);
$reqe = $db->query('SELECT * FROM ville_equipe WHERE id < 17');
while($e = $reqe->fetch()) {
$temps_init = $e["temps"];
$tab_time = NULL;
$tab_time = explode(";", $temps_init);
$temps_begin = date("H:i:s",$rs[0]['time_begin']);
if($temps_init == NULL) {
$avancement = (int) 0;
$delta_time_0 = gmdate("H:i:s",time()-$rs[0]['time_begin']);
} else {
$avancement = count($tab_time);
$def_time = $tab_time[$avancement-1] - $rs[0]['time_begin'];
$delta_time_0 = gmdate("H:i:s",$tab_time['0']-$rs[0]['time_begin']);
}
//node 0
?>
<div class="cmv-progress">
<h5 id="cmv-title" class="cmv-title">Equipe <?= $e['nom'] ?></h5>
<div class="cmv-container">
<div class="cmv-step fait">0
<div class="cmv-fixed"><?= $temps_begin ?></div> <!-- avec "--:--" = heure de départ -->
</div>
<div class="cmv-way fait">
<div class="cmv-relative"><?= $delta_time_0 ?></div>
</div>
<?php
/** Pour une équipe donnée */
/** $depart : Le point de départ de cette équipe */
$depart = $e['begin'];
/** $etape : À quelle étape en est cette équipe, si on l'utilise il faut décommenter quelques ligne plus bas : "$current = $etape - $depart + 1;" et commenter "$current = $avancement+1;" */
//$etape = 1;
/** $i va de 1 à 17 (inclus), 17 étant le nombre d'étapes */
for ($i = 1; $i <= 17; $i++) {
/** $node : Le numéro dans la node à l'emplacement $i
* exemple : si une équipe commence au point 7 alors la première node ($i = 1)
* va contenir $node = 7 À UTILISER POUR LES TEMPS ! */
$node = ($i + $depart - 2) % 17 + 1;
/** $current : À quel index est placé la node correspondante à l'$etape
* exemple : une équipe qui commence au point 17 en est au point 3,
* elle est donc affichée comme étant au niveau de la node d'index 4 ($i = 4)
* puisque de gauche à droite les premières nodes sont 17 - 1 - 2 - 3 */
//$current = $etape - $depart + 1;
$current = $avancement+1;
if ($current < 0) {
$current = $current + 17;
}
/** Si le point $i a été fait (fait), est en train d'être fait (actuel), ou n'a pas encore été atteint */
$state = '';
if ($i < $current) {
$state = ' fait';
} elseif ($i === $current) {
$state = ' active';
}
echo '<div class="cmv-step'.$state.'">';
echo $node;
if ($i <= $current) {
// --:-- doit être remplacé par l'heure à laquelle le point $node a été atteint
if($i == $current) {
echo '<div class="cmv-fixed">'.date("H:i:s",time()).'</div>';
} else {
echo '<div class="cmv-fixed">'.date("H:i:s",$tab_time[$i-1]).'</div>';
}
}
echo '</div>';
if ($i < 17) {
echo '<div class="cmv-way'.$state.'">';
if ($i < $current) {
if($i < $current-1) {
echo '<div class="cmv-relative">'.gmdate("H:i:s",$tab_time[$i]-$tab_time[$i-1]).'</div>'; // --mn doit être remplacé par le deltaT entre les points $node et $node+1
} else {
echo '<div class="cmv-relative">'.gmdate("H:i:s",time()-$tab_time[$i-1]).'</div>';
}
}
echo '</div>';
}
}
?>
</div>
</div>
<?php
} //fin du while e
}
} elseif($session == 2) {
?>
<a href="ville.php?session=1" class="href_session">Session matin</a>
<a href="ville.php?session=2" class="href_session_selected">Session aprem</a>
<br>
<?php
$req = $db->query("SELECT state FROM ville WHERE session = 2");
$r = $req -> fetchAll(PDO::FETCH_ASSOC);
if($r[0]['state'] == 0) {
?>
<font color="green">Session non demarrée, </font>
<form method="POST">
<input type="submit" name="start2" value="Démarrer la session" class="submit_inline"></form>
</form>
<?php
} elseif($r[0]['state'] >= 1) {
if($r[0]['state'] == 1) {
?>
<font color="orange">Session en cours, </font>
<form method="POST">
<input type="submit" name="stop2" value="Stopper la session" class="submit_inline"></form>
</form>
<META HTTP-EQUIV="Refresh" CONTENT="<?= $refresh_rate ?>">
<?php
} elseif($r[0]['state'] == 2) {
?>
<font color="red">Session terminée, </font>
<form method="POST">
<input type="text" name="code" placeholder="anti-missclick" class="input_inline">
<input type="submit" name="reset2" value="Reset la session" class="submit_inline"></form>
</form>
<?php
}
echo "<br><br><br>";
$reqsession = $db->query("SELECT state, time_begin FROM ville WHERE session = 2");
$rs = $reqsession -> fetchAll(PDO::FETCH_ASSOC);
$reqe = $db->query('SELECT * FROM ville_equipe WHERE id > 16');
while($e = $reqe->fetch()) {
$temps_init = $e["temps"];
$tab_time = NULL;
$tab_time = explode(";", $temps_init);
$temps_begin = date("H:i:s",$rs[0]['time_begin']);
if($temps_init == NULL) {
$avancement = (int) 0;
$delta_time_0 = gmdate("H:i:s",time()-$rs[0]['time_begin']);
} else {
$avancement = count($tab_time);
$def_time = $tab_time[$avancement-1] - $rs[0]['time_begin'];
$delta_time_0 = gmdate("H:i:s",$tab_time['0']-$rs[0]['time_begin']);
}
//node 0
?>
<div class="cmv-progress">
<h5 id="cmv-title" class="cmv-title">Equipe <?= $e['nom'] ?></h5>
<div class="cmv-container">
<div class="cmv-step fait">0
<div class="cmv-fixed"><?= $temps_begin ?></div> <!-- avec "--:--" = heure de départ -->
</div>
<div class="cmv-way fait">
<div class="cmv-relative"><?= $delta_time_0 ?></div>
</div>
<?php
/** Pour une équipe donnée */
/** $depart : Le point de départ de cette équipe */
$depart = $e['begin'];
/** $etape : À quelle étape en est cette équipe, si on l'utilise il faut décommenter quelques ligne plus bas : "$current = $etape - $depart + 1;" et commenter "$current = $avancement+1;" */
//$etape = 1;
/** $i va de 1 à 17 (inclus), 17 étant le nombre d'étapes */
for ($i = 1; $i <= 17; $i++) {
/** $node : Le numéro dans la node à l'emplacement $i
* exemple : si une équipe commence au point 7 alors la première node ($i = 1)
* va contenir $node = 7 À UTILISER POUR LES TEMPS ! */
$node = ($i + $depart - 2) % 17 + 1;
/** $current : À quel index est placé la node correspondante à l'$etape
* exemple : une équipe qui commence au point 17 en est au point 3,
* elle est donc affichée comme étant au niveau de la node d'index 4 ($i = 4)
* puisque de gauche à droite les premières nodes sont 17 - 1 - 2 - 3 */
//$current = $etape - $depart + 1;
$current = $avancement+1;
if ($current < 0) {
$current = $current + 17;
}
/** Si le point $i a été fait (fait), est en train d'être fait (actuel), ou n'a pas encore été atteint */
$state = '';
if ($i < $current) {
$state = ' fait';
} elseif ($i === $current) {
$state = ' active';
}
echo '<div class="cmv-step'.$state.'">';
echo $node;
if ($i <= $current) {
// --:-- doit être remplacé par l'heure à laquelle le point $node a été atteint
if($i == $current) {
echo '<div class="cmv-fixed">'.date("H:i:s",time()).'</div>';
} else {
echo '<div class="cmv-fixed">'.date("H:i:s",$tab_time[$i-1]).'</div>';
}
}
echo '</div>';
if ($i < 17) {
echo '<div class="cmv-way'.$state.'">';
if ($i < $current) {
if($i < $current-1) {
echo '<div class="cmv-relative">'.gmdate("H:i:s",$tab_time[$i]-$tab_time[$i-1]).'</div>'; // --mn doit être remplacé par le deltaT entre les points $node et $node+1
} else {
echo '<div class="cmv-relative">'.gmdate("H:i:s",time()-$tab_time[$i-1]).'</div>';
}
}
echo '</div>';
}
}
?>
</div>
</div>
<?php
} //fin du while e
}
} else {
header('Location: ../error.php');
echo "<th><a href=\"?ekip=".$equipe['id']."\">".htmlspecialchars($equipe['nom'])."(".$equipe['id'].")"."<a></th><wbr>";
}
} else {
?>
<a href="ville.php?session=1" class="href_session">Session matin</a>
<a href="ville.php?session=2" class="href_session">Session aprem</a>
?>
</table>
<hr>
<?php
$ekip = isset($_GET["ekip"]) ? (int)$_GET["ekip"]:1;
$req = $db->prepare('SELECT * FROM ville_epreuve WHERE id_equipe=?');
$req->execute(array($ekip));
?>
<form method="GET">
<input type="number" name="ekip" id="ekip" placeholder="numéro de l'équipe" class="input_inline">
<label for="ekip">Numéro de l'équipe dont tu veux voir le tableau</label>
<input type="submit" name="aff_equipe" value="Afficher le tableau de l'équipe" class="submit_inline">
</form>
<table class="acces">
<tr>
<th width="10%">ID (db)</td>
<th width="70%">Indice</td>
<th width="10%">reponse</td>
<th width="10%">photos</td>
<th width="10%">ID (db)</th>
<th width="70%">Indice</th>
<th width="10%">reponse</th>
<th width="10%">photos</th>
<th width="10%">id_equipe</th>
<th width="10%">est finale</th>
<th width="10%">ordre</th>
<th width="10%">est trouvée</th>
</tr>
<?php
$req = $db->query('SELECT id, indice, reponse, photo FROM ville_epreuve');
while($epreuve = $req->fetch()) {
?>
<tr>
@ -447,11 +116,15 @@ if(isset($_POST['reset2'])) {
<td><?= $epreuve['indice'] ?></td>
<td><?= $epreuve['reponse'] ?></td>
<td><?php if(isset($epreuve['photo'])) { ?><img src="../assets/img/com_ville/<?= $epreuve['photo'] ?>" style="height: 100px;"><?php } else { echo "<font color='red'>no photos</font>"; }?></td>
<td><?= $epreuve['id_equipe'] ?></td>
<td><?= $epreuve['est_finale'] == 0 ? "non":"oui" ?></td>
<td><?= $epreuve['ordre'] ?></td>
<td><?= $epreuve['est_trouvee'] == 0 ? "non":"oui" ?></td>
</tr>
<?php } ?>
</table>
<?php } ?>
<?php ?>
</main>
</body>
</html>

View file

@ -4,255 +4,42 @@ include "assets/fonts/color.php";
include "script/db.php";
$nombre_d_epreuve = (int) 17;
include "script/globals.php"
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="zone_txt">
<?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
}
?>
</div>
</main>
<?php
//gin de la page avec le GET team
} else {
//page sans le GET team
/* principe de fonctionnement :
1. si ?team=int est dans la requête GET
- on vérifie que l'équipe existe
- si l'équipe n'a pas démarrée, mettre un bouton play pour démarrer la session
- sinon, on affiche l'énigme courante (ordre+1 de la dernière trouvée)
2. si une réponse est envoyée, (requête POST)
- on check si c'est la bonne réponse
- si c'est la bonne réponse, on met est_trouvée à 1 dans la BDD
- si en plus c'est l'énigme finale,
- on récupère le temps unix actuel et calcule le temps total
- on affiche le temps total et l'enregistre dans la BDD
3. si c'est une simple requête GET sans paramètre team,
- on affiche la page d'explications générales
- on met un petit tableau de choix de team pour aller sur la page de sa 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 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
</div>
<div class="zone_txt">
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>
</div>
<?php
/*$req = $db->query("SELECT state FROM ville WHERE session = 1");
$r = $req -> fetchAll(PDO::FETCH_ASSOC);
if($r[0]['state'] == 0) {
?>
<div class="zone_txt">
<h1>Session matin</h1>
<font color="red">La session n'a pas commencé</font>
</div>
<?php
} elseif($r[0]['state'] == 1) {
?>
<div class="zone_txt">
<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>";
}
?>
</div>
<?php
} elseif($r[0]['state'] == 2) {
?>
<div class="zone_txt">
<h1>Session matin</h1>
<font color="black">La session est terminé</font>
</div>
<?php
}
$req = $db->query("SELECT state FROM ville WHERE session = 2");
$r = $req -> fetchAll(PDO::FETCH_ASSOC);
if($r[0]['state'] == 0) {
?>
<div class="zone_txt">
<h1>Session aprem</h1>
<font color="red">La session n'a pas commencé</font>
</div>
<?php
} elseif($r[0]['state'] == 1) {
?>
<div class="zone_txt">
<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>";
}
?>
</div>
<?php
} elseif($r[0]['state'] == 2) {
?>
<div class="zone_txt">
<h1>Session aprem</h1>
<font color="black">La session est terminé</font>
</div>
<?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*/ "Com Ville !"]; //relativepath, pagetitle, pagecontent, pagescript, pagename | cf structure/template.php ligne 2 à 6
include("structure/template.php");
?>