From ca5cf2f6cf18c4db98bb38b771614c45a9b65f8c Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Thu, 29 May 2014 21:43:31 +0000 Subject: [PATCH] V6 - inclusão de opção no formulário de upload de shapefile para criar automaticamente o mapfile de visualização. O mapfile é criado e registrado no editor de mapfiles --- admin/admin.db | Bin 263168 -> 0 bytes admin/php/editormapfile.php | 51 ++++++++++++++++++++++++++++++++++++--------------- css/geral.css | 2 +- css/i3geo6.css | 2 +- css/i3geo6.css.php | 2 +- ferramentas/upload/dicionario.js | 4 ++-- ferramentas/upload/index.js | 6 ++++-- ferramentas/upload/upload.php | 32 ++++++++++++++++++++++++++++++++ 8 files changed, 77 insertions(+), 22 deletions(-) diff --git a/admin/admin.db b/admin/admin.db index d833c23..e2cba89 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin/php/editormapfile.php b/admin/php/editormapfile.php index cf96381..d796810 100644 --- a/admin/php/editormapfile.php +++ b/admin/php/editormapfile.php @@ -23,7 +23,7 @@ Este programa é distribuído na expectativa de que seja útil porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral do GNU para mais detalhes. -Você deve ter recebido uma cópia da Licença Pública Geral do +Você deve ter recebido uma copia da Licença Pública Geral do GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. @@ -36,7 +36,7 @@ Parametros: O parâmetro principal é "funcao", que define qual operação será executada, por exemplo, editormapfile.php?funcao=pegaMapfiles -Cada operação possuí seus próprios parâmetros, que devem ser enviados também na requisição da operação. +Cada operação possuí seus proprios parâmetros, que devem ser enviados também na requisição da operação. */ include_once(dirname(__FILE__)."/login.php"); @@ -82,6 +82,13 @@ if(in_array(strtoupper($funcao),$funcoesEdicao)){ } } error_reporting(0); +//define o parametro de output do resultado da funcao +//algumas funcoes podem ser inseridas com include em outros programas +//nesse caso, defina output como "retorno" +//caso contrario sera definido como json +if(empty($output)){ + $output = "json"; +} //faz a busca da função que deve ser executada switch (strtoupper($funcao)) { @@ -112,9 +119,14 @@ switch (strtoupper($funcao)) {JSON} */ case "CRIARNOVOMAP": - retornaJSON(criarNovoMap()); - exit; - break; + $resultado = criarNovoMap(); + if($output == "retorno"){ + return $resultado; + }else{ + retornaJSON($resultado); + exit; + } + break; case "DOWNLOADGVP": if(file_exists($locaplic."/temas/".$codigoMap.".gvp")){ @@ -219,7 +231,7 @@ switch (strtoupper($funcao)) /* Valor: LIMPARCACHEMAPFILE - Apaga o diretório contendo o cache de um tema (mapfile) + Apaga o diret�rio contendo o cache de um tema (mapfile) Parametros: @@ -256,7 +268,7 @@ switch (strtoupper($funcao)) Exclui um mapfile. - Só é possível excluir se o mapfile não estiver vinculado a nenhum tema ou nó da árvore de temas + S� é possível excluir se o mapfile não estiver vinculado a nenhum tema ou n� da árvore de temas Parametros: @@ -310,7 +322,7 @@ switch (strtoupper($funcao)) maporigem {string} - nome completo do arquivo mapfile que contem o layer que será utilizado para alterar o original - nomelayer {string} - código do layer em mapfile que será utilizado para atualizar codigoMap + nomelayer {string} - c�digo do layer em mapfile que será utilizado para atualizar codigoMap Retorno: @@ -344,7 +356,7 @@ switch (strtoupper($funcao)) Cria um novo layer em um mapfile - O novo layer receberá um nome aleatório, que pode ser modificado posteriormente. Por default, esse novo layer será do tipo linear + O novo layer receberá um nome aleat�rio, que pode ser modificado posteriormente. Por default, esse novo layer será do tipo linear Parametros: @@ -1170,12 +1182,15 @@ function sobeDesce() removeCabecalho($mapfile); return "ok"; } +//essa funcao e usada tambem por i3geo/ferramentas/upload/upload.php function criarNovoMap() { - global $nome,$codigo,$locaplic,$it,$en,$es,$esquemaadmin,$metaestat; + global $nome,$codigo,$locaplic,$it,$en,$es,$esquemaadmin,$metaestat,$tipoLayer,$data; $arq = $locaplic."/temas/".$codigo.".map"; - if(!file_exists($arq)) - { + if(!file_exists($arq)){ + if(empty($tipoLayer)){ + $tipoLayer = "line"; + } $dados[] = "MAP"; $dados[] = "SYMBOLSET ../symbols/simbolosv6.sym"; $dados[] = 'FONTSET "../symbols/fontes.txt"'; @@ -1184,12 +1199,15 @@ function criarNovoMap() $dados[] = ' TEMPLATE "none.htm"'; if(!empty($metaestat) && $metaestat == "SIM"){ $dados[] = ' CONNECTIONTYPE POSTGIS'; - $dados[] = " TYPE polygon"; + $tipoLayer = "polygon"; + } + $dados[] = " TYPE ".$tipoLayer; + if(empty($data)){ + $dados[] = ' DATA ""'; } else{ - $dados[] = " TYPE line"; + $dados[] = ' DATA "'.$data.'"'; } - $dados[] = ' DATA ""'; $dados[] = ' METADATA'; $dados[] = ' TEMA "'.$nome.'"'; $dados[] = ' CLASSE "SIM"'; @@ -1207,6 +1225,9 @@ function criarNovoMap() $dados[] = ' STYLE'; $dados[] = ' COLOR 0 0 0'; $dados[] = ' SIZE 12'; + if($tipoLayer == "point"){ + $dados[] = " SYMBOL 'ponto'"; + } $dados[] = ' END'; $dados[] = ' END'; $dados[] = "END"; diff --git a/css/geral.css b/css/geral.css index 4e03879..691218b 100644 --- a/css/geral.css +++ b/css/geral.css @@ -181,7 +181,7 @@ select option:hover { .aplicar {visibility:visible;color: #2F4632;background:rgb(240,240,240);text-align: center;font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 12px;border-style:outset;border-width:2px;border-color:#cc0000;cursor:pointer;z-index:1000;} .digitar -{box-shadow:1px 1px 3px 0px lightgray;margin:0px;color:#426252;background-color:white;border:1px solid rgb(250,250,250); font-size: 10px;font-family: Verdana, Arial, Helvetica, sans-serif;} +{box-shadow:1px 1px 3px 0px lightgray;margin:0px;color:#426252;background-color:white;border:1px solid rgb(180,180,180); height:17px; font-size: 12px;font-family: Verdana, Arial, Helvetica, sans-serif;} .digitarOver { margin:0px;color:#426252;background-color:#F6F6F6;border:1px solid rgb(250,250,250);font-size: 10px;font-family: Verdana, Arial, Helvetica, sans-serif; diff --git a/css/i3geo6.css b/css/i3geo6.css index fe6d856..336cc28 100755 --- a/css/i3geo6.css +++ b/css/i3geo6.css @@ -176,7 +176,7 @@ font-size: 13px; .aplicar {visibility:visible;color: #2F4632;background:rgb(240,240,240);text-align: center;font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 12px;border-style:outset;border-width:2px;border-color:#cc0000;cursor:pointer;z-index:1000;} .digitar -{box-shadow:1px 1px 3px 0px lightgray;margin:0px;color:#426252;background-color:white;border:1px solid rgb(250,250,250); font-size: 10px;font-family: Verdana, Arial, Helvetica, sans-serif;} +{box-shadow:1px 1px 3px 0px lightgray;margin:0px;color:#426252;background-color:white;border:1px solid rgb(180,180,180); height:17px; font-size: 12px;font-family: Verdana, Arial, Helvetica, sans-serif;} .digitarOver { margin:0px;color:#426252;background-color:#F6F6F6;border:1px solid rgb(250,250,250);font-size: 10px;font-family: Verdana, Arial, Helvetica, sans-serif; diff --git a/css/i3geo6.css.php b/css/i3geo6.css.php index ae14c34..c921d3f 100755 --- a/css/i3geo6.css.php +++ b/css/i3geo6.css.php @@ -176,7 +176,7 @@ font-size: 13px; .aplicar {visibility:visible;color: #2F4632;background:rgb(240,240,240);text-align: center;font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 12px;border-style:outset;border-width:2px;border-color:#cc0000;cursor:pointer;z-index:1000;} .digitar -{box-shadow:1px 1px 3px 0px lightgray;margin:0px;color:#426252;background-color:white;border:1px solid rgb(250,250,250); font-size: 10px;font-family: Verdana, Arial, Helvetica, sans-serif;} +{box-shadow:1px 1px 3px 0px lightgray;margin:0px;color:#426252;background-color:white;border:1px solid rgb(180,180,180); height:17px; font-size: 12px;font-family: Verdana, Arial, Helvetica, sans-serif;} .digitarOver { margin:0px;color:#426252;background-color:#F6F6F6;border:1px solid rgb(250,250,250);font-size: 10px;font-family: Verdana, Arial, Helvetica, sans-serif; diff --git a/ferramentas/upload/dicionario.js b/ferramentas/upload/dicionario.js index 1cfe4cc..c170266 100644 --- a/ferramentas/upload/dicionario.js +++ b/ferramentas/upload/dicionario.js @@ -1,7 +1,7 @@ //+$trad(1,i3GEOF.upload.dicionario)+ i3GEOF.upload.dicionario = { 1: [{ - pt:"pasta no servidor onde os dados
serão armazenados (obrigatório)", + pt:"Pasta no servidor onde os dados serão armazenados (obrigatório se você estiver utilizando o formulário dentro do sistema de administração)", en:"", es:"", it:"" @@ -55,7 +55,7 @@ i3GEOF.upload.dicionario = { it:"" }], 10: [{ - pt:"", + pt:"Marque para criar o arquivo de configuração (mapfile) e visualizar os dados no mapa interativo (você poderá editar esse arquivo posteriormente no editor de mapfiles)", en:"", es:"", it:"" diff --git a/ferramentas/upload/index.js b/ferramentas/upload/index.js index d70948f..12492fe 100644 --- a/ferramentas/upload/index.js +++ b/ferramentas/upload/index.js @@ -108,8 +108,10 @@ i3GEOF.upload = { '

shx:

' + '

dbf:

'; if(i3GEO.parametros.editor === "sim"){ - ins += '

'+$trad(1,i3GEOF.upload.dicionario)+':
'; - ins += " 

"; + ins += '

'+$trad(1,i3GEOF.upload.dicionario)+':
' + + '' + + " 

" + + '

 '+$trad(10,i3GEOF.upload.dicionario); } ins += '

'+$trad(2,i3GEOF.upload.dicionario)+': ' + '