Commit 24e503bfb85ba1f1c33518caac073661c7a1bd2c

Authored by Edmar Moretti
1 parent b21964fa

Remoção do programa admin/php/conexao.php

Showing 62 changed files with 127 additions and 1385 deletions   Show diff stats
admin/php/conexao.php
... ... @@ -1,107 +0,0 @@
1   -<?php
2   -/*
3   -Title: conexao.php
4   -
5   -Define a conex&atilde;o com o banco de dados que cont&eacute;m as tabelas do sistema de administra&ccedil;&atilde;o do i3geo.
6   -
7   -Verifique se sua instala&ccedil;&atilde;o do PHP suporta o uso da biblioteca PDO com sqlite
8   -
9   -Por padr&atilde;o, a conex&atilde;o &eacute; feita com o banco de dados SQLITE i3geo/admin/admin.db mas vc pode usar outro banco de dados
10   -
11   -Voc&ecirc; pode alterar a conex&atilde;o PDO modificando a vari&aacute;vel de configuara&ccedil;&atilde;o $conexaoadmin no i3geo/ms_configura.php
12   -
13   -O programa define duas vari&aacute;veis que s&atilde;o usadas no acesso ao banco
14   -
15   -dbhw - objeto PDO com a conex&atilde;o para leitura e escrita
16   -
17   -dbh - objeto PDO com a conex&atilde;o para leitura
18   -
19   -Licen&ccedil;a:
20   -
21   -GPL2
22   -
23   -i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
24   -
25   -Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil
26   -Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
27   -
28   -Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
29   -e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
30   -GNU conforme publicada pela Free Software Foundation;
31   -
32   -Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
33   -por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
34   -de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
35   -Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
36   -Voc&ecirc; deve ter recebido uma c�pia da Licen&ccedil;a P&uacute;blica Geral do
37   - GNU junto com este programa; se n&atilde;o, escreva para a
38   -Free Software Foundation, Inc., no endere&ccedil;o
39   -59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
40   -
41   -Arquivo: i3geo/admin/php/conexao.php
42   -
43   -*/
44   -if(isset($locaplic) && $locaplic != ""){
45   - include($locaplic."/ms_configura.php");
46   -}
47   -else{
48   - include(dirname(__FILE__)."/../../ms_configura.php");
49   -}
50   -if(!isset($conexaoadmin)){
51   - $conexaoadmin = "";
52   -}
53   -if(!isset($esquemaadmin)){
54   - $esquemaadmin = "";
55   -}
56   -if($esquemaadmin != ""){
57   - $esquemaadmin = str_replace(".","",$esquemaadmin).".";
58   -}
59   -if(!isset($logTransacoes)){
60   - $logTransacoes = false;
61   -}
62   -//
63   -//indica se deve ser feita a convers&atilde;o para UTF8 ao gravar os dados
64   -//
65   -$convUTF = true;
66   -if($conexaoadmin == ""){
67   - $arquivosqlite = $locaplic."/admin/admin.db";
68   - //chmod($arquivosqlite,0774);
69   - //echo $arquivosqlite;exit;
70   - if(!file_exists($arquivosqlite)){
71   - echo "O arquivo admin.db n&atilde;o existe. Utilize i3geo/admin/criabanco.php para criar o banco de dados SQLITE.";
72   - exit;
73   - }
74   - $conAdmin = "sqlite:$arquivosqlite";
75   - $conAdminw = "sqlite:$arquivosqlite";
76   - if(!extension_loaded("PDO")){
77   - echo "<span style=color:red >A extensao do PHP 'PDO' nao esta instalada.";
78   - exit;
79   - }
80   - if (!extension_loaded( "pdo_sqlite")){
81   - echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a pdo_sqlite<br></span>";
82   - exit;
83   - }
84   - if (!extension_loaded( "SQLite") && !extension_loaded( "sqlite3")){
85   - echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a SQLite<br></span>";
86   - exit;
87   - }
88   - try {
89   - //para escrita
90   - $dbhw = new PDO($conAdminw);
91   - //para leitura
92   - $dbh = new PDO($conAdmin);
93   - }
94   - catch (PDOException $e) {
95   - print "Erro ao criar o objeto PDO!: <br/> Talvez exista alguma incompatibilidade entre o PHP e o banco admin.db. Vc pode apagar o arquivo menutemas/admin.db e recria-lo com admin/php/criasqlite.php";
96   - die();
97   - }
98   -}
99   -else {
100   - if(file_exists($conexaoadmin)){
101   - include($conexaoadmin);
102   - } else {
103   - echo "Arquivo de conexao nao existe";
104   - exit;
105   - }
106   -}
107   -?>
admin/php/xxxclasse_arvore.php
... ... @@ -1,1268 +0,0 @@
1   -<?php
2   -/*
3   -Title: classe_arvore.php
4   -
5   -Fun&ccedil;&otilde;es para montagem da &aacute;rvore de temas
6   -
7   -Licenca:
8   -
9   -GPL2
10   -
11   -i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
12   -
13   -Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil
14   -Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
15   -
16   -Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
17   -e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
18   -GNU conforme publicada pela Free Software Foundation;
19   -
20   -Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
21   -por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
22   -de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
23   -Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
24   -Voc&ecirc; deve ter recebido uma c�pia da Licen&ccedil;a P&uacute;blica Geral do
25   - GNU junto com este programa; se n&atilde;o, escreva para a
26   -Free Software Foundation, Inc., no endere&ccedil;o
27   -59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
28   -
29   -Arquivo:
30   -
31   -i3geo/classesphp/classe_arvore.php
32   -*/
33   -/*
34   -Classe: Arvore
35   -
36   -Classe utilizada para compor a &aacute;rvore de temas ou obter dados espec&iacute;ficos da &aacute;rvore.
37   -
38   -&Eacute; utilizada por v&aacute;rias opera&ccedil;&otilde;es do i3Geo, principalmente pela <classe_menutemas>
39   -*/
40   -class Arvore
41   -{
42   - //temas com acesso restrito e que nao podem ser acessados pelo usuario que esta logado
43   - public $temassindevidos;
44   - protected $locaplic;
45   - //subgrupos que tem pelo menos um tema
46   - //public $sql_subgrupos = "select i3geoadmin_subgrupos.nome_subgrupo,i3geoadmin_n2.id_n2,i3geoadmin_n2.publicado,i3geoadmin_n2.n2_perfil from i3geoadmin_n2 LEFT JOIN i3geoadmin_subgrupos ON i3geoadmin_n2.id_subgrupo = i3geoadmin_subgrupos.id_subgrupo ";
47   - //grupos que tem pelo menos um sub-grupo
48   - //public $sql_grupos = "select i3geoadmin_grupos.nome_grupo,id_n1,id_menu,i3geoadmin_n1.publicado,n1_perfil from i3geoadmin_n1 LEFT JOIN i3geoadmin_grupos ON i3geoadmin_n1.id_grupo = i3geoadmin_grupos.id_grupo ";
49   - //nomes de todos os grupos
50   - public $sql_todosgrupos = "select * from i3geoadmin_grupos ";
51   - //tipo de filtro
52   - //ogc|download|""
53   - public $filtro;
54   - //temas na raiz
55   - //public $sql_temasraiz = "select id_raiz,i3geoadmin_raiz.id_tema,nome_tema,tipoa_tema FROM i3geoadmin_raiz LEFT JOIN i3geoadmin_temas ON i3geoadmin_temas.id_tema = i3geoadmin_raiz.id_tema ";
56   - //todos os temas
57   - //public $sql_temas = "select * from i3geoadmin_temas ";
58   - //temas de um subgrupo
59   - //public $sql_temasSubgrupo = "select i3geoadmin_temas.tipoa_tema, i3geoadmin_temas.codigo_tema,i3geoadmin_temas.tags_tema,i3geoadmin_n3.id_n3,i3geoadmin_temas.nome_tema,i3geoadmin_n3.publicado,i3geoadmin_n3.n3_perfil,i3geoadmin_n3.id_tema,i3geoadmin_temas.download_tema,i3geoadmin_temas.ogc_tema from i3geoadmin_n3 LEFT JOIN i3geoadmin_temas ON i3geoadmin_n3.id_tema = i3geoadmin_temas.id_tema ";
60   - /*
61   - Function: __construct
62   -
63   - Cria um objeto Arvore
64   -
65   - Parametros:
66   -
67   - locaplic {string} - localiza&ccedil;&atilde;o do i3geo no sistema de arquivos
68   -
69   - idioma {string} - default = "pt"
70   - */
71   - function __construct($locaplic,$idioma="pt",$filtro="")
72   - {
73   - $this->locaplic = $locaplic;
74   - $this->filtro = $filtro;
75   - $dbh = "";
76   - //error_reporting(0);
77   -
78   - include($locaplic."/classesphp/conexao.php");
79   -
80   - $this->esquemaadmin = $esquemaadmin;
81   - $this->convUTF = $convUTF;
82   - $this->dbh = $dbh;
83   -
84   - $this->idioma = $idioma;
85   - if($idioma == "pt"){
86   - $coluna = "nome_grupo";
87   - }
88   - else{
89   - $coluna = $idioma;
90   - }
91   - $this->sql_grupos = "select CASE i3geoadmin_grupos.$coluna WHEN '' THEN nome_grupo ELSE i3geoadmin_grupos.$coluna END as nome_grupo,i3geoadmin_grupos.id_grupo, id_n1,id_menu,i3geoadmin_n1.publicado,n1_perfil,ordem from ".$this->esquemaadmin."i3geoadmin_n1 LEFT JOIN ".$this->esquemaadmin."i3geoadmin_grupos ON i3geoadmin_n1.id_grupo = i3geoadmin_grupos.id_grupo ";
92   - if($filtro === "ogc" || $filtro === "download"){
93   - //esse sql retorna tambem os grupos dos temas que estao na raiz do grupo
94   - $this->sql_grupos = "select DISTINCT * from (select CASE grupos.$coluna WHEN '' THEN nome_grupo ELSE grupos.$coluna END as nome_grupo,gr.id_n1,gr.id_menu,gr.publicado,gr.n1_perfil, 0 as ordem from ".$this->esquemaadmin."i3geoadmin_grupos as grupos, ".$this->esquemaadmin."i3geoadmin_n1 as gr, ".$this->esquemaadmin."i3geoadmin_n2 as sg, ".$this->esquemaadmin."i3geoadmin_n3 as t, ".$this->esquemaadmin."i3geoadmin_temas as temas where gr.id_grupo = grupos.id_grupo AND sg.id_n1 = gr.id_n1 AND t.id_n2 = sg.id_n2 AND t.id_tema = temas.id_tema AND (temas.ogc_tema NOT IN ('NAO','nao') OR temas.download_tema NOT IN ('NAO','nao') ) UNION select c.nome_grupo as nome_grupo,a.id_nivel as id_n1,a.id_menu,'SIM' as publicado,a.perfil as n1_perfil, 0 as ordem from ".$this->esquemaadmin."i3geoadmin_raiz as a, ".$this->esquemaadmin."i3geoadmin_temas as b, ".$this->esquemaadmin."i3geoadmin_grupos as c, ".$this->esquemaadmin."i3geoadmin_n1 as d where nivel = 1 AND a.id_tema = b.id_tema AND a.id_nivel = d.id_n1 AND d.id_grupo = c.id_grupo) as s ";
95   - }
96   -
97   - if($idioma == "pt"){
98   - $coluna = "nome_subgrupo";
99   - }
100   - else{
101   - $coluna = $idioma;
102   - }
103   - $this->sql_subgrupos = "select CASE i3geoadmin_subgrupos.$coluna WHEN '' THEN nome_subgrupo ELSE i3geoadmin_subgrupos.$coluna END as nome_subgrupo,i3geoadmin_subgrupos.id_subgrupo,i3geoadmin_n2.id_n2,i3geoadmin_n2.publicado,i3geoadmin_n2.n2_perfil from ".$this->esquemaadmin."i3geoadmin_n2 LEFT JOIN ".$this->esquemaadmin."i3geoadmin_subgrupos ON i3geoadmin_n2.id_subgrupo = i3geoadmin_subgrupos.id_subgrupo ";
104   -
105   - if($idioma == "pt"){
106   - $coluna = "nome_tema";
107   - }
108   - else{
109   - $coluna = $idioma;
110   - }
111   -
112   - $this->sql_temasraiz = "select id_nivel,ordem,codigo_tema,id_raiz,i3geoadmin_raiz.id_tema,CASE $coluna WHEN '' THEN nome_tema ELSE $coluna END as nome_tema,tipoa_tema,perfil, ogc_tema, download_tema, link_tema FROM ".$this->esquemaadmin."i3geoadmin_raiz LEFT JOIN ".$this->esquemaadmin."i3geoadmin_temas ON i3geoadmin_temas.id_tema = i3geoadmin_raiz.id_tema ";
113   - $this->sql_temasSubgrupo = "select i3geoadmin_temas.tipoa_tema, i3geoadmin_temas.codigo_tema,i3geoadmin_temas.tags_tema,i3geoadmin_n3.id_n3,CASE i3geoadmin_temas.$coluna WHEN '' THEN nome_tema ELSE i3geoadmin_temas.$coluna END as nome_tema,i3geoadmin_n3.publicado,i3geoadmin_n3.n3_perfil,i3geoadmin_n3.id_tema,i3geoadmin_temas.download_tema,i3geoadmin_temas.ogc_tema from ".$this->esquemaadmin."i3geoadmin_n3 LEFT JOIN ".$this->esquemaadmin."i3geoadmin_temas ON i3geoadmin_n3.id_tema = i3geoadmin_temas.id_tema ";
114   -
115   - //$this->sql_temas = "select kmz_tema,nacessos,id_tema,kml_tema,ogc_tema,download_tema,tags_tema,tipoa_tema,link_tema,desc_tema,$coluna as nome_tema,codigo_tema from i3geoadmin_temas ";
116   -
117   - $this->sql_temas = "select kmz_tema,b.soma as nacessos,id_tema,kml_tema,ogc_tema,download_tema,tags_tema,tipoa_tema,link_tema,desc_tema,CASE $coluna WHEN '' THEN nome_tema ELSE $coluna END as nome_tema,codigo_tema from ".$this->esquemaadmin."i3geoadmin_temas as a,(SELECT c.codigo_tema codigo_soma,sum( r.nacessos) as soma FROM ".$this->esquemaadmin."i3geoadmin_temas c LEFT JOIN ".$this->esquemaadmin."i3geoadmin_acessostema r ON (c.codigo_tema = r.codigo_tema) group by c.codigo_tema) as b WHERE a.codigo_tema = b.codigo_soma ";
118   - $this->sql_temas_combo = "select id_tema,CASE $coluna WHEN '' THEN nome_tema ELSE $coluna END as nome_tema,codigo_tema from ".$this->esquemaadmin."i3geoadmin_temas as a,(SELECT c.codigo_tema codigo_soma,sum( r.nacessos) as soma FROM ".$this->esquemaadmin."i3geoadmin_temas c LEFT JOIN ".$this->esquemaadmin."i3geoadmin_acessostema r ON (c.codigo_tema = r.codigo_tema) group by c.codigo_tema) as b WHERE a.codigo_tema = b.codigo_soma ";
119   - //
120   - //verifica se o ip atual est&aacute; cadastrado como um dos editores
121   - //editores podem ver as coisas marcadas como n&atilde;o publicado
122   - //no sistema de administra&ccedil;&atilde;o
123   - //
124   - $this->editor = false;
125   - $this->editor = $this->verificaOperacaoSessao("admin/php/classe_arvore/editor");
126   - $this->pubsql = " (publicado != 'NAO' or publicado is null) and ";
127   - if($this->editor){
128   - $this->pubsql = "";
129   - }
130   - if(!function_exists("listaTemasIndevidos")){
131   - include_once(dirname(__FILE__)."/../../classesphp/funcoes_gerais.php");
132   - }
133   - $this->temasindevidos = listaTemasIndevidos();
134   - }
135   - function __destruct()
136   - {
137   - $this->dbh = null;
138   - $this->dbhw = null;
139   - }
140   - /*
141   - Function: validaTemas
142   -
143   - Remove de um array os temas que nao sao permitidos ao usuario atualmente logado
144   - */
145   - function validaTemas($linhas,$id){
146   - $res = array();
147   - foreach($linhas as $l){
148   - if(!in_array($l[$id],$this->temasindevidos)){
149   - array_push($res,$l);
150   - }
151   - }
152   - return $res;
153   - }
154   - /*
155   - Function: pegaListaDeMenus
156   -
157   - Retorna a lista de menus
158   -
159   - Parametros:
160   -
161   - perfil {string} - considera apenas esse perfil
162   -
163   - Return:
164   -
165   - {array}
166   - */
167   - function pegaListaDeMenus($perfil="",$filtraOgc="nao",$filtraDown="nao")
168   - {
169   - if($this->idioma == "pt"){
170   - $coluna = "nome_menu";
171   - }
172   - else{
173   - $coluna = $this->idioma;
174   - }
175   - if($this->editor == true)
176   - {
177   - $perfil = "";
178   - $sql = "SELECT publicado_menu,'' as perfil_menu,aberto,desc_menu,id_menu,CASE $coluna WHEN '' THEN nome_menu ELSE $coluna END as nome_menu from ".$this->esquemaadmin."i3geoadmin_menus order by nome_menu";
179   - }
180   - else{
181   - $sql = "SELECT publicado_menu,perfil_menu,aberto,desc_menu,id_menu,CASE $coluna WHEN '' THEN nome_menu ELSE $coluna END as nome_menu from ".$this->esquemaadmin."i3geoadmin_menus where publicado_menu != 'NAO' or publicado_menu is null order by nome_menu";
182   - }
183   - $regs = $this->execSQL($sql);
184   - $resultado = array();
185   - foreach($regs as $reg){
186   - $a = $reg["perfil_menu"];
187   - $a = str_replace(" ",",",$a);
188   - if ($this->verificaOcorrencia($perfil,explode(",",$a)))
189   - {
190   - $status = "fechado";
191   - if(strtolower($reg["aberto"]) == "sim")
192   - $status = "aberto";
193   - $url = "";
194   - $resultado[] = array("desc"=>$this->converte($reg["desc_menu"]),"publicado"=>$reg["publicado_menu"],"nomemenu"=>$this->converte($reg["nome_menu"]),"idmenu"=>$reg["id_menu"],"arquivo"=>"","status"=>$status,"url"=>$url);
195   - }
196   - }
197   - return $resultado;
198   - }
199   - /*
200   - Function: pegaListaDeTiposGrupos
201   -
202   - Retorna a lista de grupos de um menu
203   -
204   - Parametros:
205   -
206   - id_menu {string}
207   -
208   - Return:
209   -
210   - {array}
211   - */
212   - function pegaListaDeTiposGrupos(){
213   - if($this->idioma == "pt"){
214   - $coluna = "nome_grupo";
215   - }
216   - else{
217   - $coluna = $this->idioma;
218   - }
219   - $sql = "select CASE i3geoadmin_grupos.$coluna WHEN '' THEN nome_grupo ELSE i3geoadmin_grupos.$coluna END as nome_grupo, id_grupo from ".$this->esquemaadmin."i3geoadmin_grupos ORDER by nome_grupo ";
220   - $grupos = $this->execSQL($sql);
221   - return $grupos;
222   - }
223   - /*
224   - Function: pegaListaDeTiposSubGrupos
225   -
226   - Retorna a lista de grupos de um menu
227   -
228   - Parametros:
229   -
230   - id_menu {string}
231   -
232   - Return:
233   -
234   - {array}
235   - */
236   - function pegaListaDeTiposSubGrupos(){
237   - if($this->idioma == "pt"){
238   - $coluna = "nome_subgrupo";
239   - }
240   - else{
241   - $coluna = $this->idioma;
242   - }
243   - $sql = "select CASE i3geoadmin_subgrupos.$coluna WHEN '' THEN nome_subgrupo ELSE i3geoadmin_subgrupos.$coluna END as nome_subgrupo, id_subgrupo from ".$this->esquemaadmin."i3geoadmin_subgrupos ORDER by nome_subgrupo ";
244   - $subgrupos = $this->execSQL($sql);
245   - return $subgrupos;
246   - }
247   - /*
248   - Function: procuraTemas
249   -
250   - Localiza temas conforme uma palavra de busca
251   -
252   - Parametros:
253   -
254   - procurar {string} - palavra de busca
255   -
256   - perfil {string} - considera apenas esse perfil
257   -
258   - Return:
259   -
260   - {array}
261   - */
262   - function procuraTemas ($procurar,$perfil)
263   - {
264   - if($procurar != "")
265   - {
266   - $procurar = $this->removeAcentos($procurar);
267   - }
268   - $menus = $this->pegaListaDeMenus($perfil);
269   - $resultado = array();
270   - $subgrupo = array();
271   - $final = array();
272   - foreach($menus as $menu)
273   - {
274   - $grupos = $this->pegaGruposMenu($menu["idmenu"]);
275   - foreach($grupos["grupos"] as $grupo)
276   - {
277   - $a = $grupo["n1_perfil"];
278   - $a = str_replace(" ",",",$a);
279   - if($this->verificaOcorrencia($perfil,explode(",",$a)))
280   - {
281   - $sgrupos = $this->pegaSubgruposGrupo($menu["idmenu"],$grupo["id_n1"]);
282   - $temasRaizGrupo = array();
283   - $temasR = $this->pegaTemasRaizGrupo($menu["idmenu"],$grupo["id_n1"]);
284   - foreach($temasR as $tema)
285   - {
286   - $a = $tema["perfil"];
287   - $a = str_replace(" ",",",$a);
288   - if($this->verificaOcorrencia($perfil,explode(",",$a)))
289   - {
290   - $t = $this->pegaTema($tema["id_tema"]);
291   - $t = $t[0];
292   - $nome = $this->removeAcentos($tema["nome_tema"]);
293   - $tags = $this->removeAcentos($tema["tags_tema"]);
294   - $tags1 = $this->removeAcentos(mb_convert_encoding($tema["tags_tema"],"ISO-8859-1","UTF-8"));
295   - $nome1 = $this->removeAcentos(mb_convert_encoding($tema["nome_tema"],"ISO-8859-1","UTF-8"));
296   - $miniatura = "nao";
297   - if(file_exists($this->locaplic."/temas/miniaturas/".$t["codigo_tema"].".map.mini.png"))
298   - {
299   - $miniatura = "sim";
300   - }
301   - $down = "sim";
302   - if (strtolower($t["download_tema"]) == "nao")
303   - {
304   - $down = "nao";
305   - }
306   - $texto = array("codigo_tema"=>$t["codigo_tema"],"miniatura"=>$miniatura,"tid"=>$t["codigo_tema"],"nome"=>$this->converte($tema["nome_tema"]),"link"=>$t["link_tema"],"download"=>$down);
307   - if($procurar == "")
308   - {
309   - $temasRaizGrupo[] = $texto;
310   - }
311   - else
312   - {
313   - if (stristr($nome,$procurar) || stristr($nome1,$procurar))
314   - {
315   - $temasRaizGrupo[] = $texto;
316   - }
317   - else
318   - {
319   - if (stristr($tags,$procurar) || stristr($tags1,$procurar))
320   - {
321   - $temasRaizGrupo[] = $texto;
322   - }
323   - }
324   - }
325   - }
326   - }
327   - foreach($sgrupos["subgrupos"] as $sgrupo)
328   - {
329   - $a = $sgrupo["n2_perfil"];
330   - $a = str_replace(" ",",",$a);
331   - if($this->verificaOcorrencia($perfil,explode(",",$a)))
332   - {
333   - $temas = $this->pegaTemasSubGrupo($sgrupo["id_n2"]);
334   - foreach ($temas as $tema)
335   - {
336   - $a = $tema["n3_perfil"];
337   - $a = str_replace(" ",",",$a);
338   - if($this->verificaOcorrencia($perfil,explode(",",$a)))
339   - {
340   - $t = $this->pegaTema($tema["id_tema"]);
341   - $t = $t[0];
342   - $nome = $this->removeAcentos($tema["nome_tema"]);
343   - $tags = $this->removeAcentos($tema["tags_tema"]);
344   - $tags1 = $this->removeAcentos(mb_convert_encoding($tema["tags_tema"],"ISO-8859-1","UTF-8"));
345   - $nome1 = $this->removeAcentos(mb_convert_encoding($tema["nome_tema"],"ISO-8859-1","UTF-8"));
346   - $miniatura = "nao";
347   - if(file_exists($this->locaplic."/temas/miniaturas/".$tema["codigo_tema"].".map.mini.png"))
348   - {
349   - $miniatura = "sim";
350   - }
351   - $down = "sim";
352   - if (strtolower($t["download_tema"]) == "nao")
353   - {
354   - $down = "nao";
355   - }
356   - $texto = array("codigo_tema"=>$tema["codigo_tema"],"miniatura"=>$miniatura,"tid"=>$tema["codigo_tema"],"nome"=>$this->converte($tema["nome_tema"]),"link"=>$t["link_tema"],"download"=>$down);
357   - if($procurar == "")
358   - {
359   - $resultado[] = $texto;
360   - }
361   - else
362   - {
363   - if (stristr($nome,$procurar) || stristr($nome1,$procurar))
364   - {
365   - $resultado[] = $texto;
366   - }
367   - else
368   - {
369   - if (stristr($tags,$procurar) || stristr($tags1,$procurar))
370   - {
371   - $resultado[] = $texto;
372   - }
373   - }
374   - }
375   - }
376   - }
377   - }
378   - if (count($resultado) > 0)
379   - {
380   - $subgrupo[] = array("subgrupo"=>$this->converte($sgrupo["nome_subgrupo"]),"temas"=>$resultado);
381   - }
382   - $resultado = array();
383   - }
384   - }
385   - if (count($subgrupo) > 0 || count($temasRaizGrupo) > 0)
386   - {
387   - $final[] = array("grupo"=>$this->converte($grupo["nome_grupo"]),"temas"=>$temasRaizGrupo,"subgrupos"=>$subgrupo);
388   - }
389   - $subgrupo = array();
390   - }
391   - }
392   - return $final;
393   - }
394   - /*
395   - Function: procuraTemasEstrela
396   -
397   - Localiza temas que t&ecirc;m um determinado n&uacute;mero (n&iacute;vel) de estrelas
398   -
399   - Parametros:
400   -
401   - nivel {numeric} - n&uacute;mero de estrelas
402   -
403   - perfil {string} - considera apenas esse perfil
404   -
405   - Return:
406   -
407   - {array}
408   - */
409   - function procuraTemasEstrela($nivel,$fatorestrela,$perfil)
410   - {
411   - $menus = $this->pegaListaDeMenus($perfil);
412   -
413   - $resultado = array();
414   - $subgrupo = array();
415   - $final = array();
416   - foreach($menus as $menu)
417   - {
418   - $grupos = $this->pegaGruposMenu($menu["idmenu"]);
419   - foreach($grupos["grupos"] as $grupo)
420   - {
421   - $a = $grupo["n1_perfil"];
422   - $a = str_replace(" ",",",$a);
423   - if($this->verificaOcorrencia($perfil,explode(",",$a)))
424   - {
425   - $sgrupos = $this->pegaSubgruposGrupo($menu["idmenu"],$grupo["id_n1"]);
426   - $temasRaizGrupo = array();
427   - $temasR = $this->pegaTemasRaizGrupo($menu["idmenu"],$grupo["id_n1"]);
428   - foreach($temasR as $tema)
429   - {
430   - $a = $tema["perfil"];
431   - $a = str_replace(" ",",",$a);
432   - if($this->verificaOcorrencia($perfil,explode(",",$a)))
433   - {
434   - $t = $this->pegaTema($tema["id_tema"]);
435   - $t = $t[0];
436   - $nome = $this->removeAcentos($tema["nome_tema"]);
437   - $tags = $this->removeAcentos($tema["tags_tema"]);
438   - $tags1 = $this->removeAcentos(mb_convert_encoding($tema["tags_tema"],"ISO-8859-1","UTF-8"));
439   - $nome1 = $this->removeAcentos(mb_convert_encoding($tema["nome_tema"],"ISO-8859-1","UTF-8"));
440   - $miniatura = "nao";
441   - if(file_exists($this->locaplic."/temas/miniaturas/".$t["codigo_tema"].".map.mini.png"))
442   - {
443   - $miniatura = "sim";
444   - }
445   - $down = "sim";
446   - if (strtolower($t["download_tema"]) == "nao")
447   - {
448   - $down = "nao";
449   - }
450   - $texto = array("codigo_tema"=>$t["codigo_tema"],"miniatura"=>$miniatura,"tid"=>$t["codigo_tema"],"nome"=>$this->converte($tema["nome_tema"]),"link"=>$t["link_tema"],"download"=>$down);
451   - $n = intval($t["nacessos"] / $fatorestrela);
452   - if($n >= 5){
453   - $n = 5;
454   - }
455   -
456   - if ($n == $nivel)
457   - {
458   - $temasRaizGrupo[] = $texto;
459   - }
460   - }
461   - }
462   - foreach($sgrupos["subgrupos"] as $sgrupo)
463   - {
464   - $a = $sgrupo["n2_perfil"];
465   - $a = str_replace(" ",",",$a);
466   - if($this->verificaOcorrencia($perfil,explode(",",$a)))
467   - {
468   - $temas = $this->pegaTemasSubGrupo($sgrupo["id_n2"]);
469   - foreach ($temas as $tema)
470   - {
471   - $a = $tema["n3_perfil"];
472   - $a = str_replace(" ",",",$a);
473   - if($this->verificaOcorrencia($perfil,explode(",",$a)))
474   - {
475   - $t = $this->pegaTema($tema["id_tema"]);
476   - $t = $t[0];
477   - $nome = $this->removeAcentos($tema["nome_tema"]);
478   - $tags = $this->removeAcentos($tema["tags_tema"]);
479   - $tags1 = $this->removeAcentos(mb_convert_encoding($tema["tags_tema"],"ISO-8859-1","UTF-8"));
480   - $nome1 = $this->removeAcentos(mb_convert_encoding($tema["nome_tema"],"ISO-8859-1","UTF-8"));
481   - $miniatura = "nao";
482   - if(file_exists($this->locaplic."/temas/miniaturas/".$tema["codigo_tema"].".map.mini.png"))
483   - {
484   - $miniatura = "sim";
485   - }
486   - $down = "sim";
487   - if (strtolower($t["download_tema"]) == "nao")
488   - {
489   - $down = "nao";
490   - }
491   - $texto = array("codigo_tema"=>$tema["codigo_tema"],"miniatura"=>$miniatura,"tid"=>$tema["codigo_tema"],"nome"=>$this->converte($tema["nome_tema"]),"link"=>$t["link_tema"],"download"=>$down);
492   - $n = abs($t["nacessos"] / $fatorestrela);
493   - if($n >= 5){
494   - $n = 5;
495   - }
496   - if ($n == $nivel)
497   - {
498   - $resultado[] = $texto;
499   - }
500   - }
501   - }
502   - }
503   - if (count($resultado) > 0)
504   - {
505   - $subgrupo[] = array("subgrupo"=>$this->converte($sgrupo["nome_subgrupo"]),"temas"=>$resultado);
506   - }
507   - $resultado = array();
508   - }
509   - }
510   - if (count($subgrupo) > 0 || count($temasRaizGrupo) > 0)
511   - {
512   - $final[] = array("grupo"=>$this->converte($grupo["nome_grupo"]),"temas"=>$temasRaizGrupo,"subgrupos"=>$subgrupo);
513   - }
514   - $subgrupo = array();
515   - }
516   - }
517   - return $final;
518   - }
519   - /*
520   - Function: pegaGruposMenu
521   -
522   - Retorna a lista de grupos de um menu
523   -
524   - Parametros:
525   -
526   - id_menu {string}
527   -
528   - Return:
529   -
530   - {array}
531   - */
532   - function pegaGruposMenu($id_menu,$ordenaNome="nao"){
533   - if($ordenaNome == "sim"){
534   - $ordem = "nome_grupo";
535   - }
536   - else{
537   - $ordem = "ordem";
538   - }
539   - $sqlgrupos = $this->sql_grupos."where ".$this->pubsql." id_menu='$id_menu' order by $ordem";
540   - $sqlraiz = $this->sql_temasraiz."where i3geoadmin_raiz.id_menu='$id_menu' and i3geoadmin_raiz.nivel = 0 order by ordem";
541   - $grupos = $this->execSQL($sqlgrupos);
542   - $raiz = $this->execSQL($sqlraiz);
543   - $raiz = $this->validaTemas($raiz,"codigo_tema");
544   - return array("raiz"=>$raiz,"grupos"=>$grupos);
545   - }
546   - /*
547   - Function: pegaSubgruposGrupo
548   -
549   - Retorna a lista de subgrupos de um grupo
550   -
551   - Parametros:
552   -
553   - id_menu {string}
554   -
555   - id_n1 {string} - id do grupo
556   -
557   - Return:
558   -
559   - {array}
560   - */
561   - function pegaSubgruposGrupo($id_menu,$id_n1,$ordenaNome="nao",$filtraOgc="nao",$filtraDown="nao")
562   - {
563   - if($ordenaNome == "sim"){
564   - $ordem = "nome_subgrupo";
565   - }
566   - else{
567   - $ordem = "ordem";
568   - }
569   - $f = "";
570   - if($filtraOgc == "sim" || $filtraDown == "sim"){
571   - $ff = array();
572   - if($filtraOgc == "sim"){
573   - $ff[] = " i3geoadmin_temas.ogc_tema = 'SIM' ";
574   - }
575   - if($filtraDown == "sim"){
576   - $ff[] = " i3geoadmin_temas.download_tema = 'SIM' ";
577   - }
578   - $f = implode(" AND ",$ff) . " AND ";
579   - }
580   - $subgrupos = $this->execSQL($this->sql_subgrupos."where ".$this->pubsql." i3geoadmin_n2.id_n1='$id_n1' order by $ordem");
581   - $raiz = $this->execSQL($this->sql_temasraiz."where $f i3geoadmin_raiz.nivel = 1 and i3geoadmin_raiz.id_nivel = $id_n1 order by ordem");
582   - $raiz = $this->validaTemas($raiz,"codigo_tema");
583   - return array("raiz"=>$raiz,"subgrupos"=>$subgrupos);
584   - }
585   - /*
586   - Function: pegaTemasRaizMenu
587   -
588   - Retorna a lista de temas da raiz de um menu
589   -
590   - Parametros:
591   -
592   - id_menu {string}
593   -
594   - Return:
595   -
596   - {array}
597   - */
598   - function pegaTemasRaizMenu($id_menu)
599   - {
600   - $raiz = $this->execSQL($this->sql_temasraiz."where i3geoadmin_raiz.id_menu='$id_menu' and i3geoadmin_raiz.nivel = 0 order by ordem");
601   - $raiz = $this->validaTemas($raiz,"codigo_tema");
602   - return $raiz;
603   - }
604   - /*
605   - Function: pegaTemasRaizGrupo
606   -
607   - Retorna a lista de temas da raiz de um grupo
608   -
609   - Parametros:
610   -
611   - id_menu {string}
612   -
613   - id_n1 {string} - id do grupo
614   -
615   - Return:
616   -
617   - {array}
618   - */
619   - function pegaTemasRaizGrupo($id_menu,$id_n1,$filtraOgc="nao",$filtraDown="nao")
620   - {
621   - $f = "";
622   - if($filtraOgc == "sim" || $filtraDown == "sim"){
623   - $ff = array();
624   - if($filtraOgc == "sim"){
625   - $ff[] = " i3geoadmin_temas.ogc_tema = 'SIM' ";
626   - }
627   - if($filtraDown == "sim"){
628   - $ff[] = " i3geoadmin_temas.download_tema = 'SIM' ";
629   - }
630   - $f = implode(" AND ",$ff) . " AND ";
631   - }
632   - if($id_n1 == ""){
633   - $raiz = $this->execSQL($this->sql_temasraiz."where $f i3geoadmin_raiz.nivel = 1 and i3geoadmin_raiz.id_nivel > 0 order by ordem");
634   - }
635   - else {
636   - $raiz = $this->execSQL($this->sql_temasraiz."where $f i3geoadmin_raiz.nivel = 1 and i3geoadmin_raiz.id_nivel = $id_n1 order by ordem");
637   - }
638   - $raiz = $this->validaTemas($raiz,"codigo_tema");
639   - return $raiz;
640   - }
641   - /*
642   - Function: pegaTodosTemas
643   -
644   - Retorna os dados de todos os temas
645   -
646   - Return:
647   -
648   - {array}
649   - */
650   - function pegaTodosTemas($combo=false)
651   - {
652   - if($combo == true){
653   - $q = $this->execSQL($this->sql_temas_combo." ORDER BY nome_tema ASC");
654   - }
655   - else{
656   - $q = $this->execSQL($this->sql_temas." ORDER BY nome_tema ASC");
657   - }
658   - if($q){
659   - $q = $this->validaTemas($q,"codigo_tema");
660   - return $q;
661   - }
662   - }
663   - /*
664   - Function: pegaTema
665   -
666   - Retorna os dados de um tema
667   -
668   - Parametros:
669   -
670   - id_tema {string}
671   -
672   - Return:
673   -
674   - {array}
675   - */
676   - function pegaTema($id_tema)
677   - {
678   - $q = $this->execSQL($this->sql_temas." and id_tema = '$id_tema' ");
679   - if($q){
680   - return $q;
681   - }
682   - else{
683   - //caso de banco de dados antigo
684   - $sql = "select kmz_tema,'0' as nacessos,id_tema,kml_tema,ogc_tema,download_tema,tags_tema,tipoa_tema,link_tema,desc_tema,nome_tema,codigo_tema from ".$this->esquemaadmin."i3geoadmin_temas ";
685   - $q = $this->execSQL($sql." where id_tema = '$id_tema' ");
686   - return $q;
687   - }
688   - }
689   - /*
690   - Function: pegaTemaPorCodigo
691   -
692   - Retorna os dados de um tema buscando por codigo
693   -
694   - Parametros:
695   -
696   - codigo_tema {string}
697   -
698   - Return:
699   -
700   - {array}
701   - */
702   - function pegaTemaPorCodigo($codigo_tema)
703   - {
704   - $q = $this->execSQL($this->sql_temas." and codigo_tema = '$codigo_tema' ");
705   - if($q){
706   - return $q;
707   - }
708   - else{
709   - //caso de banco de dados antigo
710   - $sql = "select kmz_tema,'0' as nacessos,id_tema,kml_tema,ogc_tema,download_tema,tags_tema,tipoa_tema,link_tema,desc_tema,nome_tema,codigo_tema from ".$this->esquemaadmin."i3geoadmin_temas ";
711   - $q = $this->execSQL($sql." where codigo_tema = '$codigo_tema' ");
712   - return $q;
713   - }
714   - }
715   - /*
716   - Function: pegaTemasSubGrupo
717   -
718   - Retorna os temas de um subgrupo
719   -
720   - Parametros:
721   -
722   - id_n2 {string} - id do subgrupo
723   -
724   - Return:
725   -
726   - {array}
727   - */
728   - function pegaTemasSubGrupo($id_n2,$filtraOgc="nao",$filtraDown="nao")
729   - {
730   - $f = "";
731   - if($filtraOgc == "sim" || $filtraDown == "sim"){
732   - $ff = array();
733   - if($filtraOgc == "sim"){
734   - $ff[] = " i3geoadmin_temas.ogc_tema = 'SIM' ";
735   - }
736   - if($filtraDown == "sim"){
737   - $ff[] = " i3geoadmin_temas.download_tema = 'SIM' ";
738   - }
739   - $f = implode(" AND ",$ff) . " AND ";
740   - }
741   - $temas = $this->execSQL($this->sql_temasSubgrupo."where $f ".$this->pubsql." i3geoadmin_n3.id_n2='$id_n2' order by ordem");
742   - $temas = $this->validaTemas($temas,"codigo_tema");
743   - return $temas;
744   - }
745   - /*
746   - Function: formataMenus
747   -
748   - Retorna os menus e temas na raiz de um menu, formatados no padr&atilde;o da &aacute;rvore
749   -
750   - Return:
751   -
752   - {array}
753   - */
754   - function formataMenus(){
755   - }
756   - /*
757   - Function: formataGruposMenu
758   -
759   - Retorna os grupos e temas na raiz de um menu, formatados no padr&atilde;o da &aacute;rvore
760   -
761   - Parametros:
762   -
763   - id_menu {string}
764   -
765   - perfil {string}
766   -
767   - listasgrupos {string} - sim|nao
768   -
769   - Return:
770   -
771   - {array}
772   - */
773   - function formataGruposMenu ($id_menu,$perfil,$listasgrupos,$ordenaNome="nao",$filtraOgc="nao",$filtraDown="nao")
774   - {
775   - //error_reporting(0);
776   - $dados = $this->pegaGruposMenu($id_menu,$ordenaNome);
777   - $resultado = array();
778   - $temasraiz = array();
779   - foreach($dados["raiz"] as $temar){
780   - $temasraiz[] = $this->formataTema($temar["id_tema"]);
781   - }
782   - if(count($dados["grupos"]) == 0){
783   - $grupos[] = array();
784   - }
785   - $raizgrupos = $this->pegaTemasRaizGrupo($id_menu,"",$filtraOgc,$filtraDown);
786   - //var_dump($raizgrupos);exit;
787   - foreach($dados["grupos"] as $grupo) {
788   - $a = $grupo["n1_perfil"];
789   - $a = str_replace(" ",",",$a);
790   - if($this->verificaOcorrencia($perfil,explode(",",$a)) == true)
791   - {
792   - $temas = array();
793   - //$raizgrupo = $this->pegaTemasRaizGrupo($id_menu,$grupo["id_n1"],$filtraOgc,$filtraDown);
794   - $grupodown = "nao";
795   - $grupoogc = "nao";
796   - foreach($raizgrupos as $tema){
797   - if($tema["id_nivel"] == $grupo["id_n1"]){
798   - $temas[] = $this->formataTema($tema["id_tema"]);
799   - }
800   - }
801   - if($temas > 0){
802   - $grupodown = "sim";
803   - $grupoogc = "sim";
804   - }
805   - $subgrupos = array();
806   - if($listasgrupos=="sim"){
807   - $dadossubgrupos = $this->pegaSubgruposGrupo($id_menu,$grupo["id_n1"],$ordenaNome,$filtraOgc,$filtraDown);
808   - foreach($dadossubgrupos["subgrupos"] as $sgrupo){
809   - $a = $sgrupo["n2_perfil"];
810   - $a = str_replace(" ",",",$a);
811   - if($this->verificaOcorrencia($perfil,explode(",",$a))){
812   - //verifica se existem temas que podem receber download
813   - $down = "nao";
814   - $ogc = "nao";
815   - $listaT = $this->pegaTemasSubGrupo($sgrupo["id_n2"],$filtraOgc,$filtraDown);
816   - foreach($listaT as $tema){
817   - if(strtolower($tema["tipoa_tema"]) != "wms")
818   - {
819   - if (strtolower($tema["download_tema"]) != "nao")
820   - {
821   - $down = "sim";$grupodown = "sim";
822   - }
823   -
824   - if (strtolower($tema["ogc_tema"]) != "nao")
825   - {
826   - $ogc = "sim";$grupoogc = "sim";
827   - }
828   - }
829   - }
830   - if(count($listaT) > 0){
831   - $subgrupos[] = array("id_n2"=>$sgrupo["id_n2"],"publicado"=>($sgrupo["publicado"]),"nome"=>$this->converte($sgrupo["nome_subgrupo"]),"download"=>$down,"ogc"=>$ogc);
832   - }
833   - }
834   - }
835   - }
836   - //evita ocorrencias vazias quando for aplicado um filtro
837   - if($filtraOgc == "sim" || $filtraDown == "sim"){
838   - if(count($subgrupos) > 0 || count($temas) > 0){
839   - $grupos[] = array("publicado"=>($grupo["publicado"]),"id_n1"=>($grupo["id_n1"]),"nome"=>$this->converte($grupo["nome_grupo"]),"ogc"=>$grupoogc,"download"=>$grupodown,"subgrupos"=>$subgrupos,"temasgrupo"=>$temas);
840   - }
841   - }
842   - else{
843   - $grupos[] = array("publicado"=>($grupo["publicado"]),"id_n1"=>($grupo["id_n1"]),"nome"=>$this->converte($grupo["nome_grupo"]),"ogc"=>$grupoogc,"download"=>$grupodown,"subgrupos"=>$subgrupos,"temasgrupo"=>$temas);
844   - }
845   - }
846   - }
847   - $grupos[] = array("temasraiz"=>$temasraiz);
848   - //pega os sistemas checando os perfis
849   - $sistemas = array();
850   - $grupos[] = array("idmenu"=>$id_menu);
851   - $grupos[] = array("sistemas"=>"");
852   - return($grupos);
853   - }
854   - /*
855   - Function: formataSubgruposGrupo
856   -
857   - Retorna os subgrupos e temas na raiz de um grupo, formatados no padr&atilde;o da &aacute;rvore
858   -
859   - Parametros:
860   -
861   - id_menu {string}
862   -
863   - id_n1 {string} - id do grupo
864   -
865   - perfil {string}
866   -
867   - Return:
868   -
869   - {array}
870   - */
871   - function formataSubgruposGrupo ($id_menu,$id_n1,$perfil)
872   - {
873   - $dados = $this->pegaSubgruposGrupo($id_menu,$id_n1);
874   - $resultado = array();
875   - $temasraiz = array();
876   - foreach($dados["raiz"] as $temar)
877   - {
878   - $temasraiz[] = $this->formataTema($temar["id_tema"]);
879   - }
880   - if(count($dados["subgrupos"]) == 0)
881   - {
882   - $sgrupos[] = array();
883   - }
884   - $subgrupos = array();
885   - foreach($dados["subgrupos"] as $sgrupo)
886   - {
887   - $a = $sgrupo["n2_perfil"];
888   - $a = str_replace(" ",",",$a);
889   - if ($this->verificaOcorrencia($perfil,explode(",",$a)))
890   - {
891   - $listaT = $this->pegaTemasSubGrupo($sgrupo["id_n2"]);
892   - $down = "nao";
893   - $ogc = "nao";
894   - foreach($listaT as $tema)
895   - {
896   - if(strtolower($tema["tipoa_tema"]) != "wms")
897   - {
898   - if (strtolower($tema["download_tema"]) != "nao")
899   - {
900   - $down = "sim";
901   - }
902   - if (strtolower($tema["ogc_tema"]) != "nao")
903   - {
904   - $ogc = "sim";
905   - }
906   - }
907   - }
908   - if(count($listaT) > 0)
909   - {
910   - $subgrupos[] = array("publicado"=>($sgrupo["publicado"]),"id_n2"=>($sgrupo["id_n2"]),"nome"=>$this->converte($sgrupo["nome_subgrupo"]),"download"=>$down,"ogc"=>$ogc,"temas"=>$listaT);
911   - }
912   - }
913   - }
914   - return (array("subgrupo"=>$subgrupos,"temasgrupo"=>$temasraiz));
915   - }
916   - /*
917   - Function: formataTemasSubgrupo
918   -
919   - Retorna os temas de um subgrupo, formatados no padr&atilde;o da &aacute;rvore
920   -
921   - Parametros:
922   -
923   - id_n2 {string} - id do subgrupo
924   -
925   - perfil {string}
926   -
927   - Return:
928   -
929   - {array}
930   - */
931   - function formataTemasSubgrupo($id_n2,$perfil)
932   - {
933   - $dados = $this->pegaTemasSubGrupo($id_n2);
934   - $temas = array();
935   - foreach($dados as $tema)
936   - {
937   - $a = $tema["n3_perfil"];
938   - $a = str_replace(" ",",",$a);
939   - if($this->verificaOcorrencia($perfil,explode(",",$a)))
940   - {
941   - $temas[] = $this->formataTema($tema["id_tema"],$tema["publicado"]);
942   - }
943   - }
944   - return $temas;
945   - }
946   - /*
947   - Function: formataTema
948   -
949   - Retorna os dados de um tema, formatados no padr&atilde;o da &aacute;rvore
950   -
951   - Parametros:
952   -
953   - id_tema {string}
954   -
955   - publicado {string} - SIM|NAO valor do &iacute;ndice "publicado" que ser&aacute; inclu&iacute;do no array de retorno
956   -
957   - Return:
958   -
959   - {array}
960   - */
961   - function formataTema($id_tema,$publicado="SIM")
962   - {
963   - $recordset = $this->pegaTema($id_tema);
964   - $recordset = $recordset[0];
965   - $down = "sim";
966   - $ogc = "sim";
967   - $link = " ";
968   - $kmz = "nao";
969   - if (strtolower($recordset["download_tema"]) == "nao")
970   - {
971   - $down = "nao";
972   - }
973   - if (strtolower($recordset["ogc_tema"]) == "nao")
974   - {
975   - $ogc = "nao";
976   - }
977   - if(strtolower($recordset["tipoa_tema"]) == "wms")
978   - {
979   - $down = "nao";
980   - $ogc = "nao";
981   - }
982   - if ($recordset["link_tema"] != "")
983   - {
984   - $link = $recordset["link_tema"];
985   - }
986   - if (strtolower($recordset["kmz_tema"]) == "sim")
987   - {
988   - $kmz = "sim";
989   - }
990   - //codigo_tema para fins de compatibilidade
991   - return array("codigo_tema"=>($recordset["codigo_tema"]),"tipoa_tema"=>$recordset["tipoa_tema"],"publicado"=>$publicado,"nacessos"=>($recordset["nacessos"]),"tid"=>($recordset["codigo_tema"]),"nome"=>$this->converte($recordset["nome_tema"]),"link"=>$link,"download"=>$down,"ogc"=>$ogc,"kmz"=>$kmz);
992   - }
993   - /*
994   - Function: execSQL
995   -
996   - Executa um SQL no banco de administra&ccedil;&atilde;o
997   -
998   - Parametros:
999   -
1000   - sql {string}
1001   -
1002   - Return:
1003   -
1004   - {array}
1005   - */
1006   - function execSQL($sql)
1007   - {
1008   - //echo "<br>".$sql;
1009   - //error_reporting(0);
1010   - $sql = str_ireplace(array("update","delete","insert","--","drop",";"),"",$sql);
1011   - $q = $this->dbh->query($sql,PDO::FETCH_ASSOC);
1012   - if($q)
1013   - {
1014   - return $q->fetchAll();
1015   - }
1016   - else
1017   - {return false;
1018   - }
1019   - }
1020   - /*
1021   - Verifica se uma string ocorre em um array
1022   - */
1023   - function verificaOcorrencia($procurar,$em)
1024   - {
1025   - if(count($em) == 1 && $em[0] == "")
1026   - {
1027   - $em = "";
1028   - }
1029   - if($procurar == "" && $em == "")
1030   - {
1031   - return true;
1032   - }
1033   - if($em == "")
1034   - {
1035   - return true;
1036   - }
1037   - $resultado = false;
1038   - if($procurar != "" && $em != "")
1039   - {
1040   - foreach($em as $e)
1041   - {
1042   - $e = trim($e);
1043   - foreach($procurar as $p)
1044   - {
1045   - $p = trim($p);
1046   - if($p == $e)
1047   - {
1048   - $resultado = true;
1049   - }
1050   - }
1051   - }
1052   - }
1053   - return $resultado;
1054   - }
1055   - function seems_utf8($Str) { # by bmorel at ssi dot fr
1056   - $length = strlen($Str);
1057   - for ($i = 0; $i < $length; $i++) {
1058   - if (ord($Str[$i]) < 0x80) continue; # 0bbbbbbb
1059   - elseif ((ord($Str[$i]) & 0xE0) == 0xC0) $n = 1; # 110bbbbb
1060   - elseif ((ord($Str[$i]) & 0xF0) == 0xE0) $n = 2; # 1110bbbb
1061   - elseif ((ord($Str[$i]) & 0xF8) == 0xF0) $n = 3; # 11110bbb
1062   - elseif ((ord($Str[$i]) & 0xFC) == 0xF8) $n = 4; # 111110bb
1063   - elseif ((ord($Str[$i]) & 0xFE) == 0xFC) $n = 5; # 1111110b
1064   - else return false; # Does not match any model
1065   - for ($j = 0; $j < $n; $j++) { # n bytes matching 10bbbbbb follow ?
1066   - if ((++$i == $length) || ((ord($Str[$i]) & 0xC0) != 0x80))
1067   - return false;
1068   - }
1069   - }
1070   - return true;
1071   - }
1072   - /**
1073   - *
1074   - * TODO Verificar ao fechar versao - verificar a acentuacao das palavras nessa funcao
1075   - */
1076   - function removeAcentos($s)
1077   - {
1078   - $s = ereg_replace("[&aacute;à&acirc;&atilde;]","a",$s);
1079   - $s = ereg_replace("[&Aacute;À&Acirc;&Atilde;]","A",$s);
1080   - $s = ereg_replace("[&eacute;è&ecirc;]","e",$s);
1081   - $s = ereg_replace("[&iacute;]","i",$s);
1082   - $s = ereg_replace("[&Iacute;]","I",$s);
1083   - $s = ereg_replace("[&Eacute;È&Ecirc;]","E",$s);
1084   - $s = ereg_replace("[óò&ocirc;&otilde;]","o",$s);
1085   - $s = ereg_replace("[ÓÒ&Ocirc;&Otilde;]","O",$s);
1086   - $s = ereg_replace("[&uacute;ùû]","u",$s);
1087   - $s = ereg_replace("[&Uacute;ÙÛ]","U",$s);
1088   - $s = str_replace("&ccedil;","c",$s);
1089   - $s = str_replace("&Ccedil;","C",$s);
1090   - //$str = htmlentities($s);
1091   - $str = preg_replace("/(&)([a-z])([a-z]+;)/i", '$2', $s);
1092   - $str = preg_replace("/[^A-Z0-9]/i", ' ', $str);
1093   - $string = preg_replace("/\s+/i", ' ', $str);
1094   -
1095   - if (!preg_match('/[\x80-\xff]/', $string)){
1096   - return $string;
1097   - }
1098   - if ($this->seems_utf8($string)) {
1099   - $chars = array(
1100   - // Decompositions for Latin-1 Supplement
1101   - chr(195).chr(128) => 'A', chr(195).chr(129) => 'A',
1102   - chr(195).chr(130) => 'A', chr(195).chr(131) => 'A',
1103   - chr(195).chr(132) => 'A', chr(195).chr(133) => 'A',
1104   - chr(195).chr(135) => 'C', chr(195).chr(136) => 'E',
1105   - chr(195).chr(137) => 'E', chr(195).chr(138) => 'E',
1106   - chr(195).chr(139) => 'E', chr(195).chr(140) => 'I',
1107   - chr(195).chr(141) => 'I', chr(195).chr(142) => 'I',
1108   - chr(195).chr(143) => 'I', chr(195).chr(145) => 'N',
1109   - chr(195).chr(146) => 'O', chr(195).chr(147) => 'O',
1110   - chr(195).chr(148) => 'O', chr(195).chr(149) => 'O',
1111   - chr(195).chr(150) => 'O', chr(195).chr(153) => 'U',
1112   - chr(195).chr(154) => 'U', chr(195).chr(155) => 'U',
1113   - chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y',
1114   - chr(195).chr(159) => 's', chr(195).chr(160) => 'a',
1115   - chr(195).chr(161) => 'a', chr(195).chr(162) => 'a',
1116   - chr(195).chr(163) => 'a', chr(195).chr(164) => 'a',
1117   - chr(195).chr(165) => 'a', chr(195).chr(167) => 'c',
1118   - chr(195).chr(168) => 'e', chr(195).chr(169) => 'e',
1119   - chr(195).chr(170) => 'e', chr(195).chr(171) => 'e',
1120   - chr(195).chr(172) => 'i', chr(195).chr(173) => 'i',
1121   - chr(195).chr(174) => 'i', chr(195).chr(175) => 'i',
1122   - chr(195).chr(177) => 'n', chr(195).chr(178) => 'o',
1123   - chr(195).chr(179) => 'o', chr(195).chr(180) => 'o',
1124   - chr(195).chr(181) => 'o', chr(195).chr(182) => 'o',
1125   - chr(195).chr(182) => 'o', chr(195).chr(185) => 'u',
1126   - chr(195).chr(186) => 'u', chr(195).chr(187) => 'u',
1127   - chr(195).chr(188) => 'u', chr(195).chr(189) => 'y',
1128   - chr(195).chr(191) => 'y',
1129   - // Decompositions for Latin Extended-A
1130   - chr(196).chr(128) => 'A', chr(196).chr(129) => 'a',
1131   - chr(196).chr(130) => 'A', chr(196).chr(131) => 'a',
1132   - chr(196).chr(132) => 'A', chr(196).chr(133) => 'a',
1133   - chr(196).chr(134) => 'C', chr(196).chr(135) => 'c',
1134   - chr(196).chr(136) => 'C', chr(196).chr(137) => 'c',
1135   - chr(196).chr(138) => 'C', chr(196).chr(139) => 'c',
1136   - chr(196).chr(140) => 'C', chr(196).chr(141) => 'c',
1137   - chr(196).chr(142) => 'D', chr(196).chr(143) => 'd',
1138   - chr(196).chr(144) => 'D', chr(196).chr(145) => 'd',
1139   - chr(196).chr(146) => 'E', chr(196).chr(147) => 'e',
1140   - chr(196).chr(148) => 'E', chr(196).chr(149) => 'e',
1141   - chr(196).chr(150) => 'E', chr(196).chr(151) => 'e',
1142   - chr(196).chr(152) => 'E', chr(196).chr(153) => 'e',
1143   - chr(196).chr(154) => 'E', chr(196).chr(155) => 'e',
1144   - chr(196).chr(156) => 'G', chr(196).chr(157) => 'g',
1145   - chr(196).chr(158) => 'G', chr(196).chr(159) => 'g',
1146   - chr(196).chr(160) => 'G', chr(196).chr(161) => 'g',
1147   - chr(196).chr(162) => 'G', chr(196).chr(163) => 'g',
1148   - chr(196).chr(164) => 'H', chr(196).chr(165) => 'h',
1149   - chr(196).chr(166) => 'H', chr(196).chr(167) => 'h',
1150   - chr(196).chr(168) => 'I', chr(196).chr(169) => 'i',
1151   - chr(196).chr(170) => 'I', chr(196).chr(171) => 'i',
1152   - chr(196).chr(172) => 'I', chr(196).chr(173) => 'i',
1153   - chr(196).chr(174) => 'I', chr(196).chr(175) => 'i',
1154   - chr(196).chr(176) => 'I', chr(196).chr(177) => 'i',
1155   - chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij',
1156   - chr(196).chr(180) => 'J', chr(196).chr(181) => 'j',
1157   - chr(196).chr(182) => 'K', chr(196).chr(183) => 'k',
1158   - chr(196).chr(184) => 'k', chr(196).chr(185) => 'L',
1159   - chr(196).chr(186) => 'l', chr(196).chr(187) => 'L',
1160   - chr(196).chr(188) => 'l', chr(196).chr(189) => 'L',
1161   - chr(196).chr(190) => 'l', chr(196).chr(191) => 'L',
1162   - chr(197).chr(128) => 'l', chr(197).chr(129) => 'L',
1163   - chr(197).chr(130) => 'l', chr(197).chr(131) => 'N',
1164   - chr(197).chr(132) => 'n', chr(197).chr(133) => 'N',
1165   - chr(197).chr(134) => 'n', chr(197).chr(135) => 'N',
1166   - chr(197).chr(136) => 'n', chr(197).chr(137) => 'N',
1167   - chr(197).chr(138) => 'n', chr(197).chr(139) => 'N',
1168   - chr(197).chr(140) => 'O', chr(197).chr(141) => 'o',
1169   - chr(197).chr(142) => 'O', chr(197).chr(143) => 'o',
1170   - chr(197).chr(144) => 'O', chr(197).chr(145) => 'o',
1171   - chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe',
1172   - chr(197).chr(148) => 'R',chr(197).chr(149) => 'r',
1173   - chr(197).chr(150) => 'R',chr(197).chr(151) => 'r',
1174   - chr(197).chr(152) => 'R',chr(197).chr(153) => 'r',
1175   - chr(197).chr(154) => 'S',chr(197).chr(155) => 's',
1176   - chr(197).chr(156) => 'S',chr(197).chr(157) => 's',
1177   - chr(197).chr(158) => 'S',chr(197).chr(159) => 's',
1178   - chr(197).chr(160) => 'S', chr(197).chr(161) => 's',
1179   - chr(197).chr(162) => 'T', chr(197).chr(163) => 't',
1180   - chr(197).chr(164) => 'T', chr(197).chr(165) => 't',
1181   - chr(197).chr(166) => 'T', chr(197).chr(167) => 't',
1182   - chr(197).chr(168) => 'U', chr(197).chr(169) => 'u',
1183   - chr(197).chr(170) => 'U', chr(197).chr(171) => 'u',
1184   - chr(197).chr(172) => 'U', chr(197).chr(173) => 'u',
1185   - chr(197).chr(174) => 'U', chr(197).chr(175) => 'u',
1186   - chr(197).chr(176) => 'U', chr(197).chr(177) => 'u',
1187   - chr(197).chr(178) => 'U', chr(197).chr(179) => 'u',
1188   - chr(197).chr(180) => 'W', chr(197).chr(181) => 'w',
1189   - chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y',
1190   - chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z',
1191   - chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z',
1192   - chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z',
1193   - chr(197).chr(190) => 'z', chr(197).chr(191) => 's',
1194   - // Euro Sign
1195   - chr(226).chr(130).chr(172) => 'E',
1196   - // GBP (Pound) Sign
1197   - chr(194).chr(163) => '');
1198   - $string = strtr($string, $chars);
1199   - } else {
1200   - // Assume ISO-8859-1 if not UTF-8
1201   - $chars['in'] = chr(128).chr(131).chr(138).chr(142).chr(154).chr(158)
1202   - .chr(159).chr(162).chr(165).chr(181).chr(192).chr(193).chr(194)
1203   - .chr(195).chr(196).chr(197).chr(199).chr(200).chr(201).chr(202)
1204   - .chr(203).chr(204).chr(205).chr(206).chr(207).chr(209).chr(210)
1205   - .chr(211).chr(212).chr(213).chr(214).chr(216).chr(217).chr(218)
1206   - .chr(219).chr(220).chr(221).chr(224).chr(225).chr(226).chr(227)
1207   - .chr(228).chr(229).chr(231).chr(232).chr(233).chr(234).chr(235)
1208   - .chr(236).chr(237).chr(238).chr(239).chr(241).chr(242).chr(243)
1209   - .chr(244).chr(245).chr(246).chr(248).chr(249).chr(250).chr(251)
1210   - .chr(252).chr(253).chr(255);
1211   - $chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy";
1212   - $string = strtr($string, $chars['in'], $chars['out']);
1213   - $double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254));
1214   - $double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th');
1215   - $string = str_replace($double_chars['in'], $double_chars['out'], $string);
1216   - }
1217   - return $string;
1218   - }
1219   - function converte($texto){
1220   - if($this->convUTF == true)
1221   - $texto = mb_convert_encoding($texto,mb_detect_encoding($texto),"UTF-8");
1222   - else
1223   - $texto = mb_convert_encoding($texto,mb_detect_encoding($texto),"ISO-8859-1");
1224   - return $texto;
1225   - }
1226   - function verificaPapelSessao($id_papel){
1227   - if(!empty($_COOKIE["i3geocodigologin"])){
1228   - session_write_close();
1229   - session_name("i3GeoLogin");
1230   - session_id($_COOKIE["i3geocodigologin"]);
1231   - session_start();
1232   - //var_dump($_SESSION);exit;
1233   - if($_SESSION["usuario"] != $_COOKIE["i3geousuariologin"]){
1234   - return false;
1235   - }
1236   - foreach($_SESSION["papeis"] as $p){
1237   - if($p == 1 || $p == $id_papel){
1238   - return true;
1239   - }
1240   - }
1241   - }
1242   - else{//caso nao exista, retorna um erro
1243   - return false;
1244   - }
1245   - }
1246   - function verificaOperacaoSessao($operacao){
1247   - if($_COOKIE["i3geocodigologin"] != ""){
1248   - session_write_close();
1249   - session_name("i3GeoLogin");
1250   - session_id($_COOKIE["i3geocodigologin"]);
1251   - session_start();
1252   - $resultado = false;
1253   - //verifica se e administrador
1254   - foreach($_SESSION["papeis"] as $p){
1255   - if($p == 1){
1256   - return true;
1257   - }
1258   - }
1259   - if(!empty($_SESSION["operacoes"][$operacao])){
1260   - $resultado = true;
1261   - }
1262   - return $resultado;
1263   - } else {
1264   - return false;
1265   - }
1266   - }
1267   -}
1268   -?>
1269 0 \ No newline at end of file
admin/php/xxxconexao.php 0 → 100755
... ... @@ -0,0 +1,107 @@
  1 +<?php
  2 +/*
  3 +Title: conexao.php
  4 +
  5 +Define a conex&atilde;o com o banco de dados que cont&eacute;m as tabelas do sistema de administra&ccedil;&atilde;o do i3geo.
  6 +
  7 +Verifique se sua instala&ccedil;&atilde;o do PHP suporta o uso da biblioteca PDO com sqlite
  8 +
  9 +Por padr&atilde;o, a conex&atilde;o &eacute; feita com o banco de dados SQLITE i3geo/admin/admin.db mas vc pode usar outro banco de dados
  10 +
  11 +Voc&ecirc; pode alterar a conex&atilde;o PDO modificando a vari&aacute;vel de configuara&ccedil;&atilde;o $conexaoadmin no i3geo/ms_configura.php
  12 +
  13 +O programa define duas vari&aacute;veis que s&atilde;o usadas no acesso ao banco
  14 +
  15 +dbhw - objeto PDO com a conex&atilde;o para leitura e escrita
  16 +
  17 +dbh - objeto PDO com a conex&atilde;o para leitura
  18 +
  19 +Licen&ccedil;a:
  20 +
  21 +GPL2
  22 +
  23 +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  24 +
  25 +Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil
  26 +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  27 +
  28 +Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  29 +e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  30 +GNU conforme publicada pela Free Software Foundation;
  31 +
  32 +Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  33 +por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  34 +de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  35 +Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  36 +Voc&ecirc; deve ter recebido uma c�pia da Licen&ccedil;a P&uacute;blica Geral do
  37 + GNU junto com este programa; se n&atilde;o, escreva para a
  38 +Free Software Foundation, Inc., no endere&ccedil;o
  39 +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  40 +
  41 +Arquivo: i3geo/admin/php/conexao.php
  42 +
  43 +*/
  44 +if(isset($locaplic) && $locaplic != ""){
  45 + include($locaplic."/ms_configura.php");
  46 +}
  47 +else{
  48 + include(dirname(__FILE__)."/../../ms_configura.php");
  49 +}
  50 +if(!isset($conexaoadmin)){
  51 + $conexaoadmin = "";
  52 +}
  53 +if(!isset($esquemaadmin)){
  54 + $esquemaadmin = "";
  55 +}
  56 +if($esquemaadmin != ""){
  57 + $esquemaadmin = str_replace(".","",$esquemaadmin).".";
  58 +}
  59 +if(!isset($logTransacoes)){
  60 + $logTransacoes = false;
  61 +}
  62 +//
  63 +//indica se deve ser feita a convers&atilde;o para UTF8 ao gravar os dados
  64 +//
  65 +$convUTF = true;
  66 +if($conexaoadmin == ""){
  67 + $arquivosqlite = $locaplic."/admin/admin.db";
  68 + //chmod($arquivosqlite,0774);
  69 + //echo $arquivosqlite;exit;
  70 + if(!file_exists($arquivosqlite)){
  71 + echo "O arquivo admin.db n&atilde;o existe. Utilize i3geo/admin/criabanco.php para criar o banco de dados SQLITE.";
  72 + exit;
  73 + }
  74 + $conAdmin = "sqlite:$arquivosqlite";
  75 + $conAdminw = "sqlite:$arquivosqlite";
  76 + if(!extension_loaded("PDO")){
  77 + echo "<span style=color:red >A extensao do PHP 'PDO' nao esta instalada.";
  78 + exit;
  79 + }
  80 + if (!extension_loaded( "pdo_sqlite")){
  81 + echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a pdo_sqlite<br></span>";
  82 + exit;
  83 + }
  84 + if (!extension_loaded( "SQLite") && !extension_loaded( "sqlite3")){
  85 + echo "<span style=color:red >Problema: n&atilde;o est&aacute; instalado a SQLite<br></span>";
  86 + exit;
  87 + }
  88 + try {
  89 + //para escrita
  90 + $dbhw = new PDO($conAdminw);
  91 + //para leitura
  92 + $dbh = new PDO($conAdmin);
  93 + }
  94 + catch (PDOException $e) {
  95 + print "Erro ao criar o objeto PDO!: <br/> Talvez exista alguma incompatibilidade entre o PHP e o banco admin.db. Vc pode apagar o arquivo menutemas/admin.db e recria-lo com admin/php/criasqlite.php";
  96 + die();
  97 + }
  98 +}
  99 +else {
  100 + if(file_exists($conexaoadmin)){
  101 + include($conexaoadmin);
  102 + } else {
  103 + echo "Arquivo de conexao nao existe";
  104 + exit;
  105 + }
  106 +}
  107 +?>
... ...
classesphp/xml.php
... ... @@ -71,7 +71,7 @@ function geraXmlSistemas($perfil=&quot;&quot;,$locaplic=&quot;&quot;,$editores=&quot;&quot;)
71 71 $perfil = str_replace(","," ",$perfil);
72 72 $perfil = explode(" ",$perfil);
73 73 $dbh = "";
74   - include($locaplic."/admin/php/conexao.php");
  74 + include($locaplic."/classesphp/conexao.php");
75 75 if($convUTF)
76 76 $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">";
77 77 else
... ... @@ -239,7 +239,7 @@ Retorno:
239 239  
240 240 RSS
241 241 */
242   -function geraXmlWS($locaplic,$output)
  242 +function geraXmlWS($locaplic,$output="xml")
243 243 {
244 244 global $esquemaadmin;
245 245 $sql = "select * from ".$esquemaadmin."i3geoadmin_ws where tipo_ws = 'WS' and nome_ws <> ''";
... ... @@ -471,7 +471,7 @@ function geraXmlRSS($locaplic,$sql,$descricao,$output=&quot;xml&quot;)
471 471 }
472 472 //var_dump($_SERVER);exit;
473 473 $dbh = "";
474   - include($locaplic."/admin/php/conexao.php");
  474 + include($locaplic."/classesphp/conexao.php");
475 475 if($convUTF){
476 476 $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">";
477 477 } else {
... ... @@ -507,7 +507,11 @@ function geraXmlRSS($locaplic,$sql,$descricao,$output=&quot;xml&quot;)
507 507 $xml .= "<author>".xmlTexto_prepara($row["autor_ws"])."</author>\n";
508 508 $xml .= "<nacessos></nacessos>\n";
509 509 $xml .= "<nacessosok></nacessosok>\n";
  510 + if(!isset($row["id_ws"])){
  511 + $row["id_ws"] = "";
  512 + }
510 513 $xml .= "<id>".xmlTexto_prepara($row["id_ws"])."</id>\n";
  514 +
511 515 $xml .= "<tipo>".$row["tipo_ws"]."</tipo>\n";
512 516 $xml .= "</item>\n";
513 517 $jsonItems[] = array(
... ... @@ -535,7 +539,7 @@ function geraXmlAtlas($locaplic,$editores)
535 539 global $esquemaadmin;
536 540 //error_reporting(0);
537 541 $dbh = "";
538   - include($locaplic."/admin/php/conexao.php");
  542 + include($locaplic."/classesphp/conexao.php");
539 543  
540 544 if($convUTF)
541 545 $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">";
... ... @@ -587,7 +591,7 @@ function geraXmlIdentifica($perfil,$locaplic,$editores=&quot;&quot;)
587 591 $perfil = str_replace(","," ",$perfil);
588 592 $perfil = explode(" ",$perfil);
589 593 $dbh = "";
590   - include($locaplic."/admin/php/conexao.php");
  594 + include($locaplic."/classesphp/conexao.php");
591 595 if($convUTF)
592 596 $xml = "<"."\x3F"."xml version='1.0' encoding='UTF-8' "."\x3F".">";
593 597 else
... ... @@ -672,7 +676,7 @@ function geraXmlMapas($perfil,$locaplic,$editores)
672 676 $xml .= " <OUTROS><![CDATA[".$outros."]]></OUTROS>\n";
673 677 $linkdireto = xmlTexto_prepara($row["linkdireto_mapa"]);
674 678 if(empty($linkdireto)){
675   - $linkdireto = $url."/ms_criamapa.php?mapext=".$extensao."&perfil=".$perfil."&temasa=".$temas."&layers=".$ligados.$row["outros_mapa"];
  679 + $linkdireto = $url."/ms_criamapa.php?mapext=".$extensao."&perfil=".$perfil."&temasa=".$row["temas_mapa"]."&layers=".$row["ligados_mapa"].$row["outros_mapa"];
676 680 $linkdireto = xmlTexto_prepara($linkdireto);
677 681 }
678 682 $xml .= " <LINKDIRETO><![CDATA[".$linkdireto."]]></LINKDIRETO>\n";
... ... @@ -693,7 +697,7 @@ function geraXmlMapas($perfil,$locaplic,$editores)
693 697 return $xml;
694 698 }
695 699 //mostra apenas os mapas que possuem outros_mapa definido, o que e tipico do sistema de metadados estatisticos
696   -function geraRSSmapas($locaplic,$output)
  700 +function geraRSSmapas($locaplic,$output="xml")
697 701 {
698 702 global $esquemaadmin;
699 703 $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);
... ... @@ -725,7 +729,7 @@ function geraXmlMenutemas($perfil,$id_menu,$tipo,$locaplic)
725 729 global $esquemaadmin;
726 730 xml_testaNum([$id_menu]);
727 731 $dbh = "";
728   - include($locaplic."/admin/php/conexao.php");
  732 + include($locaplic."/classesphp/conexao.php");
729 733 if (!isset($perfil)){$perfil = "";}
730 734 $perfil = str_replace(","," ",$perfil);
731 735 $perfil = explode(" ",$perfil);
... ...
css/i3geo7.css.php 100644 → 100755
ferramentas/comentarios/index.php
... ... @@ -68,7 +68,7 @@ function formularioInsere()
68 68 function listaComentarios()
69 69 {
70 70 $locaplic = "../..";
71   - include(dirname(__FILE__)."/../../admin/php/conexao.php");
  71 + include(dirname(__FILE__)."/../../classesphp/conexao.php");
72 72 if(!empty($esquemaadmin)){
73 73 $esquemaadmin = str_replace(".","",$esquemaadmin).".";
74 74 }
... ... @@ -100,7 +100,7 @@ function listaComentarios()
100 100 function gravaComentario()
101 101 {
102 102 //necess&aacute;rio para os includes do admin.php
103   - include_once(dirname(__FILE__)."/../../admin/php/conexao.php");
  103 + include_once(dirname(__FILE__)."/../../classesphp/conexao.php");
104 104 if(!empty($esquemaadmin)){
105 105 $esquemaadmin = str_replace(".","",$esquemaadmin).".";
106 106 }
... ...
ferramentas/editorgm/editorgm_compacto.js 100644 → 100755
ferramentas/editorol/editorol_compacto.js 100644 → 100755
js/compactados/ajuda_compacto.js 100644 → 100755
js/compactados/analise_compacto.js 100644 → 100755
js/compactados/arvoredecamadas_compacto.js 100644 → 100755
js/compactados/arvoredetemas_compacto.js 100644 → 100755
js/compactados/base64_compacto.js 100644 → 100755
js/compactados/busca_compacto.js 100644 → 100755
js/compactados/caixaDeFerramentas_compacto.js 100644 → 100755
js/compactados/calculo_compacto.js 100644 → 100755
js/compactados/catalogoDir_compacto.js 100644 → 100755
js/compactados/catalogoEstrelas_compacto.js 100644 → 100755
js/compactados/catalogoInde_compacto.js 100644 → 100755
js/compactados/catalogoMapas_compacto.js 100644 → 100755
js/compactados/catalogoMenus_compacto.js 100644 → 100755
js/compactados/catalogoMetaestat_compacto.js 100644 → 100755
js/compactados/catalogoOgc_compacto.js 100644 → 100755
js/compactados/catalogoRegioes_compacto.js 100644 → 100755
js/compactados/catalogoSistemas_compacto.js 100644 → 100755
js/compactados/configura_compacto.js 100644 → 100755
js/compactados/coordenadas_compacto.js 100644 → 100755
js/compactados/desenho_compacto.js 100644 → 100755
js/compactados/dicionario_ajuda_compacto.js 100644 → 100755
js/compactados/dicionario_compacto.js 100644 → 100755
js/compactados/editor_compacto.js 100644 → 100755
js/compactados/eventos_compacto.js 100644 → 100755
js/compactados/guias_compacto.js 100644 → 100755
js/compactados/idioma_compacto.js 100644 → 100755
js/compactados/ini_i3geo_compacto.js 100644 → 100755
js/compactados/interface_compacto.js 100644 → 100755
js/compactados/janela_compacto.js 100644 → 100755
js/compactados/legenda_compacto.js 100644 → 100755
js/compactados/login_compacto.js 100644 → 100755
js/compactados/mapa_compacto.js 100644 → 100755
js/compactados/maparef_compacto.js 100644 → 100755
js/compactados/marcador_compacto.js 100644 → 100755
js/compactados/mustache.js 100644 → 100755
js/compactados/navega_compacto.js 100644 → 100755
js/compactados/php_compacto.js 100644 → 100755
js/compactados/plugini3geo_compacto.js 100644 → 100755
js/compactados/proj4js.js 100644 → 100755
js/compactados/social_compacto.js 100644 → 100755
js/compactados/tema_compacto.js 100644 → 100755
js/compactados/util_compacto.js 100644 → 100755
js/compactados/wicket.js 100644 → 100755
js/i3geo_tudo_compacto7.js.php 100644 → 100755
pacotes/cpaint/cpaint2_compacto.inc.js 100644 → 100755
pacotes/mobileesp/mdetect_compacto.js 100644 → 100755
pacotes/yui290/build/carousel/carousel_compacto.js 100644 → 100755
pacotes/yui290/build/container/container_compacto.js 100644 → 100755
pacotes/yui290/build/container/container_core_compacto.js 100644 → 100755
pacotes/yui290/build/resize/resize_compacto.js 100644 → 100755
pacotes/yui290/build/treeview/treeview_compacto.js 100644 → 100755
pacotes/yui290/build/utilities/utilities_compacto.js 100644 → 100755
rss/xmlmapas.php
... ... @@ -43,5 +43,8 @@ if(!isset($_GET[&quot;perfil&quot;])){
43 43 $_GET["perfil"] = "";
44 44 }
45 45 echo header("Content-type: application/xml");
  46 +if(!isset($_GET["editores"])){
  47 + $_GET["editores"] = "";
  48 +}
46 49 echo geraXmlMapas($_GET["perfil"],$locaplic,$_GET["editores"]);
47 50 ?>
... ...
rss/xmlsistemas.php
... ... @@ -43,5 +43,8 @@ if(!isset($_GET[&quot;perfil&quot;])){
43 43 $_GET["perfil"] = "";
44 44 }
45 45 echo header("Content-type: application/xml");
  46 +if(!isset($_GET["editores"])){
  47 + $_GET["editores"] = "";
  48 +}
46 49 echo geraXmlSistemas($_GET["perfil"],$locaplic,$_GET["editores"]);
47 50 ?>
... ...