Commit 58f874b1f3831732cc4c901f14dc9bd2c54a9bb0

Authored by Edmar Moretti
1 parent b52d0009
Exists in master

Novas variáveis de configuração disponíveis em ms_configura.php para controle das opções de login

admin/php/admin.php
@@ -33,10 +33,8 @@ Arquivo: @@ -33,10 +33,8 @@ Arquivo:
33 33
34 i3geo/admin/php/admin.php 34 i3geo/admin/php/admin.php
35 */ 35 */
36 -if(!isset($locaplic) || !isset($dir_tmp)){  
37 - $locaplic = "";  
38 - include(dirname(__FILE__)."/../../ms_configura.php");  
39 -} 36 +include(dirname(__FILE__)."/../../ms_configura.php");
  37 +
40 if(!file_exists($dir_tmp)){ 38 if(!file_exists($dir_tmp)){
41 @mkdir ($dir_tmp,0744); 39 @mkdir ($dir_tmp,0744);
42 chmod($dir_tmp,0744); 40 chmod($dir_tmp,0744);
admin/php/criabanco.php
@@ -50,6 +50,15 @@ @@ -50,6 +50,15 @@
50 //echo dirname(__FILE__); 50 //echo dirname(__FILE__);
51 $esquemaadmin = ""; 51 $esquemaadmin = "";
52 include("admin.php"); 52 include("admin.php");
  53 + //verifica se o login pode ser realizado
  54 + if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){
  55 + header ( "HTTP/1.1 403 Login desativado" );
  56 + exit ();
  57 + }
  58 + //$i3geoPermiteLoginIp vem de ms_configura.php
  59 + if(isset($i3geoPermiteLoginIp)){
  60 + checaLoginIp($i3geoPermiteLoginIp);
  61 + }
53 error_reporting(0); 62 error_reporting(0);
54 $tabelas = array( 63 $tabelas = array(
55 //tabelas gerais do sistema de administracao 64 //tabelas gerais do sistema de administracao
admin/php/incluiMAP.php
@@ -36,6 +36,15 @@ i3geo/admin/php/incluiMAP.php @@ -36,6 +36,15 @@ i3geo/admin/php/incluiMAP.php
36 $funcao = ""; 36 $funcao = "";
37 $locaplic = dirname(__FILE__)."/../.."; 37 $locaplic = dirname(__FILE__)."/../..";
38 include_once("admin.php"); 38 include_once("admin.php");
  39 +//verifica se o login pode ser realizado
  40 +if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){
  41 + header ( "HTTP/1.1 403 Login desativado" );
  42 + exit ();
  43 +}
  44 +//$i3geoPermiteLoginIp vem de ms_configura.php
  45 +if(isset($i3geoPermiteLoginIp)){
  46 + checaLoginIp($i3geoPermiteLoginIp);
  47 +}
39 include_once("conexao.php"); 48 include_once("conexao.php");
40 if(empty($_POST["senha"]) || empty($_POST["usuario"])){ 49 if(empty($_POST["senha"]) || empty($_POST["usuario"])){
41 formularioLoginMaster("incluiMAP.php"); 50 formularioLoginMaster("incluiMAP.php");
admin/php/login.php
@@ -64,6 +64,17 @@ error_reporting(0); @@ -64,6 +64,17 @@ error_reporting(0);
64 // 64 //
65 include_once(dirname(__FILE__)."/../safe.php"); 65 include_once(dirname(__FILE__)."/../safe.php");
66 include_once(dirname(__FILE__)."/admin.php"); 66 include_once(dirname(__FILE__)."/admin.php");
  67 +
  68 +//verifica se o login pode ser realizado
  69 +if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){
  70 + header ( "HTTP/1.1 403 Login desativado" );
  71 + exit ();
  72 +}
  73 +//$i3geoPermiteLoginIp vem de ms_configura.php
  74 +if(isset($i3geoPermiteLoginIp)){
  75 + checaLoginIp($i3geoPermiteLoginIp);
  76 +}
  77 +
67 error_reporting(0); 78 error_reporting(0);
68 session_write_close(); 79 session_write_close();
69 session_name("i3GeoLogin"); 80 session_name("i3GeoLogin");
admin/php/upgradebanco44_45.php
@@ -48,6 +48,16 @@ i3geo/admin/php/criabanco.php @@ -48,6 +48,16 @@ i3geo/admin/php/criabanco.php
48 */ 48 */
49 $funcao = ""; 49 $funcao = "";
50 include_once("admin.php"); 50 include_once("admin.php");
  51 +//verifica se o login pode ser realizado
  52 +if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){
  53 + header ( "HTTP/1.1 403 Login desativado" );
  54 + exit ();
  55 +}
  56 +//$i3geoPermiteLoginIp vem de ms_configura.php
  57 +if(isset($i3geoPermiteLoginIp)){
  58 + checaLoginIp($i3geoPermiteLoginIp);
  59 +}
  60 +
51 include_once("conexao.php"); 61 include_once("conexao.php");
52 62
53 if(empty($_POST["senha"]) || empty($_POST["usuario"])){ 63 if(empty($_POST["senha"]) || empty($_POST["usuario"])){
@@ -75,7 +85,7 @@ if($conexaoadmin == "") @@ -75,7 +85,7 @@ if($conexaoadmin == "")
75 } 85 }
76 else 86 else
77 { 87 {
78 - include($conexaoadmin); 88 + include($conexaoadmin);
79 } 89 }
80 */ 90 */
81 foreach($tabelas as $tabela) 91 foreach($tabelas as $tabela)
admin/php/upgradebanco46_47.php
@@ -51,6 +51,16 @@ i3geo/admin/php/criabanco.php @@ -51,6 +51,16 @@ i3geo/admin/php/criabanco.php
51 $funcao = ""; 51 $funcao = "";
52 $locaplic = dirname(__FILE__)."/../.."; 52 $locaplic = dirname(__FILE__)."/../..";
53 include_once("admin.php"); 53 include_once("admin.php");
  54 +//verifica se o login pode ser realizado
  55 +if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){
  56 + header ( "HTTP/1.1 403 Login desativado" );
  57 + exit ();
  58 +}
  59 +//$i3geoPermiteLoginIp vem de ms_configura.php
  60 +if(isset($i3geoPermiteLoginIp)){
  61 + checaLoginIp($i3geoPermiteLoginIp);
  62 +}
  63 +
54 include_once("conexao.php"); 64 include_once("conexao.php");
55 if(!empty($esquemaadmin)){ 65 if(!empty($esquemaadmin)){
56 $esquemaadmin = str_replace(".","",$esquemaadmin)."."; 66 $esquemaadmin = str_replace(".","",$esquemaadmin).".";
classesjs/compactajs.php
@@ -44,6 +44,16 @@ i3geo/classesjs/compactajs.php @@ -44,6 +44,16 @@ i3geo/classesjs/compactajs.php
44 44
45 $locaplic = dirname(__FILE__)."/.."; 45 $locaplic = dirname(__FILE__)."/..";
46 include_once(dirname(__FILE__)."/../admin/php/admin.php"); 46 include_once(dirname(__FILE__)."/../admin/php/admin.php");
  47 +//verifica se o login pode ser realizado
  48 +if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){
  49 + header ( "HTTP/1.1 403 Login desativado" );
  50 + exit ();
  51 +}
  52 +//$i3geoPermiteLoginIp vem de ms_configura.php
  53 +if(isset($i3geoPermiteLoginIp)){
  54 + checaLoginIp($i3geoPermiteLoginIp);
  55 +}
  56 +
47 include_once(dirname(__FILE__)."/../admin/php/conexao.php"); 57 include_once(dirname(__FILE__)."/../admin/php/conexao.php");
48 if(empty($_POST["senha"]) || empty($_POST["usuario"])){ 58 if(empty($_POST["senha"]) || empty($_POST["usuario"])){
49 formularioLoginMaster("compactajs.php"); 59 formularioLoginMaster("compactajs.php");
classesphp/funcoes_gerais.php
@@ -2095,15 +2095,24 @@ Retorno: @@ -2095,15 +2095,24 @@ Retorno:
2095 2095
2096 {string} 2096 {string}
2097 */ 2097 */
2098 -function pegaIPcliente()  
2099 -{  
2100 - $ip = "UNKNOWN";  
2101 - if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP");  
2102 - else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR");  
2103 - else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR");  
2104 - else $ip = "UNKNOWN";  
2105 - //$ip = "200.252.111.1";//teste  
2106 - return $ip; 2098 +function pegaIPcliente(){
  2099 + $ipaddress = '';
  2100 + if (getenv('HTTP_CLIENT_IP'))
  2101 + $ipaddress = getenv('HTTP_CLIENT_IP');
  2102 + else if(getenv('HTTP_X_FORWARDED_FOR'))
  2103 + $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
  2104 + else if(getenv('HTTP_X_FORWARDED'))
  2105 + $ipaddress = getenv('HTTP_X_FORWARDED');
  2106 + else if(getenv('HTTP_FORWARDED_FOR'))
  2107 + $ipaddress = getenv('HTTP_FORWARDED_FOR');
  2108 + else if(getenv('HTTP_FORWARDED'))
  2109 + $ipaddress = getenv('HTTP_FORWARDED');
  2110 + else if(getenv('REMOTE_ADDR'))
  2111 + $ipaddress = getenv('REMOTE_ADDR');
  2112 + else
  2113 + $ipaddress = 'UNKNOWN';
  2114 +
  2115 + return $ipaddress;
2107 } 2116 }
2108 /* 2117 /*
2109 Function: pegaIPcliente2 2118 Function: pegaIPcliente2
@@ -3051,4 +3060,28 @@ function i3GeoLog($txt,$dir_tmp=""){ @@ -3051,4 +3060,28 @@ function i3GeoLog($txt,$dir_tmp=""){
3051 "-------------------------".PHP_EOL; 3060 "-------------------------".PHP_EOL;
3052 file_put_contents($dir_tmp.'/.log_i3geo_'.date("j.n.Y"), $log, FILE_APPEND); 3061 file_put_contents($dir_tmp.'/.log_i3geo_'.date("j.n.Y"), $log, FILE_APPEND);
3053 } 3062 }
  3063 +/**
  3064 + * valida o IP do usuario em uma lista branca
  3065 + */
  3066 +function validaIpUsuario($lista){
  3067 + if($lista == ""){
  3068 + return true;
  3069 + }
  3070 + $ip = pegaIPcliente();
  3071 + if(in_array($ip,$lista)){
  3072 + return true;
  3073 + } else {
  3074 + return false;
  3075 + }
  3076 +}
  3077 +function checaLoginIp($lista){
  3078 + if(empty($lista)){
  3079 + return;
  3080 + }
  3081 + $r = validaIpUsuario($lista);
  3082 + if($r == false){
  3083 + header ( "HTTP/1.1 403 Login nao permitido" );
  3084 + exit ();
  3085 + }
  3086 +}
3054 ?> 3087 ?>
ferramentas/loginusuario/dependencias.php
@@ -6,6 +6,15 @@ @@ -6,6 +6,15 @@
6 * javascript i3GEOF.loginusuario.MUSTACHE 6 * javascript i3GEOF.loginusuario.MUSTACHE
7 * O template e substituido pelos valores definidos em index.js no momento da inicializacao da ferramenta 7 * O template e substituido pelos valores definidos em index.js no momento da inicializacao da ferramenta
8 */ 8 */
  9 +
  10 +//verifica se o login pode ser realizado
  11 +include(dirname(__FILE__)."/../../ms_configura.php");
  12 +if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){
  13 + echo "alert('ferramenta de login desativada');";
  14 + //header ( "HTTP/1.1 403 Login desativado" );
  15 + exit ();
  16 +}
  17 +
9 if(extension_loaded('zlib')){ 18 if(extension_loaded('zlib')){
10 ob_start('ob_gzhandler'); 19 ob_start('ob_gzhandler');
11 } 20 }
geraminiatura.php
@@ -82,14 +82,18 @@ if (!function_exists('ms_GetVersion')) @@ -82,14 +82,18 @@ if (!function_exists('ms_GetVersion'))
82 else 82 else
83 {dl('php_mapscript.so');} 83 {dl('php_mapscript.so');}
84 } 84 }
85 -/*  
86 -include($locaplic."/ms_configura.php");  
87 -if(!function_exists("versao"))  
88 -{include($locaplic."/classesphp/funcoes_gerais.php");}  
89 -require_once($locaplic."/classesphp/pega_variaveis.php");  
90 -include_once ($locaplic."/classesphp/carrega_ext.php");  
91 -*/ 85 +
92 include_once (dirname(__FILE__)."/admin/php/admin.php"); 86 include_once (dirname(__FILE__)."/admin/php/admin.php");
  87 +//verifica se o login pode ser realizado
  88 +if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){
  89 + header ( "HTTP/1.1 403 Login desativado" );
  90 + exit ();
  91 +}
  92 +//$i3geoPermiteLoginIp vem de ms_configura.php
  93 +if(isset($i3geoPermiteLoginIp)){
  94 + checaLoginIp($i3geoPermiteLoginIp);
  95 +}
  96 +
93 $versao = versao(); 97 $versao = versao();
94 $versao = $versao["principal"]; 98 $versao = $versao["principal"];
95 // 99 //
@@ -134,7 +138,7 @@ if($tipo == "mini" || $tipo == "todos" || $tipo == "grande" || $tipo == "") @@ -134,7 +138,7 @@ if($tipo == "mini" || $tipo == "todos" || $tipo == "grande" || $tipo == "")
134 { 138 {
135 $arq = str_replace(" ","xxxx",$arq); 139 $arq = str_replace(" ","xxxx",$arq);
136 $temp = explode(".",$arq); 140 $temp = explode(".",$arq);
137 - 141 +
138 if(file_exists($locaplic.'/temas/'.$arq) && $temp[(count($temp) - 1)] == "map" && !(strpos($temp[0],"_") === 0) ) 142 if(file_exists($locaplic.'/temas/'.$arq) && $temp[(count($temp) - 1)] == "map" && !(strpos($temp[0],"_") === 0) )
139 { 143 {
140 echo "<b>$arq</b><br>"; 144 echo "<b>$arq</b><br>";
@@ -253,7 +257,7 @@ function verificaMiniatura($map,$tipo,$admin=false) @@ -253,7 +257,7 @@ function verificaMiniatura($map,$tipo,$admin=false)
253 } 257 }
254 } 258 }
255 } 259 }
256 - 260 +
257 zoomTemaMiniatura($pegarext,$mapa); 261 zoomTemaMiniatura($pegarext,$mapa);
258 } 262 }
259 if($extensao == ".gvp"){ 263 if($extensao == ".gvp"){
ms_configura.php
@@ -63,6 +63,29 @@ $i3geomaster = array( @@ -63,6 +63,29 @@ $i3geomaster = array(
63 array("usuario"=>"admin", "senha"=>"admin") 63 array("usuario"=>"admin", "senha"=>"admin")
64 ); 64 );
65 /* 65 /*
  66 +Variable: $i3geoPermiteLogin
  67 +
  68 +Permite ou impede que sejam executadas as funcionalidades que exigem login
  69 +
  70 +Tipo:
  71 +{boolean}
  72 +*/
  73 +$i3geoPermiteLogin = true;
  74 +/*
  75 +Variable: $i3geoPermiteLoginIp
  76 +
  77 +Lista de IPs que podem fazer login. Valido apenas se $i3geoPermiteLogin for true
  78 +
  79 +A lista e um array, permitindo a inclusao de varios IPs
  80 +
  81 +Para nao fazer a verificacao, ou seja, permitir que qualquer IP faca login, deixe essa variavel em branco
  82 +
  83 +Exemplo de uso:
  84 +
  85 +$i3geoPermiteLoginIp = array("127.0.0.1","200.200.200.200");
  86 +*/
  87 +$i3geoPermiteLoginIp = array();
  88 +/*
66 Variable: $logTransacoes 89 Variable: $logTransacoes
67 90
68 Define se as transacoes no banco de dados de administracao serao mantidas em uma tabela de logs 91 Define se as transacoes no banco de dados de administracao serao mantidas em uma tabela de logs
testainstal/index.php
@@ -32,7 +32,7 @@ include &quot;../init/head.php&quot;; @@ -32,7 +32,7 @@ include &quot;../init/head.php&quot;;
32 <div class="container-fluid"> 32 <div class="container-fluid">
33 <div class="row"> 33 <div class="row">
34 <ol class="breadcrumb"> 34 <ol class="breadcrumb">
35 - <li><a href="../init/index.php">i3Geo</a></li> 35 + <li><a href="../init/index.php?home=">i3Geo</a></li>
36 <li class="active">Teste de instala&ccedil;&atilde;o</li> 36 <li class="active">Teste de instala&ccedil;&atilde;o</li>
37 </ol> 37 </ol>
38 </div> 38 </div>
@@ -74,8 +74,15 @@ include &quot;../init/head.php&quot;; @@ -74,8 +74,15 @@ include &quot;../init/head.php&quot;;
74 */ 74 */
75 $locaplic = dirname(dirname(__FILE__)); 75 $locaplic = dirname(dirname(__FILE__));
76 include_once("../admin/php/admin.php"); 76 include_once("../admin/php/admin.php");
77 - include_once("../ms_configura.php");  
78 - 77 + //verifica se o login pode ser realizado
  78 + if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){
  79 + header ( "HTTP/1.1 403 Login desativado" );
  80 + exit ();
  81 + }
  82 + //$i3geoPermiteLoginIp vem de ms_configura.php
  83 + if(isset($i3geoPermiteLoginIp)){
  84 + checaLoginIp($i3geoPermiteLoginIp);
  85 + }
79 ?> 86 ?>
80 <script src='../classesjs/compactados/dicionario_compacto.js'></script> 87 <script src='../classesjs/compactados/dicionario_compacto.js'></script>
81 <script src='../classesjs/compactados/classe_util_compacto.js'></script> 88 <script src='../classesjs/compactados/classe_util_compacto.js'></script>
@@ -221,10 +228,10 @@ HTML; @@ -221,10 +228,10 @@ HTML;
221 if(!empty($_POST["criaPastaMstmp"]) && $_POST["criaPastaMstmp"] == "on"){ 228 if(!empty($_POST["criaPastaMstmp"]) && $_POST["criaPastaMstmp"] == "on"){
222 echo "Criando a pasta $dir_tmp"; 229 echo "Criando a pasta $dir_tmp";
223 if(!file_exists($dir_tmp)){ 230 if(!file_exists($dir_tmp)){
224 - @mkdir ($dir_tmp,0777); 231 + @mkdir ($dir_tmp,0744);
225 } 232 }
226 else{ 233 else{
227 - chmod($dir_tmp,0777); 234 + chmod($dir_tmp,0744);
228 } 235 }
229 if(!file_exists($dir_tmp)){ 236 if(!file_exists($dir_tmp)){
230 echo "<span style=color:red >Arquivo $dir_tmp n&atilde;o pode ser criado"; 237 echo "<span style=color:red >Arquivo $dir_tmp n&atilde;o pode ser criado";
@@ -243,7 +250,7 @@ HTML; @@ -243,7 +250,7 @@ HTML;
243 @symlink($dir_tmp,$d); 250 @symlink($dir_tmp,$d);
244 } 251 }
245 else{ 252 else{
246 - chmod($d,0777); 253 + chmod($d,0744);
247 } 254 }
248 if(!file_exists($d)){ 255 if(!file_exists($d)){
249 echo "<span style=color:red >Link $d n&atilde;o pode ser criado\n"; 256 echo "<span style=color:red >Link $d n&atilde;o pode ser criado\n";
@@ -258,10 +265,10 @@ HTML; @@ -258,10 +265,10 @@ HTML;
258 if(!empty($_POST["criaPastaMstmp"]) && $_POST["permPastaI3geo"] == "on"){ 265 if(!empty($_POST["criaPastaMstmp"]) && $_POST["permPastaI3geo"] == "on"){
259 echo "Alterando permiss&otilde;es i3geo i3geo/temas i3geo/admin i3geo/admin/admin.db\n"; 266 echo "Alterando permiss&otilde;es i3geo i3geo/temas i3geo/admin i3geo/admin/admin.db\n";
260 if(file_exists($locaplic)){ 267 if(file_exists($locaplic)){
261 - chmod($locaplic,0777);  
262 - chmod($locaplic."/temas",0777);  
263 - chmod($locaplic."/admin",0777);  
264 - chmod($locaplic."/admin/admin.db",0777); 268 + chmod($locaplic,0744);
  269 + chmod($locaplic."/temas",0744);
  270 + chmod($locaplic."/admin",0744);
  271 + chmod($locaplic."/admin/admin.db",0744);
265 echo "...OK\n"; 272 echo "...OK\n";
266 } 273 }
267 } 274 }
testamapfile.php
@@ -55,9 +55,21 @@ tabela - (opcional) testa a tabela de atributos @@ -55,9 +55,21 @@ tabela - (opcional) testa a tabela de atributos
55 55
56 set_time_limit(300); 56 set_time_limit(300);
57 ini_set('max_execution_time', 300); 57 ini_set('max_execution_time', 300);
  58 +include_once (dirname(__FILE__)."/classesphp/sani_request.php");
  59 +$_GET = array_merge($_GET,$_POST);
58 include("ms_configura.php"); 60 include("ms_configura.php");
  61 +//verifica se o login pode ser realizado
  62 +if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){
  63 + header ( "HTTP/1.1 403 Login desativado" );
  64 + exit ();
  65 +}
59 include("classesphp/funcoes_gerais.php"); 66 include("classesphp/funcoes_gerais.php");
60 -require_once("classesphp/pega_variaveis.php"); 67 +
  68 +//$i3geoPermiteLoginIp vem de ms_configura.php
  69 +if(isset($i3geoPermiteLoginIp)){
  70 + checaLoginIp($i3geoPermiteLoginIp);
  71 +}
  72 +
61 include_once ("classesphp/carrega_ext.php"); 73 include_once ("classesphp/carrega_ext.php");
62 // 74 //
63 //carrega o phpmapscript 75 //carrega o phpmapscript
@@ -114,9 +126,14 @@ if ($tipo == &quot;&quot;) @@ -114,9 +126,14 @@ if ($tipo == &quot;&quot;)
114 echo $combo."</select></form><br>"; 126 echo $combo."</select></form><br>";
115 echo '<br><input type=button value="Testa tabela" id="rodatabela" />'; 127 echo '<br><input type=button value="Testa tabela" id="rodatabela" />';
116 } 128 }
  129 +
  130 +$solegenda = $_GET["solegenda"];
  131 +$iniciar = $_GET["iniciar"];
  132 +$map = $_GET["map"];
  133 +
117 if (isset($map) && $map != "") 134 if (isset($map) && $map != "")
118 { 135 {
119 - if(!isset($solegenda)){$solegenda = "nao";} 136 + if(!isset($solegenda) || $solegenda == ""){$solegenda = "nao";}
120 if ($map == "todos"){ 137 if ($map == "todos"){
121 $tipo = "todos"; 138 $tipo = "todos";
122 $conta = 0; 139 $conta = 0;
@@ -187,8 +204,6 @@ function verifica($map,$solegenda,$tabela,$cache=&quot;sim&quot;){ @@ -187,8 +204,6 @@ function verifica($map,$solegenda,$tabela,$cache=&quot;sim&quot;){
187 {$tema = 'temas/'.$map;} 204 {$tema = 'temas/'.$map;}
188 if (file_exists('temas/'.$map.'.map')) 205 if (file_exists('temas/'.$map.'.map'))
189 {$tema = 'temas/'.$map.".map";} 206 {$tema = 'temas/'.$map.".map";}
190 - if (file_exists('temas/'.$map.'.php'))  
191 - {$tema = 'temas/'.$map.".php";}  
192 if (file_exists('temas/'.$map.'.gvp')) 207 if (file_exists('temas/'.$map.'.gvp'))
193 {$tema = 'temas/'.$map.".gvp";} 208 {$tema = 'temas/'.$map.".gvp";}
194 } 209 }