Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 844 → Rev 845

/trunk/services/bibliotheque/Utilisateurs.php
19,13 → 19,13
public function setCourriels($courriels) {
$this->courriels = $courriels;
}
/**
* Lance l'interrogation du service de l'annuaire.
*
* @return null.
*/
/**
* Lance l'interrogation du service de l'annuaire.
*
* @return null.
*/
public function chargerIdentites() {
$this->identites = $this->getIdentites();
$this->identites = $this->getIdentites($this->courriels);
}
 
/**
36,70 → 36,61
* afficher, false en cas d'erreur ou de résultat vide.
*/
public function getIntitules() {
$intitules = false;
$this->chargerIdentites();
if ($this->identites) {
$intitules = array();
foreach ($this->identites as $courriel => $infos) {
$intitules[$courriel] = $infos['intitule'];
}
if (! $this->identites) return false;
 
$intitules = array();
foreach ($this->identites as $courriel => $infos) {
$intitules[$courriel] = $infos['intitule'];
}
return $intitules;
}
 
/**
* Retourne un intitulé en fonction d'un courriel.
*
* @return String l'intitulé de l'utilisateur ou une chaine vide en cas de problème.
*/
public function getIntitule($courriel) {
$intitule = '';
if ($this->contenirCourriel($courriel)) {
$intitule = $this->identites[$courriel]['intitule'];
}
return $intitule;
/**
* Retourne un intitulé en fonction d'un courriel.
*
* @return String l'intitulé de l'utilisateur ou une chaine vide en cas de problème.
*/
public function getIntitule($courriel) {
if ($this->contenirCourriel($courriel)) {
return $this->identites[$courriel]['intitule'];
}
return '';
}
 
/**
* Retourne l'identifiant de l'utilisateur en fonction d'un courriel.
*
* @return String l'id de l'utilisateur ou une chaine vide en cas de problème.
*/
public function getId($courriel) {
$id = '';
if ($this->contenirCourriel($courriel)) {
$id = $this->identites[$courriel]['id'];
}
return $id;
/**
* Retourne l'identifiant de l'utilisateur en fonction d'un courriel.
*
* @return String l'id de l'utilisateur ou une chaine vide en cas de problème.
*/
public function getId($courriel) {
if ($this->contenirCourriel($courriel)) {
return $this->identites[$courriel]['id'];
}
return '';
}
 
private function contenirCourriel($courriel) {
$ok = ($this->identites && isset($this->identites[$courriel])) ? true : false;
return $ok;
return ($this->identites && isset($this->identites[$courriel])) ? true : false;
}
 
private function getIdentites() {
$utilisateursInfos = $this->consulterServiceAnnuaire();
$identites = $this->extraireIdentites($utilisateursInfos);
return $identites;
private function getIdentites($courriels) {
// consulterServiceAnnuaire
$utilisateursInfos = json_decode($this->clientRest->consulter(sprintf(self::TPL_URL_WS_ANNUAIRE,
implode(',', $courriels))),
true);
return self::extraireIdentites($utilisateursInfos, $this->courriels);
}
 
private function consulterServiceAnnuaire() {
$url = sprintf(self::TPL_URL_WS_ANNUAIRE, implode(',', $this->courriels));
$json = $this->clientRest->consulter($url);
$utilisateurs = json_decode($json, true);
return $utilisateurs;
}
 
private function extraireIdentites($utilisateursInfos) {
static function extraireIdentites($utilisateursInfos, $courriels) {
$identites = array();
foreach ($this->courriels as $courriel) {
foreach ($courriels as $courriel) {
$info = array('id' => null, 'intitule' => '');
if (isset($utilisateursInfos[$courriel])) {
$info['intitule'] = $utilisateursInfos[$courriel]['intitule'];
$info['id'] = $utilisateursInfos[$courriel]['id'];
} else {
$info['intitule'] = $this->tronquerCourriel($courriel);
$info['intitule'] = self::tronquerCourriel($courriel);
}
$identites[$courriel] = $info;
}
106,9 → 97,8
return $identites;
}
 
private function tronquerCourriel($courriel) {
$courriel = str_replace(substr($courriel, strpos($courriel, '@')), '@...', $courriel);
return $courriel;
static function tronquerCourriel($courriel) {
return str_replace(substr($courriel, strpos($courriel, '@')), '@...', $courriel);
}
}
?>