ILIAS  release_8 Revision v8.24
ilObjectAccess Class Reference

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V. 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

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V.

ILIAS is licensed with the GPL-3.0, see https://www.gnu.org/licenses/gpl-3.0.en.html You should have received a copy of said license along with the source code, too.

If this is not the case or you just want to try ILIAS, you'll find us at: https://www.ilias.de https://github.com/ILIAS-eLearning 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, ilObjBookingPoolAccess, ilObjChatroomAccess, ilObjCloudAccess, ilObjCourseAccess, ilObjCourseReferenceAccess, ilObjDataCollectionAccess, ilObjFolderAccess, ilObjGlossaryAccess, ilObjGroupAccess, ilObjGroupReferenceAccess, ilObjFileBasedLMAccess, ilObjItemGroupAccess, ilObjContentObjectAccess, ilObjLearningSequenceAccess, ilObjMediaCastAccess, ilObjPollAccess, ilObjPortfolioTemplateAccess, ilObjRemoteCourseAccess, ilObjRemoteGlossaryAccess, ilObjRemoteGroupAccess, ilObjRemoteLearningModuleAccess, ilObjRemoteTestAccess, ilObjRemoteWikiAccess, ilObjStudyProgrammeAccess, ilObjSurveyAccess, ilObjQuestionPoolAccess, ilObjLinkResourceAccess, ilObjWikiAccess, ilObjPrivacySecurityAccess, ilObjUserAccess, and ilObjWorkflowEngineAccess.

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

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

◆ _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, ilObjRootFolderAccess, ilObjSCORMVerificationAccess, ilObjSessionAccess, ilObjStudyProgrammeAccess, ilObjSurveyAccess, ilObjSurveyQuestionPoolAccess, ilObjTestAccess, ilObjTestVerificationAccess, ilObjQuestionPoolAccess, ilObjLinkResourceAccess, ilObjWikiAccess, ilObjWorkspaceFolderAccess, ilObjWorkspaceRootFolderAccess, ilObjectPluginAccess, and ilObjUserAccess.

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

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

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 95 of file class.ilObjectAccess.php.

95 : bool
96 {
97 global $DIC;
98
99 $objDefinition = $DIC['objDefinition'];
100 if ($objDefinition->supportsOfflineHandling(ilObject::_lookupType($obj_id))) {
101 return ilObject::lookupOfflineStatus($obj_id);
102 }
103 return false;
104 }
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 ilObjCmiXapiListGUI\getProperties(), and ilObjLTIConsumerListGUI\getProperties().

+ 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 116 of file class.ilObjectAccess.php.

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