4include_once(
"./Services/UIComponent/Explorer2/classes/class.ilTreeExplorerGUI.php");
 
   77        $a_selection_gui = 
null,
 
   78        $a_selection_cmd = 
"selectObject",
 
   79        $a_selection_par = 
"sel_ref_id",
 
   84        $this->tree = 
$DIC->repositoryTree();
 
   85        $this->obj_definition = 
$DIC[
"objDefinition"];
 
   86        $this->lng = 
$DIC->language();
 
   88        $objDefinition = 
$DIC[
"objDefinition"];
 
   90        $this->access = 
$DIC->access();
 
   91        $this->ctrl = 
$DIC->ctrl();
 
   93        if (is_null($a_selection_gui)) {
 
   94            $a_selection_gui = $a_parent_obj;
 
   97        $this->selection_gui = is_object($a_selection_gui)
 
   98            ? strtolower(get_class($a_selection_gui))
 
   99            : strtolower($a_selection_gui);
 
  100        $this->selection_cmd = $a_selection_cmd;
 
  101        $this->selection_par = $a_selection_par;
 
  102        parent::__construct($a_id, $a_parent_obj, $a_parent_cmd, 
$tree);
 
  110        foreach ($objDefinition->getSubObjectsRecursively(
"root") as $rtype) {
 
  111            if ($rtype[
"name"] != 
"itgr" && !$objDefinition->isSideBlock($rtype[
"name"])) {
 
  112                $white[] = $rtype[
"name"];
 
  118        if ((
int) 
$_GET[
"ref_id"] > 0) {
 
  130        $this->nc_modifier = $a_val;
 
  154        if (is_callable($c)) {
 
  158        $title = $a_node[
"title"];
 
  191            $title = $a_node[
"title"];
 
  199        return parent::getNodeIconAlt($a_node);
 
  217        if ($a_node[
"child"] == 
$_GET[
"ref_id"] ||
 
  234        if ($this->select_postvar == 
"") {
 
  235            $ilCtrl->setParameterByClass($this->selection_gui, $this->selection_par, $a_node[
"child"]);
 
  236            $link = 
$ilCtrl->getLinkTargetByClass($this->selection_gui, $this->selection_cmd);
 
  237            $ilCtrl->setParameterByClass($this->selection_gui, $this->selection_par, 
"");
 
  255        if (!$ilAccess->checkAccess(
'visible', 
'', $a_node[
"child"])) {
 
  275        if ($parent_obj_id > 0) {
 
  278            $parent_type  = 
"dummy";
 
  279            $this->type_grps[
"dummy"] = array(
"root" => 
"dummy");
 
  282        if (empty($this->type_grps[$parent_type])) {
 
  283            $this->type_grps[$parent_type] =
 
  284                $objDefinition->getGroupedRepositoryObjectTypes($parent_type);
 
  288        foreach ($a_childs as $child) {
 
  289            $g = $objDefinition->getGroupOfObj($child[
"type"]);
 
  293            $group[$g][] = $child;
 
  298        if (is_array($wl) && in_array(
"poll", $wl)) {
 
  299            $this->type_grps[$parent_type][
"poll"] = array();
 
  303        foreach ($this->type_grps[$parent_type] as 
$t => $g) {
 
  304            if (is_array($group[
$t])) {
 
  306                include_once(
"./Services/Container/classes/class.ilContainer.php");
 
  307                include_once(
"./Services/Container/classes/class.ilContainerSorting.php");
 
  309                $group = $sort->sortItems($group);
 
  315                foreach ($group[
$t] as $k => $item) {
 
  334        if (!$ilAccess->checkAccess(
"read", 
"", $a_parent_node_id)) {
 
  338        return parent::getChildsOfNode($a_parent_node_id);
 
  351        if ($this->select_postvar != 
"") {
 
  355        if (!$ilAccess->hasUserRBACorAnyPositionAccess(
"read", $a_node[
"child"])) {
 
  373        $this->highlighted_node = $a_value;
 
  394        if (!is_array($a_types)) {
 
  395            $a_types = array($a_types);
 
  397        $this->clickable_types = $a_types;
 
  441        if (!is_array($a_types)) {
 
  442            $a_types = array($a_types);
 
  444        $this->selectable_types = $a_types;
 
  454        return (array) $this->selectable_types;
 
An exception for terminatinating execution or to throw for unit testing.
static _getInstance($a_obj_id)
get instance by obj_id
setSkipRootNode($a_val)
Set skip root node.
static _lookupObjId($a_id)
static _getIcon( $a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
static _lookupType($a_id, $a_reference=false)
lookup object type
Explorer for selecting repository items.
setNodeContentModifier(callable $a_val)
Set node content modifier.
isNodeHighlighted($a_node)
Is node highlighted?
isNodeVisible($a_node)
Is node visible.
getNodeContentModifier()
Get node content modifier.
getNodeHref($a_node)
Get href for node.
getClickableTypes()
get whitelist for clickable items
setHighlightedNode($a_value)
set an alternate highlighted node if $_GET["ref_id"] is not set or wrong
sortChilds($a_childs, $a_parent_node_id)
Sort childs.
isNodeClickable($a_node)
Is node clickable?
setSelectableTypes($a_types)
Get HTML.
__construct( $a_parent_obj, $a_parent_cmd, $a_selection_gui=null, $a_selection_cmd="selectObject", $a_selection_par="sel_ref_id", $a_id="rep_exp_sel")
Constructor.
getHighlightedNode()
get an alternate highlighted node if $_GET["ref_id"] is not set or wrong Returns null if not set
getSelectableTypes()
get whitelist for clickable items
getNodeIcon($a_node)
Get node icon.
getChildsOfNode($a_parent_node_id)
Get childs of node.
getNodeContent($a_node)
Get node content.
getNodeIconAlt($a_node)
Get node icon alt text.
isNodeSelectable($a_node)
Is node selectable?
setClickableTypes($a_types)
set Whitelist for clickable items
Explorer class that works on tree objects (Services/Tree)
setTypeWhiteList($a_val)
Set type white list.
getRootNode()
Get root node.
setPathOpen($a_id)
Set node path to be opened.
getTypeWhiteList()
Get type white list.
getNodeId($a_node)
Get id for node.
setOrderField($a_val, $a_numeric=false)
Set order field.