Subversion Repositories eFlore/Applications.del

Compare Revisions

No changes between revisions

Ignore whitespace Rev 1726 → Rev 1727

/branches/v1.2-lithium/scripts/modules/adeterminer/AlerteMailADeterminer.php
21,7 → 21,8
private $messageRecapitulatif = null;
 
private $observations_concernees = array();
private $message = null;
private $messageHtml = null;
private $messageTxt = null;
 
public function __construct($conteneur) {
$this->conteneur = $conteneur;
106,23 → 107,22
}
 
private function genererMessage() {
if ($this->message == null) {
if ($this->messageHtml == null && $this->messageTxt == null) {
$donnees = array();
$donnees['liste_observations'] = $this->observations_concernees;
$messageTpl = dirname(__FILE__).DS.'squelettes'.DS.'aDeterminer.tpl.html';
 
$squelettePhp = $this->conteneur->getSquelettePhp();
$this->message = $squelettePhp->analyser($messageTpl, $donnees);
$messageHtmlTpl = dirname(__FILE__).DS.'squelettes'.DS.'aDeterminer.tpl.html';
$this->messageHtml = $squelettePhp->analyser($messageHtmlTpl, $donnees);
$messageTxtTpl = dirname(__FILE__).DS.'squelettes'.DS.'aDeterminer.tpl.txt';
$this->messageTxt = $squelettePhp->analyser($messageTxtTpl, $donnees);
}
}
 
private function envoyerMessageAuxDestinataires() {
if ($this->testeurCourriel == null) {
$this->envoyerMessageAuxUtilisateurs();
$this->envoyerMessageListeDetermination();
 
$utilisateurs = $this->obtenirDestinatairesMailsRecapitulatif();
foreach ($utilisateurs as $utilisateur) {
$this->envoyerMessage($utilisateur['id_utilisateur']);
}
$this->envoyerMessageRecap();
} else {
$this->envoyerMessageTesteur();
129,6 → 129,13
}
}
 
private function envoyerMessageAuxUtilisateurs() {
$utilisateurs = $this->obtenirDestinatairesMailsRecapitulatif();
foreach ($utilisateurs as $utilisateur) {
$this->envoyerMessage($utilisateur['id_utilisateur']);
}
}
 
private function obtenirDestinatairesMailsRecapitulatif() {
if (count($this->recapitulatifAdmin) == 0) {
$preference = $this->conteneur->getBdd()->proteger('%"mail_notification_toutes_obs":"1"%');
144,19 → 151,6
return $this->recapitulatifAdmin;
}
 
/** La liste détermination n'étant pas un membre de tela botanica,
* on lui envoie un message directement
* @return boolean true ou false suivant le succès ou non de l'envoi
*/
private function envoyerMessageListeDetermination() {
$destinataires = $this->conteneur->getParametre('adresse_destinataire_recapitulatif_determination');
$sujet = $this->conteneur->getParametre('titre_message_recapitulatif_obs');
 
$messagerie = $this->conteneur->getMessagerie();
$envoieStatut = $messagerie->envoyerHtml($destinataires, $sujet, $this->message);
return $envoieStatut;
}
 
/**
* Appelle le web service message de l'annuaire afin d'envoyer un mail à l'utilisateur dont l'identifiant est donné
* en paramètre
167,10 → 161,11
private function envoyerMessage($id_destinataire) {
$url = sprintf($this->conteneur->getParametre('url_service_messagerie'), $id_destinataire);
$donnees = array(
'sujet' => 'Récapitulatif des dernières observations à déterminer',
'message' => $this->message,
'utilisateur_courriel' => $this->conteneur->getParametre('adresse_expediteur_recapitulatif'),
'format' => 'html'
'format' => 'html',
'sujet' => $this->conteneur->getParametre('titre_message_recapitulatif_obs'),
'message' => $this->messageHtml,
'message_txt' => $this->messageTxt
);
 
$clientRest = $this->conteneur->getRestClient();
177,16 → 172,25
$clientRest->modifier($url, $donnees);
}
 
/** La liste détermination n'étant pas un membre de tela botanica,
* on lui envoie un message directement
* @return boolean true ou false suivant le succès ou non de l'envoi
*/
private function envoyerMessageListeDetermination() {
$destinataires = $this->conteneur->getParametre('adresse_destinataire_recapitulatif_determination');
$sujet = $this->conteneur->getParametre('titre_message_recapitulatif_obs');
 
$messagerie = $this->conteneur->getMessagerie();
$envoieStatut = $messagerie->envoyerHtml($destinataires, $sujet, $this->messageHtml, $this->messageTxt);
return $envoieStatut;
}
 
private function envoyerMessageRecap() {
$msgRecap = $this->obtenirMessageRecap();
if ($this->testeurCourriel != null) {
$sujet = "IdentiPlante - TEST par {$this->testeurCourriel} : récapitulatif envoies alertes à déterminer";
} else {
$sujet = "IdentiPlante : récapitulatif envoies alertes à déterminer";
}
$sujet = "IdentiPlante : récapitulatif envoies alertes à déterminer";
$messagerie = $this->conteneur->getMessagerie();
$destinataire = $this->conteneur->getParametre('email_recap');
$envoieStatut = $messagerie->envoyerTxt($destinataire, $sujet, $msgRecap);
$messagerie->envoyerTxt($destinataire, $sujet, $msgRecap);
}
 
private function obtenirMessageRecap() {
195,7 → 199,7
$intituleRecap = implode("\n", $utilisateursIntitules);
$separateur = str_repeat('-', 50);
$msgTpl = "Messages envoyés aux utilisateurs suivant :\n%s\n%s\n%s";
$this->messageRecapitulatif = sprintf($msgTpl, $intituleRecap, $separateur, $this->message);
$this->messageRecapitulatif = sprintf($msgTpl, $intituleRecap, $separateur, $this->messageTxt);
}
return $this->messageRecapitulatif;
}
210,21 → 214,32
$json = $clientRest->consulter($url);
$infosUtilisateur = json_decode($json);
if (isset($infosUtilisateur->courriel) && isset($infosUtilisateur->intitule)) {
$intitule = $infosUtilisateur->intitule.' ('.$infosUtilisateur->courriel.')';
$prenomNom = $infosUtilisateur->nom.' '.$infosUtilisateur->prenom;
$pseudo = $infosUtilisateur->pseudoUtilise ? ' ['.$infosUtilisateur->pseudo.']' : '';
$courriel = $infosUtilisateur->courriel;
$intitule = "$prenomNom $pseudo ($courriel) - id#$utilisateurId";
} else {
$intitule = "Utilisateur avec id $utilisateurId introuvable";
}
$utilisateursIntitules[$utilisateurId] = $intitule;
$utilisateursIntitules[$infosUtilisateur->nom] = $intitule;
}
ksort($utilisateursIntitules);
return $utilisateursIntitules;
}
 
private function envoyerMessageTesteur() {
if ($this->testeurCourriel != null) {
$messagerie = $this->conteneur->getMessagerie();
 
$sujet = "TESTEUR : récapitulatif envoies alertes à déterminer";
$msgRecap = $this->obtenirMessageRecap();
$sujet = "TESTEUR : récapitulatif envoies alertes à déterminer";
$messagerie = $this->conteneur->getMessagerie();
$envoieStatut = $messagerie->envoyerTxt($this->testeurCourriel, $sujet, $msgRecap);
$messagerie->envoyerTxt($this->testeurCourriel, $sujet, $msgRecap);
 
$sujet = "TESTEUR : exemple message HTML - alerte à déterminer";
$messagerie->envoyerHtml($this->testeurCourriel, $sujet, $this->messageHtml, $this->messageTxt);
 
$sujet = "TESTEUR : exemple message TXT - alerte à déterminer";
$messagerie->envoyerTxt($this->testeurCourriel, $sujet, $this->messageTxt);
}
}
}
/branches/v1.2-lithium/scripts/modules/adeterminer/squelettes/aDeterminer.tpl.txt
New file
0,0 → 1,19
IdentiPlante : Récapitulatif des observations à déterminer
 
Ce message récapitule l'ensemble des observations dont l'auteur a demandé confirmation ou détermination via
l'outil IdentiPlante <http://www.tela-botanica.org/appli:identiplante>.
 
<?php foreach ($liste_observations as $observation) : ?>
<?php $nom_ret = (trim($observation['nom_propose']) != '') ? $observation['nom_propose'] : 'Espèce indéterminée'; ?>
--> Observation <?= $observation['id_observation'] ?> - <<?= $observation['lien']; ?>>
<?= $nom_ret; ?> observée le <?= $observation['date']; ?> à <?= $observation['zone_geo']; ?>
 
 
<?php endforeach ; ?>
 
Bonne continuation sur nos outils botaniques !
--
L'équipe de Tela Botanica.
 
Ce message vous est envoyé par l'intermédiaire de l'application IdentiPlante du réseau Tela Botanica <http://www.tela-botanica.org/appli:identiplante>.
Si vous ne souhaitez plus recevoir ce mail décochez la case dans vos préférences sur l'interface d'IdentiPlante.
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property