From a0f84256a0ba42242f4931670f1e3465767444bf Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Sat, 18 Jul 2015 02:30:20 +0000 Subject: [PATCH] Novos filtros no editor de mapfiles --- admin/html/editormapfile.html | 16 +++++++++++++--- admin/js/core.js | 20 +++++++++++--------- admin/php/editormapfile.php | 1 + admin/php/menutemas.php | 23 +++++++++++++++++++++-- 4 files changed, 46 insertions(+), 14 deletions(-) diff --git a/admin/html/editormapfile.html b/admin/html/editormapfile.html index ead0928..634f4f2 100644 --- a/admin/html/editormapfile.html +++ b/admin/html/editormapfile.html @@ -92,6 +92,8 @@ body { as características de cada LAYER nas opções abaixo.
Para incluir o tema nos menus, edite a árvore de temas

+

O texto marcado em cinza corresponde ao nome do tema registrados na árvore de temas (registro no banco de dados). + Nem todos os temas são utilizados na árvore, por isso não necessitam ser associados a um 'tema' e registrados no banco de dados.

Mapfiles (arquivos existentes no diretório i3geo/temas):

@@ -163,7 +165,8 @@ body { } i3GEO.util.insereCookie("I3GEOletraAdmin", letra); core_pegaMapfiles("montaArvore()", letra, document - .getElementById("selFiltro").value); + .getElementById("selFiltro").value,document + .getElementById("checaNomes").checked); } //necessario para a ferramenta login e outras i3GEO.configura = { @@ -178,6 +181,8 @@ body { + "\")' >" + "" + "" + + "" + + "" + "" + "" + "" @@ -187,10 +192,15 @@ body { + "" + "" + ""; - ins += " Mostra a miniatura se houver"; + + "\")' type=checkbox id=mostraMini style=position:relative;top:2px; />Mostra a miniatura armazenada em temas/miniaturas"; + ins += "
Verifica nome registrado no banco e no mapfile. Marca em vermelho o nome registrado no mapfile quando houver divergência"; + + ins += "

"; document.getElementById("letras").innerHTML = ins; core_listaDeLetras("filtroDeLetras","filtraLetra"); diff --git a/admin/js/core.js b/admin/js/core.js index 29f5c80..b3b8331 100644 --- a/admin/js/core.js +++ b/admin/js/core.js @@ -608,22 +608,24 @@ funcaoM - (opcional) nome da funcao que será executada ao terminar a busc letra - (opcional) letra inicial utilizada para filtrar a lista filtro - (opcional) string com o filtro, por exemplo, "'download_tema' = 'SIM'" + +checaNomes - (0pcional) bate o nome do mapfile (tema) com o registro no banco */ -function core_pegaMapfiles(funcaoM,letra,filtro) +function core_pegaMapfiles(funcaoM,letra,filtro,checaNomes) { - if(arguments.length == 0){ + if(!letra){ letra = ""; - filtro = ""; - funcaoM = ""; } - if(arguments.length == 1){ - letra = ""; + if(!filtro){ filtro = ""; } - if(arguments.length == 2){ - filtro = ""; + if(!funcaoM){ + funcaoM = ""; + } + if(!checaNomes){ + checaNomes = "false"; } - var sUrl = "../php/menutemas.php?funcao=listaMapsTemas&letra="+letra+"&filtro="+filtro; + var sUrl = "../php/menutemas.php?funcao=listaMapsTemas&letra="+letra+"&filtro="+filtro+"&checaNomes="+checaNomes; var callbackM = { success:function(o) diff --git a/admin/php/editormapfile.php b/admin/php/editormapfile.php index 7ea6d83..d85ee58 100644 --- a/admin/php/editormapfile.php +++ b/admin/php/editormapfile.php @@ -83,6 +83,7 @@ if(in_array(strtoupper($funcao),$funcoesEdicao)){ if(verificaOperacaoSessao("admin/html/editormapfile") == false){ retornaJSON("Vc nao pode realizar essa operacao.");exit; } + unlink("$locaplic/temas/teste.txt"); } error_reporting(0); //define o parametro de output do resultado da funcao diff --git a/admin/php/menutemas.php b/admin/php/menutemas.php index a600f05..d8055b3 100644 --- a/admin/php/menutemas.php +++ b/admin/php/menutemas.php @@ -1221,7 +1221,7 @@ Retorna a lista de mapfiles do diretorio i3geo/temas */ function listaMapsTemas() { - global $cp,$locaplic,$letra,$filtro,$esquemaadmin; + global $cp,$locaplic,$letra,$filtro,$esquemaadmin,$checaNomes; $arquivos = array(); if (is_dir($locaplic."/temas")) { @@ -1287,7 +1287,6 @@ function listaMapsTemas() foreach($regs as $reg){ $nomes[$reg["codigo_tema"]] = $reg["nome_tema"]; $ids[$reg["codigo_tema"]] = $reg["id_tema"]; - //$outros[$reg["codigo_tema"]] = array("kmz"=>$reg["kmz_tema"],"kml"=>$reg["kml_tema"],"ogc"=>$reg["ogc_tema"],"download"=>$reg["download_tema"],"link"=>$reg["link_tema"]); } $lista = array(); foreach($arquivos as $arq){ @@ -1311,6 +1310,25 @@ function listaMapsTemas() if(file_exists($locaplic."/temas/miniaturas/".$arq.".map.mini.png")){ $imagem = $arq.".map.mini.png"; } + if($checaNomes == "true"){ + if($extensao == "map"){ + if(file_exists($locaplic."/temas/".$arq.".map")){ + $handle = fopen($locaplic."/temas/".$arq.".map", "r"); + while (!feof($handle)){ + $linha = fgets($handle); + if(strpos(strtoupper($linha),"'TEMA'") !== false || strpos(strtoupper($linha),'"TEMA"') !== false){ + $ntema = str_replace(array("'TEMA'",'"TEMA"',"'tema'",'"tema"'),"",$linha); + $ntema = trim(str_replace(array("'",'"'),"",$ntema)); + if($n != $ntema && $n != utf8_encode($ntema) && $n != ""){ + $n .= "".utf8_encode($ntema).""; + } + break; + } + } + fclose($handle); + } + } + } if(isset($filtro) && $filtro != "" && $n != ""){ $lista[] = array("grupousr"=>$grupousr,"id_tema"=>$id,"nome"=>$n,"codigo"=>$arq,"imagem"=>$imagem,"extensao"=>$extensao); } @@ -1318,6 +1336,7 @@ function listaMapsTemas() $lista[] = array("grupousr"=>$grupousr,"id_tema"=>$id,"nome"=>$n,"codigo"=>$arq,"imagem"=>$imagem,"extensao"=>$extensao); } } + return $lista; } /* -- libgit2 0.21.2