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);
 }