Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1709 Rev 1710
Line 15... Line 15...
15
 
15
 
Line 16... Line 16...
16
class AlerteMailCommentaires {
16
class AlerteMailCommentaires {
17
 
17
 
-
 
18
	private $conteneur;
Line 18... Line 19...
18
	private $conteneur;
19
	private $testeurCourriel = null;
19
	private $testeurCourriel = null;
20
	private $recapitulatifAdmin = [];
Line 20... Line 21...
20
 
21
 
Line 163... Line 164...
163
 
164
 
164
	protected function formaterCommentaires($liste_commentaires) {
165
	protected function formaterCommentaires($liste_commentaires) {
165
		foreach ($liste_commentaires as $commentaire) {
166
		foreach ($liste_commentaires as $commentaire) {
166
			$id_obs = $commentaire['ce_observation'];
167
			$id_obs = $commentaire['ce_observation'];
167
			if (isset($this->correspondance_id_obs_auteurs[$commentaire['ce_observation']])) {
168
			if (isset($this->correspondance_id_obs_auteurs[$commentaire['ce_observation']])) {
168
				$auteur_obs = $this->correspondance_id_obs_auteurs[$commentaire['ce_observation']];
169
				$id_auteur_obs = $this->correspondance_id_obs_auteurs[$commentaire['ce_observation']];
169
				$commentaire['auteur'] = $this->formaterAuteur($commentaire);
170
				$commentaire['auteur'] = $this->formaterAuteur($commentaire);
170
				$this->observations_concernees[$auteur_obs][$id_obs]['commentaires'][] = $commentaire;
171
				$this->observations_concernees[$id_auteur_obs][$id_obs]['commentaires'][] = $commentaire;
171
			}
172
			}
172
		}
173
		}
Line 173... Line 174...
173
	}
174
	}
174
 
175
 
175
	private function formaterAuteur($commentaire) {
176
	private function formaterAuteur($commentaire) {
Line 176... Line 177...
176
		return $commentaire['utilisateur_prenom'].' '.$commentaire['utilisateur_nom'];
177
		return $commentaire['utilisateur_prenom'].' '.$commentaire['utilisateur_nom'];
177
	}
178
	}
178
 
179
 
179
	protected function envoyerMessageAuxDestinataires() {
180
	protected function envoyerMessageAuxDestinataires() {
180
		foreach ($this->observations_concernees as $auteur => $liste_obs) {
181
		foreach ($this->observations_concernees as $auteurId => $liste_obs) {
181
			$message = $this->formaterMessagePourAuteur($liste_obs, $auteur);
-
 
182
			if ($this->testeurCourriel == null) {
-
 
183
				$this->envoyerMessage($message, $auteur);
182
			$message = $this->formaterMessagePourAuteur($liste_obs, $auteurId);
-
 
183
			if ($this->testeurCourriel == null) {
184
			} else {
184
				$this->envoyerMessage($message, $auteurId);
-
 
185
			}
185
				$this->envoyerMessage($message, $this->testeurCourriel);
186
			$this->recapitulatifAdmin[$auteurId] = $message;
Line 186... Line 187...
186
			}
187
		}
187
		}
188
		$this->envoyerMessageTesteur();
188
	}
189
	}
Line 200... Line 201...
200
		$messageSquelette = dirname(__FILE__).DS.'squelettes'.DS.'commentaires.tpl.html';
201
		$messageSquelette = dirname(__FILE__).DS.'squelettes'.DS.'commentaires.tpl.html';
201
		$squelettePhp = $this->conteneur->getSquelettePhp();
202
		$squelettePhp = $this->conteneur->getSquelettePhp();
202
		return $squelettePhp->analyser($messageSquelette, $donnees);
203
		return $squelettePhp->analyser($messageSquelette, $donnees);
203
	}
204
	}
Line 204... Line 205...
204
 
205
 
205
	protected function envoyerMessage($message, $auteur) {
206
	private function envoyerMessage($message, $id_destinataire) {
206
		$url_requete = sprintf($this->conteneur->getParametre('url_service_messagerie'), $auteur);
207
		$url = sprintf($this->conteneur->getParametre('url_service_messagerie'), $id_destinataire);
207
		$post = array(
208
		$donnees = array(
208
			'sujet' => $this->conteneur->getParametre('titre_message_recapitulatif'),
209
			'sujet' => $this->conteneur->getParametre('titre_message_recapitulatif'),
209
			'message' => $message,
210
			'message' => $message,
210
			'utilisateur_courriel' => $this->conteneur->getParametre('adresse_expediteur_recapitulatif'),
211
			'utilisateur_courriel' => $this->conteneur->getParametre('adresse_expediteur_recapitulatif'),
211
			'format' => 'html'
212
			'format' => 'html'
Line 212... Line 213...
212
		);
213
		);
213
 
214
 
-
 
215
		$clientRest = $this->conteneur->getRestClient();
-
 
216
		$clientRest->modifier($url, $donnees);
214
		$ch = curl_init();
217
	}
215
		$options = array(
218
 
-
 
219
	private function envoyerMessageTesteur() {
-
 
220
		if ($this->testeurCourriel != null) {
-
 
221
			$clientRest = $this->conteneur->getRestClient();
216
			CURLOPT_URL => $url_requete,
222
			$urlTpl = $this->conteneur->getParametre('url_service_utilisateur');
-
 
223
 
217
			CURLOPT_HEADER => false,
224
			$msgRecap = '';
-
 
225
			foreach ($this->recapitulatifAdmin as $utilisateurId => $message) {
-
 
226
				$url = sprintf($urlTpl, $utilisateurId);
218
			CURLOPT_POST => 1,
227
				$infosUtilisateur = $clientRest->consulter($url);
-
 
228
				$intitule = $infosUtilisateur['intitule'].' ('.$infosUtilisateur['courriel'].')';
-
 
229
				$separateur = str_repeat('-', 50);
219
			CURLOPT_POSTFIELDS => $post,
230
 
220
			CURLOPT_RETURNTRANSFER => true
231
				$msgRecap += "Message envoyé à : $intitule\n$message\n$separateur\n";
221
		);
232
			}
222
		curl_setopt_array($ch, $options);
-
 
223
		curl_exec($ch);
233
			$this->envoyerMessage($msgRecap, $this->testeurCourriel);
224
		curl_close($ch);
234
		}
225
	}
-
 
226
}
235
	}