359,44 → 359,61 |
*/ |
public function envoyerMailDirectOuModere($id_annuaire, $expediteur, $destinataires, $sujet = '', $message = '') { |
|
$destinataires_mail = $this->obtenirMailParTableauId($id_annuaire, $destinataires); |
|
$donnees['erreurs'] = false; |
|
$donnees['contenu_message'] = $this->filtrerChaine($message); |
$sujet = $this->filtrerChaine($sujet); |
$message = $this->getVue(Config::get('dossier_squelettes_mails').'mail_messagerie',$donnees); |
|
// si on modere les mails et s'il y a trop de destinataires |
if($this->moderer_mail && count($destinataires_mail) >= $this->seuil_moderation) { |
|
$stockage_mail = $this->stockerMailPourModeration($expediteur, $destinataires_mail, $sujet, $message); |
$donnees['moderation'] = true; |
|
if(count($destinataires) == 0) { |
$donnees['erreurs'] = true; |
$donnees['pas_de_destinataire'] = true; |
} |
|
if(trim($sujet) == '') { |
$donnees['erreurs'] = true; |
$donnees['pas_de_sujet'] = true; |
} |
|
if(trim($message) == '') { |
$donnees['erreurs'] = true; |
$donnees['pas_de_message'] = true; |
} |
|
if(!$donnees['erreurs']) { |
|
if(!$stockage_mail) { |
$donnees['erreurs'] = true; |
} |
$destinataires_mail = $this->obtenirMailParTableauId($id_annuaire, $destinataires); |
$message = $this->getVue(Config::get('dossier_squelettes_mails').'mail_messagerie',$donnees); |
|
} else { |
|
// sinon, envoi direct |
$envoi_mail_direct = $this->envoyerMail($expediteur, $destinataires_mail, $sujet, $message); |
|
if($this->moderation_copie) { |
$this->envoyerCopieMessageAuModerateur($id_annuaire, $expediteur, $sujet, $destinataires_mail, $message); |
// si on modere les mails et s'il y a trop de destinataires |
if($this->moderer_mail && count($destinataires_mail) >= $this->seuil_moderation) { |
|
$stockage_mail = $this->stockerMailPourModeration($expediteur, $destinataires_mail, $sujet, $message); |
$donnees['moderation'] = true; |
|
if(!$stockage_mail) { |
$donnees['erreurs'] = true; |
} |
|
} else { |
|
// sinon, envoi direct |
$envoi_mail_direct = $this->envoyerMail($expediteur, $destinataires_mail, $sujet, $message); |
|
if($this->moderation_copie) { |
$this->envoyerCopieMessageAuModerateur($id_annuaire, $expediteur, $sujet, $destinataires_mail, $message); |
} |
|
if(!$envoi_mail_direct) { |
$donnees['erreurs'] = true; |
} |
|
$donnees['moderation'] = false; |
} |
|
if(!$envoi_mail_direct) { |
$donnees['erreurs'] = true; |
} |
|
$donnees['moderation'] = false; |
} |
|
$resultat = $this->getVue(Config::get('dossier_squelettes_annuaires').'message_envoi_confirmation',$donnees); |
|
return $resultat; |
|
} |
|
public function obtenirMailParTableauId($id_annuaire, $destinataires) { |