/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); |
/trunk/modeles/MetadonneeModele.php |
---|
207,7 → 207,7 |
* @param int $id_parent l'identifiant de la liste parente |
* @return string le nom du champ, ou false sinon |
*/ |
private function renvoyerCorrespondanceNomId($id_ontologie,$id_parent) { |
public function renvoyerCorrespondanceNomId($id_ontologie,$id_parent) { |
if(trim($id_ontologie) == '') { |
return false; |
260,6 → 260,22 |
return false; |
} |
} |
public function renvoyerCorrespondanceNomParAbreviation($abreviation, $id_parent) { |
$requete = 'SELECT amo_nom '. |
'FROM annu_meta_ontologie '. |
'WHERE amo_ce_parent = '.$this->proteger($id_parent).' '. |
'AND amo_abreviation = '.$this->proteger($abreviation); |
$resultat = $this->requeteUn($requete); |
if($resultat) { |
return $resultat['amo_nom']; |
} else { |
return false; |
} |
} |
/** |
/trunk/squelettes/mails/mail_moderation_message.tpl.html |
---|
9,6 → 9,17 |
L'application annuaire |
</p> |
Expediteur : <?= $expediteur_message ?><br /><br /> |
<?php if(isset($criteres)) { ?> |
<p style=" font-family: Courier, monospace;"> |
Criteres Utilisés pour la recherche : <br /> |
<?php foreach($criteres as $critere) : ?> |
<?= $critere['label']; ?> : <?= $critere['valeur']; ?> <br /> |
<?php endforeach; ?> |
</p><br /> |
<?php } ?> |
Sujet du message : |
<pre> |
<?=$sujet_message?> |
19,15 → 30,7 |
<?= $contenu_message ?> |
</p><br /> |
Expediteur : |
<p style="white-space: pre-wrap; font-family: Courier, monospace;"> |
<?= $expediteur_message ?> |
</p><br /> |
Destinataires : |
<p style="white-space: pre-wrap; font-family: Courier, monospace;"> |
<?=$destinataires_message ?> |
</p<br /> |
</p><br /> |
/trunk/squelettes/mails/mail_confirmation_inscription.tpl.html |
---|
1,8 → 1,11 |
<p> Bonjour <?= $nom ?> <?=$prenom ?>. Votre inscription au site Tela Botanica a bien été prise en compte.<br /> |
<p> Bonjour <?= $nom ?> <?=$prenom ?>. Votre inscription au site Tela Botanica a bien été prise en compte.<br /><br /> |
Pour confirmer votre inscription, cliquez sur ce lien <a href="<?=$lien_confirmation_inscription ?>"> <?=$lien_confirmation_inscription ?> </a> <br /> |
Cordialement, |
Cordialement,<br /> |
L'équipe de Tela Botanica |
</p> |
</p><br /> |
<font size="-1"> |
Ne répondez pas à ce courriel qui est généré automatiquement, pour toute question écrivez plutôt à <a href="mailto:<?= Config::get('mail_moderateur'); ?>"><?= Config::get('mail_moderateur'); ?></a> <br /> |
</font> |
/trunk/squelettes/mails/mail_oubli_mdp.tpl.html |
---|
1,12 → 1,16 |
<p> Bonjour. <br /> |
Ce mail vous a été envoyé suite à une demande de réinitialisation de mot de passe.<br /> |
Votre nouveau mot de passe est <?=$nouveau_mdp ?><br /> |
Votre nouveau mot de passe est <?=$nouveau_mdp ?><br /><br /> |
Vous pouvez accéder à votre compte sur cette page : |
<a href="<?=$lien_profil ?>" title="lien vers votre profil utilisateur" > <?= $lien_profil ?> </a><br /> |
Cordialement, |
Cordialement,<br /> |
L'équipe de Tela Botanica |
<br /><br /> |
<font size="-1"> |
Ne répondez pas à ce courriel qui est généré automatiquement, pour toute question écrivez plutôt à <a href="mailto:<?= Config::get('mail_moderateur'); ?>"><?= Config::get('mail_moderateur'); ?></a> <br /> |
</font> |
</p> |
/trunk/squelettes/mails/mail_moderation_copie.tpl.html |
---|
1,11 → 1,14 |
Bonjour. Ceci est une copie d'un message non modéré envoyé à travers l'annuaire.<br /> |
Cordialement, |
L'application annuaire |
L'application annuaire<br /> |
Message envoyé par : |
<pre> |
<?=$expediteur_message?> |
</pre><br /> |
Message envoyé par : <?=$expediteur_message?> <br /><br /> |
<?php if(isset($criteres)) { ?> |
Criteres Utilisés pour la recherche : <br /> |
<?php foreach($criteres as $critere) : ?> |
<?= $critere['label']; ?> : <?= $critere['valeur']; ?> <br /> |
<?php endforeach; ?> |
<?php } ?> |
Sujet du message : |
<pre> |
/trunk/squelettes/rss/derniers_inscrits_admin.tpl.html |
---|
5,20 → 5,20 |
<title>Derniers inscrits à l'annuaire</title> |
<link> http://www.tela-botanica.org</link> |
<description>Flux des derniers inscrits à Tela Botanica</description> |
<language>fr</language> |
<language>fr</language> |
<?php foreach ($derniers_inscrits as $id_utilisateur => $inscrit) : ?> |
<item> |
<title> <?=$inscrit['nom']['amv_valeur'].' '.$inscrit['prenom']['amv_valeur'] ?> le <?= $inscrit['date_inscription']['amv_valeur_affichage'] ?></title> |
<link> http://www.tela-botanica.org/page:membres_du_reseau<?= urlencode(AppControleur::getUrlConsultationProfil($id_annuaire, $id_utilisateur)) ?> </link> |
<title> <?= htmlspecialchars($inscrit['nom']['amv_valeur'].' '.$inscrit['prenom']['amv_valeur']) ?> le <?= $inscrit['date_inscription']['amv_valeur_affichage'] ?></title> |
<link> http://www.tela-botanica.org/page:membres_du_reseau<?= AppControleur::getUrlConsultationProfil($id_annuaire, $id_utilisateur) ?> </link> |
<description> |
<![CDATA[ |
<?php if(isset($inscrit['image']['amv_valeur']) && trim($inscrit['image']['amv_valeur']) != '') { ?> |
<img class="avatar_petit" src="<?= ImageModele::obtenirUrlFichierParId($inscrit['image']['amv_valeur'],'1','S') ?>" alt="avatar" /> <br /> |
<?php } ?> |
<a href="http://www.tela-botanica.org/page:membres_du_reseau<?= urlencode(AppControleur::getUrlConsultationProfil($id_annuaire, $id_utilisateur)) ?>" >Voir le profil</a><br /> |
<a href="http://www.tela-botanica.org/page:membres_du_reseau<?= AppControleur::getUrlConsultationProfil($id_annuaire, $id_utilisateur) ?>" >Voir le profil</a><br /> |
<h3> Coordonnées </h3> |
<div class="element_profil">Email : <span class="valeur_profil"><?=$inscrit['mail']['amv_valeur_affichage'] ?></span> </div> |
<div class="element_profil">Date de naissance : <span class="valeur_profil"><?=$inscrit['date_naissance']['amv_valeur_affichage'] ?></span> </div> |
31,9 → 31,14 |
<div class="element_profil">Code Postal : <span class="valeur_profil"><?=$inscrit['code_postal']['amv_valeur_affichage'] ?></span> </div> |
<div class="element_profil">Langues : <span class="valeur_profil"><?=$inscrit['langues']['amv_valeur_affichage'] ?></span> </div> |
<div class="element_profil">Je peux héberger des botanistes : <span class="valeur_profil"><?=$inscrit['hebergement']['amv_valeur_affichage'] ?></span> </div> |
<div class="element_profil">Langues pratiquées : <span class="valeur_profil"><?=$inscrit['langues']['amv_valeur_affichage'] ?></span> </div> |
<div class="element_profil">Outils préférés : <span class="valeur_profil"><?=$inscrit['outils_reseau']['amv_valeur_affichage'] ?></span> </div> |
<div class="element_profil">Profil privé : <span class="valeur_profil"><?= ($inscrit['profil_prive']['amv_valeur'] == 1) ? 'oui' : 'non' ?></span> </div> |
<h3> Parcours botanique </h3> |
<div class="element_profil">Présentation : <span class="valeur_profil"><?=$inscrit['presentation']['amv_valeur_affichage'] ?></span> </div> |
75,9 → 80,9 |
</description> |
<pubDate> |
<?php $date_modification_timestamp = strtotime($inscrit['date_inscription']['amv_valeur']); |
echo date(DATE_RSS, $date_modification_timestamp); ?> |
echo date(DATE_RSS, $date_modification_timestamp); ?> |
</pubDate> |
<guid>http://www.tela-botanica.org/page:membres_du_reseau<?= urlencode(AppControleur::getUrlConsultationProfil($id_annuaire, $id_utilisateur)) ?></guid> |
<guid>http://www.tela-botanica.org/page:membres_du_reseau<?= AppControleur::getUrlConsultationProfil($id_annuaire, $id_utilisateur) ?></guid> |
<dc:format>text/html</dc:format> |
</item> |
<?php endforeach; ?> |