Commit ee1b8ed519523621b39076c7ddc18ab6a8507a92

Authored by Edmar Moretti
1 parent 11d0da9a

novos parametros na ferramenta de animação

Showing 1 changed file with 35 additions and 8 deletions   Show diff stats
ferramentas/animagif/exec.php
... ... @@ -14,6 +14,9 @@ if(empty($_GET)){
14 14 &mapext = extens&atilde;o geogr&aacute;fica xmin,ymin,xmax,ymax que ser&aacute; usada nas imagens<br>
15 15 &legenda = sim|nao<br>
16 16 &transparente = sim|nao<br>
  17 + &operador = operador que ser&aacute; utilizado no filtro. Por default utilza-se 'igual a'. Pode ser ainda lt (menor que) ou gt (maior que)<br>
  18 + &nulos = lista de valores, separados por ',' que não serão considerados ao aplicar o filtro, por exemplo &nulos=-, ,0<br>
  19 + &tipocolunat = string|numero tipo de dados existentes na coluna que cont&eacute;m os valores para o filtro<br>
17 20 ";
18 21 exit;
19 22 }
... ... @@ -30,6 +33,24 @@ if($cache == &quot;nao&quot;){
30 33 if(empty($tempo)){
31 34 $tempo = 40;
32 35 }
  36 +if(empty($nulos)){
  37 + $nulos = "";
  38 +}
  39 +if(empty($tipocolunat)){
  40 + $tipocolunat = "string";
  41 +}
  42 +if(empty($operador)){
  43 + $operador = "=";
  44 +}
  45 +else{
  46 + if($operador == "lt"){
  47 + $operador = "<";
  48 + }
  49 + if($operador == "gt"){
  50 + $operador = ">";
  51 + }
  52 +}
  53 +$nulos = explode(",",$nulos);
33 54 $arqtemp = $dir_tmp."/".$nometemp;
34 55 if(file_exists($arqtemp.".gif")){
35 56 $gifBinary = file_get_contents($arqtemp.".gif");
... ... @@ -42,15 +63,13 @@ if(file_exists($arqtemp.&quot;.gif&quot;)){
42 63 //
43 64 //carrega o phpmapscript
44 65 //
45   -if (!function_exists('ms_GetVersion'))
46   -{
47   - if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))
48   - {
  66 +if (!function_exists('ms_GetVersion')){
  67 + if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')){
49 68 if(!@dl('php_mapscript_48.dll'))
50 69 dl('php_mapscript.dll');
51 70 }
52   - else
53   - {dl('php_mapscript.so');
  71 + else{
  72 + dl('php_mapscript.so');
54 73 }
55 74 }
56 75 $versao = versao();
... ... @@ -176,6 +195,7 @@ $c = $mapa-&gt;imagecolor;
176 195 $c->setrgb(-1,-1,-1);
177 196 $o = $mapa->outputformat;
178 197 $o->set("imagemode",MS_IMAGEMODE_RGBA);
  198 +
179 199 if($transparente == "sim"){
180 200 $o->set("transparent",MS_TRUE);
181 201 }
... ... @@ -190,6 +210,7 @@ $m = new Atributos($arqtemp.&quot;.map&quot;,$tema);
190 210 $lista = $m->listaUnicoRapida($colunat);
191 211 $listaunica = array();
192 212 foreach($lista as $l){
  213 + $l = str_replace($nulos,"",$l);
193 214 if($l != ""){
194 215 $listaunica[] = $l;
195 216 }
... ... @@ -208,10 +229,16 @@ $objImagem = &quot;&quot;;
208 229 //$listaunica = array($listaunica[1]);
209 230 foreach($listaunica as $d){
210 231 if(strtoupper($colunat) == $colunat){
211   - $filtro = "(('[$colunat]' = '$d'))";
  232 + $filtro = "(('[$colunat]' $operador '$d'))";
  233 + if($tipocolunat == "numerico"){
  234 + $filtro = "(([$colunat] $operador $d))";
  235 + }
212 236 }
213 237 else{
214   - $filtro = "$colunat = '$d'";
  238 + $filtro = "$colunat $operador '$d'";
  239 + if($tipocolunat == "numerico"){
  240 + $filtro = "$colunat $operador $d";
  241 + }
215 242 }
216 243 $layer->setfilter($filtro);
217 244 //$mapa->save($arqtemp.".map");echo $arqtemp;exit;
... ...