From 68f06a619ee32abd07e1067f063fb0559eba2ced Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Thu, 24 Nov 2011 13:22:31 +0000 Subject: [PATCH] Inclusão de link para abrir a legenda e o mapfile no datadownload.htm --- classesjs/datadownload.js | 4 +++- classesphp/classe_temas.php | 1 + classesphp/funcoes_gerais.php | 40 +++++++++++++++++++--------------------- classesphp/mapa_controle.php | 6 +++--- 4 files changed, 26 insertions(+), 25 deletions(-) diff --git a/classesjs/datadownload.js b/classesjs/datadownload.js index f8c0b07..38b3b94 100644 --- a/classesjs/datadownload.js +++ b/classesjs/datadownload.js @@ -327,6 +327,9 @@ function mostraDownload(retorno) else { var ins = "Clique nos links para pegar os arquivos.

" + ins += "Arquivo de configuração Mapfile
"; + ins += "Arquivo de legenda SLD

"; + for (var arq=0;arq"+arqs[arq]+"
" @@ -334,7 +337,6 @@ function mostraDownload(retorno) ins += "
Fonte"; if(retorno.nreg) {ins += "

Número de registros ="+retorno.nreg;} - } } else diff --git a/classesphp/classe_temas.php b/classesphp/classe_temas.php index 68b6245..566e455 100644 --- a/classesphp/classe_temas.php +++ b/classesphp/classe_temas.php @@ -122,6 +122,7 @@ $ext - (opcional) extensão geográfica que será aplicada ao mapa { $this->mapa = ms_newMapObj($map_file); $this->arquivo = $map_file; + if($tema != "") { $listaTemas = str_replace(" ",",",$tema); diff --git a/classesphp/funcoes_gerais.php b/classesphp/funcoes_gerais.php index 0cf7ce2..be764db 100644 --- a/classesphp/funcoes_gerais.php +++ b/classesphp/funcoes_gerais.php @@ -2026,7 +2026,6 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) $base = ""; if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {$base = $locaplic."/aplicmap/geral1windowsv".$versao.".map";} - else { if($base == "" && file_exists('/var/www/i3geo/aplicmap/geral1debianv'.$versao.'.map')){ @@ -2059,6 +2058,7 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) // $temasdir = $locaplic."/temas"; $map = ms_newMapObj($map_file); + $rectextent = $map->extent; // //problema aqui //$tema pode ser diferente do nome do mapfile @@ -2201,24 +2201,7 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) {$arq = $sp.$dados.".shp";} if (file_exists($sp.$dados)) {$arq = $sp.$dados;} - // - //se o tema usa um arquivo shapefile, apenas faz a cópia - // - /* - if ($arq != "") - { - $arq = explode(".shp",$arq); - if(!file_exists($nomeshp.".shp")) - { - copy($arq[0].".shp",$nomeshp.".shp"); - copy($arq[0].".shx",$nomeshp.".shx"); - copy($arq[0].".dbf",$nomeshp.".dbf"); - } - $resultado[] = basename($dir_tmp)."/".$novonomelayer.".shp"; - $resultado[] = basename($dir_tmp)."/".$novonomelayer.".dbf"; - $resultado[] = basename($dir_tmp)."/".$novonomelayer.".shx"; - } - */ + $nomeshp = criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand); if($nomeshp == false) {return array("arquivos"=>"Ocorreu um erro, tente novamente","nreg"=>0);} @@ -2240,8 +2223,23 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) if($db){$nreg = xbase_numrecords($db);} } } - return array("arquivos"=>implode(",",$resultado),"nreg"=>$nreg); - + // + //gera um mapfile para download + // + $maptemp = ms_newMapObj($temasdir."/".$tema.".map"); + $temas = $maptemp->getAllLayerNames(); + foreach ($temas as $l) + { + $gl = $maptemp->getlayerbyname($l); + $gl->set("data",""); + $gl->set("connection",""); + } + $nomemapfile = $dir_tmp."/".nomerandomico(20)."download.map"; + $ext = $maptemp->extent; + $ext->setextent($rectextent->minx,$rectextent->miny,$rectextent->maxx,$rectextent->maxy); + $maptemp->save($nomemapfile); + $nomemapfileurl = str_replace($radtmp."/","",$nomemapfile); + return array("tema"=>$tema,"mapfile"=>$nomemapfile,"mapfileurl"=>$nomemapfileurl,"arquivos"=>implode(",",$resultado),"nreg"=>$nreg); } /* diff --git a/classesphp/mapa_controle.php b/classesphp/mapa_controle.php index c37a6ff..3bb6b98 100644 --- a/classesphp/mapa_controle.php +++ b/classesphp/mapa_controle.php @@ -111,8 +111,9 @@ include_once("pega_variaveis.php"); $interfaceTemp = $interface; // //inicializa a sessão +//TEMA2SLD é usado por datadownload.htm // -if ($funcao != "criaMapa") +if ($funcao != "criaMapa" && $funcao != "TEMA2SLD") { session_name("i3GeoPHP"); if (isset($g_sid) && $g_sid != "") @@ -215,7 +216,7 @@ if(!isset($locaplic)){ // //substitui a string de conexão // -if($funcao != "recuperamapa") +if($funcao != "recuperamapa" && $funcao != "TEMA2SLD") { if(!substituiCon($map_file,$postgis_mapa)) { @@ -229,7 +230,6 @@ if($funcao != "recuperamapa") //faz a busca da função que deve ser executada // $retorno = ""; //string que será retornada ao browser via JSON - switch (strtoupper($funcao)) { /* -- libgit2 0.21.2