// --------------------------------------------------------------- $config = sfYaml::load('../config/config.yml'); $app = $config['config']['app']; // --------------------------------------------------------------- // ACTIVAR EL AUTOLOADER DE CLASES Y FICHEROS A INCLUIR // --------------------------------------------------------------- define("APP_PATH", $_SERVER['DOCUMENT_ROOT'] . $app['path'] . "/"); include_once "../" . $app['framework'] . "Autoloader.class.php"; Autoloader::setCacheFilePath(APP_PATH . 'tmp/class_path_cache.txt'); Autoloader::excludeFolderNamesMatchingRegex('/^CVS|\\..*$/'); Autoloader::setClassPaths(array('../' . $app['framework'], '../entities/', '../lib/')); spl_autoload_register(array('Autoloader', 'loadClass')); $v = $_GET; $filtro = "IdPerfil='{$v['idPerfil']}' and NombreModulo='{$v['nombreModulo']}'"; $permiso = new Permisos(); $rows = $permiso->cargaCondicion("Id,Funcionalidades", $filtro); $idPermiso = $rows[0]['Id']; if ($idPermiso) { if ($v['valor'] == 0) { // Quitar permiso $permisos = str_replace($v['permiso'], "", $rows[0]['Funcionalidades']); // Quitar la eventual coma inicial if (substr($permisos, 0, 1) == ",") { $permisos = substr($permisos, 1); } // Quitar dobles comas $permisos = str_replace(",,", ",", $permisos); // Quito la eventual coma final if (substr($permisos, -1) == ",") { $permisos = substr($permisos, 0, -1); }
private function load() { // PERMISOS DEL PROYECTO $permiso = new Permisos(); $filtro = "IdPerfil='{$this->idPerfil}' AND NombreModulo='VARWEBPRO'"; $rows = $permiso->cargaCondicion("Funcionalidades", $filtro); if (isset($rows[0]['Funcionalidades'])) { $aux = explode(",", $rows[0]['Funcionalidades']); } else { $aux = array(); } foreach ($aux as $value) { $this->permisos['permisosProyecto'][$value] = TRUE; } $filtro = "IdPerfil='{$this->idPerfil}' AND NombreModulo='{$this->controller}'"; $rows = $permiso->cargaCondicion("Funcionalidades", $filtro); unset($permiso); if ($rows[0]['Funcionalidades'] != '') { $modulos = new Modulos(); $modulo = $modulos->find('NombreModulo', $this->controller); unset($modulos); $this->permisos['enCurso'] = array('app' => $modulo->getCodigoApp(), 'modulo' => $modulo->getNombreModulo()); unset($modulo); // Permisos del módulo $aux = explode(',', $rows[0]['Funcionalidades']); foreach ($aux as $value) { $this->permisos['permisosModulo'][$value] = TRUE; } // SI NO TIENE PERMISOS DE ACCESO AL MODULO, DESHABILITO TODOS LOS // PERMISOS DEL MODULO if (!isset($this->permisos['permisosModulo']['AC'])) { unset($this->permisos['permisosModulo']); } // Permisos de la app $permiso = new Permisos(); $rows = $permiso->cargaCondicion("Funcionalidades", "IdPerfil='{$this->idPerfil}' AND NombreModulo='{$this->permisos['enCurso']['app']}'"); unset($permiso); $aux = explode(',', $rows[0]['Funcionalidades']); foreach ($aux as $value) { $this->permisos['permisosApp'][$value] = TRUE; } } }