| 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 |
|
144 |
|
| 145 |
|
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... |
| 167 |
$champ_avatar = $resultat_champs_avatar['at_valeur'];
|
167 |
$champ_avatar = $resultat_champs_avatar['at_valeur'];
|
| 168 |
|
168 |
|
| 169 |
|
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 |
|
188 |
|
| 189 |
|
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_annuaire 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
|
| 759 |
* @return array un tableau contenant en clé le courriel et en valeur un tableau avec le prénom dans le champ 'prenom' et le nom dans le champ 'nom'.
|
759 |
* @return array un tableau contenant en clé le courriel et en valeur un tableau avec le prénom dans le champ 'prenom' et le nom dans le champ 'nom'.
|
| 760 |
*/
|
760 |
*/
|
| 761 |
public function obtenirPrenomNomParCourriel($id_annuaire, $courriels) {
|
761 |
public function obtenirPrenomNomParCourriel($id_annuaire, $courriels) {
|
| 762 |
$mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
|
762 |
$mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
|
| 763 |
// on ne garde que les champs de mappage correspondant au champ de l'annuaire principal
|
763 |
// on ne garde que les champs de mappage correspondant au champ de l'annuaire principal
|
| Line 764... |
Line 764... |
| 764 |
$mappage = $mappage[0];
|
764 |
$mappage = $mappage[0];
|
| 765 |
|
765 |
|
| 766 |
$requete = 'SELECT * '.
|
766 |
$requete = 'SELECT * '.
|
| Line 767... |
Line 767... |
| 767 |
'FROM annu_annuaire '.
|
767 |
'FROM annu_annuaire '.
|
| 768 |
'WHERE aa_id_annuaire = '.$id_annuaire.' ';
|
768 |
'WHERE aa_id_annuaire = '.$id_annuaire.' ';
|
| 769 |
|
769 |
|
| 770 |
$annuaire = $this->requeteUn($requete);
|
770 |
$annuaire = $this->requeteUn($requete);
|
| 771 |
if (!$annuaire) {
|
771 |
if (!$annuaire) {
|
| 772 |
return false;
|
772 |
return false;
|
| 773 |
}
|
773 |
}
|
| 774 |
|
774 |
|
| 775 |
foreach ($courriels as $id => $courriel) {
|
775 |
foreach ($courriels as $id => $courriel) {
|
| 776 |
$courriels[$id] = $this->proteger($courriel);
|
776 |
$courriels[$id] = $this->proteger($courriel);
|
| 777 |
}
|
777 |
}
|
| 778 |
|
778 |
|
| 779 |
$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'].' '.
|
| Line 780... |
Line 780... |
| 780 |
'FROM '.$annuaire['aa_bdd'].'.'.$annuaire['aa_table'].' '.
|
780 |
'FROM '.$annuaire['aa_bdd'].'.'.$annuaire['aa_table'].' '.
|
| 781 |
'WHERE '.$mappage['champ_mail'].' IN ('.implode(',', $courriels).')';
|
781 |
'WHERE '.$mappage['champ_mail'].' IN ('.implode(',', $courriels).')';
|
| 782 |
$resultats = $this->requeteTous($requete);
|
782 |
$resultats = $this->requeteTous($requete);
|
| 783 |
|
783 |
|
| 784 |
if (!$resultats) {
|
784 |
if (!$resultats) {
|
| 785 |
return false;
|
785 |
return false;
|
| 786 |
} else {
|
786 |
} else {
|
| 787 |
$infos = array();
|
787 |
$infos = array();
|
| 788 |
foreach ($resultats as $resultat) {
|
788 |
foreach ($resultats as $resultat) {
|
| 789 |
$id = $resultat[$mappage['champ_id']];
|
789 |
$id = $resultat[$mappage['champ_id']];
|
| 790 |
$prenom = AppControleur::formaterMotPremiereLettreChaqueMotEnMajuscule($resultat[$mappage['champ_prenom']]);
|
790 |
$prenom = AppControleur::formaterMotPremiereLettreChaqueMotEnMajuscule($resultat[$mappage['champ_prenom']]);
|
| 791 |
$nom = AppControleur::formaterMotEnMajuscule($resultat[$mappage['champ_nom']]);
|
791 |
$nom = AppControleur::formaterMotEnMajuscule($resultat[$mappage['champ_nom']]);
|
| 792 |
|
792 |
|
| Line 793... |
Line 793... |
| 793 |
$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);
|
| Line -... |
Line 794... |
| - |
|
794 |
}
|
| - |
|
795 |
return $infos;
|
| - |
|
796 |
}
|
| - |
|
797 |
|
| - |
|
798 |
}
|
| - |
|
799 |
|
| - |
|
800 |
/**
|
| - |
|
801 |
* Renvoie les infos pour un utilisateur et un annuaire donné
|
| - |
|
802 |
* @param int $id_annuaire l'identifiant de l'annuaire
|
| - |
|
803 |
* @param array $id identifiant d'utilisateur
|
| - |
|
804 |
* @return array un tableau.
|
| - |
|
805 |
*/
|
| - |
|
806 |
public function obtenirInfosUtilisateurParId($id_annuaire, $id_utilisateur) {
|
| - |
|
807 |
$requete = 'SELECT * '.
|
| - |
|
808 |
'FROM annu_annuaire '.
|
| - |
|
809 |
'WHERE aa_id_annuaire = '.$id_annuaire.' ';
|
| - |
|
810 |
|
| - |
|
811 |
$annuaire = $this->requeteUn($requete);
|
| - |
|
812 |
if (!$annuaire) {
|
| - |
|
813 |
return false;
|
| - |
|
814 |
}
|
| - |
|
815 |
|
| - |
|
816 |
$mappageInfos = $this->obtenirChampsMappageAnnuaire($id_annuaire, $id_utilisateur);
|
| - |
|
817 |
// on ne garde que les champs de mappage correspondant au champ de l'annuaire principal
|
| - |
|
818 |
$mappage = $mappageInfos[0];
|
| - |
|
819 |
$requete = 'SELECT '.$mappage['champ_id'].', '.$mappage['champ_mail'].', '.$mappage['champ_prenom'].', '.$mappage['champ_nom'].' '.
|
| - |
|
820 |
'FROM '.$annuaire['aa_bdd'].'.'.$annuaire['aa_table'].' '.
|
| - |
|
821 |
'WHERE '.$mappage['champ_id'].' = '.$id_utilisateur.' ';
|
| - |
|
822 |
$resultat = $this->requeteUn($requete);
|
| - |
|
823 |
|
| - |
|
824 |
$infos = false;
|
| - |
|
825 |
if ($resultat) {
|
| - |
|
826 |
$id = $resultat[$mappage['champ_id']];
|
| - |
|
827 |
$prenom = AppControleur::formaterMotPremiereLettreChaqueMotEnMajuscule($resultat[$mappage['champ_prenom']]);
|
| - |
|
828 |
$nom = AppControleur::formaterMotEnMajuscule($resultat[$mappage['champ_nom']]);
|
| - |
|
829 |
$courriel = $resultat[$mappage['champ_mail']];
|
| 794 |
}
|
830 |
|
| 795 |
return $infos;
|
831 |
$infos = array('id' => $id, 'prenom' => $prenom, 'nom' => $nom, 'courriel' => $courriel);
|
| Line 796... |
Line 832... |
| 796 |
}
|
832 |
}
|
| 797 |
|
833 |
return $infos;
|
| Line 913... |
Line 949... |
| 913 |
return false;
|
949 |
return false;
|
| 914 |
} else {
|
950 |
} else {
|
| 915 |
return $resultat_selection_utilisateur;
|
951 |
return $resultat_selection_utilisateur;
|
| 916 |
}
|
952 |
}
|
| 917 |
}
|
953 |
}
|
| 918 |
|
954 |
|
| 919 |
/**
|
955 |
/**
|
| 920 |
* Récupère les valeurs utilisateur dans l'annuaire indiqué en les ordonnant par le champ demandé
|
956 |
* Récupère les valeurs utilisateur dans l'annuaire indiqué en les ordonnant par le champ demandé
|
| 921 |
* @param int $id_annuaire l'identifiant de l'annuaire dans lequel on va travailler
|
957 |
* @param int $id_annuaire l'identifiant de l'annuaire dans lequel on va travailler
|
| 922 |
* @param Array $champs_mappage les noms des champs que l'on veut récupérer
|
958 |
* @param Array $champs_mappage les noms des champs que l'on veut récupérer
|
| 923 |
* @param string order_by le champ par lequel on ordonne les résultats
|
959 |
* @param string order_by le champ par lequel on ordonne les résultats
|
| Line 941... |
Line 977... |
| 941 |
$champ_order_by = $champs_mappage[$order_by];
|
977 |
$champ_order_by = $champs_mappage[$order_by];
|
| Line 942... |
Line 978... |
| 942 |
|
978 |
|
| 943 |
$requete_selection_utilisateur = 'SELECT '.$champs_mappage['champ_id'].' '.
|
979 |
$requete_selection_utilisateur = 'SELECT '.$champs_mappage['champ_id'].' '.
|
| 944 |
'FROM '.$resultat_infos_annuaire['aa_bdd'].'.'.$resultat_infos_annuaire['aa_table'].' '.
|
980 |
'FROM '.$resultat_infos_annuaire['aa_bdd'].'.'.$resultat_infos_annuaire['aa_table'].' '.
|
| 945 |
'ORDER BY '.$champ_order_by.' '.$dir.' LIMIT '.$limit;
|
981 |
'ORDER BY '.$champ_order_by.' '.$dir.' LIMIT '.$limit;
|
| 946 |
|
982 |
|
| Line 947... |
Line 983... |
| 947 |
$resultat_selection_utilisateur = $this->requeteTous($requete_selection_utilisateur);
|
983 |
$resultat_selection_utilisateur = $this->requeteTous($requete_selection_utilisateur);
|
| 948 |
|
984 |
|
| 949 |
|
985 |
|
| 950 |
|
986 |
|
| 951 |
if(!$resultat_selection_utilisateur) {
|
987 |
if(!$resultat_selection_utilisateur) {
|
| 952 |
return false;
|
988 |
return false;
|
| 953 |
} else {
|
989 |
} else {
|
| 954 |
return $resultat_selection_utilisateur;
|
990 |
return $resultat_selection_utilisateur;
|
| 955 |
}
|
991 |
}
|
| 956 |
}
|
992 |
}
|
| Line 957... |
Line 993... |
| 957 |
|
993 |
|
| 958 |
public function obtenirNombreInscriptionsDansIntervalleDate($id_annuaire, $date_debut, $date_fin) {
|
994 |
public function obtenirNombreInscriptionsDansIntervalleDate($id_annuaire, $date_debut, $date_fin) {
|
| 959 |
|
995 |
|
| Line 973... |
Line 1009... |
| 973 |
|
1009 |
|
| 974 |
//$supprimer_donnes = false;
|
1010 |
//$supprimer_donnes = false;
|
| Line 975... |
Line 1011... |
| 975 |
$valeurs_mappees = array();
|
1011 |
$valeurs_mappees = array();
|
| 976 |
|
1012 |
|
| 977 |
$champs_date = $this->obtenirChampDateEtValidite($id_annuaire);
|
1013 |
$champs_date = $this->obtenirChampDateEtValidite($id_annuaire);
|
| 978 |
|
1014 |
|
| 979 |
$date_inscription = $champs_date['champ_date_inscription'];
|
1015 |
$date_inscription = $champs_date['champ_date_inscription'];
|
| 980 |
|
1016 |
|
| 981 |
$requete_nb_inscrits_intervalle = 'SELECT COUNT(*) as nb '.
|
1017 |
$requete_nb_inscrits_intervalle = 'SELECT COUNT(*) as nb '.
|
| 982 |
'FROM '.$resultat_infos_annuaire['aa_bdd'].'.'.$resultat_infos_annuaire['aa_table'].' '.
|
1018 |
'FROM '.$resultat_infos_annuaire['aa_bdd'].'.'.$resultat_infos_annuaire['aa_table'].' '.
|
| 983 |
'WHERE '.$date_inscription.' >= "'.date('Y-m-d H:i:s', $date_debut).'" '.
|
1019 |
'WHERE '.$date_inscription.' >= "'.date('Y-m-d H:i:s', $date_debut).'" '.
|
| 984 |
'AND '.$date_inscription.' < "'.date('Y-m-d H:i:s', $date_fin).'" ';
|
1020 |
'AND '.$date_inscription.' < "'.date('Y-m-d H:i:s', $date_fin).'" ';
|
| 985 |
|
1021 |
|
| 986 |
$resultat_nb_inscrits_intervalle = $this->requeteUn($requete_nb_inscrits_intervalle);
|
1022 |
$resultat_nb_inscrits_intervalle = $this->requeteUn($requete_nb_inscrits_intervalle);
|
| 987 |
|
1023 |
|
| 988 |
if(!$resultat_nb_inscrits_intervalle) {
|
1024 |
if(!$resultat_nb_inscrits_intervalle) {
|
| Line 989... |
Line 1025... |
| 989 |
return 0;
|
1025 |
return 0;
|
| 990 |
}
|
1026 |
}
|
| 991 |
|
1027 |
|
| 992 |
return $resultat_nb_inscrits_intervalle['nb'];
|
1028 |
return $resultat_nb_inscrits_intervalle['nb'];
|
| 993 |
|
1029 |
|
| Line 994... |
Line 1030... |
| 994 |
}
|
1030 |
}
|
| 995 |
|
1031 |
|
| 996 |
|
1032 |
|
| 997 |
|
1033 |
|
| Line 1132... |
Line 1168... |
| 1132 |
* @param array $valeurs un tableau de valeurs à rechercher
|
1168 |
* @param array $valeurs un tableau de valeurs à rechercher
|
| 1133 |
* @param array $id_a_inclure un tableau d'identifiants à inclure (pour chainer des recherches)
|
1169 |
* @param array $id_a_inclure un tableau d'identifiants à inclure (pour chainer des recherches)
|
| 1134 |
* @param boolean $exclusive indique si l'on recherche effectue une recherche exclusive ou inclusive (AND, ou OR)
|
1170 |
* @param boolean $exclusive indique si l'on recherche effectue une recherche exclusive ou inclusive (AND, ou OR)
|
| 1135 |
*/
|
1171 |
*/
|
| 1136 |
public function rechercherInscritDansAnnuaireMappe($id_annuaire, $valeurs, $id_a_inclure = array(), $exclusive = true, $numero_page = 1, $taille_page = 50, $ordre = 'champ_nom') {
|
1172 |
public function rechercherInscritDansAnnuaireMappe($id_annuaire, $valeurs, $id_a_inclure = array(), $exclusive = true, $numero_page = 1, $taille_page = 50, $ordre = 'champ_nom') {
|
| 1137 |
|
1173 |
|
| 1138 |
// Si la fonction est appelée et que tous les critères sont vides
|
1174 |
// Si la fonction est appelée et que tous les critères sont vides
|
| 1139 |
if(count($valeurs) == 0 && count($id_a_inclure) == 0) {
|
1175 |
if(count($valeurs) == 0 && count($id_a_inclure) == 0) {
|
| 1140 |
// on sort directement
|
1176 |
// on sort directement
|
| 1141 |
return array();
|
1177 |
return array();
|
| 1142 |
}
|
1178 |
}
|
| Line 1144... |
Line 1180... |
| 1144 |
$requete_informations_annuaire = 'SELECT aa_bdd, aa_table '.
|
1180 |
$requete_informations_annuaire = 'SELECT aa_bdd, aa_table '.
|
| 1145 |
'FROM annu_annuaire '.
|
1181 |
'FROM annu_annuaire '.
|
| 1146 |
'WHERE aa_id_annuaire = '.$id_annuaire.' ';
|
1182 |
'WHERE aa_id_annuaire = '.$id_annuaire.' ';
|
| Line 1147... |
Line 1183... |
| 1147 |
|
1183 |
|
| 1148 |
$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
|
1184 |
$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
|
| 1149 |
|
1185 |
|
| Line 1150... |
Line 1186... |
| 1150 |
$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
|
1186 |
$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
|
| 1151 |
|
1187 |
|
| 1152 |
$requete_recherche_inscrits = 'SELECT '.$champs_mappage[0]['champ_id'].
|
1188 |
$requete_recherche_inscrits = 'SELECT '.$champs_mappage[0]['champ_id'].
|
| Line 1171... |
Line 1207... |
| 1171 |
}
|
1207 |
}
|
| Line 1172... |
Line 1208... |
| 1172 |
|
1208 |
|
| 1173 |
// si le champ contient un % alors on ne cherche pas une valeur exacte : on utilise LIKE
|
1209 |
// si le champ contient un % alors on ne cherche pas une valeur exacte : on utilise LIKE
|
| 1174 |
foreach($valeurs as $champ => $valeur) {
|
1210 |
foreach($valeurs as $champ => $valeur) {
|
| 1175 |
if(trim($valeur) != '') {
|
1211 |
if(trim($valeur) != '') {
|
| 1176 |
|
1212 |
|
| 1177 |
if($champ == $champs_mappage[0]['champ_nom'] || $champ == $champs_mappage[0]['champ_prenom']) {
|
1213 |
if($champ == $champs_mappage[0]['champ_nom'] || $champ == $champs_mappage[0]['champ_prenom']) {
|
| 1178 |
if(strpos($valeur,"%") === false) {
|
1214 |
if(strpos($valeur,"%") === false) {
|
| 1179 |
$valeur = '%' . $valeur.'%';
|
1215 |
$valeur = '%' . $valeur.'%';
|
| 1180 |
}
|
1216 |
}
|
| Line 1187... |
Line 1223... |
| 1187 |
elseif($champ == $champs_mappage[0]['champ_mail']) {
|
1223 |
elseif($champ == $champs_mappage[0]['champ_mail']) {
|
| 1188 |
if(strpos($valeur,"%") === false) {
|
1224 |
if(strpos($valeur,"%") === false) {
|
| 1189 |
$valeur = '%'.$valeur.'%';
|
1225 |
$valeur = '%'.$valeur.'%';
|
| 1190 |
}
|
1226 |
}
|
| 1191 |
}
|
1227 |
}
|
| 1192 |
|
1228 |
|
| 1193 |
if(strpos($valeur,"%") === false) {
|
1229 |
if(strpos($valeur,"%") === false) {
|
| 1194 |
$operateur = ' = ';
|
1230 |
$operateur = ' = ';
|
| 1195 |
} else {
|
1231 |
} else {
|
| 1196 |
$operateur = ' LIKE ';
|
1232 |
$operateur = ' LIKE ';
|
| 1197 |
}
|
1233 |
}
|
| 1198 |
|
1234 |
|
| 1199 |
$requete_conditions_inscrits .= $champ.$operateur.$this->proteger($valeur).$separateur;
|
1235 |
$requete_conditions_inscrits .= $champ.$operateur.$this->proteger($valeur).$separateur;
|
| 1200 |
}
|
1236 |
}
|
| 1201 |
}
|
1237 |
}
|
| Line 1202... |
Line 1238... |
| 1202 |
|
1238 |
|
| Line 1229... |
Line 1265... |
| 1229 |
$resultat_recherche_inscrits = array();
|
1265 |
$resultat_recherche_inscrits = array();
|
| 1230 |
}
|
1266 |
}
|
| Line 1231... |
Line 1267... |
| 1231 |
|
1267 |
|
| 1232 |
return array('total' => $nb_inscrits, 'resultat' => $resultat_recherche_inscrits) ;
|
1268 |
return array('total' => $nb_inscrits, 'resultat' => $resultat_recherche_inscrits) ;
|
| 1233 |
}
|
1269 |
}
|
| 1234 |
|
1270 |
|
| Line 1235... |
Line 1271... |
| 1235 |
public function rechercherDoublonsDansAnnuaireMappe($id_annuaire, $numero_page = 1, $taille_page = 50) {
|
1271 |
public function rechercherDoublonsDansAnnuaireMappe($id_annuaire, $numero_page = 1, $taille_page = 50) {
|
| 1236 |
|
1272 |
|
| 1237 |
$requete_informations_annuaire = 'SELECT aa_bdd, aa_table '.
|
1273 |
$requete_informations_annuaire = 'SELECT aa_bdd, aa_table '.
|
| Line 1238... |
Line 1274... |
| 1238 |
'FROM annu_annuaire '.
|
1274 |
'FROM annu_annuaire '.
|
| 1239 |
'WHERE aa_id_annuaire = '.$id_annuaire.' ';
|
1275 |
'WHERE aa_id_annuaire = '.$id_annuaire.' ';
|
| 1240 |
|
1276 |
|
| Line 1241... |
Line 1277... |
| 1241 |
$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
|
1277 |
$resultat_informations_annuaire = $this->requeteUn($requete_informations_annuaire);
|
| 1242 |
|
1278 |
|
| 1243 |
$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
|
1279 |
$champs_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
|
| 1244 |
|
1280 |
|
| 1245 |
$champ_id = $champs_mappage[0]['champ_id'];
|
1281 |
$champ_id = $champs_mappage[0]['champ_id'];
|
| 1246 |
$champ_mail = $champs_mappage[0]['champ_mail'];
|
1282 |
$champ_mail = $champs_mappage[0]['champ_mail'];
|
| 1247 |
$champ_nom = $champs_mappage[0]['champ_nom'];
|
1283 |
$champ_nom = $champs_mappage[0]['champ_nom'];
|
| 1248 |
$champ_prenom = $champs_mappage[0]['champ_prenom'];
|
1284 |
$champ_prenom = $champs_mappage[0]['champ_prenom'];
|
| 1249 |
$champ_ville = $champs_mappage[0]['champ_ville'];
|
1285 |
$champ_ville = $champs_mappage[0]['champ_ville'];
|
| 1250 |
|
1286 |
|
| 1251 |
$requete_recherche_doublon = 'SELECT DISTINCT t2.'.$champ_id.
|
1287 |
$requete_recherche_doublon = 'SELECT DISTINCT t2.'.$champ_id.
|
| 1252 |
' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t1 '.
|
1288 |
' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t1 '.
|
| 1253 |
'LEFT JOIN '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t2 '.
|
1289 |
'LEFT JOIN '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t2 '.
|
| Line 1254... |
Line 1290... |
| 1254 |
'USING ('.$champ_nom.','.$champ_prenom.','.$champ_ville.') '.
|
1290 |
'USING ('.$champ_nom.','.$champ_prenom.','.$champ_ville.') '.
|
| 1255 |
'WHERE t1.'.$champ_id.' != t2.'.$champ_id.' '.
|
1291 |
'WHERE t1.'.$champ_id.' != t2.'.$champ_id.' '.
|
| 1256 |
'ORDER BY '.$champ_nom.', '.$champ_prenom.' ';
|
1292 |
'ORDER BY '.$champ_nom.', '.$champ_prenom.' ';
|
| 1257 |
|
1293 |
|
| 1258 |
|
1294 |
|
| 1259 |
|
1295 |
|
| 1260 |
$requete_nb_doublons = 'SELECT COUNT(DISTINCT t2.'.$champs_mappage[0]['champ_id'].') as nb'.
|
1296 |
$requete_nb_doublons = 'SELECT COUNT(DISTINCT t2.'.$champs_mappage[0]['champ_id'].') as nb'.
|
| Line 1261... |
Line 1297... |
| 1261 |
' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t1 '.
|
1297 |
' FROM '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t1 '.
|
| 1262 |
'LEFT JOIN '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t2 '.
|
1298 |
'LEFT JOIN '.$resultat_informations_annuaire['aa_bdd'].'.'.$resultat_informations_annuaire['aa_table'].' t2 '.
|
| 1263 |
'USING ('.$champ_nom.','.$champ_prenom.','.$champ_ville.') '.
|
1299 |
'USING ('.$champ_nom.','.$champ_prenom.','.$champ_ville.') '.
|
| 1264 |
'WHERE t1.'.$champ_id.' != t2.'.$champ_id;
|
1300 |
'WHERE t1.'.$champ_id.' != t2.'.$champ_id;
|
| 1265 |
|
1301 |
|
| 1266 |
$resultat_nb_doublons = $this->requeteUn($requete_nb_doublons);
|
1302 |
$resultat_nb_doublons = $this->requeteUn($requete_nb_doublons);
|
| 1267 |
|
1303 |
|
| 1268 |
$nb_doublons = 0;
|
1304 |
$nb_doublons = 0;
|
| 1269 |
if($resultat_nb_doublons) {
|
1305 |
if($resultat_nb_doublons) {
|
| 1270 |
$nb_doublons = $resultat_nb_doublons['nb'];
|
1306 |
$nb_doublons = $resultat_nb_doublons['nb'];
|
| 1271 |
}
|
1307 |
}
|
| 1272 |
|
1308 |
|