public function startLoginSession($user, $redirectTo = '') { // unsetting login attempts here, because when the password is recovered the login attempts should be reseted. $this->unsetTentativasLogin(); @session_start(); $_SESSION = array(); $_SESSION['itj_controle'] = 'logado'; $_SESSION['id_pessoa'] = $user['id']; $_SESSION['pessoa_setor'] = $user['ref_cod_setor_new']; $_SESSION['menu_opt'] = unserialize($user['opcao_menu']); $_SESSION['tipo_menu'] = $user['tipo_menu']; @session_write_close(); Portabilis_Utils_User::logAccessFor($user['id'], $this->getClientIP()); Portabilis_Utils_User::destroyStatusTokenFor($user['id'], 'redefinir_senha'); $this->logado = true; $this->messenger->append("Usuário logado com sucesso.", "success"); // solicita email para recuperação de senha, caso usuário ainda não tenha informado. if (!filter_var($user['email'], FILTER_VALIDATE_EMAIL)) { header("Location: /module/Usuario/AlterarEmail"); } elseif ($user['expired_password']) { header("Location: /module/Usuario/AlterarSenha"); } elseif (!empty($redirectTo)) { header("Location: {$redirectTo}"); } }