function entrar() { //obter o usuário e a senha e tentar efetuar o login $usuario = isset($_POST['username']) ? $_POST['username'] : ''; $senha = isset($_POST['password']) ? $_POST['password'] : ''; //validar if ($usuario == "" || $senha == "") { $var = array('success' => false, 'message' => htmlentities('Dados do usuário não informados')); echo json_encode($var); return false; } $this->load->model('usuario_model'); $u = new Usuario_model(); $u->where('login', $usuario); // @todo: permitir ao usuário trocar o hash padrão $u->where('senha', md5($senha)); // @todo: Recuperar da configuração do sistema // $u->where('situacao_id', 2); $u->get(1); if ($u->result_count() == 0) { $var = array('success' => false, 'message' => htmlentities('Usuário não localizado')); echo json_encode($var); return false; } /* verificar a situação do usuário que está * tentando efetuar login */ $situacao = new Situacao_usuario_model(); $s = $situacao->where('id', $u->situacao_usuario_id)->get(); if ($s->descricao == "Novo") { $var = array('success' => false, 'trocar_senha' => true, 'url' => 'login/load_alterar_senha?login='******'message' => htmlentities('Bem vindo, ' . $u->nome . '! Efetue a troca de sua senha de acesso.')); echo json_encode($var); return false; } else { if ($s->descricao == "Expirado") { $var = array('success' => false, 'trocar_senha' => true, 'url' => 'login/load_alterar_senha', 'message' => htmlentities('Você não realiza login no sistema a muito tempo, sendo assim, você deve realizar a troca de sua senha de acesso!')); echo json_encode($var); return false; } else { if ($s->descricao == "Inativo") { $var = array('success' => false, 'message' => htmlentities('Usuário inativo!')); echo json_encode($var); return false; } } } // insere data e hora do ultimo login $u->update('ultimo_acesso', date("Y-m-d H:i:s")); /* salva na session o usuário, o cooke só guarda 4KB, * talvez seja necessário salvar apenas o id do usuario */ $usuario = array('id' => $u->id, 'nome' => $u->nome, 'login' => $u->login, 'email' => $u->email, 'tipo_usuario_id' => $u->tipo_usuario_id, 'situacao_id' => $u->situacao_id, 'senha' => $u->senha, 'ultima_troca' => $u->ultima_troca, 'ultimo_acesso' => $u->ultimo_acesso); $this->session->set_userdata('usuario_logado', $usuario); $var = array('success' => true, 'usuario' => array('login' => $usuario['login'], 'nome' => $usuario['nome']), 'url' => site_url('welcome')); echo json_encode($var); return TRUE; }
function entrar() { //obter o usuário e a senha e tentar efetuar o login $usuario = isset($_POST['username']) ? $_POST['username'] : ''; $senha = isset($_POST['password']) ? $_POST['password'] : ''; //validar if ($usuario == "" || $senha == "") { $var = array('success' => false, 'message' => htmlentities('Dados do usuário não informados')); echo json_encode($var); return false; } $this->load->model('usuario_model'); $u = new Usuario_model(); $u->where('login', $usuario); // @todo: permitir ao usuário trocar o hash padrão $u->where('senha', md5($senha)); // @todo: Recuperar da configuração do sistema // $u->where('situacao_id', 2); $u->get(1); if ($u->result_count() != 1) { $var = array('success' => false, 'message' => htmlentities('Usuário não localizado')); echo json_encode($var); return false; } // @todo: recuperar do sistema switch ($u->situacao_id) { case 1: //Novo //Novo case 4: //Expirado $this->trocar_senha($u); break; case 2: //Ativo break; case 3: //Inativo //Inativo default: //@todo: dar mensagem e voltar a tela de login return false; break; } // insere data e hora do ultimo login $u->update('ultimo_acesso', date("Y-m-d H:i:s")); /* salva na session o usuário, o cooke só guarda 4KB, * talvez seja necessário salvar apenas o id do usuario */ $usuario = array('id' => $u->id, 'nome' => $u->nome, 'login' => $u->login, 'email' => $u->email, 'tipo_usuario_id' => $u->tipo_usuario_id, 'situacao_id' => $u->situacao_id, 'senha' => $u->senha, 'ultima_troca' => $u->ultima_troca, 'ultimo_acesso' => $u->ultimo_acesso); $this->session->set_userdata('usuario_logado', $usuario); $var = array('success' => true, 'usuario' => array('login' => $usuario['login'], 'nome' => $usuario['nome'])); echo json_encode($var); return TRUE; }
function recuperar_senha() { try { $login = isset($_POST['login']) ? $_POST['login'] : ''; $email = isset($_POST['email']) ? $_POST['email'] : ''; $usuario = new Usuario_model(); $usuario->where('login', $login); $usuario->where('email', $email); $usuario->get(1); if ($usuario->result_count() != 1) { $var = array('success' => false, 'message' => htmlentities('Usuário informado não localizado')); echo json_encode($var); return false; } $this->enviar_email($usuario->email, $usuario->senha); $var = array('success' => true); echo json_encode($var); return true; } catch (Exception $e) { $var = array('success' => false, 'message' => htmlentities($e->getMessage())); echo json_encode($var); return false; } }