/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/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/modules/commentaires/squelettes/commentaires.tpl.html |
---|
62,14 → 62,13 |
</div> |
<?php foreach ($liste_observations as $observation) : ?> |
<span class="emphase">-></span> Un Telabotaniste vient de proposer une nouvelle détermination |
ou de faire un commentaire concernant votre observation de |
<span class="emphase">-></span> Un Telabotaniste vient de proposer une nouvelle détermination ou de faire un commentaire concernant votre observation |
<?php $nom_ret = (trim($observation['nom_ret']) != '') ? $observation['nom_ret'] : 'Espèce indéterminé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']; ?> à <?= $observation['lieu']; ?> |
du <?= $observation['date']; ?> observé à <?= $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é par l'intermédiaire de l'application IdentiPlante du ré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écochez la case dans vos préférences |
sur l'interface d'IdentiPlante. |
Si vous ne souhaitez plus recevoir ce mail décochez la case dans vos préférences sur l'interface d'IdentiPlante. |
</small> |
</body> |
</html> |
/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èce indéterminé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/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; |
} |
} |