diff --git a/dispatcher.php b/dispatcher.php index 6513625..09487ac 100644 --- a/dispatcher.php +++ b/dispatcher.php @@ -50,7 +50,7 @@ $ROUTES["^mon-equipe/(modifier)/?$"] = ["server_files/controllers/mon_equipe.php $ROUTES["^mon-equipe/?$"] = ["server_files/controllers/mon_equipe.php"]; $ROUTES["^mon-tournoi/?$"] = ["server_files/controllers/mon_tournoi.php"]; $ROUTES["^poser-questions-2$"] = ["server_files/controllers/poser_questions.php"]; -$ROUTES["^probleme/([1-4])/?$"] = ["server_files/controllers/probleme.php", "probleme"]; +$ROUTES["^probleme/([0-4])/?$"] = ["server_files/controllers/probleme.php", "probleme"]; $ROUTES["^profils-orphelins/?$"] = ["server_files/controllers/profils_orphelins.php"]; $ROUTES["^rejoindre-equipe/?$"] = ["server_files/controllers/rejoindre_equipe.php"]; $ROUTES["^repondre-questions-3$"] = ["server_files/controllers/repondre_questions.php"]; diff --git a/server_files/controllers/ajouter_equipe.php b/server_files/controllers/ajouter_equipe.php index 788ef4d..cf89f08 100644 --- a/server_files/controllers/ajouter_equipe.php +++ b/server_files/controllers/ajouter_equipe.php @@ -45,7 +45,7 @@ class NewTeam { ensure(preg_match("#^[A-Z]{3}$#", $this->trigram), "Le trigramme entré n'est pas valide."); ensure(!teamExists($this->name), "Une équipe existe déjà avec ce nom."); ensure(!trigramExists($this->trigram), "Une équipe a déjà choisi ce trigramme."); - ensure(preg_match("#[1-4]#", $this->problem), "Le problème choisi n'a pas été reconnu."); + ensure(preg_match("#[0-4]#", $this->problem), "Le problème choisi n'a pas été reconnu."); } public function register() { diff --git a/server_files/controllers/mon_equipe.php b/server_files/controllers/mon_equipe.php index bdfe99e..99d4e06 100644 --- a/server_files/controllers/mon_equipe.php +++ b/server_files/controllers/mon_equipe.php @@ -81,7 +81,7 @@ class MyTeam ensure(preg_match("#^[\p{L} ]+$#ui", $this->name), "Le nom de l'équipe ne doit pas comporter de caractères spéciaux."); ensure(preg_match("#^[A-Z]{3}$#", $this->trigram), "Le trigramme n'est pas valide."); ensure($this->trigram == $this->team->getTrigram() || !trigramExists($this->trigram), "Une équipe a déjà choisi ce trigramme."); - ensure(preg_match("#^[1-4]$#", $this->problem), "Le problème indiqué n'existe pas."); + ensure(preg_match("#^[0-4]$#", $this->problem), "Le problème indiqué n'existe pas."); ensure(date("Y-m-d H:i:s") <= $CONFIG->getInscriptionDate(), "Les inscriptions sont terminées."); ensure($this->team->getValidationStatus() == ValidationStatus::NOT_READY, "Votre équipe est déjà validée ou en cours de validation."); } diff --git a/server_files/controllers/probleme.php b/server_files/controllers/probleme.php index 383b3c7..c7370d3 100644 --- a/server_files/controllers/probleme.php +++ b/server_files/controllers/probleme.php @@ -2,7 +2,7 @@ $problem = htmlspecialchars($_GET["probleme"]); -if (!preg_match("#[1-4]#", $problem)) +if (!preg_match("#[0-4]#", $problem)) require_once "server_files/404.php"; if (isset($_GET["modifier"]) && $_SESSION["role"] != Role::ADMIN) diff --git a/server_files/model.php b/server_files/model.php index 18c1137..27350bd 100644 --- a/server_files/model.php +++ b/server_files/model.php @@ -93,6 +93,7 @@ function canValidate(Team $team) $can_validate &= $team->getValidationStatus() == ValidationStatus::NOT_READY; $can_validate &= $team->getEncadrantId() != null; $can_validate &= $team->getParticipants()[2] != null; + $can_validate &= preg_match("#[1-4]#", $team->getProblem()); if ($team->getEncadrantId() != null) { $req = $DB->prepare("SELECT COUNT(*) AS `version` FROM `documents` WHERE `user` = ? AND `problem` = ?;"); diff --git a/server_files/views/ajouter_equipe.php b/server_files/views/ajouter_equipe.php index 0a4fbe7..97f83fd 100644 --- a/server_files/views/ajouter_equipe.php +++ b/server_files/views/ajouter_equipe.php @@ -38,6 +38,7 @@ require_once "header.php";
+ getProblem() == $i ? "selected" : "") . ">$i";