From 61c03a21836f90d933e4468fab38f020c7fe2ac3 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Mon, 5 Nov 2012 12:34:42 +0000 Subject: [PATCH] Inclusão de opção para upload e download de arquivos .gvp no editor de mapfiles do sistema admin --- admin/admin.db | Bin 152576 -> 0 bytes admin/html/editormapfile.html | 5 +++-- admin/js/editormapfile.js | 32 ++++++++++++++++++++++++++++++++ admin/php/editormapfile.php | 15 ++++++++++++++- admin/php/uploadgvp.php | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ classesphp/classe_mapa.php | 1 + classesphp/funcoes_gerais.php | 12 ++++++------ classesphp/mapa_controle.php | 11 ++++++----- ms_criamapa.php | 20 +++++++------------- ogc.php | 2 +- temas/testegvsigblog.gvp | 561 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 11 files changed, 128 insertions(+), 589 deletions(-) create mode 100755 admin/php/uploadgvp.php delete mode 100644 temas/testegvsigblog.gvp diff --git a/admin/admin.db b/admin/admin.db index 9dd2088..ed5cc64 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin/html/editormapfile.html b/admin/html/editormapfile.html index 5e4f925..0ff5f39 100644 --- a/admin/html/editormapfile.html +++ b/admin/html/editormapfile.html @@ -68,7 +68,8 @@ body {


Além de criar os mapfiles, é necessário definir as características de cada LAYER nas opções @@ -183,7 +184,7 @@ body { core_listaDeLetras("filtroDeLetras","filtraLetra"); document.getElementById("formulario").style.display = "block"; initMenu(); - } + }; i3GEO.login.verificaOperacao("admin/html/editormapfile",i3GEO.configura.locaplic, temp, "sessao"); \ No newline at end of file diff --git a/admin/js/editormapfile.js b/admin/js/editormapfile.js index 41f4fbf..e3f1fc5 100644 --- a/admin/js/editormapfile.js +++ b/admin/js/editormapfile.js @@ -145,6 +145,7 @@ function initMenu() } ativaBotaoAdicionaMapfile("adiciona"); ativaBotaoVerificarOrfaos("semmapfiles"); + ativaBotaoUploadGvsig("uploadGvsig"); core_carregando("ativa"); core_carregando("buscando temas..."); @@ -160,6 +161,21 @@ function ativaBotaoVerificarOrfaos(idBotao) //cria o botão de adição de um novo menu new YAHOO.widget.Button(idBotao,{ onclick: { fn: temp } }); } +function ativaBotaoUploadGvsig(idBotao) +{ + var temp = function(){ + var ins = '
' + + '

Arquivo gvp:

' + + '

' + + '' + + '

' + + '
'; + core_montaEditor("","350px","320px","","UploadGvp"); + $i("editor_bd").innerHTML = ins; + }; + //cria o botão de adição de um novo menu + new YAHOO.widget.Button(idBotao,{ onclick: { fn: temp } }); +} function ativaBotaoAdicionaMapfile(idBotao) { var adiciona = function() @@ -264,6 +280,10 @@ function montaNosRaiz(redesenha) if(iconePlus){ conteudo += " "; } + //opcao de download se for gvsig + if($mapfiles[i].extensao === "gvp"){ + conteudo += " "; + } conteudo += " "; conteudo += " "; conteudo += " "+$mapfiles[i].codigo+" "+$mapfiles[i].nome+""; @@ -944,6 +964,18 @@ function excluirMapfile(codigoMap) core_excluiNoTree(sUrl,no,mensagem,codigoMap); } /* +Function: downloadGvp + +Download de arquivo .gvp + + +*/ +function downloadGvp(codigoMap) +{ + var sUrl = "../php/editormapfile.php?funcao=downloadGvp&codigoMap="+codigoMap; + window.open(sUrl,"new"); +} +/* Function: clonarMapfile Exclui um mapfile diff --git a/admin/php/editormapfile.php b/admin/php/editormapfile.php index 7bd3792..b928485 100644 --- a/admin/php/editormapfile.php +++ b/admin/php/editormapfile.php @@ -62,7 +62,8 @@ $funcoesEdicao = array( "ALTERARMETADADOS", "ALTERARGERAL", "ALTERARCLASSEGERAL", - "ALTERARCLASSELABEL" + "ALTERARCLASSELABEL", + "DOWNLOADGVP" ); if(in_array(strtoupper($funcao),$funcoesEdicao)){ $f = @fopen("$locaplic/temas/teste.txt",w); @@ -123,6 +124,18 @@ switch (strtoupper($funcao)) {JSON} */ + case "DOWNLOADGVP": + if(file_exists($locaplic."/temas/".$codigoMap.".gvp")){ + ob_end_clean(); + header('Content-type: application/octet-stream'); + header('Content-Disposition: attachment; filename='.$codigoMap.'.gvp'); + echo file_get_contents($locaplic."/temas/".$codigoMap.".gvp"); + } + else{ + echo "Arquivo nao encontrado"; + } + exit; + break; case "EDITASIMBOLO": include_once("$locaplic/classesphp/classe_legenda.php"); if($base == "" or !isset($base)){ diff --git a/admin/php/uploadgvp.php b/admin/php/uploadgvp.php new file mode 100755 index 0000000..2db413f --- /dev/null +++ b/admin/php/uploadgvp.php @@ -0,0 +1,58 @@ + + + + + + + +

+Carregando o arquivo...

"; + $arq = $locaplic."/temas/".$_FILES['i3GEOuploadgvp']['name']; + //verifica nomes + verificaNome($_FILES['i3GEOuploadgvp']['name']); + if(file_exists($arq)){ + unlink($arq); + } + //sobe arquivo + $Arquivo = $_FILES['i3GEOuploadgvp']['tmp_name']; + $status = move_uploaded_file($Arquivo,$arq); + if($status != 1) + {echo "

Ocorreu um erro no envio do arquivo gvp";exit;} + if($status == 1){ + echo "

Arquivo enviado.

"; + paraAguarde(); + } + else{ + echo "

Erro ao enviar o arquivo.

"; + exit; + } +} +else{ + echo "

Erro ao enviar o arquivo. Talvez o tamanho do arquivo seja maior do que o permitido.

"; +} +function paraAguarde(){ + echo ""; +} +function verificaNome($nome) +{ + $nome = strtolower($nome); + $lista = explode(".",$nome); + $extensao = $lista[count($lista) - 1]; + if($extensao != "gvp") + { + echo "Nome de arquivo inválido."; + paraAguarde(); + exit; + } +} +?> + + \ No newline at end of file diff --git a/classesphp/classe_mapa.php b/classesphp/classe_mapa.php index 7e3c554..3a8848e 100644 --- a/classesphp/classe_mapa.php +++ b/classesphp/classe_mapa.php @@ -362,6 +362,7 @@ Include: */ function redesenhaCorpo($tipoimagem,$utilizacgi,$locmapserv) { + ms_ResetErrorList(); if(file_exists($this->locaplic."/classe_imagem.php")) include_once($this->locaplic."/classe_imagem.php"); else diff --git a/classesphp/funcoes_gerais.php b/classesphp/funcoes_gerais.php index 007a71f..40f9e19 100644 --- a/classesphp/funcoes_gerais.php +++ b/classesphp/funcoes_gerais.php @@ -2212,13 +2212,13 @@ Parametro: $obj {array} - objeto que será convertido */ function cpjson($obj){ - if(function_exists("json_encode")) - { + if(ob_get_contents ()){ + ob_end_clean(); + } + if(function_exists("json_encode")){ echojson(array2json($obj)); } - else - { - ob_end_clean(); + else{ include_once("../pacotes/cpaint/cpaint2.inc.php"); $cp = new cpaint(); $cp->set_data($obj); @@ -2534,7 +2534,7 @@ function listaTemasIndevidos(){ /* Function: listaGruposUsrLogin -Lista os os grupos ao qual pertence o usuario atualmente logado +Lista os grupos ao qual pertence o usuario atualmente logado */ function listaGruposUsrLogin(){ if(empty($_COOKIE["i3geocodigologin"])){ diff --git a/classesphp/mapa_controle.php b/classesphp/mapa_controle.php index 842e49a..48d0d43 100644 --- a/classesphp/mapa_controle.php +++ b/classesphp/mapa_controle.php @@ -160,8 +160,7 @@ include_once ("carrega_ext.php"); if(!function_exists("sobeAnno")){ include_once("funcoes_gerais.php"); } -if ($funcao == "criaMapa") -{ +if($funcao == "criaMapa"){ session_name("i3GeoPHP"); unset($GLOBALS); session_destroy(); @@ -181,10 +180,12 @@ if ($funcao == "criaMapa") $interface = "mashup"; include_once("ms_criamapa.php"); $_SESSION["interface"] = $interfaceTemp; - - cpjson(session_id()); + $temp = $_SESSION["map_file"]; + $id = session_id(); + session_write_close(); //ver funcoes_gerais.php - validaAcessoTemas($_SESSION("map_file")); + validaAcessoTemas($temp); + cpjson($id); return; } if (!isset($map_file)) diff --git a/ms_criamapa.php b/ms_criamapa.php index 1a96db4..077f9a1 100644 --- a/ms_criamapa.php +++ b/ms_criamapa.php @@ -134,6 +134,7 @@ gvsigview - (depreciado na versão 4.7) nome da view do projeto gvSig. Se nao for // //quando $funcao existe, é pq o ms_criamapa.php está sendo utilizado como um include em classesphp/mapa_controle.php // +ms_ResetErrorList(); $parurl = array_merge($_GET,$_POST); if (!isset($parurl["debug"])) {error_reporting(0);$debug="nao";} @@ -423,7 +424,6 @@ $_SESSION["imgurl"] = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].$atu $_SESSION["tmpurl"] = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].$atual; $_SESSION["map_file"] = $tmpfname; $_SESSION["mapext"] = $mapext; - if (isset($executa)) { if (file_exists($executa)) @@ -452,8 +452,7 @@ if (file_exists($locaplic."/pacotes/geoip") && file_exists($locaplic."/pacotes/g {require_once(__DIR__."/ms_registraip.php");} //echo $tmpfname;exit; if ($interface != "mashup") -{abreInterface();} - +{abreInterface($interface,$caminho,$tempo);} /* Adapta os dados de cada layer. @@ -492,20 +491,17 @@ function adaptaLayers(){ /* Redireciona para o HTML definido em $interface, abrindo o mapa */ -function abreInterface(){ - global $interface,$caminho,$tempo; +function abreInterface($interface,$caminho,$tempo){ $nomeInterface = explode(".",basename($interface)); //$_SESSION["interface"] = $nomeInterface[0]; - if (count(explode(".php",$interface)) > 1) - { + if (count(explode(".php",$interface)) > 1){ if(file_exists($caminho."interface/".$interface)) {include_once($caminho."interface/".$interface);} else {include_once($interface);} exit; } - else - { + else{ if(file_exists($caminho."interface/".$interface)) {$urln = $caminho."interface/".$interface."?".session_id();} else @@ -635,8 +631,7 @@ function incluiTemasIniciais(){ else{ if($extensao == ".map"){ $maptemp = @ms_newMapObj($arqtemp); - for($i=0;$i<($maptemp->numlayers);++$i) - { + for($i=0;$i<($maptemp->numlayers);++$i){ //error_reporting(E_ALL); $layern = $maptemp->getLayer($i); if($layern->type == MS_LAYER_RASTER) @@ -692,8 +687,7 @@ function incluiTemasIniciais(){ // //muda para RGB para melhorar o desenho da imagem raster // - if($existeraster) - { + if($existeraster){ //$of = $mapn->outputformat; //$of->set("imagemode",MS_IMAGEMODE_RGB); } diff --git a/ogc.php b/ogc.php index e3ac0f1..28e2a74 100644 --- a/ogc.php +++ b/ogc.php @@ -409,7 +409,7 @@ ms_ioinstallstdouttobuffer(); $oMap->owsdispatch($req); $contenttype = ms_iostripstdoutbuffercontenttype(); if(strtolower($request) == "getcapabilities") -{header('Content-Disposition: attachment; filename=getcapabilities.xml"');} +{header('Content-Disposition: attachment; filename=getcapabilities.xml');} //header("Content-type: application/xml"); header("Content-type: $contenttype"); diff --git a/temas/testegvsigblog.gvp b/temas/testegvsigblog.gvp deleted file mode 100644 index ed2b957..0000000 --- a/temas/testegvsigblog.gvp +++ /dev/null @@ -1,561 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- libgit2 0.21.2