Пример #1
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;
 }