Subversion Repositories Applications.annuaire

Compare Revisions

Ignore whitespace Rev 95 → Rev 96

/trunk/controleurs/AnnuaireControleur.php
23,7 → 23,11
public function preTraiterDonnees($donnees) {
 
// ajout de l'url de l'appli
$donnees['base_url'] = new Url(Registre::getInstance()->get('base_url_application'));
$donnees['base_url'] = new Url(Config::get('base_url_application'));
//$donnees['base_url']->setVariableRequete('menu','83');
$donnees['base_url_styles'] = new Url(Config::get('base_url_styles'));
$donnees['url_cette_page'] = $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
 
//ajout des variables d'identification
217,10 → 221,10
$valeurs_a_inserer = $valeurs_collectees['valeurs_a_inserer'];
 
// 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 ;
 
897,13 → 901,13
$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 ';
$donnees['erreurs']['titre'] = 'Erreur lors de la suppression de l\'inscription ';
 
return $this->getVue(Config::get('dossier_squelettes_elements').'erreurs',$donnees);
}*/
}
 
$params = array (
'id_utilisateur' => $id_utilisateur,
978,10 → 982,8
* @param int $id_annuaire l'identifiant de l'annuaire
* @param array $valeurs_recherchees les valeurs à rechercher
* @param boolean $exclusive indique si la recherche si fait sur tous les critères ou bien sur au moins un
* @param int $numero_page le numero de page demandé
* @param int $taille_page la taille de page
*/
public function rechercherInscrit($id_annuaire,$valeurs_recherchees, $exclusive = true, $numero_page = 1, $taille_page = 50) {
public function rechercherInscrit($id_annuaire,$valeurs_recherchees, $exclusive = true) {
 
$this->chargerModele('AnnuaireModele');
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire, true);
988,10 → 990,14
 
if(isset($_GET['numero_page'])) {
$numero_page = $_GET['numero_page'];
} else {
$numero_page = 1;
}
 
if(isset($_GET['taille_page'])) {
$taille_page = $_GET['taille_page'];
} else {
$taille_page = 50;
}
 
$tableau_mappage = $this->AnnuaireModele->obtenirChampsMappageAnnuaire($id_annuaire);
1028,6 → 1034,8
 
unset($valeurs_recherchees[$nom_champ]);
}
//Debug::printr($valeurs_recherchees);
 
$admin = Registre::getInstance()->get('est_admin');
 
1042,7 → 1050,7
$this->chargerModele('MetadonneeModele');
// le résultat est un ensemble d'identifiants
$resultat_metadonnees = $this->MetadonneeModele->rechercherDansValeurMetadonnees($id_annuaire,$valeurs_recherchees, $exclusive);
 
// 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
1051,10 → 1059,16
$resultat_recherche = $resultat_annuaire_mappe['resultat'];
 
$nb_resultats = $resultat_annuaire_mappe['total'];
$resultats = array();
foreach($resultat_recherche as $resultat) {
$id_utilisateur = $resultat[$champ_id_annuaire];
$resultats[$id_utilisateur] = $this->obtenirValeursUtilisateur($id_annuaire, $id_utilisateur);
}
 
// on renvoie une liste identique à celle de la liste des inscrits
$donnees['resultats_recherche'] = $resultat_recherche;
$donnees['tableau_mappage'] = $tableau_mappage[0];
$donnees['resultats_recherche'] = $resultats;
$donnees['tableau_mappage'] = $tableau_mappage[1];
$donnees['id_annuaire'] = $id_annuaire;
$donnees['nb_resultats'] = $nb_resultats;
 
1065,8 → 1079,17
$valeurs_get['m'] = $_GET['m'];
 
$donnees['pagination'] = $this->paginer($numero_page,$taille_page,$nb_resultats,$url_pagination, $valeurs_get);
$vue_resultat_recherche = $this->getVue(Config::get('dossier_squelettes_annuaires').'annuaire_resultat_recherche', $donnees);
 
// S'il existe une page de résultats spécifique à l'annuaire pour la recherche
if($this->templateExiste($annuaire['informations']['aa_code'].'_resultat_recherche', Config::get('dossier_squelettes_annuaires'))) {
// 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
$vue_resultat_recherche = $this->getVue(Config::get('dossier_squelettes_annuaires').'resultat_recherche', $donnees);
}
return $this->afficherFormulaireRecherche($id_annuaire, $valeurs_get).$vue_resultat_recherche;
}
 
1078,7 → 1101,7
* @param int $numero_page le numero de page demandé
* @param int $taille_page la taille de page
*/
public function rechercherInscritParlocalisation($id_annuaire,$valeurs_recherchees, $numero_page = 1, $taille_page = 50) {
public function rechercherInscritParlocalisation($id_annuaire,$valeurs_recherchees) {
 
if(isset($_GET['taille_page'])) {
$taille_page = $_GET['taille_page'];
1112,27 → 1135,45
$champ_critere = $tableau_mappage[0]['champ_code_postal'];
}
 
$resultat_annuaire_mappe = $this->AnnuaireModele->rechercherInscritDansAnnuaireMappeParChamp($id_annuaire, $champ_critere, $valeur, true, $taille_page, $numero_page);
$resultat_annuaire_mappe = $this->AnnuaireModele->rechercherInscritDansAnnuaireMappeParChamp($id_annuaire, $champ_critere, $valeur, true, $numero_page, $taille_page);
 
$resultat_recherche = $resultat_annuaire_mappe;
 
$nb_resultats = $resultat_recherche['total'];
$inscrits_resultats = $resultat_recherche['resultat'];
$resultat_recherche = $resultat_recherche['resultat'];
$resultats = array();
foreach($resultat_recherche as $resultat) {
$id_utilisateur = $resultat[$champ_id_annuaire];
$resultats[$id_utilisateur] = $this->obtenirValeursUtilisateur($id_annuaire, $id_utilisateur);
}
 
// on renvoie une liste identique à celle de la liste des inscrits
$donnees['resultats_recherche'] = $inscrits_resultats;
$donnees['tableau_mappage'] = $tableau_mappage[0];
$donnees['resultats_recherche'] = $resultats;
$donnees['tableau_mappage'] = $tableau_mappage[1];
$donnees['id_annuaire'] = $id_annuaire;
$donnees['nb_resultats'] = $nb_resultats;
//Debug::printr($resultat_annuaire_mappe);
 
//Debug::printr($donnees['resultats_recherche']);
 
$url_base = new URL(Registre::getInstance()->get('base_url_application'));
$url_pagination = new URL($url_base);
$url_pagination = clone($url_base);
 
$valeurs_get['id_annuaire'] = $id_annuaire;
$valeurs_get['m'] = $_GET['m'];
 
$donnees['pagination'] = $this->paginer($numero_page,$taille_page,$nb_resultats,$url_pagination, $valeurs_get);
$vue_resultat_recherche = $this->getVue(Config::get('dossier_squelettes_annuaires').'annuaire_resultat_recherche', $donnees);
 
// S'il existe une page de résultats spécifique à l'annuaire pour la recherche
if($this->templateExiste($annuaire['informations']['aa_code'].'_resultat_recherche', Config::get('dossier_squelettes_annuaires'))) {
// 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
$vue_resultat_recherche = $this->getVue(Config::get('dossier_squelettes_annuaires').'resultat_recherche', $donnees);
}
return $vue_resultat_recherche;
}
 
1431,7 → 1472,7
*/
public function ajouterImageUtilisateur($id_annuaire, $id_utilisateur, $fichier_a_stocker, $retourner_booleen = false) {
 
$donnees = array('erreurs' => array());
$donnees = array('erreurs' => array(), 'aa_id_annuaire' => $id_annuaire);
 
foreach($fichier_a_stocker as $nom_champ => $fichier) {