public function mapfileAction($id) { $mapfileInclude = ''; if (isset($this->config->mapserver->mapfileInclude)) { foreach ($this->config->mapserver->mapfileInclude as $chemin) { $mapfileInclude .= parent::fopen_file_get_contents($chemin); } } $this->view->mapfileInclude = $mapfileInclude; $couche = IgoCouche::findFirstByid($id); $this->view->couche = $couche->getMapFileArray(); $this->view->preview = true; }
public function mapfileAction($contexte_id, $profil_id = null, $utilisateur_id = null) { $igo_contexte = IgoContexte::findFirstByid($contexte_id); if (!$igo_contexte) { $this->flash->error("Contexte non-trouvé"); return $this->dispatcher->forward(array("controller" => "igo_contexte", "action" => "search")); } $contexte = $igo_contexte->toArray(); $couches = array(); // $igo_couches = $igo_contexte->getCouches(); $contexte["wms_onlineresource"] = $this->view->host . $igo_contexte->mf_map_meta_onlineresource; if (is_numeric($igo_contexte->mf_map_projection)) { $contexte["mf_map_projection"] = "\"init=epsg:" . $igo_contexte->mf_map_projection . "\""; } else { if (trim($igo_contexte->mf_map_projection) != '') { $contexte["mf_map_projection"] = $igo_contexte->mf_map_projection; if ($contexte["mf_map_projection"] != "") { $contexte["mf_map_projection"] = str_replace('"', "\t\t\t", str_replace('" ', '\\n ', $contexte["mf_map_projection"])); } } } $contexteCouches = IgoVueContexteCoucheNavigateur::find(array("conditions" => "contexte_id={$contexte_id}", "order" => array("mf_layer_meta_group_title", "mf_layer_meta_title"))); // Il faut trier les classes par mf_class_z_order, c'est impossible de // le faire avec l'orm ou encore avec le volt... Il faudrait étendre volt // pour y ajouter une fonction usort, préférable d'utiliser la BD pour le sort... // http://docs.phalconphp.com/en/latest/reference/volt.html#extending-volt $couchesClasses = array(); foreach ($contexteCouches as $contexteCouche) { $classes = IgoClasse::find(array("conditions" => "couche_id={$contexteCouche->couche_id}", "order" => array("mf_class_z_order"))); $couchesClasses[$contexteCouche->couche_id] = $classes; } $mapfileInclude = ''; if (isset($this->config->mapserver->mapfileInclude)) { foreach ($this->config->mapserver->mapfileInclude as $chemin) { $mapfileInclude .= parent::fopen_file_get_contents($chemin); } } $this->view->mapfileInclude = $mapfileInclude; $this->view->couchesClasses = $couchesClasses; $this->view->contexteCouches = $contexteCouches; $this->view->contexte = $contexte; $this->view->preview = true; return array($contexte, $couches); }