Subversion Repositories Applications.annuaire

Rev

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

Rev 492 Rev 522
Line 21... Line 21...
21
	private $utilisateurId = null;
21
	private $utilisateurId = null;
22
	private $metadonneeModele = null;
22
	private $metadonneeModele = null;
23
	private $annuaireModele = null;
23
	private $annuaireModele = null;
24
	private $messagerieModele = null;
24
	private $messagerieModele = null;
Line -... Line 25...
-
 
25
 
-
 
26
	const FORMAT_JSON = "json";
-
 
27
	const FORMAT_XML = "xml";
-
 
28
	const FORMAT_LDEHYDE = "méthanal"; // hihi hoho
25
 
29
 
26
	/*+----------------------------------------------------------------------------------------------------+*/
30
	/*+----------------------------------------------------------------------------------------------------+*/
Line 27... Line 31...
27
	// GET : consultation
31
	// GET : consultation
28
 
32
 
Line 45... Line 49...
45
				} else {
49
				} else {
46
					$this->messages[] = "Ce type de ressource '$methode_demande' n'est pas disponible pour la requete GET.";
50
					$this->messages[] = "Ce type de ressource '$methode_demande' n'est pas disponible pour la requete GET.";
47
				}
51
				}
48
			}
52
			}
49
		} else {
53
		} else {
50
			$this->messages[] = "Le premier paramêtre du chemin du service doit correspondre au type de ressource demandée.";
54
			$this->messages[] = "Le premier paramètre du chemin du service doit correspondre au type de ressource demandée.";
-
 
55
		}
-
 
56
 
-
 
57
		// possibilité d'envoyer en plusieurs formats @TODO faire ça plus proprement
-
 
58
		$format = self::FORMAT_JSON;
-
 
59
		$dernierIndex = count($this->ressources) - 1;
-
 
60
		if ($dernierIndex >= 0) {
-
 
61
			$dernierParametre = $this->ressources[$dernierIndex];
-
 
62
			if (in_array($dernierParametre, array(self::FORMAT_JSON, self::FORMAT_XML))) {
-
 
63
				$format = $dernierParametre;
-
 
64
			}
51
		}
65
		}
Line 52... Line 66...
52
 
66
 
-
 
67
		if (!is_null($infos)) {
-
 
68
			switch ($format) {
-
 
69
				case self::FORMAT_XML :
-
 
70
					$this->envoyerXml($infos);
-
 
71
				break;
-
 
72
				case self::FORMAT_JSON :
53
		if (!is_null($infos)) {
73
				default :
-
 
74
					$this->envoyerJson($infos);
54
			$this->envoyerJson($infos);
75
			}
55
		} else {
76
		} else {
56
			$info = 'Un problème est survenu : '.print_r($this->messages, true);
77
			$info = 'Un problème est survenu : '.print_r($this->messages, true);
57
			$this->envoyerTxt($info);
78
			$this->envoyerTxt($info);
58
		}
79
		}
Line 59... Line -...
59
	}
-
 
60
 
80
	}
61
 
81
 
62
	/**
82
	/**
63
	 * Permet d'obtenir des infos pour un id utilisateur indiqué dans la ressource.
83
	 * Permet d'obtenir des infos pour un id utilisateur indiqué dans la ressource.
64
	 * RESSOURCE : /utilisateur/#id
84
	 * RESSOURCE : /utilisateur/#id
65
	 * PARAMÊTRES : aucun
85
	 * PARAMÈTRES : aucun
66
	 * RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
86
	 * RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
67
	 *  - id : identifiant numérique de l'utilisateur
87
	 *  - id : identifiant numérique de l'utilisateur
68
	 *  - pseudoUtilise : indique si on doit utiliser le pseudo à la place de Prénom NOM
88
	 *  - pseudoUtilise : indique si on doit utiliser le pseudo à la place de Prénom NOM
Line 83... Line 103...
83
	}
103
	}
Line 84... Line 104...
84
 
104
 
85
	/**
105
	/**
86
	 * Permet d'obtenir les prénoms et noms des courriels des utilisateurs indiqués dans la ressource.
106
	 * Permet d'obtenir les prénoms et noms des courriels des utilisateurs indiqués dans la ressource.
87
	 * RESSOURCE : /utilisateur/prenom-nom-par-courriel/[courriel,courriel,...]
107
	 * RESSOURCE : /utilisateur/prenom-nom-par-courriel/[courriel,courriel,...]
88
	 * PARAMÊTRES : aucun
108
	 * PARAMÈTRES : aucun
89
	 * RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
109
	 * RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
90
	 *  - id : identifiant numérique de l'utilisateur
110
	 *  - id : identifiant numérique de l'utilisateur
91
	 *  - prenom : prénom
111
	 *  - prenom : prénom
92
	 *  - nom : nom de famille.
112
	 *  - nom : nom de famille.
93
	 */
113
	 */
94
	public function getPrenomNomParCourriel() {
114
	public function getPrenomNomParCourriel() {
95
		$courriels = explode(',', $this->ressources[0]);
115
		$courriels = explode(',', $this->ressources[0]);
96
		$infos = $this->getAnnuaire()->obtenirPrenomNomParCourriel($this->idAnnuaire, $courriels);
-
 
97
		$infous_courriel_minuscule = array();
-
 
98
		foreach ($infos as $courriel => $utilisateur) {
-
 
99
			$courriel = strtolower($courriel);
-
 
100
			$infous_courriel_minuscule[$courriel] = $utilisateur;
-
 
101
		}
116
		$infos = $this->getAnnuaire()->obtenirPrenomNomParCourriel($this->idAnnuaire, $courriels);
102
		return $infos;
117
		return $infos;
Line 103... Line 118...
103
	}
118
	}
104
 
119
 
105
	/**
120
	/**
106
	 * Permet d'obtenir les identités des utilisateurs indiqués dans la ressource.
121
	 * Permet d'obtenir les identités des utilisateurs indiqués dans la ressource.
107
	 * RESSOURCE : /utilisateur/identite-par-courriel/[courriel,courriel,...]
122
	 * RESSOURCE : /utilisateur/identite-par-courriel/[courriel,courriel,...]
108
	 * PARAMÊTRES : aucun
123
	 * PARAMÈTRES : aucun
109
	 * RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
124
	 * RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
110
	 *  - id : identifiant numérique de l'utilisateur
125
	 *  - id : identifiant numérique de l'utilisateur
111
	 *  - pseudoUtilise : indique si on doit utiliser le pseudo à la place de Prénom NOM
126
	 *  - pseudoUtilise : indique si on doit utiliser le pseudo à la place de Prénom NOM
Line 125... Line 140...
125
			$infos_utilisateurs[$courriel] = $utilisateur;
140
			$infos_utilisateurs[$courriel] = $utilisateur;
126
		}
141
		}
127
		return $infos_utilisateurs;
142
		return $infos_utilisateurs;
128
	}
143
	}
Line -... Line 144...
-
 
144
 
-
 
145
	/**
-
 
146
	 * Même principe que getIdentiteParCourriel() mais pour un seul courriel, et renvoie plus d'infos :
-
 
147
	 * RESSOURCE : /utilisateur/identite-complete-par-courriel/courriel[/format]
-
 
148
	 * PARAMÈTRES : format : "json" (par défaut) ou "xml" (pour
-
 
149
	 *   rétrocompatibilité avec le service eFlore_chatin/annuaire_tela/xxx/courriel) 
-
 
150
	 * RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
-
 
151
	 * - id : identifiant numérique de l'utilisateur
-
 
152
	 * - pseudoUtilise : indique si on doit utiliser le pseudo à la place de Prénom NOM
-
 
153
	 * - pseudo : pseudo de l'utilisateur.
-
 
154
	 * - prenom : prénom
-
 
155
	 * - nom : nom de famille.
-
 
156
	 * - mot_de_passe : le mot de passe haché (15% de matières grasses, peut contenir des traces de soja)
-
 
157
	 * - fonction
-
 
158
	 * - titre
-
 
159
	 * - site_web
-
 
160
	 * - adresse01
-
 
161
	 * - adresse02
-
 
162
	 * - code_postal
-
 
163
	 * - ville
-
 
164
	 * - departement
-
 
165
	 * - region
-
 
166
	 * - pays
-
 
167
	 * - date_inscription
-
 
168
	 */
-
 
169
	public function getIdentiteCompleteParCourriel() {
-
 
170
 
-
 
171
		$this->authentificationHttpSimple();
-
 
172
 
-
 
173
		$infos_utilisateurs = array();
-
 
174
		$courriel = $this->ressources[0];
-
 
175
		$utilisateur = $this->getAnnuaire()->obtenirMaximumInfosParCourriel($this->idAnnuaire, $courriel);
-
 
176
 
-
 
177
		$id = $utilisateur['id'];
-
 
178
		$utilisateur['pseudo'] = $this->obtenirPseudo($id);
-
 
179
		$utilisateur['pseudoUtilise'] = $this->obtenirPseudoUtilise($id);
-
 
180
		$utilisateur['intitule'] = $this->formaterIntitule($utilisateur);
-
 
181
 
-
 
182
		// ouksépabo
-
 
183
		$this->baliseMaitresse = "personne";
-
 
184
 
-
 
185
		return $utilisateur;
-
 
186
	}
129
 
187
 
130
	private function getAnnuaire() {
188
	private function getAnnuaire() {
131
		if (!isset($this->annuaireModele)) {
189
		if (!isset($this->annuaireModele)) {
132
			$this->annuaireModele = new AnnuaireModele();
190
			$this->annuaireModele = new AnnuaireModele();
133
		}
191
		}