1
0
mirror of https://gitlab.com/animath/si/plateforme-corres2math.git synced 2025-01-06 00:22:21 +00:00

Possibilité de modification de la page d'accueil

This commit is contained in:
Yohann 2019-10-17 00:35:06 +02:00
parent a580086312
commit b571598a3c
5 changed files with 118 additions and 66 deletions

View File

@ -27,7 +27,8 @@ $ROUTES = [];
# URL paths
$ROUTES["^(|accueil|index|accueil\.php|accueil\.html|accueil\.py|index\.php|index\.html|index\.py)$"] = ["server_files/controllers/index.php"];
$ROUTES["^(|accueil|index|accueil\.php|accueil\.html|accueil\.py|index\.php|index\.html|index\.py)/?$"] = ["server_files/controllers/index.php"];
$ROUTES["^(modifier-page)$"] = ["server_files/controllers/index.php", "edit"];
$ROUTES["^ajouter-equipe$"] = ["server_files/controllers/ajouter_equipe.php"];
$ROUTES["^ajouter-admin$"] = ["server_files/controllers/ajouter_admin.php"];
$ROUTES["^calendrier/(modifier)$"] = ["server_files/controllers/calendrier.php", "edit"];

View File

@ -39,17 +39,21 @@ class Config
private $end_phase3_date;
private $start_phase4_date;
private $end_phase4_date;
private $index_page;
public function initDB()
{
global $DB;
global $DB, $LOCAL_PATH;
$index_template_page = htmlspecialchars(file_get_contents($LOCAL_PATH . "/server_files/views/index.html"));
$DB->exec("SET GLOBAL time_zone = 'Europe/Paris';");
$DB->exec("INSERT IGNORE INTO `config` VALUES ('inscription_date', CURRENT_TIMESTAMP + INTERVAL 2 DAY),
$DB->prepare("INSERT IGNORE INTO `config` VALUES ('inscription_date', CURRENT_TIMESTAMP + INTERVAL 2 DAY),
('start_phase1_date', CURRENT_TIMESTAMP + INTERVAL 1 DAY), ('end_phase1_date', CURRENT_TIMESTAMP + INTERVAL 3 DAY),
('start_phase2_date', CURRENT_TIMESTAMP + INTERVAL 4 DAY), ('end_phase2_date', CURRENT_TIMESTAMP + INTERVAL 5 DAY),
('start_phase3_date', CURRENT_TIMESTAMP + INTERVAL 6 DAY), ('end_phase3_date', CURRENT_TIMESTAMP + INTERVAL 7 DAY),
('start_phase4_date', CURRENT_TIMESTAMP + INTERVAL 8 DAY), ('end_phase4_date', CURRENT_TIMESTAMP + INTERVAL 9 DAY);");
('start_phase4_date', CURRENT_TIMESTAMP + INTERVAL 8 DAY), ('end_phase4_date', CURRENT_TIMESTAMP + INTERVAL 9 DAY),
('index_page', ?);")->execute([$index_template_page]);
}
public function loadConfigValues()
@ -180,6 +184,19 @@ class Config
$this->end_phase4_date = $end_phase4_date;
}
public function getIndexPage()
{
return $this->index_page;
}
public function setIndexPage($index_page)
{
global $DB;
$DB->prepare("UPDATE `config` SET `value` = ? WHERE `key` = 'index_page';")->execute([$index_page]);
$this->index_page = $index_page;
}
}
session_start();

View File

@ -1,3 +1,16 @@
<?php
if (isset($_GET["edit"])) {
if (!isset($_SESSION["user_id"]) || $_SESSION["role"] != Role::ADMIN)
require_once "server_files/403.php";
if (isset($_POST["edit_page"])) {
$content = $_POST["content"];
$CONFIG->setIndexPage(htmlspecialchars($content));
header("Location: /");
exit(0);
}
}
require_once "server_files/views/index.php";

View File

@ -0,0 +1,63 @@
<div>
<div class="jumbotron bg-white">
<div class="row">
<h1 class="display-3">
Bienvenue sur le site d'inscription aux <a href="https://correspondances-maths.fr/" target="_blank">
Correspondances des Jeunes Mathématicien·ne·s</a> !
</h1>
</div>
</div>
<div class="row jumbotron bg-white">
<div class="col-sm">
<h3>
Tu souhaites participer aux Correspondances ?
<br/>
Ton équipe est déjà formée ?
</h3>
</div>
<div class="col-sm text-right">
<div class="btn-group-vertical">
<a class="btn btn-primary btn-lg" href="/inscription" role="button">Inscris-toi maintenant !</a>
<a class="btn btn-light btn-lg" href="/connexion" role="button">J'ai déjà un compte</a>
</div>
</div>
</div>
<div class="jumbotron">
<h5 class="display-4">Comment ça marche ?</h5>
<p>
Pour participer aux Correspondances, il suffit de créer un compte sur la rubrique <strong>Inscription</strong>.
Vous devrez ensuite confirmer votre adresse e-mail.
</p>
<p>
Vous pouvez accéder à votre compte via la rubrique <b>Connexion</b>. Une fois connecté, vous pourrez créer une équipe
ou en rejoindre une déjà créée par l'un de vos camarades via un code d'accès qui vous aura été transmis. Vous serez ensuite
invité à soumettre une autorisation de droit à l'image, indispensable au bon déroulement des Correspondances. Une fois que votre équipe
comporte au moins 3 participants (maximum 5) et un encadrant, vous pourrez demander à valider votre équipe pour
être apte à travailler sur le problème de votre choix.
</p>
<div class="alert alert-warning">
<strong>Attention aux dates !</strong> Si vous ne finalisez pas votre inscription dans le délai indiqué, vous
ne pourrez malheureusement pas participer aux Correspondances.
</div>
<div class="alert alert-info">
Si votre équipe est déjà formée mais que vous peinez à trouver un encadrant, n'hésitez pas à nous contacter à l'adresse
<a href="mailto:contact@correspondances-maths.fr">contact@correspondances-maths.fr</a> pour que nous vous aidions à
vous mettre éventuellement en contact avec un encadrant de votre région.
</div>
</div>
<div class="alert alert-light">
Ce site est récent et il est encore possible que certaines pages ne fonctionnent
pas correctement.
<br/>
Si vous remarquez des bugs, merci de les signaler à l'adresse
<a href="mailto:contact@correspondances-maths.fr">contact@correspondances-maths.fr</a>.
</div>
</div>

View File

@ -1,68 +1,26 @@
<?php require_once "header.php" ?>
<?php require_once "header.php";
<div>
if (isset($_GET["edit"])) { ?>
<form method="POST">
<label for="content">Contenu de la page :</label>
<textarea id="content" name="content" class="form-control" rows="<?= substr_count($CONFIG->getIndexPage(), "\n") + 1 ?>"><?php echo $CONFIG->getIndexPage() ?></textarea>
<div class="jumbotron bg-white">
<div class="row">
<h1 class="display-3">
Bienvenue sur le site d'inscription aux <a href="https://correspondances-maths.fr/" target="_blank">
Correspondances des Jeunes Mathématicien·ne·s</a> !
</h1>
</div>
</div>
<div class="row jumbotron bg-white">
<div class="col-sm">
<h3>
Tu souhaites participer aux Correspondances ?
<br/>
Ton équipe est déjà formée ?
</h3>
</div>
<div class="col-sm text-right">
<div class="btn-group-vertical">
<a class="btn btn-primary btn-lg" href="/inscription" role="button">Inscris-toi maintenant !</a>
<a class="btn btn-light btn-lg" href="/connexion" role="button">J'ai déjà un compte</a>
</div>
</div>
<hr />
<div class="form-group row">
<input class="btn btn-primary btn-lg btn-block" name="edit_page" type="submit" value="Modifier"/>
</div>
</form>
<?php } else {
<div class="jumbotron">
<h5 class="display-4">Comment ça marche ?</h5>
<p>
Pour participer aux Correspondances, il suffit de créer un compte sur la rubrique <strong>Inscription</strong>.
Vous devrez ensuite confirmer votre adresse e-mail.
</p>
echo htmlspecialchars_decode($CONFIG->getIndexPage());
<p>
Vous pouvez accéder à votre compte via la rubrique <b>Connexion</b>. Une fois connecté, vous pourrez créer une équipe
ou en rejoindre une déjà créée par l'un de vos camarades via un code d'accès qui vous aura été transmis. Vous serez ensuite
invité à soumettre une autorisation de droit à l'image, indispensable au bon déroulement des Correspondances. Une fois que votre équipe
comporte au moins 3 participants (maximum 5) et un encadrant, vous pourrez demander à valider votre équipe pour
être apte à travailler sur le problème de votre choix.
</p>
if (isset($_SESSION["user_id"]) && $_SESSION["role"] == Role::ADMIN) { ?>
<hr/>
<a class="btn btn-primary btn-block btn-lg" style="background-color: #ff2e34;" href="/modifier-page">
Modifier la page
</a>
<?php }
}
<div class="alert alert-warning">
<strong>Attention aux dates !</strong> Si vous ne finalisez pas votre inscription dans le délai indiqué, vous
ne pourrez malheureusement pas participer aux Correspondances.
</div>
<div class="alert alert-info">
Si votre équipe est déjà formée mais que vous peinez à trouver un encadrant, n'hésitez pas à nous contacter à l'adresse
<a href="mailto:contact@correspondances-maths.fr">contact@correspondances-maths.fr</a> pour que nous vous aidions à
vous mettre éventuellement en contact avec un encadrant de votre région.
</div>
</div>
<div class="alert alert-light">
Ce site est récent et il est encore possible que certaines pages ne fonctionnent
pas correctement.
<br/>
Si vous remarquez des bugs, merci de les signaler à l'adresse
<a href="mailto:contact@correspondances-maths.fr">contact@correspondances-maths.fr</a>.
</div>
</div>
<?php require_once "footer.php" ?>
require_once "footer.php";