mirror of
https://gitlab.com/animath/si/plateforme-corres2math.git
synced 2025-01-07 10:22:21 +00:00
Nombreuses petites corrections, ajout de texte.
Les Correspondances peuvent démarrer :)
This commit is contained in:
parent
8adad9d5f7
commit
5c88ccb91a
@ -11,14 +11,19 @@ html, body {
|
||||
min-height: 78%;
|
||||
}
|
||||
|
||||
footer {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.inner {
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
.alert {
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
|
||||
footer .alert {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#navbar-logo {
|
||||
height: var(--navbar-height);
|
||||
display: block;
|
||||
|
@ -68,7 +68,7 @@ class Question
|
||||
|
||||
ensure($from->getProblem() == $to->getProblem(), "Les deux équipes doivent travailler sur le même problème.");
|
||||
|
||||
$req = $DB->prepare("SELECT * FROM `questions` WHERE `from` = ? AND `to` = ? ORDER BY `from`;");
|
||||
$req = $DB->prepare("SELECT * FROM `questions` WHERE `from` = ? AND `to` = ? ORDER BY `from`, `number`;");
|
||||
$req->execute([$from->getId(), $to->getId()]);
|
||||
|
||||
$questions = [];
|
||||
@ -80,9 +80,11 @@ class Question
|
||||
}
|
||||
|
||||
if (sizeof($questions) == 0) {
|
||||
for ($i = 0; $i < 6; ++$i) {
|
||||
$req = $DB->prepare("INSERT INTO `questions`(`from`, `to`, `problem`, `number`, `question`) VALUES (?, ?, ?, ?, ?);");
|
||||
$req->execute([$from->getId(), $to->getId(), $from->getProblem(), 0, ""]);
|
||||
for ($i = 1; $i <= 6; ++$i) {
|
||||
$req = $DB->prepare("INSERT INTO `questions`(`from`, `to`, `problem`, `number`, `question`) VALUES (?, ?, ?, ?, ?);");
|
||||
$req->execute([$from->getId(), $to->getId(), $from->getProblem(), $i, self::DEFAULT_QUESTIONS[$i]]);
|
||||
$req->execute([$from->getId(), $to->getId(), $from->getProblem(), $i, self::DEFAULT_QUESTIONS[$i - 1]]);
|
||||
}
|
||||
return self::getQuestions($from, $to);
|
||||
}
|
||||
|
@ -5,30 +5,35 @@ class SchoolClass
|
||||
const SECONDE = 0;
|
||||
const PREMIERE = 1;
|
||||
const TERMINALE = 2;
|
||||
const ADULT = 3;
|
||||
|
||||
public static function getTranslatedName($class) {
|
||||
switch ($class) {
|
||||
case null:
|
||||
return "Adulte";
|
||||
case self::SECONDE:
|
||||
return "Seconde ou inférieur";
|
||||
case self::PREMIERE:
|
||||
return "Première";
|
||||
case self::TERMINALE:
|
||||
return "Terminale";
|
||||
case self::ADULT:
|
||||
return "Adulte";
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static function getName($class) {
|
||||
switch ($class) {
|
||||
case null:
|
||||
return null;
|
||||
case self::SECONDE:
|
||||
return "SECONDE";
|
||||
case self::PREMIERE:
|
||||
return "PREMIERE";
|
||||
case self::TERMINALE:
|
||||
return "TERMINALE";
|
||||
case self::ADULT:
|
||||
return "ADULT";
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,6 +45,8 @@ class SchoolClass
|
||||
return self::PREMIERE;
|
||||
case "TERMINALE":
|
||||
return self::TERMINALE;
|
||||
case "ADULT":
|
||||
return self::ADULT;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
@ -43,27 +43,32 @@ class Config
|
||||
|
||||
public function initDB()
|
||||
{
|
||||
global $DB, $LOCAL_PATH;
|
||||
global $DB, $LOCAL_PATH, $YEAR;
|
||||
|
||||
$index_template_page = htmlspecialchars(file_get_contents($LOCAL_PATH . "/server_files/views/index.html"));
|
||||
|
||||
$DB->exec("SET GLOBAL time_zone = 'Europe/Paris';");
|
||||
$DB->prepare("INSERT IGNORE INTO `config` VALUES ('inscription_date', CURRENT_TIMESTAMP + INTERVAL 2 DAY),
|
||||
('start_phase1_date', CURRENT_TIMESTAMP + INTERVAL 1 DAY), ('end_phase1_date', CURRENT_TIMESTAMP + INTERVAL 3 DAY),
|
||||
('start_phase2_date', CURRENT_TIMESTAMP + INTERVAL 4 DAY), ('end_phase2_date', CURRENT_TIMESTAMP + INTERVAL 5 DAY),
|
||||
('start_phase3_date', CURRENT_TIMESTAMP + INTERVAL 6 DAY), ('end_phase3_date', CURRENT_TIMESTAMP + INTERVAL 7 DAY),
|
||||
('start_phase4_date', CURRENT_TIMESTAMP + INTERVAL 8 DAY), ('end_phase4_date', CURRENT_TIMESTAMP + INTERVAL 9 DAY),
|
||||
('index_page', ?);")->execute([$index_template_page]);
|
||||
$DB->prepare("INSERT IGNORE INTO `config`(`key`, `value`)
|
||||
VALUES ('inscription_date_$YEAR', CURRENT_TIMESTAMP + INTERVAL 2 DAY),
|
||||
('start_phase1_date_$YEAR', CURRENT_TIMESTAMP + INTERVAL 1 DAY),
|
||||
('end_phase1_date_$YEAR', CURRENT_TIMESTAMP + INTERVAL 3 DAY),
|
||||
('start_phase2_date_$YEAR', CURRENT_TIMESTAMP + INTERVAL 4 DAY),
|
||||
('end_phase2_date_$YEAR', CURRENT_TIMESTAMP + INTERVAL 5 DAY),
|
||||
('start_phase3_date_$YEAR', CURRENT_TIMESTAMP + INTERVAL 6 DAY),
|
||||
('end_phase3_date_$YEAR', CURRENT_TIMESTAMP + INTERVAL 7 DAY),
|
||||
('start_phase4_date_$YEAR', CURRENT_TIMESTAMP + INTERVAL 8 DAY),
|
||||
('end_phase4_date_$YEAR', CURRENT_TIMESTAMP + INTERVAL 9 DAY),
|
||||
('index_page_$YEAR', ?);")->execute([$index_template_page]);
|
||||
}
|
||||
|
||||
public function loadConfigValues()
|
||||
{
|
||||
global $DB;
|
||||
global $DB, $YEAR;
|
||||
|
||||
$req = $DB->query("SELECT * FROM `config`;");
|
||||
$req = $DB->query("SELECT * FROM `config` WHERE `key` REGEXP '$YEAR';");
|
||||
|
||||
while (($data = $req->fetch()) !== false) {
|
||||
$key = $data["key"];
|
||||
$key = substr($data["key"], 0, -5);
|
||||
$this->$key = $data["value"];
|
||||
}
|
||||
}
|
||||
@ -75,8 +80,8 @@ class Config
|
||||
|
||||
public function setInscriptionDate($inscription_date)
|
||||
{
|
||||
global $DB;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$inscription_date' WHERE `key` = 'inscription_date';");
|
||||
global $DB, $YEAR;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$inscription_date' WHERE `key` = 'inscription_date_$YEAR'");
|
||||
|
||||
$this->inscription_date = $inscription_date;
|
||||
}
|
||||
@ -88,8 +93,8 @@ class Config
|
||||
|
||||
public function setStartPhase1Date($start_phase1_date)
|
||||
{
|
||||
global $DB;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$start_phase1_date' WHERE `key` = 'start_phase1_date';");
|
||||
global $DB, $YEAR;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$start_phase1_date' WHERE `key` = 'start_phase1_date_$YEAR'");
|
||||
|
||||
$this->start_phase1_date = $start_phase1_date;
|
||||
}
|
||||
@ -101,8 +106,8 @@ class Config
|
||||
|
||||
public function setEndPhase1Date($end_phase1_date)
|
||||
{
|
||||
global $DB;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$end_phase1_date' WHERE `key` = 'end_phase1_date';");
|
||||
global $DB, $YEAR;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$end_phase1_date' WHERE `key` = 'end_phase1_date_$YEAR'");
|
||||
|
||||
$this->end_phase1_date = $end_phase1_date;
|
||||
}
|
||||
@ -114,8 +119,8 @@ class Config
|
||||
|
||||
public function setStartPhase2Date($start_phase2_date)
|
||||
{
|
||||
global $DB;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$start_phase2_date' WHERE `key` = 'start_phase2_date';");
|
||||
global $DB, $YEAR;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$start_phase2_date' WHERE `key` = 'start_phase2_date_$YEAR'");
|
||||
|
||||
$this->start_phase2_date = $start_phase2_date;
|
||||
}
|
||||
@ -127,8 +132,8 @@ class Config
|
||||
|
||||
public function setEndPhase2Date($end_phase2_date)
|
||||
{
|
||||
global $DB;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$end_phase2_date' WHERE `key` = 'end_phase2_date';");
|
||||
global $DB, $YEAR;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$end_phase2_date' WHERE `key` = 'end_phase2_date_$YEAR'");
|
||||
|
||||
$this->end_phase2_date = $end_phase2_date;
|
||||
}
|
||||
@ -140,8 +145,8 @@ class Config
|
||||
|
||||
public function setStartPhase3Date($start_phase3_date)
|
||||
{
|
||||
global $DB;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$start_phase3_date' WHERE `key` = 'start_phase3_date';");
|
||||
global $DB, $YEAR;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$start_phase3_date' WHERE `key` = 'start_phase3_date_$YEAR'");
|
||||
|
||||
$this->start_phase3_date = $start_phase3_date;
|
||||
}
|
||||
@ -153,8 +158,8 @@ class Config
|
||||
|
||||
public function setEndPhase3Date($end_phase3_date)
|
||||
{
|
||||
global $DB;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$end_phase3_date' WHERE `key` = 'end_phase3_date';");
|
||||
global $DB, $YEAR;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$end_phase3_date' WHERE `key` = 'end_phase3_date_$YEAR'");
|
||||
|
||||
$this->end_phase3_date = $end_phase3_date;
|
||||
}
|
||||
@ -166,8 +171,8 @@ class Config
|
||||
|
||||
public function setStartPhase4Date($start_phase4_date)
|
||||
{
|
||||
global $DB;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$start_phase4_date' WHERE `key` = 'start_phase4_date';");
|
||||
global $DB, $YEAR;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$start_phase4_date' WHERE `key` = 'start_phase4_date_$YEAR'");
|
||||
|
||||
$this->start_phase4_date = $start_phase4_date;
|
||||
}
|
||||
@ -179,8 +184,8 @@ class Config
|
||||
|
||||
public function setEndPhase4Date($end_phase4_date)
|
||||
{
|
||||
global $DB;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$end_phase4_date' WHERE `key` = 'end_phase4_date';");
|
||||
global $DB, $YEAR;
|
||||
$DB->exec("UPDATE `config` SET `value` = '$end_phase4_date' WHERE `key` = 'end_phase4_date_$YEAR'");
|
||||
|
||||
$this->end_phase4_date = $end_phase4_date;
|
||||
}
|
||||
@ -192,8 +197,8 @@ class Config
|
||||
|
||||
public function setIndexPage($index_page)
|
||||
{
|
||||
global $DB;
|
||||
$DB->prepare("UPDATE `config` SET `value` = ? WHERE `key` = 'index_page';")->execute([$index_page]);
|
||||
global $DB, $YEAR;
|
||||
$DB->prepare("UPDATE `config` SET `value` = ? WHERE `key` = 'index_page_$YEAR'")->execute([$index_page]);
|
||||
|
||||
$this->index_page = $index_page;
|
||||
}
|
||||
|
@ -44,9 +44,10 @@ class NewAdmin {
|
||||
|
||||
$this->password = genRandomPhrase(16, true);
|
||||
|
||||
$req = $DB->prepare("INSERT INTO `users`(`email`, `pwd_hash`, `surname`, `first_name`, `role`, `year`)
|
||||
VALUES (?, ?, ?, ?, ?, ?);");
|
||||
$req->execute([$this->email, password_hash($this->password, PASSWORD_BCRYPT), $this->surname, $this->first_name, "ADMIN", $YEAR]);
|
||||
$req = $DB->prepare("INSERT INTO `users`(`email`, `pwd_hash`, `surname`, `first_name`, `class`, `role`, `year`)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?);");
|
||||
$req->execute([$this->email, password_hash($this->password, PASSWORD_BCRYPT), $this->surname,
|
||||
$this->first_name, "ADULT", "ADMIN", $YEAR]);
|
||||
|
||||
Mailer::sendAddAdminMail($this);
|
||||
}
|
||||
|
@ -30,7 +30,8 @@ class GiveQuestions
|
||||
* @var Team $to_team
|
||||
*/
|
||||
private $to_team;
|
||||
private $question_1;
|
||||
private $question_0;
|
||||
private $question_1;
|
||||
private $question_2;
|
||||
private $question_3;
|
||||
private $question_4;
|
||||
@ -50,7 +51,7 @@ class GiveQuestions
|
||||
$this->files = [];
|
||||
$this->has_files = false;
|
||||
|
||||
for ($i = 1; $i <= 6; ++$i) {
|
||||
for ($i = 0; $i <= 6; ++$i) {
|
||||
if (strlen($files["file_$i"]["name"]) > 0) {
|
||||
$this->files[] = $files["file_$i"];
|
||||
$this->has_files = true;
|
||||
@ -59,7 +60,7 @@ class GiveQuestions
|
||||
$this->files[] = null;
|
||||
}
|
||||
|
||||
$this->questions = [$this->question_1, $this->question_2, $this->question_3, $this->question_4, $this->question_5, $this->question_6];
|
||||
$this->questions = [$this->question_0, $this->question_1, $this->question_2, $this->question_3, $this->question_4, $this->question_5, $this->question_6];
|
||||
}
|
||||
|
||||
public function makeVerifications()
|
||||
@ -73,12 +74,12 @@ class GiveQuestions
|
||||
"Vous devez poser au moins 3 questions.");
|
||||
ensure(!$this->has_files || $this->no_drawing, "Vous devez confirmer ne pas avoir inclus de texte dans vos pièces jointes.");
|
||||
|
||||
for ($i = 3; $i < 6; ++$i) {
|
||||
for ($i = 4; $i <= 6; ++$i) {
|
||||
if ($this->questions[$i] == "")
|
||||
$this->questions[$i] = null;
|
||||
}
|
||||
|
||||
for ($i = 0; $i < 6; ++$i) {
|
||||
for ($i = 0; $i <= 6; ++$i) {
|
||||
ensure($this->files[$i]["size"] <= 2e6, "Le fichier doit peser moins que 2 Mo.");
|
||||
ensure(!$this->files[$i]["error"], "Une erreur est survenue. Veuillez vérifier vos pièces jointes. Elles ne doivent pas peser plus de 2 Mo chacune.");
|
||||
}
|
||||
@ -92,7 +93,7 @@ class GiveQuestions
|
||||
|
||||
/** @var Question[] $questions */
|
||||
$questions = Question::getQuestions($team, $this->to_team);
|
||||
for ($i = 0; $i < 6; ++$i) {
|
||||
for ($i = 0; $i <= 6; ++$i) {
|
||||
$question = $questions[$i];
|
||||
if ($question->getQuestion() != $this->questions[$i] && $question->getAttachedFile() != null) {
|
||||
unlink("$LOCAL_PATH/files/" . $question->getAttachedFile());
|
||||
|
@ -5,7 +5,7 @@ $problem = htmlspecialchars($_GET["probleme"]);
|
||||
if (!preg_match("#[0-4]#", $problem))
|
||||
require_once "server_files/404.php";
|
||||
|
||||
if (isset($_GET["modifier"]) && $_SESSION["role"] != Role::ADMIN)
|
||||
if (!isset($_SESSION["user_id"]) || $_SESSION["role"] != Role::ADMIN)
|
||||
require_once "server_files/403.php";
|
||||
|
||||
$has_error = false;
|
||||
|
@ -26,6 +26,7 @@ class AnswerQuestions
|
||||
* @var Team $to_team
|
||||
*/
|
||||
private $from_team;
|
||||
private $answer_0;
|
||||
private $answer_1;
|
||||
private $answer_2;
|
||||
private $answer_3;
|
||||
@ -46,7 +47,7 @@ class AnswerQuestions
|
||||
$this->files = [];
|
||||
$this->has_files = false;
|
||||
|
||||
for ($i = 1; $i <= 6; ++$i) {
|
||||
for ($i = 0; $i <= 6; ++$i) {
|
||||
if (strlen($files["file_$i"]["name"]) > 0) {
|
||||
$this->files[] = $files["file_$i"];
|
||||
$this->has_files = true;
|
||||
@ -55,7 +56,7 @@ class AnswerQuestions
|
||||
$this->files[] = null;
|
||||
}
|
||||
|
||||
$this->answers = [$this->answer_1, $this->answer_2, $this->answer_3, $this->answer_4, $this->answer_5, $this->answer_6];
|
||||
$this->answers = [$this->answer_0, $this->answer_1, $this->answer_2, $this->answer_3, $this->answer_4, $this->answer_5, $this->answer_6];
|
||||
}
|
||||
|
||||
public function makeVerifications()
|
||||
@ -67,12 +68,12 @@ class AnswerQuestions
|
||||
ensure($team->getProblem() == $this->from_team->getProblem(), "Les équipes ne travaillent pas sur le même problème.");
|
||||
ensure(!$this->has_files || $this->no_drawing, "Vous devez confirmer ne pas avoir inclus de texte dans vos pièces jointes.");
|
||||
|
||||
for ($i = 0; $i < 6; ++$i) {
|
||||
for ($i = 1; $i <= 6; ++$i) {
|
||||
if ($this->answers[$i] == "")
|
||||
$this->answers[$i] = null;
|
||||
}
|
||||
|
||||
for ($i = 0; $i < 6; ++$i) {
|
||||
for ($i = 0; $i <= 6; ++$i) {
|
||||
ensure($this->files[$i]["size"] <= 2e6, "Le fichier doit peser moins que 2 Mo.");
|
||||
ensure(!$this->files[$i]["error"], "Une erreur est survenue. Veuillez vérifier vos pièces jointes. Elles ne doivent pas peser plus de 2 Mo chacune.");
|
||||
}
|
||||
@ -86,7 +87,7 @@ class AnswerQuestions
|
||||
|
||||
/** @var Question[] $questions */
|
||||
$questions = Question::getQuestions($this->from_team, $team);
|
||||
for ($i = 0; $i < 6; ++$i) {
|
||||
for ($i = 0; $i <= 6; ++$i) {
|
||||
$question = $questions[$i];
|
||||
if ($question->getAnswer() != $this->answers[$i] && $question->getAttachedFileAnswer() != null) {
|
||||
unlink("$LOCAL_PATH/files/" . $question->getAttachedFileAnswer());
|
||||
|
@ -64,12 +64,12 @@ switch (Phase::getCurrentPhase()) {
|
||||
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`.`number` = 0"
|
||||
. " JOIN `questions` AS `q2` ON `q2`.`from` = `q1`.`from` AND `q2`.`number` = 2"
|
||||
. " JOIN `questions` AS `q3` ON `q3`.`from` = `q1`.`from` AND `q3`.`number` = 3"
|
||||
. " JOIN `questions` AS `q4` ON `q4`.`from` = `q1`.`from` AND `q4`.`number` = 4"
|
||||
. " JOIN `questions` AS `q5` ON `q5`.`from` = `q1`.`from` AND `q5`.`number` = 5"
|
||||
. " JOIN `questions` AS `q6` ON `q6`.`from` = `q1`.`from` AND `q6`.`number` = 6"
|
||||
. " WHERE `q1`.`number` = 1"
|
||||
. " AND (`q1`.`question` != '" . Question::DEFAULT_QUESTIONS[0] . "'"
|
||||
. " OR `q2`.`question` != '" . Question::DEFAULT_QUESTIONS[1] . "'"
|
||||
. " OR `q3`.`question` != '" . Question::DEFAULT_QUESTIONS[2] . "'"
|
||||
@ -82,12 +82,12 @@ switch (Phase::getCurrentPhase()) {
|
||||
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`.`question` = 0"
|
||||
. " JOIN `questions` AS `q2` ON `q2`.`to` = `q1`.`to` AND `q2`.`number` = 2"
|
||||
. " JOIN `questions` AS `q3` ON `q3`.`to` = `q1`.`to` AND `q3`.`number` = 3"
|
||||
. " JOIN `questions` AS `q4` ON `q4`.`to` = `q1`.`to` AND `q4`.`number` = 4"
|
||||
. " JOIN `questions` AS `q5` ON `q5`.`to` = `q1`.`to` AND `q5`.`number` = 5"
|
||||
. " JOIN `questions` AS `q6` ON `q6`.`to` = `q1`.`to` AND `q6`.`number` = 6"
|
||||
. " WHERE `q1`.`question` = 1"
|
||||
. " AND (`q1`.`answer` IS NOT NULL"
|
||||
. " OR `q2`.`answer` IS NOT NULL"
|
||||
. " OR `q3`.`answer` IS NOT NULL"
|
||||
|
@ -119,6 +119,11 @@ function canValidate(Team $team)
|
||||
|
||||
function printDocuments($documents)
|
||||
{
|
||||
if (sizeof($documents) == 0) {
|
||||
echo "<div class=\"alert alert-warning\">\nPas de document envoyé pour le moment.\n</div>\n";
|
||||
return;
|
||||
}
|
||||
|
||||
echo "<div class=\"alert alert-info\">\n";
|
||||
foreach ($documents as $document) {
|
||||
$file_id = $document->getFileId();
|
||||
|
@ -7,7 +7,7 @@ class Mailer
|
||||
global $MAIL_DOMAIN, $URL_BASE, $YEAR;
|
||||
|
||||
$content = preg_replace("#{URL_BASE}#", $URL_BASE, $content);
|
||||
$content = preg_replace("#{YEAR}#", $YEAR, $content);
|
||||
$content = preg_replace("#{YEAR}#", $YEAR . "- " . ($YEAR + 1), $content);
|
||||
|
||||
$headers = "From: \"Contact Corres2Math\" <" . $from . "@" . $MAIL_DOMAIN . ">\r\n";
|
||||
$headers .= "Reply-To: \"Contact corres2Math\" <contact@" . $MAIL_DOMAIN . ">\r\n";
|
||||
@ -68,7 +68,7 @@ class Mailer
|
||||
$content = preg_replace("#{SURNAME}#", $new_user->surname, $content);
|
||||
$content = preg_replace("#{TOKEN}#", $new_user->confirm_email_token, $content);
|
||||
|
||||
self::sendMail($new_user->email, "Inscription aux Correspondances des Jeunes Mathématicien·ne·s $YEAR", $content);
|
||||
self::sendMail($new_user->email, "Inscription aux Correspondances des Jeunes Mathématicien·ne·s $YEAR - " . ($YEAR + 1), $content);
|
||||
}
|
||||
|
||||
public static function sendConfirmEmail(User $user)
|
||||
@ -80,36 +80,42 @@ class Mailer
|
||||
$content = preg_replace("#{SURNAME}#", $user->getSurname(), $content);
|
||||
$content = preg_replace("#{TOKEN}#", $user->getConfirmEmailToken(), $content);
|
||||
|
||||
self::sendMail($user->getEmail(), "Confirmation d'adresse e-mail – Correspondances des Jeunes Mathématicien·ne·s $YEAR", $content);
|
||||
self::sendMail($user->getEmail(), "Confirmation d'adresse e-mail – Correspondances des Jeunes Mathématicien·ne·s $YEAR - " . ($YEAR + 1), $content);
|
||||
}
|
||||
|
||||
public static function sendChangeEmailAddressMail(User $user)
|
||||
{
|
||||
global $YEAR;
|
||||
|
||||
$content = self::getTemplate("change_email_address");
|
||||
$content = preg_replace("#{FIRST_NAME}#", $user->getFirstName(), $content);
|
||||
$content = preg_replace("#{SURNAME}#", $user->getSurname(), $content);
|
||||
$content = preg_replace("#{TOKEN}#", $user->getConfirmEmailToken(), $content);
|
||||
|
||||
self::sendMail($user->getEmail(), "Changement d'adresse e-mail – Correspondances des Jeunes Mathématicien·ne·s", $content);
|
||||
self::sendMail($user->getEmail(), "Changement d'adresse e-mail – Correspondances des Jeunes Mathématicien·ne·s $YEAR - " . ($YEAR + 1), $content);
|
||||
}
|
||||
|
||||
public static function sendForgottenPasswordProcedureMail(User $user)
|
||||
{
|
||||
global $YEAR;
|
||||
|
||||
$content = self::getTemplate("forgotten_password");
|
||||
$content = preg_replace("#{FIRST_NAME}#", $user->getFirstName(), $content);
|
||||
$content = preg_replace("#{SURNAME}#", $user->getSurname(), $content);
|
||||
$content = preg_replace("#{TOKEN}#", $user->getForgottenPasswordToken(), $content);
|
||||
|
||||
self::sendMail($user->getEmail(), "Mot de passe oublié – Correspondances des Jeunes Mathématicien·ne·s", $content);
|
||||
self::sendMail($user->getEmail(), "Mot de passe oublié – Correspondances des Jeunes Mathématicien·ne·s $YEAR - " . ($YEAR + 1), $content);
|
||||
}
|
||||
|
||||
public static function sendChangePasswordMail(User $user)
|
||||
{
|
||||
global $YEAR;
|
||||
|
||||
$content = self::getTemplate("change_password");
|
||||
$content = preg_replace("#{FIRST_NAME}#", $user->getFirstName(), $content);
|
||||
$content = preg_replace("#{SURNAME}#", $user->getSurname(), $content);
|
||||
|
||||
self::sendMail($user->getEmail(), "Mot de passe changé – Correspondances des Jeunes Mathématicien·ne·s", $content);
|
||||
self::sendMail($user->getEmail(), "Mot de passe changé – Correspondances des Jeunes Mathématicien·ne·s $YEAR - " . ($YEAR + 1), $content);
|
||||
}
|
||||
|
||||
public static function sendAddAdminMail(NewAdmin $new_admin)
|
||||
@ -121,7 +127,7 @@ class Mailer
|
||||
$content = preg_replace("#{SURNAME}#", $new_admin->surname, $content);
|
||||
$content = preg_replace("#{PASSWORD}#", $new_admin->password, $content);
|
||||
|
||||
self::sendMail($new_admin->email, "Ajout d'un administrateur – Correspondances des Jeunes Mathématicien·ne·s $YEAR", $content);
|
||||
self::sendMail($new_admin->email, "Ajout d'un administrateur – Correspondances des Jeunes Mathématicien·ne·s $YEAR - " . ($YEAR + 1), $content);
|
||||
}
|
||||
|
||||
public static function sendAddTeamMail(User $user, Team $team)
|
||||
@ -133,10 +139,13 @@ class Mailer
|
||||
$content = preg_replace("#{SURNAME}#", $user->getSurname(), $content);
|
||||
$content = preg_replace("#{TEAM_NAME}#", $team->getName(), $content);
|
||||
$content = preg_replace("#{TRIGRAM}#", $team->getTrigram(), $content);
|
||||
$content = preg_replace("#{PROBLEM}#", $team->getProblem(), $content);
|
||||
$content = preg_replace("#{ACCESS_CODE}#", $team->getAccessCode(), $content);
|
||||
$content = preg_replace("#{ACCESS_CODE}#", $team->getAccessCode(), $content);
|
||||
if ($team->getProblem() > 0)
|
||||
$content = preg_replace("#{PROBLEM}#", "pour le problème" . $team->getProblem(), $content);
|
||||
else
|
||||
$content = preg_replace("#{PROBLEM}#", "", $content);
|
||||
|
||||
self::sendMail($user->getEmail(), "Ajout d'une équipe – Correspondances des Jeunes Mathématicien·ne·s $YEAR", $content);
|
||||
self::sendMail($user->getEmail(), "Ajout d'une équipe – Correspondances des Jeunes Mathématicien·ne·s $YEAR - " . ($YEAR + 1), $content);
|
||||
}
|
||||
|
||||
public static function sendJoinTeamMail(User $user, Team $team)
|
||||
@ -148,9 +157,12 @@ class Mailer
|
||||
$content = preg_replace("#{SURNAME}#", $user->getSurname(), $content);
|
||||
$content = preg_replace("#{TEAM_NAME}#", $team->getName(), $content);
|
||||
$content = preg_replace("#{TRIGRAM}#", $team->getTrigram(), $content);
|
||||
$content = preg_replace("#{PROBLEM}#", $team->getProblem(), $content);
|
||||
if ($team->getProblem() > 0)
|
||||
$content = preg_replace("#{PROBLEM}#", "pour le problème" . $team->getProblem(), $content);
|
||||
else
|
||||
$content = preg_replace("#{PROBLEM}#", "", $content);
|
||||
|
||||
self::sendMail($user->getEmail(), "Équipe rejointe – Correspondances des Jeunes Mathématicien·ne·s $YEAR", $content);
|
||||
self::sendMail($user->getEmail(), "Équipe rejointe – Correspondances des Jeunes Mathématicien·ne·s $YEAR - " . ($YEAR + 1), $content);
|
||||
}
|
||||
|
||||
public static function sendRequestValidationMail(Team $team)
|
||||
@ -163,7 +175,7 @@ class Mailer
|
||||
$content = preg_replace("#{PROBLEM}#", $team->getProblem(), $content);
|
||||
$content = preg_replace("#{ACCESS_CODE}#", $team->getAccessCode(), $content);
|
||||
|
||||
self::broadcastToAdmins("Ajout d'une équipe – Correspondances des Jeunes Mathématicien·ne·s $YEAR", $content);
|
||||
self::broadcastToAdmins("Demande de validation – Correspondances des Jeunes Mathématicien·ne·s $YEAR - " . ($YEAR + 1), $content);
|
||||
}
|
||||
|
||||
public static function sendValidateTeam($team, $message)
|
||||
@ -176,7 +188,7 @@ class Mailer
|
||||
$message = preg_replace("#\n#", "<br/>\n", $message);
|
||||
$content = preg_replace("#{MESSAGE}#", $message, $content);
|
||||
|
||||
self::broadcastToTeam($team, "Équipe validée – Correspondances des Jeunes Mathématicien·ne·s $YEAR", $content);
|
||||
self::broadcastToTeam($team, "Équipe validée – Correspondances des Jeunes Mathématicien·ne·s $YEAR - " . ($YEAR + 1), $content);
|
||||
}
|
||||
|
||||
public static function sendUnvalidateTeam($team, $message)
|
||||
@ -189,7 +201,7 @@ class Mailer
|
||||
$message = preg_replace("#\n#", "<br/>\n", $message);
|
||||
$content = preg_replace("#{MESSAGE}#", $message, $content);
|
||||
|
||||
self::broadcastToTeam($team, "Équipe non validée – Correspondances des Jeunes Mathématicien·ne·s $YEAR", $content);
|
||||
self::broadcastToTeam($team, "Équipe non validée – Correspondances des Jeunes Mathématicien·ne·s $YEAR - " . ($YEAR + 1), $content);
|
||||
}
|
||||
|
||||
public static function sendNewVideo(NewVideo $video, Team $team)
|
||||
@ -201,7 +213,7 @@ class Mailer
|
||||
$content = preg_replace("#{TRIGRAM}#", $team->getTrigram(), $content);
|
||||
$content = preg_replace("#{PROBLEM}#", $team->getProblem(), $content);
|
||||
$content = preg_replace("#{VIDEO_LINK}#", $video->link, $content);
|
||||
self::broadcastToAdmins("Nouvelle vidéo – Correspondances des Jeunes Mathématicien·ne·s $YEAR", $content);
|
||||
self::broadcastToAdmins("Nouvelle vidéo – Correspondances des Jeunes Mathématicien·ne·s $YEAR - " . ($YEAR + 1), $content);
|
||||
}
|
||||
|
||||
public static function sendNewAnswer(NewAnswer $video, Team $team)
|
||||
@ -217,7 +229,7 @@ class Mailer
|
||||
$content = preg_replace("#{PROBLEM}#", $team->getProblem(), $content);
|
||||
$content = preg_replace("#{VIDEO_LINK}#", $video->link, $content);
|
||||
|
||||
self::broadcastToAdmins("Nouvelle vidéo de réponse – Correspondances des Jeunes Mathématicien·ne·s $YEAR", $content);
|
||||
self::broadcastToAdmins("Nouvelle vidéo de réponse – Correspondances des Jeunes Mathématicien·ne·s $YEAR - " . ($YEAR + 1), $content);
|
||||
}
|
||||
|
||||
public static function validateVideo(Video $video, $message)
|
||||
@ -238,6 +250,7 @@ class Mailer
|
||||
$message = preg_replace("#\n#", "<br/>\n", $message);
|
||||
$content = preg_replace("#{MESSAGE}#", $message, $content);
|
||||
|
||||
self::broadcastToTeam($team, ($video->getValidation() == Video::REJECTED ? "Vidéo refusée " : "Vidéo acceptée ") . $team->getTrigram() . " – Correspondances des Jeunes Mathématicien·ne·s $YEAR", $content);
|
||||
self::broadcastToTeam($team, ($video->getValidation() == Video::REJECTED ? "Vidéo refusée " : "Vidéo acceptée ")
|
||||
. $team->getTrigram() . " – Correspondances des Jeunes Mathématicien·ne·s $YEAR - " . ($YEAR + 1), $content);
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,8 @@
|
||||
<body>
|
||||
Bonjour {FIRST_NAME} {SURNAME},<br />
|
||||
<br />
|
||||
Vous venez de créer l'équipe « {TEAM_NAME} » ({TRIGRAM}) pour les Correspondances des Jeunes Mathématicien·ne·s pour le problème {PROBLEM} et nous vous en remercions.<br />
|
||||
Vous venez de créer l'équipe « {TEAM_NAME} » ({TRIGRAM}) pour les Correspondances des Jeunes Mathématicien·ne·s
|
||||
{PROBLEM} et nous vous en remercions.<br />
|
||||
Afin de permettre aux autres membres de votre équipe de vous rejoindre, veuillez leur transmettre le code d'accès :
|
||||
<strong>{ACCESS_CODE}</strong><br/>
|
||||
<br />
|
||||
|
@ -7,8 +7,8 @@
|
||||
<body>
|
||||
Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||
<br/>
|
||||
Vous venez de rejoindre l'équipe « {TEAM_NAME} » ({TRIGRAM}) pour les Correspondances des Jeunes Mathématicien·ne·s pour le problème {PROBLEM} et nous vous en
|
||||
remercions.<br/>
|
||||
Vous venez de rejoindre l'équipe « {TEAM_NAME} » ({TRIGRAM}) pour les Correspondances des Jeunes Mathématicien·ne·s
|
||||
{PROBLEM} et nous vous en remercions.<br/>
|
||||
<br/>
|
||||
Cordialement,<br/>
|
||||
<br/>
|
||||
|
@ -11,7 +11,7 @@ Maleureusement, votre équipe « {TEAM_NAME} » ({TRIGRAM}) n'a pas été valid
|
||||
de droit à l'image sont correctes.
|
||||
{MESSAGE}<br />
|
||||
<br />
|
||||
<br />N'hésitez pas à nous contacter à l'adresse <a href="contact@correspondances-maths.fr">contact@correspondances-maths.fr</a>
|
||||
N'hésitez pas à nous contacter à l'adresse <a href="contact@correspondances-maths.fr">contact@correspondances-maths.fr</a>
|
||||
pour plus d'informations.
|
||||
<br/>
|
||||
Cordialement,<br/>
|
||||
|
@ -9,7 +9,7 @@ Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||
<br/>
|
||||
Félicitations ! Votre équipe « {TEAM_NAME} » ({TRIGRAM}) est désormais validée ! Vous êtes désormais apte à travailler sur
|
||||
votre problème. Lorsque les Correspondances auront débutées, vous pourrez soumettre votre vidéo sur la plateforme d'inscription.
|
||||
{MESSAGE}
|
||||
{MESSAGE}<br />
|
||||
<br/>
|
||||
Cordialement,<br/>
|
||||
<br/>
|
||||
|
@ -7,10 +7,13 @@
|
||||
<body>
|
||||
Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||
<br/>
|
||||
Malheureusement, votre vidéo de réponse pour le problème {PROBLEM} n'a pas été validée. Pour rappel, vous aviez soumis ce lien : <a href="{VIDEO_LINK}">{VIDEO_LINK}</a>.<br />
|
||||
Malheureusement, votre vidéo de réponse pour le problème {PROBLEM} n'a pas été validée. Pour rappel, vous aviez soumis
|
||||
ce lien : <a href="{VIDEO_LINK}">{VIDEO_LINK}</a>.<br />
|
||||
Si vous aviez soumis une précédente vidéo qui a été validée, elle reste conservée.
|
||||
Vous êtes désormais invités à retravailler vos réponses ou votre présentation orale afin que votre prestation soit validée par les organisateurs.
|
||||
N'hésitez pas à nous contacter à <a href="mailto:contact@correspondances-maths.fr">contact@correspondances-maths.fr</a> si vous souhaitez avoir plus d'informations ou contester ce refus.
|
||||
Vous êtes désormais invités à retravailler vos réponses ou votre présentation orale afin que votre prestation soit
|
||||
validée par les organisateurs. N'hésitez pas à nous contacter à
|
||||
<a href="mailto:contact@correspondances-maths.fr">contact@correspondances-maths.fr</a> si vous souhaitez avoir plus
|
||||
d'informations ou contester ce refus.<br />
|
||||
<br/>
|
||||
{MESSAGE}
|
||||
Cordialement,<br/>
|
||||
|
@ -7,10 +7,13 @@
|
||||
<body>
|
||||
Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||
<br/>
|
||||
Malheureusement, votre vidéo pour le problème {PROBLEM} n'a pas été validée. Pour rappel, vous aviez soumis ce lien : <a href="{VIDEO_LINK}">{VIDEO_LINK}</a>.<br />
|
||||
Malheureusement, votre vidéo pour le problème {PROBLEM} n'a pas été validée. Pour rappel, vous aviez soumis ce lien :
|
||||
<a href="{VIDEO_LINK}">{VIDEO_LINK}</a>.<br />
|
||||
Si vous aviez soumis une précédente vidéo qui a été validée, elle reste conservée.
|
||||
Vous êtes désormais invités à retravailler vos résultats ou votre présentation orale afin que votre prestation soit validée par les organisateurs.
|
||||
N'hésitez pas à nous contacter à <a href="mailto:contact@correspondances-maths.fr">contact@correspondances-maths.fr</a> si vous souhaitez avoir plus d'informations ou contester ce refus.
|
||||
Vous êtes désormais invités à retravailler vos résultats ou votre présentation orale afin que votre prestation soit
|
||||
validée par les organisateurs. N'hésitez pas à nous contacter à
|
||||
<a href="mailto:contact@correspondances-maths.fr">contact@correspondances-maths.fr</a> si vous souhaitez avoir plus
|
||||
d'informations ou contester ce refus.<br />
|
||||
<br/>
|
||||
{MESSAGE}
|
||||
Cordialement,<br/>
|
||||
|
@ -8,7 +8,8 @@ require_once "header.php";
|
||||
|
||||
<?php if (isset($new_team) && !$has_error) { ?>
|
||||
<div class="alert alert-success">
|
||||
Votre équipe a bien été créée ! Voici le code d'accès à transmettre aux autres membres de votre équipe : <strong><?= $new_team->access_code ?></strong>
|
||||
Votre équipe a bien été créée ! Voici le code d'accès à transmettre aux autres membres de votre équipe :
|
||||
<strong><?= $new_team->access_code ?></strong>
|
||||
</div>
|
||||
<?php } elseif ($_SESSION["team"] != NULL) { ?>
|
||||
<div class="alert alert-danger">
|
||||
@ -21,7 +22,7 @@ require_once "header.php";
|
||||
<?php } else { ?>
|
||||
|
||||
<div class="alert alert-info">
|
||||
Chacune des informations pourra être modifiée avant que l'équipe soit validée.
|
||||
Chacune des informations pourra être modifiée avant que l'équipe tant que l'équipe n'est pas validée.
|
||||
</div>
|
||||
|
||||
<form method="POST">
|
||||
@ -45,7 +46,7 @@ require_once "header.php";
|
||||
<option value="0">Choisir un problème ...</option>
|
||||
<?php
|
||||
for ($i = 1; $i <= 4; ++$i)
|
||||
echo "<option value='$i' " . (isset($new_team) && $new_team->problem == $i ? "selected" : "") . ">$i</option>";
|
||||
echo "<option value='$i' " . (isset($new_team) && $new_team->problem == $i ? "selected" : "") . ">Problème $i</option>";
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
|
@ -12,76 +12,88 @@ require_once "header.php";
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<div class="alert alert-info">
|
||||
Pour clore vos Correspondances, vous devez produire, pour chaque vidéo reçue d'une autre équipe, une vidéo de
|
||||
synthèse d'au plus 4 minutes.
|
||||
Cette vidéo doit mettre en perspective de la vidéo initiale en tenant compte de l'échange qui a eu lieu.
|
||||
Vous devez mettre en valeur l’échange questions/réponses, et montrer l'évolution de la résolution au problème.
|
||||
</div>
|
||||
|
||||
<div class="alert alert-warning">
|
||||
<strong>Date limite de soumission :</strong> <?= formatDate($CONFIG->getEndPhase4Date(), true) ?>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
for ($i = 0; $i < 2; ++$i) {
|
||||
/** @var Team $answer_team */
|
||||
$answer_team = $teams[$i];
|
||||
/** @var Video $sol */
|
||||
$sol = $sols[$i];
|
||||
/** @var Video $answer */
|
||||
$answer = $answers[$i];
|
||||
/** @var Video $answer_validated */
|
||||
$answer_validated = $answers_validated[$i];
|
||||
/** @var Question[] $questions */
|
||||
$questions = Question::getQuestions($team, $answer_team);
|
||||
?>
|
||||
/** @var Team $answer_team */
|
||||
$answer_team = $teams[$i];
|
||||
/** @var Video $sol */
|
||||
$sol = $sols[$i];
|
||||
/** @var Video $answer */
|
||||
$answer = $answers[$i];
|
||||
/** @var Video $answer_validated */
|
||||
$answer_validated = $answers_validated[$i];
|
||||
/** @var Question[] $questions */
|
||||
$questions = Question::getQuestions($team, $answer_team);
|
||||
?>
|
||||
<div class="jumbotron">
|
||||
<h2>Vidéo de l'équipe <?= $answer_team->getName() ?> (<?= $answer_team->getTrigram() ?>) :</h2>
|
||||
<div class="alert alert-info">
|
||||
<strong>Lien de la vidéo de présentation de la solution au problème :</strong>
|
||||
<a href="<?= $sol->getLink() ?>"><?= $sol->getLink() ?></a>
|
||||
</div>
|
||||
<?php displayVideo($sol->getLink()) ?>
|
||||
<?php displayVideo($sol->getLink()) ?>
|
||||
|
||||
<h5>Questions échangées :</h5>
|
||||
<?php
|
||||
for ($j = 0; $j < 6; ++$j) {
|
||||
/** @var Question $question */
|
||||
$question = $questions[$j];
|
||||
if ($question->getQuestion() === null)
|
||||
continue;
|
||||
?>
|
||||
<?php
|
||||
for ($j = 0; $j <= 6; ++$j) {
|
||||
/** @var Question $question */
|
||||
$question = $questions[$j];
|
||||
if ($j > 0 && $question->getQuestion() === null)
|
||||
continue;
|
||||
?>
|
||||
<div class="alert alert-info">
|
||||
<strong>Question <?= $question->getNumber() + 1 ?> :</strong> <?= $question->getQuestion() ?><br />
|
||||
<?php
|
||||
if ($question->getAttachedFile() !== null) { ?>
|
||||
<strong><?= $j == 0 ? "Remarques générales :" : "Question " . $question->getNumber() . " :" ?></strong>
|
||||
<?= $question->getQuestion() ?><br/>
|
||||
<?php
|
||||
if ($question->getAttachedFile() !== null) { ?>
|
||||
<em>Pièce jointe attachée :</em>
|
||||
<a href="/file/<?= $question->getAttachedFile() ?>"><strong>Télécharger</strong></a><br />
|
||||
<?php } ?>
|
||||
<strong>Réponse :</strong> <?= $question->getAnswer() ?><br />
|
||||
<?php
|
||||
if ($question->getAttachedFile() !== null) { ?>
|
||||
<a href="/file/<?= $question->getAttachedFile() ?>"><strong>Télécharger</strong></a><br/>
|
||||
<?php } ?>
|
||||
<strong>Réponse :</strong> <?= $question->getAnswer() ?><br/>
|
||||
<?php
|
||||
if ($question->getAttachedFileAnswer() !== null) { ?>
|
||||
<em>Pièce jointe attachée :</em>
|
||||
<a href="/file/<?= $question->getAttachedFileAnswer() ?>"><strong>Télécharger</strong></a><br />
|
||||
<?php } ?>
|
||||
<a href="/file/<?= $question->getAttachedFileAnswer() ?>"><strong>Télécharger</strong></a><br/>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
<br/>
|
||||
<h5>Vidéo de réponse :</h5>
|
||||
|
||||
<?php
|
||||
if ($answer !== null) {
|
||||
$link = $answer->getLink();
|
||||
echo "<div class=\"alert alert-info\"><strong>Lien de la vidéo déjà envoyée :</strong> <a href=\"$link\">$link</a> (version " . $answer->getVersion() . ")</div>\n";
|
||||
displayVideo($link);
|
||||
switch ($answer->getValidation()) {
|
||||
case 0:
|
||||
echo "<div class=\"alert alert-warning\">La vidéo n'a pas encore été vérifiée par l'équipe d'organisation.</div>";
|
||||
break;
|
||||
case 1:
|
||||
echo "<div class=\"alert alert-success\">La vidéo a été acceptée par l'équipe d'organisation.</div>";
|
||||
break;
|
||||
case -1:
|
||||
echo "<div class=\"alert alert-danger\">La vidéo a été rejetée par l'équipe d'organisation.</div>";
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($answer_validated != null && $answer_validated->getId() != $answer->getId()) {
|
||||
$link = $answer_validated->getLink();
|
||||
echo "<hr />\n<div class=\"alert alert-info\">Lien de la dernière vidéo validée : <a href=\"$link\">$link</a></div>\n";
|
||||
displayVideo($link);
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
if ($answer !== null) {
|
||||
$link = $answer->getLink();
|
||||
echo "<div class=\"alert alert-info\"><strong>Lien de la vidéo déjà envoyée :</strong> <a href=\"$link\">$link</a> (version " . $answer->getVersion() . ")</div>\n";
|
||||
displayVideo($link);
|
||||
switch ($answer->getValidation()) {
|
||||
case 0:
|
||||
echo "<div class=\"alert alert-warning\">La vidéo n'a pas encore été vérifiée par l'équipe d'organisation.</div>";
|
||||
break;
|
||||
case 1:
|
||||
echo "<div class=\"alert alert-success\">La vidéo a été acceptée par l'équipe d'organisation.</div>";
|
||||
break;
|
||||
case -1:
|
||||
echo "<div class=\"alert alert-danger\">La vidéo a été rejetée par l'équipe d'organisation.</div>";
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($answer_validated != null && $answer_validated->getId() != $answer->getId()) {
|
||||
$link = $answer_validated->getLink();
|
||||
echo "<hr />\n<div class=\"alert alert-info\">Lien de la dernière vidéo validée : <a href=\"$link\">$link</a></div>\n";
|
||||
displayVideo($link);
|
||||
}
|
||||
?>
|
||||
|
||||
<form method="POST">
|
||||
<input type="hidden" name="team" value="<?= $i + 1 ?>"/>
|
||||
@ -92,16 +104,19 @@ for ($i = 0; $i < 2; ++$i) {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="checkbox" name="valid_link" id="valid_link_<?= $i ?>" required/> <label for="valid_link_<?= $i ?>">Je
|
||||
<input type="checkbox" name="valid_link" id="valid_link_<?= $i ?>" required/> <label
|
||||
for="valid_link_<?= $i ?>">Je
|
||||
confirme que le lien est valide</label><br/>
|
||||
|
||||
<input type="checkbox" name="no_change" id="no_change_<?= $i ?>" required/> <label for="no_change_<?= $i ?>">Je m'engage
|
||||
<input type="checkbox" name="no_change" id="no_change_<?= $i ?>" required/> <label
|
||||
for="no_change_<?= $i ?>">Je m'engage
|
||||
à ne pas changer le contenu du lien et de la vidéo</label>
|
||||
|
||||
<input class="btn btn-primary btn-lg btn-block" type="submit" name="upload_answer" value="Envoyer la vidéo"/>
|
||||
<input class="btn btn-primary btn-lg btn-block" type="submit" name="upload_answer"
|
||||
value="Envoyer la vidéo"/>
|
||||
</form>
|
||||
</div>
|
||||
<?php
|
||||
<?php
|
||||
}
|
||||
|
||||
require_once "footer.php";
|
@ -13,6 +13,26 @@ require_once "header.php";
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<div class="alert alert-info">
|
||||
<ul>
|
||||
<li>Une fois vos travaux sur votre problème terminés, vous êtes invités dans le cadre des Correspondances à tourner
|
||||
une vidéo dans laquelle vous présentez vos résultats.</li>
|
||||
<li>La vidéo doit durer au maximum 8 minutes.</li>
|
||||
<li>Un travail de recherche, en équipe sur les problèmes, supervisé par l'encadrant·e, est attendu.</li>
|
||||
<li>Au début de la vidéo, une brève présentation de l'énoncé est appréciée.</li>
|
||||
<li>L'équipe doit présenter ses réponses trouvées aux questions de l'énoncé.</li>
|
||||
<li>Toutes les plateformes d'hébergement vidéo sont supportées. Néanmoins, les plateformes
|
||||
<a href="https://vimeo.com/">Viméo</a>, <a href="https://www.youtube.com/">YouTube</a>
|
||||
et <a href="https://dailymotion.com/fr">Dailymotion</a> permettent une prévisualisation de la vidéo.
|
||||
Cette liste pourra être étendue si besoin est.</li>
|
||||
<li>Les liens de vos vidéos sont soumis à validation à l'équipe d'organisation.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="alert alert-warning">
|
||||
<strong>Date limite de soumission :</strong> <?= formatDate($CONFIG->getEndPhase1Date(), true) ?>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
if ($video !== null) {
|
||||
$link = $video->getLink();
|
||||
|
@ -105,7 +105,7 @@
|
||||
<?php if ($team->getValidationStatus() == ValidationStatus::WAITING) { ?>
|
||||
<hr/>
|
||||
<form method="POST">
|
||||
<div class="form-row">
|
||||
<div class="form-group row">
|
||||
<label for="message">Message à adresser à l'équipe :</label>
|
||||
<textarea class="form-control" id="message" name="message"></textarea>
|
||||
</div>
|
||||
|
@ -9,7 +9,7 @@
|
||||
<em>Ce site a été conçu pour Animath, avec amour et passion. Il est récent et il est possible que
|
||||
certaines pages ne fonctionnent pas correctement. Si vous remarquez des bugs, merci de les signaler à
|
||||
l'adresse <a href="mailto:contact@correspondances-maths.fr">contact@correspondances-maths.fr</a>.</em><br/>
|
||||
© 2019 Correspondances de Jeunes Mathématicien·ne·s
|
||||
© <?= $YEAR ?> Correspondances de Jeunes Mathématicien·ne·s
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<title>Site d'inscription pour les Correspondances des Jeunes Mathématicien·ne·s <?= $YEAR ?></title>
|
||||
<title>Site d'inscription pour les Correspondances des Jeunes Mathématicien·ne·s <?= $YEAR . " - " . ($YEAR + 1) ?></title>
|
||||
<link rel="stylesheet" type="text/css" href="/style.css"/>
|
||||
<link REL="shortcut icon" href="/favicon.ico"/>
|
||||
|
||||
|
@ -84,17 +84,17 @@ if (!$has_error) {
|
||||
</div>
|
||||
|
||||
<div class="alert alert-info">
|
||||
<strong>Autorise Animath à envoyer des mails :</strong> <?= $user->doReceiveAnimathMails() ? "oui" : "non" ?>
|
||||
<strong><?= $user->getRole() == Role::ADMIN ? "Reçoit des notifications par mail :"
|
||||
: "Autorise Animath à envoyer des mails :" ?></strong> <?= $user->doReceiveAnimathMails() ? "oui" : "non" ?>
|
||||
</div>
|
||||
|
||||
<?php if ($team != null && $user->getRole() == Role::PARTICIPANT) { ?>
|
||||
<hr/>
|
||||
|
||||
<?php if ($team != null && ($user->getRole() == Role::PARTICIPANT || $user->getRole() == Role::ENCADRANT)) { ?>
|
||||
<div class="mt-4 mb-4">
|
||||
<h1 class="display-5">Autorisation de droit à l'image :</h1>
|
||||
</div>
|
||||
<?php
|
||||
print_r($documents);
|
||||
printDocuments($documents);
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,8 @@ require_once "header.php";
|
||||
if (isset($user) && !$has_error) {
|
||||
?>
|
||||
<div class="alert alert-success">
|
||||
Vous êtes bien inscrit ! Merci désormais de confirmer votre boîte mail pour valider votre adresse.
|
||||
Vous êtes bien inscrit ! Merci désormais de confirmer votre boîte mail pour valider votre adresse. Pensez à vérifier
|
||||
vos courriers indésirables.
|
||||
</div>
|
||||
<?php } else if (isset($_SESSION["user_id"])) { ?>
|
||||
<div class="alert alert-danger">
|
||||
@ -105,7 +106,7 @@ if (isset($user) && !$has_error) {
|
||||
</div>
|
||||
|
||||
<label for="receive_animath_mails">J'accepte d’être recontacté par l'association <em>Animath</em> au sujet
|
||||
d'autres activités (<em>facultatif</em>) :</label>
|
||||
d'autres activités à l'issue des Correspondances (<em>facultatif</em>) :</label>
|
||||
<input type="checkbox" id="receive_animath_mails" name="receive_animath_mails"
|
||||
<?= isset($user) && $user->receive_animath_mails ? "checked" : "" ?> /><br /><br />
|
||||
|
||||
|
@ -34,8 +34,8 @@ if (false) {
|
||||
continue;
|
||||
?>
|
||||
<div class="alert alert-info">
|
||||
<strong>Question <?= $question->getNumber() + 1 ?>
|
||||
:</strong> <?= $question->getQuestion() ?>
|
||||
<strong><?= $j == 0 ? "Remarques générales :" : "Question " . $j . " :" ?></strong>
|
||||
<?= $question->getQuestion() ?>
|
||||
<br/>
|
||||
<?php
|
||||
if ($question->getAttachedFile() !== null) { ?>
|
||||
@ -45,7 +45,7 @@ if (false) {
|
||||
<?php } ?>
|
||||
<strong>Réponse :</strong> <?= $question->getAnswer() ?><br/>
|
||||
<?php
|
||||
if ($question->getAttachedFile() !== null) { ?>
|
||||
if ($question->getAttachedFileAnswer() !== null) { ?>
|
||||
<em>Pièce jointe attachée :</em>
|
||||
<a href="/file/<?= $question->getAttachedFileAnswer() ?>"><strong>Télécharger</strong></a>
|
||||
<br/>
|
||||
@ -97,7 +97,7 @@ if (false) {
|
||||
continue;
|
||||
?>
|
||||
<div class="alert alert-info">
|
||||
<strong>Question <?= $question->getNumber() + 1 ?>
|
||||
<strong>Question <?= $question->getNumber() ?>
|
||||
:</strong> <?= $question->getQuestion() ?>
|
||||
<br/>
|
||||
<?php
|
||||
|
@ -53,11 +53,11 @@ if (!$has_error && (isset($my_account) || isset($new_password))) {
|
||||
|
||||
<label for="receive_animath_mails">
|
||||
<?= $user->getRole() == Role::PARTICIPANT || $user->getRole() == Role::ENCADRANT
|
||||
? "J'accepte d'être recontacté par l'association <em>Animath</em> au sujet d'autres activités (<em>facultatif</em>) :"
|
||||
: "Recevoir les notifications par mail :" ?>
|
||||
? "J'accepte d'être recontacté par l'association <em>Animath</em> au sujet d'autres activités (<em>facultatif</em>) :"
|
||||
: "Recevoir les notifications par mail :" ?>
|
||||
</label>
|
||||
<input type="checkbox" id="receive_animath_mails" name="receive_animath_mails"
|
||||
<?= $user->doReceiveAnimathMails() ? "checked" : "" ?> />
|
||||
<?= $user->doReceiveAnimathMails() ? "checked" : "" ?> />
|
||||
|
||||
<?php if ($user->getRole() == Role::PARTICIPANT) { ?>
|
||||
<div class="form-row">
|
||||
@ -92,7 +92,7 @@ if (!$has_error && (isset($my_account) || isset($new_password))) {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php } else if ($user->getRole() == Role::ENCADRANT) { ?>
|
||||
<?php } else if ($user->getRole() == Role::ENCADRANT) { ?>
|
||||
|
||||
<div class="form-group row">
|
||||
<label id="description_label" for="description">Activité professionnelle :</label>
|
||||
@ -135,32 +135,40 @@ if (!$has_error && (isset($my_account) || isset($new_password))) {
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<?php if (isset($_SESSION["team"]) && $user->getRole() == Role::PARTICIPANT && $_SESSION["team"]->getValidationStatus() == ValidationStatus::NOT_READY
|
||||
&& date("Y-m-d H:i:s") < $CONFIG->getInscriptionDate()) { ?>
|
||||
<?php if (isset($_SESSION["team"]) && $user->getRole() == Role::PARTICIPANT) {
|
||||
$not_validated = $_SESSION["team"]->getValidationStatus() == ValidationStatus::NOT_READY
|
||||
&& date("Y-m-d H:i:s") < $CONFIG->getInscriptionDate();
|
||||
?>
|
||||
<hr/>
|
||||
<div class="mt-4 mb-4">
|
||||
<h1 class="display-5">Autorisation de droit à l'image</h1>
|
||||
</div>
|
||||
<em>Ce document peut être modifié tant que l'équipe n'est pas validée.</em>
|
||||
<div class="alert alert-info">
|
||||
<strong>Modèle d'autorisation de droit à l'image :</strong>
|
||||
<a href="/Autorisation de droit à l'image - majeur.pdf">majeur</a> - <a href="/Autorisation de droit à l'image - mineur.pdf">mineur</a>
|
||||
</div>
|
||||
<?php if ($not_validated) { ?>
|
||||
<em>Ce document peut être modifié tant que l'équipe n'est pas validée.</em>
|
||||
|
||||
<div class="alert alert-info">
|
||||
<strong>Modèle d'autorisation de droit à l'image :</strong>
|
||||
<a href="/Autorisation de droit à l'image - majeur.pdf">majeur</a> - <a
|
||||
href="/Autorisation de droit à l'image - mineur.pdf">mineur</a>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<?php printDocuments($documents); ?>
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
<?php if ($not_validated) { ?>
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-12">
|
||||
<label for="document">Fichier :</label>
|
||||
<input class="form-control" type="file" id="document" name="document" required/>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-12">
|
||||
<label for="document">Fichier :</label>
|
||||
<input class="form-control" type="file" id="document" name="document" required/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<input class="btn btn-primary btn-lg btn-block" type="submit" name="send_document"
|
||||
value="Envoyer le document"/>
|
||||
</div>
|
||||
</form>
|
||||
<div class="form-group row">
|
||||
<input class="btn btn-primary btn-lg btn-block" type="submit" name="send_document"
|
||||
value="Envoyer le document"/>
|
||||
</div>
|
||||
</form>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
|
||||
<?php require_once "footer.php" ?>
|
@ -13,8 +13,8 @@ require_once "header.php";
|
||||
<strong>Trigramme :</strong> <?= $team->getTrigram() ?>
|
||||
</div>
|
||||
<div class="alert alert-info">
|
||||
<strong>Problème :</strong> <a href="/probleme/<?= $team->getProblem() ?>">
|
||||
<?= $team->getProblem() == 0 ? "Pas de problème choisi" : $team->getProblem() ?></a>
|
||||
<strong>Problème :</strong>
|
||||
<?= $team->getProblem() == 0 ? "Pas de problème choisi" : $team->getProblem() ?>
|
||||
</div>
|
||||
<div class="alert alert-info">
|
||||
<?php
|
||||
@ -55,7 +55,7 @@ require_once "header.php";
|
||||
La date limite d'inscription est dépassée, vous ne pouvez plus demander la validation de votre équipe.
|
||||
</div>
|
||||
<?php } else {
|
||||
if (isset($_GET["modifier"])) { ?>
|
||||
if (isset($_GET["modifier"]) && $team->getValidationStatus() == ValidationStatus::NOT_READY) { ?>
|
||||
|
||||
<form method="POST">
|
||||
<div class="form-row">
|
||||
@ -75,10 +75,10 @@ require_once "header.php";
|
||||
<div class="form-group row">
|
||||
<label for="problem">Problème :</label>
|
||||
<select id="problem" name="problem" class="custom-select">
|
||||
<option value="0">Choisir un problème (peut être choisi plus tard)</option>
|
||||
<option value="0">Choisir un problème ...</option>
|
||||
<?php
|
||||
for ($i = 1; $i <= 4; ++$i)
|
||||
echo "<option value='$i' " . ($team->getProblem() == $i ? "selected" : "") . ">$i</option>";
|
||||
echo "<option value='$i' " . ($team->getProblem() == $i ? "selected" : "") . ">Problème $i</option>";
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
@ -111,7 +111,7 @@ require_once "header.php";
|
||||
<hr />
|
||||
<form method="post">
|
||||
<label for="engage">Je m'engage à participer à l'intégralité des Correspondances</label>
|
||||
<input type="checkbox" name="engage" id="engage"/>
|
||||
<input type="checkbox" name="engage" id="engage" required/>
|
||||
<div class="alert alert-warning">
|
||||
<strong>Attention !</strong> Une fois votre équipe validée, vous ne pourrez plus modifier le nom
|
||||
de l'équipe, le trigramme, le problème sur lequel vous souhaitez travailler ou la composition de l'équipe.
|
||||
@ -120,6 +120,7 @@ require_once "header.php";
|
||||
value="Demander la validation"/>
|
||||
</form>
|
||||
<?php } else { ?>
|
||||
<hr />
|
||||
<div class="alert alert-warning">
|
||||
Pour demander à valider votre équipe, vous devez avoir au moins un encadrant, trois participants,
|
||||
choisi un problème et soumis une autorisation de droit à l'image par participant.
|
||||
|
@ -13,9 +13,21 @@ if (isset($give_questions) && !$has_error) { ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<div class="alert alert-warning">
|
||||
<h1>Veuillez toujours enregistrer votre travail ailleurs que sur la plateforme !</h1>
|
||||
</div>
|
||||
<div class="alert alert-info">
|
||||
Pour cette deuxième phase des Correspondances, vous êtes invités à visionner les vidéos de solution de deux autres
|
||||
équipes, qui ont travaillé sur le même problème que vous. Vous devez désormais poser entre 3 et 6 questions, portant
|
||||
sur la présentation de l'équipe. Chaque question peut-être accompagnée d'une pièce jointe (dessin, schéma, ...)
|
||||
sous toute forme (PDF, image, archive, ...) tant que le poids ne dépasse pas 2 Mo. Si vous le souhaitez, vous pouvez
|
||||
adresser aux équipes des remarques plus générales.
|
||||
</div>
|
||||
|
||||
<div class="alert alert-warning">
|
||||
<strong>Date limite de soumission des questions :</strong> <?= formatDate($CONFIG->getEndPhase2Date(), true) ?>
|
||||
</div>
|
||||
|
||||
<div class="alert alert-warning">
|
||||
<h2>Veuillez toujours enregistrer votre travail ailleurs que sur la plateforme !</h2>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
for ($i = 0; $i < 2; ++$i) {
|
||||
@ -32,37 +44,36 @@ for ($i = 0; $i < 2; ++$i) {
|
||||
<input type="hidden" name="to" value="<?= $receiver->getTrigram() ?>"/>
|
||||
|
||||
<?php
|
||||
for ($j = 0; $j < 6; ++$j) {
|
||||
for ($j = 0; $j <= 6; ++$j) {
|
||||
$question = $questions[$i][$j];
|
||||
|
||||
if ($question->getQuestion() == null && $j) { ?>
|
||||
if ($question->getQuestion() == null && $j > 0) { ?>
|
||||
<a id="button_<?= $i ?>_<?= $j ?>" class="btn btn-secondary btn-lg btn-block"
|
||||
style="display: <?= $j == 0 || $questions[$i][$j - 1]->getQuestion() != null ? "block" : "none" ?>"
|
||||
style="display: <?= $questions[$i][$j - 1]->getQuestion() != null ? "block" : "none" ?>"
|
||||
onclick="addQuestion(<?= $i ?>, <?= $j ?>)">Ajouter une question</a>
|
||||
<br/>
|
||||
<?php
|
||||
}
|
||||
|
||||
?>
|
||||
<div id="block_<?= $i ?>_<?= $j ?>" style="display: <?= $question->getQuestion() == null ? "none" : "block" ?>;">
|
||||
<?php } ?>
|
||||
<div class="alert alert-info" id="block_<?= $i ?>_<?= $j ?>" style="display: <?= $j > 0 && $question->getQuestion() == null ? "none" : "block" ?>;">
|
||||
<div class="form-group-row">
|
||||
<label for="question_<?= $j + 1 ?>_<?= $i ?>">Question <?= $j + 1 ?> :</label>
|
||||
<textarea class="form-control" id="question_<?= $j + 1 ?>_<?= $i ?>"
|
||||
name="question_<?= $j + 1 ?>"><?= $question->getQuestion() ?></textarea>
|
||||
<label for="question_<?= $j ?>_<?= $i ?>">
|
||||
<strong><?= $j == 0 ? "Remarques générales :" : "Question " . $j . " :" ?></strong>
|
||||
</label>
|
||||
<textarea class="form-control" id="question_<?= $j ?>_<?= $i ?>"
|
||||
name="question_<?= $j ?>"><?= $question->getQuestion() ?></textarea>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
if ($question->getAttachedFile() != null) { ?>
|
||||
<br/>
|
||||
<div class="alert alert-info">
|
||||
<div class="alert alert-warning">
|
||||
Pièce jointe : <a href="/file/<?= $question->getAttachedFile() ?>">Télécharger</a>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<div class="form-group-row">
|
||||
<label for="file_<?= $j + 1 ?>_<?= $i ?>">Ajouter une pièce jointe (<em>facultatif</em>)
|
||||
<label for="file_<?= $j ?>_<?= $i ?>">Ajouter une pièce jointe (<em>facultatif</em>)
|
||||
:</label>
|
||||
<input type="file" name="file_<?= $j + 1 ?>" id="file_<?= $j + 1 ?>"/>
|
||||
<input type="file" name="file_<?= $j ?>" id="file_<?= $j ?>"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -22,9 +22,11 @@
|
||||
<th scope="col">
|
||||
Date d'inscription
|
||||
</th>
|
||||
<th scope="col">
|
||||
État de validation de l'inscription
|
||||
</th>
|
||||
<?php if ($problem > 0) { ?>
|
||||
<th scope="col">
|
||||
État de validation de l'inscription
|
||||
</th>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -43,7 +45,9 @@
|
||||
</th>
|
||||
<td><?= $team->getTrigram() ?></td>
|
||||
<td><?= formatDate($team->getInscriptionDate()) ?></td>
|
||||
<td><?= ValidationStatus::getTranslatedName($team->getValidationStatus()) ?></td>
|
||||
<?php if ($problem > 0) { ?>
|
||||
<td><?= ValidationStatus::getTranslatedName($team->getValidationStatus()) ?></td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
@ -60,9 +64,11 @@
|
||||
<th>
|
||||
Date d'inscription
|
||||
</th>
|
||||
<th>
|
||||
État de validation de l'inscription
|
||||
</th>
|
||||
<?php if ($problem > 0) { ?>
|
||||
<th>
|
||||
État de validation de l'inscription
|
||||
</th>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
|
@ -13,6 +13,16 @@ if (isset($answer_questions) && !$has_error) { ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<div class="alert alert-info">
|
||||
Deux autres équipes ayant travaillé sur le même problème que vous vous ont posé quelques questions. Afin de faire
|
||||
avancer l'échange, vous êtes invités à répondre à leurs interrogations. Vous êtes libres d'ajouter à votre souhait
|
||||
un paragraphe de remarques.
|
||||
</div>
|
||||
|
||||
<div class="alert alert-warning">
|
||||
<strong>Date limite de soumission des réponses :</strong> <?= formatDate($CONFIG->getEndPhase3Date(), true) ?>
|
||||
</div>
|
||||
|
||||
<div class="alert alert-info">
|
||||
<strong>Lien de la vidéo :</strong> <a href="<?= $video->getLink() ?>"><?= $video->getLink() ?></a>
|
||||
</div>
|
||||
@ -22,18 +32,21 @@ if (isset($answer_questions) && !$has_error) { ?>
|
||||
<?php
|
||||
foreach ($questions as $questions_team) {
|
||||
$from = Team::fromId($questions_team[0]->getFrom());
|
||||
$remark = $questions_team[0];
|
||||
echo "<h4>Questions de l'équipe " . $from->getName() . " (" . $from->getTrigram() . ") :</h4>\n";
|
||||
?>
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
<input type="hidden" name="from" value="<?= $from->getTrigram() ?>"/>
|
||||
|
||||
<?php
|
||||
for ($i = 0; $i < sizeof($questions_team); ++$i) {
|
||||
$question = $questions_team[$i];
|
||||
if ($question->getQuestion() == null)
|
||||
if ($i > 0 && $question->getQuestion() == null)
|
||||
continue;
|
||||
?>
|
||||
<div class="alert alert-info">
|
||||
<strong>Question <?= $i + 1 ?> :</strong> <?= $question->getQuestion() ?><br/>
|
||||
<strong><?= $i == 0 ? "Remarques générales :" : "Question " . $question->getNumber() . " :" ?></strong>
|
||||
<?= $question->getQuestion() ?><br/>
|
||||
<?php
|
||||
if ($question->getAttachedFile() != null) { ?>
|
||||
Pièce jointe :
|
||||
@ -41,9 +54,9 @@ foreach ($questions as $questions_team) {
|
||||
<?php } ?>
|
||||
<div class="form-group row">
|
||||
<div class="form-group col-md-12">
|
||||
<label for="answer_<?= $i + 1 ?>">Réponse :</label>
|
||||
<textarea class="form-control" id="answer_<?= $i + 1 ?>"
|
||||
name="answer_<?= $i + 1 ?>"><?= $question->getAnswer() ?></textarea>
|
||||
<label for="answer_<?= $i ?>"><strong>Réponse :</strong></label>
|
||||
<textarea class="form-control" id="answer_<?= $i ?>"
|
||||
name="answer_<?= $i ?>"><?= $question->getAnswer() ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
@ -53,8 +66,8 @@ foreach ($questions as $questions_team) {
|
||||
<?php } ?>
|
||||
<div class="form-group row">
|
||||
<div class="form-group col-md-12">
|
||||
<label for="file_<?= $i + 1 ?>">Ajouter une pièce jointe (<em>facultatif</em>) :</label>
|
||||
<input type="file" name="file_<?= $i + 1 ?>" id="file_<?= $i + 1 ?>"/>
|
||||
<label for="file_<?= $i ?>">Ajouter une pièce jointe (<em>facultatif</em>) :</label>
|
||||
<input type="file" name="file_<?= $i ?>" id="file_<?= $i ?>"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -51,6 +51,12 @@ for ($problem = 1; $problem <= 4; ++$problem) { ?>
|
||||
<form method="POST">
|
||||
<input type="hidden" name="validate_video" value=""/>
|
||||
<input type="hidden" name="video_id" value="<?= $video->getId() ?>"/>
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="message">Message à adresser à l'équipe :</label>
|
||||
<textarea class="form-control" id="message" name="message"></textarea>
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary btn-lg" style="width: <?= $video->getValidation() == 0 ? 49 : 100 ?>%;" type="submit" name="accept"
|
||||
value="Accepter la vidéo"/>
|
||||
<?php if ($video->getValidation() == 0) { ?>
|
||||
@ -86,11 +92,11 @@ for ($problem = 1; $problem <= 4; ++$problem) { ?>
|
||||
echo "<h5>Questions posées par l'équipe " . $from->getName() . " (" . $from->getTrigram() . ") :</h5>\n";
|
||||
for ($i = 0; $i < sizeof($from_questions); ++$i) {
|
||||
$question = $from_questions[$i];
|
||||
if ($question->getQuestion() == null)
|
||||
if ($i > 0 && $question->getQuestion() == null)
|
||||
continue;
|
||||
|
||||
echo "<div class=\"alert alert-info\">\n";
|
||||
echo "<strong>Question " . ($i + 1) . " :</strong> " . $question->getQuestion() . "<br />\n";
|
||||
echo "<strong>" . ($i == 0 ? "Remarques générales :" : "Question " . $i . " :") . "</strong> " . $question->getQuestion() . "<br />\n";
|
||||
if ($question->getAttachedFile() != null)
|
||||
echo "<em>Pièce jointe attachée :</em> <a href=\"/file/" . $question->getAttachedFile() . "\"><strong>Télécharger</strong></a><br />\n";
|
||||
if ($question->getAnswer() != null)
|
||||
@ -114,18 +120,24 @@ for ($problem = 1; $problem <= 4; ++$problem) { ?>
|
||||
<form method="POST">
|
||||
<input type="hidden" name="validate_video" value=""/>
|
||||
<input type="hidden" name="video_id" value="<?= $answer->getId() ?>"/>
|
||||
<input class="btn btn-primary btn-lg" style="width: 49%;" type="submit" name="accept"
|
||||
value="Accepter la vidéo"/>
|
||||
<?php if ($video->getValidation() == 0) { ?>
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="message">Message à adresser à l'équipe :</label>
|
||||
<textarea class="form-control" id="message" name="message"></textarea>
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary btn-lg" style="width: <?= $answer->getValidation() == 0 ? 49 : 100 ?>%;"
|
||||
type="submit" name="accept" value="Accepter la vidéo"/>
|
||||
<?php if ($answer->getValidation() == 0) { ?>
|
||||
<input class="btn btn-light btn-lg" style="width: 49%;" type="submit" name="reject"
|
||||
value="Refuser la vidéo"/>
|
||||
<?php } ?>
|
||||
</form>
|
||||
<br/>
|
||||
<?php }
|
||||
if ($video->getValidation() != 0) { ?>
|
||||
<div class="alert alert-<?= $video->getValidation() == 1 ? "success" : "danger" ?>">
|
||||
La vidéo a été <?= $video->getValidation() == 1 ? "acceptée" : "refusée" ?>.
|
||||
if ($answer->getValidation() != 0) { ?>
|
||||
<div class="alert alert-<?= $answer->getValidation() == 1 ? "success" : "danger" ?>">
|
||||
La vidéo a été <?= $answer->getValidation() == 1 ? "acceptée" : "refusée" ?>.
|
||||
</div>
|
||||
<?php }
|
||||
if ($answer->getValidation() != Video::ACCEPTED) {
|
||||
|
Loading…
Reference in New Issue
Block a user