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'); |