Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 789 → Rev 790

/trunk/jrest/services/CelSyndicationObservation.php
28,6 → 28,7
private $service = null;
private $squelette = null;
private $squelette_dossier = null;
private $auteurs = array();
private $flux = array();
private $criteres = array(
'utilisateur' => 'identifiant',
444,8 → 445,11
if (is_array($elements)) {
// Prétraitement des données
$donnees = $this->construireDonneesCommunesAuFlux($elements);
foreach ($elements as $element) {
$identifiants[$element['identifiant']] = $element['identifiant'];
}
$this->auteurs = $this->creerAuteurs($identifiants);
foreach ($elements as $element) {
$donnees['items'][] = $this->construireDonneesCommunesAuxItems($element);
}
489,7 → 493,7
$item['categorie'] = $this->creerCategorie($item);
$item['description'] = $this->creerDescription($this->protegerCaracteresHtmlDansChamps($observation), $item);
$item['description_encodee'] = htmlspecialchars($this->creerDescription($observation, $item));
$item['modifier_par'] = $this->creerAuteur($observation['identifiant'], $this->etreFluxAdmin());
$item['modifier_par'] = $this->auteurs[$observation['identifiant']];
return $item;
}
496,7 → 500,7
private function creerTitre($obs) {
$nom_plante = $obs['nom_sel'].' [nn'.$obs['num_nom_sel'].']';
$lieu = $obs['location'].' ('.$obs['id_location'].')';
$utilisateur = $this->creerAuteur($obs['identifiant'], $this->etreFluxAdmin());
$utilisateur = $this->auteurs[$obs['identifiant']];
$titre = "$nom_plante à $lieu par $utilisateur";
$titre = $this->nettoyerTexte($titre);
return $titre;
520,7 → 524,7
$famille = $obs['famille'];
$nom_saisi = $obs['nom_sel'];
$nom_retenu = $obs['nom_ret'];
$auteur = $this->creerAuteur($obs['identifiant'], $this->etreFluxAdmin());
$auteur = $this->auteurs[$obs['identifiant']];
$mots_cles_obs = $this->decoderMotsClesObs($obs['identifiant'], $obs['mots_cles']);
$lien_correction = sprintf($this->config['settings']['phpEditUrlTpl'], $obs['id']);
$lieu = $obs['location'].' ('.$obs['id_location'].') > '.$obs['lieudit'].' > '.$obs['station'];
/trunk/jrest/services/CelSyndicationImage.php
18,6 → 18,7
private $service = null;
private $squelette = null;
private $squelette_dossier = null;
private $auteurs = array();
private $flux = array();
private $format_image = 'XL';
212,8 → 213,11
private function executerService($elements) {
// Prétraitement des données
$donnees = $this->construireDonneesCommunesAuFlux($elements);
foreach ($elements as $element) {
$identifiants[$element['identifiant']] = $element['identifiant'];
}
$this->auteurs = $this->creerAuteurs($identifiants);
foreach ($elements as $element) {
$donnees['items'][] = $this->construireDonneesCommunesAuxItems($element);
}
254,7 → 258,7
$item['categorie'] = $this->creerCategorie($item);
$item['description'] = $this->creerDescription($this->protegerCaracteresHtmlDansChamps($info), $item);
$item['description_encodee'] = htmlspecialchars($this->creerDescription($info, $item));
$item['modifier_par'] = $this->creerAuteur($info['identifiant'], $this->etreFluxAdmin());
$item['modifier_par'] = $this->auteurs[$info['identifiant']];
return $item;
}
340,9 → 344,9
private function creerTitreSimple($element) {
if ($this->etreNull($element['nom_sel']) && $this->etreNull($element['num_nom_sel'])) {
$titre = "Ajout d'une photo par ".$this->creerAuteur($element['ci_ce_utilisateur'], $this->etreFluxAdmin());
$titre = "Ajout d'une photo par ".$this->auteurs[$element['ci_ce_utilisateur']];
} else {
$titre = $element['nom_sel'].' [nn'.$element['num_nom_sel'].'] par '.$this->creerAuteur($element['ci_ce_utilisateur'], $this->etreFluxAdmin());
$titre = $element['nom_sel'].' [nn'.$element['num_nom_sel'].'] par '.$this->auteurs[$element['ci_ce_utilisateur']];
}
return $titre;
}
655,7 → 659,7
}
 
private function creerDescriptionComplet($donnees, $item) {
$auteur = $this->creerAuteur($donnees['ci_ce_utilisateur'], $this->etreFluxAdmin());
$auteur = $this->auteurs[$donnees['ci_ce_utilisateur']];
$id_img = $donnees['ci_id_image'];
$nom_fichier = $donnees['ci_nom_original'];
/trunk/jrest/services/Cel.php
382,6 → 382,27
return $auteur;
}
protected function creerAuteurs(array $courriels, $pourAdmin = false) {
$auteurs = ($pourAdmin) ? $courriels : $this->recupererUtilisateursNomPrenom($courriels);
return $auteurs;
}
protected function recupererUtilisateursNomPrenom(array $courriels) {
// Récupération des données au format Json
$service = "utilisateur/prenom-nom-par-courriel/".implode(',', $courriels);
$url = sprintf($this->config['settings']['baseURLServicesAnnuaireTpl'], $service);
$json = file_get_contents($url);
$utilisateurs = json_decode($json);
foreach ($courriels as $courriel) {
if (isset($utilisateurs->$courriel)) {
$noms[$courriel] = $utilisateurs->$courriel->prenom.' '.$utilisateurs->$courriel->nom;
} else {
$noms[$courriel] = $this->tronquerCourriel($courriel);
}
}
return $noms;
}
protected function tronquerCourriel($courriel) {
$courriel = preg_replace('/[^@]+$/i', '...', $courriel);
return $courriel;