Subversion Repositories eFlore/Applications.del

Rev

Rev 1722 | Rev 1724 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1722 Rev 1723
Line 178... Line 178...
178
		return $commentaire['utilisateur_prenom'].' '.$commentaire['utilisateur_nom'];
178
		return $commentaire['utilisateur_prenom'].' '.$commentaire['utilisateur_nom'];
179
	}
179
	}
Line 180... Line 180...
180
 
180
 
181
	protected function envoyerMessageAuxDestinataires() {
181
	protected function envoyerMessageAuxDestinataires() {
182
		foreach ($this->observations_concernees as $auteurId => $liste_obs) {
182
		foreach ($this->observations_concernees as $auteurId => $liste_obs) {
-
 
183
			$donnees = $this->formaterDonneesPourMessage($liste_obs, $auteur);
-
 
184
			$messageTxt = $this->formaterMessageTxt($donnees);
-
 
185
			$messageHtml = $this->formaterMessageHtml($donnees);
-
 
186
			$this->recapitulatifAdmin[$auteurId] = array('txt' => $messageTxt, 'html' => $messageHtml);
183
			$message = $this->formaterMessagePourAuteur($liste_obs, $auteurId);
187
 
184
			if ($this->testeurCourriel == null) {
188
			if ($this->testeurCourriel == null) {
185
				$this->envoyerMessage($message, $auteurId);
189
				$this->envoyerMessage($messageHtml, $messageTxt, $auteurId);
186
			}
-
 
187
			$this->recapitulatifAdmin[$auteurId] = $message;
190
			}
-
 
191
		}
188
		}
192
		if ($this->testeurCourriel == null) {
-
 
193
			$this->envoyerMessageRecap();
189
		$this->envoyerMessageRecap();
194
		}
-
 
195
		$this->envoyerMessagesTesteur();
-
 
196
	}
-
 
197
 
-
 
198
	private function formaterMessageHtml($donnees) {
-
 
199
		$squelette = dirname(__FILE__).DS.'squelettes'.DS.'commentaires.tpl.html';
-
 
200
		$squelettePhp = $this->conteneur->getSquelettePhp();
-
 
201
		$msgHtml = $squelettePhp->analyser($squelette, $donnees);
190
		$this->envoyerMessageTesteur();
202
		return $msgHtml;
Line -... Line 203...
-
 
203
	}
-
 
204
 
-
 
205
	private function formaterMessageTxt($donnees) {
-
 
206
		$squelette = dirname(__FILE__).DS.'squelettes'.DS.'commentaires.tpl.txt';
-
 
207
		$squelettePhp = $this->conteneur->getSquelettePhp();
-
 
208
		$msgTxt = $squelettePhp->analyser($squelette, $donnees);
-
 
209
		return $msgTxt;
191
	}
210
	}
192
 
211
 
193
	private function formaterMessagePourAuteur($liste_obs, $auteur) {
212
	private function formaterDonneesPourMessage($liste_obs, $auteur) {
194
		$donnees = array();
213
		$donnees = array();
195
		// copie de la première obs pour en obtenir le nom et prénom de l'auteur
214
		// copie de la première obs pour en obtenir le nom et prénom de l'auteur
196
		// (en deux fois pour éviter un warning en mode strict)
215
		// (en deux fois pour éviter un warning en mode strict)
197
		$valeurs = array_values($liste_obs);
216
		$valeurs = array_values($liste_obs);
198
		$premiere_obs = array_shift($valeurs);
217
		$premiere_obs = array_shift($valeurs);
199
		$donnees['liste_observations'] = $liste_obs;
218
		$donnees['liste_observations'] = $liste_obs;
Line 200... Line -...
200
		$donnees['auteur'] = $auteur;
-
 
201
		$donnees['auteur_formate'] = ucfirst($premiere_obs['prenom_utilisateur']).' '.ucfirst($premiere_obs['nom_utilisateur']);
-
 
202
 
219
		$donnees['auteur'] = $auteur;
203
		$messageSquelette = dirname(__FILE__).DS.'squelettes'.DS.'commentaires.tpl.html';
220
		$donnees['auteur_formate'] = ucfirst($premiere_obs['prenom_utilisateur']).' '.ucfirst($premiere_obs['nom_utilisateur']);
Line 204... Line 221...
204
		$squelettePhp = $this->conteneur->getSquelettePhp();
221
 
205
		return $squelettePhp->analyser($messageSquelette, $donnees);
222
		return $donnees;
206
	}
223
	}
207
 
-
 
208
	private function envoyerMessage($message, $id_destinataire) {
-
 
209
		$url = sprintf($this->conteneur->getParametre('url_service_messagerie'), $id_destinataire);
224
 
210
		$donnees = array(
225
	private function envoyerMessage($messageHtml, $messageTxt, $id_destinataire) {
-
 
226
		$url = sprintf($this->conteneur->getParametre('url_service_messagerie'), $id_destinataire);
-
 
227
		$donnees = array(
-
 
228
			'utilisateur_courriel' => $this->conteneur->getParametre('adresse_expediteur_recapitulatif'),
211
			'sujet' => $this->conteneur->getParametre('titre_message_recapitulatif'),
229
			'format' => 'html',
Line 212... Line 230...
212
			'message' => $message,
230
			'sujet' => $this->conteneur->getParametre('titre_message_recapitulatif'),
213
			'utilisateur_courriel' => $this->conteneur->getParametre('adresse_expediteur_recapitulatif'),
231
			'message' => $messageHtml,
214
			'format' => 'html'
232
			'message_txt' => $messageTxt
Line 215... Line 233...
215
		);
233
		);
216
 
234
 
217
		$clientRest = $this->conteneur->getRestClient();
-
 
218
		$clientRest->modifier($url, $donnees);
-
 
219
	}
-
 
220
 
235
		$clientRest = $this->conteneur->getRestClient();
221
	private function envoyerMessageRecap() {
-
 
222
		$msgRecap = $this->obtenirMessageRecap();
236
		$clientRest->modifier($url, $donnees);
223
		if ($this->testeurCourriel != null) {
237
	}
224
			$sujet = "IdentiPlante - TEST par {$this->testeurCourriel} : récapitulatif envoies alertes commentaires";
238
 
225
		} else {
239
	private function envoyerMessageRecap() {
Line 226... Line 240...
226
			$sujet = "IdentiPlante : récapitulatif envoies alertes commentaires";
240
		$msgRecap = $this->obtenirMessageRecap();
227
		}
241
		$sujet = "IdentiPlante : récapitulatif envoies alertes commentaires";
228
		$messagerie = $this->conteneur->getMessagerie();
242
		$messagerie = $this->conteneur->getMessagerie();
229
		$destinataire = $this->conteneur->getParametre('email_recap');
243
		$destinataire = $this->conteneur->getParametre('email_recap');
230
		$envoieStatut = $messagerie->envoyerTxt($destinataire, $sujet, $msgRecap);
244
		$messagerie->envoyerTxt($destinataire, $sujet, $msgRecap);
231
	}
245
	}
-
 
246
 
232
 
247
	private function obtenirMessageRecap() {
233
	private function obtenirMessageRecap() {
248
		if ($this->messageRecapitulatif == null) {
234
		if ($this->messageRecapitulatif == null) {
249
			$msgRecap = '';
235
			$msgRecap = '';
250
			$separateur = str_repeat('-', 50);
Line 236... Line 251...
236
			$separateur = str_repeat('-', 50);
251
			$utilisateursIntitules = $this->obtenirInfosUtilisateurs();
-
 
252
			foreach ($this->recapitulatifAdmin as $utilisateurId => $message) {
237
			$utilisateursIntitules = $this->obtenirInfosUtilisateurs();
253
				$messageTxt = $message['txt'];
238
			foreach ($this->recapitulatifAdmin as $utilisateurId => $message) {
254
				$intitule = $utilisateursIntitules[$utilisateurId];
239
				$intitule = $utilisateursIntitules[$utilisateurId];
255
				$msgRecap .= "Message envoyé à : $intitule\n$messageTxt\n$separateur\n";
Line 240... Line 256...
240
				$msgRecap .= "Message envoyé à : $intitule\n$message\n$separateur\n";
256
			}
241
			}
257
			$intituleRecap = implode("\n", $utilisateursIntitules);
242
			$intituleRecap = implode(', ', $utilisateursIntitules);
-
 
243
 
-
 
244
			$this->messageRecapitulatif = "Messages envoyés aux utilisateurs suivant : $intituleRecap\n$msgRecap";
258
 
-
 
259
			$msgTpl = "Messages envoyés aux utilisateurs suivant :\n%s\n%s\n%s";
-
 
260
			$this->messageRecapitulatif = sprintf($msgTpl, $intituleRecap, $separateur, $msgRecap);
-
 
261
		}
245
		}
262
		return $this->messageRecapitulatif;
-
 
263
	}
-
 
264
 
-
 
265
	private function envoyerMessagesTesteur() {
-
 
266
		if ($this->testeurCourriel != null) {
-
 
267
			$messagerie = $this->conteneur->getMessagerie();
-
 
268
 
-
 
269
			$sujet = "TESTEUR : récapitulatif envoies alertes commentaires";
246
		return $this->messageRecapitulatif;
270
			$msgRecap = $this->obtenirMessageRecap();
247
	}
271
			$messagerie->envoyerTxt($this->testeurCourriel, $sujet, $msgRecap);
Line 248... Line 272...
248
 
272
 
249
	private function envoyerMessageTesteur() {
273
			$message = array_shift($this->recapitulatifAdmin);