Exemplo n.º 1
0
// ---------------------------------------------------------------
$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);
        }
Exemplo n.º 2
0
 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;
         }
     }
 }