3 declare(strict_types=1);
    42         $this->
logger = $DIC->logger()->sysc();
    43         $this->db = $DIC->database();
    44         $this->tree = $DIC->repositoryTree();
    45         $this->admin = $DIC->rbac()->admin();
    52         $this->limit_number = $a_limit;
    62         $this->limit_age = $dt;
    72         $this->limit_types = $a_types;
    80     public function setMode(
int $a_mode): void
    82         $this->mode = $a_mode;
    92         $this->
logger->info(
'Handling delete');
    94             case self::MODE_TRASH_RESTORE:
    95                 $this->
logger->info(
'Restore trash to recovery folder');
   100             case self::MODE_TRASH_REMOVE:
   101                 $this->
logger->info(
'Remove selected from system.');
   116         $this->
logger->info(
'Found deleted : ' . print_r($deleted, 
true));
   119         foreach ($deleted as $tmp_num => $deleted_info) {
   120             $child_id = (
int) ($deleted_info[
'child'] ?? 0);
   122             if (!$ref_obj instanceof 
ilObject) {
   126             $this->tree->deleteNode((
int) ($deleted_info[
'tree'] ?? 0), $child_id);
   127             $this->
logger->info(
'Object tree entry deleted');
   129             if ($ref_obj->getType() !== 
'rolf') {
   130                 $this->admin->revokePermission($child_id);
   133                 $this->
logger->info(
'Object moved to recovery folder');
   141         foreach ($deleted as $del_num => $deleted_info) {
   142             $sub_nodes = $this->
readDeleted((
int) ($deleted_info[
'tree'] ?? 0));
   144             foreach ($sub_nodes as $sub_num => $subnode_info) {
   146                 if (!$ref_obj instanceof 
ilObject) {
   173         if ($age_limit > 0) {
   174             $and_age = 
'AND r.deleted < ' . $this->db->quote(
   184         $query = 
'SELECT child,tree FROM tree t JOIN object_reference r ON child = r.ref_id ' .
   185             'JOIN object_data o on r.obj_id = o.obj_id ' .
   187             'AND child = -tree ';
   190         $query .= $and_types;
   191         $query .= 
'ORDER BY depth desc ';
   194         $this->
logger->info($query);
   197         $res = $this->db->query($query);
   200                 'tree' => $row->tree,
   201                 'child' => $row->child
   209         $query = 
'SELECT child,tree FROM tree t JOIN object_reference r ON child = r.ref_id ' .
   210             'JOIN object_data o on r.obj_id = o.obj_id ';
   212         if ($tree_id === null) {
   213             $query .= 
'WHERE tree < ' . $this->db->quote(0, 
'integer') . 
' ';
   215             $query .= 
'WHERE tree = ' . $this->db->quote($tree_id, 
'integer') . 
' ';
   217         $query .= 
'ORDER BY depth desc';
   219         $res = $this->db->query($query);
   224                 'tree' => $row->tree,
   225                 'child' => $row->child
 
setNumberLimit(int $a_limit)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
static getInstanceByRefId(int $ref_id, bool $stop_on_error=true)
get an instance of an Ilias object by reference id 
 
readDeleted(?int $tree_id=null)
 
setAgeLimit(ilDateTime $dt)
 
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins 
 
removeSelectedFromSystem()
 
setTypesLimit(array $a_types)
 
Class ilRbacAdmin Core functions for role based access control. 
 
static _removeEntry(int $a_tree, int $a_child, string $a_db_table="tree")
STATIC METHOD Removes a single entry from a tree.