3 declare(strict_types=1);
    44     protected int $mode = self::FLAT;
    56         int $single_ref_id = 0,
    57         bool $admin_mode = 
false,
    58         bool $force_session_order_by_date = 
true    75         $this->hiddenfilesfound = $a_hiddenfilesfound;
    86     protected function init(): void
    88         if ($this->initialised) {
    91         $tree = $this->domain->repositoryTree();
    92         if ($this->mode === self::TREE) {
    93             $this->
raw = $tree->getSubTree($tree->getNodeData($this->parent_ref_id));
    94         } elseif ($this->mode === self::FLAT) {
    95             $this->
raw = $tree->getChilds($this->parent_ref_id, 
"title");
    97             $this->
raw[] = $tree->getNodeData($this->single_ref_id);
   107         $this->initialised = 
true;
   116         return count($this->
raw) > 0;
   122         if (isset($this->raw_by_type[$type])) {
   123             return array_map(
static function ($item) {
   124                 return (
int) $item[
"child"];
   125             }, $this->raw_by_type[$type]);
   133         return array_keys($this->raw_by_type[
"_all"]);
   139         return $this->raw_by_type[
"_all"][
$ref_id] ?? null;
   145         $type = $this->raw_by_type[
"_all"][
$ref_id][
"type"] ?? 
"";
   146         $obj_definition = $this->domain->objectDefinition();
   147         return $obj_definition->isSideBlock($type);
   153         $all = $sort->sortItems([
"all" => $this->
raw]);
   154         $this->
raw = $all[
"all"];
   163         $obj_definition = $this->domain->objectDefinition();
   165         $this->raw_by_type[
"_all"] = [];
   166         foreach ($this->
raw as 
$key => $object) {
   169             if ($object[
"type"] === 
"adm" || $object[
"type"] === 
"rolf" ||
   170                 $obj_definition->getDevMode($object[
"type"])) {
   175             if ($obj_definition->isInactivePlugin($object[
"type"])) {
   180             if (in_array($object[
'type'], array(
'file',
'fold',
'cat'))) {
   183                     if (!$this->admin_mode) {
   191             $type = $obj_definition->getGroupOfObj($object[
"type"]);
   193                 $type = $object[
"type"];
   196             $new_key = (
int) $object[
"child"];
   197             $this->rendered[$new_key] = 
false;
   198             $this->raw_by_type[$type][$new_key] = $object;
   200             $this->raw_by_type[
"_all"][$new_key] = $object;
   201             if ($object[
"type"] !== 
"sess") {
   202                 $this->raw_by_type[
"_non_sess"][$new_key] = $object;
   209         if (!$this->force_session_order_by_date) {
   212         if (isset($this->raw_by_type[
"sess"]) && count($this->raw_by_type[
"sess"]) > 0) {
   219         foreach ($this->
raw as 
$key => $object) {
   237             $this->parent_ref_id,
   238             $this->parent_obj_id,
   240         ) as $class_provider) {
   241             $id = get_class($class_provider);
   257         if (is_null($this->user_filter)) {
   260         $filter = $this->domain->content()->filter(
   264                 $this->parent_obj_id,
   269         $this->
raw = $filter->apply();
   278         $ilObjDataCache = $this->domain->objectDataCache();
   281         $short_desc = 
$ilSetting->get(
"rep_shorten_description");
   282         $short_desc_max_length = (
int) 
$ilSetting->get(
"rep_shorten_description_length");
   286                 foreach ($this->
raw as 
$key => $object) {
   288                         $object[
"description"],
   289                         $short_desc_max_length,
   297                 foreach ($this->
raw as 
$key => $object) {
   298                     $obj_ids[] = $object[
"obj_id"];
   300                 if (count($obj_ids) > 0) {
   302                     foreach ($this->
raw as 
$key => $object) {
   304                         if ($ilObjDataCache->isTranslatedDescription((
int) $object[
"obj_id"])) {
   305                             $long_desc[$object[
"obj_id"]] = $object[
"description"];
   307                         if ($short_desc && $short_desc_max_length) {
   309                                 (
string) ($long_desc[$object[
"obj_id"]] ?? 
""),
   310                                 $short_desc_max_length,
   314                         $this->
raw[
$key][
"description"] = $long_desc[$object[
"obj_id"]] ?? 
'';
   329             $this->parent_ref_id,
   330             $this->parent_obj_id,
   332         ) as $class_provider) {
   333             $id = get_class($class_provider);
   336                 $class_provider->setSelection($current);
   337                 $filtered = $class_provider->getFilteredObjects();
   338                 $this->
raw = array_filter($this->
raw, 
static function ($i) use ($filtered) {
   339                     return (is_array($filtered) && in_array($i[
"obj_id"], $filtered));
   348         foreach ($this->raw_by_type[
"_all"] as $object) {
   349             $obj_ids[] = $object[
"obj_id"];
 addAdditionalSubItemInformationToObject(array &$object)
 
__construct(InternalDomainService $domain, int $mode, int $parent_ref_id, ?\ilContainerUserFilter $user_filter=null, int $single_ref_id=0, bool $admin_mode=false, bool $force_session_order_by_date=true)
 
applyUserFilter()
Apply container user filter on objects. 
 
Manages container subitems set. 
 
InternalDomainService $domain
 
getAdditionalSubItemInformation()
 
static preloadByObjIds(array $a_obj_ids)
Preload list gui data. 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
getCompleteDescriptions()
From ilContainer. 
 
static _isFileHidden(string $a_file_name)
Returns true, if a file with the specified name, is usually hidden from the user. ...
 
bool $force_session_order_by_date
 
setHiddenFilesFound(bool $a_hiddenfilesfound)
 
isSideBlockItem(int $ref_id)
 
static _lookupContainerSetting(int $a_id, string $a_keyword, string $a_default_value=null)
 
preloadAdvancedMDValues()
 
static _lookupObjId(int $ref_id)
 
static getLongDescriptions(array $obj_ids)
 
getRawDataByRefId(int $ref_id)
 
isClassificationFilterActive()
 
groupItems()
Internally group all items. 
 
applyClassificationFilter()
From ilContainer. 
 
ilContainerUserFilter $user_filter
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
getRefIdsOfType(string $type)
 
static addAdditionalSubItemInformation(array &$item)
Parse item data for list entries. 
 
static shortenTextExtended(string $a_str, int $a_len, bool $a_dots=false, bool $a_next_blank=false, bool $a_keep_extension=false)
 
static _getInstance(int $a_obj_id)
 
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins 
 
static _lookupType(int $id, bool $reference=false)
 
static getValidProviders(int $a_parent_ref_id, int $a_parent_obj_id, string $a_parent_obj_type)
Get all valid providers (for parent container) 
 
static sortArray(array $array, string $a_array_sortby_key, string $a_array_sortorder="asc", bool $a_numeric=false, bool $a_keep_keys=false)