+
+
\ No newline at end of file
diff --git a/404.php b/404.php
new file mode 100644
index 0000000..54ac204
--- /dev/null
+++ b/404.php
@@ -0,0 +1,14 @@
+
+
+
Cette page n'existe pas.
+
+
\ No newline at end of file
diff --git a/server_files/ajouter_equipe.php b/server_files/ajouter_equipe.php
new file mode 100644
index 0000000..9dd42ae
--- /dev/null
+++ b/server_files/ajouter_equipe.php
@@ -0,0 +1,127 @@
+query("SELECT `id`, `name` FROM `tournaments` WHERE `year` = '$YEAR';");
+
+if (isset($_POST["submitted"])) {
+ $error_message = registerTournament();
+}
+
+function registerTournament() {
+ global $DB, $YEAR, $MAIL_ADDRESS, $access_code;
+
+ if ($_SESSION["team_id"] != NULL)
+ return "Vous êtes déjà dans une équipe.";
+
+ $name = htmlspecialchars($_POST["name"]);
+
+ if (!isset($name) || $name == "")
+ return "Vous devez spécifier un nom d'équipe.";
+
+ $result = $DB->query("SELECT `id` FROM `teams` WHERE `name` = '" . $name . "' AND `year` = '$YEAR';");
+ if ($result->fetch())
+ return "Une équipe existe déjà avec ce nom.";
+
+ $trigram = htmlspecialchars($_POST["trigram"]);
+
+ if (!preg_match("#[A-Z][A-Z][A-Z]#", $trigram))
+ return "Le trigramme entré n'est pas valide.";
+
+ $result = $DB->query("SELECT `id` FROM `teams` WHERE `trigram` = '" . $trigram . "' AND `year` = '$YEAR';");
+ if ($result->fetch())
+ return "Une équipe a déjà choisi ce trigramme.";
+
+ $tournament_id = intval(htmlspecialchars($_POST["tournament"]));
+
+ $result = $DB->query("SELECT `id`, `name` FROM `tournaments` WHERE `id` = '" . $tournament_id . "' AND `year` = '$YEAR';");
+ $data = $result->fetch();
+ if ($data === FALSE)
+ return "Le tournoi spécifié n'existe pas.";
+
+ $alphabet = "0123456789abcdefghijkmnopqrstuvwxyz0123456789";
+ $access_code = "";
+ for ($i = 0; $i < 6; ++$i)
+ $access_code .= $alphabet[rand(0, strlen($alphabet) - 1)];
+
+ $req = $DB->prepare("INSERT INTO `teams` (`name`, `trigram`, `encadrant_1`, `participant_1`, `validation_status`, `access_code`, `year`)
+ VALUES (?, ?, ?, ?, ?, ?, ?);");
+ $result = $req->execute([$name, $trigram, $_SESSION["role"] == "ENCADRANT" ? $_SESSION["user_id"] : NULL,
+ $_SESSION["role"] == "PARTICIPANT" ? $_SESSION["user_id"] : NULL, "NOT_READY", $access_code, $YEAR]);
+
+ $result = $DB->query("SELECT `id` FROM `teams` WHERE `name` = '" . $name . "' AND `year` = '$YEAR';");
+ $data_team = $result->fetch();
+ $DB->prepare("UPDATE `users` SET `team_id` = ? WHERE `id` = " . $_SESSION["user_id"] . ";")->execute([$data_team["id"]]);
+
+ $msg = "Bonjour " . $_SESSION["first_name"] . " " . $_SESSION["surname"] . ",\r\n\r\n";
+ $msg .= "Vous venez de créer l'équipe « $name » ($trigram) pour le TFJM² de " . $data["name"] . " et nous vous en remercions. ";
+ $msg .= "Afin de permettre aux autres membres de votre équipe de vous rejoindre, veuillez leur transmettre le code d'accès : " . $access_code . "\r\n\r\n";
+ $msg .= "Cordialement,\r\n\r\nL'organisation du TFJM² $YEAR";
+ mail($_SESSION["email"], "Nouvelle équipe TFJM² $YEAR", $msg, "From: $MAIL_ADDRESS\r\n");
+
+ return false;
+}
+
+?>
+
+
+
+
+
Vous devez être participant ou encadrant pour pouvoir ajouter une équipe.
+
+
Vous êtes déjà dans une équipe.
+
+ Votre équipe a bien été créée ! Voici le code d'accès à transmettre aux autres membres de votre équipe :
+
+
+Erreur : " . $error_message . ""; ?>
+
+
+
+
+
+
diff --git a/server_files/ajouter_organisateur.php b/server_files/ajouter_organisateur.php
new file mode 100644
index 0000000..1146426
--- /dev/null
+++ b/server_files/ajouter_organisateur.php
@@ -0,0 +1,124 @@
+prepare("SELECT `id` FROM `users` WHERE `email` = ? AND `year` = '$YEAR';");
+ $req->execute([$email]);
+ if ($req->fetch() !== FALSE)
+ return "Cette adresse e-mail est déjà utilisée.";
+
+ $alphabet = "0123456789abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
+ $password = "";
+ for ($i = 0; $i < 16; ++$i)
+ $password .= $alphabet[rand(0, strlen($alphabet) - 1)];
+ $hash = password_hash($password, PASSWORD_BCRYPT);
+
+ $req = $DB->prepare("INSERT INTO `users`(`email`, `pwd_hash`, `surname`, `first_name`, `role`, `year`)
+ VALUES (?, ?, ?, ?, ?, ?);");
+ $req->execute([$email, $hash, $surname, $first_name, $admin ? "ADMIN" : "ORGANIZER", $YEAR]);
+
+ $msg = "Bonjour " . $first_name . " " . $surname . ",\r\n\r\n"
+ . "Vous recevez ce message (envoyé automatiquement) car vous êtes organisateur d'un des tournois du TFJM². "
+ . "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.\r\n\r\n"
+ . "Votre mot de passe est : $password\r\n\r\n"
+ . "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.\r\n\r\n"
+ . "Merci beaucoup pour votre aide !\r\n\r\n"
+ . "Les organisateurs du TFJM²";
+
+ mail($email, "Organisateur du TFJM²", $msg, "From: $MAIL_ADDRESS\r\n");
+
+ return false;
+}
+
+?>
+
+
+
+
+