Subversion Repositories Applications.annuaire

Rev

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

Rev 488 Rev 519
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 80...
59
	}
80
	}
60
 
81
 
61
 
82
 
62
	/**
83
	/**
63
	 * Permet d'obtenir des infos pour un id utilisateur indiqué dans la ressource.
84
	 * Permet d'obtenir des infos pour un id utilisateur indiqué dans la ressource.
64
	 * RESSOURCE : /utilisateur/#id
85
	 * RESSOURCE : /utilisateur/#id
65
	 * PARAMÊTRES : aucun
86
	 * PARAMÈTRES : aucun
66
	 * RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
87
	 * RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
67
	 *  - id : identifiant numérique de l'utilisateur
88
	 *  - id : identifiant numérique de l'utilisateur
Line 83... Line 104...
83
	}
104
	}
Line 84... Line 105...
84
 
105
 
85
	/**
106
	/**
86
	 * Permet d'obtenir les prénoms et noms des courriels des utilisateurs indiqués dans la ressource.
107
	 * 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,...]
108
	 * RESSOURCE : /utilisateur/prenom-nom-par-courriel/[courriel,courriel,...]
88
	 * PARAMÊTRES : aucun
109
	 * PARAMÈTRES : aucun
89
	 * RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
110
	 * RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
90
	 *  - id : identifiant numérique de l'utilisateur
111
	 *  - id : identifiant numérique de l'utilisateur
91
	 *  - prenom : prénom
112
	 *  - prenom : prénom
92
	 *  - nom : nom de famille.
113
	 *  - nom : nom de famille.
93
	 */
114
	 */
94
	public function getPrenomNomParCourriel() {
115
	public function getPrenomNomParCourriel() {
95
		$courriels = explode(',', $this->ressources[0]);
116
		$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
		}
117
		$infos = $this->getAnnuaire()->obtenirPrenomNomParCourriel($this->idAnnuaire, $courriels);
102
		return $infos;
118
		return $infos;
Line 103... Line 119...
103
	}
119
	}
104
 
120
 
105
	/**
121
	/**
106
	 * Permet d'obtenir les identités des utilisateurs indiqués dans la ressource.
122
	 * Permet d'obtenir les identités des utilisateurs indiqués dans la ressource.
107
	 * RESSOURCE : /utilisateur/identite-par-courriel/[courriel,courriel,...]
123
	 * RESSOURCE : /utilisateur/identite-par-courriel/[courriel,courriel,...]
108
	 * PARAMÊTRES : aucun
124
	 * PARAMÈTRES : aucun
109
	 * RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
125
	 * RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
110
	 *  - id : identifiant numérique de l'utilisateur
126
	 *  - id : identifiant numérique de l'utilisateur
111
	 *  - pseudoUtilise : indique si on doit utiliser le pseudo à la place de Prénom NOM
127
	 *  - pseudoUtilise : indique si on doit utiliser le pseudo à la place de Prénom NOM
Line 125... Line 141...
125
			$infos_utilisateurs[$courriel] = $utilisateur;
141
			$infos_utilisateurs[$courriel] = $utilisateur;
126
		}
142
		}
127
		return $infos_utilisateurs;
143
		return $infos_utilisateurs;
128
	}
144
	}
Line -... Line 145...
-
 
145
 
-
 
146
	/**
-
 
147
	 * Même principe que getIdentiteParCourriel() mais pour un seul courriel, et renvoie plus d'infos :
-
 
148
	 * RESSOURCE : /utilisateur/identite-complete-par-courriel/courriel[/format]
-
 
149
	 * PARAMÈTRES : format : "json" (par défaut) ou "xml" (pour
-
 
150
	 *   rétrocompatibilité avec le service eFlore_chatin/annuaire_tela/xxx/courriel) 
-
 
151
	 * RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
-
 
152
	 * - id : identifiant numérique de l'utilisateur
-
 
153
	 * - pseudoUtilise : indique si on doit utiliser le pseudo à la place de Prénom NOM
-
 
154
	 * - pseudo : pseudo de l'utilisateur.
-
 
155
	 * - prenom : prénom
-
 
156
	 * - nom : nom de famille.
-
 
157
	 * - mot_de_passe : le mot de passe haché (15% de matières grasses, peut contenir des traces de soja)
-
 
158
	 * - fonction
-
 
159
	 * - titre
-
 
160
	 * - site_web
-
 
161
	 * - adresse01
-
 
162
	 * - adresse02
-
 
163
	 * - code_postal
-
 
164
	 * - ville
-
 
165
	 * - departement
-
 
166
	 * - region
-
 
167
	 * - pays
-
 
168
	 * - date_inscription
-
 
169
	 */
-
 
170
	public function getIdentiteCompleteParCourriel() {
-
 
171
		$infos_utilisateurs = array();
-
 
172
		$courriel = $this->ressources[0];
-
 
173
		$utilisateur = $this->getAnnuaire()->obtenirMaximumInfosParCourriel($this->idAnnuaire, $courriel);
-
 
174
 
-
 
175
		$id = $utilisateur['id'];
-
 
176
		$utilisateur['pseudo'] = $this->obtenirPseudo($id);
-
 
177
		$utilisateur['pseudoUtilise'] = $this->obtenirPseudoUtilise($id);
-
 
178
		$utilisateur['intitule'] = $this->formaterIntitule($utilisateur);
-
 
179
 
-
 
180
		// ouksépabo
-
 
181
		$this->baliseMaitresse = "personne";
-
 
182
 
-
 
183
		return $utilisateur;
-
 
184
	}
129
 
185
 
130
	private function getAnnuaire() {
186
	private function getAnnuaire() {
131
		if (!isset($this->annuaireModele)) {
187
		if (!isset($this->annuaireModele)) {
132
			$this->annuaireModele = new AnnuaireModele();
188
			$this->annuaireModele = new AnnuaireModele();
133
		}
189
		}