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;
 }
Example #3
0
 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.
 }
Example #4
0
 /**
  * @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();
     }
 }