From 416264b53c14efeafc77f20be378aa4d1eb32ce4 Mon Sep 17 00:00:00 2001 From: galaxyoyo Date: Thu, 12 Sep 2019 15:35:16 +0200 Subject: [PATCH] Calendrier --- dispatcher.php | 1 + server_files/controllers/calendrier.php | 79 ++++++++++++++++++++ server_files/model.php | 2 +- server_files/views/calendrier.php | 96 +++++++++++++++++++++++++ server_files/views/problemes.php | 19 +++-- 5 files changed, 192 insertions(+), 5 deletions(-) create mode 100644 server_files/controllers/calendrier.php create mode 100644 server_files/views/calendrier.php diff --git a/dispatcher.php b/dispatcher.php index 6f347a9..c2d838f 100644 --- a/dispatcher.php +++ b/dispatcher.php @@ -25,6 +25,7 @@ $ROUTES = []; $ROUTES["^(|accueil|index|accueil\.php|accueil\.html|accueil\.py|index\.php|index\.html|index\.py)$"] = ["server_files/controllers/index.php"]; $ROUTES["^ajouter_equipe$"] = ["server_files/controllers/ajouter_equipe.php"]; +$ROUTES["^calendrier$"] = ["server_files/controllers/calendrier.php"]; $ROUTES["^confirmer_mail/([a-z0-9]*)/?$"] = ["server_files/controllers/confirmer_mail.php", "token"]; $ROUTES["^connexion/(confirmation-mail)/?$"] = ["server_files/controllers/connexion.php", "confirmation-mail"]; $ROUTES["^connexion/(mdp_oublie)/?$"] = ["server_files/controllers/connexion.php", "mdp_oublie"]; diff --git a/server_files/controllers/calendrier.php b/server_files/controllers/calendrier.php new file mode 100644 index 0000000..1075ddb --- /dev/null +++ b/server_files/controllers/calendrier.php @@ -0,0 +1,79 @@ +makeVerifications(); + $update_calendar->updateCalendar(); + } catch (AssertionError $e) { + $has_error = true; + $error_message = $e->getMessage(); + } +} + +class UpdateCalendar +{ + private $date_inscription; + private $time_inscription; + private $date_start_phase1; + private $time_start_phase1; + private $date_end_phase1; + private $time_end_phase1; + private $date_start_phase2; + private $time_start_phase2; + private $date_end_phase2; + private $time_end_phase2; + private $date_start_phase3; + private $time_start_phase3; + private $date_end_phase3; + private $time_end_phase3; + private $date_start_phase4; + private $time_start_phase4; + private $date_end_phase4; + private $time_end_phase4; + + public function __construct($data) + { + foreach ($data as $key => $value) + $this->$key = htmlspecialchars($value); + } + + public function makeVerifications() + { + ensure(dateWellFormed($this->date_inscription . " " . $this->time_inscription), "La date d'inscription n'est pas bien formée."); + ensure(dateWellFormed($this->date_start_phase1 . " " . $this->time_start_phase1), "La date de début de la phase 1 n'est pas bien formée."); + ensure(dateWellFormed($this->date_end_phase1 . " " . $this->time_end_phase1), "La date de fin de la phase 1 n'est pas bien formée."); + ensure(dateWellFormed($this->date_start_phase2 . " " . $this->time_start_phase2), "La date de début de la phase 2 n'est pas bien formée."); + ensure(dateWellFormed($this->date_end_phase2 . " " . $this->time_end_phase2), "La date de fin de la phase 2 n'est pas bien formée."); + ensure(dateWellFormed($this->date_start_phase3 . " " . $this->time_start_phase3), "La date de début de la phase 3 n'est pas bien formée."); + ensure(dateWellFormed($this->date_end_phase3 . " " . $this->time_end_phase3), "La date de fin de la phase 3 n'est pas bien formée."); + ensure(dateWellFormed($this->date_start_phase4 . " " . $this->time_start_phase4), "La date de début de la phase 4 n'est pas bien formée."); + ensure(dateWellFormed($this->date_end_phase4 . " " . $this->time_end_phase4), "La date de fin de la phase 4 n'est pas bien formée."); + } + + public function updateCalendar() + { + global $CONFIG, $URL_BASE; + + $CONFIG->setInscriptionDate($this->date_inscription . " " . $this->time_inscription); + $CONFIG->setStartPhase1Date($this->date_start_phase1 . " " . $this->time_start_phase1); + $CONFIG->setEndPhase1Date($this->date_end_phase1 . " " . $this->time_end_phase1); + $CONFIG->setStartPhase2Date($this->date_start_phase2 . " " . $this->time_start_phase2); + $CONFIG->setEndPhase2Date($this->date_end_phase2 . " " . $this->time_end_phase2); + $CONFIG->setStartPhase3Date($this->date_start_phase3 . " " . $this->time_start_phase3); + $CONFIG->setEndPhase3Date($this->date_end_phase3 . " " . $this->time_end_phase3); + $CONFIG->setStartPhase4Date($this->date_start_phase4 . " " . $this->time_start_phase4); + $CONFIG->setEndPhase4Date($this->date_end_phase4 . " " . $this->time_end_phase4); + + header("Location: $URL_BASE/problemes"); + exit(); + } +} + +require_once "server_files/views/calendrier.php"; \ No newline at end of file diff --git a/server_files/model.php b/server_files/model.php index a22a0e1..4cc47dd 100644 --- a/server_files/model.php +++ b/server_files/model.php @@ -55,7 +55,7 @@ function quitTeam() else $DB->exec("UPDATE `teams` SET `encadrant` = NULL WHERE `encadrant` = $user_id;"); $user->setTeamId(null); - for ($i = 1; $i <= 5; ++$i) { + for ($i = 1; $i <= 4; ++$i) { /** @noinspection SqlResolve */ $DB->exec("UPDATE `teams` SET `participant_$i` = `participant_" . strval($i + 1) . "`, `participant_" . strval($i + 1) . "` = NULL WHERE `participant_$i` IS NULL;"); } diff --git a/server_files/views/calendrier.php b/server_files/views/calendrier.php new file mode 100644 index 0000000..3596e4e --- /dev/null +++ b/server_files/views/calendrier.php @@ -0,0 +1,96 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ +
+
+ + Problème - Inscription avant le @@ -15,7 +14,6 @@ ?> - getInscriptionDate(), true) ?> Problème - Inscription avant le - +
+ +

Calendrier

+ +Inscription avant le : getInscriptionDate(), true) ?>
+Phase 1 : Du getStartPhase1Date(), true) ?> au getEndPhase1Date(), true) ?>
+Phase 2 : Du getStartPhase2Date(), true) ?> au getEndPhase2Date(), true) ?>
+Phase 3 : Du getStartPhase3Date(), true) ?> au getEndPhase3Date(), true) ?>
+Phase 4 : Du getStartPhase4Date(), true) ?> au getEndPhase4Date(), true) ?>
+ + +Modifier le calendrier +