";
else
$xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">";
$xml .= "\n\n";
$q = "select * from ".$esquemaadmin."i3geoadmin_sistemas";
$qatlas = $dbh->query($q);
foreach($qatlas as $row)
{
if($row["perfil_sistema"] == "")
$mostra = true;
else
{
$perfilS = explode(" ",str_replace(","," ",$row["perfil_sistema"]));
$mostra = array_in_array($perfil,$perfilS);
}
if(strtolower($row["publicado_sistema"] == "nao"))
{$mostra = false;}
if($editor)
{$mostra = true;}
if($mostra)
{
$xml .= "\n";
$xml .= " ".$row["perfil_sistema"]."\n";
$xml .= " ".$row["publicado_sistema"]."\n";
$xml .= " ".xmlTexto_prepara($row["nome_sistema"])."\n";
$xml = geraXmlSistemas_pegafuncoes($perfil,$xml,$row["id_sistema"],$dbh);
$xml .= "\n";
}
}
$xml .= "\n";
$dbh = null;
$dbhw = null;
return $xml;
}
/*
Function: geraRSScomentariosTemas
RSS com os comentarios sobre um ou todos os temas
Parametros:
locaplic {string} - localização do i3Geo no sistema de arquivos
id_tema {numeric} - (opcional) id do tema para mostrar apenas os comentários de um tema
Retorno:
RSS
*/
function geraRSScomentariosTemas($locaplic,$id_tema="")
{
global $esquemaadmin;
$sql = "select '' as tipo_ws, b.nome_tema||' '||a.data as nome_ws,a.openidnome||' '||a.openidurl||' <br>'||a.comentario as desc_ws, a.openidnome as autor_ws, b.link_tema as link_ws from ".$esquemaadmin."i3geoadmin_comentarios as a,".$esquemaadmin."i3geoadmin_temas as b where a.id_tema = b.id_tema ";
if($id_tema != "")
{$sql .= " and a.id_tema = $id_tema ";}
return geraXmlRSS($locaplic,$sql,"Lista de comentarios");
}
/*
Function: geraRSStemas
RSS com os temas cadastrados
Parametros:
locaplic {string} - localização do i3Geo no sistema de arquivos
id_n2 {string} - c�digo do subgrupo do sistema de administração
Retorno:
RSS
*/
function geraRSStemas($locaplic,$id_n2)
{
global $esquemaadmin;
$sql = "
select '' as tipo_ws, i3geoadmin_temas.codigo_tema as id_ws,i3geoadmin_temas.nome_tema as nome_ws,'' as desc_ws,'php/parsemapfile.php?id='||i3geoadmin_temas.codigo_tema as link_ws,i3geoadmin_temas.link_tema as autor_ws
from ".$esquemaadmin."i3geoadmin_n3 as n3
LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_temas.id_tema = n3.id_tema
LEFT JOIN ".$esquemaadmin."i3geousr_grupotema ON n3.id_tema = i3geousr_grupotema.id_tema
where i3geousr_grupotema.id_grupo is null and i3geoadmin_temas.id_tema = n3.id_tema and n3.id_n2 = '$id_n2' and n3.n3_perfil = '' and n3.publicado != 'NAO' order by nome_ws";
return geraXmlRSS($locaplic,$sql,"Lista de temas");
}
/*
Function: geraRSStemasRaiz
RSS com os temas localizados na raiz de um nível
Parametros:
locaplic {string} - localização do i3Geo no sistema de arquivos
id {string} - codigo do no
nivel {string} - nível do no
Retorno:
RSS
*/
function geraRSStemasRaiz($locaplic,$id,$nivel)
{
global $esquemaadmin;
$sql = "
select '' as tipo_ws, i3geoadmin_temas.codigo_tema as id_ws,i3geoadmin_temas.nome_tema as nome_ws,'' as desc_ws,'php/parsemapfile.php?id='||i3geoadmin_temas.codigo_tema as link_ws,i3geoadmin_temas.link_tema as autor_ws
from ".$esquemaadmin."i3geoadmin_raiz as r
LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_temas.id_tema = r.id_tema
LEFT JOIN ".$esquemaadmin."i3geousr_grupotema ON r.id_tema = i3geousr_grupotema.id_tema
where i3geousr_grupotema.id_grupo is null and i3geoadmin_temas.id_tema = r.id_tema and r.nivel = '$nivel' and r.id_nivel = '$id' order by nome_ws";
return geraXmlRSS($locaplic,$sql,"Temas na raiz");
}
/*
Function: geraRSSsubgrupos
RSS com os subgrupos cadastrados
Parametros:
locaplic {string} - localização do i3Geo no sistema de arquivos
id_n1 {string} - c�digo do grupo do sistema de administração
Retorno:
RSS
*/
function geraRSSsubgrupos($locaplic,$id_n1)
{
global $esquemaadmin;
$sql = "select '' as tipo_ws, n2.id_n2 as id_ws,g.nome_subgrupo as nome_ws,'' as desc_ws,'rsstemas.php?id='||n2.id_n2 as link_ws,'' as autor_ws from ".$esquemaadmin."i3geoadmin_n2 as n2,".$esquemaadmin."i3geoadmin_subgrupos as g ";
$sql .= " where g.id_subgrupo = n2.id_subgrupo and n2.id_n1 = '$id_n1' and n2.n2_perfil = '' and n2.publicado != 'NAO' order by nome_ws";
return geraXmlRSS($locaplic,$sql,"Lista de sub-grupos");
}
/*
Function: geraRSSgrupos
RSS com os grupos cadastrados
Parametros:
locaplic {string} - localização do i3Geo no sistema de arquivos
Retorno:
RSS
*/
function geraRSSgrupos($locaplic)
{
global $esquemaadmin;
$sql = "select '' as tipo_ws, n1.id_n1 as id_ws, g.nome_grupo as nome_ws,'rsstemasraiz.php?nivel=1&id='||n1.id_n1 as desc_ws,'rsssubgrupos.php?id='||n1.id_n1 as link_ws,'' as autor_ws ";
$sql .= "from ".$esquemaadmin."i3geoadmin_n1 as n1,".$esquemaadmin."i3geoadmin_grupos as g ";
$sql .= "where g.id_grupo = n1.id_grupo and n1.n1_perfil = '' and n1.publicado != 'NAO' group by id_ws,tipo_ws,nome_ws,desc_ws,link_ws,autor_ws order by nome_ws";
return geraXmlRSS($locaplic,$sql,"Lista de grupos");
}
/*
Function: geraXmlDownload
RSS com os links para sistemas de download
Parametros:
locaplic {string} - localização do i3Geo no sistema de arquivos
Retorno:
RSS
*/
function geraXmlDownload($locaplic)
{
global $esquemaadmin;
$sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'DOWNLOAD' and nome_ws <> ''";
return geraXmlRSS($locaplic,$sql,"Enderecos para download");
}
/*
Function: geraXmlWS
RSS com a lista de WS cadastrados
Parametros:
locaplic {string} - localização do i3Geo no sistema de arquivos
Retorno:
RSS
*/
function geraXmlWS($locaplic)
{
global $esquemaadmin;
$sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'WS' and nome_ws <> ''";
return geraXmlRSS($locaplic,$sql,"Web services");
}
/*
Function: geraXmlKmlrss
RSS com a lista de KML cadastrados
Parametros:
locaplic {string} - localização do i3Geo no sistema de arquivos
Retorno:
RSS
*/
function geraXmlKmlrss($locaplic)
{
global $esquemaadmin;
$sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'KML' and nome_ws <> ''";
return geraXmlRSS($locaplic,$sql,"Web services");
}
/*
Function: geraXmlWMS
RSS com a lista de WMS cadastrados
Parametros:
locaplic {string} - localização do i3Geo no sistema de arquivos
Retorno:
RSS
*/
function geraXmlWMS($locaplic)
{
global $esquemaadmin;
$sql = "select * from ".$esquemaadmin."i3geoadmin_ws where (tipo_ws = 'WMS' or tipo_ws = 'WMS-Tile') and nome_ws <> '' order by nome_ws";
return geraXmlRSS($locaplic,$sql,"Web services WMS-OGC");
}
/*
Function: geraXmlWMSmetaestat
RSS com a lista de WMS das variaveis cadastradas no sistema de metadados estatisticos
Parametros:
locaplic {string} - localização do i3Geo no sistema de arquivos
Retorno:
RSS
*/
function geraXmlWMSmetaestat($locaplic)
{
global $esquemaadmin;
$protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);
$c = "/admin/php/xml.php";
if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')){
$c = "\admin\php\xml.php";
}
$url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST']."/".(basename(str_replace($c,"",__FILE__)));
$sql = "select DISTINCT b.id_medida_variavel as id_ws, 'WMSMETAESTAT' as tipo_ws,'".$url."/ogc.php?id_medida_variavel='||b.id_medida_variavel as link_ws,a.nome||' -> '||b.nomemedida as nome_ws,a.descricao as desc_ws, '' as autor_ws from i3geoestat_variavel as a ,i3geoestat_medida_variavel as b WHERE a.codigo_variavel = b.codigo_variavel ORDER BY a.nome";
return geraXmlRSS($locaplic,$sql,"Web services WMS-TIME OGC");
}
/*
Function: geraXmlGeorss
RSS com a lista de GEORSS cadastrados
Parametros:
locaplic {string} - localização do i3Geo no sistema de arquivos
Retorno:
RSS
*/
function geraXmlGeorss($locaplic)
{
global $esquemaadmin;
$sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'GEORSS' and nome_ws <> ''";
return geraXmlRSS($locaplic,$sql,"Georss");
}
/*
Function: geraRSStemasDownload
RSS com a lista de temas para download
Parametros:
locaplic {string} - localização do i3Geo no sistema de arquivos
Retorno:
RSS
*/
function geraRSStemasDownload($locaplic)
{
global $esquemaadmin;
$protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);
$url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].(str_replace("/admin/rsstemasdownload.php","",$_SERVER['PHP_SELF']));
$sql = "select '' as tipo_ws,'".$url."/datadownload.htm?'||codigo_tema as link_ws, g.nome_grupo||' -> '||sg.nome_subgrupo||' -> '||nome_tema as nome_ws, desc_tema as desc_ws, link_tema as autor_ws ";
$sql .= "
from ".$esquemaadmin."i3geoadmin_temas as t,".$esquemaadmin."i3geoadmin_n3 as n3, ".$esquemaadmin."i3geoadmin_n2 as n2, ".$esquemaadmin."i3geoadmin_n1 as n1, ".$esquemaadmin."i3geoadmin_grupos as g, ".$esquemaadmin."i3geoadmin_subgrupos as sg
where
t.id_tema = n3.id_tema
and n3.id_n2 = n2.id_n2
and n2.id_subgrupo = sg.id_subgrupo
and n2.id_n1 = n1.id_n1
and n1.id_grupo = g.id_grupo
and (t.download_tema != 'nao' and t.download_tema != 'NAO')
and t.tipoa_tema != 'WMS'
and n3.n3_perfil = ''
and n2.n2_perfil = ''
and n1.n1_perfil = ''
and n3.publicado != 'NAO'
and n2.publicado != 'NAO'
and n1.publicado != 'NAO'
";
//echo $sql;exit;
return geraXmlRSS($locaplic,$sql,"Temas para download");
}
/*
Function: geraRSStemasKml
RSS com a lista de temas que permitem KML
Parametros:
locaplic {string} - localização do i3Geo no sistema de arquivos
Retorno:
RSS
*/
function geraRSStemasKml($locaplic)
{
global $esquemaadmin;
$protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);
$url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].(str_replace("/admin/rsstemaskml.php","",$_SERVER['PHP_SELF']));
$sql = "select '' as tipo_ws,'".$url."/pacotes/kmlmapserver/kmlservice.php?request=kml&map='||codigo_tema||'&typename='||codigo_tema as link_ws, g.nome_grupo||' -> '||sg.nome_subgrupo||' -> '||nome_tema as nome_ws, desc_tema as desc_ws, link_tema as autor_ws ";
$sql .= "
from ".$esquemaadmin."i3geoadmin_temas as t,".$esquemaadmin."i3geoadmin_n3 as n3, ".$esquemaadmin."i3geoadmin_n2 as n2, ".$esquemaadmin."i3geoadmin_n1 as n1, ".$esquemaadmin."i3geoadmin_grupos as g, ".$esquemaadmin."i3geoadmin_subgrupos as sg
where
t.id_tema = n3.id_tema
and n3.id_n2 = n2.id_n2
and n2.id_subgrupo = sg.id_subgrupo
and n2.id_n1 = n1.id_n1
and n1.id_grupo = g.id_grupo
and (t.kml_tema != 'nao' and t.kml_tema != 'NAO')
and n3.n3_perfil = ''
and n2.n2_perfil = ''
and n1.n1_perfil = ''
and n3.publicado != 'NAO'
and n2.publicado != 'NAO'
and n1.publicado != 'NAO'
";
//echo $sql;exit;
return geraXmlRSS($locaplic,$sql,"Temas em KML");
}
/*
Function: geraRSStemasOgc
RSS com a lista de temas que permitem serviços OGC
Parametros:
locaplic {string} - localização do i3Geo no sistema de arquivos
Retorno:
RSS
*/
function geraRSStemasOgc($locaplic)
{
global $esquemaadmin;
$protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);
$url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].(str_replace("/admin/rsstemasogc.php","",$_SERVER['PHP_SELF']));
$sql = "select '' as tipo_ws,'".$url."/ogc.php?request=getcapabilities&service=wms&tema='||codigo_tema as link_ws, g.nome_grupo||' -> '||sg.nome_subgrupo||' -> '||nome_tema as nome_ws, desc_tema as desc_ws, link_tema as autor_ws ";
$sql .= "
from ".$esquemaadmin."i3geoadmin_temas as t,".$esquemaadmin."i3geoadmin_n3 as n3, ".$esquemaadmin."i3geoadmin_n2 as n2, ".$esquemaadmin."i3geoadmin_n1 as n1, ".$esquemaadmin."i3geoadmin_grupos as g, ".$esquemaadmin."i3geoadmin_subgrupos as sg
where
t.id_tema = n3.id_tema
and n3.id_n2 = n2.id_n2
and n2.id_subgrupo = sg.id_subgrupo
and n2.id_n1 = n1.id_n1
and n1.id_grupo = g.id_grupo
and (t.ogc_tema != 'nao' or t.ogc_tema != 'NAO')
and t.tipoa_tema != 'WMS'
and n3.n3_perfil = ''
and n2.n2_perfil = ''
and n1.n1_perfil = ''
and n3.publicado != 'NAO'
and n2.publicado != 'NAO'
and n1.publicado != 'NAO'
";
//echo $sql;exit;
return geraXmlRSS($locaplic,$sql,"Temas em KML");
}
/*
Function: geraXmlRSS
Gera um RSS com base em um SQL compatível com o sistema de administração.
O SQL deverá retornar os itens nome_ws desc_ws e link_ws
Parametros:
locaplic {string} - localização do i3Geo no sistema de arquivos
sql {string} - SQL que será aplicado ao sistema de administração
descricao {string} - descrição que será inserida no canal RSS
Retorno:
RSS
*/
function geraXmlRSS($locaplic,$sql,$descricao)
{
global $esquemaadmin;
//var_dump($_SERVER);exit;
$dbh = "";
include($locaplic."/admin/php/conexao.php");
if($convUTF)
$xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">";
else
$xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">";
$xml .= "";
$xml .= "\n";
$xml .= "RSS\n";
$xml .= "".str_replace("&","&",$descricao)."\n";
$xml .= "\n";
$xml .= "\n";
$xml .= "Gerado pelo i3Geo\n";
$xml .= "pt-br\n";
$xml .= "\n";
$qatlas = $dbh->query($sql);
foreach($qatlas as $row)
{
$xml .= "\n";
$xml .= "\n";
$xml .= "".entity_decode($row["nome_ws"])."\n";
$xml .= "".xmlTexto_prepara(entity_decode($row["desc_ws"]))."\n";
$link = xmlTexto_prepara($row["link_ws"]);
if(stristr($link, 'http') === FALSE)
{$link = "http://".$_SERVER["HTTP_HOST"].dirname($_SERVER["REQUEST_URI"])."/".$link;}
$xml .= "\n";
$xml .= "\n";
$xml .= "".xmlTexto_prepara($row["autor_ws"])."\n";
$xml .= "\n";
$xml .= "\n";
$xml .= "".xmlTexto_prepara($row["id_ws"])."\n";
$xml .= "".$row["tipo_ws"]."\n";
$xml .= "\n";
}
$xml .= "\n";
$dbh = null;
$dbhw = null;
return $xml;
}
function geraXmlAtlas($locaplic,$editores)
{
global $esquemaadmin;
error_reporting(0);
$dbh = "";
include($locaplic."/admin/php/conexao.php");
if($convUTF)
$xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">";
else
$xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">";
$xml .= "\n\n";
//$q = "select * from i3geoadmin_atlas";
$qatlas = $dbh->query("select * from ".$esquemaadmin."i3geoadmin_atlas");
$editor = "nao";//$editor = verificaEditores($editores);
foreach($qatlas as $row)
{
$mostra = true;
if(strtolower($row["publicado_atlas"] == "nao"))
{$mostra = false;}
if($editor)
{$mostra = true;}
if($mostra)
{
$xml .= "\n";
$xml .= " ".$row["id_atlas"]."\n";
$xml .= " ".$row["publicado_atlas"]."\n";
$xml .= " ".xmlTexto_prepara($row["titulo_atlas"])."\n";
$xml .= " ".xmlTexto_prepara($row["desc_atlas"])."\n";
$xml .= " ".$row["icone_atlas"]."\n";
$xml .= " \n";
$xml .= " ".xmlTexto_prepara($row["template_atlas"])."\n";
$xml .= " ".$row["w_atlas"]."\n";
$xml .= " ".$row["h_atlas"]."\n";
$xml .= " ".$row["pranchadefault_atlas"]."\n";
$xml .= " ".$row["tipoguias_atlas"]."\n";
$xml .= " ".$row["basemapfile_atlas"]."\n";
$xml .= " \n";
$xml = geraXmlAtlas_pegapranchas($xml,$row["id_atlas"],$dbh);
$xml .= " \n";
$xml .= " \n";
}
}
$xml .= "\n";
$dbh = null;
$dbhw = null;
return $xml;
}
function geraXmlIdentifica($perfil,$locaplic,$editores)
{
global $esquemaadmin;
$editor = "nao";//$editor = verificaEditores($editores);
if (!isset($perfil)){$perfil = "";}
$perfil = str_replace(","," ",$perfil);
$perfil = explode(" ",$perfil);
$dbh = "";
include($locaplic."/admin/php/conexao.php");
if($convUTF)
$xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">";
else
$xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">";
$xml .= "\n\n";
$q = "select * from ".$esquemaadmin."i3geoadmin_identifica ";
$qi = $dbh->query($q);
foreach($qi as $row)
{
$mostra = true;
if(strtolower($row["publicado_i"] == "nao"))
{$mostra = false;}
if($editor)
{$mostra = true;}
if($mostra)
{
$xml .= " \n";
$xml .= " ".xmlTexto_prepara($row["nome_i"])."\n";
$xml .= " ".xmlTexto_prepara($row["abrir_i"])."\n";
$xml .= " ".$row["publicado_i"]."\n";
$target = $row["target_i"];
if($target == ""){$target = "_self";}
$xml .= " ".$target."\n";
$xml .= " \n";
}error_reporting(0);
}
$xml .= "\n";
$dbh = null;
$dbhw = null;
return $xml;
}
function geraXmlMapas($perfil,$locaplic,$editores)
{
global $esquemaadmin;
if (!isset($perfil)){$perfil = "";}
$perfil = str_replace(","," ",$perfil);
$perfil = explode(" ",$perfil);
$dbh = "";
include($locaplic."/admin/php/conexao.php");
if($convUTF)
$xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">";
else
$xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">";
$xml .= "\n\n";
$q = "select * from ".$esquemaadmin."i3geoadmin_mapas";
$q = $dbh->query($q);
$editor = "nao";//$editor = "nao";//verificaEditores($editores);
$protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);
$c = "/admin/php/xml.php";
if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')){
$c = "\admin\php\xml.php";
}
$url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST']."/".(basename(str_replace($c,"",__FILE__)));
foreach($q as $row)
{
$mostraMapa = false;
if($row["perfil_mapa"] == "")
{$mostraMapa = true;}
else
{
$perfilMapa = explode(" ",str_replace(","," ",$row["perfil_mapa"]));
$mostraMapa = array_in_array($perfil,$perfilMapa);
}
if(strtolower($row["publicado_mapa"] == "nao"))
{$mostraMapa = false;}
if($editor)
{$mostraMapa = true;}
if($mostraMapa)
{
$xml .= "\n";
$perfil = $row["perfil_mapa"];
$xml .= " ".$perfil."\n";
$xml .= " ".xmlTexto_prepara($row["nome_mapa"])."\n";
$xml .= " ".xmlTexto_prepara($row["desc_mapa"])."\n";
$xml .= " ".xmlTexto_prepara($row["imagem_mapa"])."\n";
$xml .= " ".$row["temas_mapa"]."\n";
$xml .= " ".$row["ligados_mapa"]."\n";
$extensao = $row["ext_mapa"];
$xml .= " ".$extensao."\n";
$outros = xmlTexto_prepara($row["outros_mapa"]);
$xml .= " \n";
$linkdireto = xmlTexto_prepara($row["linkdireto_mapa"]);
if(empty($linkdireto)){
$linkdireto = $url."/ms_criamapa.php?mapext=".$extensao."&perfil=".$perfil."&temasa=".$temas."&layers=".$ligados.$row["outros_mapa"];
$linkdireto = xmlTexto_prepara($linkdireto);
}
$xml .= " \n";
$xml .= " ".$row["publicado_mapa"]."\n";
$xml .= " ".$row["id_mapa"]."\n";
if($row["mapfile"] != ""){
$xml .= " sim\n";
}
else{
$xml .= " nao\n";
}
$xml .= "\n";
}
}
$xml .= "\n";
$dbh = null;
$dbhw = null;
return $xml;
}
//mostra apenas os mapas que possuem outros_mapa definido, o que e tipico do sistema de metadados estatisticos
function geraRSSmapas($locaplic)
{
global $esquemaadmin;
$protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);
$c = "/admin/php/xml.php";
if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')){
$c = "\admin\php\xml.php";
}
$url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST']."/".(basename(str_replace($c,"",__FILE__)));
$descricao = "'";
$descricao .= "Openlayers 1