Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1731 Rev 1732
Line 21... Line 21...
21
	private $messageRecapitulatif = null;
21
	private $messageRecapitulatif = null;
Line 22... Line 22...
22
 
22
 
23
	private $observations_concernees = array();
23
	private $observations_concernees = array();
24
	private $messageHtml = null;
24
	private $messageHtml = null;
-
 
25
	private $messageTxt = null;
Line 25... Line 26...
25
	private $messageTxt = null;
26
	private 	$utilisateursInfos = array();
26
 
27
 
27
	public function __construct($conteneur) {
28
	public function __construct($conteneur) {
Line 111... Line 112...
111
 
112
 
112
	private function formaterLieu($obs) {
113
	private function formaterLieu($obs) {
113
		$lieuInfos = [];
114
		$lieuInfos = [];
114
		$champsLieu = ['zone_geo', 'lieudit', 'station'];
115
		$champsLieu = ['zone_geo', 'lieudit', 'station'];
115
		foreach ($champsLieu as $champ) {
116
		foreach ($champsLieu as $champ) {
116
			if (trim($obs[$champ]) != '') {
117
			if (trim($obs[$champ]) == '') {
117
				$lieuIntitule = $obs[$champ];
118
				continue;
118
				if ($champ == 'zone_geo') {
-
 
119
					$codeDept = $this->convertirCodeZoneGeoVersDepartement($obs['ce_zone_geo']);
-
 
Line 120... Line -...
120
					$lieuIntitule .= empty($codeDept) ? '' : " ($codeDept)";
-
 
121
 
119
			}
-
 
120
 
-
 
121
			$lieuIntitule = $obs[$champ];
-
 
122
			if ($champ == 'zone_geo') {
122
				}
123
				$codeDept = $this->convertirCodeZoneGeoVersDepartement($obs['ce_zone_geo']);
-
 
124
				$lieuIntitule .= empty($codeDept) ? '' : " ($codeDept)";
123
				$lieuInfos[] = $lieuIntitule;
125
			}
124
			}
126
			$lieuInfos[] = $lieuIntitule;
125
		}
127
		}
126
		$lieu = (count($lieuInfos) > 0) ? implode(' > ', $lieuInfos) : '(lieu inconnu)';
128
		$lieu = (count($lieuInfos) > 0) ? implode(' > ', $lieuInfos) : '(lieu inconnu)';
Line 127... Line 129...
127
		return $lieu;
129
		return $lieu;
128
	}
130
	}
129
 
131
 
130
	private function convertirCodeZoneGeoVersDepartement($code_zone_geo) {
132
	private function convertirCodeZoneGeoVersDepartement($code_zone_geo) {
131
		$code_departement = '';
133
		$code_departement = '';
132
		if (preg_match('/^INSEE-C:([0-9]){2}[0-9]{3}$/', $code_a_tester, $match)) {
134
		if (preg_match('/^INSEE-C:([0-9]){2}[0-9]{3}$/', $code_zone_geo, $match)) {
133
			$code_departement = $match[1];
135
			$code_departement = $match[1];
Line 232... Line 234...
232
		}
234
		}
233
		return $this->messageRecapitulatif;
235
		return $this->messageRecapitulatif;
234
	}
236
	}
Line 235... Line 237...
235
 
237
 
236
	private function obtenirInfosUtilisateurs() {
-
 
237
		$clientRest = $this->conteneur->getRestClient();
-
 
238
		$urlTpl = $this->conteneur->getParametre('url_service_utilisateur');
238
	private function obtenirInfosUtilisateurs() {
239
		$utilisateursIntitules = [];
239
		$utilisateursIntitules = [];
240
		$utilisateurs = $this->obtenirDestinatairesMailsRecapitulatif();
240
		$utilisateurs = $this->obtenirDestinatairesMailsRecapitulatif();
241
		foreach ($utilisateurs as $utilisateurId) {
-
 
242
			$url = sprintf($urlTpl, $utilisateurId);
-
 
243
			$json = $clientRest->consulter($url);
-
 
244
			$infosUtilisateur = json_decode($json);
-
 
245
			if (isset($infosUtilisateur->courriel) && isset($infosUtilisateur->intitule)) {
-
 
246
				$prenomNom = $infosUtilisateur->nom.' '.$infosUtilisateur->prenom;
-
 
247
				$pseudo = $infosUtilisateur->pseudoUtilise ? ' ['.$infosUtilisateur->pseudo.']' : '';
-
 
248
				$courriel = $infosUtilisateur->courriel;
241
		foreach ($utilisateurs as $utilisateurId) {
249
				$intitule = "$prenomNom $pseudo ($courriel) - id#$utilisateurId";
-
 
250
			} else {
242
			$infosUtilisateur = $this->telechargerUtilisateurInfos($utilisateurId);
251
				$intitule = "Utilisateur avec id $utilisateurId introuvable";
-
 
252
			}
243
			$intitule = $this->formaterUtilisateurInfos($infosUtilisateur);
253
			$utilisateursIntitules[$utilisateurId] = $intitule;
244
			$utilisateursIntitules[$utilisateurId] = $intitule;
254
		}
245
		}
255
		asort($utilisateursIntitules);
246
		asort($utilisateursIntitules);
256
		return $utilisateursIntitules;
247
		return $utilisateursIntitules;
Line -... Line 248...
-
 
248
	}
-
 
249
 
-
 
250
	private function telechargerUtilisateurInfos($utilisateurId) {
-
 
251
		if (! isset($this->utilisateursInfos[$utilisateurId])) {
-
 
252
			$urlTpl = $this->conteneur->getParametre('url_service_utilisateur');
-
 
253
			$url = sprintf($urlTpl, $utilisateurId);
-
 
254
			$clientRest = $this->conteneur->getRestClient();
-
 
255
			$json = $clientRest->consulter($url);
-
 
256
			$infos = json_decode($json);
-
 
257
			$this->utilisateursInfos[$utilisateurId] = is_object($infos) ? $infos : $utilisateurId;
-
 
258
		}
-
 
259
		return $this->utilisateursInfos[$utilisateurId];
-
 
260
	}
-
 
261
 
-
 
262
	private function formaterUtilisateurInfos($infos) {
-
 
263
		$utilisateurId = is_object($infos) ? $infos->id : $infos;
-
 
264
		if (isset($infos->courriel) && isset($infos->intitule)) {
-
 
265
			$prenomNom = $infos->nom.' '.$infos->prenom;
-
 
266
			$pseudo = $infos->pseudoUtilise ? ' ['.$infos->pseudo.']' : '';
-
 
267
			$courriel = $infos->courriel;
-
 
268
			$intitule = "$prenomNom $pseudo ($courriel) - id#$utilisateurId";
-
 
269
		} else {
-
 
270
			$intitule = "Utilisateur avec id $utilisateurId introuvable";
-
 
271
		}
-
 
272
		return $intitule;
257
	}
273
	}
258
 
274
 
259
	private function envoyerMessageTesteur() {
275
	private function envoyerMessageTesteur() {
Line 260... Line 276...
260
		if ($this->testeurCourriel != null) {
276
		if ($this->testeurCourriel != null) {