Commit 5d0bfd86e8283d9069b9aef732e6c080ce4eaaa8

Authored by Edmar Moretti
1 parent 9d8ec701

Remoção do programa admin/php/login.php em favor de admin1/php/login.php

Showing 74 changed files with 798 additions and 454 deletions   Show diff stats
admin/admin.db
No preview for this file type
admin/php/admin.php
@@ -194,7 +194,7 @@ function pegaDados($sql,$dbh="",$close=true) @@ -194,7 +194,7 @@ function pegaDados($sql,$dbh="",$close=true)
194 $resultado = array(); 194 $resultado = array();
195 //is_string para efeitos de compatibilidade 195 //is_string para efeitos de compatibilidade
196 if($dbh == "" || is_string($dbh)){ 196 if($dbh == "" || is_string($dbh)){
197 - include(dirname(__FILE__)."/../adin1/php/conexao.php"); 197 + include(dirname(__FILE__)."/../../admin1/php/conexao.php");
198 } 198 }
199 error_reporting(0); 199 error_reporting(0);
200 //$dbh deve ser definido com somente leitura, mas por prevencao: 200 //$dbh deve ser definido com somente leitura, mas por prevencao:
admin/php/login.php
@@ -1,405 +0,0 @@ @@ -1,405 +0,0 @@
1 -<?php  
2 -/*  
3 -Title: funcoes_login.php  
4 -  
5 -Controle das requisi&ccedil;&otilde;es em Ajax utilizadas para gerenciar login de usu&aacute;rio e controle de acesso  
6 -  
7 -Recebe as requisi&ccedil;&otilde;es feitas em JavaScript (AJAX) e retorna o resultado para a interface.  
8 -  
9 -O par&acirc;metro "funcao" define qual a opera&ccedil;&atilde;o que ser&aacute; executada. Esse par&acirc;metro &eacute; verificado em um bloco "switch ($funcao)".  
10 -  
11 -Licenca:  
12 -  
13 -GPL2  
14 -  
15 -i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet  
16 -  
17 -Direitos Autorais Reservados (c) 2006 Edmar Moretti  
18 -Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com  
19 -  
20 -Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo  
21 -e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral  
22 -GNU conforme publicada pela Free Software Foundation;  
23 -  
24 -Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,  
25 -por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita  
26 -de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.  
27 -Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.  
28 -Voc&ecirc; deve ter recebido uma copia da Licen&ccedil;a P&uacute;blica Geral do  
29 -GNU junto com este programa; se n&atilde;o, escreva para a  
30 -Free Software Foundation, Inc., no endere&ccedil;o  
31 -59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.  
32 -  
33 -Arquivo:  
34 -  
35 -i3geo/classesphp/funcoes_login.php  
36 -  
37 -Parametros:  
38 -  
39 -funcao - op&ccedil;&atilde;o que ser&aacute; executada (veja abaixo a lista de Valores que esse par&acirc;metro pode assumir).  
40 -  
41 -Retorno:  
42 -  
43 -O resultado da opera&ccedil;&atilde;o ser&aacute; retornado em um objeto CPAINT.  
44 -  
45 -A constru&ccedil;&atilde;o da string JSON &eacute; feita preferencialmente pelas fun&ccedil;&otilde;es nativas do PHP.  
46 -Para efeitos de compatibilidade, uma vez que at&eacute; a vers&atilde;o 4.2 a string JSON era construida pelo CPAINT,  
47 -o objeto CPAINT ainda &eacute; definido, por&eacute;m, a fun&ccedil;&atilde;o cpjson verifica se as fun&ccedil;&otilde;es nativas do PHPO (json)  
48 -est&atilde;o instaladas, se estiverem, utiliza-se a fun&ccedil;&atilde;o nativa, se n&atilde;o, utiliza-se o CPAINT para gerar o JSON.  
49 -  
50 -Exemplo de chamada CPAINT (Ajax) do lado do cliente (javascript):  
51 -  
52 -var p = "classesphp/mapa_controle.php?funcao=crialente&resolucao=1.5&g_sid="+g_sid  
53 -  
54 -var cp = new cpaint()  
55 -  
56 -cp.set_response_type("JSON")  
57 -  
58 -cp.call(p,"lente",ajaxabrelente)  
59 -  
60 -*/  
61 -//error_reporting(0);  
62 -//  
63 -//pega as variaveis passadas com get ou post  
64 -//  
65 -include_once(dirname(__FILE__)."/../safe.php");  
66 -  
67 -include_once(dirname(__FILE__)."/admin.php");  
68 -  
69 -//verifica se o login pode ser realizado  
70 -if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){  
71 - header ( "HTTP/1.1 403 Login desativado" );  
72 - exit ();  
73 -}  
74 -//$i3geoPermiteLoginIp vem de ms_configura.php  
75 -if(isset($i3geoPermiteLoginIp)){  
76 - checaLoginIp($i3geoPermiteLoginIp);  
77 -}  
78 -  
79 -//error_reporting(0);  
80 -session_write_close();  
81 -session_name("i3GeoLogin");  
82 -//se o usuario estiver tentando fazer login  
83 -if(!empty($_POST["usuario"]) && !empty($_POST["senha"])){  
84 - logoutUsuario();  
85 - session_regenerate_id();  
86 - $_SESSION = array();  
87 - session_start();  
88 - $funcao = "login";  
89 -}  
90 -else{//se nao, verifica se o login ja existe realmente  
91 - if(!empty($_COOKIE["i3geocodigologin"])){  
92 - session_id($_COOKIE["i3geocodigologin"]);  
93 - session_start();  
94 - if($_SESSION["usuario"] != $_COOKIE["i3geousuariologin"]){  
95 - logoutUsuario();  
96 - cpjson("logout");  
97 - }  
98 - }  
99 - else{//caso nao exista, retorna um erro  
100 - logoutUsuario();  
101 - cpjson("erro");  
102 - }  
103 -}  
104 -//var_dump($_SESSION);exit;  
105 -$retorno = "logout"; //string que ser&aacute; retornada ao browser via JSON  
106 -switch (strtoupper($funcao))  
107 -{  
108 - /*  
109 - Valor: LOGIN  
110 -  
111 - Verifica usu&aacute;rio e senha e registra id da sessao que guarda o resultado.  
112 -  
113 - */  
114 - case "LOGIN":  
115 - $usuario = $_POST["usuario"];  
116 - $senha = $_POST["senha"];  
117 - $teste = autenticaUsuario($usuario,$senha);  
118 - if($teste == "muitas tentativas"){  
119 - logoutUsuario();  
120 - header ( "HTTP/1.1 403 Muitas tentativas" );  
121 - exit;  
122 - }  
123 - if($teste != false){  
124 - $_SESSION["usuario"] = $usuario;  
125 - $_SESSION["id_usuario"] = $teste["usuario"]["id_usuario"];  
126 - $_SESSION["senha"] = $senha;  
127 - $_SESSION["papeis"] = $teste["papeis"];  
128 - $_SESSION["operacoes"] = $teste["operacoes"];  
129 - $_SESSION["gruposusr"] = $teste["gruposusr"];  
130 - $fingerprint = 'I3GEOLOGIN' . $_SERVER['HTTP_USER_AGENT'];  
131 - //var_dump($_SESSION["operacoes"]);exit;  
132 - $_SESSION['fingerprint'] = md5($fingerprint . session_id());  
133 - $editor = "nao";  
134 - foreach($_SESSION["papeis"] as $p){  
135 - if($p < 3){  
136 - $editor = "sim";  
137 - }  
138 - }  
139 - $retorno = array("id"=>session_id(),"nome"=>$teste["usuario"]["nome_usuario"],"editor"=>$editor);  
140 - cpjson($retorno);  
141 - }  
142 - else{  
143 - logoutUsuario();  
144 - cpjson("logout");  
145 - }  
146 - break;  
147 - /*  
148 - Valor: VALIDAOPERACAOUSUARIO  
149 -  
150 - Verifica se um usuario pode executar uma operacao  
151 -  
152 - Para que o usuario possa executar a operacao, o papel ao qual ele pertence deve estar registrado em operacoespaeis no banco de administracao  
153 -  
154 - Se $operacao for vazio, e retornado "sim", o que permite que a verificacao apenas confirme que o login esta correto na sessao  
155 -  
156 - Paremeter:  
157 -  
158 - $operacao - operacao que sera verificada  
159 - */  
160 - case "VALIDAOPERACAOSESSAO":  
161 - $retorno = "nao";  
162 - if($_GET["operacao"] == ""){  
163 - $retorno = "sim";  
164 - }  
165 - else{  
166 - if(verificaOperacaoSessao($_GET["operacao"]) == true){  
167 - $retorno = "sim";  
168 - }  
169 - else{  
170 - //logoutUsuario();  
171 - $retorno = "naopermitido";  
172 - }  
173 - }  
174 - cpjson($retorno);  
175 - break;  
176 - /*  
177 - Valor: RECUPERARSENHA  
178 -  
179 - Cria uma nova senha para um usuario enviando-a por e-mailo  
180 -  
181 - Paremeter:  
182 -  
183 - $usuario  
184 - */  
185 - case "RECUPERARSENHA":  
186 - $retorno = false;  
187 - if(!empty($_POST["usuario"])){  
188 - $retorno = recuperarSenha($_POST["usuario"]);  
189 - }  
190 - cpjson($retorno);  
191 - break;  
192 - /*  
193 - Valor: ALTERARSENHA  
194 -  
195 - Altera a senha de um usuario  
196 -  
197 - Paremeter:  
198 -  
199 - $usuario  
200 -  
201 - $novasenha  
202 - */  
203 - case "ALTERARSENHA":  
204 - $retorno = false;  
205 - if(!empty($_POST["usuario"])){  
206 - $retorno = alterarSenha($_POST["usuario"],$_POST["novaSenha"]);  
207 - }  
208 - cpjson($retorno);  
209 - break;  
210 -}  
211 -function alterarSenha($usuario,$novaSenha){  
212 - include(dirname(__FILE__)."/conexao.php");  
213 - $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where senha = '".md5($_SESSION["senha"])."' and login = '$usuario' and ativo = 1",$locaplic);  
214 - if(count($dados) > 0){  
215 - $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='".md5($novaSenha)."' WHERE login = '$usuario'");  
216 - $_SESSION["senha"] = $novaSenha;  
217 - $to = $dados[0]["email"];  
218 - $subject = 'nova senha i3geo';  
219 - $message = "Sua senha foi alterada";  
220 - mail($to, $subject, $message);  
221 - return true;  
222 - }  
223 - else{  
224 - return false;  
225 - }  
226 -}  
227 -function recuperarSenha($usuario){  
228 - include(dirname(__FILE__)."/conexao.php");  
229 - $novaSenha = rand(9000,1000000);  
230 - $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and ativo = 1",$locaplic);  
231 - if(count($dados) > 0){  
232 - $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='".md5($novaSenha)."' WHERE login = '$usuario'");  
233 - $to = $dados[0]["email"];  
234 - $subject = 'nova senha i3geo';  
235 - $message = $novaSenha;  
236 - mail($to, $subject, $message);  
237 - return true;  
238 - }  
239 - else{  
240 - return false;  
241 - }  
242 -}  
243 -//  
244 -//verifica se um determinado papel esta registrado na variavel SESSION  
245 -//  
246 -function verificaPapelSessao($id_papel){  
247 - $resultado = false;  
248 - if(validaSessao()){  
249 - foreach($_SESSION["papeis"] as $p){  
250 - if($p["id_papel"] == 1 || $p["id_papel"] == $id_papel){  
251 - return true;  
252 - }  
253 - }  
254 - }  
255 - return $resultado;  
256 -}  
257 -//  
258 -//verifica se uma determinada operacao esta registrada na variavel SESSION  
259 -//  
260 -function verificaOperacaoSessao($operacao){  
261 - $resultado = false;  
262 - //a validacao consulta $_SESSION, que e definida no login  
263 - if(validaSessao()){  
264 - //verifica se e administrador, caso positivo, permite qq operacao  
265 - foreach($_SESSION["papeis"] as $p){  
266 - if($p == 1){  
267 - return true;  
268 - }  
269 - }  
270 - if(!empty($_SESSION["operacoes"][$operacao])){  
271 - $resultado = true;  
272 - }  
273 - }  
274 - return $resultado;  
275 -}  
276 -//  
277 -//verifica se o usuario esta logado  
278 -//  
279 -function validaSessao(){  
280 - $fingerprint = 'I3GEOLOGIN' . $_SERVER['HTTP_USER_AGENT'];  
281 - if($_SESSION['fingerprint'] != md5($fingerprint . session_id())){  
282 - return false;  
283 - }  
284 - if($_SESSION["usuario"] != $_COOKIE["i3geousuariologin"]){  
285 - return false;  
286 - }  
287 - return true;  
288 -}  
289 -//  
290 -//faz a autenticacao de um usuario baseado no login e senha  
291 -//registra as operacoes, papeis e grupos do usuario na SESSION  
292 -//  
293 -function autenticaUsuario($usuario,$senha){  
294 - include(dirname(__FILE__)."/conexao.php");  
295 - error_reporting(0);  
296 - $senhamd5 = md5($senha);  
297 - if(function_exists("password_hash")){  
298 - $senhaHash = password_hash($senha, PASSWORD_DEFAULT);  
299 - }  
300 -  
301 - //faz um teste de tentativas de acesso  
302 - $nomeArquivo = $dir_tmp."/a".md5($usuario."testeTentativas").intval(time() / 1000);  
303 - if(!file_exists($dir_tmp)){  
304 - return false;  
305 - }  
306 - if(file_exists($nomeArquivo)){  
307 - $tentativas = (int) file_get_contents($nomeArquivo);  
308 - if($tentativas > 3){  
309 - return "muitas tentativas";  
310 - }  
311 - $tentativas = $tentativas + 1;  
312 - file_put_contents($nomeArquivo, $tentativas);  
313 - }  
314 - else {  
315 - file_put_contents($nomeArquivo, 1);  
316 - }  
317 - //verifica se o usuario esta cadastrado no ms_configura.php em $i3geomaster  
318 - //echo "select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and (senha = '$senhamd5' or senha = '$senha') and ativo = 1";exit;  
319 - //exit;  
320 - if(verificaMaster($usuario,$senha) == true){  
321 - //$pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario ",$dbh,false);  
322 - $pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papeis ",$dbh,false);  
323 - $op = pegadados("SELECT O.codigo FROM ".$esquemaadmin."i3geousr_operacoes AS O",$dbh,false);  
324 - $gr = pegadados("SELECT * from ".$esquemaadmin."i3geousr_grupos ",$dbh,false);  
325 - //var_dump($gr);exit;  
326 - $operacoes = array();  
327 - foreach($op as $o){  
328 - $operacoes[$o["codigo"]] = true;  
329 - }  
330 - $papeis = array();  
331 - foreach($pa as $p){  
332 - $papeis[] = $p["id_papel"];  
333 - }  
334 - $gruposusr = array();  
335 - foreach($gr as $p){  
336 - $gruposusr[] = $p["id_grupo"];  
337 - }  
338 - $master = array();  
339 - $master["id_usuario"] = "master";  
340 - $master["nome_usuario"] = "master";  
341 - $r = array("usuario"=>$master,"papeis"=>$papeis,"operacoes"=>$operacoes,"gruposusr"=>$gruposusr);  
342 - $dbh = null;  
343 - $dbhw = null;  
344 - file_put_contents($nomeArquivo, 1);  
345 - return $r;  
346 - }  
347 - else{  
348 - //verifica se a senha e uma string ou pode ser um md5  
349 - $ok = false;  
350 - $dados = array();  
351 - //por causa das versoes antigas do PHP  
352 - if(strlen($senha) == 32 || !function_exists("password_hash") ){  
353 - $dados = pegaDados("select senha,login,id_usuario,nome_usuario from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and senha = '$senhamd5' and ativo = 1",$dbh,false);  
354 - if(count($dados) == 1 && $dados[0]["senha"] == $senhamd5 && $dados[0]["login"] == $usuario){  
355 - $ok = true;  
356 - }  
357 - }  
358 - else{  
359 - $usuarios = pegaDados("select senha,id_usuario,nome_usuario from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and ativo = 1",$dbh,false);  
360 - if (count($usuarios) == 1 && password_verify($senha,$usuarios[0]["senha"])){  
361 - $ok = true;  
362 - $dados[] = array("id_usuario"=>$usuarios[0]["id_usuario"],"nome_usuario"=>$usuarios[0]["nome_usuario"]);  
363 - }  
364 - $usuarios = null;  
365 - }  
366 - if($ok == true){  
367 - $pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario where id_usuario = ".$dados[0]["id_usuario"],$dbh,false);  
368 - $op = pegadados("SELECT O.codigo, PU.id_usuario FROM ".$esquemaadmin."i3geousr_operacoes AS O JOIN ".$esquemaadmin."i3geousr_operacoespapeis AS OP ON O.id_operacao = OP.id_operacao JOIN ".$esquemaadmin."i3geousr_papelusuario AS PU ON OP.id_papel = PU.id_papel WHERE id_usuario = ".$dados[0]["id_usuario"],$dbh,false);  
369 - $gr = pegadados("SELECT * from ".$esquemaadmin."i3geousr_grupousuario where id_usuario = ".$dados[0]["id_usuario"],$dbh,false);  
370 - $operacoes = array();  
371 - foreach($op as $o){  
372 - $operacoes[$o["codigo"]] = true;  
373 - }  
374 - $papeis = array();  
375 - foreach($pa as $p){  
376 - $papeis[] = $p["id_papel"];  
377 - }  
378 - $gruposusr = array();  
379 - foreach($gr as $p){  
380 - $gruposusr[] = $p["id_grupo"];  
381 - }  
382 - $r = array("usuario"=>$dados[0],"papeis"=>$papeis,"operacoes"=>$operacoes,"gruposusr"=>$gruposusr);  
383 - $dbh = null;  
384 - $dbhw = null;  
385 - file_put_contents($nomeArquivo, 1);  
386 - return $r;  
387 - }  
388 - else{  
389 - $dbh = null;  
390 - $dbhw = null;  
391 - return false;  
392 - }  
393 - }  
394 -}  
395 -//  
396 -//faz o logout do usuario destruindo os cookies e session  
397 -//  
398 -function logoutUsuario(){  
399 - $_COOKIE = array();  
400 - $_SESSION = array();  
401 - if(session_status() == PHP_SESSION_ACTIVE){  
402 - session_destroy();  
403 - }  
404 -}  
405 -?>  
admin/php/xxxlogin.php 0 → 100755
@@ -0,0 +1,406 @@ @@ -0,0 +1,406 @@
  1 +<?php
  2 +exit;
  3 +/*
  4 +Title: funcoes_login.php
  5 +
  6 +Controle das requisi&ccedil;&otilde;es em Ajax utilizadas para gerenciar login de usu&aacute;rio e controle de acesso
  7 +
  8 +Recebe as requisi&ccedil;&otilde;es feitas em JavaScript (AJAX) e retorna o resultado para a interface.
  9 +
  10 +O par&acirc;metro "funcao" define qual a opera&ccedil;&atilde;o que ser&aacute; executada. Esse par&acirc;metro &eacute; verificado em um bloco "switch ($funcao)".
  11 +
  12 +Licenca:
  13 +
  14 +GPL2
  15 +
  16 +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  17 +
  18 +Direitos Autorais Reservados (c) 2006 Edmar Moretti
  19 +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  20 +
  21 +Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  22 +e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  23 +GNU conforme publicada pela Free Software Foundation;
  24 +
  25 +Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  26 +por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  27 +de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  28 +Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  29 +Voc&ecirc; deve ter recebido uma copia da Licen&ccedil;a P&uacute;blica Geral do
  30 +GNU junto com este programa; se n&atilde;o, escreva para a
  31 +Free Software Foundation, Inc., no endere&ccedil;o
  32 +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  33 +
  34 +Arquivo:
  35 +
  36 +i3geo/classesphp/funcoes_login.php
  37 +
  38 +Parametros:
  39 +
  40 +funcao - op&ccedil;&atilde;o que ser&aacute; executada (veja abaixo a lista de Valores que esse par&acirc;metro pode assumir).
  41 +
  42 +Retorno:
  43 +
  44 +O resultado da opera&ccedil;&atilde;o ser&aacute; retornado em um objeto CPAINT.
  45 +
  46 +A constru&ccedil;&atilde;o da string JSON &eacute; feita preferencialmente pelas fun&ccedil;&otilde;es nativas do PHP.
  47 +Para efeitos de compatibilidade, uma vez que at&eacute; a vers&atilde;o 4.2 a string JSON era construida pelo CPAINT,
  48 +o objeto CPAINT ainda &eacute; definido, por&eacute;m, a fun&ccedil;&atilde;o cpjson verifica se as fun&ccedil;&otilde;es nativas do PHPO (json)
  49 +est&atilde;o instaladas, se estiverem, utiliza-se a fun&ccedil;&atilde;o nativa, se n&atilde;o, utiliza-se o CPAINT para gerar o JSON.
  50 +
  51 +Exemplo de chamada CPAINT (Ajax) do lado do cliente (javascript):
  52 +
  53 +var p = "classesphp/mapa_controle.php?funcao=crialente&resolucao=1.5&g_sid="+g_sid
  54 +
  55 +var cp = new cpaint()
  56 +
  57 +cp.set_response_type("JSON")
  58 +
  59 +cp.call(p,"lente",ajaxabrelente)
  60 +
  61 +*/
  62 +//error_reporting(0);
  63 +//
  64 +//pega as variaveis passadas com get ou post
  65 +//
  66 +include_once(dirname(__FILE__)."/../safe.php");
  67 +//var_dump($_POST);exit;
  68 +include_once(dirname(__FILE__)."/admin.php");
  69 +
  70 +//verifica se o login pode ser realizado
  71 +if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){
  72 + header ( "HTTP/1.1 403 Login desativado" );
  73 + exit ();
  74 +}
  75 +//$i3geoPermiteLoginIp vem de ms_configura.php
  76 +if(isset($i3geoPermiteLoginIp)){
  77 + checaLoginIp($i3geoPermiteLoginIp);
  78 +}
  79 +
  80 +//error_reporting(0);
  81 +session_write_close();
  82 +session_name("i3GeoLogin");
  83 +//se o usuario estiver tentando fazer login
  84 +if(!empty($_POST["usuario"]) && !empty($_POST["senha"])){
  85 + logoutUsuario();
  86 + session_regenerate_id();
  87 + $_SESSION = array();
  88 + session_start();
  89 + $funcao = "login";
  90 +}
  91 +else{//se nao, verifica se o login ja existe realmente
  92 + if(!empty($_COOKIE["i3geocodigologin"])){
  93 + session_id($_COOKIE["i3geocodigologin"]);
  94 + session_start();
  95 + if($_SESSION["usuario"] != $_COOKIE["i3geousuariologin"]){
  96 + logoutUsuario();
  97 + cpjson("logout");
  98 + }
  99 + }
  100 + else{//caso nao exista, retorna um erro
  101 + logoutUsuario();
  102 + cpjson("erro");
  103 + }
  104 +}
  105 +//var_dump($_SESSION);exit;
  106 +$retorno = "logout"; //string que ser&aacute; retornada ao browser via JSON
  107 +switch (strtoupper($funcao))
  108 +{
  109 + /*
  110 + Valor: LOGIN
  111 +
  112 + Verifica usu&aacute;rio e senha e registra id da sessao que guarda o resultado.
  113 +
  114 + */
  115 + case "LOGIN":
  116 + $usuario = $_POST["usuario"];
  117 + $senha = $_POST["senha"];
  118 + $teste = autenticaUsuario($usuario,$senha);
  119 + if($teste == "muitas tentativas"){
  120 + logoutUsuario();
  121 + header ( "HTTP/1.1 403 Muitas tentativas" );
  122 + exit;
  123 + }
  124 + if($teste != false){
  125 + $_SESSION["usuario"] = $usuario;
  126 + $_SESSION["id_usuario"] = $teste["usuario"]["id_usuario"];
  127 + $_SESSION["senha"] = $senha;
  128 + $_SESSION["papeis"] = $teste["papeis"];
  129 + $_SESSION["operacoes"] = $teste["operacoes"];
  130 + $_SESSION["gruposusr"] = $teste["gruposusr"];
  131 + $fingerprint = 'I3GEOLOGIN' . $_SERVER['HTTP_USER_AGENT'];
  132 + //var_dump($_SESSION["operacoes"]);exit;
  133 + $_SESSION['fingerprint'] = md5($fingerprint . session_id());
  134 + $editor = "nao";
  135 + foreach($_SESSION["papeis"] as $p){
  136 + if($p < 3){
  137 + $editor = "sim";
  138 + }
  139 + }
  140 + $retorno = array("id"=>session_id(),"nome"=>$teste["usuario"]["nome_usuario"],"editor"=>$editor);
  141 + cpjson($retorno);
  142 + }
  143 + else{
  144 + logoutUsuario();
  145 + cpjson("logout");
  146 + }
  147 + break;
  148 + /*
  149 + Valor: VALIDAOPERACAOUSUARIO
  150 +
  151 + Verifica se um usuario pode executar uma operacao
  152 +
  153 + Para que o usuario possa executar a operacao, o papel ao qual ele pertence deve estar registrado em operacoespaeis no banco de administracao
  154 +
  155 + Se $operacao for vazio, e retornado "sim", o que permite que a verificacao apenas confirme que o login esta correto na sessao
  156 +
  157 + Paremeter:
  158 +
  159 + $operacao - operacao que sera verificada
  160 + */
  161 + case "VALIDAOPERACAOSESSAO":
  162 + $retorno = "nao";
  163 + if($_GET["operacao"] == ""){
  164 + $retorno = "sim";
  165 + }
  166 + else{
  167 + if(verificaOperacaoSessao($_GET["operacao"]) == true){
  168 + $retorno = "sim";
  169 + }
  170 + else{
  171 + //logoutUsuario();
  172 + $retorno = "naopermitido";
  173 + }
  174 + }
  175 + cpjson($retorno);
  176 + break;
  177 + /*
  178 + Valor: RECUPERARSENHA
  179 +
  180 + Cria uma nova senha para um usuario enviando-a por e-mailo
  181 +
  182 + Paremeter:
  183 +
  184 + $usuario
  185 + */
  186 + case "RECUPERARSENHA":
  187 + $retorno = false;
  188 + if(!empty($_POST["usuario"])){
  189 + $retorno = recuperarSenha($_POST["usuario"]);
  190 + }
  191 + cpjson($retorno);
  192 + break;
  193 + /*
  194 + Valor: ALTERARSENHA
  195 +
  196 + Altera a senha de um usuario
  197 +
  198 + Paremeter:
  199 +
  200 + $usuario
  201 +
  202 + $novasenha
  203 + */
  204 + case "ALTERARSENHA":
  205 + $retorno = false;
  206 + if(!empty($_POST["usuario"])){
  207 + $retorno = alterarSenha($_POST["usuario"],$_POST["novaSenha"]);
  208 + }
  209 + cpjson($retorno);
  210 + break;
  211 +}
  212 +function alterarSenha($usuario,$novaSenha){
  213 + include(dirname(__FILE__)."/conexao.php");
  214 + $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where senha = '".md5($_SESSION["senha"])."' and login = '$usuario' and ativo = 1",$locaplic);
  215 + if(count($dados) > 0){
  216 + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='".md5($novaSenha)."' WHERE login = '$usuario'");
  217 + $_SESSION["senha"] = $novaSenha;
  218 + $to = $dados[0]["email"];
  219 + $subject = 'nova senha i3geo';
  220 + $message = "Sua senha foi alterada";
  221 + mail($to, $subject, $message);
  222 + return true;
  223 + }
  224 + else{
  225 + return false;
  226 + }
  227 +}
  228 +function recuperarSenha($usuario){
  229 + include(dirname(__FILE__)."/conexao.php");
  230 + $novaSenha = rand(9000,1000000);
  231 + $dados = pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and ativo = 1",$locaplic);
  232 + if(count($dados) > 0){
  233 + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='".md5($novaSenha)."' WHERE login = '$usuario'");
  234 + $to = $dados[0]["email"];
  235 + $subject = 'nova senha i3geo';
  236 + $message = $novaSenha;
  237 + mail($to, $subject, $message);
  238 + return true;
  239 + }
  240 + else{
  241 + return false;
  242 + }
  243 +}
  244 +//
  245 +//verifica se um determinado papel esta registrado na variavel SESSION
  246 +//
  247 +function verificaPapelSessao($id_papel){
  248 + $resultado = false;
  249 + if(validaSessao()){
  250 + foreach($_SESSION["papeis"] as $p){
  251 + if($p["id_papel"] == 1 || $p["id_papel"] == $id_papel){
  252 + return true;
  253 + }
  254 + }
  255 + }
  256 + return $resultado;
  257 +}
  258 +//
  259 +//verifica se uma determinada operacao esta registrada na variavel SESSION
  260 +//
  261 +function verificaOperacaoSessao($operacao){
  262 + $resultado = false;
  263 + //a validacao consulta $_SESSION, que e definida no login
  264 + if(validaSessao()){
  265 + //verifica se e administrador, caso positivo, permite qq operacao
  266 + foreach($_SESSION["papeis"] as $p){
  267 + if($p == 1){
  268 + return true;
  269 + }
  270 + }
  271 + if(!empty($_SESSION["operacoes"][$operacao])){
  272 + $resultado = true;
  273 + }
  274 + }
  275 + return $resultado;
  276 +}
  277 +//
  278 +//verifica se o usuario esta logado
  279 +//
  280 +function validaSessao(){
  281 + $fingerprint = 'I3GEOLOGIN' . $_SERVER['HTTP_USER_AGENT'];
  282 + if($_SESSION['fingerprint'] != md5($fingerprint . session_id())){
  283 + return false;
  284 + }
  285 + if($_SESSION["usuario"] != $_COOKIE["i3geousuariologin"]){
  286 + return false;
  287 + }
  288 + return true;
  289 +}
  290 +//
  291 +//faz a autenticacao de um usuario baseado no login e senha
  292 +//registra as operacoes, papeis e grupos do usuario na SESSION
  293 +//
  294 +function autenticaUsuario($usuario,$senha){
  295 + include(dirname(__FILE__)."/conexao.php");
  296 + error_reporting(0);
  297 + $senhamd5 = md5($senha);
  298 + if(function_exists("password_hash")){
  299 + $senhaHash = password_hash($senha, PASSWORD_DEFAULT);
  300 + }
  301 +
  302 + //faz um teste de tentativas de acesso
  303 + $nomeArquivo = $dir_tmp."/a".md5($usuario."testeTentativas").intval(time() / 1000);
  304 + if(!file_exists($dir_tmp)){
  305 + return false;
  306 + }
  307 + if(file_exists($nomeArquivo)){
  308 + $tentativas = (int) file_get_contents($nomeArquivo);
  309 + if($tentativas > 3){
  310 + return "muitas tentativas";
  311 + }
  312 + $tentativas = $tentativas + 1;
  313 + file_put_contents($nomeArquivo, $tentativas);
  314 + }
  315 + else {
  316 + file_put_contents($nomeArquivo, 1);
  317 + }
  318 + //verifica se o usuario esta cadastrado no ms_configura.php em $i3geomaster
  319 + //echo "select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and (senha = '$senhamd5' or senha = '$senha') and ativo = 1";exit;
  320 + //exit;
  321 + if(verificaMaster($usuario,$senha) == true){
  322 + //$pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario ",$dbh,false);
  323 + $pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papeis ",$dbh,false);
  324 + $op = pegadados("SELECT O.codigo FROM ".$esquemaadmin."i3geousr_operacoes AS O",$dbh,false);
  325 + $gr = pegadados("SELECT * from ".$esquemaadmin."i3geousr_grupos ",$dbh,false);
  326 + //var_dump($gr);exit;
  327 + $operacoes = array();
  328 + foreach($op as $o){
  329 + $operacoes[$o["codigo"]] = true;
  330 + }
  331 + $papeis = array();
  332 + foreach($pa as $p){
  333 + $papeis[] = $p["id_papel"];
  334 + }
  335 + $gruposusr = array();
  336 + foreach($gr as $p){
  337 + $gruposusr[] = $p["id_grupo"];
  338 + }
  339 + $master = array();
  340 + $master["id_usuario"] = "master";
  341 + $master["nome_usuario"] = "master";
  342 + $r = array("usuario"=>$master,"papeis"=>$papeis,"operacoes"=>$operacoes,"gruposusr"=>$gruposusr);
  343 + $dbh = null;
  344 + $dbhw = null;
  345 + file_put_contents($nomeArquivo, 1);
  346 + return $r;
  347 + }
  348 + else{
  349 + //verifica se a senha e uma string ou pode ser um md5
  350 + $ok = false;
  351 + $dados = array();
  352 + //por causa das versoes antigas do PHP
  353 + if(strlen($senha) == 32 || !function_exists("password_hash") ){
  354 + $dados = pegaDados("select senha,login,id_usuario,nome_usuario from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and senha = '$senhamd5' and ativo = 1",$dbh,false);
  355 + if(count($dados) == 1 && $dados[0]["senha"] == $senhamd5 && $dados[0]["login"] == $usuario){
  356 + $ok = true;
  357 + }
  358 + }
  359 + else{
  360 + $usuarios = pegaDados("select senha,id_usuario,nome_usuario from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and ativo = 1",$dbh,false);
  361 + if (count($usuarios) == 1 && password_verify($senha,$usuarios[0]["senha"])){
  362 + $ok = true;
  363 + $dados[] = array("id_usuario"=>$usuarios[0]["id_usuario"],"nome_usuario"=>$usuarios[0]["nome_usuario"]);
  364 + }
  365 + $usuarios = null;
  366 + }
  367 + if($ok == true){
  368 + $pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario where id_usuario = ".$dados[0]["id_usuario"],$dbh,false);
  369 + $op = pegadados("SELECT O.codigo, PU.id_usuario FROM ".$esquemaadmin."i3geousr_operacoes AS O JOIN ".$esquemaadmin."i3geousr_operacoespapeis AS OP ON O.id_operacao = OP.id_operacao JOIN ".$esquemaadmin."i3geousr_papelusuario AS PU ON OP.id_papel = PU.id_papel WHERE id_usuario = ".$dados[0]["id_usuario"],$dbh,false);
  370 + $gr = pegadados("SELECT * from ".$esquemaadmin."i3geousr_grupousuario where id_usuario = ".$dados[0]["id_usuario"],$dbh,false);
  371 + $operacoes = array();
  372 + foreach($op as $o){
  373 + $operacoes[$o["codigo"]] = true;
  374 + }
  375 + $papeis = array();
  376 + foreach($pa as $p){
  377 + $papeis[] = $p["id_papel"];
  378 + }
  379 + $gruposusr = array();
  380 + foreach($gr as $p){
  381 + $gruposusr[] = $p["id_grupo"];
  382 + }
  383 + $r = array("usuario"=>$dados[0],"papeis"=>$papeis,"operacoes"=>$operacoes,"gruposusr"=>$gruposusr);
  384 + $dbh = null;
  385 + $dbhw = null;
  386 + file_put_contents($nomeArquivo, 1);
  387 + return $r;
  388 + }
  389 + else{
  390 + $dbh = null;
  391 + $dbhw = null;
  392 + return false;
  393 + }
  394 + }
  395 +}
  396 +//
  397 +//faz o logout do usuario destruindo os cookies e session
  398 +//
  399 +function logoutUsuario(){
  400 + $_COOKIE = array();
  401 + $_SESSION = array();
  402 + if(session_status() == PHP_SESSION_ACTIVE){
  403 + session_destroy();
  404 + }
  405 +}
  406 +?>
admin1/php/funcoesAdmin.php
@@ -439,7 +439,7 @@ senha {string} @@ -439,7 +439,7 @@ senha {string}
439 i3geomaster {array} - vari&aacute;vel existente no ms_configura.php com o cadastro de usu&aacute;rios masters 439 i3geomaster {array} - vari&aacute;vel existente no ms_configura.php com o cadastro de usu&aacute;rios masters
440 */ 440 */
441 function verificaMaster($usuario,$senha,$i3geomaster){ 441 function verificaMaster($usuario,$senha,$i3geomaster){
442 - foreach($i3geomaster as $teste){ 442 + foreach($i3geomaster as $teste){
443 if(!empty($usuario) && !empty($senha) && $teste["usuario"] == $usuario && $teste["senha"] == $senha){ 443 if(!empty($usuario) && !empty($senha) && $teste["usuario"] == $usuario && $teste["senha"] == $senha){
444 return true; 444 return true;
445 } 445 }
admin1/php/login.php 0 → 100755
@@ -0,0 +1,366 @@ @@ -0,0 +1,366 @@
  1 +<?php
  2 +include(dirname(__FILE__)."/../../ms_configura.php");
  3 +include(dirname(__FILE__)."/funcoesAdmin.php");
  4 +//verifica se o login pode ser realizado
  5 +if ($i3geoPermiteLogin == false) {
  6 + header ( "HTTP/1.1 403 Login desativado" );
  7 + exit ();
  8 +}
  9 +// checa a lista branca de IPs
  10 +if (! empty ( $i3geoPermiteLoginIp )) {
  11 + $ipaddress = '';
  12 + if (getenv ( 'HTTP_CLIENT_IP' ))
  13 + $ipaddress = getenv ( 'HTTP_CLIENT_IP' );
  14 + else if (getenv ( 'HTTP_X_FORWARDED_FOR' ))
  15 + $ipaddress = getenv ( 'HTTP_X_FORWARDED_FOR' );
  16 + else if (getenv ( 'HTTP_X_FORWARDED' ))
  17 + $ipaddress = getenv ( 'HTTP_X_FORWARDED' );
  18 + else if (getenv ( 'HTTP_FORWARDED_FOR' ))
  19 + $ipaddress = getenv ( 'HTTP_FORWARDED_FOR' );
  20 + else if (getenv ( 'HTTP_FORWARDED' ))
  21 + $ipaddress = getenv ( 'HTTP_FORWARDED' );
  22 + else if (getenv ( 'REMOTE_ADDR' ))
  23 + $ipaddress = getenv ( 'REMOTE_ADDR' );
  24 + else
  25 + $ipaddress = 'UNKNOWN';
  26 + if (! in_array ( $ipaddress, $i3geoPermiteLoginIp )) {
  27 + header ( "HTTP/1.1 403 Login nao permitido para o ip" );
  28 + exit ();
  29 + }
  30 +}
  31 +if(!function_exists("cpjson")){
  32 + include(dirname(__FILE__)."/../../classesphp/funcoes_gerais.php");
  33 +}
  34 +//error_reporting(0);
  35 +session_write_close();
  36 +session_name("i3GeoLogin");
  37 +//se o usuario estiver tentando fazer login
  38 +include_once (dirname(__FILE__)."/../../classesphp/sani_request.php");
  39 +
  40 +if(!empty($_POST["usuario"]) && !empty($_POST["senha"])){
  41 + logoutUsuario();
  42 + session_regenerate_id();
  43 + $_SESSION = array();
  44 + session_start();
  45 + $funcao = "login";
  46 + $_SESSION["locaplic"] = $locaplic;
  47 + $_SESSION["conexaoadmin"] = $conexaoadmin;
  48 +}
  49 +else{//se nao, verifica se o login ja existe realmente
  50 + if(!empty($_COOKIE["i3geocodigologin"])){
  51 + session_id($_COOKIE["i3geocodigologin"]);
  52 + session_start();
  53 + if($_SESSION["usuario"] != $_COOKIE["i3geousuariologin"]){
  54 + logoutUsuario();
  55 + cpjson("logout");
  56 + }
  57 + }
  58 + else{//caso nao exista, retorna um erro
  59 + logoutUsuario();
  60 + cpjson("erro");
  61 + }
  62 +}
  63 +
  64 +//var_dump($_SESSION);exit;
  65 +$retorno = "logout"; //string que ser&aacute; retornada ao browser via JSON
  66 +switch (strtoupper($funcao))
  67 +{
  68 + /*
  69 + Valor: LOGIN
  70 +
  71 + Verifica usu&aacute;rio e senha e registra id da sessao que guarda o resultado.
  72 +
  73 + */
  74 + case "LOGIN":
  75 + $usuario = $_POST["usuario"];
  76 + $senha = $_POST["senha"];
  77 + $teste = autenticaUsuario($usuario,$senha,$dir_tmp,$i3geomaster);
  78 + if($teste == "muitas tentativas"){
  79 + logoutUsuario();
  80 + header ( "HTTP/1.1 403 Muitas tentativas" );
  81 + exit;
  82 + }
  83 + if($teste != false){
  84 + $_SESSION["usuario"] = $usuario;
  85 + $_SESSION["id_usuario"] = $teste["usuario"]["id_usuario"];
  86 + $_SESSION["senha"] = $senha;
  87 + $_SESSION["papeis"] = $teste["papeis"];
  88 + $_SESSION["operacoes"] = $teste["operacoes"];
  89 + $_SESSION["gruposusr"] = $teste["gruposusr"];
  90 + $fingerprint = 'I3GEOLOGIN' . $_SERVER['HTTP_USER_AGENT'];
  91 + //var_dump($_SESSION["operacoes"]);exit;
  92 + $_SESSION['fingerprint'] = md5($fingerprint . session_id());
  93 + $editor = "nao";
  94 + foreach($_SESSION["papeis"] as $p){
  95 + if($p < 3){
  96 + $editor = "sim";
  97 + }
  98 + }
  99 + $retorno = array("id"=>session_id(),"nome"=>$teste["usuario"]["nome_usuario"],"editor"=>$editor);
  100 + cpjson($retorno);
  101 + }
  102 + else{
  103 + logoutUsuario();
  104 + cpjson("logout");
  105 + }
  106 + break;
  107 + /*
  108 + Valor: VALIDAOPERACAOUSUARIO
  109 +
  110 + Verifica se um usuario pode executar uma operacao
  111 +
  112 + Para que o usuario possa executar a operacao, o papel ao qual ele pertence deve estar registrado em operacoespaeis no banco de administracao
  113 +
  114 + Se $operacao for vazio, e retornado "sim", o que permite que a verificacao apenas confirme que o login esta correto na sessao
  115 +
  116 + Paremeter:
  117 +
  118 + $operacao - operacao que sera verificada
  119 + */
  120 + case "VALIDAOPERACAOSESSAO":
  121 + $retorno = "nao";
  122 + if($_GET["operacao"] == ""){
  123 + $retorno = "sim";
  124 + }
  125 + else{
  126 + if(verificaOperacaoSessao($_GET["operacao"]) == true){
  127 + $retorno = "sim";
  128 + }
  129 + else{
  130 + //logoutUsuario();
  131 + $retorno = "naopermitido";
  132 + }
  133 + }
  134 + cpjson($retorno);
  135 + break;
  136 + /*
  137 + Valor: RECUPERARSENHA
  138 +
  139 + Cria uma nova senha para um usuario enviando-a por e-mailo
  140 +
  141 + Paremeter:
  142 +
  143 + $usuario
  144 + */
  145 + case "RECUPERARSENHA":
  146 + $retorno = false;
  147 + if(!empty($_POST["usuario"])){
  148 + $retorno = recuperarSenha($_POST["usuario"]);
  149 + }
  150 + cpjson($retorno);
  151 + break;
  152 + /*
  153 + Valor: ALTERARSENHA
  154 +
  155 + Altera a senha de um usuario
  156 +
  157 + Paremeter:
  158 +
  159 + $usuario
  160 +
  161 + $novasenha
  162 + */
  163 + case "ALTERARSENHA":
  164 + $retorno = false;
  165 + if(!empty($_POST["usuario"])){
  166 + $retorno = alterarSenha($_POST["usuario"],$_POST["novaSenha"]);
  167 + }
  168 + cpjson($retorno);
  169 + break;
  170 +}
  171 +function alterarSenha($usuario,$novaSenha){
  172 + include(dirname(__FILE__)."/conexao.php");
  173 + $dados = \admin\php\funcoesAdmin\pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where senha = '".md5($_SESSION["senha"])."' and login = '$usuario' and ativo = 1",$locaplic);
  174 + if(count($dados) > 0){
  175 + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='".md5($novaSenha)."' WHERE login = '$usuario'");
  176 + $_SESSION["senha"] = $novaSenha;
  177 + $to = $dados[0]["email"];
  178 + $subject = 'nova senha i3geo';
  179 + $message = "Sua senha foi alterada";
  180 + mail($to, $subject, $message);
  181 + return true;
  182 + }
  183 + else{
  184 + return false;
  185 + }
  186 +}
  187 +function recuperarSenha($usuario){
  188 + include(dirname(__FILE__)."/conexao.php");
  189 + $novaSenha = rand(9000,1000000);
  190 + $dados = \admin\php\funcoesAdmin\pegaDados("select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and ativo = 1",$locaplic);
  191 + if(count($dados) > 0){
  192 + $dbhw->query("UPDATE ".$esquemaadmin."i3geousr_usuarios SET senha='".md5($novaSenha)."' WHERE login = '$usuario'");
  193 + $to = $dados[0]["email"];
  194 + $subject = 'nova senha i3geo';
  195 + $message = $novaSenha;
  196 + mail($to, $subject, $message);
  197 + return true;
  198 + }
  199 + else{
  200 + return false;
  201 + }
  202 +}
  203 +//
  204 +//verifica se um determinado papel esta registrado na variavel SESSION
  205 +//
  206 +function verificaPapelSessao($id_papel){
  207 + $resultado = false;
  208 + if(validaSessao()){
  209 + foreach($_SESSION["papeis"] as $p){
  210 + if($p["id_papel"] == 1 || $p["id_papel"] == $id_papel){
  211 + return true;
  212 + }
  213 + }
  214 + }
  215 + return $resultado;
  216 +}
  217 +//
  218 +//verifica se uma determinada operacao esta registrada na variavel SESSION
  219 +//
  220 +function verificaOperacaoSessao($operacao){
  221 + $resultado = false;
  222 + //a validacao consulta $_SESSION, que e definida no login
  223 + if(validaSessao()){
  224 + //verifica se e administrador, caso positivo, permite qq operacao
  225 + foreach($_SESSION["papeis"] as $p){
  226 + if($p == 1){
  227 + return true;
  228 + }
  229 + }
  230 + if(!empty($_SESSION["operacoes"][$operacao])){
  231 + $resultado = true;
  232 + }
  233 + }
  234 + return $resultado;
  235 +}
  236 +//
  237 +//verifica se o usuario esta logado
  238 +//
  239 +function validaSessao(){
  240 + $fingerprint = 'I3GEOLOGIN' . $_SERVER['HTTP_USER_AGENT'];
  241 + if($_SESSION['fingerprint'] != md5($fingerprint . session_id())){
  242 + return false;
  243 + }
  244 + if($_SESSION["usuario"] != $_COOKIE["i3geousuariologin"]){
  245 + return false;
  246 + }
  247 + return true;
  248 +}
  249 +//
  250 +//faz a autenticacao de um usuario baseado no login e senha
  251 +//registra as operacoes, papeis e grupos do usuario na SESSION
  252 +//
  253 +function autenticaUsuario($usuario,$senha,$dir_tmp,$i3geomaster){
  254 + include(dirname(__FILE__)."/conexao.php");
  255 + error_reporting(0);
  256 + $senhamd5 = md5($senha);
  257 + if(function_exists("password_hash")){
  258 + $senhaHash = password_hash($senha, PASSWORD_DEFAULT);
  259 + }
  260 +
  261 + //faz um teste de tentativas de acesso
  262 + $nomeArquivo = $dir_tmp."/a".md5($usuario."testeTentativas").intval(time() / 1000);
  263 + if(!file_exists($dir_tmp)){
  264 + return false;
  265 + }
  266 + if(file_exists($nomeArquivo)){
  267 + $tentativas = (int) file_get_contents($nomeArquivo);
  268 + if($tentativas > 3){
  269 + return "muitas tentativas";
  270 + }
  271 + $tentativas = $tentativas + 1;
  272 + file_put_contents($nomeArquivo, $tentativas);
  273 + }
  274 + else {
  275 + file_put_contents($nomeArquivo, 1);
  276 + }
  277 +
  278 + //verifica se o usuario esta cadastrado no ms_configura.php em $i3geomaster
  279 + //echo "select * from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and (senha = '$senhamd5' or senha = '$senha') and ativo = 1";exit;
  280 + //exit;
  281 + if(\admin\php\funcoesAdmin\verificaMaster($usuario,$senha,$i3geomaster) == true){
  282 + //$pa = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario ",$dbh,false);
  283 + $pa = \admin\php\funcoesAdmin\pegaDados("select * from ".$esquemaadmin."i3geousr_papeis ",$dbh,false);
  284 + $op = \admin\php\funcoesAdmin\pegadados("SELECT O.codigo FROM ".$esquemaadmin."i3geousr_operacoes AS O",$dbh,false);
  285 + $gr = \admin\php\funcoesAdmin\pegadados("SELECT * from ".$esquemaadmin."i3geousr_grupos ",$dbh,false);
  286 + //var_dump($gr);exit;
  287 + $operacoes = array();
  288 + foreach($op as $o){
  289 + $operacoes[$o["codigo"]] = true;
  290 + }
  291 + $papeis = array();
  292 + foreach($pa as $p){
  293 + $papeis[] = $p["id_papel"];
  294 + }
  295 + $gruposusr = array();
  296 + foreach($gr as $p){
  297 + $gruposusr[] = $p["id_grupo"];
  298 + }
  299 + $master = array();
  300 + $master["id_usuario"] = "master";
  301 + $master["nome_usuario"] = "master";
  302 + $r = array("usuario"=>$master,"papeis"=>$papeis,"operacoes"=>$operacoes,"gruposusr"=>$gruposusr);
  303 + $dbh = null;
  304 + $dbhw = null;
  305 + file_put_contents($nomeArquivo, 1);
  306 + return $r;
  307 + }
  308 + else{
  309 + //verifica se a senha e uma string ou pode ser um md5
  310 + $ok = false;
  311 + $dados = array();
  312 + //por causa das versoes antigas do PHP
  313 + if(strlen($senha) == 32 || !function_exists("password_hash") ){
  314 + $dados = \admin\php\funcoesAdmin\pegaDados("select senha,login,id_usuario,nome_usuario from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and senha = '$senhamd5' and ativo = 1",$dbh,false);
  315 + if(count($dados) == 1 && $dados[0]["senha"] == $senhamd5 && $dados[0]["login"] == $usuario){
  316 + $ok = true;
  317 + }
  318 + }
  319 + else{
  320 + $usuarios = \admin\php\funcoesAdmin\pegaDados("select senha,id_usuario,nome_usuario from ".$esquemaadmin."i3geousr_usuarios where login = '$usuario' and ativo = 1",$dbh,false);
  321 + if (count($usuarios) == 1 && password_verify($senha,$usuarios[0]["senha"])){
  322 + $ok = true;
  323 + $dados[] = array("id_usuario"=>$usuarios[0]["id_usuario"],"nome_usuario"=>$usuarios[0]["nome_usuario"]);
  324 + }
  325 + $usuarios = null;
  326 + }
  327 + if($ok == true){
  328 + $pa = \admin\php\funcoesAdmin\pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario where id_usuario = ".$dados[0]["id_usuario"],$dbh,false);
  329 + $op = \admin\php\funcoesAdmin\pegadados("SELECT O.codigo, PU.id_usuario FROM ".$esquemaadmin."i3geousr_operacoes AS O JOIN ".$esquemaadmin."i3geousr_operacoespapeis AS OP ON O.id_operacao = OP.id_operacao JOIN ".$esquemaadmin."i3geousr_papelusuario AS PU ON OP.id_papel = PU.id_papel WHERE id_usuario = ".$dados[0]["id_usuario"],$dbh,false);
  330 + $gr = \admin\php\funcoesAdmin\pegadados("SELECT * from ".$esquemaadmin."i3geousr_grupousuario where id_usuario = ".$dados[0]["id_usuario"],$dbh,false);
  331 + $operacoes = array();
  332 + foreach($op as $o){
  333 + $operacoes[$o["codigo"]] = true;
  334 + }
  335 + $papeis = array();
  336 + foreach($pa as $p){
  337 + $papeis[] = $p["id_papel"];
  338 + }
  339 + $gruposusr = array();
  340 + foreach($gr as $p){
  341 + $gruposusr[] = $p["id_grupo"];
  342 + }
  343 + $r = array("usuario"=>$dados[0],"papeis"=>$papeis,"operacoes"=>$operacoes,"gruposusr"=>$gruposusr);
  344 + $dbh = null;
  345 + $dbhw = null;
  346 + file_put_contents($nomeArquivo, 1);
  347 + return $r;
  348 + }
  349 + else{
  350 + $dbh = null;
  351 + $dbhw = null;
  352 + return false;
  353 + }
  354 + }
  355 +}
  356 +//
  357 +//faz o logout do usuario destruindo os cookies e session
  358 +//
  359 +function logoutUsuario(){
  360 + $_COOKIE = array();
  361 + $_SESSION = array();
  362 + if(session_status() == PHP_SESSION_ACTIVE){
  363 + session_destroy();
  364 + }
  365 +}
  366 +?>
classesphp/funcoes_gerais.php
@@ -2716,7 +2716,7 @@ Return: @@ -2716,7 +2716,7 @@ Return:
2716 */ 2716 */
2717 function verificaPapelUsuario($id_papel) 2717 function verificaPapelUsuario($id_papel)
2718 { 2718 {
2719 - include_once(dirname(__FILE__)."/../admin/php/login.php"); 2719 + include_once(dirname(__FILE__)."/../admin1/php/login.php");
2720 $r = verificaPapelSessao($id_papel); 2720 $r = verificaPapelSessao($id_papel);
2721 return $r; 2721 return $r;
2722 } 2722 }
@@ -2838,7 +2838,7 @@ $salva - salva o mapfile com os layers removidos ou nao @@ -2838,7 +2838,7 @@ $salva - salva o mapfile com os layers removidos ou nao
2838 Retorno: boolean indicando se o mapfile contem layers indevidos 2838 Retorno: boolean indicando se o mapfile contem layers indevidos
2839 */ 2839 */
2840 function validaAcessoTemas($map_file,$salva = true){ 2840 function validaAcessoTemas($map_file,$salva = true){
2841 - //error_reporting(0); 2841 + //error_reporting(E_ALL);
2842 $indevidos = listaLayersIndevidos($map_file); 2842 $indevidos = listaLayersIndevidos($map_file);
2843 $existeIndevidos = false; 2843 $existeIndevidos = false;
2844 if(count($indevidos) > 0){ 2844 if(count($indevidos) > 0){
@@ -3034,7 +3034,7 @@ function restauraMapaAdmin($id_mapa,$dir_tmp){ @@ -3034,7 +3034,7 @@ function restauraMapaAdmin($id_mapa,$dir_tmp){
3034 if (filter_var($id_mapa, FILTER_VALIDATE_INT) === false){ 3034 if (filter_var($id_mapa, FILTER_VALIDATE_INT) === false){
3035 exit; 3035 exit;
3036 } 3036 }
3037 - include(dirname(__FILE__)."/classesphp/conexao.php"); 3037 + include(dirname(__FILE__)."/conexao.php");
3038 if(!empty($esquemaadmin)){ 3038 if(!empty($esquemaadmin)){
3039 $esquemaadmin = str_replace(".","",$esquemaadmin)."."; 3039 $esquemaadmin = str_replace(".","",$esquemaadmin).".";
3040 } 3040 }
@@ -3120,7 +3120,7 @@ Array originada de fetchAll @@ -3120,7 +3120,7 @@ Array originada de fetchAll
3120 function pegaDadosAdminKey($sql,$subsEsquema){ 3120 function pegaDadosAdminKey($sql,$subsEsquema){
3121 //pegaDadosAdminKey("select codigo_tema,link_tema from __esq__i3geoadmin_temas","__esq__"); 3121 //pegaDadosAdminKey("select codigo_tema,link_tema from __esq__i3geoadmin_temas","__esq__");
3122 $resultado = array(); 3122 $resultado = array();
3123 - include(dirname(__FILE__)."/classesphp/conexao.php"); 3123 + include(dirname(__FILE__)."/conexao.php");
3124 $sql = str_replace($subsEsquema,$esquemaadmin,$sql); 3124 $sql = str_replace($subsEsquema,$esquemaadmin,$sql);
3125 //error_reporting(0); 3125 //error_reporting(0);
3126 $q = $dbh->query($sql,PDO::FETCH_ASSOC); 3126 $q = $dbh->query($sql,PDO::FETCH_ASSOC);
classesphp/mapa_controle.php
@@ -227,7 +227,9 @@ if($funcao == &quot;criaMapa&quot;){ @@ -227,7 +227,9 @@ if($funcao == &quot;criaMapa&quot;){
227 //chdir($locaplic); 227 //chdir($locaplic);
228 $interfaceTemp = $interface; 228 $interfaceTemp = $interface;
229 $interface = "mashup"; 229 $interface = "mashup";
  230 +
230 include_once(dirname(__FILE__)."/../ms_criamapa.php"); 231 include_once(dirname(__FILE__)."/../ms_criamapa.php");
  232 +
231 $_SESSION["interface"] = $interfaceTemp; 233 $_SESSION["interface"] = $interfaceTemp;
232 $temp = $_SESSION["map_file"]; 234 $temp = $_SESSION["map_file"];
233 $id = session_id(); 235 $id = session_id();
classesphp/sani_request.php
@@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
2 if (basename(__FILE__) == basename($_SERVER['SCRIPT_FILENAME'])){ 2 if (basename(__FILE__) == basename($_SERVER['SCRIPT_FILENAME'])){
3 exit; 3 exit;
4 } 4 }
  5 +
5 //error_reporting(0); 6 //error_reporting(0);
6 $bl = array("exec ","exec(","password","select","_decode","passthru","shell_exec","escapeshellarg","escapeshellcmd","proc_close","proc_open","dl","popen","contents","delete","drop","update","insert","system",";"); 7 $bl = array("exec ","exec(","password","select","_decode","passthru","shell_exec","escapeshellarg","escapeshellcmd","proc_close","proc_open","dl","popen","contents","delete","drop","update","insert","system",";");
7 if (isset($_GET)){ 8 if (isset($_GET)){
css/i3geo7.css.php 100644 → 100755
ferramentas/animagif/manutencao.php
1 <?php 1 <?php
2 -include_once(dirname(__FILE__)."/../../admin/php/login.php"); 2 +include_once(dirname(__FILE__)."/../../admin1/php/login.php");
3 include("../blacklist.php"); 3 include("../blacklist.php");
4 verificaBlFerramentas(basename(dirname(__FILE__)),$i3geoBlFerramentas,false); 4 verificaBlFerramentas(basename(dirname(__FILE__)),$i3geoBlFerramentas,false);
5 $funcoesEdicao = array( 5 $funcoesEdicao = array(
ferramentas/editorgm/editorgm_compacto.js 100644 → 100755
ferramentas/editorol/editorol_compacto.js 100644 → 100755
ferramentas/editortema/exec.php
@@ -25,7 +25,7 @@ Free Software Foundation, Inc., no endere&amp;ccedil;o @@ -25,7 +25,7 @@ Free Software Foundation, Inc., no endere&amp;ccedil;o
25 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. 25 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
26 26
27 */ 27 */
28 -include_once(dirname(__FILE__)."/../../admin/php/login.php"); 28 +include_once(dirname(__FILE__)."/../../admin1/php/login.php");
29 29
30 include(dirname(__FILE__)."/../blacklist.php"); 30 include(dirname(__FILE__)."/../blacklist.php");
31 verificaBlFerramentas(basename(dirname(__FILE__)),$i3geoBlFerramentas,false); 31 verificaBlFerramentas(basename(dirname(__FILE__)),$i3geoBlFerramentas,false);
ferramentas/loginusuario/index.js
@@ -225,7 +225,7 @@ i3GEOF.loginusuario = { @@ -225,7 +225,7 @@ i3GEOF.loginusuario = {
225 } 225 }
226 } 226 }
227 }; 227 };
228 - p = i3GEO.configura.locaplic+"/admin/php/login.php?funcao=login"; 228 + p = i3GEO.configura.locaplic+"/admin1/php/login.php?funcao=login";
229 cp = new cpaint(); 229 cp = new cpaint();
230 cp.set_transfer_mode("POST"); 230 cp.set_transfer_mode("POST");
231 cp.set_response_type("JSON"); 231 cp.set_response_type("JSON");
@@ -246,7 +246,7 @@ i3GEOF.loginusuario = { @@ -246,7 +246,7 @@ i3GEOF.loginusuario = {
246 alert($trad("x31")); 246 alert($trad("x31"));
247 } 247 }
248 }; 248 };
249 - p = i3GEO.configura.locaplic+"/admin/php/login.php?funcao=recuperarSenha"; 249 + p = i3GEO.configura.locaplic+"/admin1/php/login.php?funcao=recuperarSenha";
250 cp = new cpaint(); 250 cp = new cpaint();
251 cp.set_transfer_mode("POST"); 251 cp.set_transfer_mode("POST");
252 cp.set_response_type("JSON"); 252 cp.set_response_type("JSON");
@@ -269,7 +269,7 @@ i3GEOF.loginusuario = { @@ -269,7 +269,7 @@ i3GEOF.loginusuario = {
269 } 269 }
270 }; 270 };
271 if(novaSenha != ""){ 271 if(novaSenha != ""){
272 - p = i3GEO.configura.locaplic+"/admin/php/login.php?funcao=alterarSenha"; 272 + p = i3GEO.configura.locaplic+"/admin1/php/login.php?funcao=alterarSenha";
273 cp = new cpaint(); 273 cp = new cpaint();
274 cp.set_transfer_mode("POST"); 274 cp.set_transfer_mode("POST");
275 cp.set_response_type("JSON"); 275 cp.set_response_type("JSON");
ferramentas/metaestat/templates/lib/dadosmapa.php
@@ -44,7 +44,7 @@ function dadosmapa($loc=&quot;&quot;){ @@ -44,7 +44,7 @@ function dadosmapa($loc=&quot;&quot;){
44 exit; 44 exit;
45 } 45 }
46 if($dadosmapa["publicado"] == "NAO"){ 46 if($dadosmapa["publicado"] == "NAO"){
47 - include($loc."/admin/php/login.php"); 47 + include($loc."/admin1/php/login.php");
48 if(verificaOperacaoSessao("admin/metaestat/geral") == false){ 48 if(verificaOperacaoSessao("admin/metaestat/geral") == false){
49 echo "O mapa nao esta marcado como publicado e vc nao fez login ou nao tem permissao"; 49 echo "O mapa nao esta marcado como publicado e vc nao fez login ou nao tem permissao";
50 exit; 50 exit;
ferramentas/navegapostgis/exec.php
1 <?php 1 <?php
2 -include_once(dirname(__FILE__)."/../../admin/php/login.php"); 2 +include_once(dirname(__FILE__)."/../../admin1/php/login.php");
3 include("../../ms_configura.php"); 3 include("../../ms_configura.php");
4 include("../blacklist.php"); 4 include("../blacklist.php");
5 verificaBlFerramentas(basename(dirname(__FILE__)),$i3geoBlFerramentas,false); 5 verificaBlFerramentas(basename(dirname(__FILE__)),$i3geoBlFerramentas,false);
ferramentas/storymap/manutencao.php
1 <?php 1 <?php
2 -include_once(dirname(__FILE__)."/../../admin/php/login.php"); 2 +include_once(dirname(__FILE__)."/../../admin1/php/login.php");
3 include("../blacklist.php"); 3 include("../blacklist.php");
4 verificaBlFerramentas(basename(dirname(__FILE__)),"",false); 4 verificaBlFerramentas(basename(dirname(__FILE__)),"",false);
5 $funcoesEdicao = array( 5 $funcoesEdicao = array(
ferramentas/tme/manutencao.php
1 <?php 1 <?php
2 -include_once(dirname(__FILE__)."/../../admin/php/login.php"); 2 +include_once(dirname(__FILE__)."/../../admin1/php/login.php");
3 3
4 include(dirname(__FILE__)."/../blacklist.php"); 4 include(dirname(__FILE__)."/../blacklist.php");
5 verificaBlFerramentas(basename(dirname(__FILE__)),$i3geoBlFerramentas,false); 5 verificaBlFerramentas(basename(dirname(__FILE__)),$i3geoBlFerramentas,false);
init/login.php
@@ -147,7 +147,7 @@ include &quot;head.php&quot;; @@ -147,7 +147,7 @@ include &quot;head.php&quot;;
147 $(window).on("scroll click", 147 $(window).on("scroll click",
148 function(){ 148 function(){
149 $("#mensagemLogin").fadeOut(300); 149 $("#mensagemLogin").fadeOut(300);
150 - $("#jumbotron").fadeOut(300) 150 + $("#jumbotron").fadeOut(300);
151 } 151 }
152 ); 152 );
153 //verifica se deve ou nao esconder a mensagem de boas vindas verificando o parametro enviado pela url 153 //verifica se deve ou nao esconder a mensagem de boas vindas verificando o parametro enviado pela url
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
@@ -184,14 +184,14 @@ i3GEO.login = { @@ -184,14 +184,14 @@ i3GEO.login = {
184 // verificacao rapida, busca apenas na sessao do usuario ja aberta 184 // verificacao rapida, busca apenas na sessao do usuario ja aberta
185 if (!tipo || tipo === "sessao") { 185 if (!tipo || tipo === "sessao") {
186 p = locaplic 186 p = locaplic
187 - + "/admin/php/login.php?funcao=validaoperacaosessao"; 187 + + "/admin1/php/login.php?funcao=validaoperacaosessao";
188 } 188 }
189 // verifica no banoc de dados, o que considera qualquer mudanca no banco 189 // verifica no banoc de dados, o que considera qualquer mudanca no banco
190 // feita apos o usuario ter aberto a sessao 190 // feita apos o usuario ter aberto a sessao
191 //XXX implementar funcao validaoperacaobanco 191 //XXX implementar funcao validaoperacaobanco
192 if (tipo === "banco") { 192 if (tipo === "banco") {
193 p = locaplic 193 p = locaplic
194 - + "/admin/php/login.php?funcao=validaoperacaobanco"; 194 + + "/admin1/php/login.php?funcao=validaoperacaobanco";
195 } 195 }
196 cp = new cpaint(); 196 cp = new cpaint();
197 cp.set_response_type("JSON"); 197 cp.set_response_type("JSON");
ms_criamapa.php
@@ -423,7 +423,6 @@ if(!isset($i3geoPermiteLogin)){ @@ -423,7 +423,6 @@ if(!isset($i3geoPermiteLogin)){
423 else{ 423 else{
424 $i3geoPermiteLogin_ = $i3geoPermiteLogin; 424 $i3geoPermiteLogin_ = $i3geoPermiteLogin;
425 } 425 }
426 -  
427 /* 426 /*
428 Inicia a se&ccedil;&atilde;o 427 Inicia a se&ccedil;&atilde;o
429 428
@@ -661,9 +660,9 @@ if(isset($url_wms)){ @@ -661,9 +660,9 @@ if(isset($url_wms)){
661 660
662 adaptaLayers($tmpfname,$versao); 661 adaptaLayers($tmpfname,$versao);
663 662
664 -if (file_exists($locaplic."/pacotes/geoip") && file_exists($locaplic."/pacotes/geoip/GeoLiteCity.dat")){  
665 - require_once(dirname(__FILE__)."/ms_registraip.php");  
666 -} 663 +//if (file_exists($locaplic."/pacotes/geoip") && file_exists($locaplic."/pacotes/geoip/GeoLiteCity.dat")){
  664 +// require_once(dirname(__FILE__)."/ms_registraip.php");
  665 +//}
667 if ($interface != "mashup"){ 666 if ($interface != "mashup"){
668 abreInterface($interface,$caminho,$tempo); 667 abreInterface($interface,$caminho,$tempo);
669 } 668 }
@@ -727,8 +726,7 @@ function adaptaLayers($tmpfname,$versao){ @@ -727,8 +726,7 @@ function adaptaLayers($tmpfname,$versao){
727 Redireciona para o HTML definido em $interface, abrindo o mapa 726 Redireciona para o HTML definido em $interface, abrindo o mapa
728 */ 727 */
729 function abreInterface($interface,$caminho,$tempo){ 728 function abreInterface($interface,$caminho,$tempo){
730 - $nomeInterface = explode(".",basename($interface));  
731 - //$_SESSION["interface"] = $nomeInterface[0]; 729 + $nomeInterface = explode(".",basename($interface));
732 if (count(explode(".php",$interface)) > 1){ 730 if (count(explode(".php",$interface)) > 1){
733 if(file_exists($caminho."interface/".$interface)){ 731 if(file_exists($caminho."interface/".$interface)){
734 include_once($caminho."interface/".$interface); 732 include_once($caminho."interface/".$interface);
@@ -1319,31 +1317,7 @@ function incluiTemaWms() @@ -1319,31 +1317,7 @@ function incluiTemaWms()
1319 Projeto gvsig 1317 Projeto gvsig
1320 */ 1318 */
1321 function incluiMapaGvsig($gvsiggvp,$gvsigview=""){ 1319 function incluiMapaGvsig($gvsiggvp,$gvsigview=""){
1322 - global $mapn,$locaplic;  
1323 - include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");  
1324 - $gm = new gvsig2mapfile($gvsiggvp);  
1325 - if(empty($gvsigview)){  
1326 - $gvsigview = $gm->getViewsNames();  
1327 - //$gvsigview = $gvsigview[0];  
1328 - }  
1329 - else{  
1330 - $gvsigview = str_replace(" ",",",$gvsigview);  
1331 - $gvsigview = explode(",",$gvsigview);  
1332 - }  
1333 - $numlayers = $mapn->numlayers;  
1334 - for ($i=0;$i < $numlayers;$i++){  
1335 - $layer = $mapn->getlayer($i);  
1336 - $layer->set("status",MS_DELETE);  
1337 - }  
1338 - foreach($gvsigview as $v){  
1339 - if($v != ""){  
1340 - $dataView = $gm->getViewData($v);  
1341 - $mapn = $gm->addLayers($mapn,$gvsigview,$dataView["layerNames"]);  
1342 - }  
1343 - }  
1344 - $next = $dataView["extent"];  
1345 - $ext = $mapn->extent;  
1346 - $ext->setextent($next[0],$next[1],$next[2],$next[3]); 1320 +
1347 } 1321 }
1348 /* 1322 /*
1349 Captura e mostra os erros de processamento do mapserver 1323 Captura e mostra os erros de processamento do mapserver
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