2022-07-24 22:46:50 +02:00
< ? php
ob_start (); // Start reading html
include " assets/fonts/color.php " ;
2022-07-25 21:00:56 +02:00
include " script/db.php " ;
2023-06-04 21:22:36 +02:00
include " assets/scripts/globals.php "
2022-07-30 16:14:24 +02:00
?>
2022-07-24 22:46:50 +02:00
< main >
2023-04-29 16:33:43 +02:00
2023-06-01 17:51:06 +02:00
< ? php
2023-04-29 16:33:43 +02:00
2023-06-01 17:51:06 +02:00
/* principe de fonctionnement :
2022-07-25 21:00:56 +02:00
2023-06-04 21:22:36 +02:00
1. si ? ekip = int est dans la requête GET
2023-06-01 17:51:06 +02:00
- 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 )
2022-07-25 21:00:56 +02:00
2023-06-01 17:51:06 +02:00
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
2022-07-25 21:00:56 +02:00
2023-06-01 17:51:06 +02:00
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
2023-04-29 16:33:43 +02:00
2023-06-01 17:51:06 +02:00
*/
2022-07-30 16:14:24 +02:00
2023-01-22 12:46:06 +01:00
2023-06-04 21:22:36 +02:00
if ( isset ( $_POST [ " reponse " ])){
$ekip = ( int ) $_POST [ " ekip " ];
// on chope la première énigme non trouvée
$req = $db -> prepare ( " SELECT * FROM ville_epreuve WHERE id_equipe=? AND est_trouvee=0 " );
$req -> execute ( array ( $ekip ));
$result = $req -> fetch ();
// si c'est la bonne réponse
if ( $result [ 'reponse' ] === $_POST [ 'reponse' ]){
$req = $db -> prepare ( " UPDATE ville_epreuve SET est_trouvee=1 WHERE id_equipe=? AND est_trouvee=0 and id=? " );
$req -> execute ( array ( $ekip , $result [ 'id' ]));
//si en plus c'est la dernièr, on sort la ptite photo <3
// et on met fin au temps de l'équipe
2023-07-02 20:13:18 +02:00
if ( $result [ " est_finale " ] == 1 ){
2023-06-04 21:22:36 +02:00
$req = $db -> prepare ( " SELECT temps FROM ville_equipe WHERE id=? " );
$req -> execute ( array ( $ekip ));
$tps_depart = ( int ) $req -> fetch ()[ 'temps' ];
$req = $db -> prepare ( " UPDATE ville_equipe SET temps=? WHERE id=? " );
$req -> execute ( array ( time () - $tps_depart , $ekip ));
header ( " Location: com_ville.php?ekip= " . $ekip );
}
}
}
if ( isset ( $_POST [ " declencheur_depart " ])){
$ekip = ( int ) $_POST [ " id_equipe " ];
// on stoque le temps où l'équipe part
$req = $db -> prepare ( " UPDATE ville_equipe SET temps=? WHERE id=? " );
$req -> execute ( array ( time (), $ekip ));
}
if ( isset ( $_GET [ " ekip " ])){
$ekip = ( int ) $_GET [ " ekip " ];
// check si l'équipe existe
$req = $db -> prepare ( " SELECT * FROM ville_equipe WHERE id=? " );
$req -> execute ( array ( $ekip ));
$result = $req -> fetch ();
// reload sans param si elle existe pas
if ( empty ( $result )){
header ( " Location: com_ville.php " );
}
// avant tout, si l'équipe a un temps nul, on affiche un message de départ
if ( $result [ 'temps' ] === null ){
?>
< div class = " zone_txt " >
< h2 > Chauds pour un ptit tour de la ville les copinous ( ettes ) ? </ h2 >
< form method = " POST " >
< input type = " number " name = " id_equipe " value = " <?= $ekip ?> " hidden >
2023-06-05 19:05:17 +02:00
< input class = " btn-equipe " type = " submit " name = " declencheur_depart " value = " Jouer " >
2023-06-04 21:22:36 +02:00
</ form >
</ div >
< ? php
} else {
// on chope la première énigme non trouvée
$req = $db -> prepare ( " SELECT * FROM ville_epreuve WHERE id_equipe=? AND est_trouvee=0 " );
$req -> execute ( array ( $ekip ));
$result = $req -> fetch ();
// si yen a pas, on met le message d'arrivée
if ( empty ( $result )){
//message d'arrivée
// calcul du temps
$req = $db -> prepare ( " SELECT temps,nom FROM ville_equipe WHERE id=? " );
$req -> execute ( array ( $ekip ));
$result = $req -> fetch ();
2023-06-05 19:05:17 +02:00
$heures = intdiv (( int ) $result [ 'temps' ], 60 * 60 );
$minutes = intdiv ((( int ) $result [ 'temps' ]) % ( 60 * 60 ), 60 );
$secondes = ((( int ) $result [ 'temps' ]) % ( 60 * 60 ) % 60 );
2023-06-04 21:22:36 +02:00
?>
< div class = " zone_txt " >
< h2 > BRAVO < ? = $result [ 'nom' ] ?> VOUS AVEZ FINI !!!!</h2>
< h2 >< br > Temps : < ? = $heures ?> h <?=$minutes?>min <?=$secondes?>s</h2>
2023-06-13 17:22:42 +02:00
< img src = " assets/img/prez.png " class = " prez-ep " id = " prez-ep " >
2023-06-04 21:22:36 +02:00
</ div >
< ? php
} else {
// cas de base, on affiche les différents trucs de l'énigme
?>
< div class = " zone_txt " >
< h2 > Epreuve :< h2 >
< h3 >< ? = $result [ 'indice' ] ?> <h3>
< img src = " /assets/img/com_ville/<?= $result['photo'] ?> " >
< ? php
if ( $result [ 'est_finale' ] == 1 ){
?>
< h5 > C ' est la dernière épreuve !!!</ h5 >
< ? php
}
?>
< form method = " POST " >
< input type = " number " name = " ekip " value = " <?= $ekip ?> " hidden >
< input type = " text " id = " reponse " name = " reponse " >
< input type = " submit " value = " soumettre la réponse " >
</ form >
</ div >
< ? php
}
}
} else {
2023-06-01 17:51:06 +02:00
?>
2023-01-22 12:46:06 +01:00
2023-06-04 21:22:36 +02:00
< div class = " zone_txt " >
< h1 > Com ' Ville : D < br > Choisis ton équipe !< h1 >
2023-06-05 19:05:17 +02:00
< form method = " GET " class = " main-form " >
< input type = " number " name = " ekip " id = " ekip " placeholder = " 32 " >
< label for = " ekip " > Entres le numéro de ton équipe ici .</ label >
< br >
< input type = " submit " value = " Aller sur la page de mon équipe " class = " btn-equipe " >
</ form >
2023-06-04 21:22:36 +02:00
</ div >
< ? php } ?>
2023-06-01 17:51:06 +02:00
</ main >
2023-01-22 12:46:06 +01:00
2023-06-01 17:51:06 +02:00
< ? php
2023-04-29 16:33:43 +02:00
$infopage = [ " " , " Com'ville " , ob_get_clean (), " " , " com_ville " , /*$titre*/ " Com Ville ! " ]; //relativepath, pagetitle, pagecontent, pagescript, pagename | cf structure/template.php ligne 2 à 6
2022-07-24 22:46:50 +02:00
include ( " structure/template.php " );
?>