diff --git a/classesphp/classe_temas.php b/classesphp/classe_temas.php index b28797c..aac78d8 100755 --- a/classesphp/classe_temas.php +++ b/classesphp/classe_temas.php @@ -529,6 +529,7 @@ $testa - Testa o filtro e retorna uma imagem. $layer->set("template","none.htm"); $fil = $layer->getFilterString(); $filtro = str_replace("|","'",$filtro); + /* if ($layer->connectiontype == MS_POSTGIS){ $filtro = str_replace("'[","",$filtro); $filtro = str_replace("[","",$filtro); @@ -537,30 +538,37 @@ $testa - Testa o filtro e retorna uma imagem. $filtro = str_replace("("," ",$filtro); $filtro = str_replace(")"," ",$filtro); } - if ($filtro == ""){ - $layer->setfilter($filtro); - } - else{ - //testa o filtro + */ + if ($filtro != ""){ + //testa o filtro para resolver problemas de acentuacao if(mb_convert_encoding($filtro,"UTF-8","ISO-8859-1") != mb_convert_encoding($filtro,"ISO-8859-1","UTF-8")){ - $teste = $layer->querybyattributes($items[0],$filtro,1); - if($teste != MS_SUCCESS){ + $filtro = str_replace("*","'",$filtro); + $teste = $layer->querybyattributes($items[0],$filtro,1); + if($teste != MS_SUCCESS){ $teste = $this->layer->queryByAttributes($items[0], mb_convert_encoding($filtro,"ISO-8859-1","UTF-8"), 1); if($teste != MS_SUCCESS){ - $teste = $this->layer->queryByAttributes($items[0], mb_convert_encoding($filtro,"UTF-8","ISO-8859-1"), 1); $filtro = mb_convert_encoding($filtro,"UTF-8","ISO-8859-1"); + } else { + $filtro = mb_convert_encoding($filtro,"ISO-8859-1","UTF-8"); + $teste = $layer->querybyattributes($items[0],$filtro,1); + if($teste != MS_SUCCESS){ + $filtro = ""; + } } - else{ - $filtro = mb_convert_encoding($filtro,"ISO-8859-1","UTF-8"); - } - } - if($teste == MS_SUCCESS){ - $layer->setfilter($filtro); } } else { - $layer->setfilter($filtro); + //testa a questao de ser string ou numero + //$layer->setfilter($filtro); + $teste = $layer->querybyattributes($items[0],str_replace("*","'",$filtro),1); + if($teste != MS_SUCCESS){ + $filtro = str_replace("*","",$filtro); + } + if($teste == MS_SUCCESS){ + $filtro = str_replace("*","'",$filtro); + } } } + $layer->setfilter($filtro); if ($testa == ""){ $layer->setMetaData("cache",""); } else { diff --git a/ferramentas/filtro/exec.php b/ferramentas/filtro/exec.php index 6d12924..2d80258 100755 --- a/ferramentas/filtro/exec.php +++ b/ferramentas/filtro/exec.php @@ -34,6 +34,8 @@ Inclui um filtro no tema. $_GET["testa"]=""; } $m->insereFiltro(""); + $m->salva(); + $m = new Temas($map_file,$tema); $retorno = $m->insereFiltro(base64_decode($_GET["filtro"]),$_GET["testa"],$_GET["base64"]); if(strtolower($_GET["testa"]) != "sim"){ $m->salva(); diff --git a/ferramentas/identifica/index.js b/ferramentas/identifica/index.js index 83be06d..8c6a669 100755 --- a/ferramentas/identifica/index.js +++ b/ferramentas/identifica/index.js @@ -957,12 +957,15 @@ i3GEOF.identifica = return; } i3GEOF.identifica.propJanelas[idjanela].aguarde.visibility = "visible"; - var filtro = "('[" + item + "]' = '" + valor + "')", temp = function(retorno) { - i3GEOF.identifica.propJanelas[idjanela].aguarde.visibility = "hidden"; - i3GEO.Interface.atualizaTema(retorno, tema); - }, p = - i3GEO.configura.locaplic + "/ferramentas/filtro/exec.php?base64=sim&g_sid=" + i3GEO.configura.sid + "&funcao=inserefiltro", cp = - new cpaint(); + var filtro = "", + temp = function(retorno) { + i3GEOF.identifica.propJanelas[idjanela].aguarde.visibility = "hidden"; + i3GEO.Interface.atualizaTema(retorno, tema); + }, + p = i3GEO.configura.locaplic + "/ferramentas/filtro/exec.php?base64=sim&g_sid=" + i3GEO.configura.sid + "&funcao=inserefiltro", + cp = new cpaint(); + + filtro = "(*[" + item + "]* = *" + valor + "*)"; cp.set_response_type("JSON"); cp.set_transfer_mode('POST'); cp.call(p, "insereFiltro", temp, "tema=" + tema + "&filtro=" + i3GEO.util.base64encode(filtro)); -- libgit2 0.21.2