Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev 139 Rev 387
Line 1... Line 1...
1
<?php
1
<?php
2
class Utilisateurs {
2
class Utilisateurs {
3
	const TPL_URL_WS_ANNUAIRE = 'http://www.tela-botanica.org/service:annuaire:utilisateur/identite-par-courriel/%s';
3
	const TPL_URL_WS_ANNUAIRE = 'http://www.tela-botanica.org/service:annuaire:utilisateur/identite-par-courriel/%s';
Line 4... Line 4...
4
 
4
 
-
 
5
	private $courriels = array();
5
	private $courriels = array();
6
	private $identites = array();
Line 6... Line 7...
6
	private $clientRest = null;
7
	private $clientRest = null;
7
 
8
 
8
	/**
9
	/**
Line 16... Line 17...
16
	}
17
	}
Line 17... Line 18...
17
 
18
 
18
	public function setCourriels($courriels) {
19
	public function setCourriels($courriels) {
19
		$this->courriels = $courriels;
20
		$this->courriels = $courriels;
-
 
21
	}
-
 
22
	/**
-
 
23
	 * Lance l'interrogation du service de l'annuaire.
-
 
24
	 *
-
 
25
	 * @return null.
-
 
26
	 */
-
 
27
	public function chargerIdentites() {
-
 
28
		$this->identites = $this->getIdentites();
Line 20... Line 29...
20
	}
29
	}
21
 
30
 
22
	/**
31
	/**
23
	* Retourne, avoir interrogé un service de l'annuaire, les intitulés correspondant aux
32
	* Retourne après avoir interrogé un service de l'annuaire, les intitulés correspondant aux
24
	* courriels des utilisateurs.
33
	* courriels des utilisateurs.
25
	*
34
	*
26
	* @return mixed tableau avec en clé le courriel et en valeur l'intitulé de la personne à
35
	* @return mixed tableau avec en clé le courriel et en valeur l'intitulé de la personne à
27
	* afficher, false en cas d'erreur ou de résultat vide.
36
	* afficher, false en cas d'erreur ou de résultat vide.
28
	*/
37
	*/
-
 
38
	public function getIntitules() {
29
	public function getIntitules() {
39
		$intitules = false;
30
		$intitules = false;
40
		$this->chargerIdentites();
31
		if ($identites = $this->getIdentites()) {
41
		if ($this->identites) {
32
			$intitules = array();
42
			$intitules = array();
33
			foreach ($identites as $courriel => $infos) {
43
			foreach ($this->identites as $courriel => $infos) {
34
				$intitules[$courriel] = $infos['intitule'];
44
				$intitules[$courriel] = $infos['intitule'];
35
			}
45
			}
36
		}
46
		}
Line -... Line 47...
-
 
47
		return $intitules;
-
 
48
	}
-
 
49
 
-
 
50
	/**
-
 
51
	 * Retourne un intitulé en fonction d'un courriel.
-
 
52
	 *
-
 
53
	 * @return String l'intitulé de l'utilisateur ou une chaine vide en cas de problème.
-
 
54
	 */
-
 
55
	public function getIntitule($courriel) {
-
 
56
		$intitule = '';
-
 
57
		if ($this->contenirCourriel($courriel)) {
-
 
58
			$intitule = $this->identites[$courriel]['intitule'];
-
 
59
		}
-
 
60
		return $intitule;
-
 
61
	}
-
 
62
 
-
 
63
	/**
-
 
64
	 * Retourne l'identifiant de l'utilisateur en fonction d'un courriel.
-
 
65
	 *
-
 
66
	 * @return String l'id de l'utilisateur ou une chaine vide en cas de problème.
-
 
67
	 */
-
 
68
	public function getId($courriel) {
-
 
69
		$id = '';
-
 
70
		if ($this->contenirCourriel($courriel)) {
-
 
71
			$id = $this->identites[$courriel]['id'];
-
 
72
		}
-
 
73
		return $id;
-
 
74
	}
-
 
75
 
-
 
76
	private function contenirCourriel($courriel) {
-
 
77
		$ok = ($this->identites && isset($this->identites[$courriel])) ? true : false;
37
		return $intitules;
78
		return $ok;
38
	}
79
	}
39
 
80
 
40
	private function getIdentites() {
81
	private function getIdentites() {
41
		$utilisateursInfos = $this->consulterServiceAnnuaire();
82
		$utilisateursInfos = $this->consulterServiceAnnuaire();