forked from rebillar/site-accueil-insa
349 lines
13 KiB
PHP
349 lines
13 KiB
PHP
<?php
|
|
require_once '../../classes/dao.php';
|
|
|
|
|
|
if (isset($_GET['function'])) {
|
|
if ($_GET['function'] == "get_scores")
|
|
get_scores();
|
|
elseif ($_GET['function'] == "get_map_info")
|
|
get_map_info();
|
|
elseif ($_GET['function'] == "get_activities_of_day")
|
|
get_activities_of_day();
|
|
elseif ($_GET['function'] == "get_enigma_code")
|
|
get_enigma_code();
|
|
elseif ($_GET['function'] == "get_plaquette_code")
|
|
get_plaquette_code();
|
|
elseif ($_GET['function'] == "get_map_selectors")
|
|
get_map_selectors();
|
|
} else
|
|
show_error();
|
|
|
|
function get_map_selectors() {
|
|
header('Content-Type: application/json');
|
|
$dao = new Dao();
|
|
echo json_encode($dao->get_map_selectors());
|
|
}
|
|
|
|
function get_scores() {
|
|
if (isset($_GET['team'])) {
|
|
header('Content-Type: application/json');
|
|
$dao = new Dao();
|
|
echo json_encode($dao->get_score_team($_GET['team']));
|
|
} else {
|
|
show_error();
|
|
}
|
|
}
|
|
|
|
function get_map_info() {
|
|
if (isset($_GET['selector'])) {
|
|
header('Content-Type: application/json');
|
|
$dao = new Dao();
|
|
echo json_encode($dao->get_map_info($_GET['selector']));
|
|
} else {
|
|
show_error();
|
|
}
|
|
}
|
|
|
|
|
|
function get_activities_of_day() {
|
|
if (isset($_GET['day'])) {
|
|
header('Content-Type: application/json');
|
|
$dao = new Dao();
|
|
echo json_encode($dao->get_activities_of_day($_GET['day']));
|
|
} else {
|
|
show_error();
|
|
}
|
|
}
|
|
|
|
//
|
|
// Section pour les énigmes
|
|
//
|
|
|
|
function isFirstTeamToSolve($score_data) {
|
|
$team = $score_data['team'];
|
|
$enigme = $score_data['text'];
|
|
$dao = new Dao();
|
|
$scorePek = $dao->get_score_team('pek');
|
|
$scoreBoo = $dao->get_score_team('boo');
|
|
$score = array_merge($scorePek, $scoreBoo);
|
|
|
|
foreach($score as $value) {
|
|
|
|
if ($value['text'] == $enigme)
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
|
|
function get_enigma_code() {
|
|
if (isset($_GET['code'])) {
|
|
$data = array(
|
|
"name" => $_GET['code'],
|
|
"info" => null,
|
|
);
|
|
|
|
$team = $_GET['team'];
|
|
$time = new DateTime();
|
|
$date = $time->getTimestamp();
|
|
|
|
$score_data = array(
|
|
"text" => null,
|
|
"points" => 0,
|
|
"team" => $team,
|
|
);
|
|
|
|
|
|
switch ($_GET['code']) {
|
|
case '501432' :
|
|
$data["name"] = "enigme-1";
|
|
$score_data["text"] = 'Énigme 1';
|
|
$score_data["points"] = 200;
|
|
|
|
if($date< 1627221618 ) {
|
|
$data["info"] = "<h2>Énigme 1</h2>Code trouvé, reviens demain pour avoir la suite ;)";
|
|
} else {
|
|
$data["info"] = "<h2>Énigme 1</h2>
|
|
<p>Petit Pionnier Aguerri, dans l'arène, les déplacements des combattants sont tous enregistrés, voici le déplacement d'un combattant d'un district concurrant, à toi de le retrouver ! <br>
|
|
nord, nord, nord, est, sud-est, sud-ouest, ouest; <br>
|
|
ouest, sud, est, ouest, sud, est; <br>
|
|
ouest, sud, est, ouest, sud, est; <br>
|
|
est, est, est, ouest, sud, sud, sud; <br>
|
|
nord,nord,nord-est, , sud-est, sud, sud, nord, ouest; <br>
|
|
</p>";
|
|
|
|
}
|
|
if(isFirstTeamToSolve($score_data)) {
|
|
$dao = new Dao();
|
|
$dao->add_score($score_data);
|
|
}
|
|
echo json_encode($data, JSON_FORCE_OBJECT);
|
|
break;
|
|
|
|
case 'PEETA' :
|
|
$data["name"] = "enigme-2";
|
|
$score_data["text"] = 'Énigme 2';
|
|
$score_data["points"] = 200;
|
|
|
|
if($date< 1628334842 ) {
|
|
$data["info"] = "<h2>Énigme 2</h2>Code trouvé, reviens à 13h14 pour la suite";
|
|
} else {
|
|
$data["info"] = "<h2>Énigme 2</h2>Dès l'aube, un oiseau aux sifflements merveilleux fit son apparition sur l'arène de l'INSA";
|
|
|
|
}
|
|
if(isFirstTeamToSolve($score_data)) {
|
|
$dao = new Dao();
|
|
$dao->add_score($score_data);
|
|
}
|
|
echo json_encode($data, JSON_FORCE_OBJECT);
|
|
break;
|
|
|
|
case 'Lucy Gray Baird' :
|
|
$data["name"] = "enigme-3";
|
|
$score_data["text"] = 'Énigme 3';
|
|
$score_data["points"] = 250;
|
|
|
|
if($date< 1628353800 ) {
|
|
$data["info"] = "<h2>Énigme 3</h2><p>Code trouvé</p>";
|
|
} elseif ($date< 1628400600) {
|
|
$data["info"] = "<h2>Énigme 3</h2><p>Code trouvé ! Voici un petit indice pour la suite</p><img src=\"assets/enigmes/Caesar.jpg\"></img>";
|
|
} else {
|
|
$data["info"] = "<h2>Énigme 3</h2>
|
|
<p>Après l'indice, l'énoncé.</p>
|
|
<!--<p>OaduaxmzgeEzai</p><p>M'hvshuh txh yrxv dlphu od fubswrjudsklh!</p>-->
|
|
<img src=\"assets/enigmes/Caesar.jpg\"></img>";
|
|
|
|
}
|
|
if(isFirstTeamToSolve($score_data)) {
|
|
$dao = new Dao();
|
|
$dao->add_score($score_data);
|
|
}
|
|
echo json_encode($data, JSON_FORCE_OBJECT);
|
|
break;
|
|
case 'CoriolanusSnow' :
|
|
$data["name"] = "enigme-4";
|
|
$score_data["text"] = 'Énigme 4';
|
|
$score_data["points"] = 250;
|
|
|
|
if($date< 1628460000 ) {
|
|
$data["info"] = "<h2>Énigme 4</h2>
|
|
Code trouvé !<!--Parcours du site en cours...--> ";
|
|
} else {
|
|
$data["info"] = "<h2>Énigme 4</h2>
|
|
Code trouvé ! Parcours du site en cours...
|
|
<!--Et là... une grande allée avec plein d'énigmes, qu'on appellera la grande allée avec plein d'énigmes !-->
|
|
<p>Voilà plusieurs jours que tu parcours les énigmes, augmentons un peu la difficulté...</p>";
|
|
|
|
|
|
}
|
|
if(isFirstTeamToSolve($score_data)) {
|
|
$dao = new Dao();
|
|
$dao->add_score($score_data);
|
|
}
|
|
echo json_encode($data, JSON_FORCE_OBJECT);
|
|
break;
|
|
case 'PANEM' :
|
|
$data["name"] = "enigme-5";
|
|
$score_data["text"] = 'Énigme 5';
|
|
$score_data["points"] = 50;
|
|
|
|
if($date< 1628524800 ) {
|
|
$data["info"] = "<h2>Énigme 5</h2>
|
|
Code trouvé !";
|
|
} else {
|
|
$data["info"] = "<h2>Énigme 5</h2>
|
|
<p>N'aurais tu pas oublié quelque chose ?</p>";
|
|
|
|
}
|
|
if(isFirstTeamToSolve($score_data)) {
|
|
$dao = new Dao();
|
|
$dao->add_score($score_data);
|
|
}
|
|
echo json_encode($data, JSON_FORCE_OBJECT);
|
|
break;
|
|
|
|
case 'Théorème de Gauss' :
|
|
$data["name"] = "enigme-6";
|
|
$score_data["text"] = 'Énigme 6';
|
|
$score_data["points"] = 150;
|
|
|
|
if($date< 1628535600 ) {
|
|
$data["info"] = "<h2>Énigme 6</h2>
|
|
Code trouvé !";
|
|
} else {
|
|
$data["info"] = "<h2>Énigme 6</h2>
|
|
<p>Quelle est la somme des lettres des solutions des deux dernières énigmes ? (ASCII)</p>
|
|
";
|
|
|
|
}
|
|
if(isFirstTeamToSolve($score_data)) {
|
|
$dao = new Dao();
|
|
$dao->add_score($score_data);
|
|
}
|
|
echo json_encode($data, JSON_FORCE_OBJECT);
|
|
break;
|
|
|
|
|
|
case '2237' :
|
|
$data["name"] = "enigme-0";
|
|
$score_data["text"] = 'Énigme 0';
|
|
$score_data["points"] = 100;
|
|
|
|
if($date< 1628625600 ) {
|
|
$data["info"] = "<h2>Énigme 0</h2>
|
|
<p>Bien joué ! Attendez demain pour la suite qui a été minutieusement préparée !</p>
|
|
";
|
|
} else {
|
|
$data["info"] = "<h2>Énigme 0</h2>
|
|
<p>Je vais vous raconter trois histoires, voici les titres:</p>
|
|
<p> - Deux arbres se retrouvèrent l'un avec l'autre près des sept nains.</p>
|
|
<p> - Quatre petits oiseaux apprennent à s'envoler un à un.</p>
|
|
<p> - L'histoire qui se lisait dans plusieurs sens.</p>";
|
|
|
|
|
|
|
|
}
|
|
if(isFirstTeamToSolve($score_data)) {
|
|
$dao = new Dao();
|
|
$dao->add_score($score_data);
|
|
}
|
|
echo json_encode($data, JSON_FORCE_OBJECT);
|
|
break;
|
|
|
|
|
|
case 'atr challenges' :
|
|
$data["name"] = "enigme-00";
|
|
$score_data["text"] = 'Énigme 00';
|
|
$score_data["points"] = 100;
|
|
|
|
if($date < 1628625600) {
|
|
$data["info"] = "<h2>Énigme 00</h2>
|
|
<p>Qui sera le plus rapide à libérer Paul et Cécile...</p>";
|
|
} else {
|
|
$data["info"] = "<h2>Énigme 00</h2>
|
|
<a href=\"assets/enigmes/Livre.pdf\">Paul et Cécile ont fait tomber ce livre avant d'aller au cinéma...</a>";
|
|
|
|
}
|
|
|
|
if(isFirstTeamToSolve($score_data)) {
|
|
$dao = new Dao();
|
|
$dao->add_score($score_data);
|
|
}
|
|
echo json_encode($data, JSON_FORCE_OBJECT);
|
|
break;
|
|
|
|
|
|
case 'POMMADE' :
|
|
$data["name"] = "enigme-000";
|
|
$score_data["text"] = 'Énigme 00 Intermédiaire';
|
|
$score_data["points"] = 500;
|
|
|
|
if($date< 1628613000 ) {
|
|
$data["info"] = "<h2>Énigme 00 Intermédiaire</h2>
|
|
<p>Bien joué ! Attendez demain pour la suite !</p>";
|
|
} else {
|
|
$data["info"] = "<h2>Énigme 00 Intermédiaire</h2>
|
|
<p>Bien joué ! Attendez demain pour la suite !</p>
|
|
";
|
|
|
|
}
|
|
if(isFirstTeamToSolve($score_data)) {
|
|
$dao = new Dao();
|
|
$dao->add_score($score_data);
|
|
}
|
|
echo json_encode($data, JSON_FORCE_OBJECT);
|
|
break;
|
|
|
|
|
|
default:
|
|
$data["name"] = null;
|
|
$points_data["points"] = 0;
|
|
|
|
echo json_encode($data, JSON_FORCE_OBJECT);
|
|
break;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
function get_plaquette_code() {
|
|
if (isset($_GET['code'])) {
|
|
$data = array(
|
|
"name" => $_GET['code'],
|
|
"info" => null,
|
|
);
|
|
switch ($_GET['code']) {
|
|
case 'onlyfan_420' :
|
|
$data["name"] = "onlyfan";
|
|
$data["info"] = "Go follow sur insta <a href=\"https://www.instagram.com/onlyfan_420/\">@onlyfan_420</a>";
|
|
echo json_encode($data, JSON_FORCE_OBJECT);
|
|
break;
|
|
|
|
case 'caché par ici' :
|
|
$data["name"] = "plaquette1";
|
|
$data["info"] = "<a href=\"assets/pdf/Enigme_plaquette_1.pdf\">Énigme plaquette</a>";
|
|
echo json_encode($data, JSON_FORCE_OBJECT);
|
|
break;
|
|
case 'SURVIVANT' :
|
|
$data["name"] = "plaquette2";
|
|
$data["info"] = "<iframe width=\"560\" height=\"315\"
|
|
src=\"https://www.youtube.com/embed/F3hTW9e20d8?autoplay=1\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>
|
|
<p style=\"white-space:pre;\">@ <span style=\"color:#1c1c1c;\">promo59</span></p>
|
|
";
|
|
echo json_encode($data, JSON_FORCE_OBJECT);
|
|
break;
|
|
default:
|
|
$data["name"] = null;
|
|
echo json_encode($data, JSON_FORCE_OBJECT);
|
|
|
|
break;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
|
|
function show_error() {
|
|
echo "Échec : ";
|
|
var_dump($_GET);
|
|
}
|