* @copyright 2010 Tela-Botanica * @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL * @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL * @version SVN: $Id$ */ class Carte extends ColControleur { //+----------------------------------------------------------------------------------------------------------------+ // Méthodes /** * Fonction d'affichage par défaut, elle appelle la liste des administrateurs */ public function executerActionParDefaut() { return $this->cartographier(); } /** * Cartographier les collections. * @return string la vue correspondante */ public function cartographier() { // Initialisation de variable $donnees = array(); // Création de la carte $options = array( 'carte_nom' => 'col_str_dep', 'formule' => Cartographie::FORMULE_PROPORTIONNEL, 'couleur_claire' => Config::get('carte_couleur_claire'), 'couleur_foncee' => Config::get('carte_couleur_foncee'), 'fond_fichier' => Config::get('carte_base_nom'), 'fond_dossier' => Application::getChemin().Config::get('carte_fonds_chemin'), 'stock_dossier' => Config::get('carte_sotckage_chemin'), 'stock_url' => Config::get('carte_sotckage_url'), 'debug' => Config::get('carte_mode_debug')); $cartographie = Composant::fabrique('cartographie', $options); // Construction des données nécessaires à la cartographie $zones = $cartographie->getCarteZones(); $this->chargerZonesNbre($zones); $this->chargerZonesUrls($zones); $cartographie->setCarteZones($zones); //Debug::printr($zones); $cartographie->creerCarte(); $donnees['map'] = $cartographie->getImageMap(); //$donnees['i18n'] = I18n::get('carte'); $resultat = $this->getVue('carte', $donnees); $this->setSortie(self::RENDU_CORPS, $resultat); } private function chargerZonesNbre(&$zones) { $structureDao = $this->getModele('StructureDao'); $zones_infos = $structureDao->getStructureParZoneGeo('FRD'); foreach ($zones as $id => &$infos) { if (isset($zones_infos[$id])) { $nbre = $zones_infos[$id]; $infos['info_nombre'] = $nbre; } else { $infos['info_nombre'] = 0; } } } private function chargerZonesUrls(&$zones) { $this->url->setVariableRequete('module', 'Recherche'); $this->url->setVariableRequete('action', 'rechercher'); $this->url->setVariableRequete('recherche', 'str-d:%s'); $url = $this->url->getURL(); foreach ($zones as $id => &$infos) { $infos['url'] = sprintf($url, $id); } $this->url->unsetVariablesRequete(array('module', 'action', 'recherche')); } } ?>