From c6b871ba4d82fc47579a2fe05ed5d20f6b24b94e Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Fri, 3 Feb 2012 21:38:30 +0000 Subject: [PATCH] --- admin/php/xml.php | 18 ++++++++++-------- classesphp/funcoes_gerais.php | 34 +++++++++++++++++----------------- classesphp/mapa_controle.php | 1 + documentacao/manual_de_usuario_do_i3geo.odt | Bin 6523355 -> 0 bytes 4 files changed, 28 insertions(+), 25 deletions(-) diff --git a/admin/php/xml.php b/admin/php/xml.php index 848c7d3..012c103 100644 --- a/admin/php/xml.php +++ b/admin/php/xml.php @@ -94,7 +94,7 @@ function geraXmlSistemas($perfil,$locaplic,$editores) $xml .= " ".$row["perfil_sistema"]."\n"; $xml .= " ".$row["publicado_sistema"]."\n"; $xml .= " ".xmlTexto_prepara($row["nome_sistema"])."\n"; - geraXmlSistemas_pegafuncoes($perfil,$xml,$row["id_sistema"],$dbh); + $xml = geraXmlSistemas_pegafuncoes($perfil,$xml,$row["id_sistema"],$dbh); $xml .= "\n"; } } @@ -462,7 +462,7 @@ function geraXmlRSS($locaplic,$sql,$descricao) } function geraXmlAtlas($locaplic,$editores) { - error_reporting(E_ALL); + error_reporting(0); $dbh = ""; include($locaplic."/admin/php/conexao.php"); if($convUTF) @@ -497,7 +497,7 @@ function geraXmlAtlas($locaplic,$editores) $xml .= " ".$row["tipoguias_atlas"]."\n"; $xml .= " ".$row["basemapfile_atlas"]."\n"; $xml .= " \n"; - geraXmlAtlas_pegapranchas(&$xml,$row["id_atlas"],$dbh); + $xml = geraXmlAtlas_pegapranchas($xml,$row["id_atlas"],$dbh); $xml .= " \n"; $xml .= " \n"; } @@ -624,7 +624,7 @@ function geraXmlMenutemas($perfil,$id_menu,$tipo,$locaplic) // $q = "select nome_tema,codigo_tema,desc_tema,link_tema,tipoa_tema,tags_tema,kml_tema,ogc_tema,download_tema,r.perfil as perfil from i3geoadmin_raiz as r,i3geoadmin_temas as temas where r.id_nivel = 0 and r.id_tema = temas.id_tema and r.id_menu = $id_menu "; $qtemasraiz = $dbh->query($q); - geraXmlMenutemas_notema($qtemasraiz,&$xml,$perfil); + $xml = geraXmlMenutemas_notema($qtemasraiz,$xml,$perfil); $q = "select nome_grupo,desc_grupo,n1.id_grupo,n1.id_n1,n1.n1_perfil as perfil from i3geoadmin_n1 as n1,i3geoadmin_grupos as grupos where n1.id_menu = $id_menu and n1.id_grupo = grupos.id_grupo "; $qgrupos = $dbh->query($q); foreach($qgrupos as $row) @@ -741,10 +741,11 @@ function geraXmlAtlas_pegapranchas($xml,$id_atlas,$dbh) $xml .= " ".$row["h_prancha"]."\n"; $xml .= " ".$row["mapext_prancha"]."\n"; $xml .= " \n"; - geraXmlAtlas_pegatemas(&$xml,$row["id_prancha"],$dbh); + $xml = geraXmlAtlas_pegatemas($xml,$row["id_prancha"],$dbh); $xml .= " \n"; $xml .= " \n"; - } + } + return $xml; } function geraXmlAtlas_pegatemas($xml,$id_prancha,$dbh) { @@ -758,8 +759,9 @@ function geraXmlAtlas_pegatemas($xml,$id_prancha,$dbh) $xml .= "".$row["ligado_tema"]."\n"; $xml .= "\n"; } + return $xml; } -function geraXmlSistemas_pegafuncoes($perfil,&$xml,$id_sistema,$dbh) +function geraXmlSistemas_pegafuncoes($perfil,$xml,$id_sistema,$dbh) { $q = "select * from i3geoadmin_sistemasf where id_sistema = '$id_sistema'"; $qtemas = $dbh->query($q); @@ -783,7 +785,7 @@ function geraXmlSistemas_pegafuncoes($perfil,&$xml,$id_sistema,$dbh) $xml .= "\n"; } } - + return $xml; } function array_in_array($needle, $haystack) { diff --git a/classesphp/funcoes_gerais.php b/classesphp/funcoes_gerais.php index 795ee46..460aa15 100644 --- a/classesphp/funcoes_gerais.php +++ b/classesphp/funcoes_gerais.php @@ -2021,6 +2021,7 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) include("../ms_configura.php"); $versao = versao(); $versao = $versao["principal"]; + $dataArquivos = array(); // //cria o arquivo mapfile, caso ele não exista, que servirá de base para obtenção dos dados // @@ -2072,6 +2073,7 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) //caso o usuario tenha usado caixa alta no nome do layer if ($teste == "") {$teste = @$map->getlayerbyname(strtoupper($tema));} + //se o layer não existir no mapfile, pega da pasta i3geo/temas e adiciona em $map if($teste == "") { $maptemp = ms_newMapObj($temasdir."/".$tema.".map"); @@ -2107,6 +2109,7 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) $map_file = str_replace(".map","tmp.map",$map_file); $map->save($map_file); substituiCon($map_file,$postgis_mapa); + //$map_file agora contem os LAYERS necessários $map = ms_newMapObj($map_file); // //verifica se existe mais de um tema (grupo) montando o array com os temas @@ -2132,6 +2135,7 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) } if ($multilayer == 0) {$temas[] = $tema;} + //$temas agora é um array com os NAMEs dos LAYERS que serão baixados $radtmp = dirname($dir_tmp); foreach ($temas as $tema) { @@ -2141,6 +2145,7 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) if(file_exists($nomeshp.".dbf")){ // //verifica se o arquivo está vazio ou não + //se estiver, apaga o arquivo // $verificaDBF = verificaDBF($nomeshp.".dbf"); if($verificaDBF == false){ @@ -2193,25 +2198,19 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) {return "erro";} } else //se for vetorial, extrai o arquivo - { - //define o nome correto do arquivo final - $sp = $map->shapepath; - $arq = ""; - if (file_exists($dados)) - {$arq = $dados;} - if (file_exists($dados.".shp")) - {$arq = $dados.".shp";} - if (file_exists($sp.$dados.".shp")) - {$arq = $sp.$dados.".shp";} - if (file_exists($sp.$dados)) - {$arq = $sp.$dados;} - + { $nomeshp = criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand); if($nomeshp == false) {return array("arquivos"=>"Ocorreu um erro, tente novamente","nreg"=>0);} + $resultado[] = str_replace($radtmp."/","",$nomeshp).".shp"; + $dataArquivos[] = date ("F d Y H:i:s.",filemtime($nomeshp.".shp")); + $resultado[] = str_replace($radtmp."/","",$nomeshp).".shx"; + $dataArquivos[] = date ("F d Y H:i:s.",filemtime($nomeshp.".shx")); + $resultado[] = str_replace($radtmp."/","",$nomeshp).".dbf"; + $dataArquivos[] = date ("F d Y H:i:s.",filemtime($nomeshp.".dbf")); } } } @@ -2247,7 +2246,7 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) $maptemp->save($nomemapfile); $nomemapfileurl = str_replace($radtmp."/","",$nomemapfile); } - return array("tema"=>$tema,"mapfile"=>$nomemapfile,"mapfileurl"=>$nomemapfileurl,"arquivos"=>implode(",",$resultado),"nreg"=>$nreg); + return array("tema"=>$tema,"mapfile"=>$nomemapfile,"mapfileurl"=>$nomemapfileurl,"arquivos"=>implode(",",$resultado),"nreg"=>$nreg,"datas"=>$dataArquivos); } /* @@ -2273,7 +2272,8 @@ function verificaDBF($arq){ {include_once "../pacotes/phpxbase/api_conversion.php";} $db = xbase_open($arq, 0); } - if ($db) { + //nas versões novas do PHP open retorna vazio, não dá pra verificar + //if ($db) { if(function_exists("dbase_numrecords")){ $record_numbers = dbase_numrecords($db); dbase_close($db); @@ -2286,8 +2286,8 @@ function verificaDBF($arq){ {return true;} else {return false;} - } - else {return false;} + //} + //else {return false;} } /* Section: Outros diff --git a/classesphp/mapa_controle.php b/classesphp/mapa_controle.php index 0368aae..6faef6c 100644 --- a/classesphp/mapa_controle.php +++ b/classesphp/mapa_controle.php @@ -1895,6 +1895,7 @@ Pega a lista de menus para incluir na guia adiciona. */ case "PEGALISTADEMENUS": include_once("classe_menutemas.php"); + if(!isset($editores)){$editores = "";} $m = new Menutemas($map_file,$perfil,$locaplic,$urli3geo,$editores,$idioma); $retorno = $m->pegaListaDeMenus(); break; diff --git a/documentacao/manual_de_usuario_do_i3geo.odt b/documentacao/manual_de_usuario_do_i3geo.odt index fefe833..a4f5a9d 100644 Binary files a/documentacao/manual_de_usuario_do_i3geo.odt and b/documentacao/manual_de_usuario_do_i3geo.odt differ -- libgit2 0.21.2