mirror of
				https://gitlab.com/animath/si/plateforme-corres2math.git
				synced 2025-11-04 07:02:15 +01:00 
			
		
		
		
	Nombreuses petites corrections, ajout de texte.
Les Correspondances peuvent démarrer :)
This commit is contained in:
		@@ -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) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user