54         $a_selection_gui = null,
    55         string $a_selection_cmd = 
"selectObject",
    56         string $a_selection_par = 
"sel_ref_id",
    57         string $a_id = 
"rep_exp_sel",
    58         string $a_node_parameter_name = 
"node_id"    62         $this->tree = $DIC->repositoryTree();
    63         $this->obj_definition = $DIC[
"objDefinition"];
    64         $this->
lng = $DIC->language();
    65         $tree = $DIC->repositoryTree();
    67         $objDefinition = $DIC[
"objDefinition"];
    68         $this->request = $DIC->repository()->internal()->gui()->standardRequest();
    69         $this->cur_ref_id = $this->request->getRefId();
    71         $this->
access = $DIC->access();
    72         $this->
ctrl = $DIC->ctrl();
    74         if (is_null($a_selection_gui)) {
    75             $a_selection_gui = $a_parent_obj;
    78         $this->selection_gui = is_object($a_selection_gui)
    79             ? strtolower(get_class($a_selection_gui))
    80             : strtolower($a_selection_gui);
    81         $this->selection_cmd = $a_selection_cmd;
    82         $this->selection_par = $a_selection_par;
    91         foreach ($objDefinition->getSubObjectsRecursively(
"root") as $rtype) {
    92             if ($rtype[
"name"] !== 
"itgr" && !$objDefinition->isSideBlock($rtype[
"name"])) {
    93                 $white[] = $rtype[
"name"];
   100         if ($this->cur_ref_id > 0) {
   108         $this->nc_modifier = $a_val;
   121         if (is_callable(
$c)) {
   125         $title = $a_node[
"title"];
   126         if ($title === 
"ILIAS" && (
int) $a_node[
"child"] === (
int) $this->
getNodeId($this->
getRootNode())) {
   127             $title = 
$lng->
txt(
"repository");
   130         return (
string) $title;
   144             $title = $a_node[
"title"];
   145             if ($title === 
"ILIAS") {
   146                 $title = 
$lng->
txt(
"repository");
   148             return $lng->
txt(
"icon") . 
" " . $title;
   151         return parent::getNodeIconAlt($a_node);
   163         if ((
int) $a_node[
"child"] === $this->cur_ref_id ||
   164             ($this->cur_ref_id === 0 && (
int) $a_node[
"child"] === (
int) $this->
getNodeId($this->
getRootNode()))) {
   174         if ($this->select_postvar === 
"") {
   175             $ilCtrl->
setParameterByClass($this->selection_gui, $this->selection_par, $a_node[
"child"]);
   176             $link = $ilCtrl->getLinkTargetByClass($this->selection_gui, $this->selection_cmd);
   177             $ilCtrl->setParameterByClass($this->selection_gui, $this->selection_par, 
"");
   189         if (!$ilAccess->checkAccess(
'visible', 
'', $a_node[
"child"])) {
   196     public function sortChilds(array $a_childs, $a_parent_node_id): array
   202         if ($parent_obj_id > 0) {
   205             $parent_type = 
"dummy";
   206             $this->type_grps[
"dummy"] = [
"root" => 
"dummy"];
   209         if (empty($this->type_grps[$parent_type])) {
   210             $this->type_grps[$parent_type] =
   211                 $objDefinition::getGroupedRepositoryObjectTypes($parent_type);
   215         foreach ($a_childs as $child) {
   216             $g = $objDefinition->getGroupOfObj($child[
"type"]);
   220             $group[$g][] = $child;
   225         if (is_array($wl) && in_array(
"poll", $wl, 
true)) {
   226             $this->type_grps[$parent_type][
"poll"] = [];
   230         foreach ($this->type_grps[$parent_type] as $t => $g) {
   231             if (isset($group[$t])) {
   234                 $group = $sort->sortItems($group);
   236                 foreach ($group[$t] as $k => $item) {
   248         if (!$ilAccess->checkAccess(
"read", 
"", (
int) $a_parent_node_id)) {
   252         return parent::getChildsOfNode($a_parent_node_id);
   257         $this->clickable_permission = $rbac_perm;
   264         if (!$ilAccess->hasUserRBACorAnyPositionAccess($this->clickable_permission, $a_node[
"child"])) {
   277         $this->highlighted_node = $a_value;
   287         $this->clickable_types = $a_types;
   297         $this->selectable_types = $a_types;
 
isNodeHighlighted($a_node)
 
setSkipRootNode(bool $a_val)
 
ilObjectDefinition $obj_definition
 
static _getIcon(int $obj_id=0, string $size="big", string $type="", bool $offline=false)
Get icon for repository item. 
 
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
 
isNodeSelectable($a_node)
 
setTypeWhiteList(array $a_val)
Set type white list. 
 
setParameterByClass(string $a_class, string $a_parameter, $a_value)
 
setPathOpen($a_id)
Set node path to be opened. 
 
string $clickable_permission
 
setClickablePermission(string $rbac_perm)
 
static _lookupObjId(int $ref_id)
 
setNodeContentModifier(Closure $a_val)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
sortChilds(array $a_childs, $a_parent_node_id)
 
getNodeId($a_node)
Get id for node. 
 
StandardGUIRequest $request
 
setSelectableTypes(array $a_types)
 
getRootNode()
Get root node. 
 
setClickableTypes(array $a_types)
 
Explorer class that works on tree objects (Services/Tree) 
 
__construct(Container $dic, ilPlugin $plugin)
 
getChildsOfNode($a_parent_node_id)
 
static _getInstance(int $a_obj_id)
 
setOrderField(string $a_val, bool $a_numeric=false)
 
setHighlightedNode(string $a_value)
 
static _lookupType(int $id, bool $reference=false)
 
setChildLimit(int $a_val)
 
getTypeWhiteList()
Get type white list. 
 
__construct(string $a_expl_id, $a_parent_obj, string $a_parent_cmd, ilTree $a_tree, string $a_node_parameter_name="node_id")