mirror of
https://gitlab.com/animath/si/plateforme-corres2math.git
synced 2025-06-23 11:56:34 +02:00
Flexibilité sur la validation des vidéos accrue
This commit is contained in:
@ -16,6 +16,40 @@ class Mailer
|
||||
ensure(mail($email, $subject, $content, $headers), "Un problème est survenu dans l'envoi d'un mail. Veuiller contacter votre administrateur.");
|
||||
}
|
||||
|
||||
private static function broadcastToTeam(Team $team, $subject, $content, $from = "contact")
|
||||
{
|
||||
$content = preg_replace("#{TEAM_NAME}#", $team->getName(), $content);
|
||||
$content = preg_replace("#{TRIGRAM}#", $team->getTrigram(), $content);
|
||||
|
||||
$encadrant = User::fromId($team->getEncadrantId());
|
||||
|
||||
if ($encadrant != null) {
|
||||
$c = preg_replace("#{FIRST_NAME}#", $encadrant->getFirstName(), $content);
|
||||
$c = preg_replace("#{SURNAME}#", $encadrant->getSurname(), $c);
|
||||
self::sendMail($encadrant->getEmail(), $subject, $c, $from);
|
||||
}
|
||||
|
||||
foreach ($team->getParticipants() as $participant_id) {
|
||||
$participant = User::fromId($participant_id);
|
||||
if ($participant == null)
|
||||
continue;
|
||||
|
||||
$c = preg_replace("#{FIRST_NAME}#", $participant->getFirstName(), $content);
|
||||
$c = preg_replace("#{SURNAME}#", $participant->getSurname(), $c);
|
||||
self::sendMail($participant->getEmail(), $subject, $c, $from);
|
||||
}
|
||||
}
|
||||
|
||||
private static function broadcastToAdmins($subject, $content, $from = "contact")
|
||||
{
|
||||
/** @var User $admin */
|
||||
foreach (User::getAdmins() as $admin) {
|
||||
$c = preg_replace("#{FIRST_NAME}#", $admin->getFirstName(), $content);
|
||||
$c = preg_replace("#{SURNAME}#", $admin->getSurname(), $c);
|
||||
self::sendMail($admin->getEmail(), $subject, $c, $from);
|
||||
}
|
||||
}
|
||||
|
||||
private static function getTemplate($name)
|
||||
{
|
||||
global $LOCAL_PATH;
|
||||
@ -115,4 +149,29 @@ class Mailer
|
||||
|
||||
self::sendMail($user->getEmail(), "Équipe rejointe Correspondances des Jeunes Mathématicien·ne·s $YEAR", $content);
|
||||
}
|
||||
|
||||
public static function sendNewVideo(NewVideo $video, Team $team)
|
||||
{
|
||||
global $YEAR;
|
||||
|
||||
$content = self::getTemplate("new_video");
|
||||
$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("#{VIDEO_LINK}#", $video->link, $content);
|
||||
self::broadcastToAdmins("Nouvelle vidéo Correspondances des Jeunes Mathématicien·ne·s $YEAR", $content);
|
||||
}
|
||||
|
||||
public static function validateVideo(Video $video)
|
||||
{
|
||||
global $YEAR;
|
||||
|
||||
$team = Team::fromId($video->getTeam());
|
||||
|
||||
$content = self::getTemplate($video->getValidation() == Video::ACCEPTED ? "video_accepted" : "video_rejected");
|
||||
$content = preg_replace("#{TRIGRAM}#", $team->getTrigram(), $content);
|
||||
$content = preg_replace("#{PROBLEM}#", $team->getProblem(), $content);
|
||||
$content = preg_replace("#{VIDEO_LINK}#", $video->getLink(), $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);
|
||||
}
|
||||
}
|
||||
|
18
server_files/services/mail_templates/new_video.html
Normal file
18
server_files/services/mail_templates/new_video.html
Normal file
@ -0,0 +1,18 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Nouvelle vidéo – Correspondances des Jeunes Mathématicien·ne·s {YEAR}</title>
|
||||
</head>
|
||||
<body>
|
||||
Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||
<br/>
|
||||
L'équipe « {TEAM_NAME} » ({TRIGRAM}) vient d'ajouter une vidéo pour le problème {PROBLEM} des Correspondances des Jeunes Mathématicien·ne·s : <a href="{VIDEO_LINK}">{VIDEO_LINK}</a>.
|
||||
Vous êtes désormais invité avant que quelqu'un d'autre ne le fasse à accepter ou refuser cette vidéo via la plateforme d'inscription (accessible après connexion) :
|
||||
<a href="{URL_BASE}/videos-solutions">{URL_BASE}/videos-solutions</a><br/>
|
||||
<br/>
|
||||
Cordialement,<br/>
|
||||
<br/>
|
||||
Le comité d'organisation des Correspondances des Jeunes Mathématicien·ne·s
|
||||
</body>
|
||||
</html>
|
18
server_files/services/mail_templates/video_accepted.html
Normal file
18
server_files/services/mail_templates/video_accepted.html
Normal file
@ -0,0 +1,18 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Vidéo acceptée – Correspondances des Jeunes Mathématicien·ne·s {YEAR}</title>
|
||||
</head>
|
||||
<body>
|
||||
Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||
<br/>
|
||||
Félicitations, votre vidéo pour le problème {PROBLEM} a été validée ! Pour rappel, vous aviez soumis ce lien : <a href="{VIDEO_LINK}">{VIDEO_LINK}</a>.<br />
|
||||
Votre travail est à présent terminé, et vous pouvez attendre les prochaines phases. Bravo à vous !<br />
|
||||
Si toutefois vous le souhaitez, vous pouvez à nouveau soumettre une vidéo avant la fin de la phase. Cette nouvelle vidéo ne remplacera l'actuelle qu'au moment de la validation de celle-ci.<br />
|
||||
<br/>
|
||||
Cordialement,<br/>
|
||||
<br/>
|
||||
Le comité d'organisation des Correspondances des Jeunes Mathématicien·ne·s
|
||||
</body>
|
||||
</html>
|
19
server_files/services/mail_templates/video_rejected.html
Normal file
19
server_files/services/mail_templates/video_rejected.html
Normal file
@ -0,0 +1,19 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Vidéo refusée – Correspondances des Jeunes Mathématicien·ne·s {YEAR}</title>
|
||||
</head>
|
||||
<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 />
|
||||
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.
|
||||
<br/>
|
||||
Cordialement,<br/>
|
||||
<br/>
|
||||
Le comité d'organisation des Correspondances des Jeunes Mathématicien·ne·s
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user