Subversion Repositories Applications.annuaire

Rev

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

Rev 355 Rev 392
Line 220... Line 220...
220
			$tableau_mappage[1][$champ['at_action']] = $champ['at_valeur'];
220
			$tableau_mappage[1][$champ['at_action']] = $champ['at_valeur'];
221
		}
221
		}
Line 222... Line 222...
222
 
222
 
223
		return $tableau_mappage ;
223
		return $tableau_mappage ;
224
	}
224
	}
225
	
225
 
226
	/** Charge le nombre d'inscrits d'une table annuaire mappée
226
	/** Charge le nombre d'inscrits d'une table annuaire mappée
227
	 * @param int $identifiant l'identifiant de l'annuaire mappé
227
	 * @param int $identifiant l'identifiant de l'annuaire mappé
228
	 */
228
	 */
229
	public function chargerNombreAnnuaireListeInscrits($identifiant) {
229
	public function chargerNombreAnnuaireListeInscrits($identifiant) {
230
		
230
 
231
			$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
231
			$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
232
					'FROM  annu_annuaire '.
232
					'FROM  annu_annuaire '.
233
					'WHERE aa_id_annuaire = '.$identifiant.' ';
233
					'WHERE aa_id_annuaire = '.$identifiant.' ';
Line 234... Line 234...
234
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
234
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
235
 
235
 
236
		if(!$resultat_informations_annuaire) {
236
		if(!$resultat_informations_annuaire) {
237
			trigger_error('impossible de récupérer les informations de la table '.$identifiant);
237
			trigger_error('impossible de récupérer les informations de la table '.$identifiant);
238
		}
238
		}
239
		
239
 
240
		$requete_nombre_inscrits = 'SELECT COUNT(*) as nb '.
240
		$requete_nombre_inscrits = 'SELECT COUNT(*) as nb '.
241
									'FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
241
									'FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
242
		
242
 
243
		// Récupération des résultats
243
		// Récupération des résultats
244
		try {
244
		try {
245
			$resultat_nb_inscrits = $this->requeteUn($requete_nombre_inscrits);
245
			$resultat_nb_inscrits = $this->requeteUn($requete_nombre_inscrits);
Line 249... Line 249...
249
				$nb_inscrits = $resultat_nb_inscrits['nb'];
249
				$nb_inscrits = $resultat_nb_inscrits['nb'];
250
			}
250
			}
251
		} catch (Exception $e) {
251
		} catch (Exception $e) {
252
			$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
252
			$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
253
		}
253
		}
254
		
254
 
255
		return $nb_inscrits; 
255
		return $nb_inscrits;
256
	}
256
	}
Line 257... Line 257...
257
 
257
 
258
	/** Charge le nombre d'inscrits d'une table annuaire mappée en les groupant par départements
258
	/** Charge le nombre d'inscrits d'une table annuaire mappée en les groupant par départements
259
	 * @param int $identifiant l'identifiant de l'annuaire mappé
259
	 * @param int $identifiant l'identifiant de l'annuaire mappé
Line 312... Line 312...
312
	 * @param array $id_recherchees un tableau contenant les codes de pays à rechercher
312
	 * @param array $id_recherchees un tableau contenant les codes de pays à rechercher
313
	 * @return array un tableau indexé par les numéros de pays contenant le nombre d'inscrits à chacun
313
	 * @return array un tableau indexé par les numéros de pays contenant le nombre d'inscrits à chacun
314
	 *
314
	 *
315
	 */
315
	 */
316
	public function chargerNombreAnnuaireListeInscritsParPays($id_annuaire, $ids_recherchees) {
316
	public function chargerNombreAnnuaireListeInscritsParPays($id_annuaire, $ids_recherchees) {
317
		
317
 
318
		$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
318
		$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
319
					'FROM  annu_annuaire '.
319
					'FROM  annu_annuaire '.
320
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
320
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
321
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
321
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
Line 356... Line 356...
356
			trigger_error('impossible de récupérer le nombre d\'inscrits de la table '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table']);
356
			trigger_error('impossible de récupérer le nombre d\'inscrits de la table '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table']);
357
		}
357
		}
Line 358... Line 358...
358
 
358
 
359
		return $resultat_nombre_inscrits;
359
		return $resultat_nombre_inscrits;
360
	}
360
	}
361
	
361
 
362
	private function formaterAbreviationPaysPourRecherche($chaine) {
362
	private function formaterAbreviationPaysPourRecherche($chaine) {
363
		return $this->proteger(strtoupper($chaine));
363
		return $this->proteger(strtoupper($chaine));
364
	}
364
	}
365
	
365
 
366
	/**
366
	/**
367
	 * Recherche selon une valeur d'un champ qui peut être une valeur approximative (avec des %) dans un champ d'annuaire donné
367
	 * Recherche selon une valeur d'un champ qui peut être une valeur approximative (avec des %) dans un champ d'annuaire donné
368
	 * @param int $id_annuaire l'identifiant de l'annuaire
368
	 * @param int $id_annuaire l'identifiant de l'annuaire
369
	 * @param string $champ_critere le champ qui servira de filtre
369
	 * @param string $champ_critere le champ qui servira de filtre
Line 376... Line 376...
376
		$sep = '';
376
		$sep = '';
Line 377... Line 377...
377
 
377
 
378
		if($modele) {
378
		if($modele) {
379
			$sep = '%';
379
			$sep = '%';
380
		}
380
		}
381
		
381
 
382
		foreach($criteres as $champ => $valeur) {
382
		foreach($criteres as $champ => $valeur) {
383
			$criteres[$champ] = $valeur.$sep;	
383
			$criteres[$champ] = $valeur.$sep;
Line 384... Line 384...
384
		}
384
		}
385
 
385
 
Line 399... Line 399...
399
		$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
399
		$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
400
					'FROM  annu_annuaire '.
400
					'FROM  annu_annuaire '.
401
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
401
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
Line 402... Line 402...
402
 
402
 
403
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
403
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
404
				
404
 
405
		$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
405
		$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
406
		
406
 
Line 407... Line 407...
407
		$requete_nb_inscrits = 'SELECT COUNT( * ) as nb '.' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
407
		$requete_nb_inscrits = 'SELECT COUNT( * ) as nb '.' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
Line 408... Line 408...
408
 
408
 
409
		$resultat_nb_inscrits = $this->requeteUn($requete_nb_inscrits);
409
		$resultat_nb_inscrits = $this->requeteUn($requete_nb_inscrits);
410
 
410
 
411
		$nb_inscrits = 0;
411
		$nb_inscrits = 0;
Line 412... Line 412...
412
		if($resultat_nb_inscrits) {
412
		if($resultat_nb_inscrits) {
413
			$nb_inscrits = $resultat_nb_inscrits['nb'];
413
			$nb_inscrits = $resultat_nb_inscrits['nb'];
414
		}
414
		}
415
 
415
 
416
		$requete_recherche_inscrits = 'SELECT '.$champs_mappage[0]['champ_id'].' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
416
		$requete_recherche_inscrits = 'SELECT '.$champs_mappage[0]['champ_id'].' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
Line 417... Line 417...
417
		
417
 
Line 755... Line 755...
755
		} else {
755
		} else {
756
			return $resultat_selection_utilisateur[$champs_mappage['champ_id']];
756
			return $resultat_selection_utilisateur[$champs_mappage['champ_id']];
757
		}
757
		}
Line 758... Line 758...
758
 
758
 
759
	}
759
	}
760
	
760
 
761
	/**
761
	/**
762
	 * Renvoie le nom et prénom associé au mail d'un utilisateur dans un annuaire donné
762
	 * Renvoie le nom et prénom associé au mail d'un utilisateur dans un annuaire donné
763
	 * @param int $id_annuair l'identifiant de l'annuaire
763
	 * @param int $id_annuair l'identifiant de l'annuaire
764
	 * @param array $courriels un tableau de courriel d'utilisateur
764
	 * @param array $courriels un tableau de courriel d'utilisateur
Line 775... Line 775...
775
 
775
 
776
		$annuaire = $this->requeteUn($requete);
776
		$annuaire = $this->requeteUn($requete);
777
		if (!$annuaire) {
777
		if (!$annuaire) {
778
			return false;
778
			return false;
779
		}
779
		}
780
		
780
 
781
		foreach ($courriels as $id => $courriel) {
781
		foreach ($courriels as $id => $courriel) {
782
			$courriels[$id] = $this->proteger($courriel);
782
			$courriels[$id] = $this->proteger($courriel);
783
		}
783
		}
784
		
784
 
785
		$requete = 	'SELECT '.$mappage['champ_id'].', '.$mappage['champ_mail'].', '.$mappage['champ_prenom'].', '.$mappage['champ_nom'].' '.
785
		$requete = 	'SELECT '.$mappage['champ_id'].', '.$mappage['champ_mail'].', '.$mappage['champ_prenom'].', '.$mappage['champ_nom'].' '.
786
					'FROM '.$annuaire['aa_bdd'].'.'.$annuaire['aa_table'].' '.
786
					'FROM '.$annuaire['aa_bdd'].'.'.$annuaire['aa_table'].' '.
787
					'WHERE '.$mappage['champ_mail'].' IN ('.implode(',', $courriels).')';
787
					'WHERE '.$mappage['champ_mail'].' IN ('.implode(',', $courriels).')';
Line 793... Line 793...
793
			$infos = array();
793
			$infos = array();
794
			foreach ($resultats as $resultat) {
794
			foreach ($resultats as $resultat) {
795
				$id = $resultat[$mappage['champ_id']];
795
				$id = $resultat[$mappage['champ_id']];
796
				$prenom = AppControleur::formaterMotPremiereLettreChaqueMotEnMajuscule($resultat[$mappage['champ_prenom']]);
796
				$prenom = AppControleur::formaterMotPremiereLettreChaqueMotEnMajuscule($resultat[$mappage['champ_prenom']]);
797
				$nom = AppControleur::formaterMotEnMajuscule($resultat[$mappage['champ_nom']]);
797
				$nom = AppControleur::formaterMotEnMajuscule($resultat[$mappage['champ_nom']]);
798
				
798
 
799
				$infos[$resultat[$mappage['champ_mail']]] = array('id' => $id, 'prenom' => $prenom, 'nom' => $nom);
799
				$infos[$resultat[$mappage['champ_mail']]] = array('id' => $id, 'prenom' => $prenom, 'nom' => $nom);
800
			}
800
			}
801
			return $infos;
801
			return $infos;
802
		}
802
		}
Line 919... Line 919...
919
			return false;
919
			return false;
920
		} else {
920
		} else {
921
			return $resultat_selection_utilisateur;
921
			return $resultat_selection_utilisateur;
922
		}
922
		}
923
	}
923
	}
924
	
924
 
925
/**
925
/**
926
	 * Récupère les valeurs utilisateur dans l'annuaire indiqué en les ordonnant par le champ demandé
926
	 * Récupère les valeurs utilisateur dans l'annuaire indiqué en les ordonnant par le champ demandé
927
	 * @param int $id_annuaire	l'identifiant de l'annuaire dans lequel on va travailler
927
	 * @param int $id_annuaire	l'identifiant de l'annuaire dans lequel on va travailler
928
	 * @param Array $champs_mappage les noms des champs que l'on veut récupérer
928
	 * @param Array $champs_mappage les noms des champs que l'on veut récupérer
929
	 * @param string order_by le champ par lequel on ordonne les résultats
929
	 * @param string order_by le champ par lequel on ordonne les résultats
Line 947... Line 947...
947
		$champ_order_by = $champs_mappage[$order_by];
947
		$champ_order_by = $champs_mappage[$order_by];
Line 948... Line 948...
948
 
948
 
949
		$requete_selection_utilisateur = 'SELECT '.$champs_mappage['champ_id'].' '.
949
		$requete_selection_utilisateur = 'SELECT '.$champs_mappage['champ_id'].' '.
950
										 'FROM '.$resultat_infos_annuaire['aa_bdd'].'.'.$resultat_infos_annuaire['aa_table'].' '.
950
										 'FROM '.$resultat_infos_annuaire['aa_bdd'].'.'.$resultat_infos_annuaire['aa_table'].' '.
951
										 'ORDER BY '.$champ_order_by.' '.$dir.' LIMIT '.$limit;
951
										 'ORDER BY '.$champ_order_by.' '.$dir.' LIMIT '.$limit;
952
		
952
 
Line 953... Line 953...
953
		$resultat_selection_utilisateur = $this->requeteTous($requete_selection_utilisateur);
953
		$resultat_selection_utilisateur = $this->requeteTous($requete_selection_utilisateur);
954
 
954
 
955
 
955
 
956
 
956
 
957
		if(!$resultat_selection_utilisateur) {
957
		if(!$resultat_selection_utilisateur) {
958
			return false;
958
			return false;
959
		} else {
959
		} else {
960
			return $resultat_selection_utilisateur;
960
			return $resultat_selection_utilisateur;
961
		}
961
		}
962
	}
962
	}
Line 963... Line 963...
963
	
963
 
964
	public function obtenirNombreInscriptionsDansIntervalleDate($id_annuaire, $date_debut, $date_fin) {
964
	public function obtenirNombreInscriptionsDansIntervalleDate($id_annuaire, $date_debut, $date_fin) {
965
		
965
 
Line 979... Line 979...
979
 
979
 
980
		//$supprimer_donnes = false;
980
		//$supprimer_donnes = false;
Line 981... Line 981...
981
		$valeurs_mappees = array();
981
		$valeurs_mappees = array();
982
 
982
 
983
		$champs_date = $this->obtenirChampDateEtValidite($id_annuaire);
983
		$champs_date = $this->obtenirChampDateEtValidite($id_annuaire);
984
		
984
 
985
		$date_inscription = $champs_date['champ_date_inscription'];
985
		$date_inscription = $champs_date['champ_date_inscription'];
986
		
986
 
987
		$requete_nb_inscrits_intervalle = 'SELECT COUNT(*) as nb '.
987
		$requete_nb_inscrits_intervalle = 'SELECT COUNT(*) as nb '.
988
						'FROM '.$resultat_infos_annuaire['aa_bdd'].'.'.$resultat_infos_annuaire['aa_table'].' '.
988
						'FROM '.$resultat_infos_annuaire['aa_bdd'].'.'.$resultat_infos_annuaire['aa_table'].' '.
989
						'WHERE '.$date_inscription.' >= "'.date('Y-m-d H:i:s', $date_debut).'" '.
989
						'WHERE '.$date_inscription.' >= "'.date('Y-m-d H:i:s', $date_debut).'" '.
990
						'AND '.$date_inscription.' < "'.date('Y-m-d H:i:s', $date_fin).'" ';
990
						'AND '.$date_inscription.' < "'.date('Y-m-d H:i:s', $date_fin).'" ';
991
		
991
 
992
		$resultat_nb_inscrits_intervalle = $this->requeteUn($requete_nb_inscrits_intervalle);
992
		$resultat_nb_inscrits_intervalle = $this->requeteUn($requete_nb_inscrits_intervalle);
993
		
993
 
994
		if(!$resultat_nb_inscrits_intervalle) {
994
		if(!$resultat_nb_inscrits_intervalle) {
Line 995... Line 995...
995
			return 0;
995
			return 0;
996
		}
996
		}
997
 
997
 
998
		return $resultat_nb_inscrits_intervalle['nb'];
998
		return $resultat_nb_inscrits_intervalle['nb'];
999
		
999
 
Line 1000... Line 1000...
1000
	}
1000
	}
1001
	
1001
 
1002
	
1002
 
1003
 
1003
 
Line 1138... Line 1138...
1138
	 * @param array $valeurs un tableau de valeurs à rechercher
1138
	 * @param array $valeurs un tableau de valeurs à rechercher
1139
	 * @param array $id_a_inclure un tableau d'identifiants à inclure (pour chainer des recherches)
1139
	 * @param array $id_a_inclure un tableau d'identifiants à inclure (pour chainer des recherches)
1140
	 * @param boolean $exclusive indique si l'on recherche effectue une recherche exclusive ou inclusive (AND, ou OR)
1140
	 * @param boolean $exclusive indique si l'on recherche effectue une recherche exclusive ou inclusive (AND, ou OR)
1141
	 */
1141
	 */
1142
	public function rechercherInscritDansAnnuaireMappe($id_annuaire, $valeurs, $id_a_inclure = array(), $exclusive = true, $numero_page = 1, $taille_page = 50, $ordre = 'champ_nom') {
1142
	public function rechercherInscritDansAnnuaireMappe($id_annuaire, $valeurs, $id_a_inclure = array(), $exclusive = true, $numero_page = 1, $taille_page = 50, $ordre = 'champ_nom') {
1143
		
1143
 
1144
		// Si la fonction est appelée et que tous les critères sont vides
1144
		// Si la fonction est appelée et que tous les critères sont vides
1145
		if(count($valeurs) == 0 && count($id_a_inclure) == 0) {
1145
		if(count($valeurs) == 0 && count($id_a_inclure) == 0) {
1146
			// on sort directement
1146
			// on sort directement
1147
			return array();
1147
			return array();
1148
		}
1148
		}
Line 1150... Line 1150...
1150
		$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
1150
		$requete_informations_annuaire = 	'SELECT aa_bdd, aa_table '.
1151
					'FROM  annu_annuaire '.
1151
					'FROM  annu_annuaire '.
1152
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
1152
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
Line 1153... Line 1153...
1153
 
1153
 
1154
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
1154
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
1155
				
1155
 
Line 1156... Line 1156...
1156
		$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
1156
		$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
1157
 
1157
 
1158
		$requete_recherche_inscrits = 'SELECT '.$champs_mappage[0]['champ_id'].
1158
		$requete_recherche_inscrits = 'SELECT '.$champs_mappage[0]['champ_id'].
Line 1177... Line 1177...
1177
		}
1177
		}
Line 1178... Line 1178...
1178
 
1178
 
1179
		// si le champ contient un % alors on ne cherche pas une valeur exacte : on utilise LIKE
1179
		// si le champ contient un % alors on ne cherche pas une valeur exacte : on utilise LIKE
1180
		foreach($valeurs as $champ => $valeur) {
1180
		foreach($valeurs as $champ => $valeur) {
1181
			if(trim($valeur) != '') {
1181
			if(trim($valeur) != '') {
1182
				
1182
 
1183
				if($champ == $champs_mappage[0]['champ_nom'] || $champ == $champs_mappage[0]['champ_code_postal']) {
1183
				if($champ == $champs_mappage[0]['champ_nom'] || $champ == $champs_mappage[0]['champ_code_postal']) {
1184
					if(strpos($valeur,"%") === false) {
1184
					if(strpos($valeur,"%") === false) {
1185
						$valeur .= '%';
1185
						$valeur .= '%';
1186
					}
1186
					}
1187
				}
1187
				}
1188
				
1188
 
1189
				if($champ == $champs_mappage[0]['champ_mail']) {
1189
				if($champ == $champs_mappage[0]['champ_mail']) {
1190
					if(strpos($valeur,"%") === false) {
1190
					if(strpos($valeur,"%") === false) {
1191
						$valeur = '%'.$valeur.'%';
1191
						$valeur = '%'.$valeur.'%';
1192
					}
1192
					}
1193
				}
1193
				}
1194
				
1194
 
1195
				if(strpos($valeur,"%") === false) {
1195
				if(strpos($valeur,"%") === false) {
1196
					$operateur = ' = ';
1196
					$operateur = ' = ';
1197
				} else {
1197
				} else {
1198
					$operateur = ' LIKE ';
1198
					$operateur = ' LIKE ';
1199
				}
1199
				}
1200
				
1200
 
1201
				$requete_conditions_inscrits .= $champ.$operateur.$this->proteger($valeur).$separateur;
1201
				$requete_conditions_inscrits .= $champ.$operateur.$this->proteger($valeur).$separateur;
1202
			}
1202
			}
Line 1203... Line 1203...
1203
		}
1203
		}
Line 1204... Line 1204...
1204
 
1204
 
1205
		$requete_conditions_inscrits = rtrim($requete_conditions_inscrits, $separateur);
1205
		$requete_conditions_inscrits = rtrim($requete_conditions_inscrits, $separateur);
1206
 
1206
 
Line 1207... Line 1207...
1207
		$requete_recherche_inscrits .= $requete_conditions_inscrits;
1207
		$requete_recherche_inscrits .= $requete_conditions_inscrits;
1208
				
1208
 
1209
		$requete_nb_inscrits = 'SELECT COUNT( * ) as nb '.' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
1209
		$requete_nb_inscrits = 'SELECT COUNT( * ) as nb '.' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'];
Line 1218... Line 1218...
1218
		if($resultat_nb_inscrits) {
1218
		if($resultat_nb_inscrits) {
1219
			$nb_inscrits = $resultat_nb_inscrits['nb'];
1219
			$nb_inscrits = $resultat_nb_inscrits['nb'];
1220
		}
1220
		}
Line 1221... Line 1221...
1221
 
1221
 
1222
		$requete_recherche_inscrits .= ' ORDER BY '.$champs_mappage[0]['champ_nom'];
1222
		$requete_recherche_inscrits .= ' ORDER BY '.$champs_mappage[0]['champ_nom'];
1223
		
1223
 
1224
		if($taille_page != 0) {
1224
		if($taille_page != 0) {
1225
			$requete_recherche_inscrits .= ' LIMIT '.(($numero_page-1)*$taille_page).','.($taille_page);
1225
			$requete_recherche_inscrits .= ' LIMIT '.(($numero_page-1)*$taille_page).','.($taille_page);
1226
		}
1226
		}
1227
		
1227
 
Line 1228... Line 1228...
1228
		$resultat_recherche_inscrits = $this->requeteTous($requete_recherche_inscrits);
1228
		$resultat_recherche_inscrits = $this->requeteTous($requete_recherche_inscrits);
1229
 
1229
 
1230
		if(!$resultat_recherche_inscrits) {
1230
		if(!$resultat_recherche_inscrits) {
Line 1231... Line 1231...
1231
			$resultat_recherche_inscrits = array();
1231
			$resultat_recherche_inscrits = array();
1232
		}
1232
		}
1233
 
1233
 
1234
		return array('total' => $nb_inscrits, 'resultat' => $resultat_recherche_inscrits) ;
1234
		return array('total' => $nb_inscrits, 'resultat' => $resultat_recherche_inscrits) ;
1235
	}
1235
	}
1236
	
1236
 
Line 1237... Line 1237...
1237
	
1237
 
1238
	
1238
 
1239
	public function rechercherDoublonsDansAnnuaireMappe($id_annuaire, $numero_page = 1, $taille_page = 50) {
1239
	public function rechercherDoublonsDansAnnuaireMappe($id_annuaire, $numero_page = 1, $taille_page = 50) {
Line 1240... Line 1240...
1240
 
1240
 
1241
		$requete_informations_annuaire = 'SELECT aa_bdd, aa_table '.
1241
		$requete_informations_annuaire = 'SELECT aa_bdd, aa_table '.
1242
					'FROM  annu_annuaire '.
1242
					'FROM  annu_annuaire '.
Line 1243... Line 1243...
1243
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
1243
					'WHERE aa_id_annuaire = '.$id_annuaire.' ';
1244
 
1244
 
1245
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
1245
		$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
1246
				
1246
 
1247
		$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
1247
		$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
1248
 
1248
 
1249
		$champ_id = $champs_mappage[0]['champ_id'];
1249
		$champ_id = $champs_mappage[0]['champ_id'];
1250
		$champ_mail = $champs_mappage[0]['champ_mail'];
1250
		$champ_mail = $champs_mappage[0]['champ_mail'];
1251
		$champ_nom = $champs_mappage[0]['champ_nom'];
1251
		$champ_nom = $champs_mappage[0]['champ_nom'];
1252
		$champ_prenom = $champs_mappage[0]['champ_prenom'];
1252
		$champ_prenom = $champs_mappage[0]['champ_prenom'];
1253
		$champ_ville = $champs_mappage[0]['champ_ville'];
1253
		$champ_ville = $champs_mappage[0]['champ_ville'];
1254
		 	
1254
 
1255
		$requete_recherche_doublon = 'SELECT DISTINCT t2.'.$champ_id.
1255
		$requete_recherche_doublon = 'SELECT DISTINCT t2.'.$champ_id.
Line 1256... Line 1256...
1256
									' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t1 '.
1256
									' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t1 '.
1257
									'LEFT JOIN '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t2 '.
1257
									'LEFT JOIN '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t2 '.
1258
									'USING ('.$champ_nom.','.$champ_prenom.','.$champ_ville.') '.
1258
									'USING ('.$champ_nom.','.$champ_prenom.','.$champ_ville.') '.
1259
									'WHERE t1.'.$champ_id.' != t2.'.$champ_id.' '.
1259
									'WHERE t1.'.$champ_id.' != t2.'.$champ_id.' '.
1260
									'ORDER BY '.$champ_nom.', '.$champ_prenom.' ';
1260
									'ORDER BY '.$champ_nom.', '.$champ_prenom.' ';
1261
		
1261
 
1262
 
1262
 
Line 1263... Line 1263...
1263
 
1263
 
1264
		$requete_nb_doublons = 'SELECT COUNT(DISTINCT t2.'.$champs_mappage[0]['champ_id'].') as nb'.
1264
		$requete_nb_doublons = 'SELECT COUNT(DISTINCT t2.'.$champs_mappage[0]['champ_id'].') as nb'.
1265
									' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t1 '.
1265
									' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t1 '.
1266
									'LEFT JOIN '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t2 '.
1266
									'LEFT JOIN '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t2 '.
1267
									'USING ('.$champ_nom.','.$champ_prenom.','.$champ_ville.') '.
1267
									'USING ('.$champ_nom.','.$champ_prenom.','.$champ_ville.') '.
1268
									'WHERE t1.'.$champ_id.' != t2.'.$champ_id;
1268
									'WHERE t1.'.$champ_id.' != t2.'.$champ_id;
1269
				
1269
 
1270
		$resultat_nb_doublons = $this->requeteUn($requete_nb_doublons);
1270
		$resultat_nb_doublons = $this->requeteUn($requete_nb_doublons);
1271
 
1271
 
1272
		$nb_doublons = 0;
1272
		$nb_doublons = 0;
1273
		if($resultat_nb_doublons) {
1273
		if($resultat_nb_doublons) {
1274
			$nb_doublons = $resultat_nb_doublons['nb'];
1274
			$nb_doublons = $resultat_nb_doublons['nb'];