Subversion Repositories Applications.annuaire

Rev

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

Rev 4 Rev 5
Line 106... Line 106...
106
		$identifiant = $this->proteger($identifiant);
106
		$identifiant = $this->proteger($identifiant);
107
		$donnees = serialize($donnees);
107
		$donnees = serialize($donnees);
108
		$donnees = $this->proteger($donnees);
108
		$donnees = $this->proteger($donnees);
Line 109... Line 109...
109
 
109
 
110
		// FIXME: les accents sautent alors que l'encodage est le bon ! Pourquoi ?
-
 
111
 
110
		// FIXME: les accents sautent alors que l'encodage est le bon ! Pourquoi ?
112
		$requete = 	'INSERT INTO annu_inscription_temp '.
111
		$requete = 	'INSERT INTO annu_inscription_temp '.
113
					'VALUES '.
112
					'VALUES '.
Line 114... Line 113...
114
					'('.$identifiant.','.$donnees.', NOW()) ';
113
					'('.$identifiant.','.$donnees.', NOW()) ';
Line 154... Line 153...
154
					'ait_id = '.$identifiant;
153
					'ait_id = '.$identifiant;
Line 155... Line 154...
155
 
154
 
156
		return $this->requete($requete);
155
		return $this->requete($requete);
Line -... Line 156...
-
 
156
	}
-
 
157
 
-
 
158
	/**
-
 
159
	 * Ajoute les valeurs données dans l'annuaire indiqué
-
 
160
	 * @param int $id_annuaire	l'identifiant de l'annuaire dans lequel on va travailler
-
 
161
	 * @param Array $valeurs_mappees un tableau de valeurs à ajouter
-
 
162
	 * @param string $nom_champs les noms des champs dans lesquels on va ajouter les données
157
	}
163
	 * @return int l'identifiant du nouvel enregistrement
Line 158... Line 164...
158
 
164
	 */
159
	public function ajouterDansAnnuaireMappe($id_annuaire, $valeurs_mappees, $nom_champs) {
165
	public function ajouterDansAnnuaireMappe($id_annuaire, $valeurs_mappees, $nom_champs) {
160
 
166
 
Line 161... Line 167...
161
		$requete_infos_annuaire = 'SELECT * '.
167
		$requete_infos_annuaire = 'SELECT * '.
162
					'FROM  annu_annuaire '.
168
					'FROM  annu_annuaire '.
-
 
169
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
-
 
170
 
-
 
171
		$resultat = $this->requeteUn($requete_infos_annuaire);
163
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
172
		$annuaire = array();
164
 
173
 
165
		$resultat = $this->requeteTous($requete_infos_annuaire);
174
		//en cas d'erreur on renvoie false
Line -... Line 175...
-
 
175
		//TODO: lever une exception
-
 
176
		if(!$resultat) {
166
		$annuaire = array();
177
			return false;
Line 167... Line 178...
167
		foreach ($resultat as $ligne) {
178
		}
168
			$annuaire['informations'] = $ligne;
179
 
Line 169... Line 180...
169
		}
180
		$annuaire = $resultat;
170
 
181
 
171
		$valeurs_prot = array_map(array($this,'proteger'),$valeurs_mappees);
182
		$valeurs_prot = array_map(array($this,'proteger'),$valeurs_mappees);
Line 172... Line 183...
172
 
183
 
Line 183... Line 194...
183
		//TODO: lever une exception
194
		//TODO: lever une exception
184
		if(!$this->requete($requete_insertion_annuaire)) {
195
		if(!$this->requete($requete_insertion_annuaire)) {
185
			return $id_nouvel_enregistrement;
196
			return $id_nouvel_enregistrement;
186
		}
197
		}
Line -... Line 198...
-
 
198
 
-
 
199
		// le mail est censé être unique donc on l'utilise pour faire une selection pour retrouver l'enregistrement
-
 
200
		// (je n'aime pas les requete du style SELECT MAX(id)... qui ne garantissent pas qu'on récupère le bon id
-
 
201
		// si une autre insertion a eu lieu entre temps)
187
 
202
		// TODO: voir si le standard sql propose quelque chose pour ce problème
188
		$requete_nouvel_id = 	'SELECT '.$nom_champs['champ_id'].' '.
203
		$requete_nouvel_id = 	'SELECT '.$nom_champs['champ_id'].' '.
189
								'FROM '.$annuaire['informations']['aa_bdd'].'.'.$annuaire['informations']['aa_table'].' '.
204
								'FROM '.$annuaire['aa_bdd'].'.'.$annuaire['aa_table'].' '.
190
								'WHERE '.
205
								'WHERE '.
Line 191... Line 206...
191
								$nom_champs['champ_mail'].' = '.$this->proteger($valeurs_mappees[$nom_champs['champ_mail']]);
206
								$nom_champs['champ_mail'].' = '.$this->proteger($valeurs_mappees[$nom_champs['champ_mail']]);
Line 201... Line 216...
201
		$id_nouvel_enregistrement = $resultat_nouvel_id[$nom_champs['champ_id']];
216
		$id_nouvel_enregistrement = $resultat_nouvel_id[$nom_champs['champ_id']];
Line 202... Line 217...
202
 
217
 
203
		return $id_nouvel_enregistrement;
218
		return $id_nouvel_enregistrement;
Line -... Line 219...
-
 
219
	}
-
 
220
 
-
 
221
	/**
-
 
222
	 * Récupère les champs demandé dans l'annuaire indiqué
-
 
223
	 * @param int $id_annuaire	l'identifiant de l'annuaire dans lequel on va travailler
-
 
224
	 * @param int $id_utilisateur l'identifiant de l'utilisateur dont on veut les informations
-
 
225
	 * @param Array $champs_mappage les noms des champs que l'on veut récupérer
204
	}
226
	 * @return Array les informations demandées
Line 205... Line 227...
205
 
227
	 */
206
	public function obtenirValeursUtilisateur($id_annuaire, $id_utilisateur,$champs_mappage) {
228
	public function obtenirValeursUtilisateur($id_annuaire, $id_utilisateur,$champs_mappage) {
207
 
229
 
Line 208... Line 230...
208
		$requete_infos_annuaire = 'SELECT * '.
230
		$requete_infos_annuaire = 'SELECT * '.
-
 
231
					'FROM annu_annuaire '.
209
					'FROM annu_annuaire '.
232
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
210
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
233
 
211
 
234
		$resultat_infos_annuaire = $this->requeteUn($requete_infos_annuaire);
212
		$resultat_infos_annuaire = $this->requeteUn($requete_infos_annuaire);
235
 
213
		// en cas d'erreur on renvoie false
236
		// en cas d'erreur on renvoie false