60 lines
2.2 KiB
PHP
60 lines
2.2 KiB
PHP
<?php
|
|
|
|
if (!isset($_SESSION["role"]) || $_SESSION["role"] != Role::ADMIN)
|
|
require_once "server_files/403.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;
|
|
}
|
|
|
|
require_once "server_files/views/ajouter_organisateur.php"; |