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 88 exit ();
89 89 break;
90 90 case "LISTA" :
91   - $retorna = lista ( $dbh, $_GET ["filtro"], $_GET ["palavra"] );
  91 + $retorna = lista ( $dbh, $_POST ["filtro"], $_POST ["palavra"], $_POST ["validar"] );
92 92 $dbhw = null;
93 93 $dbh = null;
94 94 if ($retorna === false) {
... ... @@ -321,12 +321,11 @@ function adicionar($locaplic, $link_tema, $codigo, $acessopublico, $metaestat, $
321 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 326 $arquivos = array ();
327 327 if (is_dir ( $locaplic . "/temas" )) {
328 328 if ($dh = opendir ( $locaplic . "/temas" )) {
329   - $extensao = "";
330 329 while ( ($file = readdir ( $dh )) !== false ) {
331 330 if (! stristr ( $file, '.map' ) === FALSE) {
332 331 $file = str_replace ( ".map", "", $file );
... ... @@ -356,12 +355,16 @@ function lista($dbh, $filtro = "", $palavra = "") {
356 355  
357 356 $nomes = array ();
358 357 $ids = array ();
  358 + $dadosBanco = array ();
359 359 foreach ( $regs as $reg ) {
  360 + if ($convUTF != true) {
  361 + $reg ["nome_tema"] = utf8_decode ( $reg ["nome_tema"] );
  362 + }
360 363 $nomes [$reg ["codigo_tema"]] = $reg ["nome_tema"];
361 364 $ids [$reg ["codigo_tema"]] = $reg ["id_tema"];
  365 + $dadosBanco [$reg ["id_tema"]] = $reg;
362 366 }
363 367 $lista = array ();
364   -
365 368 foreach ( $arquivos as $arq ) {
366 369 $arq = $arq ["nome"];
367 370 $nT = explode ( ".", $arq );
... ... @@ -370,15 +373,77 @@ function lista($dbh, $filtro = "", $palavra = "") {
370 373 $n = "";
371 374 }
372 375 $id = $ids [$nT [0]];
373   - if (! $id) {
  376 + //o mapfile nao esta registrado no banco
  377 + if (! $id && empty($validar)) {
374 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 441 $imagem = "";
377 442 if (file_exists ( $locaplic . "/temas/miniaturas/" . $arq . ".map.mini.png" )) {
378 443 $imagem = $arq . ".map.mini.png";
379 444 }
380 445  
381   - if ($_POST ["checaNomes"] == "true") {
  446 + if ($validar == 12) {
382 447 if (file_exists ( $locaplic . "/temas/" . $arq . ".map" )) {
383 448 $handle = fopen ( $locaplic . "/temas/" . $arq . ".map", "r" );
384 449 while ( ! feof ( $handle ) ) {
... ... @@ -394,8 +459,11 @@ function lista($dbh, $filtro = "", $palavra = "") {
394 459 "'",
395 460 '"'
396 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 468 break;
401 469 }
... ... @@ -403,7 +471,7 @@ function lista($dbh, $filtro = &quot;&quot;, $palavra = &quot;&quot;) {
403 471 fclose ( $handle );
404 472 }
405 473 }
406   - if ($_POST ["checaNames"] == "true") {
  474 + if ($validar == 13) {
407 475 if (file_exists ( $locaplic . "/temas/" . $arq . ".map" )) {
408 476 $handle = fopen ( $locaplic . "/temas/" . $arq . ".map", "r" );
409 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 488 '"'
421 489 ), "", $ntema ) );
422 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 493 break;
426 494 }
... ... @@ -428,22 +496,14 @@ function lista($dbh, $filtro = &quot;&quot;, $palavra = &quot;&quot;) {
428 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 501 $lista [] = array (
442 502 "id_tema" => $id,
443 503 "nome" => $n,
444 504 "codigo" => $arq,
445 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 36  
37 37 Obt&eacute;m a lista
38 38 */
39   - lista: function(palavra){
  39 + lista: function(palavra,validar){
  40 + if(!validar){
  41 + validar = "";
  42 + }
40 43 i3GEOadmin.core.iconeAguarde(i3GEOadmin.mapfile.ondeLista);
41 44 $.post(
42 45 "exec.php?funcao=lista",
43   - "&palavra=" + palavra
  46 + "&palavra=" + palavra + "&validar=" + validar
44 47 )
45 48 .done(
46 49 function(data, status){
... ... @@ -62,6 +65,7 @@ Obt&amp;eacute;m a lista
62 65 );
63 66 i3GEOadmin.mapfile.ondeLista.html(html);
64 67 i3GEOadmin.mapfile.montaFavoritos();
  68 + $("#totalMapfiles").html(json.length);
65 69 //filtro
66 70 html = Mustache.to_html(
67 71 "{{#data}}" + $("#templateFiltro").html() + "{{/data}}",
... ... @@ -239,7 +243,9 @@ Obt&amp;eacute;m a lista
239 243 )
240 244 .done(
241 245 function(data, status){
  246 + var json = jQuery.parseJSON(data);
242 247 i3GEOadmin.core.modalAguarde(false);
  248 + i3GEOadmin.mapfile.favoritosArray.push(json.codigo);
243 249 i3GEOadmin.mapfile.init($("#corpo"),"");
244 250 }
245 251 )
... ...
admin1/catalogo/mapfile/index.php
... ... @@ -25,10 +25,33 @@ include &quot;../../head.php&quot;;
25 25 <h2><small>{{{txtTitulo}}}</small></h2>
26 26 <blockquote>{{{txtDesc}}}</blockquote>
27 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 55 </div>
33 56 <div class="row pull-right">
34 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 68 </div>
46 69 </div>
47 70 <div class="well hidden">
  71 + <div id="totalMapfiles" class=badge >74</div>
  72 + <div>&nbsp;</div>
48 73 <div class="panel panel-default" id="favoritos">
49 74 <div class="panel-heading" role="tab">
50 75 <h4 class="panel-title">
... ...
admin1/dicionario/editormapfile.js
... ... @@ -1519,5 +1519,15 @@ i3GEOadmin.mapfile.dicionario = {
1519 1519 pt : "Faz uma c&oacute;pia do mapfile atual com um novo nome e novo t&iacute;tulo",
1520 1520 en : "",
1521 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