Para ver a árvore, utilize Licenca: GPL2 i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation; Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral do GNU para mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. Arquivo: i3geo/admin/hiperbolica.php */ error_reporting(0); include("../ms_configura.php"); include("$locaplic/admin/php/admin.php"); include("$locaplic/admin/php/conexao.php"); $encoding = "UTF-8"; if($convUTF) $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; else { $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; $encoding = "ISO-8859-1"; } $xml .= ""; // //obtém a lista de menus // $menus = pegaDados("SELECT * from i3geoadmin_menus order by nome_menu ",$locaplic); $xml .= ''; $contador = 0; $xml .= ' '."\n"; // //varre cada menu // foreach ($menus as $menu) { if(strtolower($menu["publicado_menu"]) == "nao") {continue;} $id = $menu["id_menu"]; $nome = html_entity_decode($menu["nome_menu"]); $nome = h_converteTexto($nome); //menu $xml .= ' '."\n"; // //obtém a lista de grupos // $grupos = pegaDados("select i3geoadmin_grupos.nome_grupo,id_n1,id_menu from i3geoadmin_n1 LEFT JOIN i3geoadmin_grupos ON i3geoadmin_n1.id_grupo = i3geoadmin_grupos.id_grupo where id_menu='$id' order by ordem",$locaplic); for($i=0;$i < count($grupos);++$i) { $contador++; $nome = html_entity_decode($grupos[$i]["nome_grupo"]); $nome = h_converteTexto($nome); $idgrupo = $grupos[$i]["id_n1"]; //grupo $xml .= ' '."\n"; $contador++; // //obtem os temas na raiz do grupo // $temasRaizGrupo = pegaDados("select i3geoadmin_temas.tags_tema as tags_tema,i3geoadmin_temas.codigo_tema as codigo_tema,i3geoadmin_raiz.id_tema,nome_tema as nome_tema,perfil FROM i3geoadmin_raiz LEFT JOIN i3geoadmin_temas ON i3geoadmin_temas.id_tema = i3geoadmin_raiz.id_tema where i3geoadmin_raiz.nivel = 1 and i3geoadmin_raiz.id_nivel = ".$grupos[$i]["id_n1"]." order by ordem"); //var_dump($temasRaizGrupo);exit; $t = obtemTemas($temasRaizGrupo,$contador,$id); $xml .= $t[0]; $contador += $t[1]; // //obtem os subgrupos // $subgrupos = pegaDados("select i3geoadmin_subgrupos.nome_subgrupo,i3geoadmin_n2.id_n2 from i3geoadmin_n2 LEFT JOIN i3geoadmin_subgrupos ON i3geoadmin_n2.id_subgrupo = i3geoadmin_subgrupos.id_subgrupo where i3geoadmin_n2.id_n1='$idgrupo' order by ordem",$locaplic); if(count($subgrupos) > 0) $xml .= ' '."\n"; for($j=0;$j < count($subgrupos);++$j) { $contador++; $nome = html_entity_decode($subgrupos[$j]["nome_subgrupo"]); $nome = h_converteTexto($nome); //subgrupo $xml .= ' '."\n"; $contador++; $xml .= ' '."\n"; $id_n2 = $subgrupos[$j]["id_n2"]; $temas = pegaDados("select i3geoadmin_temas.tags_tema,i3geoadmin_temas.nome_tema,i3geoadmin_temas.codigo_tema,i3geoadmin_n3.id_n3 from i3geoadmin_n3 LEFT JOIN i3geoadmin_temas ON i3geoadmin_n3.id_tema = i3geoadmin_temas.id_tema where i3geoadmin_n3.id_n2='$id_n2' order by ordem",$locaplic); $t = obtemTemas($temas,$contador,$id); $xml .= $t[0]; $contador += $t[1]; } } } $contador++; $id = $contador; $xml .= ' '."\n"; $grupos = pegaDados("select i3geoadmin_grupos.nome_grupo,id_n1,id_menu from i3geoadmin_n1 LEFT JOIN i3geoadmin_grupos ON i3geoadmin_n1.id_grupo = i3geoadmin_grupos.id_grupo order by ordem",$locaplic); for($i=0;$i < count($grupos);++$i) { $contador++; $nome = html_entity_decode($grupos[$i]["nome_grupo"]); $nome = h_converteTexto($nome); $idgrupo = $grupos[$i]["id_n1"]; $xml .= ' '."\n"; $temastag = pegaDados("select d.tags_tema as tags,d.id_tema as tema from i3geoadmin_n2 as b,i3geoadmin_n1 as a,i3geoadmin_n3 as c,i3geoadmin_temas as d where a.id_grupo = '$idgrupo' and a.id_n1 = b.id_n1 and c.id_n2 = b.id_n2 and c.id_tema = d.id_tema group by tema,d.tags_tema",$locaplic); $arrayTag = array(); foreach($temastag as $tematag) { $arrayTag = array_merge($arrayTag,explode(" ",$tematag["tags"])); } $arrayTag = array_unique($arrayTag); //var_dump($arrayTag); if(count($arrayTag > 0)) { $contador++; $xml .= ' '."\n"; foreach($arrayTag as $tag) { $tag = html_entity_decode($tag); $tag = h_converteTexto($tag); $contador++; if($tag != "") $xml .= ' '."\n"; } } } $id = $contador; $xml .= ' '."\n"; $tipos = pegaDados("select tipo_ws from i3geoadmin_ws group by tipo_ws",$locaplic); foreach ($tipos as $tipo) { $contador++; $xml .= ' '."\n"; $ws = pegaDados("select link_ws,nome_ws from i3geoadmin_ws where tipo_ws = '".$tipo["tipo_ws"]."'",$locaplic); foreach($ws as $w) { $contador++; $nome = html_entity_decode($w["nome_ws"]); $nome = h_converteTexto($nome); $link = str_replace("&","&",$w["link_ws"]); if($nome != "") $xml .= ' '."\n"; } } $xml .= ""; $xml .= ""; //header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); //header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . 'GMT'); //header('Cache-Control: no-cache, must-revalidate'); //header('Pragma: no-cache'); header("Content-type: application/xml"); echo $xml; /* Converte o encoding conforme definido em $i */ function h_converteTexto($i) { global $encoding; $s = mb_detect_encoding($i, 'UTF-8, UTF-7, ASCII, ISO-8859-1'); return mb_convert_encoding($i,$encoding,$s); } function obtemTemas($temas,$contador,$id) { $xml = ""; for($k=0;$k < count($temas);++$k) { $contador++; $nome = html_entity_decode($temas[$k]["nome_tema"]); $nome = h_converteTexto($nome); $nid = "tema,".$temas[$k]["codigo_tema"]; if($nome != "") { //tema $xml .= ' '."\n"; $contador++; $tags = explode(" ",$temas[$k]["tags_tema"]); if(count($tags) > 0 && $temas[$k]["tags_tema"] != "") { //tags $xml .= ' '."\n"; foreach($tags as $tag) { $contador++; $tag = html_entity_decode($tag); $tag = h_converteTexto($tag); if($tag != "") $xml .= ' '."\n"; } } } } $retorno[] = $xml; $retorno[] = $contador; return $retorno; } ?>