mirror of
https://gitlab.com/animath/si/plateforme.git
synced 2025-06-27 01:18:39 +02:00
Optimisation de l'envoi de mails
This commit is contained in:
@ -1,81 +1,130 @@
|
||||
<?php
|
||||
|
||||
function sendMail($email, $subject, $content, $from = "contact")
|
||||
class Mailer
|
||||
{
|
||||
global $MAIL_DOMAIN, $URL_BASE, $YEAR;
|
||||
private static function sendMail($email, $subject, $content, $from = "contact")
|
||||
{
|
||||
global $MAIL_DOMAIN, $URL_BASE, $YEAR;
|
||||
|
||||
$content = preg_replace("#{URL_BASE}#", $URL_BASE, $content);
|
||||
$content = preg_replace("#{YEAR}#", $YEAR, $content);
|
||||
$content = preg_replace("#{URL_BASE}#", $URL_BASE, $content);
|
||||
$content = preg_replace("#{YEAR}#", $YEAR, $content);
|
||||
|
||||
$headers = "From: " . $from . "@" . $MAIL_DOMAIN . "\r\n";
|
||||
$headers .= "Reply-To: contact@" . $MAIL_DOMAIN . "\r\n";
|
||||
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
|
||||
$headers = "From: " . $from . "@" . $MAIL_DOMAIN . "\r\n";
|
||||
$headers .= "Reply-To: contact@" . $MAIL_DOMAIN . "\r\n";
|
||||
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
|
||||
|
||||
mail($email, $subject, $content, $headers);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param NewUser
|
||||
*/
|
||||
function sendRegisterMail($new_user)
|
||||
{
|
||||
global $LOCAL_PATH, $YEAR;
|
||||
|
||||
$content = file_get_contents("$LOCAL_PATH/server_files/services/mail_templates/register.html");
|
||||
$content = preg_replace("#{FIRST_NAME}#", $new_user->first_name, $content);
|
||||
$content = preg_replace("#{SURNAME}#", $new_user->surname, $content);
|
||||
$content = preg_replace("#{TOKEN}#", $new_user->confirm_email_token, $content);
|
||||
|
||||
sendMail($new_user->email, "Inscription au TFJM² $YEAR", $content);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $user User
|
||||
* @param $team Team
|
||||
* @param $tournament Tournament
|
||||
*/
|
||||
function sendAddTeamMail($user, $team, $tournament)
|
||||
{
|
||||
global $LOCAL_PATH, $YEAR;
|
||||
|
||||
$content = file_get_contents("$LOCAL_PATH/server_files/services/mail_templates/add_team.html");
|
||||
$content = preg_replace("#{FIRST_NAME}#", $user->getFirstName(), $content);
|
||||
$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("#{TOURNAMENT_NAME}#", $tournament->getName(), $content);
|
||||
$content = preg_replace("#{ACCESS_CODE}#", $team->getAccessCode(), $content);
|
||||
|
||||
sendMail($user->getEmail(), "Ajout d'une équipe TFJM² $YEAR", $content);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param NewUser
|
||||
*/
|
||||
function sendAddOrganizerMail($new_orga)
|
||||
{
|
||||
global $LOCAL_PATH, $YEAR;
|
||||
|
||||
$content = file_get_contents("$LOCAL_PATH/server_files/services/mail_templates/add_organizer.html");
|
||||
$content = preg_replace("#{FIRST_NAME}#", $new_orga->first_name, $content);
|
||||
$content = preg_replace("#{SURNAME}#", $new_orga->surname, $content);
|
||||
$content = preg_replace("#{PASSWORD}#", $new_orga->password, $content);
|
||||
|
||||
sendMail($new_orga->email, "Ajout d'un organisateur -- TFJM² $YEAR", $content);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $organizer User
|
||||
* @param $tournament Tournament
|
||||
*/
|
||||
function sendAddOrganizerForTournamentMail($organizer, $tournament)
|
||||
{
|
||||
global $LOCAL_PATH, $YEAR;
|
||||
|
||||
$content = file_get_contents("$LOCAL_PATH/server_files/services/mail_templates/add_organizer_for_tournament.html");
|
||||
$content = preg_replace("#{FIRST_NAME}#", $organizer->getFirstName(), $content);
|
||||
$content = preg_replace("#{SURNAME}#", $organizer->getSurname(), $content);
|
||||
$content = preg_replace("#{TOURNAMENT_NAME}#", $tournament->getName(), $content);
|
||||
|
||||
sendMail($organizer->getEmail(), "Ajout d'un organisateur pour le tournoi " . $tournament->getName() . "-- TFJM² $YEAR", $content);
|
||||
mail($email, $subject, $content, $headers);
|
||||
}
|
||||
|
||||
private static function getTemplate($name)
|
||||
{
|
||||
global $LOCAL_PATH;
|
||||
return file_get_contents("$LOCAL_PATH/server_files/services/mail_templates/$name.html");
|
||||
}
|
||||
|
||||
public static function sendRegisterMail(NewUser $new_user)
|
||||
{
|
||||
global $YEAR;
|
||||
|
||||
$content = self::getTemplate("register");
|
||||
$content = preg_replace("#{FIRST_NAME}#", $new_user->first_name, $content);
|
||||
$content = preg_replace("#{SURNAME}#", $new_user->surname, $content);
|
||||
$content = preg_replace("#{TOKEN}#", $new_user->confirm_email_token, $content);
|
||||
|
||||
self::sendMail($new_user->email, "Inscription au TFJM² $YEAR", $content);
|
||||
}
|
||||
|
||||
public static function sendConfirmEmail(User $user)
|
||||
{
|
||||
global $YEAR;
|
||||
|
||||
$content = self::getTemplate("register");
|
||||
$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(), "Confirmation d'adresse e-mail – TFJM² $YEAR", $content);
|
||||
}
|
||||
|
||||
public static function sendChangeEmailAddressMail(User $user)
|
||||
{
|
||||
$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 – TFJM²", $content);
|
||||
}
|
||||
|
||||
public static function sendForgottenPasswordProcedureMail(User $user)
|
||||
{
|
||||
$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é – TFJM²", $content);
|
||||
}
|
||||
|
||||
public static function sendChangePasswordMail(User $user)
|
||||
{
|
||||
$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é – TFJM²", $content);
|
||||
}
|
||||
|
||||
public static function sendAddTeamMail(User $user, Team $team, Tournament $tournament)
|
||||
{
|
||||
global $YEAR;
|
||||
|
||||
$content = self::getTemplate("add_team");
|
||||
$content = preg_replace("#{FIRST_NAME}#", $user->getFirstName(), $content);
|
||||
$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("#{TOURNAMENT_NAME}#", $tournament->getName(), $content);
|
||||
$content = preg_replace("#{ACCESS_CODE}#", $team->getAccessCode(), $content);
|
||||
|
||||
self::sendMail($user->getEmail(), "Ajout d'une équipe TFJM² $YEAR", $content);
|
||||
}
|
||||
|
||||
public static function sendJoinTeamMail(User $user, Team $team, Tournament $tournament)
|
||||
{
|
||||
global $YEAR;
|
||||
|
||||
$content = self::getTemplate("join_team");
|
||||
$content = preg_replace("#{FIRST_NAME}#", $user->getFirstName(), $content);
|
||||
$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("#{TOURNAMENT_NAME}#", $tournament->getName(), $content);
|
||||
|
||||
self::sendMail($user->getEmail(), "Équipe rejointe TFJM² $YEAR", $content);
|
||||
}
|
||||
|
||||
public static function sendAddOrganizerMail(NewOrganizer $new_orga)
|
||||
{
|
||||
global $YEAR;
|
||||
|
||||
$content = self::getTemplate("add_organizer");
|
||||
$content = preg_replace("#{FIRST_NAME}#", $new_orga->first_name, $content);
|
||||
$content = preg_replace("#{SURNAME}#", $new_orga->surname, $content);
|
||||
$content = preg_replace("#{PASSWORD}#", $new_orga->password, $content);
|
||||
|
||||
self::sendMail($new_orga->email, "Ajout d'un organisateur – TFJM² $YEAR", $content);
|
||||
}
|
||||
|
||||
public static function sendAddOrganizerForTournamentMail(User $organizer, Tournament $tournament)
|
||||
{
|
||||
global $YEAR;
|
||||
|
||||
$content = self::getTemplate("add_organizer_for_tournament");
|
||||
$content = preg_replace("#{FIRST_NAME}#", $organizer->getFirstName(), $content);
|
||||
$content = preg_replace("#{SURNAME}#", $organizer->getSurname(), $content);
|
||||
$content = preg_replace("#{TOURNAMENT_NAME}#", $tournament->getName(), $content);
|
||||
|
||||
self::sendMail($organizer->getEmail(), "Ajout d'un organisateur pour le tournoi " . $tournament->getName() . " – TFJM² $YEAR", $content);
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,9 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<!--suppress HtmlUnknownTarget -->
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Organisateur du tournoi de {TOURNAMENT_NAME} -- TFJM²</title>
|
||||
<title>Organisateur du tournoi de {TOURNAMENT_NAME} – TFJM²</title>
|
||||
</head>
|
||||
<body>
|
||||
Bonjour {FIRST_NAME} {SURNAME},<br />
|
||||
|
@ -8,7 +8,8 @@
|
||||
Bonjour {FIRST_NAME} {SURNAME},<br />
|
||||
<br />
|
||||
Vous venez de créer l'équipe « {TEAM_NAME} » ({TRIGRAM}) pour le TFJM<sup>2</sup> de {TOURNAMENT_NAME} 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 : {ACCESS_CODE}<br />
|
||||
Afin de permettre aux autres membres de votre équipe de vous rejoindre, veuillez leur transmettre le code d'accès :
|
||||
{ACCESS_CODE}<br/>
|
||||
<br />
|
||||
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||
</body>
|
||||
|
@ -0,0 +1,16 @@
|
||||
<!DOCTYPE html>
|
||||
<!--suppress HtmlUnknownTarget -->
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Changement d'adresse e-mail – TFJM²</title>
|
||||
</head>
|
||||
<body>
|
||||
Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||
<br/>
|
||||
Vous venez de changer votre adresse e-mail. Veuillez désormais la confirmer en cliquant ici : <a
|
||||
href="{URL_BASE}/confirmer_mail/{TOKEN}">{URL_BASE}/confirmer_mail/{TOKEN}</a><br/>
|
||||
<br/>
|
||||
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||
</body>
|
||||
</html>
|
18
server_files/services/mail_templates/change_password.html
Normal file
18
server_files/services/mail_templates/change_password.html
Normal file
@ -0,0 +1,18 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Mot de passe changé – TFJM²</title>
|
||||
</head>
|
||||
<body>
|
||||
Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||
<br/>
|
||||
Nous vous informons que votre mot de passe vient d'être modifié. Si vous n'êtes pas à l'origine de cette manipulation,
|
||||
veuillez immédiatement vérifier vos accès à votre boîte mail et changer votre mot de passe sur la plateforme
|
||||
d'inscription.<br/>
|
||||
<br/>
|
||||
Cordialement,<br/>
|
||||
<br/>
|
||||
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||
</body>
|
||||
</html>
|
18
server_files/services/mail_templates/confirm_email.html
Normal file
18
server_files/services/mail_templates/confirm_email.html
Normal file
@ -0,0 +1,18 @@
|
||||
<!DOCTYPE html>
|
||||
<!--suppress HtmlUnknownTarget -->
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Inscription au TFJM² {YEAR}</title>
|
||||
</head>
|
||||
<body>
|
||||
Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||
<br/>
|
||||
Vous êtes inscrit au TFJM<sup>2</sup> {YEAR} et nous vous en remercions.<br/>
|
||||
Pour valider votre adresse e-mail, veuillez cliquer sur le lien : <a href="{URL_BASE}/confirmer_mail/{TOKEN}">{URL_BASE}/confirmer_mail/{TOKEN}</a><br/>
|
||||
<br/>
|
||||
Cordialement,<br/>
|
||||
<br/>
|
||||
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||
</body>
|
||||
</html>
|
19
server_files/services/mail_templates/forgotten_password.html
Normal file
19
server_files/services/mail_templates/forgotten_password.html
Normal file
@ -0,0 +1,19 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Mot de passe oublié – TFJM²</title>
|
||||
</head>
|
||||
<body>
|
||||
Bonjour,<br/>
|
||||
<br/>
|
||||
Vous avez indiqué avoir oublié votre mot de passe. Veuillez cliquer ici pour le réinitialiser :
|
||||
$URL_BASE/connexion/reinitialiser_mdp/{TOKEN}<br/>
|
||||
<br/>
|
||||
Si vous n'êtes pas à l'origine de cette manipulation, vous pouvez ignorer ce message.<br/>
|
||||
<br/>
|
||||
Cordialement,<br/>
|
||||
<br/>
|
||||
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||
</body>
|
||||
</html>
|
17
server_files/services/mail_templates/join_team.html
Normal file
17
server_files/services/mail_templates/join_team.html
Normal file
@ -0,0 +1,17 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Équipe rejointe – TFJM² {YEAR}</title>
|
||||
</head>
|
||||
<body>
|
||||
Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||
<br/>
|
||||
Vous venez de rejoindre l'équipe « {TEAM_NAME} » ({TRIGRAM}) pour le TFJM² de {TOURNAMENT_NAME} et nous vous en
|
||||
remercions.<br/>
|
||||
<br/>
|
||||
Cordialement,<br/>
|
||||
<br/>
|
||||
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||
</body>
|
||||
</html>
|
@ -1,4 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<!--suppress HtmlUnknownTarget -->
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
|
Reference in New Issue
Block a user