Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1731 → Rev 1732

/branches/v1.2-lithium/scripts/modules/adeterminer/AlerteMailADeterminer.php
23,6 → 23,7
private $observations_concernees = array();
private $messageHtml = null;
private $messageTxt = null;
private $utilisateursInfos = array();
 
public function __construct($conteneur) {
$this->conteneur = $conteneur;
113,15 → 114,16
$lieuInfos = [];
$champsLieu = ['zone_geo', 'lieudit', 'station'];
foreach ($champsLieu as $champ) {
if (trim($obs[$champ]) != '') {
$lieuIntitule = $obs[$champ];
if ($champ == 'zone_geo') {
$codeDept = $this->convertirCodeZoneGeoVersDepartement($obs['ce_zone_geo']);
$lieuIntitule .= empty($codeDept) ? '' : " ($codeDept)";
if (trim($obs[$champ]) == '') {
continue;
}
 
}
$lieuInfos[] = $lieuIntitule;
$lieuIntitule = $obs[$champ];
if ($champ == 'zone_geo') {
$codeDept = $this->convertirCodeZoneGeoVersDepartement($obs['ce_zone_geo']);
$lieuIntitule .= empty($codeDept) ? '' : " ($codeDept)";
}
$lieuInfos[] = $lieuIntitule;
}
$lieu = (count($lieuInfos) > 0) ? implode(' > ', $lieuInfos) : '(lieu inconnu)';
return $lieu;
129,7 → 131,7
 
private function convertirCodeZoneGeoVersDepartement($code_zone_geo) {
$code_departement = '';
if (preg_match('/^INSEE-C:([0-9]){2}[0-9]{3}$/', $code_a_tester, $match)) {
if (preg_match('/^INSEE-C:([0-9]){2}[0-9]{3}$/', $code_zone_geo, $match)) {
$code_departement = $match[1];
}
return $code_departement;
234,22 → 236,11
}
 
private function obtenirInfosUtilisateurs() {
$clientRest = $this->conteneur->getRestClient();
$urlTpl = $this->conteneur->getParametre('url_service_utilisateur');
$utilisateursIntitules = [];
$utilisateurs = $this->obtenirDestinatairesMailsRecapitulatif();
foreach ($utilisateurs as $utilisateurId) {
$url = sprintf($urlTpl, $utilisateurId);
$json = $clientRest->consulter($url);
$infosUtilisateur = json_decode($json);
if (isset($infosUtilisateur->courriel) && isset($infosUtilisateur->intitule)) {
$prenomNom = $infosUtilisateur->nom.' '.$infosUtilisateur->prenom;
$pseudo = $infosUtilisateur->pseudoUtilise ? ' ['.$infosUtilisateur->pseudo.']' : '';
$courriel = $infosUtilisateur->courriel;
$intitule = "$prenomNom $pseudo ($courriel) - id#$utilisateurId";
} else {
$intitule = "Utilisateur avec id $utilisateurId introuvable";
}
$infosUtilisateur = $this->telechargerUtilisateurInfos($utilisateurId);
$intitule = $this->formaterUtilisateurInfos($infosUtilisateur);
$utilisateursIntitules[$utilisateurId] = $intitule;
}
asort($utilisateursIntitules);
256,6 → 247,31
return $utilisateursIntitules;
}
 
private function telechargerUtilisateurInfos($utilisateurId) {
if (! isset($this->utilisateursInfos[$utilisateurId])) {
$urlTpl = $this->conteneur->getParametre('url_service_utilisateur');
$url = sprintf($urlTpl, $utilisateurId);
$clientRest = $this->conteneur->getRestClient();
$json = $clientRest->consulter($url);
$infos = json_decode($json);
$this->utilisateursInfos[$utilisateurId] = is_object($infos) ? $infos : $utilisateurId;
}
return $this->utilisateursInfos[$utilisateurId];
}
 
private function formaterUtilisateurInfos($infos) {
$utilisateurId = is_object($infos) ? $infos->id : $infos;
if (isset($infos->courriel) && isset($infos->intitule)) {
$prenomNom = $infos->nom.' '.$infos->prenom;
$pseudo = $infos->pseudoUtilise ? ' ['.$infos->pseudo.']' : '';
$courriel = $infos->courriel;
$intitule = "$prenomNom $pseudo ($courriel) - id#$utilisateurId";
} else {
$intitule = "Utilisateur avec id $utilisateurId introuvable";
}
return $intitule;
}
 
private function envoyerMessageTesteur() {
if ($this->testeurCourriel != null) {
$messagerie = $this->conteneur->getMessagerie();
/branches/v1.2-lithium/scripts/modules/commentaires/AlerteMailCommentaires.php
22,6 → 22,7
 
private $observations_concernees = array();
private $correspondance_id_obs_auteurs = array();
private $utilisateursInfos = array();
 
public function __construct($conteneur) {
$this->conteneur = $conteneur;
144,7 → 145,7
 
private function convertirCodeZoneGeoVersDepartement($code_zone_geo) {
$code_departement = '';
if (preg_match('/^INSEE-C:([0-9]){2}[0-9]{3}$/', $code_a_tester, $match)) {
if (preg_match('/^INSEE-C:([0-9]){2}[0-9]{3}$/', $code_zone_geo, $match)) {
$code_departement = $match[1];
}
return $code_departement;
197,7 → 198,7
 
protected function envoyerMessageAuxDestinataires() {
foreach ($this->observations_concernees as $auteurId => $liste_obs) {
$donnees = $this->formaterDonneesPourMessage($liste_obs);
$donnees = $this->formaterDonneesPourMessage($auteurId, $liste_obs);
$messageTxt = $this->formaterMessageTxt($donnees);
$messageHtml = $this->formaterMessageHtml($donnees);
$this->recapitulatifAdmin[$auteurId] = array('txt' => $messageTxt, 'html' => $messageHtml);
228,18 → 229,19
return $msgTxt;
}
 
private function formaterDonneesPourMessage($liste_obs) {
private function formaterDonneesPourMessage($auteurId, $liste_obs) {
$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)
$valeurs = array_values($liste_obs);
$premiere_obs = array_shift($valeurs);
$donnees['liste_observations'] = $liste_obs;
$donnees['auteur_formate'] = ucfirst($premiere_obs['prenom_utilisateur']).' '.ucfirst($premiere_obs['nom_utilisateur']);
 
$infosUtilisateur = $this->telechargerUtilisateurInfos($auteurId);
$donnees['auteur_formate'] = $this->formaterAuteur($infosUtilisateur);
return $donnees;
}
 
private function formaterAuteur($infos) {
$auteur = isset($infos->intitule) ? $infos->intitule : '';
return $auteur;
}
 
private function envoyerMessage($messageHtml, $messageTxt, $id_destinataire) {
$url = sprintf($this->conteneur->getParametre('url_service_messagerie'), $id_destinataire);
$donnees = array(
298,25 → 300,39
}
 
private function obtenirInfosUtilisateurs() {
$clientRest = $this->conteneur->getRestClient();
$urlTpl = $this->conteneur->getParametre('url_service_utilisateur');
$idUtilisateurs = array_keys($this->recapitulatifAdmin);
$utilisateursIntitules = [];
foreach ($idUtilisateurs as $utilisateurId) {
$url = sprintf($urlTpl, $utilisateurId);
$json = $clientRest->consulter($url);
$infosUtilisateur = json_decode($json);
if (isset($infosUtilisateur->courriel) && isset($infosUtilisateur->intitule)) {
$prenomNom = $infosUtilisateur->nom.' '.$infosUtilisateur->prenom;
$pseudo = $infosUtilisateur->pseudoUtilise ? ' ['.$infosUtilisateur->pseudo.']' : '';
$courriel = $infosUtilisateur->courriel;
$intitule = "$prenomNom $pseudo ($courriel) - id#$utilisateurId";
} else {
$intitule = "Utilisateur avec id $utilisateurId introuvable";
}
$infosUtilisateur = $this->telechargerUtilisateurInfos($utilisateurId);
$intitule = $this->formaterUtilisateurInfos($infosUtilisateur);
$utilisateursIntitules[$utilisateurId] = $intitule;
}
asort($utilisateursIntitules);
return $utilisateursIntitules;
}
 
private function telechargerUtilisateurInfos($utilisateurId) {
if (! isset($this->utilisateursInfos[$utilisateurId])) {
$urlTpl = $this->conteneur->getParametre('url_service_utilisateur');
$url = sprintf($urlTpl, $utilisateurId);
$clientRest = $this->conteneur->getRestClient();
$json = $clientRest->consulter($url);
$infos = json_decode($json);
$this->utilisateursInfos[$utilisateurId] = is_object($infos) ? $infos : $utilisateurId;
}
return $this->utilisateursInfos[$utilisateurId];
}
 
private function formaterUtilisateurInfos($infos) {
$utilisateurId = is_object($infos) ? $infos->id : $infos;
if (isset($infos->courriel) && isset($infos->intitule)) {
$prenomNom = $infos->nom.' '.$infos->prenom;
$pseudo = $infos->pseudoUtilise ? ' ['.$infos->pseudo.']' : '';
$courriel = $infos->courriel;
$intitule = "$prenomNom $pseudo ($courriel) - id#$utilisateurId";
} else {
$intitule = "Utilisateur avec id $utilisateurId introuvable";
}
return $intitule;
}
}