Commit a2547eabcc8f484c69f256f10e802b971a1a9f4b

Authored by Edmar Moretti
1 parent c8e9d0b6

Incluida opção de navegação pelos diretórios do servidor para acesso direto a ar…

…quivos shp e tif. Apenas usuários cadastrados no ms_configura podem utilizar essa opção.
classesjs/ferramentas.js
... ... @@ -489,6 +489,13 @@ function editaLegenda(idtema)
489 489 Section: adição de temas
490 490 */
491 491 /*
  492 +Function: navegacaoDir
  493 +
  494 +Adiciona temas navegando pelos diretórios do servidor
  495 +*/
  496 +function navegacaoDir()
  497 +{wdocaf("550px","350px",g_locaplic+"/ferramentas/navegacaodir/index.htm","","","");}
  498 +/*
492 499 Function: conectarwms
493 500  
494 501 Adiciona temas tendo como fonte um web service do tipo wms
... ...
classesjs/ferramentas_compacto.js
... ... @@ -43,6 +43,7 @@ function etiquetas(idtema){wdocaf("400px","300px",g_locaplic+"/ferramentas/etiqu
43 43 function opcoesLegenda(){wdocaf("300px","280px",g_locaplic+"/ferramentas/opcoes_legenda/index.htm","","","Legenda");}
44 44 function abreCor(janela,elemento){wdocaf2("385px","280px",g_locaplic+"/ferramentas/colorpicker/index.htm?doc="+janela+"&elemento="+elemento,"","","Cor");}
45 45 function editaLegenda(idtema){wdocaf("490px","340px",g_locaplic+"/ferramentas/legenda/index.htm?tema="+idtema,"","","Legenda");}
  46 +function navegacaoDir(){wdocaf("550px","350px",g_locaplic+"/ferramentas/navegacaodir/index.htm","","","");}
46 47 function conectarwms(){wdocaf("400px","300px",g_locaplic+"/ferramentas/conectarwms/index.htm","","","WMS");}
47 48 function conectarwfs(){wdocaf("400px","300px",g_locaplic+"/ferramentas/conectarwfs/index.htm","","","WFS");}
48 49 function conectargeorss(){wdocaf("400px","300px",g_locaplic+"/ferramentas/conectargeorss/index.htm","","","GeoRSS");}
... ...
classesjs/funcoes.js
... ... @@ -2372,6 +2372,11 @@ function processaGrupos(retorno)
2372 2372 if (g_conectargeorss == "sim")
2373 2373 {upload += "<div style='width:98%;left:5px;cursor:pointer;text-align:left;font-size:11px;' onclick='conectargeorss()'><img src="+g_locaplic+"/imagens/georss-1.png style='cursor:pointer;text-align:left' />&nbsp;Conectar com GeoRss</div>";}
2374 2374 $i(objmapa.guiaMenu+"obj").innerHTML += upload;
  2375 + if (objmapa.navegacaoDir == "sim")
  2376 + {
  2377 + var temp = "<div style='width:98%;left:5px;cursor:pointer;text-align:left;font-size:11px;' onclick='navegacaoDir()'><img src="+g_locaplic+"/imagens/desktop.png style='cursor:pointer;text-align:left' />&nbsp;Acesso aos arquivos do servidor</div>";
  2378 + $i(objmapa.guiaMenu+"obj").innerHTML += temp;
  2379 + }
2375 2380 //arvore MMA
2376 2381 mytreeview2 = new Object();
2377 2382 mytreeview2 = treeviewNew("mytreeview2", "default", objmapa.guiaMenu+"obj", null);
... ...
classesjs/funcoes_compacto.js
... ... @@ -255,7 +255,8 @@ function processaGrupos(retorno){ if((retorno.data !=&quot;erro&quot;)&amp;&amp;(retorno.data !=un
255 255 if(g_downloadbase=="sim"){upload+="<div style='width:98%;left:5px;cursor:pointer;text-align:left;font-size:11px;' onclick='downloadbase()'><img src="+$im("connected-s.gif")+" style='cursor:pointer;text-align:left'/>&nbsp;Download de dados</div>";}
256 256 if(g_conectarwms=="sim"){upload+="<div style='width:98%;left:5px;cursor:pointer;text-align:left;font-size:11px;' onclick='conectarwms()'><img src="+$im("cmdLink.gif")+" style='cursor:pointer;text-align:left'/>&nbsp;Conectar com servidor WMS</div>";}
257 257 if(g_conectargeorss=="sim"){upload+="<div style='width:98%;left:5px;cursor:pointer;text-align:left;font-size:11px;' onclick='conectargeorss()'><img src="+g_locaplic+"/imagens/georss-1.png style='cursor:pointer;text-align:left'/>&nbsp;Conectar com GeoRss</div>";}
258   - $i(objmapa.guiaMenu+"obj").innerHTML+=upload; mytreeview2=new Object(); mytreeview2=treeviewNew("mytreeview2", "default", objmapa.guiaMenu+"obj", null); mytreeview2.createItem("item1", "<b>Temas</b>", g_locaplic+"/imagens/visual/"+g_visual+"/temas.png", true, true, true, null); mytreeview2.itemExpand=expandeGrupo; for(i=0;i<retorno.data.grupos.length;i++){ if(retorno.data.grupos[i].nome){ mytreeview2.createItem("grupo"+i, retorno.data.grupos[i].nome, g_locaplic+"/imagens/visual/"+g_visual+"/folder-s.gif", true, true, true, "item1"); var ngSgrupo=retorno.data.grupos[i].subgrupos; var cor="rgb(230,230,230)"; for(sg=0;sg<ngSgrupo.length;sg++){ if(navm) var nomeSgrupo="<span style='background-color:"+cor+"' >"+ngSgrupo[sg].nome+"</span>"; else var nomeSgrupo="<span style='background-color:"+cor+"' ><img src='"+g_locaplic+"/imagens/branco.gif' width=0 height=15/>"+ngSgrupo[sg].nome+"</span>"; mytreeview2.createItem("sgrupo_"+i+"_"+sg, nomeSgrupo, imgBranco, true, true, false, "grupo"+i); if(cor=="rgb(230,230,230)"){var cor="rgb(255,255,255)";}
  258 + $i(objmapa.guiaMenu+"obj").innerHTML+=upload; if(objmapa.navegacaoDir=="sim"){ var temp="<div style='width:98%;left:5px;cursor:pointer;text-align:left;font-size:11px;' onclick='navegacaoDir()'><img src="+g_locaplic+"/imagens/desktop.png style='cursor:pointer;text-align:left'/>&nbsp;Acesso aos arquivos do servidor</div>"; $i(objmapa.guiaMenu+"obj").innerHTML+=temp;}
  259 + mytreeview2=new Object(); mytreeview2=treeviewNew("mytreeview2", "default", objmapa.guiaMenu+"obj", null); mytreeview2.createItem("item1", "<b>Temas</b>", g_locaplic+"/imagens/visual/"+g_visual+"/temas.png", true, true, true, null); mytreeview2.itemExpand=expandeGrupo; for(i=0;i<retorno.data.grupos.length;i++){ if(retorno.data.grupos[i].nome){ mytreeview2.createItem("grupo"+i, retorno.data.grupos[i].nome, g_locaplic+"/imagens/visual/"+g_visual+"/folder-s.gif", true, true, true, "item1"); var ngSgrupo=retorno.data.grupos[i].subgrupos; var cor="rgb(230,230,230)"; for(sg=0;sg<ngSgrupo.length;sg++){ if(navm) var nomeSgrupo="<span style='background-color:"+cor+"' >"+ngSgrupo[sg].nome+"</span>"; else var nomeSgrupo="<span style='background-color:"+cor+"' ><img src='"+g_locaplic+"/imagens/branco.gif' width=0 height=15/>"+ngSgrupo[sg].nome+"</span>"; mytreeview2.createItem("sgrupo_"+i+"_"+sg, nomeSgrupo, imgBranco, true, true, false, "grupo"+i); if(cor=="rgb(230,230,230)"){var cor="rgb(255,255,255)";}
259 260 else{var cor="rgb(230,230,230)";}}
260 261 var ngtSgrupo=retorno.data.grupos[i].temasgrupo; for(sgt=0;sgt<ngtSgrupo.length;sgt++){ var no=ngtSgrupo[sgt]; var nome=no.nome; var lk=no.link; if(lk !=" "){var lk="<a href="+lk+" target=blank>&nbsp;fonte</a>";}
261 262 var tid=no.tid; var inp="<input style='text-align:left;cursor:pointer;' onclick='mudaboxnf(\"adiciona\")' class=inputsb style='cursor:pointer' type=\"checkbox\" value="+tid+" onmouseover=\"javascript:mostradicasf(this,'Clique para ligar ou desligar esse tema, mostrando-o ou não no mapa. Após alterar o estado do tema, aguarde alguns instantes para o mapa ser redesenhado, ou clique no botão aplicar que será mostrado.','ligadesliga')\" onmouseout=\"javascript:mostradicasf(this,'')\"/>"; if(navm) nomeTema="&nbsp;"+inp+nome+lk; else nomeTema="<span><img src='"+g_locaplic+"/imagens/branco.gif' width=0 height=15/>"+inp+nome+lk+"</span>"; mytreeview2.createItem("sgrupo_"+i+"_"+sg+"_"+sgt, nomeTema, imgBranco, false, true, false, "grupo"+i);}}
... ...
classesjs/i3geo_tudo_compacto.js
... ... @@ -1015,7 +1015,8 @@ function processaGrupos(retorno){ if((retorno.data !=&quot;erro&quot;)&amp;&amp;(retorno.data !=un
1015 1015 if(g_downloadbase=="sim"){upload+="<div style='width:98%;left:5px;cursor:pointer;text-align:left;font-size:11px;' onclick='downloadbase()'><img src="+$im("connected-s.gif")+" style='cursor:pointer;text-align:left'/>&nbsp;Download de dados</div>";}
1016 1016 if(g_conectarwms=="sim"){upload+="<div style='width:98%;left:5px;cursor:pointer;text-align:left;font-size:11px;' onclick='conectarwms()'><img src="+$im("cmdLink.gif")+" style='cursor:pointer;text-align:left'/>&nbsp;Conectar com servidor WMS</div>";}
1017 1017 if(g_conectargeorss=="sim"){upload+="<div style='width:98%;left:5px;cursor:pointer;text-align:left;font-size:11px;' onclick='conectargeorss()'><img src="+g_locaplic+"/imagens/georss-1.png style='cursor:pointer;text-align:left'/>&nbsp;Conectar com GeoRss</div>";}
1018   - $i(objmapa.guiaMenu+"obj").innerHTML+=upload; mytreeview2=new Object(); mytreeview2=treeviewNew("mytreeview2", "default", objmapa.guiaMenu+"obj", null); mytreeview2.createItem("item1", "<b>Temas</b>", g_locaplic+"/imagens/visual/"+g_visual+"/temas.png", true, true, true, null); mytreeview2.itemExpand=expandeGrupo; for(i=0;i<retorno.data.grupos.length;i++){ if(retorno.data.grupos[i].nome){ mytreeview2.createItem("grupo"+i, retorno.data.grupos[i].nome, g_locaplic+"/imagens/visual/"+g_visual+"/folder-s.gif", true, true, true, "item1"); var ngSgrupo=retorno.data.grupos[i].subgrupos; var cor="rgb(230,230,230)"; for(sg=0;sg<ngSgrupo.length;sg++){ if(navm) var nomeSgrupo="<span style='background-color:"+cor+"' >"+ngSgrupo[sg].nome+"</span>"; else var nomeSgrupo="<span style='background-color:"+cor+"' ><img src='"+g_locaplic+"/imagens/branco.gif' width=0 height=15/>"+ngSgrupo[sg].nome+"</span>"; mytreeview2.createItem("sgrupo_"+i+"_"+sg, nomeSgrupo, imgBranco, true, true, false, "grupo"+i); if(cor=="rgb(230,230,230)"){var cor="rgb(255,255,255)";}
  1018 + $i(objmapa.guiaMenu+"obj").innerHTML+=upload; if(objmapa.navegacaoDir=="sim"){ var temp="<div style='width:98%;left:5px;cursor:pointer;text-align:left;font-size:11px;' onclick='navegacaoDir()'><img src="+g_locaplic+"/imagens/desktop.png style='cursor:pointer;text-align:left'/>&nbsp;Acesso aos arquivos do servidor</div>"; $i(objmapa.guiaMenu+"obj").innerHTML+=temp;}
  1019 + mytreeview2=new Object(); mytreeview2=treeviewNew("mytreeview2", "default", objmapa.guiaMenu+"obj", null); mytreeview2.createItem("item1", "<b>Temas</b>", g_locaplic+"/imagens/visual/"+g_visual+"/temas.png", true, true, true, null); mytreeview2.itemExpand=expandeGrupo; for(i=0;i<retorno.data.grupos.length;i++){ if(retorno.data.grupos[i].nome){ mytreeview2.createItem("grupo"+i, retorno.data.grupos[i].nome, g_locaplic+"/imagens/visual/"+g_visual+"/folder-s.gif", true, true, true, "item1"); var ngSgrupo=retorno.data.grupos[i].subgrupos; var cor="rgb(230,230,230)"; for(sg=0;sg<ngSgrupo.length;sg++){ if(navm) var nomeSgrupo="<span style='background-color:"+cor+"' >"+ngSgrupo[sg].nome+"</span>"; else var nomeSgrupo="<span style='background-color:"+cor+"' ><img src='"+g_locaplic+"/imagens/branco.gif' width=0 height=15/>"+ngSgrupo[sg].nome+"</span>"; mytreeview2.createItem("sgrupo_"+i+"_"+sg, nomeSgrupo, imgBranco, true, true, false, "grupo"+i); if(cor=="rgb(230,230,230)"){var cor="rgb(255,255,255)";}
1019 1020 else{var cor="rgb(230,230,230)";}}
1020 1021 var ngtSgrupo=retorno.data.grupos[i].temasgrupo; for(sgt=0;sgt<ngtSgrupo.length;sgt++){ var no=ngtSgrupo[sgt]; var nome=no.nome; var lk=no.link; if(lk !=" "){var lk="<a href="+lk+" target=blank>&nbsp;fonte</a>";}
1021 1022 var tid=no.tid; var inp="<input style='text-align:left;cursor:pointer;' onclick='mudaboxnf(\"adiciona\")' class=inputsb style='cursor:pointer' type=\"checkbox\" value="+tid+" onmouseover=\"javascript:mostradicasf(this,'Clique para ligar ou desligar esse tema, mostrando-o ou não no mapa. Após alterar o estado do tema, aguarde alguns instantes para o mapa ser redesenhado, ou clique no botão aplicar que será mostrado.','ligadesliga')\" onmouseout=\"javascript:mostradicasf(this,'')\"/>"; if(navm) nomeTema="&nbsp;"+inp+nome+lk; else nomeTema="<span><img src='"+g_locaplic+"/imagens/branco.gif' width=0 height=15/>"+inp+nome+lk+"</span>"; mytreeview2.createItem("sgrupo_"+i+"_"+sg+"_"+sgt, nomeTema, imgBranco, false, true, false, "grupo"+i);}}
... ... @@ -1175,6 +1176,7 @@ function etiquetas(idtema){wdocaf(&quot;400px&quot;,&quot;300px&quot;,g_locaplic+&quot;/ferramentas/etiqu
1175 1176 function opcoesLegenda(){wdocaf("300px","280px",g_locaplic+"/ferramentas/opcoes_legenda/index.htm","","","Legenda");}
1176 1177 function abreCor(janela,elemento){wdocaf2("385px","280px",g_locaplic+"/ferramentas/colorpicker/index.htm?doc="+janela+"&elemento="+elemento,"","","Cor");}
1177 1178 function editaLegenda(idtema){wdocaf("490px","340px",g_locaplic+"/ferramentas/legenda/index.htm?tema="+idtema,"","","Legenda");}
  1179 +function navegacaoDir(){wdocaf("550px","350px",g_locaplic+"/ferramentas/navegacaodir/index.htm","","","");}
1178 1180 function conectarwms(){wdocaf("400px","300px",g_locaplic+"/ferramentas/conectarwms/index.htm","","","WMS");}
1179 1181 function conectarwfs(){wdocaf("400px","300px",g_locaplic+"/ferramentas/conectarwfs/index.htm","","","WFS");}
1180 1182 function conectargeorss(){wdocaf("400px","300px",g_locaplic+"/ferramentas/conectargeorss/index.htm","","","GeoRSS");}
... ... @@ -1265,7 +1267,7 @@ function Mapa(e,m){ objaguarde=new aguarde(); objposicaocursor=new posicaocursor
1265 1267 document.body.style.width=novow; document.body.style.height=novoh; this.w=parseInt(document.body.style.width)-menos-diminuix; this.h=parseInt(document.body.style.height)-diminuiy; if(document.getElementById("corpoMapa")){ if(document.getElementById("corpoMapa").style.width){ this.w=parseInt(document.getElementById("corpoMapa").style.width); this.h=parseInt(document.getElementById("corpoMapa").style.height);}}}
1266 1268 else{ this.w=document.body.offsetWidth-parseInt($i("contemFerramentas").style.width)-diminuix; this.h=document.body.offsetHeight-diminuiy;}
1267 1269 if($i("openlayers")){ $i("openlayers").style.width=this.w; $i("openlayers").style.height=this.h;}
1268   - this.listavisual=""; this.visualatual="default"; this.funcoesClickMapa=new Array(); this.objtips=new Array(); this.tempo=""; this.tempoRedesenho=""; this.contaTempoRedesenho=""; this.temaAtivo=""; this.pinmarca="marca"; this.pintamanho="5"; this.scale=50000; this.temas=""; this.legenda=""; this.finaliza=""; this.guiaTemas="guia1"; this.guiaMenu="guia2"; this.guiaLegenda="guia4"; this.guiaListaMapas="guia5"; this.inicializa=function(){ if(!window.testafuncoes){alert("funcoes.js com problemas");}
  1270 + this.navegacaoDir="nao"; this.listavisual=""; this.visualatual="default"; this.funcoesClickMapa=new Array(); this.objtips=new Array(); this.tempo=""; this.tempoRedesenho=""; this.contaTempoRedesenho=""; this.temaAtivo=""; this.pinmarca="marca"; this.pintamanho="5"; this.scale=50000; this.temas=""; this.legenda=""; this.finaliza=""; this.guiaTemas="guia1"; this.guiaMenu="guia2"; this.guiaLegenda="guia4"; this.guiaListaMapas="guia5"; this.inicializa=function(){ if(!window.testafuncoes){alert("funcoes.js com problemas");}
1269 1271 if(!window.testamenususpenso){alert("menususpenso.js com problemas");}
1270 1272 if(!window.testaferramentas){alert("ferramentas.js com problemas");}
1271 1273 if(!window.testaajax){alert("redesenho.js com problemas");}
... ...
classesjs/iniciamma.js
... ... @@ -577,6 +577,14 @@ function Mapa(e,m)
577 577 $i("openlayers").style.height = this.h;
578 578 }
579 579 /*
  580 + Variable: objmapa.navegacaoDir
  581 +
  582 + Indica se deve ser incluida a opção de navegação nos diretórios do servidor.
  583 +
  584 + A indicação sim|nao é obtida na inicialização do i3geo, e é definido no ms_configura.php
  585 + */
  586 + this.navegacaoDir = "nao";
  587 + /*
580 588 Variable: objmapa.listavisual
581 589  
582 590 String com a lista de visuais disponíveis no i3geo.
... ...
classesjs/iniciamma_compacto.js
... ... @@ -10,7 +10,7 @@ function Mapa(e,m){ objaguarde=new aguarde(); objposicaocursor=new posicaocursor
10 10 document.body.style.width=novow; document.body.style.height=novoh; this.w=parseInt(document.body.style.width)-menos-diminuix; this.h=parseInt(document.body.style.height)-diminuiy; if(document.getElementById("corpoMapa")){ if(document.getElementById("corpoMapa").style.width){ this.w=parseInt(document.getElementById("corpoMapa").style.width); this.h=parseInt(document.getElementById("corpoMapa").style.height);}}}
11 11 else{ this.w=document.body.offsetWidth-parseInt($i("contemFerramentas").style.width)-diminuix; this.h=document.body.offsetHeight-diminuiy;}
12 12 if($i("openlayers")){ $i("openlayers").style.width=this.w; $i("openlayers").style.height=this.h;}
13   - this.listavisual=""; this.visualatual="default"; this.funcoesClickMapa=new Array(); this.objtips=new Array(); this.tempo=""; this.tempoRedesenho=""; this.contaTempoRedesenho=""; this.temaAtivo=""; this.pinmarca="marca"; this.pintamanho="5"; this.scale=50000; this.temas=""; this.legenda=""; this.finaliza=""; this.guiaTemas="guia1"; this.guiaMenu="guia2"; this.guiaLegenda="guia4"; this.guiaListaMapas="guia5"; this.inicializa=function(){ if(!window.testafuncoes){alert("funcoes.js com problemas");}
  13 + this.navegacaoDir="nao"; this.listavisual=""; this.visualatual="default"; this.funcoesClickMapa=new Array(); this.objtips=new Array(); this.tempo=""; this.tempoRedesenho=""; this.contaTempoRedesenho=""; this.temaAtivo=""; this.pinmarca="marca"; this.pintamanho="5"; this.scale=50000; this.temas=""; this.legenda=""; this.finaliza=""; this.guiaTemas="guia1"; this.guiaMenu="guia2"; this.guiaLegenda="guia4"; this.guiaListaMapas="guia5"; this.inicializa=function(){ if(!window.testafuncoes){alert("funcoes.js com problemas");}
14 14 if(!window.testamenususpenso){alert("menususpenso.js com problemas");}
15 15 if(!window.testaferramentas){alert("ferramentas.js com problemas");}
16 16 if(!window.testaajax){alert("redesenho.js com problemas");}
... ...
classesphp/classe_mapa.php
... ... @@ -1057,5 +1057,53 @@ $canal - Identificador do canal (ordem em que está no RSS)
1057 1057 }
1058 1058 return("erro");
1059 1059 }
  1060 +/*
  1061 +Method: adicionaTemaSHP
  1062 +
  1063 +Adiciona um tema a partir de um arquivo shape file armazenado no servidor de arquivos.
  1064 +
  1065 +Parameters:
  1066 +$arq - Nome do shape file.
  1067 +*/
  1068 + function adicionaTemaSHP($arq)
  1069 + {
  1070 + if (file_exists($arq))
  1071 + {
  1072 + $s = ms_newShapefileObj($arq,-1);
  1073 + $shape = $s->getShape(0);
  1074 + $t = $shape->type;
  1075 + $tipo = MS_LAYER_POLYGON;
  1076 + if ($t == 0)
  1077 + {$tipo = MS_LAYER_POINT;}
  1078 + if ($t == 1)
  1079 + {$tipo = MS_LAYER_LINE;}
  1080 + $layer = criaLayer($this->mapa,$tipo,MS_DEFAULT,basename($arq),"SIM");
  1081 + $layer->set("data",$arq);
  1082 + $layer->set("name",basename($arq));
  1083 + $layer->setmetadata("DOWNLOAD","nao");
  1084 + $layer->setmetadata("TEMALOCAL","NAO");
  1085 + }
  1086 + return("ok");
  1087 + }
  1088 +/*
  1089 +Method: adicionaTemaIMG
  1090 +
  1091 +Adiciona um tema a partir de um arquivo imagem armazenado no servidor de arquivos.
  1092 +
  1093 +Parameters:
  1094 +$arq - Nome do arquivo.
  1095 +*/
  1096 + function adicionaTemaIMG($arq)
  1097 + {
  1098 + if (file_exists($arq))
  1099 + {
  1100 + $layer = criaLayer($this->mapa,MS_LAYER_RASTER,MS_DEFAULT,basename($arq),"SIM");
  1101 + $layer->set("data",$arq);
  1102 + $layer->set("name",basename($arq));
  1103 + $layer->setmetadata("DOWNLOAD","nao");
  1104 + $layer->setmetadata("TEMALOCAL","NAO");
  1105 + }
  1106 + return("ok");
  1107 + }
1060 1108 }
1061 1109 ?>
1062 1110 \ No newline at end of file
... ...
classesphp/funcoes_gerais.php
... ... @@ -1408,4 +1408,21 @@ function downloadTema($map_file,$tema,$locaplic,$dir_tmp)
1408 1408 }
1409 1409 return(implode(",",$resultado));
1410 1410 }
  1411 +/*
  1412 +Section: Outros
  1413 +*/
  1414 +/*
  1415 +function: pegaIPcliente
  1416 +
  1417 +Pega o IP do cliente
  1418 +*/
  1419 +function pegaIPcliente()
  1420 +{
  1421 + $ip = "UNKNOWN";
  1422 + if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP");
  1423 + else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR");
  1424 + else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR");
  1425 + else $ip = "UNKNOWN";
  1426 + return $ip;
  1427 +}
1411 1428 ?>
1412 1429 \ No newline at end of file
... ...
classesphp/mapa_controle.php
... ... @@ -119,8 +119,8 @@ if (!isset($map_file))
119 119 exit;
120 120 }
121 121 require_once("classe_vermultilayer.php");
122   -require_once ("classe_estatistica.php");
123   -require_once ("funcoes_gerais.php");
  122 +require_once("classe_estatistica.php");
  123 +require_once("funcoes_gerais.php");
124 124  
125 125 //
126 126 //copia o map_file atual com outro nome para restaurar caso ocorra algum problema
... ... @@ -474,6 +474,46 @@ Include:
474 474 }
475 475 break;
476 476 /*
  477 +Property: adicionaTemaSHP
  478 +
  479 +Adiciona um tema baseado em um arquivo shape file.
  480 +
  481 +Include:
  482 +<classe_mapa.php>
  483 +*/
  484 + case "adicionaTemaSHP":
  485 + include("classe_mapa.php");
  486 + $m = new Mapa($map_file);
  487 + $retorno = $m->adicionaTemaSHP($arq);
  488 + $cp->set_data($retorno);
  489 + if ($retorno != "erro")
  490 + {$m->salva();redesenhaMapa();}
  491 + else
  492 + {
  493 + $cp->set_data("erro.Nenhum dado espacializado foi encontrado.");
  494 + }
  495 + break;
  496 +/*
  497 +Property: adicionaTemaIMG
  498 +
  499 +Adiciona um tema baseado em um arquivo de imagem.
  500 +
  501 +Include:
  502 +<classe_mapa.php>
  503 +*/
  504 + case "adicionaTemaIMG":
  505 + include("classe_mapa.php");
  506 + $m = new Mapa($map_file);
  507 + $retorno = $m->adicionaTemaIMG($arq);
  508 + $cp->set_data($retorno);
  509 + if ($retorno != "erro")
  510 + {$m->salva();redesenhaMapa();}
  511 + else
  512 + {
  513 + $cp->set_data("erro.Nenhum dado espacializado foi encontrado.");
  514 + }
  515 + break;
  516 +/*
477 517 Property: listatemas
478 518  
479 519 Lista os temas existentes em um mapa.
... ... @@ -608,6 +648,29 @@ Section: Temas
608 648  
609 649 Processa os layers do mapa.
610 650 */
  651 +
  652 +/*
  653 +Property: listaDrives
  654 +
  655 +Pega a lista de drives registrados para o usuário atual.
  656 +
  657 +A lista de drives é definida no ms_configura e permite que o usuário navegue pelos arquivos do servidor.
  658 +
  659 +Include:
  660 +<ms_configura.php>
  661 +*/
  662 + case "listaDrives":
  663 + include("../ms_configura.php");
  664 + //verifica se está cadastrado
  665 + $ipcliente = pegaIPcliente();
  666 + $retorno = array();
  667 + foreach ($navegadoresLocais as $n)
  668 + {
  669 + if (gethostbyname($n["ip"]) == $ipcliente)
  670 + {$retorno[] = $n["drives"];}
  671 + }
  672 + $cp->set_data($retorno);
  673 + break;
611 674 /*
612 675 Property: alterarepresentacao
613 676  
... ...
classesphp/mapa_inicia.php
... ... @@ -37,6 +37,8 @@ Inicia um mapa, pegando os parâmetros necessários.
37 37  
38 38 Parameters:
39 39  
  40 +navegadoresLocais - array que indica quais usuários podem navegar no servidor
  41 +
40 42 cp - Objeto CPAINT.
41 43  
42 44 embedLegenda - inclui a legenda no corpo do mapa sim|nao
... ... @@ -57,7 +59,7 @@ R_path - Variável definida no arquivo ms_configura.php que indica se o software
57 59  
58 60 locmapas - Variável definida no arquivo ms_configura.php que indica se a guia de mapas deve ser mostrada.
59 61  
60   -locmapserve - Variável definida no arquivo ms_configura.php que indica nome do mapserver cgi.
  62 +locmapserv - Variável definida no arquivo ms_configura.php que indica nome do mapserver cgi.
61 63  
62 64 postgis_con - Variável definida no arquivo ms_configura.php que indica qual conexão postgis deve ser utilizada (algumas funções de análise utilizam essa conexão, se existir)
63 65  
... ... @@ -83,7 +85,7 @@ Essa string é recuperada no lado do javascript com eval().
83 85 */
84 86 function iniciaMapa()
85 87 {
86   - global $locaplic,$cp,$embedLegenda,$map_file,$mapext,$w,$h,$locsistemas,$locidentifica,$R_path,$locmapas,$locmapserv,$postgis_con;
  88 + global $navegadoresLocais,$locaplic,$cp,$embedLegenda,$map_file,$mapext,$w,$h,$locsistemas,$locidentifica,$R_path,$locmapas,$locmapserv,$postgis_con;
87 89 if (!file_exists($locaplic))
88 90 {$cp->set_data("erro. $locaplic nao existe (variavel locaplic - corrija o ms_configura.php)");return;}
89 91 if (!file_exists($map_file))
... ... @@ -174,7 +176,9 @@ function iniciaMapa()
174 176 $visual = "";
175 177 if (file_exists($locaplic."/imagens/visual"))
176 178 {$visual = implode(",",listaDiretorios($locaplic."/imagens/visual"));}
177   - $res .= ";objmapa.listavisual='".$visual."';";
  179 + $res .= ";objmapa.listavisual='".$visual."'";
  180 + //pega os usuários navegadores
  181 + $res .= ";objmapa.navegacaoDir='".$navegadoresLocais."';";
178 182 if (function_exists("mb_convert_encoding"))
179 183 {$res = mb_convert_encoding($res,"UTF-8","ISO-8859-1");}
180 184 //
... ...
ferramentas/navegacaodir/index.htm 0 → 100644
... ... @@ -0,0 +1,21 @@
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
  2 +<html>
  3 +<head>
  4 +<link rel="stylesheet" type="text/css" href="../../pacotes/yui/build/button/assets/button.css">
  5 +<link rel="stylesheet" type="text/css" href="../../css/ferramentas.css">
  6 +<style>.yuibutton button{padding-left:2em;background:url(../../imagens/tic.png) 5% 50% no-repeat;}</style>
  7 +</head>
  8 +<body style="background-color:white">
  9 +<div id=arvoreL style="overflow:auto;width:300px;height:300px;left:0px;top:5px"></div>
  10 +<div id=arquivosL style="position:absolute;overflow:auto;width:200px;left:320px;top:12px;height:300px">arquivos</div>
  11 +</body>
  12 +<script type="text/javascript" src="../../classesjs/jsobjects/jsUI-Global/common.js"></script>
  13 +<script type="text/javascript" src="../../classesjs/jsobjects/jsUI-Global/uiCommon.js"></script>
  14 +<script type="text/javascript" src="../../classesjs/jsobjects/jsUI-Treeview/component.js"></script>
  15 +<script type="text/javascript" src="../../pacotes/yui/build/yahoo-dom-event/yahoo-dom-event.js"></script>
  16 +<script type="text/javascript" src="../../pacotes/yui/build/element/element-beta.js"></script>
  17 +<script type="text/javascript" src="../../pacotes/yui/build/button/button-beta.js"></script>
  18 +<script language="JavaScript" type="text/javascript" src="../funcoes.js"></script>
  19 +<script src="../../classesjs/cpaint/cpaint2.inc.compressed.js" type="text/javascript"></script>
  20 +<script language="JavaScript" type="text/javascript" src="index.js"></script>
  21 +</html>
... ...
ferramentas/navegacaodir/index.js 0 → 100644
... ... @@ -0,0 +1,90 @@
  1 +parametrosURL()
  2 +mytreeview2 = new Object();
  3 +listaDrives();
  4 +function listaDrives()
  5 +{
  6 + var montaListaDrives = function(retorno)
  7 + {
  8 + retorno = retorno.data[0];
  9 + if ((retorno != "erro") && (retorno != undefined))
  10 + {
  11 + mytreeview2 = treeviewNew("mytreeview2", "default", "arvoreL", null);
  12 + mytreeview2.createItem("drives", "<b>Drives</b>", g_locaplic+"/imagens/temas.png", true, true, true, null);
  13 + mytreeview2.itemExpand = expandeItem;
  14 + for (ig=0;ig<retorno.length;ig++)
  15 + {
  16 + mytreeview2.createItem(retorno[ig].caminho, retorno[ig].nome, g_locaplic+"/imagens/folder-s.gif", true, true, true, "drives");
  17 + }
  18 + }
  19 + }
  20 + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listaDrives";
  21 + var cp = new cpaint();
  22 + //cp.set_debug(2)
  23 + cp.set_response_type("JSON");
  24 + cp.call(p,"listaDrives",montaListaDrives);
  25 +}
  26 +function expandeItem(itemID)
  27 +{
  28 + var montaLista = function(retorno)
  29 + {
  30 + if ((retorno.data != "erro") && (retorno.data != undefined))
  31 + {
  32 + for (ig=0;ig<retorno.data.length;ig++)
  33 + {
  34 + if (!$i(itemID+"/"+retorno.data[ig]))
  35 + var id = itemID+"/"+retorno.data[ig]
  36 + var nome = "<span style=cursor:pointer;color:blue title='Clique para ver os arquivos' onclick='listaarquivos(\""+id+"\")'>"+retorno.data[ig]+"</span>"
  37 + mytreeview2.createItem(id, nome, g_locaplic+"/imagens/folder-s.gif", true, true, true, itemID);
  38 + }
  39 + }
  40 + listaarquivos(itemID)
  41 + }
  42 + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listaDiretorios&diretorio="+itemID;
  43 + var cp = new cpaint();
  44 + //cp.set_debug(2)
  45 + cp.set_response_type("JSON");
  46 + cp.call(p,"listaDrives",montaLista);
  47 +}
  48 +function listaarquivos(id)
  49 +{
  50 + var montaLista = function(retorno)
  51 + {
  52 + var ins = "<span style=color:gray >"+id+"</span><br><br>"
  53 + if ((retorno.data != "erro") && (retorno.data != undefined))
  54 + {
  55 + var cor = "rgb(240,240,240)"
  56 + for (ig=0;ig<retorno.data.arquivos.length;ig++)
  57 + {
  58 + var verifica = retorno.data.arquivos[ig].split(".")
  59 + if ((verifica[1] == "shp") || (verifica[1] == "SHP") || (verifica[1] == "tif") || (verifica[1] == "TIF"))
  60 + {
  61 + ins += "<span title='Clique para incluir no mapa' onclick='incluir(\""+id+"/"+retorno.data.arquivos[ig]+"\")' style='cursor:pointer;background-color:"+cor+"' >"+retorno.data.arquivos[ig]+"</span><br>"
  62 + if (cor == "rgb(240,240,240)")
  63 + {var cor = "white"}
  64 + else
  65 + {cor = "rgb(240,240,240)"}
  66 + }
  67 + }
  68 +
  69 + }
  70 + $i("arquivosL").innerHTML = ins;
  71 + }
  72 + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listaArquivos&diretorio="+id;
  73 + var cp = new cpaint();
  74 + //cp.set_debug(2)
  75 + cp.set_response_type("JSON");
  76 + cp.call(p,"listaDrives",montaLista);
  77 +}
  78 +function incluir(path)
  79 +{
  80 + var temp = path.split(".")
  81 + if ((temp[1] == "SHP") || (temp[1] == "shp"))
  82 + {var f = "adicionaTemaSHP";}
  83 + else
  84 + {var f = "adicionaTemaIMG";}
  85 + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao="+f+"&arq="+path;
  86 + var cp = new cpaint();
  87 + //cp.set_debug(2)
  88 + cp.set_response_type("JSON");
  89 + cp.call(p,f,window.parent.ajaxredesenha);
  90 +}
... ...
imagens/desktop.png 0 → 100644

467 Bytes

imagens/desktop.svg 0 → 100644
... ... @@ -0,0 +1,179 @@
  1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2 +<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
  3 +<svg
  4 + xmlns:dc="http://purl.org/dc/elements/1.1/"
  5 + xmlns:cc="http://web.resource.org/cc/"
  6 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  7 + xmlns:svg="http://www.w3.org/2000/svg"
  8 + xmlns="http://www.w3.org/2000/svg"
  9 + xmlns:xlink="http://www.w3.org/1999/xlink"
  10 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  11 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  12 + height="14"
  13 + id="svg548"
  14 + sodipodi:docbase="C:\ms4w\Apache\htdocs\i3geo\imagens"
  15 + sodipodi:docname="desktop.svg"
  16 + sodipodi:version="0.32"
  17 + width="14"
  18 + inkscape:version="0.45.1"
  19 + inkscape:output_extension="org.inkscape.output.svg.inkscape"
  20 + version="1.0"
  21 + inkscape:export-filename="C:\ms4w\Apache\htdocs\i3geo\imagens\desktop.png"
  22 + inkscape:export-xdpi="90"
  23 + inkscape:export-ydpi="90">
  24 + <metadata
  25 + id="metadata3">
  26 + <rdf:RDF>
  27 + <cc:Work
  28 + rdf:about="">
  29 + <dc:title>Clipart by Nicu Buculei - antenna</dc:title>
  30 + <dc:description />
  31 + <dc:subject>
  32 + <rdf:Bag>
  33 + <rdf:li>hash</rdf:li>
  34 + <rdf:li />
  35 + <rdf:li>hardware</rdf:li>
  36 + <rdf:li>computer</rdf:li>
  37 + </rdf:Bag>
  38 + </dc:subject>
  39 + <dc:publisher>
  40 + <cc:Agent
  41 + rdf:about="http://www.openclipart.org">
  42 + <dc:title>Nicu Buculei</dc:title>
  43 + </cc:Agent>
  44 + </dc:publisher>
  45 + <dc:creator>
  46 + <cc:Agent>
  47 + <dc:title>Nicu Buculei</dc:title>
  48 + </cc:Agent>
  49 + </dc:creator>
  50 + <dc:rights>
  51 + <cc:Agent>
  52 + <dc:title>Nicu Buculei</dc:title>
  53 + </cc:Agent>
  54 + </dc:rights>
  55 + <dc:date />
  56 + <dc:format>image/svg+xml</dc:format>
  57 + <dc:type
  58 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  59 + <cc:license
  60 + rdf:resource="http://web.resource.org/cc/PublicDomain" />
  61 + <dc:language>en</dc:language>
  62 + </cc:Work>
  63 + <cc:License
  64 + rdf:about="http://web.resource.org/cc/PublicDomain">
  65 + <cc:permits
  66 + rdf:resource="http://web.resource.org/cc/Reproduction" />
  67 + <cc:permits
  68 + rdf:resource="http://web.resource.org/cc/Distribution" />
  69 + <cc:permits
  70 + rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
  71 + </cc:License>
  72 + </rdf:RDF>
  73 + </metadata>
  74 + <defs
  75 + id="defs550">
  76 + <linearGradient
  77 + id="linearGradient650">
  78 + <stop
  79 + id="stop651"
  80 + offset="0"
  81 + style="stop-color:#000;stop-opacity:1;" />
  82 + <stop
  83 + id="stop652"
  84 + offset="1"
  85 + style="stop-color:#fff;stop-opacity:1;" />
  86 + </linearGradient>
  87 + <linearGradient
  88 + gradientUnits="objectBoundingBox"
  89 + id="linearGradient653"
  90 + spreadMethod="repeat"
  91 + x1="1.0000055"
  92 + x2="1.166669"
  93 + xlink:href="#linearGradient650"
  94 + y1="0.53125"
  95 + y2="0.5390625" />
  96 + <linearGradient
  97 + gradientUnits="objectBoundingBox"
  98 + id="linearGradient654"
  99 + spreadMethod="repeat"
  100 + x1="1.2222271"
  101 + x2="1.1666682"
  102 + xlink:href="#linearGradient650"
  103 + y1="0.4609375"
  104 + y2="0.4609375" />
  105 + </defs>
  106 + <sodipodi:namedview
  107 + id="base"
  108 + showgrid="true"
  109 + width="14px"
  110 + height="14px"
  111 + inkscape:zoom="12.192"
  112 + inkscape:cx="24.967908"
  113 + inkscape:cy="-4.5417801"
  114 + inkscape:window-width="1152"
  115 + inkscape:window-height="817"
  116 + inkscape:window-x="-4"
  117 + inkscape:window-y="-4"
  118 + inkscape:current-layer="svg548" />
  119 + <g
  120 + id="g3165"
  121 + transform="matrix(0.8982311,0,0,0.7549541,0.3480681,2.839151)">
  122 + <path
  123 + d="M 0.39689406,1.9804781 C 0.39689406,1.9804781 9.3120255,1.6463045 9.3598193,1.6463045 C 9.4076132,1.6463045 13.685919,7.3273614 13.685919,7.3273614 L 2.8348098,8.1210039 C 2.8348098,8.1210039 0.39689406,1.8969479 0.39689406,1.9804781 z "
  124 + id="path703"
  125 + sodipodi:nodetypes="ccccc"
  126 + style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.14977267;stroke-linecap:butt;stroke-linejoin:bevel;stroke-dasharray:none;stroke-opacity:1" />
  127 + <path
  128 + style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.14977267;stroke-linecap:butt;stroke-linejoin:bevel;stroke-dasharray:none;stroke-opacity:1"
  129 + sodipodi:nodetypes="ccccc"
  130 + id="path702"
  131 + d="M 2.8109098,11.922314 L 0.39689406,4.1943981 L 0.37299351,1.9804253 L 2.8348098,8.0792388 C 2.9304156,8.2045341 2.9543156,11.713436 2.8109098,11.922314 z " />
  132 + <g
  133 + style="fill:#b3b3b3;fill-opacity:1"
  134 + transform="matrix(3.0211035e-2,0,0,5.280038e-2,-0.702558,-6.0398399)"
  135 + id="g715">
  136 + <path
  137 + transform="matrix(1.00431,0,0,1,25.72227,-0.79113)"
  138 + style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;stroke-linecap:butt;stroke-linejoin:bevel;stroke-dasharray:none;stroke-opacity:1"
  139 + sodipodi:nodetypes="cccccc"
  140 + id="path701"
  141 + d="M 93.3545,268.196 L 449.367,253.164 C 449.367,253.164 456.488,273.735 456.488,288.766 C 456.488,306.171 452.532,321.994 451.741,322.785 L 89.3988,340.19 C 94.1457,328.322 94.1455,315.664 93.3545,268.196 z " />
  142 + <g
  143 + style="fill:#b3b3b3;fill-opacity:1"
  144 + id="g710">
  145 + <path
  146 + style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  147 + sodipodi:nodetypes="ccccc"
  148 + id="path706"
  149 + d="M 449.367,298.26 L 463.608,297.468 L 463.608,309.335 L 449.367,310.127 L 449.367,298.26 z " />
  150 + <g
  151 + style="fill:#b3b3b3;fill-opacity:1"
  152 + id="g707">
  153 + <path
  154 + style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
  155 + sodipodi:nodetypes="ccccc"
  156 + id="path704"
  157 + d="M 134.494,281.646 L 265.032,276.108 L 264.241,310.127 L 133.702,317.246 L 134.494,281.646 z " />
  158 + <path
  159 + style="fill:#b3b3b3;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  160 + sodipodi:nodetypes="ccccc"
  161 + id="path705"
  162 + d="M 443.829,268.196 C 444.62,268.196 465.981,267.405 465.981,267.405 L 465.981,283.228 L 443.829,284.019 L 443.829,268.196 z " />
  163 + </g>
  164 + </g>
  165 + </g>
  166 + <path
  167 + style="fill:#000000;fill-opacity:0.251852;fill-rule:evenodd;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  168 + id="path567"
  169 + d="M 6.1886992,1.9824911 C 6.1886992,1.9824911 9.0165729,1.886551 9.2362374,1.9344973 C 9.4558717,1.9824911 11.487564,4.9574764 11.487564,4.9574764 C 11.487564,4.9574764 9.7304296,1.8864983 6.1886992,1.9824911 z " />
  170 + <path
  171 + style="fill:#ffffff;fill-opacity:0.5;fill-rule:evenodd;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  172 + id="path568"
  173 + d="M 3.0862678,11.29136 C 3.0862678,11.243414 2.9489889,8.4603089 3.0862678,8.4603089 C 3.2235467,8.4603089 7.0947282,7.9805083 7.0947282,7.9805083 C 7.0947282,7.9805083 3.0313443,8.7002354 3.0862678,11.29136 z " />
  174 + <path
  175 + style="fill:#ffffff;fill-opacity:0.49803904;fill-rule:evenodd;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  176 + id="path569"
  177 + d="M 2.1527833,6.8288797 C 2.1527833,6.8288797 2.674431,8.0284547 2.7018928,8.316375 C 2.7293548,8.6042954 2.7842482,11.051486 2.7842482,11.051486 C 2.7842482,11.051486 2.674431,8.5083026 2.1527833,6.8288797 z " />
  178 + </g>
  179 +</svg>
... ...
ms_configura.php
... ... @@ -61,7 +61,17 @@ postgis_mapa - string de conexão com o banco de dados para substituição do CONNE
61 61 $mensagemInicia = "I3Geo versão 3.7";
62 62 if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))
63 63 {
64   - //ip dos usuarios que podem administrar via navegador
  64 + //ip dos usuarios que podem navegar no servidor para acessar arquivos de dados geográficos
  65 + $navegadoresLocais = array(
  66 + array(
  67 + "ip"=>"127.0.0.1",
  68 + "drives"=>array(
  69 + array("caminho"=>"c:/","nome"=>"c"),
  70 + array("caminho"=>"d:/","nome"=>"d")
  71 + )
  72 + )
  73 + );
  74 + //ip dos usuarios que podem administrar via navegador. Separe os ips por vírgula
65 75 $editores = array("127.0.0.1");
66 76 //caminho completo do diretório temporário utilizado pelo mapserver
67 77 $dir_tmp = "c:/ms4w/tmp/ms_tmp";
... ...
ms_criamapa.php
... ... @@ -101,6 +101,10 @@ $debug_ = $debug;
101 101 $ler_extensoes_ = $ler_extensoes;
102 102 $postgis_mapa_ = $postgis_mapa;
103 103 $perfil_ = $perfil;
  104 +if ((isset($navegadoresLocais)) && ($navegadoresLocais != ""))
  105 +$navegadoresLocais_ = "sim";
  106 +else
  107 +$navegadoresLocais_ = "nao";
104 108 //
105 109 //inicia a sessão
106 110 //
... ... @@ -131,6 +135,7 @@ $_SESSION[&quot;debug&quot;] = $debug_;
131 135 $_SESSION["ler_extensoes"] = $ler_extensoes_;
132 136 $_SESSION["postgis_mapa"] = $postgis_mapa_;
133 137 $_SESSION["perfil"] = $perfil_;
  138 +$_SESSION["navegadoresLocais"] = $navegadoresLocais_;
134 139 //
135 140 //pega todas as variáveis da sessão
136 141 //
... ...