* @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: Espece.php 152 2010-09-06 16:19:12Z jpm $ */ class Rendu extends aControleur { public function __construct() { parent::__construct(); $this->initialiser(); } public function executerActionParDefaut() { return $this->afficherCarte(); } private function initialiser() { } private function mb_ucfirst($str) { $fc = mb_strtoupper(mb_substr($str, 0, 1)); return $fc.mb_substr($str, 1); } private function afficherCarte() { $carte = $this->getCarteDemandee(); $espece_dao = new EspeceDao(); $especes = $espece_dao->getListeEspecesParType(); $evenements_dao = new EvenementDao(); $evenements = $evenements_dao->getListeEvenements(); $observations_dao = new ObservationDao(); $annees_ayant_obs = $observations_dao->getAnneesAyantObservations(); $chaine_variables_script = ' '; $chaine_variables_script .= ''; $donnees = array(); $donnees['url'] = Liens::getUrlBaseComplete().'rendu_widget.php?carte='.$carte; $donnees['script'] = $chaine_variables_script; $donnees['especes'] = $especes; $donnees['evenements'] = $evenements; $donnees['annees_ayant_obs'] = $annees_ayant_obs; $formulaire = $this->getVue('cartes/observations_'.$carte,$donnees); $this->setSortie(self::RENDU_CORPS, $formulaire); } private function getCarteDemandee() { $carte = 'especes'; if(isset($_GET['carte'])) { $carte = $_GET['carte']; } return $carte; } private function obtenirUrlsLimitesCommunales() { $urls = null; if (isset($_GET['departement'])) { // si on veut afficher les limites départementales on va compter et chercher les noms de fichiers $fichiersKml = $this->chercherFichierKml(); if (count($fichiersKml) > 0) { foreach ($fichiersKml as $kml => $dossier){ $url_limites_communales = sprintf(Config::get('limitesCommunaleUrlTpl'), $dossier, $kml); $urls[] = $url_limites_communales; } } } $urls = json_encode($urls); return $urls; } private function chercherFichierKml(){ $fichiers = array(); $chemins = explode(',', Config::get('communesKmzChemin')); $departements = explode(',', $_GET['departement']);// plrs code de départements peuvent être demandés séparés par des virgules $departements_trouves = array(); foreach ($chemins as $dossier_chemin) { if ($dossier_ressource = opendir($dossier_chemin)) { while ($element = readdir($dossier_ressource)) { if ($element != '.' && $element != '..') { foreach ($departements as $departement) { $nom_dossier = basename($dossier_chemin); if (!isset($departements_trouves[$departement]) || $departements_trouves[$departement] == $nom_dossier) { $dept_protege = preg_quote($departement); if (!is_dir($dossier_chemin.'/'.$element) && preg_match("/^$dept_protege(?:_[0-9]+|)\.km[lz]$/", $element)) { $fichiers[$element] = $nom_dossier; $departements_trouves[$departement] = $nom_dossier; } } } } } closedir($dossier_ressource); } } return $fichiers; } }