ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
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)
 
 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.

Reimplemented in ilObjBibliographicAccess, ilObjBlogAccess, ilObjBookingPoolAccess, ilObjChatroomAccess, ilObjCourseAccess, ilObjCourseReferenceAccess, ilObjDataCollectionAccess, ilObjExerciseAccess, ilObjFileAccess, ilObjFolderAccess, ilObjGlossaryAccess, ilObjGroupAccess, ilObjGroupReferenceAccess, ilObjFileBasedLMAccess, ilObjItemGroupAccess, ilObjContentObjectAccess, ilObjLearningSequenceAccess, ilObjMediaCastAccess, ilObjMediaPoolAccess, ilObjPollAccess, ilObjPortfolioTemplateAccess, ilObjPrivacySecurityAccess, ilObjRemoteCourseAccess, ilObjRemoteGlossaryAccess, ilObjRemoteGroupAccess, ilObjRemoteLearningModuleAccess, ilObjRemoteTestAccess, ilObjRemoteWikiAccess, ilObjStudyProgrammeAccess, ilObjSurveyAccess, ilObjSurveyQuestionPoolAccess, ilObjTestAccess, ilObjQuestionPoolAccess, ilObjUserAccess, ilObjLinkResourceAccess, and ilObjWikiAccess.

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()

◆ _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}[]

Reimplemented in ilObjBibliographicAccess, ilObjBlogAccess, ilObjBookingPoolAccess, ilObjCategoryAccess, ilObjChatroomAccess, ilObjChatroomAdminAccess, ilObjCmiXapiAccess, ilObjCmiXapiVerificationAccess, ilObjContentPageAccess, ilObjCourseAccess, ilObjCourseVerificationAccess, ilObjDataCollectionAccess, ilObjTalkTemplateAccess, ilObjTalkTemplateAdministrationAccess, ilObjEmployeeTalkAccess, ilObjEmployeeTalkSeriesAccess, ilObjExerciseAccess, ilObjExerciseVerificationAccess, ilObjFileAccess, ilObjFolderAccess, ilObjForumAccess, ilObjGlossaryAccess, ilObjGroupAccess, ilObjFileBasedLMAccess, ilObjIndividualAssessmentAccess, ilObjItemGroupAccess, ilObjLearningModuleAccess, ilObjLearningSequenceAccess, ilObjLTIConsumerAccess, ilObjLTIConsumerVerificationAccess, ilObjMediaCastAccess, ilObjMediaPoolAccess, ilObjOrgUnitAccess, ilObjPollAccess, ilObjPortfolioTemplateAccess, ilObjRemoteCategoryAccess, ilObjRemoteCourseAccess, ilObjRemoteFileAccess, ilObjRemoteGlossaryAccess, ilObjRemoteGroupAccess, ilObjRemoteLearningModuleAccess, ilObjRemoteTestAccess, ilObjRemoteWikiAccess, ilObjectPluginAccess, ilObjRootFolderAccess, ilObjSCORMVerificationAccess, ilObjSessionAccess, ilObjStudyProgrammeAccess, ilObjSurveyAccess, ilObjSurveyQuestionPoolAccess, ilObjTestAccess, ilObjTestVerificationAccess, ilObjQuestionPoolAccess, ilObjUserAccess, ilObjLinkResourceAccess, ilObjWikiAccess, ilObjWorkspaceFolderAccess, and ilObjWorkspaceRootFolderAccess.

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

64 : array
65 {
66 return [];
67 }

Referenced by ilObjectListGUI\init(), ilObjSAHSLearningModuleListGUI\initItem(), and CategoryReferenceTest\testCommands().

+ 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

Reimplemented in ilObjCourseAccess, and ilObjTestAccess.

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

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 _lookupType(int $id, bool $reference=false)
static lookupOfflineStatus(int $obj_id)
Lookup offline status using objectDataCache.

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

Referenced by ilObjGlossaryAccess\_lookupOnline(), ilObjPortfolioTemplateAccess\_lookupOnline(), ilObjWikiAccess\_lookupOnline(), ilObjGlossaryAccess\_lookupOnlineStatus(), ilObjPortfolioTemplateAccess\_lookupOnlineStatus(), ilObjWikiAccess\_lookupOnlineStatus(), ilChatroom\checkPermissions(), ilObjCmiXapiListGUI\getProperties(), ilObjLTIConsumerListGUI\getProperties(), and ILIAS\Container\Content\Filter\FilterManager\legacyOnlineFilter().

+ 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

◆ canBeDelivered()

ilObjectAccess::canBeDelivered ( ilWACPath  $ilWACPath)

Implements ilWACCheckingClass.

Reimplemented in ilObjBlogAccess, ilObjBookingPoolAccess, ilObjChatroomAccess, ilObjExerciseAccess, ilObjFileAccess, ilObjPollAccess, ilObjTestAccess, and ilObjUserAccess.

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

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:66
$results

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

+ Here is the call graph for this function:

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