ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilUDFPermissionHelper 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 ilUDFPermissionHelper:
+ Collaboration diagram for ilUDFPermissionHelper:

Data Fields

const CONTEXT_UDF = 1
 
const CONTEXT_FIELD = 2
 
const ACTION_UDF_CREATE_FIELD = 1
 
const ACTION_FIELD_EDIT = 1
 
const ACTION_FIELD_DELETE = 2
 
const ACTION_FIELD_EDIT_PROPERTY = 3
 
const ACTION_FIELD_EDIT_ACCESS = 4
 
const SUBACTION_FIELD_TITLE = 1
 
const SUBACTION_FIELD_PROPERTIES = 2
 
const SUBACTION_FIELD_ACCESS_VISIBLE_PERSONAL = 1
 
const SUBACTION_FIELD_ACCESS_VISIBLE_REGISTRATION = 2
 
const SUBACTION_FIELD_ACCESS_VISIBLE_LOCAL = 3
 
const SUBACTION_FIELD_ACCESS_VISIBLE_COURSES = 4
 
const SUBACTION_FIELD_ACCESS_VISIBLE_GROUPS = 5
 
const SUBACTION_FIELD_ACCESS_CHANGEABLE_PERSONAL = 6
 
const SUBACTION_FIELD_ACCESS_CHANGEABLE_LOCAL = 7
 
const SUBACTION_FIELD_ACCESS_REQUIRED = 8
 
const SUBACTION_FIELD_ACCESS_EXPORT = 9
 
const SUBACTION_FIELD_ACCESS_SEARCHABLE = 10
 
const SUBACTION_FIELD_ACCESS_CERTIFICATE = 11
 

Protected Member Functions

 readContextIds (int $a_context_type)
 
 buildPermissionMap ()
 
 getActivePlugins ()
 
- Protected Member Functions inherited from ilClaimingPermissionHelper
 __construct (int $a_user_id, int $a_ref_id)
 
 setUserId (int $a_value)
 
 getUserId ()
 
 setRefId (int $a_value)
 
 getRefId ()
 
 readContextIds (int $a_context_type)
 Get all context ids for context type (from DB, is cached) More...
 
 buildPermissionMap ()
 Build map of context and actions. More...
 
 isValidContextAndAction (int $a_context_type, string $a_context_id, int $a_action_id, ?int $a_action_sub_id=null)
 Check if given combination of context and action is valid. More...
 
 getValidContextIds (int $a_context_type)
 Get context ids for context type (uses cache) More...
 
 checkPermission (int $a_context_type, string $a_context_id, int $a_action_id, ?int $a_action_sub_id=null)
 Check permission (helper: rbac, plugins) More...
 
 checkRBAC ()
 Check permission against RBAC. More...
 
 getActivePlugins ()
 Get active plugins (for current slot) More...
 
 checkPlugins (int $a_context_type, string $a_context_id, int $a_action_id, ?int $a_action_sub_id=null)
 Check permission against plugins. More...
 

Additional Inherited Members

- Public Member Functions inherited from ilClaimingPermissionHelper
 reset ()
 Reset (internal caches) More...
 
 hasPermission (int $a_context_type, string $a_context_id, int $a_action_id, ?int $a_action_sub_id=null)
 Check permission. More...
 
 hasPermissions (int $a_context_type, string $a_context_id, array $a_action_ids)
 Check permissions. More...
 
 getAllowedObjectTypes ()
 
- Static Public Member Functions inherited from ilClaimingPermissionHelper
static getInstance (int $a_user_id, int $a_ref_id)
 
- Protected Attributes inherited from ilClaimingPermissionHelper
int $user_id = 0
 
int $ref_id = 0
 
array $map = []
 
array $context_ids = []
 
array $plugins = null
 
- Static Protected Attributes inherited from ilClaimingPermissionHelper
static array $instances = []
 

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 UDF permission helper

Author
Jörg Lützenkirchen luetz.nosp@m.enki.nosp@m.rchen.nosp@m.@lei.nosp@m.fos.c.nosp@m.om

Definition at line 23 of file class.ilUDFPermissionHelper.php.

Member Function Documentation

◆ buildPermissionMap()

ilUDFPermissionHelper::buildPermissionMap ( )
protected

Definition at line 82 of file class.ilUDFPermissionHelper.php.

82  : array // Missing array type.
83  {
84  return array(
85  self::CONTEXT_UDF => array(
86  "actions" => array(
87  self::ACTION_UDF_CREATE_FIELD
88  )
89  ),
90  self::CONTEXT_FIELD => array(
91  "actions" => array(
92  self::ACTION_FIELD_EDIT,
93  self::ACTION_FIELD_DELETE
94  ),
95  "subactions" => array(
96  self::ACTION_FIELD_EDIT_PROPERTY =>
97  array(
98  self::SUBACTION_FIELD_TITLE
99  ,self::SUBACTION_FIELD_PROPERTIES
100  )
101  ,self::ACTION_FIELD_EDIT_ACCESS =>
102  array(
103  self::SUBACTION_FIELD_ACCESS_VISIBLE_PERSONAL
104  ,self::SUBACTION_FIELD_ACCESS_VISIBLE_REGISTRATION
105  ,self::SUBACTION_FIELD_ACCESS_VISIBLE_LOCAL
106  ,self::SUBACTION_FIELD_ACCESS_VISIBLE_COURSES
107  ,self::SUBACTION_FIELD_ACCESS_VISIBLE_GROUPS
108  ,self::SUBACTION_FIELD_ACCESS_CHANGEABLE_PERSONAL
109  ,self::SUBACTION_FIELD_ACCESS_CHANGEABLE_LOCAL
110  ,self::SUBACTION_FIELD_ACCESS_REQUIRED
111  ,self::SUBACTION_FIELD_ACCESS_EXPORT
112  ,self::SUBACTION_FIELD_ACCESS_SEARCHABLE
113  ,self::SUBACTION_FIELD_ACCESS_CERTIFICATE
114  )
115  )
116  )
117  );
118  }

◆ getActivePlugins()

ilUDFPermissionHelper::getActivePlugins ( )
protected

Definition at line 123 of file class.ilUDFPermissionHelper.php.

References $DIC.

123  : Generator // Missing array type.
124  {
125  global $DIC;
126  $component_factory = $DIC["component.factory"];
127  yield from $component_factory->getActivePluginsInSlot("udfc");
128  }
global $DIC
Definition: feed.php:28

◆ readContextIds()

ilUDFPermissionHelper::readContextIds ( int  $a_context_type)
protected

Definition at line 53 of file class.ilUDFPermissionHelper.php.

References $DIC, $ilDB, $res, and ilClaimingPermissionHelper\getRefId().

53  : array // Missing array type.
54  {
55  global $DIC;
56 
57  $ilDB = $DIC['ilDB'];
58 
59  switch ($a_context_type) {
60  case self::CONTEXT_UDF:
61  return array($this->getRefId());
62 
63  case self::CONTEXT_FIELD:
64  $set = $ilDB->query("SELECT field_id id" .
65  " FROM udf_definition");
66  break;
67 
68  default:
69  return array();
70  }
71 
72  $res = array();
73  while ($row = $ilDB->fetchAssoc($set)) {
74  $res[] = $row["id"];
75  }
76  return $res;
77  }
$res
Definition: ltiservices.php:69
global $DIC
Definition: feed.php:28
+ Here is the call graph for this function:

Field Documentation

◆ ACTION_FIELD_DELETE

const ilUDFPermissionHelper::ACTION_FIELD_DELETE = 2

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

Referenced by ilCustomUserFieldsGUI\deleteField().

◆ ACTION_FIELD_EDIT

const ilUDFPermissionHelper::ACTION_FIELD_EDIT = 1

◆ ACTION_FIELD_EDIT_ACCESS

◆ ACTION_FIELD_EDIT_PROPERTY

const ilUDFPermissionHelper::ACTION_FIELD_EDIT_PROPERTY = 3

◆ ACTION_UDF_CREATE_FIELD

const ilUDFPermissionHelper::ACTION_UDF_CREATE_FIELD = 1

◆ CONTEXT_FIELD

◆ CONTEXT_UDF

const ilUDFPermissionHelper::CONTEXT_UDF = 1

◆ SUBACTION_FIELD_ACCESS_CERTIFICATE

◆ SUBACTION_FIELD_ACCESS_CHANGEABLE_LOCAL

◆ SUBACTION_FIELD_ACCESS_CHANGEABLE_PERSONAL

◆ SUBACTION_FIELD_ACCESS_EXPORT

◆ SUBACTION_FIELD_ACCESS_REQUIRED

◆ SUBACTION_FIELD_ACCESS_SEARCHABLE

◆ SUBACTION_FIELD_ACCESS_VISIBLE_COURSES

◆ SUBACTION_FIELD_ACCESS_VISIBLE_GROUPS

◆ SUBACTION_FIELD_ACCESS_VISIBLE_LOCAL

◆ SUBACTION_FIELD_ACCESS_VISIBLE_PERSONAL

◆ SUBACTION_FIELD_ACCESS_VISIBLE_REGISTRATION

◆ SUBACTION_FIELD_PROPERTIES

const ilUDFPermissionHelper::SUBACTION_FIELD_PROPERTIES = 2

◆ SUBACTION_FIELD_TITLE

const ilUDFPermissionHelper::SUBACTION_FIELD_TITLE = 1

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