Subversion Repositories Applications.annuaire

Compare Revisions

Regard whitespace Rev 448 → Rev 449

/trunk/controleurs/AnnuaireControleur.php
13,17 → 13,14
 
class AnnuaireControleur extends AppControleur {
 
 
/**
* Fonction affichant la vue par défaut, ici le menu principal
* @return String la vue contenant le menu
*/
public function index() {
if(Registre::getInstance()->get('est_admin')) {
$data = array();
$index_annuaire = $this->getVue('index_annuaire', $data);
 
return $index_annuaire;
} else {
return $this->afficherFicheUtilisateur(Registre::getInstance()->get('identification_id'));
34,11 → 31,9
* Fonction d'affichage par défaut
*/
public function executerActionParDefaut() {
 
if(Registre::getInstance()->get('est_admin')) {
$data = array();
$index_annuaire = $this->getVue('index_annuaire', $data);
 
return $index_annuaire;
} else {
return $this->afficherFicheUtilisateur(Registre::getInstance()->get('identification_id'));
83,7 → 78,6
* @return string la vue contenant les inscrits à l'annuaire
*/
public function chargerAnnuaireListeInscrits($id_annuaire, $numero_page = 1, $taille_page = 50) {
 
$this->chargerModele('AnnuaireModele');
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire);
$data['erreurs'] = array();
137,7 → 131,6
* @param Array $donnees le tableau de données pour préremplir le formulaire si besoin (en cas de retour erreur)
*/
public function afficherFormulaireInscription($id_annuaire, $donnees=array()) {
$this->chargerModele('AnnuaireModele');
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire, false);
 
151,7 → 144,6
// 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) {
 
$id_champ = $metadonnee['amc_id_champ'];
$type_champ = $metadonnee['amc_ce_template_affichage'];
$nom_champ = $metadonnee['amc_abreviation'];
172,11 → 164,8
$donnees['tableau_mappage'] = $tableau_mappage[1];
 
if($this->annuaireAvoirFormulaireInscription($annuaire['informations']['aa_code'])) {
$formulaire_inscription = $this->GetVue(Config::get('dossier_squelettes_formulaires').$annuaire['informations']['aa_code'].'_inscription',$donnees);
} else {
$tableau_nom_mappage = $this->obtenirNomsChampsMappageAnnuaire($id_annuaire);
$donnees['mappage_nom_champs'] = $tableau_nom_mappage;
195,7 → 184,6
* @return string la vue contenant la confirmation de l'inscription
*/
public function ajouterInscriptionTemporaire($valeurs) {
 
$this->chargerModele('MetadonneeModele');
$id_annuaire = $valeurs['aa_id_annuaire'];
unset($valeurs['aa_id_annuaire']);
235,10 → 223,7
$messagerie = new MessageControleur();
$messagerie->envoyerMailConfirmationInscription($mail,
$nom,
$prenom,
$code_confirmation);
$messagerie->envoyerMailConfirmationInscription($mail, $nom, $prenom, $code_confirmation);
$tableau_vide = array();
// Si tout s'est bien passé, on affiche la page de confirmation
251,7 → 236,6
* @param int $indentifant L'identifant de session d'une tentative d'inscription
*/
public function ajouterNouvelleInscription($identifiant) {
 
$this->chargerModele('DonneeTemporaireModele');
$valeurs = $this->DonneeTemporaireModele->chargerDonneeTemporaire($identifiant);
 
298,7 → 282,6
 
// on itère sur le tableau de valeur pour récupérer les métadonnées;
foreach($valeurs as $nom_champ => $valeur) {
 
// pour chaque valeur
// on extrait l'id du champ
$ids_champ = mb_split("_",$nom_champ, 2);
336,7 → 319,6
 
// les champs de metadonnees arrivent avec un identifiant sous la forme type_condition_id
foreach($valeurs_metadonnees as $nom_champ => $valeur) {
 
// pour chaque valeur
// on extrait l'id du champ
$ids_champ = mb_split("_",$nom_champ);
380,7 → 362,6
}
 
public function ajouterNouvelleInscriptionSansIdentifier($code_confirmation) {
// TODO: ajouter un controle d'erreurs
$inscription_ajout = $this->ajouterNouvelleInscription($code_confirmation);
$id_annuaire = $inscription_ajout['id_annuaire'];
389,7 → 370,6
}
public function ajouterNouvelleInscriptionEtIdentifier($code_confirmation) {
$inscription_ajout = $this->ajouterNouvelleInscription($code_confirmation);
 
if(!$inscription_ajout) {
402,7 → 382,6
$vue_resultat_inscription = $this->getVue(Config::get('dossier_squelettes_annuaires').'information_simple',$donnees).$identificateur->afficherFormulaireIdentification(Config::get('annuaire_defaut'), array());
} else {
$mail = $inscription_ajout['mail'];
$pass = $inscription_ajout['pass'];
$id_nouvel_inscrit = $inscription_ajout['id_utilisateur'];
436,7 → 415,6
}
public function afficherInscritsEnAttenteConfirmation($id_annuaire) {
$donnees['id_annuaire'] = $id_annuaire;
$this->chargerModele('AnnuaireModele');
451,15 → 429,14
$inscrits_en_attente_formates = array();
foreach($inscrits_en_attente as $inscrit_attente) {
if($id_annuaire == $inscrit_attente['aa_id_annuaire']) {
$lien_confirmation_inscription = AppControleur::getUrlConfirmationInscriptionAdmin($inscrit_attente['code_confirmation']);
$lien_suppression_inscription = AppControleur::getUrlSuppressionInscriptionTemporaire($id_annuaire, $inscrit_attente['code_confirmation']);
 
$date_inscription_formatee = AppControleur::formaterDateMysqlVersDateAnnuaire($inscrit_attente['date']);
$inscrits_en_attente_formates[] = array('lien_confirmation' => $lien_confirmation_inscription,
$inscrits_en_attente_formates[] = array(
'lien_confirmation' => $lien_confirmation_inscription,
'lien_suppression' => $lien_suppression_inscription,
'date_inscription' => $date_inscription_formatee,
'mail' => $inscrit_attente['mail_'.$tableau_mappage[1]['champ_mail']],
474,7 → 451,6
}
public function supprimerInscriptionEnAttente($id_annuaire, $id_inscrit_en_attente) {
$this->chargerModele('DonneeTemporaireModele');
$inscrits_en_attente = $this->DonneeTemporaireModele->supprimerDonneeTemporaire($id_inscrit_en_attente);
482,7 → 458,6
}
public function afficherPage($id_annuaire, $id_utilisateur, $page) {
$donnees['id_annuaire'] = $id_annuaire;
$donnees['id_utilisateur'] = $id_utilisateur;
498,7 → 473,6
$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
foreach($champ_metadonnees as $champ_metadonnee) {
 
$id_champ = $champ_metadonnee['amc_id_champ'];
$nom_champ = $champ_metadonnee['amc_abreviation'];
527,7 → 501,6
* @return string la vue contenant la fiche utilisateur
*/
public function afficherFicheUtilisateur($id_annuaire, $id_utilisateur) {
// Chargement des informations de l'utilisateur dans la table annuaire principale
$this->chargerModele('AnnuaireModele');
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire);
572,7 → 545,6
* @return string la vue contenant les contributions utilisateur
*/
public function afficherFicheResumeUtilisateur($id_annuaire, $id_utilisateur) {
 
$this->chargerModele('AnnuaireModele');
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire);
608,7 → 580,6
}
 
public function gererInscriptionExterne($id_annuaire, $id_utilisateur) {
 
$this->chargerModele('AnnuaireModele');
$mail_utilisateur = $this->AnnuaireModele->obtenirMailParId($id_annuaire,$id_utilisateur);
 
640,7 → 611,6
}
 
public function afficherFormulaireModificationInscription($id_annuaire, $id_utilisateur, $erreurs = array()) {
$this->chargerModele('AnnuaireModele');
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire);
677,12 → 647,9
 
// Si le formulaire spécifique à l'annuaire existe, on l'affiche
if($this->annuaireAvoirFormulaireModificationInscription($annuaire['informations']['aa_code'])) {
// Sinon on prend celui par defaut
$formulaire_modification = $this->GetVue(Config::get('dossier_squelettes_formulaires').$annuaire['informations']['aa_code'].'_modification',$donnees);
} else {
$tableau_nom_mappage = $this->obtenirNomsChampsMappageAnnuaire($id_annuaire);
$donnees['mappage_nom_champs'] = $tableau_nom_mappage;
694,7 → 661,6
}
 
public function modifierInscription($valeurs) {
$this->chargerModele('MetadonneeModele');
 
$id_utilisateur = $valeurs['id_utilisateur'];
748,7 → 714,6
 
// cas de la checkbox qui devrait être là mais pas cochée
if($condition == 'hidden') {
if(!isset($valeurs[$type.'_'.$id_champ])) {
// dans ce cas là on fabrique une valeur qui vaut 0
$nom_champ = $type.'_'.$id_champ;
765,7 → 730,6
 
// cas du changement de mot de passe
if($type == 'password') {
 
if($condition == 'conf') {
$valeur_a_ignorer = true;
}
875,7 → 839,6
if($this->MetadonneeModele->valeurExiste($id_champ,$id_utilisateur)) {
// On se contente de la modifier
$this->MetadonneeModele->modifierValeurMetadonnee($id_champ,$id_utilisateur,$valeur);
 
} else {
// S'il n'existe pas de valeur, on ajoute une nouvelle ligne à la table de valeurs de meta données
if($this->MetadonneeModele->ajouterNouvelleValeurMetadonnee($id_champ,$id_utilisateur,$valeur)) {
898,7 → 861,6
}
 
public function bloquerDebloquerUtilisateur($id_annuaire, $id_utilisateur, $bloquer = true) {
 
$annuaire_modele = $this->getModele('AnnuaireModele');
$champs_description = $annuaire_modele->obtenirChampsDescriptionAnnuaire($id_annuaire);
 
920,7 → 882,6
* @param int $id_annuaire l'identifiant de l'annuaire associé
*/
public function afficherFormulaireOubliMotDePasse($id_annuaire) {
 
$donnees['aa_id_annuaire'] = $id_annuaire;
return $this->getVue(Config::get('dossier_squelettes_formulaires').'oubli_mdp',$donnees);
}
933,7 → 894,6
*
*/
public function reinitialiserMotDePasse($id_annuaire, $mail) {
 
$this->chargerModele('AnnuaireModele');
$verificateur = new VerificationControleur();
$messagerie = new MessageControleur();
969,7 → 929,6
}
public function afficherFormulaireSuppressionInscription($id_annuaire, $id_utilisateur) {
 
$donnees['id_annuaire'] = $id_annuaire;
$donnees['id_utilisateur'] = $id_utilisateur;
return $this->getVue(Config::get('dossier_squelettes_formulaires').'suppression_inscription',$donnees);
982,7 → 941,6
* @param int $id_utilisateur l'identifiant de l'utilisateur à supprimer
*/
public function supprimerInscription($id_annuaire, $id_utilisateur) {
if(!$id_utilisateur || $id_utilisateur == '') {
return $this->index();
}
1042,7 → 1000,6
if($this->annuaireAvoirPagePostDesinscription($annuaire['informations']['aa_code'])) {
$informations_desinscription = $this->GetVue(Config::get('dossier_squelettes_annuaires').$annuaire['informations']['aa_code'].'_desinscription_confirmation',$donnees);
} else {
// Sinon on prend celui par defaut
$donnees['titre'] = 'Vous êtes maintenant désinscrit de l\'annuaire';
$donnees['message'] = 'Votre désinscription a bien été prise en compte <br />';
1063,7 → 1020,6
* @return string le html contenant le formulaire de recherche
*/
public function afficherFormulaireRecherche($id_annuaire, $donnees = array()) {
 
$this->chargerModele('AnnuaireModele');
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire, false);
 
1076,7 → 1032,6
// pour ne charger que ce qui est nécéssaire
 
foreach($metadonnees as $nom_champ => $metadonnee) {
 
$id_champ = $metadonnee['amc_id_champ'];
$type_champ = $metadonnee['amc_ce_template_affichage'];
$nom_champ = $metadonnee['amc_abreviation'];
1093,16 → 1048,12
 
// Si le formulaire spécifique à l'annuaire existe, on l'affiche
if($this->annuaireAvoirFormulaireRecherche($annuaire['informations']['aa_code'])) {
// Sinon on prend celui par defaut
$formulaire_recherche = $this->GetVue(Config::get('dossier_squelettes_formulaires').$annuaire['informations']['aa_code'].'_recherche',$donnees);
} else {
$tableau_nom_mappage = $this->obtenirNomsChampsMappageAnnuaire($id_annuaire);
$donnees['mappage_nom_champs'] = $tableau_nom_mappage;
$formulaire_recherche = $this->genererFormulaireRecherche($donnees);
}
return $formulaire_recherche;
1116,7 → 1067,6
* @param boolean $exclusive indique si la recherche si fait sur tous les critères ou bien sur au moins un
*/
public function rechercherInscrit($id_annuaire, $valeurs_recherchees, $exclusive = true) {
$this->chargerModele('AnnuaireModele');
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire, true);
 
1195,9 → 1145,7
if($this->annuaireAvoirPageResultatRecherche($annuaire['informations']['aa_code'])) {
// on l'affiche
$vue_resultat_recherche = $this->getVue(Config::get('dossier_squelettes_annuaires').$annuaire['informations']['aa_code'].'_resultat_recherche', $donnees);
 
} else {
// sinon on prend celle par défaut
$tableau_nom_mappage = $this->obtenirNomsChampsMappageAnnuaire($id_annuaire);
$donnees['mappage_nom_champs'] = $tableau_nom_mappage;
1217,7 → 1165,6
* @param int $taille_page la taille de page
*/
public function rechercherInscritParlocalisation($id_annuaire,$valeurs_recherchees) {
 
if(isset($_GET['taille_page'])) {
$taille_page = $_GET['taille_page'];
} else {
1277,9 → 1224,8
$donnees['id_annuaire'] = $id_annuaire;
$donnees['nb_resultats'] = $nb_resultats;
$donnees['criteres'] = urlencode(serialize(array('select_'.$tableau_mappage[1]['champ_pays'] => $valeurs_recherchees['pays'],
$donnees['criteres'] = urlencode(serialize(array(
'select_'.$tableau_mappage[1]['champ_pays'] => $valeurs_recherchees['pays'],
'text_'.$tableau_mappage[1]['champ_code_postal'] => $valeurs_recherchees['departement'],
'exclusive' => true
)));
1299,9 → 1245,7
$donnees_navigation = $cartographe->obtenirUrlsNavigation($id_annuaire,$valeurs_recherchees['continent'],$valeurs_recherchees['pays'],$valeurs_recherchees['departement']);
$donnees['navigation'] = $navigation_carto->afficherBandeauNavigationCartographie($donnees_navigation);
$vue_resultat_recherche = $this->getVue(Config::get('dossier_squelettes_annuaires').$annuaire['informations']['aa_code'].'_resultat_recherche', $donnees);
 
} else {
// sinon on prend celle par défaut
$tableau_nom_mappage = $this->obtenirNomsChampsMappageAnnuaire($id_annuaire);
$donnees['mappage_nom_champs'] = $tableau_nom_mappage;
1313,7 → 1257,6
}
public function rechercherDoublons($id_annuaire) {
if(isset($_GET['taille_page'])) {
$taille_page = $_GET['taille_page'];
} else {
1357,7 → 1300,6
if($this->annuaireAvoirPageResultatRecherche($annuaire['informations']['aa_code'])) {
// on l'affiche
$vue_resultat_recherche = $this->getVue(Config::get('dossier_squelettes_annuaires').$annuaire['informations']['aa_code'].'_resultat_recherche', $donnees);
 
} else {
// sinon on prend celle par défaut
$tableau_nom_mappage = $this->obtenirNomsChampsMappageAnnuaire($id_annuaire);
1369,11 → 1311,9
return $vue_resultat_recherche;
}
 
 
/** --- Fonction pour les images ------------------------------------------------------------------------*/
 
public function afficherFormulaireUploadImage($id_annuaire,$id_utilisateur, $donnees = array()) {
 
$donnees['aa_id_annuaire'] = $id_annuaire;
$donnees['id_utilisateur'] = $id_utilisateur;
 
1406,19 → 1346,13
*
*/
public function ajouterImageUtilisateur($id_annuaire, $id_utilisateur, $fichier_a_stocker, $retourner_booleen = false) {
 
$donnees = array('erreurs' => array(), 'aa_id_annuaire' => $id_annuaire);
 
foreach($fichier_a_stocker as $nom_champ => $fichier) {
 
$ids_champ = mb_split("_",$nom_champ, 3);
 
if(count($ids_champ) == 2) {
 
$type = $ids_champ[0];
$id_champ = $ids_champ[1];
 
 
} else {
trigger_error('Ce champ n\'est pas relié à un annuaire');
return false;
1442,12 → 1376,10
if($this->MetadonneeModele->valeurExiste($id_champ,$id_utilisateur)) {
// On se contente de la modifier
if($stockage_image && $this->MetadonneeModele->modifierValeurMetadonnee($id_champ,$id_utilisateur,$id_utilisateur)) {
 
} else {
$donnees['erreurs'][$id_champ] = 'Problème durant le stockage de l\'image';
return $this->afficherFormulaireUploadImage($id_annuaire, $id_utilisateur,$donnees);
}
 
} else {
// S'il n'existe pas de valeur, on ajoute une nouvelle ligne à la table de valeurs de meta données
if($stockage_image && $this->MetadonneeModele->ajouterNouvelleValeurMetadonnee($id_champ,$id_utilisateur,$id_utilisateur)) {
1467,7 → 1399,6
}
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);
1492,7 → 1423,6
}
 
public function chargerNombreAnnuaireListeInscritsParPays($id_annuaire, $id_zones) {
 
$annuaire_modele = $this->getModele('AnnuaireModele');
return $annuaire_modele->chargerNombreAnnuaireListeInscritsParPays($id_annuaire, $id_zones);
}