diff --git a/Dockerfile b/Dockerfile
index c782dd5..94b4217 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -35,3 +35,5 @@ RUN echo "sendmail_path=msmtp -t" >> /usr/local/etc/php/conf.d/php-sendmail.ini
ENV CORRES2MATH_LOCAL_PATH /var/www/html
ENV CORRES2MATH_MAIL_DOMAIN correspondances-maths.fr
ENV CORRES2MATH_URL_BASE https://inscription.correspondances-maths.fr
+
+RUN chmod 0777 /var/inscription-corres2math
diff --git a/server_files/classes/Document.php b/server_files/classes/Document.php
index 5876e7d..7241076 100644
--- a/server_files/classes/Document.php
+++ b/server_files/classes/Document.php
@@ -80,13 +80,13 @@ class Document
- public function getAllDocuments($problem)
+ public static function getAllDocuments($problem, $team_id = -1)
{
global $DB;
$req = $DB->query("SELECT * FROM `documents` AS `t1` "
. "INNER JOIN (SELECT `user`, `type`, `problem`, MAX(`uploaded_at`) AS `last_upload`, COUNT(`team`) AS `version` FROM `documents` GROUP BY `problem`, `type`, `user`) `t2` "
. "ON `t1`.`user` = `t2`.`user` AND `t1`.`type` = `t2`.`type` AND `t1`.`problem` = `t2`.`problem` "
- . "WHERE `t1`.`uploaded_at` = `t2`.`last_upload` AND `t1`.`problem` = $problem ORDER BY `t1`.`type`;");
+ . "WHERE `t1`.`uploaded_at` = `t2`.`last_upload` AND `t1`.`problem` = $problem " . ($team_id >= 0 ? "AND `team` = $team_id" : "") . " ORDER BY `t1`.`type`;");
$docs = [];
diff --git a/server_files/classes/User.php b/server_files/classes/User.php
index 61e0309..bcb6794 100644
--- a/server_files/classes/User.php
+++ b/server_files/classes/User.php
@@ -134,7 +134,7 @@ class User
{
global $DB;
$this->school = $school;
- $DB->prepare("UPDATE `users` SET `school` = ? WHERE `id` = ?;")->execute([SchoolClass::getName($school), $this->getId()]);
+ $DB->prepare("UPDATE `users` SET `school` = ? WHERE `id` = ?;")->execute([$school, $this->getId()]);
}
public function getClass()
diff --git a/server_files/controllers/equipe.php b/server_files/controllers/equipe.php
index 080fe10..0eb8034 100644
--- a/server_files/controllers/equipe.php
+++ b/server_files/controllers/equipe.php
@@ -1,7 +1,7 @@
getProblem(), $team->getId());
+ $file_name = getZipFile($team->getProblem(), $team->getId());
header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=\"Documents de l'équipe " . $team->getTrigram() . ".zip\"");
@@ -26,6 +26,6 @@ if (isset($_POST["download_zip"])) {
exit();
}
-$documents = Document::getAllDocuments($team->getId());
+$documents = Document::getAllDocuments($team->getProblem(), $team->getId());
require_once "server_files/views/equipe.php";
diff --git a/server_files/model.php b/server_files/model.php
index 4cc47dd..e6cb7bd 100644
--- a/server_files/model.php
+++ b/server_files/model.php
@@ -60,6 +60,7 @@ function quitTeam()
$DB->exec("UPDATE `teams` SET `participant_$i` = `participant_" . strval($i + 1) . "`, `participant_" . strval($i + 1) . "` = NULL WHERE `participant_$i` IS NULL;");
}
+ $DB->exec("DELETE FROM `teams` WHERE `encadrant` IS NULL OR `participant_1` IS NULL;");
$req = $DB->query("SELECT `file_id` FROM `documents` WHERE `user` = $user_id;");
while (($data = $req->fetch()) !== false)
unlink("$URL_BASE/files/" . $data["file_id"]);
@@ -151,13 +152,10 @@ function getZipFile($problem, $team_id = -1)
die("Impossible de créer le fichier zip.");
}
- // TODO Replace DB query
- $resp = $DB->query("SELECT * FROM `documents` WHERE `problem` = $problem" . ($team_id >= 0 ? " AND `team` = $team_id" : "") . ";");
+ $data = Document::getAllDocuments($problem, $team_id);
/** @var Document $file */
- //foreach ($data as $file) {
- while (($data = $resp->fetch()) != false) {
- $file = Document::fromData($data);
+ foreach ($data as $file) {
$file_id = $file->getFileId();
$user = User::fromId($file->getUserId());
$name = "Autorisation de droit à l'image de " . $user->getFirstName() . " " . $user->getSurname() . ".pdf";
diff --git a/server_files/services/mail_templates/add_team.html b/server_files/services/mail_templates/add_team.html
index 3d472a1..5bd8944 100644
--- a/server_files/services/mail_templates/add_team.html
+++ b/server_files/services/mail_templates/add_team.html
@@ -9,7 +9,7 @@ Bonjour {FIRST_NAME} {SURNAME},
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.
Afin de permettre aux autres membres de votre équipe de vous rejoindre, veuillez leur transmettre le code d'accès :
-{ACCESS_CODE}
+{ACCESS_CODE}
Le comité d'organisation des Correspondances des Jeunes Mathématicien·ne·s