structure
24
README.md
|
@ -1,24 +0,0 @@
|
|||
# Site de la semaine d'accueil
|
||||
|
||||
Ce site, dont le but est d'accompagner les PPA, a été créé en 2017.
|
||||
|
||||
Version actuellement en ligne : **2021**.
|
||||
|
||||
**Si vous êtes intéressés par le projet, merci de [lire le wiki.](https://git.etud.insa-toulouse.fr/vergnet/site-accueil-insa/wiki/Accueil)**
|
||||
|
||||
## Contribuer
|
||||
|
||||
L'objectif est que ce site soit maintenu par les GDA, pour leurs futurs PPA.
|
||||
Les fonctionnalités de base sont déjà écrites, le minimum est ainsi de modifier le theme du site pour qu'il soit en accord avec celui de la semaine.
|
||||
|
||||
Si vous voulez apporter des modifications ou devenir mainteneur, merci de contacter Arnaud par mail: vergnet@etud.insa-toulouse.fr.
|
||||
|
||||
## Auteur
|
||||
|
||||
Arnaud Vergnet (vergnet@etud.insa-toulouse.fr)
|
||||
|
||||
## Développeurs Actifs
|
||||
|
||||
- Arthur BOIVERT (boivert@etud.insa-toulouse.fr)
|
||||
- Cyprien HEUSSE (heusse@etud.insa-toulouse.fr)
|
||||
- Ronan BONNET (rbonnet@etud.insa-toulouse.fr)
|
|
@ -1,5 +0,0 @@
|
|||
AuthName "MDP ?"
|
||||
AuthType Basic
|
||||
AuthUserFile /home_clubs/accueil_insa/public_html/includes/pass/.htpass_gda
|
||||
require valid-user
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
AuthName "MDP ?"
|
||||
AuthType Basic
|
||||
AuthUserFile /home_clubs/accueil_insa/public_html/includes/pass/.htpass_admin
|
||||
require valid-user
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
<?php
|
||||
require_once '../../classes/dao.php';
|
||||
|
||||
|
||||
if (isset($_GET['function'])) {
|
||||
if ($_GET['function'] == "save_day_activities")
|
||||
save_day_activities();
|
||||
} else
|
||||
show_error();
|
||||
|
||||
function save_day_activities() {
|
||||
if (isset($_GET['day']) && isset($_GET['entries'])) {
|
||||
$dao = new Dao();
|
||||
$dao->save_day_activities($_GET['day'], $_GET['entries']);
|
||||
echo "Réussite";
|
||||
} else {
|
||||
show_error();
|
||||
}
|
||||
}
|
||||
|
||||
function show_error() {
|
||||
echo "Échec : ";
|
||||
var_dump($_GET);
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
<?php
|
||||
ob_start(); // Start reading html
|
||||
$relativePath = "../../";
|
||||
?>
|
||||
<div class="inner">
|
||||
<h1>ADMIN</h1>
|
||||
<h2>Edition du planning</h2>
|
||||
|
||||
|
||||
<select id="daySelect">
|
||||
<option value="1">Lundi</option>
|
||||
<option value="2">Mardi</option>
|
||||
<option value="3">Mercredi</option>
|
||||
<option value="4">Jeudi</option>
|
||||
<option value="5">Vendredi</option>
|
||||
<option value="6">Samedi</option>
|
||||
<option value="7">Dimanche</option>
|
||||
</select>
|
||||
|
||||
<br>
|
||||
<div class="add-line">
|
||||
<i class="fas fa-plus"></i>
|
||||
</div>
|
||||
<div class="edit-header">
|
||||
<div class="planning-start">Début</div>
|
||||
<div class="planning-length">Durée</div>
|
||||
<div class="planning-name">Nom</div>
|
||||
<div class="planning-trash"><i class='fas fa-trash'></i></div>
|
||||
</div>
|
||||
<table id="activityTable">
|
||||
</table>
|
||||
|
||||
<div class="save">
|
||||
<i class="fas fa-save"></i> Enregistrer
|
||||
</div>
|
||||
<br>
|
||||
<div class="buttons-container">
|
||||
<a href="../index.php" class="admin-back-button">
|
||||
<i class="fas fa-chevron-left"></i>
|
||||
Retour sur la page admin
|
||||
</a>
|
||||
<a href="<?= $relativePath ?>planning.php" class="website-back-button">
|
||||
Voir sur le site
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<link rel="stylesheet" type="text/css" media="screen" href="<?= $relativePath ?>assets/css/adminEdit.css"/>
|
||||
|
||||
<?php
|
||||
$pageContent = ob_get_clean(); // Store html content in variable
|
||||
$pageTitle = "Édition planning";
|
||||
|
||||
$pageScripts = "<script type=\"text/javascript\" src=\"".$relativePath."assets/js/admin/planningManager.js\"></script>";
|
||||
|
||||
include($relativePath . "includes/template.php"); // Display template with variable content
|
||||
|
||||
?>
|
|
@ -1,24 +0,0 @@
|
|||
<?php
|
||||
require_once '../../classes/dao.php';
|
||||
|
||||
|
||||
if (isset($_GET['function'])) {
|
||||
if ($_GET['function'] == "save_scores")
|
||||
save_scores();
|
||||
} else
|
||||
show_error();
|
||||
|
||||
function save_scores()
|
||||
{
|
||||
if (isset($_GET['lines']) && isset($_GET['team'])) {
|
||||
$dao = new Dao();
|
||||
$dao->save_scores($_GET['lines'], $_GET['team']);
|
||||
echo "Réussite";
|
||||
} else
|
||||
show_error();
|
||||
}
|
||||
|
||||
function show_error() {
|
||||
echo "Échec : ";
|
||||
var_dump($_GET);
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
<?php
|
||||
ob_start(); // Start reading html
|
||||
$relativePath = "../../";
|
||||
?>
|
||||
<div class="inner">
|
||||
<h1>ADMIN</h1>
|
||||
<h2>Edition des scores</h2>
|
||||
<ul>
|
||||
<strong style="color: #ee293d">Quelques règles pour les scores</strong>
|
||||
<li>Pas de score total négatif pour une équipe</li>
|
||||
<li>A priori les scores supérieurs à 1000 marchent, mais au cas où restez à
|
||||
moins de 1000 (comme l'année dernière quoi)</li>
|
||||
</ul>
|
||||
Si jamais y'a un quelconque problème, envoyez-moi un message.
|
||||
<br>
|
||||
<br>
|
||||
|
||||
|
||||
<select id="teamSelect">
|
||||
<option value="boo">Boomiflore</option>
|
||||
<option value="pek">Peksureau</option>
|
||||
</select>
|
||||
|
||||
<div class="add-line">
|
||||
<i class="fas fa-plus"></i>
|
||||
</div>
|
||||
<div class="edit-header">
|
||||
<div class="stat-log">Log</div>
|
||||
<div class="stat-points">Points</div>
|
||||
<div class="stat-trash"><i class='fas fa-trash'></i></div>
|
||||
</div>
|
||||
<table class="stats-table edit-stats">
|
||||
</table>
|
||||
|
||||
<div class="save">
|
||||
<i class="fas fa-save"></i> Enregistrer
|
||||
</div>
|
||||
<br>
|
||||
<div class="buttons-container">
|
||||
<a href="../index.php" class="admin-back-button">
|
||||
<i class="fas fa-chevron-left"></i>
|
||||
Retour sur la page admin
|
||||
</a>
|
||||
<a href="<?= $relativePath ?>stats.php" class="website-back-button">
|
||||
Voir sur le site
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<link rel="stylesheet" type="text/css" media="screen" href="<?= $relativePath ?>assets/css/adminEdit.css"/>
|
||||
|
||||
<?php
|
||||
$pageContent = ob_get_clean(); // Store html content in variable
|
||||
$pageTitle = "Édition scores";
|
||||
|
||||
$pageScripts = "<script type=\"text/javascript\" src=\"".$relativePath."assets/js/admin/statsManager.js\"></script>";
|
||||
|
||||
include($relativePath . "includes/template.php"); // Display template with variable content
|
||||
|
||||
?>
|
|
@ -1,62 +0,0 @@
|
|||
<?php
|
||||
ob_start(); // Start reading html
|
||||
$relativePath = "../";
|
||||
?>
|
||||
<div class="inner">
|
||||
<h1>ADMIN</h1>
|
||||
<h2>Bienvenue sur la page d'administration</h2>
|
||||
|
||||
<p>
|
||||
Sur cette page, tu vas pouvoir animer le site en changeant les scores, le planning ou les informations de la
|
||||
carte.
|
||||
<br/>
|
||||
Attention, tu dois avoir le compte approprié pour pouvoir modifier ces informations.
|
||||
<br/>
|
||||
Les comptes sont les suivants (le numéro indique le niveau de privilèges) :
|
||||
</p>
|
||||
<ol>
|
||||
<li>
|
||||
GDA
|
||||
</li>
|
||||
<li>
|
||||
Admin
|
||||
</li>
|
||||
<li>
|
||||
Webmaster
|
||||
</li>
|
||||
</ol>
|
||||
<p>
|
||||
Un compte hérite des privilèges de tous ceux ayant un niveau inférieur.
|
||||
<br/>
|
||||
Donc ici, Webmaster les possède tous.
|
||||
</p>
|
||||
<div class="admin-container">
|
||||
<h4>
|
||||
Action des GDA
|
||||
</h4>
|
||||
<a href="gda/scores.php">Editer les scores</a>
|
||||
</div>
|
||||
<div class="admin-container">
|
||||
<h4>
|
||||
Action des admins
|
||||
</h4>
|
||||
<a href="admin/planning.php">Editer le planning</a>
|
||||
</div>
|
||||
<div class="admin-container">
|
||||
<h4>
|
||||
Action des webmasters
|
||||
</h4>
|
||||
<a href="webmaster/map.php">Editer le texte de la carte</a>
|
||||
<br/>
|
||||
<a href="webmaster/update.php">Mises à jour</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<link rel="stylesheet" type="text/css" media="screen" href="<?= $relativePath ?>assets/css/adminEdit.css"/>
|
||||
|
||||
<?php
|
||||
$pageContent = ob_get_clean(); // Store html content in variable
|
||||
$pageTitle = "ADMIN";
|
||||
|
||||
include($relativePath . "includes/template.php"); // Display template with variable content
|
||||
?>
|
|
@ -1,5 +0,0 @@
|
|||
AuthName "MDP ?"
|
||||
AuthType Basic
|
||||
AuthUserFile /home_clubs/accueil_insa/public_html/includes/pass/.htpass_webmaster
|
||||
require valid-user
|
||||
|
|
@ -1,125 +0,0 @@
|
|||
<?php
|
||||
error_reporting(E_ALL);
|
||||
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED & ~E_WARNING);
|
||||
ini_set('display_errors', 1);
|
||||
|
||||
|
||||
require_once '../../classes/dao.php';
|
||||
|
||||
|
||||
$rest_json = file_get_contents("php://input");
|
||||
$_POST = json_decode($rest_json, true);
|
||||
//var_dump($_POST);
|
||||
|
||||
// if (isset($_GET['function']) || isset($_POST['function'])) {
|
||||
// if ($_GET['function'] == "save_map_info")
|
||||
// save_map_info();
|
||||
// elseif ($_POST['function'] == "update_website")
|
||||
// update_website();
|
||||
// } else
|
||||
// show_error();
|
||||
if (isset($_REQUEST['function'])) {
|
||||
switch($_REQUEST['function']) {
|
||||
case 'save_map_info':
|
||||
save_map_info();
|
||||
break;
|
||||
case 'create_building':
|
||||
create_building();
|
||||
break;
|
||||
case 'delete_building':
|
||||
delete_building();
|
||||
break;
|
||||
case 'get_map_selectors':
|
||||
get_map_selectors();
|
||||
break;
|
||||
default :
|
||||
show_error();
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
show_error();
|
||||
}
|
||||
|
||||
function save_map_info() {
|
||||
if (isset($_GET['selector']) && isset($_GET['info'])) {
|
||||
$dao = new Dao();
|
||||
$dao->save_map_info($_GET['selector'], $_GET['info']);
|
||||
echo "Réussite";
|
||||
} else {
|
||||
show_error();
|
||||
}
|
||||
}
|
||||
|
||||
function get_map_selectors() {
|
||||
header('Content-Type: application/json');
|
||||
$dao = new Dao();
|
||||
echo json_encode($dao->get_map_selectors());
|
||||
}
|
||||
/*
|
||||
function is_in_map() {
|
||||
if($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
show_error();
|
||||
return;
|
||||
}
|
||||
$dao = new Dao();
|
||||
$_REQUEST = array(
|
||||
'selector' => $_REQUEST['info']['selector'],
|
||||
);
|
||||
$dao->is_in_map($_REQUEST['selector']);
|
||||
}
|
||||
*/
|
||||
function create_building() {
|
||||
if($_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||
show_error();
|
||||
return;
|
||||
}
|
||||
$dao = new Dao();
|
||||
$_REQUEST = array(
|
||||
'title' => $_REQUEST['info']['title'],
|
||||
'description' => $_REQUEST['info']['description'],
|
||||
'selector' => $_REQUEST['info']['selector'],
|
||||
);
|
||||
var_dump($_REQUEST);
|
||||
|
||||
$dao->create_building($_REQUEST['title'], $_REQUEST['description'], $_REQUEST['selector']);
|
||||
echo 'Réussite';
|
||||
}
|
||||
|
||||
function delete_building() {
|
||||
if($_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||
show_error();
|
||||
return;
|
||||
}
|
||||
$dao = new Dao();
|
||||
$_REQUEST = array(
|
||||
'selector' => $_REQUEST['info']['selector'],
|
||||
);
|
||||
var_dump($_REQUEST);
|
||||
$dao->delete_building($_REQUEST['selector']);
|
||||
echo 'Réussite';
|
||||
}
|
||||
|
||||
function update_website() {
|
||||
// if (isset($_POST['login']) && isset($_POST['password'])) {
|
||||
// $login = $_POST['login'];
|
||||
// $password = $_POST['password'];
|
||||
// echo $login . ":" . $password."\n";
|
||||
// // Cannot write because php cannot write as user www-data
|
||||
// // be sure to escape characters
|
||||
// // Do not remove the space before the command (prevent command from being saved in history)
|
||||
//// system(" git pull https://".$login.":".$password."@git.srv-falcon.etud.insa-toulouse.fr/vergnet/site-accueil-insa.git");
|
||||
// } else {
|
||||
// show_error();
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
function show_error() {
|
||||
echo "Échec :\n";
|
||||
echo "GET\n";
|
||||
var_dump($_GET);
|
||||
echo "POST\n";
|
||||
var_dump($_POST);
|
||||
}
|
|
@ -1,77 +0,0 @@
|
|||
<?php
|
||||
ob_start(); // Start reading html
|
||||
$relativePath = "../../";
|
||||
require_once $relativePath . 'classes/dao.php';
|
||||
?>
|
||||
<div class="inner mapEdition">
|
||||
|
||||
<h1>ADMIN</h1>
|
||||
<h2>Edition de la carte</h2>
|
||||
|
||||
|
||||
<select id="mapSelect">
|
||||
<?php setup_map_dropdown() ?>
|
||||
</select>
|
||||
|
||||
<br>
|
||||
|
||||
<label for="titleInput">Titre</label>
|
||||
<input type="text" id="titleInput">
|
||||
|
||||
<label for="descriptionInput">Description</label>
|
||||
<textarea rows="15" id="descriptionInput"></textarea>
|
||||
|
||||
<div class="save getMapInfo">
|
||||
<i class="fas fa-save"></i> Enregistrer
|
||||
</div>
|
||||
<div class="delete">
|
||||
<i class="fas fa-trash"></i> Supprimer
|
||||
</div>
|
||||
<br>
|
||||
<div class="buttons-container">
|
||||
<a href="../index.php" class="admin-back-button">
|
||||
<i class="fas fa-chevron-left"></i>
|
||||
Retour sur la page admin
|
||||
</a>
|
||||
<a href="<?= $relativePath ?>map.php" class="website-back-button">
|
||||
Voir sur le site
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="inner buildingManager">
|
||||
|
||||
<h2>Ajout d'un batiment</h2>
|
||||
<input type="text" id="selectorInput">
|
||||
|
||||
<label for="titleInput">Titre</label>
|
||||
<input type="text" id="titleInput">
|
||||
|
||||
<label for="descriptionInput">Description</label>
|
||||
<textarea rows="15" id="descriptionInput"></textarea>
|
||||
|
||||
<div class="save addBuilding">
|
||||
<i class="fas fa-save"></i> Enregistrer
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<link rel="stylesheet" type="text/css" media="screen" href="<?= $relativePath ?>assets/css/adminEdit.css"/>
|
||||
|
||||
<?php
|
||||
$pageContent = ob_get_clean(); // Store html content in variable
|
||||
$pageTitle = "Édition carte";
|
||||
|
||||
$pageScripts = "<script type=\"text/javascript\" src=\"".$relativePath."assets/js/admin/mapManager.js\"></script>";
|
||||
|
||||
include($relativePath . "includes/template.php"); // Display template with variable content
|
||||
|
||||
function setup_map_dropdown()
|
||||
{
|
||||
$dao = new Dao();
|
||||
foreach ($dao->get_map_selectors() as $row) {
|
||||
echo "<option value='" . $row['selector'] . "'>" . $row['selector'] . "</option>";
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -1,57 +0,0 @@
|
|||
<?php
|
||||
ob_start(); // Start reading html
|
||||
$relativePath = "../../";
|
||||
require_once $relativePath . 'classes/dao.php';
|
||||
|
||||
$log = shell_exec("git log | head -50"); // Show the first few commits
|
||||
|
||||
?>
|
||||
<div class="inner">
|
||||
<h1>ADMIN</h1>
|
||||
<h2>Mise a jour du site</h2>
|
||||
|
||||
<!-- <label for="usernameInput">Login</label>-->
|
||||
<!-- <input type="text" id="usernameInput">-->
|
||||
<!---->
|
||||
<!-- <label for="passwordInput">Password</label>-->
|
||||
<!-- <input type="password" id="passwordInput">-->
|
||||
<!---->
|
||||
<!-- <div class="save">-->
|
||||
<!-- <i class="fas fa-save"></i> Mettre à Jour-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div id="gitButton">
|
||||
<a href="https://git.srv-falcon.etud.insa-toulouse.fr/vergnet/site-accueil-insa" target="_blank">
|
||||
Voir sur Gitea
|
||||
</a>
|
||||
</div>
|
||||
<h3>Log</h3>
|
||||
<p>
|
||||
<?php
|
||||
echo nl2br($log)
|
||||
?>
|
||||
</p>
|
||||
|
||||
<div class="buttons-container">
|
||||
<a href="../index.php" class="admin-back-button">
|
||||
<i class="fas fa-chevron-left"></i>
|
||||
Retour sur la page admin
|
||||
</a>
|
||||
<a href="<?= $relativePath ?>index.php" class="website-back-button">
|
||||
Voir sur le site
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<link rel="stylesheet" type="text/css" media="screen" href="<?= $relativePath ?>assets/css/adminEdit.css"/>
|
||||
|
||||
<?php
|
||||
$pageContent = ob_get_clean(); // Store html content in variable
|
||||
$pageTitle = "Mise à jour";
|
||||
|
||||
$pageScripts = "<script type=\"text/javascript\" src=\"".$relativePath."assets/js/admin/updateManager.js\"></script>";
|
||||
|
||||
include($relativePath . "includes/template.php"); // Display template with variable content
|
||||
|
||||
?>
|
|
@ -1,694 +0,0 @@
|
|||
<?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();
|
||||
|
||||
|
||||
/**
|
||||
* Get the selectors of the map from the database
|
||||
* A selector is the name/identifier of a building *
|
||||
*/
|
||||
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
|
||||
//
|
||||
|
||||
/**
|
||||
* Tells if the team is the first to solve the enigma
|
||||
* @param Array $score_data = { $team = Name of the team who posted
|
||||
* $text = Name of the enigma
|
||||
* }
|
||||
* @return Bool = true if this team is the first, false otherwise
|
||||
*/
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Tells if the team has already solved the enigma
|
||||
* @param String $team = Name of the team
|
||||
* @param String $enigme = Name of the enigma
|
||||
* @return Bool = true if already solved, false otherwise
|
||||
*/
|
||||
function isAlreadySolved($team, $enigme) {
|
||||
|
||||
$dao = new Dao();
|
||||
$score = $dao->get_score_team($team);
|
||||
|
||||
foreach($score as $value) {
|
||||
if ($value['text'] == $enigme)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Tells if an enigma is solved
|
||||
* @param String $enigme = Name of the enigma
|
||||
* @return Bool = true if the enigma is solved, false otherwise
|
||||
*/
|
||||
function isEnigmaSolved($enigme) {
|
||||
$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 true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// TODO : passer ça sous DB
|
||||
/**
|
||||
* Get the enigma code posted and processes it
|
||||
* @example ../../enigma.php
|
||||
* @todo Improve it by adding an 'enigmes' table into the database
|
||||
*/
|
||||
function get_enigma_code() {
|
||||
if (isset($_GET['code'])) {
|
||||
/**
|
||||
* Array that contains the data to display
|
||||
* @var Array $data {
|
||||
* @var String $name = Name of the enigma
|
||||
* @var String $info = Displayed Content
|
||||
* }
|
||||
*/
|
||||
$data = array(
|
||||
"name" => $_GET['code'],
|
||||
"info" => null,
|
||||
);
|
||||
|
||||
$team = $_GET['team'];
|
||||
$time = new DateTime();
|
||||
$date = $time->getTimestamp();
|
||||
|
||||
/**
|
||||
* Array that contains the data to update the scores
|
||||
* @var Array $score_data {
|
||||
* @var String $text = Name of the enigma
|
||||
* @var Int $points = Enigma's points
|
||||
* @var String $team = Team who solved
|
||||
* }
|
||||
*/
|
||||
$score_data = array(
|
||||
"text" => null,
|
||||
"points" => 0,
|
||||
"team" => $team,
|
||||
);
|
||||
|
||||
|
||||
// One case responds to a code found
|
||||
// Bonus : See case Jean Jaurès for explanation
|
||||
// Malus : See case 0712 for explanation
|
||||
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>En résolvant cette énigme, vous avez reçu un petit parachute avec à l’intérieur cette mystérieuse <a href=\"assets/enigmes/Liberation/Carte-odRS.jpg\">carte</a>.</p>
|
||||
</p> Les participants sont autorisés à quitter l’arène le temps de retrouver leurs compagnons. Evidemment, ils seront accompagnés par un bataillon de pacificateurs et des caméras pour suivre chacun de leurs mouvements. Mais attention, ils ne pourront choisir qu’une seule destination, bon courage, et puisse le sort vous être favorable.
|
||||
</p>
|
||||
";
|
||||
|
||||
}
|
||||
if(isFirstTeamToSolve($score_data)) {
|
||||
$dao = new Dao();
|
||||
$dao->add_score($score_data);
|
||||
}
|
||||
echo json_encode($data, JSON_FORCE_OBJECT);
|
||||
|
||||
break;
|
||||
|
||||
|
||||
case 'Venise' :
|
||||
$data["name"] = "enigme-liberation-1";
|
||||
$score_data["text"] = 'Énigme Libération 1';
|
||||
$score_data["points"] = 100;
|
||||
|
||||
if($date< 1628613000 ) {
|
||||
$data["info"] = "<h2>Énigme Libération 1</h2>
|
||||
<p>Bien joué ! Attendez un peu pour la suite !</p>";
|
||||
} else {
|
||||
$data["info"] = "<h2>Énigme Libération 1</h2>
|
||||
<p>Inversez les couleurs et videz l’eau, à quoi cela vous fait penser ?</p>
|
||||
";
|
||||
|
||||
}
|
||||
|
||||
if(isFirstTeamToSolve($score_data)) {
|
||||
$dao = new Dao();
|
||||
$dao->add_score($score_data);
|
||||
}
|
||||
echo json_encode($data, JSON_FORCE_OBJECT);
|
||||
break;
|
||||
|
||||
case 'Jean Jaurès' :
|
||||
|
||||
$data["name"] = "enigme-liberation-2"; // Name of the div (must be unique)
|
||||
$score_data["text"] = 'Énigme Libération 2'; // Name of the enigma displayed (scores and pages)
|
||||
$score_data["points"] = 100; // Add this amount of points to the team who first found this code
|
||||
|
||||
// This enigma must be solved if another has been solved
|
||||
// It avoids enigmas found by accident and assure consistency in the resolution
|
||||
if(isEnigmaSolved('Énigme Libération 1')) {
|
||||
|
||||
// Used to display what happens next at a specific time (timestamp UTC, check server time)
|
||||
if($date < 1628613000) {
|
||||
$data["info"] = "<h2>Énigme Libération 2</h2>
|
||||
<p>Vous avez compris le message des informateurs, aller dans le centre de la capitale de Panem vous parait évident maintenant. </p>
|
||||
<p>Mais un virus tourne, il ne faudrait pas faire retentir le canon et perdre des tributs, alors ne passez pas trop de temps dans la ville !
|
||||
</p>";
|
||||
} else {
|
||||
$data["info"] = "<h2>Énigme Libération 2</h2>
|
||||
<p>Vous avez compris le message des informateurs, aller dans le centre de la capitale de Panem vous parait évident maintenant. </p>
|
||||
<p>Mais un virus tourne, il ne faudrait pas faire retentir le canon et perdre des tributs, alors ne passez pas trop de temps dans la ville !
|
||||
</p>";
|
||||
}
|
||||
|
||||
// Give the points to the first team who solved the enigma
|
||||
if(isFirstTeamToSolve($score_data)) {
|
||||
$dao = new Dao();
|
||||
$dao->add_score($score_data);
|
||||
}
|
||||
echo json_encode($data, JSON_FORCE_OBJECT); // Display the new content
|
||||
}
|
||||
break;
|
||||
|
||||
case 'Café Pop' :
|
||||
$data["name"] = "enigme-liberation-3-1";
|
||||
$score_data["text"] = 'Énigme Libération 3-1';
|
||||
$score_data["points"] = 50;
|
||||
if(isEnigmaSolved('Énigme Libération 2')) {
|
||||
if($date < 1628613000) {
|
||||
$data["info"] = "<h2>Énigme Libération 3-1</h2>
|
||||
<p>Aucune perte du côté de votre district, tout va bien, vous avancez prudemment dans la ville…</p>
|
||||
<img src=\"assets/enigmes/Liberation/03-06.jpg\"></img>
|
||||
<img src=\"assets/enigmes/Liberation/07-12.jpg\"></img>";
|
||||
|
||||
|
||||
} else {
|
||||
$data["info"] = "<h2>Énigme Libération 3-1</h2>
|
||||
<p>Aucune perte du côté de votre district, tout va bien, vous avancez prudemment dans la ville…</p>
|
||||
<img src=\"assets/enigmes/Liberation/03-06.jpg\"></img>
|
||||
<img src=\"assets/enigmes/Liberation/07-12.jpg\"></img>";
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
if(isFirstTeamToSolve($score_data)) {
|
||||
$dao = new Dao();
|
||||
$dao->add_score($score_data);
|
||||
}
|
||||
echo json_encode($data, JSON_FORCE_OBJECT);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'Snapper' :
|
||||
$data["name"] = "enigme-liberation-3-2";
|
||||
$score_data["text"] = 'Énigme Libération 3-2';
|
||||
$score_data["points"] = 50;
|
||||
if(isEnigmaSolved('Énigme Libération 2')) {
|
||||
if($date < 1628613000) {
|
||||
$data["info"] = "<h2>Énigme Libération 3-2</h2>
|
||||
<p>Aucune perte du côté de votre district, tout va bien, vous avancez prudemment dans la ville…</p>
|
||||
<img src=\"assets/enigmes/Liberation/11-08.jpg\"></img>
|
||||
<img src=\"assets/enigmes/Liberation/19-05.jpg\"></img>
|
||||
<img src=\"assets/enigmes/Liberation/06-03.jpg\"></img>";
|
||||
|
||||
|
||||
} else {
|
||||
$data["info"] = "<h2>Énigme Libération 3-2</h2>
|
||||
<p>Aucune perte du côté de votre district, tout va bien, vous avancez prudemment dans la ville…</p>
|
||||
<img src=\"assets/enigmes/Liberation/11-08.jpg\"></img>
|
||||
<img src=\"assets/enigmes/Liberation/19-05.jpg\"></img>
|
||||
<img src=\"assets/enigmes/Liberation/06-03.jpg\"></img>";
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
if(isFirstTeamToSolve($score_data)) {
|
||||
$dao = new Dao();
|
||||
$dao->add_score($score_data);
|
||||
}
|
||||
echo json_encode($data, JSON_FORCE_OBJECT);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'needhelp' :
|
||||
$data["name"] = "enigme-liberation-3-3";
|
||||
$score_data["text"] = 'Énigme Libération 3-3';
|
||||
$score_data["points"] = 0;
|
||||
if(isEnigmaSolved('Énigme Libération 3-2') || isEnigmaSolved('Énigme Libération 3-1')) {
|
||||
if($date < 1628613000) {
|
||||
$data["info"] = "<h2>Énigme Libération 3-3</h2>
|
||||
<a href=\"\">Je t'embarque au poste.</a>";
|
||||
|
||||
|
||||
} else {
|
||||
$data["info"] = "<h2>Énigme Libération 3-3</h2>
|
||||
<p>Les arènes de tous les INSA Games étaient jusqu’à présent truffées de pièges mortels. Cette ville est votre nouvelle arène, et évidemment elle n’y fait pas exception.
|
||||
Mais cette année, les hauts juges ont créé ce <a href=\"assets/enigmes/Liberation/pieges.pdf\">document</a> afin de vous aider à les localiser.</p>
|
||||
";
|
||||
|
||||
}
|
||||
|
||||
echo json_encode($data, JSON_FORCE_OBJECT);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'Saint des seins' :
|
||||
$score_data["text"] = 'Malus Énigme Libération 1';
|
||||
$score_data["points"] = -25;
|
||||
if(!isAlreadySolved($team, $score_data["text"])) {
|
||||
$dao = new Dao();
|
||||
$dao->add_score($score_data);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'La Couleur de la Culotte' :
|
||||
$score_data["text"] = 'Malus Énigme Libération 2';
|
||||
$score_data["points"] = -25;
|
||||
if(!isAlreadySolved($team, $score_data["text"])) {
|
||||
$dao = new Dao();
|
||||
$dao->add_score($score_data);
|
||||
}
|
||||
break;
|
||||
|
||||
case '0712' :
|
||||
$score_data["text"] = 'Malus Énigme Libération 3';
|
||||
$score_data["points"] = -25; // Malus points
|
||||
|
||||
// Give the points only if the team hasn't had the Malus yet
|
||||
if(!isAlreadySolved($team, $score_data["text"])) {
|
||||
$dao = new Dao();
|
||||
$dao->add_score($score_data);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case '1108' :
|
||||
$score_data["text"] = 'Malus Énigme Libération 4';
|
||||
$score_data["points"] = -25;
|
||||
if(!isAlreadySolved($team, $score_data["text"])) {
|
||||
$dao = new Dao();
|
||||
$dao->add_score($score_data);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'rose' :
|
||||
$data["name"] = "enigme-liberation-4";
|
||||
$score_data["text"] = 'Énigme Libération 4';
|
||||
$score_data["points"] = 100;
|
||||
if(isEnigmaSolved('Énigme Libération 3-1') && isEnigmaSolved('Énigme Libération 3-2')) {
|
||||
if($date < 1628613000) {
|
||||
$data["info"] = "<h2>Énigme Libération 4</h2>
|
||||
<p><a href=\"assets/enigmes/Liberation/FinE.png\">On vous demande un mot de passe pour rentrer</a></p>";
|
||||
} else {
|
||||
$data["info"] = "<h2>Énigme Libération 4</h2>
|
||||
<p><a href=\"assets/enigmes/Liberation/FinE.png\">On vous demande un mot de passe pour rentrer</a></p>";
|
||||
}
|
||||
|
||||
if(isFirstTeamToSolve($score_data)) {
|
||||
$dao = new Dao();
|
||||
$dao->add_score($score_data);
|
||||
}
|
||||
echo json_encode($data, JSON_FORCE_OBJECT);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'PRESQUE' :
|
||||
$data["name"] = "enigme-liberation-5";
|
||||
$score_data["text"] = 'Énigme Libération 5';
|
||||
$score_data["points"] = 50;
|
||||
if(isEnigmaSolved('Énigme Libération 4')) {
|
||||
if($date < 1628613000) {
|
||||
$data["info"] = "<h2>Énigme Libération 5</h2>
|
||||
<p>Bien joué ! Attendez demain pour la suite !</p>";
|
||||
} else {
|
||||
$data["info"] = "<h2>Énigme Libération 5</h2>
|
||||
<p>Revenez aux sources..</p>";
|
||||
}
|
||||
|
||||
if(isFirstTeamToSolve($score_data)) {
|
||||
$dao = new Dao();
|
||||
$dao->add_score($score_data);
|
||||
}
|
||||
echo json_encode($data, JSON_FORCE_OBJECT);
|
||||
}
|
||||
break;
|
||||
case 'Le Trou' :
|
||||
$data["name"] = "enigme-liberation-6";
|
||||
$score_data["text"] = 'Énigme Libération 6';
|
||||
$score_data["points"] = 200;
|
||||
if(isEnigmaSolved('Énigme Libération 5')) {
|
||||
if($date < 1628613000) {
|
||||
$data["info"] = "<h2>Énigme Libération 6</h2>
|
||||
<p>Bien joué ! Attendez demain pour la suite !</p>";
|
||||
} else {
|
||||
$data["info"] = "<h2>Énigme Libération 6</h2>
|
||||
<p>Suite à la libération de Paul et Cécile vous décidez de fêter ça...
|
||||
</p>";
|
||||
}
|
||||
|
||||
if(isFirstTeamToSolve($score_data)) {
|
||||
$dao = new Dao();
|
||||
$dao->add_score($score_data);
|
||||
}
|
||||
echo json_encode($data, JSON_FORCE_OBJECT);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'Allies comme Katniss et Peeta' :
|
||||
$data["name"] = "enigme-liberation-7";
|
||||
$score_data["text"] = 'Énigme Libération 7';
|
||||
$score_data["points"] = 100;
|
||||
if(isEnigmaSolved('Énigme Libération 6')) {
|
||||
if($date < 1628613000) {
|
||||
$data["info"] = "<h2>Énigme Libération 7</h2>
|
||||
<p>Bien joué ! Attendez demain pour la suite !</p>";
|
||||
} else {
|
||||
$data["info"] = "<h2>Énigme Libération 7</h2>
|
||||
<p>Les dirigeants du Capitole ont décidé d’unir les équipes, les Boomiflores et les Peksureaux !
|
||||
Ils préparent la prochaine énigme!
|
||||
</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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Same as get_code, but for the plaquette enigma
|
||||
*/
|
||||
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);
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
AuthName "MDP ?"
|
||||
AuthType Basic
|
||||
AuthUserFile /home_clubs/accueil_insa/public_html/includes/pass/.htpass_scores
|
||||
require valid-user
|
||||
<Files "planning.php">
|
||||
AuthName "MDP ?"
|
||||
AuthType Basic
|
||||
AuthUserFile /home_clubs/accueil_insa/public_html/includes/pass/.htpass_planning
|
||||
require valid-user
|
||||
</Files>
|
||||
<Files "master.php">
|
||||
AuthName "MDP ?"
|
||||
AuthType Basic
|
||||
AuthUserFile /home_clubs/accueil_insa/public_html/includes/pass/.htpass_master
|
||||
require valid-user
|
||||
</Files>
|
|
@ -1,222 +0,0 @@
|
|||
.admin-container {
|
||||
border: 1px solid #5a5a5a;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
|
||||
.edit-header .stat-log {
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
.stat-points {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.edit-header .stat-points {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.edit-button-container {
|
||||
border: none;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.edit-header {
|
||||
display: flex;
|
||||
text-align: center;
|
||||
background-color: #61605e;
|
||||
color: #fefefe;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.edit-header .stat-trash {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.edit-text {
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
.edit-points{
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
|
||||
.buttons-container {
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
.admin-back-button {
|
||||
width: auto;
|
||||
background: #fafafa;
|
||||
color: #000;
|
||||
border-radius: 5px;
|
||||
padding: 15px;
|
||||
margin: 5px;
|
||||
box-shadow: 0 0 5px #000000;
|
||||
}
|
||||
|
||||
.admin-back-button:hover {
|
||||
color: #fafafa;
|
||||
background: #1a1a1a;
|
||||
}
|
||||
|
||||
.website-back-button {
|
||||
width: auto;
|
||||
background: #fafafa;
|
||||
color: #000;
|
||||
border-radius: 5px;
|
||||
padding: 15px;
|
||||
margin: 5px;
|
||||
box-shadow: 0 0 5px #000000;
|
||||
}
|
||||
|
||||
.website-back-button:hover {
|
||||
color: #fafafa;
|
||||
background: #1a1a1a;
|
||||
}
|
||||
|
||||
|
||||
.edit-stats {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
input, textarea {
|
||||
text-align: center;
|
||||
background: #484848;
|
||||
color: #fafafa;
|
||||
width: 100%;
|
||||
border: none;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
.remove-line {
|
||||
color: #ff1200;
|
||||
cursor: pointer;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.remove-line svg {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.remove-line:hover {
|
||||
color: #ff5e00;
|
||||
text-shadow: 0 0 5px #ff4000;
|
||||
}
|
||||
|
||||
.add-line{
|
||||
font-size: 30px;
|
||||
background: #ab1d00;
|
||||
color: #fafafa;
|
||||
cursor: pointer;
|
||||
transition: 0.3s;
|
||||
width: 100%;
|
||||
border-radius: 5px;
|
||||
margin: 30px 0 20px 0;
|
||||
}
|
||||
|
||||
#addLine_gli {
|
||||
background: #ff5f5f;
|
||||
}
|
||||
|
||||
#addLine_pek {
|
||||
background: #7ffd78;
|
||||
}
|
||||
|
||||
#addLine_boo {
|
||||
background: #fafd78;
|
||||
}
|
||||
|
||||
#addLine_ver {
|
||||
background: #60bdff;
|
||||
}
|
||||
|
||||
|
||||
#editHeader_gli {
|
||||
background: #9c1a00;
|
||||
}
|
||||
|
||||
#editHeader_pek {
|
||||
background: #138a14;
|
||||
}
|
||||
|
||||
#editHeader_boo {
|
||||
background: #6b5300;
|
||||
}
|
||||
|
||||
#editHeader_ver {
|
||||
background: #264565;
|
||||
}
|
||||
|
||||
|
||||
.save {
|
||||
background: #21aa08;
|
||||
font-size: 30px;
|
||||
color: #fafafa;
|
||||
cursor: pointer;
|
||||
transition: 0.3s;
|
||||
margin: 40px 0 0 0;
|
||||
width: 100%;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.save:hover {
|
||||
background: #2ce20b;
|
||||
box-shadow: 0 0 5px #2ce20b;
|
||||
}
|
||||
|
||||
#activityTable {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#activityTable tr {
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
#activityTable tr:hover {
|
||||
cursor: pointer;
|
||||
background-color: #62010e;
|
||||
}
|
||||
|
||||
|
||||
.planning-start {
|
||||
width: 10%;
|
||||
}
|
||||
.planning-length {
|
||||
width: 10%;
|
||||
}
|
||||
.planning-name {
|
||||
width: 70%;
|
||||
}
|
||||
.planning-trash {
|
||||
width: 10%;
|
||||
}
|
||||
|
||||
#noUpdateNeeded {
|
||||
font-size: 2rem;
|
||||
color: #2ce20b;
|
||||
}
|
||||
|
||||
#UpdateNeeded {
|
||||
font-size: 2rem;
|
||||
color: #c53422;
|
||||
}
|
||||
|
||||
#gitButton {
|
||||
font-size: 1.5rem;
|
||||
display: flex;
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
|
||||
#gitButton a {
|
||||
padding: 10px;
|
||||
background-color: white;
|
||||
color: #052700;
|
||||
margin: auto;
|
||||
width: 200px;
|
||||
cursor: pointer;
|
||||
border-radius: 0.5rem;
|
||||
}
|
|
@ -1,97 +0,0 @@
|
|||
#baguette {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
font-size: 32px;
|
||||
margin: 5px;
|
||||
height: 40px;
|
||||
width: 40px;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
|
||||
#shaft, #star1, #star2, #star3, #star4 {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 5px;
|
||||
background-color: #fff;
|
||||
margin: 5px 0;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
#shaft {
|
||||
margin: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
#star1, #star2 {
|
||||
width: 20px;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
#star3, #star4 {
|
||||
width: 20px;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
#star1, #star3 {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
#star2, #star4 {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
|
||||
/* Mouse hovers the baguette */
|
||||
|
||||
.change-hover #shaft {
|
||||
background-color: #e9b82f;
|
||||
transform: translateY(1px) rotate(-45deg);
|
||||
height:5px;
|
||||
|
||||
}
|
||||
|
||||
.change-hover #star1, .change-hover #star2, .change-hover #star3, .change-hover #star4 {
|
||||
width: 5px;
|
||||
border-radius: 100%;
|
||||
}
|
||||
|
||||
.change-hover #star1 {
|
||||
background-color: #ff5f5f;
|
||||
transform: translate(19px,-2px);
|
||||
|
||||
}
|
||||
|
||||
.change-hover #star2 {
|
||||
background-color: #7ffd78;
|
||||
transform: translate(-3px, -6px);
|
||||
}
|
||||
|
||||
.change-hover #star3 {
|
||||
background-color: #fafd78;
|
||||
transform: translate(36px, -10px);
|
||||
}
|
||||
|
||||
.change-hover #star4 {
|
||||
background-color: #60bdff;
|
||||
transform: translate(5px, -22px);
|
||||
}
|
||||
|
||||
/* Mouse clics the baguette */
|
||||
|
||||
.change-clic #shaft {
|
||||
transform: translateY(-50%) rotate(-135deg);
|
||||
background-color: #b0120b;
|
||||
}
|
||||
|
||||
.change-clic #star1, .change-clic #star2, .change-clic #star3, .change-clic #star4 {
|
||||
left: 0;
|
||||
width: 100%;
|
||||
border-radius: 0;
|
||||
margin: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%) rotate(-45deg);
|
||||
background-color: #b0120b;
|
||||
}
|
|
@ -1,54 +0,0 @@
|
|||
|
||||
body {
|
||||
color: #b5b5b5;
|
||||
}
|
||||
|
||||
.inner {
|
||||
background-color: rgba(28, 28, 28, 0.2);
|
||||
box-shadow: 0 0 50px #1c1c1c;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.team-button {
|
||||
border-radius: 0.2rem;
|
||||
font-size: 2.5rem;
|
||||
font-family: Harry-P, fantasy;
|
||||
cursor: pointer;
|
||||
padding: 15px 20px;
|
||||
margin: 10px;
|
||||
transition: 0.2s;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#title_boo {
|
||||
color: #7cd43f;
|
||||
}
|
||||
|
||||
#title_pek {
|
||||
color: #9a89fd;
|
||||
}
|
||||
|
||||
.team-button#buttonBoo {
|
||||
color: #7cd43f;
|
||||
background-color: #35621e;
|
||||
}
|
||||
|
||||
.team-button#buttonPek {
|
||||
color: #9a89fd;
|
||||
background-color: #402559;
|
||||
}
|
||||
|
||||
.team-button#buttonBoo:hover {
|
||||
color: #35821e;
|
||||
background-color: #7cf43f;
|
||||
box-shadow: 0 0 10px #7c843f;
|
||||
}
|
||||
|
||||
.team-button#buttonPek:hover {
|
||||
color: #402559;
|
||||
background-color: #aaa9fd;
|
||||
box-shadow: 0 0 10px #9a89dd;
|
||||
}
|
||||
|
0
assets/css/page/blouse.css
Normal file
0
assets/css/page/chansons.css
Normal file
0
assets/css/page/clubs.css
Normal file
0
assets/css/page/coms.css
Normal file
0
assets/css/page/downloads.css
Normal file
0
assets/css/page/enigma.css
Normal file
0
assets/css/page/index.css
Normal file
0
assets/css/page/info.css
Normal file
0
assets/css/page/lydia.css
Normal file
0
assets/css/page/map.css
Normal file
0
assets/css/page/parrainage.css
Normal file
0
assets/css/page/photos.css
Normal file
0
assets/css/page/planning.css
Normal file
0
assets/css/page/plaquette.css
Normal file
0
assets/css/page/prevs.css
Normal file
0
assets/css/page/stats.css
Normal file
0
assets/css/page/vacances.css
Normal file
|
@ -1,297 +0,0 @@
|
|||
#photoContainer {
|
||||
margin: 0 5%;
|
||||
}
|
||||
|
||||
.photos-folder-container {
|
||||
width: 100%;
|
||||
border: 1px solid #5a5a5a;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.photos-folder-container a:hover, .photos-path a:hover, #downloadAlbum:hover {
|
||||
box-shadow: 0 0 10px #000;
|
||||
background-color: #635247;
|
||||
}
|
||||
|
||||
.photos-folder-container a {
|
||||
text-decoration: none;
|
||||
border-radius: 5px;
|
||||
width: 200px;
|
||||
height: 120px;
|
||||
padding: 10px;
|
||||
margin: 5px;
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #1a1a1a;
|
||||
box-shadow: 0 0 4px #000;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
#folderTitle {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
color: #73b795;
|
||||
font-size: 25px;
|
||||
text-shadow: 0 0 5px #1c1c1c;
|
||||
}
|
||||
|
||||
#folderPhotos, #folderAlbums {
|
||||
color: #808080;
|
||||
font-size: 18px;
|
||||
text-shadow: 0 0 5px #1c1c1c;
|
||||
}
|
||||
|
||||
#folderPhotos {
|
||||
position: absolute;
|
||||
bottom: 30px;
|
||||
}
|
||||
|
||||
#folderAlbums {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.photos img {
|
||||
display: inline-flex;
|
||||
width: 200px;
|
||||
opacity: 1;
|
||||
cursor: pointer;
|
||||
transition: 0.3s;
|
||||
padding: 0;
|
||||
margin: 10px 2px 0 2px;
|
||||
border-radius: 0.5rem;
|
||||
}
|
||||
|
||||
.photos img:hover {
|
||||
box-shadow: 0 0 5px #000;
|
||||
-webkit-filter: blur(1px); /* Safari 6.0 - 9.0 */
|
||||
filter: blur(1px);
|
||||
opacity: 0.5;
|
||||
border-radius: 1rem;
|
||||
}
|
||||
|
||||
.photos img:active {
|
||||
box-shadow: 0 0 10px #000;
|
||||
}
|
||||
|
||||
.photos-path {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
line-height: 15px;
|
||||
}
|
||||
|
||||
.photos-path a {
|
||||
font-size: 15px;
|
||||
text-decoration: none;
|
||||
border-radius: 2px;
|
||||
padding: 5px;
|
||||
margin: 5px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #1a1a1a;
|
||||
box-shadow: 0 0 4px #000;
|
||||
text-shadow: 0 0 5px #1c1c1c;
|
||||
transition: 0.3s;
|
||||
color: #e0e0e0;
|
||||
}
|
||||
|
||||
#imgBig {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
position: fixed;
|
||||
z-index: 6;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
max-width: none;
|
||||
max-height: none;
|
||||
transform: translate(-50%, -50%);
|
||||
box-shadow: 0 0 5px #000;
|
||||
}
|
||||
|
||||
#photoButtonsContainer {
|
||||
position: fixed;
|
||||
display: block;
|
||||
z-index: 10;
|
||||
/* Block selection of buttons (useful for mobile devices) */
|
||||
-webkit-user-select: none; /* Chrome all / Safari all */
|
||||
-moz-user-select: none; /* Firefox all */
|
||||
-ms-user-select: none; /* IE 10+ */
|
||||
}
|
||||
|
||||
#rightButton, #leftButton {
|
||||
transition: 0.2s;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
width: 10%;
|
||||
background-color: rgba(255, 255, 255, 0.05);
|
||||
height: 100%;
|
||||
display: flex;
|
||||
font-size: 5rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#rightButton {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
#leftButton {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
#closeButton, #downloadButton {
|
||||
transition: 0.2s;
|
||||
position: fixed;
|
||||
color: white;
|
||||
display: flex;
|
||||
font-size: 3rem;
|
||||
top: 0;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
background-color: rgba(255, 255, 255, 0.05);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#closeButton {
|
||||
right: 10%;
|
||||
}
|
||||
|
||||
#downloadButton {
|
||||
right: calc(10% + 80px);
|
||||
}
|
||||
|
||||
#rightButton:hover, #leftButton:hover, #closeButton:hover, #downloadButton:hover {
|
||||
background-color: rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
|
||||
#rightButton i, #leftButton i, #closeButton i, #downloadButton i {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
#rightButton:active, #leftButton:active, #closeButton:active, #downloadButton:active {
|
||||
background-color: rgba(255, 255, 255, 0.4);
|
||||
}
|
||||
|
||||
|
||||
#loadingIconContainer {
|
||||
color: white;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 8;
|
||||
position: fixed;
|
||||
display: flex;
|
||||
font-size: 5rem;
|
||||
}
|
||||
|
||||
#loadingIconContainer i {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
|
||||
#closeBack {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #1c1c1c;
|
||||
}
|
||||
|
||||
#photoOverlay {
|
||||
top: 0;
|
||||
left: 0;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 5;
|
||||
}
|
||||
|
||||
#downloadAlbum {
|
||||
height: 70px;
|
||||
width: 200px;
|
||||
display: inline-flex;
|
||||
position: relative;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #1a1a1a;
|
||||
box-shadow: 0 0 4px #000;
|
||||
text-shadow: 0 0 5px #1c1c1c;
|
||||
transition: 0.3s;
|
||||
color: #28ca2a;
|
||||
cursor: pointer;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
#downloadText {
|
||||
margin-top: 5px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
#albumPhotoCount {
|
||||
color: #929ba8;
|
||||
margin-bottom: 5px;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
#downloadText svg {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
#rightButton, #leftButton {
|
||||
width: 80px;
|
||||
font-size: 3rem;
|
||||
}
|
||||
|
||||
#closeButton {
|
||||
right: 50%;
|
||||
transform: translateX(100%);
|
||||
}
|
||||
|
||||
#downloadButton {
|
||||
right: 50%;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@media screen and (max-width: 576px) {
|
||||
.photos-folder-container a {
|
||||
min-width: 100px;
|
||||
height: 70px;
|
||||
}
|
||||
#folderTitle {
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
color: #73b795;
|
||||
font-size: 15px;
|
||||
text-shadow: 0 0 5px #1c1c1c;
|
||||
}
|
||||
|
||||
#folderPhotos, #folderAlbums {
|
||||
color: #808080;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
#folderPhotos {
|
||||
position: absolute;
|
||||
bottom: 20px;
|
||||
}
|
||||
|
||||
#folderAlbums {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.photos img {
|
||||
width: 140px;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,66 +0,0 @@
|
|||
#tableWrapper {
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
#tablePlanning {
|
||||
margin: auto auto 20px auto;
|
||||
display: flex;
|
||||
|
||||
}
|
||||
|
||||
.planning-header {
|
||||
font-family: Harry-P, fantasy;
|
||||
border: none;
|
||||
border-radius: 0.2rem;
|
||||
background: #414141;
|
||||
font-size: 2rem;
|
||||
padding: 5px;
|
||||
margin: 5px 0;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.horaires {
|
||||
background: none;
|
||||
border: none;
|
||||
border-top: 1px solid #ccc;
|
||||
text-align: right;
|
||||
vertical-align: top;
|
||||
margin-top: -1px; /* negate the border to prevent offsest with events */
|
||||
}
|
||||
|
||||
.event {
|
||||
background: none;
|
||||
border: none;
|
||||
color: white;
|
||||
transition: 0.3s;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.event-color {
|
||||
border-radius: 0.2rem;
|
||||
transition: 0.2s;
|
||||
border: none;
|
||||
margin: 5px 0;
|
||||
display: flex;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.event-color:hover {
|
||||
border-radius: 1rem;
|
||||
transform: scale(1.05);
|
||||
}
|
||||
|
||||
.event-text {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.day-column {
|
||||
position: relative;
|
||||
min-width: 150px;
|
||||
margin: 0 5px;
|
||||
}
|
|
@ -1,106 +0,0 @@
|
|||
|
||||
#mobile-score {
|
||||
display: none;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
#mobile-score .title-image {
|
||||
height: 80px;
|
||||
margin: 0 auto 0 auto;
|
||||
display: block;
|
||||
position: relative;
|
||||
bottom: -100px;
|
||||
}
|
||||
|
||||
#mobile-score .score-container {
|
||||
margin: 0 auto 0 auto;
|
||||
display: block;
|
||||
bottom: -85px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#top-bar-score {
|
||||
display: inline-flex;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
#top-bar-score .title-image {
|
||||
height: 40px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#main-score {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#main-score .title-image {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.score-container {
|
||||
background: none;
|
||||
border-radius: 10px;
|
||||
display: inline-flex;
|
||||
vertical-align: center;
|
||||
font-family: Harry-P, sans-serif;
|
||||
font-size: 50px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.score-container a {
|
||||
display: inline-flex;
|
||||
vertical-align: middle;
|
||||
align-items: center;
|
||||
text-shadow: -1px 1px 2px #000,
|
||||
1px 1px 2px #000,
|
||||
1px -1px 0 #000,
|
||||
-1px -1px 0 #000;
|
||||
}
|
||||
|
||||
.score-container a:hover {
|
||||
text-shadow: 0 0 10px #bd8a39;
|
||||
}
|
||||
|
||||
.winning {
|
||||
font-size: 23px;
|
||||
}
|
||||
|
||||
.score-boo {
|
||||
color: #7cd43f;
|
||||
background-size: auto 100%;
|
||||
margin: 0 10px;
|
||||
}
|
||||
|
||||
.score-pek {
|
||||
color: #9a89fd;
|
||||
background-size: auto 100%;
|
||||
margin: 0 10px;
|
||||
}
|
||||
|
||||
|
||||
.score-separator {
|
||||
background-color: #d9d9d9;
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
#main-score .score-logo {
|
||||
height: 60px;
|
||||
margin: 0 5px 0 5px;
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
#top-bar-score {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#mobile-score {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#main-score .score-container {
|
||||
display: block;
|
||||
}
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
/* The side navigation menu */
|
||||
|
||||
.sidenav {
|
||||
height: 100%;
|
||||
overflow-y: hidden;
|
||||
width: 300px;
|
||||
transform: translateX(-270px); /* change margin with JavaScript */
|
||||
position: fixed; /* Stay in place */
|
||||
z-index: 1000;
|
||||
top: 0;
|
||||
left: 0;
|
||||
transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
|
||||
text-align: left;
|
||||
background: linear-gradient(to right, #1c1c1c, transparent 90%);
|
||||
}
|
||||
|
||||
.sidenav.sidenav-open {
|
||||
transform: translateX(0);
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
|
||||
#sidenav-scroll {
|
||||
position: absolute;
|
||||
padding: 80px 0 50px 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* The navigation menu links */
|
||||
|
||||
.sidenav a {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
text-decoration: none;
|
||||
font-size: 20px;
|
||||
color: #f0f0f0;
|
||||
display: inline-flex;
|
||||
transition: 0.3s;
|
||||
height: 40px;
|
||||
width: 270px;
|
||||
}
|
||||
|
||||
.sidenav a .sidenav-content {
|
||||
margin: 0;
|
||||
padding-left: 20px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: inline-flex;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.sidenav-icon, .sidenav-image {
|
||||
left: 0;
|
||||
margin-right: 5px;
|
||||
-webkit-transform: translateY(5px);
|
||||
transform: translateY(5px);
|
||||
height: 20px;
|
||||
width: 20px !important;
|
||||
}
|
||||
|
||||
.sidenav-image {
|
||||
margin: 0 5px 0 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.sidenav a .sidenav-content:hover {
|
||||
color: #e9b82f;
|
||||
padding-left: 40px;
|
||||
}
|
||||
|
||||
.sidenav .separator {
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
/* Style page content - use this if you want to push the page content to the right when you open the side navigation */
|
||||
|
||||
#main {
|
||||
transition: margin-left .5s;
|
||||
}
|
||||
|
||||
/* On smaller screens, where height is less than 450px, change the style of the sidenav (less padding and a smaller font size) */
|
||||
|
||||
@media screen and (max-height: 450px) {
|
||||
.sidenav a {
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
|
@ -1,67 +0,0 @@
|
|||
|
||||
#teamButtonContainer {
|
||||
display: block;
|
||||
line-height: 2.2;
|
||||
}
|
||||
|
||||
.team-button {
|
||||
border-radius: 0.2rem;
|
||||
font-size: 2.5rem;
|
||||
font-family: Harry-P, fantasy;
|
||||
cursor: pointer;
|
||||
padding: 15px 20px;
|
||||
margin: 10px;
|
||||
width: 200px;
|
||||
transition: 0.2s;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#title_boo {
|
||||
color: #7cd43f;
|
||||
}
|
||||
|
||||
#title_pek {
|
||||
color: #9a89fd;
|
||||
}
|
||||
|
||||
.team-button#buttonBoo {
|
||||
color: #7cd43f;
|
||||
background-color: #35621e;
|
||||
}
|
||||
|
||||
.team-button#buttonPek {
|
||||
color: #9a89fd;
|
||||
background-color: #402559;
|
||||
}
|
||||
|
||||
.team-button#buttonBoo:hover {
|
||||
color: #35821e;
|
||||
background-color: #7cf43f;
|
||||
box-shadow: 0 0 10px #7c843f;
|
||||
}
|
||||
|
||||
.team-button#buttonPek:hover {
|
||||
color: #402559;
|
||||
background-color: #aaa9fd;
|
||||
box-shadow: 0 0 10px #9a89dd;
|
||||
}
|
||||
|
||||
.score-entry {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.score-entry-text {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.score-entry-points {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.positive {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.negative {
|
||||
color: #bf021c;
|
||||
}
|
|
@ -1,750 +0,0 @@
|
|||
/*******************************************************************************
|
||||
MeyerWeb Reset
|
||||
*******************************************************************************/
|
||||
|
||||
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font: inherit;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
/* HTML5 display-role reset for older browsers */
|
||||
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
ol, ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
Theme Styles
|
||||
*******************************************************************************/
|
||||
|
||||
@font-face {
|
||||
font-family: Harry-P;
|
||||
src: url('../fonts/hungergames.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family:manuscrit;
|
||||
src:url('../fonts/OldeEnglish.ttf');
|
||||
}
|
||||
|
||||
body {
|
||||
box-sizing: border-box;
|
||||
color: #b5b5b5;
|
||||
font-size: 1.4rem;
|
||||
font-family: 'Vollkorn', cursive;
|
||||
line-height: 1.5;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin: 10px 0;
|
||||
color: #e0e0e0;
|
||||
font-family: Harry-P, fantasy;
|
||||
font-weight: normal;
|
||||
letter-spacing: -1px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 4rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 3.5rem;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 3rem;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 2.6rem;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 2.2rem;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 1.9rem;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 10px 0 15px 0;
|
||||
}
|
||||
|
||||
footer p {
|
||||
color: #f2f2f2;
|
||||
text-shadow: 0 0 2px black;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: #dc4b33;
|
||||
text-shadow: none;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
a:hover, a:focus {
|
||||
text-shadow: 0 0 4px #691d05;
|
||||
}
|
||||
|
||||
|
||||
|
||||
strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
img {
|
||||
position: relative;
|
||||
max-width: 739px;
|
||||
padding: 5px;
|
||||
margin: 10px 0 10px 0;
|
||||
}
|
||||
|
||||
p img {
|
||||
display: inline;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
border: none;
|
||||
}
|
||||
|
||||
ul, ol, dl {
|
||||
margin-bottom: 15px
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: disc inside;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
ol {
|
||||
list-style: decimal inside;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
table {
|
||||
border: 1px solid #d5d5d5;
|
||||
margin-bottom: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
th {
|
||||
padding: 10px;
|
||||
background: #373737;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
td {
|
||||
padding: 10px;
|
||||
border: 1px solid #212121;
|
||||
}
|
||||
|
||||
.copyright {
|
||||
color: #fff;
|
||||
font-size: 1.2rem;
|
||||
text-shadow: #000 0 0 4px;
|
||||
}
|
||||
|
||||
.video {
|
||||
width: 480px;
|
||||
height: 270px;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
Full-Width Styles
|
||||
*******************************************************************************/
|
||||
|
||||
.outer {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.inner {
|
||||
position: relative;
|
||||
max-width: 70%;
|
||||
padding: 20px 10px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#header-wrap {
|
||||
background-position: top;
|
||||
}
|
||||
|
||||
#header-top {
|
||||
display: flex;
|
||||
color: white;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
z-index: 2000;
|
||||
height: 100px;
|
||||
background: linear-gradient(to bottom, #1c1c1c, transparent 90%);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
#header-top a {
|
||||
display: inline-flex;
|
||||
pointer-events: auto;
|
||||
vertical-align: middle;
|
||||
height: 40px;
|
||||
margin: 5px 0 5px 0;
|
||||
}
|
||||
|
||||
#header-wrap .inner {
|
||||
padding: 100px 10px 30px 10px;
|
||||
}
|
||||
|
||||
.title-logo {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
#menu-title {
|
||||
line-height: 40px;
|
||||
margin: 0 0 0 5px;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
#menu-icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
padding: 0;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
#title {
|
||||
margin: 0;
|
||||
color: #e0e0e0;
|
||||
font-size: 5rem;
|
||||
text-shadow: #000000 0 0 5px;
|
||||
text-align: center;
|
||||
font-family: Harry-P, fantasy;
|
||||
font-weight: normal;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
#timer {
|
||||
color: #d8d8d8;
|
||||
font-size: 2.5rem;
|
||||
background: none;
|
||||
text-shadow: #000000 0 0 2px;
|
||||
border-bottom: none;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
#home-image {
|
||||
width: 50%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#home-title {
|
||||
width: 20%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#home-content-wrap {
|
||||
background: none;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#home-content {
|
||||
padding-top: 100px;
|
||||
}
|
||||
|
||||
.background {
|
||||
background: url("../images/backgrounds/bg_main.jpg") no-repeat center fixed;
|
||||
background-size: cover;
|
||||
position: fixed;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
z-index: -10;
|
||||
}
|
||||
|
||||
.index-background {
|
||||
background: url("../images/backgrounds/bg_main.jpg") no-repeat center fixed;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
#bg_pekhint {
|
||||
background: url("../images/backgrounds/bg_pekhint.jpg") no-repeat center fixed;
|
||||
background-size: cover;
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
|
||||
}
|
||||
|
||||
#bg_pek {
|
||||
background: url("../images/backgrounds/bg_peksu.jpg");
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
#bg_boom {
|
||||
background: url("../images/backgrounds/bg_boomi.jpg");
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
#main-fading-top-edge {
|
||||
height: 200px;
|
||||
background: linear-gradient(to top, #1c1c1c, transparent 90%);
|
||||
}
|
||||
|
||||
#main-fading-bottom-edge {
|
||||
height: 200px;
|
||||
background: linear-gradient(to bottom, #1c1c1c, transparent 90%);
|
||||
}
|
||||
|
||||
#main-content-wrap {
|
||||
background: #1c1c1c;
|
||||
}
|
||||
|
||||
#main-content {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
#footer-wrap {
|
||||
padding: 50px 0 50px 0;
|
||||
}
|
||||
|
||||
.com-container {
|
||||
margin: 5% 0 50px 5%;
|
||||
width: 90%;
|
||||
border: 1px solid #494949;
|
||||
}
|
||||
|
||||
|
||||
#table-coms {
|
||||
width: 100%;
|
||||
table-layout: auto;
|
||||
text-align: center;
|
||||
border: none;
|
||||
margin-bottom: 0;
|
||||
|
||||
}
|
||||
|
||||
#table-coms .spacer {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
#table-coms td {
|
||||
vertical-align: middle;
|
||||
border: none;
|
||||
padding: 0;
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
#table-coms img {
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
.com-description {
|
||||
width: 100%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#back-button {
|
||||
top: 0;
|
||||
left: 0;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000;
|
||||
opacity: 0;
|
||||
z-index: -100;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.active-background {
|
||||
z-index: 100 !important;
|
||||
opacity: 0.7 !important;
|
||||
}
|
||||
|
||||
.main-button {
|
||||
background-color: #1a1a1a;
|
||||
padding: 3px 6px 3px 6px;
|
||||
border-radius: 5px;
|
||||
text-shadow: 0 0 5px #1c1c1c;
|
||||
font-size: 25px;
|
||||
color: #dc4b33;
|
||||
box-shadow: 0 0 4px #000;
|
||||
margin:2px;
|
||||
}
|
||||
|
||||
/* 2020 */
|
||||
#hideenigma{
|
||||
color: #acacac;
|
||||
|
||||
}
|
||||
#hide {
|
||||
color: aliceblue;
|
||||
}
|
||||
|
||||
.main-button:hover {
|
||||
box-shadow: 0 0 10px #000;
|
||||
background-color: #635247;
|
||||
}
|
||||
|
||||
#credits-list {
|
||||
list-style: none;
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
#credits-list li {
|
||||
padding: 10px;
|
||||
margin: auto;
|
||||
font-size: 3rem;
|
||||
}
|
||||
|
||||
#credits-list a:hover {
|
||||
color: #a3a7b3;
|
||||
}
|
||||
|
||||
#credits-liste {
|
||||
color: #b5b5b5;
|
||||
}
|
||||
|
||||
#main-pages {
|
||||
width: 100%;
|
||||
display: inline-grid;
|
||||
padding: 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
|
||||
#homeSubtitle {
|
||||
text-shadow: 0 0 10px #000;
|
||||
}
|
||||
|
||||
.main-link {
|
||||
width: 85px;
|
||||
height: 85px;
|
||||
margin: 2px;
|
||||
display: inline-grid;
|
||||
vertical-align: middle;
|
||||
padding: 0;
|
||||
color: #e0e0e0;
|
||||
text-shadow: 0 0 10px #000;
|
||||
}
|
||||
|
||||
.main-link:hover {
|
||||
color: rgba(233, 184, 47, 0.8);
|
||||
}
|
||||
|
||||
#homeText {
|
||||
color: white;
|
||||
background-color: rgba(28, 28, 28, 0.7);
|
||||
border-radius: 2rem;
|
||||
padding: 10px;
|
||||
box-shadow: 0 0 10px #1c1c1c;
|
||||
}
|
||||
|
||||
.main-logo {
|
||||
font-size: 70px;
|
||||
margin: auto;
|
||||
display: inline-flex;
|
||||
text-shadow: 0 0 10px #000;
|
||||
}
|
||||
|
||||
.main-logo svg {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.main-logo img {
|
||||
width: 90%;
|
||||
margin: auto;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
#list-blouse {
|
||||
text-align: left;
|
||||
list-style: square;
|
||||
}
|
||||
|
||||
#map svg path {
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
#hint {
|
||||
font-size: 12px;
|
||||
color: #535353;
|
||||
}
|
||||
|
||||
/* Popups */
|
||||
.jconfirm-bg {
|
||||
background-color: rgba(26, 26, 26, 0.9) !important;
|
||||
}
|
||||
|
||||
.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-title {
|
||||
font-family: Harry-P, fantasy;
|
||||
font-size: 3rem;
|
||||
}
|
||||
|
||||
.jconfirm .jconfirm-box.loading {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.jconfirm .jconfirm-box.loading::before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Color of the spinning icon */
|
||||
.jconfirm .jconfirm-box.loading::after {
|
||||
border-bottom-color: #ed0223;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.jconfirm .jconfirm-box div.jconfirm-content {
|
||||
padding-bottom: 50px;
|
||||
}
|
||||
|
||||
.jconfirm.jconfirm-supervan .jconfirm-box .jconfirm-buttons button {
|
||||
font-family: Harry-P,fantasy;
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.quote {
|
||||
font-family: 'Allura', cursive;
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
#menuLink:hover {
|
||||
text-shadow: 0 0 10px #bd8a39;
|
||||
}
|
||||
|
||||
/* Map loading */
|
||||
#loading-screen {
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
/*top: 0; */
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 50%;
|
||||
background-color: #000000;
|
||||
opacity: 1;
|
||||
transition: 1s opacity;
|
||||
}
|
||||
|
||||
#loading-screen.fade-out {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.loader {
|
||||
display: block;
|
||||
position: relative;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
margin: -75px 0 0 -75px;
|
||||
border-radius: 50%;
|
||||
border: 3px solid transparent;
|
||||
border-top-color: #9370DB;
|
||||
-webkit-animation: spin 2s linear infinite;
|
||||
animation: spin 2s linear infinite;
|
||||
}
|
||||
.loader:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
left: 5px;
|
||||
right: 5px;
|
||||
bottom: 5px;
|
||||
border-radius: 50%;
|
||||
border: 3px solid transparent;
|
||||
border-top-color: #BA55D3;
|
||||
-webkit-animation: spin 3s linear infinite;
|
||||
animation: spin 3s linear infinite;
|
||||
}
|
||||
.loader:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 15px;
|
||||
left: 15px;
|
||||
right: 15px;
|
||||
bottom: 15px;
|
||||
border-radius: 50%;
|
||||
border: 3px solid transparent;
|
||||
border-top-color: #FF00FF;
|
||||
-webkit-animation: spin 1.5s linear infinite;
|
||||
animation: spin 1.5s linear infinite;
|
||||
}
|
||||
@-webkit-keyframes spin {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
-ms-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
-ms-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@keyframes spin {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
-ms-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
-ms-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
Small Device Styles
|
||||
*******************************************************************************/
|
||||
|
||||
@media screen and (max-width: 992px) {
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 480px) {
|
||||
body {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.video {
|
||||
width: 240px;
|
||||
height: 135px;
|
||||
}
|
||||
|
||||
.inner {
|
||||
min-width: 320px;
|
||||
max-width: 480px;
|
||||
}
|
||||
|
||||
#title {
|
||||
font-size: 32px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 21px;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
code, pre {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
#table-wrapper {
|
||||
width: 100%;
|
||||
overflow: scroll;
|
||||
}
|
||||
|
||||
#table-coms .spacer {
|
||||
width: 0;
|
||||
}
|
||||
|
||||
#table-coms td {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.main-link {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.main-logo {
|
||||
font-size: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 320px) {
|
||||
body {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.inner {
|
||||
min-width: 240px;
|
||||
max-width: 320px;
|
||||
}
|
||||
|
||||
#title {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 21px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
code, pre {
|
||||
min-width: 240px;
|
||||
max-width: 320px;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
#table-wrapper {
|
||||
width: 100%;
|
||||
overflow: scroll;
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
Timer style
|
||||
*******************************************************************************/
|
||||
|
||||
#timer-space{
|
||||
letter-spacing: 2px;
|
||||
}
|
Before Width: | Height: | Size: 205 KiB |
Before Width: | Height: | Size: 176 KiB |
Before Width: | Height: | Size: 160 KiB |
Before Width: | Height: | Size: 305 KiB |
Before Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 395 KiB |
Before Width: | Height: | Size: 281 KiB |
Before Width: | Height: | Size: 193 KiB |
Before Width: | Height: | Size: 114 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 395 KiB |
Before Width: | Height: | Size: 9.4 KiB |
|
@ -1,63 +0,0 @@
|
|||
""" Created by Ronan Bonnet
|
||||
On 23 July 2021, 02:51
|
||||
|
||||
Petite énigme pour les Phutures Programmeurs Aixpérimentés
|
||||
Tip : réécrire le code en version + joli, c'est volontairement moche ;)
|
||||
Bonus : Difficulté augmentée car j'ai oublié de sauvegarder la première fois que je l'ai fait :(
|
||||
"""
|
||||
|
||||
unknown = "" # Le code que tu cherches se trouvait jadis ici..
|
||||
key = "" # Je te laisse la trouver, si t'as un doute et que t'avances pas, envoie mp à @ronan.hpp sur Instagram
|
||||
|
||||
""" Chiffre un message en utilisant un algorithme fait par mes soins (si vous trouvez le nom de celui-ci je suis preneur)
|
||||
On se Base sur la table ASCII dans le groupe des caractères Imprimables.
|
||||
Renvoie le message chiffré
|
||||
"""
|
||||
def encode(msg):
|
||||
res = ""
|
||||
odd = []
|
||||
fan = "ventilateur" # C'est Le mot en Anglais
|
||||
for i in range(len(msg)):
|
||||
odd += msg[i]
|
||||
res += chr((sum(ord(ch) - 32 for ch in odd) + ord(key[i % len(key)]) - 32) % 92 + 32 )
|
||||
return res
|
||||
|
||||
""" Déchiffre le message
|
||||
...J'Ai déjà assez codé pour aujourd'hui, prend le relai !
|
||||
Renvoie le message déchiffré
|
||||
"""
|
||||
def decode(msg):
|
||||
res = ""
|
||||
#
|
||||
return res
|
||||
|
||||
"""
|
||||
Immédiatement les résultats :
|
||||
|
||||
1.
|
||||
Input : askip vous avez fait du Python au lycee
|
||||
Output : .J>u(\qjZTZ=)RuzRRs*'zedb(e&sTa998/"%fAj
|
||||
|
||||
2.
|
||||
Input : Trouve la clef et le message secret
|
||||
Output : !<4w0Mh^:=*tOyB0r1UY_G30%X'5:{#>O>-
|
||||
|
||||
3.
|
||||
Input : Je suis gentil, je vous laisse des exemples
|
||||
Output : s%*k#DV\>*"tS'X]9=q*#oio]4a!yPk+/,#kmT7k$nS
|
||||
|
||||
4.
|
||||
Input : Bon, ok, c'est pas facile...
|
||||
Output : k'zt3ZdvmWdK4l5.]oGL7qaW>>0c
|
||||
|
||||
5.
|
||||
Input : Mais la clef est simple!
|
||||
Output : v$rWr::@zm\D6_{xfx=IC*ry
|
||||
|
||||
6.
|
||||
Input :
|
||||
Output : "9>m%QbQH2+mH,:6x7RR?"6<"U+GL!%QdSJ^VAzO]j5Cp/&^I86 LZ_25cc[9%x_C{DcQ8QSH(!'qH,#IjJ"&zq@zIgT
|
||||
|
||||
"""
|
||||
code = str('"9>m%QbQH2+mH,:6x7RR?"6<"U+GL!%QdSJ^VAzO]j5Cp/&^I86 LZ_25cc[9%x_C{DcQ8QSH(!\'qH,#IjJ"&zq@zIgT')
|
||||
print(decode(code))
|
Before Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 258 KiB |
Before Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 404 KiB |
Before Width: | Height: | Size: 134 KiB |
Before Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 175 KiB |
Before Width: | Height: | Size: 151 KiB |
Before Width: | Height: | Size: 279 KiB |
Before Width: | Height: | Size: 3.1 MiB |
Before Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 188 KiB |
Before Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 298 KiB |
Before Width: | Height: | Size: 851 KiB |
Before Width: | Height: | Size: 496 KiB |
Before Width: | Height: | Size: 127 KiB |
Before Width: | Height: | Size: 274 KiB |
Before Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 820 KiB |
Before Width: | Height: | Size: 353 KiB |
Before Width: | Height: | Size: 558 KiB |
Before Width: | Height: | Size: 676 KiB |
Before Width: | Height: | Size: 472 KiB |
Before Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 107 KiB |
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 156 KiB |
Before Width: | Height: | Size: 204 KiB |
Before Width: | Height: | Size: 242 KiB |
Before Width: | Height: | Size: 253 KiB |
Before Width: | Height: | Size: 486 KiB |
Before Width: | Height: | Size: 306 KiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 5.6 MiB |
Before Width: | Height: | Size: 963 KiB |