function autenticaUsuario($usuario, $senha) { include dirname(__FILE__) . "/conexao.php"; $senhamd5 = md5($senha); $senhaHash = password_hash($senha, PASSWORD_DEFAULT); //faz um teste de tentativas de acesso $nomeArquivo = $dir_tmp . "/a" . md5($usuario . "testeTentativas") . intval(time() / 1000); if (!file_exists($dir_tmp)) { return false; } if (file_exists($nomeArquivo)) { $tentativas = (int) file_get_contents($nomeArquivo); if ($tentativas > 3) { return "muitas tentativas"; } $tentativas = $tentativas + 1; file_put_contents($nomeArquivo, $tentativas); } else { file_put_contents($nomeArquivo, 1); } //verifica se o usuario esta cadastrado no ms_configura.php em $i3geomaster //echo "select * from ".$esquemaadmin."i3geousr_usuarios where login = '******' and (senha = '$senhamd5' or senha = '$senha') and ativo = 1";exit; //exit; if (verificaMaster($usuario, $senha) == true) { $pa = pegaDados("select * from " . $esquemaadmin . "i3geousr_papelusuario ", $dbh, false); $op = pegadados("SELECT O.codigo FROM " . $esquemaadmin . "i3geousr_operacoes AS O", $dbh, false); $gr = pegadados("SELECT * from " . $esquemaadmin . "i3geousr_grupos ", $dbh, false); //var_dump($gr);exit; $operacoes = array(); foreach ($op as $o) { $operacoes[$o["codigo"]] = true; } $papeis = array(); foreach ($pa as $p) { $papeis[] = $p["id_papel"]; } $gruposusr = array(); foreach ($gr as $p) { $gruposusr[] = $p["id_grupo"]; } $master = array(); $master["id_usuario"] = "master"; $master["nome_usuario"] = "master"; $r = array("usuario" => $master, "papeis" => $papeis, "operacoes" => $operacoes, "gruposusr" => $gruposusr); $dbh = null; $dbhw = null; file_put_contents($nomeArquivo, 1); return $r; } else { //verifica se a senha e uma string ou pode ser um md5 $ok = false; $dados = array(); if (strlen($senha) == 32) { $dados = pegaDados("select id_usuario,nome_usuario from " . $esquemaadmin . "i3geousr_usuarios where login = '******' and senha = '{$senhamd5}' and ativo = 1", $dbh, false); } else { $dados = pegaDados("select id_usuario,nome_usuario from " . $esquemaadmin . "i3geousr_usuarios where login = '******' and (senha = '{$senhamd5}' or senha = '{$senha}') and ativo = 1", $dbh, false); } if (count($dados) > 0) { $ok = true; } //testa tambem com a nova forma de armazenamento de senha usando password_hash if ($ok == false) { $usuarios = pegaDados("select senha,id_usuario,nome_usuario from " . $esquemaadmin . "i3geousr_usuarios where login = '******' and ativo = 1", $dbh, false); foreach ($usuarios as $d) { if (password_verify($d["senha"], $senhaHash)) { $ok = true; $dados = array("id_usuario" => $d["id_usuario"], "nome_usuario" => $d["nome_usuario"]); } } $usuarios = null; } if ($ok == true) { $pa = pegaDados("select * from " . $esquemaadmin . "i3geousr_papelusuario where id_usuario = " . $dados[0]["id_usuario"], $dbh, false); $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\tWHERE id_usuario = " . $dados[0]["id_usuario"], $dbh, false); $gr = pegadados("SELECT * from " . $esquemaadmin . "i3geousr_grupousuario where id_usuario = " . $dados[0]["id_usuario"], $dbh, false); $operacoes = array(); foreach ($op as $o) { $operacoes[$o["codigo"]] = true; } $papeis = array(); foreach ($pa as $p) { $papeis[] = $p["id_papel"]; } $gruposusr = array(); foreach ($gr as $p) { $gruposusr[] = $p["id_grupo"]; } $r = array("usuario" => $dados[0], "papeis" => $papeis, "operacoes" => $operacoes, "gruposusr" => $gruposusr); $dbh = null; $dbhw = null; file_put_contents($nomeArquivo, 1); return $r; } else { $dbh = null; $dbhw = null; return false; } } }
//var_dump($subgrupos); if ($idioma == "pt") { $coluna = "nome_tema"; } else { $coluna = $idioma; } foreach ($subgrupos as $subgrupo) { $id_n2 = $subgrupo["id_n2"]; $sql = "select t.codigo_tema,t.{$coluna} as nome_tema,t.link_tema, t.desc_tema, t.kmz_tema from " . $esquemaadmin . "i3geoadmin_n3 as n3," . $esquemaadmin . "i3geoadmin_temas as t where "; $sql .= "n3.id_n2='{$id_n2}' "; $sql .= "and n3.id_tema = t.id_tema "; $sql .= "and (n3_perfil = '' or n3_perfil is null) "; $sql .= "and (lower(t.kml_tema) != 'nao' or t.kml_tema is null)"; $sql .= "and (lower(t.tipoa_tema) != 'wms' or t.tipoa_tema is null)"; $sql .= "and (lower(n3.publicado) != 'nao' or n3.publicado is null) "; $temas = pegadados($sql); $xml .= kml_folder($subgrupo["nome_subgrupo"]); if (count($temas) > 0) { foreach ($temas as $tema) { $xml .= kml_tema_bd($tema); } } $xml .= "</Folder>\n"; } $xml .= "</Folder>\n"; } $xml .= "</Folder>\n"; } $xml .= "</Document></kml>\n"; //exit; if (isset($_GET["tipoxml"]) && $_GET["tipoxml"] == "kml") {