From 71705442391d9f5f9a6f634bede4e1d332b00229 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Thu, 11 Nov 2010 19:42:19 +0000 Subject: [PATCH] Substituição da função loadquery por uma nova existente em classesphp/funcoes_gerais.php --- classesphp/classe_analise.php | 27 ++++++++------------------- classesphp/classe_atributos.php | 18 ++++++++---------- classesphp/classe_mapa.php | 21 ++++----------------- classesphp/classe_temas.php | 7 +++---- classesphp/funcoes_gerais.php | 24 +++++++++++++++++------- classesphp/graficos.php | 30 ++---------------------------- ferramentas/tabela/relatorio.php | 3 +++ 7 files changed, 45 insertions(+), 85 deletions(-) diff --git a/classesphp/classe_analise.php b/classesphp/classe_analise.php index fe96ec3..f853887 100644 --- a/classesphp/classe_analise.php +++ b/classesphp/classe_analise.php @@ -960,10 +960,7 @@ $locaplic - Localização do I3geo. $nomeshp = $this->diretorio."/".$nomefinal; //pega os shapes selecionados $itemspt = pegaItens($layerPt); - $existesel = "nao"; - if (file_exists($this->qyfile)) - {$this->mapa->loadquery($this->qyfile);} - if ($layerPt->getNumresults() > 0){$existesel = "sim";} + $existesel = carregaquery($this->arquivo,&$this->layer,&$this->mapa); if ($existesel == "nao") { if($layerPt->getProjection() == "" ) @@ -1111,9 +1108,8 @@ function distanciaptpt($temaorigem,$temadestino,$temaoverlay,$locaplic,$itemorig //define o nome do novo shapefile que será criado $nomefinal = nomeRandomico(); $nomeshp = $this->diretorio."/".$nomefinal; - if (file_exists($this->qyfile)) - {$this->mapa->loadquery($this->qyfile);} - else + $existesel = carregaquery($this->arquivo,&$this->layer,&$this->mapa); + if ($existesel == "nao") {return "errox";} $layerorigem = $this->mapa->getlayerbyname($temaorigem); $layerdestino = $this->mapa->getlayerbyname($temadestino); @@ -1237,8 +1233,7 @@ nome do layer criado com o buffer. $nomebuffer = nomeRandomico(); $nomeshp = $this->diretorio."/".$nomebuffer; //pega os shapes selecionados - if (file_exists($this->qyfile)) - {$this->mapa->loadquery($this->qyfile);} + carregaquery($this->arquivo,&$this->layer,&$this->mapa); $sopen = $this->layer->open(); if($sopen == MS_FAILURE){return "erro";} $items = pegaItens($this->layer); @@ -1349,8 +1344,7 @@ $locaplic - Localização do I3geo. $nomeCentroides = nomeRandomico(); $nomeshp = $this->diretorio."/".$nomeCentroides; //pega os shapes selecionados - if (file_exists($this->qyfile)) - {$this->mapa->loadquery($this->qyfile);} + carregaquery($this->arquivo,&$this->layer,&$this->mapa); $sopen = $this->layer->open(); if($sopen == MS_FAILURE){return "erro";} $items = pegaItens($this->layer); @@ -1923,8 +1917,7 @@ Salva o mapa acrescentando um novo layer com o resultado. else include_once "../pacotes/phpxbase/api_conversion.php"; //define o nome do novo shapefile que será criado - if (file_exists($this->qyfile)) - {$this->mapa->loadquery($this->qyfile);} + carregaquery($this->arquivo,&$this->layer,&$this->mapa); $sopen = $this->layer->open(); if($sopen == MS_FAILURE){return "erro";} $res_count = $this->layer->getNumresults(); @@ -2043,8 +2036,7 @@ $locaplic - Localização do I3geo else include_once "../pacotes/phpxbase/api_conversion.php"; //define o nome do novo shapefile que será criado - if (file_exists($this->qyfile)) - {$this->mapa->loadquery($this->qyfile);} + carregaquery($this->arquivo,&$this->layer,&$this->mapa); $sopen = $this->layer->open(); if($sopen == MS_FAILURE){return "erro";} $res_count = $this->layer->getNumresults(); @@ -2435,10 +2427,7 @@ function gravaCoordenadasPt($tema,$limitepontos="TRUE",$extendelimite) $nomefinal = nomeRandomico(); $nomearq = $this->diretorio."/".$nomefinal; $itemspt = pegaItens($layerPt); - $existesel = "nao"; - if (file_exists($this->qyfile)) - {$this->mapa->loadquery($this->qyfile);} - if ($layerPt->getNumresults() > 0){$existesel = "sim";} + $existesel = carregaquery($this->arquivo,&$this->layer,&$this->mapa); if ($existesel == "nao") { if($layerPt->getProjection() == "" ) diff --git a/classesphp/classe_atributos.php b/classesphp/classe_atributos.php index 521a44d..1afcd05 100644 --- a/classesphp/classe_atributos.php +++ b/classesphp/classe_atributos.php @@ -87,6 +87,11 @@ $ext - (opcional) extensão geográfica que será aplicada ao mapa function __construct($map_file,$tema="",$locaplic="",$ext="") { //error_reporting(E_ALL); + if (!function_exists('ms_newMapObj')) {return false;} + if(file_exists($locaplic."/funcoes_gerais.php")) + include_once($locaplic."/funcoes_gerais.php"); + else + include_once("funcoes_gerais.php"); $this->qyfile = str_replace(".map",".qy",$map_file); $this->locaplic = $locaplic; $this->mapa = ms_newMapObj($map_file); @@ -239,10 +244,7 @@ $tipo - Tipo de busca brasil|null $this->layer->setfilter(""); //le o arquivo de query se existir e checa se existe seleção para o tema $items = pegaItens($this->layer); - $existesel = "nao"; - if (file_exists($this->qyfile)) - {$this->mapa->loadquery($this->qyfile);} - if ($this->layer->getNumresults() > 0){$existesel = "sim";} + $existesel = carregaquery($this->arquivo,&$this->layer,&$this->mapa); if ($existesel == "nao") {$this->layer->querybyrect($this->mapa->extent);} $sopen = $this->layer->open(); @@ -306,8 +308,7 @@ $tipolista - Indica se serão mostrados todos os registros ou apenas os seleciona else {$items[] = $itemtema;} $resultadoFinal[] = array("itens"=>$items); - if (file_exists($this->qyfile)) - {$this->mapa->loadquery($this->qyfile);} + carregaquery($this->arquivo,&$this->layer,&$this->mapa); $indxlayer = $this->layer->index; $sopen = $this->layer->open(); if($sopen == MS_FAILURE){return "erro";} @@ -506,10 +507,7 @@ Include: $filtro = $this->layer->getfilterstring(); if ($filtro != ""){$this->layer->setfilter("");} //le o arquivo de query se existir e checa se existe seleção para o tema - $existesel = "nao"; - if (file_exists($this->qyfile)) - {$this->mapa->loadquery($this->qyfile);} - if ($this->layer->getNumresults() > 0){$existesel = "sim";} + $existesel = carregaquery($this->arquivo,&$this->layer,&$this->mapa); if ($existesel == "nao") {$this->layer->queryByrect($this->mapa->extent);} $sopen = $this->layer->open(); diff --git a/classesphp/classe_mapa.php b/classesphp/classe_mapa.php index 6de309c..00f84ce 100644 --- a/classesphp/classe_mapa.php +++ b/classesphp/classe_mapa.php @@ -170,26 +170,11 @@ string - javascript com os parametros //$qy = file_exists($this->qyfile); foreach($this->layers as $l) {$l->set("template","none.htm");} - - //if ($qy) - //{$this->mapa->loadquery($this->qyfile);} foreach ($this->layers as $oLayer) { $sel = "nao"; if(file_exists($dir."/".$oLayer->name.".php")) {$sel = "sim";$existesel = true;} - /* - if ($qy) //verifica se existe alguma selecao no tema - { - $sopen = $oLayer->open(); - if($sopen != MS_FAILURE) - { - $res_count = $oLayer->getNumresults(); - $oLayer->close(); - if ($res_count > 0){$sel = "sim";$existesel = true;} - } - } - */ $escondido = $oLayer->getmetadata("escondido"); if($escondido == "") {$escondido = "nao";} @@ -294,8 +279,10 @@ Include: if($qy) { foreach($this->layers as $l) - {$l->set("template","none.htm");} - $this->mapa->loadquery($this->qyfile); + { + $l->set("template","none.htm"); + carregaquery($this->arquivo,&$l,&$this->mapa); + } } $legenda = $this->mapa->legend; // diff --git a/classesphp/classe_temas.php b/classesphp/classe_temas.php index 7a388a3..c564d77 100644 --- a/classesphp/classe_temas.php +++ b/classesphp/classe_temas.php @@ -104,6 +104,7 @@ $ext - (opcional) extensão geográfica que será aplicada ao mapa { //error_reporting(E_ALL); $this->qyfile = str_replace(".map",".qy",$map_file); + $this->arquivo = $map_file; if(file_exists($locaplic."/funcoes_gerais.php")) include_once($locaplic."/funcoes_gerais.php"); else @@ -745,8 +746,7 @@ $nome - nome que será dado a geometria $ext = $this->mapa->extent; $sb = $this->mapa->scalebar; $sb->set("status",MS_OFF); - if (file_exists($this->qyfile)) - {$this->mapa->loadquery($this->qyfile);} + carregaquery($this->arquivo,&$this->layer,&$this->mapa); $items = pegaItens($this->layer); $sopen = $this->layer->open(); if($sopen == MS_FAILURE){return "erro";} @@ -970,8 +970,7 @@ Calcula a extensão geográfica dos elementos selecionados de um tema e ajusta o m $extatual = $this->mapa->extent; $prjMapa = ""; $prjTema = ""; - if (file_exists($this->qyfile)) - {$this->mapa->loadquery($this->qyfile);} + carregaquery($this->arquivo,&$this->layer,&$this->mapa); $sopen = $this->layer->open(); if($sopen == MS_FAILURE){return "erro";} $res_count = $this->layer->getNumresults(); diff --git a/classesphp/funcoes_gerais.php b/classesphp/funcoes_gerais.php index 06aca40..ca4fee7 100644 --- a/classesphp/funcoes_gerais.php +++ b/classesphp/funcoes_gerais.php @@ -1830,12 +1830,7 @@ function criaSHP($tema,$map_file,$locaplic,$dir_tmp,$nomeRand=TRUE) $reg = array(); $novoshpf = ms_newShapefileObj($nomeshp.".shp", -2); //le o arquivo de query se existir e checa se existe seleção para o tema - $existesel = "nao"; - if (file_exists($map_file."qy")) - {$map->loadquery($map_file."qy");} - if ($layer->getNumresults() > 0) - {$existesel = "sim";} - + $existesel = carregaquery($map_file,&$layer,&$map); if ($existesel == "nao") {@$layer->queryByrect($map->extent);} @@ -2626,5 +2621,20 @@ function removeLinha($texto,$mapfile) {$escreve = fwrite ($abre,$linha);} $fecha = fclose ($abre); } - +function carregaquery($mapfile,$objlayer,$objmapa) +{ + $qyfile = dirname($mapfile)."/".$objlayer->name.".php"; + if(file_exists($qyfile)) + { + $indxlayer = $objlayer->index; + $handle = fopen ($qyfile, "r"); + $conteudo = fread ($handle, filesize ($qyfile)); + fclose ($handle); + $shp = unserialize($conteudo); + foreach ($shp as $indx) + {$objmapa->querybyindex($indxlayer,-1,$indx,MS_TRUE);} + return "sim"; + } + return "nao"; +} ?> \ No newline at end of file diff --git a/classesphp/graficos.php b/classesphp/graficos.php index 515ec37..a7e7215 100644 --- a/classesphp/graficos.php +++ b/classesphp/graficos.php @@ -386,21 +386,8 @@ function iniciaDadosGrafico($map_file,$tema,$exclui,$itemclasses,$itemvalores,$t $extatual = $map->extent; $extatual->setextent((min($e[0],$e[2])),(min($e[1],$e[3])),(max($e[0],$e[2])),(max($e[1],$e[3]))); } - $selecionados = "sim"; - $qyfile = str_replace(".map",".qy",$map_file); - if (file_exists($qyfile)) - {$map->loadquery($qyfile);} - else - {$selecionados = "nao";} $layer = $map->getLayerByName($tema); - if ($selecionados == "sim") - { - $layer->open(); - $res_count = $layer->getNumresults(); - $layer->close(); - if ($res_count < 1) - {$selecionados = "nao";} - } + $selecionados = carregaquery($map_file,&$layer,&$map); if ($exclui == ""){$exclui = "nulo";} $valores = pegaValoresM($map,$layer,array($itemclasses,$itemvalores),$exclui,$selecionados); $dados = agrupaValores($valores,0,1,$tipo); @@ -442,21 +429,8 @@ function dadosLinhaDoTempo($map_file,$tema,$ext="") $extatual = $map->extent; $extatual->setextent((min($e[0],$e[2])),(min($e[1],$e[3])),(max($e[0],$e[2])),(max($e[1],$e[3]))); } - $selecionados = "sim"; - $qyfile = str_replace(".map",".qy",$map_file); - if (file_exists($qyfile)) - {$map->loadquery($qyfile);} - else - {$selecionados = "nao";} $layer = $map->getLayerByName($tema); - if ($selecionados == "sim") - { - $layer->open(); - $res_count = $layer->getNumresults(); - $layer->close(); - if ($res_count < 1) - {$selecionados = "nao";} - } + $selecionados = carregaquery($map_file,&$layer,&$map); if ($exclui == ""){$exclui = "nulo";} //define os itens para pegar os dados $itens = array(); diff --git a/ferramentas/tabela/relatorio.php b/ferramentas/tabela/relatorio.php index 50a9b2b..647689a 100644 --- a/ferramentas/tabela/relatorio.php +++ b/ferramentas/tabela/relatorio.php @@ -42,8 +42,11 @@ if($ext && $ext != ""){ $layer = $mapa->getlayerbyname($temarel); $layer->set("template","none.html"); $existesel = "nao"; +/* if (file_exists($map_file."qy")) {$mapa->loadquery($map_file."qy");} +*/ +carregaquery($map_file,&$layer,&$mapa); if ($layer->getNumresults() > 0){$existesel = "sim";} if ($existesel == "nao") {$layer->querybyrect($mapa->extent);} -- libgit2 0.21.2