Commit 59565c1a1f3bf5b59bcb7a21f1ff8bf7452aee46
1 parent
99da5de9
Exists in
master
and in
7 other branches
Correção na ferramenta de download para permitir a substituição de string de con…
…exão. Depreciada a função downloadtema em prol da downloadtema2
Showing
7 changed files
with
88 additions
and
21 deletions
Show diff stats
classesjs/classe_tema.js
@@ -425,7 +425,7 @@ i3GEO.tema = { | @@ -425,7 +425,7 @@ i3GEO.tema = { | ||
425 | var js = i3GEO.configura.locaplic+"/ferramentas/download/index.js.php"; | 425 | var js = i3GEO.configura.locaplic+"/ferramentas/download/index.js.php"; |
426 | i3GEO.mapa.ativaTema(idtema); | 426 | i3GEO.mapa.ativaTema(idtema); |
427 | i3GEO.util.scriptTag(js,"i3GEOF.download.criaJanelaFlutuante('"+idtema+"')","i3GEOF.download_script"); | 427 | i3GEO.util.scriptTag(js,"i3GEOF.download.criaJanelaFlutuante('"+idtema+"')","i3GEOF.download_script"); |
428 | - } | 428 | + } |
429 | }, | 429 | }, |
430 | /* | 430 | /* |
431 | Function: sld | 431 | Function: sld |
classesjs/datadownload.js
@@ -293,7 +293,7 @@ function datadownload_download(tema) | @@ -293,7 +293,7 @@ function datadownload_download(tema) | ||
293 | { | 293 | { |
294 | if(!$i("panellistaarquivos")){ | 294 | if(!$i("panellistaarquivos")){ |
295 | YAHOO.namespace("datadownloadLista"); | 295 | YAHOO.namespace("datadownloadLista"); |
296 | - YAHOO.datadownloadLista.panel = new YAHOO.widget.Panel("panellistaarquivos", {zIndex:2000, iframe:false, width:"450px", visible:false, draggable:true, close:true, modal:true } ); | 296 | + YAHOO.datadownloadLista.panel = new YAHOO.widget.Panel("panellistaarquivos", {zIndex:2000, iframe:false, width:"450px",align:"left", visible:false, draggable:true, close:true, modal:true } ); |
297 | YAHOO.datadownloadLista.panel.setHeader("Arquivos"); | 297 | YAHOO.datadownloadLista.panel.setHeader("Arquivos"); |
298 | YAHOO.datadownloadLista.panel.setBody(""); | 298 | YAHOO.datadownloadLista.panel.setBody(""); |
299 | YAHOO.datadownloadLista.panel.setFooter(""); | 299 | YAHOO.datadownloadLista.panel.setFooter(""); |
@@ -303,11 +303,11 @@ function datadownload_download(tema) | @@ -303,11 +303,11 @@ function datadownload_download(tema) | ||
303 | YAHOO.datadownloadLista.panel.setBody($trad("d28")); | 303 | YAHOO.datadownloadLista.panel.setBody($trad("d28")); |
304 | YAHOO.datadownloadLista.panel.show(); | 304 | YAHOO.datadownloadLista.panel.show(); |
305 | //document.getElementById("corpo").innerHTML = "Aguarde. Gerando arquivos..." | 305 | //document.getElementById("corpo").innerHTML = "Aguarde. Gerando arquivos..." |
306 | - var p = g_locaplic+"/classesphp/mapa_controle.php?map_file=&funcao=download&tema="+tema; | 306 | + var p = g_locaplic+"/classesphp/mapa_controle.php?map_file=&funcao=download2&tema="+tema; |
307 | var cp = new cpaint(); | 307 | var cp = new cpaint(); |
308 | //cp.set_debug(2) | 308 | //cp.set_debug(2) |
309 | cp.set_response_type("JSON"); | 309 | cp.set_response_type("JSON"); |
310 | - cp.call(p,"downloadTema",mostraDownload); | 310 | + cp.call(p,"downloadTema2",mostraDownload); |
311 | } | 311 | } |
312 | /* | 312 | /* |
313 | Function: mostraDownload | 313 | Function: mostraDownload |
@@ -319,7 +319,7 @@ function mostraDownload(retorno) | @@ -319,7 +319,7 @@ function mostraDownload(retorno) | ||
319 | if (retorno.data != undefined) | 319 | if (retorno.data != undefined) |
320 | { | 320 | { |
321 | var retorno = retorno.data | 321 | var retorno = retorno.data |
322 | - var arqs = retorno.split(",") | 322 | + var arqs = retorno.arquivos.split(",") |
323 | var n = arqs.length; | 323 | var n = arqs.length; |
324 | if(retorno == "erro") | 324 | if(retorno == "erro") |
325 | {var ins = "<p style=color:red >Ocorreu um erro. O tema não foi encontrado. Pode ser que o código do tema não existe na definição do mapfile. Informe o administrador do sistema.<br>";} | 325 | {var ins = "<p style=color:red >Ocorreu um erro. O tema não foi encontrado. Pode ser que o código do tema não existe na definição do mapfile. Informe o administrador do sistema.<br>";} |
@@ -328,8 +328,10 @@ function mostraDownload(retorno) | @@ -328,8 +328,10 @@ function mostraDownload(retorno) | ||
328 | var ins = "<b>Clique nos links para pegar os arquivos. Para obter os metadados, veja o link na árvore ao lado (o link é mostrado ao expandir o nó correspondente ao tema).</b><br><br>" | 328 | var ins = "<b>Clique nos links para pegar os arquivos. Para obter os metadados, veja o link na árvore ao lado (o link é mostrado ao expandir o nó correspondente ao tema).</b><br><br>" |
329 | for (var arq=0;arq<n;arq++) | 329 | for (var arq=0;arq<n;arq++) |
330 | { | 330 | { |
331 | - ins += "<a href='"+window.location.protocol+"//"+window.location.host+"/"+arqs[arq]+"'>"+arqs[arq]+"<br>" | 331 | + ins += "<a href='"+window.location.protocol+"//"+window.location.host+"/"+arqs[arq]+"'>"+arqs[arq]+"</a><br>" |
332 | } | 332 | } |
333 | + if(retorno.nreg) | ||
334 | + {ins += "<br><br>Número de registros ="+retorno.nreg;} | ||
333 | } | 335 | } |
334 | } | 336 | } |
335 | else | 337 | else |
classesphp/funcoes_gerais.php
@@ -1729,6 +1729,7 @@ function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE) | @@ -1729,6 +1729,7 @@ function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE) | ||
1729 | $novonomelayer = nomeRandomico(20); | 1729 | $novonomelayer = nomeRandomico(20); |
1730 | else | 1730 | else |
1731 | $novonomelayer = $tema; | 1731 | $novonomelayer = $tema; |
1732 | + | ||
1732 | $nomeshp = $dir_tmp."/".$novonomelayer; | 1733 | $nomeshp = $dir_tmp."/".$novonomelayer; |
1733 | if(file_exists($nomeshp.".shp")) | 1734 | if(file_exists($nomeshp.".shp")) |
1734 | {return $nomeshp;} | 1735 | {return $nomeshp;} |
@@ -1786,13 +1787,16 @@ function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE) | @@ -1786,13 +1787,16 @@ function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE) | ||
1786 | $existesel = "nao"; | 1787 | $existesel = "nao"; |
1787 | if (file_exists($map_file."qy")) | 1788 | if (file_exists($map_file."qy")) |
1788 | {$map->loadquery($map_file."qy");} | 1789 | {$map->loadquery($map_file."qy");} |
1789 | - if ($layer->getNumresults() > 0){$existesel = "sim";} | 1790 | + if ($layer->getNumresults() > 0) |
1791 | + {$existesel = "sim";} | ||
1792 | + | ||
1790 | if ($existesel == "nao") | 1793 | if ($existesel == "nao") |
1791 | { | 1794 | { |
1792 | @$layer->queryByrect($map->extent); | 1795 | @$layer->queryByrect($map->extent); |
1793 | } | 1796 | } |
1794 | //pega cada registro | 1797 | //pega cada registro |
1795 | $res_count = $layer->getNumresults(); | 1798 | $res_count = $layer->getNumresults(); |
1799 | + | ||
1796 | if ($res_count > 0) | 1800 | if ($res_count > 0) |
1797 | { | 1801 | { |
1798 | $sopen = $layer->open(); | 1802 | $sopen = $layer->open(); |
@@ -1825,7 +1829,17 @@ function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE) | @@ -1825,7 +1829,17 @@ function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE) | ||
1825 | return $nomeshp; | 1829 | return $nomeshp; |
1826 | } | 1830 | } |
1827 | /* | 1831 | /* |
1828 | -Function: downloadTema | 1832 | +Function: downloadTema (depreciado) |
1833 | + | ||
1834 | +Utilize downloadTema2 | ||
1835 | +*/ | ||
1836 | +function downloadTema($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) | ||
1837 | +{ | ||
1838 | + $resultado = downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa); | ||
1839 | + return $resultado["arquivos"]; | ||
1840 | +} | ||
1841 | +/* | ||
1842 | +Function: downloadTema2 | ||
1829 | 1843 | ||
1830 | Faz o download dos dados de um tema. | 1844 | Faz o download dos dados de um tema. |
1831 | 1845 | ||
@@ -1839,6 +1853,8 @@ $locaplic {string} - Diretório da aplicação. | @@ -1839,6 +1853,8 @@ $locaplic {string} - Diretório da aplicação. | ||
1839 | 1853 | ||
1840 | $dir_tmp {string} - Diretório temporário | 1854 | $dir_tmp {string} - Diretório temporário |
1841 | 1855 | ||
1856 | +$postgismapa - variavel definida em ms_configura.php | ||
1857 | + | ||
1842 | Retorno: | 1858 | Retorno: |
1843 | 1859 | ||
1844 | {array} com o nome do diretório e nome do arquivo | 1860 | {array} com o nome do diretório e nome do arquivo |
@@ -1846,7 +1862,7 @@ Retorno: | @@ -1846,7 +1862,7 @@ Retorno: | ||
1846 | Include: | 1862 | Include: |
1847 | <ms_configura.php> | 1863 | <ms_configura.php> |
1848 | */ | 1864 | */ |
1849 | -function downloadTema($map_file,$tema,$locaplic,$dir_tmp) | 1865 | +function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) |
1850 | { | 1866 | { |
1851 | ini_set("max_execution_time","1800"); | 1867 | ini_set("max_execution_time","1800"); |
1852 | if(file_exists($locaplic."/ms_configura.php")) | 1868 | if(file_exists($locaplic."/ms_configura.php")) |
@@ -1897,8 +1913,9 @@ function downloadTema($map_file,$tema,$locaplic,$dir_tmp) | @@ -1897,8 +1913,9 @@ function downloadTema($map_file,$tema,$locaplic,$dir_tmp) | ||
1897 | // | 1913 | // |
1898 | //salva o mapfile com um outro nome para evitar que o mapa atual, se estiver aberto, seja modificado | 1914 | //salva o mapfile com um outro nome para evitar que o mapa atual, se estiver aberto, seja modificado |
1899 | // | 1915 | // |
1900 | - $ma_file = str_replace(".map","tmp.map",$map_file); | 1916 | + $map_file = str_replace(".map","tmp.map",$map_file); |
1901 | $map->save($map_file); | 1917 | $map->save($map_file); |
1918 | + substituiCon($map_file,$postgis_mapa); | ||
1902 | $map = ms_newMapObj($map_file); | 1919 | $map = ms_newMapObj($map_file); |
1903 | // | 1920 | // |
1904 | //verifica se existe mais de um tema (grupo) montando o array com os temas | 1921 | //verifica se existe mais de um tema (grupo) montando o array com os temas |
@@ -1928,6 +1945,16 @@ function downloadTema($map_file,$tema,$locaplic,$dir_tmp) | @@ -1928,6 +1945,16 @@ function downloadTema($map_file,$tema,$locaplic,$dir_tmp) | ||
1928 | foreach ($temas as $tema) | 1945 | foreach ($temas as $tema) |
1929 | { | 1946 | { |
1930 | $l = $map->getlayerbyname($tema); | 1947 | $l = $map->getlayerbyname($tema); |
1948 | + $novonomelayer = $tema; | ||
1949 | + $nomeshp = $dir_tmp."/".$novonomelayer; | ||
1950 | + if(file_exists($nomeshp.".dbf")){ | ||
1951 | + $verificaDBF = verificaDBF($nomeshp.".dbf"); | ||
1952 | + if($verificaDBF == false){ | ||
1953 | + unlink($nomeshp.".dbf"); | ||
1954 | + unlink($nomeshp.".shp"); | ||
1955 | + unlink($nomeshp.".shx"); | ||
1956 | + } | ||
1957 | + } | ||
1931 | $meta = $l->getmetadata("arquivodownload"); | 1958 | $meta = $l->getmetadata("arquivodownload"); |
1932 | if($meta != "") | 1959 | if($meta != "") |
1933 | { | 1960 | { |
@@ -1965,7 +1992,7 @@ function downloadTema($map_file,$tema,$locaplic,$dir_tmp) | @@ -1965,7 +1992,7 @@ function downloadTema($map_file,$tema,$locaplic,$dir_tmp) | ||
1965 | else | 1992 | else |
1966 | { | 1993 | { |
1967 | $sp = $map->shapepath; | 1994 | $sp = $map->shapepath; |
1968 | - $arq = ""; | 1995 | + $arq = ""; |
1969 | if (file_exists($dados)) | 1996 | if (file_exists($dados)) |
1970 | {$arq = $dados;} | 1997 | {$arq = $dados;} |
1971 | if (file_exists($dados.".shp")) | 1998 | if (file_exists($dados.".shp")) |
@@ -1976,8 +2003,6 @@ function downloadTema($map_file,$tema,$locaplic,$dir_tmp) | @@ -1976,8 +2003,6 @@ function downloadTema($map_file,$tema,$locaplic,$dir_tmp) | ||
1976 | {$arq = $sp.$dados;} | 2003 | {$arq = $sp.$dados;} |
1977 | if ($arq != "") | 2004 | if ($arq != "") |
1978 | { | 2005 | { |
1979 | - $novonomelayer = $tema; //nomeRandomico(20); | ||
1980 | - $nomeshp = $dir_tmp."/".$novonomelayer; | ||
1981 | $arq = explode(".shp",$arq); | 2006 | $arq = explode(".shp",$arq); |
1982 | if(!file_exists($nomeshp.".shp")) | 2007 | if(!file_exists($nomeshp.".shp")) |
1983 | { | 2008 | { |
@@ -1991,6 +2016,7 @@ function downloadTema($map_file,$tema,$locaplic,$dir_tmp) | @@ -1991,6 +2016,7 @@ function downloadTema($map_file,$tema,$locaplic,$dir_tmp) | ||
1991 | } | 2016 | } |
1992 | else | 2017 | else |
1993 | { | 2018 | { |
2019 | + | ||
1994 | $nomeshp = criaSHP($tema,$map_file,$locaplic,$dir_tmp,FALSE); | 2020 | $nomeshp = criaSHP($tema,$map_file,$locaplic,$dir_tmp,FALSE); |
1995 | $resultado[] = str_replace($radtmp."/","",$nomeshp).".shp"; | 2021 | $resultado[] = str_replace($radtmp."/","",$nomeshp).".shp"; |
1996 | $resultado[] = str_replace($radtmp."/","",$nomeshp).".shx"; | 2022 | $resultado[] = str_replace($radtmp."/","",$nomeshp).".shx"; |
@@ -1999,7 +2025,37 @@ function downloadTema($map_file,$tema,$locaplic,$dir_tmp) | @@ -1999,7 +2025,37 @@ function downloadTema($map_file,$tema,$locaplic,$dir_tmp) | ||
1999 | } | 2025 | } |
2000 | } | 2026 | } |
2001 | } | 2027 | } |
2002 | - return(implode(",",$resultado)); | 2028 | + $nreg = ""; |
2029 | + if(count($resultado) == 3){ | ||
2030 | + $arq = $radtmp."/".$resultado[2]; | ||
2031 | + $db = dbase_open($arq, 0); | ||
2032 | + if ($db) {$nreg = dbase_numrecords($db);} | ||
2033 | + } | ||
2034 | + return array("arquivos"=>implode(",",$resultado),"nreg"=>$nreg); | ||
2035 | +} | ||
2036 | +/* | ||
2037 | +Function: verificaDBF | ||
2038 | + | ||
2039 | +Verifica se um arquivo dbf está ou não vazio | ||
2040 | + | ||
2041 | +Parametros: | ||
2042 | + | ||
2043 | +$arq {string} - nome do arquivo dbf | ||
2044 | + | ||
2045 | +Return: | ||
2046 | + | ||
2047 | +{boolean} - true indica que não está vazio | ||
2048 | +*/ | ||
2049 | +function verificaDBF($arq){ | ||
2050 | + $db = dbase_open($arq, 0); | ||
2051 | + if ($db) { | ||
2052 | + $record_numbers = dbase_numrecords($db); | ||
2053 | + if ($record_numbers > 0) | ||
2054 | + {return true;} | ||
2055 | + else | ||
2056 | + {return false;} | ||
2057 | + } | ||
2058 | + else {return false;} | ||
2003 | } | 2059 | } |
2004 | /* | 2060 | /* |
2005 | Section: Outros | 2061 | Section: Outros |
classesphp/mapa_controle.php
@@ -1011,13 +1011,20 @@ Gera uma imagem que será utilizada para destacar um determinado tema. | @@ -1011,13 +1011,20 @@ Gera uma imagem que será utilizada para destacar um determinado tema. | ||
1011 | $retorno = $m->geraDestaque(); | 1011 | $retorno = $m->geraDestaque(); |
1012 | break; | 1012 | break; |
1013 | /* | 1013 | /* |
1014 | -Valor: DOWNLOAD | 1014 | +Valor: DOWNLOAD (depreciado, utilize DOWNLOAD2 |
1015 | +*/ | ||
1016 | + case "DOWNLOAD": | ||
1017 | + $retorno = downloadTema($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa); | ||
1018 | + break; | ||
1019 | +/* | ||
1020 | +Valor: DOWNLOAD2 | ||
1015 | 1021 | ||
1016 | Gera os arquivos para download de um tema. | 1022 | Gera os arquivos para download de um tema. |
1017 | */ | 1023 | */ |
1018 | - case "DOWNLOAD": | ||
1019 | - $retorno = downloadTema($map_file,$tema,$locaplic,$dir_tmp); | 1024 | + case "DOWNLOAD2": |
1025 | + $retorno = downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa); | ||
1020 | break; | 1026 | break; |
1027 | + | ||
1021 | /* | 1028 | /* |
1022 | function: INSEREFEATURE | 1029 | function: INSEREFEATURE |
1023 | 1030 |
ferramentas/download/index.js.php
@@ -51,15 +51,17 @@ i3GEOF.download = { | @@ -51,15 +51,17 @@ i3GEOF.download = { | ||
51 | retorno,arqs,n,arq; | 51 | retorno,arqs,n,arq; |
52 | if (retorno.data != undefined){ | 52 | if (retorno.data != undefined){ |
53 | retorno = retorno.data; | 53 | retorno = retorno.data; |
54 | - arqs = retorno.split(","); | 54 | + arqs = retorno.arquivos.split(","); |
55 | n = arqs.length; | 55 | n = arqs.length; |
56 | if(retorno == "erro") | 56 | if(retorno == "erro") |
57 | {ins = "<p style=color:red >Ocorreu um erro. O tema não foi encontrado. Pode ser que o código do tema não existe na definição do mapfile. Informe o administrador do sistema.<br>";} | 57 | {ins = "<p style=color:red >Ocorreu um erro. O tema não foi encontrado. Pode ser que o código do tema não existe na definição do mapfile. Informe o administrador do sistema.<br>";} |
58 | else{ | 58 | else{ |
59 | for (arq=0;arq<n;arq++){ | 59 | for (arq=0;arq<n;arq++){ |
60 | - ins += "<a href='"+window.location.protocol+"//"+window.location.host+"/"+arqs[arq]+"'>"+arqs[arq]+"<br>"; | 60 | + ins += "<a href='"+window.location.protocol+"//"+window.location.host+"/"+arqs[arq]+"'>"+arqs[arq]+"</a><br>"; |
61 | } | 61 | } |
62 | } | 62 | } |
63 | + if(retorno.nreg) | ||
64 | + {ins += "<br><br>Número de registros ="+retorno.nreg;} | ||
63 | } | 65 | } |
64 | else | 66 | else |
65 | {ins = "<p style=color:red >Ocorreu um erro<br>";} | 67 | {ins = "<p style=color:red >Ocorreu um erro<br>";} |
@@ -68,7 +70,7 @@ i3GEOF.download = { | @@ -68,7 +70,7 @@ i3GEOF.download = { | ||
68 | } | 70 | } |
69 | 71 | ||
70 | 72 | ||
71 | - p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=download&tema="+tema; | 73 | + p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=download2&tema="+tema; |
72 | cp = new cpaint(); | 74 | cp = new cpaint(); |
73 | cp.set_response_type("JSON"); | 75 | cp.set_response_type("JSON"); |
74 | cp.call(p,"downloadTema",mostraDownload); | 76 | cp.call(p,"downloadTema",mostraDownload); |
menutemas/admin.db
No preview for this file type
temas/testeutf8postgis.map