diff --git a/dispatcher.php b/dispatcher.php index 8d970d9..9284f20 100644 --- a/dispatcher.php +++ b/dispatcher.php @@ -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"]; diff --git a/server_files/config.php b/server_files/config.php index 459906c..9cbd5c6 100644 --- a/server_files/config.php +++ b/server_files/config.php @@ -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(); diff --git a/server_files/controllers/index.php b/server_files/controllers/index.php index a884dca..ac3d338 100644 --- a/server_files/controllers/index.php +++ b/server_files/controllers/index.php @@ -1,3 +1,16 @@ setIndexPage(htmlspecialchars($content)); + header("Location: /"); + exit(0); + } +} + require_once "server_files/views/index.php"; diff --git a/server_files/views/index.html b/server_files/views/index.html new file mode 100644 index 0000000..3cacbfb --- /dev/null +++ b/server_files/views/index.html @@ -0,0 +1,63 @@ +
+ +
+
+

+ Bienvenue sur le site d'inscription aux + Correspondances des Jeunes Mathématicien·ne·s ! +

+
+
+
+
+

+ Tu souhaites participer aux Correspondances ? +
+ Ton équipe est déjà formée ? +

+
+ +
+ +
+
Comment ça marche ?
+

+ Pour participer aux Correspondances, il suffit de créer un compte sur la rubrique Inscription. + Vous devrez ensuite confirmer votre adresse e-mail. +

+ +

+ Vous pouvez accéder à votre compte via la rubrique Connexion. 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. +

+ +
+ Attention aux dates ! Si vous ne finalisez pas votre inscription dans le délai indiqué, vous + ne pourrez malheureusement pas participer aux Correspondances. +
+ +
+ Si votre équipe est déjà formée mais que vous peinez à trouver un encadrant, n'hésitez pas à nous contacter à l'adresse + contact@correspondances-maths.fr pour que nous vous aidions à + vous mettre éventuellement en contact avec un encadrant de votre région. +
+
+ + +
+ Ce site est récent et il est encore possible que certaines pages ne fonctionnent + pas correctement. +
+ Si vous remarquez des bugs, merci de les signaler à l'adresse + contact@correspondances-maths.fr. +
+ +
\ No newline at end of file diff --git a/server_files/views/index.php b/server_files/views/index.php index 220cd13..ccf963b 100644 --- a/server_files/views/index.php +++ b/server_files/views/index.php @@ -1,68 +1,26 @@ - + +if (isset($_GET["edit"])) { ?> +
+ + -
-
-

- Bienvenue sur le site d'inscription aux - Correspondances des Jeunes Mathématicien·ne·s ! -

-
-
-
-
-

- Tu souhaites participer aux Correspondances ? -
- Ton équipe est déjà formée ? -

-
- +
+ +
+
+ + -
Comment ça marche ?
-

- Pour participer aux Correspondances, il suffit de créer un compte sur la rubrique Inscription. - Vous devrez ensuite confirmer votre adresse e-mail. -

+ echo htmlspecialchars_decode($CONFIG->getIndexPage()); -

- Vous pouvez accéder à votre compte via la rubrique Connexion. 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. -

+ if (isset($_SESSION["user_id"]) && $_SESSION["role"] == Role::ADMIN) { ?> +
+ + Modifier la page + + - Attention aux dates ! Si vous ne finalisez pas votre inscription dans le délai indiqué, vous - ne pourrez malheureusement pas participer aux Correspondances. -
- -
- Si votre équipe est déjà formée mais que vous peinez à trouver un encadrant, n'hésitez pas à nous contacter à l'adresse - contact@correspondances-maths.fr pour que nous vous aidions à - vous mettre éventuellement en contact avec un encadrant de votre région. -
- - - -
- Ce site est récent et il est encore possible que certaines pages ne fonctionnent - pas correctement. -
- Si vous remarquez des bugs, merci de les signaler à l'adresse - contact@correspondances-maths.fr. -
- - - - - \ No newline at end of file +require_once "footer.php"; \ No newline at end of file