Subversion Repositories Applications.annuaire

Compare Revisions

Ignore whitespace Rev 220 → Rev 221

/trunk/squelettes/navigation/chemin_cartographie.tpl.html
New file
0,0 → 1,30
<ul class="liste_horizontale_simple">
 
<li>
<a href="<?= $url_carte_monde ?>"> Carte du monde </a>
</li>
 
<?php if(isset($url_continent) && trim($url_continent) != '') { ?>
<li>
<span> > </span>
<a href="<?= $url_continent ?>"> <?= $nom_continent ?> </a>
</li>
<?php } ?>
<?php if(isset($url_pays) && trim($url_pays) != '') { ?>
<li>
<span> > </span>
<a href="<?= $url_pays ?>"> <?= $nom_pays ?> </a>
</li>
<?php } ?>
<?php if(isset($url_departement) && trim($url_departement) != '') { ?>
<li >
<span> > </span>
<a href="<?= $url_departement ?>"> <?= $nom_departement ?> </a>
</li>
<?php } ?>
</ul>
 
<hr class="separation" />
/trunk/squelettes/cartes/continents.tpl.html
1,6 → 1,7
<!-- ANNUAIRE - DEBUT CARTE -->
<div id="annuaire_carto">
<h1>Carte des inscrits</h1>
<div id="navigation_carto"> <?=$navigation ?> </div>
<p>La couleur est proportionnelle au nombre d'inscrits. Vous pouvez cliquer sur la carte pour afficher le détail d'un continent.</p>
<?=$map;?>
<h2>Avertissement et déni de responsabilité :</h2>
/trunk/squelettes/cartes/pays.tpl.html
1,6 → 1,7
<!-- ANNUAIRE - DEBUT CARTE -->
<div id="annuaire_carto">
<h1>Carte des inscrits</h1>
<div id="navigation_carto"> <?=$navigation ?> </div>
<p>La couleur est proportionnelle au nombre d'inscrits. Vous pouvez cliquer sur la carte pour afficher le détail d'un pays.</p>
<?=$map;?>
<h2>Avertissement et déni de responsabilité :</h2>
/trunk/squelettes/cartes/france.tpl.html
1,6 → 1,7
<!-- ANNUAIRE - DEBUT CARTE -->
<div id="annuaire_carto">
<h1>Carte des inscrits</h1>
<div id="navigation_carto"> <?=$navigation ?> </div>
<p>La couleur est proportionnelle au nombre d'inscrits. Vous pouvez cliquer sur la carte pour afficher les
inscrits du département.</p>
<?=$map;?>
/trunk/squelettes/annuaires/annuaire_tela_inscrits_resultat_recherche.tpl.html
1,7 → 1,12
<script src="<?= $base_url_styles ?>squelettes/scripts/jquery.js" type="text/javascript"></script>
<script src="<?= $base_url_styles ?>squelettes/scripts/cocher.js" type="text/javascript"></script>
 
<h2>Résultat de la recherche</h2>
 
<?php if(isset($navigation)) { ?>
<div id="navigation"> <?=$navigation ?> </div>
<?php } ?>
 
<?php if(!empty($resultats_recherche)) { ?>
<div id="resultat_recherche">
<?php if(count($nb_resultats) >= 1) { ?>
8,17 → 13,13
<h3>Il y a <?= $nb_resultats ?> inscrit<?php if($nb_resultats > 1) echo 's' ?> correspondant à votre recherche : </h3>
<?php if(isset($pagination)) { echo $pagination; } ?>
 
<form id="envoi_message" name="envoi_message" method="get" action="<? $url_message = clone($base_url); $url_message->setVariableRequete('m','annuaire_envoyer_message'); echo $url_message; ?>">
<form id="envoi_message" name="envoi_message" method="post" action="<? $url_message = clone($base_url); $url_message->setVariableRequete('m','annuaire_envoyer_message'); echo $url_message; ?>">
<table class="liste">
<tr><th></th><th></th><th>Nom</th><th>Prenom</th><th>Pays</th><th>Ville</th><th>Code Postal</th><th>Date d'inscription</th>
<?php foreach ($resultats_recherche as $id => $resultat) : ?>
<tr>
<td><input type="checkbox" name="destinataires[<?= $id ?>]" id="destinataires[<?= $id ?>]" />
<td><a href="<?php $url_detail = clone($base_url);
$url_detail->setVariableRequete('m','annuaire_fiche_utilisateur_consultation');
$url_detail->setVariableRequete('id_annuaire',$id_annuaire);
$url_detail->setVariableRequete('id_utilisateur',$id);
echo $url_detail; ?>" title="Voir la fiche">
<td><a href="<?= AppControleur::getUrlConsultationProfil($id_annuaire, $id); ?>" title="Voir la fiche">
<?php if (isset($resultat['image']) && isset($resultat['image']['amv_valeur']) && trim($resultat['image']['amv_valeur']) != '') { ?>
<img class="avatar_petit" src="<?= ImageModele::obtenirEmplacementFichierParId($resultat['image']['amv_valeur'],'1','S') ?>" title="Cliquez pour accéder au profil" alt="avatar" /> </div></a>
36,9 → 37,10
<?php endforeach; ?>
</table>
<span id="conteneur_lien_cocher"></span>
<br />
<span id="conteneur_lien_cocher"><input type="checkbox" id="envoyer_tous" name="envoyer_tous" /><label class="label_checkbox" for="envoyer_tous"> Envoyer un message à tous les résultats de la recherche </label></span>
<?php } else { ?>
<div> <h3> Aucun inscrit ne correspond aux critères de la recherche </h3></div>
<div> <h3> Aucun inscrit ne correspond à votre recherche </h3></div>
<?php } ?>
<div id="formulaire_message" name="formulaire_message">
47,7 → 49,8
<h3> Envoyer un message </h3>
<label for="sujet_message"> Sujet : </label><br /> <input type=text id="sujet_message" name="sujet_message" /> <br />
<label for="contenu_message"> Contenu : </label><br /><textarea id="contenu_message" name="contenu_message" /></textarea>
<input type="hidden" value="annuaire_envoyer_message" id="m" name="m" /><br />
<input type="hidden" value="annuaire_envoyer_message" id="m" name="m" />
<input type="hidden" value="<?= $criteres ?>" id="criteres" name="criteres" />
<input type="hidden" value="<?= $id_annuaire ?>" id="id_annuaire" name="id_annuaire" /><br />
<input type="submit" id="bouton_envoi_message" name="bouton_envoi_message" value="Envoyer">
</div>
54,5 → 57,5
</form>
</div>
<?php } else { ?>
<h3> Aucun inscrit ne correpond aux critères </h3>
<h3> Aucun inscrit ne correspond à votre recherche </h3>
<?php } ?>
/trunk/controleurs/NavigationControleur.php
41,4 → 41,12
return $navigation;
}
public function afficherBandeauNavigationCartographie($donnees) {
$navigation = $this->getVue(Config::get('dossier_squelettes_navigation').'chemin_cartographie', $donnees);
return $navigation;
}
}
/trunk/controleurs/AnnuaireControleur.php
49,6 → 49,7
}
public function creerMetadonnee() {
$this->chargerModele('AnnuaireModele');
$this->chargerModele('MetadonneeModele');
$id_liste_inscrit = $this->AnnuaireModele->migrer();
166,7 → 167,7
* @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);
 
200,14 → 201,16
$donnees['tableau_mappage'] = $tableau_mappage[1];
 
// si le formulaire existe, on le charge
if(!$this->templateExiste($annuaire['informations']['aa_code'].'_inscription','formulaires/')) {
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;
$formulaire_inscription = $this->genererFormulaireInscription($donnees);
} else {
// sinon on en génère un qui contient tous les champs
$formulaire_inscription = $this->GetVue(Config::get('dossier_squelettes_formulaires').$annuaire['informations']['aa_code'].'_inscription',$donnees);
}
 
return $formulaire_inscription;
415,8 → 418,7
$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'))) {
if($this->annuaireAvoirPageAccueilPostInscription($annuaire['informations']['aa_code'])) {
// on l'affiche
$donnees = array('id_utilisateur' => $id_nouvel_inscrit, 'id_annuaire' => $id_annuaire);
return $this->getVue(Config::get('dossier_squelettes_annuaires').$annuaire['informations']['aa_code'].'_inscription_confirmation', $donnees);
468,20 → 470,17
$navigateur = new NavigationControleur();
$donnees['navigation'] = $navigateur->afficherBandeauNavigationUtilisateur($id_annuaire ,$id_utilisateur, 'fiche');
 
/*if(Registre::getInstance()->get('est_admin')) {
$donnees['formulaire_blocage'] = $this->getVue(Config::get('dossier_squelettes_elements').'blocage',$donnees);
}*/
// Si le formulaire spécifique à l'annuaire existe, on l'affiche
if(!$this->templateExiste($annuaire['informations']['aa_code'].'_fiche','/fiches/')) {
// S'il existe une fiche spécifique pour l'annuaire
if($this->annuaireAvoirFicheUtilisateur($annuaire['informations']['aa_code'])) {
// on l'affiche
$fiche_inscrit = $this->getVue(Config::get('dossier_squelettes_fiches').$annuaire['informations']['aa_code'].'_fiche',$donnees);
} else {
// sinon on en génère une minimale par défaut
$tableau_nom_mappage = $this->obtenirNomsChampsMappageAnnuaire($id_annuaire);
$donnees['mappage_nom_champs'] = $tableau_nom_mappage;
$fiche_inscrit = $this->genererFicheInscrit($donnees);
} else {
// Sinon on prend celui par defaut
$fiche_inscrit = $this->getVue(Config::get('dossier_squelettes_fiches').$annuaire['informations']['aa_code'].'_fiche',$donnees);
}
 
return $fiche_inscrit;
504,15 → 503,9
$donnees['id_utilisateur'] = $id_utilisateur;
$donnees['mail_utilisateur'] = $mail_utilisateur;
 
$url_modification_profil = new Url(Config::get('base_url_application'));
$url_modification_profil->setVariableRequete('m','annuaire_formulaire_modification_inscription');
$url_modification_profil->setVariableRequete('id_annuaire',$id_annuaire);
$url_modification_profil->setVariableRequete('id_utilisateur',$id_utilisateur);
$url_modification_profil = self::getUrlModificationProfil($id_annuaire, $id_utilisateur);
 
$url_oubli_mdp = new Url(Config::get('base_url_application'));
$url_oubli_mdp->setVariableRequete('m','annuaire_afficher_formulaire_oubli_mdp');
$url_oubli_mdp->setVariableRequete('id_annuaire',$id_annuaire);
$url_oubli_mdp->setVariableRequete('id_utilisateur',$id_utilisateur);
$url_oubli_mdp = self::getUrlOubliMotDePasse($id_annuaire, $id_utilisateur);
 
$donnees['url_oubli_mdp'] = $url_oubli_mdp;
$donnees['url_modification_profil'] = $url_modification_profil;
526,7 → 519,7
 
// on crée un controleur appelle les hooks de résumé pour chaque application externe
$resumes_controleur = new ApplicationExterneControleur();
 
$donnees['resumes'] = $resumes_controleur->obtenirResume($id_utilisateur,$mail_utilisateur);
$donnees['carte_id'] = $this->getVue(Config::get('dossier_squelettes_fiches').$annuaire['informations']['aa_code'].'_carte_id',$donnees);
614,13 → 607,17
 
 
// Si le formulaire spécifique à l'annuaire existe, on l'affiche
if(!$this->templateExiste($annuaire['informations']['aa_code'].'_modification','/formulaires/')) {
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;
$formulaire_modification = $this->genererFormulaireModificationInscription($donnees);
} else {
// Sinon on prend celui par defaut
$formulaire_modification = $this->GetVue(Config::get('dossier_squelettes_formulaires').$annuaire['informations']['aa_code'].'_modification',$donnees);
}
 
return $formulaire_modification;
824,6 → 821,9
$identificateur = new IdentificationControleur();
$identificateur->setUtilisateur($nouveau_mail);
}
$statistique = new StatistiqueControleur();
$statistique->ajouterEvenementStatistique($id_annuaire, $id_utilisateur, 'modification');
 
return $this->afficherFicheUtilisateur($id_annuaire, $id_utilisateur);
}
970,9 → 970,10
$donnees = array();
// Si le formulaire spécifique à l'annuaire existe, on l'affiche
if($this->templateExiste($annuaire['informations']['aa_code'].'_desinscription_confirmation','/annuaires/')) {
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 />';
980,6 → 981,9
$informations_desinscription = $this->getVue(Config::get('dossier_squelettes_annuaires').'information_simple',$donnees);
}
$statistique = new StatistiqueControleur();
$statistique->ajouterEvenementStatistique($id_annuaire, $id_utilisateur, 'suppression');
return $informations_desinscription;
}
 
1007,10 → 1011,9
$id_champ = $metadonnee['amc_id_champ'];
$type_champ = $metadonnee['amc_ce_template_affichage'];
$nom_champ = $metadonnee['amc_abreviation'];
 
if(isset($donnees[$type_champ.'_'.$id_champ])) {
//Debug::printr($donnees[$type_champ.'_'.$id_champ]);
$metadonnee['valeur_defaut']['amv_valeur'] = $donnees[$type_champ.'_'.$id_champ];
}
 
1020,13 → 1023,17
}
 
// Si le formulaire spécifique à l'annuaire existe, on l'affiche
if(!$this->templateExiste($annuaire['informations']['aa_code'].'_recherche','/formulaires/')) {
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);
} else {
// Sinon on prend celui par defaut
$formulaire_recherche = $this->GetVue(Config::get('dossier_squelettes_formulaires').$annuaire['informations']['aa_code'].'_recherche',$donnees);
}
 
return $formulaire_recherche;
1061,48 → 1068,15
$valeurs_mappees = array();
$valeurs = array();
 
//TODO: faire une fonction qui factorise ce principe !!!!
//
 
// on itère sur le tableau de valeur pour récupérer les métadonnées;
foreach($valeurs_recherchees as $nom_champ => $valeur) {
 
// pour chaque valeur
// on extrait l'id du champ
$ids_champ = mb_split("_",$nom_champ);
 
if(count($ids_champ) == 2) {
 
// l'identifiant du champ est la dernière valeur du tableau
$type = $ids_champ[0];
$id_champ = $ids_champ[1];
 
// Si le champ fait partie des champs mappés
$cle_champ = array_search($id_champ, $tableau_mappage[1]);
if($cle_champ) {
// on ajoute sa clé correspondante dans l'annuaire mappé et sa valeur dans le tableau des champs mappés
$valeurs_mappees[$tableau_mappage[0][$cle_champ]] = $valeur;
// et on supprime sa valeur du tableau de valeurs pour ne pas la retrouver lors
// de l'insertion des métadonnées
} else {
$valeurs_recherchees[$id_champ] = $valeur;
}
// on retire la valeur du tableau pour ne pas la retrouver dans les deux recherches
$valeurs_get[$nom_champ] = $valeur;
}
 
unset($valeurs_recherchees[$nom_champ]);
}
$collecteur = new VerificationControleur();
$tableau_valeur_collectees = $collecteur->collecterValeursRechercheMoteur($valeurs_recherchees, $tableau_mappage);
$valeurs_recherchees = $tableau_valeur_collectees['valeurs_recherchees'];
$valeurs_mappees = $tableau_valeur_collectees['valeurs_mappees'];
$valeurs_get = $tableau_valeur_collectees['valeurs_get'];
$admin = Registre::getInstance()->get('est_admin');
 
//if(!$admin) {
// $champs_blocage = $this->AnnuaireModele->obtenirChampsDescriptionAnnuaire($id_annuaire);
// $valeurs_recherchees[$champs_blocage[1]['champ_statut']] = '0';
//}
 
$champ_id_annuaire = $tableau_mappage[0]['champ_id'];
 
// on recherche dans les métadonnées
$this->chargerModele('MetadonneeModele');
// le résultat est un ensemble d'identifiants
1117,6 → 1091,8
 
$nb_resultats = $resultat_annuaire_mappe['total'];
$champ_id_annuaire = $tableau_mappage[0]['champ_id'];
$resultats = array();
foreach($resultat_recherche as $resultat) {
$id_utilisateur = $resultat[$champ_id_annuaire];
1132,20 → 1108,25
$url_base = new URL(Registre::getInstance()->get('base_url_application'));
$url_pagination = clone($url_base);
 
$donnees['pagination'] = $this->paginer($numero_page,$taille_page,$nb_resultats,$url_pagination, $valeurs_get);
$valeurs_get['exclusive'] = $exclusive;
$donnees['criteres'] = urlencode(serialize($valeurs_get));
$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);
 
// 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'))) {
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;
$vue_resultat_recherche = $this->getVue(Config::get('dossier_squelettes_annuaires').'resultat_recherche', $donnees);
}
1183,6 → 1164,8
 
$valeurs_mappees = array();
$valeurs = array();
$continent = $valeurs_recherchees['continent'];
 
$champ_id_annuaire = $tableau_mappage[0]['champ_id'];
 
1219,7 → 1202,12
$donnees['id_annuaire'] = $id_annuaire;
$donnees['nb_resultats'] = $nb_resultats;
//Debug::printr($resultat_annuaire_mappe);
$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
)));
 
$url_base = new URL(Registre::getInstance()->get('base_url_application'));
$url_pagination = clone($url_base);
1229,20 → 1217,29
 
$donnees['pagination'] = $this->paginer($numero_page,$taille_page,$nb_resultats,$url_pagination, $valeurs_get);
 
// 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'))) {
if($this->annuaireAvoirPageResultatRecherche($annuaire['informations']['aa_code'])) {
// on l'affiche
$navigation_carto = new NavigationControleur();
$cartographe = new CartoControleur();
$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
// sinon on prend celle par défaut
$tableau_nom_mappage = $this->obtenirNomsChampsMappageAnnuaire($id_annuaire);
$donnees['mappage_nom_champs'] = $tableau_nom_mappage;
$vue_resultat_recherche = $this->getVue(Config::get('dossier_squelettes_annuaires').'resultat_recherche', $donnees);
}
return $vue_resultat_recherche;
}
public function rechercherParRequeteMoteur($id_annuaire, $criteres) {
}
 
 
/** --- Fonction pour les images ------------------------------------------------------------------------*/
/trunk/controleurs/CartoControleur.php
20,6 → 20,17
 
// nom du fond de carte en cours
private $nom_fond = '';
private $niveau = 0;
// contient le tableau de données sur les continents une fois chargé
private $donnees_continents = array();
// contient le tableau de données sur les pays une fois chargé
private $donnees_pays = array();
// contient le tableau de données sur les departements une fois chargé
private $donnees_departements = array();
 
//+----------------------------------------------------------------------------------------------------------------+
// Méthodes
43,16 → 54,16
$donnees = array();
 
// la présence d'un pays (non) et d'un continent (ou non) détermine le niveau de carte à afficher
$niveau = $this->calculerNiveau($continent, $pays);
$this->niveau = $this->calculerNiveau($continent, $pays);
 
// suivant le niveau, continent et pays, on renvoie un template html différent
$fond = $this->renvoyerPrefixePourNiveau($niveau, $continent, $pays);
$fond = $this->renvoyerPrefixePourNiveau($this->niveau, $continent, $pays);
 
$carte = '';
 
// chaque continent possède un fond de carte différent
if($niveau == 1) {
$carte = $this->renvoyerSuffixePourContinent($niveau, $continent, $pays);
if($this->niveau == 1) {
$carte = $this->renvoyerSuffixePourContinent($this->niveau, $continent, $pays);
}
 
// Création de la carte
72,11 → 83,13
 
// Construction des données nécessaires à la cartographie
$zones = $cartographie->getCarteZones();
$this->chargerZonesNbre($id_annuaire,$zones, $niveau);
$this->chargerZonesUrls($id_annuaire, $zones, $continent, $pays, $niveau);
$this->chargerZonesNbre($id_annuaire,$zones, $this->niveau);
$this->chargerZonesUrls($id_annuaire, $zones, $continent, $pays, $this->niveau);
 
$navigation = new NavigationControleur();
$donnees_navigation = $this->obtenirUrlsNavigation($id_annuaire, $continent, $pays, null);
$donnees['navigation'] = $navigation->afficherBandeauNavigationCartographie($donnees_navigation);
 
 
$cartographie->setCarteZones($zones);
 
$cartographie->creerCarte();
125,7 → 138,6
$url = new URL(Config::get('url_base'));
 
$url->setVariableRequete('id_annuaire', $id_annuaire);
//$url->setVariableRequete('m', 'annuaire_inscrits_carto');
 
foreach ($zones as $id => &$infos) {
 
319,7 → 331,104
 
return $nb_inscrits;
}
public function obtenirUrlsNavigation($id_annuaire ,$continent = null, $pays = null, $departement = null) {
$donnees = array();
$url_carte_monde = new URL(Config::get('url_base'));
$url_carte_monde->setVariableRequete('id_annuaire', $id_annuaire);
$url_carte_monde->setVariableRequete('m', 'annuaire_afficher_carte');
$donnees['url_carte_monde'] = $url_carte_monde;
$donnees['nom_carte_monde'] = 'Carte du monde';
if($continent != null && trim($continent) != '') {
$infos_continents = $this->chargerInformationsContinentCsv();
$url_continent = new URL(Config::get('url_base'));
$url_continent->setVariableRequete('id_annuaire', $id_annuaire);
$url_continent->setVariableRequete('m', 'annuaire_afficher_carte');
$url_continent->setVariableRequete('continent', $continent);
$donnees['url_continent'] = $url_continent;
$donnees['nom_continent'] = $infos_continents[$continent][2];
}
if($pays != null && trim($pays) != '') {
$templates_continents = $this->renvoyerTousTemplates();
$infos_continents = $this->chargerInformationsPaysDuContinentsCsv($templates_continents[$continent]);
$infos_pays = $infos_continents[$pays];
$url_pays = new URL(Config::get('url_base'));
$url_pays->setVariableRequete('id_annuaire', $id_annuaire);
if($pays == $this->id_france) {
$url_pays->setVariableRequete('m', 'annuaire_afficher_carte');
} else {
// sinon l'url pointe vers la liste des inscrits de ce pays
$url_pays->setVariableRequete('m', 'annuaire_inscrits_carto');
}
$url_pays->setVariableRequete('continent', $continent);
$url_pays->setVariableRequete('pays', $pays);
$donnees['url_pays'] = $url_pays;
$donnees['nom_pays'] = $infos_pays[2];
}
if($departement != null && trim($departement) != '') {
$infos_departement = $this->chargerInformationsDepartementsFranceCsv();
$url_departement = new URL(Config::get('url_base'));
$url_departement->setVariableRequete('id_annuaire', $id_annuaire);
$url_departement->setVariableRequete('m', 'annuaire_afficher_carte');
$url_departement->setVariableRequete('continent', $continent);
$url_departement->setVariableRequete('departement', $departement);
$url_departement->setVariableRequete('pays', $pays);
$donnees['url_departement'] = $url_departement;
$donnees['nom_departement'] = $infos_departement[$departement][2];
}
 
return $donnees;
}
private function chargerInformationsContinentCsv() {
$nom_csv = Application::getChemin().Config::get('carte_fonds_chemin').'continents';
return $this->chargerInformationsCompletesParCsv($nom_csv);
}
private function chargerInformationsPaysDuContinentsCsv($continent) {
$nom_csv = Application::getChemin().Config::get('carte_fonds_chemin').$continent;
 
return $this->chargerInformationsCompletesParCsv($nom_csv);
}
private function chargerInformationsDepartementsFranceCsv() {
$nom_csv = Application::getChemin().Config::get('carte_fonds_chemin').'france';
return $this->chargerInformationsCompletesParCsv($nom_csv);
}
private function chargerInformationsCompletesParCsv($nom_csv) {
$fichier_csv = $nom_csv.'.csv';
$infos = array();
 
if (($handle = fopen($fichier_csv, 'r')) !== false) {
$ligne = 0;
 
while (($donnees = fgetcsv($handle, 1000, ',')) !== false) {
if($ligne != 0 && trim($donnees[0]) != '') {
$infos[$donnees[0]] = $donnees;
}
$ligne++;
}
fclose($handle);
}
 
return $infos;
}
 
/**
* Récupère les identifiants de zone dans un fichier csv donné
* @param string $nom_csv chemin vers le fichier csv (sans extension) qui contient les données
334,7 → 443,7
$ligne = 0;
 
while (($donnees = fgetcsv($handle, 1000, ',')) !== false) {
 
if($ligne != 0 && trim($donnees[0]) != '') {
$zones_id[] = "'".$donnees[0]."'";
}