Subversion Repositories Applications.annuaire

Compare Revisions

Ignore whitespace Rev 354 → Rev 355

/trunk/controleurs/MessageControleur.php
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) {