Ejemplo n.º 1
0
            }
        }
    }
}
$ari->t->assign("arrModulo", $arrModulo);
$ari->t->assign("arrIdModulo", $arrIdModulo);
$ari->t->assign("modSelect", $modSelect);
if (!isset($_POST['guardar'])) {
    $ari->t->assign("newName", "");
    $ari->t->assign("newNiceName", "");
} else {
    //verificar datos enviados duplicados
    if (!$sp->Validar()) {
        $ari->error->addError('seguridad_permission', 'SENT_DUPLICATE_DATA');
    }
    $permiso = new seguridad_permission();
    $permiso->set('modulename', $_POST['cboModulo']);
    $permiso->set('name', $_POST['txtName']);
    $permiso->set('nicename', $_POST['txtNiceName']);
    //stores?
    if ($permiso->store()) {
        header("Location: " . $ari->get("adminaddress") . '/seguridad/permission/new');
        exit;
    } else {
        $ari->t->assign("form", true);
        $ari->t->assign("error", true);
        $errores = $ari->error->getErrorsfor("seguridad_permission");
        foreach ($errores as $error) {
            $ari->t->assign($error, true);
        }
        //refrescar template
Ejemplo n.º 2
0
 /** Devuelve el objeto permiso que se corresponde con 
 		el nombre del permiso ($permissionName) y el nombre 
 		del modulo ($moduleName) 
 	 */
 public static function nameConstructor($permissionName, $moduleName)
 {
     global $ari;
     $name = $ari->db->qMagic($permissionName);
     $moduleName = $ari->db->qMagic($moduleName);
     $sql = "SELECT ID, ModuleName, Name, NiceName \n\t\t\t\tFROM Security_Permission \n        \t\tWHERE ModuleName = {$moduleName} \n\t\t\t\tAND Name = {$name}\n\t\t\t   ";
     //echo $sql;exit;
     $savem = $ari->db->SetFetchMode(ADODB_FETCH_ASSOC);
     $rs = $ari->db->Execute($sql);
     $ari->db->SetFetchMode($savem);
     if ($rs && !$rs->EOF) {
         $return = new seguridad_permission(ID_UNDEFINED);
         $return->set("permission", $rs->fields["ID"]);
         $return->set("name", $rs->fields["Name"]);
         $return->set("nicename", $rs->fields["NiceName"]);
         $return->set("modulename", $rs->fields["ModuleName"]);
         $rs->Close();
     } else {
         $return = false;
     }
     return $return;
 }
Ejemplo n.º 3
0
    throw new OOB_exception("Acceso Denegado", "403", "Acceso Denegado. Consulte con su Administrador!", true);
}
$i = 0;
$modSelect = '';
$arrModulo = array();
$arrIdModulo = array();
if ($objModulo = OOB_module::listModules()) {
    //cargar modulos
    foreach ($objModulo as $m) {
        $modules[$i]['name'] = $m->nicename();
        //nombre
        $modules[$i]['id'] = $m->name();
        //id
        $perm_name = array();
        $perm_id = array();
        if ($objPermiso = seguridad_permission::listPermissionsFor($m, true)) {
            $j = 0;
            //cargar permisos para modulo actual
            foreach ($objPermiso as $p) {
                $perm_name[$j] = $p->get("nicename") . " (" . $p->get("name") . ")";
                $perm_id[$j] = $p->get("permission");
                $j++;
            }
        }
        $refrescados = array();
        //vemos si tenemos q refrescar algo
        if (isset($_POST['modulo']) && isset($_POST['permiso']) && isset($_POST['accion']) && isset($_POST['nicename']) && isset($_POST['inmenu'])) {
            //cargo el array refrescados
            $r = 0;
            for ($k = 0; $k < count($_POST['modulo']); $k++) {
                //me fijo si el elemento posteado actual es del modulo q recorro
Ejemplo n.º 4
0
 $padre['expanded'] = true;
 $padre['iconCls'] = 'Clsmodule';
 $name = '';
 $name = $m->name();
 //VEO SI EL MODULO ESTA EN EL ROL
 if ($modules_role) {
     if (in_array($name, $modules_role)) {
         $padre['checked'] = true;
     } else {
         $padre['checked'] = false;
     }
 } else {
     $padre['checked'] = false;
 }
 $padre['children'] = array();
 if ($permisos = seguridad_permission::listPermissionsFor($m)) {
     foreach ($permisos as $p) {
         $permiso = array();
         $permiso['leaf'] = false;
         $permiso['expanded'] = true;
         $permiso['id'] = "p_" . $p->get("permission");
         $permiso['text'] = $p->get("nicename");
         $permiso['children'] = array();
         $permiso['iconCls'] = 'Clspermiso';
         if ($acciones = seguridad_action::listActionsFor($p, ALL_MENU)) {
             foreach ($acciones as $a) {
                 $accion = array();
                 $accion['leaf'] = true;
                 $accion['id'] = "a_" . $a->get("action");
                 $accion['text'] = $a->get("nicename");
                 $accion['iconCls'] = 'Clsaccion';
Ejemplo n.º 5
0
 /** returns the module admin menu */
 public function adminMenu()
 {
     global $ari;
     if ($ari->get('user') == false || is_a($ari->module, 'OOB_module') == false) {
         return false;
     }
     $menu = "";
     $array_menu = array();
     // loads localized array
     @(include $this->admindir() . DIRECTORY_SEPARATOR . 'menu' . DIRECTORY_SEPARATOR . $ari->agent->getLang() . '.php');
     // cache del menu para cada modulo en cada usuario
     // Set a id for this cache
     $id = 'menu__' . $ari->agent->getLang() . '__' . $ari->user->get('user') . '-' . $this->name() . '.php';
     //Set cache options
     $options = array('cacheDir' => $ari->cachedir . DIRECTORY_SEPARATOR, 'lifeTime' => SQL_CACHE, 'fileNameProtection' => false, 'automaticSerialization' => true);
     // Create a Cache_Lite object
     $Cache_Lite = new Cache_Lite($options);
     // Test if thereis a valide cache for this id
     if ($menu = $Cache_Lite->get($id)) {
         return $menu;
     } else {
         // No valid cache found
         if ($permissions = seguridad_permission::listPermissionsFor($this)) {
             $menu = array();
             $i = 0;
             foreach ($permissions as $p) {
                 if ($actions = seguridad_action::listActionsFor($p, IN_MENU)) {
                     foreach ($actions as $a) {
                         if (seguridad::isAllowed($a, $ari->perspective)) {
                             if (!count($array_menu) == 0) {
                                 $menu[$i]['name'] = $array_menu[$p->get("name") . $a->get("name")];
                             } else {
                                 $menu[$i]['name'] = $a->get("nicename");
                             }
                             $menu[$i]['link'] = $this->name() . "/" . $p->get("name") . "/" . $a->get("name");
                             $i++;
                         }
                     }
                     //end foreach $actions
                 }
             }
             //end foreach $permissions
         }
         if (count($menu) == 0) {
             $menu = false;
         }
         $Cache_Lite->save($menu);
         return $menu;
     }
     // end cache
 }
Ejemplo n.º 6
0
$filtros = false;
if ($_POST['data'] != "") {
    $filtros = admin_session_state::cache_filters(json_decode($_POST['data'], true));
}
//FIN DE FILTROS
$i = 0;
$return = array();
if (!$filtros) {
    $filtros[] = array("field" => "status", "type" => "list", "value" => "1");
}
if ($list_permisos = seguridad_permission::listPermission()) {
    foreach ($list_permisos as $permiso) {
        $return[$i]['id'] = $permiso->get('permission');
        $return[$i]['nombre'] = $permiso->get('name');
        $return[$i]['descripcion'] = $permiso->get('nicename');
        // if($modulo = new OOB_module($permiso->get('modulename'))){
        // $return[$i]['module'] = $modulo->name(); // es como el id
        // $return[$i]['modulenicename'] = $modulo->nicename(); //detalle
        // }
        $i++;
    }
    //end each
}
//end if
$result = array();
$result["totalCount"] = seguridad_permission::permissionCount();
$result["topics"] = $return;
//RESULTADO
$obj_comunication = new OOB_ext_comunication();
$obj_comunication->set_data($result);
$obj_comunication->send(true, true);