diff --git a/server_files/classes/Team.php b/server_files/classes/Team.php index aecf1d4..a3d54d4 100644 --- a/server_files/classes/Team.php +++ b/server_files/classes/Team.php @@ -73,7 +73,7 @@ class Team public static function getAllTeams($problem) { global $DB, $YEAR; - $req = $DB->prepare("SELECT * FROM `teams` WHERE " . ($problem <= 0 ? "" : "`problem` = ? AND ") . "`year` = $YEAR;"); + $req = $DB->prepare("SELECT * FROM `teams` WHERE " . ($problem < 0 ? "" : "`problem` = ? AND ") . "`year` = $YEAR;"); $req->execute([htmlspecialchars($problem)]); $teams = []; diff --git a/server_files/controllers/informations.php b/server_files/controllers/informations.php index 2b6a471..684de17 100644 --- a/server_files/controllers/informations.php +++ b/server_files/controllers/informations.php @@ -43,18 +43,22 @@ if (isset($_POST["attribute_team"])) { class AttributeTeam { + private $team_id; private $team; private $min_null_index; public function __construct($data) { - $this->team = Team::fromId($data["team"]); + $this->team_id = $data["team"]; + $this->team = Team::fromId($this->team_id); } public function makeVerifications() { global $user; + ensure($user->getConfirmEmailToken() == null, "Ce participant n'a pas encore validé son adresse e-mail."); + ensure($this->team_id != "no_team", "Vous n'avez pas choisi d'équipe."); ensure($this->team != null, "Cette équipe n'existe pas."); ensure($this->team->getValidationStatus() == ValidationStatus::NOT_READY, "Cette équipe est déjà validée ou en cours de validation."); diff --git a/server_files/controllers/mon_compte.php b/server_files/controllers/mon_compte.php index 7e68a5c..6bc8462 100644 --- a/server_files/controllers/mon_compte.php +++ b/server_files/controllers/mon_compte.php @@ -5,7 +5,6 @@ if (!isset($_SESSION["user_id"])) /** @var User $user */ $user = $_SESSION["user"]; -$documents = $user->getAllDocuments(); $has_error = false; $error_message = null; @@ -172,4 +171,6 @@ class SendDocument } } +$documents = $user->getAllDocuments(); + require_once "server_files/views/mon_compte.php"; diff --git a/server_files/controllers/rejoindre_equipe.php b/server_files/controllers/rejoindre_equipe.php index 4e11071..1f70f55 100644 --- a/server_files/controllers/rejoindre_equipe.php +++ b/server_files/controllers/rejoindre_equipe.php @@ -38,14 +38,14 @@ class JoinTeam ensure($this->team != null, "Ce code d'accès est invalide."); ensure($this->team->getValidationStatus() == ValidationStatus::NOT_READY, "Cette équipe est déjà validée ou en cours de validation, vous ne pouvez pas la rejoindre."); - for ($i = 1; $i <= $_SESSION["role"] == Role::PARTICIPANT ? 5 : 1; ++$i) { + for ($i = 1; $i <= ($_SESSION["role"] == Role::PARTICIPANT ? 5 : 1); ++$i) { if (($_SESSION["role"] == Role::PARTICIPANT ? $this->team->getParticipants()[$i - 1] : $this->team->getEncadrantId()) == NULL) break; } $this->min_null_index = $i; - ensure($_SESSION["role"] == Role::PARTICIPANT && $this->min_null_index <= 5 || $_SESSION["role"] == Role::ENCADRANT && $this->min_null_index <= 2, "Il n'y a plus de place pour vous dans l'équipe."); + ensure($_SESSION["role"] == Role::PARTICIPANT && $this->min_null_index <= 5 || $_SESSION["role"] == Role::ENCADRANT && $this->min_null_index <= 1, "Il n'y a plus de place pour vous dans l'équipe."); } public function joinTeam() diff --git a/server_files/views/informations.php b/server_files/views/informations.php index 3c99b5e..92c8ffc 100644 --- a/server_files/views/informations.php +++ b/server_files/views/informations.php @@ -33,13 +33,15 @@ if (!$has_error) {