Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
a73b0889b4
|
@ -3,6 +3,13 @@
|
||||||
|
|
||||||
class Question
|
class Question
|
||||||
{
|
{
|
||||||
|
const DEFAULT_QUESTIONS = ["Comment avez-vous obtenu vos résultats ?",
|
||||||
|
"Peut-on rendre votre algorithme plus efficace ? Pourquoi ?",
|
||||||
|
"Comment élargir vos travaux ?",
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null];
|
||||||
|
|
||||||
private $id;
|
private $id;
|
||||||
private $from;
|
private $from;
|
||||||
private $to;
|
private $to;
|
||||||
|
@ -73,15 +80,9 @@ class Question
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sizeof($questions) == 0) {
|
if (sizeof($questions) == 0) {
|
||||||
$default_questions = ["Comment avez-vous obtenu vos résultats ?",
|
|
||||||
"Peut-on rendre votre algorithme plus efficace ? Pourquoi ?",
|
|
||||||
"Comment élargir vos travaux ?",
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
null];
|
|
||||||
for ($i = 0; $i < 6; ++$i) {
|
for ($i = 0; $i < 6; ++$i) {
|
||||||
$req = $DB->prepare("INSERT INTO `questions`(`from`, `to`, `problem`, `number`, `question`) VALUES (?, ?, ?, ?, ?);");
|
$req = $DB->prepare("INSERT INTO `questions`(`from`, `to`, `problem`, `number`, `question`) VALUES (?, ?, ?, ?, ?);");
|
||||||
$req->execute([$from->getId(), $to->getId(), $from->getProblem(), $i, $default_questions[$i]]);
|
$req->execute([$from->getId(), $to->getId(), $from->getProblem(), $i, self::DEFAULT_QUESTIONS[$i]]);
|
||||||
}
|
}
|
||||||
return self::getQuestions($from, $to);
|
return self::getQuestions($from, $to);
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,5 +52,59 @@ $videos = [];
|
||||||
for ($problem = 1; $problem <= 4; ++$problem)
|
for ($problem = 1; $problem <= 4; ++$problem)
|
||||||
$videos[] = Video::getVideos(Reason::SOLUTION, $problem);
|
$videos[] = Video::getVideos(Reason::SOLUTION, $problem);
|
||||||
|
|
||||||
|
$waiting_teams = [];
|
||||||
|
|
||||||
|
switch (Phase::getCurrentPhase()) {
|
||||||
|
case Phase::PHASE1:
|
||||||
|
$req = $DB->query("SELECT DISTINCT `teams`.`id` FROM `teams` WHERE `validation_status` = '" . ValidationStatus::getName(ValidationStatus::VALIDATED) . "'"
|
||||||
|
. " AND `id` NOT IN (SELECT DISTINCT `team` FROM `videos` WHERE `reason` = 'SOLUTION' AND `validation` = " . Video::ACCEPTED . ")"
|
||||||
|
. " AND `year` = $YEAR;");
|
||||||
|
break;
|
||||||
|
case Phase::PHASE2:
|
||||||
|
$req = $DB->query("SELECT DISTINCT `teams`.`id` FROM `teams`"
|
||||||
|
. " WHERE `id` NOT IN (SELECT `q1`.`from` FROM `questions` AS `q1`"
|
||||||
|
. " JOIN `questions` AS `q2` ON `q2`.`from` = `q1`.`from` AND `q2`.`number` = 1"
|
||||||
|
. " JOIN `questions` AS `q3` ON `q3`.`from` = `q1`.`from` AND `q3`.`number` = 2"
|
||||||
|
. " JOIN `questions` AS `q4` ON `q4`.`from` = `q1`.`from` AND `q4`.`number` = 3"
|
||||||
|
. " JOIN `questions` AS `q5` ON `q5`.`from` = `q1`.`from` AND `q5`.`number` = 4"
|
||||||
|
. " JOIN `questions` AS `q6` ON `q6`.`from` = `q1`.`from` AND `q6`.`number` = 5"
|
||||||
|
. " WHERE `q1`.`question` != '" . Question::DEFAULT_QUESTIONS[0] . "'"
|
||||||
|
. " OR `q2`.`question` != '" . Question::DEFAULT_QUESTIONS[1] . "'"
|
||||||
|
. " OR `q3`.`question` != '" . Question::DEFAULT_QUESTIONS[2] . "'"
|
||||||
|
. " OR `q4`.`question` IS NOT NULL"
|
||||||
|
. " OR `q5`.`question` IS NOT NULL"
|
||||||
|
. " OR `q6`.`question` IS NOT NULL)"
|
||||||
|
. " AND `validation_status` = '" . ValidationStatus::getName(ValidationStatus::VALIDATED) . "'"
|
||||||
|
. " AND `year` = $YEAR;");
|
||||||
|
break;
|
||||||
|
case Phase::PHASE3:
|
||||||
|
$req = $DB->query("SELECT DISTINCT `teams`.`id` FROM `teams`"
|
||||||
|
. " WHERE `id` NOT IN (SELECT `q1`.`to` FROM `questions` AS `q1`"
|
||||||
|
. " JOIN `questions` AS `q2` ON `q2`.`to` = `q1`.`to` AND `q2`.`number` = 1"
|
||||||
|
. " JOIN `questions` AS `q3` ON `q3`.`to` = `q1`.`to` AND `q3`.`number` = 2"
|
||||||
|
. " JOIN `questions` AS `q4` ON `q4`.`to` = `q1`.`to` AND `q4`.`number` = 3"
|
||||||
|
. " JOIN `questions` AS `q5` ON `q5`.`to` = `q1`.`to` AND `q5`.`number` = 4"
|
||||||
|
. " JOIN `questions` AS `q6` ON `q6`.`to` = `q1`.`to` AND `q6`.`number` = 5"
|
||||||
|
. " WHERE `q1`.`answer` IS NOT NULL"
|
||||||
|
. " OR `q2`.`answer` IS NOT NULL"
|
||||||
|
. " OR `q3`.`answer` IS NOT NULL"
|
||||||
|
. " OR `q4`.`answer` IS NOT NULL"
|
||||||
|
. " OR `q5`.`answer` IS NOT NULL"
|
||||||
|
. " OR `q6`.`answer` IS NOT NULL)"
|
||||||
|
. " AND `validation_status` = '" . ValidationStatus::getName(ValidationStatus::VALIDATED) . "'"
|
||||||
|
. " AND `year` = $YEAR;");
|
||||||
|
break;
|
||||||
|
case Phase::PHASE4:
|
||||||
|
$req = $DB->query("SELECT DISTINCT `teams`.`id` FROM `teams` WHERE `validation_status` = '" . ValidationStatus::getName(ValidationStatus::VALIDATED) . "'"
|
||||||
|
. " AND (`id` NOT IN (SELECT DISTINCT `team` FROM `videos` WHERE `reason` = 'ANSWER1' AND `validation` = " . Video::ACCEPTED . ")"
|
||||||
|
. " OR `id` NOT IN (SELECT DISTINCT `team` FROM `videos` WHERE `reason` = 'ANSWER2' AND `validation` = " . Video::ACCEPTED . "))"
|
||||||
|
. " AND `year` = $YEAR;");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($req)) {
|
||||||
|
while (($data = $req->fetch()) !== false)
|
||||||
|
$waiting_teams[] = Team::fromId($data["id"]);
|
||||||
|
}
|
||||||
|
|
||||||
require_once "server_files/views/suivi_tournoi.php";
|
require_once "server_files/views/suivi_tournoi.php";
|
|
@ -10,7 +10,7 @@ Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||||
L'équipe « {TEAM_NAME} » ({TRIGRAM}) vient d'ajouter une vidéo de réponse destinée à l'équipe « {DEST_TEAM_NAME} » ({DEST_TRIGRAM})
|
L'équipe « {TEAM_NAME} » ({TRIGRAM}) vient d'ajouter une vidéo de réponse destinée à l'équipe « {DEST_TEAM_NAME} » ({DEST_TRIGRAM})
|
||||||
pour le problème {PROBLEM} des Correspondances des Jeunes Mathématicien·ne·s : <a href="{VIDEO_LINK}">{VIDEO_LINK}</a>.
|
pour le problème {PROBLEM} des Correspondances des Jeunes Mathématicien·ne·s : <a href="{VIDEO_LINK}">{VIDEO_LINK}</a>.
|
||||||
Vous êtes désormais invité avant que quelqu'un d'autre ne le fasse à accepter ou refuser cette vidéo via la plateforme d'inscription (accessible après connexion) :
|
Vous êtes désormais invité avant que quelqu'un d'autre ne le fasse à accepter ou refuser cette vidéo via la plateforme d'inscription (accessible après connexion) :
|
||||||
<a href="{URL_BASE}/videos-solutions">{URL_BASE}/videos-solutions</a><br/>
|
<a href="{URL_BASE}/suivi-tournoi">{URL_BASE}/suivi-tournoi</a><br/>
|
||||||
<br/>
|
<br/>
|
||||||
Cordialement,<br/>
|
Cordialement,<br/>
|
||||||
<br/>
|
<br/>
|
||||||
|
|
|
@ -9,7 +9,7 @@ Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||||
<br/>
|
<br/>
|
||||||
L'équipe « {TEAM_NAME} » ({TRIGRAM}) vient d'ajouter une vidéo pour le problème {PROBLEM} des Correspondances des Jeunes Mathématicien·ne·s : <a href="{VIDEO_LINK}">{VIDEO_LINK}</a>.
|
L'équipe « {TEAM_NAME} » ({TRIGRAM}) vient d'ajouter une vidéo pour le problème {PROBLEM} des Correspondances des Jeunes Mathématicien·ne·s : <a href="{VIDEO_LINK}">{VIDEO_LINK}</a>.
|
||||||
Vous êtes désormais invité avant que quelqu'un d'autre ne le fasse à accepter ou refuser cette vidéo via la plateforme d'inscription (accessible après connexion) :
|
Vous êtes désormais invité avant que quelqu'un d'autre ne le fasse à accepter ou refuser cette vidéo via la plateforme d'inscription (accessible après connexion) :
|
||||||
<a href="{URL_BASE}/videos-solutions">{URL_BASE}/videos-solutions</a><br/>
|
<a href="{URL_BASE}/suivi-tournoi">{URL_BASE}/suivi-tournoi</a><br/>
|
||||||
<br/>
|
<br/>
|
||||||
Cordialement,<br/>
|
Cordialement,<br/>
|
||||||
<br/>
|
<br/>
|
||||||
|
|
|
@ -42,7 +42,7 @@ if ($_SESSION["role"] == Role::ADMIN) { ?>
|
||||||
<hr/>
|
<hr/>
|
||||||
<? if ($team->getValidationStatus() == ValidationStatus::VALIDATED) { ?>
|
<? if ($team->getValidationStatus() == ValidationStatus::VALIDATED) { ?>
|
||||||
<!--suppress HtmlUnknownTarget -->
|
<!--suppress HtmlUnknownTarget -->
|
||||||
<a href="/videos-solutions#team-<?= $team->getTrigram() ?>"><button class="btn btn-primary btn-lg btn-block">
|
<a href="/suivi-tournoi#team-<?= $team->getTrigram() ?>"><button class="btn btn-primary btn-lg btn-block">
|
||||||
Aller aux vidéos de l'équipe</button></a><br />
|
Aller aux vidéos de l'équipe</button></a><br />
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
<div class="jumbotron bg-white">
|
<div class="jumbotron bg-white">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h1 class="display-3">
|
<h1 class="display-3">
|
||||||
Bienvenue sur le site d'inscription aux <a href="https://correspondances-maths.fr/ ">Correspondances
|
Bienvenue sur le site d'inscription aux <a href="https://correspondances-maths.fr/">Correspondances
|
||||||
des Jeunes Mathématicien·ne·s</a> <span style="color: red;">♥</span> !
|
des Jeunes Mathématicien·ne·s</a> <!-- <span style="color: red;">♥</span> --> !
|
||||||
</h1>
|
</h1>
|
||||||
<h2 class="display-4 text-muted">
|
<h2 class="display-4 text-muted">
|
||||||
<!-- Le Tournoi Français des Jeunes Mathématiciens et Mathématiciennes -->
|
<!-- Le Tournoi Français des Jeunes Mathématiciens et Mathématiciennes -->
|
||||||
|
|
|
@ -6,6 +6,23 @@ require_once "header.php";
|
||||||
<h1 class="display-4">Suivi du tournoi</h1>
|
<h1 class="display-4">Suivi du tournoi</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
if (sizeof($waiting_teams) > 0) { ?>
|
||||||
|
<div class="alert alert-warning">
|
||||||
|
<?= sizeof($waiting_teams) == 1 ? "L'équipe suivante n'a" : "Les équipes suivantes n'ont" ?> pas encore participé à la phase en cours :
|
||||||
|
<ul>
|
||||||
|
<?php
|
||||||
|
foreach ($waiting_teams as $team) { ?>
|
||||||
|
<li>
|
||||||
|
<a href="/equipe/<?= $team->getTrigram() ?>">
|
||||||
|
Équipe <?= $team->getName() ?> (<?= $team->getTrigram() ?>)
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<?php } ?>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<?php } ?>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
Loading…
Reference in New Issue