Subversion Repositories eFlore/Applications.del

Compare Revisions

No changes between revisions

Ignore whitespace Rev 1722 → Rev 1723

/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
New file
0,0 → 1,26
** IdentiPlante : un telabotaniste vous a aidé **
 
Bonjour <?= $auteur_formate ?>,
 
<?php foreach ($liste_observations as $observation) : ?>
<?php $nom_ret = (trim($observation['nom_ret']) != '') ? $observation['nom_ret'] : 'Esp&egrave;ce ind&eacute;termin&eacute;e'; ?>
- Un Telabotaniste vient de proposer une nouvelle détermination ou de faire un commentaire concernant votre observation
<?= $observation['id_observation'] ?> - <?= $nom_ret; ?> <<?= $observation['lien']; ?>>
du <?= $observation['date']; ?> observée à <?= $observation['lieu']; ?>
<?php foreach ($observation['commentaires'] as $commentaire) : ?>
<?php if ($commentaire['nom_sel'] == '') : ?>
- <?= $commentaire['auteur'] ?> a écrit "<?= $commentaire['texte'] ?>"
<?php else : ?>
- <?= $commentaire['auteur'] ?> a proposé <?= $commentaire['nom_sel'] ?>
<?php if ($commentaire['texte'] != '') : ?>
et a écrit : "<?= $commentaire['texte'] ?>"
<?php endif; ?>
<?php endif; ?>
<?php endforeach ; ?>
<?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 courriel 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
/branches/v1.2-lithium/scripts/modules/commentaires/squelettes/commentaires.tpl.html
62,14 → 62,13
</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 de
<span class="emphase">-&gt;</span> Un Telabotaniste vient de proposer une nouvelle d&eacute;termination ou de faire un commentaire concernant votre observation
<?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']; ?> &agrave; <?= $observation['lieu']; ?>
du <?= $observation['date']; ?> observ&eacute; &agrave; <?= $observation['lieu']; ?>
</h3>
<?php foreach ($observation['commentaires'] as $commentaire) : ?>
<?php if ($commentaire['nom_sel'] == '') : ?>
94,12 → 93,11
<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/eflore">http://www.tela-botanica.org/appli:identiplante </a>
<a href="http://www.tela-botanica.org/appli:identiplante">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,17 → 180,36
 
protected function envoyerMessageAuxDestinataires() {
foreach ($this->observations_concernees as $auteurId => $liste_obs) {
$message = $this->formaterMessagePourAuteur($liste_obs, $auteurId);
$donnees = $this->formaterDonneesPourMessage($liste_obs, $auteur);
$messageTxt = $this->formaterMessageTxt($donnees);
$messageHtml = $this->formaterMessageHtml($donnees);
$this->recapitulatifAdmin[$auteurId] = array('txt' => $messageTxt, 'html' => $messageHtml);
 
if ($this->testeurCourriel == null) {
$this->envoyerMessage($message, $auteurId);
$this->envoyerMessage($messageHtml, $messageTxt, $auteurId);
}
$this->recapitulatifAdmin[$auteurId] = $message;
}
$this->envoyerMessageRecap();
$this->envoyerMessageTesteur();
if ($this->testeurCourriel == null) {
$this->envoyerMessageRecap();
}
$this->envoyerMessagesTesteur();
}
 
private function formaterMessagePourAuteur($liste_obs, $auteur) {
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) {
$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)
200,18 → 219,17
$donnees['auteur'] = $auteur;
$donnees['auteur_formate'] = ucfirst($premiere_obs['prenom_utilisateur']).' '.ucfirst($premiere_obs['nom_utilisateur']);
 
$messageSquelette = dirname(__FILE__).DS.'squelettes'.DS.'commentaires.tpl.html';
$squelettePhp = $this->conteneur->getSquelettePhp();
return $squelettePhp->analyser($messageSquelette, $donnees);
return $donnees;
}
 
private function envoyerMessage($message, $id_destinataire) {
private function envoyerMessage($messageHtml, $messageTxt, $id_destinataire) {
$url = sprintf($this->conteneur->getParametre('url_service_messagerie'), $id_destinataire);
$donnees = array(
'utilisateur_courriel' => $this->conteneur->getParametre('adresse_expediteur_recapitulatif'),
'format' => 'html',
'sujet' => $this->conteneur->getParametre('titre_message_recapitulatif'),
'message' => $message,
'utilisateur_courriel' => $this->conteneur->getParametre('adresse_expediteur_recapitulatif'),
'format' => 'html'
'message' => $messageHtml,
'message_txt' => $messageTxt
);
 
$clientRest = $this->conteneur->getRestClient();
220,14 → 238,10
 
private function envoyerMessageRecap() {
$msgRecap = $this->obtenirMessageRecap();
if ($this->testeurCourriel != null) {
$sujet = "IdentiPlante - TEST par {$this->testeurCourriel} : récapitulatif envoies alertes commentaires";
} else {
$sujet = "IdentiPlante : récapitulatif envoies alertes commentaires";
}
$sujet = "IdentiPlante : récapitulatif envoies alertes commentaires";
$messagerie = $this->conteneur->getMessagerie();
$destinataire = $this->conteneur->getParametre('email_recap');
$envoieStatut = $messagerie->envoyerTxt($destinataire, $sujet, $msgRecap);
$messagerie->envoyerTxt($destinataire, $sujet, $msgRecap);
}
 
private function obtenirMessageRecap() {
236,22 → 250,32
$separateur = str_repeat('-', 50);
$utilisateursIntitules = $this->obtenirInfosUtilisateurs();
foreach ($this->recapitulatifAdmin as $utilisateurId => $message) {
$messageTxt = $message['txt'];
$intitule = $utilisateursIntitules[$utilisateurId];
$msgRecap .= "Message envoyé à : $intitule\n$message\n$separateur\n";
$msgRecap .= "Message envoyé à : $intitule\n$messageTxt\n$separateur\n";
}
$intituleRecap = implode(', ', $utilisateursIntitules);
$intituleRecap = implode("\n", $utilisateursIntitules);
 
$this->messageRecapitulatif = "Messages envoyés aux utilisateurs suivant : $intituleRecap\n$msgRecap";
$msgTpl = "Messages envoyés aux utilisateurs suivant :\n%s\n%s\n%s";
$this->messageRecapitulatif = sprintf($msgTpl, $intituleRecap, $separateur, $msgRecap);
}
return $this->messageRecapitulatif;
}
 
private function envoyerMessageTesteur() {
private function envoyerMessagesTesteur() {
if ($this->testeurCourriel != null) {
$messagerie = $this->conteneur->getMessagerie();
 
$sujet = "TESTEUR : récapitulatif envoies alertes commentaires";
$msgRecap = $this->obtenirMessageRecap();
$sujet = "TESTEUR : Récapitulatif envoies alertes commentaires";
$messagerie = $this->conteneur->getMessagerie();
$envoieStatut = $messagerie->envoyerTxt($this->testeurCourriel, $sujet, $msgRecap);
$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']);
}
}
 
/branches/v1.2-lithium/scripts/bibliotheque/Messagerie.php
7,9 → 7,11
$this->conteneur = $conteneur;
}
 
public function envoyerHtml($destinataires, $sujet, $message) {
$messageHtml = $message;
$messageTxt = $this->supprimerHtml($message);
public function envoyerHtml($destinataires, $sujet, $messageHtml, $messageTxt = '') {
if ($messageTxt == '') {
$messageSansHtml = $this->supprimerHtml($messageHtml);
$messageTxt = $this->nettoyerTxt($messageSansHtml);
}
$emailExpediteur = $this->conteneur->getParametre('adresse_expediteur_recapitulatif');
$encodage = $this->conteneur->getParametre('encodage_appli');
$dateHeure = date('D, j M Y G:i:s O');
44,8 → 46,7
return $envoieStatut;
}
 
public function envoyerTxt($destinataires, $sujet, $message) {
$messageTxt = $this->supprimerHtml($message);
public function envoyerTxt($destinataires, $sujet, $messageTxt) {
$emailExpediteur = $this->conteneur->getParametre('adresse_expediteur_recapitulatif');
$dateHeure = date('D, j M Y G:i:s O');
 
84,9 → 85,7
private function supprimerHtml($messageHtml) {
$html = $this->ajouterHrefDansBalise($messageHtml);
$messageSansHtml = strip_tags($html);
$messageSansTab = preg_replace('/^\t+/', '', $messageSansHtml);
$messageTxt = html_entity_decode($messageSansTab, null, 'UTF-8');
return $messageTxt;
return $messageSansHtml;
}
 
/**
106,4 → 105,11
$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;
}
}