Commit be85629f5be416d07733cb0310ac7d9e70874ee3
1 parent
cb81fb7d
Exists in
master
and in
7 other branches
Inclusão de opções de validação da listagem de mapfiles no editor de mapfiles
Showing
5 changed files
with
129 additions
and
28 deletions
Show diff stats
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 = "", $palavra = "") { |
| 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 = "", $palavra = "") { |
| 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 = "", $palavra = "") { |
| 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é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&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&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 "../../head.php"; |
| 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í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ã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ão permite download</option> | |
| 47 | + <option value=6 >Permite WMS</option> | |
| 48 | + <option value=7 >Não permite WMS</option> | |
| 49 | + <option value=8 >Permite KML</option> | |
| 50 | + <option value=9 >Não permite KML</option> | |
| 51 | + <option value=10 >Permite KMZ</option> | |
| 52 | + <option value=11 >Nã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 "../../head.php"; |
| 45 | 68 | </div> |
| 46 | 69 | </div> |
| 47 | 70 | <div class="well hidden"> |
| 71 | + <div id="totalMapfiles" class=badge >74</div> | |
| 72 | + <div> </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ópia do mapfile atual com um novo nome e novo título", |
| 1520 | 1520 | en : "", |
| 1521 | 1521 | es : "" |
| 1522 | + }], | |
| 1523 | + 'filtroTitulo' : [{ | |
| 1524 | + pt : "Filtro por título", | |
| 1525 | + en : "", | |
| 1526 | + es : "" | |
| 1527 | + }], | |
| 1528 | + 'validar' : [{ | |
| 1529 | + pt : "Validar", | |
| 1530 | + en : "", | |
| 1531 | + es : "" | |
| 1522 | 1532 | }] |
| 1523 | 1533 | }; | ... | ... |