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