Merge branch '2-add-a-home-page'
# Conflicts: # docker-compose.yml # server_files/config.php # server_files/views/connexion.php # setup/create_database.sql
This commit is contained in:
commit
a368dfbead
|
@ -1,80 +1,8 @@
|
||||||
body {
|
:root {
|
||||||
display: flex;
|
--navbar-height: 32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
html, body {
|
#navbar-logo {
|
||||||
height: 100%;
|
height: var(--navbar-height);
|
||||||
width: 100%;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#menu {
|
|
||||||
list-style-type: none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
width: 220px;
|
|
||||||
background-color: #f1f1f1;
|
|
||||||
height: 100%;
|
|
||||||
overflow: auto;
|
|
||||||
flex-grow: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#menu a {
|
|
||||||
display: block;
|
|
||||||
color: #000;
|
|
||||||
padding: 10px 20px;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#menu a.active {
|
|
||||||
background-color: #4CAF50;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
#menu a:hover:not(.active) {
|
|
||||||
background-color: #555;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
#menu-logo img {
|
|
||||||
width: calc(100% - 40px);
|
|
||||||
margin: 40px auto;
|
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
#main-container {
|
|
||||||
margin: 0;
|
|
||||||
flex-grow: 1;
|
|
||||||
height: 100%;
|
|
||||||
overflow-y: scroll;
|
|
||||||
}
|
|
||||||
|
|
||||||
#main-content {
|
|
||||||
padding-top: 100px;
|
|
||||||
padding-bottom: 100px;
|
|
||||||
margin: 0 auto;
|
|
||||||
max-width: 1000px;
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media only screen and (max-width: 700px) {
|
|
||||||
body {
|
|
||||||
flex-direction: column;
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
#menu {
|
|
||||||
height: auto;
|
|
||||||
width: 100%;
|
|
||||||
padding-bottom: 20px;
|
|
||||||
}
|
|
||||||
#menu-logo img {
|
|
||||||
height: 70px;
|
|
||||||
padding-left: 7px;
|
|
||||||
}
|
|
||||||
#menu a {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
#main-content {
|
|
||||||
padding: 100px 16px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -3,19 +3,19 @@
|
||||||
* Config options
|
* Config options
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$YEAR = $_ENV["TFJM_YEAR"];
|
$YEAR = getenv("TFJM_YEAR");
|
||||||
$URL_BASE = $_ENV["TFJM_URL_BASE"];
|
$URL_BASE = getenv("TFJM_URL_BASE");
|
||||||
$LOCAL_PATH = $_ENV["TFJM_LOCAL_PATH"];
|
$LOCAL_PATH = getenv("TFJM_LOCAL_PATH");
|
||||||
$MAIL_DOMAIN = $_ENV["TFJM_MAIL_DOMAIN"];
|
$MAIL_DOMAIN = getenv("TFJM_MAIL_DOMAIN");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DB infos
|
* DB infos
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$DB_HOST = $_ENV["TFJM_DB_HOST"];
|
$DB_HOST = getenv("TFJM_DB_HOST");
|
||||||
$DB_NAME = $_ENV["TFJM_DB_NAME"];
|
$DB_NAME = getenv("TFJM_DB_NAME");
|
||||||
$DB_USER = $_ENV["TFJM_DB_USER"];
|
$DB_USER = getenv("TFJM_DB_USER");
|
||||||
$DB_PASSWORD = $_ENV["TFJM_DB_PASSWORD"];
|
$DB_PASSWORD = getenv("TFJM_DB_PASSWORD");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$DB = new PDO("mysql:host=$DB_HOST;dbname=$DB_NAME;charset=utf8", "$DB_USER", "$DB_PASSWORD", array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
|
$DB = new PDO("mysql:host=$DB_HOST;dbname=$DB_NAME;charset=utf8", "$DB_USER", "$DB_PASSWORD", array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
|
||||||
|
|
|
@ -185,7 +185,7 @@ function printDocuments($documents)
|
||||||
$first_name = $user->getFirstName();
|
$first_name = $user->getFirstName();
|
||||||
$name = DocumentType::getTranslatedName($document->getType());
|
$name = DocumentType::getTranslatedName($document->getType());
|
||||||
$version = $document->getVersion();
|
$version = $document->getVersion();
|
||||||
echo "$name de $first_name $surname (version $version) : <a href=\"$URL_BASE/file/$file_id\">Télécharger</a><br />";
|
echo "$name de $first_name $surname (version $version) : <a href=\"/file/$file_id\">Télécharger</a><br />";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,100 +1,64 @@
|
||||||
<?php
|
<?php
|
||||||
require_once "header.php";
|
require_once "header.php";
|
||||||
|
|
||||||
if ($has_error)
|
if (isset($error_message) && $error_message === FALSE) {
|
||||||
echo "<h2>Erreur : " . $error_message . "</h2>";
|
if (isset($recuperate_account))
|
||||||
else {
|
echo "<div class=\"alert alert-success\">Le mail de récupération de mot de passe a bien été envoyé.</div>";
|
||||||
if (isset($recuperate_account))
|
else if (isset($reset_password))
|
||||||
echo "<h2>Le mail de récupération de mot de passe a bien été envoyé.</h2>";
|
echo "<div class=\"alert alert-success\">Le mot de passe a bien été changé. Vous pouvez désormais vous connecter.</div>";
|
||||||
elseif (isset($reset_password))
|
else if (isset($_GET["confirmation-mail"]))
|
||||||
echo "<h2>Le mot de passe a bien été changé. Vous pouvez désormais vous connecter.</h2>";
|
echo "<div class=\"alert alert-success\">Le mail a bien été renvoyé.</div>";
|
||||||
elseif (isset($_GET["confirmation-mail"]))
|
else if (isset($logging_in_user))
|
||||||
echo "<h2>Le mail a bien été renvoyé.</h2>";
|
echo "<div class=\"alert alert-success\">Connexion réussie !</div>";
|
||||||
else if (isset($logging_in_user)) {
|
} else if (isset($_SESSION["user_id"])) { ?>
|
||||||
echo "<h2>Connexion réussie !</h2>";
|
<div class="alert alert-danger">Vous êtes déjà connecté !</div>
|
||||||
require_once "footer.php";
|
|
||||||
} else if (isset($_SESSION["user_id"])) {
|
|
||||||
echo "<h2>Vous êtes déjà connecté.</h2>";
|
|
||||||
require_once "footer.php";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (isset($_GET["mdp_oublie"])) { ?>
|
|
||||||
<form method="POST">
|
|
||||||
<table style="width: 100%;">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td style="width: 30%;">
|
|
||||||
<label for="email">E-mail associée au compte :</label>
|
|
||||||
</td>
|
|
||||||
<td style="width: 70%;">
|
|
||||||
<input style="width: 100%;" type="email" id="email" name="email"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td colspan="2">
|
|
||||||
<input style="width: 100%;" type="submit" name="forgotten_password"
|
|
||||||
value="Envoyer l'e-mail de récupération"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
<?php } elseif (isset($_GET["reset_password"])) {
|
|
||||||
if ($reset_password->user != null) { ?>
|
|
||||||
<form method="POST">
|
|
||||||
<table style="width: 100%;">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td style="width: 30%;">
|
|
||||||
<label for="password">Nouveau mot de passe :</label>
|
|
||||||
</td>
|
|
||||||
<td style="width: 70%;">
|
|
||||||
<input style="width: 100%;" type="password" id="password" name="password"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td style="width: 30%;">
|
|
||||||
<label for="confirm_password">Confirmer le mot de passe :</label>
|
|
||||||
</td>
|
|
||||||
<td style="width: 70%;">
|
|
||||||
<input style="width: 100%;" type="password" id="confirm_password" name="confirm_password"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td colspan="2">
|
|
||||||
<input style="width: 100%;" type="submit" name="reset_password"
|
|
||||||
value="Changer le mot de passe"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
<?php }
|
|
||||||
} elseif (isset($_GET["confirmation-mail"])) { ?>
|
|
||||||
<?php } else { ?>
|
<?php } else { ?>
|
||||||
<form method="POST">
|
|
||||||
<input type="hidden" name="submitted" value="true"/>
|
<?php if (isset($_GET["mdp_oublie"])) { ?>
|
||||||
<table style="width: 100%;">
|
<form method="POST" class="jumbotron mt-5">
|
||||||
<tr>
|
<h1 class="display-4">Réinitialisation du mot de passe</h1>
|
||||||
<td style="width: 30%;"><label for="email">E-mail :</label></td>
|
<label for="email">E-mail associée au compte :</label>
|
||||||
<td style="width: 70%;"><input style="width: 100%;" type="email" id="email" name="email"
|
<input type="email" class="form-control" id="email" name="email"/>
|
||||||
value="<?php if (isset($email)) echo $email ?>"/></td>
|
</div>
|
||||||
</tr>
|
<input class="btn btn-lg btn-primary" type="submit" name="forgotten_password"
|
||||||
<tr>
|
value="Envoyer l'e-mail de récupération"/>
|
||||||
<td><label for="password">Mot de passe :</label></td>
|
</form>
|
||||||
<td><input style="width: 100%;" type="password" id="password" name="password"/></td>
|
<?php } elseif (isset($_GET["reset_password"])) { ?>
|
||||||
</tr>
|
<form method="POST" class="jumbotron mt-5">
|
||||||
<tr>
|
<h1 class="display-4">Connexion</h1>
|
||||||
<td colspan="2">
|
<input type="hidden" name="token" value="<?= $_GET["token"] ?>"/>
|
||||||
<!--suppress HtmlUnknownTarget -->
|
<div class="form-group">
|
||||||
<a href="<?= $URL_BASE ?>/connexion/mdp_oublie">Mot de passe oublié ?</a>
|
<label for="password">Nouveau mot de passe :</label>
|
||||||
</td>
|
<input type="password" id="password" name="password" class="form-control" />
|
||||||
</tr>
|
</div>
|
||||||
<tr>
|
<div class="form-group">
|
||||||
<td colspan="2"><input style="width: 100%;" type="submit" value="Se connecter"/></td>
|
<label for="confirm_password">Confirmer le mot de passe :</label>
|
||||||
</tr>
|
<input type="password" id="confirm_password" name="confirm_password" class="form-control" />
|
||||||
</table>
|
</div>
|
||||||
</form>
|
<input type="submit" name="reset_password" class="btn btn-block btn-primary"
|
||||||
|
value="Changer le mot de passe"/>
|
||||||
|
</form>
|
||||||
|
<?php } elseif (isset($_GET["confirmation-mail"])) { ?>
|
||||||
|
<?php } else { ?>
|
||||||
|
<form method="POST" class="jumbotron mt-5">
|
||||||
|
<h1 class="display-4">Connexion</h1>
|
||||||
|
<hr class="mt-2 mb-4"/>
|
||||||
|
<input type="hidden" name="submitted" value="true"/>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="email">E-mail :</label>
|
||||||
|
<input class="form-control" type="email" id="email" name="email"
|
||||||
|
value="<?php if (isset($email)) echo $email ?>"/>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="password">Mot de passe :</label>
|
||||||
|
<input class="form-control" type="password" id="password" name="password"/>
|
||||||
|
</div>
|
||||||
|
<input class="btn btn-primary btn-block" type="submit" value="Se connecter"/>
|
||||||
|
</form>
|
||||||
|
<div class="alert">
|
||||||
|
<a href="/connexion/mdp_oublie">Mot de passe oublié ?</a>
|
||||||
|
</div>
|
||||||
|
<?php } ?>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|
||||||
<?php require_once "footer.php" ?>
|
<?php require_once "footer.php" ?>
|
|
@ -4,25 +4,25 @@
|
||||||
|
|
||||||
Nom de l'équipe : <?= $team->getName() ?><br/>
|
Nom de l'équipe : <?= $team->getName() ?><br/>
|
||||||
Trigramme : <?= $team->getTrigram() ?><br/>
|
Trigramme : <?= $team->getTrigram() ?><br/>
|
||||||
Tournoi : <a href="<?= $URL_BASE . "/tournoi/" . $tournament->getName() ?>"><?= $tournament->getName() ?></a><br/>
|
Tournoi : <a href="<?= "/tournoi/" . $tournament->getName() ?>"><?= $tournament->getName() ?></a><br/>
|
||||||
<?php
|
<?php
|
||||||
for ($i = 1; $i <= 2; ++$i) {
|
for ($i = 1; $i <= 2; ++$i) {
|
||||||
if ($team->getEncadrants()[$i - 1] == NULL)
|
if ($team->getEncadrants()[$i - 1] == NULL)
|
||||||
continue;
|
continue;
|
||||||
$encadrant = User::fromId($team->getEncadrants()[$i - 1]);
|
$encadrant = User::fromId($team->getEncadrants()[$i - 1]);
|
||||||
$id = $encadrant->getId();
|
$id = $encadrant->getId();
|
||||||
echo "Encadrant $i : <a href=\"$URL_BASE/informations/$id/" . $encadrant->getFirstName() . " " . $encadrant->getSurname() . "\">" . $encadrant->getFirstName() . " " . $encadrant->getSurname() . "</a><br />";
|
echo "Encadrant $i : <a href=\"/informations/$id/" . $encadrant->getFirstName() . " " . $encadrant->getSurname() . "\">" . $encadrant->getFirstName() . " " . $encadrant->getSurname() . "</a><br />";
|
||||||
}
|
}
|
||||||
for ($i = 1; $i <= 6; ++$i) {
|
for ($i = 1; $i <= 6; ++$i) {
|
||||||
if ($team->getParticipants()[$i - 1] == NULL)
|
if ($team->getParticipants()[$i - 1] == NULL)
|
||||||
continue;
|
continue;
|
||||||
$participant = User::fromId($team->getParticipants()[$i - 1]);
|
$participant = User::fromId($team->getParticipants()[$i - 1]);
|
||||||
$id = $participant->getId();
|
$id = $participant->getId();
|
||||||
echo "Participant $i : <a href=\"$URL_BASE/informations/$id/" . $participant->getFirstName() . " " . $participant->getSurname() . "\">" . $participant->getFirstName() . " " . $participant->getSurname() . "</a><br />";
|
echo "Participant $i : <a href=\"/informations/$id/" . $participant->getFirstName() . " " . $participant->getSurname() . "\">" . $participant->getFirstName() . " " . $participant->getSurname() . "</a><br />";
|
||||||
}
|
}
|
||||||
if ($team->isSelectedForFinal()) {
|
if ($team->isSelectedForFinal()) {
|
||||||
$final_name = $FINAL->getName();
|
$final_name = $FINAL->getName();
|
||||||
echo "<strong>Équipe sélectionnée pour la <a href=\"$URL_BASE/tournoi/$final_name\">finale nationale</a>.</strong>";
|
echo "<strong>Équipe sélectionnée pour la <a href=\"/tournoi/$final_name\">finale nationale</a>.</strong>";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -1,76 +1,109 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<!--suppress HtmlUnknownTarget -->
|
|
||||||
<html lang="fr">
|
<html lang="fr">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
|
||||||
<meta name="viewport" content= "width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<title>Site d'inscription pour le TFJM² <?= $YEAR ?></title>
|
<meta name="google-site-verification" content="pCj5PNYVI9sAMZm8T9qoSjRrcXnEPj7tI07hBBfii04" />
|
||||||
<link rel="stylesheet" type="text/css" href="<?= $URL_BASE ?>/style.css"/>
|
<title>Site d'inscription pour le TFJM² <?= $YEAR ?></title>
|
||||||
<link REL="shortcut icon" href="<?= $URL_BASE ?>/favicon.ico" />
|
<link rel="stylesheet" type="text/css" href="/style.css"/>
|
||||||
|
<link REL="shortcut icon" href="/favicon.ico"/>
|
||||||
|
|
||||||
<!-- Bootstrap core CSS -->
|
<!-- Bootstrap -->
|
||||||
<link rel="stylesheet" type="text/css" href="https://s3-eu-west-1.amazonaws.com/tfjm2-inscriptions/static/inscription/vendor/bootstrap/css/bootstrap.min.css">
|
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
|
||||||
|
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
|
||||||
<!-- Custom fonts for this template -->
|
|
||||||
<link rel="stylesheet" type="text/css" href="https://s3-eu-west-1.amazonaws.com/tfjm2-inscriptions/static/inscription/vendor/font-awesome/css/font-awesome.min.css">
|
|
||||||
|
|
||||||
<!-- Plugin CSS -->
|
|
||||||
<link rel="stylesheet" type="text/css" href="https://s3-eu-west-1.amazonaws.com/tfjm2-inscriptions/static/inscription/vendor/datatables/dataTables.bootstrap4.css">
|
|
||||||
|
|
||||||
<!-- Custom styles for this template -->
|
|
||||||
<link rel="stylesheet" type="text/css" href="https://s3-eu-west-1.amazonaws.com/tfjm2-inscriptions/static/inscription/css2/sb-admin.css">
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<ul id="menu">
|
<div class="container.fluid bg-light">
|
||||||
<li id="menu-logo"><img src="<?= $URL_BASE ?>/logo.svg" alt="Logo TFJM²"></li>
|
<nav class="navbar navbar-expand-lg navbar-light">
|
||||||
<li><a href="<?= $URL_BASE ?>/">Accueil</a></li>
|
<div class="container">
|
||||||
<li><a href="<?= $URL_BASE ?>/tournois">Liste des tournois</a></li>
|
<a class="navbar-brand" href="/">
|
||||||
<?php if (!isset($_SESSION["user_id"])) { ?>
|
<img src="/logo.svg" alt="Logo TFJM²" id="navbar-logo">
|
||||||
<li><a href="<?= $URL_BASE ?>/connexion">Connexion</a></li>
|
</a>
|
||||||
<li><a href="<?= $URL_BASE ?>/inscription">Inscription</a></li>
|
<ul class="navbar-nav mr-auto">
|
||||||
<?php } else { ?>
|
<li class="nav-item active">
|
||||||
<li><a href="<?= $URL_BASE ?>/mon_compte">Mon compte</a></li>
|
<a href="/" class="nav-link">Accueil</a>
|
||||||
<?php if ($_SESSION["role"] == Role::ENCADRANT || $_SESSION["role"] == Role::PARTICIPANT) { ?>
|
</li>
|
||||||
<?php if ($_SESSION["team"] == NULL) { ?>
|
<li class="nav-item active">
|
||||||
<li><a href="<?= $URL_BASE ?>/ajouter_equipe">Ajouter une équipe</a></li>
|
<a class="nav-link" href="/tournois">Liste des tournois</a>
|
||||||
<li><a href="<?= $URL_BASE ?>/rejoindre_equipe">Rejoindre une équipe</a></li>
|
</li>
|
||||||
<?php } else { ?>
|
<?php if (isset($_SESSION["user_id"])) { ?>
|
||||||
<li><a href="<?= $URL_BASE ?>/mon_equipe">Mon équipe</a></li>
|
<li class="nav-item active">
|
||||||
<?php if ($_SESSION["team"]->getValidationStatus() == ValidationStatus::VALIDATED || true) { ?>
|
<a class="nav-link" href="/mon_compte">Mon compte</a>
|
||||||
<li><a href="https://paypal.me/galaxyoyo42">Paiement</a></li>
|
</li>
|
||||||
<li><a href="<?= $URL_BASE ?>/solutions">Solutions</a></li>
|
<?php if ($_SESSION["role"] == Role::ENCADRANT || $_SESSION["role"] == Role::PARTICIPANT) { ?>
|
||||||
<li><a href="<?= $URL_BASE ?>/syntheses">Notes de synthèse</a></li>
|
<?php if ($_SESSION["team"] == NULL) { ?>
|
||||||
|
<li class="nav-item active">
|
||||||
|
<a class="nav-link" href="/ajouter_equipe">Ajouter une équipe</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item active">
|
||||||
|
<a class="nav-link" href="/rejoindre_equipe">Rejoindre une équipe</a>
|
||||||
|
</li>
|
||||||
|
<?php } else { ?>
|
||||||
|
<li class="nav-item active">
|
||||||
|
<a class="nav-link" href="/mon_equipe">Mon équipe</a>
|
||||||
|
</li>
|
||||||
|
<?php if ($_SESSION["team"]->getValidationStatus() == ValidationStatus::VALIDATED || true) { ?>
|
||||||
|
<li class="nav-item active">
|
||||||
|
<a class="nav-link" href="https://paypal.me/galaxyoyo42">Paiement</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item active">
|
||||||
|
<a class="nav-link" href="/solutions">Solutions</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item active">
|
||||||
|
<a class="nav-link" href="/syntheses">Notes de synthèse</a>
|
||||||
|
</li>
|
||||||
|
<?php } ?>
|
||||||
|
<?php } ?>
|
||||||
|
<?php } ?>
|
||||||
|
<?php if ($_SESSION["role"] == Role::ADMIN) { ?>
|
||||||
|
<li class="nav-item active">
|
||||||
|
<a class="nav-link" href="/ajouter_tournoi">Ajouter un tournoi</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item active">
|
||||||
|
<a class="nav-link" href="/ajouter_organisateur">Ajouter un organisateur</a>
|
||||||
|
</li>
|
||||||
|
<?php } ?>
|
||||||
|
<?php if ($_SESSION["role"] == Role::ADMIN || $_SESSION["role"] == Role::ORGANIZER) { ?>
|
||||||
|
<li class="nav-item active">
|
||||||
|
<a class="nav-link" href="/solutions_orga">Solutions</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item active">
|
||||||
|
<a class="nav-link" href="/syntheses_orga">Notes de synthèse</a>
|
||||||
|
</li>
|
||||||
|
<?php } ?>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
<?php } ?>
|
</ul>
|
||||||
<?php } ?>
|
<ul class="navbar-nav">
|
||||||
<?php if ($_SESSION["role"] == Role::ADMIN) { ?>
|
<?php if (!isset($_SESSION["user_id"])) { ?>
|
||||||
<li><a href="<?= $URL_BASE ?>/ajouter_tournoi">Ajouter un tournoi</a></li>
|
<li class="nav-item active">
|
||||||
<li><a href="<?= $URL_BASE ?>/ajouter_organisateur">Ajouter un organisateur</a></li>
|
<a class="nav-link" href="/connexion">Connexion</a>
|
||||||
<?php } ?>
|
</li>
|
||||||
<?php if ($_SESSION["role"] == Role::ADMIN || $_SESSION["role"] == Role::ORGANIZER) { ?>
|
<li class="nav-item active">
|
||||||
<li><a href="<?= $URL_BASE ?>/solutions_orga">Solutions</a></li>
|
<a class="nav-link" href="/inscription">Inscription</a>
|
||||||
<li><a href="<?= $URL_BASE ?>/syntheses_orga">Notes de synthèse</a></li>
|
</li>
|
||||||
<?php } ?>
|
<?php } else { ?>
|
||||||
<li><a href="<?= $URL_BASE ?>/deconnexion">Déconnexion</a></li>
|
<?php
|
||||||
<hr />
|
if ($_SESSION["role"] != Role::ADMIN) {
|
||||||
<?php
|
echo "<li><a class=\"nav-link\" href=\"?be-admin=1\">Devenir administrateur</a></li>\n";
|
||||||
if ($_SESSION["role"] != Role::ADMIN) {
|
}
|
||||||
echo "<li><a href=\"?be-admin=1\">Devenir administrateur</a></li>\n";
|
if ($_SESSION["role"] != Role::ORGANIZER) {
|
||||||
}
|
echo "<li><a class=\"nav-link\" href=\"?be-organizer=1\">Devenir organisateur</a></li>\n";
|
||||||
if ($_SESSION["role"] != Role::ORGANIZER) {
|
}
|
||||||
echo "<li><a href=\"?be-organizer=1\">Devenir organisateur</a></li>\n";
|
if ($_SESSION["role"] != Role::PARTICIPANT) {
|
||||||
}
|
echo "<li><a class=\"nav-link\" href=\"?be-participant=1\">Devenir participant</a></li>\n";
|
||||||
if ($_SESSION["role"] != Role::PARTICIPANT) {
|
}
|
||||||
echo "<li><a href=\"?be-participant=1\">Devenir participant</a></li>\n";
|
if ($_SESSION["role"] != Role::ENCADRANT) {
|
||||||
}
|
echo "<li><a class=\"nav-link\" href=\"?be-encadrant=1\">Devenir encadrant</a></li>\n";
|
||||||
if ($_SESSION["role"] != Role::ENCADRANT) {
|
}
|
||||||
echo "<li><a href=\"?be-encadrant=1\">Devenir encadrant</a></li>\n";
|
?>
|
||||||
}
|
<li class="nav-item active">
|
||||||
?>
|
<a class="nav-link" href="/deconnexion">Déconnexion</a>
|
||||||
<?php } ?>
|
</li>
|
||||||
</ul>
|
<?php } ?>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id="main-container">
|
|
||||||
<div id="main-content">
|
<div class="container">
|
||||||
<div class="container-fluid">
|
|
|
@ -1,126 +1,115 @@
|
||||||
<?php require_once "header.php" ?>
|
<?php require_once "header.php" ?>
|
||||||
|
|
||||||
<!--suppress HtmlUnknownTarget, HtmlDeprecatedAttribute, HtmlDeprecatedTag -->
|
<div>
|
||||||
<div class="container-fluid">
|
|
||||||
|
|
||||||
<div id="header">
|
<div class="jumbotron bg-white">
|
||||||
<center>
|
<div class="row">
|
||||||
<img src="https://s3-eu-west-1.amazonaws.com/tfjm2-inscriptions/static/inscription/images/header.jpg"
|
<h1 class="display-3">
|
||||||
alt="" width="720" height="160">
|
Bienvenue sur le site d'inscription au <a href="https://tfjm.org">TFJM^2</a> !
|
||||||
</center>
|
</h1>
|
||||||
|
<h2 class="display-4 text-muted">
|
||||||
|
Le Tournoi Français des Jeunes Mathématiciens et Mathématiciennes
|
||||||
|
</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row jumbotron bg-white">
|
||||||
|
<div class="col-sm">
|
||||||
|
<h3>
|
||||||
|
Tu souhaites participer au tournoi ?
|
||||||
|
<br/>
|
||||||
|
Ton équipe est déjà formée ?
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm text-right">
|
||||||
|
<div class="btn-group-vertical">
|
||||||
|
<a class="btn btn-primary btn-lg" href="/inscription" role="button">Inscris-toi maintenant!</a>
|
||||||
|
<a class="btn btn-light btn-lg" href="/connexion" role="button">J'ai déjà un compte</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<br>
|
<div class="alert alert-warning">
|
||||||
|
<h5 class="alert-heading">Attentions aux échéances</h5>
|
||||||
|
<p class="mb-0">
|
||||||
|
Chaque tournoi a une date limite pour les inscriptions et une date limite pour
|
||||||
|
déposer vos solutions. <a href="https://tfjm.org/infos-tournois/">En savoir plus</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
<center>
|
<div class="alert alert-info" href="mailto:contact@tfjm.org">
|
||||||
<h3>Vous souhaitez participer au tournoi ? Votre équipe est déjà formée ?</h3>
|
<h5 class="alert-heading">Modification du règlement</h5>
|
||||||
<h4><a href="<?= $URL_BASE ?>/inscription">Créez un compte</a> pour commencer la procédure d'inscription ou
|
<p class="mb-0">
|
||||||
<a href="<?= $URL_BASE ?>/connexion">connectez-vous</a> si votre équipe a déjà un compte.</h4>
|
Depuis l'année dernière, l'équipe doit envoyer par mail à contact@tfjm.org les informations suivantes:
|
||||||
</center>
|
<ul>
|
||||||
|
<li>Comment l’équipe s’est-elle formée ?</li>
|
||||||
|
<li>
|
||||||
|
Comment l’équipe va-t-elle travailler (où peut-elle se rencontrer, à quelle fréquence, rencontres
|
||||||
|
avec l’encadrant•e) ?
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<br>
|
Cette lettre permettra aux organisateurs•trices de vérifier que l’équipe dispose des conditions nécessaires
|
||||||
|
à une participation sérieuse. Sont dispensées les équipes dont la moitié ou plus des membres sont scolarisés
|
||||||
|
dans le même établissement. Le comité National d’Organisation se réserve le droit d’accepter ou non
|
||||||
|
l’inscription des équipes concernées par cette lettre.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
<center>
|
<div class="spacer" style="height: 48px"></div>
|
||||||
<h2>Bienvenue sur le site d'inscription du TFJM<sup>2</sup> !</h2>
|
|
||||||
</center>
|
|
||||||
|
|
||||||
<center>
|
<div class="jumbotron">
|
||||||
Ce site a été conçu pour gérer les inscriptions au Tournoi Français des Jeunes Mathématiciennes et
|
<h5 class="display-4">Comment ça marche ?</h5>
|
||||||
Mathématiciens.
|
<p>
|
||||||
<br>
|
Pour participer à l'un des tournois régionaux, il suffit de créer un compte sur la rubrique
|
||||||
<a href="http://www.tfjm.org/">Cliquez ici pour accéder au site de présentation du tournoi.</a>
|
<b>Inscription</b>. Il vous faudra une adresse email pour ce faire. Un mail de confirmation sera envoyé
|
||||||
</center>
|
à cette adresse. Il vous fournira un nom d'utilisateur et un mot de passe que vous allez devoir changer
|
||||||
|
par la suite.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Vous pouvez accéder à votre compte via la rubrique <b>Connexion</b>. Une fois connecté, vous pourrez :
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>rentrer des informations sur les membres de votre équipe, tant participants qu'encadrants ;</li>
|
||||||
|
<li>
|
||||||
|
enregistrer et télécharger des versions préliminaires de vos solutions (seulement la dernière
|
||||||
|
version enregistrée avant la date limite sera prise en compte pour le tournoi).
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
Une fois que vous aurez fourni toutes les informations demandées dans la rubrique <b>Mon Équipe</b>,
|
||||||
|
votre inscription pourra être validée par les organisateurs locaux.
|
||||||
|
</p>
|
||||||
|
|
||||||
<br>
|
<div class="alert alert-warning">
|
||||||
|
<strong>Attention!</strong> Votre équipe ne sera considérée comme admissible à participer au tournoi que
|
||||||
|
lorsque cette première étape aura été franchie.
|
||||||
|
</div>
|
||||||
|
|
||||||
<p align="justify"><strong>
|
<div class="alert alert-info">
|
||||||
Attention aux échéances ! Chaque tournoi a une date limite pour les inscriptions et une date limite pour
|
Pensez donc à former une équipe complète (minimum 4 participants et 1 encadrant) le plus tôt possible
|
||||||
déposer vos solutions. Elles sont affichées avec les informations de chaque tournoi. Merci de vous y
|
pour avoir plus de chances de participer, compte tenu du nombre des places disponibles dans chaque
|
||||||
référer !
|
tournoi (qui sera dûment affiché sur la rubrique <b>Liste des Tournois</b>). Les équipes restantes
|
||||||
<br>
|
seront placées en liste d'attente.
|
||||||
Une fois l'échéance passée, le site bloque tout accès aux inscriptions (et respectivement au dépôt des
|
</div>
|
||||||
solutions).</strong>
|
<p>
|
||||||
</p>
|
Pour les équipes dont l'inscription aura été validée, des documents à télécharger, remplir et signer
|
||||||
|
deviendront disponibles sur votre compte. Vous allez devoir ensuite les scanner et les télécharger vers
|
||||||
<p style="color:red;">
|
le site pour compléter votre inscription.
|
||||||
Attention, modification du règlement par rapport aux années précédentes : article 4.3
|
</p>
|
||||||
<br>
|
<div class="alert alert-warning">
|
||||||
"l’équipe doit envoyer par mail à contact@tfjm.org, une lettre (au format pdf), répondant aux questions
|
<strong>Attention</strong> Les équipes qui ne respecteront pas les délais pour rendre ces documents
|
||||||
suivantes :
|
risquent d'être disqualifiées et de laisser leur place aux équipes placées en liste d'attente.
|
||||||
<br>
|
</div>
|
||||||
|
</div>
|
||||||
</p>
|
|
||||||
<ul style="color:red;">
|
|
||||||
<li>Comment l’équipe s’est-elle formée ?</li>
|
|
||||||
<li>Comment l’équipe va-t-elle travailler (où peut-elle se rencontrer, à quelle fréquence, rencontres avec
|
|
||||||
l’encadrant•e) ?
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
Cette lettre permettra aux organisateurs•trices de vérifier que l’équipe dispose des conditions nécessaires à
|
|
||||||
une participation sérieuse. Sont dispensées les équipes dont la moitié ou plus des membres sont scolarisés dans
|
|
||||||
le même établissement. Le comité National d’Organisation se réserve le droit d’accepter ou non l’inscription des
|
|
||||||
équipes concernées par cette lettre."
|
|
||||||
<br>
|
|
||||||
|
|
||||||
Pour plus de détail, voir le règlement : <a href="https://tfjm.org/infos-tournois/">https://tfjm.org/infos-tournois/</a>
|
|
||||||
<p></p>
|
|
||||||
|
|
||||||
<center>
|
|
||||||
<h2>Comment ça marche ?</h2>
|
|
||||||
</center>
|
|
||||||
|
|
||||||
<p align="justify">
|
|
||||||
Pour participer à l'un des tournois régionaux, il suffit de créer un compte sur la rubrique
|
|
||||||
<b>Inscription</b>. Il vous faudra une adresse email pour ce faire. Un mail de confirmation sera envoyé à
|
|
||||||
cette adresse. Il vous fournira un nom d'utilisateur et un mot de passe que vous allez devoir changer par la
|
|
||||||
suite.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Vous pouvez accéder à votre compte via la rubrique <b>Connexion</b>. Une fois connecté, vous pourrez :
|
|
||||||
</p>
|
|
||||||
<ul>
|
|
||||||
<li>rentrer des informations sur les membres de votre équipe, tant participants qu'encadrants ;</li>
|
|
||||||
<li>enregistrer et télécharger des versions préliminaires de vos solutions (seulement la dernière version
|
|
||||||
enregistrée avant la date limite sera prise en compte pour le tournoi).
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
Une fois que vous aurez fourni toutes les informations demandées dans la rubrique <b>Mon Équipe</b>, votre
|
|
||||||
inscription pourra être validée par les organisateurs locaux.
|
|
||||||
<p></p>
|
|
||||||
|
|
||||||
|
|
||||||
<p class="text-danger">
|
<div class="alert alert-light">
|
||||||
ATTENTION ! Votre équipe ne sera considérée comme admissible à participer au tournoi que
|
Ce site est récent et il est encore possible que certaines pages ne fonctionnent
|
||||||
lorsque cette première étape aura été franchie.
|
pas correctement.
|
||||||
</p>
|
<br/>
|
||||||
|
Si vous remarquez des bugs, merci de les signaler à l'adresse
|
||||||
<p>
|
<a href="mailto:contact@tfjm.org">contact@tfjm.org</a>.</em>
|
||||||
Pensez donc à former une équipe complète (minimum 4 participants et 1 encadrant) le plus tôt possible pour
|
</div>
|
||||||
avoir plus de chances de participer, compte tenu du nombre des places disponibles dans chaque tournoi (qui
|
|
||||||
sera dûment affiché sur la rubrique <b>Liste des Tournois</b>). Les équipes restantes seront placées en
|
|
||||||
liste d'attente.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Pour les équipes dont l'inscription aura été validée, des documents à télécharger, remplir et signer
|
|
||||||
deviendront disponibles sur votre compte. Vous allez devoir ensuite les scanner et les télécharger vers le
|
|
||||||
site pour compléter votre inscription.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
<p class="text-danger">
|
|
||||||
ATTENTION ! Les équipes qui ne respecteront pas les délais pour rendre ces documents
|
|
||||||
risquent d'être disqualifiées et de laisser leur place aux équipes placées en liste d'attente.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<em><strong>NB :</strong> Ce site est récent et il est encore possible que certaines pages ne fonctionnent
|
|
||||||
pas correctement. Si vous remarquez des bugs, merci de les signaler à l'adresse <a
|
|
||||||
href="mailto:contact@tfjm.org">contact@tfjm.org</a>.</em>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<h1><?= $user->getFirstName() . " " . $user->getSurname() ?></h1>
|
<h1><?= $user->getFirstName() . " " . $user->getSurname() ?></h1>
|
||||||
|
|
||||||
<?php if ($user->getRole() == Role::PARTICIPANT || $user->getRole() == Role::ENCADRANT) { ?>
|
<?php if ($user->getRole() == Role::PARTICIPANT || $user->getRole() == Role::ENCADRANT) { ?>
|
||||||
Équipe : <?= $team === null ? "Pas d'équipe" : "<a href=\"$URL_BASE/equipe/" . $team->getTrigram() . "\">" . $team->getName() . " (" . $team->getTrigram() . ")</a>" ?><br />
|
Équipe : <?= $team === null ? "Pas d'équipe" : "<a href=\"/equipe/" . $team->getTrigram() . "\">" . $team->getName() . " (" . $team->getTrigram() . ")</a>" ?><br />
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
Date de naissance : <?= formatDate($user->getBirthDate()) ?><br />
|
Date de naissance : <?= formatDate($user->getBirthDate()) ?><br />
|
||||||
Sexe : <?= $user->getGender() == "M" ? "Masculin" : "Féminin" ?><br />
|
Sexe : <?= $user->getGender() == "M" ? "Masculin" : "Féminin" ?><br />
|
||||||
|
@ -25,7 +25,7 @@ echo "<hr />";
|
||||||
|
|
||||||
if ($user->getRole() == Role::ADMIN || $user->getRole() == Role::ORGANIZER) {
|
if ($user->getRole() == Role::ADMIN || $user->getRole() == Role::ORGANIZER) {
|
||||||
foreach ($tournaments as $tournament) {
|
foreach ($tournaments as $tournament) {
|
||||||
echo "Organise le tournoi <a href=\"$URL_BASE/tournoi/" . $tournament->getName(). "\">" . $tournament->getName() . "</a><br />";
|
echo "Organise le tournoi <a href=\"/tournoi/" . $tournament->getName(). "\">" . $tournament->getName() . "</a><br />";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elseif ($user->getRole() == Role::PARTICIPANT || $user->getRole() == Role::ENCADRANT) { ?>
|
elseif ($user->getRole() == Role::PARTICIPANT || $user->getRole() == Role::ENCADRANT) { ?>
|
||||||
|
|
|
@ -2,136 +2,169 @@
|
||||||
require_once "header.php";
|
require_once "header.php";
|
||||||
|
|
||||||
if ($has_error)
|
if ($has_error)
|
||||||
echo "<h2>Erreur : " . $error_message . "</h2>";
|
echo "<div class=\"alert alert-danger\">Erreur : " . $error_message . "</div>";
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
<div class="mt-4 mb-4">
|
||||||
|
<h1 class="display-4">Formulaire d'inscription</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
/** @var NewUser $user */
|
/** @var NewUser $user */
|
||||||
if (isset($user) && !$has_error) {
|
if (isset($user) && !$has_error) {
|
||||||
?>
|
?>
|
||||||
Votre inscription est validée ! Merci désormais de confirmer votre boîte mail pour valider votre adresse.
|
<div class="alert alert-success">
|
||||||
|
Votre inscription est validée ! Merci désormais de confirmer votre boîte mail pour valider votre adresse.
|
||||||
|
</div>
|
||||||
<?php } else if (isset($_SESSION["user_id"])) { ?>
|
<?php } else if (isset($_SESSION["user_id"])) { ?>
|
||||||
<h2>Vous êtes déjà connecté !</h2>
|
<div class="alert alert-success">Vous êtes déjà connecté !</div>
|
||||||
<?php } else { ?>
|
<?php } else { ?>
|
||||||
|
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
<input type="hidden" name="submitted" value="true"/>
|
<input type="hidden" name="submitted" value="true"/>
|
||||||
<table style="width: 100%;">
|
|
||||||
<tr>
|
<div class="form-group row">
|
||||||
<td style="width: 30%;"><label for="email">E-mail :</label></td>
|
<label for="role">Rôle :</label>
|
||||||
<td style="width: 70%;"><input style="width: 100%;" type="email" id="email" name="email"
|
<select id="role" name="role" onchange="selectRole()" class="custom-select">
|
||||||
value="<?php if (isset($user)) echo $user->email ?>"
|
<option value="participant"><?= Role::getTranslatedName(Role::PARTICIPANT) ?></option>
|
||||||
required/></td>
|
<option value="encadrant"><?= Role::getTranslatedName(Role::ENCADRANT) ?></option>
|
||||||
</tr>
|
</select>
|
||||||
<tr>
|
</div>
|
||||||
<td><label for="password">Mot de passe :</label></td>
|
|
||||||
<td><input style="width: 100%;" type="password" id="password" name="password" required/></td>
|
<div class="form-row">
|
||||||
</tr>
|
<div class="form-group col-md-6">
|
||||||
<tr>
|
<label for="surname">Nom :</label>
|
||||||
<td><label for="confirm_password">Confirmer le mot de passe :</label></td>
|
<input class="form-control" type="text" id="surname" name="surname"
|
||||||
<td><input style="width: 100%;" type="password" id="confirm_password" name="confirm_password" required/>
|
value="<?php if (isset($user)) echo $user->surname ?>" required/>
|
||||||
</td>
|
</div>
|
||||||
</tr>
|
|
||||||
<tr>
|
<div class="form-group col-md-6">
|
||||||
<td><label for="surname">Nom :</label></td>
|
<label for="first_name">Prénom :</label>
|
||||||
<td><input style="width: 100%;" type="text" id="surname" name="surname"
|
<input class="form-control" type="text" id="first_name" name="first_name"
|
||||||
value="<?php if (isset($user)) echo $user->surname ?>" required/></td>
|
value="<?php if (isset($user)) echo $user->first_name ?>" required/>
|
||||||
</tr>
|
</div>
|
||||||
<tr>
|
</div>
|
||||||
<td><label for="first_name">Prénom :</label></td>
|
|
||||||
<td><input style="width: 100%;" type="text" id="first_name" name="first_name"
|
<div class="form-row">
|
||||||
value="<?php if (isset($user)) echo $user->first_name ?>" required/></td>
|
<div class="form-group col-md-6">
|
||||||
</tr>
|
<label for="email">E-mail :</label>
|
||||||
<tr>
|
<input class="form-control" type="email" id="email" name="email"
|
||||||
<td><label for="birth_date">Date de naissance :</label></td>
|
value="<?php if (isset($user)) echo $user->email ?>"
|
||||||
<td><input style="width: 100%;" type="date" id="birth_date" name="birth_date"
|
required/>
|
||||||
value="<?php if (isset($user)) echo $user->birth_date ?>" required/></td>
|
</div>
|
||||||
</tr>
|
<div class="form-group col-md-6">
|
||||||
<tr>
|
<label for="phone_number">Numéro de téléphone :</label>
|
||||||
<td><label for="gender">Sexe :</label></td>
|
<input class="form-control" type="text" id="phone_number" name="phone_number"
|
||||||
<td><input type="radio" id="male" name="gender" value="M"
|
value="<?php if (isset($user)) echo $user->phone_number ?>"/>
|
||||||
required <?= isset($_POST["gender"]) && $_POST["gender"] == "M" ? "checked" : "" ?> /><label
|
</div>
|
||||||
for="male">Homme</label>
|
</div>
|
||||||
<input type="radio" id="female" name="gender" value="F"
|
|
||||||
required <?= isset($_POST["gender"]) && $_POST["gender"] == "F" ? "checked" : "" ?> /><label
|
<div class="form-row">
|
||||||
for="female">Femme</label></td>
|
<div class="form-group col-md-6">
|
||||||
</tr>
|
<label for="password">Mot de passe :</label>
|
||||||
<tr>
|
<input class="form-control" type="password" id="password" name="password" required/>
|
||||||
<td><label for="address">Adresse :</label></td>
|
</div>
|
||||||
<td><input style="width: 100%;" type="text" id="address" name="address"
|
<div class="form-group col-md-6">
|
||||||
value="<?php if (isset($user)) echo $user->address ?>"/></td>
|
<label for="confirm_password">Confirmer le mot de passe :</label>
|
||||||
</tr>
|
<input class="form-control" type="password" id="confirm_password" name="confirm_password" required/>
|
||||||
<tr>
|
</div>
|
||||||
<td><label for="postal_code">Code postal :</label></td>
|
</div>
|
||||||
<td><input style="width: 100%;" type="number" id="postal_code" name="postal_code"
|
|
||||||
value="<?php if (isset($user)) echo $user->postal_code ?>" min="1000"
|
<div class="form-row">
|
||||||
max="95999" required/></td>
|
<div class="form-group col-md-6">
|
||||||
</tr>
|
<label for="gender" class="mr-2">Sexe :</label>
|
||||||
<tr>
|
<br/>
|
||||||
<td><label for="city">Ville :</label></td>
|
<div class="custom-control custom-radio custom-control-inline">
|
||||||
<td><input style="width: 100%;" type="text" id="city" name="city"
|
<input type="radio" class="custom-control-input" id="male" name="gender" value="M"
|
||||||
value="<?php if (isset($user)) echo $user->city ?>"/></td>
|
required <?= isset($_POST["gender"]) && $_POST["gender"] == "M" ? "checked" : "" ?> />
|
||||||
</tr>
|
<label for="male" class="custom-control-label">Homme</label>
|
||||||
<tr>
|
</div>
|
||||||
<td><label for="country">Pays :</label></td>
|
<div class="custom-control custom-radio custom-control-inline">
|
||||||
<td><input style="width: 100%;" type="text" id="country" name="country"
|
<input type="radio" class="custom-control-input" id="female" name="gender" value="F"
|
||||||
value="<?= isset($user) ? $user->country : "France" ?>" required/></td>
|
required <?= isset($_POST["gender"]) && $_POST["gender"] == "F" ? "checked" : "" ?> />
|
||||||
</tr>
|
<label for="female" class="custom-control-label">Femme</label>
|
||||||
<tr>
|
</div>
|
||||||
<td><label for="phone_number">Numéro de téléphone :</label></td>
|
</div>
|
||||||
<td><input style="width: 100%;" type="text" id="phone_number" name="phone_number"
|
<div class="form-group col-md-6">
|
||||||
value="<?php if (isset($user)) echo $user->phone_number ?>"/></td>
|
<label for="birth_date">Date de naissance :</label>
|
||||||
</tr>
|
<input class="form-control" type="date" id="birth_date" name="birth_date"
|
||||||
<tr>
|
value="<?php if (isset($user)) echo $user->birth_date ?>" required/>
|
||||||
<td><label for="role">Rôle :</label></td>
|
</div>
|
||||||
<td><select style="width: 100%;" id="role" name="role" onchange="selectRole()">
|
</div>
|
||||||
<option value="participant"><?= Role::getTranslatedName(Role::PARTICIPANT) ?></option>
|
|
||||||
<option value="encadrant"><?= Role::getTranslatedName(Role::ENCADRANT) ?></option>
|
<div class="form-row">
|
||||||
</select></td>
|
<div class="form-group col-md-5">
|
||||||
</tr>
|
<label for="address">Adresse :</label>
|
||||||
<tr>
|
<input class="form-control" type="text" id="address" name="address"
|
||||||
<td><label id="school_label" for="school">Établissement dans lequel l'élève étudie :</label></td>
|
value="<?php if (isset($user)) echo $user->address ?>"/>
|
||||||
<td><input style="width: 100%;" type="text" id="school" name="school"
|
</div>
|
||||||
value="<?php if (isset($user)) echo $user->school ?>"/></td>
|
<div class="form-group col-md-2">
|
||||||
</tr>
|
<label for="postal_code">Code postal :</label>
|
||||||
<tr>
|
<input class="form-control" type="number" id="postal_code" name="postal_code"
|
||||||
<td><label id="class_label" for="class">Classe :</label></td>
|
value="<?php if (isset($user)) echo $user->postal_code ?>" min="1000"
|
||||||
<td><select style="width: 100%;" id="class" name="class">
|
max="95999" required/>
|
||||||
<option value="terminale"><?= SchoolClass::getTranslatedName(SchoolClass::TERMINALE) ?></option>
|
</div>
|
||||||
<option value="premiere"><?= SchoolClass::getTranslatedName(SchoolClass::PREMIERE) ?></option>
|
<div class="form-group col-md-3">
|
||||||
<option value="seconde"><?= SchoolClass::getTranslatedName(SchoolClass::SECONDE) ?></option>
|
<label for="city">Ville :</label>
|
||||||
</select></td>
|
<input class="form-control" type="text" id="city" name="city"
|
||||||
</tr>
|
value="<?php if (isset($user)) echo $user->city ?>"/>
|
||||||
<tr>
|
</div>
|
||||||
<td><label id="responsible_name_label" for="responsible_name">Nom du responsable légal :</label></td>
|
<div class="form-group col-md-2">
|
||||||
<td><input style="width: 100%;" type="text" id="responsible_name" name="responsible_name"
|
<label for="country">Pays :</label>
|
||||||
value="<?php if (isset($user)) echo $user->responsible_name ?>"/>
|
<input class="form-control" type="text" id="country" name="country"
|
||||||
</td>
|
value="<?= isset($user) ? $user->country : "France" ?>" required/>
|
||||||
</tr>
|
</div>
|
||||||
<tr>
|
</div>
|
||||||
<td><label id="responsible_phone_label" for="responsible_phone">Téléphone du responsable légal :</label>
|
<div class="form-row">
|
||||||
</td>
|
<div class="form-group col-md-6">
|
||||||
<td><input style="width: 100%;" type="text" id="responsible_phone" name="responsible_phone"
|
<label id="school_label" for="school">Établissement dans lequel l'élève étudie :</label>
|
||||||
value="<?php if (isset($user)) echo $user->responsible_phone ?>"/>
|
<input class="form-control" type="text" id="school" name="school"
|
||||||
</td>
|
value="<?php if (isset($user)) echo $user->school ?>"/>
|
||||||
</tr>
|
</div>
|
||||||
<tr>
|
<div class="form-group col-md-6">
|
||||||
<td><label id="responsible_email_label" for="responsible_email">Email du responsable légal :</label>
|
<label id="class_label" for="class">Classe :</label>
|
||||||
</td>
|
<select id="class" name="class" class="custom-select">
|
||||||
<td><input style="width: 100%;" type="text" id="responsible_email" name="responsible_email"
|
<option value="terminale"><?= SchoolClass::getTranslatedName(SchoolClass::TERMINALE) ?></option>
|
||||||
value="<?php if (isset($user)) echo $user->responsible_email ?>"/>
|
<option value="premiere"><?= SchoolClass::getTranslatedName(SchoolClass::PREMIERE) ?></option>
|
||||||
</td>
|
<option value="seconde"><?= SchoolClass::getTranslatedName(SchoolClass::SECONDE) ?></option>
|
||||||
</tr>
|
</select>
|
||||||
<tr>
|
</div>
|
||||||
<td><label id="description_label" for="description">Description :</label></td>
|
</div>
|
||||||
<td><textarea style="width: 100%;" id="description"
|
|
||||||
name="description"><?php if (isset($user)) echo $user->description ?></textarea>
|
<div class="form-row">
|
||||||
</td>
|
<div class="form-group col-md-4">
|
||||||
</tr>
|
<label id="responsible_name_label" for="responsible_name">Nom du responsable légal :</label>
|
||||||
<tr>
|
<input class="form-control" type="text" id="responsible_name" name="responsible_name"
|
||||||
<td colspan="2"><input style="width: 100%;" type="submit" value="S'inscrire"/></td>
|
value="<?php if (isset($user)) echo $user->responsible_name ?>"/>
|
||||||
</tr>
|
|
||||||
</table>
|
</div>
|
||||||
|
<div class="form-group col-md-4">
|
||||||
|
<label id="responsible_phone_label" for="responsible_phone">Téléphone du responsable légal :</label>
|
||||||
|
|
||||||
|
<input class="form-control" type="text" id="responsible_phone" name="responsible_phone"
|
||||||
|
value="<?php if (isset($user)) echo $user->responsible_phone ?>"/>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-md-4">
|
||||||
|
<label id="responsible_email_label" for="responsible_email">Email du responsable légal :</label>
|
||||||
|
|
||||||
|
<input class="form-control" type="text" id="responsible_email" name="responsible_email"
|
||||||
|
value="<?php if (isset($user)) echo $user->responsible_email ?>"/>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group row">
|
||||||
|
<label id="description_label" for="description">Description :</label>
|
||||||
|
<textarea class="form-control" id="description"
|
||||||
|
name="description"><?php if (isset($user)) echo $user->description ?></textarea>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group row">
|
||||||
|
<input class="btn btn-primary btn-lg btn-block" type="submit" value="S'inscrire"/>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
|
@ -18,20 +18,20 @@ for ($i = 1; $i <= 2; ++$i) {
|
||||||
continue;
|
continue;
|
||||||
$encadrant = User::fromId($team->getEncadrants()[$i - 1]);
|
$encadrant = User::fromId($team->getEncadrants()[$i - 1]);
|
||||||
$id = $encadrant->getId();
|
$id = $encadrant->getId();
|
||||||
echo "Encadrant $i : <a href=\"$URL_BASE/informations/$id/" . $encadrant->getFirstName() . " " . $encadrant->getSurname() . "\">" . $encadrant->getFirstName() . " " . $encadrant->getSurname() . "</a><br />";
|
echo "Encadrant $i : <a href=\"/informations/$id/" . $encadrant->getFirstName() . " " . $encadrant->getSurname() . "\">" . $encadrant->getFirstName() . " " . $encadrant->getSurname() . "</a><br />";
|
||||||
}
|
}
|
||||||
for ($i = 1; $i <= 6; ++$i) {
|
for ($i = 1; $i <= 6; ++$i) {
|
||||||
if ($team->getParticipants()[$i - 1] == NULL)
|
if ($team->getParticipants()[$i - 1] == NULL)
|
||||||
continue;
|
continue;
|
||||||
$participant = User::fromId($team->getParticipants()[$i - 1]);
|
$participant = User::fromId($team->getParticipants()[$i - 1]);
|
||||||
$id = $participant->getId();
|
$id = $participant->getId();
|
||||||
echo "Participant $i : <a href=\"$URL_BASE/informations/$id/" . $participant->getFirstName() . " " . $participant->getSurname() . "\">" . $participant->getFirstName() . " " . $participant->getSurname() . "</a><br />";
|
echo "Participant $i : <a href=\"/informations/$id/" . $participant->getFirstName() . " " . $participant->getSurname() . "\">" . $participant->getFirstName() . " " . $participant->getSurname() . "</a><br />";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
Code d'accès : <strong><?= $team->getAccessCode() ?></strong><br/>
|
Code d'accès : <strong><?= $team->getAccessCode() ?></strong><br/>
|
||||||
<?php if ($team->isSelectedForFinal()) {
|
<?php if ($team->isSelectedForFinal()) {
|
||||||
$final_name = $FINAL->getName();
|
$final_name = $FINAL->getName();
|
||||||
echo "<strong>Équipe sélectionnée pour la <a href=\"$URL_BASE/tournoi/$final_name\">finale nationale</a>.</strong><br />";
|
echo "<strong>Équipe sélectionnée pour la <a href=\"/tournoi/$final_name\">finale nationale</a>.</strong><br />";
|
||||||
} ?>
|
} ?>
|
||||||
|
|
||||||
<?php if (isset($_GET["modifier"])) { ?>
|
<?php if (isset($_GET["modifier"])) { ?>
|
||||||
|
@ -83,7 +83,7 @@ for ($i = 1; $i <= 6; ++$i) {
|
||||||
|
|
||||||
<?php if ($_SESSION["team_validation_status"] == ValidationStatus::NOT_READY) { ?>
|
<?php if ($_SESSION["team_validation_status"] == ValidationStatus::NOT_READY) { ?>
|
||||||
<!--suppress HtmlUnknownTarget -->
|
<!--suppress HtmlUnknownTarget -->
|
||||||
<a href="<?= $URL_BASE ?>/mon_equipe/modifier">Modifier mon équipe</a>
|
<a href="/mon_equipe/modifier">Modifier mon équipe</a>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
<hr/>
|
<hr/>
|
||||||
<h2>Mes autorisations</h2>
|
<h2>Mes autorisations</h2>
|
||||||
|
|
|
@ -55,7 +55,7 @@ foreach ($solutions as $sol) {
|
||||||
$file_id = $sol->getFileId();
|
$file_id = $sol->getFileId();
|
||||||
$problem = $sol->getProblem();
|
$problem = $sol->getProblem();
|
||||||
$version = $sol->getVersion();
|
$version = $sol->getVersion();
|
||||||
echo "Problème $problem (Version $version) : <a href=\"$URL_BASE/file/$file_id\">Télécharger</a><br />";
|
echo "Problème $problem (Version $version) : <a href=\"/file/$file_id\">Télécharger</a><br />";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($team->isSelectedForFinal()) { ?>
|
if ($team->isSelectedForFinal()) { ?>
|
||||||
|
@ -68,7 +68,7 @@ if ($team->isSelectedForFinal()) { ?>
|
||||||
$file_id = $sol->getFileId();
|
$file_id = $sol->getFileId();
|
||||||
$problem = $sol->getProblem();
|
$problem = $sol->getProblem();
|
||||||
$version = $sol->getVersion();
|
$version = $sol->getVersion();
|
||||||
echo "Problème $problem (Version $version) : <a href=\"$URL_BASE/file/$file_id\">Télécharger</a><br />";
|
echo "Problème $problem (Version $version) : <a href=\"/file/$file_id\">Télécharger</a><br />";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ foreach ($tournaments as $tournament) {
|
||||||
$team = Team::fromId($sol->getTeamId());
|
$team = Team::fromId($sol->getTeamId());
|
||||||
$team_name = $team->getName();
|
$team_name = $team->getName();
|
||||||
$team_trigram = $team->getTrigram();
|
$team_trigram = $team->getTrigram();
|
||||||
echo "Problème n°$problem de l'équipe $team_name ($team_trigram), version $version : <a href=\"$URL_BASE/file/$file_id\">Télécharger</a><br />";
|
echo "Problème n°$problem de l'équipe $team_name ($team_trigram), version $version : <a href=\"/file/$file_id\">Télécharger</a><br />";
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "<form method=\"POST\">\n";
|
echo "<form method=\"POST\">\n";
|
||||||
|
|
|
@ -59,7 +59,7 @@ foreach ($syntheses as $synthesis) {
|
||||||
$file_id = $synthesis->getFileId();
|
$file_id = $synthesis->getFileId();
|
||||||
$dest = $synthesis->getDest();
|
$dest = $synthesis->getDest();
|
||||||
$version = $synthesis->getVersion();
|
$version = $synthesis->getVersion();
|
||||||
echo "Note de synthèse pour " . ($dest == DestType::OPPOSANT ? "l'opposant" : "le rapporteur") . " (version $version) : <a href=\"$URL_BASE/file/$file_id\">Télécharger</a><br />";
|
echo "Note de synthèse pour " . ($dest == DestType::OPPOSANT ? "l'opposant" : "le rapporteur") . " (version $version) : <a href=\"/file/$file_id\">Télécharger</a><br />";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($team->isSelectedForFinal()) { ?>
|
if ($team->isSelectedForFinal()) { ?>
|
||||||
|
@ -72,7 +72,7 @@ if ($team->isSelectedForFinal()) { ?>
|
||||||
$file_id = $synthesis->getFileId();
|
$file_id = $synthesis->getFileId();
|
||||||
$dest = $synthesis->getDest();
|
$dest = $synthesis->getDest();
|
||||||
$version = $synthesis->getVersion();
|
$version = $synthesis->getVersion();
|
||||||
echo "Note de synthèse pour " . ($dest == DestType::OPPOSANT ? "l'opposant" : "le rapporteur") . " (version $version) : <a href=\"$URL_BASE/file/$file_id\">Télécharger</a><br />";
|
echo "Note de synthèse pour " . ($dest == DestType::OPPOSANT ? "l'opposant" : "le rapporteur") . " (version $version) : <a href=\"/file/$file_id\">Télécharger</a><br />";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ foreach ($tournaments as $tournament) {
|
||||||
$team_name = $team->getName();
|
$team_name = $team->getName();
|
||||||
$team_trigram = $team->getTrigram();
|
$team_trigram = $team->getTrigram();
|
||||||
echo "Note de synthèse de l'équipe $team_name ($team_trigram) pour " . ($dest == DestType::OPPOSANT ? "l'opposant" : "le rapporteur")
|
echo "Note de synthèse de l'équipe $team_name ($team_trigram) pour " . ($dest == DestType::OPPOSANT ? "l'opposant" : "le rapporteur")
|
||||||
. ", version $version : <a href=\"$URL_BASE/file/$file_id\">Télécharger</a><br />";
|
. ", version $version : <a href=\"/file/$file_id\">Télécharger</a><br />";
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "<form method=\"POST\">\n";
|
echo "<form method=\"POST\">\n";
|
||||||
|
|
|
@ -15,7 +15,7 @@ foreach ($orgas as $orga) {
|
||||||
$orga_id = $orga->getId();
|
$orga_id = $orga->getId();
|
||||||
$orga_name = $orga->getFirstName() . " " . $orga->getSurname();
|
$orga_name = $orga->getFirstName() . " " . $orga->getSurname();
|
||||||
if ($_SESSION["role"] == Role::ORGANIZER || $_SESSION["role"] == Role::ADMIN)
|
if ($_SESSION["role"] == Role::ORGANIZER || $_SESSION["role"] == Role::ADMIN)
|
||||||
$s .= "<a href=\"$URL_BASE/informations/$orga_id/$orga_name\">$orga_name</a>";
|
$s .= "<a href=\"/informations/$orga_id/$orga_name\">$orga_name</a>";
|
||||||
else
|
else
|
||||||
$s .= $orga_name;
|
$s .= $orga_name;
|
||||||
$s .= ", ";
|
$s .= ", ";
|
||||||
|
@ -37,7 +37,7 @@ if ($tournament->isFinal())
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<?php if (!isset($_GET["modifier"]) && ($_SESSION["role"] == Role::ADMIN || $_SESSION["role"] == Role::ORGANIZER && $tournament->organize($_SESSION["user_id"]))) { ?>
|
<?php if (!isset($_GET["modifier"]) && ($_SESSION["role"] == Role::ADMIN || $_SESSION["role"] == Role::ORGANIZER && $tournament->organize($_SESSION["user_id"]))) { ?>
|
||||||
<a href="<?= $URL_BASE ?>/tournoi/<?= $tournament->getName() ?>/modifier">Éditer le tournoi</a>
|
<a href="/tournoi/<?= $tournament->getName() ?>/modifier">Éditer le tournoi</a>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ if ($tournament->isFinal())
|
||||||
<td style="border: 1px solid black; text-align: center">
|
<td style="border: 1px solid black; text-align: center">
|
||||||
<?php
|
<?php
|
||||||
if (isset($_SESSION["role"]) && ($_SESSION["role"] == Role::ADMIN || ($_SESSION["role"] == Role::ORGANIZER && $tournament->organize($_SESSION["user_id"]))))
|
if (isset($_SESSION["role"]) && ($_SESSION["role"] == Role::ADMIN || ($_SESSION["role"] == Role::ORGANIZER && $tournament->organize($_SESSION["user_id"]))))
|
||||||
echo "<a href=\"$URL_BASE/equipe/" . $team->getTrigram() . "\">" . $team->getName(). "</a>";
|
echo "<a href=\"/equipe/" . $team->getTrigram() . "\">" . $team->getName(). "</a>";
|
||||||
else
|
else
|
||||||
echo $team->getName();
|
echo $team->getName();
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -1,41 +1,45 @@
|
||||||
<?php require_once "header.php" ?>
|
<?php require_once "header.php" ?>
|
||||||
|
|
||||||
<h2>Liste des tournois</h2>
|
<div class="mt-4 mb-4">
|
||||||
|
<h2 class="display-3">Liste des tournois</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
<table style="border: 1px solid black; width: 100%">
|
<table class="table table-striped table-bordered table-hover">
|
||||||
<thead style="border: 1px solid black">
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th style="border: 1px solid black; text-align: center">Nom</th>
|
<th scope="col">Nom</th>
|
||||||
<th style="border: 1px solid black; text-align: center">Dates</th>
|
<th scope="col">Dates</th>
|
||||||
<th style="border: 1px solid black; text-align: center">Inscription avant le</th>
|
<th scope="col">Inscription avant le</th>
|
||||||
<th style="border: 1px solid black; text-align: center">Date de rendu des solutions</th>
|
<th scope="col">Date de rendu des solutions</th>
|
||||||
<th style="border: 1px solid black; text-align: center">Places disponibles</th>
|
<th scope="col">Places disponibles</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody style="border: 1px solid black">
|
<tbody>
|
||||||
<?php
|
<?php
|
||||||
foreach ($tournaments as $tournament) {
|
foreach ($tournaments as $tournament) {
|
||||||
?>
|
?>
|
||||||
<tr style="border: 1px solid black">
|
<tr>
|
||||||
<td style="border: 1px solid black; text-align: center"><a href="<?= $URL_BASE ?>/tournoi/<?= $tournament->getName() ?>"><?= $tournament->getName() ?></a></td>
|
<th scope="row">
|
||||||
<td style="border: 1px solid black; text-align: center">Du <?= formatDate($tournament->getStartDate()) ?> au <?= formatDate($tournament->getEndDate()) ?></td>
|
<a href="/tournoi/<?= $tournament->getName() ?>"><?= $tournament->getName() ?></a>
|
||||||
<td style="border: 1px solid black; text-align: center"><?= formatDate($tournament->getSolutionsDate()) ?></td>
|
</th>
|
||||||
<td style="border: 1px solid black; text-align: center"><?= formatDate($tournament->getSynthesesDate()) ?></td>
|
<td>Du <?= formatDate($tournament->getStartDate()) ?> au <?= formatDate($tournament->getEndDate()) ?></td>
|
||||||
<td style="border: 1px solid black; text-align: center"><?= $tournament->getSize() ?></td>
|
<td><?= formatDate($tournament->getSolutionsDate()) ?></td>
|
||||||
</tr>
|
<td><?= formatDate($tournament->getSynthesesDate()) ?></td>
|
||||||
<?php
|
<td><?= $tournament->getSize() ?></td>
|
||||||
}
|
</tr>
|
||||||
?>
|
<?php
|
||||||
</tbody>
|
}
|
||||||
<tfoot style="border: 1px solid black">
|
?>
|
||||||
<tr>
|
</tbody>
|
||||||
<th style="border: 1px solid black; text-align: center">Nom</th>
|
<tfoot>
|
||||||
<th style="border: 1px solid black; text-align: center">Dates</th>
|
<tr>
|
||||||
<th style="border: 1px solid black; text-align: center">Inscription avant le</th>
|
<th>Nom</th>
|
||||||
<th style="border: 1px solid black; text-align: center">Date de rendu des solutions</th>
|
<th>Dates</th>
|
||||||
<th style="border: 1px solid black; text-align: center">Places disponibles</th>
|
<th>Inscription avant le</th>
|
||||||
</tr>
|
<th>Date de rendu des solutions</th>
|
||||||
</tfoot>
|
<th>Places disponibles</th>
|
||||||
|
</tr>
|
||||||
|
</tfoot>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<?php require_once "footer.php" ?>
|
<?php require_once "footer.php" ?>
|
||||||
|
|
Loading…
Reference in New Issue