Commit 4e42537b5f61a1dd9692df36a0bcdffef69a7ca1

Authored by Edmar Moretti
1 parent f062122b

Verificação dos acessos aos temas bloqueados ou não publicados

admin/admin.db
No preview for this file type
admin/hiperbolica.php
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 4
5 Cria um arquivo no formato XML para o aplicativo arvore hiperbolica. 5 Cria um arquivo no formato XML para o aplicativo arvore hiperbolica.
6 6
7 -A �rvore hiperbolica e montada por um applet que carrega um XML contendo a estrutura de nos. 7 +A arvore hiperbolica e montada por um applet que carrega um XML contendo a estrutura de nos.
8 8
9 Esse programa le o banco de administração e monta o XML contendo os menus, grupos, subgrupos e temas. 9 Esse programa le o banco de administração e monta o XML contendo os menus, grupos, subgrupos e temas.
10 10
@@ -34,7 +34,7 @@ Este programa é distribuído na expectativa de que seja útil @@ -34,7 +34,7 @@ Este programa é distribuído na expectativa de que seja útil
34 porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita 34 porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita
35 de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. 35 de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
36 Consulte a Licença Pública Geral do GNU para mais detalhes. 36 Consulte a Licença Pública Geral do GNU para mais detalhes.
37 -Você deve ter recebido uma cópia da Licença Pública Geral do 37 +Você deve ter recebido uma copia da Licença Pública Geral do
38 GNU junto com este programa; se não, escreva para a 38 GNU junto com este programa; se não, escreva para a
39 Free Software Foundation, Inc., no endereço 39 Free Software Foundation, Inc., no endereço
40 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. 40 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
@@ -68,19 +68,14 @@ $xml .= "<capa>"; @@ -68,19 +68,14 @@ $xml .= "<capa>";
68 // 68 //
69 //obtem a lista de menus 69 //obtem a lista de menus
70 // 70 //
71 -$menus = pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_menus order by nome_menu ",$locaplic); 71 +$menus = pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_menus where publicado_menu != 'NAO' order by nome_menu ",$locaplic);
72 $xml .= '<termo cor="#FFFFFF" id="00" nome="Dados geo">'; 72 $xml .= '<termo cor="#FFFFFF" id="00" nome="Dados geo">';
73 $contador = 0; 73 $contador = 0;
74 $xml .= '<item cor="#FFFFCC" id="'.$contador.'" tipo="TE1" nome="Menus" familia="1" /> '."\n"; 74 $xml .= '<item cor="#FFFFCC" id="'.$contador.'" tipo="TE1" nome="Menus" familia="1" /> '."\n";
75 // 75 //
76 //varre cada menu 76 //varre cada menu
77 // 77 //
78 -foreach ($menus as $menu)  
79 -{  
80 - if(strtolower($menu["publicado_menu"]) == "nao")  
81 - {  
82 - continue;  
83 - } 78 +foreach ($menus as $menu){
84 $id = $menu["id_menu"]; 79 $id = $menu["id_menu"];
85 $nome = html_entity_decode($menu["nome_menu"]); 80 $nome = html_entity_decode($menu["nome_menu"]);
86 $nome = h_converteTexto($nome); 81 $nome = h_converteTexto($nome);
@@ -89,7 +84,7 @@ foreach ($menus as $menu) @@ -89,7 +84,7 @@ foreach ($menus as $menu)
89 // 84 //
90 //obtem a lista de grupos 85 //obtem a lista de grupos
91 // 86 //
92 - $grupos = pegaDados("select i3geoadmin_grupos.nome_grupo,id_n1,id_menu from ".$esquemaadmin."i3geoadmin_n1 LEFT JOIN ".$esquemaadmin."i3geoadmin_grupos ON i3geoadmin_n1.id_grupo = i3geoadmin_grupos.id_grupo where id_menu='$id' order by ordem",$locaplic); 87 + $grupos = pegaDados("select i3geoadmin_grupos.nome_grupo,id_n1,id_menu from ".$esquemaadmin."i3geoadmin_n1 LEFT JOIN ".$esquemaadmin."i3geoadmin_grupos ON i3geoadmin_n1.id_grupo = i3geoadmin_grupos.id_grupo where id_menu='$id' and i3geoadmin_n1.publicado != 'NAO' order by ordem",$locaplic);
93 for($i=0;$i < count($grupos);++$i) 88 for($i=0;$i < count($grupos);++$i)
94 { 89 {
95 $contador++; 90 $contador++;
@@ -102,7 +97,13 @@ foreach ($menus as $menu) @@ -102,7 +97,13 @@ foreach ($menus as $menu)
102 // 97 //
103 //obtem os temas na raiz do grupo 98 //obtem os temas na raiz do grupo
104 // 99 //
105 - $temasRaizGrupo = pegaDados("select i3geoadmin_temas.tags_tema as tags_tema,i3geoadmin_temas.codigo_tema as codigo_tema,i3geoadmin_raiz.id_tema,nome_tema as nome_tema,perfil FROM ".$esquemaadmin."i3geoadmin_raiz LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_temas.id_tema = i3geoadmin_raiz.id_tema where i3geoadmin_raiz.nivel = 1 and i3geoadmin_raiz.id_nivel = ".$grupos[$i]["id_n1"]." order by ordem"); 100 + $temasRaizGrupo = pegaDados("
  101 + select i3geoadmin_temas.tags_tema as tags_tema,i3geoadmin_temas.codigo_tema as codigo_tema,i3geoadmin_raiz.id_tema,nome_tema as nome_tema,perfil
  102 + FROM ".$esquemaadmin."i3geoadmin_raiz
  103 + LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_temas.id_tema = i3geoadmin_raiz.id_tema
  104 + LEFT JOIN ".$esquemaadmin."i3geousr_grupotema ON i3geoadmin_raiz.id_tema = i3geousr_grupotema.id_tema
  105 + where i3geousr_grupotema.id_grupo is null and i3geoadmin_raiz.nivel = 1 and i3geoadmin_raiz.id_nivel = ".$grupos[$i]["id_n1"]." order by ordem");
  106 +
106 //var_dump($temasRaizGrupo);exit; 107 //var_dump($temasRaizGrupo);exit;
107 $t = obtemTemas($temasRaizGrupo,$contador,$id); 108 $t = obtemTemas($temasRaizGrupo,$contador,$id);
108 $xml .= $t[0]; 109 $xml .= $t[0];
@@ -110,7 +111,7 @@ foreach ($menus as $menu) @@ -110,7 +111,7 @@ foreach ($menus as $menu)
110 // 111 //
111 //obtem os subgrupos 112 //obtem os subgrupos
112 // 113 //
113 - $subgrupos = pegaDados("select i3geoadmin_subgrupos.nome_subgrupo,i3geoadmin_n2.id_n2 from ".$esquemaadmin."i3geoadmin_n2 LEFT JOIN ".$esquemaadmin."i3geoadmin_subgrupos ON i3geoadmin_n2.id_subgrupo = i3geoadmin_subgrupos.id_subgrupo where i3geoadmin_n2.id_n1='$idgrupo' order by ordem",$locaplic); 114 + $subgrupos = pegaDados("select i3geoadmin_subgrupos.nome_subgrupo,i3geoadmin_n2.id_n2 from ".$esquemaadmin."i3geoadmin_n2 LEFT JOIN ".$esquemaadmin."i3geoadmin_subgrupos ON i3geoadmin_n2.id_subgrupo = i3geoadmin_subgrupos.id_subgrupo where i3geoadmin_n2.id_n1='$idgrupo' and i3geoadmin_n2.publicado != 'NAO' order by ordem",$locaplic);
114 if(count($subgrupos) > 0) 115 if(count($subgrupos) > 0)
115 $xml .= '<item cor="#FF9966" id="'.$contador.'" tipo="TE4" nome="SUBGRUPOS" familia="'.$id.'" /> '."\n"; 116 $xml .= '<item cor="#FF9966" id="'.$contador.'" tipo="TE4" nome="SUBGRUPOS" familia="'.$id.'" /> '."\n";
116 for($j=0;$j < count($subgrupos);++$j) 117 for($j=0;$j < count($subgrupos);++$j)
@@ -123,7 +124,14 @@ foreach ($menus as $menu) @@ -123,7 +124,14 @@ foreach ($menus as $menu)
123 $contador++; 124 $contador++;
124 $xml .= '<item cor="#FF6633" id="'.$contador.'" tipo="TE6" nome="TEMAS" familia="'.$id.'" /> '."\n"; 125 $xml .= '<item cor="#FF6633" id="'.$contador.'" tipo="TE6" nome="TEMAS" familia="'.$id.'" /> '."\n";
125 $id_n2 = $subgrupos[$j]["id_n2"]; 126 $id_n2 = $subgrupos[$j]["id_n2"];
126 - $temas = pegaDados("select i3geoadmin_temas.tags_tema,i3geoadmin_temas.nome_tema,i3geoadmin_temas.codigo_tema,i3geoadmin_n3.id_n3 from ".$esquemaadmin."i3geoadmin_n3 LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_n3.id_tema = i3geoadmin_temas.id_tema where i3geoadmin_n3.id_n2='$id_n2' order by ordem",$locaplic); 127 + $temas = pegaDados("
  128 + select i3geoadmin_temas.tags_tema,i3geoadmin_temas.nome_tema,i3geoadmin_temas.codigo_tema,i3geoadmin_n3.id_n3
  129 + from ".$esquemaadmin."i3geoadmin_n3
  130 + LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_n3.id_tema = i3geoadmin_temas.id_tema
  131 + LEFT JOIN ".$esquemaadmin."i3geousr_grupotema ON i3geoadmin_n3.id_tema = i3geousr_grupotema.id_tema
  132 + where i3geousr_grupotema.id_grupo is null and i3geoadmin_n3.id_n2='$id_n2' and i3geoadmin_n3.publicado != 'NAO' order by ordem",$locaplic
  133 + );
  134 + //var_dump($temas);exit;
127 $t = obtemTemas($temas,$contador,$id); 135 $t = obtemTemas($temas,$contador,$id);
128 $xml .= $t[0]; 136 $xml .= $t[0];
129 $contador += $t[1]; 137 $contador += $t[1];
admin/php/parsemapfile.php
@@ -292,9 +292,9 @@ function mapfile() @@ -292,9 +292,9 @@ function mapfile()
292 $nlayers = array(); 292 $nlayers = array();
293 foreach ($layers as $layer) 293 foreach ($layers as $layer)
294 { 294 {
  295 + $layer = $mapa->getlayerbyname($layer);
295 if($objcontype[$layer->connectiontype] != MS_WMS ) 296 if($objcontype[$layer->connectiontype] != MS_WMS )
296 { 297 {
297 - $layer = $mapa->getlayerbyname($layer);  
298 if($layer->group == "") 298 if($layer->group == "")
299 {$nlayers[] = $layer->name;} 299 {$nlayers[] = $layer->name;}
300 else 300 else
admin/php/xml.php
@@ -33,9 +33,6 @@ Arquivo: @@ -33,9 +33,6 @@ Arquivo:
33 33
34 i3geo/admin/php/xml.php 34 i3geo/admin/php/xml.php
35 */ 35 */
36 -if(!function_exists("verificaEditores")){  
37 - include_once(__DIR__."/../../classesphp/funcoes_gerais.php");  
38 -}  
39 // 36 //
40 //processa a vari&aacute;vel $esquemaadmin definida em ms_configura.php 37 //processa a vari&aacute;vel $esquemaadmin definida em ms_configura.php
41 //essa vari&aacute;vel precisa ter um . no final quando n&atilde;o for vazia, evitando erros na inclus&atilde;o dentro dos SQLs 38 //essa vari&aacute;vel precisa ter um . no final quando n&atilde;o for vazia, evitando erros na inclus&atilde;o dentro dos SQLs
@@ -146,7 +143,12 @@ RSS @@ -146,7 +143,12 @@ RSS
146 function geraRSStemas($locaplic,$id_n2) 143 function geraRSStemas($locaplic,$id_n2)
147 { 144 {
148 global $esquemaadmin; 145 global $esquemaadmin;
149 - $sql = "select '' as tipo_ws, t.codigo_tema as id_ws,t.nome_tema as nome_ws,'' as desc_ws,'php/parsemapfile.php?id='||t.codigo_tema as link_ws,t.link_tema as autor_ws from ".$esquemaadmin."i3geoadmin_n3 as n3,".$esquemaadmin."i3geoadmin_temas as t where t.id_tema = n3.id_tema and n3.id_n2 = '$id_n2' and n3.n3_perfil = '' order by nome_ws"; 146 + $sql = "
  147 + 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
  148 + from ".$esquemaadmin."i3geoadmin_n3 as n3
  149 + LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_temas.id_tema = n3.id_tema
  150 + LEFT JOIN ".$esquemaadmin."i3geousr_grupotema ON n3.id_tema = i3geousr_grupotema.id_tema
  151 + 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";
150 return geraXmlRSS($locaplic,$sql,"Lista de temas"); 152 return geraXmlRSS($locaplic,$sql,"Lista de temas");
151 } 153 }
152 /* 154 /*
@@ -169,7 +171,12 @@ RSS @@ -169,7 +171,12 @@ RSS
169 function geraRSStemasRaiz($locaplic,$id,$nivel) 171 function geraRSStemasRaiz($locaplic,$id,$nivel)
170 { 172 {
171 global $esquemaadmin; 173 global $esquemaadmin;
172 - $sql = "select '' as tipo_ws, t.codigo_tema as id_ws,t.nome_tema as nome_ws,'' as desc_ws,'php/parsemapfile.php?id='||t.codigo_tema as link_ws,t.link_tema as autor_ws from ".$esquemaadmin."i3geoadmin_raiz as r,".$esquemaadmin."i3geoadmin_temas as t where t.id_tema = r.id_tema and r.nivel = '$nivel' and r.id_nivel = '$id' order by nome_ws"; 174 + $sql = "
  175 + 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
  176 + from ".$esquemaadmin."i3geoadmin_raiz as r
  177 + LEFT JOIN ".$esquemaadmin."i3geoadmin_temas ON i3geoadmin_temas.id_tema = r.id_tema
  178 + LEFT JOIN ".$esquemaadmin."i3geousr_grupotema ON r.id_tema = i3geousr_grupotema.id_tema
  179 + 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";
173 return geraXmlRSS($locaplic,$sql,"Temas na raiz"); 180 return geraXmlRSS($locaplic,$sql,"Temas na raiz");
174 } 181 }
175 /* 182 /*
@@ -190,7 +197,8 @@ RSS @@ -190,7 +197,8 @@ RSS
190 function geraRSSsubgrupos($locaplic,$id_n1) 197 function geraRSSsubgrupos($locaplic,$id_n1)
191 { 198 {
192 global $esquemaadmin; 199 global $esquemaadmin;
193 - $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 where g.id_subgrupo = n2.id_subgrupo and n2.id_n1 = '$id_n1' and n2.n2_perfil = '' order by nome_ws"; 200 + $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 ";
  201 + $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";
194 return geraXmlRSS($locaplic,$sql,"Lista de sub-grupos"); 202 return geraXmlRSS($locaplic,$sql,"Lista de sub-grupos");
195 } 203 }
196 /* 204 /*
@@ -211,7 +219,7 @@ function geraRSSgrupos($locaplic) @@ -211,7 +219,7 @@ function geraRSSgrupos($locaplic)
211 global $esquemaadmin; 219 global $esquemaadmin;
212 $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 "; 220 $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 ";
213 $sql .= "from ".$esquemaadmin."i3geoadmin_n1 as n1,".$esquemaadmin."i3geoadmin_grupos as g "; 221 $sql .= "from ".$esquemaadmin."i3geoadmin_n1 as n1,".$esquemaadmin."i3geoadmin_grupos as g ";
214 - $sql .= "where g.id_grupo = n1.id_grupo and n1.n1_perfil = '' group by id_ws,tipo_ws,nome_ws,desc_ws,link_ws,autor_ws order by nome_ws"; 222 + $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";
215 return geraXmlRSS($locaplic,$sql,"Lista de grupos"); 223 return geraXmlRSS($locaplic,$sql,"Lista de grupos");
216 } 224 }
217 /* 225 /*
@@ -338,9 +346,12 @@ function geraRSStemasDownload($locaplic) @@ -338,9 +346,12 @@ function geraRSStemasDownload($locaplic)
338 and n1.id_grupo = g.id_grupo 346 and n1.id_grupo = g.id_grupo
339 and (t.download_tema != 'nao' and t.download_tema != 'NAO') 347 and (t.download_tema != 'nao' and t.download_tema != 'NAO')
340 and t.tipoa_tema != 'WMS' 348 and t.tipoa_tema != 'WMS'
341 - and n3.n3_perfil = '' 349 + and n3.n3_perfil = ''
342 and n2.n2_perfil = '' 350 and n2.n2_perfil = ''
343 and n1.n1_perfil = '' 351 and n1.n1_perfil = ''
  352 + and n3.publicado != 'NAO'
  353 + and n2.publicado != 'NAO'
  354 + and n1.publicado != 'NAO'
344 "; 355 ";
345 //echo $sql;exit; 356 //echo $sql;exit;
346 return geraXmlRSS($locaplic,$sql,"Temas para download"); 357 return geraXmlRSS($locaplic,$sql,"Temas para download");
@@ -376,6 +387,9 @@ function geraRSStemasKml($locaplic) @@ -376,6 +387,9 @@ function geraRSStemasKml($locaplic)
376 and n3.n3_perfil = '' 387 and n3.n3_perfil = ''
377 and n2.n2_perfil = '' 388 and n2.n2_perfil = ''
378 and n1.n1_perfil = '' 389 and n1.n1_perfil = ''
  390 + and n3.publicado != 'NAO'
  391 + and n2.publicado != 'NAO'
  392 + and n1.publicado != 'NAO'
379 "; 393 ";
380 //echo $sql;exit; 394 //echo $sql;exit;
381 return geraXmlRSS($locaplic,$sql,"Temas em KML"); 395 return geraXmlRSS($locaplic,$sql,"Temas em KML");
@@ -412,6 +426,9 @@ function geraRSStemasOgc($locaplic) @@ -412,6 +426,9 @@ function geraRSStemasOgc($locaplic)
412 and n3.n3_perfil = '' 426 and n3.n3_perfil = ''
413 and n2.n2_perfil = '' 427 and n2.n2_perfil = ''
414 and n1.n1_perfil = '' 428 and n1.n1_perfil = ''
  429 + and n3.publicado != 'NAO'
  430 + and n2.publicado != 'NAO'
  431 + and n1.publicado != 'NAO'
415 "; 432 ";
416 //echo $sql;exit; 433 //echo $sql;exit;
417 return geraXmlRSS($locaplic,$sql,"Temas em KML"); 434 return geraXmlRSS($locaplic,$sql,"Temas em KML");
classesphp/funcoes_gerais.php
@@ -2466,6 +2466,7 @@ $salva - salva o mapfile com os layers removidos ou nao @@ -2466,6 +2466,7 @@ $salva - salva o mapfile com os layers removidos ou nao
2466 Retorno: boolean indicando se o mapfile contem layers indevidos 2466 Retorno: boolean indicando se o mapfile contem layers indevidos
2467 */ 2467 */
2468 function validaAcessoTemas($map_file,$salva = true){ 2468 function validaAcessoTemas($map_file,$salva = true){
  2469 + error_reporting(0);
2469 $indevidos = listaLayersIndevidos($map_file); 2470 $indevidos = listaLayersIndevidos($map_file);
2470 $existeIndevidos = false; 2471 $existeIndevidos = false;
2471 if(count($indevidos) > 0){ 2472 if(count($indevidos) > 0){
@@ -2491,16 +2492,15 @@ O retorno e um array com a chave sendo o codigo do tema e o valor um array com a @@ -2491,16 +2492,15 @@ O retorno e um array com a chave sendo o codigo do tema e o valor um array com a
2491 */ 2492 */
2492 function listaTemasRestritos(){ 2493 function listaTemasRestritos(){
2493 include_once(__DIR__."/../admin/php/admin.php"); 2494 include_once(__DIR__."/../admin/php/admin.php");
  2495 + error_reporting(0);
2494 $res = pegaDados("select id_grupo,codigo_tema from ".$esquemaadmin."i3geousr_grupotema as gt,".$esquemaadmin."i3geoadmin_temas as te where gt.id_tema = te.id_tema"); 2496 $res = pegaDados("select id_grupo,codigo_tema from ".$esquemaadmin."i3geousr_grupotema as gt,".$esquemaadmin."i3geoadmin_temas as te where gt.id_tema = te.id_tema");
2495 $restritos = array(); 2497 $restritos = array();
2496 foreach ($res as $r){ 2498 foreach ($res as $r){
2497 - if(!empty ($restritos[$r["codigo_tema"]])){  
2498 - if($restritos[$r["codigo_tema"]]){  
2499 - array_push($restritos[$r["codigo_tema"]],$r["id_grupo"]);  
2500 - }  
2501 - else{  
2502 - $restritos[$r["codigo_tema"]] = array($r["id_grupo"]);  
2503 - } 2499 + if(in_array($r["codigo_tema"],$restritos)){
  2500 + array_push($restritos[$r["codigo_tema"]],$r["id_grupo"]);
  2501 + }
  2502 + else{
  2503 + $restritos[$r["codigo_tema"]] = array($r["id_grupo"]);
2504 } 2504 }
2505 } 2505 }
2506 return $restritos; 2506 return $restritos;
@@ -2511,10 +2511,26 @@ Function: listaLayersIndevidos @@ -2511,10 +2511,26 @@ Function: listaLayersIndevidos
2511 Lista os layers de um mapfile que sao restritos e que nao sao permitidos ao usuario logado 2511 Lista os layers de um mapfile que sao restritos e que nao sao permitidos ao usuario logado
2512 */ 2512 */
2513 function listaLayersIndevidos($map_file){ 2513 function listaLayersIndevidos($map_file){
  2514 + error_reporting(0);
2514 $indevidos = array(); 2515 $indevidos = array();
2515 $restritos = listaTemasRestritos(); 2516 $restritos = listaTemasRestritos();
  2517 + /*
  2518 + array(1) {
  2519 + ["_wlocalirestrito"]=>
  2520 + array(1) {
  2521 + [0]=>
  2522 + string(1) "1"
  2523 + }
  2524 + }
  2525 + */
2516 if(count($restritos) > 0){ 2526 if(count($restritos) > 0){
2517 $gruposusr = listaGruposUsrLogin(); 2527 $gruposusr = listaGruposUsrLogin();
  2528 + /*
  2529 + array(1) {
  2530 + [0]=>
  2531 + string(1) "1"
  2532 + }
  2533 + */
2518 $m = ms_newMapObj($map_file); 2534 $m = ms_newMapObj($map_file);
2519 $c = $m->numlayers; 2535 $c = $m->numlayers;
2520 for ($i=0;$i < $c;++$i) { 2536 for ($i=0;$i < $c;++$i) {
@@ -2525,9 +2541,18 @@ function listaLayersIndevidos($map_file){ @@ -2525,9 +2541,18 @@ function listaLayersIndevidos($map_file){
2525 $meta = str_replace(".map","",basename($map_file)); 2541 $meta = str_replace(".map","",basename($map_file));
2526 } 2542 }
2527 if($meta != ""){ 2543 if($meta != ""){
2528 - $t = $restritos[$meta];  
2529 - if($t && !in_array($t,$gruposusr)){  
2530 - array_push($indevidos,$layer->name); 2544 + if(in_array($meta,array_keys($restritos))){
  2545 + $indevido = true;
  2546 + foreach($gruposusr as $g){
  2547 + foreach($restritos[$meta] as $r){
  2548 + if($g == $r){
  2549 + $indevido = false;
  2550 + }
  2551 + }
  2552 + }
  2553 + if($indevido == true){
  2554 + array_push($indevidos,$layer->name);
  2555 + }
2531 } 2556 }
2532 } 2557 }
2533 } 2558 }
@@ -2540,6 +2565,7 @@ function listaLayersIndevidos($map_file){ @@ -2540,6 +2565,7 @@ function listaLayersIndevidos($map_file){
2540 Lista os temas que sao restritos e que nao sao permitidos ao usuario logado 2565 Lista os temas que sao restritos e que nao sao permitidos ao usuario logado
2541 */ 2566 */
2542 function listaTemasIndevidos(){ 2567 function listaTemasIndevidos(){
  2568 + error_reporting(0);
2543 $indevidos = array(); 2569 $indevidos = array();
2544 $restritos = listaTemasRestritos(); 2570 $restritos = listaTemasRestritos();
2545 if(count($restritos) > 0){ 2571 if(count($restritos) > 0){
@@ -2561,6 +2587,7 @@ function listaTemasIndevidos(){ @@ -2561,6 +2587,7 @@ function listaTemasIndevidos(){
2561 Lista os grupos ao qual pertence o usuario atualmente logado 2587 Lista os grupos ao qual pertence o usuario atualmente logado
2562 */ 2588 */
2563 function listaGruposUsrLogin(){ 2589 function listaGruposUsrLogin(){
  2590 + error_reporting(0);
2564 if(empty($_COOKIE["i3geocodigologin"])){ 2591 if(empty($_COOKIE["i3geocodigologin"])){
2565 return array(); 2592 return array();
2566 } 2593 }
classesphp/mapa_inicia.php
@@ -110,7 +110,7 @@ function iniciaMapa() @@ -110,7 +110,7 @@ function iniciaMapa()
110 if(!function_exists("validaAcessoTemas")){ 110 if(!function_exists("validaAcessoTemas")){
111 include_once("funcoes_gerais.php"); 111 include_once("funcoes_gerais.php");
112 } 112 }
113 - validaAcessoTemas($_SESSION["map_file"]); 113 + validaAcessoTemas($map_file);
114 if(!isset($kmlurl)) 114 if(!isset($kmlurl))
115 {$kmlurl = "";} 115 {$kmlurl = "";}
116 error_reporting(0); 116 error_reporting(0);
classesphp/wscliente.php
@@ -430,7 +430,7 @@ function listaRSSws2() @@ -430,7 +430,7 @@ function listaRSSws2()
430 } 430 }
431 else 431 else
432 {$canali = simplexml_load_file($rss);} 432 {$canali = simplexml_load_file($rss);}
433 - $linhas[] = "<a href='".$endereco."' target=blank ><img style='border:0px solid white' src='../../imagens/rss.gif' /></a>####"; 433 + $linhas[] = "<a href='".$endereco."' target=blank ><img style='border:0px solid white' src='http://i3geo.com.br/i3geo/imagens/rss.gif' /></a>####";
434 //var_dump($canali); 434 //var_dump($canali);
435 foreach ($canali->channel->item as $item) 435 foreach ($canali->channel->item as $item)
436 { 436 {
ms_criamapa.php
@@ -645,7 +645,7 @@ function incluiTemasIniciais(){ @@ -645,7 +645,7 @@ function incluiTemasIniciais(){
645 if ($layern->name == "estadosl") 645 if ($layern->name == "estadosl")
646 {$layern->set("data",$locaplic."/aplicmap/dados/estados.shp");} 646 {$layern->set("data",$locaplic."/aplicmap/dados/estados.shp");}
647 $layern->setmetadata("nomeoriginal",$layern->name); 647 $layern->setmetadata("nomeoriginal",$layern->name);
648 - $nNome = str_replace(".map","",basename($arqtemp)). 648 + $nNome = str_replace(".map","",basename($arqtemp));
649 $layern->setmetadata("arquivotemaoriginal",$nNome); 649 $layern->setmetadata("arquivotemaoriginal",$nNome);
650 autoClasses($layern,$mapn); 650 autoClasses($layern,$mapn);
651 // 651 //
temas/_llocalirestrito.map
@@ -20,7 +20,6 @@ MAP @@ -20,7 +20,6 @@ MAP
20 "LTEMPOITEMLINK" "" 20 "LTEMPOITEMLINK" ""
21 "METAESTAT_CODIGO_TIPO_REGIAO" "" 21 "METAESTAT_CODIGO_TIPO_REGIAO" ""
22 "palletefile" "" 22 "palletefile" ""
23 - "nomeoriginal" "locali"  
24 "permitedownload" "sim" 23 "permitedownload" "sim"
25 "permitecomentario" "" 24 "permitecomentario" ""
26 "metaestat" "" 25 "metaestat" ""
@@ -34,7 +33,7 @@ MAP @@ -34,7 +33,7 @@ MAP
34 "editorsql" "" 33 "editorsql" ""
35 "legendaimg" "" 34 "legendaimg" ""
36 END # METADATA 35 END # METADATA
37 - NAME "localirestrito" 36 + NAME "_llocalirestrito"
38 STATUS DEFAULT 37 STATUS DEFAULT
39 TEMPLATE "none.htm" 38 TEMPLATE "none.htm"
40 TILEITEM "location" 39 TILEITEM "location"
temas/_wlocalirestrito.map
@@ -20,7 +20,6 @@ MAP @@ -20,7 +20,6 @@ MAP
20 "LTEMPOITEMLINK" "" 20 "LTEMPOITEMLINK" ""
21 "METAESTAT_CODIGO_TIPO_REGIAO" "" 21 "METAESTAT_CODIGO_TIPO_REGIAO" ""
22 "palletefile" "" 22 "palletefile" ""
23 - "nomeoriginal" "locali"  
24 "permitedownload" "sim" 23 "permitedownload" "sim"
25 "permitecomentario" "" 24 "permitecomentario" ""
26 "metaestat" "" 25 "metaestat" ""
@@ -34,7 +33,7 @@ MAP @@ -34,7 +33,7 @@ MAP
34 "editorsql" "" 33 "editorsql" ""
35 "legendaimg" "" 34 "legendaimg" ""
36 END # METADATA 35 END # METADATA
37 - NAME "localirestrito" 36 + NAME "_wlocalirestrito"
38 STATUS DEFAULT 37 STATUS DEFAULT
39 TEMPLATE "none.htm" 38 TEMPLATE "none.htm"
40 TILEITEM "location" 39 TILEITEM "location"