ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
ILIAS\FileServices\Policy\UploadRestrictionBypassLegacyProxy Class Reference

Resolves the bypass permission through the legacy container, since the public RBAC surface of AccessControl does not offer a permission check yet. More...

+ Inheritance diagram for ILIAS\FileServices\Policy\UploadRestrictionBypassLegacyProxy:
+ Collaboration diagram for ILIAS\FileServices\Policy\UploadRestrictionBypassLegacyProxy:

Public Member Functions

 isGrantedToCurrentUser ()
 
 isGrantedToCurrentUser ()
 

Private Member Functions

 determineFileAdminRefId ()
 

Private Attributes

const string PERMISSION = 'upload_blacklisted_files'
 
bool $granted = null
 

Detailed Description

Resolves the bypass permission through the legacy container, since the public RBAC surface of AccessControl does not offer a permission check yet.

Without a constructor it can be built at build time; the container is only read once the check actually runs.

Author
Fabian Schmid fabia.nosp@m.n@sr.nosp@m..solu.nosp@m.tion.nosp@m.s

Definition at line 32 of file UploadRestrictionBypassLegacyProxy.php.

Member Function Documentation

◆ determineFileAdminRefId()

ILIAS\FileServices\Policy\UploadRestrictionBypassLegacyProxy::determineFileAdminRefId ( )
private

Definition at line 53 of file UploadRestrictionBypassLegacyProxy.php.

53 : int
54 {
55 global $DIC;
56 try {
57 $r = $DIC->database()->query(
58 "SELECT ref_id FROM object_reference JOIN object_data ON object_reference.obj_id = object_data.obj_id WHERE object_data.type = 'facs';"
59 );
60 $r = $DIC->database()->fetchObject($r);
61 return (int) ($r->ref_id ?? 0);
62 } catch (\Throwable) {
63 return 0;
64 }
65 }
global $DIC
Definition: shib_login.php:26

References $DIC.

Referenced by ILIAS\FileServices\Policy\UploadRestrictionBypassLegacyProxy\isGrantedToCurrentUser().

+ Here is the caller graph for this function:

◆ isGrantedToCurrentUser()

ILIAS\FileServices\Policy\UploadRestrictionBypassLegacyProxy::isGrantedToCurrentUser ( )

Implements ILIAS\FileServices\Policy\UploadRestrictionBypass.

Definition at line 38 of file UploadRestrictionBypassLegacyProxy.php.

38 : bool
39 {
40 if ($this->granted !== null) {
41 return $this->granted;
42 }
43
44 global $DIC;
45 return $this->granted = ($DIC->isDependencyAvailable('rbac')
46 && isset($DIC['rbacsystem'])
47 && $DIC->rbac()->system()->checkAccess(
48 self::PERMISSION,
50 ));
51 }

References $DIC, ILIAS\FileServices\Policy\UploadRestrictionBypassLegacyProxy\$granted, and ILIAS\FileServices\Policy\UploadRestrictionBypassLegacyProxy\determineFileAdminRefId().

+ Here is the call graph for this function:

Field Documentation

◆ $granted

bool ILIAS\FileServices\Policy\UploadRestrictionBypassLegacyProxy::$granted = null
private

◆ PERMISSION

const string ILIAS\FileServices\Policy\UploadRestrictionBypassLegacyProxy::PERMISSION = 'upload_blacklisted_files'
private

Definition at line 34 of file UploadRestrictionBypassLegacyProxy.php.


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