ILIAS  trunk Revision v11.0_alpha-1749-g1a06bdef097
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilObjectAccess Class Reference

Class ilObjectAccess. More...

+ Inheritance diagram for ilObjectAccess:
+ Collaboration diagram for ilObjectAccess:

Public Member Functions

 _checkAccess (string $cmd, string $permission, int $ref_id, int $obj_id, ?int $user_id=null)
 Checks whether a user may invoke a command or not (this method is called by ilAccessHandler::checkAccess) More...
 
 canBeDelivered (ilWACPath $ilWACPath)
 

Static Public Member Functions

static _getCommands ()
 get commands More...
 
static _checkGoto (string $target)
 check whether goto script will succeed More...
 
static _isOffline (int $obj_id)
 Type-specific implementation of general status, has to be overwritten if object type does not support centralized offline handling. More...
 
static _preloadData (array $obj_ids, array $ref_ids)
 Preload data. More...
 

Detailed Description

Class ilObjectAccess.

This class contains methods that check object specific conditions for access to objects. Every object type should provide an inherited class called ilObj<TypeName>Access

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 31 of file class.ilObjectAccess.php.

Member Function Documentation

◆ _checkAccess()

ilObjectAccess::_checkAccess ( string  $cmd,
string  $permission,
int  $ref_id,
int  $obj_id,
?int  $user_id = null 
)

Checks whether a user may invoke a command or not (this method is called by ilAccessHandler::checkAccess)

Please do not check any preconditions handled by ilConditionHandler here. Also don't do any RBAC checks.

Definition at line 40 of file class.ilObjectAccess.php.

40  : bool
41  {
42  // add no access info item and return false if access is not granted
43  // $ilAccess->addInfoItem(ilAccessInfo::IL_NO_OBJECT_ACCESS, $a_text, $a_data = "");
44  //
45  // for all RBAC checks use checkAccessOfUser instead the normal checkAccess-method:
46  // $rbacsystem->checkAccessOfUser($a_user_id, $a_permission, $a_ref_id)
47 
48  return true;
49  }

◆ _checkGoto()

static ilObjectAccess::_checkGoto ( string  $target)
static

check whether goto script will succeed

Definition at line 72 of file class.ilObjectAccess.php.

References $DIC.

72  : bool
73  {
74  global $DIC;
75  $ilAccess = $DIC->access();
76 
77  $arr = explode("_", $target);
78 
79  if (
80  $ilAccess->checkAccess("read", "", (int) $arr[1]) ||
81  $ilAccess->checkAccess("visible", "", (int) $arr[1])
82  ) {
83  return true;
84  }
85  return false;
86  }
global $DIC
Definition: shib_login.php:22

◆ _getCommands()

static ilObjectAccess::_getCommands ( )
static

get commands

this method returns an array of all possible commands/permission combinations

example: $commands = array ( array("permission" => "read", "cmd" => "view", "lang_var" => "show"), array("permission" => "write", "cmd" => "edit", "lang_var" => "edit"), );

Returns
array{permission?:string, cmd?:string, lang_var?:string, default?:bool}[]

Definition at line 64 of file class.ilObjectAccess.php.

Referenced by ilObjectListGUI\init(), ilObjSAHSLearningModuleListGUI\initItem(), ilObjStudyProgrammeReferenceListGUI\initItem(), ilObjCategoryReferenceListGUI\initItem(), ilObjGroupReferenceListGUI\initItem(), ilObjCourseReferenceListGUI\initItem(), and CategoryReferenceTest\testCommands().

64  : array
65  {
66  return [];
67  }
+ Here is the caller graph for this function:

◆ _isOffline()

static ilObjectAccess::_isOffline ( int  $obj_id)
static

Type-specific implementation of general status, has to be overwritten if object type does not support centralized offline handling.

Used in ListGUI and Learning Progress

Definition at line 94 of file class.ilObjectAccess.php.

References $DIC, ilObject\_lookupType(), and ilObject\lookupOfflineStatus().

Referenced by ilChatroom\checkPermissions(), ilObjCmiXapiListGUI\getProperties(), ilObjLTIConsumerListGUI\getProperties(), and ILIAS\UI\Component\Legacy\Content\Filter\FilterManager\legacyOnlineFilter().

94  : bool
95  {
96  global $DIC;
97 
98  $objDefinition = $DIC['objDefinition'];
99  if ($objDefinition->supportsOfflineHandling(ilObject::_lookupType($obj_id))) {
100  return ilObject::lookupOfflineStatus($obj_id);
101  }
102  return false;
103  }
static lookupOfflineStatus(int $obj_id)
Lookup offline status using objectDataCache.
global $DIC
Definition: shib_login.php:22
static _lookupType(int $id, bool $reference=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _preloadData()

static ilObjectAccess::_preloadData ( array  $obj_ids,
array  $ref_ids 
)
static

Preload data.

Definition at line 108 of file class.ilObjectAccess.php.

108  : void
109  {
110  }

◆ canBeDelivered()

ilObjectAccess::canBeDelivered ( ilWACPath  $ilWACPath)

Implements ilWACCheckingClass.

Definition at line 115 of file class.ilObjectAccess.php.

References $ref_id, $results, ilObject\_getAllReferences(), and ilWACPath\getPath().

115  : bool
116  {
117  global $ilAccess;
118 
119  if (preg_match("/\\/obj_([\\d]*)\\//uism", $ilWACPath->getPath(), $results)) {
120  foreach (ilObject2::_getAllReferences((int) $results[1]) as $ref_id) {
121  if ($ilAccess->checkAccess('visible', '', $ref_id) || $ilAccess->checkAccess('read', '', $ref_id)) {
122  return true;
123  }
124  }
125  }
126 
127  return false;
128  }
static _getAllReferences(int $id)
get all reference ids for object ID
$ref_id
Definition: ltiauth.php:65
$results
+ Here is the call graph for this function:

The documentation for this class was generated from the following file: