Commit 9555ce159c09eace8543dafd3a044a50dc0727cd

Authored by Edmar Moretti
1 parent d4fc7cd0

Novos filtros no editor de mapfiles

admin/html/editormapfile.html
@@ -39,61 +39,45 @@ body { @@ -39,61 +39,45 @@ body {
39 <script src="../../classesjs/classe_plugini3geo.js" type="text/javascript"></script> 39 <script src="../../classesjs/classe_plugini3geo.js" type="text/javascript"></script>
40 40
41 <link rel="stylesheet" type="text/css" href="admin.css"> 41 <link rel="stylesheet" type="text/css" href="admin.css">
  42 +<style>
  43 +table.ygtvtable {
  44 + margin-top: 3px;;
  45 +}
  46 +</style>
42 47
43 </head> 48 </head>
44 <body class=" yui-skin-sam fundoPonto"> 49 <body class=" yui-skin-sam fundoPonto">
45 <center> 50 <center>
46 <div class="bordaSuperior">&nbsp;</div> 51 <div class="bordaSuperior">&nbsp;</div>
47 <div class="mascaraPrincipal" id="divGeral"> 52 <div class="mascaraPrincipal" id="divGeral">
48 - <div id=cabecalhoPrincipal ></div> 53 + <div id=cabecalhoPrincipal></div>
49 <h1> 54 <h1>
50 - Administra&ccedil;&atilde;o do i3geo - mapfiles dos temas <img  
51 - src="../imagens/04.png" style="cursor: pointer" id=botaoAjuda /> 55 + Administra&ccedil;&atilde;o do i3geo - mapfiles dos temas
  56 + <img src="../imagens/04.png" style="cursor: pointer" id=botaoAjuda />
52 </h1> 57 </h1>
53 <div id="formulario" style="display: none"> 58 <div id="formulario" style="display: none">
54 <div id="ajuda" style="display: none"> 59 <div id="ajuda" style="display: none">
55 <div class="hd">Ajuda</div> 60 <div class="hd">Ajuda</div>
56 <div class="bd" style="height: 144px; overflow: auto"> 61 <div class="bd" style="height: 144px; overflow: auto">
57 - <p>Importante: a restri&ccedil;&atilde;o ao tema por meio da defini&ccedil;&atilde;o de grupos de usu&aacute;rios n&atilde;o bloqueia o acesso por meio de download, WMS, KML, etc.  
58 - Para bloquear esse tipo de acesso &eacute; necess&aacute;rio alterar as op&ccedil;&otilde;es espec&iacute;ficas. Por padr&atilde;o, esses servi&ccedil;os s&atilde;o habilitados para qualquer usu&aacute;rio, n&atilde;o sendo poss&iacute;vel bloquear apenas para determinados grupos.  
59 - <p>Este formul&aacute;rio permite criar ou editar os arquivos  
60 - mapfile que comp&otilde;em temas no i3geo.  
61 - <p>Os arquivo .map s&atilde;o armazenados no diretório  
62 - i3geo/temas e podem tamb&eacute;m ser editados manualmente.  
63 - <p>Cada arquivo cont&eacute;m layers definidos conforme a  
64 - sintaxe utilizada pelo Mapserver. Esses arquivos s&atilde;o as  
65 - estruturas b&aacute;sicas utilizadas pelo i3geo na  
66 - apresenta&ccedil;&atilde;o de dados e montagem das camadas que  
67 - s&atilde;o vistas no mapa.  
68 - <p>Após criados os mapfiles, deve-se ainda definir as  
69 - caracter&iacute;sticas de cada LAYER.  
70 - <p>A lista de IPs dos usu&aacute;rios que podem administrar o  
71 - i3geo &eacute; definida no arquivo i3geo/ms_configura.php  
72 - <p>Apenas os mapfiles que forem vinculados a um tema  
73 - poder&atilde;o ser vistos na janela de inclus&atilde;o de temas  
74 - na &aacute;rvore de temas. Se voc&ecirc; criou um mapfile  
75 - manualmente, utilize a op&ccedil;&atilde;o de  
76 - edi&ccedil;&atilde;o (&iacute;cone apresentado ao lado de cada  
77 - mapfile) para fazer essa associa&ccedil;&atilde;o.  
78 - <p>A op&ccedil;&atilde;o "Verifica temas sem mapfiles"  
79 - possibilita resolver problemas decorrentes da  
80 - elimina&ccedil;&atilde;o manual de um arquivo mapfile do  
81 - servidor. Nesses casos, o registro no banco de dados permanece.  
82 - Com essa op&ccedil;&atilde;o &eacute; poss&iacute;vel apagar os  
83 - registros ou recriar o mapfile perdido. 62 + <p>Importante: a restri&ccedil;&atilde;o ao tema por meio da defini&ccedil;&atilde;o de grupos de usu&aacute;rios n&atilde;o bloqueia o acesso por meio de download, WMS, KML, etc. Para bloquear esse tipo de acesso &eacute; necess&aacute;rio alterar as op&ccedil;&otilde;es espec&iacute;ficas. Por padr&atilde;o, esses servi&ccedil;os s&atilde;o habilitados para qualquer usu&aacute;rio, n&atilde;o sendo poss&iacute;vel bloquear apenas para determinados grupos.
  63 + <p>Este formul&aacute;rio permite criar ou editar os arquivos mapfile que comp&otilde;em temas no i3geo.
  64 + <p>Os arquivo .map s&atilde;o armazenados no diretório i3geo/temas e podem tamb&eacute;m ser editados manualmente.
  65 + <p>Cada arquivo cont&eacute;m layers definidos conforme a sintaxe utilizada pelo Mapserver. Esses arquivos s&atilde;o as estruturas b&aacute;sicas utilizadas pelo i3geo na apresenta&ccedil;&atilde;o de dados e montagem das camadas que s&atilde;o vistas no mapa.
  66 + <p>Após criados os mapfiles, deve-se ainda definir as caracter&iacute;sticas de cada LAYER.
  67 + <p>A lista de IPs dos usu&aacute;rios que podem administrar o i3geo &eacute; definida no arquivo i3geo/ms_configura.php
  68 + <p>Apenas os mapfiles que forem vinculados a um tema poder&atilde;o ser vistos na janela de inclus&atilde;o de temas na &aacute;rvore de temas. Se voc&ecirc; criou um mapfile manualmente, utilize a op&ccedil;&atilde;o de edi&ccedil;&atilde;o (&iacute;cone apresentado ao lado de cada mapfile) para fazer essa associa&ccedil;&atilde;o.
  69 + <p>A op&ccedil;&atilde;o "Verifica temas sem mapfiles" possibilita resolver problemas decorrentes da elimina&ccedil;&atilde;o manual de um arquivo mapfile do servidor. Nesses casos, o registro no banco de dados permanece. Com essa op&ccedil;&atilde;o &eacute; poss&iacute;vel apagar os registros ou recriar o mapfile perdido.
84 </div> 70 </div>
85 <div class="ft"></div> 71 <div class="ft"></div>
86 </div> 72 </div>
87 - <input onclick="" type=button id=adiciona  
88 - value="Criar um novo mapfile" /> <input onclick="" type=button id=uploadGvsig  
89 - value="Upload gvSIG" /> <input onclick="" type=button  
90 - id=semmapfiles value="Verificar temas sem mapfiles" /> <p class=paragrafo >  
91 - Al&eacute;m de criar os mapfiles, &eacute; necess&aacute;rio definir  
92 - as caracter&iacute;sticas de cada LAYER nas op&ccedil;&otilde;es  
93 - abaixo. <br> Para incluir o tema nos menus, <a  
94 - href='arvore.html'>edite a &aacute;rvore de temas </a> </p>  
95 - <p class=paragrafo >O texto marcado em cinza corresponde ao nome do tema registrados na &aacute;rvore de temas (registro no banco de dados).  
96 - Nem todos os temas s&atilde;o utilizados na &aacute;rvore, por isso n&atilde;o necessitam ser associados a um 'tema' e registrados no banco de dados.</p> 73 + <input onclick="" type=button id=adiciona value="Criar um novo mapfile" />
  74 + <input onclick="" type=button id=uploadGvsig value="Upload gvSIG" />
  75 + <input onclick="" type=button id=semmapfiles value="Verificar temas sem mapfiles" />
  76 + <p class=paragrafo>
  77 + Al&eacute;m de criar os mapfiles, &eacute; necess&aacute;rio definir as caracter&iacute;sticas de cada LAYER nas op&ccedil;&otilde;es abaixo. <br> Para incluir o tema nos menus,
  78 + <a href='arvore.html'>edite a &aacute;rvore de temas </a>
  79 + </p>
  80 + <p class=paragrafo>O texto marcado em cinza corresponde ao nome do tema registrados na &aacute;rvore de temas (registro no banco de dados). Nem todos os temas s&atilde;o utilizados na &aacute;rvore, por isso n&atilde;o necessitam ser associados a um 'tema' e registrados no banco de dados.</p>
97 <div id="letras"></div> 81 <div id="letras"></div>
98 <p>Mapfiles (arquivos existentes no diret&oacute;rio i3geo/temas):</p> 82 <p>Mapfiles (arquivos existentes no diret&oacute;rio i3geo/temas):</p>
99 <div id="tabela" style="left: -5px;"></div> 83 <div id="tabela" style="left: -5px;"></div>
@@ -151,10 +135,9 @@ body { @@ -151,10 +135,9 @@ body {
151 </script> 135 </script>
152 136
153 <script> 137 <script>
154 - if(i3GEO.util.pegaCookie("I3GEOletraAdmin")) { 138 + if (i3GEO.util.pegaCookie("I3GEOletraAdmin")) {
155 letraAtual = i3GEO.util.pegaCookie("I3GEOletraAdmin"); 139 letraAtual = i3GEO.util.pegaCookie("I3GEOletraAdmin");
156 - }  
157 - else{ 140 + } else {
158 letraAtual = ""; 141 letraAtual = "";
159 } 142 }
160 function filtraLetra(letra) { 143 function filtraLetra(letra) {
@@ -164,9 +147,13 @@ body { @@ -164,9 +147,13 @@ body {
164 letra = ""; 147 letra = "";
165 } 148 }
166 i3GEO.util.insereCookie("I3GEOletraAdmin", letra); 149 i3GEO.util.insereCookie("I3GEOletraAdmin", letra);
167 - core_pegaMapfiles("montaArvore()", letra, document  
168 - .getElementById("selFiltro").value,document  
169 - .getElementById("checaNomes").checked); 150 + core_pegaMapfiles(
  151 + "montaArvore()",
  152 + letra,
  153 + document.getElementById("selFiltro").value,
  154 + document.getElementById("checaNomes").checked,
  155 + document.getElementById("checaNames").checked
  156 + );
170 } 157 }
171 //necessario para a ferramenta login e outras 158 //necessario para a ferramenta login e outras
172 i3GEO.configura = { 159 i3GEO.configura = {
@@ -174,39 +161,43 @@ body { @@ -174,39 +161,43 @@ body {
174 }; 161 };
175 // 162 //
176 cabecalhoGeral("cabecalhoPrincipal", "editormapfile"); 163 cabecalhoGeral("cabecalhoPrincipal", "editormapfile");
177 - temp = function() {  
178 - var ins = "<p>Filtrar: "  
179 - + "<select id='selFiltro' onchange='filtraLetra(\""  
180 - + letraAtual  
181 - + "\")' >"  
182 - + "<option value='' >----</option>"  
183 - + "<option value='link_tema,=,' >Sem fonte</option>"  
184 - + "<option value='nome_tema,=,' >Nome n&atilde;o definido no banco de dados</option>"  
185 - + "<option value='nome_tema,!=,' >Nome definido no banco de dados</option>"  
186 - + "<option value='download_tema,=,sim' >Permite download</option>"  
187 - + "<option value='download_tema,=,nao' >N&atilde;o permite download</option>"  
188 - + "<option value='ogc_tema,=,sim' >Permite WMS</option>"  
189 - + "<option value='ogc_tema,=,nao' >N&atilde;o permite WMS</option>"  
190 - + "<option value='kml_tema,=,sim' >Permite KML</option>"  
191 - + "<option value='kml_tema,=,nao' >N&atilde;o permite KML</option>"  
192 - + "<option value='kmz_tema,=,sim' >Permite KMZ</option>"  
193 - + "<option value='kmz_tema,=,nao' >N&atilde;o permite KMZ</option>"  
194 - + "</select>";  
195 - ins += "<br><input onclick='filtraLetra(\""  
196 - + letraAtual  
197 - + "\")' type=checkbox id=mostraMini style=position:relative;top:2px; /><span class=paragrafo >Mostra a miniatura armazenada em temas/miniaturas</span>";  
198 -  
199 - ins += "<br><input onclick='filtraLetra(\""  
200 - + letraAtual  
201 - + "\")' type=checkbox id=checaNomes style=position:relative;top:2px; /><span class=paragrafo >Verifica nome registrado no banco e no mapfile. Marca em vermelho o nome registrado no mapfile quando houver diverg&ecirc;ncia</span>";  
202 -  
203 -  
204 - ins += "<p><div id=filtroDeLetras ></div>";  
205 - document.getElementById("letras").innerHTML = ins;  
206 - core_listaDeLetras("filtroDeLetras","filtraLetra");  
207 - document.getElementById("formulario").style.display = "block";  
208 - initMenu();  
209 - };  
210 - i3GEO.login.verificaOperacao("admin/html/editormapfile",i3GEO.configura.locaplic, temp, "sessao",i3GEO.login.dialogo.abreLogin); 164 + temp =
  165 + function() {
  166 + var ins =
  167 + "<p>Filtrar: " + "<select id='selFiltro' onchange='filtraLetra(\""
  168 + + letraAtual
  169 + + "\")' >"
  170 + + "<option value='' >----</option>"
  171 + + "<option value='link_tema,=,' >Sem fonte</option>"
  172 + + "<option value='nome_tema,=,' >Nome n&atilde;o definido no banco de dados</option>"
  173 + + "<option value='nome_tema,!=,' >Nome definido no banco de dados</option>"
  174 + + "<option value='download_tema,=,sim' >Permite download</option>"
  175 + + "<option value='download_tema,=,nao' >N&atilde;o permite download</option>"
  176 + + "<option value='ogc_tema,=,sim' >Permite WMS</option>"
  177 + + "<option value='ogc_tema,=,nao' >N&atilde;o permite WMS</option>"
  178 + + "<option value='kml_tema,=,sim' >Permite KML</option>"
  179 + + "<option value='kml_tema,=,nao' >N&atilde;o permite KML</option>"
  180 + + "<option value='kmz_tema,=,sim' >Permite KMZ</option>"
  181 + + "<option value='kmz_tema,=,nao' >N&atilde;o permite KMZ</option>"
  182 + + "</select>";
  183 + ins +=
  184 + "<br><input onclick='filtraLetra(\"" + letraAtual
  185 + + "\")' type=checkbox id=mostraMini style=position:relative;top:2px; /><span class=paragrafo >Mostra a miniatura armazenada em temas/miniaturas</span>";
  186 +
  187 + ins +=
  188 + "<br><input onclick='filtraLetra(\"" + letraAtual
  189 + + "\")' type=checkbox id=checaNomes style=position:relative;top:2px; /><span class=paragrafo >Verifica nome registrado no banco e no mapfile. Marca em vermelho o nome registrado no mapfile quando houver diverg&ecirc;ncia</span>";
  190 +
  191 + ins +=
  192 + "<br><input onclick='filtraLetra(\"" + letraAtual
  193 + + "\")' type=checkbox id=checaNames style=position:relative;top:2px; /><span class=paragrafo >Verifica se o nome do arquivo &eacute; o mesmo do LAYER</span>";
  194 +
  195 + ins += "<p><div id=filtroDeLetras ></div>";
  196 + document.getElementById("letras").innerHTML = ins;
  197 + core_listaDeLetras("filtroDeLetras", "filtraLetra");
  198 + document.getElementById("formulario").style.display = "block";
  199 + initMenu();
  200 + };
  201 + i3GEO.login.verificaOperacao("admin/html/editormapfile", i3GEO.configura.locaplic, temp, "sessao", i3GEO.login.dialogo.abreLogin);
211 </script> 202 </script>
212 -</body> 203 +</body>
213 \ No newline at end of file 204 \ No newline at end of file
admin/js/core.js
@@ -610,8 +610,10 @@ letra - (opcional) letra inicial utilizada para filtrar a lista @@ -610,8 +610,10 @@ letra - (opcional) letra inicial utilizada para filtrar a lista
610 filtro - (opcional) string com o filtro, por exemplo, "'download_tema' = 'SIM'" 610 filtro - (opcional) string com o filtro, por exemplo, "'download_tema' = 'SIM'"
611 611
612 checaNomes - (0pcional) bate o nome do mapfile (tema) com o registro no banco 612 checaNomes - (0pcional) bate o nome do mapfile (tema) com o registro no banco
  613 +
  614 +checaNames - (opcional) bate o nome do mapfile com o nome do layer
613 */ 615 */
614 -function core_pegaMapfiles(funcaoM,letra,filtro,checaNomes) 616 +function core_pegaMapfiles(funcaoM,letra,filtro,checaNomes,checaNames)
615 { 617 {
616 if(!letra){ 618 if(!letra){
617 letra = ""; 619 letra = "";
@@ -625,7 +627,10 @@ function core_pegaMapfiles(funcaoM,letra,filtro,checaNomes) @@ -625,7 +627,10 @@ function core_pegaMapfiles(funcaoM,letra,filtro,checaNomes)
625 if(!checaNomes){ 627 if(!checaNomes){
626 checaNomes = "false"; 628 checaNomes = "false";
627 } 629 }
628 - var sUrl = "../php/menutemas.php?funcao=listaMapsTemas&letra="+letra+"&filtro="+filtro+"&checaNomes="+checaNomes; 630 + if(!checaNames){
  631 + checaNames = "false";
  632 + }
  633 + var sUrl = "../php/menutemas.php?funcao=listaMapsTemas&letra="+letra+"&filtro="+filtro+"&checaNomes="+checaNomes+"&checaNames="+checaNames;
629 var callbackM = 634 var callbackM =
630 { 635 {
631 success:function(o) 636 success:function(o)
admin/js/editormapfile.js
@@ -290,10 +290,14 @@ function montaNosRaiz(redesenha) @@ -290,10 +290,14 @@ function montaNosRaiz(redesenha)
290 if($mapfiles[i].extensao === "gvp"){ 290 if($mapfiles[i].extensao === "gvp"){
291 conteudo += "&nbsp;<img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"downloadGvp('"+$mapfiles[i].codigo+"')\" title='download' src=\"../imagens/down1.gif\" />"; 291 conteudo += "&nbsp;<img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"downloadGvp('"+$mapfiles[i].codigo+"')\" title='download' src=\"../imagens/down1.gif\" />";
292 } 292 }
293 - conteudo += "&nbsp;<img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"testarMapfile('"+$mapfiles[i].codigo+"','"+$mapfiles[i].extensao+"')\" title='testar!' src=\"../imagens/41.png\" />"; 293 + if($mapfiles[i].extensao === "map" || $mapfiles[i].extensao === "gvp"){
  294 + conteudo += "&nbsp;<img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"testarMapfile('"+$mapfiles[i].codigo+"','"+$mapfiles[i].extensao+"')\" title='testar!' src=\"../imagens/41.png\" />";
  295 + conteudo += "&nbsp;<img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"testarMapfileRapido('"+$mapfiles[i].codigo+"','"+$mapfiles[i].extensao+"')\" title='teste rapido' src=\"../imagens/41r.png\" />";
  296 + }
294 conteudo += "&nbsp;<img width=20px style=\"margin-left:2px;position:relative;cursor:pointer;top:2px\" onclick=\"javascript:window.open('../../interface/black_editor.php?&temaEdicao="+$mapfiles[i].codigo+"')\" title='editar no i3Geo' src=\"../imagens/i3geo2editor.jpg\" />"; 297 conteudo += "&nbsp;<img width=20px style=\"margin-left:2px;position:relative;cursor:pointer;top:2px\" onclick=\"javascript:window.open('../../interface/black_editor.php?&temaEdicao="+$mapfiles[i].codigo+"')\" title='editar no i3Geo' src=\"../imagens/i3geo2editor.jpg\" />";
295 conteudo += "&nbsp;<img width=20px style=\"margin-left:2px;position:relative;cursor:pointer;top:2px\" onclick=\"javascript:window.open('../../ms_criamapa.php?temasa="+$mapfiles[i].codigo+"&layers="+$mapfiles[i].codigo+"')\" title='testar no i3Geo' src=\"../imagens/i3geo2.jpg\" />"; 298 conteudo += "&nbsp;<img width=20px style=\"margin-left:2px;position:relative;cursor:pointer;top:2px\" onclick=\"javascript:window.open('../../ms_criamapa.php?temasa="+$mapfiles[i].codigo+"&layers="+$mapfiles[i].codigo+"')\" title='testar no i3Geo' src=\"../imagens/i3geo2.jpg\" />";
296 conteudo += "<b>&nbsp;<span>"+$mapfiles[i].codigo+" <span style=color:gray id='idNome_"+$mapfiles[i].codigo+"'>"+$mapfiles[i].nome+"</span></span>"; 299 conteudo += "<b>&nbsp;<span>"+$mapfiles[i].codigo+" <span style=color:gray id='idNome_"+$mapfiles[i].codigo+"'>"+$mapfiles[i].nome+"</span></span>";
  300 + conteudo += "</b><br><img src=''style='display:none;' id='testeRapido"+$mapfiles[i].codigo+"' />";
297 if($mapfiles[i].imagem != "" && $i("mostraMini").checked == true){ 301 if($mapfiles[i].imagem != "" && $i("mostraMini").checked == true){
298 conteudo += "</b><br><img src='../../temas/miniaturas/"+$mapfiles[i].imagem+"'/>"; 302 conteudo += "</b><br><img src='../../temas/miniaturas/"+$mapfiles[i].imagem+"'/>";
299 } 303 }
@@ -306,6 +310,15 @@ function montaNosRaiz(redesenha) @@ -306,6 +310,15 @@ function montaNosRaiz(redesenha)
306 tree.draw(); 310 tree.draw();
307 return nos; 311 return nos;
308 } 312 }
  313 +function testarMapfileRapido(codigoMap,extensao)
  314 +{
  315 + if($i("testeRapido"+codigoMap).style.display === "block"){
  316 + $i("testeRapido"+codigoMap).style.display = "none";
  317 + return;
  318 + }
  319 + $i("testeRapido"+codigoMap).src = "../../testamapfile.php?tipo=grande&map="+codigoMap+".map";
  320 + $i("testeRapido"+codigoMap).style.display = "block";
  321 +}
309 function testarMapfile(codigoMap,extensao) 322 function testarMapfile(codigoMap,extensao)
310 { 323 {
311 window.open("../../testamapfile.php?map="+codigoMap+"."+extensao); 324 window.open("../../testamapfile.php?map="+codigoMap+"."+extensao);
admin/php/menutemas.php
@@ -1221,7 +1221,7 @@ Retorna a lista de mapfiles do diretorio i3geo/temas @@ -1221,7 +1221,7 @@ Retorna a lista de mapfiles do diretorio i3geo/temas
1221 */ 1221 */
1222 function listaMapsTemas() 1222 function listaMapsTemas()
1223 { 1223 {
1224 - global $cp,$locaplic,$letra,$filtro,$esquemaadmin,$checaNomes; 1224 + global $cp,$locaplic,$letra,$filtro,$esquemaadmin,$checaNomes,$checaNames;
1225 $arquivos = array(); 1225 $arquivos = array();
1226 if (is_dir($locaplic."/temas")) 1226 if (is_dir($locaplic."/temas"))
1227 { 1227 {
@@ -1316,7 +1316,7 @@ function listaMapsTemas() @@ -1316,7 +1316,7 @@ function listaMapsTemas()
1316 $handle = fopen($locaplic."/temas/".$arq.".map", "r"); 1316 $handle = fopen($locaplic."/temas/".$arq.".map", "r");
1317 while (!feof($handle)){ 1317 while (!feof($handle)){
1318 $linha = fgets($handle); 1318 $linha = fgets($handle);
1319 - if(strpos(strtoupper($linha),"'TEMA'") !== false || strpos(strtoupper($linha),'"TEMA"') !== false){ 1319 + if(stripos($linha,"'TEMA'") !== false || stripos($linha,'"TEMA"') !== false){
1320 $ntema = str_replace(array("'TEMA'",'"TEMA"',"'tema'",'"tema"'),"",$linha); 1320 $ntema = str_replace(array("'TEMA'",'"TEMA"',"'tema'",'"tema"'),"",$linha);
1321 $ntema = trim(str_replace(array("'",'"'),"",$ntema)); 1321 $ntema = trim(str_replace(array("'",'"'),"",$ntema));
1322 if($n != $ntema && $n != utf8_encode($ntema) && $n != ""){ 1322 if($n != $ntema && $n != utf8_encode($ntema) && $n != ""){
@@ -1329,6 +1329,30 @@ function listaMapsTemas() @@ -1329,6 +1329,30 @@ function listaMapsTemas()
1329 } 1329 }
1330 } 1330 }
1331 } 1331 }
  1332 + if($checaNames == "true"){
  1333 + if($extensao == "map"){
  1334 + if(file_exists($locaplic."/temas/".$arq.".map")){
  1335 + $handle = fopen($locaplic."/temas/".$arq.".map", "r");
  1336 + //deve buscar dentro de LAYER pois pode haver simbolos antes
  1337 + $elayer = false;
  1338 + while (!feof($handle)){
  1339 + $linha = trim(fgets($handle));
  1340 + if(stripos($linha,"LAYER") === 0){
  1341 + $elayer = true;
  1342 + }
  1343 + if($elayer == true && stripos($linha,"NAME") === 0){
  1344 + $ntema = ltrim($linha,"NAMEname");
  1345 + $ntema = trim(str_replace(array("'",'"'),"",$ntema));
  1346 + if($arq != $ntema){
  1347 + $n .= "<img style='margin-left:3px;' src='../imagens/face-sad.png' title='Nome do LAYER diferente do nome do arquivo' />";
  1348 + }
  1349 + break;
  1350 + }
  1351 + }
  1352 + fclose($handle);
  1353 + }
  1354 + }
  1355 + }
1332 if(isset($filtro) && $filtro != "" && $n != ""){ 1356 if(isset($filtro) && $filtro != "" && $n != ""){
1333 $lista[] = array("grupousr"=>$grupousr,"id_tema"=>$id,"nome"=>$n,"codigo"=>$arq,"imagem"=>$imagem,"extensao"=>$extensao); 1357 $lista[] = array("grupousr"=>$grupousr,"id_tema"=>$id,"nome"=>$n,"codigo"=>$arq,"imagem"=>$imagem,"extensao"=>$extensao);
1334 } 1358 }