diff --git a/admin/admin.db b/admin/admin.db index 9cae371..330248b 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin/php/classe_metaestat.php b/admin/php/classe_metaestat.php index e20b4c3..df25502 100755 --- a/admin/php/classe_metaestat.php +++ b/admin/php/classe_metaestat.php @@ -484,12 +484,17 @@ class Metaestat{ } return array("mapfile"=>$arq,"layer"=>$this->nomecache,"titulolayer"=>$titulolayer); } - function mapfileTipoRegiao($codigo_tipo_regiao,$outlinecolor="255,0,0",$width=1,$nomes="nao"){ + function mapfileTipoRegiao($codigo_tipo_regiao,$outlinecolor="255,0,0",$width=1,$nomes="nao",$forcaArquivo=false){ //para permitir a inclusao de filtros, o fim do sql e marcado com /*FW*//*FW*/ //indicando onde deve comecar e terminar uma possivel clausula where //Layers adicionados aqui sao marcados com o metadata METAESTAT "SIM" //O codigo_tipo_regiao e marcado com o metadata METAESTAT_CODIGO_TIPO_REGIAO - $arq = $this->dir_tmp."/".$this->nomecache.".map"; + if($forcaArquivo == false){ + $arq = $this->dir_tmp."/".$this->nomecache.".map"; + } + else{ + $arq = $this->dir_tmp."/".$this->nomecache.nomeRandomico(3).".map"; + } if(!file_exists($arq)){ $tipolayer = "polygon"; $meta = $this->listaTipoRegiao($codigo_tipo_regiao); @@ -577,7 +582,7 @@ class Metaestat{ fwrite($fp,$dado."\n"); } } - return array("mapfile"=>$arq,"layer"=>$this->nomecache,"titulolayer"=>$titulolayer); + return array("mapfile"=>$arq,"layer"=>$this->nomecache,"titulolayer"=>$titulolayer,"codigo_tipo_regiao"=>$codigo_tipo_regiao); } function mapfileCompleto($mapfile){ $f = $this->base; diff --git a/ferramentas/metaestat/analise.php b/ferramentas/metaestat/analise.php index 18f2eb1..ab97cf7 100644 --- a/ferramentas/metaestat/analise.php +++ b/ferramentas/metaestat/analise.php @@ -101,6 +101,18 @@ switch (strtoupper($funcao)){ break; case "CALOR": $retorno = mapaDeCalor($map_file,$tema); + break; + case "ADICIONALIMITEREGIAO": + if(empty($outlinecolor)){ + $outlinecolor = "255,0,0"; + } + if(empty($width)){ + $width = 1; + } + if(empty($nomes)){ + $nomes = "nao"; + } + $retorno = adicionaLimiteRegiao($map_file,$codigo_tipo_regiao,$outlinecolor,$width,$nomes); break; } if (!connection_aborted()){ @@ -108,6 +120,31 @@ if (!connection_aborted()){ } else {exit();} +function adicionaLimiteRegiao($map_file,$codigo_tipo_regiao,$outlinecolor,$width,$nomes){ + global $locaplic,$dir_tmp; + $m = new Metaestat(); + $res = $m->mapfileTipoRegiao($codigo_tipo_regiao,$outlinecolor,$width,$nomes,true); + $mapaNovo = ms_newMapObj($res["mapfile"]); + $layerNovo = $mapaNovo->getlayerbyname($res["layer"]); + $layerNovo->set("status",MS_DEFAULT); + $dataNovo = $layerNovo->data; + $mapa = ms_newMapObj($map_file); + $c = $mapa->numlayers; + for($i=0;$i < $c;++$i){ + $l = $mapa->getlayer($i); + if($l->data == $dataNovo){ + $l->set("status",MS_DELETE); + } + } + ms_newLayerObj($mapa, $layerNovo); + if($nomes == "sim"){ + $layerNovo = $mapaNovo->getlayerbyname($res["layer"]."_anno"); + $layerNovo->set("status",MS_DEFAULT); + ms_newLayerObj($mapa, $layerNovo); + } + $mapa->save($map_file); + return "ok"; +} function mapaDeCalor($map_file,$tema){ global $locaplic,$dir_tmp,$R_path,$ext; $nome = basename($map_file).$tema."calor"; diff --git a/ferramentas/metaestat/mostraregiao.js b/ferramentas/metaestat/mostraregiao.js index 6f98f0b..c9d1782 100644 --- a/ferramentas/metaestat/mostraregiao.js +++ b/ferramentas/metaestat/mostraregiao.js @@ -63,10 +63,12 @@ i3GEOF.mostraregiao = { inicia: function(divid){ $i(divid).innerHTML = i3GEOF.mostraregiao.html(); i3GEOF.mostraregiao.comboRegioes($i("i3geomostraregiaoTipoRegiao")); + YAHOO.i3GEO.janela.manager.find("i3GEOF.mostraregiao").setFooter(''); new YAHOO.widget.Button( "i3geomostraregiaoAplica", {onclick:{fn: function(){i3GEOF.mostraregiao.aplica();}}} ); + $i("i3geomostraregiaoAplica-button").style.width = "180px"; }, //utiliza o dicionario compartilhado iniciaDicionario: function(){ @@ -113,15 +115,14 @@ i3GEOF.mostraregiao = { }, html: function(){ var ins = "" + - ' ' + - '

' + + '
' + '
' + '

Inclui nomes

' + '

Contorno:

' + 'Cor:  ' + $inputText("","","i3geomostraregiaoOutlinecolor","",12,"255,0,0") + ' aquarela.gif ' + '

Largura:  ' + $inputText("","","i3geomostraregiaoWidth","",3,"1") + - '
' ; + '

' ; return ins; }, comboRegioes: function(objonde){ @@ -154,13 +155,8 @@ i3GEOF.mostraregiao = { i3GEO.janela.abreAguarde("aguardeMostraRegiao","Aguarde..."); var temp = function(retorno){ i3GEO.janela.fechaAguarde("aguardeMostraRegiao"); - if(retorno.layer == ""){ - i3GEO.atualiza(); - return; - } - if(i3GEO.arvoreDeCamadas.pegaTema(retorno.layer) == ""){ - i3GEO.php.adtema(i3GEO.atualiza,retorno.mapfile); - } + i3GEO.atualiza(); + }; if(nomes.checked == true){ nomes = "sim"; @@ -168,7 +164,17 @@ i3GEOF.mostraregiao = { else{ nomes = "nao"; } - i3GEO.php.mapfileTipoRegiao(temp,combo.value,$i("i3geomostraregiaoOutlinecolor").value,$i("i3geomostraregiaoWidth").value,nomes); + i3GEO.janela.AGUARDEMODAL = true; + i3GEO.janela.abreAguarde("aguardeMostraRegiao","Aplicando..."); + i3GEO.janela.AGUARDEMODAL = false; + p = i3GEO.configura.locaplic+"/ferramentas/metaestat/analise.php?funcao=adicionaLimiteRegiao"+ + "&codigo_tipo_regiao="+combo.value+ + "&g_sid="+i3GEO.configura.sid+ + "&outlinecolor="+$i("i3geomostraregiaoOutlinecolor").value+ + "&width="+$i("i3geomostraregiaoWidth").value+ + "&nomes="+nomes; + i3GEO.util.ajaxGet(p,temp); + //i3GEO.php.mapfileTipoRegiao(temp,combo.value,$i("i3geomostraregiaoOutlinecolor").value,$i("i3geomostraregiaoWidth").value,nomes); }, corj: function(obj){ i3GEO.util.abreCor("",obj); -- libgit2 0.21.2