Created
May 23, 2014 22:51
-
-
Save juniorb2ss/0121588282be8d0e2c51 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public function login() | |
{ | |
// Caso o usuário já esteja logado, redireciona ele. | |
if($this->_needlogin(FALSE)) | |
{ | |
redirect('account'); | |
} | |
// Exibe se existe mensagem pendente (notificação) | |
if($message = $this->session->flashdata('logout')) | |
{ | |
$this->error->displayError($message); | |
} | |
// Exibe mensagem que a página visitada querer login. | |
if($this->session->flashdata('required')) | |
{ | |
$this->error->displayError('NEED_LOGIN', 'alert'); | |
} | |
// Caso o usuário tenha acabado de criar a conta e sido redirecionado para o login | |
// a mensagem TRADUZIDA com variavel SUCESS_CREATE_ACC é mostrado ao usuário | |
if($this->session->flashdata('SucessCreateAccount')) | |
{ | |
$this->error->displayError('SUCESS_CREATE_ACC', 'sucess'); | |
} | |
if($this->input->get('locate', TRUE)) | |
{ | |
$this->session->set_flashdata('locateHeader', $this->input->get('locate', TRUE)); | |
} | |
$this->session->unset_userdata('active_time'); | |
$this->form_validation->set_message('required', 'Este campo fico em branco!'); | |
$this->form_validation->set_error_delimiters('<div class="error">', '</div>'); | |
// Formulário enviado. | |
if($this->form_validation->run($this, 'Account/Login') === TRUE) | |
{ | |
$u = new account_model(); | |
// Captura o name e password. | |
$u->name = $this->input->post('name'); | |
$u->password = $this->input->post('password'); | |
// Executa o login | |
if($u->login()) | |
{ | |
// Verifica se a conta logada esta ativada. | |
if($u->ativado) | |
{ | |
// Insere as sessions do login | |
$this->session->set_userdata( | |
array( | |
'login' => TRUE, | |
'accountID' => $u->id, | |
'accountName' => $this->input->post('name'), | |
'accountPassword' => $this->input->post('password'), | |
'login_acess' => $u->login_acess, | |
) | |
); | |
//Redireciona o usuário para última página visitada. | |
if($this->session->flashdata('locateHeader')) | |
{ | |
redirect(str_replace(config_item('url_suffix'), "", $this->session->flashdata('locateHeader')), 'locate'); | |
} | |
redirect('account'); | |
} | |
else | |
{ | |
// Conta desativada, mostra mensagem de erro e notifica sobre a possibilidade de re-enviar o email de confirmação. | |
$this->session->set_flashdata('accResend', $u->id); | |
$this->error->displayError('ACC_NEED_CONFIRM', 'alert'); | |
} | |
} | |
else | |
{ | |
// login inválido | |
$this->error->displayError('INVALID_LOGIN'); | |
} | |
} | |
// Abre o painel da account. | |
$this->load->view('login'); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment