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 | }; | ... | ... |