Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1723 → Rev 1722

/branches/v1.2-lithium/scripts/modules/adeterminer/AlerteMailADeterminer.php
192,7 → 192,7
private function obtenirMessageRecap() {
if ($this->messageRecapitulatif == null) {
$utilisateursIntitules = $this->obtenirInfosUtilisateurs();
$intituleRecap = implode("\n", $utilisateursIntitules);
$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);
/branches/v1.2-lithium/scripts/modules/commentaires/squelettes/commentaires.tpl.txt
File deleted
\ No newline at end of file
/branches/v1.2-lithium/scripts/modules/commentaires/squelettes/commentaires.tpl.html
62,13 → 62,14
</div>
 
<?php foreach ($liste_observations as $observation) : ?>
<span class="emphase">-&gt;</span> Un Telabotaniste vient de proposer une nouvelle d&eacute;termination ou de faire un commentaire concernant votre observation
<span class="emphase">-&gt;</span> Un Telabotaniste vient de proposer une nouvelle d&eacute;termination
ou de faire un commentaire concernant votre observation de
<?php $nom_ret = (trim($observation['nom_ret']) != '') ? $observation['nom_ret'] : 'Esp&egrave;ce ind&eacute;termin&eacute;e'; ?>
<h3>
<a href="<?= $observation['lien']; ?>">
observation <?= $observation['id_observation'] ?> - <em><?= $nom_ret; ?></em>
Observation <?= $observation['id_observation'] ?> - <em><?= $nom_ret; ?></em>
</a>
du <?= $observation['date']; ?> observ&eacute; &agrave; <?= $observation['lieu']; ?>
du <?= $observation['date']; ?> &agrave; <?= $observation['lieu']; ?>
</h3>
<?php foreach ($observation['commentaires'] as $commentaire) : ?>
<?php if ($commentaire['nom_sel'] == '') : ?>
93,11 → 94,12
<br/>
<small>
Ce message vous est envoy&eacute; par l'interm&eacute;diaire de l'application IdentiPlante du r&eacute;seau Tela Botanica.
<a href="http://www.tela-botanica.org/appli:identiplante">http://www.tela-botanica.org/appli:identiplante </a>
<a href="http://www.tela-botanica.org/eflore">http://www.tela-botanica.org/appli:identiplante </a>
</small>
<br />
<small>
Si vous ne souhaitez plus recevoir ce mail d&eacute;cochez la case dans vos pr&eacute;f&eacute;rences sur l'interface d'IdentiPlante.
Si vous ne souhaitez plus recevoir ce mail d&eacute;cochez la case dans vos pr&eacute;f&eacute;rences
sur l'interface d'IdentiPlante.
</small>
</body>
</html>
/branches/v1.2-lithium/scripts/modules/commentaires/AlerteMailCommentaires.php
180,36 → 180,17
 
protected function envoyerMessageAuxDestinataires() {
foreach ($this->observations_concernees as $auteurId => $liste_obs) {
$donnees = $this->formaterDonneesPourMessage($liste_obs, $auteur);
$messageTxt = $this->formaterMessageTxt($donnees);
$messageHtml = $this->formaterMessageHtml($donnees);
$this->recapitulatifAdmin[$auteurId] = array('txt' => $messageTxt, 'html' => $messageHtml);
 
$message = $this->formaterMessagePourAuteur($liste_obs, $auteurId);
if ($this->testeurCourriel == null) {
$this->envoyerMessage($messageHtml, $messageTxt, $auteurId);
$this->envoyerMessage($message, $auteurId);
}
$this->recapitulatifAdmin[$auteurId] = $message;
}
if ($this->testeurCourriel == null) {
$this->envoyerMessageRecap();
}
$this->envoyerMessagesTesteur();
$this->envoyerMessageRecap();
$this->envoyerMessageTesteur();
}
 
private function formaterMessageHtml($donnees) {
$squelette = dirname(__FILE__).DS.'squelettes'.DS.'commentaires.tpl.html';
$squelettePhp = $this->conteneur->getSquelettePhp();
$msgHtml = $squelettePhp->analyser($squelette, $donnees);
return $msgHtml;
}
 
private function formaterMessageTxt($donnees) {
$squelette = dirname(__FILE__).DS.'squelettes'.DS.'commentaires.tpl.txt';
$squelettePhp = $this->conteneur->getSquelettePhp();
$msgTxt = $squelettePhp->analyser($squelette, $donnees);
return $msgTxt;
}
 
private function formaterDonneesPourMessage($liste_obs, $auteur) {
private function formaterMessagePourAuteur($liste_obs, $auteur) {
$donnees = array();
// copie de la première obs pour en obtenir le nom et prénom de l'auteur
// (en deux fois pour éviter un warning en mode strict)
219,17 → 200,18
$donnees['auteur'] = $auteur;
$donnees['auteur_formate'] = ucfirst($premiere_obs['prenom_utilisateur']).' '.ucfirst($premiere_obs['nom_utilisateur']);
 
return $donnees;
$messageSquelette = dirname(__FILE__).DS.'squelettes'.DS.'commentaires.tpl.html';
$squelettePhp = $this->conteneur->getSquelettePhp();
return $squelettePhp->analyser($messageSquelette, $donnees);
}
 
private function envoyerMessage($messageHtml, $messageTxt, $id_destinataire) {
private function envoyerMessage($message, $id_destinataire) {
$url = sprintf($this->conteneur->getParametre('url_service_messagerie'), $id_destinataire);
$donnees = array(
'sujet' => $this->conteneur->getParametre('titre_message_recapitulatif'),
'message' => $message,
'utilisateur_courriel' => $this->conteneur->getParametre('adresse_expediteur_recapitulatif'),
'format' => 'html',
'sujet' => $this->conteneur->getParametre('titre_message_recapitulatif'),
'message' => $messageHtml,
'message_txt' => $messageTxt
'format' => 'html'
);
 
$clientRest = $this->conteneur->getRestClient();
238,10 → 220,14
 
private function envoyerMessageRecap() {
$msgRecap = $this->obtenirMessageRecap();
$sujet = "IdentiPlante : récapitulatif envoies alertes commentaires";
if ($this->testeurCourriel != null) {
$sujet = "IdentiPlante - TEST par {$this->testeurCourriel} : récapitulatif envoies alertes commentaires";
} else {
$sujet = "IdentiPlante : récapitulatif envoies alertes commentaires";
}
$messagerie = $this->conteneur->getMessagerie();
$destinataire = $this->conteneur->getParametre('email_recap');
$messagerie->envoyerTxt($destinataire, $sujet, $msgRecap);
$envoieStatut = $messagerie->envoyerTxt($destinataire, $sujet, $msgRecap);
}
 
private function obtenirMessageRecap() {
250,32 → 236,22
$separateur = str_repeat('-', 50);
$utilisateursIntitules = $this->obtenirInfosUtilisateurs();
foreach ($this->recapitulatifAdmin as $utilisateurId => $message) {
$messageTxt = $message['txt'];
$intitule = $utilisateursIntitules[$utilisateurId];
$msgRecap .= "Message envoyé à : $intitule\n$messageTxt\n$separateur\n";
$msgRecap .= "Message envoyé à : $intitule\n$message\n$separateur\n";
}
$intituleRecap = implode("\n", $utilisateursIntitules);
$intituleRecap = implode(', ', $utilisateursIntitules);
 
$msgTpl = "Messages envoyés aux utilisateurs suivant :\n%s\n%s\n%s";
$this->messageRecapitulatif = sprintf($msgTpl, $intituleRecap, $separateur, $msgRecap);
$this->messageRecapitulatif = "Messages envoyés aux utilisateurs suivant : $intituleRecap\n$msgRecap";
}
return $this->messageRecapitulatif;
}
 
private function envoyerMessagesTesteur() {
private function envoyerMessageTesteur() {
if ($this->testeurCourriel != null) {
$msgRecap = $this->obtenirMessageRecap();
$sujet = "TESTEUR : Récapitulatif envoies alertes commentaires";
$messagerie = $this->conteneur->getMessagerie();
 
$sujet = "TESTEUR : récapitulatif envoies alertes commentaires";
$msgRecap = $this->obtenirMessageRecap();
$messagerie->envoyerTxt($this->testeurCourriel, $sujet, $msgRecap);
 
$message = array_shift($this->recapitulatifAdmin);
$sujet = "TESTEUR : exemple message HTML - alerte commentaire";
$messagerie->envoyerHtml($this->testeurCourriel, $sujet, $message['html'], $message['txt']);
 
$sujet = "TESTEUR : exemple message TXT - alerte commentaire";
$messagerie->envoyerTxt($this->testeurCourriel, $sujet, $message['txt']);
$envoieStatut = $messagerie->envoyerTxt($this->testeurCourriel, $sujet, $msgRecap);
}
}
 
/branches/v1.2-lithium/scripts/bibliotheque/Messagerie.php
7,11 → 7,9
$this->conteneur = $conteneur;
}
 
public function envoyerHtml($destinataires, $sujet, $messageHtml, $messageTxt = '') {
if ($messageTxt == '') {
$messageSansHtml = $this->supprimerHtml($messageHtml);
$messageTxt = $this->nettoyerTxt($messageSansHtml);
}
public function envoyerHtml($destinataires, $sujet, $message) {
$messageHtml = $message;
$messageTxt = $this->supprimerHtml($message);
$emailExpediteur = $this->conteneur->getParametre('adresse_expediteur_recapitulatif');
$encodage = $this->conteneur->getParametre('encodage_appli');
$dateHeure = date('D, j M Y G:i:s O');
46,7 → 44,8
return $envoieStatut;
}
 
public function envoyerTxt($destinataires, $sujet, $messageTxt) {
public function envoyerTxt($destinataires, $sujet, $message) {
$messageTxt = $this->supprimerHtml($message);
$emailExpediteur = $this->conteneur->getParametre('adresse_expediteur_recapitulatif');
$dateHeure = date('D, j M Y G:i:s O');
 
85,7 → 84,9
private function supprimerHtml($messageHtml) {
$html = $this->ajouterHrefDansBalise($messageHtml);
$messageSansHtml = strip_tags($html);
return $messageSansHtml;
$messageSansTab = preg_replace('/^\t+/', '', $messageSansHtml);
$messageTxt = html_entity_decode($messageSansTab, null, 'UTF-8');
return $messageTxt;
}
 
/**
105,11 → 106,4
$html = $dom->saveHtml();
return $html;
}
 
private function nettoyerTxt($message) {
$messageSansTab = preg_replace('/\t+/', '', $message);
$messageSansRetourMultiple = preg_replace('/\n+/', "\n", $messageSansTab);
$messageTxt = html_entity_decode($messageSansRetourMultiple, null, 'UTF-8');
return $messageTxt;
}
}