ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
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
 
const SUBACTION_FIELD_ACCESS_VISIBLE_PRG = 12
 

Protected Member Functions

 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...
 
 getActivePlugins ()
 Get active plugins (for current slot) More...
 
- 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

Build map of context and actions.

Reimplemented from ilClaimingPermissionHelper.

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

82 : array // Missing array type.
83 {
84 return [
85 self::CONTEXT_UDF => [
86 "actions" => [
88 ]
89 ],
90 self::CONTEXT_FIELD => [
91 "actions" => [
94 ],
95 "subactions" => [
96 self::ACTION_FIELD_EDIT_PROPERTY =>
97 [
100 ]
101 ,self::ACTION_FIELD_EDIT_ACCESS =>
102 [
115 ]
116 ]
117 ]
118 ];
119 }

References ACTION_FIELD_DELETE, ACTION_FIELD_EDIT, ACTION_UDF_CREATE_FIELD, 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_PRG, SUBACTION_FIELD_ACCESS_VISIBLE_REGISTRATION, SUBACTION_FIELD_PROPERTIES, and SUBACTION_FIELD_TITLE.

◆ getActivePlugins()

ilUDFPermissionHelper::getActivePlugins ( )
protected

Get active plugins (for current slot)

Reimplemented from ilClaimingPermissionHelper.

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

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

References $DIC, and ILIAS\ResourceStorage\Flavour\Machine\DefaultMachines\from().

+ Here is the call graph for this function:

◆ readContextIds()

ilUDFPermissionHelper::readContextIds ( int  $a_context_type)
protected

Get all context ids for context type (from DB, is cached)

Reimplemented from ilClaimingPermissionHelper.

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

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

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

+ 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 buildPermissionMap().

◆ ACTION_FIELD_EDIT

const ilUDFPermissionHelper::ACTION_FIELD_EDIT = 1

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

Referenced by buildPermissionMap().

◆ ACTION_FIELD_EDIT_ACCESS

const ilUDFPermissionHelper::ACTION_FIELD_EDIT_ACCESS = 4

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

◆ ACTION_FIELD_EDIT_PROPERTY

const ilUDFPermissionHelper::ACTION_FIELD_EDIT_PROPERTY = 3

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

◆ ACTION_UDF_CREATE_FIELD

const ilUDFPermissionHelper::ACTION_UDF_CREATE_FIELD = 1

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

Referenced by buildPermissionMap().

◆ CONTEXT_FIELD

const ilUDFPermissionHelper::CONTEXT_FIELD = 2

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

Referenced by readContextIds().

◆ CONTEXT_UDF

const ilUDFPermissionHelper::CONTEXT_UDF = 1

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

Referenced by readContextIds().

◆ SUBACTION_FIELD_ACCESS_CERTIFICATE

const ilUDFPermissionHelper::SUBACTION_FIELD_ACCESS_CERTIFICATE = 11

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

Referenced by buildPermissionMap().

◆ SUBACTION_FIELD_ACCESS_CHANGEABLE_LOCAL

const ilUDFPermissionHelper::SUBACTION_FIELD_ACCESS_CHANGEABLE_LOCAL = 7

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

Referenced by buildPermissionMap().

◆ SUBACTION_FIELD_ACCESS_CHANGEABLE_PERSONAL

const ilUDFPermissionHelper::SUBACTION_FIELD_ACCESS_CHANGEABLE_PERSONAL = 6

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

Referenced by buildPermissionMap().

◆ SUBACTION_FIELD_ACCESS_EXPORT

const ilUDFPermissionHelper::SUBACTION_FIELD_ACCESS_EXPORT = 9

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

Referenced by buildPermissionMap().

◆ SUBACTION_FIELD_ACCESS_REQUIRED

const ilUDFPermissionHelper::SUBACTION_FIELD_ACCESS_REQUIRED = 8

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

Referenced by buildPermissionMap().

◆ SUBACTION_FIELD_ACCESS_SEARCHABLE

const ilUDFPermissionHelper::SUBACTION_FIELD_ACCESS_SEARCHABLE = 10

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

Referenced by buildPermissionMap().

◆ SUBACTION_FIELD_ACCESS_VISIBLE_COURSES

const ilUDFPermissionHelper::SUBACTION_FIELD_ACCESS_VISIBLE_COURSES = 4

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

Referenced by buildPermissionMap().

◆ SUBACTION_FIELD_ACCESS_VISIBLE_GROUPS

const ilUDFPermissionHelper::SUBACTION_FIELD_ACCESS_VISIBLE_GROUPS = 5

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

Referenced by buildPermissionMap().

◆ SUBACTION_FIELD_ACCESS_VISIBLE_LOCAL

const ilUDFPermissionHelper::SUBACTION_FIELD_ACCESS_VISIBLE_LOCAL = 3

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

Referenced by buildPermissionMap().

◆ SUBACTION_FIELD_ACCESS_VISIBLE_PERSONAL

const ilUDFPermissionHelper::SUBACTION_FIELD_ACCESS_VISIBLE_PERSONAL = 1

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

Referenced by buildPermissionMap().

◆ SUBACTION_FIELD_ACCESS_VISIBLE_PRG

const ilUDFPermissionHelper::SUBACTION_FIELD_ACCESS_VISIBLE_PRG = 12

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

Referenced by buildPermissionMap().

◆ SUBACTION_FIELD_ACCESS_VISIBLE_REGISTRATION

const ilUDFPermissionHelper::SUBACTION_FIELD_ACCESS_VISIBLE_REGISTRATION = 2

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

Referenced by buildPermissionMap().

◆ SUBACTION_FIELD_PROPERTIES

const ilUDFPermissionHelper::SUBACTION_FIELD_PROPERTIES = 2

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

Referenced by buildPermissionMap().

◆ SUBACTION_FIELD_TITLE

const ilUDFPermissionHelper::SUBACTION_FIELD_TITLE = 1

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

Referenced by buildPermissionMap().


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