Пример #1
0
}
if (!isset($_POST['limit'])) {
    $_POST['limit'] = PAGE_SIZE;
}
if (!isset($_POST['data'])) {
    $_POST['data'] = "";
}
$start = $_POST["start"];
$count = $_POST["limit"];
//Para eliminar Roles
if (isset($_POST['DeleteRolData'])) {
    //se decodifica el json en un array y hacemos each para recorrer los roles que desea eliminar el usuario
    $change_status = json_decode($_POST['DeleteRolData'], true);
    $ari->db->StartTrans();
    foreach ($change_status as $id_rol) {
        $rol = new seguridad_role($id_rol['id']);
        $rol->delete();
    }
    if ($ari->db->CompleteTrans()) {
        $ari->clearCache();
    }
}
//FILTRO POR COLUMNAS
$where = "";
if (trim($_POST['data']) != "") {
    $filtros = false;
    $filtros = admin_session_state::cache_filters(json_decode($_POST['data'], true));
    $operadores = array();
    $operadores["eq"] = "=";
    $operadores["lt"] = "<";
    $operadores["gt"] = ">";
Пример #2
0
             $tmpUser = new oob_user($real_members_users[$i]);
             $role->removeUser($tmpUser);
         }
     }
     for ($i = 0; $i < count($miebros_usuarios); $i++) {
         if (!in_array($miebros_usuarios[$i], $real_members_users)) {
             $tmpUser = new oob_user($miebros_usuarios[$i]);
             $role->addUser($tmpUser);
         }
     }
 }
 if (isset($_POST['grupos'])) {
     //GRUPOS
     $miebros_grupos = split(",", $_POST['grupos']);
     $real_members_groups = array();
     if ($grupos = seguridad_role::listGroupsFor($role)) {
         foreach ($grupos as $g) {
             $real_members_groups[] = $g->get('group');
         }
     }
     for ($i = 0; $i < count($real_members_groups); $i++) {
         if (!in_array($real_members_groups[$i], $miebros_grupos)) {
             $tmpGroup = new seguridad_group($real_members_groups[$i]);
             $role->removeGroup($tmpGroup);
         }
     }
     for ($i = 0; $i < count($miebros_grupos); $i++) {
         if (!in_array($miebros_grupos[$i], $real_members_groups)) {
             $tmpGroup = new seguridad_group($miebros_grupos[$i]);
             $role->addGroup($tmpGroup);
         }
Пример #3
0
            if (!in_array($real_members_users[$i], $miebros_usuarios)) {
                $tmpUser = new oob_user($real_members_users[$i]);
                $role->removeUser($tmpUser);
            }
        }
        for ($i = 0; $i < count($miebros_usuarios); $i++) {
            if (!in_array($miebros_usuarios[$i], $real_members_users)) {
                $tmpUser = new oob_user($miebros_usuarios[$i]);
                $role->addUser($tmpUser);
            }
        }
    }
    $return = array();
    $i = 0;
    if ($value != "") {
        if ($usuarios = seguridad_role::searchNoMembers($value, DELETED, OPERATOR_DISTINCT, $role, USER)) {
            foreach ($usuarios as $u) {
                $return[$i]['id'] = $u->get('user');
                $return[$i]['uname'] = $u->name();
                $i++;
            }
        }
    }
    $result["totalCount"] = $i;
    $result["topics"] = $return;
} else {
    throw new OOB_Exception_400("La variable [id] no esta definida");
}
//RESULTADO
$obj_comunication = new OOB_ext_comunication();
$obj_comunication->set_data($result);
Пример #4
0
 /** metodo privado que hace la busqueda de permiso en el arbol */
 private static function isObjectAllowedByInheritance($action, &$currentUserRoles, &$tree)
 {
     if (!is_array($tree)) {
         return false;
     }
     $tree = array_reverse($tree);
     foreach ($tree as $elemento) {
         // veamos q no tenga permisos propios, y si tiene cortamos ahi
         if ($roles = seguridad_role::listRoles(USED, 'name', OPERATOR_EQUAL)) {
             $arrayRoles = array();
             foreach ($roles as $r) {
                 //verifico si tiene permiso de ver
                 if (seguridad::getObjectPermission($action, $r, $elemento->object())) {
                     $arrayRoles[] = true;
                 }
             }
         }
         //end if reload de seguridad
         if (seguridad::getPermissionForAnyObject($action, $currentUserRoles, $elemento->object())) {
             return true;
         } else {
             if (count($arrayRoles) > 0) {
                 return false;
             }
         }
     }
     return false;
 }
Пример #5
0
<?php

//codigo por jpcoseani
//script que devuelve el listrado de grupos no miembros de un rol
global $ari;
$ari->popup = 1;
// no mostrar el main_frame
$i = 0;
$return = array();
if (isset($_POST['id'])) {
    $role = new seguridad_role($_POST['id']);
    if ($grupos = seguridad_role::searchNoMembers('', DELETED, OPERATOR_DISTINCT, $role, GROUP)) {
        foreach ($grupos as $u) {
            $return[$i]['id'] = $u->get('group');
            $return[$i]['uname'] = $u->get('name');
            $i++;
        }
    }
} else {
    throw new OOB_Exception_400("La variable [id] no esta definida");
}
$result = array();
$result["totalCount"] = $i;
$result["topics"] = $return;
//RESULTADO
$obj_comunication = new OOB_ext_comunication();
$obj_comunication->set_data($result);
$obj_comunication->send(true, true);
Пример #6
0
 /** Lista Roles para la lista de confiados */
 public static function listRolesForTrustees($trustees = YES, $sort = 'name', $operator = OPERATOR_EQUAL)
 {
     global $ari;
     if (trim($trustees) != "") {
         $trustees = $ari->db->qMagic($trustees);
         $trustees = " AND `Trustees` {$operator} {$trustees} ";
     }
     if (in_array($sort, seguridad_role::getOrders())) {
         $sortby = "ORDER BY `{$sort}`";
     } else {
         $sortby = "ORDER BY `Name`";
     }
     $savem = $ari->db->SetFetchMode(ADODB_FETCH_ASSOC);
     $sql = "SELECT `ID`, `Name`, `Description`, `Status`, `Anonymous`, `Trustees`\n\t\t\t   FROM `Security_Role`\n\t\t\t   WHERE Status = '" . USED . "'  \n\t\t\t   {$trustees} {$sortby}";
     $rs = $ari->db->Execute($sql);
     $ari->db->SetFetchMode($savem);
     $i = 0;
     if ($rs && !$rs->EOF) {
         while (!$rs->EOF) {
             $return[$i] = new seguridad_role(ID_UNDEFINED);
             $return[$i]->set("role", $rs->fields["ID"]);
             $return[$i]->set("name", $rs->fields["Name"]);
             $return[$i]->set("description", $rs->fields["Description"]);
             $return[$i]->set("status", $rs->fields["Status"]);
             $return[$i]->set("anonymous", $rs->fields["Anonymous"]);
             $return[$i]->set("trustees", $rs->fields["Trustees"]);
             $i++;
             $rs->MoveNext();
         }
     } else {
         $return = false;
     }
     $rs->Close();
     return $return;
 }
Пример #7
0
<?php

//codigo por jpcoseani
//script que devuelve el listado de usuarios miembros de un rol
global $ari;
$ari->popup = 1;
// no mostrar el main_frame
$i = 0;
$return = array();
$result = array();
if (isset($_POST['id'])) {
    $role = new seguridad_role($_POST['id']);
    if ($usuarios = seguridad_role::listUsersFor($role)) {
        foreach ($usuarios as $u) {
            $return[$i]['id'] = $u->get('user');
            $return[$i]['uname'] = $u->name();
            $i++;
        }
    }
    $result["totalCount"] = $i;
    $result["topics"] = $return;
} else {
    throw new OOB_Exception_400("La variable [id] no esta definida");
}
//RESULTADO
$obj_comunication = new OOB_ext_comunication();
$obj_comunication->set_data($result);
$obj_comunication->send(true, true);
Пример #8
0
<?php

//codigo por jpcoseani
//script que devuelve el listado de modulos de un rol determinado
global $ari;
$ari->popup = 1;
// no mostrar el main_frame
//falta controlar si viene el id del rol y validar si el rol se crea correctamente
if (isset($_POST['id'])) {
    $role = new seguridad_role($_POST['id']);
} else {
    throw new OOB_Exception_400("La variable [id] no esta definida");
}
//ARRAY CON LOS MODULOS DEL ROLE
$modules_role = false;
$modules_role = seguridad_role::listModulesFor($role, false);
$modulos = array();
if ($modules = OOB_module::listModules()) {
    foreach ($modules as $m) {
        $padre = array();
        $padre['leaf'] = false;
        $padre['id'] = "m_" . $m->name();
        $padre['text'] = $m->nicename();
        $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;
Пример #9
0
    $return = array();
    foreach ($roles_miembros as $m) {
        $m = new seguridad_role($m);
        $return[$i]['id'] = $m->get('role');
        $return[$i]['name'] = $m->get('name');
        ++$i;
    }
    $ari->t->assign("roles_miembros", $return);
}
//end if
//search roles no members
if ($roles = oob_perspective::searchNoMembers("", DELETED, OPERATOR_DISTINCT, $perspective->name(), ROLE)) {
    $i = 0;
    $return = array();
    foreach ($roles as $r) {
        $r = new seguridad_role($r);
        $return[$i]['id'] = $r->get('role');
        $return[$i]['name'] = $r->get('name');
        ++$i;
    }
    $ari->t->assign("roles", $return);
}
//end if
//Adds the selected modules
if (isset($_POST['AddModule']) && isset($_POST['modules_select'])) {
    foreach ($_POST['modules_select'] as $name_module) {
        $perspective->addModule($name_module);
    }
}
// end if isset
//Removes the selected modules
Пример #10
0
include_once 'PhpExt/Tree/TreePanel.php';
include_once 'PhpExt/Tree/AsyncTreeNode.php';
include_once 'PhpExt/Tree/TreeLoader.php';
include_once 'PhpExt/Tree/MultiSelectionModel.php';
include_once 'PhpExt/Tree/TreeNode.php';
include_once 'PhpExt/Element.php';
include_once 'PhpExt/Form/Hidden.php';
include_once 'PhpExt/Form/Checkbox.php';
include_once 'PhpExtUx/App/SearchField.php';
global $ari;
$ari->popup = 1;
// no mostrar el main_frame
$grid_id = '';
$role = '';
if (isset($_POST['id'])) {
    $role = new seguridad_role($_POST['id']);
} else {
    throw new OOB_Exception_400("La variable [id] no esta definida");
}
PhpExt_Javascript::sendContentType();
if (isset($_POST['gid'])) {
    $grid_id = $_POST['gid'];
}
$field_width = 180;
//ancho de los controles
$page_size = PAGE_SIZE;
//CONTROLES
//nombre del role
$txt_nombre = PhpExt_Form_TextField::createTextField("txt_nombre", "Nombre")->setWidth($field_width)->setMsgTarget(PhpExt_Form_FormPanel::MSG_TARGET_SIDE)->setValue($role->get("name"));
//descripcion del role
$txt_descripcion = PhpExt_Form_TextArea::createTextArea("txt_descripcion", "Descripci&oacute;n")->setMsgTarget(PhpExt_Form_FormPanel::MSG_TARGET_SIDE)->setWidth($field_width)->setValue($role->get("description"));
Пример #11
0
 public static function adminFullMenu()
 {
     global $ari;
     //		$return  = OOB_module::listModules ('enabled', false);
     $roles = array();
     $mismodulos = array();
     $return = false;
     if ($ari->get('user') == false) {
         return false;
     }
     //-----------
     // cache del menu para cada usuario
     // Set a id for this cache
     $id = 'admin_fullmenu__' . $ari->agent->getLang() . '__' . $ari->user->get('user') . '.php';
     //Set cache options
     $options = array('cacheDir' => $ari->cachedir . DIRECTORY_SEPARATOR, 'lifeTime' => 9000, 'fileNameProtection' => false, 'automaticSerialization' => true);
     // 'onlyMemoryCaching' => true,
     //  'memoryCaching' => true
     // Create a Cache_Lite object
     $Cache_Lite = new Cache_Lite($options);
     // Test if thereis a valide cache for this id
     if ($return = $Cache_Lite->get($id)) {
         return $return;
     } else {
         // No valid cache found
         if ($roles = seguridad_role::myRoles($ari->get('user'))) {
             foreach ($roles as $role) {
                 if ($mods = seguridad_role::listModulesFor($role)) {
                     $mismodulos = array_merge($mismodulos, $mods);
                 }
             }
         }
         // in some weird situations array_unique doesn't work, probably because
         // it s an object array
         $out = array();
         $list = array();
         foreach ($mismodulos as $key => $so) {
             if (!in_array($so->name(), $list)) {
                 $list[] = $so->name();
                 $out[$key] = $so;
             }
         }
         $mismodulos = $out;
         if (count($mismodulos) > 0) {
             $i = 0;
             foreach ($mismodulos as $modula) {
                 $menu = $modula->adminMenu();
                 if ($modula->isenabled() && count($menu)) {
                     $return[$i]["name"] = $modula->nicename();
                     $return[$i]["id"] = $modula->name();
                     $return[$i]['menu'] = $menu;
                     $i++;
                 }
             }
         }
         $Cache_Lite->save($return);
         return $return;
     }
 }
Пример #12
0
<?php

#OOB/N1 Framework [2008 - Nutus] - PM
// Código por JPC
// Script que PROCESA LOS DATOS DEL FORM NUEVO  ROL
global $ari;
$ari->popup = 1;
$resultado = array();
$resultado["errors"] = array();
$resultado["success"] = false;
$role = new seguridad_role();
if (isset($_POST['txt_descripcion'])) {
    $role->set('description', $_POST['txt_descripcion']);
} else {
    throw new OOB_Exception_400("La variable [txt_descripcion] no esta definida");
}
if (isset($_POST['txt_nombre'])) {
    $role->set('name', $_POST['txt_nombre']);
} else {
    throw new OOB_Exception_400("La variable [txt_nombre] no esta definida");
}
if (isset($_POST['chk_anonimo'])) {
    $role->set('anonymous', ANONIMO);
} else {
    $role->set('anonymous', NO_ANONIMO);
}
//confiable
if (isset($_POST['chk_confiados'])) {
    $role->set('trustees', YES);
} else {
    $role->set('trustees', NO);