public function before() { parent::before(); $this->oUser = Acceso_Usuario::getUsuario(Session::instance()->get('user')); if (!empty($this->oUser)) { // $this->template->permisos = $this->oUser->permisos; $this->template->header = View::factory('header')->set('perfil', $this->oUser->perfil)->set('oUser', $this->oUser->usuario); $this->template->navbar = View::factory('navbar')->set('permisos', $this->oUser->permisos); $this->template->footer = View::factory('footer'); } else { $this->redirect('/login'); } }
public function action_initsession() { if ($this->request->method() == 'POST') { $oUser = Acceso_Usuario::acceso($this->request->post()); if ($oUser->status == 'ERROR') { $view = View::factory('login')->set('error', $oUser->data); $this->response->body($view); } else { Session::instance()->set('user', $oUser->data); $this->redirect('/panel'); } } }
public static function acceso($values) { $usuario = $values['usuario']; $contraseña = $values['contrasena']; if (strlen($usuario) == 0 or strlen($contraseña) == 0) { Log_Log::registrarError('Complete todos los campos'); return (object) array('status' => 'ERROR', 'data' => 'Complete todos los campos'); } if (!Acceso_Usuario::userExpresion($usuario)) { Log_Log::registrarError($usuario . ' :Usuario inválido'); return (object) array('status' => 'ERROR', 'data' => 'Usuario inválido'); } if (!Acceso_Usuario::passExpresion($contraseña)) { Log_Log::registrarError($contraseña . ' Contraseña inválida'); return (object) array('status' => 'ERROR', 'data' => 'Contraseña inválida'); } $oUser = Model::factory('Acceso_Usuario')->getUsuario($usuario); if (empty($oUser->usu_usuario)) { Log_Log::registrarError($usuario . ' :El usuario no se encuentra registrado en el sistema'); return (object) array('status' => 'ERROR', 'data' => 'El usuario no se encuentra registrado en el sistema'); } if ($oUser->usu_num_logeo >= Model::factory('Acceso_Tablatabla')->getNumLogeo()) { Log_Log::registrarError($usuario . ' :Usuario bloqueado, comuníquese con el administrador'); return (object) array('status' => 'ERROR', 'data' => 'Usuario bloqueado, comuníquese con el administrador'); } if (Util::encriptarMD5($contraseña) != $oUser->usu_contrasena) { $oUser->usu_num_logeo += 1; Model::factory('Acceso_Usuario')->actualizarNumLogeo($oUser); if ($oUser->usu_num_logeo == Model::factory('Acceso_Tablatabla')->getNumLogeo()) { Log_Log::registrarError($usuario . ' :Usuario bloqueado, comuníquese con el administrador'); return (object) array('status' => 'ERROR', 'data' => 'Usuario bloqueado, comuníquese con el administrador'); } Log_Log::registrarError('La contraseña ' . $contraseña . 'del usuario ' . $usuario . ' es incorrecto'); return (object) array('status' => 'ERROR', 'data' => 'Contraseña incorrecta'); } return (object) array('status' => 'OK', 'data' => $oUser->usu_usuario); }