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) {
/trunk/modeles/AnnuaireModele.php
90,8 → 90,6
$tableau_mappage[1][$champ['at_action']] = $champ['at_valeur'];
}
 
// TODO faire une interface de gestion des champs de mappage
 
return $tableau_mappage ;
}
 
751,8 → 749,6
'FROM '.$resultat_infos_annuaire['aa_bdd'].'.'.$resultat_infos_annuaire['aa_table'].' '.
'WHERE '.$champs_mappage['champ_mail'].' = '.$this->proteger($mail_utilisateur);
 
 
//echo $requete_selection_utilisateur;
$resultat_selection_utilisateur = $this->requeteUn($requete_selection_utilisateur);
if(!$resultat_selection_utilisateur) {
return false;