Commit 149997e38188743aad015bebfe324f699b66ba7f
1 parent
e3cf0eb3
Exists in
master
and in
7 other branches
Correção na aplicação de filtros
Showing
3 changed files
with
34 additions
and
21 deletions
Show diff stats
classesphp/classe_temas.php
| ... | ... | @@ -529,6 +529,7 @@ $testa - Testa o filtro e retorna uma imagem. |
| 529 | 529 | $layer->set("template","none.htm"); |
| 530 | 530 | $fil = $layer->getFilterString(); |
| 531 | 531 | $filtro = str_replace("|","'",$filtro); |
| 532 | + /* | |
| 532 | 533 | if ($layer->connectiontype == MS_POSTGIS){ |
| 533 | 534 | $filtro = str_replace("'[","",$filtro); |
| 534 | 535 | $filtro = str_replace("[","",$filtro); |
| ... | ... | @@ -537,30 +538,37 @@ $testa - Testa o filtro e retorna uma imagem. |
| 537 | 538 | $filtro = str_replace("("," ",$filtro); |
| 538 | 539 | $filtro = str_replace(")"," ",$filtro); |
| 539 | 540 | } |
| 540 | - if ($filtro == ""){ | |
| 541 | - $layer->setfilter($filtro); | |
| 542 | - } | |
| 543 | - else{ | |
| 544 | - //testa o filtro | |
| 541 | + */ | |
| 542 | + if ($filtro != ""){ | |
| 543 | + //testa o filtro para resolver problemas de acentuacao | |
| 545 | 544 | if(mb_convert_encoding($filtro,"UTF-8","ISO-8859-1") != mb_convert_encoding($filtro,"ISO-8859-1","UTF-8")){ |
| 546 | - $teste = $layer->querybyattributes($items[0],$filtro,1); | |
| 547 | - if($teste != MS_SUCCESS){ | |
| 545 | + $filtro = str_replace("*","'",$filtro); | |
| 546 | + $teste = $layer->querybyattributes($items[0],$filtro,1); | |
| 547 | + if($teste != MS_SUCCESS){ | |
| 548 | 548 | $teste = $this->layer->queryByAttributes($items[0], mb_convert_encoding($filtro,"ISO-8859-1","UTF-8"), 1); |
| 549 | 549 | if($teste != MS_SUCCESS){ |
| 550 | - $teste = $this->layer->queryByAttributes($items[0], mb_convert_encoding($filtro,"UTF-8","ISO-8859-1"), 1); | |
| 551 | 550 | $filtro = mb_convert_encoding($filtro,"UTF-8","ISO-8859-1"); |
| 551 | + } else { | |
| 552 | + $filtro = mb_convert_encoding($filtro,"ISO-8859-1","UTF-8"); | |
| 553 | + $teste = $layer->querybyattributes($items[0],$filtro,1); | |
| 554 | + if($teste != MS_SUCCESS){ | |
| 555 | + $filtro = ""; | |
| 556 | + } | |
| 552 | 557 | } |
| 553 | - else{ | |
| 554 | - $filtro = mb_convert_encoding($filtro,"ISO-8859-1","UTF-8"); | |
| 555 | - } | |
| 556 | - } | |
| 557 | - if($teste == MS_SUCCESS){ | |
| 558 | - $layer->setfilter($filtro); | |
| 559 | 558 | } |
| 560 | 559 | } else { |
| 561 | - $layer->setfilter($filtro); | |
| 560 | + //testa a questao de ser string ou numero | |
| 561 | + //$layer->setfilter($filtro); | |
| 562 | + $teste = $layer->querybyattributes($items[0],str_replace("*","'",$filtro),1); | |
| 563 | + if($teste != MS_SUCCESS){ | |
| 564 | + $filtro = str_replace("*","",$filtro); | |
| 565 | + } | |
| 566 | + if($teste == MS_SUCCESS){ | |
| 567 | + $filtro = str_replace("*","'",$filtro); | |
| 568 | + } | |
| 562 | 569 | } |
| 563 | 570 | } |
| 571 | + $layer->setfilter($filtro); | |
| 564 | 572 | if ($testa == ""){ |
| 565 | 573 | $layer->setMetaData("cache",""); |
| 566 | 574 | } else { | ... | ... |
ferramentas/filtro/exec.php
| ... | ... | @@ -34,6 +34,8 @@ Inclui um filtro no tema. |
| 34 | 34 | $_GET["testa"]=""; |
| 35 | 35 | } |
| 36 | 36 | $m->insereFiltro(""); |
| 37 | + $m->salva(); | |
| 38 | + $m = new Temas($map_file,$tema); | |
| 37 | 39 | $retorno = $m->insereFiltro(base64_decode($_GET["filtro"]),$_GET["testa"],$_GET["base64"]); |
| 38 | 40 | if(strtolower($_GET["testa"]) != "sim"){ |
| 39 | 41 | $m->salva(); | ... | ... |
ferramentas/identifica/index.js
| ... | ... | @@ -957,12 +957,15 @@ i3GEOF.identifica = |
| 957 | 957 | return; |
| 958 | 958 | } |
| 959 | 959 | i3GEOF.identifica.propJanelas[idjanela].aguarde.visibility = "visible"; |
| 960 | - var filtro = "('[" + item + "]' = '" + valor + "')", temp = function(retorno) { | |
| 961 | - i3GEOF.identifica.propJanelas[idjanela].aguarde.visibility = "hidden"; | |
| 962 | - i3GEO.Interface.atualizaTema(retorno, tema); | |
| 963 | - }, p = | |
| 964 | - i3GEO.configura.locaplic + "/ferramentas/filtro/exec.php?base64=sim&g_sid=" + i3GEO.configura.sid + "&funcao=inserefiltro", cp = | |
| 965 | - new cpaint(); | |
| 960 | + var filtro = "", | |
| 961 | + temp = function(retorno) { | |
| 962 | + i3GEOF.identifica.propJanelas[idjanela].aguarde.visibility = "hidden"; | |
| 963 | + i3GEO.Interface.atualizaTema(retorno, tema); | |
| 964 | + }, | |
| 965 | + p = i3GEO.configura.locaplic + "/ferramentas/filtro/exec.php?base64=sim&g_sid=" + i3GEO.configura.sid + "&funcao=inserefiltro", | |
| 966 | + cp = new cpaint(); | |
| 967 | + | |
| 968 | + filtro = "(*[" + item + "]* = *" + valor + "*)"; | |
| 966 | 969 | cp.set_response_type("JSON"); |
| 967 | 970 | cp.set_transfer_mode('POST'); |
| 968 | 971 | cp.call(p, "insereFiltro", temp, "tema=" + tema + "&filtro=" + i3GEO.util.base64encode(filtro)); | ... | ... |