| Line 20... |
Line 20... |
| 20 |
private $recapitulatifAdmin = [];
|
20 |
private $recapitulatifAdmin = [];
|
| 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 $correspondance_id_obs_auteurs = array();
|
| Line 24... |
Line 25... |
| 24 |
private $correspondance_id_obs_auteurs = array();
|
25 |
private $utilisateursInfos = array();
|
| 25 |
|
26 |
|
| 26 |
public function __construct($conteneur) {
|
27 |
public function __construct($conteneur) {
|
| Line 142... |
Line 143... |
| 142 |
return $lieu;
|
143 |
return $lieu;
|
| 143 |
}
|
144 |
}
|
| Line 144... |
Line 145... |
| 144 |
|
145 |
|
| 145 |
private function convertirCodeZoneGeoVersDepartement($code_zone_geo) {
|
146 |
private function convertirCodeZoneGeoVersDepartement($code_zone_geo) {
|
| 146 |
$code_departement = '';
|
147 |
$code_departement = '';
|
| 147 |
if (preg_match('/^INSEE-C:([0-9]){2}[0-9]{3}$/', $code_a_tester, $match)) {
|
148 |
if (preg_match('/^INSEE-C:([0-9]){2}[0-9]{3}$/', $code_zone_geo, $match)) {
|
| 148 |
$code_departement = $match[1];
|
149 |
$code_departement = $match[1];
|
| 149 |
}
|
150 |
}
|
| 150 |
return $code_departement;
|
151 |
return $code_departement;
|
| Line 195... |
Line 196... |
| 195 |
return $commentaire['utilisateur_prenom'].' '.$commentaire['utilisateur_nom'];
|
196 |
return $commentaire['utilisateur_prenom'].' '.$commentaire['utilisateur_nom'];
|
| 196 |
}
|
197 |
}
|
| Line 197... |
Line 198... |
| 197 |
|
198 |
|
| 198 |
protected function envoyerMessageAuxDestinataires() {
|
199 |
protected function envoyerMessageAuxDestinataires() {
|
| 199 |
foreach ($this->observations_concernees as $auteurId => $liste_obs) {
|
200 |
foreach ($this->observations_concernees as $auteurId => $liste_obs) {
|
| 200 |
$donnees = $this->formaterDonneesPourMessage($liste_obs);
|
201 |
$donnees = $this->formaterDonneesPourMessage($auteurId, $liste_obs);
|
| 201 |
$messageTxt = $this->formaterMessageTxt($donnees);
|
202 |
$messageTxt = $this->formaterMessageTxt($donnees);
|
| 202 |
$messageHtml = $this->formaterMessageHtml($donnees);
|
203 |
$messageHtml = $this->formaterMessageHtml($donnees);
|
| Line 203... |
Line 204... |
| 203 |
$this->recapitulatifAdmin[$auteurId] = array('txt' => $messageTxt, 'html' => $messageHtml);
|
204 |
$this->recapitulatifAdmin[$auteurId] = array('txt' => $messageTxt, 'html' => $messageHtml);
|
| Line 226... |
Line 227... |
| 226 |
// Nettoyage des tabulations pour indentation du code PHP
|
227 |
// Nettoyage des tabulations pour indentation du code PHP
|
| 227 |
$msgTxt = str_replace("\t", '', $msgTxt);
|
228 |
$msgTxt = str_replace("\t", '', $msgTxt);
|
| 228 |
return $msgTxt;
|
229 |
return $msgTxt;
|
| 229 |
}
|
230 |
}
|
| Line 230... |
Line 231... |
| 230 |
|
231 |
|
| 231 |
private function formaterDonneesPourMessage($liste_obs) {
|
232 |
private function formaterDonneesPourMessage($auteurId, $liste_obs) {
|
| 232 |
$donnees = array();
|
- |
|
| 233 |
// copie de la première obs pour en obtenir le nom et prénom de l'auteur
|
- |
|
| 234 |
// (en deux fois pour éviter un warning en mode strict)
|
- |
|
| 235 |
$valeurs = array_values($liste_obs);
|
- |
|
| 236 |
$premiere_obs = array_shift($valeurs);
|
233 |
$donnees = array();
|
| - |
|
234 |
$donnees['liste_observations'] = $liste_obs;
|
| 237 |
$donnees['liste_observations'] = $liste_obs;
|
235 |
$infosUtilisateur = $this->telechargerUtilisateurInfos($auteurId);
|
| 238 |
$donnees['auteur_formate'] = ucfirst($premiere_obs['prenom_utilisateur']).' '.ucfirst($premiere_obs['nom_utilisateur']);
|
- |
|
| 239 |
|
236 |
$donnees['auteur_formate'] = $this->formaterAuteur($infosUtilisateur);
|
| 240 |
return $donnees;
|
237 |
return $donnees;
|
| Line -... |
Line 238... |
| - |
|
238 |
}
|
| - |
|
239 |
|
| - |
|
240 |
private function formaterAuteur($infos) {
|
| - |
|
241 |
$auteur = isset($infos->intitule) ? $infos->intitule : '';
|
| - |
|
242 |
return $auteur;
|
| 241 |
}
|
243 |
}
|
| 242 |
|
244 |
|
| 243 |
private function envoyerMessage($messageHtml, $messageTxt, $id_destinataire) {
|
245 |
private function envoyerMessage($messageHtml, $messageTxt, $id_destinataire) {
|
| 244 |
$url = sprintf($this->conteneur->getParametre('url_service_messagerie'), $id_destinataire);
|
246 |
$url = sprintf($this->conteneur->getParametre('url_service_messagerie'), $id_destinataire);
|
| 245 |
$donnees = array(
|
247 |
$donnees = array(
|
| Line 296... |
Line 298... |
| 296 |
$messagerie->envoyerTxt($this->testeurCourriel, $sujet, $message['txt']);
|
298 |
$messagerie->envoyerTxt($this->testeurCourriel, $sujet, $message['txt']);
|
| 297 |
}
|
299 |
}
|
| 298 |
}
|
300 |
}
|
| Line 299... |
Line 301... |
| 299 |
|
301 |
|
| 300 |
private function obtenirInfosUtilisateurs() {
|
- |
|
| 301 |
$clientRest = $this->conteneur->getRestClient();
|
- |
|
| 302 |
$urlTpl = $this->conteneur->getParametre('url_service_utilisateur');
|
302 |
private function obtenirInfosUtilisateurs() {
|
| 303 |
$idUtilisateurs = array_keys($this->recapitulatifAdmin);
|
303 |
$idUtilisateurs = array_keys($this->recapitulatifAdmin);
|
| 304 |
$utilisateursIntitules = [];
|
304 |
$utilisateursIntitules = [];
|
| 305 |
foreach ($idUtilisateurs as $utilisateurId) {
|
- |
|
| 306 |
$url = sprintf($urlTpl, $utilisateurId);
|
- |
|
| 307 |
$json = $clientRest->consulter($url);
|
- |
|
| 308 |
$infosUtilisateur = json_decode($json);
|
- |
|
| 309 |
if (isset($infosUtilisateur->courriel) && isset($infosUtilisateur->intitule)) {
|
- |
|
| 310 |
$prenomNom = $infosUtilisateur->nom.' '.$infosUtilisateur->prenom;
|
- |
|
| 311 |
$pseudo = $infosUtilisateur->pseudoUtilise ? ' ['.$infosUtilisateur->pseudo.']' : '';
|
- |
|
| 312 |
$courriel = $infosUtilisateur->courriel;
|
305 |
foreach ($idUtilisateurs as $utilisateurId) {
|
| 313 |
$intitule = "$prenomNom $pseudo ($courriel) - id#$utilisateurId";
|
- |
|
| 314 |
} else {
|
306 |
$infosUtilisateur = $this->telechargerUtilisateurInfos($utilisateurId);
|
| 315 |
$intitule = "Utilisateur avec id $utilisateurId introuvable";
|
- |
|
| 316 |
}
|
307 |
$intitule = $this->formaterUtilisateurInfos($infosUtilisateur);
|
| 317 |
$utilisateursIntitules[$utilisateurId] = $intitule;
|
308 |
$utilisateursIntitules[$utilisateurId] = $intitule;
|
| 318 |
}
|
309 |
}
|
| 319 |
asort($utilisateursIntitules);
|
310 |
asort($utilisateursIntitules);
|
| 320 |
return $utilisateursIntitules;
|
311 |
return $utilisateursIntitules;
|
| - |
|
312 |
}
|
| - |
|
313 |
|
| - |
|
314 |
private function telechargerUtilisateurInfos($utilisateurId) {
|
| - |
|
315 |
if (! isset($this->utilisateursInfos[$utilisateurId])) {
|
| - |
|
316 |
$urlTpl = $this->conteneur->getParametre('url_service_utilisateur');
|
| - |
|
317 |
$url = sprintf($urlTpl, $utilisateurId);
|
| - |
|
318 |
$clientRest = $this->conteneur->getRestClient();
|
| - |
|
319 |
$json = $clientRest->consulter($url);
|
| - |
|
320 |
$infos = json_decode($json);
|
| - |
|
321 |
$this->utilisateursInfos[$utilisateurId] = is_object($infos) ? $infos : $utilisateurId;
|
| - |
|
322 |
}
|
| - |
|
323 |
return $this->utilisateursInfos[$utilisateurId];
|
| - |
|
324 |
}
|
| - |
|
325 |
|
| - |
|
326 |
private function formaterUtilisateurInfos($infos) {
|
| - |
|
327 |
$utilisateurId = is_object($infos) ? $infos->id : $infos;
|
| - |
|
328 |
if (isset($infos->courriel) && isset($infos->intitule)) {
|
| - |
|
329 |
$prenomNom = $infos->nom.' '.$infos->prenom;
|
| - |
|
330 |
$pseudo = $infos->pseudoUtilise ? ' ['.$infos->pseudo.']' : '';
|
| - |
|
331 |
$courriel = $infos->courriel;
|
| - |
|
332 |
$intitule = "$prenomNom $pseudo ($courriel) - id#$utilisateurId";
|
| - |
|
333 |
} else {
|
| - |
|
334 |
$intitule = "Utilisateur avec id $utilisateurId introuvable";
|
| - |
|
335 |
}
|
| - |
|
336 |
return $intitule;
|
| 321 |
}
|
337 |
}
|
| 322 |
}
|
338 |
}
|