diff --git a/server_files/controllers/ajouter_organisateur.php b/server_files/controllers/ajouter_organisateur.php index 12e36c8..d196a88 100644 --- a/server_files/controllers/ajouter_organisateur.php +++ b/server_files/controllers/ajouter_organisateur.php @@ -24,6 +24,7 @@ class NewOrganizer { public $email; public $admin; public $password; + public $token; public function __construct($data) { @@ -45,10 +46,11 @@ class NewOrganizer { global $DB, $YEAR; $this->password = genRandomPhrase(16, true); + $this->token = genRandomPhrase(64); - $req = $DB->prepare("INSERT INTO `users`(`email`, `pwd_hash`, `surname`, `first_name`, `role`, `year`) - VALUES (?, ?, ?, ?, ?, ?);"); - $req->execute([$this->email, password_hash($this->password, PASSWORD_BCRYPT), $this->surname, $this->first_name, $this->admin ? "ADMIN" : "ORGANIZER", $YEAR]); + $req = $DB->prepare("INSERT INTO `users`(`email`, `pwd_hash`, `surname`, `first_name`, `role`, `forgotten_password`, `year`) + VALUES (?, ?, ?, ?, ?, ?, ?);"); + $req->execute([$this->email, password_hash($this->password, PASSWORD_BCRYPT), $this->surname, $this->first_name, $this->admin ? "ADMIN" : "ORGANIZER", $this->token, $YEAR]); Mailer::sendAddOrganizerMail($this); } diff --git a/server_files/model.php b/server_files/model.php index 8e94f4f..760b806 100644 --- a/server_files/model.php +++ b/server_files/model.php @@ -130,11 +130,6 @@ function canValidate(Team $team, Tournament $tournament) $req->execute([$team->getEncadrants()[$i - 1], $tournament->getId(), "PHOTO_CONSENT"]); $d = $req->fetch(); $can_validate &= $d["version"] > 0; - - $req = $DB->prepare("SELECT COUNT(*) AS `version` FROM `documents` WHERE `user` = ? AND `tournament` = ? AND `type` = ?;"); - $req->execute([$team->getEncadrants()[$i - 1], $tournament->getId(), "SANITARY_PLUG"]); - $d = $req->fetch(); - $can_validate &= $d["version"] > 0; } for ($i = 1; $i <= 6; ++$i) { @@ -146,17 +141,17 @@ function canValidate(Team $team, Tournament $tournament) $d = $req->fetch(); $can_validate &= $d["version"] > 0; - $req = $DB->prepare("SELECT COUNT(*) AS `version` FROM `documents` WHERE `user` = ? AND `tournament` = ? AND `type` = ?;"); - $req->execute([$team->getParticipants()[$i], $tournament->getId(), "SANITARY_PLUG"]); - $d = $req->fetch(); - $can_validate &= $d["version"] > 0; - $birth_date = $DB->query("SELECT `birth_date` FROM `users` WHERE `id` = " . $team->getParticipants()[$i] . ";")->fetch()["birth_date"]; if ($birth_date > strval($YEAR - 18) . substr($tournament->getStartDate(), 4)) { $req = $DB->prepare("SELECT COUNT(*) AS `version` FROM `documents` WHERE `user` = ? AND `tournament` = ? AND `type` = ?;"); $req->execute([$team->getParticipants()[$i], $tournament->getId(), "PARENTAL_CONSENT"]); $d = $req->fetch(); $can_validate &= $d["version"] > 0; + + $req = $DB->prepare("SELECT COUNT(*) AS `version` FROM `documents` WHERE `user` = ? AND `tournament` = ? AND `type` = ?;"); + $req->execute([$team->getParticipants()[$i], $tournament->getId(), "SANITARY_PLUG"]); + $d = $req->fetch(); + $can_validate &= $d["version"] > 0; } } diff --git a/server_files/services/mail.php b/server_files/services/mail.php index da1f0ad..6180e58 100644 --- a/server_files/services/mail.php +++ b/server_files/services/mail.php @@ -161,7 +161,7 @@ class Mailer $content = self::getTemplate("add_organizer"); $content = preg_replace("#{FIRST_NAME}#", $new_orga->first_name, $content); $content = preg_replace("#{SURNAME}#", $new_orga->surname, $content); - $content = preg_replace("#{PASSWORD}#", $new_orga->password, $content); + $content = preg_replace("#{TOKEN}#", $new_orga->token, $content); self::sendMail($new_orga->email, "Ajout d'un organisateur – TFJM² $YEAR", $content); } diff --git a/server_files/services/mail_templates/add_organizer.html b/server_files/services/mail_templates/add_organizer.html index d0331e1..56ed2c5 100644 --- a/server_files/services/mail_templates/add_organizer.html +++ b/server_files/services/mail_templates/add_organizer.html @@ -7,12 +7,12 @@ Bonjour {FIRST_NAME} {SURNAME},

-Vous recevez ce message (envoyé automatiquement) car vous êtes organisateur d'un des tournois du TFJM2. -Veuillez trouver ci-dessous vos informations d'utilisateur pour le site officiel des inscriptions. Elles vous permettront de gérer les inscriptions des équipes de votre tournoi.
+Vous recevez ce message (envoyé automatiquement) car vous êtes organisateur d'un des tournois du TFJM2.

+Un compte organisateur vous a été créé par l'un des administrateurs. Un mot de passe aléatoire vous a été attribué, mais que vous +devez changer pour des raisons de sécurité sur le lien suivant : +{URL_BASE}/connexion/reinitialiser_mdp/{TOKEN}

-Votre mot de passe est : {PASSWORD}
-
-Notez bien que ce mot de passe est temporaire, et pour des raisons de sécurité vous devrez le changer lors de votre prochaine connexion sur le site.
+Une fois le mot de passe changé, vous pourrez vous connecter sur la plateforme.

Merci beaucoup pour votre aide !