Subversion Repositories Applications.annuaire

Compare Revisions

Ignore whitespace Rev 404 → Rev 405

/trunk/controleurs/VerificationControleur.php
466,6 → 466,48
return array('valeurs_mappees' => $valeurs_mappees, 'valeurs_recherchees' => $valeurs_recherchees, 'valeurs_get' => $valeurs_get);
}
public function convertirTableauRechercheVersChaine($id_annuaire, $valeurs_recherchees) {
$this->chargerModele('MetadonneeModele');
$metadonnees = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id_annuaire);
$champs = array();
foreach($metadonnees as $id => $metadonnee) {
$id_champ_formulaire = $metadonnee['amc_ce_template_affichage'].'_'.$id;
if(isset($valeurs_recherchees[$id_champ_formulaire]) && $valeurs_recherchees[$id_champ_formulaire] != '') {
$valeur = $valeurs_recherchees[$id_champ_formulaire];
$champs[] = array('label' => $metadonnee['amc_nom'],
'valeur' => $this->convertirValeurChampRechercheVersTexte($metadonnee, $valeur)
);
}
}
return $champs;
}
private function convertirValeurChampRechercheVersTexte($metadonnee, $valeur) {
if($metadonnee['amc_ce_ontologie'] != 0) {
$valeurs_onto = array();
if(is_array($valeur)) {
foreach($valeur as $id => $element) {
$valeur_element = $this->MetadonneeModele->renvoyerCorrespondanceNomId($id, $metadonnee['amc_ce_ontologie']);
$valeurs_onto[] = $valeur_element['amo_nom'];
}
$valeur = implode(', ',$valeurs_onto);
} else {
if(is_numeric($valeur)) {
$valeurs_onto = $this->MetadonneeModele->renvoyerCorrespondanceNomId($valeur, $metadonnee['amc_ce_ontologie']);
$valeur = $valeurs_onto['amo_nom'];
} else {
$valeur_onto = $this->MetadonneeModele->renvoyerCorrespondanceNomParAbreviation($valeur, $metadonnee['amc_ce_ontologie']);
$valeur = $valeur_onto;
}
}
}
return $valeur;
}
 
/**
* Renvoie vrai ou faux suivant qu'un mail donné en paramètre est syntaxiquement valide (ne vérifie pas l'existence
/trunk/controleurs/MessageControleur.php
38,6 → 38,11
* Adresse mail de l'expéditeur à partir laquelle sont envoyée les mails de modération
*/
private $adresse_mail_annuaire = '';
/**
* Tableau recapitulatif de la derniere recherche effectuée pour envoyer un message
*/
private $criteres_recherche_effectuee = null;
 
/**
*
144,7 → 149,8
$collecteur = new VerificationControleur();
$tableau_valeur_collectees = $collecteur->collecterValeursRechercheMoteur($criteres, $this->obtenirChampsMappageAnnuaire($id_annuaire));
$this->criteres_recherche_effectuee = $collecteur->convertirTableauRechercheVersChaine($id_annuaire, $criteres);
$valeurs_recherchees = $tableau_valeur_collectees['valeurs_recherchees'];
$valeurs_mappees = $tableau_valeur_collectees['valeurs_mappees'];
$valeurs_get = $tableau_valeur_collectees['valeurs_get'];
169,7 → 175,6
$resultat_recherche = $resultat_annuaire_mappe['resultat'];
$nb_resultats = $resultat_annuaire_mappe['total'];
$destinataires = $this->aplatirTableauSansPreserverCles($resultat_recherche);
return $this->envoyerMailDirectOuModere($id_annuaire, $expediteur, $destinataires, $sujet, $message);
205,7 → 210,7
$contenu = $this->filtrerChaine($message_antislashe);
foreach ($destinataires as $destinataire) {
if (!mail($destinataire, $sujet, $contenu, $entetes)) {
if (!mail('aurelien@tela-botanica.org', $sujet, $contenu, $entetes)) {
return false;
}
}
263,7 → 268,7
 
foreach($destinataires as $destinataire) {
if (!mail($destinataire, mb_encode_mimeheader($sujet), $contenu, $entetes)) {
if (!mail('aurelien@tela-botanica.org', mb_encode_mimeheader($sujet), $contenu, $entetes)) {
return false;
}
}
341,7 → 346,7
}
foreach ($destinataires as $destinataire) {
if (!mail($destinataire, mb_encode_mimeheader($sujet), $contenu, $entetes)) {
if (!mail('aurelien@tela-botanica.org', mb_encode_mimeheader($sujet), $contenu, $entetes)) {
return false;
}
}
356,6 → 361,7
* @param array $destinataires les destinataires du mail
* @param string $sujet sujet du message
* @param string $message corps du message
* @param string $donnees_sup tableau d'informations supplémentaires à joindre au message
*/
public function envoyerMailDirectOuModere($id_annuaire, $expediteur, $destinataires, $sujet = '', $message = '') {
397,7 → 403,7
$message = $this->getVue(Config::get('dossier_squelettes_mails').$template_mail,$donnees);
// si on modere les mails et s'il y a trop de destinataires
if($this->moderer_mail && count($destinataires_mail) >= $this->seuil_moderation) {
//if($this->moderer_mail && count($destinataires_mail) >= $this->seuil_moderation) {
$stockage_mail = $this->stockerMailPourModeration($expediteur, $destinataires_mail, $sujet, $message);
$donnees['moderation'] = true;
406,7 → 412,7
$donnees['erreurs'] = true;
}
} else {
/*} else {
// sinon, envoi direct
$envoi_mail_direct = $this->envoyerMail($expediteur, $destinataires_mail, $sujet, $message);
420,7 → 426,7
}
$donnees['moderation'] = false;
}
}*/
}
 
$resultat = $this->getVue(Config::get('dossier_squelettes_annuaires').'message_envoi_confirmation',$donnees);
447,6 → 453,9
}
$donnees['destinataires_message'] = $destinataires;
if($this->criteres_recherche_effectuee != null) {
$donnees['criteres'] = $this->criteres_recherche_effectuee;
}
$contenu_mail_copie = $this->getVue(Config::get('dossier_squelettes_mails').'mail_moderation_copie',$donnees);
512,7 → 521,7
private function stockerMailPourModeration($expediteur ,$destinataires, $sujet, $message) {
 
$mail = array('expediteur' => $expediteur,
'destinataires' => $destinataires,
'destinataires' => $destinataires,
'sujet' => $sujet,
'message' => $message);
 
529,7 → 538,7
}
 
/**
* Envoie un mail au modérateur contenant les lien pour, au choix, refuser ou bien accepter l'envoi du mail
* Envoie un mail au modérateur contenant les liens pour, au choix, refuser ou bien accepter l'envoi du mail
* @param int $id_mail_a_moderer identifiant du mail à modérer (dans la table des données temporaires)
* @param string $sujet_message_a_moderer sujet du message
* @param string $message_a_moderer corps du message
560,9 → 569,12
$donnees['contenu_message'] = $message_a_moderer;
if(is_array($destinataires)) {
$destinataires = implode(', ', $destinataires);;
$destinataires = implode(', ', $destinataires);
}
$donnees['destinataires_message'] = $destinataires;
if($this->criteres_recherche_effectuee != null) {
$donnees['criteres'] = $this->criteres_recherche_effectuee;
}
 
$contenu_mail = $this->getVue(Config::get('dossier_squelettes_mails').'mail_moderation_message',$donnees);