ILIAS  Release_3_10_x_branch Revision 61812
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilExplorer Class Reference

Class ilExplorer class for explorer view in admin frame. More...

+ Inheritance diagram for ilExplorer:
+ Collaboration diagram for ilExplorer:

Public Member Functions

 ilExplorer ($a_target)
 Constructor public.
 initItemCounter ($a_number)
 Init item counter.
 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
 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
 isVisible ($a_ref_id, $a_type)
 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
 setOutput ($a_parent_id, $a_depth=1, $a_obj_id=0)
 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.
 forceExpanded ($a_obj_id)
 force expansion of node
 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 (
 formatHeader (&$tpl, $a_obj_id, $a_option)
 Creates output for header (is empty here but can be overwritten in derived classes)
 formatObject (&$tpl, $a_node_id, $a_option, $a_obj_id=0)
 Creates output recursive method private.
 getImage ($a_name, $a_type="", $a_obj_id="")
 get image path (may be overwritten by derived classes)
 getImageAlt ($a_default_text, $a_type="", $a_obj_id="")
 get image alt text
 getNodeStyleClass ($a_id, $a_type)
 get style class for node
 buildLinkTarget ($a_node_id, $a_type)
 get link target (may be overwritten by derived classes)
 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
 buildFrameTarget ($a_type, $a_child=0, $a_obj_id=0)
 get frame target (may be overwritten by derived classes)
 createTarget ($a_type, $a_node_id)
 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
 sortNodes ($a_nodes, $a_parent_obj_id)
 sort nodes and put adm object to the end of sorted array private

Data Fields

 $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

Detailed Description

Class ilExplorer class for explorer view in admin frame.

Author
Stefan Meyer smeye.nosp@m.r@da.nosp@m.tabay.nosp@m..de
Version
Id:
class.ilExplorer.php 17607 2008-10-07 08:45:56Z akill

Definition at line 36 of file class.ilExplorer.php.

Member Function Documentation

ilExplorer::addFilter (   $a_item)

adds item to the filter public

Parameters
stringobject type to add
Returns
boolean

Definition at line 1113 of file class.ilExplorer.php.

Referenced by ilConditionSelector\ilConditionSelector(), ilExplorer(), ilLMMenuObjectSelector\ilLMMenuObjectSelector(), ilMaterialExplorer\ilMaterialExplorer(), ilPaymentObjectSelector\ilPaymentObjectSelector(), ilRepositoryCopySelector\ilRepositoryCopySelector(), ilRepositoryExplorer\ilRepositoryExplorer(), ilRepositoryLinkSelector\ilRepositoryLinkSelector(), ilRoleDesktopItemSelector\ilRoleDesktopItemSelector(), ilSearchResultExplorer\ilSearchResultExplorer(), ilSearchRootSelector\ilSearchRootSelector(), ilSolutionExplorer\ilSolutionExplorer(), and ilTableOfContentsExplorer\ilTableOfContentsExplorer().

{
$ispresent = 0;
if (is_array($this->filter))
{
//run through filter
foreach ($this->filter as $item)
{
if ($item == $a_item)
{
$is_present = 1;
return false;
}
}
}
else
{
$this->filter = array();
}
if ($is_present == 0)
{
$this->filter[] = $a_item;
}
return true;
}

+ Here is the caller graph for this function:

ilExplorer::buildDescription (   $a_desc,
  $a_id,
  $a_type 
)

standard implementation for description, may be overwritten by derived classes

Reimplemented in ilBookmarkExplorer, and ilIntLinkRepItemExplorer.

Definition at line 959 of file class.ilExplorer.php.

Referenced by formatObject().

{
return "";
}

+ Here is the caller graph for this function:

ilExplorer::buildFrameTarget (   $a_type,
  $a_child = 0,
  $a_obj_id = 0 
)
ilExplorer::buildLinkTarget (   $a_node_id,
  $a_type 
)
ilExplorer::buildOnClick (   $a_node_id,
  $a_type,
  $a_title 
)

get onclick event handling (may be overwritten by derived classes)

Reimplemented in ilIntLinkRepItemExplorer.

Definition at line 943 of file class.ilExplorer.php.

Referenced by ilBookmarkExplorer\formatObject(), and formatObject().

{
return "";
}

+ Here is the caller graph for this function:

ilExplorer::buildSelect (   $a_node_id,
  $a_type 
)

standard implementation for adding an option select box between image and title

Reimplemented in ilCopyWizardExplorer.

Definition at line 967 of file class.ilExplorer.php.

Referenced by formatObject().

{
return "";
}

+ Here is the caller graph for this function:

ilExplorer::buildTitle (   $a_title,
  $a_id,
  $a_type 
)

standard implementation for title, may be overwritten by derived classes

Reimplemented in ilIntLinkRepItemExplorer, ilTableOfContentsExplorer, ilLMEditorExplorer, and ilLMTOCExplorer.

Definition at line 951 of file class.ilExplorer.php.

Referenced by ilBookmarkExplorer\formatObject(), and formatObject().

{
return $a_title;
}

+ Here is the caller graph for this function:

ilExplorer::checkFilter (   $a_item)

check if item is in filter private

Parameters
string
Returns
integer

Definition at line 1242 of file class.ilExplorer.php.

References $ret, getFilterMode(), and IL_FM_NEGATIVE.

Referenced by ilSCORMExplorer\setOutput(), and setOutput().

{
if (is_array($this->filter))
{
if (in_array($a_item, $this->filter))
{
$ret = true;
}
else
{
$ret = false;
}
}
else
{
$ret = false;
}
if ($this->getFilterMode() == IL_FM_NEGATIVE )
{
return $ret;
}
else
{
return !$ret;
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilExplorer::checkPermissions (   $a_check)

check permissions via rbac

Parameters
boolean$a_checkcheck true/false

Definition at line 354 of file class.ilExplorer.php.

Referenced by ilAICCExplorer\ilAICCExplorer(), ilHACPExplorer\ilHACPExplorer(), ilLMExplorer\ilLMExplorer(), ilMediaPoolExplorer\ilMediaPoolExplorer(), and ilSCORMExplorer\ilSCORMExplorer().

{
$this->rbac_check = $a_check;
}

+ Here is the caller graph for this function:

ilExplorer::createLines (   $a_depth)

Creates lines for explorer view private.

Parameters
integer

Definition at line 1024 of file class.ilExplorer.php.

References is_in_array().

Referenced by ilMailExplorer\getOutput(), ilPublicSectionSelector\getOutput(), ilBookmarkExplorer\getOutput(), ilShopPublicSectionSelector\getOutput(), ilForumExplorer\getOutput(), ilSCORMExplorer\getOutput(), and getOutput().

{
for ($i = 0; $i < count($this->format_options); ++$i)
{
if ($this->format_options[$i]["depth"] == $a_depth+1
and !$this->format_options[$i]["container"]
and $this->format_options[$i]["depth"] != 1)
{
$this->format_options[$i]["tab"]["$a_depth"] = "quer";
}
if ($this->format_options[$i]["depth"] == $a_depth+2)
{
if ($this->is_in_array($i+1,$this->format_options[$i]["depth"]))
{
$this->format_options[$i]["tab"]["$a_depth"] = "winkel";
}
else
{
$this->format_options[$i]["tab"]["$a_depth"] = "ecke";
}
}
if ($this->format_options[$i]["depth"] > $a_depth+2)
{
if ($this->is_in_array($i+1,$a_depth+2))
{
$this->format_options[$i]["tab"]["$a_depth"] = "hoch";
}
}
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilExplorer::createTarget (   $a_type,
  $a_node_id 
)

Creates Get Parameter private.

Parameters
string
integer
Returns
string

Reimplemented in ilForumExplorer, ilMailExplorer, and ilSCORMExplorer.

Definition at line 989 of file class.ilExplorer.php.

Referenced by ilBookmarkExplorer\formatObject(), and formatObject().

{
if (!isset($a_type) or !is_string($a_type) or !isset($a_node_id))
{
$this->ilias->raiseError(get_class($this)."::createTarget(): Missing parameter or wrong datatype! ".
"type: ".$a_type." node_id:".$a_node_id,$this->ilias->error_obj->WARNING);
}
// SET expand parameter:
// positive if object is expanded
// negative if object is compressed
$a_node_id = $a_type == '+' ? $a_node_id : -(int) $a_node_id;
$sep = (is_int(strpos($this->expand_target, "?")))
? "&"
: "?";
return $this->expand_target.$sep.$this->expand_variable."=".$a_node_id.$this->params_get."#".abs($a_node_id);
}

+ Here is the caller graph for this function:

ilExplorer::delFilter (   $a_item)

removes item from the filter public

Parameters
stringobject type to remove
Returns
boolean

Definition at line 1148 of file class.ilExplorer.php.

{
//check if a filter exists
if (is_array($this->filter))
{
//build copy of the existing filter without the given item
$tmp = array();
foreach ($this->filter as $item)
{
if ($item != $a_item)
{
$tmp[] = $item;
}
else
{
$deleted = 1;
}
}
$this->filter = $tmp;
}
else
{
return false;
}
if ($deleted == 1)
{
return true;
}
else
{
return false;
}
}
ilExplorer::forceExpandAll (   $a_mode,
  $a_show_minus = true 
)

force expandAll.

if true all nodes are expanded regardless of the values in $expanded (default: false) public

Parameters
boolean

Definition at line 1218 of file class.ilExplorer.php.

Referenced by ilPublicSectionSelector\ilPublicSectionSelector().

{
$this->expand_all = (bool) $a_mode;
$this->show_minus = $a_show_minus;
}

+ Here is the caller graph for this function:

ilExplorer::forceExpanded (   $a_obj_id)

force expansion of node

Reimplemented in ilTableOfContentsExplorer, ilAdministrationExplorer, ilLMTOCExplorer, and ilLMEditorExplorer.

Definition at line 628 of file class.ilExplorer.php.

Referenced by setOutput().

{
return false;
}

+ Here is the caller graph for this function:

ilExplorer::formatHeader ( $tpl,
  $a_obj_id,
  $a_option 
)

Creates output for header (is empty here but can be overwritten in derived classes)

public

Parameters
integerobj_id
integerarray options

Reimplemented in ilRepositoryExplorer, ilIntLinkRepItemExplorer, ilPoolSelectorGUI, ilLMExplorer, ilMediaPoolExplorer, ilAdministrationExplorer, ilLMEditorExplorer, and ilStyleScopeExplorer.

Definition at line 763 of file class.ilExplorer.php.

Referenced by getOutput().

{
}

+ Here is the caller graph for this function:

ilExplorer::formatObject ( $tpl,
  $a_node_id,
  $a_option,
  $a_obj_id = 0 
)

Creates output recursive method private.

Parameters
integer
array
Returns
string

Reimplemented in ilBookmarkExplorer, ilForumExplorer, and ilPublicSectionSelector.

Definition at line 775 of file class.ilExplorer.php.

References $lng, $target, $tpl, buildDescription(), buildFrameTarget(), buildLinkTarget(), buildOnClick(), buildSelect(), buildTitle(), createTarget(), getImage(), getImageAlt(), getNodeStyleClass(), isClickable(), and ilUtil\shortenText().

Referenced by ilMailExplorer\getOutput(), ilShopPublicSectionSelector\getOutput(), and getOutput().

{
global $lng;
if (!isset($a_node_id) or !is_array($a_option))
{
$this->ilias->raiseError(get_class($this)."::formatObject(): Missing parameter or wrong datatype! ".
"node_id: ".$a_node_id." options:".var_dump($a_option),$this->ilias->error_obj->WARNING);
}
$pic = false;
foreach ($a_option["tab"] as $picture)
{
if ($picture == 'plus')
{
$tpl->setCurrentBlock("exp_desc");
$tpl->setVariable("EXP_DESC", $lng->txt("expand"));
$tpl->parseCurrentBlock();
$target = $this->createTarget('+',$a_node_id);
$tpl->setCurrentBlock("expander");
$tpl->setVariable("LINK_NAME", $a_node_id);
$tpl->setVariable("LINK_TARGET_EXPANDER", $target);
$tpl->setVariable("IMGPATH", $this->getImage("browser/plus.gif"));
$tpl->parseCurrentBlock();
$pic = true;
}
if ($picture == 'minus' && $this->show_minus)
{
$tpl->setCurrentBlock("exp_desc");
$tpl->setVariable("EXP_DESC", $lng->txt("collapse"));
$tpl->parseCurrentBlock();
$target = $this->createTarget('-',$a_node_id);
$tpl->setCurrentBlock("expander");
$tpl->setVariable("LINK_NAME", $a_node_id);
$tpl->setVariable("LINK_TARGET_EXPANDER", $target);
$tpl->setVariable("IMGPATH", $this->getImage("browser/minus.gif"));
$tpl->parseCurrentBlock();
$pic = true;
}
/*
if ($picture == 'blank' or $picture == 'winkel'
or $picture == 'hoch' or $picture == 'quer' or $picture == 'ecke')
{
$picture = "blank";
$tpl->setCurrentBlock("lines");
$tpl->setVariable("IMGPATH_LINES", $this->getImage("browser/".$picture.".gif"));
$tpl->parseCurrentBlock();
}
*/
}
if (!$pic)
{
$tpl->setCurrentBlock("blank");
$tpl->setVariable("BLANK_PATH", $this->getImage("browser/blank.gif"));
$tpl->parseCurrentBlock();
}
if ($this->output_icons)
{
$tpl->setCurrentBlock("icon");
$tpl->setVariable("ICON_IMAGE" , $this->getImage("icon_".$a_option["type"]."_s.gif", $a_option["type"], $a_obj_id));
$tpl->setVariable("TARGET_ID" , "iconid_".$a_node_id);
$this->iconList[] = "iconid_".$a_node_id;
$tpl->setVariable("TXT_ALT_IMG",
$this->getImageAlt($lng->txt($a_option["desc"]), $a_option["type"], $a_obj_id));
$tpl->parseCurrentBlock();
}
if(strlen($sel = $this->buildSelect($a_node_id,$a_option['type'])))
{
$tpl->setCurrentBlock('select');
$tpl->setVariable('OBJ_SEL',$sel);
$tpl->parseCurrentBlock();
}
if ($this->isClickable($a_option["type"], $a_node_id,$a_obj_id)) // output link
{
$tpl->setCurrentBlock("link");
//$target = (strpos($this->target, "?") === false) ?
// $this->target."?" : $this->target."&";
//$tpl->setVariable("LINK_TARGET", $target.$this->target_get."=".$a_node_id.$this->params_get);
$tpl->setVariable("LINK_TARGET", $this->buildLinkTarget($a_node_id, $a_option["type"]));
$style_class = $this->getNodeStyleClass($a_node_id, $a_option["type"]);
if ($style_class != "")
{
$tpl->setVariable("A_CLASS", ' class="'.$style_class.'" ' );
}
if (($onclick = $this->buildOnClick($a_node_id, $a_option["type"], $a_option["title"])) != "")
{
$tpl->setVariable("ONCLICK", "onClick=\"$onclick\"");
}
//$tpl->setVariable("LINK_NAME", $a_node_id);
$tpl->setVariable("TITLE", ilUtil::shortenText(
$this->buildTitle($a_option["title"], $a_node_id, $a_option["type"]),
$this->textwidth, true));
$tpl->setVariable("DESC", ilUtil::shortenText(
$this->buildDescription($a_option["description"], $a_node_id, $a_option["type"]), $this->textwidth, true));
$frame_target = $this->buildFrameTarget($a_option["type"], $a_node_id, $a_option["obj_id"]);
if ($frame_target != "")
{
$tpl->setVariable("TARGET", " target=\"".$frame_target."\"");
}
$tpl->parseCurrentBlock();
}
else // output text only
{
$tpl->setCurrentBlock("text");
$tpl->setVariable("OBJ_TITLE", ilUtil::shortenText(
$this->buildTitle($a_option["title"], $a_node_id, $a_option["type"]), $this->textwidth, true));
$tpl->setVariable("OBJ_DESC", ilUtil::shortenText(
$this->buildDescription($a_option["desc"], $a_node_id, $a_option["type"]), $this->textwidth, true));
$tpl->parseCurrentBlock();
}
$tpl->setCurrentBlock("list_item");
$tpl->parseCurrentBlock();
$tpl->touchBlock("element");
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilExplorer::getFilterMode ( )

get filter mode

Returns
int filter mode IL_FM_NEGATIVE | IL_FM_NEGATIVE

Definition at line 461 of file class.ilExplorer.php.

References $filter_mode.

Referenced by checkFilter().

{
}

+ Here is the caller graph for this function:

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

get image path (may be overwritten by derived classes)

Reimplemented in ilRepositoryExplorer, ilMailExplorer, ilLMEditorExplorer, ilAdministrationExplorer, and ilCopyWizardExplorer.

Definition at line 904 of file class.ilExplorer.php.

References ilUtil\getImagePath().

Referenced by ilBookmarkExplorer\formatObject(), and formatObject().

{
return ilUtil::getImagePath($a_name);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilExplorer::getImageAlt (   $a_default_text,
  $a_type = "",
  $a_obj_id = "" 
)

get image alt text

Reimplemented in ilLMEditorExplorer.

Definition at line 912 of file class.ilExplorer.php.

Referenced by formatObject().

{
return $a_default_text;
}

+ Here is the caller graph for this function:

ilExplorer::getIndex (   $a_data)

get index of format_options array from specific ref_id,parent_id private

Parameters
arrayobject data
Returns
integer index

Definition at line 1087 of file class.ilExplorer.php.

Referenced by ilForumExplorer\setOutput(), ilSCORMExplorer\setOutput(), ilMailExplorer\setOutput(), ilBookmarkExplorer\setOutput(), and setOutput().

{
if(!is_array($this->format_options))
{
return -1;
}
foreach ($this->format_options as $key => $value)
{
if (($value["child"] == $a_data["parent"]))
{
return $key;
}
}
return -1;
// exit on error
#$this->ilias->raiseError(get_class($this)."::getIndex(): Error in tree. No index found!",$this->ilias->error_obj->FATAL);
}

+ Here is the caller graph for this function:

ilExplorer::getNodeStyleClass (   $a_id,
  $a_type 
)

get style class for node

Definition at line 920 of file class.ilExplorer.php.

Referenced by formatObject().

{
if ($a_id == $this->highlighted)
{
return "il_HighlightedNode";
}
return "";
}

+ Here is the caller graph for this function:

ilExplorer::getOutput ( )

Creates output recursive method public.

Returns
string

Reimplemented in ilSCORMExplorer, ilForumExplorer, ilShopPublicSectionSelector, ilBookmarkExplorer, ilPublicSectionSelector, and ilMailExplorer.

Definition at line 639 of file class.ilExplorer.php.

References $ilBench, $tpl, createLines(), formatHeader(), formatObject(), handleListEndTags(), handleListStartTags(), and ilYuiUtil\initConnection().

{
global $ilBench, $tpl;
$ilBench->start("Explorer", "getOutput");
$this->format_options[0]["tab"] = array();
$depth = $this->tree->getMaximumDepth();
for ($i=0;$i<$depth;++$i)
{
$this->createLines($i);
}
include_once("./Services/YUI/classes/class.ilYuiUtil.php");
$tpl->addJavaScript("./Services/Explorer/js/ilexplorercallback.js");
$tpl->addBlockFile("EXPLORER_TOP", "exp_top", "tpl.explorer_top.html");
//echo "hh";
// set global body class
$tpl->setVariable("BODY_CLASS", "il_Explorer");
$tpl_tree = new ilTemplate("tpl.tree.html", true, true);
$cur_depth = -1;
foreach ($this->format_options as $key => $options)
{
//echo "-".$options["depth"]."-";
if (!$options["visible"])
{
continue;
}
// end tags
$this->handleListEndTags($tpl_tree, $cur_depth, $options["depth"]);
// start tags
$this->handleListStartTags($tpl_tree, $cur_depth, $options["depth"]);
$cur_depth = $options["depth"];
if ($options["visible"] and $key != 0)
{
$this->formatObject($tpl_tree, $options["child"],$options,$options['obj_id']);
}
if ($key == 0)
{
$this->formatHeader($tpl_tree, $options["child"],$options);
}
}
$this->handleListEndTags($tpl_tree, $cur_depth, -1);
$ilBench->stop("Explorer", "getOutput");
return $tpl_tree->get();
}

+ Here is the call graph for this function:

ilExplorer::getRoot ( )

get root id

public

Parameters

Definition at line 260 of file class.ilExplorer.php.

References $root_id.

Referenced by setExpand(), and setOutput().

{
return $this->root_id == null ?
$this->tree->getRootId() :
}

+ Here is the caller graph for this function:

ilExplorer::handleListEndTags ( $a_tpl_tree,
  $a_cur_depth,
  $a_item_depth 
)

handle list end tags ( and )

Definition at line 703 of file class.ilExplorer.php.

Referenced by ilMailExplorer\getOutput(), ilPublicSectionSelector\getOutput(), ilBookmarkExplorer\getOutput(), ilShopPublicSectionSelector\getOutput(), ilForumExplorer\getOutput(), and getOutput().

{
if ($a_item_depth < $a_cur_depth)
{
// </li></ul> for ending lists
for ($i = 0; $i < ($a_cur_depth - $a_item_depth); $i++)
{
$a_tpl_tree->touchBlock("end_list_item");
$a_tpl_tree->touchBlock("element");
$a_tpl_tree->touchBlock("end_list");
$a_tpl_tree->touchBlock("element");
}
}
else if ($a_item_depth == $a_cur_depth)
{
// </li> for ending list items
$a_tpl_tree->touchBlock("end_list_item");
$a_tpl_tree->touchBlock("element");
}
}

+ Here is the caller graph for this function:

ilExplorer::handleListStartTags ( $a_tpl_tree,
  $a_cur_depth,
  $a_item_depth 
)

handle list start tags (

)

Definition at line 728 of file class.ilExplorer.php.

Referenced by ilMailExplorer\getOutput(), ilPublicSectionSelector\getOutput(), ilBookmarkExplorer\getOutput(), ilShopPublicSectionSelector\getOutput(), ilForumExplorer\getOutput(), and getOutput().

{
// start tags
if ($a_item_depth > $a_cur_depth)
{
// <ul><li> for new lists
if ($a_item_depth > 1)
{
$a_tpl_tree->touchBlock("start_list");
}
else
{
$a_tpl_tree->touchBlock("start_list_no_indent");
}
$a_tpl_tree->touchBlock("element");
$a_tpl_tree->touchBlock("start_list_item");
$a_tpl_tree->touchBlock("element");
}
else
{
// <li> items
$a_tpl_tree->touchBlock("start_list_item");
$a_tpl_tree->touchBlock("element");
}
}

+ Here is the caller graph for this function:

ilExplorer::highlightNode (   $a_id)

set highlighted node

Definition at line 344 of file class.ilExplorer.php.

{
$this->highlighted = $a_id;
}
ilExplorer::ilExplorer (   $a_target)

Constructor public.

Parameters
stringscriptname

Definition at line 185 of file class.ilExplorer.php.

References $ilias, addFilter(), IL_FM_NEGATIVE, setFiltered(), and setFilterMode().

Referenced by ilCopyWizardExplorer\__construct(), ilPoolSelectorGUI\__construct(), ilAdministrationExplorer\ilAdministrationExplorer(), ilAICCExplorer\ilAICCExplorer(), ilBookmarkExplorer\ilBookmarkExplorer(), ilConditionSelector\ilConditionSelector(), ilForumExplorer\ilForumExplorer(), ilHACPExplorer\ilHACPExplorer(), ilLMExplorer\ilLMExplorer(), ilIntLinkRepItemExplorer\ilLMMenuObjectSelector(), ilLMMenuObjectSelector\ilLMMenuObjectSelector(), ilMailExplorer\ilMailExplorer(), ilMaterialExplorer\ilMaterialExplorer(), ilMediaPoolExplorer\ilMediaPoolExplorer(), ilObjectSelector\ilObjectSelector(), ilPaymentObjectSelector\ilPaymentObjectSelector(), ilRepositoryCopySelector\ilRepositoryCopySelector(), ilRepositoryExplorer\ilRepositoryExplorer(), ilRepositoryLinkSelector\ilRepositoryLinkSelector(), ilRoleDesktopItemSelector\ilRoleDesktopItemSelector(), ilSCORMExplorer\ilSCORMExplorer(), ilSearchResultExplorer\ilSearchResultExplorer(), ilSearchRootSelector\ilSearchRootSelector(), ilSolutionExplorer\ilSolutionExplorer(), and ilStyleScopeExplorer\ilStyleScopeExplorer().

{
global $ilias, $objDefinition;
if (!isset($a_target) or !is_string($a_target))
{
$this->ilias->raiseError(get_class($this)."::Constructor(): No target given!",$this->ilias->error_obj->WARNING);
}
// autofilter object types in devmode
$devtypes = $objDefinition->getDevModeAll();
if (count($devtypes > 0))
{
// activate filter if objects found in devmode
$this->setFiltered(true);
foreach ($devtypes as $type)
{
$this->addFilter($type);
}
}
$this->ilias =& $ilias;
$this->output = array();
$this->expanded = array();
$this->target = $a_target;
$this->target_get = 'ref_id';
$this->frame_target = "content";
$this->order_column = "title";
$this->tree = new ilTree(ROOT_FOLDER_ID);
$this->expand_target = $_SERVER["PATH_INFO"];
$this->rbac_check = true;
$this->output_icons = true;
$this->expand_variable = "expand";
$this->textwidth=50;
$this->post_sort=true;
$this->highlighted = "";
$this->show_minus = true;
$this->counter = 0;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilExplorer::initItemCounter (   $a_number)

Init item counter.

public

Parameters
intnumber

Definition at line 235 of file class.ilExplorer.php.

Referenced by ilCopyWizardExplorer\__construct().

{
$this->counter = $a_number;
}

+ Here is the caller graph for this function:

ilExplorer::is_in_array (   $a_start,
  $a_depth 
)

DESCRIPTION MISSING private.

Parameters
integer
integer
Returns
boolean

Definition at line 1064 of file class.ilExplorer.php.

Referenced by createLines().

{
for ($i=$a_start;$i<count($this->format_options);++$i)
{
if ($this->format_options[$i]["depth"] < $a_depth)
{
break;
}
if ($this->format_options[$i]["depth"] == $a_depth)
{
return true;
}
}
return false;
}

+ Here is the caller graph for this function:

ilExplorer::isClickable (   $a_type,
  $a_ref_id = 0 
)

check if links for certain object type are activated

Parameters
string$a_typeobject type
Returns
boolean true if linking is activated

Reimplemented in ilTableOfContentsExplorer, ilConditionSelector, ilLMTOCExplorer, ilSolutionExplorer, ilMaterialExplorer, ilRepositoryCopySelector, ilRepositoryLinkSelector, ilIntLinkRepItemExplorer, ilPaymentObjectSelector, ilLMExplorer, ilShopPublicSectionSelector, ilSearchResultExplorer, ilLMMenuObjectSelector, ilObjectSelector, ilRoleDesktopItemSelector, ilPoolSelectorGUI, ilContainerSelectionExplorer, ilAICCExplorer, and ilCopyWizardExplorer.

Definition at line 421 of file class.ilExplorer.php.

Referenced by ilBookmarkExplorer\formatObject(), and formatObject().

{
// in this standard implementation
// only the type determines, wether an object should be clickable or not
// but this method can be overwritten and make $exp->setFilterMode(IL_FM_NEGATIVE);use of the ref id
// (this happens e.g. in class ilRepositoryExplorerGUI)
if ($this->is_clickable[$a_type] == "n")
{
return false;
}
else
{
return true;
}
}

+ Here is the caller graph for this function:

ilExplorer::isVisible (   $a_ref_id,
  $a_type 
)

Reimplemented in ilRepositoryExplorer, ilTableOfContentsExplorer, ilLMTOCExplorer, ilSCORMExplorer, and ilAdministrationExplorer.

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

References $ilBench.

Referenced by setOutput().

{
global $rbacsystem, $ilBench;
if (!$this->rbac_check)
{
return true;
}
$ilBench->start("Explorer", "setOutput_isVisible");
$visible = $rbacsystem->checkAccess('visible',$a_ref_id);
$ilBench->stop("Explorer", "setOutput_isVisible");
return $visible;
}

+ Here is the caller graph for this function:

ilExplorer::modifyChilds (   $a_parent_id,
  $a_objects 
)

Reimplemented in ilAdministrationExplorer.

Definition at line 610 of file class.ilExplorer.php.

Referenced by setOutput().

{
return $a_objects;
}

+ Here is the caller graph for this function:

ilExplorer::outputIcons (   $a_icons)

output icons

Parameters
boolean$a_iconsoutput icons true/false

Definition at line 374 of file class.ilExplorer.php.

Referenced by ilAICCExplorer\ilAICCExplorer(), ilHACPExplorer\ilHACPExplorer(), and ilSCORMExplorer\ilSCORMExplorer().

{
$this->output_icons = $a_icons;
}

+ Here is the caller graph for this function:

ilExplorer::setClickable (   $a_type,
  $a_clickable 
)

(de-)activates links for a certain object type

Parameters
string$a_typeobject type
boolean$a_clickabletrue/false

Definition at line 386 of file class.ilExplorer.php.

{
if($a_clickable)
{
$this->is_clickable[$a_type] = "";
}
else
{
$this->is_clickable[$a_type] = "n";
}
}
ilExplorer::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

Parameters
stringpipe-separated integer

Reimplemented in ilForumExplorer, ilBookmarkExplorer, and ilMailExplorer.

Definition at line 1191 of file class.ilExplorer.php.

References $_SESSION, $expand_variable, and getRoot().

Referenced by ilShopPublicSectionSelector\__construct(), SurveyQuestionGUI\addMaterial(), assQuestionGUI\addSuggestedSolution(), ilLPFilterGUI\selector(), ilConditionHandlerInterface\selector(), ilSCORMExplorer\setOutput(), ilObjContentObjectGUI\showEntrySelector(), ilPaymentStatisticGUI\showObjectSelector(), ilPaymentObjectGUI\showObjectSelector(), ilObjPaymentSettingsGUI\showObjectSelectorObject(), and ilSearchGUI\showSelectRoot().

{
// IF ISN'T SET CREATE SESSION VARIABLE
if(!is_array($_SESSION[$this->expand_variable]))
{
}
// IF $_GET["expand"] is positive => expand this node
if ($a_node_id > 0 && !in_array($a_node_id,$_SESSION[$this->expand_variable]))
{
array_push($_SESSION[$this->expand_variable],$a_node_id);
}
// IF $_GET["expand"] is negative => compress this node
if ($a_node_id < 0)
{
$key = array_keys($_SESSION[$this->expand_variable],-(int) $a_node_id);
unset($_SESSION[$this->expand_variable][$key[0]]);
}
$this->expanded = $_SESSION[$this->expand_variable];
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilExplorer::setExpandTarget (   $a_exp_target)

target script for expand icons

Parameters
string$a_exp_targetscript name of target script(may include parameters) initially set to $_SERVER["PATH_INFO"]

Definition at line 336 of file class.ilExplorer.php.

Referenced by ilShopPublicSectionSelector\__construct(), and ilLMPresentationGUI\showTableOfContents().

{
$this->expand_target = $a_exp_target;
}

+ Here is the caller graph for this function:

ilExplorer::setFrameTarget (   $a_target)

set target frame or not frame?

Parameters
stringpublic

Definition at line 1014 of file class.ilExplorer.php.

Referenced by ilTableOfContentsExplorer\ilTableOfContentsExplorer(), and ilTableOfContentsExplorer\setOfflineMode().

{
$this->frame_target = $a_target;
}

+ Here is the caller graph for this function:

ilExplorer::setOrderColumn (   $a_column)

set the order column public

Parameters
stringname of order column

Definition at line 272 of file class.ilExplorer.php.

Referenced by ilAICCExplorer\ilAICCExplorer(), ilHACPExplorer\ilHACPExplorer(), and ilSCORMExplorer\ilSCORMExplorer().

{
$this->order_column = $a_column;
}

+ Here is the caller graph for this function:

ilExplorer::setOrderDirection (   $a_direction)

set the order direction public

Parameters
stringname of order column

Definition at line 282 of file class.ilExplorer.php.

{
if ($a_direction == "desc")
{
$this->order_direction = $a_direction;
}
else
{
$this->order_direction = "asc";
}
}
ilExplorer::setOutput (   $a_parent_id,
  $a_depth = 1,
  $a_obj_id = 0 
)

Creates output for explorer view in admin menue recursive method public.

Parameters
integerparent_node_id where to start from (default=0, 'root')
integerdepth level where to start (default=1)
Returns
string

Definition at line 474 of file class.ilExplorer.php.

References $ilBench, $tab, checkFilter(), forceExpanded(), getIndex(), getRoot(), isVisible(), modifyChilds(), showChilds(), and sortNodes().

{
global $rbacadmin, $rbacsystem, $ilBench;
#echo 'ParentId: '.$a_parent_id.' depth: '.$a_depth.' obj_id: '.$a_obj_id;
if (!isset($a_parent_id))
{
$this->ilias->raiseError(get_class($this)."::setOutput(): No node_id given!",$this->ilias->error_obj->WARNING);
}
if ($this->showChilds($a_parent_id,$a_obj_id))
{
#echo "<br>getChildsFor:".$a_parent_id.":";
$ilBench->start("Explorer", "setOutput_getChilds");
$objects = $this->tree->getChilds($a_parent_id, $this->order_column);
$ilBench->stop("Explorer", "setOutput_getChilds");
}
else
{
$objects = array();
}
$objects = $this->modifyChilds($a_parent_id, $objects);
// force expansion (of single nodes)
if ($this->forceExpanded($a_obj_id) && !in_array($a_obj_id, $this->expanded))
{
$this->expanded[] = $a_obj_id;
}
if (count($objects) > 0)
{
// Maybe call a lexical sort function for the child objects
$ilBench->start("Explorer", "setOutput_sortNodes");
$tab = ++$a_depth - 2;
if ($this->post_sort)
{
$objects = $this->sortNodes($objects,$a_obj_id);
}
$ilBench->stop("Explorer", "setOutput_sortNodes");
$skip_rest = false;
foreach ($objects as $key => $object)
{
// skip childs, if parent is not expanded
if (!$this->forceExpanded($object["child"]) && $skip_rest)
{
continue;
}
//ask for FILTER
if ($this->filtered == false or $this->checkFilter($object["type"]) == false)
{
if ($this->isVisible($object['child'],$object['type']))
{
$ilBench->start("Explorer", "setOutput_setFormatOptions");
#echo 'CHILD getIndex() '.$object['child'].' parent: '.$this->getRoot();
if ($object["child"] != $this->getRoot())
{
$parent_index = $this->getIndex($object);
}
$this->format_options["$this->counter"]["parent"] = $object["parent"];
$this->format_options["$this->counter"]["child"] = $object["child"];
$this->format_options["$this->counter"]["title"] = $object["title"];
$this->format_options["$this->counter"]["type"] = $object["type"];
$this->format_options["$this->counter"]["obj_id"] = $object["obj_id"];
$this->format_options["$this->counter"]["desc"] = "obj_".$object["type"];
$this->format_options["$this->counter"]["depth"] = $tab;
$this->format_options["$this->counter"]["container"] = false;
$this->format_options["$this->counter"]["visible"] = true;
// Create prefix array
for ($i = 0; $i < $tab; ++$i)
{
$this->format_options["$this->counter"]["tab"][] = 'blank';
}
// fix explorer (sometimes explorer disappears)
if ($parent_index == 0)
{
if (!$this->expand_all and !in_array($object["parent"], $this->expanded))
{
$this->expanded[] = $object["parent"];
}
}
// only if parent is expanded and visible, object is visible
if ($object["child"] != $this->getRoot() and ((!$this->expand_all and !in_array($object["parent"],$this->expanded))
or !$this->format_options["$parent_index"]["visible"]))
{
if (!$this->forceExpanded($object["child"]))
{
// if parent is not expanded, and one child is
// visible we don't need more information and
// can skip the rest of the childs
if ($this->format_options["$this->counter"]["visible"])
{
//echo "-setSkipping";
$skip_rest = true;
}
$this->format_options["$this->counter"]["visible"] = false;
}
}
// if object exists parent is container
if ($object["child"] != $this->getRoot())
{
$this->format_options["$parent_index"]["container"] = true;
if ($this->expand_all or in_array($object["parent"],$this->expanded))
{
$this->format_options["$parent_index"]["tab"][($tab-2)] = 'minus';
}
else
{
$this->format_options["$parent_index"]["tab"][($tab-2)] = 'plus';
}
}
++$this->counter;
$ilBench->stop("Explorer", "setOutput_setFormatOptions");
// stop recursion if 2. level beyond expanded nodes is reached
if ($this->expand_all or in_array($object["parent"],$this->expanded) or ($object["parent"] == 0)
or $this->forceExpanded($object["child"]))
{
// recursive
$this->setOutput($object["child"],$a_depth,$object['obj_id']);
}
} //if
} //if FILTER
} //foreach
} //if
} //function

+ Here is the call graph for this function:

ilExplorer::setParamsGet (   $a_params_get)

set additional params to be passed in Get-string public

Parameters
array

Definition at line 314 of file class.ilExplorer.php.

{
if (!isset($a_params_get) or !is_array($a_params_get))
{
$this->ilias->raiseError(get_class($this)."::setTargetGet(): No target given!",$this->ilias->error_obj->WARNING);
}
foreach ($a_params_get as $key => $val)
{
$str .= "&".$key."=".$val;
}
$this->params_get = $str;
}
ilExplorer::setPostSort (   $a_sort)

process post sorting

Parameters
boolean$a_sorttrue / false

Definition at line 441 of file class.ilExplorer.php.

Referenced by ilLMExplorer\ilLMExplorer(), and ilMediaPoolExplorer\ilMediaPoolExplorer().

{
$this->post_sort = $a_sort;
}

+ Here is the caller graph for this function:

ilExplorer::setRoot (   $a_root_id)

Set root node.

public

Parameters
intref id of root node

Definition at line 247 of file class.ilExplorer.php.

{
#$this->tree = new ilTree(ROOT_FOLDER_ID,$a_root_id);
$this->root_id = $a_root_id;
}
ilExplorer::setTargetGet (   $a_target_get)

set the varname in Get-string public

Parameters
stringvarname containing Ids to be used in GET-string

Definition at line 299 of file class.ilExplorer.php.

Referenced by ilObjContentObjectGUI\editPublicSection(), ilHACPPresentationGUI\explorer(), ilAICCPresentationGUI\explorer(), ilSAHSPresentationGUI\explorer(), ilSCORMPresentationGUI\explorer(), ilObjMediaPoolGUI\explorer(), ilObjContentObjectGUI\explorer(), ilShopPurchaseGUI\showDetails(), and ilMailGUI\showMenu().

{
if (!isset($a_target_get) or !is_string($a_target_get))
{
$this->ilias->raiseError(get_class($this)."::setTargetGet(): No target given!",$this->ilias->error_obj->WARNING);
}
$this->target_get = $a_target_get;
}

+ Here is the caller graph for this function:

ilExplorer::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.

ilRepositoryExplorerGUI)

Reimplemented in ilIntLinkRepItemExplorer, ilPaymentObjectSelector, ilSearchResultExplorer, ilConditionSelector, ilSearchRootSelector, ilRepositoryLinkSelector, ilSolutionExplorer, ilMaterialExplorer, ilRepositoryCopySelector, ilRoleDesktopItemSelector, ilLMMenuObjectSelector, ilObjectSelector, and ilPoolSelectorGUI.

Definition at line 620 of file class.ilExplorer.php.

Referenced by ilSCORMExplorer\setOutput(), and setOutput().

{
return true;
}

+ Here is the caller graph for this function:

ilExplorer::sortNodes (   $a_nodes,
  $a_parent_obj_id 
)

sort nodes and put adm object to the end of sorted array private

Parameters
arraynode list as returned by iltree::getChilds();
Returns
array sorted nodes

Reimplemented in ilRepositoryExplorer.

Definition at line 1276 of file class.ilExplorer.php.

References ilUtil\sortArray().

Referenced by setOutput().

{
foreach ($a_nodes as $key => $node)
{
if ($node["type"] == "adm")
{
$match = $key;
$adm_node = $node;
break;
}
}
// cut off adm node
isset($match) ? array_splice($a_nodes,$match,1) : "";
$a_nodes = ilUtil::sortArray($a_nodes,$this->order_column,$this->order_direction);
// append adm node to end of list
isset ($match) ? array_push($a_nodes,$adm_node) : "";
return $a_nodes;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Field Documentation

ilExplorer::$expand_all = false

Definition at line 170 of file class.ilExplorer.php.

ilExplorer::$expand_target

Definition at line 113 of file class.ilExplorer.php.

ilExplorer::$expand_variable

Definition at line 135 of file class.ilExplorer.php.

Referenced by setExpand().

ilExplorer::$expanded

Definition at line 92 of file class.ilExplorer.php.

ilExplorer::$filter_mode

Definition at line 163 of file class.ilExplorer.php.

Referenced by getFilterMode().

ilExplorer::$filtered = false

Definition at line 156 of file class.ilExplorer.php.

ilExplorer::$format_options

Definition at line 57 of file class.ilExplorer.php.

ilExplorer::$is_clickable

Definition at line 142 of file class.ilExplorer.php.

ilExplorer::$order_column

Definition at line 99 of file class.ilExplorer.php.

ilExplorer::$order_direction = "asc"

Definition at line 106 of file class.ilExplorer.php.

ilExplorer::$output

Definition at line 50 of file class.ilExplorer.php.

ilExplorer::$output_icons

Definition at line 128 of file class.ilExplorer.php.

ilExplorer::$params_get

Definition at line 85 of file class.ilExplorer.php.

ilExplorer::$post_sort

Definition at line 149 of file class.ilExplorer.php.

ilExplorer::$rbac_check

Definition at line 120 of file class.ilExplorer.php.

ilExplorer::$root_id = null

Definition at line 177 of file class.ilExplorer.php.

Referenced by getRoot().

ilExplorer::$target_get

Definition at line 78 of file class.ilExplorer.php.


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