16,6 → 16,7 |
class AlerteMailCommentaires { |
|
private $conteneur; |
private $testeurCourriel = null; |
|
private $observations_concernees = array(); |
private $correspondance_id_obs_auteurs = array(); |
26,6 → 27,7 |
|
public function executer() { |
try { |
$this->verifierModeUtilisation(); |
$observations = $this->chargerObservationsCommentees(); |
if (!empty($observations)) { |
$this->formaterObservations($observations); |
38,6 → 40,18 |
} |
} |
|
private function verifierModeUtilisation() { |
$testeurCourriel = $this->conteneur->getParametre('t'); |
if ($testeurCourriel) { |
if (filter_var($testeurCourriel, FILTER_VALIDATE_EMAIL)) { |
$this->testeurCourriel = $testeurCourriel; |
} else { |
$msg = "Veuillez indiquer une adresse de courriel valide à la suite du paramètre «-t»."; |
new Exception($msg); |
} |
} |
} |
|
private function chargerObservationsCommentees() { |
// Seuls les utilisateurs ayant explicitement refusé le mail sont ignorés |
$preferences = $this->conteneur->getBdd()->proteger('%"mail_notification_mes_obs":"0"%'); |
165,7 → 179,11 |
protected function envoyerMessageAuxDestinataires() { |
foreach ($this->observations_concernees as $auteur => $liste_obs) { |
$message = $this->formaterMessagePourAuteur($liste_obs, $auteur); |
$this->envoyerMessage($message, $auteur); |
if ($this->testeurCourriel == null) { |
$this->envoyerMessage($message, $auteur); |
} else { |
$this->envoyerMessage($message, $this->testeurCourriel); |
} |
} |
} |
|