4include_once(
"./Services/UIComponent/Explorer2/classes/class.ilTreeExplorerGUI.php");
 
   28                $this->cur_ref_id = (int) 
$_GET[
"ref_id"];
 
   30                $this->top_node_id = 0;
 
   31                if (
$ilSetting->get(
"rep_tree_limit_grp_crs") && $this->cur_ref_id > 0)
 
   43                                        $this->top_node_id = 
$n;
 
   49                parent::__construct(
"rep_exp", $a_parent_obj, $a_parent_cmd, 
$tree);
 
   55                if ($ilSetting->get(
"repository_tree_pres") == 
"" ||
 
   56                        (
$ilSetting->get(
"rep_tree_limit_grp_crs") && $this->top_node_id == 0))
 
   59                                "crs", 
"crsr", 
"rcrs", 
"itgr"));
 
   61                else if (
$ilSetting->get(
"repository_tree_pres") == 
"all_types")
 
   64                        foreach ($objDefinition->getSubObjectsRecursively(
"root") as $rtype)
 
   66                                if ( !$objDefinition->isSideBlock($rtype[
"name"]))
 
   68                                        $white[] = $rtype[
"name"];
 
   73                if ((
int) 
$_GET[
"ref_id"] > 0)
 
   87                if ($this->top_node_id > 0)
 
   89                        return $this->
getTree()->getNodeData($this->top_node_id);
 
   93                        return parent::getRootNode();
 
  107                $title = $a_node[
"title"];
 
  111                        if ($title == 
"ILIAS")
 
  113                                $title = 
$lng->txt(
"repository");
 
  116                else if($a_node[
"type"] == 
"sess" && 
 
  120                        include_once(
'./Modules/Session/classes/class.ilSessionAppointment.php');
 
  152                        $title = $a_node[
"title"];
 
  153                        if ($title == 
"ILIAS")
 
  155                                $title = 
$lng->txt(
"repository");
 
  157                        return $lng->txt(
"icon").
" ".$title;
 
  161                return parent::getNodeIconAlt($a_node);
 
  172                if ($a_node[
"child"] == 
$_GET[
"ref_id"] ||
 
  190                switch($a_node[
"type"])
 
  193                                $ilCtrl->setParameterByClass(
"ilrepositorygui", 
"ref_id", $a_node[
"child"]);
 
  194                                $link = 
$ilCtrl->getLinkTargetByClass(
"ilrepositorygui", 
"");
 
  195                                $ilCtrl->setParameterByClass(
"ilrepositorygui", 
"ref_id", 
$_GET[
"ref_id"]);
 
  199                                $ilCtrl->setParameterByClass(
"ilrepositorygui", 
"ref_id", $a_node[
"child"]);
 
  200                                $link = 
$ilCtrl->getLinkTargetByClass(
"ilrepositorygui", 
"");
 
  201                                $ilCtrl->setParameterByClass(
"ilrepositorygui", 
"ref_id", 
$_GET[
"ref_id"]);
 
  205                                $ilCtrl->setParameterByClass(
"ilrepositorygui", 
"ref_id", $a_node[
"child"]);
 
  206                                $link = 
$ilCtrl->getLinkTargetByClass(
"ilrepositorygui", 
"redirect");
 
  207                                $ilCtrl->setParameterByClass(
"ilrepositorygui", 
"ref_id", 
$_GET[
"ref_id"]);
 
  211                                $ilCtrl->setParameterByClass(
"ilobjgroupgui", 
"ref_id", $a_node[
"child"]);
 
  212                                $link = 
$ilCtrl->getLinkTargetByClass(array(
"ilrepositorygui", 
"ilobjgroupgui"), 
"");
 
  213                                $ilCtrl->setParameterByClass(
"ilobjgroupgui", 
"ref_id", 
$_GET[
"ref_id"]);
 
  217                                $ilCtrl->setParameterByClass(
"ilobjcoursegui", 
"ref_id", $a_node[
"child"]);
 
  218                                $link = 
$ilCtrl->getLinkTargetByClass(array(
"ilrepositorygui", 
"ilobjcoursegui"), 
"view");
 
  219                                $ilCtrl->setParameterByClass(
"ilobjcoursegui", 
"ref_id", 
$_GET[
"ref_id"]);
 
  223                                $ilCtrl->setParameterByClass(
"ilrepositorygui", 
"ref_id", $a_node[
"child"]);
 
  224                                $link = 
$ilCtrl->getLinkTargetByClass(
"ilrepositorygui", 
"redirect");
 
  225                                $ilCtrl->setParameterByClass(
"ilrepositorygui", 
"ref_id", 
$_GET[
"ref_id"]);
 
  229                                $ilCtrl->setParameterByClass(
"ilobjilinccoursegui", 
"ref_id", $a_node[
"child"]);
 
  230                                $link = 
$ilCtrl->getLinkTargetByClass(array(
"ilrepositorygui", 
"ilobjilinccoursegui"), 
"");
 
  231                                $ilCtrl->setParameterByClass(
"ilobjilinccoursegui", 
"ref_id", 
$_GET[
"ref_id"]);
 
  235                                $ilCtrl->setParameterByClass(
"ilrepositorygui", 
"ref_id", $a_node[
"child"]);
 
  236                                $link = 
$ilCtrl->getLinkTargetByClass(
"ilrepositorygui", 
"infoScreen");
 
  237                                $ilCtrl->setParameterByClass(
"ilrepositorygui", 
"ref_id", 
$_GET[
"ref_id"]);
 
  241                                include_once(
'./Services/Link/classes/class.ilLink.php');
 
  257                if (!$ilAccess->checkAccess(
'visible', 
'', $a_node[
"child"]))
 
  263                $container_parent_id = 
$tree->checkForParentType($a_node[
"child"], 
'grp');
 
  264                if(!$container_parent_id)
 
  267                        $container_parent_id = 
$tree->checkForParentType($a_node[
"child"], 
'crs');
 
  269                if($container_parent_id)
 
  272                        if(
$ilSetting->get(
"repository_tree_pres")  == 
"all_types" && $container_parent_id != $a_node[
"child"])
 
  275                                if(!isset($this->session_materials[$container_parent_id]))
 
  277                                        include_once 
'./Modules/Session/classes/class.ilEventItems.php';
 
  280                                if(in_array($a_node[
"child"], $this->session_materials[$container_parent_id]))
 
  300                global $objDefinition, $ilAccess;
 
  303                if ($parent_obj_id > 0)
 
  309                        $parent_type  = 
"dummy";
 
  310                        $this->type_grps[
"dummy"] = array(
"root" => 
"dummy");
 
  315                $this->type_grps = array();
 
  317                if (empty($this->type_grps[$parent_type]))
 
  319                        $this->type_grps[$parent_type] =
 
  320                                $objDefinition->getGroupedRepositoryObjectTypes($parent_type);
 
  324                include_once(
'./Services/Object/classes/class.ilObjectActivation.php');                                                                 
 
  327                $in_any_group = array(); 
 
  328                foreach ($a_childs as $child)
 
  331                        if ($child[
"type"] == 
"itgr")
 
  333                                $g = $child[
"child"];
 
  339                                        $this->type_grps[$parent_type][
"itgr"][
"ref_ids"][] = $g;
 
  342                                        $may_read = $ilAccess->checkAccess(
'read', 
'', $g);
 
  347                                                include_once(
"./Services/Container/classes/class.ilContainerSorting.php");
 
  351                                        foreach($items as $item)
 
  353                                                $in_any_group[] = $item[
"child"];
 
  357                                                        $igroup[$g][] = $item;                                          
 
  358                                                        $group[$g][] = $item;
 
  366                                $g = $objDefinition->getGroupOfObj($child[
"type"]);                     
 
  371                                $group[$g][] = $child;          
 
  375                $in_any_group = array_unique($in_any_group);
 
  378                include_once(
"./Services/Container/classes/class.ilContainerSorting.php");      
 
  380                $block_pos = $sort->getBlockPositions();
 
  381                if (
sizeof($block_pos))
 
  383                        $tmp = $this->type_grps[$parent_type];                                          
 
  385                        $this->type_grps[$parent_type] = array();
 
  386                        foreach ($block_pos as $block_type)
 
  389                                if (!is_numeric($block_type) && 
 
  390                                        array_key_exists($block_type, $tmp))
 
  392                                        $this->type_grps[$parent_type][$block_type] = $tmp[$block_type];
 
  393                                        unset($tmp[$block_type]);
 
  399                                        $this->type_grps[$parent_type][$block_type] = array();
 
  406                                foreach ($tmp as $block_type => $grp)
 
  408                                        $this->type_grps[$parent_type][$block_type] = $grp;
 
  418                foreach ($this->type_grps[$parent_type] as 
$t => $g)
 
  421                        if (is_array($group[
$t]))
 
  425                                if (is_array($igroup[
$t]))
 
  427                                        foreach ($igroup[
$t] as $k => $item)
 
  429                                                if (!in_array($item[
"child"], $done))
 
  432                                                        $done[] = $item[
"child"];
 
  439                                        include_once(
"./Services/Container/classes/class.ilContainer.php");
 
  440                                        include_once(
"./Services/Container/classes/class.ilContainerSorting.php");
 
  442                                        $group = $sort->sortItems($group);
 
  450                                        foreach ($group[
$t] as $k => $item)
 
  452                                                if (!in_array($item[
"child"], $done) &&
 
  453                                                        !in_array($item[
"child"], $in_any_group)) 
 
  456                                                        $done[] = $item[
"child"];
 
  462                        else if (
$t == 
"itgr" && 
 
  463                                is_array($g[
"ref_ids"]))
 
  465                                foreach ($g[
"ref_ids"] as 
$ref_id)
 
  469                                                foreach ($group[
$ref_id] as $k => $item)
 
  471                                                        if(!in_array($item[
"child"], $done))
 
  474                                                                $done[] = $item[
"child"];                                               
 
  495                if (!$rbacsystem->checkAccess(
"read", $a_parent_node_id))
 
  506                return parent::getChildsOfNode($a_parent_node_id);
 
  525                switch ($a_node[
"type"])
 
  528                                return $ilAccess->checkAccess(
"read", 
"", $a_node[
"child"]);                    
 
  536                                if(!$rbacsystem->checkAccess(
"read", $a_node[
"child"]))
 
  541                                $query = sprintf(
"SELECT * FROM tst_tests WHERE obj_fi=%s", $obj_id);
 
  545                                        return (
bool) 
$row->complete;
 
  550                                if(!$rbacsystem->checkAccess(
"read", $a_node[
"child"]))
 
  555                                $query = sprintf(
"SELECT * FROM svy_svy WHERE obj_fi=%s", $obj_id);
 
  559                                        return (
bool) 
$row->complete;
 
  565                                if ($rbacsystem->checkAccess(
"read", $a_node[
"child"]))
 
  577                                include_once(
'./Services/ContainerReference/classes/class.ilContainerReferenceAccess.php');
 
  583                                if ($rbacsystem->checkAccess(
"read", $a_node[
"child"]))
 
  586                                        if ($a_node[
"type"] == 
"lm")
 
  588                                                include_once(
"./Modules/LearningModule/classes/class.ilObjLearningModule.php");
 
  590                                                if((!$lm_obj->getOnline()) && (!$rbacsystem->checkAccess(
'write', $a_node[
"child"])))
 
  596                                        if ($a_node[
"type"] == 
"htlm")
 
  598                                                include_once(
"./Modules/HTMLLearningModule/classes/class.ilObjFileBasedLM.php");
 
  600                                                if((!$lm_obj->getOnline()) && (!$rbacsystem->checkAccess(
'write', $a_node[
"child"])))
 
  606                                        if ($a_node[
"type"] == 
"sahs")
 
  608                                                include_once(
"./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php");
 
  610                                                if((!$lm_obj->getOnline()) && (!$rbacsystem->checkAccess(
'write', $a_node[
"child"])))
 
  616                                        if ($a_node[
"type"] == 
"glo")
 
  619                                                include_once(
"./Modules/Glossary/classes/class.ilObjGlossary.php");
 
  621                                                        (!$rbacsystem->checkAccess(
'write', $a_node[
"child"])))
 
const DB_FETCHMODE_OBJECT
_checkAllConditionsOfTarget($a_target_ref_id, $a_target_id, $a_target_type="", $a_usr_id=0)
checks wether all conditions of a target object are fulfilled
static _isAccessible($a_ref_id)
Check if target is accessible and not deleted.
static _getInstance($a_obj_id)
get instance by obj_id
_getItemsOfContainer($a_ref_id)
setSkipRootNode($a_val)
Set skip root node.
static _getStaticLink($a_ref_id, $a_type='', $a_fallback_goto=true, $append="")
Get static link.
File Based Learning Module (HTML) object.
_lookupOnline($a_id)
check wether content object is online
Class ilObjLearningModule.
Class ilObjSCORMLearningModule.
static getItemsByItemGroup($a_item_group_ref_id)
Get materials of item group.
static _lookupObjId($a_id)
static _lookupObjectId($a_ref_id)
lookup object 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
Repository explorer GUI class.
getNodeContent($a_node)
Get node content.
getChildsOfNode($a_parent_node_id)
Get childs of node.
getRootNode()
Get root node.
isNodeHighlighted($a_node)
Is node highlighted?
getNodeHref($a_node)
Get href for node.
sortChilds($a_childs, $a_parent_node_id)
Sort childs.
getNodeIcon($a_node)
Get node icon.
__construct($a_parent_obj, $a_parent_cmd)
Constructor.
isNodeClickable($a_node)
Is node clickable?
isNodeVisible($a_node)
Is node visible.
getNodeIconAlt($a_node)
Get node icon alt text.
static _lookupAppointment($a_obj_id)
lookup appointment
static _appointmentToString($start, $end, $fulltime)
Explorer class that works on tree objects (Services/Tree)
setTypeWhiteList($a_val)
Set type white list.
setPathOpen($a_id)
Set node path to be opened.
getNodeId($a_node)
Get id for node.
setOrderField($a_val, $a_numeric=false)
Set order field.