<?php require_once 'config.php'; if (isset($_POST["submitted"])) { $error_message = joinTeam(); } function joinTeam() { global $DB, $YEAR, $MAIL_ADDRESS, $access_code, $data; if ($_SESSION["team_id"] != NULL) return "Vous êtes déjà dans une équipe."; $access_code = htmlspecialchars($_POST["access_code"]); if (!isset($access_code) || strlen($access_code) != 6) return "Le code d'accès doit comporter 6 caractères."; $result = $DB->query("SELECT * FROM `teams` WHERE `access_code` = '" . $access_code . "' AND `year` = '$YEAR';"); if (($data = $result->fetch()) === FALSE) return "Ce code d'accès est invalide."; if ($_SESSION["role"] != "PARTICIPANT" && $_SESSION["role"] != "ENCADRANT") return "Seuls les participants et les encadrants peuvent rejoindre une équipe."; if ($data["validation_status"] != "NOT_READY") return "Cette équipe est déjà en cours de validation ou validée, vous ne pouvez pas la rejoindre."; for ($i = 1; $i <= $_SESSION["role"] == "PARTICIPANT" ? 6 : 2; ++$i) { if ($data[strtolower($_SESSION["role"]) . "_" . strval($i)] == NULL) break; } if ($_SESSION["role"] == "PARTICIPANT" && $i == 7 || $_SESSION["role"] == "ENCADRANT" && $i == 3) return "Il n'y a plus de place pour vous dans l'équipe."; $DB->prepare("UPDATE `users` SET `team_id` = ? WHERE `id` = " . $_SESSION["user_id"] . ";")->execute([$data["id"]]); /** @noinspection SqlResolve */ $DB->prepare("UPDATE `teams` SET `" . strtolower($_SESSION["role"]) . "_" . strval($i) . "` = ? WHERE `id` = " . $data["id"] . ";")->execute([$_SESSION["user_id"]]); $_SESSION["team_id"] = $data["id"]; $_SESSION["team_validation_status"] = $data["validation_status"]; $msg = "Bonjour " . $_SESSION["first_name"] . " " . $_SESSION["surname"] . ",\r\n\r\n"; $msg .= "Vous venez de rejoindre l'équipe « " . $data["name"] . " » (" . $data["trigram"] . ") pour le TFJM² de " . $data["name"] . " et nous vous en remercions.\r\n\r\n"; $msg .= "Cordialement,\r\n\r\nL'organisation du TFJM² $YEAR"; mail($_SESSION["email"], "Équipe rejointe TFJM² $YEAR", $msg, "From: $MAIL_ADDRESS\r\n"); return false; } ?> <?php require_once "header.php" ?> <?php if (!isset($_SESSION["role"]) or ($_SESSION["role"] != "PARTICIPANT" && $_SESSION["role"] != "ENCADRANT")) { ?> <h2>Vous devez être participant ou encadrant pour pouvoir rejoindre une équipe.</h2> <?php } else if (isset($access_code)) { ?> Vous avez bien rejoint l'équipe <?php echo $data["name"] ?> ! <?php } else if ($_SESSION["team_id"] != NULL) { ?> <h2>Vous êtes déjà dans une équipe.</h2> <?php } else { ?> <?php if (isset($error_message) && $error_message) echo "<h2>Erreur : " . $error_message . "</h2>"; ?> <form method="POST"> <input type="hidden" name="submitted" value="true" /> <table style="width: 100%;"> <tbody> <tr> <td style="width: 30%;"> <label for="access_code">Code d'accès :</label> </td> <td style="width: 70%;"> <input style="width: 100%;" type="text" id="access_code" name="access_code" /> </td> </tr> <tr> <td colspan="2"> <input style="width: 100%;" type="submit" value="Rejoindre l'équipe" /> </td> </tr> </tbody> </table> </form> <?php require_once "footer.php" ?> <?php } ?>