ILIAS  trunk Revision v11.0_alpha-2662-g519ff7d528f
ILIAS\Repository\Deletion\PermissionStandardAdapter Class Reference
+ Inheritance diagram for ILIAS\Repository\Deletion\PermissionStandardAdapter:
+ Collaboration diagram for ILIAS\Repository\Deletion\PermissionStandardAdapter:

Public Member Functions

 __construct (protected \ilAccess $access, protected \ilRbacAdmin $rbacadmin, protected TreeInterface $tree)
 
 checkAccess (string $operation, int $ref_id)
 
 getRefIdsWithoutDeletePermission (array $ids)
 
 revokePermission (int $ref_id)
 

Detailed Description

Definition at line 23 of file PermissionStandardAdapter.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Repository\Deletion\PermissionStandardAdapter::__construct ( protected \ilAccess  $access,
protected \ilRbacAdmin  $rbacadmin,
protected TreeInterface  $tree 
)

Definition at line 25 of file PermissionStandardAdapter.php.

29  {
30  }

Member Function Documentation

◆ checkAccess()

ILIAS\Repository\Deletion\PermissionStandardAdapter::checkAccess ( string  $operation,
int  $ref_id 
)

Implements ILIAS\Repository\Deletion\PermissionInterface.

Definition at line 32 of file PermissionStandardAdapter.php.

References ILIAS\Repository\access().

32  : bool
33  {
34  return $this->access->checkAccess($operation, "", $ref_id);
35  }
$ref_id
Definition: ltiauth.php:65
+ Here is the call graph for this function:

◆ getRefIdsWithoutDeletePermission()

ILIAS\Repository\Deletion\PermissionStandardAdapter::getRefIdsWithoutDeletePermission ( array  $ids)

Implements ILIAS\Repository\Deletion\PermissionInterface.

Definition at line 37 of file PermissionStandardAdapter.php.

References $id, ILIAS\Repository\access(), and ILIAS\Repository\int().

37  : array
38  {
39  $not_deletable = [];
40  foreach ($ids as $id) {
41  if (!$this->access->checkAccess('delete', "", $id)) {
42  $not_deletable[] = (int) $id;
43  }
44 
45  $node_data = $this->tree->getNodeData($id);
46  $subtree_nodes = $this->tree->getSubTree($node_data);
47 
48  foreach ($subtree_nodes as $node) {
49  if ($node['type'] === 'rolf') {
50  continue;
51  }
52  if (!$this->access->checkAccess('delete', "", $node["child"])) {
53  $not_deletable[] = (int) $node["child"];
54  }
55  }
56  }
57  return $not_deletable;
58  }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
+ Here is the call graph for this function:

◆ revokePermission()

ILIAS\Repository\Deletion\PermissionStandardAdapter::revokePermission ( int  $ref_id)

Implements ILIAS\Repository\Deletion\PermissionInterface.

Definition at line 60 of file PermissionStandardAdapter.php.

60  : void
61  {
62  $this->rbacadmin->revokePermission($ref_id);
63  }
$ref_id
Definition: ltiauth.php:65

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