function __construct() { // Abrindo conexão com o banco de dados. $connect = Connect::open(); $this->conn = $connect; $this->log = new SisLog(); }
function __construct() { $this->session = $_SESSION['sis_user']['id_tipo_perfil']; // Abrindo conexão com o banco de dados. $connect = Connect::open(); $this->conn = $connect; global $SELF; $this->self = $SELF; }
function __construct() { $connect = Connect::open(); $this->conn = $connect; global $SIS_LOG; global $GET_ADRESS_INFO; $this->confLog = $SIS_LOG; $this->confAdress = $GET_ADRESS_INFO; // Abrindo conexão com o banco de dados. }
/** * @param string Recebe o email ou o usuário enviado pelo formulário. * @param string Recebe a senha enviada pelo formulário. * @param bool|false Determina se vou depurar o metodo de login ou não. * @return mixed Retorna a seção do usuário logado e gera o cookie de acesso. **/ public function login($login, $pass, $depure = false) { $this->login = $login; $this->pass = $pass; $log = new SisLog(); if ($this->sis_local == 'producao') { $depure = false; } // caso o bonitão não preencha os dois, coisa basica. if (!$this->login || !$this->pass) { if (!$depure) { header("Location: {$SELF}?{$this->secaoLogin}&{$this->linkUserSenhaInvalida}"); exit; } } if ($depure) { echo "<pre> Dados de acesso: </pre>\n\t\t\t\t<pre><b>Login:</b> {$this->login} </pre>\n\t\t\t\t<pre><b>Senha:</b> {$this->pass} </pre>\n\t\t\t\t=============================\n\t\t\t"; } // Iniciando a analise dos dados recebidos $query = new Connect(); $query->login_action = true; $buscaUsuario = $query->open()->prepare("SELECT * FROM per_perfil WHERE (login_key =:login or email =:login)"); $buscaUsuario->bindValue(":login", strtolower($login)); // $buscaUsuario->bindValue(":email", strtolower($login)); $buscaUsuario->execute(); // $buscaUsuario->debugDumpParams(); // verificando se otive resultado $result = $buscaUsuario->rowCount(); // new SIS_debug($result, '$result'); // new SIS_debug($login, '$login'); if ($result == 1) { // melhorar isso, $vetorDados = $buscaUsuario->fetchAll(PDO::FETCH_ASSOC); // extraindo o vetor com o vetor interno de dados, devido a ser somente 1 vetor vou ter que extrair isso. $vetorDadosUsuario = $vetorDados[0]; // devido a ser somente 1 não a necessidade de percorrer vetores. if ($depure) { echo "<pre><b>Dados do usuario no banco de dados</b>"; var_dump($vetorDadosUsuario); echo "</pre>"; } // new SIS_debug($vetorDadosUsuario, '$vetorDadosUsuario'); // Se ele não tiver ativo quer dizer que ja fez o cadastro mais não ativou a conta ainda. if ($vetorDadosUsuario['ativo'] == 0) { if (!$depure) { header("Location: {$SELF}?{$this->secaoLogin}&{$this->linkUserNaoAtivo}"); exit; } } // verificando se o usuario digitado tem uma senha valida. // O resultado disto tem que ser o mesmo login de acesso. $decrypt_user = mcrypt_decrypt(MCRYPT_CAST_256, $pass, $vetorDadosUsuario['crypt_user'], MCRYPT_MODE_OFB, $vetorDadosUsuario['iv']); // new SIS_debug($vetorDadosUsuario['login'], '$vetorDadosUsuario[login_key]'); // Senha Correta. perfeitamente igual. if ($vetorDadosUsuario['login_key'] === $decrypt_user) { // gerando sessão de permições e dados do usuário. // new SIS_debug($vetorDadosUsuario, '$vetorDadosUsuario'); // echo "Logado"; unset($_SESSION['sis_user']); $vetor_dados_session['id_perfil'] = $vetorDadosUsuario['id_perfil']; $vetor_dados_session['primeiro_nome'] = $vetorDadosUsuario['primeiro_nome']; $vetor_dados_session['login'] = $vetorDadosUsuario['login']; $vetor_dados_session['id_tipo_perfil'] = $vetorDadosUsuario['id_tipo_perfil']; $vetor_dados_session['idioma'] = $vetorDadosUsuario['idioma']; $vetor_dados_session['id_session'] = session_id(); $vetor_dados_session['session_time'] = time(); $vetor_dados_session['adress'] = $_SERVER['REMOTE_ADDR']; $_SESSION['sis_user'] = $vetor_dados_session; if ($depure) { echo "<pre> <b>SESSION</b>"; var_dump($_SESSION); echo "</pre>"; break; } // $return_check = $this->check_user($vetorDadosUsuario['id_perfil']); if (is_array($_SESSION['sis_user'])) { $this->gera_hitorico_usuario(1); } header("Location: {$SELF}?{$this->secaoLoginOk}&{$this->linkUserUserLogin}"); exit; // new SIS_debug($_SESSION, '$_SESSION Valor da Session Dentro da Classe'); // session_destroy(); } else { header("Location: {$SELF}?{$this->secaoLogin}&{$this->linkUserSenhaInvalida}"); exit; } } elseif ($result > 1) { // se for maior 1 que dizer que tem algum tipo de problema no login melhora ou realizar log disto $log->create('mais de um resultado verificar'); } else { // caso não tenha resultado, isso é não a usupario cadastrado enquestão, vou optar por redirecionar parao cadastro. header("Location: {$SELF}?{$this->secaoLogin}&{$this->linkUserSemCadastro}"); // exit(); } }