diff --git a/admin1/catalogo/mapfile/exec.php b/admin1/catalogo/mapfile/exec.php index e112f29..be0bc98 100755 --- a/admin1/catalogo/mapfile/exec.php +++ b/admin1/catalogo/mapfile/exec.php @@ -88,7 +88,7 @@ switch ($funcao) { exit (); break; case "LISTA" : - $retorna = lista ( $dbh, $_GET ["filtro"], $_GET ["palavra"] ); + $retorna = lista ( $dbh, $_POST ["filtro"], $_POST ["palavra"], $_POST ["validar"] ); $dbhw = null; $dbh = null; if ($retorna === false) { @@ -321,12 +321,11 @@ function adicionar($locaplic, $link_tema, $codigo, $acessopublico, $metaestat, $ return true; } } -function lista($dbh, $filtro = "", $palavra = "") { - global $locaplic, $esquemaadmin; +function lista($dbh, $filtro = "", $palavra = "", $validar = "") { + global $convUTF, $locaplic, $esquemaadmin; $arquivos = array (); if (is_dir ( $locaplic . "/temas" )) { if ($dh = opendir ( $locaplic . "/temas" )) { - $extensao = ""; while ( ($file = readdir ( $dh )) !== false ) { if (! stristr ( $file, '.map' ) === FALSE) { $file = str_replace ( ".map", "", $file ); @@ -356,12 +355,16 @@ function lista($dbh, $filtro = "", $palavra = "") { $nomes = array (); $ids = array (); + $dadosBanco = array (); foreach ( $regs as $reg ) { + if ($convUTF != true) { + $reg ["nome_tema"] = utf8_decode ( $reg ["nome_tema"] ); + } $nomes [$reg ["codigo_tema"]] = $reg ["nome_tema"]; $ids [$reg ["codigo_tema"]] = $reg ["id_tema"]; + $dadosBanco [$reg ["id_tema"]] = $reg; } $lista = array (); - foreach ( $arquivos as $arq ) { $arq = $arq ["nome"]; $nT = explode ( ".", $arq ); @@ -370,15 +373,77 @@ function lista($dbh, $filtro = "", $palavra = "") { $n = ""; } $id = $ids [$nT [0]]; - if (! $id) { + //o mapfile nao esta registrado no banco + if (! $id && empty($validar)) { $id = ""; + } else { + //aplica as validacoes. Se nao passar na validacao $id ficara vazio, para nao mostrar no resultado final + switch ($validar) { + case 1 : + if($dadosBanco[$id]["link_tema"] !== ""){ + $id = ""; + } + break; + case 2 : + if($dadosBanco[$id]["nome_tema"] == ""){ + $id = "-"; + } else { + $id = ""; + } + break; + case 3 : + if($dadosBanco[$id]["nome_tema"] == ""){ + $id = ""; + } + break; + case 4 : + if(strtolower($dadosBanco[$id]["download_tema"]) !== "sim"){ + $id = ""; + } + break; + case 5 : + if(strtolower($dadosBanco[$id]["download_tema"]) !== "nao"){ + $id = ""; + } + break; + case 6 : + if(strtolower($dadosBanco[$id]["ogc_tema"]) !== "sim"){ + $id = ""; + } + break; + case 7 : + if(strtolower($dadosBanco[$id]["ogc_tema"]) !== "nao"){ + $id = ""; + } + break; + case 8 : + if(strtolower($dadosBanco[$id]["kml_tema"]) !== "sim"){ + $id = ""; + } + break; + case 9 : + if(strtolower($dadosBanco[$id]["kml_tema"]) !== "nao"){ + $id = ""; + } + break; + case 10 : + if(strtolower($dadosBanco[$id]["kmz_tema"]) !== "sim"){ + $id = ""; + } + break; + case 11 : + if(strtolower($dadosBanco[$id]["kmz_tema"]) !== "nao"){ + $id = ""; + } + break; + } } $imagem = ""; if (file_exists ( $locaplic . "/temas/miniaturas/" . $arq . ".map.mini.png" )) { $imagem = $arq . ".map.mini.png"; } - if ($_POST ["checaNomes"] == "true") { + if ($validar == 12) { if (file_exists ( $locaplic . "/temas/" . $arq . ".map" )) { $handle = fopen ( $locaplic . "/temas/" . $arq . ".map", "r" ); while ( ! feof ( $handle ) ) { @@ -394,8 +459,11 @@ function lista($dbh, $filtro = "", $palavra = "") { "'", '"' ), "", $ntema ) ); - if ($n != $ntema && $n != utf8_decode ( $ntema ) && $n != "") { - $n .= "" . utf8_decode ( $ntema ) . ""; + $temp = $n; + if ($n != $ntema && utf8_decode($temp) != $ntema && $n != "") { + $n .= "" . utf8_encode($ntema) . ""; + } else { + $n .= "" . utf8_encode($ntema) . ""; } break; } @@ -403,7 +471,7 @@ function lista($dbh, $filtro = "", $palavra = "") { fclose ( $handle ); } } - if ($_POST ["checaNames"] == "true") { + if ($validar == 13) { if (file_exists ( $locaplic . "/temas/" . $arq . ".map" )) { $handle = fopen ( $locaplic . "/temas/" . $arq . ".map", "r" ); // deve buscar dentro de LAYER pois pode haver simbolos antes @@ -420,7 +488,7 @@ function lista($dbh, $filtro = "", $palavra = "") { '"' ), "", $ntema ) ); if ($arq != $ntema) { - $n .= ""; + $n .= "" . $ntema . ""; } break; } @@ -428,22 +496,14 @@ function lista($dbh, $filtro = "", $palavra = "") { fclose ( $handle ); } } - if (isset ( $filtro ) && $filtro != "" && $n != "") { - $lista [] = array ( - "id_tema" => $id, - "nome" => $n, - "codigo" => $arq, - "imagem" => $imagem, - "extensao" => $extensao - ); - } - if (! isset ( $filtro ) || $filtro == "") { + //se id for vazio, nao consta no banco, por isso, se validar for definido, nao pode ser aplicado + if(empty($validar) || (!empty($validar) && $id != "")){ $lista [] = array ( "id_tema" => $id, "nome" => $n, "codigo" => $arq, "imagem" => $imagem, - "extensao" => $extensao + "extensao" => "" ); } } diff --git a/admin1/catalogo/mapfile/index.js b/admin1/catalogo/mapfile/index.js index 14363f3..0907b50 100755 --- a/admin1/catalogo/mapfile/index.js +++ b/admin1/catalogo/mapfile/index.js @@ -36,11 +36,14 @@ Function: lista Obtém a lista */ - lista: function(palavra){ + lista: function(palavra,validar){ + if(!validar){ + validar = ""; + } i3GEOadmin.core.iconeAguarde(i3GEOadmin.mapfile.ondeLista); $.post( "exec.php?funcao=lista", - "&palavra=" + palavra + "&palavra=" + palavra + "&validar=" + validar ) .done( function(data, status){ @@ -62,6 +65,7 @@ Obtém a lista ); i3GEOadmin.mapfile.ondeLista.html(html); i3GEOadmin.mapfile.montaFavoritos(); + $("#totalMapfiles").html(json.length); //filtro html = Mustache.to_html( "{{#data}}" + $("#templateFiltro").html() + "{{/data}}", @@ -239,7 +243,9 @@ Obtém a lista ) .done( function(data, status){ + var json = jQuery.parseJSON(data); i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.mapfile.favoritosArray.push(json.codigo); i3GEOadmin.mapfile.init($("#corpo"),""); } ) diff --git a/admin1/catalogo/mapfile/index.php b/admin1/catalogo/mapfile/index.php index 76e0070..3bc03c6 100755 --- a/admin1/catalogo/mapfile/index.php +++ b/admin1/catalogo/mapfile/index.php @@ -25,10 +25,33 @@ include "../../head.php";

{{{txtTitulo}}}

{{{txtDesc}}}
-
- - +
+
+ + +
+
+
+
+ + +
{{{adicionar}}} @@ -45,6 +68,8 @@ include "../../head.php";