<?php include 'config.php'; if (isset($_POST["submitted"])) { $error_message = addOrganizer(); } function addOrganizer() { global $DB, $YEAR, $MAIL_ADDRESS; $surname = htmlspecialchars($_POST["surname"]); if (!isset($surname) || $surname == "") return "Le nom est invalide."; $first_name = htmlspecialchars($_POST["first_name"]); if (!isset($first_name) || $first_name == "") return "Le prénom est invalide."; $email = strtolower(htmlspecialchars($_POST["email"])); if (!isset($email) || $email == "" || !filter_var($email, FILTER_VALIDATE_EMAIL)) return "L'adresse e-mail est invalide."; $admin = isset($_POST["admin"]) && $_POST["admin"] == "on"; $req = $DB->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; } ?> <?php include "header.php" ?> <?php if (!isset($_SESSION["role"]) or $_SESSION["role"] != "ADMIN") { ?> <h2>Vous n'êtes pas autorisé à accéder à cette page.</h2> <?php } else { ?> <?php if (isset($error_message)) { if ($error_message !== false) { echo "<h2>Erreur : " . $error_message . "</h2>"; } else { echo "<h2>Organisateur ajouté avec succès ! Ses identifiants ont été transmis par mail.</h2>"; } }?> <form method="POST"> <input type="hidden" name="submitted" value="true" /> <table style="width: 100%;"> <tbody> <tr> <td style="width: 30%;"> <label for="surname">Nom :</label> </td> <td style="width: 70%;"> <input style="width: 100%;" type="text" id="surname" name="surname" /> </td> </tr> <tr> <td> <label for="first_name">Prénom :</label> </td> <td> <input style="width: 100%;" type="text" id="first_name" name="first_name" /> </td> </tr> <tr> <td> <label for="email">Email :</label> </td> <td> <input style="width: 100%;" type="email" id="email" name="email" /> </td> </tr> <tr> <td> <label for="admin">Compte administrateur :</label> </td> <td> <input style="width: 100%;" type="checkbox" id="admin" name="admin" /> </td> </tr> <tr> <td colspan="2"> <input style="width: 100%;" type="submit" value="Ajouter un organisateur" /> </td> </tr> </tbody> </table> </form> <?php include "footer.php" ?> <?php } ?>