forked from rebillar/site-accueil-insa
c'est pas bo mais le back fonctionne (normalement ) :D
This commit is contained in:
parent
299461d12c
commit
19de218bad
6 changed files with 11040 additions and 19 deletions
|
@ -144,10 +144,9 @@ Le bouléen "est_trouvee" va simplement indiquer si une épreuve est complétée
|
|||
| :----------- |:------------:|:---------------:|:-----:|
|
||||
| id | int(11) | X | |
|
||||
| nom | varchar(50) | | |
|
||||
| begin | int(11) | | |
|
||||
| temps | text | | X |
|
||||
|
||||
les identifiants des équipes ne doivent pas bouger, les noms c'est juste pour l'affichage utilisateur et le "begin" est l'étape à laquelle démarre l'équipe, car ils ne démarrent pas tous à la même épreuve !
|
||||
les identifiants des équipes ne doivent pas bouger, les noms c'est juste pour l'affichage utilisateur.
|
||||
la colonne temps permet d'enregistrer les temps à chaque étape (en temps unix évidemment).
|
||||
|
||||
|
||||
|
|
|
@ -12,13 +12,13 @@ if($user['perm'] < 1) {
|
|||
|
||||
// ajout d'une epreuve
|
||||
if(isset($_POST['add_epreuve'])){
|
||||
$_POST['est_finale'] = $_POST['est_finale'] == 'true' ? true : false;
|
||||
|
||||
$_POST['est_finale'] = $_POST['est_finale'] == 'on' ? 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']),
|
||||
htmlspecialchars($_POST['photo']),
|
||||
(int)htmlspecialchars($_POST['id_equipe']),
|
||||
(bool)htmlspecialchars($_POST['est_finale']),
|
||||
(int)htmlspecialchars($_POST['ordre']),
|
||||
|
@ -33,12 +33,19 @@ if(isset($_POST['add_equipe'])){
|
|||
$req->execute(array(htmlspecialchars($_POST['nom']),NULL));
|
||||
}
|
||||
|
||||
// suppression d'une équipe
|
||||
if(isset($_POST['del_equipe'])){
|
||||
$req = $db->prepare("DELETE FROM ville_equipe WHERE id=?");
|
||||
$req->execute(array(htmlspecialchars((int)$_POST['id_ekip'])));
|
||||
}
|
||||
|
||||
//suppression d'une épreuve
|
||||
|
||||
if(isset($_POST['del_epreuve'])){
|
||||
$req = $db->prepare("DELETE FROM ville_epreuve WHERE id=?");
|
||||
$req->execute(array((int)$_POST['id_epreuve']));
|
||||
}
|
||||
|
||||
/* 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>
|
||||
|
@ -55,7 +62,7 @@ if(isset($_POST['add_equipe'])){
|
|||
<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="text" name="photo" placeholder="image.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">
|
||||
|
@ -98,12 +105,14 @@ if(isset($_POST['add_equipe'])){
|
|||
<tr>
|
||||
<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>
|
||||
<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>
|
||||
<th width="10%">Action</th>
|
||||
|
||||
</tr>
|
||||
<?php
|
||||
|
||||
|
@ -120,6 +129,14 @@ if(isset($_POST['add_equipe'])){
|
|||
<td><?= $epreuve['est_finale'] == 0 ? "non":"oui" ?></td>
|
||||
<td><?= $epreuve['ordre'] ?></td>
|
||||
<td><?= $epreuve['est_trouvee'] == 0 ? "non":"oui" ?></td>
|
||||
<td>
|
||||
<form method="POST">
|
||||
<input type="text" name="del_epreuve" value="del_epreuve" hidden>
|
||||
<input type="number" value="<?=$epreuve['id']?>" name="id_epreuve" hidden>
|
||||
<input type="submit" value="supprimer">
|
||||
</form>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
|
|
|
@ -10,6 +10,20 @@ section {
|
|||
margin-top: 40px;
|
||||
}
|
||||
|
||||
|
||||
.btn_equipe{
|
||||
|
||||
background-color: #ad7015;
|
||||
color: #ffffff;
|
||||
padding: 10px 20px 10px 20px;
|
||||
border-top: 1px solid #CCCCCC;
|
||||
border-right: 1px solid #333333;
|
||||
border-bottom: 1px solid #333333;
|
||||
border-left: 1px solid #CCCCCC;
|
||||
margin-top: 30px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
a.team {
|
||||
display: block;
|
||||
color: black;
|
||||
|
|
8972
assets/img/com_ville/buisson.svg
Normal file
8972
assets/img/com_ville/buisson.svg
Normal file
File diff suppressed because it is too large
Load diff
After Width: | Height: | Size: 259 KiB |
1826
assets/img/com_ville/obelix.svg
Normal file
1826
assets/img/com_ville/obelix.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 162 KiB |
197
com_ville.php
197
com_ville.php
|
@ -4,7 +4,7 @@ include "assets/fonts/color.php";
|
|||
|
||||
include "script/db.php";
|
||||
|
||||
include "script/globals.php"
|
||||
include "assets/scripts/globals.php"
|
||||
|
||||
?>
|
||||
|
||||
|
@ -15,7 +15,7 @@ include "script/globals.php"
|
|||
|
||||
/* principe de fonctionnement :
|
||||
|
||||
1. si ?team=int est dans la requête GET
|
||||
1. si ?ekip=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)
|
||||
|
@ -34,8 +34,201 @@ include "script/globals.php"
|
|||
*/
|
||||
|
||||
|
||||
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
|
||||
if($result["est_finale"]){
|
||||
|
||||
$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>
|
||||
<input class="btn-depart" type="submit" name="declencheur_depart" value="Jouer">
|
||||
</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();
|
||||
|
||||
$heures = intdiv((int)$result['temps'],24);
|
||||
$minutes = intdiv((((int)$result['temps'])%24),60);
|
||||
$secondes = ((((int)$result['temps'])%24)%60);
|
||||
|
||||
?>
|
||||
|
||||
<div class="zone_txt">
|
||||
<h2>BRAVO <?=$result['nom']?> VOUS AVEZ FINI !!!!</h2>
|
||||
<h2><br> Temps : <?=$heures?>h <?=$minutes?>min <?=$secondes?>s</h2>
|
||||
</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{
|
||||
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
||||
|
||||
|
||||
<div class="zone_txt">
|
||||
|
||||
<h1>Com'Ville :D<br> Choisis ton équipe !<h1>
|
||||
|
||||
|
||||
<?php
|
||||
$req = $db->query("SELECT * FROM ville_equipe");
|
||||
|
||||
while($equipe = $req->fetch()){
|
||||
|
||||
echo "<a class=\"btn_equipe\" href=\"?ekip=".$equipe['id']."\">".$equipe['nom']."</a><br>";
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
</main>
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue