diff --git a/.idea/webServers.xml b/.idea/webServers.xml deleted file mode 100644 index beec3c2..0000000 --- a/.idea/webServers.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/assets/style.css b/assets/style.css index 3a2b5f9..5c8d3ff 100644 --- a/assets/style.css +++ b/assets/style.css @@ -1,8 +1,47 @@ +html, body { + height: 100%; + margin: 0; +} + :root { --navbar-height: 32px; } +.container { + min-height: 78%; +} + +.inner { + margin: 20px; +} + +.alert { + text-align: justify; +} + + +footer .alert { + text-align: center; +} + #navbar-logo { height: var(--navbar-height); display: block; -} \ No newline at end of file +} + +ul .deroule { + display: none; + position: absolute; + background: #f8f9fa !important; + list-style-type: none; + padding: 20px; + z-index: 42; +} + +li:hover ul.deroule { + display:block; +} + +a.nav-link:hover { + background-color: #d8d9da; +} diff --git a/dispatcher.php b/dispatcher.php index 23abe0a..1e85705 100644 --- a/dispatcher.php +++ b/dispatcher.php @@ -38,9 +38,9 @@ $ROUTES["^equipe/([A-Z]{3})/?$"] = ["server_files/controllers/equipe.php", "trig $ROUTES["^file/([a-z0-9]{64})/?$"] = ["server_files/controllers/view_file.php", "file_id"]; $ROUTES["^informations/([0-9]*)/.*?$"] = ["server_files/controllers/informations.php", "id"]; $ROUTES["^inscription/?$"] = ["server_files/controllers/inscription.php"]; -$ROUTES["^mon_compte/?$"] = ["server_files/controllers/mon_compte.php"]; -$ROUTES["^mon_equipe/(modifier)/?$"] = ["server_files/controllers/mon_equipe.php", "modifier"]; -$ROUTES["^mon_equipe/?$"] = ["server_files/controllers/mon_equipe.php"]; +$ROUTES["^mon-compte/?$"] = ["server_files/controllers/mon_compte.php"]; +$ROUTES["^mon-equipe/(modifier)/?$"] = ["server_files/controllers/mon_equipe.php", "modifier"]; +$ROUTES["^mon-equipe/?$"] = ["server_files/controllers/mon_equipe.php"]; $ROUTES["^rejoindre_equipe/?$"] = ["server_files/controllers/rejoindre_equipe.php"]; $ROUTES["^solutions/?$"] = ["server_files/controllers/solutions.php"]; $ROUTES["^solutions_orga/?$"] = ["server_files/controllers/solutions_orga.php"]; diff --git a/server_files/classes/SchoolClass.php b/server_files/classes/SchoolClass.php index cde1604..6a6efd1 100644 --- a/server_files/classes/SchoolClass.php +++ b/server_files/classes/SchoolClass.php @@ -5,6 +5,7 @@ class SchoolClass const SECONDE = 0; const PREMIERE = 1; const TERMINALE = 2; + const ADULT = 3; public static function getTranslatedName($class) { switch ($class) { @@ -12,8 +13,12 @@ class SchoolClass return "Seconde ou inférieur"; case self::PREMIERE: return "Première"; - default: + case self::TERMINALE: return "Terminale"; + case self::ADULT: + return "Adulte"; + default: + return null; } } @@ -23,8 +28,12 @@ class SchoolClass return "SECONDE"; case self::PREMIERE: return "PREMIERE"; - default: + case self::TERMINALE: return "TERMINALE"; + case self::ADULT: + return "ADULT"; + default: + return null; } } @@ -34,8 +43,12 @@ class SchoolClass return self::SECONDE; case "PREMIERE": return self::PREMIERE; - default: + case "TERMINALE": return self::TERMINALE; + case "ADULT": + return self::ADULT; + default: + return null; } } } \ No newline at end of file diff --git a/server_files/controllers/ajouter_equipe.php b/server_files/controllers/ajouter_equipe.php index 6043bcd..9b8b4b7 100644 --- a/server_files/controllers/ajouter_equipe.php +++ b/server_files/controllers/ajouter_equipe.php @@ -3,12 +3,12 @@ if (!isset($_SESSION["role"]) || ($_SESSION["role"] != Role::PARTICIPANT && $_SESSION["role"] != Role::ENCADRANT)) require_once "server_files/403.php"; -$tournaments_response = $DB->query("SELECT `id`, `name` FROM `tournaments` WHERE `date_inscription` > CURRENT_DATE AND `year` = '$YEAR';"); +$tournaments_response = $DB->query("SELECT `id`, `name` FROM `tournaments` WHERE `date_inscription` > CURRENT_TIMESTAMP AND `year` = $YEAR;"); $has_error = false; $error_message = null; -if (isset($_POST["submitted"])) { +if (isset($_POST["add_team"])) { $new_team = new NewTeam($_POST); try { $new_team->makeVerifications(); diff --git a/server_files/controllers/connexion.php b/server_files/controllers/connexion.php index 2fe94b2..47c8b69 100644 --- a/server_files/controllers/connexion.php +++ b/server_files/controllers/connexion.php @@ -3,7 +3,7 @@ $has_error = false; $error_message = null; -if (isset($_POST["submitted"]) && !isset($_SESSION["user_id"])) { +if (isset($_POST["login"]) && !isset($_SESSION["user_id"])) { $logging_in_user = new LoggingInUser($_POST); try { $logging_in_user->makeVerifications(); diff --git a/server_files/controllers/deconnexion.php b/server_files/controllers/deconnexion.php index 141953d..eb04b0a 100644 --- a/server_files/controllers/deconnexion.php +++ b/server_files/controllers/deconnexion.php @@ -4,5 +4,11 @@ unset($_SESSION["user_id"]); session_destroy(); require_once "server_files/views/header.php"; -echo "

Déconnexion réussie !

"; +?> + +
+ Déconnexion réussie ! +
+ +makeVerifications(); @@ -21,7 +21,7 @@ if (isset($_POST["submitted"])) { } } -if (isset($_POST["submitted_password"])) { +if (isset($_POST["update_password"])) { $new_password = new NewPassword($_POST); try { $new_password->makeVerifications(); @@ -63,8 +63,10 @@ class MyAccount $keys = ["email", "surname", "first_name", "birth_date", "gender", "address", "postal_code", "city", "country", "phone_number", "school", "class", "responsible_name", "responsible_phone", "responsible_email", "description"]; - if ($this->user->getRole() == Role::PARTICIPANT) - $this->class = SchoolClass::fromName($this->class); + if ($this->user->getRole() != Role::PARTICIPANT) + $this->class = SchoolClass::fromName(strtoupper($this->class)); + else + $this->class = SchoolClass::ADULT; foreach ($keys as $key) $this->$key = $this->$key != null && $this->$key != "" ? $this->$key : $this->user->$key; diff --git a/server_files/controllers/mon_equipe.php b/server_files/controllers/mon_equipe.php index bb14051..05d0198 100644 --- a/server_files/controllers/mon_equipe.php +++ b/server_files/controllers/mon_equipe.php @@ -134,7 +134,7 @@ class MyTeam $_SESSION["tournament"] = $this->tournament; - header("Location: $URL_BASE/mon_equipe"); + header("Location: $URL_BASE/mon-equipe"); } } diff --git a/server_files/controllers/rejoindre_equipe.php b/server_files/controllers/rejoindre_equipe.php index dadcf35..4379118 100644 --- a/server_files/controllers/rejoindre_equipe.php +++ b/server_files/controllers/rejoindre_equipe.php @@ -6,7 +6,7 @@ if (isset($_SESSION["team"]) || !isset($_SESSION["user"]) || ($_SESSION["role"] $has_error = false; $error_message = null; -if (isset($_POST["submitted"])) { +if (isset($_POST["join_team"])) { $join_team = new JoinTeam($_POST); try { $join_team->makeVerifications(); @@ -47,6 +47,8 @@ class JoinTeam public function joinTeam() { + global $team; + $user = $_SESSION["user"]; $user->setTeamId($this->team->getId()); @@ -56,7 +58,7 @@ class JoinTeam else $this->team->setParticipant($this->min_null_index, $user->getId()); - $_SESSION["team"] = $this->team; + $team = $_SESSION["team"] = $this->team; $tournament = $_SESSION["tournament"] = Tournament::fromId($this->team->getTournamentId()); Mailer::sendJoinTeamMail($user, $this->team, $tournament); diff --git a/server_files/controllers/solutions.php b/server_files/controllers/solutions.php index cab37a5..66262b7 100644 --- a/server_files/controllers/solutions.php +++ b/server_files/controllers/solutions.php @@ -36,7 +36,7 @@ class SaveSolution public function __construct() { - $this->file = $_FILES["document"]; + $this->file = $_FILES["solution"]; $this->problem = htmlspecialchars($_POST["problem"]); } diff --git a/server_files/controllers/syntheses.php b/server_files/controllers/syntheses.php index e2e2ec7..38be9cf 100644 --- a/server_files/controllers/syntheses.php +++ b/server_files/controllers/syntheses.php @@ -33,8 +33,8 @@ class SaveSynthesis public function __construct() { - $this->file = $_FILES["document"]; - $this->dest = DestType::fromName(strtoupper(htmlspecialchars($_POST["problem"]))); + $this->file = $_FILES["synthese"]; + $this->dest = DestType::fromName(strtoupper(htmlspecialchars($_POST["dest"]))); } public function makeVerifications() diff --git a/server_files/views/ajouter_equipe.php b/server_files/views/ajouter_equipe.php index bee55b2..8dba990 100644 --- a/server_files/views/ajouter_equipe.php +++ b/server_files/views/ajouter_equipe.php @@ -1,56 +1,53 @@ -if (isset($new_team) && !$has_error) { ?> - Votre équipe a bien été créée ! Voici le code d'accès à transmettre aux autres membres de votre équipe : access_code ?> +
+

Ajouter une équipe

+
+ + +
+ Votre équipe a bien été créée ! Voici le code d'accès à transmettre aux autres membres de votre équipe : + access_code ?> +
-

Vous êtes déjà dans une équipe.

+
+ Vous êtes déjà dans une équipe. +
-Erreur : " . $error_message . ""; ?> +
+
+
+ + +
- - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
- - - -
- -
- +
+ + +
+
+ +
+ + +
+ +
+ +
+ diff --git a/server_files/views/ajouter_organisateur.php b/server_files/views/ajouter_organisateur.php index 9709b93..097aa41 100644 --- a/server_files/views/ajouter_organisateur.php +++ b/server_files/views/ajouter_organisateur.php @@ -1,57 +1,43 @@ -if (isset($orga)) { - if ($has_error) { - echo "

Erreur : " . $error_message . "

"; - } else { - echo "

Organisateur ajouté avec succès ! Ses identifiants ont été transmis par mail.

"; - } -} ?> +
+

Ajouter un organisateur

+
+ + +
+ Organisateur ajouté avec succès ! Ses identifiants ont été transmis par mail. +
+
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
- - - -
- - - -
- -
+
+
+ + +
+ +
+ + +
+
+ +
+
+ + +
+
+ +
+ +
diff --git a/server_files/views/ajouter_tournoi.php b/server_files/views/ajouter_tournoi.php index 9caa95b..538fba7 100644 --- a/server_files/views/ajouter_tournoi.php +++ b/server_files/views/ajouter_tournoi.php @@ -1,127 +1,111 @@ -if (isset($tournament)) { - if ($has_error) { - echo "

Erreur : " . $error_message . "

"; - } - else { - echo "

Tournoi de " . htmlspecialchars($_POST["name"]) . " ajouté avec succès !

"; - } -}?> +
+

Ajouter un tournoi

+
+ + +
+ Tournoi de name ?> ajouté avec succès ! +
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
- - - -
- - - -
- - - -
- - - Du au - -
- - - - - -
- - - - - -
- - - - - -
- - - -
- - - -
- -
+
+
+ + +
+ +
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+ +
+ + +
+
+ +
+
+ + +
+
+ + +
+
+ +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ +
+
+ + +
+
+ + +

+ +
+ +
\ No newline at end of file diff --git a/server_files/views/connexion.php b/server_files/views/connexion.php index c1ba1b2..f59f4ac 100644 --- a/server_files/views/connexion.php +++ b/server_files/views/connexion.php @@ -1,64 +1,65 @@ Le mail de récupération de mot de passe a bien été envoyé."; - else if (isset($reset_password)) + echo "
Le mail de récupération de mot de passe a bien été envoyé.
"; + elseif (isset($reset_password) && isset($_POST["password"])) echo "
Le mot de passe a bien été changé. Vous pouvez désormais vous connecter.
"; - else if (isset($_GET["confirmation-mail"])) + elseif (isset($_GET["confirmation-mail"])) echo "
Le mail a bien été renvoyé.
"; - else if (isset($logging_in_user)) + else if (isset($logging_in_user)) { echo "
Connexion réussie !
"; -} else if (isset($_SESSION["user_id"])) { ?> -
Vous êtes déjà connecté !
- + require_once "footer.php"; + } else if (isset($_SESSION["user_id"])) { + echo "
Vous êtes déjà connecté !
"; + require_once "footer.php"; + } +} - -
-

Réinitialisation du mot de passe

- - - - -
- -
-

Connexion

- "/> -
- - -
-
- - -
- -
- - -
-

Connexion

-
- -
- - -
-
- - -
- -
-
- Mot de passe oublié ? +if (isset($_GET["mdp_oublie"])) { ?> +
+

Réinitialisation du mot de passe

+ + + +
+user != null && ($has_error || !isset($_POST["password"]))) { ?> +
+

Connexion

+ "/> +
+ +
- +
+ + +
+ +
+ + +
+

Connexion

+
+
+ + +
+
+ + +
+ +
+
+ + Mot de passe oublié ? +
- \ No newline at end of file + diff --git a/server_files/views/equipe.php b/server_files/views/equipe.php index 623f3db..89cabb5 100644 --- a/server_files/views/equipe.php +++ b/server_files/views/equipe.php @@ -1,30 +1,63 @@ -

Informations sur l'équipe

+
+

Informations sur l'équipe

+
- Nom de l'équipe : getName() ?>
- Trigramme : getTrigram() ?>
- Tournoi : getName() ?>">getName() ?>
-getEncadrants()[$i - 1] == NULL) - continue; - $encadrant = User::fromId($team->getEncadrants()[$i - 1]); - $id = $encadrant->getId(); - echo "Encadrant $i : getFirstName() . " " . $encadrant->getSurname() . "\">" . $encadrant->getFirstName() . " " . $encadrant->getSurname() . "
"; -} -for ($i = 1; $i <= 6; ++$i) { - if ($team->getParticipants()[$i - 1] == NULL) - continue; - $participant = User::fromId($team->getParticipants()[$i - 1]); - $id = $participant->getId(); - echo "Participant $i : getFirstName() . " " . $participant->getSurname() . "\">" . $participant->getFirstName() . " " . $participant->getSurname() . "
"; -} -if ($team->isSelectedForFinal()) { - $final_name = $FINAL->getName(); - echo "Équipe sélectionnée pour la finale nationale."; -} -?> +
+ Nom de l'équipe : getName() ?> +
+
+ Trigramme : getTrigram() ?> +
+ +
+ getValidationStatus() == ValidationStatus::NOT_READY) { ?> + +
+ +
+ + Tournoi : getName() ?>"> + getTournamentId() == 0 ? "Pas de tournoi choisi" : $tournament->getName() ?> + + +
+ +
getValidationStatus() == ValidationStatus::WAITING ? "warning" : "danger") ?>"> + Validation de l'équipe + : getValidationStatus()) ?> +
+
+ getEncadrants()[$i] == NULL) + continue; + $encadrant = User::fromId($team->getEncadrants()[$i - 1]); + $id = $encadrant->getId(); + echo "Encadrant : getFirstName() . " " . $encadrant->getSurname() . "\">" . $encadrant->getFirstName() . " " . $encadrant->getSurname() . "
"; + } + for ($i = 1; $i <= 6; ++$i) { + if ($team->getParticipants()[$i - 1] == NULL) + continue; + $participant = User::fromId($team->getParticipants()[$i - 1]); + $id = $participant->getId(); + echo "Participant $i : getFirstName() . " " . $participant->getSurname() . "\">" . $participant->getFirstName() . " " . $participant->getSurname() . "
"; + } + if ($team->isSelectedForFinal()) { + $final_name = $FINAL->getName(); + echo "Équipe sélectionnée pour la finale nationale."; + } + ?> +

@@ -33,31 +66,49 @@ if ($team->isSelectedForFinal()) {
- +
isSelectedForFinal()) { ?>

Autorisations pour la finale

- +
- - +
getValidationStatus() == ValidationStatus::WAITING && $_SESSION["role"] == Role::ADMIN) { ?>
- +
+ + +
+ +
+
+ + +
+
- isSelectedForFinal() && $_SESSION["role"] == Role::ADMIN) { ?> +if (!$team->isSelectedForFinal() && $team->getValidationStatus() == ValidationStatus::VALIDATED && $_SESSION["role"] == Role::ADMIN) { ?>
- +getValidationStatus() == ValidationStatus::NOT_READY && $_SESSION["role"] == Role::ADMIN) { ?> +
+
+ +
+ \ No newline at end of file diff --git a/server_files/views/footer.php b/server_files/views/footer.php index 5181ba3..c84f917 100644 --- a/server_files/views/footer.php +++ b/server_files/views/footer.php @@ -1,4 +1,18 @@ +
+
+
+ + diff --git a/server_files/views/header.php b/server_files/views/header.php index 0fd7201..b70780d 100644 --- a/server_files/views/header.php +++ b/server_files/views/header.php @@ -1,12 +1,14 @@ - - - + + + + + Site d'inscription pour le TFJM² <?= $YEAR ?> - - + +