Commit be85629f5be416d07733cb0310ac7d9e70874ee3

Authored by Edmar Moretti
1 parent cb81fb7d

Inclusão de opções de validação da listagem de mapfiles no editor de mapfiles

admin1/catalogo/mapfile/exec.php
@@ -88,7 +88,7 @@ switch ($funcao) { @@ -88,7 +88,7 @@ switch ($funcao) {
88 exit (); 88 exit ();
89 break; 89 break;
90 case "LISTA" : 90 case "LISTA" :
91 - $retorna = lista ( $dbh, $_GET ["filtro"], $_GET ["palavra"] ); 91 + $retorna = lista ( $dbh, $_POST ["filtro"], $_POST ["palavra"], $_POST ["validar"] );
92 $dbhw = null; 92 $dbhw = null;
93 $dbh = null; 93 $dbh = null;
94 if ($retorna === false) { 94 if ($retorna === false) {
@@ -321,12 +321,11 @@ function adicionar($locaplic, $link_tema, $codigo, $acessopublico, $metaestat, $ @@ -321,12 +321,11 @@ function adicionar($locaplic, $link_tema, $codigo, $acessopublico, $metaestat, $
321 return true; 321 return true;
322 } 322 }
323 } 323 }
324 -function lista($dbh, $filtro = "", $palavra = "") {  
325 - global $locaplic, $esquemaadmin; 324 +function lista($dbh, $filtro = "", $palavra = "", $validar = "") {
  325 + global $convUTF, $locaplic, $esquemaadmin;
326 $arquivos = array (); 326 $arquivos = array ();
327 if (is_dir ( $locaplic . "/temas" )) { 327 if (is_dir ( $locaplic . "/temas" )) {
328 if ($dh = opendir ( $locaplic . "/temas" )) { 328 if ($dh = opendir ( $locaplic . "/temas" )) {
329 - $extensao = "";  
330 while ( ($file = readdir ( $dh )) !== false ) { 329 while ( ($file = readdir ( $dh )) !== false ) {
331 if (! stristr ( $file, '.map' ) === FALSE) { 330 if (! stristr ( $file, '.map' ) === FALSE) {
332 $file = str_replace ( ".map", "", $file ); 331 $file = str_replace ( ".map", "", $file );
@@ -356,12 +355,16 @@ function lista($dbh, $filtro = "", $palavra = "") { @@ -356,12 +355,16 @@ function lista($dbh, $filtro = "", $palavra = "") {
356 355
357 $nomes = array (); 356 $nomes = array ();
358 $ids = array (); 357 $ids = array ();
  358 + $dadosBanco = array ();
359 foreach ( $regs as $reg ) { 359 foreach ( $regs as $reg ) {
  360 + if ($convUTF != true) {
  361 + $reg ["nome_tema"] = utf8_decode ( $reg ["nome_tema"] );
  362 + }
360 $nomes [$reg ["codigo_tema"]] = $reg ["nome_tema"]; 363 $nomes [$reg ["codigo_tema"]] = $reg ["nome_tema"];
361 $ids [$reg ["codigo_tema"]] = $reg ["id_tema"]; 364 $ids [$reg ["codigo_tema"]] = $reg ["id_tema"];
  365 + $dadosBanco [$reg ["id_tema"]] = $reg;
362 } 366 }
363 $lista = array (); 367 $lista = array ();
364 -  
365 foreach ( $arquivos as $arq ) { 368 foreach ( $arquivos as $arq ) {
366 $arq = $arq ["nome"]; 369 $arq = $arq ["nome"];
367 $nT = explode ( ".", $arq ); 370 $nT = explode ( ".", $arq );
@@ -370,15 +373,77 @@ function lista($dbh, $filtro = "", $palavra = "") { @@ -370,15 +373,77 @@ function lista($dbh, $filtro = "", $palavra = "") {
370 $n = ""; 373 $n = "";
371 } 374 }
372 $id = $ids [$nT [0]]; 375 $id = $ids [$nT [0]];
373 - if (! $id) { 376 + //o mapfile nao esta registrado no banco
  377 + if (! $id && empty($validar)) {
374 $id = ""; 378 $id = "";
  379 + } else {
  380 + //aplica as validacoes. Se nao passar na validacao $id ficara vazio, para nao mostrar no resultado final
  381 + switch ($validar) {
  382 + case 1 :
  383 + if($dadosBanco[$id]["link_tema"] !== ""){
  384 + $id = "";
  385 + }
  386 + break;
  387 + case 2 :
  388 + if($dadosBanco[$id]["nome_tema"] == ""){
  389 + $id = "-";
  390 + } else {
  391 + $id = "";
  392 + }
  393 + break;
  394 + case 3 :
  395 + if($dadosBanco[$id]["nome_tema"] == ""){
  396 + $id = "";
  397 + }
  398 + break;
  399 + case 4 :
  400 + if(strtolower($dadosBanco[$id]["download_tema"]) !== "sim"){
  401 + $id = "";
  402 + }
  403 + break;
  404 + case 5 :
  405 + if(strtolower($dadosBanco[$id]["download_tema"]) !== "nao"){
  406 + $id = "";
  407 + }
  408 + break;
  409 + case 6 :
  410 + if(strtolower($dadosBanco[$id]["ogc_tema"]) !== "sim"){
  411 + $id = "";
  412 + }
  413 + break;
  414 + case 7 :
  415 + if(strtolower($dadosBanco[$id]["ogc_tema"]) !== "nao"){
  416 + $id = "";
  417 + }
  418 + break;
  419 + case 8 :
  420 + if(strtolower($dadosBanco[$id]["kml_tema"]) !== "sim"){
  421 + $id = "";
  422 + }
  423 + break;
  424 + case 9 :
  425 + if(strtolower($dadosBanco[$id]["kml_tema"]) !== "nao"){
  426 + $id = "";
  427 + }
  428 + break;
  429 + case 10 :
  430 + if(strtolower($dadosBanco[$id]["kmz_tema"]) !== "sim"){
  431 + $id = "";
  432 + }
  433 + break;
  434 + case 11 :
  435 + if(strtolower($dadosBanco[$id]["kmz_tema"]) !== "nao"){
  436 + $id = "";
  437 + }
  438 + break;
  439 + }
375 } 440 }
376 $imagem = ""; 441 $imagem = "";
377 if (file_exists ( $locaplic . "/temas/miniaturas/" . $arq . ".map.mini.png" )) { 442 if (file_exists ( $locaplic . "/temas/miniaturas/" . $arq . ".map.mini.png" )) {
378 $imagem = $arq . ".map.mini.png"; 443 $imagem = $arq . ".map.mini.png";
379 } 444 }
380 445
381 - if ($_POST ["checaNomes"] == "true") { 446 + if ($validar == 12) {
382 if (file_exists ( $locaplic . "/temas/" . $arq . ".map" )) { 447 if (file_exists ( $locaplic . "/temas/" . $arq . ".map" )) {
383 $handle = fopen ( $locaplic . "/temas/" . $arq . ".map", "r" ); 448 $handle = fopen ( $locaplic . "/temas/" . $arq . ".map", "r" );
384 while ( ! feof ( $handle ) ) { 449 while ( ! feof ( $handle ) ) {
@@ -394,8 +459,11 @@ function lista($dbh, $filtro = "", $palavra = "") { @@ -394,8 +459,11 @@ function lista($dbh, $filtro = "", $palavra = "") {
394 "'", 459 "'",
395 '"' 460 '"'
396 ), "", $ntema ) ); 461 ), "", $ntema ) );
397 - if ($n != $ntema && $n != utf8_decode ( $ntema ) && $n != "") {  
398 - $n .= "<span style=color:red;margin-left:5px >" . utf8_decode ( $ntema ) . "</span>"; 462 + $temp = $n;
  463 + if ($n != $ntema && utf8_decode($temp) != $ntema && $n != "") {
  464 + $n .= "<span style=color:red;margin-left:5px >" . utf8_encode($ntema) . "</span>";
  465 + } else {
  466 + $n .= "<span style=color:lightslategray;margin-left:5px >" . utf8_encode($ntema) . "</span>";
399 } 467 }
400 break; 468 break;
401 } 469 }
@@ -403,7 +471,7 @@ function lista($dbh, $filtro = &quot;&quot;, $palavra = &quot;&quot;) { @@ -403,7 +471,7 @@ function lista($dbh, $filtro = &quot;&quot;, $palavra = &quot;&quot;) {
403 fclose ( $handle ); 471 fclose ( $handle );
404 } 472 }
405 } 473 }
406 - if ($_POST ["checaNames"] == "true") { 474 + if ($validar == 13) {
407 if (file_exists ( $locaplic . "/temas/" . $arq . ".map" )) { 475 if (file_exists ( $locaplic . "/temas/" . $arq . ".map" )) {
408 $handle = fopen ( $locaplic . "/temas/" . $arq . ".map", "r" ); 476 $handle = fopen ( $locaplic . "/temas/" . $arq . ".map", "r" );
409 // deve buscar dentro de LAYER pois pode haver simbolos antes 477 // deve buscar dentro de LAYER pois pode haver simbolos antes
@@ -420,7 +488,7 @@ function lista($dbh, $filtro = &quot;&quot;, $palavra = &quot;&quot;) { @@ -420,7 +488,7 @@ function lista($dbh, $filtro = &quot;&quot;, $palavra = &quot;&quot;) {
420 '"' 488 '"'
421 ), "", $ntema ) ); 489 ), "", $ntema ) );
422 if ($arq != $ntema) { 490 if ($arq != $ntema) {
423 - $n .= "<img style='margin-left:3px;' src='../imagens/face-sad.png' title='Nome do LAYER diferente do nome do arquivo' />"; 491 + $n .= "<span style=color:red;margin-left:5px >" . $ntema . "</span>";
424 } 492 }
425 break; 493 break;
426 } 494 }
@@ -428,22 +496,14 @@ function lista($dbh, $filtro = &quot;&quot;, $palavra = &quot;&quot;) { @@ -428,22 +496,14 @@ function lista($dbh, $filtro = &quot;&quot;, $palavra = &quot;&quot;) {
428 fclose ( $handle ); 496 fclose ( $handle );
429 } 497 }
430 } 498 }
431 - if (isset ( $filtro ) && $filtro != "" && $n != "") {  
432 - $lista [] = array (  
433 - "id_tema" => $id,  
434 - "nome" => $n,  
435 - "codigo" => $arq,  
436 - "imagem" => $imagem,  
437 - "extensao" => $extensao  
438 - );  
439 - }  
440 - if (! isset ( $filtro ) || $filtro == "") { 499 + //se id for vazio, nao consta no banco, por isso, se validar for definido, nao pode ser aplicado
  500 + if(empty($validar) || (!empty($validar) && $id != "")){
441 $lista [] = array ( 501 $lista [] = array (
442 "id_tema" => $id, 502 "id_tema" => $id,
443 "nome" => $n, 503 "nome" => $n,
444 "codigo" => $arq, 504 "codigo" => $arq,
445 "imagem" => $imagem, 505 "imagem" => $imagem,
446 - "extensao" => $extensao 506 + "extensao" => ""
447 ); 507 );
448 } 508 }
449 } 509 }
admin1/catalogo/mapfile/index.js
@@ -36,11 +36,14 @@ Function: lista @@ -36,11 +36,14 @@ Function: lista
36 36
37 Obt&eacute;m a lista 37 Obt&eacute;m a lista
38 */ 38 */
39 - lista: function(palavra){ 39 + lista: function(palavra,validar){
  40 + if(!validar){
  41 + validar = "";
  42 + }
40 i3GEOadmin.core.iconeAguarde(i3GEOadmin.mapfile.ondeLista); 43 i3GEOadmin.core.iconeAguarde(i3GEOadmin.mapfile.ondeLista);
41 $.post( 44 $.post(
42 "exec.php?funcao=lista", 45 "exec.php?funcao=lista",
43 - "&palavra=" + palavra 46 + "&palavra=" + palavra + "&validar=" + validar
44 ) 47 )
45 .done( 48 .done(
46 function(data, status){ 49 function(data, status){
@@ -62,6 +65,7 @@ Obt&amp;eacute;m a lista @@ -62,6 +65,7 @@ Obt&amp;eacute;m a lista
62 ); 65 );
63 i3GEOadmin.mapfile.ondeLista.html(html); 66 i3GEOadmin.mapfile.ondeLista.html(html);
64 i3GEOadmin.mapfile.montaFavoritos(); 67 i3GEOadmin.mapfile.montaFavoritos();
  68 + $("#totalMapfiles").html(json.length);
65 //filtro 69 //filtro
66 html = Mustache.to_html( 70 html = Mustache.to_html(
67 "{{#data}}" + $("#templateFiltro").html() + "{{/data}}", 71 "{{#data}}" + $("#templateFiltro").html() + "{{/data}}",
@@ -239,7 +243,9 @@ Obt&amp;eacute;m a lista @@ -239,7 +243,9 @@ Obt&amp;eacute;m a lista
239 ) 243 )
240 .done( 244 .done(
241 function(data, status){ 245 function(data, status){
  246 + var json = jQuery.parseJSON(data);
242 i3GEOadmin.core.modalAguarde(false); 247 i3GEOadmin.core.modalAguarde(false);
  248 + i3GEOadmin.mapfile.favoritosArray.push(json.codigo);
243 i3GEOadmin.mapfile.init($("#corpo"),""); 249 i3GEOadmin.mapfile.init($("#corpo"),"");
244 } 250 }
245 ) 251 )
admin1/catalogo/mapfile/index.php
@@ -25,10 +25,33 @@ include &quot;../../head.php&quot;; @@ -25,10 +25,33 @@ include &quot;../../head.php&quot;;
25 <h2><small>{{{txtTitulo}}}</small></h2> 25 <h2><small>{{{txtTitulo}}}</small></h2>
26 <blockquote>{{{txtDesc}}}</blockquote> 26 <blockquote>{{{txtDesc}}}</blockquote>
27 <!-- aqui entra o filtro --> 27 <!-- aqui entra o filtro -->
28 - <div class="form-group">  
29 - <label class="control-label">{{{filtro}}}</label>  
30 - <select title="{{{filtro}}}" onchange="i3GEOadmin.core.filtra(this)" id="filtro" class="form-control input-lg">  
31 - </select> 28 + <div class="col-md-6">
  29 + <div class="form-group">
  30 + <label class="control-label">{{{filtroTitulo}}}</label>
  31 + <select title="{{{filtro}}}" onchange="i3GEOadmin.core.filtra(this)" id="filtro" class="form-control input-lg">
  32 + </select>
  33 + </div>
  34 + </div>
  35 + <div class="col-md-6">
  36 + <div class="form-group">
  37 + <label class="control-label">{{{validar}}}</label>
  38 + <select title="{{{validar}}}" onchange="i3GEOadmin.mapfile.lista('',this.value);" id="" class="form-control input-lg">
  39 + <option value='' ></option>
  40 + <option value=1 >Sem fonte</option>
  41 + <option value=12 >T&iacute;tulos diferentes no mapfile e no banco de dados</option>
  42 + <option value=13 >LAYER com NAME diferente do nome do arquivo mapfile</option>
  43 + <option value=2 >Nome n&atilde;o definido no banco de dados</option>
  44 + <option value=3 >Nome definido no banco de dados</option>
  45 + <option value=4 >Permite download</option>
  46 + <option value=5 >N&atilde;o permite download</option>
  47 + <option value=6 >Permite WMS</option>
  48 + <option value=7 >N&atilde;o permite WMS</option>
  49 + <option value=8 >Permite KML</option>
  50 + <option value=9 >N&atilde;o permite KML</option>
  51 + <option value=10 >Permite KMZ</option>
  52 + <option value=11 >N&atilde;o permite KMZ</option>
  53 + </select>
  54 + </div>
32 </div> 55 </div>
33 <div class="row pull-right"> 56 <div class="row pull-right">
34 <a onclick="i3GEOadmin.mapfile.adicionaDialogo();" href="javascript:void(0)" class="btn btn-primary" style="color:#008579;" role="button">{{{adicionar}}}</a> 57 <a onclick="i3GEOadmin.mapfile.adicionaDialogo();" href="javascript:void(0)" class="btn btn-primary" style="color:#008579;" role="button">{{{adicionar}}}</a>
@@ -45,6 +68,8 @@ include &quot;../../head.php&quot;; @@ -45,6 +68,8 @@ include &quot;../../head.php&quot;;
45 </div> 68 </div>
46 </div> 69 </div>
47 <div class="well hidden"> 70 <div class="well hidden">
  71 + <div id="totalMapfiles" class=badge >74</div>
  72 + <div>&nbsp;</div>
48 <div class="panel panel-default" id="favoritos"> 73 <div class="panel panel-default" id="favoritos">
49 <div class="panel-heading" role="tab"> 74 <div class="panel-heading" role="tab">
50 <h4 class="panel-title"> 75 <h4 class="panel-title">
admin1/dicionario/editormapfile.js
@@ -1519,5 +1519,15 @@ i3GEOadmin.mapfile.dicionario = { @@ -1519,5 +1519,15 @@ i3GEOadmin.mapfile.dicionario = {
1519 pt : "Faz uma c&oacute;pia do mapfile atual com um novo nome e novo t&iacute;tulo", 1519 pt : "Faz uma c&oacute;pia do mapfile atual com um novo nome e novo t&iacute;tulo",
1520 en : "", 1520 en : "",
1521 es : "" 1521 es : ""
  1522 + }],
  1523 + 'filtroTitulo' : [{
  1524 + pt : "Filtro por t&iacute;tulo",
  1525 + en : "",
  1526 + es : ""
  1527 + }],
  1528 + 'validar' : [{
  1529 + pt : "Validar",
  1530 + en : "",
  1531 + es : ""
1522 }] 1532 }]
1523 }; 1533 };
admin1/php/removeCabecalhoMapfile.php 100644 → 100755