mirror of
https://github.com/quentin-g-dev/afup.git
synced 2026-03-25 17:52:13 +01:00
79 lines
2.0 KiB
PHP
79 lines
2.0 KiB
PHP
<?php
|
|
namespace Afup\Site\Utils;
|
|
|
|
|
|
|
|
use AppBundle\Email\Mailer\Message;
|
|
|
|
class Mailing
|
|
{
|
|
/**
|
|
* Instance de la couche d'abstraction à la base de données
|
|
* @var \Afup\Site\Utils\Base_De_Donnees
|
|
* @access private
|
|
*/
|
|
var $_bdd;
|
|
|
|
/**
|
|
* Constructeur.
|
|
*
|
|
* @param object $bdd Instance de la couche d'abstraction à la base de données
|
|
* @access public
|
|
* @return void
|
|
*/
|
|
function __construct(&$bdd)
|
|
{
|
|
$this->_bdd = $bdd;
|
|
}
|
|
|
|
/**
|
|
* Ajoute un email dans la base
|
|
*
|
|
* @param int $id Identifiant du forum
|
|
* @param string $champs Champs à renvoyer
|
|
* @access public
|
|
* @return array
|
|
*/
|
|
function AjouterEmail($email, $blacklist = false)
|
|
{
|
|
$blacklist_sql = $blacklist ? '1' : '0';
|
|
$email = $this->_bdd->echapper($email);
|
|
$requete = "REPLACE INTO afup_email (`email` ,`blacklist`) ";
|
|
$requete .= "VALUES ($email, $blacklist_sql);";
|
|
return $this->_bdd->executer($requete);
|
|
}
|
|
|
|
function BlacklistEmail($email, $blacklist = false)
|
|
{
|
|
return $this->AjouterEmail($email, true);
|
|
}
|
|
|
|
/**
|
|
* Renvoit les informations concernant un forum
|
|
*
|
|
* @param int $id Identifiant du forum
|
|
* @param string $champs Champs à renvoyer
|
|
* @access public
|
|
* @return array
|
|
*/
|
|
function obtenirEmails($blacklist = false)
|
|
{
|
|
$blacklist_sql = $blacklist ? '1' : '0';
|
|
$requete = 'SELECT';
|
|
$requete .= ' ' . $champs;
|
|
$requete .= 'FROM';
|
|
$requete .= ' afup_email ';
|
|
$requete .= 'WHERE blacklist = ' . $blacklist_sql;
|
|
return $this->_bdd->obtenirEnregistrement($requete);
|
|
}
|
|
|
|
public static function envoyerMail(Message $message, $body)
|
|
{
|
|
$recipients = $message->getRecipients();
|
|
$recipient = reset($recipients);
|
|
$message->setContent(str_replace('$EMAIL$', $recipient->getEmail(), $body));
|
|
|
|
return Mail::createMailer()->send($message);
|
|
}
|
|
}
|