From eae7c3555ab2a5ee2f4ae6b36d5ff15dafcc07fb Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Thu, 9 Dec 2010 10:48:58 +0000 Subject: [PATCH] Correção na carga da lista de sistemas adicionais na ferramenta de identificação --- aplicmap/geral1.map | 3 +++ aplicmap/geral1windows.map | 3 +++ classesjs/classe_interface.js | 4 ++-- classesphp/classe_menutemas.php | 34 ++++++++++++++++++++++++++++++++++ classesphp/mapa_controle.php | 13 ++++++++++++- ferramentas/identifica/index.js.php | 30 ++++++++++++++---------------- 6 files changed, 68 insertions(+), 19 deletions(-) diff --git a/aplicmap/geral1.map b/aplicmap/geral1.map index 9eace03..4544e8e 100644 --- a/aplicmap/geral1.map +++ b/aplicmap/geral1.map @@ -367,6 +367,9 @@ LAYER LAYER METADATA "TEMA" "Rosa dos ventos" + "IDENTIFICA" "nao" + "TABELA" "nao" + END NAME "rosadosventos" SIZEUNITS PIXELS diff --git a/aplicmap/geral1windows.map b/aplicmap/geral1windows.map index da79a9f..d9a4a04 100644 --- a/aplicmap/geral1windows.map +++ b/aplicmap/geral1windows.map @@ -366,6 +366,9 @@ LAYER LAYER METADATA "TEMA" "Rosa dos ventos" + "IDENTIFICA" "nao" + "TABELA" "nao" + END NAME "rosadosventos" SIZEUNITS PIXELS diff --git a/classesjs/classe_interface.js b/classesjs/classe_interface.js index 585700a..a9e60a0 100644 --- a/classesjs/classe_interface.js +++ b/classesjs/classe_interface.js @@ -973,8 +973,8 @@ i3GEO.Interface = { nlayers = layers.length, i; for(i=0;ilocaplic."/admin/php/xml.php"); + $xmlsistemas = simplexml_load_string(geraXmlIdentifica(implode(" ",$this->perfil),$this->locaplic,$this->editores)); + $sistemas = array(); + foreach($xmlsistemas->FUNCAO as $s) + { + $publicado = $this->ixml($s,"PUBLICADO"); + if(strtolower($publicado) != "nao" || $this->editor) + { + $nomesis = $this->ixml($s,"NOMESIS"); + $ps = $this->ixml($s,"PERFIL"); + $perfis = str_replace(","," ",$ps); + $perfis = explode(" ",$perfis); + if (($this->array_in_array($this->perfil,$perfis)) || ($ps == "")) + { + $sistemas[] = array("PUBLICADO"=>$publicado,"NOME"=>$nomesis,"TARGET"=>($this->ixml($s,"TARGET")),"ABRIR"=>($this->ixml($s,"ABRIR"))); + } + } + } + return $sistemas; + } +/* function: procurartemas Procura um tema no menu de temas considerando apenas os subgrupos. diff --git a/classesphp/mapa_controle.php b/classesphp/mapa_controle.php index 0aaf8b8..330142e 100644 --- a/classesphp/mapa_controle.php +++ b/classesphp/mapa_controle.php @@ -1809,6 +1809,18 @@ Pega a lista de grupos do menu. $retorno = array("idmenu"=>$idmenu,"grupos"=>$m->pegaListaDeGrupos($idmenu,$listasistemas,$listasgrupos)); break; /* +Valor: PEGASISTEMASIDENTIFICACAO + +Pega a lista de sistemas especiais de identificação de elementos no mapa + +pegaSistemasI> +*/ + case "PEGASISTEMASIDENTIFICACAO": + include_once("classe_menutemas.php"); + $m = new Menutemas($map_file,$perfil,$locaplic,"",$editores,$idioma); + $retorno = $m->pegaSistemasI(); + break; +/* Valor: PEGASISTEMAS Pega a lista de sistemas. @@ -1820,7 +1832,6 @@ Pega a lista de sistemas. $m = new Menutemas($map_file,$perfil,$locaplic,"",$editores,$idioma); $retorno = $m->pegaSistemas(); break; - /* Valor: PEGALISTADESUBGRUPOS diff --git a/ferramentas/identifica/index.js.php b/ferramentas/identifica/index.js.php index 591254f..e3b119f 100644 --- a/ferramentas/identifica/index.js.php +++ b/ferramentas/identifica/index.js.php @@ -149,12 +149,16 @@ i3GEOF.identifica = { //verifica se existem sistemas para identificar // if(i3GEOF.identifica.mostraSistemasAdicionais === true){ + /* if (i3GEO.parametros.locidentifica !== ""){ if(i3GEO.tempXMLSISTEMAS === undefined) {i3GEO.util.ajaxexecASXml(i3GEO.parametros.locidentifica,"i3GEOF.identifica.montaListaSistemas");} else {i3GEOF.identifica.montaListaSistemas(i3GEO.tempXMLSISTEMAS);} } + */ + var p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?funcao=pegaSistemasIdentificacao&g_sid="+i3GEO.configura.sid; + cpJSON.call(p,"foo",i3GEOF.identifica.montaListaSistemas); } if (i3GEO.temaAtivo !== "") {i3GEOF.identifica.buscaDadosTema(i3GEO.temaAtivo);} @@ -366,34 +370,28 @@ i3GEOF.identifica = { O resultado é inserido no div com id "listaSistemas". - A lista de sistemas é obtida de um XML definido no i3Geo na variável i3GEO.parametros.locidentifica - Cada sistema consiste em uma URL para a qual serão passados os parâmetros x e y. - Parametros: - - xmlDoc - documento xml */ - montaListaSistemas: function(xmlDoc){ + montaListaSistemas: function(retorno){ var divins,sisig,sistema,pub,exec,temp,t,linhas,ltema; - if (xmlDoc !== undefined) + if (retorno !== undefined) { - i3GEO.tempXMLSISTEMAS = xmlDoc; divins = $i("i3GEOidentificalistaSistemas"); - sis = xmlDoc.getElementsByTagName("FUNCAO"); + sis = retorno.data; for (ig=0;ig";} } } - exec = sis[ig].getElementsByTagName("ABRIR")[0].firstChild.nodeValue; + exec = sis[ig].ABRIR; temp = exec.split('"'); if(temp.length === 1) {exec = '"'+exec+'"';} @@ -401,8 +399,8 @@ i3GEOF.identifica = { if(temp.length !== 2) {exec += '+"?"';} t = "blank"; - if (sis[ig].getElementsByTagName("TARGET")[0]) - {t = sis[ig].getElementsByTagName("TARGET")[0].firstChild.nodeValue;} + if (sis[ig].TARGET) + {t = sis[ig].TARGET;} i3GEOF.identifica.sistemasAdicionais.push(sistema+","+exec+","+t); } if (i3GEOF.identifica.sistemasAdicionais.length > 0) -- libgit2 0.21.2