ILIAS  Release_4_4_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilRepositoryExplorer Class Reference
+ Inheritance diagram for ilRepositoryExplorer:
+ Collaboration diagram for ilRepositoryExplorer:

Public Member Functions

 ilRepositoryExplorer ($a_target, $a_top_node=0)
 Constructor public.
 setForceOpenPath ($a_path)
 set force open path
 buildLinkTarget ($a_node_id, $a_type)
 note: most of this stuff is used by ilCourseContentInterface too
 buildFrameTarget ($a_type, $a_child=0, $a_obj_id=0)
 STATIC, do not use $this inside!
 getImage ($a_name, $a_type="", $a_obj_id="")
 get image path
 isClickable ($a_type, $a_ref_id, $a_obj_id=0)
 showChilds ($a_ref_id, $a_obj_id=0)
 isVisible ($a_ref_id, $a_type)
 formatHeader (&$tpl, $a_obj_id, $a_option)
 overwritten method from base class public
 sortNodes ($a_nodes, $a_parent_obj_id)
 sort nodes
 forceExpanded ($a_node)
 Force expansion of node.
- Public Member Functions inherited from ilExplorer
 ilExplorer ($a_target)
 Constructor public.
 setId ($a_val)
 Set id.
 getId ()
 Get id.
 setAsynchExpanding ($a_val)
 Set asynch expanding.
 getAsynchExpanding ()
 Get asynch expanding.
 initItemCounter ($a_number)
 Init item counter.
 setTitle ($a_val)
 Set title.
 setTitleLength ($a_length)
 Set max title length.
 getTitleLength ()
 Get max title length.
 getTitle ()
 Get title.
 setRoot ($a_root_id)
 Set root node.
 getRoot ()
 get root id
 setOrderColumn ($a_column)
 set the order column public
 setOrderDirection ($a_direction)
 set the order direction public
 setTargetGet ($a_target_get)
 set the varname in Get-string public
 setParamsGet ($a_params_get)
 set additional params to be passed in Get-string public
 setExpandTarget ($a_exp_target)
 target script for expand icons
 setFrameUpdater ($a_up_frame, $a_up_script, $a_params="")
 Set Explorer Updater.
 highlightNode ($a_id)
 set highlighted node
 checkPermissions ($a_check)
 check permissions via rbac
 setSessionExpandVariable ($a_var_name="expand")
 set name of expand session variable
 outputIcons ($a_icons)
 output icons
 setClickable ($a_type, $a_clickable)
 (de-)activates links for a certain object type
 setTreeLead ($a_val)
 Set tree leading content.
 getTreeLead ()
 Get tree leading content.
 isClickable ($a_type, $a_ref_id=0)
 check if links for certain object type are activated
 setPostSort ($a_sort)
 process post sorting
 setFilterMode ($a_mode=IL_FM_NEGATIVE)
 set filter mode
 getFilterMode ()
 get filter mode
 setUseStandardFrame ($a_val)
 Set use standard frame.
 getUseStandardFrame ()
 Get use standard explorer frame.
 getChildsOfNode ($a_parent_id)
 Get childs of node.
 setOutput ($a_parent_id, $a_depth=1, $a_obj_id=0, $a_highlighted_subtree=false)
 Creates output for explorer view in admin menue recursive method public.
 modifyChilds ($a_parent_id, $a_objects)
 showChilds ($a_parent_id)
 determines wether the childs of an object should be shown or not note: this standard implementation always returns true but it could be overwritten by derived classes (e.g.
 getMaximumTreeDepth ()
 Get maximum tree depth.
 getOutput ()
 Creates output recursive method public.
 handleListEndTags (&$a_tpl_tree, $a_cur_depth, $a_item_depth)
 handle list end tags ( and )
 handleListStartTags (&$a_tpl_tree, $a_cur_depth, $a_item_depth)
 handle list start tags (
 formatObject (&$tpl, $a_node_id, $a_option, $a_obj_id=0)
 Creates output recursive method private.
 getImageAlt ($a_default_text, $a_type="", $a_obj_id="")
 get image alt text
 getNodeStyleClass ($a_id, $a_type)
 get style class for node
 buildOnClick ($a_node_id, $a_type, $a_title)
 get onclick event handling (may be overwritten by derived classes)
 buildTitle ($a_title, $a_id, $a_type)
 standard implementation for title, may be overwritten by derived classes
 buildDescription ($a_desc, $a_id, $a_type)
 standard implementation for description, may be overwritten by derived classes
 buildSelect ($a_node_id, $a_type)
 standard implementation for adding an option select box between image and title
 createTarget ($a_type, $a_node_id, $a_highlighted_subtree=false, $a_append_anch=true)
 Creates Get Parameter private.
 setFrameTarget ($a_target)
 set target frame or not frame?
 createLines ($a_depth)
 Creates lines for explorer view private.
 is_in_array ($a_start, $a_depth)
 DESCRIPTION MISSING private.
 getIndex ($a_data)
 get index of format_options array from specific ref_id,parent_id private
 addFilter ($a_item)
 adds item to the filter public
 delFilter ($a_item)
 removes item from the filter public
 setExpand ($a_node_id)
 set the expand option this value is stored in a SESSION variable to save it different view (lo view, frm view,...) private
 forceExpandAll ($a_mode, $a_show_minus=true)
 force expandAll.
 setFiltered ($a_bool)
 active/deactivate the filter public
 checkFilter ($a_item)
 check if item is in filter private

Data Fields

 $root_id
 $output
 $ctrl
- Data Fields inherited from ilExplorer
 $id
 $ilias
 $output
 $format_options
 $tree
 $target
 $target_get
 $params_get
 $expanded
 $order_column
 $order_direction = "asc"
 $expand_target
 $rbac_check
 $output_icons
 $expand_variable
 $is_clickable
 $post_sort
 $filtered = false
 $filter_mode
 $expand_all = false
 $root_id = null
 $use_standard_frame = false

Detailed Description

Definition at line 14 of file class.ilRepositoryExplorer.php.

Member Function Documentation

ilRepositoryExplorer::buildFrameTarget (   $a_type,
  $a_child = 0,
  $a_obj_id = 0 
)

STATIC, do not use $this inside!

Note: this is used by course interface !?

Reimplemented from ilExplorer.

Reimplemented in ilConditionSelector.

Definition at line 150 of file class.ilRepositoryExplorer.php.

References ilExplorer\$ilias, and ilFrameTargetInfo\_getFrame().

Referenced by ilCourseObjectivePresentationGUI\__showLearningMaterials(), ilCourseObjectivePresentationGUI\__showOtherResources(), ilWorkspaceExplorer\formatObject(), ilPasteIntoMultipleItemsExplorer\formatObject(), ilShopBoughtObjectsGUI\showItems(), ilLMPresentationGUI\showPreconditionsOfPage(), ilCourseContentGUI\showStartObjects(), and ilObjCourseGUI\showStartObjects().

{
global $ilias;
switch($a_type)
{
case "cat":
$t_frame = ilFrameTargetInfo::_getFrame("RepositoryContent", "cat");
return $t_frame;
case "catr":
$t_frame = ilFrameTargetInfo::_getFrame("RepositoryContent", "catr");
return $t_frame;
case "grp":
$t_frame = ilFrameTargetInfo::_getFrame("RepositoryContent", "grp");
return $t_frame;
case "crs":
$t_frame = ilFrameTargetInfo::_getFrame("RepositoryContent", "crs");
return $t_frame;
case "crsr":
$t_frame = ilFrameTargetInfo::_getFrame("RepositoryContent", "crsr");
return $t_frame;
case 'rcrs':
$t_frame = ilFrameTargetInfo::_getFrame("RepositoryContent",'rcrs');
return $t_frame;
default:
return "_top";
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRepositoryExplorer::buildLinkTarget (   $a_node_id,
  $a_type 
)

note: most of this stuff is used by ilCourseContentInterface too

Reimplemented from ilExplorer.

Reimplemented in ilWorkspaceExplorer, and ilConditionSelector.

Definition at line 87 of file class.ilRepositoryExplorer.php.

References $_GET, $ilCtrl, and ilLink\_getStaticLink().

Referenced by ilCourseObjectivePresentationGUI\__showLearningMaterials(), ilCourseObjectivePresentationGUI\__showOtherResources(), ilCourseObjectivePresentationGUI\__showTests(), ilPasteIntoMultipleItemsExplorer\formatObject(), ilShopBoughtObjectsGUI\showItems(), and ilLMPresentationGUI\showPreconditionsOfPage().

{
global $ilCtrl;
$ilCtrl->setTargetScript("ilias.php");
switch($a_type)
{
case "cat":
$ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $a_node_id);
$link = $ilCtrl->getLinkTargetByClass("ilrepositorygui", "");
$ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $_GET["ref_id"]);
return $link;
case "catr":
$ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $a_node_id);
$link = $ilCtrl->getLinkTargetByClass("ilrepositorygui", "redirect");
$ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $_GET["ref_id"]);
return $link;
case "grp":
$ilCtrl->setParameterByClass("ilobjgroupgui", "ref_id", $a_node_id);
$link = $ilCtrl->getLinkTargetByClass(array("ilrepositorygui", "ilobjgroupgui"), "");
$ilCtrl->setParameterByClass("ilobjgroupgui", "ref_id", $_GET["ref_id"]);
return $link;
case "crs":
$ilCtrl->setParameterByClass("ilobjcoursegui", "ref_id", $a_node_id);
$link = $ilCtrl->getLinkTargetByClass(array("ilrepositorygui", "ilobjcoursegui"), "view");
$ilCtrl->setParameterByClass("ilobjcoursegui", "ref_id", $_GET["ref_id"]);
return $link;
case "crsr":
$ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $a_node_id);
$link = $ilCtrl->getLinkTargetByClass("ilrepositorygui", "redirect");
$ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $_GET["ref_id"]);
return $link;
case "icrs":
$ilCtrl->setParameterByClass("ilobjilinccoursegui", "ref_id", $a_node_id);
$link = $ilCtrl->getLinkTargetByClass(array("ilrepositorygui", "ilobjilinccoursegui"), "");
$ilCtrl->setParameterByClass("ilobjilinccoursegui", "ref_id", $_GET["ref_id"]);
return $link;
case 'rcrs':
$ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $a_node_id);
$link = $ilCtrl->getLinkTargetByClass("ilrepositorygui", "infoScreen");
$ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $_GET["ref_id"]);
return $link;
default:
include_once('./Services/Link/classes/class.ilLink.php');
return ilLink::_getStaticLink($a_node_id, $a_type, true);
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRepositoryExplorer::forceExpanded (   $a_node)

Force expansion of node.

Parameters
@return

Reimplemented from ilExplorer.

Definition at line 512 of file class.ilRepositoryExplorer.php.

{
if (in_array($a_node, $this->force_open_path))
{
return true;
}
return false;
}
ilRepositoryExplorer::formatHeader ( $tpl,
  $a_obj_id,
  $a_option 
)

overwritten method from base class public

Parameters
integerobj_id
integerarray options
Returns
string

Reimplemented from ilExplorer.

Reimplemented in ilPasteIntoMultipleItemsExplorer, and ilWorkspaceExplorer.

Definition at line 398 of file class.ilRepositoryExplorer.php.

References $_GET, $ilCtrl, ilExplorer\$ilias, $lng, $path, $tpl, ilExplorer\$tree, and ilObject\_getIcon().

{
global $lng, $ilias, $tree, $ilCtrl;
// custom icons
/*
if ($this->ilias->getSetting("custom_icons"))
{
require_once("./Services/Container/classes/class.ilContainer.php");
if (($path = ilContainer::_lookupIconPath($a_obj_id, "tiny")) == "")
{
$path = ilUtil::getImagePath("icon_root_s.png");
}
}*/
$path = ilObject::_getIcon($a_obj_id, "tiny", "root");
$tpl->setCurrentBlock("icon");
$nd = $tree->getNodeData(ROOT_FOLDER_ID);
$title = $nd["title"];
if ($title == "ILIAS")
{
$title = $lng->txt("repository");
}
$tpl->setVariable("ICON_IMAGE", $path);
$tpl->setVariable("TXT_ALT_IMG", $lng->txt("icon")." ".$title);
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("link");
$tpl->setVariable("TITLE", $title);
$ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", "1");
$tpl->setVariable("LINK_TARGET",
$ilCtrl->getLinkTargetByClass("ilrepositorygui", "frameset"));
$ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $_GET["ref_id"]);
$tpl->setVariable("TARGET", " target=\"_top\"");
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("element");
$tpl->parseCurrentBlock();
}

+ Here is the call graph for this function:

ilRepositoryExplorer::getImage (   $a_name,
  $a_type = "",
  $a_obj_id = "" 
)

get image path

Reimplemented from ilExplorer.

Definition at line 188 of file class.ilRepositoryExplorer.php.

References ilObject\_getIcon().

Referenced by ilWorkspaceExplorer\formatObject(), and ilPasteIntoMultipleItemsExplorer\formatObject().

{
if ($a_type != "")
{
return ilObject::_getIcon($a_obj_id, "tiny", $a_type);
}
return parent::getImage($a_name);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRepositoryExplorer::ilRepositoryExplorer (   $a_target,
  $a_top_node = 0 
)

Constructor public.

Parameters
stringscriptname
intuser_id

Definition at line 31 of file class.ilRepositoryExplorer.php.

References $ilCtrl, $ilSetting, $lng, ilExplorer\$tree, ilExplorer\addFilter(), IL_FM_POSITIVE, ilExplorer\ilExplorer(), ilExplorer\setFiltered(), ilExplorer\setFilterMode(), ilExplorer\setSessionExpandVariable(), and ilExplorer\setTitle().

{
global $tree, $ilCtrl, $lng, $ilSetting, $objDefinition;
$this->ctrl = $ilCtrl;
$this->force_open_path = array();
parent::ilExplorer($a_target);
$this->tree = $tree;
$this->root_id = $this->tree->readRootId();
$this->order_column = "title";
$this->setSessionExpandVariable("repexpand");
$this->setTitle($lng->txt("overview"));
// please do not uncomment this
if ($ilSetting->get("repository_tree_pres") == "" ||
($ilSetting->get("rep_tree_limit_grp_crs") && $a_top_node == 0))
{
$this->addFilter("root");
$this->addFilter("cat");
$this->addFilter('catr');
$this->addFilter('rcat');
$this->addFilter("grp");
$this->addFilter("icrs");
$this->addFilter('rgrp');
$this->addFilter("crs");
$this->addFilter('crsr');
$this->addFilter('rcrs');
$this->setFiltered(true);
}
else if ($ilSetting->get("repository_tree_pres") == "all_types")
{
foreach ($objDefinition->getAllRBACObjects() as $rtype)
{
$this->addFilter($rtype);
}
$this->setFiltered(true);
}
}

+ Here is the call graph for this function:

ilRepositoryExplorer::isClickable (   $a_type,
  $a_ref_id,
  $a_obj_id = 0 
)

Reimplemented in ilWorkspaceExplorer, and ilPasteIntoMultipleItemsExplorer.

Definition at line 198 of file class.ilRepositoryExplorer.php.

References $ilUser, $query, $res, $row, ilExplorer\$tree, ilConditionHandler\_checkAllConditionsOfTarget(), ilContainerReferenceAccess\_isAccessible(), ilObject\_lookupObjectId(), ilObjGlossary\_lookupOnline(), and DB_FETCHMODE_OBJECT.

Referenced by ilCourseObjectivePresentationGUI\__showLearningMaterials(), ilCourseObjectivePresentationGUI\__showOtherResources(), and ilCourseObjectivePresentationGUI\__showTests().

{
global $rbacsystem,$tree,$ilDB,$ilUser,$ilAccess;
{
return false;
}
switch ($a_type)
{
case "crs":
return $ilAccess->checkAccess("read", "", $a_ref_id);
// visible groups can allways be clicked; group processing decides
// what happens next
case "grp":
return true;
case 'tst':
if(!$rbacsystem->checkAccess("read", $a_ref_id))
{
return false;
}
$query = sprintf("SELECT * FROM tst_tests WHERE obj_fi=%s",$a_obj_id);
$res = $ilDB->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
return (bool) $row->complete;
}
return false;
case 'svy':
if(!$rbacsystem->checkAccess("read", $a_ref_id))
{
return false;
}
$query = sprintf("SELECT * FROM svy_svy WHERE obj_fi=%s",$a_obj_id);
$res = $ilDB->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
return (bool) $row->complete;
}
return false;
// media pools can only be edited
case "mep":
if ($rbacsystem->checkAccess("read", $a_ref_id))
{
return true;
}
else
{
return false;
}
break;
case 'crsr':
case 'catr':
include_once('./Services/ContainerReference/classes/class.ilContainerReferenceAccess.php');
// all other types are only clickable, if read permission is given
default:
if ($rbacsystem->checkAccess("read", $a_ref_id))
{
// check if lm is online
if ($a_type == "lm")
{
include_once("./Modules/LearningModule/classes/class.ilObjLearningModule.php");
$lm_obj =& new ilObjLearningModule($a_ref_id);
if((!$lm_obj->getOnline()) && (!$rbacsystem->checkAccess('write',$a_ref_id)))
{
return false;
}
}
// check if fblm is online
if ($a_type == "htlm")
{
include_once("./Modules/HTMLLearningModule/classes/class.ilObjFileBasedLM.php");
$lm_obj =& new ilObjFileBasedLM($a_ref_id);
if((!$lm_obj->getOnline()) && (!$rbacsystem->checkAccess('write',$a_ref_id)))
{
return false;
}
}
// check if fblm is online
if ($a_type == "sahs")
{
include_once("./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php");
$lm_obj =& new ilObjSAHSLearningModule($a_ref_id);
if((!$lm_obj->getOnline()) && (!$rbacsystem->checkAccess('write',$a_ref_id)))
{
return false;
}
}
// check if glossary is online
if ($a_type == "glo")
{
$obj_id = ilObject::_lookupObjectId($a_ref_id);
include_once("./Modules/Glossary/classes/class.ilObjGlossary.php");
if((!ilObjGlossary::_lookupOnline($obj_id)) &&
(!$rbacsystem->checkAccess('write',$a_ref_id)))
{
return false;
}
}
return true;
}
else
{
return false;
}
break;
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRepositoryExplorer::isVisible (   $a_ref_id,
  $a_type 
)

Reimplemented from ilExplorer.

Reimplemented in ilWorkspaceExplorer.

Definition at line 342 of file class.ilRepositoryExplorer.php.

References $ilSetting, ilExplorer\$tree, ilEventItems\_getItemsOfContainer(), and ilItemGroupItems\_getItemsOfContainer().

{
global $ilAccess,$tree,$ilSetting;
if(!$ilAccess->checkAccess('visible', '', $a_ref_id))
{
return false;
}
$is_course = false;
$container_parent_id = $tree->checkForParentType($a_ref_id,'grp');
if(!$container_parent_id)
{
$is_course = true;
$container_parent_id = $tree->checkForParentType($a_ref_id,'crs');
}
if($container_parent_id)
{
// do not display session materials for container course/group
if($ilSetting->get("repository_tree_pres") == "all_types" && $container_parent_id != $a_ref_id)
{
// get container event items only once
if(!isset($this->session_materials[$container_parent_id]))
{
include_once './Modules/Session/classes/class.ilEventItems.php';
$this->session_materials[$container_parent_id] = ilEventItems::_getItemsOfContainer($container_parent_id);
}
// get item group items only once
if(!isset($this->item_group_items[$container_parent_id]))
{
include_once './Modules/ItemGroup/classes/class.ilItemGroupItems.php';
$this->item_group_items[$container_parent_id] = ilItemGroupItems::_getItemsOfContainer($container_parent_id);
}
if(in_array($a_ref_id, $this->session_materials[$container_parent_id]))
{
return false;
}
if(in_array($a_ref_id, $this->item_group_items[$container_parent_id]))
{
return false;
}
}
}
return true;
}

+ Here is the call graph for this function:

ilRepositoryExplorer::setForceOpenPath (   $a_path)

set force open path

Definition at line 79 of file class.ilRepositoryExplorer.php.

{
$this->force_open_path = $a_path;
}
ilRepositoryExplorer::showChilds (   $a_ref_id,
  $a_obj_id = 0 
)

Reimplemented in ilPasteIntoMultipleItemsExplorer, and ilWorkspaceExplorer.

Definition at line 319 of file class.ilRepositoryExplorer.php.

References ilExplorer\$tree, and ilConditionHandler\_checkAllConditionsOfTarget().

{
global $rbacsystem,$tree;
//vd($a_ref_id);
if ($a_ref_id == 0)
{
return true;
}
{
return false;
}
if ($rbacsystem->checkAccess("read", $a_ref_id))
{
return true;
}
else
{
return false;
}
}

+ Here is the call graph for this function:

ilRepositoryExplorer::sortNodes (   $a_nodes,
  $a_parent_obj_id 
)

sort nodes

public

Parameters
@return

Reimplemented from ilExplorer.

Reimplemented in ilWorkspaceExplorer.

Definition at line 447 of file class.ilRepositoryExplorer.php.

References $t, ilContainerSorting\_getInstance(), and ilObject\_lookupType().

{
global $objDefinition;
if ($a_parent_obj_id > 0)
{
$parent_type = ilObject::_lookupType($a_parent_obj_id);
}
else
{
$parent_type = "dummy";
$this->type_grps["dummy"] = array("root" => "dummy");
}
if (empty($this->type_grps[$parent_type]))
{
$this->type_grps[$parent_type] =
$objDefinition->getGroupedRepositoryObjectTypes($parent_type);
}
$group = array();
foreach ($a_nodes as $node)
{
$g = $objDefinition->getGroupOfObj($node["type"]);
if ($g == "")
{
$g = $node["type"];
}
$group[$g][] = $node;
}
$nodes = array();
foreach ($this->type_grps[$parent_type] as $t => $g)
{
if (is_array($group[$t]))
{
// do we have to sort this group??
include_once("./Services/Container/classes/class.ilContainer.php");
include_once("./Services/Container/classes/class.ilContainerSorting.php");
$sort = ilContainerSorting::_getInstance($a_parent_obj_id);
$group = $sort->sortItems($group);
// need extra session sorting here
if ($t == "sess")
{
}
foreach ($group[$t] as $k => $item)
{
$nodes[] = $item;
}
}
}
return $nodes;
//return parent::sortNodes($a_nodes,$a_parent_obj_id);
}

+ Here is the call graph for this function:

Field Documentation

ilRepositoryExplorer::$ctrl

Definition at line 24 of file class.ilRepositoryExplorer.php.

ilRepositoryExplorer::$output

Definition at line 23 of file class.ilRepositoryExplorer.php.

ilRepositoryExplorer::$root_id

Definition at line 22 of file class.ilRepositoryExplorer.php.


The documentation for this class was generated from the following file: