Subversion Repositories Applications.annuaire

Rev

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

Rev 414 Rev 431
Line 140... Line 140...
140
			// le tableau des champs carto se présente sous la forme type de champ => [0] nom_champ_annuaire [1] nomù champ metadonnées
140
			// le tableau des champs carto se présente sous la forme type de champ => [0] nom_champ_annuaire [1] nomù champ metadonnées
141
			$tableau_carto[$champ['at_action']][0] = $champ['at_ressource'];
141
			$tableau_carto[$champ['at_action']][0] = $champ['at_ressource'];
142
			$tableau_carto[$champ['at_action']][1] = $champ['at_valeur'];
142
			$tableau_carto[$champ['at_action']][1] = $champ['at_valeur'];
143
		}
143
		}
Line 144... Line -...
144
 
-
 
-
 
144
 
145
		// TODO faire une interface de gestion des champs de mappage
145
		
146
		return $tableau_carto ;
146
		return $tableau_carto ;
Line 147... Line 147...
147
	}
147
	}
148
 
148
 
Line 164... Line 164...
164
			trigger_error('impossible de récupérer le champ avatar de l\'annuaire '.$id_annuaire);
164
			trigger_error('impossible de récupérer le champ avatar de l\'annuaire '.$id_annuaire);
165
		}
165
		}
Line 166... Line 166...
166
 
166
 
Line 167... Line -...
167
		$champ_avatar = $resultat_champs_avatar['at_valeur'];
-
 
-
 
167
		$champ_avatar = $resultat_champs_avatar['at_valeur'];
168
 
168
 
169
		// TODO faire une interface de gestion des champs de mappage
169
		
Line 170... Line 170...
170
		return $champ_avatar ;
170
		return $champ_avatar ;
171
	}
171
	}
Line 184... Line 184...
184
		$champs_date_validite = array();
184
		$champs_date_validite = array();
185
		foreach ($resultat_champs_date_validite as $champ) {
185
		foreach ($resultat_champs_date_validite as $champ) {
186
     		$resultat_champs_date_validite[$champ['at_action']] = $champ['at_ressource'];
186
     		$resultat_champs_date_validite[$champ['at_action']] = $champ['at_ressource'];
187
		}
187
		}
Line 188... Line -...
188
 
-
 
-
 
188
 
189
		// TODO faire une interface de gestion des champs de mappage
189
		
190
		return $resultat_champs_date_validite ;
190
		return $resultat_champs_date_validite ;
Line 191... Line 191...
191
	}
191
	}
192
 
192
 
Line 214... Line 214...
214
			$tableau_mappage[1][$champ['at_action']] = $champ['at_valeur'];
214
			$tableau_mappage[1][$champ['at_action']] = $champ['at_valeur'];
215
		}
215
		}
Line 216... Line 216...
216
 
216
 
217
		return $tableau_mappage ;
217
		return $tableau_mappage ;
218
	}
218
	}
219
 
219
	
220
	/** Charge le nombre d'inscrits d'une table annuaire mappée
220
	/** Charge le nombre d'inscrits d'une table annuaire mappée
221
	 * @param int $identifiant l'identifiant de l'annuaire mappé
221
	 * @param int $identifiant l'identifiant de l'annuaire mappé
222
	 */
222
	 */
223
	public function chargerNombreAnnuaireListeInscrits($identifiant) {
223
	public function chargerNombreAnnuaireListeInscrits($identifiant) {
224
 
224
		
225
			$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
225
			$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
226
					'FROM  annu_annuaire '.
226
					'FROM  annu_annuaire '.
227
					'WHERE aa_id_annuaire = '.$identifiant.' ';
227
					'WHERE aa_id_annuaire = '.$identifiant.' ';
Line 228... Line 228...
228
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
228
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
229
 
229
 
230
		if(!$resultat_informations_annuaire) {
230
		if(!$resultat_informations_annuaire) {
231
			trigger_error('impossible de récupérer les informations de la table '.$identifiant);
231
			trigger_error('impossible de récupérer les informations de la table '.$identifiant);
232
		}
232
		}
233
 
233
		
234
		$requete_nombre_inscrits = 'SELECT COUNT(*) as nb '.
234
		$requete_nombre_inscrits = 'SELECT COUNT(*) as nb '.
235
									'FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
235
									'FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
236
 
236
		
237
		// Récupération des résultats
237
		// Récupération des résultats
238
		try {
238
		try {
239
			$resultat_nb_inscrits = $this->requeteUn($requete_nombre_inscrits);
239
			$resultat_nb_inscrits = $this->requeteUn($requete_nombre_inscrits);
Line 243... Line 243...
243
				$nb_inscrits = $resultat_nb_inscrits['nb'];
243
				$nb_inscrits = $resultat_nb_inscrits['nb'];
244
			}
244
			}
245
		} catch (Exception $e) {
245
		} catch (Exception $e) {
246
			$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
246
			$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
247
		}
247
		}
248
 
248
		
249
		return $nb_inscrits;
249
		return $nb_inscrits; 
250
	}
250
	}
Line 251... Line 251...
251
 
251
 
252
	/** Charge le nombre d'inscrits d'une table annuaire mappée en les groupant par départements
252
	/** Charge le nombre d'inscrits d'une table annuaire mappée en les groupant par départements
253
	 * @param int $identifiant l'identifiant de l'annuaire mappé
253
	 * @param int $identifiant l'identifiant de l'annuaire mappé
Line 306... Line 306...
306
	 * @param array $id_recherchees un tableau contenant les codes de pays à rechercher
306
	 * @param array $id_recherchees un tableau contenant les codes de pays à rechercher
307
	 * @return array un tableau indexé par les numéros de pays contenant le nombre d'inscrits à chacun
307
	 * @return array un tableau indexé par les numéros de pays contenant le nombre d'inscrits à chacun
308
	 *
308
	 *
309
	 */
309
	 */
310
	public function chargerNombreAnnuaireListeInscritsParPays($id_annuaire, $ids_recherchees) {
310
	public function chargerNombreAnnuaireListeInscritsParPays($id_annuaire, $ids_recherchees) {
311
 
311
		
312
		$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
312
		$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
313
					'FROM  annu_annuaire '.
313
					'FROM  annu_annuaire '.
314
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
314
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
315
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
315
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
Line 350... Line 350...
350
			trigger_error('impossible de récupérer le nombre d\'inscrits de la table '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table']);
350
			trigger_error('impossible de récupérer le nombre d\'inscrits de la table '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table']);
351
		}
351
		}
Line 352... Line 352...
352
 
352
 
353
		return $resultat_nombre_inscrits;
353
		return $resultat_nombre_inscrits;
354
	}
354
	}
355
 
355
	
356
	private function formaterAbreviationPaysPourRecherche($chaine) {
356
	private function formaterAbreviationPaysPourRecherche($chaine) {
357
		return $this->proteger(strtoupper($chaine));
357
		return $this->proteger(strtoupper($chaine));
358
	}
358
	}
359
 
359
	
360
	/**
360
	/**
361
	 * Recherche selon une valeur d'un champ qui peut être une valeur approximative (avec des %) dans un champ d'annuaire donné
361
	 * Recherche selon une valeur d'un champ qui peut être une valeur approximative (avec des %) dans un champ d'annuaire donné
362
	 * @param int $id_annuaire l'identifiant de l'annuaire
362
	 * @param int $id_annuaire l'identifiant de l'annuaire
363
	 * @param string $champ_critere le champ qui servira de filtre
363
	 * @param string $champ_critere le champ qui servira de filtre
Line 370... Line 370...
370
		$sep = '';
370
		$sep = '';
Line 371... Line 371...
371
 
371
 
372
		if($modele) {
372
		if($modele) {
373
			$sep = '%';
373
			$sep = '%';
374
		}
374
		}
375
 
375
		
376
		foreach($criteres as $champ => $valeur) {
376
		foreach($criteres as $champ => $valeur) {
377
			$criteres[$champ] = $valeur.$sep;
377
			$criteres[$champ] = $valeur.$sep;	
Line 378... Line 378...
378
		}
378
		}
379
 
379
 
Line 393... Line 393...
393
		$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
393
		$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
394
					'FROM  annu_annuaire '.
394
					'FROM  annu_annuaire '.
395
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
395
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
Line 396... Line 396...
396
 
396
 
397
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
397
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
398
 
398
				
399
		$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
399
		$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
400
 
400
		
Line 401... Line 401...
401
		$requete_nb_inscrits = 'SELECT COUNT( * ) as nb '.' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
401
		$requete_nb_inscrits = 'SELECT COUNT( * ) as nb '.' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
Line 402... Line 402...
402
 
402
 
403
		$resultat_nb_inscrits = $this->requeteUn($requete_nb_inscrits);
403
		$resultat_nb_inscrits = $this->requeteUn($requete_nb_inscrits);
404
 
404
 
405
		$nb_inscrits = 0;
405
		$nb_inscrits = 0;
Line 406... Line 406...
406
		if($resultat_nb_inscrits) {
406
		if($resultat_nb_inscrits) {
407
			$nb_inscrits = $resultat_nb_inscrits['nb'];
407
			$nb_inscrits = $resultat_nb_inscrits['nb'];
408
		}
408
		}
409
 
409
 
410
		$requete_recherche_inscrits = 'SELECT '.$champs_mappage[0]['champ_id'].' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
410
		$requete_recherche_inscrits = 'SELECT '.$champs_mappage[0]['champ_id'].' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
Line 411... Line 411...
411
 
411
		
Line 749... Line 749...
749
		} else {
749
		} else {
750
			return $resultat_selection_utilisateur[$champs_mappage['champ_id']];
750
			return $resultat_selection_utilisateur[$champs_mappage['champ_id']];
751
		}
751
		}
Line 752... Line 752...
752
 
752
 
753
	}
753
	}
754
 
754
	
755
	/**
755
	/**
756
	 * Renvoie le nom et prénom associé au mail d'un utilisateur dans un annuaire donné
756
	 * Renvoie le nom et prénom associé au mail d'un utilisateur dans un annuaire donné
757
	 * @param int $id_annuair l'identifiant de l'annuaire
757
	 * @param int $id_annuair l'identifiant de l'annuaire
758
	 * @param array $courriels un tableau de courriel d'utilisateur
758
	 * @param array $courriels un tableau de courriel d'utilisateur
Line 764... Line 764...
764
		$mappage = $mappage[0];
764
		$mappage = $mappage[0];
Line 765... Line 765...
765
 
765
 
766
		$requete = 	'SELECT * '.
766
		$requete = 	'SELECT * '.
767
					'FROM annu_annuaire '.
767
					'FROM annu_annuaire '.
-
 
768
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
768
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
769
 
769
		$annuaire = $this->requeteUn($requete);
770
		$annuaire = $this->requeteUn($requete);
770
		if (!$annuaire) {
771
		if (!$annuaire) {
771
			return false;
772
			return false;
772
		}
773
		}
773
 
774
		
774
		foreach ($courriels as $id => $courriel) {
775
		foreach ($courriels as $id => $courriel) {
775
			$courriels[$id] = $this->proteger($courriel);
776
			$courriels[$id] = $this->proteger($courriel);
776
		}
777
		}
777
 
778
		
778
		$requete = 	'SELECT '.$mappage['champ_id'].', '.$mappage['champ_mail'].', '.$mappage['champ_prenom'].', '.$mappage['champ_nom'].' '.
779
		$requete = 	'SELECT '.$mappage['champ_id'].', '.$mappage['champ_mail'].', '.$mappage['champ_prenom'].', '.$mappage['champ_nom'].' '.
779
					'FROM '.$annuaire['aa_bdd'].'.'.$annuaire['aa_table'].' '.
780
					'FROM '.$annuaire['aa_bdd'].'.'.$annuaire['aa_table'].' '.
780
					'WHERE '.$mappage['champ_mail'].' IN ('.implode(',', $courriels).')';
781
					'WHERE '.$mappage['champ_mail'].' IN ('.implode(',', $courriels).')';
Line 786... Line 787...
786
			$infos = array();
787
			$infos = array();
787
			foreach ($resultats as $resultat) {
788
			foreach ($resultats as $resultat) {
788
				$id = $resultat[$mappage['champ_id']];
789
				$id = $resultat[$mappage['champ_id']];
789
				$prenom = AppControleur::formaterMotPremiereLettreChaqueMotEnMajuscule($resultat[$mappage['champ_prenom']]);
790
				$prenom = AppControleur::formaterMotPremiereLettreChaqueMotEnMajuscule($resultat[$mappage['champ_prenom']]);
790
				$nom = AppControleur::formaterMotEnMajuscule($resultat[$mappage['champ_nom']]);
791
				$nom = AppControleur::formaterMotEnMajuscule($resultat[$mappage['champ_nom']]);
791
 
792
				
792
				$infos[$resultat[$mappage['champ_mail']]] = array('id' => $id, 'prenom' => $prenom, 'nom' => $nom);
793
				$infos[$resultat[$mappage['champ_mail']]] = array('id' => $id, 'prenom' => $prenom, 'nom' => $nom);
793
			}
794
			}
794
			return $infos;
795
			return $infos;
795
		}
796
		}
Line 912... Line 913...
912
			return false;
913
			return false;
913
		} else {
914
		} else {
914
			return $resultat_selection_utilisateur;
915
			return $resultat_selection_utilisateur;
915
		}
916
		}
916
	}
917
	}
917
 
918
	
918
	/**
919
/**
919
	 * Récupère les valeurs utilisateur dans l'annuaire indiqué en les ordonnant par le champ demandé
920
	 * Récupère les valeurs utilisateur dans l'annuaire indiqué en les ordonnant par le champ demandé
920
	 * @param int $id_annuaire	l'identifiant de l'annuaire dans lequel on va travailler
921
	 * @param int $id_annuaire	l'identifiant de l'annuaire dans lequel on va travailler
921
	 * @param Array $champs_mappage les noms des champs que l'on veut récupérer
922
	 * @param Array $champs_mappage les noms des champs que l'on veut récupérer
922
	 * @param string order_by le champ par lequel on ordonne les résultats
923
	 * @param string order_by le champ par lequel on ordonne les résultats
923
	 * @param limit la limite au nombre de résultats
924
	 * @param limit la limite au nombre de résultats
Line 940... Line 941...
940
		$champ_order_by = $champs_mappage[$order_by];
941
		$champ_order_by = $champs_mappage[$order_by];
Line 941... Line 942...
941
 
942
 
942
		$requete_selection_utilisateur = 'SELECT '.$champs_mappage['champ_id'].' '.
943
		$requete_selection_utilisateur = 'SELECT '.$champs_mappage['champ_id'].' '.
943
										 'FROM '.$resultat_infos_annuaire['aa_bdd'].'.'.$resultat_infos_annuaire['aa_table'].' '.
944
										 'FROM '.$resultat_infos_annuaire['aa_bdd'].'.'.$resultat_infos_annuaire['aa_table'].' '.
944
										 'ORDER BY '.$champ_order_by.' '.$dir.' LIMIT '.$limit;
945
										 'ORDER BY '.$champ_order_by.' '.$dir.' LIMIT '.$limit;
945
 
946
		
Line 946... Line 947...
946
		$resultat_selection_utilisateur = $this->requeteTous($requete_selection_utilisateur);
947
		$resultat_selection_utilisateur = $this->requeteTous($requete_selection_utilisateur);
947
 
948
 
948
 
949
 
949
 
950
 
950
		if(!$resultat_selection_utilisateur) {
951
		if(!$resultat_selection_utilisateur) {
951
			return false;
952
			return false;
952
		} else {
953
		} else {
953
			return $resultat_selection_utilisateur;
954
			return $resultat_selection_utilisateur;
954
		}
955
		}
955
	}
956
	}
Line 956... Line 957...
956
 
957
	
957
	public function obtenirNombreInscriptionsDansIntervalleDate($id_annuaire, $date_debut, $date_fin) {
958
	public function obtenirNombreInscriptionsDansIntervalleDate($id_annuaire, $date_debut, $date_fin) {
958
 
959
		
Line 972... Line 973...
972
 
973
 
973
		//$supprimer_donnes = false;
974
		//$supprimer_donnes = false;
Line 974... Line 975...
974
		$valeurs_mappees = array();
975
		$valeurs_mappees = array();
975
 
976
 
976
		$champs_date = $this->obtenirChampDateEtValidite($id_annuaire);
977
		$champs_date = $this->obtenirChampDateEtValidite($id_annuaire);
977
 
978
		
978
		$date_inscription = $champs_date['champ_date_inscription'];
979
		$date_inscription = $champs_date['champ_date_inscription'];
979
 
980
		
980
		$requete_nb_inscrits_intervalle = 'SELECT COUNT(*) as nb '.
981
		$requete_nb_inscrits_intervalle = 'SELECT COUNT(*) as nb '.
981
						'FROM '.$resultat_infos_annuaire['aa_bdd'].'.'.$resultat_infos_annuaire['aa_table'].' '.
982
						'FROM '.$resultat_infos_annuaire['aa_bdd'].'.'.$resultat_infos_annuaire['aa_table'].' '.
982
						'WHERE '.$date_inscription.' >= "'.date('Y-m-d H:i:s', $date_debut).'" '.
983
						'WHERE '.$date_inscription.' >= "'.date('Y-m-d H:i:s', $date_debut).'" '.
983
						'AND '.$date_inscription.' < "'.date('Y-m-d H:i:s', $date_fin).'" ';
984
						'AND '.$date_inscription.' < "'.date('Y-m-d H:i:s', $date_fin).'" ';
984
 
985
		
985
		$resultat_nb_inscrits_intervalle = $this->requeteUn($requete_nb_inscrits_intervalle);
986
		$resultat_nb_inscrits_intervalle = $this->requeteUn($requete_nb_inscrits_intervalle);
986
 
987
		
987
		if(!$resultat_nb_inscrits_intervalle) {
988
		if(!$resultat_nb_inscrits_intervalle) {
Line 988... Line 989...
988
			return 0;
989
			return 0;
989
		}
990
		}
990
 
991
 
991
		return $resultat_nb_inscrits_intervalle['nb'];
992
		return $resultat_nb_inscrits_intervalle['nb'];
992
 
993
		
Line 993... Line 994...
993
	}
994
	}
994
 
995
	
995
 
996
	
996
 
997
 
Line 1131... Line 1132...
1131
	 * @param array $valeurs un tableau de valeurs à rechercher
1132
	 * @param array $valeurs un tableau de valeurs à rechercher
1132
	 * @param array $id_a_inclure un tableau d'identifiants à inclure (pour chainer des recherches)
1133
	 * @param array $id_a_inclure un tableau d'identifiants à inclure (pour chainer des recherches)
1133
	 * @param boolean $exclusive indique si l'on recherche effectue une recherche exclusive ou inclusive (AND, ou OR)
1134
	 * @param boolean $exclusive indique si l'on recherche effectue une recherche exclusive ou inclusive (AND, ou OR)
1134
	 */
1135
	 */
1135
	public function rechercherInscritDansAnnuaireMappe($id_annuaire, $valeurs, $id_a_inclure = array(), $exclusive = true, $numero_page = 1, $taille_page = 50, $ordre = 'champ_nom') {
1136
	public function rechercherInscritDansAnnuaireMappe($id_annuaire, $valeurs, $id_a_inclure = array(), $exclusive = true, $numero_page = 1, $taille_page = 50, $ordre = 'champ_nom') {
1136
 
1137
		
1137
		// Si la fonction est appelée et que tous les critères sont vides
1138
		// Si la fonction est appelée et que tous les critères sont vides
1138
		if(count($valeurs) == 0 && count($id_a_inclure) == 0) {
1139
		if(count($valeurs) == 0 && count($id_a_inclure) == 0) {
1139
			// on sort directement
1140
			// on sort directement
1140
			return array();
1141
			return array();
1141
		}
1142
		}
Line 1142... Line 1143...
1142
 
1143
 
1143
		$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
1144
		$requete_informations_annuaire = 'SELECT aa_bdd, aa_table '.
1144
					'FROM  annu_annuaire '.
1145
					'FROM  annu_annuaire '.
Line 1145... Line 1146...
1145
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
1146
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
1146
 
1147
 
1147
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
1148
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
Line 1148... Line 1149...
1148
 
1149
				
1149
		$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
1150
		$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
1150
 
1151
 
Line 1170... Line 1171...
1170
		}
1171
		}
Line 1171... Line 1172...
1171
 
1172
 
1172
		// si le champ contient un % alors on ne cherche pas une valeur exacte : on utilise LIKE
1173
		// si le champ contient un % alors on ne cherche pas une valeur exacte : on utilise LIKE
1173
		foreach($valeurs as $champ => $valeur) {
1174
		foreach($valeurs as $champ => $valeur) {
1174
			if(trim($valeur) != '') {
1175
			if(trim($valeur) != '') {
1175
 
1176
				
1176
				if($champ == $champs_mappage[0]['champ_nom'] || $champ == $champs_mappage[0]['champ_prenom']) {
1177
				if($champ == $champs_mappage[0]['champ_nom'] || $champ == $champs_mappage[0]['champ_prenom']) {
1177
					if(strpos($valeur,"%") === false) {
1178
					if(strpos($valeur,"%") === false) {
1178
						$valeur = '%' . $valeur.'%';
1179
						$valeur = '%' . $valeur.'%';
1179
					}
1180
					}
Line 1186... Line 1187...
1186
				elseif($champ == $champs_mappage[0]['champ_mail']) {
1187
				elseif($champ == $champs_mappage[0]['champ_mail']) {
1187
					if(strpos($valeur,"%") === false) {
1188
					if(strpos($valeur,"%") === false) {
1188
						$valeur = '%'.$valeur.'%';
1189
						$valeur = '%'.$valeur.'%';
1189
					}
1190
					}
1190
				}
1191
				}
1191
 
1192
				
1192
				if(strpos($valeur,"%") === false) {
1193
				if(strpos($valeur,"%") === false) {
1193
					$operateur = ' = ';
1194
					$operateur = ' = ';
1194
				} else {
1195
				} else {
1195
					$operateur = ' LIKE ';
1196
					$operateur = ' LIKE ';
1196
				}
1197
				}
1197
 
1198
				
1198
				$requete_conditions_inscrits .= $champ.$operateur.$this->proteger($valeur).$separateur;
1199
				$requete_conditions_inscrits .= $champ.$operateur.$this->proteger($valeur).$separateur;
1199
			}
1200
			}
1200
		}
1201
		}
Line 1201... Line 1202...
1201
 
1202
 
Line 1228... Line 1229...
1228
			$resultat_recherche_inscrits = array();
1229
			$resultat_recherche_inscrits = array();
1229
		}
1230
		}
Line 1230... Line 1231...
1230
 
1231
 
1231
		return array('total' => $nb_inscrits, 'resultat' => $resultat_recherche_inscrits) ;
1232
		return array('total' => $nb_inscrits, 'resultat' => $resultat_recherche_inscrits) ;
1232
	}
-
 
1233
 
1233
	}
1234
 
-
 
1235
 
1234
	
Line 1236... Line 1235...
1236
	public function rechercherDoublonsDansAnnuaireMappe($id_annuaire, $numero_page = 1, $taille_page = 50) {
1235
	public function rechercherDoublonsDansAnnuaireMappe($id_annuaire, $numero_page = 1, $taille_page = 50) {
1237
 
1236
 
1238
		$requete_informations_annuaire = 'SELECT aa_bdd, aa_table '.
1237
		$requete_informations_annuaire = 'SELECT aa_bdd, aa_table '.
Line 1239... Line 1238...
1239
					'FROM  annu_annuaire '.
1238
					'FROM  annu_annuaire '.
1240
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
1239
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
1241
 
1240
 
Line 1242... Line 1241...
1242
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
1241
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
1243
 
1242
				
1244
		$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
1243
		$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
1245
 
1244
 
1246
		$champ_id = $champs_mappage[0]['champ_id'];
1245
		$champ_id = $champs_mappage[0]['champ_id'];
1247
		$champ_mail = $champs_mappage[0]['champ_mail'];
1246
		$champ_mail = $champs_mappage[0]['champ_mail'];
1248
		$champ_nom = $champs_mappage[0]['champ_nom'];
1247
		$champ_nom = $champs_mappage[0]['champ_nom'];
1249
		$champ_prenom = $champs_mappage[0]['champ_prenom'];
1248
		$champ_prenom = $champs_mappage[0]['champ_prenom'];
1250
		$champ_ville = $champs_mappage[0]['champ_ville'];
1249
		$champ_ville = $champs_mappage[0]['champ_ville'];
1251
 
1250
		 	
1252
		$requete_recherche_doublon = 'SELECT DISTINCT t2.'.$champ_id.
1251
		$requete_recherche_doublon = 'SELECT DISTINCT t2.'.$champ_id.
1253
									' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t1 '.
1252
									' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t1 '.
1254
									'LEFT JOIN '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t2 '.
1253
									'LEFT JOIN '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t2 '.
Line 1255... Line 1254...
1255
									'USING ('.$champ_nom.','.$champ_prenom.','.$champ_ville.') '.
1254
									'USING ('.$champ_nom.','.$champ_prenom.','.$champ_ville.') '.
1256
									'WHERE t1.'.$champ_id.' != t2.'.$champ_id.' '.
1255
									'WHERE t1.'.$champ_id.' != t2.'.$champ_id.' '.
1257
									'ORDER BY '.$champ_nom.', '.$champ_prenom.' ';
1256
									'ORDER BY '.$champ_nom.', '.$champ_prenom.' ';
1258
 
1257
		
1259
 
1258
 
1260
 
1259
 
1261
		$requete_nb_doublons = 'SELECT COUNT(DISTINCT t2.'.$champs_mappage[0]['champ_id'].') as nb'.
1260
		$requete_nb_doublons = 'SELECT COUNT(DISTINCT t2.'.$champs_mappage[0]['champ_id'].') as nb'.
Line 1262... Line 1261...
1262
									' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t1 '.
1261
									' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t1 '.
1263
									'LEFT JOIN '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t2 '.
1262
									'LEFT JOIN '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t2 '.
1264
									'USING ('.$champ_nom.','.$champ_prenom.','.$champ_ville.') '.
1263
									'USING ('.$champ_nom.','.$champ_prenom.','.$champ_ville.') '.
1265
									'WHERE t1.'.$champ_id.' != t2.'.$champ_id;
1264
									'WHERE t1.'.$champ_id.' != t2.'.$champ_id;
1266
 
1265
				
1267
		$resultat_nb_doublons = $this->requeteUn($requete_nb_doublons);
1266
		$resultat_nb_doublons = $this->requeteUn($requete_nb_doublons);
1268
 
1267
 
1269
		$nb_doublons = 0;
1268
		$nb_doublons = 0;
1270
		if($resultat_nb_doublons) {
1269
		if($resultat_nb_doublons) {
1271
			$nb_doublons = $resultat_nb_doublons['nb'];
1270
			$nb_doublons = $resultat_nb_doublons['nb'];
1272
		}
1271
		}
1273
 
1272