Commit 3165a2e64342ddd5e6ef7084a80bd4ea5b77265c
1 parent
e8a7526b
Exists in
master
and in
7 other branches
Revisão da página RSS e reorganização dos programas que geram as listagens em XM…
…L e RSS dos principais dados do sistema de administração
Showing
22 changed files
with
2475 additions
and
1005 deletions
Show diff stats
admin/php/xml.php
... | ... | @@ -1,971 +0,0 @@ |
1 | -<?php | |
2 | -/* | |
3 | -Title: xml.php | |
4 | - | |
5 | -Conjunto de funções que geram arquivos na estrutura XML conforme os dados cadastrados no sistema de administração. | |
6 | - | |
7 | -Permite a geração de XML no padrão RSS e outros. É utilizado por funções internas do i3Geo e por programas | |
8 | -utilitários que fornecem dados no formato RSS para outros fins. | |
9 | - | |
10 | -Licenca: | |
11 | - | |
12 | -GPL2 | |
13 | - | |
14 | -i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
15 | - | |
16 | -Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
17 | -Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
18 | - | |
19 | -Este programa é software livre; você pode redistribuí-lo | |
20 | -e/ou modificá-lo sob os termos da Licença Pública Geral | |
21 | -GNU conforme publicada pela Free Software Foundation; | |
22 | - | |
23 | -Este programa é distribuído na expectativa de que seja útil, | |
24 | -porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
25 | -de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
26 | -Consulte a Licença Pública Geral do GNU para mais detalhes. | |
27 | -Você deve ter recebido uma copia da Licença Pública Geral do | |
28 | -GNU junto com este programa; se não, escreva para a | |
29 | -Free Software Foundation, Inc., no endereço | |
30 | -59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
31 | - | |
32 | -Arquivo: | |
33 | - | |
34 | -i3geo/admin/php/xml.php | |
35 | -*/ | |
36 | -// | |
37 | -//processa a variável $esquemaadmin definida em ms_configura.php | |
38 | -//essa variável precisa ter um . no final quando não for vazia, evitando erros na inclusão dentro dos SQLs | |
39 | -// | |
40 | - | |
41 | -if (!isset($esquemaadmin)){ | |
42 | - include_once(dirname(__FILE__)."/../../ms_configura.php"); | |
43 | -} | |
44 | -if(!empty($esquemaadmin)){ | |
45 | - $esquemaadmin = str_replace(".","",$esquemaadmin)."."; | |
46 | -} | |
47 | - | |
48 | -/* | |
49 | -Function: geraXmlSistemas (depreciado) | |
50 | - | |
51 | -Parametros: | |
52 | - | |
53 | -perfil {string} - perfil que será considerado na geração do XML | |
54 | - | |
55 | -locaplic {string} - localização do i3Geo no sistema de arquivos | |
56 | - | |
57 | -editores {array} - lista de editores cadastrados em ms_configura.php | |
58 | - | |
59 | -Retorno: | |
60 | - | |
61 | -String na estrutura XML | |
62 | -*/ | |
63 | -function geraXmlSistemas($perfil="",$locaplic="",$editores="") | |
64 | -{ | |
65 | - global $esquemaadmin; | |
66 | - if(empty($locaplic)){ | |
67 | - return; | |
68 | - } | |
69 | - $editor = "nao";//verificaEditores($editores); | |
70 | - if (!isset($perfil)){$perfil = "";} | |
71 | - $perfil = str_replace(","," ",$perfil); | |
72 | - $perfil = explode(" ",$perfil); | |
73 | - $dbh = ""; | |
74 | - include($locaplic."/admin/php/conexao.php"); | |
75 | - if($convUTF) | |
76 | - $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
77 | - else | |
78 | - $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
79 | - $xml .= "\n<SISTEMAS>\n"; | |
80 | - $q = "select * from ".$esquemaadmin."i3geoadmin_sistemas"; | |
81 | - $qatlas = $dbh->query($q); | |
82 | - foreach($qatlas as $row) | |
83 | - { | |
84 | - if($row["perfil_sistema"] == "") | |
85 | - $mostra = true; | |
86 | - else | |
87 | - { | |
88 | - $perfilS = explode(" ",str_replace(","," ",$row["perfil_sistema"])); | |
89 | - $mostra = array_in_array($perfil,$perfilS); | |
90 | - } | |
91 | - if(strtolower($row["publicado_sistema"] == "nao")) | |
92 | - {$mostra = false;} | |
93 | - if($editor) | |
94 | - {$mostra = true;} | |
95 | - if($mostra) | |
96 | - { | |
97 | - $xml .= "<SISTEMA>\n"; | |
98 | - $xml .= " <PERFIL>".$row["perfil_sistema"]."</PERFIL>\n"; | |
99 | - $xml .= " <PUBLICADO>".$row["publicado_sistema"]."</PUBLICADO>\n"; | |
100 | - $xml .= " <NOMESIS>".xmlTexto_prepara($row["nome_sistema"])."</NOMESIS>\n"; | |
101 | - $xml = geraXmlSistemas_pegafuncoes($perfil,$xml,$row["id_sistema"],$dbh); | |
102 | - $xml .= "</SISTEMA>\n"; | |
103 | - } | |
104 | - } | |
105 | - $xml .= "</SISTEMAS>\n"; | |
106 | - $dbh = null; | |
107 | - $dbhw = null; | |
108 | - return $xml; | |
109 | -} | |
110 | -/* | |
111 | -Function: geraRSScomentariosTemas | |
112 | - | |
113 | -RSS com os comentarios sobre um ou todos os temas | |
114 | - | |
115 | -Parametros: | |
116 | - | |
117 | -locaplic {string} - localização do i3Geo no sistema de arquivos | |
118 | - | |
119 | -id_tema {numeric} - (opcional) id do tema para mostrar apenas os comentários de um tema | |
120 | - | |
121 | -Retorno: | |
122 | - | |
123 | -RSS | |
124 | -*/ | |
125 | -function geraRSScomentariosTemas($locaplic,$id_tema=""){ | |
126 | - global $esquemaadmin; | |
127 | - xml_testaNum([$id_tema]); | |
128 | - $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 "; | |
129 | - if($id_tema != ""){ | |
130 | - $sql .= " and a.id_tema = $id_tema "; | |
131 | - } | |
132 | - return geraXmlRSS($locaplic,$sql,"Lista de comentarios"); | |
133 | -} | |
134 | -/* | |
135 | -Function: geraRSStemas | |
136 | - | |
137 | -RSS com os temas cadastrados | |
138 | - | |
139 | -Parametros: | |
140 | - | |
141 | -locaplic {string} - localização do i3Geo no sistema de arquivos | |
142 | - | |
143 | -id_n2 {string} - c�digo do subgrupo do sistema de administração | |
144 | - | |
145 | -Retorno: | |
146 | - | |
147 | -RSS | |
148 | -*/ | |
149 | -function geraRSStemas($locaplic,$id_n2,$output="xml") | |
150 | -{ | |
151 | - global $esquemaadmin; | |
152 | - xml_testaNum([$id_n2]); | |
153 | - $sql = " | |
154 | - 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 | |
155 | - from ".$esquemaadmin."i3geoadmin_n3 as n3 | |
156 | - LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_temas.id_tema = n3.id_tema | |
157 | - LEFT JOIN ".$esquemaadmin."i3geousr_grupotema ON n3.id_tema = i3geousr_grupotema.id_tema | |
158 | - 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"; | |
159 | - return geraXmlRSS($locaplic,$sql,"Lista de temas",$output); | |
160 | -} | |
161 | -/* | |
162 | -Function: geraRSStemasRaiz | |
163 | - | |
164 | -RSS com os temas localizados na raiz de um nível | |
165 | - | |
166 | -Parametros: | |
167 | - | |
168 | -locaplic {string} - localização do i3Geo no sistema de arquivos | |
169 | - | |
170 | -id {string} - codigo do no | |
171 | - | |
172 | -nivel {string} - nível do no | |
173 | - | |
174 | -Retorno: | |
175 | - | |
176 | -RSS | |
177 | -*/ | |
178 | -function geraRSStemasRaiz($locaplic,$id,$nivel) | |
179 | -{ | |
180 | - global $esquemaadmin; | |
181 | - xml_testaNum([$id,$nivel]); | |
182 | - $sql = " | |
183 | - 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 | |
184 | - from ".$esquemaadmin."i3geoadmin_raiz as r | |
185 | - LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_temas.id_tema = r.id_tema | |
186 | - LEFT JOIN ".$esquemaadmin."i3geousr_grupotema ON r.id_tema = i3geousr_grupotema.id_tema | |
187 | - 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"; | |
188 | - return geraXmlRSS($locaplic,$sql,"Temas na raiz"); | |
189 | -} | |
190 | -/* | |
191 | -Function: geraRSSsubgrupos | |
192 | - | |
193 | -RSS com os subgrupos cadastrados | |
194 | - | |
195 | -Parametros: | |
196 | - | |
197 | -locaplic {string} - localização do i3Geo no sistema de arquivos | |
198 | - | |
199 | -id_n1 {string} - c�digo do grupo do sistema de administração | |
200 | - | |
201 | -Retorno: | |
202 | - | |
203 | -RSS | |
204 | -*/ | |
205 | -function geraRSSsubgrupos($locaplic,$id_n1,$output="json") | |
206 | -{ | |
207 | - global $esquemaadmin; | |
208 | - xml_testaNum([$id_n1]); | |
209 | - $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 "; | |
210 | - $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"; | |
211 | - return geraXmlRSS($locaplic,$sql,"Lista de sub-grupos",$output); | |
212 | -} | |
213 | -/* | |
214 | -Function: geraRSSgrupos | |
215 | - | |
216 | -RSS com os grupos cadastrados | |
217 | - | |
218 | -Parametros: | |
219 | - | |
220 | -locaplic {string} - localização do i3Geo no sistema de arquivos | |
221 | - | |
222 | -Retorno: | |
223 | - | |
224 | -RSS | |
225 | -*/ | |
226 | -function geraRSSgrupos($locaplic,$output="xml") | |
227 | -{ | |
228 | - global $esquemaadmin; | |
229 | - $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 "; | |
230 | - $sql .= "from ".$esquemaadmin."i3geoadmin_n1 as n1,".$esquemaadmin."i3geoadmin_grupos as g "; | |
231 | - $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"; | |
232 | - return geraXmlRSS($locaplic,$sql,"Lista de grupos",$output); | |
233 | -} | |
234 | -/* | |
235 | -Function: geraXmlDownload | |
236 | - | |
237 | -RSS com os links para sistemas de download | |
238 | - | |
239 | -Parametros: | |
240 | - | |
241 | -locaplic {string} - localização do i3Geo no sistema de arquivos | |
242 | - | |
243 | -Retorno: | |
244 | - | |
245 | -RSS | |
246 | -*/ | |
247 | -function geraXmlDownload($locaplic) | |
248 | -{ | |
249 | - global $esquemaadmin; | |
250 | - $sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'DOWNLOAD' and nome_ws <> ''"; | |
251 | - return geraXmlRSS($locaplic,$sql,"Enderecos para download"); | |
252 | -} | |
253 | -/* | |
254 | -Function: geraXmlWS | |
255 | - | |
256 | -RSS com a lista de WS cadastrados | |
257 | - | |
258 | -Parametros: | |
259 | - | |
260 | -locaplic {string} - localização do i3Geo no sistema de arquivos | |
261 | - | |
262 | -Retorno: | |
263 | - | |
264 | -RSS | |
265 | -*/ | |
266 | -function geraXmlWS($locaplic,$output) | |
267 | -{ | |
268 | - global $esquemaadmin; | |
269 | - $sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'WS' and nome_ws <> ''"; | |
270 | - return geraXmlRSS($locaplic,$sql,"Web services",$output); | |
271 | -} | |
272 | -/* | |
273 | -Function: geraXmlKmlrss | |
274 | - | |
275 | -RSS com a lista de KML cadastrados | |
276 | - | |
277 | -Parametros: | |
278 | - | |
279 | -locaplic {string} - localização do i3Geo no sistema de arquivos | |
280 | - | |
281 | -Retorno: | |
282 | - | |
283 | -RSS | |
284 | -*/ | |
285 | -function geraXmlKmlrss($locaplic) | |
286 | -{ | |
287 | - global $esquemaadmin; | |
288 | - $sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'KML' and nome_ws <> ''"; | |
289 | - return geraXmlRSS($locaplic,$sql,"Web services"); | |
290 | -} | |
291 | -/* | |
292 | -Function: geraXmlWMS | |
293 | - | |
294 | -RSS com a lista de WMS cadastrados | |
295 | - | |
296 | -Parametros: | |
297 | - | |
298 | -locaplic {string} - localização do i3Geo no sistema de arquivos | |
299 | - | |
300 | -Retorno: | |
301 | - | |
302 | -RSS | |
303 | -*/ | |
304 | -function geraXmlWMS($locaplic,$output) | |
305 | -{ | |
306 | - global $esquemaadmin; | |
307 | - $sql = "select * from ".$esquemaadmin."i3geoadmin_ws where (tipo_ws = 'WMS' or tipo_ws = 'WMS-Tile') and nome_ws <> '' order by nome_ws"; | |
308 | - return geraXmlRSS($locaplic,$sql,"Web services WMS-OGC",$output); | |
309 | -} | |
310 | -/* | |
311 | -Function: geraXmlWMSmetaestat | |
312 | - | |
313 | -RSS com a lista de WMS das variaveis cadastradas no sistema de metadados estatisticos | |
314 | - | |
315 | -Parametros: | |
316 | - | |
317 | -locaplic {string} - localização do i3Geo no sistema de arquivos | |
318 | - | |
319 | -Retorno: | |
320 | - | |
321 | -RSS | |
322 | -*/ | |
323 | -function geraXmlWMSmetaestat($locaplic) | |
324 | -{ | |
325 | - global $esquemaadmin; | |
326 | - $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
327 | - $c = "/admin/php/xml.php"; | |
328 | - if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')){ | |
329 | - $c = "\admin\php\xml.php"; | |
330 | - } | |
331 | - $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST']."/".(basename(str_replace($c,"",__FILE__))); | |
332 | - $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"; | |
333 | - return geraXmlRSS($locaplic,$sql,"Web services WMS-TIME OGC"); | |
334 | -} | |
335 | -/* | |
336 | -Function: geraXmlGeorss | |
337 | - | |
338 | -RSS com a lista de GEORSS cadastrados | |
339 | - | |
340 | -Parametros: | |
341 | - | |
342 | -locaplic {string} - localização do i3Geo no sistema de arquivos | |
343 | - | |
344 | -Retorno: | |
345 | - | |
346 | -RSS | |
347 | -*/ | |
348 | -function geraXmlGeorss($locaplic,$output) | |
349 | -{ | |
350 | - global $esquemaadmin; | |
351 | - $sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'GEORSS' and nome_ws <> ''"; | |
352 | - return geraXmlRSS($locaplic,$sql,"Georss",$output); | |
353 | -} | |
354 | -/* | |
355 | -Function: geraRSStemasDownload | |
356 | - | |
357 | -RSS com a lista de temas para download | |
358 | - | |
359 | -Parametros: | |
360 | - | |
361 | -locaplic {string} - localização do i3Geo no sistema de arquivos | |
362 | - | |
363 | -Retorno: | |
364 | - | |
365 | -RSS | |
366 | -*/ | |
367 | -function geraRSStemasDownload($locaplic) | |
368 | -{ | |
369 | - global $esquemaadmin; | |
370 | - $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
371 | - $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].(str_replace("/admin/rsstemasdownload.php","",$_SERVER['PHP_SELF'])); | |
372 | - $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 "; | |
373 | - $sql .= " | |
374 | - 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 | |
375 | - where | |
376 | - t.id_tema = n3.id_tema | |
377 | - and n3.id_n2 = n2.id_n2 | |
378 | - and n2.id_subgrupo = sg.id_subgrupo | |
379 | - and n2.id_n1 = n1.id_n1 | |
380 | - and n1.id_grupo = g.id_grupo | |
381 | - and (t.download_tema != 'nao' and t.download_tema != 'NAO') | |
382 | - and t.tipoa_tema != 'WMS' | |
383 | - and n3.n3_perfil = '' | |
384 | - and n2.n2_perfil = '' | |
385 | - and n1.n1_perfil = '' | |
386 | - and n3.publicado != 'NAO' | |
387 | - and n2.publicado != 'NAO' | |
388 | - and n1.publicado != 'NAO' | |
389 | - "; | |
390 | - //echo $sql;exit; | |
391 | - return geraXmlRSS($locaplic,$sql,"Temas para download"); | |
392 | -} | |
393 | -/* | |
394 | -Function: geraRSStemasKml | |
395 | - | |
396 | -RSS com a lista de temas que permitem KML | |
397 | - | |
398 | -Parametros: | |
399 | - | |
400 | -locaplic {string} - localização do i3Geo no sistema de arquivos | |
401 | - | |
402 | -Retorno: | |
403 | - | |
404 | -RSS | |
405 | -*/ | |
406 | -function geraRSStemasKml($locaplic) | |
407 | -{ | |
408 | - global $esquemaadmin; | |
409 | - $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
410 | - $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].(str_replace("/admin/rsstemaskml.php","",$_SERVER['PHP_SELF'])); | |
411 | - $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 "; | |
412 | - $sql .= " | |
413 | - 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 | |
414 | - where | |
415 | - t.id_tema = n3.id_tema | |
416 | - and n3.id_n2 = n2.id_n2 | |
417 | - and n2.id_subgrupo = sg.id_subgrupo | |
418 | - and n2.id_n1 = n1.id_n1 | |
419 | - and n1.id_grupo = g.id_grupo | |
420 | - and (t.kml_tema != 'nao' and t.kml_tema != 'NAO') | |
421 | - and n3.n3_perfil = '' | |
422 | - and n2.n2_perfil = '' | |
423 | - and n1.n1_perfil = '' | |
424 | - and n3.publicado != 'NAO' | |
425 | - and n2.publicado != 'NAO' | |
426 | - and n1.publicado != 'NAO' | |
427 | - "; | |
428 | - //echo $sql;exit; | |
429 | - return geraXmlRSS($locaplic,$sql,"Temas em KML"); | |
430 | -} | |
431 | -/* | |
432 | -Function: geraRSStemasOgc | |
433 | - | |
434 | -RSS com a lista de temas que permitem serviços OGC | |
435 | - | |
436 | -Parametros: | |
437 | - | |
438 | -locaplic {string} - localização do i3Geo no sistema de arquivos | |
439 | - | |
440 | -Retorno: | |
441 | - | |
442 | -RSS | |
443 | -*/ | |
444 | -function geraRSStemasOgc($locaplic) | |
445 | -{ | |
446 | - global $esquemaadmin; | |
447 | - $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
448 | - $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].(str_replace("/admin/rsstemasogc.php","",$_SERVER['PHP_SELF'])); | |
449 | - $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 "; | |
450 | - $sql .= " | |
451 | - 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 | |
452 | - where | |
453 | - t.id_tema = n3.id_tema | |
454 | - and n3.id_n2 = n2.id_n2 | |
455 | - and n2.id_subgrupo = sg.id_subgrupo | |
456 | - and n2.id_n1 = n1.id_n1 | |
457 | - and n1.id_grupo = g.id_grupo | |
458 | - and (t.ogc_tema != 'nao' or t.ogc_tema != 'NAO') | |
459 | - and t.tipoa_tema != 'WMS' | |
460 | - and n3.n3_perfil = '' | |
461 | - and n2.n2_perfil = '' | |
462 | - and n1.n1_perfil = '' | |
463 | - and n3.publicado != 'NAO' | |
464 | - and n2.publicado != 'NAO' | |
465 | - and n1.publicado != 'NAO' | |
466 | - "; | |
467 | - //echo $sql;exit; | |
468 | - return geraXmlRSS($locaplic,$sql,"Temas em KML"); | |
469 | -} | |
470 | -/* | |
471 | -Function: geraXmlRSS | |
472 | - | |
473 | -Gera um RSS com base em um SQL compatível com o sistema de administração. | |
474 | - | |
475 | -O SQL deverá retornar os itens nome_ws desc_ws e link_ws | |
476 | - | |
477 | -Parametros: | |
478 | - | |
479 | -locaplic {string} - localização do i3Geo no sistema de arquivos | |
480 | - | |
481 | -sql {string} - SQL que será aplicado ao sistema de administração | |
482 | - | |
483 | -descricao {string} - descrição que será inserida no canal RSS | |
484 | - | |
485 | -output {string} - xml|json | |
486 | -Retorno: | |
487 | - | |
488 | -RSS | |
489 | -*/ | |
490 | -function geraXmlRSS($locaplic,$sql,$descricao,$output="xml") | |
491 | -{ | |
492 | - global $esquemaadmin; | |
493 | - if(empty($output)){ | |
494 | - $output = "xml"; | |
495 | - } | |
496 | - //var_dump($_SERVER);exit; | |
497 | - $dbh = ""; | |
498 | - include($locaplic."/admin/php/conexao.php"); | |
499 | - if($convUTF){ | |
500 | - $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
501 | - } else { | |
502 | - $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
503 | - } | |
504 | - $xml .= "<rss version='2.0'>"; | |
505 | - $xml .= "<channel>\n"; | |
506 | - $xml .= "<title>RSS</title>\n"; | |
507 | - $xml .= "<description>".str_replace("&","&",$descricao)."</description>\n"; | |
508 | - $xml .= "<link></link>\n"; | |
509 | - $xml .= "<docs></docs>\n"; | |
510 | - $xml .= "<copyright>Gerado pelo i3Geo</copyright>\n"; | |
511 | - $xml .= "<language>pt-br</language>\n"; | |
512 | - $xml .= "<webmaster></webmaster>\n"; | |
513 | - $json = array( | |
514 | - "description"=>$descricao, | |
515 | - "copyright"=>"Gerado pelo i3Geo", | |
516 | - "language"=>"pt-br" | |
517 | - ); | |
518 | - $jsonItems = array(); | |
519 | - $qatlas = $dbh->query($sql); | |
520 | - foreach($qatlas as $row) { | |
521 | - $xml .= "<item>\n"; | |
522 | - $xml .= "<category/>\n"; | |
523 | - $xml .= "<title>".entity_decode($row["nome_ws"])."</title>\n"; | |
524 | - $xml .= "<description>".xmlTexto_prepara(entity_decode($row["desc_ws"]))."</description>\n"; | |
525 | - $link = xmlTexto_prepara($row["link_ws"]); | |
526 | - if(stristr($link, 'http') === FALSE){ | |
527 | - $link = "http://".$_SERVER["HTTP_HOST"].dirname($_SERVER["REQUEST_URI"])."/".$link; | |
528 | - } | |
529 | - $xml .= "<link><![CDATA[".$link."]]></link>\n"; | |
530 | - $xml .= "<pubDate/>\n"; | |
531 | - $xml .= "<author>".xmlTexto_prepara($row["autor_ws"])."</author>\n"; | |
532 | - $xml .= "<nacessos></nacessos>\n"; | |
533 | - $xml .= "<nacessosok></nacessosok>\n"; | |
534 | - $xml .= "<id>".xmlTexto_prepara($row["id_ws"])."</id>\n"; | |
535 | - $xml .= "<tipo>".$row["tipo_ws"]."</tipo>\n"; | |
536 | - $xml .= "</item>\n"; | |
537 | - $jsonItems[] = array( | |
538 | - "title"=>$row["nome_ws"], | |
539 | - "description"=>$row["desc_ws"], | |
540 | - "link"=>$link."&output=json", | |
541 | - "author"=>$row["autor_ws"], | |
542 | - "id"=>$row["id_ws"], | |
543 | - "tipo"=>$row["tipo_ws"] | |
544 | - ); | |
545 | - } | |
546 | - $json["items"] = $jsonItems; | |
547 | - $xml .= "</channel></rss>\n"; | |
548 | - $dbh = null; | |
549 | - $dbhw = null; | |
550 | - if($output == "xml"){ | |
551 | - return $xml; | |
552 | - } | |
553 | - else{ | |
554 | - return json_encode($json); | |
555 | - } | |
556 | -} | |
557 | -function geraXmlAtlas($locaplic,$editores) | |
558 | -{ | |
559 | - global $esquemaadmin; | |
560 | - //error_reporting(0); | |
561 | - $dbh = ""; | |
562 | - include($locaplic."/admin/php/conexao.php"); | |
563 | - | |
564 | - if($convUTF) | |
565 | - $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
566 | - else | |
567 | - $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
568 | - $xml .= "\n<RAIZ>\n"; | |
569 | - //$q = "select * from i3geoadmin_atlas"; | |
570 | - $qatlas = $dbh->query("select * from ".$esquemaadmin."i3geoadmin_atlas"); | |
571 | - | |
572 | - $editor = "nao";//$editor = verificaEditores($editores); | |
573 | - foreach($qatlas as $row) | |
574 | - { | |
575 | - $mostra = true; | |
576 | - if(strtolower($row["publicado_atlas"] == "nao")) | |
577 | - {$mostra = false;} | |
578 | - if($editor) | |
579 | - {$mostra = true;} | |
580 | - if($mostra) | |
581 | - { | |
582 | - $xml .= "<ATLAS>\n"; | |
583 | - $xml .= " <ID>".$row["id_atlas"]."</ID>\n"; | |
584 | - $xml .= " <PUBLICADO>".$row["publicado_atlas"]."</PUBLICADO>\n"; | |
585 | - $xml .= " <TITULO>".xmlTexto_prepara($row["titulo_atlas"])."</TITULO>\n"; | |
586 | - $xml .= " <DESCRICAO>".xmlTexto_prepara($row["desc_atlas"])."</DESCRICAO>\n"; | |
587 | - $xml .= " <ICONE>".$row["icone_atlas"]."</ICONE>\n"; | |
588 | - $xml .= " <LINKMAISINFO><![CDATA[".xmlTexto_prepara($row["link_atlas"])."]]></LINKMAISINFO>\n"; | |
589 | - $xml .= " <TEMPLATEHTML>".xmlTexto_prepara($row["template_atlas"])."</TEMPLATEHTML>\n"; | |
590 | - $xml .= " <WABERTURA>".$row["w_atlas"]."</WABERTURA>\n"; | |
591 | - $xml .= " <HABERTURA>".$row["h_atlas"]."</HABERTURA>\n"; | |
592 | - $xml .= " <PRANCHADEFAULT>".$row["pranchadefault_atlas"]."</PRANCHADEFAULT>\n"; | |
593 | - $xml .= " <TIPOGUIAS>".$row["tipoguias_atlas"]."</TIPOGUIAS>\n"; | |
594 | - $xml .= " <BASEMAPFILE>".$row["basemapfile_atlas"]."</BASEMAPFILE>\n"; | |
595 | - $xml .= " <PRANCHAS>\n"; | |
596 | - $xml = geraXmlAtlas_pegapranchas($xml,$row["id_atlas"],$dbh); | |
597 | - $xml .= " </PRANCHAS>\n"; | |
598 | - $xml .= " </ATLAS>\n"; | |
599 | - } | |
600 | - } | |
601 | - $xml .= "</RAIZ>\n"; | |
602 | - $dbh = null; | |
603 | - $dbhw = null; | |
604 | - return $xml; | |
605 | -} | |
606 | -function geraXmlIdentifica($perfil,$locaplic,$editores="") | |
607 | -{ | |
608 | - global $esquemaadmin; | |
609 | - $editor = "nao";//$editor = verificaEditores($editores); | |
610 | - if (!isset($perfil)){$perfil = "";} | |
611 | - $perfil = str_replace(","," ",$perfil); | |
612 | - $perfil = explode(" ",$perfil); | |
613 | - $dbh = ""; | |
614 | - include($locaplic."/admin/php/conexao.php"); | |
615 | - if($convUTF) | |
616 | - $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
617 | - else | |
618 | - $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
619 | - $xml .= "\n<SISTEMAS>\n"; | |
620 | - $q = "select * from ".$esquemaadmin."i3geoadmin_identifica "; | |
621 | - $qi = $dbh->query($q); | |
622 | - foreach($qi as $row) | |
623 | - { | |
624 | - $mostra = true; | |
625 | - if(strtolower($row["publicado_i"] == "nao")) | |
626 | - {$mostra = false;} | |
627 | - if($editor) | |
628 | - {$mostra = true;} | |
629 | - if($mostra) | |
630 | - { | |
631 | - $xml .= " <FUNCAO>\n"; | |
632 | - $xml .= " <NOMESIS>".xmlTexto_prepara($row["nome_i"])."</NOMESIS>\n"; | |
633 | - $xml .= " <ABRIR>".xmlTexto_prepara($row["abrir_i"])."</ABRIR>\n"; | |
634 | - $xml .= " <PUBLICADO>".$row["publicado_i"]."</PUBLICADO>\n"; | |
635 | - $target = $row["target_i"]; | |
636 | - if($target == ""){$target = "_self";} | |
637 | - $xml .= " <TARGET>".$target."</TARGET>\n"; | |
638 | - $xml .= " </FUNCAO>\n"; | |
639 | - }//error_reporting(0); | |
640 | - } | |
641 | - $xml .= "</SISTEMAS>\n"; | |
642 | - $dbh = null; | |
643 | - $dbhw = null; | |
644 | - return $xml; | |
645 | -} | |
646 | -function geraXmlMapas($perfil,$locaplic,$editores) | |
647 | -{ | |
648 | - global $esquemaadmin; | |
649 | - if (!isset($perfil)){$perfil = "";} | |
650 | - $perfil = str_replace(","," ",$perfil); | |
651 | - $perfil = explode(" ",$perfil); | |
652 | - $dbh = ""; | |
653 | - include($locaplic."/admin/php/conexao.php"); | |
654 | - if($convUTF) | |
655 | - $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
656 | - else | |
657 | - $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
658 | - $xml .= "\n<MAPAS>\n"; | |
659 | - $q = "select * from ".$esquemaadmin."i3geoadmin_mapas"; | |
660 | - $q = $dbh->query($q); | |
661 | - $editor = "nao";//$editor = "nao";//verificaEditores($editores); | |
662 | - $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
663 | - $c = "/admin/php/xml.php"; | |
664 | - if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')){ | |
665 | - $c = "\admin\php\xml.php"; | |
666 | - } | |
667 | - $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST']."/".(basename(str_replace($c,"",__FILE__))); | |
668 | - foreach($q as $row) | |
669 | - { | |
670 | - $mostraMapa = false; | |
671 | - if($row["perfil_mapa"] == "") | |
672 | - {$mostraMapa = true;} | |
673 | - else | |
674 | - { | |
675 | - $perfilMapa = explode(" ",str_replace(","," ",$row["perfil_mapa"])); | |
676 | - $mostraMapa = array_in_array($perfil,$perfilMapa); | |
677 | - } | |
678 | - if(strtolower($row["publicado_mapa"] == "nao")) | |
679 | - {$mostraMapa = false;} | |
680 | - if($editor) | |
681 | - {$mostraMapa = true;} | |
682 | - | |
683 | - if($mostraMapa) | |
684 | - { | |
685 | - $xml .= "<MAPA>\n"; | |
686 | - $perfil = $row["perfil_mapa"]; | |
687 | - $xml .= " <PERFIL>".$perfil."</PERFIL>\n"; | |
688 | - $xml .= " <NOME>".xmlTexto_prepara($row["nome_mapa"])."</NOME>\n"; | |
689 | - $xml .= " <DESCRICAO>".xmlTexto_prepara($row["desc_mapa"])."</DESCRICAO>\n"; | |
690 | - $xml .= " <IMAGEM>".xmlTexto_prepara($row["imagem_mapa"])."</IMAGEM>\n"; | |
691 | - $xml .= " <TEMAS>".$row["temas_mapa"]."</TEMAS>\n"; | |
692 | - $xml .= " <LIGADOS>".$row["ligados_mapa"]."</LIGADOS>\n"; | |
693 | - $extensao = $row["ext_mapa"]; | |
694 | - $xml .= " <EXTENSAO>".$extensao."</EXTENSAO>\n"; | |
695 | - $outros = xmlTexto_prepara($row["outros_mapa"]); | |
696 | - $xml .= " <OUTROS><![CDATA[".$outros."]]></OUTROS>\n"; | |
697 | - $linkdireto = xmlTexto_prepara($row["linkdireto_mapa"]); | |
698 | - if(empty($linkdireto)){ | |
699 | - $linkdireto = $url."/ms_criamapa.php?mapext=".$extensao."&perfil=".$perfil."&temasa=".$temas."&layers=".$ligados.$row["outros_mapa"]; | |
700 | - $linkdireto = xmlTexto_prepara($linkdireto); | |
701 | - } | |
702 | - $xml .= " <LINKDIRETO><![CDATA[".$linkdireto."]]></LINKDIRETO>\n"; | |
703 | - $xml .= " <PUBLICADO>".$row["publicado_mapa"]."</PUBLICADO>\n"; | |
704 | - $xml .= " <ID_MAPA>".$row["id_mapa"]."</ID_MAPA>\n"; | |
705 | - if($row["mapfile"] != ""){ | |
706 | - $xml .= " <CONTEMMAPFILE>sim</CONTEMMAPFILE>\n"; | |
707 | - } | |
708 | - else{ | |
709 | - $xml .= " <CONTEMMAPFILE>nao</CONTEMMAPFILE>\n"; | |
710 | - } | |
711 | - $xml .= "</MAPA>\n"; | |
712 | - } | |
713 | - } | |
714 | - $xml .= "</MAPAS>\n"; | |
715 | - $dbh = null; | |
716 | - $dbhw = null; | |
717 | - return $xml; | |
718 | -} | |
719 | -//mostra apenas os mapas que possuem outros_mapa definido, o que e tipico do sistema de metadados estatisticos | |
720 | -function geraRSSmapas($locaplic,$output) | |
721 | -{ | |
722 | - global $esquemaadmin; | |
723 | - $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
724 | - $c = "/admin/php/xml.php"; | |
725 | - if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')){ | |
726 | - $c = "\admin\php\xml.php"; | |
727 | - } | |
728 | - $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST']."/".(basename(str_replace($c,"",__FILE__))); | |
729 | - $descricao = "'<![CDATA[Outros links<br>"; | |
730 | - $descricao .= "<a href=$url/mashups/openlayers.php?restauramapa='||id_mapa||'&fundo=e_wsm >Openlayers 1</a><br><br>"; | |
731 | - $descricao .= "<a href=$url/mashups/openlayers.php?restauramapa='||id_mapa||'&fundo= >Openlayers 2</a><br><br>"; | |
732 | - $descricao .= "<a href=$url/mashups/openlayers.php?restauramapa='||id_mapa||'&fundo=e_wsm&botoes=legenda pan zoombox zoomtot zoomin zoomout distancia area identifica >Openlayers 3</a><br><br>"; | |
733 | - $descricao .= "<a href=$url/mashups/openlayers.php?restauramapa='||id_mapa||' >Openlayers 4</a><br><br>"; | |
734 | - $descricao .= "<img src=$url/ferramentas/salvamapa/geraminiatura.php?w=300&h=300&restauramapa='||id_mapa||' >]]>'"; | |
735 | - $sql = "select '' as tipo_ws,'".$url."/ms_criamapa.php?restauramapa='||id_mapa as link_ws, nome_mapa as nome_ws, ".$descricao." as desc_ws, '' as autor_ws from ".$esquemaadmin."i3geoadmin_mapas WHERE publicado_mapa = 'sim' AND mapfile != ''"; | |
736 | - //echo $sql;exit; | |
737 | - return geraXmlRSS($locaplic,$sql,"Mapas cadastrados",$output); | |
738 | -} | |
739 | - | |
740 | -// | |
741 | -//$id_menu = id do menu que será montado | |
742 | -//$perfil = perfis separados por espaços | |
743 | -//$tipo = gruposeraiz|subgrupos|temas | |
744 | -//$dbh objeto com a conexão com o banco | |
745 | -//$locaplic = localização do i3geo no servidor | |
746 | -// | |
747 | -function geraXmlMenutemas($perfil,$id_menu,$tipo,$locaplic) | |
748 | -{ | |
749 | - global $esquemaadmin; | |
750 | - xml_testaNum([$id_menu]); | |
751 | - $dbh = ""; | |
752 | - include($locaplic."/admin/php/conexao.php"); | |
753 | - if (!isset($perfil)){$perfil = "";} | |
754 | - $perfil = str_replace(","," ",$perfil); | |
755 | - $perfil = explode(" ",$perfil); | |
756 | - if($convUTF) | |
757 | - $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
758 | - else | |
759 | - $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
760 | - $xml .= "\n<TEMASGEO>\n"; | |
761 | - if(!isset($id_menu)) | |
762 | - $xml .= "<CABECALHO>Utilize ?id_menu=1 por exemplo</CABECALHO>\n"; | |
763 | - else | |
764 | - $xml .= "<CABECALHO></CABECALHO>\n"; | |
765 | - // | |
766 | - //pega os temas na raiz | |
767 | - // | |
768 | - $q = "select nome_tema,codigo_tema,desc_tema,link_tema,tipoa_tema,tags_tema,kml_tema,ogc_tema,download_tema,r.perfil as perfil from ".$esquemaadmin."i3geoadmin_raiz as r,".$esquemaadmin."i3geoadmin_temas as temas where r.id_nivel = 0 and r.id_tema = temas.id_tema and r.id_menu = $id_menu "; | |
769 | - $qtemasraiz = $dbh->query($q); | |
770 | - $xml = geraXmlMenutemas_notema($qtemasraiz,$xml,$perfil); | |
771 | - $q = "select nome_grupo,desc_grupo,n1.id_grupo,n1.id_n1,n1.n1_perfil as perfil from ".$esquemaadmin."i3geoadmin_n1 as n1,".$esquemaadmin."i3geoadmin_grupos as grupos where n1.id_menu = $id_menu and n1.id_grupo = grupos.id_grupo "; | |
772 | - $qgrupos = $dbh->query($q); | |
773 | - foreach($qgrupos as $row) | |
774 | - { | |
775 | - //filtra pelo perfil | |
776 | - if($row["perfil"] == "") | |
777 | - {$mostra = true;} | |
778 | - else | |
779 | - { | |
780 | - $perfilatual = explode(" ",str_replace(","," ",$row["perfil"])); | |
781 | - $mostra = array_in_array($perfil,$perfilatual); | |
782 | - } | |
783 | - if($mostra) | |
784 | - { | |
785 | - $xml .= "<GRUPO>\n"; | |
786 | - $xml .= " <GTIPO>".xmlTexto_prepara($row["nome_grupo"])."</GTIPO>\n"; | |
787 | - // | |
788 | - //pega temas na raiz | |
789 | - // | |
790 | - $q = "select nome_tema,codigo_tema,desc_tema,link_tema,tipoa_tema,tags_tema,kml_tema,ogc_tema,download_tema,r.perfil as perfil from ".$esquemaadmin."i3geoadmin_raiz as r,".$esquemaadmin."i3geoadmin_temas as temas where r.nivel = 1 and r.id_nivel = ".$row["id_n1"]." and r.id_tema = temas.id_tema and r.id_menu = $id_menu "; | |
791 | - $qtemasraiz = $dbh->query($q); | |
792 | - $xml = geraXmlMenutemas_notema($qtemasraiz,$xml,$perfil); | |
793 | - if(isset($tipo) && ($tipo == "subgrupos") || ($tipo == "")) | |
794 | - $xml = geraXmlMenutemas_pegasubgrupos($row["id_n1"],$xml,$dbh,$tipo,$perfil); | |
795 | - $xml .= " <DTIPO>".xmlTexto_prepara($row["desc_grupo"])."</DTIPO>\n"; | |
796 | - $xml .= " <PERFIL>".$row["perfil"]."</PERFIL>\n"; | |
797 | - $xml .= "</GRUPO>\n"; | |
798 | - } | |
799 | - } | |
800 | - $xml .= "</TEMASGEO>\n"; | |
801 | - $dbh = null; | |
802 | - $dbhw = null; | |
803 | - return $xml; | |
804 | -} | |
805 | -function geraXmlMenutemas_pegasubgrupos($id_n1,$xml,$dbh,$tipo,$perfil) | |
806 | -{ | |
807 | - global $esquemaadmin; | |
808 | - xml_testaNum([$id_n1]); | |
809 | - $q = "select subgrupos.id_subgrupo,nome_subgrupo,id_n2,n2.n2_perfil as perfil from ".$esquemaadmin."i3geoadmin_n2 as n2,".$esquemaadmin."i3geoadmin_subgrupos as subgrupos where n2.id_n1 = $id_n1 and n2.id_subgrupo = subgrupos.id_subgrupo "; | |
810 | - //echo $q;exit; | |
811 | - $qsgrupos = $dbh->query($q); | |
812 | - foreach($qsgrupos as $row) | |
813 | - { | |
814 | - if($row["perfil"] == "") | |
815 | - $mostra = true; | |
816 | - else | |
817 | - { | |
818 | - $perfilatual = explode(" ",str_replace(","," ",$row["perfil"])); | |
819 | - $mostra = array_in_array($perfil,$perfilatual); | |
820 | - } | |
821 | - if($mostra) | |
822 | - { | |
823 | - $xml .= "<SGRUPO>\n"; | |
824 | - $xml .= "<SDTIPO>".xmlTexto_prepara($row["nome_subgrupo"])."</SDTIPO>\n"; | |
825 | - $xml .= "<PERFIL>".xmlTexto_prepara($row["perfil"])."</PERFIL>\n"; | |
826 | - if(isset($tipo) && ($tipo == "temas") || ($tipo == "")) | |
827 | - $xml = geraXmlMenutemas_pegatemas($row["id_n2"],$xml,$dbh,$perfil); | |
828 | - $xml .= "</SGRUPO>\n"; | |
829 | - } | |
830 | - } | |
831 | - return $xml; | |
832 | -} | |
833 | -function geraXmlMenutemas_pegatemas($id_n2,$xml,$dbh,$perfil) | |
834 | -{ | |
835 | - global $esquemaadmin; | |
836 | - xml_testaNum([$id_n2]); | |
837 | - $q = "select nome_tema,codigo_tema,desc_tema,link_tema,tipoa_tema,tags_tema,kml_tema,ogc_tema,download_tema,n3.n3_perfil as perfil from ".$esquemaadmin."i3geoadmin_n3 as n3,".$esquemaadmin."i3geoadmin_temas as temas where n3.id_n2 = $id_n2 and n3.id_tema = temas.id_tema "; | |
838 | - $qtemas = $dbh->query($q); | |
839 | - $xml = geraXmlMenutemas_notema($qtemas,$xml,$perfil); | |
840 | - return $xml; | |
841 | -} | |
842 | -function geraXmlMenutemas_notema($qtemas,$xml,$perfil) | |
843 | -{ | |
844 | - global $esquemaadmin; | |
845 | - foreach($qtemas as $row) | |
846 | - { | |
847 | - if($row["perfil"] == "") | |
848 | - {$mostra = true;} | |
849 | - else | |
850 | - { | |
851 | - $perfilatual = explode(" ",str_replace(","," ",$row["perfil"])); | |
852 | - $mostra = array_in_array($perfil,$perfilatual); | |
853 | - } | |
854 | - if($mostra) | |
855 | - { | |
856 | - $xml .= "<TEMA>\n"; | |
857 | - $xml .= "<TID>".$row["codigo_tema"]."</TID>\n"; | |
858 | - $xml .= "<PERFIL>".$row["perfil"]."</PERFIL>\n"; | |
859 | - $xml .= "<TNOME>".xmlTexto_prepara($row["nome_tema"])."</TNOME>\n"; | |
860 | - $xml .= "<TDESC>".xmlTexto_prepara($row["desc_tema"])."</TDESC>\n"; | |
861 | - $xml .= "<TLINK><![CDATA[".xmlTexto_prepara($row["link_tema"])."]]></TLINK>\n"; | |
862 | - $xml .= "<TIPOA>".$row["tipoa_tema"]."</TIPOA>\n"; | |
863 | - $xml .= "<TAGS>".xmlTexto_prepara($row["tags_tema"])."</TAGS>\n"; | |
864 | - $xml .= "<KML>".$row["kml_tema"]."</KML>\n"; | |
865 | - if($row["tipoa_tema"] == "WMS") | |
866 | - {$xml .= "<OGC>nao</OGC>\n";} | |
867 | - else | |
868 | - {$xml .= "<OGC>".$row["ogc_tema"]."</OGC>\n";} | |
869 | - $xml .= "<DOWNLOAD>".$row["download_tema"]."</DOWNLOAD>\n"; | |
870 | - $xml .= "<NACESSOS></NACESSOS>\n"; | |
871 | - $xml .= "</TEMA>\n"; | |
872 | - } | |
873 | - } | |
874 | - return $xml; | |
875 | -} | |
876 | -function geraXmlAtlas_pegapranchas($xml,$id_atlas,$dbh) | |
877 | -{ | |
878 | - global $esquemaadmin; | |
879 | - xml_testaNum([$id_atlas]); | |
880 | - $q = "select * from ".$esquemaadmin."i3geoadmin_atlasp as p where p.id_atlas = $id_atlas order by ordem_prancha"; | |
881 | - $qpranchas = $dbh->query($q); | |
882 | - foreach($qpranchas as $row) | |
883 | - { | |
884 | - $xml .= " <PRANCHA>\n"; | |
885 | - $xml .= " <ID>".$row["id_prancha"]."</ID>\n"; | |
886 | - $xml .= " <TITULO>".xmlTexto_prepara($row["titulo_prancha"])."</TITULO>\n"; | |
887 | - $xml .= " <DESCRICAO>".xmlTexto_prepara($row["desc_prancha"])."</DESCRICAO>\n"; | |
888 | - $xml .= " <ICONE>".$row["icone_prancha"]."</ICONE>\n"; | |
889 | - $xml .= " <LINKMAISINFO><![CDATA[".xmlTexto_prepara($row["link_prancha"])."]]></LINKMAISINFO>\n"; | |
890 | - $xml .= " <WABERTURA>".$row["w_prancha"]."</WABERTURA>\n"; | |
891 | - $xml .= " <HABERTURA>".$row["h_prancha"]."</HABERTURA>\n"; | |
892 | - $xml .= " <MAPEXT>".$row["mapext_prancha"]."</MAPEXT>\n"; | |
893 | - $xml .= " <TEMAS>\n"; | |
894 | - $xml = geraXmlAtlas_pegatemas($xml,$row["id_prancha"],$dbh); | |
895 | - $xml .= " </TEMAS>\n"; | |
896 | - $xml .= " </PRANCHA>\n"; | |
897 | - } | |
898 | - return $xml; | |
899 | -} | |
900 | -function geraXmlAtlas_pegatemas($xml,$id_prancha,$dbh) | |
901 | -{ | |
902 | - global $esquemaadmin; | |
903 | - xml_testaNum([$id_prancha]); | |
904 | - $q = "select t.codigo_tema,t.ligado_tema from ".$esquemaadmin."i3geoadmin_atlast as t where t.id_prancha = '$id_prancha' order by ordem_tema"; | |
905 | - //echo $q; | |
906 | - $qtemas = $dbh->query($q); | |
907 | - foreach($qtemas as $row) | |
908 | - { | |
909 | - $xml .= "<TEMA>\n"; | |
910 | - $xml .= "<CODIGO>".$row["codigo_tema"]."</CODIGO>\n"; | |
911 | - $xml .= "<LIGADO>".$row["ligado_tema"]."</LIGADO>\n"; | |
912 | - $xml .= "</TEMA>\n"; | |
913 | - } | |
914 | - return $xml; | |
915 | -} | |
916 | -function geraXmlSistemas_pegafuncoes($perfil,$xml,$id_sistema,$dbh) | |
917 | -{ | |
918 | - global $esquemaadmin; | |
919 | - xml_testaNum([$id_sistema]); | |
920 | - $q = "select * from ".$esquemaadmin."i3geoadmin_sistemasf where id_sistema = '$id_sistema'"; | |
921 | - $qtemas = $dbh->query($q); | |
922 | - foreach($qtemas as $row) | |
923 | - { | |
924 | - if($row["perfil_funcao"] == "") | |
925 | - $mostra = true; | |
926 | - else | |
927 | - { | |
928 | - $perfilF = explode(" ",str_replace(","," ",$row["perfil_funcao"])); | |
929 | - $mostra = array_in_array($perfil,$perfilF); | |
930 | - } | |
931 | - if($mostra) | |
932 | - { | |
933 | - $xml .= "<FUNCAO>\n"; | |
934 | - $xml .= " <NOMEFUNCAO>".xmlTexto_prepara($row["nome_funcao"])."</NOMEFUNCAO>\n"; | |
935 | - $xml .= " <ABRIR>".xmlTexto_prepara($row["abrir_funcao"])."</ABRIR>\n"; | |
936 | - $xml .= " <JANELAW>".$row["w_funcao"]."</JANELAW>\n"; | |
937 | - $xml .= " <JANELAH>".$row["h_funcao"]."</JANELAH>\n"; | |
938 | - $xml .= " <PERFIL>".$row["perfil_funcao"]."</PERFIL>\n"; | |
939 | - $xml .= "</FUNCAO>\n"; | |
940 | - } | |
941 | - } | |
942 | - return $xml; | |
943 | -} | |
944 | -function array_in_array($needle, $haystack) | |
945 | -{ | |
946 | - //Make sure $needle is an array for foreach | |
947 | - if(!is_array($needle)) $needle = array($needle); | |
948 | - //For each value in $needle, return TRUE if in $haystack | |
949 | - foreach($needle as $pin) | |
950 | - if(in_array($pin, $haystack)) return TRUE; | |
951 | - //Return FALSE if none of the values from $needle are found in $haystack | |
952 | - return FALSE; | |
953 | -} | |
954 | -function xmlTexto_prepara($texto) | |
955 | -{ | |
956 | - return str_replace("&","&",$texto); | |
957 | -} | |
958 | -function entity_decode($texto) | |
959 | -{ | |
960 | - return html_entity_decode($texto); | |
961 | -} | |
962 | -function xml_testaNum($valores){ | |
963 | - foreach ($valores as $valor) { | |
964 | - if(!empty($valor) && !is_numeric($valor)) { | |
965 | - ob_clean(); | |
966 | - header ( "HTTP/1.1 403 valor nao numerico" ); | |
967 | - exit; | |
968 | - } | |
969 | - } | |
970 | -} | |
971 | -?> |
... | ... | @@ -0,0 +1,972 @@ |
1 | +<?php | |
2 | +exit; | |
3 | +/* | |
4 | +Title: xml.php | |
5 | + | |
6 | +Conjunto de funções que geram arquivos na estrutura XML conforme os dados cadastrados no sistema de administração. | |
7 | + | |
8 | +Permite a geração de XML no padrão RSS e outros. É utilizado por funções internas do i3Geo e por programas | |
9 | +utilitários que fornecem dados no formato RSS para outros fins. | |
10 | + | |
11 | +Licenca: | |
12 | + | |
13 | +GPL2 | |
14 | + | |
15 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
16 | + | |
17 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
18 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
19 | + | |
20 | +Este programa é software livre; você pode redistribuí-lo | |
21 | +e/ou modificá-lo sob os termos da Licença Pública Geral | |
22 | +GNU conforme publicada pela Free Software Foundation; | |
23 | + | |
24 | +Este programa é distribuído na expectativa de que seja útil, | |
25 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
26 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
27 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | |
28 | +Você deve ter recebido uma copia da Licença Pública Geral do | |
29 | +GNU junto com este programa; se não, escreva para a | |
30 | +Free Software Foundation, Inc., no endereço | |
31 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
32 | + | |
33 | +Arquivo: | |
34 | + | |
35 | +i3geo/admin/php/xml.php | |
36 | +*/ | |
37 | +// | |
38 | +//processa a variável $esquemaadmin definida em ms_configura.php | |
39 | +//essa variável precisa ter um . no final quando não for vazia, evitando erros na inclusão dentro dos SQLs | |
40 | +// | |
41 | + | |
42 | +if (!isset($esquemaadmin)){ | |
43 | + include_once(dirname(__FILE__)."/../../ms_configura.php"); | |
44 | +} | |
45 | +if(!empty($esquemaadmin)){ | |
46 | + $esquemaadmin = str_replace(".","",$esquemaadmin)."."; | |
47 | +} | |
48 | + | |
49 | +/* | |
50 | +Function: geraXmlSistemas (depreciado) | |
51 | + | |
52 | +Parametros: | |
53 | + | |
54 | +perfil {string} - perfil que será considerado na geração do XML | |
55 | + | |
56 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
57 | + | |
58 | +editores {array} - lista de editores cadastrados em ms_configura.php | |
59 | + | |
60 | +Retorno: | |
61 | + | |
62 | +String na estrutura XML | |
63 | +*/ | |
64 | +function geraXmlSistemas($perfil="",$locaplic="",$editores="") | |
65 | +{ | |
66 | + global $esquemaadmin; | |
67 | + if(empty($locaplic)){ | |
68 | + return; | |
69 | + } | |
70 | + $editor = "nao";//verificaEditores($editores); | |
71 | + if (!isset($perfil)){$perfil = "";} | |
72 | + $perfil = str_replace(","," ",$perfil); | |
73 | + $perfil = explode(" ",$perfil); | |
74 | + $dbh = ""; | |
75 | + include($locaplic."/admin/php/conexao.php"); | |
76 | + if($convUTF) | |
77 | + $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
78 | + else | |
79 | + $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
80 | + $xml .= "\n<SISTEMAS>\n"; | |
81 | + $q = "select * from ".$esquemaadmin."i3geoadmin_sistemas"; | |
82 | + $qatlas = $dbh->query($q); | |
83 | + foreach($qatlas as $row) | |
84 | + { | |
85 | + if($row["perfil_sistema"] == "") | |
86 | + $mostra = true; | |
87 | + else | |
88 | + { | |
89 | + $perfilS = explode(" ",str_replace(","," ",$row["perfil_sistema"])); | |
90 | + $mostra = array_in_array($perfil,$perfilS); | |
91 | + } | |
92 | + if(strtolower($row["publicado_sistema"] == "nao")) | |
93 | + {$mostra = false;} | |
94 | + if($editor) | |
95 | + {$mostra = true;} | |
96 | + if($mostra) | |
97 | + { | |
98 | + $xml .= "<SISTEMA>\n"; | |
99 | + $xml .= " <PERFIL>".$row["perfil_sistema"]."</PERFIL>\n"; | |
100 | + $xml .= " <PUBLICADO>".$row["publicado_sistema"]."</PUBLICADO>\n"; | |
101 | + $xml .= " <NOMESIS>".xmlTexto_prepara($row["nome_sistema"])."</NOMESIS>\n"; | |
102 | + $xml = geraXmlSistemas_pegafuncoes($perfil,$xml,$row["id_sistema"],$dbh); | |
103 | + $xml .= "</SISTEMA>\n"; | |
104 | + } | |
105 | + } | |
106 | + $xml .= "</SISTEMAS>\n"; | |
107 | + $dbh = null; | |
108 | + $dbhw = null; | |
109 | + return $xml; | |
110 | +} | |
111 | +/* | |
112 | +Function: geraRSScomentariosTemas | |
113 | + | |
114 | +RSS com os comentarios sobre um ou todos os temas | |
115 | + | |
116 | +Parametros: | |
117 | + | |
118 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
119 | + | |
120 | +id_tema {numeric} - (opcional) id do tema para mostrar apenas os comentários de um tema | |
121 | + | |
122 | +Retorno: | |
123 | + | |
124 | +RSS | |
125 | +*/ | |
126 | +function geraRSScomentariosTemas($locaplic,$id_tema=""){ | |
127 | + global $esquemaadmin; | |
128 | + xml_testaNum([$id_tema]); | |
129 | + $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 "; | |
130 | + if($id_tema != ""){ | |
131 | + $sql .= " and a.id_tema = $id_tema "; | |
132 | + } | |
133 | + return geraXmlRSS($locaplic,$sql,"Lista de comentarios"); | |
134 | +} | |
135 | +/* | |
136 | +Function: geraRSStemas | |
137 | + | |
138 | +RSS com os temas cadastrados | |
139 | + | |
140 | +Parametros: | |
141 | + | |
142 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
143 | + | |
144 | +id_n2 {string} - c�digo do subgrupo do sistema de administração | |
145 | + | |
146 | +Retorno: | |
147 | + | |
148 | +RSS | |
149 | +*/ | |
150 | +function geraRSStemas($locaplic,$id_n2,$output="xml") | |
151 | +{ | |
152 | + global $esquemaadmin; | |
153 | + xml_testaNum([$id_n2]); | |
154 | + $sql = " | |
155 | + 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 | |
156 | + from ".$esquemaadmin."i3geoadmin_n3 as n3 | |
157 | + LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_temas.id_tema = n3.id_tema | |
158 | + LEFT JOIN ".$esquemaadmin."i3geousr_grupotema ON n3.id_tema = i3geousr_grupotema.id_tema | |
159 | + 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"; | |
160 | + return geraXmlRSS($locaplic,$sql,"Lista de temas",$output); | |
161 | +} | |
162 | +/* | |
163 | +Function: geraRSStemasRaiz | |
164 | + | |
165 | +RSS com os temas localizados na raiz de um nível | |
166 | + | |
167 | +Parametros: | |
168 | + | |
169 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
170 | + | |
171 | +id {string} - codigo do no | |
172 | + | |
173 | +nivel {string} - nível do no | |
174 | + | |
175 | +Retorno: | |
176 | + | |
177 | +RSS | |
178 | +*/ | |
179 | +function geraRSStemasRaiz($locaplic,$id,$nivel) | |
180 | +{ | |
181 | + global $esquemaadmin; | |
182 | + xml_testaNum([$id,$nivel]); | |
183 | + $sql = " | |
184 | + 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 | |
185 | + from ".$esquemaadmin."i3geoadmin_raiz as r | |
186 | + LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_temas.id_tema = r.id_tema | |
187 | + LEFT JOIN ".$esquemaadmin."i3geousr_grupotema ON r.id_tema = i3geousr_grupotema.id_tema | |
188 | + 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"; | |
189 | + return geraXmlRSS($locaplic,$sql,"Temas na raiz"); | |
190 | +} | |
191 | +/* | |
192 | +Function: geraRSSsubgrupos | |
193 | + | |
194 | +RSS com os subgrupos cadastrados | |
195 | + | |
196 | +Parametros: | |
197 | + | |
198 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
199 | + | |
200 | +id_n1 {string} - c�digo do grupo do sistema de administração | |
201 | + | |
202 | +Retorno: | |
203 | + | |
204 | +RSS | |
205 | +*/ | |
206 | +function geraRSSsubgrupos($locaplic,$id_n1,$output="json") | |
207 | +{ | |
208 | + global $esquemaadmin; | |
209 | + xml_testaNum([$id_n1]); | |
210 | + $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 "; | |
211 | + $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"; | |
212 | + return geraXmlRSS($locaplic,$sql,"Lista de sub-grupos",$output); | |
213 | +} | |
214 | +/* | |
215 | +Function: geraRSSgrupos | |
216 | + | |
217 | +RSS com os grupos cadastrados | |
218 | + | |
219 | +Parametros: | |
220 | + | |
221 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
222 | + | |
223 | +Retorno: | |
224 | + | |
225 | +RSS | |
226 | +*/ | |
227 | +function geraRSSgrupos($locaplic,$output="xml") | |
228 | +{ | |
229 | + global $esquemaadmin; | |
230 | + $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 "; | |
231 | + $sql .= "from ".$esquemaadmin."i3geoadmin_n1 as n1,".$esquemaadmin."i3geoadmin_grupos as g "; | |
232 | + $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"; | |
233 | + return geraXmlRSS($locaplic,$sql,"Lista de grupos",$output); | |
234 | +} | |
235 | +/* | |
236 | +Function: geraXmlDownload | |
237 | + | |
238 | +RSS com os links para sistemas de download | |
239 | + | |
240 | +Parametros: | |
241 | + | |
242 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
243 | + | |
244 | +Retorno: | |
245 | + | |
246 | +RSS | |
247 | +*/ | |
248 | +function geraXmlDownload($locaplic) | |
249 | +{ | |
250 | + global $esquemaadmin; | |
251 | + $sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'DOWNLOAD' and nome_ws <> ''"; | |
252 | + return geraXmlRSS($locaplic,$sql,"Enderecos para download"); | |
253 | +} | |
254 | +/* | |
255 | +Function: geraXmlWS | |
256 | + | |
257 | +RSS com a lista de WS cadastrados | |
258 | + | |
259 | +Parametros: | |
260 | + | |
261 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
262 | + | |
263 | +Retorno: | |
264 | + | |
265 | +RSS | |
266 | +*/ | |
267 | +function geraXmlWS($locaplic,$output) | |
268 | +{ | |
269 | + global $esquemaadmin; | |
270 | + $sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'WS' and nome_ws <> ''"; | |
271 | + return geraXmlRSS($locaplic,$sql,"Web services",$output); | |
272 | +} | |
273 | +/* | |
274 | +Function: geraXmlKmlrss | |
275 | + | |
276 | +RSS com a lista de KML cadastrados | |
277 | + | |
278 | +Parametros: | |
279 | + | |
280 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
281 | + | |
282 | +Retorno: | |
283 | + | |
284 | +RSS | |
285 | +*/ | |
286 | +function geraXmlKmlrss($locaplic) | |
287 | +{ | |
288 | + global $esquemaadmin; | |
289 | + $sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'KML' and nome_ws <> ''"; | |
290 | + return geraXmlRSS($locaplic,$sql,"Web services"); | |
291 | +} | |
292 | +/* | |
293 | +Function: geraXmlWMS | |
294 | + | |
295 | +RSS com a lista de WMS cadastrados | |
296 | + | |
297 | +Parametros: | |
298 | + | |
299 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
300 | + | |
301 | +Retorno: | |
302 | + | |
303 | +RSS | |
304 | +*/ | |
305 | +function geraXmlWMS($locaplic,$output) | |
306 | +{ | |
307 | + global $esquemaadmin; | |
308 | + $sql = "select * from ".$esquemaadmin."i3geoadmin_ws where (tipo_ws = 'WMS' or tipo_ws = 'WMS-Tile') and nome_ws <> '' order by nome_ws"; | |
309 | + return geraXmlRSS($locaplic,$sql,"Web services WMS-OGC",$output); | |
310 | +} | |
311 | +/* | |
312 | +Function: geraXmlWMSmetaestat | |
313 | + | |
314 | +RSS com a lista de WMS das variaveis cadastradas no sistema de metadados estatisticos | |
315 | + | |
316 | +Parametros: | |
317 | + | |
318 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
319 | + | |
320 | +Retorno: | |
321 | + | |
322 | +RSS | |
323 | +*/ | |
324 | +function geraXmlWMSmetaestat($locaplic) | |
325 | +{ | |
326 | + global $esquemaadmin; | |
327 | + $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
328 | + $c = "/admin/php/xml.php"; | |
329 | + if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')){ | |
330 | + $c = "\admin\php\xml.php"; | |
331 | + } | |
332 | + $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST']."/".(basename(str_replace($c,"",__FILE__))); | |
333 | + $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"; | |
334 | + return geraXmlRSS($locaplic,$sql,"Web services WMS-TIME OGC"); | |
335 | +} | |
336 | +/* | |
337 | +Function: geraXmlGeorss | |
338 | + | |
339 | +RSS com a lista de GEORSS cadastrados | |
340 | + | |
341 | +Parametros: | |
342 | + | |
343 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
344 | + | |
345 | +Retorno: | |
346 | + | |
347 | +RSS | |
348 | +*/ | |
349 | +function geraXmlGeorss($locaplic,$output) | |
350 | +{ | |
351 | + global $esquemaadmin; | |
352 | + $sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'GEORSS' and nome_ws <> ''"; | |
353 | + return geraXmlRSS($locaplic,$sql,"Georss",$output); | |
354 | +} | |
355 | +/* | |
356 | +Function: geraRSStemasDownload | |
357 | + | |
358 | +RSS com a lista de temas para download | |
359 | + | |
360 | +Parametros: | |
361 | + | |
362 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
363 | + | |
364 | +Retorno: | |
365 | + | |
366 | +RSS | |
367 | +*/ | |
368 | +function geraRSStemasDownload($locaplic) | |
369 | +{ | |
370 | + global $esquemaadmin; | |
371 | + $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
372 | + $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].(str_replace("/admin/rsstemasdownload.php","",$_SERVER['PHP_SELF'])); | |
373 | + $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 "; | |
374 | + $sql .= " | |
375 | + 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 | |
376 | + where | |
377 | + t.id_tema = n3.id_tema | |
378 | + and n3.id_n2 = n2.id_n2 | |
379 | + and n2.id_subgrupo = sg.id_subgrupo | |
380 | + and n2.id_n1 = n1.id_n1 | |
381 | + and n1.id_grupo = g.id_grupo | |
382 | + and (t.download_tema != 'nao' and t.download_tema != 'NAO') | |
383 | + and t.tipoa_tema != 'WMS' | |
384 | + and n3.n3_perfil = '' | |
385 | + and n2.n2_perfil = '' | |
386 | + and n1.n1_perfil = '' | |
387 | + and n3.publicado != 'NAO' | |
388 | + and n2.publicado != 'NAO' | |
389 | + and n1.publicado != 'NAO' | |
390 | + "; | |
391 | + //echo $sql;exit; | |
392 | + return geraXmlRSS($locaplic,$sql,"Temas para download"); | |
393 | +} | |
394 | +/* | |
395 | +Function: geraRSStemasKml | |
396 | + | |
397 | +RSS com a lista de temas que permitem KML | |
398 | + | |
399 | +Parametros: | |
400 | + | |
401 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
402 | + | |
403 | +Retorno: | |
404 | + | |
405 | +RSS | |
406 | +*/ | |
407 | +function geraRSStemasKml($locaplic) | |
408 | +{ | |
409 | + global $esquemaadmin; | |
410 | + $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
411 | + $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].(str_replace("/admin/rsstemaskml.php","",$_SERVER['PHP_SELF'])); | |
412 | + $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 "; | |
413 | + $sql .= " | |
414 | + 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 | |
415 | + where | |
416 | + t.id_tema = n3.id_tema | |
417 | + and n3.id_n2 = n2.id_n2 | |
418 | + and n2.id_subgrupo = sg.id_subgrupo | |
419 | + and n2.id_n1 = n1.id_n1 | |
420 | + and n1.id_grupo = g.id_grupo | |
421 | + and (t.kml_tema != 'nao' and t.kml_tema != 'NAO') | |
422 | + and n3.n3_perfil = '' | |
423 | + and n2.n2_perfil = '' | |
424 | + and n1.n1_perfil = '' | |
425 | + and n3.publicado != 'NAO' | |
426 | + and n2.publicado != 'NAO' | |
427 | + and n1.publicado != 'NAO' | |
428 | + "; | |
429 | + //echo $sql;exit; | |
430 | + return geraXmlRSS($locaplic,$sql,"Temas em KML"); | |
431 | +} | |
432 | +/* | |
433 | +Function: geraRSStemasOgc | |
434 | + | |
435 | +RSS com a lista de temas que permitem serviços OGC | |
436 | + | |
437 | +Parametros: | |
438 | + | |
439 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
440 | + | |
441 | +Retorno: | |
442 | + | |
443 | +RSS | |
444 | +*/ | |
445 | +function geraRSStemasOgc($locaplic) | |
446 | +{ | |
447 | + global $esquemaadmin; | |
448 | + $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
449 | + $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].(str_replace("/admin/rsstemasogc.php","",$_SERVER['PHP_SELF'])); | |
450 | + $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 "; | |
451 | + $sql .= " | |
452 | + 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 | |
453 | + where | |
454 | + t.id_tema = n3.id_tema | |
455 | + and n3.id_n2 = n2.id_n2 | |
456 | + and n2.id_subgrupo = sg.id_subgrupo | |
457 | + and n2.id_n1 = n1.id_n1 | |
458 | + and n1.id_grupo = g.id_grupo | |
459 | + and (t.ogc_tema != 'nao' or t.ogc_tema != 'NAO') | |
460 | + and t.tipoa_tema != 'WMS' | |
461 | + and n3.n3_perfil = '' | |
462 | + and n2.n2_perfil = '' | |
463 | + and n1.n1_perfil = '' | |
464 | + and n3.publicado != 'NAO' | |
465 | + and n2.publicado != 'NAO' | |
466 | + and n1.publicado != 'NAO' | |
467 | + "; | |
468 | + //echo $sql;exit; | |
469 | + return geraXmlRSS($locaplic,$sql,"Temas em KML"); | |
470 | +} | |
471 | +/* | |
472 | +Function: geraXmlRSS | |
473 | + | |
474 | +Gera um RSS com base em um SQL compatível com o sistema de administração. | |
475 | + | |
476 | +O SQL deverá retornar os itens nome_ws desc_ws e link_ws | |
477 | + | |
478 | +Parametros: | |
479 | + | |
480 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
481 | + | |
482 | +sql {string} - SQL que será aplicado ao sistema de administração | |
483 | + | |
484 | +descricao {string} - descrição que será inserida no canal RSS | |
485 | + | |
486 | +output {string} - xml|json | |
487 | +Retorno: | |
488 | + | |
489 | +RSS | |
490 | +*/ | |
491 | +function geraXmlRSS($locaplic,$sql,$descricao,$output="xml") | |
492 | +{ | |
493 | + global $esquemaadmin; | |
494 | + if(empty($output)){ | |
495 | + $output = "xml"; | |
496 | + } | |
497 | + //var_dump($_SERVER);exit; | |
498 | + $dbh = ""; | |
499 | + include($locaplic."/admin/php/conexao.php"); | |
500 | + if($convUTF){ | |
501 | + $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
502 | + } else { | |
503 | + $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
504 | + } | |
505 | + $xml .= "<rss version='2.0'>"; | |
506 | + $xml .= "<channel>\n"; | |
507 | + $xml .= "<title>RSS</title>\n"; | |
508 | + $xml .= "<description>".str_replace("&","&",$descricao)."</description>\n"; | |
509 | + $xml .= "<link></link>\n"; | |
510 | + $xml .= "<docs></docs>\n"; | |
511 | + $xml .= "<copyright>Gerado pelo i3Geo</copyright>\n"; | |
512 | + $xml .= "<language>pt-br</language>\n"; | |
513 | + $xml .= "<webmaster></webmaster>\n"; | |
514 | + $json = array( | |
515 | + "description"=>$descricao, | |
516 | + "copyright"=>"Gerado pelo i3Geo", | |
517 | + "language"=>"pt-br" | |
518 | + ); | |
519 | + $jsonItems = array(); | |
520 | + $qatlas = $dbh->query($sql); | |
521 | + foreach($qatlas as $row) { | |
522 | + $xml .= "<item>\n"; | |
523 | + $xml .= "<category/>\n"; | |
524 | + $xml .= "<title>".entity_decode($row["nome_ws"])."</title>\n"; | |
525 | + $xml .= "<description>".xmlTexto_prepara(entity_decode($row["desc_ws"]))."</description>\n"; | |
526 | + $link = xmlTexto_prepara($row["link_ws"]); | |
527 | + if(stristr($link, 'http') === FALSE){ | |
528 | + $link = "http://".$_SERVER["HTTP_HOST"].dirname($_SERVER["REQUEST_URI"])."/".$link; | |
529 | + } | |
530 | + $xml .= "<link><![CDATA[".$link."]]></link>\n"; | |
531 | + $xml .= "<pubDate/>\n"; | |
532 | + $xml .= "<author>".xmlTexto_prepara($row["autor_ws"])."</author>\n"; | |
533 | + $xml .= "<nacessos></nacessos>\n"; | |
534 | + $xml .= "<nacessosok></nacessosok>\n"; | |
535 | + $xml .= "<id>".xmlTexto_prepara($row["id_ws"])."</id>\n"; | |
536 | + $xml .= "<tipo>".$row["tipo_ws"]."</tipo>\n"; | |
537 | + $xml .= "</item>\n"; | |
538 | + $jsonItems[] = array( | |
539 | + "title"=>$row["nome_ws"], | |
540 | + "description"=>$row["desc_ws"], | |
541 | + "link"=>$link."&output=json", | |
542 | + "author"=>$row["autor_ws"], | |
543 | + "id"=>$row["id_ws"], | |
544 | + "tipo"=>$row["tipo_ws"] | |
545 | + ); | |
546 | + } | |
547 | + $json["items"] = $jsonItems; | |
548 | + $xml .= "</channel></rss>\n"; | |
549 | + $dbh = null; | |
550 | + $dbhw = null; | |
551 | + if($output == "xml"){ | |
552 | + return $xml; | |
553 | + } | |
554 | + else{ | |
555 | + return json_encode($json); | |
556 | + } | |
557 | +} | |
558 | +function geraXmlAtlas($locaplic,$editores) | |
559 | +{ | |
560 | + global $esquemaadmin; | |
561 | + //error_reporting(0); | |
562 | + $dbh = ""; | |
563 | + include($locaplic."/admin/php/conexao.php"); | |
564 | + | |
565 | + if($convUTF) | |
566 | + $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
567 | + else | |
568 | + $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
569 | + $xml .= "\n<RAIZ>\n"; | |
570 | + //$q = "select * from i3geoadmin_atlas"; | |
571 | + $qatlas = $dbh->query("select * from ".$esquemaadmin."i3geoadmin_atlas"); | |
572 | + | |
573 | + $editor = "nao";//$editor = verificaEditores($editores); | |
574 | + foreach($qatlas as $row) | |
575 | + { | |
576 | + $mostra = true; | |
577 | + if(strtolower($row["publicado_atlas"] == "nao")) | |
578 | + {$mostra = false;} | |
579 | + if($editor) | |
580 | + {$mostra = true;} | |
581 | + if($mostra) | |
582 | + { | |
583 | + $xml .= "<ATLAS>\n"; | |
584 | + $xml .= " <ID>".$row["id_atlas"]."</ID>\n"; | |
585 | + $xml .= " <PUBLICADO>".$row["publicado_atlas"]."</PUBLICADO>\n"; | |
586 | + $xml .= " <TITULO>".xmlTexto_prepara($row["titulo_atlas"])."</TITULO>\n"; | |
587 | + $xml .= " <DESCRICAO>".xmlTexto_prepara($row["desc_atlas"])."</DESCRICAO>\n"; | |
588 | + $xml .= " <ICONE>".$row["icone_atlas"]."</ICONE>\n"; | |
589 | + $xml .= " <LINKMAISINFO><![CDATA[".xmlTexto_prepara($row["link_atlas"])."]]></LINKMAISINFO>\n"; | |
590 | + $xml .= " <TEMPLATEHTML>".xmlTexto_prepara($row["template_atlas"])."</TEMPLATEHTML>\n"; | |
591 | + $xml .= " <WABERTURA>".$row["w_atlas"]."</WABERTURA>\n"; | |
592 | + $xml .= " <HABERTURA>".$row["h_atlas"]."</HABERTURA>\n"; | |
593 | + $xml .= " <PRANCHADEFAULT>".$row["pranchadefault_atlas"]."</PRANCHADEFAULT>\n"; | |
594 | + $xml .= " <TIPOGUIAS>".$row["tipoguias_atlas"]."</TIPOGUIAS>\n"; | |
595 | + $xml .= " <BASEMAPFILE>".$row["basemapfile_atlas"]."</BASEMAPFILE>\n"; | |
596 | + $xml .= " <PRANCHAS>\n"; | |
597 | + $xml = geraXmlAtlas_pegapranchas($xml,$row["id_atlas"],$dbh); | |
598 | + $xml .= " </PRANCHAS>\n"; | |
599 | + $xml .= " </ATLAS>\n"; | |
600 | + } | |
601 | + } | |
602 | + $xml .= "</RAIZ>\n"; | |
603 | + $dbh = null; | |
604 | + $dbhw = null; | |
605 | + return $xml; | |
606 | +} | |
607 | +function geraXmlIdentifica($perfil,$locaplic,$editores="") | |
608 | +{ | |
609 | + global $esquemaadmin; | |
610 | + $editor = "nao";//$editor = verificaEditores($editores); | |
611 | + if (!isset($perfil)){$perfil = "";} | |
612 | + $perfil = str_replace(","," ",$perfil); | |
613 | + $perfil = explode(" ",$perfil); | |
614 | + $dbh = ""; | |
615 | + include($locaplic."/admin/php/conexao.php"); | |
616 | + if($convUTF) | |
617 | + $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
618 | + else | |
619 | + $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
620 | + $xml .= "\n<SISTEMAS>\n"; | |
621 | + $q = "select * from ".$esquemaadmin."i3geoadmin_identifica "; | |
622 | + $qi = $dbh->query($q); | |
623 | + foreach($qi as $row) | |
624 | + { | |
625 | + $mostra = true; | |
626 | + if(strtolower($row["publicado_i"] == "nao")) | |
627 | + {$mostra = false;} | |
628 | + if($editor) | |
629 | + {$mostra = true;} | |
630 | + if($mostra) | |
631 | + { | |
632 | + $xml .= " <FUNCAO>\n"; | |
633 | + $xml .= " <NOMESIS>".xmlTexto_prepara($row["nome_i"])."</NOMESIS>\n"; | |
634 | + $xml .= " <ABRIR>".xmlTexto_prepara($row["abrir_i"])."</ABRIR>\n"; | |
635 | + $xml .= " <PUBLICADO>".$row["publicado_i"]."</PUBLICADO>\n"; | |
636 | + $target = $row["target_i"]; | |
637 | + if($target == ""){$target = "_self";} | |
638 | + $xml .= " <TARGET>".$target."</TARGET>\n"; | |
639 | + $xml .= " </FUNCAO>\n"; | |
640 | + }//error_reporting(0); | |
641 | + } | |
642 | + $xml .= "</SISTEMAS>\n"; | |
643 | + $dbh = null; | |
644 | + $dbhw = null; | |
645 | + return $xml; | |
646 | +} | |
647 | +function geraXmlMapas($perfil,$locaplic,$editores) | |
648 | +{ | |
649 | + global $esquemaadmin; | |
650 | + if (!isset($perfil)){$perfil = "";} | |
651 | + $perfil = str_replace(","," ",$perfil); | |
652 | + $perfil = explode(" ",$perfil); | |
653 | + $dbh = ""; | |
654 | + include($locaplic."/admin/php/conexao.php"); | |
655 | + if($convUTF) | |
656 | + $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
657 | + else | |
658 | + $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
659 | + $xml .= "\n<MAPAS>\n"; | |
660 | + $q = "select * from ".$esquemaadmin."i3geoadmin_mapas"; | |
661 | + $q = $dbh->query($q); | |
662 | + $editor = "nao";//$editor = "nao";//verificaEditores($editores); | |
663 | + $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
664 | + $c = "/admin/php/xml.php"; | |
665 | + if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')){ | |
666 | + $c = "\admin\php\xml.php"; | |
667 | + } | |
668 | + $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST']."/".(basename(str_replace($c,"",__FILE__))); | |
669 | + foreach($q as $row) | |
670 | + { | |
671 | + $mostraMapa = false; | |
672 | + if($row["perfil_mapa"] == "") | |
673 | + {$mostraMapa = true;} | |
674 | + else | |
675 | + { | |
676 | + $perfilMapa = explode(" ",str_replace(","," ",$row["perfil_mapa"])); | |
677 | + $mostraMapa = array_in_array($perfil,$perfilMapa); | |
678 | + } | |
679 | + if(strtolower($row["publicado_mapa"] == "nao")) | |
680 | + {$mostraMapa = false;} | |
681 | + if($editor) | |
682 | + {$mostraMapa = true;} | |
683 | + | |
684 | + if($mostraMapa) | |
685 | + { | |
686 | + $xml .= "<MAPA>\n"; | |
687 | + $perfil = $row["perfil_mapa"]; | |
688 | + $xml .= " <PERFIL>".$perfil."</PERFIL>\n"; | |
689 | + $xml .= " <NOME>".xmlTexto_prepara($row["nome_mapa"])."</NOME>\n"; | |
690 | + $xml .= " <DESCRICAO>".xmlTexto_prepara($row["desc_mapa"])."</DESCRICAO>\n"; | |
691 | + $xml .= " <IMAGEM>".xmlTexto_prepara($row["imagem_mapa"])."</IMAGEM>\n"; | |
692 | + $xml .= " <TEMAS>".$row["temas_mapa"]."</TEMAS>\n"; | |
693 | + $xml .= " <LIGADOS>".$row["ligados_mapa"]."</LIGADOS>\n"; | |
694 | + $extensao = $row["ext_mapa"]; | |
695 | + $xml .= " <EXTENSAO>".$extensao."</EXTENSAO>\n"; | |
696 | + $outros = xmlTexto_prepara($row["outros_mapa"]); | |
697 | + $xml .= " <OUTROS><![CDATA[".$outros."]]></OUTROS>\n"; | |
698 | + $linkdireto = xmlTexto_prepara($row["linkdireto_mapa"]); | |
699 | + if(empty($linkdireto)){ | |
700 | + $linkdireto = $url."/ms_criamapa.php?mapext=".$extensao."&perfil=".$perfil."&temasa=".$temas."&layers=".$ligados.$row["outros_mapa"]; | |
701 | + $linkdireto = xmlTexto_prepara($linkdireto); | |
702 | + } | |
703 | + $xml .= " <LINKDIRETO><![CDATA[".$linkdireto."]]></LINKDIRETO>\n"; | |
704 | + $xml .= " <PUBLICADO>".$row["publicado_mapa"]."</PUBLICADO>\n"; | |
705 | + $xml .= " <ID_MAPA>".$row["id_mapa"]."</ID_MAPA>\n"; | |
706 | + if($row["mapfile"] != ""){ | |
707 | + $xml .= " <CONTEMMAPFILE>sim</CONTEMMAPFILE>\n"; | |
708 | + } | |
709 | + else{ | |
710 | + $xml .= " <CONTEMMAPFILE>nao</CONTEMMAPFILE>\n"; | |
711 | + } | |
712 | + $xml .= "</MAPA>\n"; | |
713 | + } | |
714 | + } | |
715 | + $xml .= "</MAPAS>\n"; | |
716 | + $dbh = null; | |
717 | + $dbhw = null; | |
718 | + return $xml; | |
719 | +} | |
720 | +//mostra apenas os mapas que possuem outros_mapa definido, o que e tipico do sistema de metadados estatisticos | |
721 | +function geraRSSmapas($locaplic,$output) | |
722 | +{ | |
723 | + global $esquemaadmin; | |
724 | + $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
725 | + $c = "/admin/php/xml.php"; | |
726 | + if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')){ | |
727 | + $c = "\admin\php\xml.php"; | |
728 | + } | |
729 | + $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST']."/".(basename(str_replace($c,"",__FILE__))); | |
730 | + $descricao = "'<![CDATA[Outros links<br>"; | |
731 | + $descricao .= "<a href=$url/mashups/openlayers.php?restauramapa='||id_mapa||'&fundo=e_wsm >Openlayers 1</a><br><br>"; | |
732 | + $descricao .= "<a href=$url/mashups/openlayers.php?restauramapa='||id_mapa||'&fundo= >Openlayers 2</a><br><br>"; | |
733 | + $descricao .= "<a href=$url/mashups/openlayers.php?restauramapa='||id_mapa||'&fundo=e_wsm&botoes=legenda pan zoombox zoomtot zoomin zoomout distancia area identifica >Openlayers 3</a><br><br>"; | |
734 | + $descricao .= "<a href=$url/mashups/openlayers.php?restauramapa='||id_mapa||' >Openlayers 4</a><br><br>"; | |
735 | + $descricao .= "<img src=$url/ferramentas/salvamapa/geraminiatura.php?w=300&h=300&restauramapa='||id_mapa||' >]]>'"; | |
736 | + $sql = "select '' as tipo_ws,'".$url."/ms_criamapa.php?restauramapa='||id_mapa as link_ws, nome_mapa as nome_ws, ".$descricao." as desc_ws, '' as autor_ws from ".$esquemaadmin."i3geoadmin_mapas WHERE publicado_mapa = 'sim' AND mapfile != ''"; | |
737 | + //echo $sql;exit; | |
738 | + return geraXmlRSS($locaplic,$sql,"Mapas cadastrados",$output); | |
739 | +} | |
740 | + | |
741 | +// | |
742 | +//$id_menu = id do menu que será montado | |
743 | +//$perfil = perfis separados por espaços | |
744 | +//$tipo = gruposeraiz|subgrupos|temas | |
745 | +//$dbh objeto com a conexão com o banco | |
746 | +//$locaplic = localização do i3geo no servidor | |
747 | +// | |
748 | +function geraXmlMenutemas($perfil,$id_menu,$tipo,$locaplic) | |
749 | +{ | |
750 | + global $esquemaadmin; | |
751 | + xml_testaNum([$id_menu]); | |
752 | + $dbh = ""; | |
753 | + include($locaplic."/admin/php/conexao.php"); | |
754 | + if (!isset($perfil)){$perfil = "";} | |
755 | + $perfil = str_replace(","," ",$perfil); | |
756 | + $perfil = explode(" ",$perfil); | |
757 | + if($convUTF) | |
758 | + $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
759 | + else | |
760 | + $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
761 | + $xml .= "\n<TEMASGEO>\n"; | |
762 | + if(!isset($id_menu)) | |
763 | + $xml .= "<CABECALHO>Utilize ?id_menu=1 por exemplo</CABECALHO>\n"; | |
764 | + else | |
765 | + $xml .= "<CABECALHO></CABECALHO>\n"; | |
766 | + // | |
767 | + //pega os temas na raiz | |
768 | + // | |
769 | + $q = "select nome_tema,codigo_tema,desc_tema,link_tema,tipoa_tema,tags_tema,kml_tema,ogc_tema,download_tema,r.perfil as perfil from ".$esquemaadmin."i3geoadmin_raiz as r,".$esquemaadmin."i3geoadmin_temas as temas where r.id_nivel = 0 and r.id_tema = temas.id_tema and r.id_menu = $id_menu "; | |
770 | + $qtemasraiz = $dbh->query($q); | |
771 | + $xml = geraXmlMenutemas_notema($qtemasraiz,$xml,$perfil); | |
772 | + $q = "select nome_grupo,desc_grupo,n1.id_grupo,n1.id_n1,n1.n1_perfil as perfil from ".$esquemaadmin."i3geoadmin_n1 as n1,".$esquemaadmin."i3geoadmin_grupos as grupos where n1.id_menu = $id_menu and n1.id_grupo = grupos.id_grupo "; | |
773 | + $qgrupos = $dbh->query($q); | |
774 | + foreach($qgrupos as $row) | |
775 | + { | |
776 | + //filtra pelo perfil | |
777 | + if($row["perfil"] == "") | |
778 | + {$mostra = true;} | |
779 | + else | |
780 | + { | |
781 | + $perfilatual = explode(" ",str_replace(","," ",$row["perfil"])); | |
782 | + $mostra = array_in_array($perfil,$perfilatual); | |
783 | + } | |
784 | + if($mostra) | |
785 | + { | |
786 | + $xml .= "<GRUPO>\n"; | |
787 | + $xml .= " <GTIPO>".xmlTexto_prepara($row["nome_grupo"])."</GTIPO>\n"; | |
788 | + // | |
789 | + //pega temas na raiz | |
790 | + // | |
791 | + $q = "select nome_tema,codigo_tema,desc_tema,link_tema,tipoa_tema,tags_tema,kml_tema,ogc_tema,download_tema,r.perfil as perfil from ".$esquemaadmin."i3geoadmin_raiz as r,".$esquemaadmin."i3geoadmin_temas as temas where r.nivel = 1 and r.id_nivel = ".$row["id_n1"]." and r.id_tema = temas.id_tema and r.id_menu = $id_menu "; | |
792 | + $qtemasraiz = $dbh->query($q); | |
793 | + $xml = geraXmlMenutemas_notema($qtemasraiz,$xml,$perfil); | |
794 | + if(isset($tipo) && ($tipo == "subgrupos") || ($tipo == "")) | |
795 | + $xml = geraXmlMenutemas_pegasubgrupos($row["id_n1"],$xml,$dbh,$tipo,$perfil); | |
796 | + $xml .= " <DTIPO>".xmlTexto_prepara($row["desc_grupo"])."</DTIPO>\n"; | |
797 | + $xml .= " <PERFIL>".$row["perfil"]."</PERFIL>\n"; | |
798 | + $xml .= "</GRUPO>\n"; | |
799 | + } | |
800 | + } | |
801 | + $xml .= "</TEMASGEO>\n"; | |
802 | + $dbh = null; | |
803 | + $dbhw = null; | |
804 | + return $xml; | |
805 | +} | |
806 | +function geraXmlMenutemas_pegasubgrupos($id_n1,$xml,$dbh,$tipo,$perfil) | |
807 | +{ | |
808 | + global $esquemaadmin; | |
809 | + xml_testaNum([$id_n1]); | |
810 | + $q = "select subgrupos.id_subgrupo,nome_subgrupo,id_n2,n2.n2_perfil as perfil from ".$esquemaadmin."i3geoadmin_n2 as n2,".$esquemaadmin."i3geoadmin_subgrupos as subgrupos where n2.id_n1 = $id_n1 and n2.id_subgrupo = subgrupos.id_subgrupo "; | |
811 | + //echo $q;exit; | |
812 | + $qsgrupos = $dbh->query($q); | |
813 | + foreach($qsgrupos as $row) | |
814 | + { | |
815 | + if($row["perfil"] == "") | |
816 | + $mostra = true; | |
817 | + else | |
818 | + { | |
819 | + $perfilatual = explode(" ",str_replace(","," ",$row["perfil"])); | |
820 | + $mostra = array_in_array($perfil,$perfilatual); | |
821 | + } | |
822 | + if($mostra) | |
823 | + { | |
824 | + $xml .= "<SGRUPO>\n"; | |
825 | + $xml .= "<SDTIPO>".xmlTexto_prepara($row["nome_subgrupo"])."</SDTIPO>\n"; | |
826 | + $xml .= "<PERFIL>".xmlTexto_prepara($row["perfil"])."</PERFIL>\n"; | |
827 | + if(isset($tipo) && ($tipo == "temas") || ($tipo == "")) | |
828 | + $xml = geraXmlMenutemas_pegatemas($row["id_n2"],$xml,$dbh,$perfil); | |
829 | + $xml .= "</SGRUPO>\n"; | |
830 | + } | |
831 | + } | |
832 | + return $xml; | |
833 | +} | |
834 | +function geraXmlMenutemas_pegatemas($id_n2,$xml,$dbh,$perfil) | |
835 | +{ | |
836 | + global $esquemaadmin; | |
837 | + xml_testaNum([$id_n2]); | |
838 | + $q = "select nome_tema,codigo_tema,desc_tema,link_tema,tipoa_tema,tags_tema,kml_tema,ogc_tema,download_tema,n3.n3_perfil as perfil from ".$esquemaadmin."i3geoadmin_n3 as n3,".$esquemaadmin."i3geoadmin_temas as temas where n3.id_n2 = $id_n2 and n3.id_tema = temas.id_tema "; | |
839 | + $qtemas = $dbh->query($q); | |
840 | + $xml = geraXmlMenutemas_notema($qtemas,$xml,$perfil); | |
841 | + return $xml; | |
842 | +} | |
843 | +function geraXmlMenutemas_notema($qtemas,$xml,$perfil) | |
844 | +{ | |
845 | + global $esquemaadmin; | |
846 | + foreach($qtemas as $row) | |
847 | + { | |
848 | + if($row["perfil"] == "") | |
849 | + {$mostra = true;} | |
850 | + else | |
851 | + { | |
852 | + $perfilatual = explode(" ",str_replace(","," ",$row["perfil"])); | |
853 | + $mostra = array_in_array($perfil,$perfilatual); | |
854 | + } | |
855 | + if($mostra) | |
856 | + { | |
857 | + $xml .= "<TEMA>\n"; | |
858 | + $xml .= "<TID>".$row["codigo_tema"]."</TID>\n"; | |
859 | + $xml .= "<PERFIL>".$row["perfil"]."</PERFIL>\n"; | |
860 | + $xml .= "<TNOME>".xmlTexto_prepara($row["nome_tema"])."</TNOME>\n"; | |
861 | + $xml .= "<TDESC>".xmlTexto_prepara($row["desc_tema"])."</TDESC>\n"; | |
862 | + $xml .= "<TLINK><![CDATA[".xmlTexto_prepara($row["link_tema"])."]]></TLINK>\n"; | |
863 | + $xml .= "<TIPOA>".$row["tipoa_tema"]."</TIPOA>\n"; | |
864 | + $xml .= "<TAGS>".xmlTexto_prepara($row["tags_tema"])."</TAGS>\n"; | |
865 | + $xml .= "<KML>".$row["kml_tema"]."</KML>\n"; | |
866 | + if($row["tipoa_tema"] == "WMS") | |
867 | + {$xml .= "<OGC>nao</OGC>\n";} | |
868 | + else | |
869 | + {$xml .= "<OGC>".$row["ogc_tema"]."</OGC>\n";} | |
870 | + $xml .= "<DOWNLOAD>".$row["download_tema"]."</DOWNLOAD>\n"; | |
871 | + $xml .= "<NACESSOS></NACESSOS>\n"; | |
872 | + $xml .= "</TEMA>\n"; | |
873 | + } | |
874 | + } | |
875 | + return $xml; | |
876 | +} | |
877 | +function geraXmlAtlas_pegapranchas($xml,$id_atlas,$dbh) | |
878 | +{ | |
879 | + global $esquemaadmin; | |
880 | + xml_testaNum([$id_atlas]); | |
881 | + $q = "select * from ".$esquemaadmin."i3geoadmin_atlasp as p where p.id_atlas = $id_atlas order by ordem_prancha"; | |
882 | + $qpranchas = $dbh->query($q); | |
883 | + foreach($qpranchas as $row) | |
884 | + { | |
885 | + $xml .= " <PRANCHA>\n"; | |
886 | + $xml .= " <ID>".$row["id_prancha"]."</ID>\n"; | |
887 | + $xml .= " <TITULO>".xmlTexto_prepara($row["titulo_prancha"])."</TITULO>\n"; | |
888 | + $xml .= " <DESCRICAO>".xmlTexto_prepara($row["desc_prancha"])."</DESCRICAO>\n"; | |
889 | + $xml .= " <ICONE>".$row["icone_prancha"]."</ICONE>\n"; | |
890 | + $xml .= " <LINKMAISINFO><![CDATA[".xmlTexto_prepara($row["link_prancha"])."]]></LINKMAISINFO>\n"; | |
891 | + $xml .= " <WABERTURA>".$row["w_prancha"]."</WABERTURA>\n"; | |
892 | + $xml .= " <HABERTURA>".$row["h_prancha"]."</HABERTURA>\n"; | |
893 | + $xml .= " <MAPEXT>".$row["mapext_prancha"]."</MAPEXT>\n"; | |
894 | + $xml .= " <TEMAS>\n"; | |
895 | + $xml = geraXmlAtlas_pegatemas($xml,$row["id_prancha"],$dbh); | |
896 | + $xml .= " </TEMAS>\n"; | |
897 | + $xml .= " </PRANCHA>\n"; | |
898 | + } | |
899 | + return $xml; | |
900 | +} | |
901 | +function geraXmlAtlas_pegatemas($xml,$id_prancha,$dbh) | |
902 | +{ | |
903 | + global $esquemaadmin; | |
904 | + xml_testaNum([$id_prancha]); | |
905 | + $q = "select t.codigo_tema,t.ligado_tema from ".$esquemaadmin."i3geoadmin_atlast as t where t.id_prancha = '$id_prancha' order by ordem_tema"; | |
906 | + //echo $q; | |
907 | + $qtemas = $dbh->query($q); | |
908 | + foreach($qtemas as $row) | |
909 | + { | |
910 | + $xml .= "<TEMA>\n"; | |
911 | + $xml .= "<CODIGO>".$row["codigo_tema"]."</CODIGO>\n"; | |
912 | + $xml .= "<LIGADO>".$row["ligado_tema"]."</LIGADO>\n"; | |
913 | + $xml .= "</TEMA>\n"; | |
914 | + } | |
915 | + return $xml; | |
916 | +} | |
917 | +function geraXmlSistemas_pegafuncoes($perfil,$xml,$id_sistema,$dbh) | |
918 | +{ | |
919 | + global $esquemaadmin; | |
920 | + xml_testaNum([$id_sistema]); | |
921 | + $q = "select * from ".$esquemaadmin."i3geoadmin_sistemasf where id_sistema = '$id_sistema'"; | |
922 | + $qtemas = $dbh->query($q); | |
923 | + foreach($qtemas as $row) | |
924 | + { | |
925 | + if($row["perfil_funcao"] == "") | |
926 | + $mostra = true; | |
927 | + else | |
928 | + { | |
929 | + $perfilF = explode(" ",str_replace(","," ",$row["perfil_funcao"])); | |
930 | + $mostra = array_in_array($perfil,$perfilF); | |
931 | + } | |
932 | + if($mostra) | |
933 | + { | |
934 | + $xml .= "<FUNCAO>\n"; | |
935 | + $xml .= " <NOMEFUNCAO>".xmlTexto_prepara($row["nome_funcao"])."</NOMEFUNCAO>\n"; | |
936 | + $xml .= " <ABRIR>".xmlTexto_prepara($row["abrir_funcao"])."</ABRIR>\n"; | |
937 | + $xml .= " <JANELAW>".$row["w_funcao"]."</JANELAW>\n"; | |
938 | + $xml .= " <JANELAH>".$row["h_funcao"]."</JANELAH>\n"; | |
939 | + $xml .= " <PERFIL>".$row["perfil_funcao"]."</PERFIL>\n"; | |
940 | + $xml .= "</FUNCAO>\n"; | |
941 | + } | |
942 | + } | |
943 | + return $xml; | |
944 | +} | |
945 | +function array_in_array($needle, $haystack) | |
946 | +{ | |
947 | + //Make sure $needle is an array for foreach | |
948 | + if(!is_array($needle)) $needle = array($needle); | |
949 | + //For each value in $needle, return TRUE if in $haystack | |
950 | + foreach($needle as $pin) | |
951 | + if(in_array($pin, $haystack)) return TRUE; | |
952 | + //Return FALSE if none of the values from $needle are found in $haystack | |
953 | + return FALSE; | |
954 | +} | |
955 | +function xmlTexto_prepara($texto) | |
956 | +{ | |
957 | + return str_replace("&","&",$texto); | |
958 | +} | |
959 | +function entity_decode($texto) | |
960 | +{ | |
961 | + return html_entity_decode($texto); | |
962 | +} | |
963 | +function xml_testaNum($valores){ | |
964 | + foreach ($valores as $valor) { | |
965 | + if(!empty($valor) && !is_numeric($valor)) { | |
966 | + ob_clean(); | |
967 | + header ( "HTTP/1.1 403 valor nao numerico" ); | |
968 | + exit; | |
969 | + } | |
970 | + } | |
971 | +} | |
972 | +?> | ... | ... |
admin1/php/funcoesAdmin.php
1 | 1 | <?php |
2 | 2 | namespace admin\php\funcoesAdmin; |
3 | 3 | use PDO; |
4 | -use Services_JSON; | |
5 | 4 | use PDOException; |
6 | 5 | // |
7 | 6 | // verifica se um determinado papel esta registrado na variavel SESSION |
... | ... | @@ -35,7 +34,6 @@ function testaSafeNumerico($valores) { |
35 | 34 | } |
36 | 35 | } |
37 | 36 | } |
38 | - | |
39 | 37 | function verificaOperacaoSessao($operacao) { |
40 | 38 | $resultado = false; |
41 | 39 | // a validacao consulta $_SESSION, que e definida no login | ... | ... |
classesjs/classe_guias.js
... | ... | @@ -209,8 +209,6 @@ i3GEO.guias = |
209 | 209 | // combo de opcoes para abrir os mapas |
210 | 210 | // salvos |
211 | 211 | // como mapfiles |
212 | - // esses links tambem sao colocados em | |
213 | - // admin/php/xml.php geraRSSmapas | |
214 | 212 | combo = |
215 | 213 | "<select style='width:170px;' onchange='i3GEO.guias.CONFIGURA.mapas.mostraLink(" + ig1 |
216 | 214 | + ",this.value)'>" | ... | ... |
classesphp/atlas_controle.php
classesphp/classe_menutemas.php
... | ... | @@ -248,7 +248,7 @@ array |
248 | 248 | {$this->xml = simplexml_load_file($locmapas);} |
249 | 249 | else |
250 | 250 | { |
251 | - include_once($this->locaplic."/admin/php/xml.php"); | |
251 | + include_once($this->locaplic."/classesphp/xml.php"); | |
252 | 252 | $this->xml = simplexml_load_string(geraXmlMapas(implode(" ",$this->perfil),$this->locaplic)); |
253 | 253 | } |
254 | 254 | //print_r($this->xml);exit; |
... | ... | @@ -293,7 +293,7 @@ Array |
293 | 293 | function pegaSistemas() |
294 | 294 | { |
295 | 295 | //error_reporting(0); |
296 | - include_once($this->locaplic."/admin/php/xml.php"); | |
296 | + include_once($this->locaplic."/classesphp/xml.php"); | |
297 | 297 | $xmlsistemas = simplexml_load_string(geraXmlSistemas(implode(" ",$this->perfil),$this->locaplic)); |
298 | 298 | $sistemas = array(); |
299 | 299 | foreach($xmlsistemas->SISTEMA as $s) |
... | ... | @@ -339,7 +339,7 @@ Array |
339 | 339 | function pegaSistemasI() |
340 | 340 | { |
341 | 341 | //error_reporting(0); |
342 | - include_once($this->locaplic."/admin/php/xml.php"); | |
342 | + include_once($this->locaplic."/classesphp/xml.php"); | |
343 | 343 | |
344 | 344 | $xmlsistemas = simplexml_load_string(geraXmlIdentifica(implode(" ",$this->perfil),$this->locaplic)); |
345 | 345 | $sistemas = array(); |
... | ... | @@ -371,7 +371,7 @@ $procurar - String que ser&aacute; procurada. |
371 | 371 | */ |
372 | 372 | function procurartemas($procurar) |
373 | 373 | { |
374 | - include_once($this->locaplic."/admin/php/xml.php"); | |
374 | + include_once($this->locaplic."/classesphp/xml.php"); | |
375 | 375 | $tipo = ""; |
376 | 376 | $this->xml = ""; |
377 | 377 | if($this->menutemas != "") |
... | ... | @@ -536,7 +536,7 @@ nrss - (opcional) n&uacute;mero de registros no rss que ser&atilde;o considerado |
536 | 536 | */ |
537 | 537 | function listaTags($rss="",$nrss="") |
538 | 538 | { |
539 | - include_once($this->locaplic."/admin/php/xml.php"); | |
539 | + include_once($this->locaplic."/classesphp/xml.php"); | |
540 | 540 | $tipo = ""; |
541 | 541 | //carrega os títulos e links do rss especificado |
542 | 542 | $noticiasRSS = array(); //guarda as notícias originais do RRS | ... | ... |
classesphp/classe_temas.php
... | ... | @@ -1105,7 +1105,7 @@ tema - codigo do tema |
1105 | 1105 | */ |
1106 | 1106 | function fonteTema($tema) |
1107 | 1107 | { |
1108 | - include_once($this->locaplic."/admin/php/xml.php"); | |
1108 | + include_once($this->locaplic."/classesphp/xml.php"); | |
1109 | 1109 | require($this->locaplic."/classesphp/classe_menutemas.php"); |
1110 | 1110 | $menutemas = new Menutemas("","","",$this->locaplic); |
1111 | 1111 | $linkfonte = "erro"; |
... | ... | @@ -1380,8 +1380,8 @@ Adiciona LABEL em uma classe de um tema |
1380 | 1380 | $label->set("type",MS_TRUETYPE); |
1381 | 1381 | $label->set("font","arial"); |
1382 | 1382 | $label->set("size",0); |
1383 | - $label->removeBinding(0); | |
1384 | - $classe->settext($texto); | |
1383 | + $label->removeBinding(0); | |
1384 | + $classe->settext($texto); | |
1385 | 1385 | } |
1386 | 1386 | /* |
1387 | 1387 | $nlabel = $classe->numlabels; | ... | ... |
classesphp/wscliente.php
... | ... | @@ -421,7 +421,7 @@ function listaRSSws2() |
421 | 421 | global $cp,$rss,$locaplic,$tipo; |
422 | 422 | if(!isset($tipo)){$tipo = "GEORSS";} |
423 | 423 | include_once("$locaplic/classesphp/funcoes_gerais.php"); |
424 | - include_once("$locaplic/admin/php/xml.php"); | |
424 | + include_once("$locaplic/classesphp/xml.php"); | |
425 | 425 | include_once("$locaplic/ms_configura.php"); |
426 | 426 | $rsss = explode("|",$rss); |
427 | 427 | if(count($rsss) == 0){$rsss = array(" ");} |
... | ... | @@ -496,7 +496,7 @@ function listaRSSwsARRAY() |
496 | 496 | |
497 | 497 | if(!isset($tipo)){$tipo = "GEORSS";} |
498 | 498 | include_once("$locaplic/classesphp/funcoes_gerais.php"); |
499 | - include_once("$locaplic/admin/php/xml.php"); | |
499 | + include_once("$locaplic/classesphp/xml.php"); | |
500 | 500 | include_once("$locaplic/ms_configura.php"); |
501 | 501 | $rsss = explode("|",$rss); |
502 | 502 | if(count($rsss) == 0){ | ... | ... |
... | ... | @@ -0,0 +1,947 @@ |
1 | +<?php | |
2 | +/* | |
3 | +Title: xml.php | |
4 | + | |
5 | +Conjunto de funções que geram arquivos na estrutura XML conforme os dados cadastrados no sistema de administração. | |
6 | + | |
7 | +Permite a geração de XML no padrão RSS e outros. É utilizado por funções internas do i3Geo e por programas | |
8 | +utilitários que fornecem dados no formato RSS para outros fins. | |
9 | + | |
10 | +Licenca: | |
11 | + | |
12 | +GPL2 | |
13 | + | |
14 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
15 | + | |
16 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
17 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
18 | + | |
19 | +Este programa é software livre; você pode redistribuí-lo | |
20 | +e/ou modificá-lo sob os termos da Licença Pública Geral | |
21 | +GNU conforme publicada pela Free Software Foundation; | |
22 | + | |
23 | +Este programa é distribuído na expectativa de que seja útil, | |
24 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
25 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
26 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | |
27 | +Você deve ter recebido uma copia da Licença Pública Geral do | |
28 | +GNU junto com este programa; se não, escreva para a | |
29 | +Free Software Foundation, Inc., no endereço | |
30 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
31 | + | |
32 | +Arquivo: | |
33 | + | |
34 | +i3geo/classesphp/xml.php | |
35 | +*/ | |
36 | +// | |
37 | +//processa a variável $esquemaadmin definida em ms_configura.php | |
38 | +//essa variável precisa ter um . no final quando não for vazia, evitando erros na inclusão dentro dos SQLs | |
39 | +// | |
40 | + | |
41 | +if (!isset($esquemaadmin)){ | |
42 | + include_once(dirname(__FILE__)."/../../ms_configura.php"); | |
43 | +} | |
44 | +if(!empty($esquemaadmin)){ | |
45 | + $esquemaadmin = str_replace(".","",$esquemaadmin)."."; | |
46 | +} | |
47 | + | |
48 | +/* | |
49 | +Function: geraXmlSistemas (depreciado) | |
50 | + | |
51 | +Parametros: | |
52 | + | |
53 | +perfil {string} - perfil que será considerado na geração do XML | |
54 | + | |
55 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
56 | + | |
57 | +editores {array} - lista de editores cadastrados em ms_configura.php | |
58 | + | |
59 | +Retorno: | |
60 | + | |
61 | +String na estrutura XML | |
62 | +*/ | |
63 | +function geraXmlSistemas($perfil="",$locaplic="",$editores="") | |
64 | +{ | |
65 | + global $esquemaadmin; | |
66 | + if(empty($locaplic)){ | |
67 | + return; | |
68 | + } | |
69 | + $editor = "nao";//verificaEditores($editores); | |
70 | + if (!isset($perfil)){$perfil = "";} | |
71 | + $perfil = str_replace(","," ",$perfil); | |
72 | + $perfil = explode(" ",$perfil); | |
73 | + $dbh = ""; | |
74 | + include($locaplic."/admin/php/conexao.php"); | |
75 | + if($convUTF) | |
76 | + $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
77 | + else | |
78 | + $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
79 | + $xml .= "\n<SISTEMAS>\n"; | |
80 | + $q = "select * from ".$esquemaadmin."i3geoadmin_sistemas"; | |
81 | + $qatlas = $dbh->query($q); | |
82 | + foreach($qatlas as $row) | |
83 | + { | |
84 | + if($row["perfil_sistema"] == "") | |
85 | + $mostra = true; | |
86 | + else | |
87 | + { | |
88 | + $perfilS = explode(" ",str_replace(","," ",$row["perfil_sistema"])); | |
89 | + $mostra = array_in_array($perfil,$perfilS); | |
90 | + } | |
91 | + if(strtolower($row["publicado_sistema"] == "nao")) | |
92 | + {$mostra = false;} | |
93 | + if($editor) | |
94 | + {$mostra = true;} | |
95 | + if($mostra) | |
96 | + { | |
97 | + $xml .= "<SISTEMA>\n"; | |
98 | + $xml .= " <PERFIL>".$row["perfil_sistema"]."</PERFIL>\n"; | |
99 | + $xml .= " <PUBLICADO>".$row["publicado_sistema"]."</PUBLICADO>\n"; | |
100 | + $xml .= " <NOMESIS>".xmlTexto_prepara($row["nome_sistema"])."</NOMESIS>\n"; | |
101 | + $xml = geraXmlSistemas_pegafuncoes($perfil,$xml,$row["id_sistema"],$dbh); | |
102 | + $xml .= "</SISTEMA>\n"; | |
103 | + } | |
104 | + } | |
105 | + $xml .= "</SISTEMAS>\n"; | |
106 | + $dbh = null; | |
107 | + $dbhw = null; | |
108 | + return $xml; | |
109 | +} | |
110 | +/* | |
111 | +Function: geraRSStemas | |
112 | + | |
113 | +RSS com os temas cadastrados | |
114 | + | |
115 | +Parametros: | |
116 | + | |
117 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
118 | + | |
119 | +id_n2 {string} - c�digo do subgrupo do sistema de administração | |
120 | + | |
121 | +Retorno: | |
122 | + | |
123 | +RSS | |
124 | +*/ | |
125 | +function geraRSStemas($locaplic,$id_n2,$output="xml") | |
126 | +{ | |
127 | + global $esquemaadmin; | |
128 | + xml_testaNum([$id_n2]); | |
129 | + $sql = " | |
130 | + select '' as tipo_ws, i3geoadmin_temas.codigo_tema as id_ws,i3geoadmin_temas.nome_tema as nome_ws,'' as desc_ws,'../ms_criamapa.php?layers='||i3geoadmin_temas.codigo_tema as link_ws,i3geoadmin_temas.link_tema as autor_ws | |
131 | + from ".$esquemaadmin."i3geoadmin_n3 as n3 | |
132 | + LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_temas.id_tema = n3.id_tema | |
133 | + LEFT JOIN ".$esquemaadmin."i3geousr_grupotema ON n3.id_tema = i3geousr_grupotema.id_tema | |
134 | + 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"; | |
135 | + return geraXmlRSS($locaplic,$sql,"Lista de temas",$output); | |
136 | +} | |
137 | +/* | |
138 | +Function: geraRSStemasRaiz | |
139 | + | |
140 | +RSS com os temas localizados na raiz de um nível | |
141 | + | |
142 | +Parametros: | |
143 | + | |
144 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
145 | + | |
146 | +id {string} - codigo do no | |
147 | + | |
148 | +nivel {string} - nível do no | |
149 | + | |
150 | +Retorno: | |
151 | + | |
152 | +RSS | |
153 | +*/ | |
154 | +function geraRSStemasRaiz($locaplic,$id,$nivel) | |
155 | +{ | |
156 | + global $esquemaadmin; | |
157 | + xml_testaNum([$id,$nivel]); | |
158 | + $sql = " | |
159 | + select '' as tipo_ws, i3geoadmin_temas.codigo_tema as id_ws,i3geoadmin_temas.nome_tema as nome_ws,'' as desc_ws,'../ms_criamapa.php?layers='||i3geoadmin_temas.codigo_tema as link_ws,i3geoadmin_temas.link_tema as autor_ws | |
160 | + from ".$esquemaadmin."i3geoadmin_raiz as r | |
161 | + LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_temas.id_tema = r.id_tema | |
162 | + LEFT JOIN ".$esquemaadmin."i3geousr_grupotema ON r.id_tema = i3geousr_grupotema.id_tema | |
163 | + 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"; | |
164 | + return geraXmlRSS($locaplic,$sql,"Temas na raiz"); | |
165 | +} | |
166 | +/* | |
167 | +Function: geraRSSsubgrupos | |
168 | + | |
169 | +RSS com os subgrupos cadastrados | |
170 | + | |
171 | +Parametros: | |
172 | + | |
173 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
174 | + | |
175 | +id_n1 {string} - c�digo do grupo do sistema de administração | |
176 | + | |
177 | +Retorno: | |
178 | + | |
179 | +RSS | |
180 | +*/ | |
181 | +function geraRSSsubgrupos($locaplic,$id_n1,$output="json") | |
182 | +{ | |
183 | + global $esquemaadmin; | |
184 | + xml_testaNum([$id_n1]); | |
185 | + $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 "; | |
186 | + $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"; | |
187 | + return geraXmlRSS($locaplic,$sql,"Lista de sub-grupos",$output); | |
188 | +} | |
189 | +/* | |
190 | +Function: geraRSSgrupos | |
191 | + | |
192 | +RSS com os grupos cadastrados | |
193 | + | |
194 | +Parametros: | |
195 | + | |
196 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
197 | + | |
198 | +Retorno: | |
199 | + | |
200 | +RSS | |
201 | +*/ | |
202 | +function geraRSSgrupos($locaplic,$output="xml") | |
203 | +{ | |
204 | + global $esquemaadmin; | |
205 | + $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 "; | |
206 | + $sql .= "from ".$esquemaadmin."i3geoadmin_n1 as n1,".$esquemaadmin."i3geoadmin_grupos as g "; | |
207 | + $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"; | |
208 | + return geraXmlRSS($locaplic,$sql,"Lista de grupos",$output); | |
209 | +} | |
210 | +/* | |
211 | +Function: geraXmlDownload | |
212 | + | |
213 | +RSS com os links para sistemas de download | |
214 | + | |
215 | +Parametros: | |
216 | + | |
217 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
218 | + | |
219 | +Retorno: | |
220 | + | |
221 | +RSS | |
222 | +*/ | |
223 | +function geraXmlDownload($locaplic) | |
224 | +{ | |
225 | + global $esquemaadmin; | |
226 | + $sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'DOWNLOAD' and nome_ws <> ''"; | |
227 | + return geraXmlRSS($locaplic,$sql,"Enderecos para download"); | |
228 | +} | |
229 | +/* | |
230 | +Function: geraXmlWS | |
231 | + | |
232 | +RSS com a lista de WS cadastrados | |
233 | + | |
234 | +Parametros: | |
235 | + | |
236 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
237 | + | |
238 | +Retorno: | |
239 | + | |
240 | +RSS | |
241 | +*/ | |
242 | +function geraXmlWS($locaplic,$output) | |
243 | +{ | |
244 | + global $esquemaadmin; | |
245 | + $sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'WS' and nome_ws <> ''"; | |
246 | + return geraXmlRSS($locaplic,$sql,"Web services",$output); | |
247 | +} | |
248 | +/* | |
249 | +Function: geraXmlKmlrss | |
250 | + | |
251 | +RSS com a lista de KML cadastrados | |
252 | + | |
253 | +Parametros: | |
254 | + | |
255 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
256 | + | |
257 | +Retorno: | |
258 | + | |
259 | +RSS | |
260 | +*/ | |
261 | +function geraXmlKmlrss($locaplic) | |
262 | +{ | |
263 | + global $esquemaadmin; | |
264 | + $sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'KML' and nome_ws <> ''"; | |
265 | + return geraXmlRSS($locaplic,$sql,"Web services"); | |
266 | +} | |
267 | +/* | |
268 | +Function: geraXmlWMS | |
269 | + | |
270 | +RSS com a lista de WMS cadastrados | |
271 | + | |
272 | +Parametros: | |
273 | + | |
274 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
275 | + | |
276 | +Retorno: | |
277 | + | |
278 | +RSS | |
279 | +*/ | |
280 | +function geraXmlWMS($locaplic,$output) | |
281 | +{ | |
282 | + global $esquemaadmin; | |
283 | + $sql = "select * from ".$esquemaadmin."i3geoadmin_ws where (tipo_ws = 'WMS' or tipo_ws = 'WMS-Tile') and nome_ws <> '' order by nome_ws"; | |
284 | + return geraXmlRSS($locaplic,$sql,"Web services WMS-OGC",$output); | |
285 | +} | |
286 | +/* | |
287 | +Function: geraXmlWMSmetaestat | |
288 | + | |
289 | +RSS com a lista de WMS das variaveis cadastradas no sistema de metadados estatisticos | |
290 | + | |
291 | +Parametros: | |
292 | + | |
293 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
294 | + | |
295 | +Retorno: | |
296 | + | |
297 | +RSS | |
298 | +*/ | |
299 | +function geraXmlWMSmetaestat($locaplic) | |
300 | +{ | |
301 | + global $esquemaadmin; | |
302 | + $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
303 | + $c = "/classesphp/xml.php"; | |
304 | + if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')){ | |
305 | + $c = "\classesphp\xml.php"; | |
306 | + } | |
307 | + $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST']."/".(basename(str_replace($c,"",__FILE__))); | |
308 | + $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"; | |
309 | + return geraXmlRSS($locaplic,$sql,"Web services WMS-TIME OGC"); | |
310 | +} | |
311 | +/* | |
312 | +Function: geraXmlGeorss | |
313 | + | |
314 | +RSS com a lista de GEORSS cadastrados | |
315 | + | |
316 | +Parametros: | |
317 | + | |
318 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
319 | + | |
320 | +Retorno: | |
321 | + | |
322 | +RSS | |
323 | +*/ | |
324 | +function geraXmlGeorss($locaplic,$output) | |
325 | +{ | |
326 | + global $esquemaadmin; | |
327 | + $sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'GEORSS' and nome_ws <> ''"; | |
328 | + return geraXmlRSS($locaplic,$sql,"Georss",$output); | |
329 | +} | |
330 | +/* | |
331 | +Function: geraRSStemasDownload | |
332 | + | |
333 | +RSS com a lista de temas para download | |
334 | + | |
335 | +Parametros: | |
336 | + | |
337 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
338 | + | |
339 | +Retorno: | |
340 | + | |
341 | +RSS | |
342 | +*/ | |
343 | +function geraRSStemasDownload($locaplic) | |
344 | +{ | |
345 | + global $esquemaadmin; | |
346 | + $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
347 | + $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].(str_replace("/admin/rsstemasdownload.php","",$_SERVER['PHP_SELF'])); | |
348 | + $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 "; | |
349 | + $sql .= " | |
350 | + 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 | |
351 | + where | |
352 | + t.id_tema = n3.id_tema | |
353 | + and n3.id_n2 = n2.id_n2 | |
354 | + and n2.id_subgrupo = sg.id_subgrupo | |
355 | + and n2.id_n1 = n1.id_n1 | |
356 | + and n1.id_grupo = g.id_grupo | |
357 | + and (t.download_tema != 'nao' and t.download_tema != 'NAO') | |
358 | + and t.tipoa_tema != 'WMS' | |
359 | + and n3.n3_perfil = '' | |
360 | + and n2.n2_perfil = '' | |
361 | + and n1.n1_perfil = '' | |
362 | + and n3.publicado != 'NAO' | |
363 | + and n2.publicado != 'NAO' | |
364 | + and n1.publicado != 'NAO' | |
365 | + "; | |
366 | + //echo $sql;exit; | |
367 | + return geraXmlRSS($locaplic,$sql,"Temas para download"); | |
368 | +} | |
369 | +/* | |
370 | +Function: geraRSStemasKml | |
371 | + | |
372 | +RSS com a lista de temas que permitem KML | |
373 | + | |
374 | +Parametros: | |
375 | + | |
376 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
377 | + | |
378 | +Retorno: | |
379 | + | |
380 | +RSS | |
381 | +*/ | |
382 | +function geraRSStemasKml($locaplic) | |
383 | +{ | |
384 | + global $esquemaadmin; | |
385 | + $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
386 | + $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].(str_replace("/admin/rsstemaskml.php","",$_SERVER['PHP_SELF'])); | |
387 | + $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 "; | |
388 | + $sql .= " | |
389 | + 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 | |
390 | + where | |
391 | + t.id_tema = n3.id_tema | |
392 | + and n3.id_n2 = n2.id_n2 | |
393 | + and n2.id_subgrupo = sg.id_subgrupo | |
394 | + and n2.id_n1 = n1.id_n1 | |
395 | + and n1.id_grupo = g.id_grupo | |
396 | + and (t.kml_tema != 'nao' and t.kml_tema != 'NAO') | |
397 | + and n3.n3_perfil = '' | |
398 | + and n2.n2_perfil = '' | |
399 | + and n1.n1_perfil = '' | |
400 | + and n3.publicado != 'NAO' | |
401 | + and n2.publicado != 'NAO' | |
402 | + and n1.publicado != 'NAO' | |
403 | + "; | |
404 | + //echo $sql;exit; | |
405 | + return geraXmlRSS($locaplic,$sql,"Temas em KML"); | |
406 | +} | |
407 | +/* | |
408 | +Function: geraRSStemasOgc | |
409 | + | |
410 | +RSS com a lista de temas que permitem serviços OGC | |
411 | + | |
412 | +Parametros: | |
413 | + | |
414 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
415 | + | |
416 | +Retorno: | |
417 | + | |
418 | +RSS | |
419 | +*/ | |
420 | +function geraRSStemasOgc($locaplic) | |
421 | +{ | |
422 | + global $esquemaadmin; | |
423 | + $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
424 | + $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].(str_replace("/admin/rsstemasogc.php","",$_SERVER['PHP_SELF'])); | |
425 | + $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 "; | |
426 | + $sql .= " | |
427 | + 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 | |
428 | + where | |
429 | + t.id_tema = n3.id_tema | |
430 | + and n3.id_n2 = n2.id_n2 | |
431 | + and n2.id_subgrupo = sg.id_subgrupo | |
432 | + and n2.id_n1 = n1.id_n1 | |
433 | + and n1.id_grupo = g.id_grupo | |
434 | + and (t.ogc_tema != 'nao' or t.ogc_tema != 'NAO') | |
435 | + and t.tipoa_tema != 'WMS' | |
436 | + and n3.n3_perfil = '' | |
437 | + and n2.n2_perfil = '' | |
438 | + and n1.n1_perfil = '' | |
439 | + and n3.publicado != 'NAO' | |
440 | + and n2.publicado != 'NAO' | |
441 | + and n1.publicado != 'NAO' | |
442 | + "; | |
443 | + //echo $sql;exit; | |
444 | + return geraXmlRSS($locaplic,$sql,"Temas em KML"); | |
445 | +} | |
446 | +/* | |
447 | +Function: geraXmlRSS | |
448 | + | |
449 | +Gera um RSS com base em um SQL compatível com o sistema de administração. | |
450 | + | |
451 | +O SQL deverá retornar os itens nome_ws desc_ws e link_ws | |
452 | + | |
453 | +Parametros: | |
454 | + | |
455 | +locaplic {string} - localização do i3Geo no sistema de arquivos | |
456 | + | |
457 | +sql {string} - SQL que será aplicado ao sistema de administração | |
458 | + | |
459 | +descricao {string} - descrição que será inserida no canal RSS | |
460 | + | |
461 | +output {string} - xml|json | |
462 | +Retorno: | |
463 | + | |
464 | +RSS | |
465 | +*/ | |
466 | +function geraXmlRSS($locaplic,$sql,$descricao,$output="xml") | |
467 | +{ | |
468 | + global $esquemaadmin; | |
469 | + if(empty($output)){ | |
470 | + $output = "xml"; | |
471 | + } | |
472 | + //var_dump($_SERVER);exit; | |
473 | + $dbh = ""; | |
474 | + include($locaplic."/admin/php/conexao.php"); | |
475 | + if($convUTF){ | |
476 | + $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
477 | + } else { | |
478 | + $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
479 | + } | |
480 | + $xml .= "<rss version='2.0'>"; | |
481 | + $xml .= "<channel>\n"; | |
482 | + $xml .= "<title>RSS</title>\n"; | |
483 | + $xml .= "<description>".str_replace("&","&",$descricao)."</description>\n"; | |
484 | + $xml .= "<link></link>\n"; | |
485 | + $xml .= "<docs></docs>\n"; | |
486 | + $xml .= "<copyright>Gerado pelo i3Geo</copyright>\n"; | |
487 | + $xml .= "<language>pt-br</language>\n"; | |
488 | + $xml .= "<webmaster></webmaster>\n"; | |
489 | + $json = array( | |
490 | + "description"=>$descricao, | |
491 | + "copyright"=>"Gerado pelo i3Geo", | |
492 | + "language"=>"pt-br" | |
493 | + ); | |
494 | + $jsonItems = array(); | |
495 | + $qatlas = $dbh->query($sql); | |
496 | + foreach($qatlas as $row) { | |
497 | + $xml .= "<item>\n"; | |
498 | + $xml .= "<category/>\n"; | |
499 | + $xml .= "<title>".entity_decode($row["nome_ws"])."</title>\n"; | |
500 | + $xml .= "<description>".xmlTexto_prepara(entity_decode($row["desc_ws"]))."</description>\n"; | |
501 | + $link = xmlTexto_prepara($row["link_ws"]); | |
502 | + if(stristr($link, 'http') === FALSE){ | |
503 | + $link = "http://".$_SERVER["HTTP_HOST"].dirname($_SERVER["REQUEST_URI"])."/".$link; | |
504 | + } | |
505 | + $xml .= "<link><![CDATA[".$link."]]></link>\n"; | |
506 | + $xml .= "<pubDate/>\n"; | |
507 | + $xml .= "<author>".xmlTexto_prepara($row["autor_ws"])."</author>\n"; | |
508 | + $xml .= "<nacessos></nacessos>\n"; | |
509 | + $xml .= "<nacessosok></nacessosok>\n"; | |
510 | + $xml .= "<id>".xmlTexto_prepara($row["id_ws"])."</id>\n"; | |
511 | + $xml .= "<tipo>".$row["tipo_ws"]."</tipo>\n"; | |
512 | + $xml .= "</item>\n"; | |
513 | + $jsonItems[] = array( | |
514 | + "title"=>$row["nome_ws"], | |
515 | + "description"=>$row["desc_ws"], | |
516 | + "link"=>$link."&output=json", | |
517 | + "author"=>$row["autor_ws"], | |
518 | + "id"=>$row["id_ws"], | |
519 | + "tipo"=>$row["tipo_ws"] | |
520 | + ); | |
521 | + } | |
522 | + $json["items"] = $jsonItems; | |
523 | + $xml .= "</channel></rss>\n"; | |
524 | + $dbh = null; | |
525 | + $dbhw = null; | |
526 | + if($output == "xml"){ | |
527 | + return $xml; | |
528 | + } | |
529 | + else{ | |
530 | + return json_encode($json); | |
531 | + } | |
532 | +} | |
533 | +function geraXmlAtlas($locaplic,$editores) | |
534 | +{ | |
535 | + global $esquemaadmin; | |
536 | + //error_reporting(0); | |
537 | + $dbh = ""; | |
538 | + include($locaplic."/admin/php/conexao.php"); | |
539 | + | |
540 | + if($convUTF) | |
541 | + $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
542 | + else | |
543 | + $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
544 | + $xml .= "\n<RAIZ>\n"; | |
545 | + //$q = "select * from i3geoadmin_atlas"; | |
546 | + $qatlas = $dbh->query("select * from ".$esquemaadmin."i3geoadmin_atlas"); | |
547 | + | |
548 | + $editor = "nao";//$editor = verificaEditores($editores); | |
549 | + foreach($qatlas as $row) | |
550 | + { | |
551 | + $mostra = true; | |
552 | + if(strtolower($row["publicado_atlas"] == "nao")) | |
553 | + {$mostra = false;} | |
554 | + if($editor) | |
555 | + {$mostra = true;} | |
556 | + if($mostra) | |
557 | + { | |
558 | + $xml .= "<ATLAS>\n"; | |
559 | + $xml .= " <ID>".$row["id_atlas"]."</ID>\n"; | |
560 | + $xml .= " <PUBLICADO>".$row["publicado_atlas"]."</PUBLICADO>\n"; | |
561 | + $xml .= " <TITULO>".xmlTexto_prepara($row["titulo_atlas"])."</TITULO>\n"; | |
562 | + $xml .= " <DESCRICAO>".xmlTexto_prepara($row["desc_atlas"])."</DESCRICAO>\n"; | |
563 | + $xml .= " <ICONE>".$row["icone_atlas"]."</ICONE>\n"; | |
564 | + $xml .= " <LINKMAISINFO><![CDATA[".xmlTexto_prepara($row["link_atlas"])."]]></LINKMAISINFO>\n"; | |
565 | + $xml .= " <TEMPLATEHTML>".xmlTexto_prepara($row["template_atlas"])."</TEMPLATEHTML>\n"; | |
566 | + $xml .= " <WABERTURA>".$row["w_atlas"]."</WABERTURA>\n"; | |
567 | + $xml .= " <HABERTURA>".$row["h_atlas"]."</HABERTURA>\n"; | |
568 | + $xml .= " <PRANCHADEFAULT>".$row["pranchadefault_atlas"]."</PRANCHADEFAULT>\n"; | |
569 | + $xml .= " <TIPOGUIAS>".$row["tipoguias_atlas"]."</TIPOGUIAS>\n"; | |
570 | + $xml .= " <BASEMAPFILE>".$row["basemapfile_atlas"]."</BASEMAPFILE>\n"; | |
571 | + $xml .= " <PRANCHAS>\n"; | |
572 | + $xml = geraXmlAtlas_pegapranchas($xml,$row["id_atlas"],$dbh); | |
573 | + $xml .= " </PRANCHAS>\n"; | |
574 | + $xml .= " </ATLAS>\n"; | |
575 | + } | |
576 | + } | |
577 | + $xml .= "</RAIZ>\n"; | |
578 | + $dbh = null; | |
579 | + $dbhw = null; | |
580 | + return $xml; | |
581 | +} | |
582 | +function geraXmlIdentifica($perfil,$locaplic,$editores="") | |
583 | +{ | |
584 | + global $esquemaadmin; | |
585 | + $editor = "nao";//$editor = verificaEditores($editores); | |
586 | + if (!isset($perfil)){$perfil = "";} | |
587 | + $perfil = str_replace(","," ",$perfil); | |
588 | + $perfil = explode(" ",$perfil); | |
589 | + $dbh = ""; | |
590 | + include($locaplic."/admin/php/conexao.php"); | |
591 | + if($convUTF) | |
592 | + $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
593 | + else | |
594 | + $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
595 | + $xml .= "\n<SISTEMAS>\n"; | |
596 | + $q = "select * from ".$esquemaadmin."i3geoadmin_identifica "; | |
597 | + $qi = $dbh->query($q); | |
598 | + foreach($qi as $row) | |
599 | + { | |
600 | + $mostra = true; | |
601 | + if(strtolower($row["publicado_i"] == "nao")) | |
602 | + {$mostra = false;} | |
603 | + if($editor) | |
604 | + {$mostra = true;} | |
605 | + if($mostra) | |
606 | + { | |
607 | + $xml .= " <FUNCAO>\n"; | |
608 | + $xml .= " <NOMESIS>".xmlTexto_prepara($row["nome_i"])."</NOMESIS>\n"; | |
609 | + $xml .= " <ABRIR>".xmlTexto_prepara($row["abrir_i"])."</ABRIR>\n"; | |
610 | + $xml .= " <PUBLICADO>".$row["publicado_i"]."</PUBLICADO>\n"; | |
611 | + $target = $row["target_i"]; | |
612 | + if($target == ""){$target = "_self";} | |
613 | + $xml .= " <TARGET>".$target."</TARGET>\n"; | |
614 | + $xml .= " </FUNCAO>\n"; | |
615 | + }//error_reporting(0); | |
616 | + } | |
617 | + $xml .= "</SISTEMAS>\n"; | |
618 | + $dbh = null; | |
619 | + $dbhw = null; | |
620 | + return $xml; | |
621 | +} | |
622 | +function geraXmlMapas($perfil,$locaplic,$editores) | |
623 | +{ | |
624 | + global $esquemaadmin; | |
625 | + if (!isset($perfil)){$perfil = "";} | |
626 | + $perfil = str_replace(","," ",$perfil); | |
627 | + $perfil = explode(" ",$perfil); | |
628 | + $dbh = ""; | |
629 | + include($locaplic."/admin/php/conexao.php"); | |
630 | + if($convUTF) | |
631 | + $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
632 | + else | |
633 | + $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
634 | + $xml .= "\n<MAPAS>\n"; | |
635 | + $q = "select * from ".$esquemaadmin."i3geoadmin_mapas"; | |
636 | + $q = $dbh->query($q); | |
637 | + $editor = "nao";//$editor = "nao";//verificaEditores($editores); | |
638 | + $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
639 | + $c = "/classesphp/xml.php"; | |
640 | + if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')){ | |
641 | + $c = "\classesphp\xml.php"; | |
642 | + } | |
643 | + $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST']."/".(basename(str_replace($c,"",__FILE__))); | |
644 | + foreach($q as $row) | |
645 | + { | |
646 | + $mostraMapa = false; | |
647 | + if($row["perfil_mapa"] == "") | |
648 | + {$mostraMapa = true;} | |
649 | + else | |
650 | + { | |
651 | + $perfilMapa = explode(" ",str_replace(","," ",$row["perfil_mapa"])); | |
652 | + $mostraMapa = array_in_array($perfil,$perfilMapa); | |
653 | + } | |
654 | + if(strtolower($row["publicado_mapa"] == "nao")) | |
655 | + {$mostraMapa = false;} | |
656 | + if($editor) | |
657 | + {$mostraMapa = true;} | |
658 | + | |
659 | + if($mostraMapa) | |
660 | + { | |
661 | + $xml .= "<MAPA>\n"; | |
662 | + $perfil = $row["perfil_mapa"]; | |
663 | + $xml .= " <PERFIL>".$perfil."</PERFIL>\n"; | |
664 | + $xml .= " <NOME>".xmlTexto_prepara($row["nome_mapa"])."</NOME>\n"; | |
665 | + $xml .= " <DESCRICAO>".xmlTexto_prepara($row["desc_mapa"])."</DESCRICAO>\n"; | |
666 | + $xml .= " <IMAGEM>".xmlTexto_prepara($row["imagem_mapa"])."</IMAGEM>\n"; | |
667 | + $xml .= " <TEMAS>".$row["temas_mapa"]."</TEMAS>\n"; | |
668 | + $xml .= " <LIGADOS>".$row["ligados_mapa"]."</LIGADOS>\n"; | |
669 | + $extensao = $row["ext_mapa"]; | |
670 | + $xml .= " <EXTENSAO>".$extensao."</EXTENSAO>\n"; | |
671 | + $outros = xmlTexto_prepara($row["outros_mapa"]); | |
672 | + $xml .= " <OUTROS><![CDATA[".$outros."]]></OUTROS>\n"; | |
673 | + $linkdireto = xmlTexto_prepara($row["linkdireto_mapa"]); | |
674 | + if(empty($linkdireto)){ | |
675 | + $linkdireto = $url."/ms_criamapa.php?mapext=".$extensao."&perfil=".$perfil."&temasa=".$temas."&layers=".$ligados.$row["outros_mapa"]; | |
676 | + $linkdireto = xmlTexto_prepara($linkdireto); | |
677 | + } | |
678 | + $xml .= " <LINKDIRETO><![CDATA[".$linkdireto."]]></LINKDIRETO>\n"; | |
679 | + $xml .= " <PUBLICADO>".$row["publicado_mapa"]."</PUBLICADO>\n"; | |
680 | + $xml .= " <ID_MAPA>".$row["id_mapa"]."</ID_MAPA>\n"; | |
681 | + if($row["mapfile"] != ""){ | |
682 | + $xml .= " <CONTEMMAPFILE>sim</CONTEMMAPFILE>\n"; | |
683 | + } | |
684 | + else{ | |
685 | + $xml .= " <CONTEMMAPFILE>nao</CONTEMMAPFILE>\n"; | |
686 | + } | |
687 | + $xml .= "</MAPA>\n"; | |
688 | + } | |
689 | + } | |
690 | + $xml .= "</MAPAS>\n"; | |
691 | + $dbh = null; | |
692 | + $dbhw = null; | |
693 | + return $xml; | |
694 | +} | |
695 | +//mostra apenas os mapas que possuem outros_mapa definido, o que e tipico do sistema de metadados estatisticos | |
696 | +function geraRSSmapas($locaplic,$output) | |
697 | +{ | |
698 | + global $esquemaadmin; | |
699 | + $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); | |
700 | + $c = "/classesphp/xml.php"; | |
701 | + if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')){ | |
702 | + $c = "\classesphp\xml.php"; | |
703 | + } | |
704 | + $url = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST']."/".(basename(str_replace($c,"",__FILE__))); | |
705 | + $descricao = "'<![CDATA[Outros links<br>"; | |
706 | + $descricao .= "<a href=$url/mashups/openlayers.php?restauramapa='||id_mapa||'&fundo=e_wsm >Openlayers 1</a><br><br>"; | |
707 | + $descricao .= "<a href=$url/mashups/openlayers.php?restauramapa='||id_mapa||'&fundo= >Openlayers 2</a><br><br>"; | |
708 | + $descricao .= "<a href=$url/mashups/openlayers.php?restauramapa='||id_mapa||'&fundo=e_wsm&botoes=legenda pan zoombox zoomtot zoomin zoomout distancia area identifica >Openlayers 3</a><br><br>"; | |
709 | + $descricao .= "<a href=$url/mashups/openlayers.php?restauramapa='||id_mapa||' >Openlayers 4</a><br><br>"; | |
710 | + $descricao .= "<img src=$url/ferramentas/salvamapa/geraminiatura.php?w=300&h=300&restauramapa='||id_mapa||' >]]>'"; | |
711 | + $sql = "select '' as tipo_ws,'".$url."/ms_criamapa.php?restauramapa='||id_mapa as link_ws, nome_mapa as nome_ws, ".$descricao." as desc_ws, '' as autor_ws from ".$esquemaadmin."i3geoadmin_mapas WHERE publicado_mapa = 'sim' AND mapfile != ''"; | |
712 | + //echo $sql;exit; | |
713 | + return geraXmlRSS($locaplic,$sql,"Mapas cadastrados",$output); | |
714 | +} | |
715 | + | |
716 | +// | |
717 | +//$id_menu = id do menu que será montado | |
718 | +//$perfil = perfis separados por espaços | |
719 | +//$tipo = gruposeraiz|subgrupos|temas | |
720 | +//$dbh objeto com a conexão com o banco | |
721 | +//$locaplic = localização do i3geo no servidor | |
722 | +// | |
723 | +function geraXmlMenutemas($perfil,$id_menu,$tipo,$locaplic) | |
724 | +{ | |
725 | + global $esquemaadmin; | |
726 | + xml_testaNum([$id_menu]); | |
727 | + $dbh = ""; | |
728 | + include($locaplic."/admin/php/conexao.php"); | |
729 | + if (!isset($perfil)){$perfil = "";} | |
730 | + $perfil = str_replace(","," ",$perfil); | |
731 | + $perfil = explode(" ",$perfil); | |
732 | + if($convUTF) | |
733 | + $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">"; | |
734 | + else | |
735 | + $xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">"; | |
736 | + $xml .= "\n<TEMASGEO>\n"; | |
737 | + if(!isset($id_menu)) | |
738 | + $xml .= "<CABECALHO>Utilize ?id_menu=1 por exemplo</CABECALHO>\n"; | |
739 | + else | |
740 | + $xml .= "<CABECALHO></CABECALHO>\n"; | |
741 | + // | |
742 | + //pega os temas na raiz | |
743 | + // | |
744 | + $q = "select nome_tema,codigo_tema,desc_tema,link_tema,tipoa_tema,tags_tema,kml_tema,ogc_tema,download_tema,r.perfil as perfil from ".$esquemaadmin."i3geoadmin_raiz as r,".$esquemaadmin."i3geoadmin_temas as temas where r.id_nivel = 0 and r.id_tema = temas.id_tema and r.id_menu = $id_menu "; | |
745 | + $qtemasraiz = $dbh->query($q); | |
746 | + $xml = geraXmlMenutemas_notema($qtemasraiz,$xml,$perfil); | |
747 | + $q = "select nome_grupo,desc_grupo,n1.id_grupo,n1.id_n1,n1.n1_perfil as perfil from ".$esquemaadmin."i3geoadmin_n1 as n1,".$esquemaadmin."i3geoadmin_grupos as grupos where n1.id_menu = $id_menu and n1.id_grupo = grupos.id_grupo "; | |
748 | + $qgrupos = $dbh->query($q); | |
749 | + foreach($qgrupos as $row) | |
750 | + { | |
751 | + //filtra pelo perfil | |
752 | + if($row["perfil"] == "") | |
753 | + {$mostra = true;} | |
754 | + else | |
755 | + { | |
756 | + $perfilatual = explode(" ",str_replace(","," ",$row["perfil"])); | |
757 | + $mostra = array_in_array($perfil,$perfilatual); | |
758 | + } | |
759 | + if($mostra) | |
760 | + { | |
761 | + $xml .= "<GRUPO>\n"; | |
762 | + $xml .= " <GTIPO>".xmlTexto_prepara($row["nome_grupo"])."</GTIPO>\n"; | |
763 | + // | |
764 | + //pega temas na raiz | |
765 | + // | |
766 | + $q = "select nome_tema,codigo_tema,desc_tema,link_tema,tipoa_tema,tags_tema,kml_tema,ogc_tema,download_tema,r.perfil as perfil from ".$esquemaadmin."i3geoadmin_raiz as r,".$esquemaadmin."i3geoadmin_temas as temas where r.nivel = 1 and r.id_nivel = ".$row["id_n1"]." and r.id_tema = temas.id_tema and r.id_menu = $id_menu "; | |
767 | + $qtemasraiz = $dbh->query($q); | |
768 | + $xml = geraXmlMenutemas_notema($qtemasraiz,$xml,$perfil); | |
769 | + if(isset($tipo) && ($tipo == "subgrupos") || ($tipo == "")) | |
770 | + $xml = geraXmlMenutemas_pegasubgrupos($row["id_n1"],$xml,$dbh,$tipo,$perfil); | |
771 | + $xml .= " <DTIPO>".xmlTexto_prepara($row["desc_grupo"])."</DTIPO>\n"; | |
772 | + $xml .= " <PERFIL>".$row["perfil"]."</PERFIL>\n"; | |
773 | + $xml .= "</GRUPO>\n"; | |
774 | + } | |
775 | + } | |
776 | + $xml .= "</TEMASGEO>\n"; | |
777 | + $dbh = null; | |
778 | + $dbhw = null; | |
779 | + return $xml; | |
780 | +} | |
781 | +function geraXmlMenutemas_pegasubgrupos($id_n1,$xml,$dbh,$tipo,$perfil) | |
782 | +{ | |
783 | + global $esquemaadmin; | |
784 | + xml_testaNum([$id_n1]); | |
785 | + $q = "select subgrupos.id_subgrupo,nome_subgrupo,id_n2,n2.n2_perfil as perfil from ".$esquemaadmin."i3geoadmin_n2 as n2,".$esquemaadmin."i3geoadmin_subgrupos as subgrupos where n2.id_n1 = $id_n1 and n2.id_subgrupo = subgrupos.id_subgrupo "; | |
786 | + //echo $q;exit; | |
787 | + $qsgrupos = $dbh->query($q); | |
788 | + foreach($qsgrupos as $row) | |
789 | + { | |
790 | + if($row["perfil"] == "") | |
791 | + $mostra = true; | |
792 | + else | |
793 | + { | |
794 | + $perfilatual = explode(" ",str_replace(","," ",$row["perfil"])); | |
795 | + $mostra = array_in_array($perfil,$perfilatual); | |
796 | + } | |
797 | + if($mostra) | |
798 | + { | |
799 | + $xml .= "<SGRUPO>\n"; | |
800 | + $xml .= "<SDTIPO>".xmlTexto_prepara($row["nome_subgrupo"])."</SDTIPO>\n"; | |
801 | + $xml .= "<PERFIL>".xmlTexto_prepara($row["perfil"])."</PERFIL>\n"; | |
802 | + if(isset($tipo) && ($tipo == "temas") || ($tipo == "")) | |
803 | + $xml = geraXmlMenutemas_pegatemas($row["id_n2"],$xml,$dbh,$perfil); | |
804 | + $xml .= "</SGRUPO>\n"; | |
805 | + } | |
806 | + } | |
807 | + return $xml; | |
808 | +} | |
809 | +function geraXmlMenutemas_pegatemas($id_n2,$xml,$dbh,$perfil) | |
810 | +{ | |
811 | + global $esquemaadmin; | |
812 | + xml_testaNum([$id_n2]); | |
813 | + $q = "select nome_tema,codigo_tema,desc_tema,link_tema,tipoa_tema,tags_tema,kml_tema,ogc_tema,download_tema,n3.n3_perfil as perfil from ".$esquemaadmin."i3geoadmin_n3 as n3,".$esquemaadmin."i3geoadmin_temas as temas where n3.id_n2 = $id_n2 and n3.id_tema = temas.id_tema "; | |
814 | + $qtemas = $dbh->query($q); | |
815 | + $xml = geraXmlMenutemas_notema($qtemas,$xml,$perfil); | |
816 | + return $xml; | |
817 | +} | |
818 | +function geraXmlMenutemas_notema($qtemas,$xml,$perfil) | |
819 | +{ | |
820 | + global $esquemaadmin; | |
821 | + foreach($qtemas as $row) | |
822 | + { | |
823 | + if($row["perfil"] == "") | |
824 | + {$mostra = true;} | |
825 | + else | |
826 | + { | |
827 | + $perfilatual = explode(" ",str_replace(","," ",$row["perfil"])); | |
828 | + $mostra = array_in_array($perfil,$perfilatual); | |
829 | + } | |
830 | + if($mostra) | |
831 | + { | |
832 | + $xml .= "<TEMA>\n"; | |
833 | + $xml .= "<TID>".$row["codigo_tema"]."</TID>\n"; | |
834 | + $xml .= "<PERFIL>".$row["perfil"]."</PERFIL>\n"; | |
835 | + $xml .= "<TNOME>".xmlTexto_prepara($row["nome_tema"])."</TNOME>\n"; | |
836 | + $xml .= "<TDESC>".xmlTexto_prepara($row["desc_tema"])."</TDESC>\n"; | |
837 | + $xml .= "<TLINK><![CDATA[".xmlTexto_prepara($row["link_tema"])."]]></TLINK>\n"; | |
838 | + $xml .= "<TIPOA>".$row["tipoa_tema"]."</TIPOA>\n"; | |
839 | + $xml .= "<TAGS>".xmlTexto_prepara($row["tags_tema"])."</TAGS>\n"; | |
840 | + $xml .= "<KML>".$row["kml_tema"]."</KML>\n"; | |
841 | + if($row["tipoa_tema"] == "WMS") | |
842 | + {$xml .= "<OGC>nao</OGC>\n";} | |
843 | + else | |
844 | + {$xml .= "<OGC>".$row["ogc_tema"]."</OGC>\n";} | |
845 | + $xml .= "<DOWNLOAD>".$row["download_tema"]."</DOWNLOAD>\n"; | |
846 | + $xml .= "<NACESSOS></NACESSOS>\n"; | |
847 | + $xml .= "</TEMA>\n"; | |
848 | + } | |
849 | + } | |
850 | + return $xml; | |
851 | +} | |
852 | +function geraXmlAtlas_pegapranchas($xml,$id_atlas,$dbh) | |
853 | +{ | |
854 | + global $esquemaadmin; | |
855 | + xml_testaNum([$id_atlas]); | |
856 | + $q = "select * from ".$esquemaadmin."i3geoadmin_atlasp as p where p.id_atlas = $id_atlas order by ordem_prancha"; | |
857 | + $qpranchas = $dbh->query($q); | |
858 | + foreach($qpranchas as $row) | |
859 | + { | |
860 | + $xml .= " <PRANCHA>\n"; | |
861 | + $xml .= " <ID>".$row["id_prancha"]."</ID>\n"; | |
862 | + $xml .= " <TITULO>".xmlTexto_prepara($row["titulo_prancha"])."</TITULO>\n"; | |
863 | + $xml .= " <DESCRICAO>".xmlTexto_prepara($row["desc_prancha"])."</DESCRICAO>\n"; | |
864 | + $xml .= " <ICONE>".$row["icone_prancha"]."</ICONE>\n"; | |
865 | + $xml .= " <LINKMAISINFO><![CDATA[".xmlTexto_prepara($row["link_prancha"])."]]></LINKMAISINFO>\n"; | |
866 | + $xml .= " <WABERTURA>".$row["w_prancha"]."</WABERTURA>\n"; | |
867 | + $xml .= " <HABERTURA>".$row["h_prancha"]."</HABERTURA>\n"; | |
868 | + $xml .= " <MAPEXT>".$row["mapext_prancha"]."</MAPEXT>\n"; | |
869 | + $xml .= " <TEMAS>\n"; | |
870 | + $xml = geraXmlAtlas_pegatemas($xml,$row["id_prancha"],$dbh); | |
871 | + $xml .= " </TEMAS>\n"; | |
872 | + $xml .= " </PRANCHA>\n"; | |
873 | + } | |
874 | + return $xml; | |
875 | +} | |
876 | +function geraXmlAtlas_pegatemas($xml,$id_prancha,$dbh) | |
877 | +{ | |
878 | + global $esquemaadmin; | |
879 | + xml_testaNum([$id_prancha]); | |
880 | + $q = "select t.codigo_tema,t.ligado_tema from ".$esquemaadmin."i3geoadmin_atlast as t where t.id_prancha = '$id_prancha' order by ordem_tema"; | |
881 | + //echo $q; | |
882 | + $qtemas = $dbh->query($q); | |
883 | + foreach($qtemas as $row) | |
884 | + { | |
885 | + $xml .= "<TEMA>\n"; | |
886 | + $xml .= "<CODIGO>".$row["codigo_tema"]."</CODIGO>\n"; | |
887 | + $xml .= "<LIGADO>".$row["ligado_tema"]."</LIGADO>\n"; | |
888 | + $xml .= "</TEMA>\n"; | |
889 | + } | |
890 | + return $xml; | |
891 | +} | |
892 | +function geraXmlSistemas_pegafuncoes($perfil,$xml,$id_sistema,$dbh) | |
893 | +{ | |
894 | + global $esquemaadmin; | |
895 | + xml_testaNum([$id_sistema]); | |
896 | + $q = "select * from ".$esquemaadmin."i3geoadmin_sistemasf where id_sistema = '$id_sistema'"; | |
897 | + $qtemas = $dbh->query($q); | |
898 | + foreach($qtemas as $row) | |
899 | + { | |
900 | + if($row["perfil_funcao"] == "") | |
901 | + $mostra = true; | |
902 | + else | |
903 | + { | |
904 | + $perfilF = explode(" ",str_replace(","," ",$row["perfil_funcao"])); | |
905 | + $mostra = array_in_array($perfil,$perfilF); | |
906 | + } | |
907 | + if($mostra) | |
908 | + { | |
909 | + $xml .= "<FUNCAO>\n"; | |
910 | + $xml .= " <NOMEFUNCAO>".xmlTexto_prepara($row["nome_funcao"])."</NOMEFUNCAO>\n"; | |
911 | + $xml .= " <ABRIR>".xmlTexto_prepara($row["abrir_funcao"])."</ABRIR>\n"; | |
912 | + $xml .= " <JANELAW>".$row["w_funcao"]."</JANELAW>\n"; | |
913 | + $xml .= " <JANELAH>".$row["h_funcao"]."</JANELAH>\n"; | |
914 | + $xml .= " <PERFIL>".$row["perfil_funcao"]."</PERFIL>\n"; | |
915 | + $xml .= "</FUNCAO>\n"; | |
916 | + } | |
917 | + } | |
918 | + return $xml; | |
919 | +} | |
920 | +function array_in_array($needle, $haystack) | |
921 | +{ | |
922 | + //Make sure $needle is an array for foreach | |
923 | + if(!is_array($needle)) $needle = array($needle); | |
924 | + //For each value in $needle, return TRUE if in $haystack | |
925 | + foreach($needle as $pin) | |
926 | + if(in_array($pin, $haystack)) return TRUE; | |
927 | + //Return FALSE if none of the values from $needle are found in $haystack | |
928 | + return FALSE; | |
929 | +} | |
930 | +function xmlTexto_prepara($texto) | |
931 | +{ | |
932 | + return str_replace("&","&",$texto); | |
933 | +} | |
934 | +function entity_decode($texto) | |
935 | +{ | |
936 | + return html_entity_decode($texto); | |
937 | +} | |
938 | +function xml_testaNum($valores){ | |
939 | + foreach ($valores as $valor) { | |
940 | + if(!empty($valor) && !is_numeric($valor)) { | |
941 | + ob_clean(); | |
942 | + header ( "HTTP/1.1 403 valor nao numerico" ); | |
943 | + exit; | |
944 | + } | |
945 | + } | |
946 | +} | |
947 | +?> | ... | ... |
js/guias.js
... | ... | @@ -218,8 +218,6 @@ i3GEO.guias = |
218 | 218 | // combo de opcoes para abrir os mapas |
219 | 219 | // salvos |
220 | 220 | // como mapfiles |
221 | - // esses links tambem sao colocados em | |
222 | - // admin/php/xml.php geraRSSmapas | |
223 | 221 | combo = |
224 | 222 | "<select style='width:170px;' onchange='i3GEO.guias.CONFIGURA.mapas.mostraLink(" + ig1 |
225 | 223 | + ",this.value)'>" | ... | ... |
rss/index.js
1 | 1 | botoesIni = [ |
2 | 2 | { |
3 | - "link": "../admin/xmlmetaestatogc.php", | |
3 | + "link": "xmlmetaestatogc.php", | |
4 | 4 | "corpo": $trad("xmlWmsMetaestat",g_traducao_rss) |
5 | 5 | },{ |
6 | - "link": "../admin/rssmapas.php", | |
6 | + "link": "rssmapas.php", | |
7 | 7 | "corpo": $trad("verRss",g_traducao_rss) |
8 | 8 | },{ |
9 | - "link": "../admin/rssgrupos.php?output=xml", | |
9 | + "link": "rssgrupos.php?output=xml", | |
10 | 10 | "corpo": $trad("rssArvore",g_traducao_rss) |
11 | 11 | },{ |
12 | - "link": "../admin/rssgrupos.php?output=json", | |
12 | + "link": "rssgrupos.php?output=json", | |
13 | 13 | "corpo": $trad("rssArvoreJson",g_traducao_rss) |
14 | 14 | },{ |
15 | - "link": "../admin/rsscomentariostemas.php", | |
16 | - "corpo": $trad("rssComentarios",g_traducao_rss) | |
17 | - },{ | |
18 | - "link": "../admin/xmlservicosws.php", | |
15 | + "link": "xmlservicosws.php", | |
19 | 16 | "corpo": $trad("xmlWebServ",g_traducao_rss) |
20 | 17 | },{ |
21 | - "link": "../admin/xmlservicosws.php?output=json", | |
18 | + "link": "xmlservicosws.php?output=json", | |
22 | 19 | "corpo": $trad("xmlWebServJson",g_traducao_rss) |
23 | 20 | },{ |
24 | - "link": "../admin/xmlservicoswms.php", | |
21 | + "link": "xmlservicoswms.php", | |
25 | 22 | "corpo": $trad("xmlWms",g_traducao_rss) |
26 | 23 | },{ |
27 | - "link": "../admin/xmlservicoswms.php?output=json", | |
24 | + "link": "xmlservicoswms.php?output=json", | |
28 | 25 | "corpo": $trad("xmlWmsJson",g_traducao_rss) |
29 | 26 | },{ |
30 | - "link": "../admin/xmlgeorss.php?output=json", | |
27 | + "link": "xmlgeorss.php?output=json", | |
31 | 28 | "corpo": $trad("xmlGeoRssJson",g_traducao_rss) |
32 | 29 | },{ |
33 | - "link": "../admin/xmlmapas.php", | |
30 | + "link": "xmlmapas.php", | |
34 | 31 | "corpo": $trad("xmlMapas",g_traducao_rss) |
35 | 32 | },{ |
36 | - "link": "../admin/rssmapas.php", | |
33 | + "link": "rssmapas.php", | |
37 | 34 | "corpo": $trad("rssMapas",g_traducao_rss) |
38 | 35 | },{ |
39 | - "link": "../admin/rssmapas.php?output=json", | |
36 | + "link": "rssmapas.php?output=json", | |
40 | 37 | "corpo": $trad("rssMapasJson",g_traducao_rss) |
41 | 38 | },{ |
42 | - "link": "../admin/xmlsistemas.php", | |
39 | + "link": "xmlsistemas.php", | |
43 | 40 | "corpo": $trad("xmlSistAdiciona",g_traducao_rss) |
44 | 41 | },{ |
45 | - "link": "../admin/xmlgeorss.php", | |
42 | + "link": "xmlgeorss.php", | |
46 | 43 | "corpo": $trad("xmlGeoRss",g_traducao_rss) |
47 | 44 | } |
48 | 45 | ]; | ... | ... |
... | ... | @@ -0,0 +1,47 @@ |
1 | +<?php | |
2 | +/* | |
3 | +Title: rssgrupos | |
4 | + | |
5 | +Monta um arquivo XML no padrão RSS contendo a lista de grupos cadastrados. | |
6 | + | |
7 | +<http://localhost/i3geo/admin/rssgrupos.php> | |
8 | + | |
9 | +Licenca: | |
10 | + | |
11 | +GPL2 | |
12 | + | |
13 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
14 | + | |
15 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
16 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
17 | + | |
18 | +Este programa é software livre; você pode redistribuí-lo | |
19 | +e/ou modificá-lo sob os termos da Licença Pública Geral | |
20 | +GNU conforme publicada pela Free Software Foundation; | |
21 | + | |
22 | +Este programa é distribuído na expectativa de que seja útil, | |
23 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
24 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
25 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | |
26 | +Você deve ter recebido uma cópia da Licença Pública Geral do | |
27 | +GNU junto com este programa; se não, escreva para a | |
28 | +Free Software Foundation, Inc., no endereço | |
29 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
30 | + | |
31 | +Arquivo: | |
32 | + | |
33 | +i3geo/admin/rssgrupos.php | |
34 | +*/ | |
35 | +error_reporting(0); | |
36 | +if(!isset($locaplic)){ | |
37 | + include(dirname(__FILE__)."/../ms_configura.php"); | |
38 | +} | |
39 | +include_once($locaplic."/classesphp/xml.php"); | |
40 | +if(empty ($_GET["output"])){ | |
41 | + $_GET["output"] = "xml"; | |
42 | +} | |
43 | +if($_GET["output"] == "xml" || $_GET["output"] == "json"){ | |
44 | + echo header("Content-type: application/".$_GET["output"]); | |
45 | + echo geraRSSgrupos($locaplic,$_GET["output"]); | |
46 | +} | |
47 | +?> | |
0 | 48 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,47 @@ |
1 | +<?php | |
2 | +/* | |
3 | +Title: rssmapas | |
4 | + | |
5 | +Monta um arquivo XML, no padrão RSS, contendo a lista de links para outros mapas. | |
6 | + | |
7 | +<http://localhost/i3geo/admin/rssmapas.php> | |
8 | + | |
9 | +Licenca: | |
10 | + | |
11 | +GPL2 | |
12 | + | |
13 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
14 | + | |
15 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
16 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
17 | + | |
18 | +Este programa é software livre; você pode redistribuí-lo | |
19 | +e/ou modificá-lo sob os termos da Licença Pública Geral | |
20 | +GNU conforme publicada pela Free Software Foundation; | |
21 | + | |
22 | +Este programa é distribuído na expectativa de que seja útil, | |
23 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
24 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
25 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | |
26 | +Você deve ter recebido uma cópia da Licença Pública Geral do | |
27 | +GNU junto com este programa; se não, escreva para a | |
28 | +Free Software Foundation, Inc., no endereço | |
29 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
30 | + | |
31 | +Arquivo: | |
32 | + | |
33 | +i3geo/admin/rssmapas.php | |
34 | +*/ | |
35 | +error_reporting(0); | |
36 | +if(!isset($locaplic)){ | |
37 | + include(dirname(__FILE__)."/../ms_configura.php"); | |
38 | +} | |
39 | +include_once($locaplic."/classesphp/xml.php"); | |
40 | +if(empty ($_GET["output"])){ | |
41 | + $_GET["output"] = "xml"; | |
42 | +} | |
43 | +if($_GET["output"] == "xml" || $_GET["output"] == "json"){ | |
44 | + echo header("Content-type: application/".$_GET["output"]); | |
45 | + echo geraRSSmapas($locaplic,$_GET["output"]); | |
46 | +} | |
47 | +?> | |
0 | 48 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,53 @@ |
1 | +<?php | |
2 | +/* | |
3 | +Title: rsssubgrupos | |
4 | + | |
5 | +Monta um arquivo XML no padrão RSS contendo a lista de subgrupos cadastrados. | |
6 | + | |
7 | +<http://localhost/i3geo/admin/rsssubgrupos.php?id=1> | |
8 | + | |
9 | +<geraRSSsubgrupos> | |
10 | + | |
11 | +Parametros: | |
12 | + | |
13 | +id {string} - código do grupo | |
14 | + | |
15 | +Licenca: | |
16 | + | |
17 | +GPL2 | |
18 | + | |
19 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
20 | + | |
21 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
22 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
23 | + | |
24 | +Este programa é software livre; você pode redistribuí-lo | |
25 | +e/ou modificá-lo sob os termos da Licença Pública Geral | |
26 | +GNU conforme publicada pela Free Software Foundation; | |
27 | + | |
28 | +Este programa é distribuído na expectativa de que seja útil, | |
29 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
30 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
31 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | |
32 | +Você deve ter recebido uma cópia da Licença Pública Geral do | |
33 | +GNU junto com este programa; se não, escreva para a | |
34 | +Free Software Foundation, Inc., no endereço | |
35 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
36 | + | |
37 | +Arquivo: | |
38 | + | |
39 | +i3geo/admin/rsssubgrupos.php | |
40 | +*/ | |
41 | +error_reporting(0); | |
42 | +if(!isset($locaplic)){ | |
43 | + include(dirname(__FILE__)."/../ms_configura.php"); | |
44 | +} | |
45 | +include_once($locaplic."/classesphp/xml.php"); | |
46 | +if(empty ($_GET["output"])){ | |
47 | + $_GET["output"] = "xml"; | |
48 | +} | |
49 | +if($_GET["output"] == "xml" || $_GET["output"] == "json"){ | |
50 | + echo header("Content-type: application/".$_GET["output"]); | |
51 | + echo geraRSSsubgrupos($locaplic,(int)($_GET["id"]), $_GET["output"]); | |
52 | +} | |
53 | +?> | ... | ... |
... | ... | @@ -0,0 +1,53 @@ |
1 | +<?php | |
2 | +/* | |
3 | +Title: rsstemas | |
4 | + | |
5 | +Monta um arquivo XML no padrão RSS contendo a lista de temas cadastrados. | |
6 | + | |
7 | +<http://localhost/i3geo/admin/rsstemas.php?id=1> | |
8 | + | |
9 | +<geraRSStemas> | |
10 | + | |
11 | +Parametros: | |
12 | + | |
13 | +id {string} - código do subgrupo | |
14 | + | |
15 | +Licenca: | |
16 | + | |
17 | +GPL2 | |
18 | + | |
19 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
20 | + | |
21 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
22 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
23 | + | |
24 | +Este programa é software livre; você pode redistribuí-lo | |
25 | +e/ou modificá-lo sob os termos da Licença Pública Geral | |
26 | +GNU conforme publicada pela Free Software Foundation; | |
27 | + | |
28 | +Este programa é distribuído na expectativa de que seja útil, | |
29 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
30 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
31 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | |
32 | +Você deve ter recebido uma cópia da Licença Pública Geral do | |
33 | +GNU junto com este programa; se não, escreva para a | |
34 | +Free Software Foundation, Inc., no endereço | |
35 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
36 | + | |
37 | +Arquivo: | |
38 | + | |
39 | +i3geo/admin/rsstemas.php | |
40 | +*/ | |
41 | +error_reporting(0); | |
42 | +if(!isset($locaplic)){ | |
43 | + include(dirname(__FILE__)."/../ms_configura.php"); | |
44 | +} | |
45 | +include_once($locaplic."/classesphp/xml.php"); | |
46 | +if(empty ($_GET["output"])){ | |
47 | + $_GET["output"] = "xml"; | |
48 | +} | |
49 | +if($_GET["output"] == "xml" || $_GET["output"] == "json"){ | |
50 | + echo header("Content-type: application/".$_GET["output"]); | |
51 | + echo geraRSStemas($locaplic,(int)($_GET["id"]), $_GET["output"]); | |
52 | +} | |
53 | +?> | |
0 | 54 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,50 @@ |
1 | +<?php | |
2 | +/* | |
3 | + * Title: rsstemasraiz | |
4 | + * | |
5 | + * Monta um arquivo XML no padrão RSS contendo a lista de temas inseridos na raiz de um determinado nível. | |
6 | + * | |
7 | + * <http://localhost/i3geo/admin/rsstemasrais.php?id=1&nivel=1> | |
8 | + * | |
9 | + * <geraRSStemasRaiz> | |
10 | + * | |
11 | + * Parametros: | |
12 | + * | |
13 | + * id {string} - código do nó | |
14 | + * | |
15 | + * nivel {string} - nível do nó | |
16 | + * | |
17 | + * Licenca: | |
18 | + * | |
19 | + * GPL2 | |
20 | + * | |
21 | + * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
22 | + * | |
23 | + * Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
24 | + * Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
25 | + * | |
26 | + * Este programa é software livre; você pode redistribuí-lo | |
27 | + * e/ou modificá-lo sob os termos da Licença Pública Geral | |
28 | + * GNU conforme publicada pela Free Software Foundation; | |
29 | + * | |
30 | + * Este programa é distribuído na expectativa de que seja útil, | |
31 | + * porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
32 | + * de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
33 | + * Consulte a Licença Pública Geral do GNU para mais detalhes. | |
34 | + * Você deve ter recebido uma cópia da Licença Pública Geral do | |
35 | + * GNU junto com este programa; se não, escreva para a | |
36 | + * Free Software Foundation, Inc., no endereço | |
37 | + * 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
38 | + * | |
39 | + * Arquivo: | |
40 | + * | |
41 | + * i3geo/admin/rsstemasraiz.php | |
42 | + */ | |
43 | +error_reporting(0); | |
44 | +if (! isset($locaplic)) { | |
45 | + include (dirname(__FILE__) . "/../ms_configura.php"); | |
46 | +} | |
47 | +include_once ($locaplic . "/classesphp/xml.php"); | |
48 | +echo header("Content-type: application/xml"); | |
49 | +echo geraRSStemasRaiz($locaplic, (int) $id, (int) $nivel); | |
50 | +?> | |
0 | 51 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,49 @@ |
1 | +<?php | |
2 | +/* | |
3 | +Title: xmlgeorss | |
4 | + | |
5 | +Monta um arquivo XML no padrão RSS contendo a lista de links no padrão GEORSS cadastrados no sistema. | |
6 | + | |
7 | +<http://localhost/i3geo/admin/xmlgeorss.php> | |
8 | + | |
9 | +<geraXmlGeorss> | |
10 | + | |
11 | +Licenca: | |
12 | + | |
13 | +GPL2 | |
14 | + | |
15 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
16 | + | |
17 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
18 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
19 | + | |
20 | +Este programa é software livre; você pode redistribuí-lo | |
21 | +e/ou modificá-lo sob os termos da Licença Pública Geral | |
22 | +GNU conforme publicada pela Free Software Foundation; | |
23 | + | |
24 | +Este programa é distribuído na expectativa de que seja útil, | |
25 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
26 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
27 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | |
28 | +Você deve ter recebido uma cópia da Licença Pública Geral do | |
29 | +GNU junto com este programa; se não, escreva para a | |
30 | +Free Software Foundation, Inc., no endereço | |
31 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
32 | + | |
33 | +Arquivo: | |
34 | + | |
35 | +i3geo/admin/xmlgeorss.php | |
36 | +*/ | |
37 | +error_reporting(0); | |
38 | +if(!isset($locaplic)){ | |
39 | + include(dirname(__FILE__)."/../ms_configura.php"); | |
40 | +} | |
41 | +include_once($locaplic."/classesphp/xml.php"); | |
42 | +if(empty ($_GET["output"])){ | |
43 | + $_GET["output"] = "xml"; | |
44 | +} | |
45 | +if($_GET["output"] == "xml" || $_GET["output"] == "json"){ | |
46 | + echo header("Content-type: application/".$_GET["output"]); | |
47 | + echo geraXmlGeorss($locaplic,$_GET["output"]); | |
48 | +} | |
49 | +?> | ... | ... |
... | ... | @@ -0,0 +1,47 @@ |
1 | +<?php | |
2 | +/* | |
3 | +Title: xmlmapas | |
4 | + | |
5 | +Monta um arquivo XML contendo a lista de links para outros mapas. | |
6 | + | |
7 | +<http://localhost/i3geo/admin/xmlmapas.php> | |
8 | + | |
9 | +<geraXmlMapas> | |
10 | + | |
11 | +Licenca: | |
12 | + | |
13 | +GPL2 | |
14 | + | |
15 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
16 | + | |
17 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
18 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
19 | + | |
20 | +Este programa é software livre; você pode redistribuí-lo | |
21 | +e/ou modificá-lo sob os termos da Licença Pública Geral | |
22 | +GNU conforme publicada pela Free Software Foundation; | |
23 | + | |
24 | +Este programa é distribuído na expectativa de que seja útil, | |
25 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
26 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
27 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | |
28 | +Você deve ter recebido uma cópia da Licença Pública Geral do | |
29 | +GNU junto com este programa; se não, escreva para a | |
30 | +Free Software Foundation, Inc., no endereço | |
31 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
32 | + | |
33 | +Arquivo: | |
34 | + | |
35 | +i3geo/admin/xmlmapas.php | |
36 | +*/ | |
37 | +error_reporting(0); | |
38 | +if(!isset($locaplic)){ | |
39 | + include(dirname(__FILE__)."/../ms_configura.php"); | |
40 | +} | |
41 | +include_once($locaplic."/classesphp/xml.php"); | |
42 | +if(!isset($_GET["perfil"])){ | |
43 | + $_GET["perfil"] = ""; | |
44 | +} | |
45 | +echo header("Content-type: application/xml"); | |
46 | +echo geraXmlMapas($_GET["perfil"],$locaplic,$_GET["editores"]); | |
47 | +?> | ... | ... |
... | ... | @@ -0,0 +1,44 @@ |
1 | +<?php | |
2 | +/* | |
3 | +Title: rssmetaestatogc | |
4 | + | |
5 | +Monta um arquivo XML no padrão RSS contendo a lista servicos OGC baseados no sistema de metadados estatisticos. | |
6 | + | |
7 | +<http://localhost/i3geo/admin/rssmetaestatogc.php> | |
8 | + | |
9 | +<geraRSStemasOgc> | |
10 | + | |
11 | +Licenca: | |
12 | + | |
13 | +GPL2 | |
14 | + | |
15 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
16 | + | |
17 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
18 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
19 | + | |
20 | +Este programa é software livre; você pode redistribuí-lo | |
21 | +e/ou modificá-lo sob os termos da Licença Pública Geral | |
22 | +GNU conforme publicada pela Free Software Foundation; | |
23 | + | |
24 | +Este programa é distribuído na expectativa de que seja útil, | |
25 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
26 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
27 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | |
28 | +Você deve ter recebido uma cópia da Licença Pública Geral do | |
29 | +GNU junto com este programa; se não, escreva para a | |
30 | +Free Software Foundation, Inc., no endereço | |
31 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
32 | + | |
33 | +Arquivo: | |
34 | + | |
35 | +i3geo/admin/rssmetaestatogc.php | |
36 | +*/ | |
37 | +error_reporting(0); | |
38 | +if(!isset($locaplic)){ | |
39 | + include(dirname(__FILE__)."/../ms_configura.php"); | |
40 | +} | |
41 | +include($locaplic."/classesphp/xml.php"); | |
42 | +echo header("Content-type: application/xml"); | |
43 | +echo geraXmlWMSmetaestat($locaplic); | |
44 | +?> | |
0 | 45 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,49 @@ |
1 | +<?php | |
2 | +/* | |
3 | +Title: xmlservicoswms | |
4 | + | |
5 | +Monta um arquivo XML, no padrão RSS, contendo a lista de links para serviços WMS. | |
6 | + | |
7 | +<http://localhost/i3geo/admin/xmlservicoswms.php> | |
8 | + | |
9 | +<geraXmlWMS> | |
10 | + | |
11 | +Licenca: | |
12 | + | |
13 | +GPL2 | |
14 | + | |
15 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
16 | + | |
17 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
18 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
19 | + | |
20 | +Este programa é software livre; você pode redistribuí-lo | |
21 | +e/ou modificá-lo sob os termos da Licença Pública Geral | |
22 | +GNU conforme publicada pela Free Software Foundation; | |
23 | + | |
24 | +Este programa é distribuído na expectativa de que seja útil, | |
25 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
26 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
27 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | |
28 | +Você deve ter recebido uma cópia da Licença Pública Geral do | |
29 | +GNU junto com este programa; se não, escreva para a | |
30 | +Free Software Foundation, Inc., no endereço | |
31 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
32 | + | |
33 | +Arquivo: | |
34 | + | |
35 | +i3geo/admin/xmlservicoswms.php | |
36 | +*/ | |
37 | +error_reporting(0); | |
38 | +if(!isset($locaplic)){ | |
39 | + include(dirname(__FILE__)."/../ms_configura.php"); | |
40 | +} | |
41 | +include_once($locaplic."/classesphp/xml.php"); | |
42 | +if(empty ($_GET["output"])){ | |
43 | + $_GET["output"] = "xml"; | |
44 | +} | |
45 | +if($_GET["output"] == "xml" || $_GET["output"] == "json"){ | |
46 | + echo header("Content-type: application/".$_GET["output"]); | |
47 | + echo geraXmlWMS($locaplic,$_GET["output"]); | |
48 | +} | |
49 | +?> | |
0 | 50 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,45 @@ |
1 | +<?php | |
2 | +/* | |
3 | +Title: xmlservicosws | |
4 | + | |
5 | +Monta um arquivo XML, no padrão RSS, contendo a lista de links para Web Services convencionais. | |
6 | + | |
7 | +<http://localhost/i3geo/admin/xmlservicosws.php> | |
8 | + | |
9 | +<geraXmlWS> | |
10 | + | |
11 | +Licenca: | |
12 | + | |
13 | +GPL2 | |
14 | + | |
15 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
16 | + | |
17 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
18 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
19 | + | |
20 | +Este programa é software livre; você pode redistribuí-lo | |
21 | +e/ou modificá-lo sob os termos da Licença Pública Geral | |
22 | +GNU conforme publicada pela Free Software Foundation; | |
23 | + | |
24 | +Este programa é distribuído na expectativa de que seja útil, | |
25 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
26 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
27 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | |
28 | +Você deve ter recebido uma cópia da Licença Pública Geral do | |
29 | +GNU junto com este programa; se não, escreva para a | |
30 | +Free Software Foundation, Inc., no endereço | |
31 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
32 | + | |
33 | +Arquivo: | |
34 | + | |
35 | +i3geo/admin/xmlservicosws.php | |
36 | +*/ | |
37 | + | |
38 | +error_reporting(0); | |
39 | +if(!isset($locaplic)){ | |
40 | + include(dirname(__FILE__)."/../ms_configura.php"); | |
41 | +} | |
42 | +include_once($locaplic."/classesphp/xml.php"); | |
43 | +echo header("Content-type: application/xml"); | |
44 | +echo geraXmlWS($locaplic); | |
45 | +?> | ... | ... |
... | ... | @@ -0,0 +1,47 @@ |
1 | +<?php | |
2 | +/* | |
3 | +Title: xmlsistemas | |
4 | + | |
5 | +Monta um arquivo XML, no padrão RSS, contendo a lista de sistemas adicionais que são mostrados na árvore de adição de novos temas ao mapa. | |
6 | + | |
7 | +<http://localhost/i3geo/admin/xmlsistemas.php> | |
8 | + | |
9 | +<geraXmlSistemas> | |
10 | + | |
11 | +Licenca: | |
12 | + | |
13 | +GPL2 | |
14 | + | |
15 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
16 | + | |
17 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
18 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
19 | + | |
20 | +Este programa é software livre; você pode redistribuí-lo | |
21 | +e/ou modificá-lo sob os termos da Licença Pública Geral | |
22 | +GNU conforme publicada pela Free Software Foundation; | |
23 | + | |
24 | +Este programa é distribuído na expectativa de que seja útil, | |
25 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
26 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
27 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | |
28 | +Você deve ter recebido uma cópia da Licença Pública Geral do | |
29 | +GNU junto com este programa; se não, escreva para a | |
30 | +Free Software Foundation, Inc., no endereço | |
31 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
32 | + | |
33 | +Arquivo: | |
34 | + | |
35 | +i3geo/admin/xmlsistemas.php | |
36 | +*/ | |
37 | +error_reporting(0); | |
38 | +if(!isset($locaplic)){ | |
39 | + include(dirname(__FILE__)."/../ms_configura.php"); | |
40 | +} | |
41 | +include_once($locaplic."/classesphp/xml.php"); | |
42 | +if(!isset($_GET["perfil"])){ | |
43 | + $_GET["perfil"] = ""; | |
44 | +} | |
45 | +echo header("Content-type: application/xml"); | |
46 | +echo geraXmlSistemas($_GET["perfil"],$locaplic,$_GET["editores"]); | |
47 | +?> | ... | ... |