Rev 25 | Rev 62 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php// declare(encoding='UTF-8');/*** classe Controleur du module Carte.** @package Collection* @category Php5* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>* @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();$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'));}}?>