/** * Método para verificar si tiene acceso al recurso * @return boolean */ public function check($perfil) { $modulo = Router::get('module'); $controlador = Router::get('controller'); $accion = Router::get('action'); if (isset($this->_templates["{$perfil}"]) && !Input::isAjax()) { View::template("backend/{$this->_templates["{$perfil}"]}"); } if ($modulo) { $recurso1 = "{$modulo}/{$controlador}/{$accion}"; //Por si tiene acceso a una única acción $recurso2 = "{$modulo}/{$controlador}/*"; //por si tiene acceso a todas las acciones $recurso3 = "{$modulo}/*/*"; //por si tiene acceso a todos los controladores $recurso4 = "*"; //por si tiene acceso a todo el sistema } else { $recurso1 = "{$controlador}/{$accion}"; //Por si tiene acceso a una única acción $recurso2 = "{$controlador}/*"; //por si tiene acceso a todas las acciones $recurso3 = "{$modulo}/*/*"; //por si tiene acceso a todos los controladores $recurso4 = "*"; //por si tiene acceso a todo el sistema } //Flash::info("Perfil: $perfil <br /> Recurso 1: $recurso1 <br /> Recurso 2: $recurso2 <br /> Recurso 3: $recurso3 <br /> Recurso 4: $recurso4"); return self::$_acl->check($recurso1, $perfil) || self::$_acl->check($recurso2, $perfil) || self::$_acl->check($recurso3, $perfil) || self::$_acl->check($recurso4, $perfil); }
public function before_filter() { $this->limit_params = false; // Si es AJAX enviar solo el view if (Input::isAjax()) { View::response('view'); } }
protected function before_filter() { $this->limit_params = false; // Si es AJAX enviar solo el view if (Input::isAjax()) { View::template(NULL); } }
/** * Redirecciona a la página de inicio de sesión */ public static function toLogin($path = 'sistema/login/entrar/') { $path = trim($path, '/') . '/'; if (Input::isAjax()) { //Si se redireciona mediante una entrada de ajax View::redirectToLogin($path); } else { Redirect::to($path); } }
protected function before_filter() { $this->limit_params = false; // Si es AJAX enviar solo el view if (Input::isAjax()) { View::template(NULL); } if (!Auth::is_valid()) { Router::redirect("login/index"); } }
/** * Callback que se ejecuta antes de los métodos de todos los controladores */ protected final function initialize() { /** * Si el método de entrada es ajax, el tipo de respuesta es sólo la vista */ if (Input::isAjax()) { View::template(null); } /** * Verifico que haya iniciado sesión */ if (!DwAuth::isLogged()) { //Verifico que no genere una redirección infinita if ($this->controller_name != 'login' && ($this->action_name != 'entrar' && $this->action_name != 'salir')) { DwMessage::warning('No has iniciado sesión o ha caducado.'); //Verifico que no sea una ventana emergente if ($this->module_name == 'reporte') { View::error(); //TODO: crear el método error() } else { DwRedirect::toLogin('sistema/login/entrar/'); } return false; } } else { if (DwAuth::isLogged() && $this->controller_name != 'login') { $acl = new DwAcl(); //Cargo los permisos y templates if (APP_UPDATE && Session::get('perfil_id') != Perfil::SUPER_USUARIO) { //Solo el super usuario puede hacer todo if ($this->module_name != 'dashboard' && $this->controller_name != 'index') { $msj = 'Estamos en labores de actualización y mantenimiento.'; $msj .= '<br />'; $msj .= 'El servicio se reanudará dentro de ' . APP_UPDATE_TIME; if (Input::isAjax()) { View::update(); } else { DwMessage::info($msj); DwRedirect::to("dashboard"); } return FALSE; } } if (!$acl->check(Session::get('perfil_id'))) { DwMessage::error('Tu no posees privilegios para acceder a <b>' . Router::get('route') . '</b>'); Input::isAjax() ? View::ajax() : View::select(NULL); return false; } if (!defined('SKIN')) { define('SKIN', Session::get('tema')); } } } }
public function autocomplete() { View::template(NULL); View::select(NULL); if (Input::isAjax()) { //solo devolvemos los estados si se accede desde ajax $busqueda = Input::post('busqueda'); $profesiones = Load::model('config/profesion')->obtener_profesiones($busqueda); die(json_encode($profesiones)); // solo devolvemos los datos, sin template ni vista //json_encode nos devolverá el array en formato json ["aragua","carabobo","..."] } }
/** * Método para restaurar */ public function restaurar($key = '') { if (!Input::isAjax()) { DwMessage::error('Método incorrecto para restaurar el sistema.'); return DwRedirect::toAction('listar'); } if (!($id = DwSecurity::isValidKey($key, 'restaurar_backup', 'int'))) { return View::ajax(); } $pass = Input::post('password'); $usuario = Usuario::getUsuarioLogueado(); if ($usuario->password != md5(sha1($pass))) { DwMessage::error('Acceso incorrecto al sistema. Tu no tienes los permisos necesarios para realizar esta acción.'); return View::ajax(); } if ($backup = Backup::restoreBackup($id)) { DwMessage::valid('El sistema se ha restaurado satisfactoriamente con la copia de seguridad <b>' . $backup->archivo . '</b>'); } else { DwMessage::error('Se ha producido un error interno al restaurar el sistema. Por favor contacta al administrador.'); } return View::ajax(); }
/** * Callback que se ejecuta después de los métodos de todos los controladores */ protected final function finalize() { // if(defined('APP_CLIENT')) { // $this->page_title = APP_CLIENT.' | '.APP_NAME.' > '.trim($this->page_title); // } else { // $this->page_title = APP_NAME.' > '.trim($this->page_title); // } //Se muestra la vista según el tipo de reporte if (Router::get('module') == 'reporte') { View::report($this->page_format); } //Se verifica si se cambia el título de la página if ($this->set_title && Input::isAjax()) { $this->set_title = TRUE; } }
public function before_filter() { if (Input::isAjax()) { View::template(null); } }
/** * Método para verificar la conexión de la bd */ public function test() { if (!Input::isAjax()) { DwMessage::error('Acceso incorrecto para la verificación del sistema.'); return DwRedirect::toRoute('module: dashboard', 'controller: index'); } if (!Input::hasPost('development') or !Input::hasPost('production')) { DwMessage::error('Oops!. No hemos recibido algún parámetro de configuración.'); } else { if (Input::hasPost('development')) { Sistema::testConnection(Input::post('development'), 'development', true); } if (Input::hasPost('production')) { Sistema::testConnection(Input::post('production'), 'production', true); } } View::ajax(); }
/** * Corriendo filtro * */ public function before_filter() { if (Input::isAjax()) { View::response('view'); } }
protected final function finalize() { $this->page_title = trim($this->page_title) . ' | ' . APP_NAME; //Se muestra la vista según el tipo de reporte if (Router::get('module') == 'reporte') { View::report($this->page_format); } //Se verifica si se cambia el título de la página, cuando se hacen peticiones por ajax if ($this->set_title && Input::isAjax()) { $this->set_title = TRUE; } }