Commit 5d0bfd86e8283d9069b9aef732e6c080ce4eaaa8
1 parent
9d8ec701
Exists in
master
and in
7 other branches
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ções em Ajax utilizadas para gerenciar login de usuário e controle de acesso | ||
6 | - | ||
7 | -Recebe as requisições feitas em JavaScript (AJAX) e retorna o resultado para a interface. | ||
8 | - | ||
9 | -O parâmetro "funcao" define qual a operação que será executada. Esse parâmetro é 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 é software livre; você pode redistribuí-lo | ||
21 | -e/ou modificá-lo sob os termos da Licença Pública Geral | ||
22 | -GNU conforme publicada pela Free Software Foundation; | ||
23 | - | ||
24 | -Este programa é distribuído na expectativa de que seja útil, | ||
25 | -porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | ||
26 | -de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | ||
27 | -Consulte a Licença Pública Geral do GNU para mais detalhes. | ||
28 | -Você deve ter recebido uma copia da Licença Pública Geral do | ||
29 | -GNU junto com este programa; se não, escreva para a | ||
30 | -Free Software Foundation, Inc., no endereç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ção que será executada (veja abaixo a lista de Valores que esse parâmetro pode assumir). | ||
40 | - | ||
41 | -Retorno: | ||
42 | - | ||
43 | -O resultado da operação será retornado em um objeto CPAINT. | ||
44 | - | ||
45 | -A construção da string JSON é feita preferencialmente pelas funções nativas do PHP. | ||
46 | -Para efeitos de compatibilidade, uma vez que até a versão 4.2 a string JSON era construida pelo CPAINT, | ||
47 | -o objeto CPAINT ainda é definido, porém, a função cpjson verifica se as funções nativas do PHPO (json) | ||
48 | -estão instaladas, se estiverem, utiliza-se a função nativa, se nã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á retornada ao browser via JSON | ||
106 | -switch (strtoupper($funcao)) | ||
107 | -{ | ||
108 | - /* | ||
109 | - Valor: LOGIN | ||
110 | - | ||
111 | - Verifica usuá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 | -?> |
@@ -0,0 +1,406 @@ | @@ -0,0 +1,406 @@ | ||
1 | +<?php | ||
2 | +exit; | ||
3 | +/* | ||
4 | +Title: funcoes_login.php | ||
5 | + | ||
6 | +Controle das requisições em Ajax utilizadas para gerenciar login de usuário e controle de acesso | ||
7 | + | ||
8 | +Recebe as requisições feitas em JavaScript (AJAX) e retorna o resultado para a interface. | ||
9 | + | ||
10 | +O parâmetro "funcao" define qual a operação que será executada. Esse parâmetro é 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 é software livre; você pode redistribuí-lo | ||
22 | +e/ou modificá-lo sob os termos da Licença Pública Geral | ||
23 | +GNU conforme publicada pela Free Software Foundation; | ||
24 | + | ||
25 | +Este programa é distribuído na expectativa de que seja útil, | ||
26 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | ||
27 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | ||
28 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | ||
29 | +Você deve ter recebido uma copia da Licença Pública Geral do | ||
30 | +GNU junto com este programa; se não, escreva para a | ||
31 | +Free Software Foundation, Inc., no endereç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ção que será executada (veja abaixo a lista de Valores que esse parâmetro pode assumir). | ||
41 | + | ||
42 | +Retorno: | ||
43 | + | ||
44 | +O resultado da operação será retornado em um objeto CPAINT. | ||
45 | + | ||
46 | +A construção da string JSON é feita preferencialmente pelas funções nativas do PHP. | ||
47 | +Para efeitos de compatibilidade, uma vez que até a versão 4.2 a string JSON era construida pelo CPAINT, | ||
48 | +o objeto CPAINT ainda é definido, porém, a função cpjson verifica se as funções nativas do PHPO (json) | ||
49 | +estão instaladas, se estiverem, utiliza-se a função nativa, se nã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á retornada ao browser via JSON | ||
107 | +switch (strtoupper($funcao)) | ||
108 | +{ | ||
109 | + /* | ||
110 | + Valor: LOGIN | ||
111 | + | ||
112 | + Verifica usuá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ável existente no ms_configura.php com o cadastro de usuários masters | 439 | i3geomaster {array} - variável existente no ms_configura.php com o cadastro de usuá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 | } |
@@ -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á retornada ao browser via JSON | ||
66 | +switch (strtoupper($funcao)) | ||
67 | +{ | ||
68 | + /* | ||
69 | + Valor: LOGIN | ||
70 | + | ||
71 | + Verifica usuá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 == "criaMapa"){ | @@ -227,7 +227,9 @@ if($funcao == "criaMapa"){ | ||
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)){ |
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/editortema/exec.php
@@ -25,7 +25,7 @@ Free Software Foundation, Inc., no endere&ccedil;o | @@ -25,7 +25,7 @@ Free Software Foundation, Inc., no endere&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=""){ | @@ -44,7 +44,7 @@ function dadosmapa($loc=""){ | ||
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 "head.php"; | @@ -147,7 +147,7 @@ include "head.php"; | ||
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/login.js
@@ -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ção | 427 | Inicia a seçã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/yui290/build/container/container_compacto.js
100644 → 100755
pacotes/yui290/build/container/container_core_compacto.js
100644 → 100755
pacotes/yui290/build/utilities/utilities_compacto.js
100644 → 100755