Subversion Repositories Applications.annuaire

Compare Revisions

Ignore whitespace Rev 404 → Rev 405

/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_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/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/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; ?>
/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);