New file |
0,0 → 1,93 |
<?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 aControleur { |
|
//+----------------------------------------------------------------------------------------------------------------+ |
// 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' => Config::get('carte_genere_nom'), |
'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); |
$this->chargerPiedDePage(); |
} |
|
private function chargerZonesNbre(&$zones) { |
$paca = array("04" => '', "05" => '', "06" => '', 13 => '', 83 => '', 84 => ''); |
$structureDao = new StructureDao(); |
$zones_infos = $structureDao->getStructureParZoneGeo('FRD'); |
foreach ($zones as $id => &$infos) { |
if ($this->registre->get('contexte') == 'paca') { |
if (isset($zones_infos[$id]) && isset($paca[$id])) { |
$nbre = $zones_infos[$id]; |
$infos['info_nombre'] = $nbre; |
} else { |
$infos['info_nombre'] = 0; |
} |
} else { |
if (isset($zones_infos[$id])) { |
$nbre = $zones_infos[$id]; |
$infos['info_nombre'] = $nbre; |
} else { |
$infos['info_nombre'] = 0; |
} |
} |
} |
} |
|
private function chargerZonesUrls(&$zones) { |
$url = $this->obtenirUrlRecherche('str-d:%s'); |
foreach ($zones as $id => &$infos) { |
$infos['url'] = sprintf($url, $id); |
} |
} |
} |
?> |