Subversion Repositories Applications.annuaire

Compare Revisions

Ignore whitespace Rev 89 → Rev 90

/trunk/controleurs/AnnuaireControleur.php
203,66 → 203,31
$this->chargerModele('MetadonneeModele');
$id_annuaire = $valeurs['aa_id_annuaire'];
unset($valeurs['aa_id_annuaire']);
 
$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
$valeurs_mappees = array();
$valeurs_a_inserer = array();
 
$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
 
$verificateur = new VerificationControleur();
 
// on itère sur le tableau de valeur pour récupérer les champs de mappage;
foreach($valeurs as $nom_champ => $valeur) {
$valeurs_collectees = $verificateur->collecterValeurInscription($valeurs, $tableau_mappage);
$valeurs_mappees = $valeurs_collectees['valeurs_mappees'];
$valeurs_a_inserer = $valeurs_collectees['valeurs_a_inserer'];
 
// pour chaque valeur
// on extrait l'id du champ
$ids_champ = mb_split("_",$nom_champ, 3);
 
if(count($ids_champ) == 3) {
 
$type = $ids_champ[0];
$id_champ = $ids_champ[2];
$condition = $ids_champ[1];
 
// cas de la checkbox qui devrait être là mais pas cochée
if($condition == 'hidden' && !isset($valeurs[$type.'_'.$id_champ])) {
// dans ce cas là on fabrique une valeur vide
$valeurs[$type.'_'.$id_champ] = 0;
}
 
} else {
$type = $ids_champ[0];
$condition = false;
$id_champ = $ids_champ[1];
}
 
// Si le champ fait partie des champs mappés
$cle_champ = array_search($id_champ, $tableau_mappage[1]);
 
// on ajoute sa clé correspondante dans le tableau des champs mappés
// qui sont les champs à vérifier
if($condition) {
$condition = $valeurs[$type.'_'.$id_champ];
$valeurs_mappees[$id_champ] = array('valeur' => $valeur, 'type' => $type, 'condition' => $condition);
} else {
//$valeurs_mappees[$cle_champ] = $valeur;
$valeurs_mappees[$id_champ] = array('valeur' => $valeur, 'type' => $type, 'condition' => false);
}
 
if(!$condition) {
$valeurs_a_inserer[$nom_champ] = $valeur;
}
}
 
// vérification des champs minimaux : nom, prénom, mail, mot de passe
if($erreurs = $verificateur->verifierErreursChampsSelonType($id_annuaire,$valeurs_mappees, $tableau_mappage)) {
/*if($erreurs = $verificateur->verifierErreursChampsSelonType($id_annuaire,$valeurs_mappees, $tableau_mappage)) {
$valeurs['erreurs'] = $erreurs;
return $this->afficherFormulaireInscription($id_annuaire, $valeurs);
}
 
}*/
$valeurs_a_inserer['aa_id_annuaire'] = $id_annuaire ;
 
$code_confirmation = $this->InsererDansTableTemporaireEtCreerCodeConfirmationInscription($valeurs_a_inserer);
 
$this->chargerModele('DonneeTemporaireModele');
$code_confirmation = $this->DonneeTemporaireModele->stockerDonneeTemporaire($valeurs_a_inserer);
$mail = $valeurs_mappees[$tableau_mappage[1]['champ_mail']]['valeur'];
$nom = $valeurs_mappees[$tableau_mappage[1]['champ_nom']]['valeur'];
$prenom = $valeurs_mappees[$tableau_mappage[1]['champ_prenom']]['valeur'];
283,14 → 248,15
*/
public function ajouterNouvelleInscription($identifiant) {
 
$this->chargerModele('AnnuaireModele');
$this->chargerModele('DonneeTemporaireModele');
$valeurs = $this->DonneeTemporaireModele->chargerDonneeTemporaire($identifiant);
 
$valeurs = $this->AnnuaireModele->chargerDonneesInscriptionTemporaire($identifiant);
 
if(!$valeurs || count($valeurs) == 0) {
// TODO afficher vue en cas d'echec
}
 
$this->chargerModele('AnnuaireModele');
 
$id_annuaire = $valeurs['aa_id_annuaire'];
unset($valeurs['aa_id_annuaire']);
 
304,8 → 270,14
$valeurs_metadonnees = array();
 
$mail_nouvel_inscrit = $valeurs['mail_'.$tableau_mappage[1]['champ_mail']];
//$pass_nouvel_inscrit = $valeurs['pass_'.$tableau_mappage[1]['champ_pass']];
$pass_nouvel_inscrit = $valeurs['password_'.$tableau_mappage[1]['champ_pass']];
 
$nom = $valeurs['text_'.$tableau_mappage[1]['champ_nom']];
$prenom = $valeurs['text_'.$tableau_mappage[1]['champ_prenom']];
$mail = $mail_nouvel_inscrit;
$pass = $valeurs['password_'.$tableau_mappage[1]['champ_pass']];
$pays = $valeurs['select_'.$tableau_mappage[1]['champ_pays']];
 
// on itère sur le tableau de valeur pour récupérer les métadonnées;
foreach($valeurs as $nom_champ => $valeur) {
 
333,8 → 305,15
}
}
 
if(isset($valeurs_mappees[$tableau_mappage[0]['champ_pays']])) {
$pays = $valeurs_mappees[$tableau_mappage[0]['champ_pays']];
$valeurs_metadonnees[$tableau_mappage[1]['champ_pays']] = $pays;
$pays = $this->MetadonneeModele->renvoyerCorrespondanceAbreviationId($pays);
$valeurs_mappees[$tableau_mappage[0]['champ_pays']] = $pays;
}
 
// obtenir l'id du nouvel arrivant en faisant un select sur le mail qui doit être unique
$id_nouvel_inscrit = $this->ajouterNouvelleInscriptionDansAnnuaireMappe($id_annuaire,$valeurs_mappees, $tableau_mappage[0]);
$id_nouvel_inscrit = $this->AnnuaireModele->ajouterInscriptionDansAnnuaireMappe($id_annuaire,$valeurs_mappees, $tableau_mappage[0]);
 
// les champs de metadonnees arrivent avec un identifiant sous la forme type_condition_id
foreach($valeurs_metadonnees as $nom_champ => $valeur) {
350,19 → 329,28
} else {
 
// Si une des insertions échoue, on supprime les méta valeurs déjà entrées.
// La transaction du pauvre en quelque sorte
$this->MetadonneeModele->supprimerValeursMetadonneesParIdEnregistrementLie($id_nouvel_inscrit);
return false;
}
}
 
//TODO: gérer le cas de spip et de wikini par un multimapping des champs
//TODO: voir openid
$appli_controleur = new ApplicationExterneControleur();
 
$params = array (
'id_utilisateur' => $id_nouvel_inscrit,
'prenom' => $prenom,
'nom' => $nom,
'mail' => $mail,
'pass' => $pass,
'pays' => $pays,
'nouveau_pass' => '',
'nouveau_mail' => ''
);
 
// TODO appel des plugins d'inscription
// on crée un controleur appelle les hooks de résumé pour chaque application externe
// on crée un controleur qui appelle les webservice pour chaque application externe
$resumes_controleur = new ApplicationExterneControleur();
$resumes_controleur->ajouterInscription($id_nouvel_inscrit, $mail_nouvel_inscrit);
$resumes_controleur->ajouterInscription($id_nouvel_inscrit, $params);
 
// Si tout a réussi on supprime les données d'inscription temporaire
$this->AnnuaireModele->supprimerDonneesInscriptionTemporaire($identifiant);
370,9 → 358,8
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire, false);
 
// Identifier l'utilisateur !
//$identificateur = new IdentificationControleur();
//$identificateur->fabriquerCookie($mail_nouvel_inscrit, $pass_nouvel_inscrit, false);
//$identificateur->loggerUtilisateurParCookie();
$identificateur = new IdentificationControleur();
$identificateur->loggerUtilisateur($mail, $pass);
 
// S'il existe une page d'accueil spécifique à l'annuaire pour la confirmation d'inscription
if($this->templateExiste($annuaire['informations']['aa_code'].'_inscription_confirmation', Config::get('dossier_squelettes_annuaires'))) {
387,29 → 374,6
}
 
/**
* Ajoute un nouvel inscrit dans l'annuaire mappé donné en paramètre.
* En cas de succès, renvoie l'identifiant du nouvel inscrit qui sera
* utilisé pour insérer les métadonnées liées
*
* @param int $id_annuaire identifiant de l'annuaire auquel sera lié le nouvel inscrit
* @param Array $valeurs_mappees Tableau contenant les valeurs à insérer et ayant comme clés des noms de colonnes
* @param Array $noms_champs Tableau contenant les noms des champs à insérer
* @return int l'identifiant unique du nouvel inscrit
*/
public function ajouterNouvelleInscriptionDansAnnuaireMappe($id_annuaire,$valeurs_mappees, $noms_champs) {
 
$this->chargerModele('AnnuaireModele');
$resultat = $this->AnnuaireModele->ajouterInscriptionDansAnnuaireMappe($id_annuaire, $valeurs_mappees, $noms_champs);
 
return $resultat;
}
 
public function afficherFormulaireIdentification($donnees = array()) {
 
return $this->getVue(Config::get('dossier_squelettes_formulaires').'identification', $donnees);
}
 
/**
* Affiche la fiche principale d'un utilisateur
* @param int $id_annuaire l'identifiant de l'annuaire
* @param int $id_utilisateur l'identifiant de l'utilisateur
420,36 → 384,13
// Chargement des informations de l'utilisateur dans la table annuaire principale
$this->chargerModele('AnnuaireModele');
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire);
$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
$tableau_valeurs = $this->AnnuaireModele->obtenirValeursUtilisateur($id_annuaire, $id_utilisateur,$tableau_mappage[0]);
 
// chargement des métadonnées associées à l'utilisateur
$this->chargerModele('MetadonneeModele');
$champs_metadonnees= $this->MetadonneeModele->chargerListeValeursMetadonneesUtilisateur($id_annuaire, $id_utilisateur);
 
$verificateur = new VerificationControleur();
 
// on vérifie s'il existe un type d'affichage particulier pour les colonnes de l'annuaire mappé
foreach($tableau_mappage[0] as $cle => $nom_champ) {
 
$valeur = $tableau_valeurs[$nom_champ] ;
if(isset($tableau_mappage[1][$cle])) {
 
$tableau_valeurs[$cle] = array('amv_valeur' => $valeur,'amc_id_champ' => $tableau_mappage[1][$cle]);
$type_affichage = $this->MetadonneeModele->renvoyerTypeAffichagePourColonne($tableau_mappage[1][$cle]);
if($type_affichage) {
$tableau_valeurs[$cle]['amc_ce_type_affichage'] = $type_affichage;
}
 
} else {
$tableau_valeurs[$cle] = $valeur;
}
unset($tableau_valeurs[$nom_champ]);
}
 
$donnees['id_annuaire'] = $id_annuaire;
$donnees['id_utilisateur'] = $id_utilisateur;
$champs = array_merge($tableau_valeurs, $champs_metadonnees);
$verificateur = new VerificationControleur();
$champs = $this->obtenirValeursUtilisateur($id_annuaire, $id_utilisateur);
 
foreach($champs as $cle => $champ) {
 
464,12 → 405,10
 
$donnees['champs'] = $champs;
 
if(Registre::getInstance()->get('est_admin')) {
/*if(Registre::getInstance()->get('est_admin')) {
$donnees['formulaire_blocage'] = $this->getVue(Config::get('dossier_squelettes_elements').'blocage',$donnees);
}
}*/
 
//Debug::printr($champs);
 
$fiche_inscrit = $this->getVue(Config::get('dossier_squelettes_fiches').$annuaire['informations']['aa_code'].'_fiche',$donnees);
 
return $fiche_inscrit;
614,40 → 553,30
}
 
public function afficherFormulaireModificationInscription($id_annuaire, $id_utilisateur, $erreurs = array()) {
 
$this->chargerModele('AnnuaireModele');
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire, false);
 
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire);
$donnees['aa_id_annuaire'] = $id_annuaire;
$this->chargerModele('MetadonneeModele');
$donnees['aa_id_annuaire'] = $id_annuaire;
 
$metadonnees = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id_annuaire);
$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
 
$valeurs_annuaire = $this->AnnuaireModele->obtenirValeursUtilisateur($id_annuaire, $id_utilisateur,$tableau_mappage[0]);
$valeurs_metadonnees= $this->MetadonneeModele->chargerListeValeursMetadonneesUtilisateur($id_annuaire, $id_utilisateur);
 
foreach($tableau_mappage[0] as $cle => $nom_champ) {
$valeur = $valeurs_annuaire[$nom_champ] ;
if($cle != 'champ_id') {
$valeurs_metadonnees[$metadonnees[$tableau_mappage[1][$cle]]['amc_abreviation']] = array('amv_valeur' => $valeur,'amc_id_champ' => $tableau_mappage[1][$cle]) ;
}
}
 
$champ_metadonnees = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id_annuaire);
$valeurs_metadonnees = $this->obtenirValeursUtilisateur($id_annuaire, $id_utilisateur);
// TODO: ceci charge toutes les métadonnées, voir si l'on ne peut pas parser le formulaire
// pour ne charger que ce qui est nécéssaire
foreach($metadonnees as $metadonnee) {
foreach($champ_metadonnees as $champ_metadonnee) {
 
$id_champ = $metadonnee['amc_id_champ'];
$nom_champ = $metadonnee['amc_abreviation'];
 
$id_champ = $champ_metadonnee['amc_id_champ'];
$nom_champ = $champ_metadonnee['amc_abreviation'];
if(isset($valeurs_metadonnees[$nom_champ])) {
$metadonnee['valeur_defaut'] = $valeurs_metadonnees[$nom_champ];
$champ_metadonnee['valeur_defaut'] = $valeurs_metadonnees[$nom_champ];
}
 
$metadonnee['aa_id_annuaire'] = $id_annuaire;
$champ_metadonnee['aa_id_annuaire'] = $id_annuaire;
// on charge le formulaire d'affichage de chacune des métadonnées
$donnees['champs'][$nom_champ] = $this->afficherFormulaireChampMetadonnees($id_champ,$metadonnee);
$donnees['champs'][$nom_champ] = $this->afficherFormulaireChampMetadonnees($id_champ,$champ_metadonnee);
 
}
 
787,6 → 716,15
return $this->afficherFormulaireModificationInscription($id_annuaire,$id_utilisateur,$erreurs);
}
 
 
if(isset($valeurs_mappees[$tableau_mappage[0]['champ_pays']])) {
$pays = $valeurs_mappees[$tableau_mappage[0]['champ_pays']];
$valeurs_metadonnees[$tableau_mappage[1]['champ_pays']] = $pays;
$pays = $this->MetadonneeModele->renvoyerCorrespondanceAbreviationId($pays);
$valeurs_mappees[$tableau_mappage[0]['champ_pays']] = $pays;
}
 
 
$this->chargerModele('AnnuaireModele');
$modification_annuaire = $this->AnnuaireModele->modifierInscriptionDansAnnuaireMappe($id_annuaire, $id_utilisateur ,$valeurs_mappees, $tableau_mappage[0]);
 
793,20 → 731,24
$nouveau_mail = $this->AnnuaireModele->obtenirMailParId($id_annuaire, $id_utilisateur);
 
// Si le mail a changé alors il faut appeler les applications externes pour modification
if($ancien_mail != $mail_utilisateur) {
if($ancien_mail != $mail_utilisateur || $tentative_changemement_mdp) {
 
$nom = $valeurs['text_'.$tableau_mappage[1]['champ_nom']];
$prenom = $valeurs['text_'.$tableau_mappage[1]['champ_prenom']];
$ancien_mail = $ancien_mail;
$mail = $mail_utilisateur;
$pass = $valeurs['password_'.$tableau_mappage[1]['champ_pass']];
 
$appli_controleur = new ApplicationExterneControleur();
 
//TODO ajouter une fonction renvoyant les infos à diffuser pour la modification
// utiliser la fonction infos Open id ?
$params = array (
'id_utilisateur' => $id_utilisateur,
'prenom' => 'Aurelien',
'nom' => 'Peronnet',
'mail' => $mail_utilisateur,
'pass' => '',
'pays' => 'fr',
'nouveau_pass' => '',
'prenom' => $prenom,
'nom' => $nom,
'mail' => $mail,
'pass' => $pass,
'pays' => $pays,
'nouveau_pass' => $pass,
'nouveau_mail' => $nouveau_mail
);
 
901,7 → 843,6
public function afficherFormulaireOubliMotDePasse($id_annuaire) {
 
$donnees['aa_id_annuaire'] = $id_annuaire;
 
return $this->getVue(Config::get('dossier_squelettes_formulaires').'oubli_mdp',$donnees);
}
 
956,17 → 897,28
$this->chargerModele('MetadonneeModele');
$suppression_metadonnees = $this->MetadonneeModele->supprimerValeursMetadonneesParIdEnregistrementLie($id_utilisateur);
 
if(!$suppression_inscription || !$suppression_metadonnees) {
/*if(!$suppression_inscription || !$suppression_metadonnees) {
$donnees['erreurs']['inscription'] = $suppression_inscription;
$donnees['erreurs']['metadonnees'] = $suppression_metadonnees;
$donnees['erreurs']['titre'] = 'Impossible de supprimer l\'inscription ';
 
return $this->getVue(Config::get('dossier_squelettes_elements').'erreurs',$donnees);
}
}*/
 
$params = array (
'id_utilisateur' => $id_utilisateur,
'prenom' => '',
'nom' => '',
'mail' => $mail_utilisateur,
'pass' => '',
'pays' => '',
'nouveau_pass' => '',
'nouveau_mail' => ''
);
 
// on appelle les controleur de lettre actu et d'applications externes
$appli_controleur = new ApplicationExterneControleur();
$appli_controleur->supprimerInscription($id_utilisateur, $mail_utilisateur);
$appli_controleur->supprimerInscription($id_utilisateur, $params);
 
// pour qu'ils lancent les procédures de désinscription associées
$lettre_controleur = new LettreControleur();
996,8 → 948,6
 
foreach($metadonnees as $nom_champ => $metadonnee) {
 
//echo $nom_champ;
 
$id_champ = $metadonnee['amc_id_champ'];
$type_champ = $metadonnee['amc_ce_template_affichage'];
$nom_champ = $metadonnee['amc_abreviation'];
1162,22 → 1112,8
$champ_critere = $tableau_mappage[0]['champ_code_postal'];
}
 
//Debug::printr($valeurs_get);
 
$resultat_annuaire_mappe = $this->AnnuaireModele->rechercherInscritDansAnnuaireMappeParChamp($id_annuaire, $champ_critere, $valeur, true, $taille_page, $numero_page);
 
/*
// on recherche dans les métadonnées
$this->chargerModele('MetadonneeModele');
// le résultat est un ensemble d'identifiants
$resultat_metadonnees = $this->MetadonneeModele->rechercherDansValeurMetadonnees($id_annuaire,$valeurs_recherchees, false);
*/
 
// on recherche les infos dans la table annuaire mappée
// en incluant ou excluant les id déjà trouvées dans les metadonnées
// suivant le critères d'exclusivité ou non
//$resultat_annuaire_mappe = $this->AnnuaireModele->rechercherInscritDansAnnuaireMappe($id_annuaire,$valeurs_mappees, $resultat_metadonnees, $exclusive);
 
$resultat_recherche = $resultat_annuaire_mappe;
 
$nb_resultats = $resultat_recherche['total'];
1203,6 → 1139,14
 
/** --------------------------------- Fonction d'extraction d'informations utilisées par les web services -------------------------------------------*/
 
public function obtenirIdParMail($id_annuaire, $mail_utilisateur) {
$this->chargerModele('AnnuaireModele');
$id = $this->AnnuaireModele->obtenirIdParMail('1',$mail_utilisateur);
return $id;
}
public function utilisateurExiste($id_annuaire,$id, $utilise_mail = true) {
 
$this->chargerModele('AnnuaireModele');
1228,6 → 1172,8
 
$valeurs = $this->AnnuaireModele->obtenirValeursUtilisateur($id_annuaire,$id, $champs_mappage[0]);
 
// TODO: valeurs incomplètes, voir ce qu'on renvoie obligatoirement
// et ce qu'on ne renvoie pas
$valeurs_open_id = array('fullname' => $valeurs[$champs_mappage[0]['champ_nom']].' '.$valeurs[$champs_mappage[0]['champ_prenom']],
'nickname' => $valeurs[$champs_mappage[0]['champ_nom']],
'dob' => '25/10/1984',
1270,8 → 1216,9
*/
private function envoyerMailConfirmationInscription($adresse_mail, $nom, $prenom, $code_confirmation_inscription) {
 
$base_url = clone(Registre::getInstance()->get('base_url_application'));
 
$url_cette_page = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$base_url = new URL($url_cette_page);
$base_url->setVariablesRequete(array());
$base_url->setVariableRequete('m','annuaire_inscription_confirmation');
$base_url->setVariableRequete('id',$code_confirmation_inscription);
 
1317,25 → 1264,7
 
}
 
/**
* Insère les données dans la table d'inscription temporaire et crée un code de confirmation (à insérer dans le mail)
* @param Array $valeurs les valeurs à insérer
*/
private function InsererDansTableTemporaireEtCreerCodeConfirmationInscription($valeurs) {
 
// Le code de confirmation est constitué des 8 premiers caractères de l'identifiant de session
$code_confirmation = substr(session_id(), 0, 8) ;
 
$this->chargerModele('AnnuaireModele');
 
if(!$this->AnnuaireModele->ajouterNouvelleInscriptionTemporaire($code_confirmation, $valeurs)) {
return false;
}
 
return $code_confirmation;
}
 
 
/**--------------------------- Fonctions de vérification et de correspondance des champs --------------------*/
 
/**
1464,8 → 1393,6
$url_pages[$i] = $url_page_prev->getUrl();
}
 
 
 
$donnees = array('url_pages' => $url_pages, 'numero_page' => $numero_page,
'page_precedente' => $page_precedente, 'page_suivante' => $page_suivante,
'url_page_precedente' => $url_page_precedente, 'url_page_suivante' => $url_page_suivante,
1560,7 → 1487,63
return $this->afficherFicheUtilisateur($id_annuaire, $id_utilisateur) ;
}
}
public function obtenirValeursUtilisateur($id_annuaire, $id_utilisateur) {
$this->chargerModele('AnnuaireModele');
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire, false);
 
$this->chargerModele('MetadonneeModele');
 
$metadonnees = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id_annuaire);
$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
 
$valeurs_annuaire = $this->AnnuaireModele->obtenirValeursUtilisateur($id_annuaire, $id_utilisateur,$tableau_mappage[0]);
$valeurs_metadonnees= $this->MetadonneeModele->chargerListeValeursMetadonneesUtilisateur($id_annuaire, $id_utilisateur);
 
foreach($tableau_mappage[0] as $cle => $nom_champ) {
 
if($cle != 'champ_id') {
 
$nom_champ_formulaire = $metadonnees[$tableau_mappage[1][$cle]]['amc_abreviation'];
$valeur = $valeurs_annuaire[$nom_champ] ;
if(isset($valeurs_metadonnees[$nom_champ_formulaire])) {
if(isset($valeurs_metadonnees[$nom_champ_formulaire]['amv_valeur']) && $valeurs_metadonnees[$nom_champ_formulaire]['amv_valeur'] != '') {
$valeur = $valeurs_metadonnees[$nom_champ_formulaire]['amv_valeur'];
}
$informations_champ = array('amv_valeur' => $valeur,'amc_id_champ' => $tableau_mappage[1][$cle]) ;
$valeurs_metadonnees[$nom_champ_formulaire] = array_merge($valeurs_metadonnees[$nom_champ_formulaire],$informations_champ);
} else {
$informations_champ = array('amv_valeur' => $valeur,'amc_id_champ' => $tableau_mappage[1][$cle]) ;
$valeurs_metadonnees[$nom_champ_formulaire] = $informations_champ;
}
}
}
return $valeurs_metadonnees;
}
public function obtenirTableauDerniersInscrits($id_annuaire, $limite = '20') {
// Chargement des informations de l'utilisateur dans la table annuaire principale
$this->chargerModele('AnnuaireModele');
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire);
$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
$this->chargerModele('AnnuaireModele');
$tableau_ids = $this->AnnuaireModele->obtenirTableauIdsUtilisateurs($id_annuaire, $tableau_mappage[0]);
$derniers_inscrits = array();
foreach($tableau_ids as $id) {
$id_utilisateur = $id[$tableau_mappage[0][champ_id]];
$derniers_inscrits[$id_utilisateur] = $this->obtenirValeursUtilisateur($id_annuaire, $id_utilisateur);
}
return $derniers_inscrits;
}
 
public function chargerNombreAnnuaireListeInscritsParPays($id_annuaire, $id_zones) {
 
$annuaire_modele = $this->getModele('AnnuaireModele');