ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilExplorer Class Reference

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

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

Public Member Functions

 __construct ($a_target)
 Constructor public. More...
 
 setId ($a_val)
 Set id. More...
 
 getId ()
 Get id. More...
 
 setAsynchExpanding ($a_val)
 Set asynch expanding. More...
 
 getAsynchExpanding ()
 Get asynch expanding. More...
 
 initItemCounter ($a_number)
 Init item counter. More...
 
 setTitle ($a_val)
 Set title. More...
 
 setTitleLength ($a_length)
 Set max title length. More...
 
 getTitleLength ()
 Get max title length. More...
 
 getTitle ()
 Get title. More...
 
 setRoot ($a_root_id)
 Set root node. More...
 
 getRoot ()
 get root id More...
 
 setOrderColumn ($a_column)
 set the order column public More...
 
 setOrderDirection ($a_direction)
 set the order direction public More...
 
 setTargetGet ($a_target_get)
 set the varname in Get-string public More...
 
 setParamsGet ($a_params_get)
 set additional params to be passed in Get-string public More...
 
 setExpandTarget ($a_exp_target)
 target script for expand icons More...
 
 setFrameUpdater ($a_up_frame, $a_up_script, $a_params="")
 Set Explorer Updater. More...
 
 highlightNode ($a_id)
 set highlighted node More...
 
 checkPermissions ($a_check)
 check permissions via rbac More...
 
 setSessionExpandVariable ($a_var_name="expand")
 set name of expand session variable More...
 
 outputIcons ($a_icons)
 output icons More...
 
 setClickable ($a_type, $a_clickable)
 (de-)activates links for a certain object type More...
 
 isVisible ($a_ref_id, $a_type)
 
 setTreeLead ($a_val)
 Set tree leading content. More...
 
 getTreeLead ()
 Get tree leading content. More...
 
 isClickable ($a_type, $a_ref_id=0)
 check if links for certain object type are activated More...
 
 setPostSort ($a_sort)
 process post sorting More...
 
 setFilterMode ($a_mode=IL_FM_NEGATIVE)
 set filter mode More...
 
 getFilterMode ()
 get filter mode More...
 
 setUseStandardFrame ($a_val)
 Set use standard frame. More...
 
 getUseStandardFrame ()
 Get use standard explorer frame. More...
 
 getChildsOfNode ($a_parent_id)
 Get childs of node. More...
 
 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. More...
 
 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. More...
 
 forceExpanded ($a_obj_id)
 force expansion of node More...
 
 getMaximumTreeDepth ()
 Get maximum tree depth. More...
 
 getOutput ()
 Creates output recursive method public. More...
 
 handleListEndTags (&$a_tpl_tree, $a_cur_depth, $a_item_depth)
 handle list end tags ( and ) More...
 
 handleListStartTags (&$a_tpl_tree, $a_cur_depth, $a_item_depth)
 handle list start tags ( More...
 
 formatHeader ($tpl, $a_obj_id, $a_option)
 Creates output for header (is empty here but can be overwritten in derived classes) More...
 
 formatObject ($tpl, $a_node_id, $a_option, $a_obj_id=0)
 Creates output recursive method private. More...
 
 getImage ($a_name, $a_type="", $a_obj_id="")
 get image path (may be overwritten by derived classes) More...
 
 getImageAlt ($a_default_text, $a_type="", $a_obj_id="")
 get image alt text More...
 
 getNodeStyleClass ($a_id, $a_type)
 get style class for node More...
 
 buildLinkTarget ($a_node_id, $a_type)
 get link target (may be overwritten by derived classes) More...
 
 buildOnClick ($a_node_id, $a_type, $a_title)
 get onclick event handling (may be overwritten by derived classes) More...
 
 buildTitle ($a_title, $a_id, $a_type)
 standard implementation for title, may be overwritten by derived classes More...
 
 buildDescription ($a_desc, $a_id, $a_type)
 standard implementation for description, may be overwritten by derived classes More...
 
 buildSelect ($a_node_id, $a_type)
 standard implementation for adding an option select box between image and title More...
 
 buildFrameTarget ($a_type, $a_child=0, $a_obj_id=0)
 get frame target (may be overwritten by derived classes) More...
 
 createTarget ($a_type, $a_node_id, $a_highlighted_subtree=false, $a_append_anch=true)
 Creates Get Parameter private. More...
 
 setFrameTarget ($a_target)
 set target frame or not frame? More...
 
 createLines ($a_depth)
 Creates lines for explorer view private. More...
 
 is_in_array ($a_start, $a_depth)
 DESCRIPTION MISSING private. More...
 
 getIndex ($a_data)
 get index of format_options array from specific ref_id,parent_id private More...
 
 addFilter ($a_item)
 adds item to the filter public More...
 
 delFilter ($a_item)
 removes item from the filter public More...
 
 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 More...
 
 forceExpandAll ($a_mode, $a_show_minus=true)
 force expandAll. More...
 
 setFiltered ($a_bool)
 active/deactivate the filter public More...
 
 checkFilter ($a_item)
 check if item is in filter private More...
 
 sortNodes ($a_nodes, $a_parent_obj_id)
 sort nodes and put adm object to the end of sorted array private More...
 

Data Fields

 $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

Class ilExplorer class for explorer view in admin frame.

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$Id$

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

Constructor & Destructor Documentation

◆ __construct()

ilExplorer::__construct (   $a_target)

Constructor public.

Parameters
stringscriptname

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

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

169  {
170  global $ilias, $objDefinition;
171 
172  if (!isset($a_target) or !is_string($a_target))
173  {
174  $this->ilias->raiseError(get_class($this)."::Constructor(): No target given!",$this->ilias->error_obj->WARNING);
175  }
176 
177  // autofilter object types in devmode
178  $devtypes = $objDefinition->getDevModeAll();
179 
180  if (count($devtypes > 0))
181  {
182  // activate filter if objects found in devmode
183  $this->setFiltered(true);
184 
185  foreach ($devtypes as $type)
186  {
187  $this->addFilter($type);
188  }
189  }
190 
191  $this->ilias = $ilias;
192  $this->output = array();
193  $this->expanded = array();
194  $this->target = $a_target;
195  $this->target_get = 'ref_id';
196  $this->frame_target = "content";
197  $this->order_column = "title";
198  $this->tree = new ilTree(ROOT_FOLDER_ID);
199  $this->tree->initLangCode();
200  $this->expand_target = $_SERVER["PATH_INFO"];
201  $this->rbac_check = true;
202  $this->output_icons = true;
203  $this->expand_variable = "expand";
204  $this->setTitleLength(50);
205  $this->post_sort=true;
207  $this->highlighted = "";
208  $this->show_minus = true;
209  $this->counter = 0;
210  $this->asnch_expanding = false;
211  }
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']
setFilterMode($a_mode=IL_FM_NEGATIVE)
set filter mode
setTitleLength($a_length)
Set max title length.
setFiltered($a_bool)
active/deactivate the filter public
redirection script todo: (a better solution should control the processing via a xml file) ...
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
Create styles array
The data for the language used.
addFilter($a_item)
adds item to the filter public
const IL_FM_NEGATIVE
+ Here is the call graph for this function:

Member Function Documentation

◆ addFilter()

ilExplorer::addFilter (   $a_item)

adds item to the filter public

Parameters
stringobject type to add
Returns
boolean

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

References array.

Referenced by ilECSNodeMappingLocalExplorer\__construct(), ilRepositoryExplorer\__construct(), ilPasteIntoMultipleItemsExplorer\__construct(), ilSurveySkillExplorer\__construct(), ilLMMenuObjectSelector\__construct(), ilSolutionExplorer\__construct(), ilRoleDesktopItemSelector\__construct(), ilWorkspaceExplorer\__construct(), ilContainerSelectionExplorer\__construct(), ilSearchRootSelector\__construct(), and __construct().

1353  {
1354  $ispresent = 0;
1355 
1356  if (is_array($this->filter))
1357  {
1358  //run through filter
1359  foreach ($this->filter as $item)
1360  {
1361  if ($item == $a_item)
1362  {
1363  $is_present = 1;
1364 
1365  return false;
1366  }
1367  }
1368  }
1369  else
1370  {
1371  $this->filter = array();
1372  }
1373  if ($is_present == 0)
1374  {
1375  $this->filter[] = $a_item;
1376  }
1377 
1378  return true;
1379  }
Create styles array
The data for the language used.
+ Here is the caller graph for this function:

◆ buildDescription()

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

standard implementation for description, may be overwritten by derived classes

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

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

1183  {
1184  return "";
1185  }
+ Here is the caller graph for this function:

◆ buildFrameTarget()

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

get frame target (may be overwritten by derived classes)

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

Referenced by ilAICCExplorer\formatObject(), ilECSNodeMappingCmsExplorer\formatObject(), ilECSNodeMappingLocalExplorer\formatObject(), formatObject(), and ilSCORMExplorer\insertObject().

1200  {
1201  return $this->frame_target;
1202  }
+ Here is the caller graph for this function:

◆ buildLinkTarget()

ilExplorer::buildLinkTarget (   $a_node_id,
  $a_type 
)

get link target (may be overwritten by derived classes)

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

Referenced by ilAICCExplorer\formatObject(), ilECSNodeMappingCmsExplorer\formatObject(), ilECSNodeMappingLocalExplorer\formatObject(), and formatObject().

1156  {
1157  $target = (strpos($this->target, "?") === false)
1158  ? $this->target."?"
1159  : $this->target."&";
1160  return $target.$this->target_get."=".$a_node_id.$this->params_get;
1161  }
+ Here is the caller graph for this function:

◆ buildOnClick()

ilExplorer::buildOnClick (   $a_node_id,
  $a_type,
  $a_title 
)

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

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

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

1167  {
1168  return "";
1169  }
+ Here is the caller graph for this function:

◆ buildSelect()

ilExplorer::buildSelect (   $a_node_id,
  $a_type 
)

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

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

Referenced by formatObject().

1191  {
1192  return "";
1193  }
+ Here is the caller graph for this function:

◆ buildTitle()

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

standard implementation for title, may be overwritten by derived classes

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

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

1175  {
1176  return $a_title;
1177  }
+ Here is the caller graph for this function:

◆ checkFilter()

ilExplorer::checkFilter (   $a_item)

check if item is in filter private

Parameters
string
Returns
integer

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

References $ret, getFilterMode(), and IL_FM_NEGATIVE.

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

1482  {
1483  if (is_array($this->filter))
1484  {
1485  if (in_array($a_item, $this->filter))
1486  {
1487  $ret = true;
1488  }
1489  else
1490  {
1491  $ret = false;
1492  }
1493  }
1494  else
1495  {
1496  $ret = false;
1497  }
1498 
1499  if ($this->getFilterMode() == IL_FM_NEGATIVE )
1500  {
1501  return $ret;
1502  }
1503  else
1504  {
1505  return !$ret;
1506  }
1507  }
getFilterMode()
get filter mode
$ret
Definition: parser.php:6
const IL_FM_NEGATIVE
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkPermissions()

ilExplorer::checkPermissions (   $a_check)

check permissions via rbac

Parameters
boolean$a_checkcheck true/false

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

Referenced by ilSurveySkillExplorer\__construct(), ilContainerSelectionExplorer\__construct(), ilAICCExplorer\__construct(), and ilSCORMExplorer\__construct().

432  {
433  $this->rbac_check = $a_check;
434  }
+ Here is the caller graph for this function:

◆ createLines()

ilExplorer::createLines (   $a_depth)

Creates lines for explorer view private.

Parameters
integer

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

References is_in_array().

Referenced by getOutput().

1264  {
1265  for ($i = 0; $i < count($this->format_options); ++$i)
1266  {
1267  if ($this->format_options[$i]["depth"] == $a_depth+1
1268  and !$this->format_options[$i]["container"]
1269  and $this->format_options[$i]["depth"] != 1)
1270  {
1271  $this->format_options[$i]["tab"]["$a_depth"] = "quer";
1272  }
1273 
1274  if ($this->format_options[$i]["depth"] == $a_depth+2)
1275  {
1276  if ($this->is_in_array($i+1,$this->format_options[$i]["depth"]))
1277  {
1278  $this->format_options[$i]["tab"]["$a_depth"] = "winkel";
1279  }
1280  else
1281  {
1282  $this->format_options[$i]["tab"]["$a_depth"] = "ecke";
1283  }
1284  }
1285 
1286  if ($this->format_options[$i]["depth"] > $a_depth+2)
1287  {
1288  if ($this->is_in_array($i+1,$a_depth+2))
1289  {
1290  $this->format_options[$i]["tab"]["$a_depth"] = "hoch";
1291  }
1292  }
1293  }
1294  }
is_in_array($a_start, $a_depth)
DESCRIPTION MISSING private.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createTarget()

ilExplorer::createTarget (   $a_type,
  $a_node_id,
  $a_highlighted_subtree = false,
  $a_append_anch = true 
)

Creates Get Parameter private.

Parameters
string
integer
Returns
string

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

References $a_type, and getAsynchExpanding().

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

1213  {
1214  if (!isset($a_type) or !is_string($a_type) or !isset($a_node_id))
1215  {
1216  $this->ilias->raiseError(get_class($this)."::createTarget(): Missing parameter or wrong datatype! ".
1217  "type: ".$a_type." node_id:".$a_node_id,$this->ilias->error_obj->WARNING);
1218  }
1219 
1220  // SET expand parameter:
1221  // positive if object is expanded
1222  // negative if object is compressed
1223  $a_node_id = $a_type == '+' ? $a_node_id : -(int) $a_node_id;
1224 
1225  $sep = (is_int(strpos($this->expand_target, "?")))
1226  ? "&"
1227  : "?";
1228 
1229  // in current tree flag
1230  $ict_str = ($a_highlighted_subtree || $this->highlighted == "")
1231  ? "&ict=1"
1232  : "";
1233  if ($this->getAsynchExpanding())
1234  {
1235  $ict_str.= "&cmdMode=asynch";
1236  }
1237  if ($a_append_anch)
1238  {
1239  return $this->expand_target.$sep.$this->expand_variable."=".$a_node_id.$this->params_get.$ict_str."#".abs($a_node_id);
1240  }
1241  else
1242  {
1243  return $this->expand_target.$sep.$this->expand_variable."=".$a_node_id.$this->params_get.$ict_str;
1244  }
1245  }
getAsynchExpanding()
Get asynch expanding.
$a_type
Definition: workflow.php:93
redirection script todo: (a better solution should control the processing via a xml file) ...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ delFilter()

ilExplorer::delFilter (   $a_item)

removes item from the filter public

Parameters
stringobject type to remove
Returns
boolean

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

References array.

1388  {
1389  //check if a filter exists
1390  if (is_array($this->filter))
1391  {
1392  //build copy of the existing filter without the given item
1393  $tmp = array();
1394 
1395  foreach ($this->filter as $item)
1396  {
1397  if ($item != $a_item)
1398  {
1399  $tmp[] = $item;
1400  }
1401  else
1402  {
1403  $deleted = 1;
1404  }
1405  }
1406 
1407  $this->filter = $tmp;
1408  }
1409  else
1410  {
1411  return false;
1412  }
1413 
1414  if ($deleted == 1)
1415  {
1416  return true;
1417  }
1418  else
1419  {
1420  return false;
1421  }
1422  }
Create styles array
The data for the language used.

◆ forceExpandAll()

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 1457 of file class.ilExplorer.php.

1458  {
1459  $this->expand_all = (bool) $a_mode;
1460  $this->show_minus = $a_show_minus;
1461  }

◆ forceExpanded()

ilExplorer::forceExpanded (   $a_obj_id)

force expansion of node

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

Referenced by setOutput().

768  {
769  return false;
770  }
+ Here is the caller graph for this function:

◆ formatHeader()

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

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

Referenced by getOutput().

971  {
972  }
+ Here is the caller graph for this function:

◆ formatObject()

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

Creates output recursive method private.

Parameters
integer
array
Returns
string

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

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

Referenced by getOutput().

983  {
984  global $lng;
985  if (!isset($a_node_id) or !is_array($a_option))
986  {
987  $this->ilias->raiseError(get_class($this)."::formatObject(): Missing parameter or wrong datatype! ".
988  "node_id: ".$a_node_id." options:".var_dump($a_option),$this->ilias->error_obj->WARNING);
989  }
990 
991  $pic = false;
992  foreach ((array) $a_option["tab"] as $picture)
993  {
994  if ($picture == 'plus')
995  {
996  $tpl->setCurrentBlock("expander");
997  $tpl->setVariable("EXP_DESC", $lng->txt("collapsed"));
998  $tpl->setVariable("LINK_NAME", $a_node_id);
999  if (!$this->getAsynchExpanding())
1000  {
1001  $target = $this->createTarget('+',$a_node_id, $a_option["highlighted_subtree"]);
1002  $tpl->setVariable("LINK_TARGET_EXPANDER", $target);
1003  }
1004  else
1005  {
1006  $target = $this->createTarget('+',$a_node_id, $a_option["highlighted_subtree"], false);
1007  $tpl->setVariable("ONCLICK_TARGET_EXPANDER", " onclick=\"return il.Explorer.refresh('tree_div', '".$target."');\"");
1008  $tpl->setVariable("LINK_TARGET_EXPANDER", "#");
1009  }
1010  $tpl->setVariable("IMGPATH", $this->getImage("browser/plus.png"));
1011  $tpl->parseCurrentBlock();
1012  $pic = true;
1013  }
1014 
1015  if ($picture == 'forceexp')
1016  {
1017  $tpl->setCurrentBlock("expander");
1018  $tpl->setVariable("EXP_DESC", $lng->txt("expanded"));
1019  $target = $this->createTarget('+',$a_node_id);
1020  $tpl->setVariable("LINK_NAME", $a_node_id);
1021  $tpl->setVariable("LINK_TARGET_EXPANDER", $target);
1022  $tpl->setVariable("IMGPATH", $this->getImage("browser/forceexp.png"));
1023  $tpl->parseCurrentBlock();
1024  $pic = true;
1025  }
1026 
1027  if ($picture == 'minus' && $this->show_minus)
1028  {
1029  $tpl->setCurrentBlock("expander");
1030  $tpl->setVariable("EXP_DESC", $lng->txt("expanded"));
1031  $tpl->setVariable("LINK_NAME", $a_node_id);
1032  if (!$this->getAsynchExpanding())
1033  {
1034  $target = $this->createTarget('-',$a_node_id, $a_option["highlighted_subtree"]);
1035  $tpl->setVariable("LINK_TARGET_EXPANDER", $target);
1036  }
1037  else
1038  {
1039  $target = $this->createTarget('-',$a_node_id, $a_option["highlighted_subtree"], false);
1040  $tpl->setVariable("ONCLICK_TARGET_EXPANDER", " onclick=\"return il.Explorer.refresh('tree_div', '".$target."');\"");
1041  $tpl->setVariable("LINK_TARGET_EXPANDER", "#");
1042  }
1043  $tpl->setVariable("IMGPATH", $this->getImage("browser/minus.png"));
1044  $tpl->parseCurrentBlock();
1045  $pic = true;
1046  }
1047 
1048  }
1049 
1050  if (!$pic)
1051  {
1052  $tpl->setCurrentBlock("blank");
1053  $tpl->setVariable("BLANK_PATH", $this->getImage("browser/blank.png"));
1054  $tpl->parseCurrentBlock();
1055  }
1056 
1057  if ($this->output_icons)
1058  {
1059  $tpl->setCurrentBlock("icon");
1060  $tpl->setVariable("ICON_IMAGE" , $this->getImage("icon_".$a_option["type"].".svg", $a_option["type"], $a_obj_id));
1061 
1062  $tpl->setVariable("TARGET_ID" , "iconid_".$a_node_id);
1063  $this->iconList[] = "iconid_".$a_node_id;
1064  $tpl->setVariable("TXT_ALT_IMG",
1065  $this->getImageAlt($lng->txt("icon")." ".$lng->txt($a_option["desc"]), $a_option["type"], $a_obj_id));
1066  $tpl->parseCurrentBlock();
1067  }
1068 
1069  if(strlen($sel = $this->buildSelect($a_node_id,$a_option['type'])))
1070  {
1071  $tpl->setCurrentBlock('select');
1072  $tpl->setVariable('OBJ_SEL',$sel);
1073  $tpl->parseCurrentBlock();
1074  }
1075 
1076  if ($this->isClickable($a_option["type"], $a_node_id,$a_obj_id)) // output link
1077  {
1078  $tpl->setCurrentBlock("link");
1079  //$target = (strpos($this->target, "?") === false) ?
1080  // $this->target."?" : $this->target."&";
1081  //$tpl->setVariable("LINK_TARGET", $target.$this->target_get."=".$a_node_id.$this->params_get);
1082  $tpl->setVariable("LINK_TARGET", $this->buildLinkTarget($a_node_id, $a_option["type"]));
1083 
1084  $style_class = $this->getNodeStyleClass($a_node_id, $a_option["type"]);
1085 
1086  if ($style_class != "")
1087  {
1088  $tpl->setVariable("A_CLASS", ' class="'.$style_class.'" ' );
1089  }
1090 
1091  if (($onclick = $this->buildOnClick($a_node_id, $a_option["type"], $a_option["title"])) != "")
1092  {
1093  $tpl->setVariable("ONCLICK", "onClick=\"$onclick\"");
1094  }
1095 
1096  //$tpl->setVariable("LINK_NAME", $a_node_id);
1097  $tpl->setVariable("TITLE", ilUtil::shortenText(
1098  $this->buildTitle($a_option["title"], $a_node_id, $a_option["type"]),
1099  $this->textwidth, true));
1100  $tpl->setVariable("DESC", ilUtil::shortenText(
1101  $this->buildDescription($a_option["description"], $a_node_id, $a_option["type"]), $this->textwidth, true));
1102  $frame_target = $this->buildFrameTarget($a_option["type"], $a_node_id, $a_option["obj_id"]);
1103  if ($frame_target != "")
1104  {
1105  $tpl->setVariable("TARGET", " target=\"".$frame_target."\"");
1106  }
1107  $tpl->parseCurrentBlock();
1108  }
1109  else // output text only
1110  {
1111  $tpl->setCurrentBlock("text");
1112  $tpl->setVariable("OBJ_TITLE", ilUtil::shortenText(
1113  $this->buildTitle($a_option["title"], $a_node_id, $a_option["type"]), $this->textwidth, true));
1114  $tpl->setVariable("OBJ_DESC", ilUtil::shortenText(
1115  $this->buildDescription($a_option["desc"], $a_node_id, $a_option["type"]), $this->textwidth, true));
1116  $tpl->parseCurrentBlock();
1117  }
1118 
1119  $tpl->setCurrentBlock("list_item");
1120  $tpl->parseCurrentBlock();
1121  $tpl->touchBlock("element");
1122  }
buildFrameTarget($a_type, $a_child=0, $a_obj_id=0)
get frame target (may be overwritten by derived classes)
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)
buildSelect($a_node_id, $a_type)
standard implementation for adding an option select box between image and title
static shortenText($a_str, $a_len, $a_dots=false, $a_next_blank=false, $a_keep_extension=false)
shorten a string to given length.
getAsynchExpanding()
Get asynch expanding.
global $tpl
Definition: ilias.php:8
createTarget($a_type, $a_node_id, $a_highlighted_subtree=false, $a_append_anch=true)
Creates Get Parameter private.
buildOnClick($a_node_id, $a_type, $a_title)
get onclick event handling (may be overwritten by derived classes)
redirection script todo: (a better solution should control the processing via a xml file) ...
Create styles array
The data for the language used.
buildTitle($a_title, $a_id, $a_type)
standard implementation for title, may be overwritten by derived classes
getImage($a_name, $a_type="", $a_obj_id="")
get image path (may be overwritten by derived classes)
isClickable($a_type, $a_ref_id=0)
check if links for certain object type are activated
global $lng
Definition: privfeed.php:17
getImageAlt($a_default_text, $a_type="", $a_obj_id="")
get image alt text
buildDescription($a_desc, $a_id, $a_type)
standard implementation for description, may be overwritten by derived classes
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAsynchExpanding()

ilExplorer::getAsynchExpanding ( )

Get asynch expanding.

Returns
boolean

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

Referenced by createTarget(), and formatObject().

249  {
250  return $this->asnch_expanding;
251  }
+ Here is the caller graph for this function:

◆ getChildsOfNode()

ilExplorer::getChildsOfNode (   $a_parent_id)

Get childs of node.

Parameters
int$a_parent_idparent id
Returns
array childs

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

Referenced by setOutput().

591  {
592  return $this->tree->getChilds($a_parent_id, $this->order_column);
593  }
+ Here is the caller graph for this function:

◆ getFilterMode()

ilExplorer::getFilterMode ( )

get filter mode

Returns
int filter mode IL_FM_NEGATIVE | IL_FM_NEGATIVE

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

References $filter_mode.

Referenced by checkFilter().

559  {
560  return $this->filter_mode;
561  }
+ Here is the caller graph for this function:

◆ getId()

ilExplorer::getId ( )

Get id.

Returns
string id

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

References $id.

Referenced by getOutput(), and ilAsyncContainerSelectionExplorer\initJs().

229  {
230  return $this->id;
231  }
+ Here is the caller graph for this function:

◆ getImage()

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

get image path (may be overwritten by derived classes)

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

References ilUtil\getImagePath().

Referenced by ilECSNodeMappingCmsExplorer\formatObject(), ilECSNodeMappingLocalExplorer\formatObject(), and formatObject().

1128  {
1129  return ilUtil::getImagePath($a_name);
1130  }
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getImageAlt()

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

get image alt text

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

Referenced by formatObject().

1136  {
1137  return $a_default_text;
1138  }
+ Here is the caller graph for this function:

◆ getIndex()

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 1326 of file class.ilExplorer.php.

Referenced by ilAICCExplorer\getParentIndex(), ilWorkspaceFolderExplorer\setOutput(), and setOutput().

1327  {
1328  if(!is_array($this->format_options))
1329  {
1330  return -1;
1331  }
1332 
1333  foreach ($this->format_options as $key => $value)
1334  {
1335  if (($value["child"] == $a_data["parent"]))
1336  {
1337  return $key;
1338  }
1339  }
1340 
1341  return -1;
1342  // exit on error
1343  #$this->ilias->raiseError(get_class($this)."::getIndex(): Error in tree. No index found!",$this->ilias->error_obj->FATAL);
1344  }
+ Here is the caller graph for this function:

◆ getMaximumTreeDepth()

ilExplorer::getMaximumTreeDepth ( )

Get maximum tree depth.

Parameters

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

Referenced by getOutput().

779  {
780  $this->tree->getMaximumDepth();
781  }
+ Here is the caller graph for this function:

◆ getNodeStyleClass()

ilExplorer::getNodeStyleClass (   $a_id,
  $a_type 
)

get style class for node

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

Referenced by ilWorkspaceFolderExplorer\formatHeader(), ilECSNodeMappingCmsExplorer\formatObject(), ilECSNodeMappingLocalExplorer\formatObject(), ilWorkspaceExplorer\formatObject(), ilPasteIntoMultipleItemsExplorer\formatObject(), and formatObject().

1144  {
1145  if ($a_id == $this->highlighted)
1146  {
1147  return "il_HighlightedNode";
1148  }
1149  return "";
1150  }
+ Here is the caller graph for this function:

◆ getOutput()

ilExplorer::getOutput ( )

Creates output recursive method public.

Returns
string

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

References $_GET, $_POST, $html, $ilBench, $lng, $options, $tpl, array, createLines(), formatHeader(), formatObject(), getId(), ilUtil\getImagePath(), getMaximumTreeDepth(), ilUtil\getStyleSheetLocation(), getTitle(), getUseStandardFrame(), handleListEndTags(), handleListStartTags(), and ilYuiUtil\initConnection().

791  {
792  global $ilBench, $tpl, $lng;
793 
794  $ilBench->start("Explorer", "getOutput");
795 
796  $this->format_options[0]["tab"] = array();
797 
798  $depth = $this->getMaximumTreeDepth();
799 
800  for ($i=0;$i<$depth;++$i)
801  {
802  $this->createLines($i);
803  }
804 
805  include_once("./Services/YUI/classes/class.ilYuiUtil.php");
807  $tpl->addJavaScript("./Services/UIComponent/Explorer/js/ilExplorer.js");
808 
809 //echo "hh";
810  // set global body class
811 // $tpl->setBodyClass("il_Explorer");
812 
813  $tpl_tree = new ilTemplate("tpl.tree.html", true, true, "Services/UIComponent/Explorer");
814 
815  // updater
816  if (($_GET["ict"] || $_POST["collapseAll"] != "" || $_POST["expandAll"] != "") && $this->up_frame != "")
817  {
818  $tpl_tree->setCurrentBlock("updater");
819  $tpl_tree->setVariable("UPDATE_FRAME", $this->up_frame);
820  $tpl_tree->setVariable("UPDATE_SCRIPT", $this->up_script);
821  if (is_array($this->up_params))
822  {
823  $up_str = $lim = "";
824  foreach ($this->up_params as $p)
825  {
826  $up_str.= $lim."'".$p."'";
827  $lim = ",";
828  }
829  $tpl_tree->setVariable("UPDATE_PARAMS", $up_str);
830  }
831  $tpl_tree->parseCurrentBlock();
832  }
833 
834  $cur_depth = -1;
835  foreach ($this->format_options as $key => $options)
836  {
837 //echo "-".$options["depth"]."-";
838  if (!$options["visible"])
839  {
840  continue;
841  }
842 
843  // end tags
844  $this->handleListEndTags($tpl_tree, $cur_depth, $options["depth"]);
845 
846  // start tags
847  $this->handleListStartTags($tpl_tree, $cur_depth, $options["depth"]);
848 
849  $cur_depth = $options["depth"];
850 
851  if ($options["visible"] and $key != 0)
852  {
853  $this->formatObject($tpl_tree, $options["child"],$options,$options['obj_id']);
854  }
855  if ($key == 0)
856  {
857  $this->formatHeader($tpl_tree, $options["child"],$options);
858  }
859 
860  }
861 //if ($GLOBALS["ilUser"]->getLogin() == "alex") var_dump($this->format_options);
862  $this->handleListEndTags($tpl_tree, $cur_depth, -1);
863 
864  $ilBench->stop("Explorer", "getOutput");
865 
866  $tpl_tree->setVariable("TREE_LEAD", "");
867  if ($this->tree_lead != "")
868  {
869  $tpl_tree->setCurrentBlock("tree_lead");
870  $tpl_tree->setVariable("TREE_LEAD", $this->tree_lead);
871  $tpl_tree->parseCurrentBlock();
872  }
873  if ($this->getId() != "")
874  {
875  $tpl_tree->setVariable("TREE_ID", 'id="'.$this->getId().'_tree"');
876  }
877 
878  $html = $tpl_tree->get();
879 
880  if ($this->getUseStandardFrame())
881  {
882  $mtpl = new ilTemplate("tpl.main.html", true, true);
883  $mtpl->setVariable("LOCATION_STYLESHEET", ilUtil::getStyleSheetLocation());
884  $mtpl->setVariable("BODY_CLASS", "il_Explorer");
885  $mtpl->addBlockFile("CONTENT", "content", "tpl.explorer.html");
886  if ($this->getTitle() != "")
887  {
888  $mtpl->setVariable("TXT_EXPLORER_HEADER", $this->getTitle());
889  }
890  if ($this->getId() != "")
891  {
892  $mtpl->setVariable("ID", 'id="'.$this->getId().'"');
893  }
894  $mtpl->setVariable("IMG_SPACE", ilUtil::getImagePath("spacer.png", false));
895  $mtpl->setCurrentBlock("content");
896  $mtpl->setVariable("EXPLORER", $html);
897  $mtpl->setVariable("EXP_REFRESH", $lng->txt("refresh"));
898  $mtpl->parseCurrentBlock();
899  $html = $mtpl->get();
900  }
901 
902  return $html;
903  }
formatObject($tpl, $a_node_id, $a_option, $a_obj_id=0)
Creates output recursive method private.
formatHeader($tpl, $a_obj_id, $a_option)
Creates output for header (is empty here but can be overwritten in derived classes) ...
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
$_GET["client_id"]
getUseStandardFrame()
Get use standard explorer frame.
static initConnection()
Init YUI Connection module.
getId()
Get id.
handleListEndTags(&$a_tpl_tree, $a_cur_depth, $a_item_depth)
handle list end tags ( and )
global $tpl
Definition: ilias.php:8
if(!is_array($argv)) $options
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
special template class to simplify handling of ITX/PEAR
Create styles array
The data for the language used.
getMaximumTreeDepth()
Get maximum tree depth.
handleListStartTags(&$a_tpl_tree, $a_cur_depth, $a_item_depth)
handle list start tags (
global $lng
Definition: privfeed.php:17
global $ilBench
Definition: ilias.php:18
getTitle()
Get title.
$_POST["username"]
$html
Definition: example_001.php:87
createLines($a_depth)
Creates lines for explorer view private.
+ Here is the call graph for this function:

◆ getRoot()

ilExplorer::getRoot ( )

get root id

public

Parameters

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

References $root_id.

Referenced by ilECSNodeMappingCmsExplorer\formatHeader(), setExpand(), and setOutput().

325  {
326  return $this->root_id == null ?
327  $this->tree->getRootId() :
329  }
+ Here is the caller graph for this function:

◆ getTitle()

ilExplorer::getTitle ( )

Get title.

Returns
title

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

References $title.

Referenced by getOutput().

300  {
301  return $this->title;
302  }
+ Here is the caller graph for this function:

◆ getTitleLength()

ilExplorer::getTitleLength ( )

Get max title length.

Returns

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

290  {
291  return $this->textwidth;
292  }

◆ getTreeLead()

ilExplorer::getTreeLead ( )

Get tree leading content.

Returns
string tree leading content

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

507  {
508  return $this->tree_lead;
509  }

◆ getUseStandardFrame()

ilExplorer::getUseStandardFrame ( )

Get use standard explorer frame.

Returns
boolean use standard explorer frame

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

References $use_standard_frame.

Referenced by getOutput().

580  {
582  }
+ Here is the caller graph for this function:

◆ handleListEndTags()

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

handle list end tags ( and )

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

Referenced by getOutput().

911  {
912  if ($a_item_depth < $a_cur_depth)
913  {
914  // </li></ul> for ending lists
915  for ($i = 0; $i < ($a_cur_depth - $a_item_depth); $i++)
916  {
917  $a_tpl_tree->touchBlock("end_list_item");
918  $a_tpl_tree->touchBlock("element");
919 
920  $a_tpl_tree->touchBlock("end_list");
921  $a_tpl_tree->touchBlock("element");
922  }
923  }
924  else if ($a_item_depth == $a_cur_depth)
925  {
926  // </li> for ending list items
927  $a_tpl_tree->touchBlock("end_list_item");
928  $a_tpl_tree->touchBlock("element");
929  }
930  }
+ Here is the caller graph for this function:

◆ handleListStartTags()

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

handle list start tags (

)

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

Referenced by getOutput().

936  {
937  // start tags
938  if ($a_item_depth > $a_cur_depth)
939  {
940  // <ul><li> for new lists
941  if ($a_item_depth > 1)
942  {
943  $a_tpl_tree->touchBlock("start_list");
944  }
945  else
946  {
947  $a_tpl_tree->touchBlock("start_list_no_indent");
948  }
949  $a_tpl_tree->touchBlock("element");
950 
951  $a_tpl_tree->touchBlock("start_list_item");
952  $a_tpl_tree->touchBlock("element");
953  }
954  else
955  {
956  // <li> items
957  $a_tpl_tree->touchBlock("start_list_item");
958  $a_tpl_tree->touchBlock("element");
959  }
960  }
+ Here is the caller graph for this function:

◆ highlightNode()

ilExplorer::highlightNode (   $a_id)

set highlighted node

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

422  {
423  $this->highlighted = $a_id;
424  }

◆ initItemCounter()

ilExplorer::initItemCounter (   $a_number)

Init item counter.

public

Parameters
intnumber

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

261  {
262  $this->counter = $a_number;
263  }

◆ is_in_array()

ilExplorer::is_in_array (   $a_start,
  $a_depth 
)

DESCRIPTION MISSING private.

Parameters
integer
integer
Returns
boolean

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

Referenced by createLines().

1304  {
1305  for ($i=$a_start;$i<count($this->format_options);++$i)
1306  {
1307  if ($this->format_options[$i]["depth"] < $a_depth)
1308  {
1309  break;
1310  }
1311 
1312  if ($this->format_options[$i]["depth"] == $a_depth)
1313  {
1314  return true;
1315  }
1316  }
1317  return false;
1318  }
+ Here is the caller graph for this function:

◆ isClickable()

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

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

References $a_type.

Referenced by formatObject().

519  {
520  // in this standard implementation
521  // only the type determines, wether an object should be clickable or not
522  // but this method can be overwritten and make $exp->setFilterMode(IL_FM_NEGATIVE);use of the ref id
523  // (this happens e.g. in class ilRepositoryExplorerGUI)
524  if ($this->is_clickable[$a_type] == "n")
525  {
526  return false;
527  }
528  else
529  {
530  return true;
531  }
532  }
$a_type
Definition: workflow.php:93
+ Here is the caller graph for this function:

◆ isVisible()

ilExplorer::isVisible (   $a_ref_id,
  $a_type 
)

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

References $ilBench.

Referenced by setOutput().

476  {
477  global $rbacsystem, $ilBench;
478 
479  if (!$this->rbac_check)
480  {
481  return true;
482  }
483 
484  $ilBench->start("Explorer", "setOutput_isVisible");
485  $visible = $rbacsystem->checkAccess('visible',$a_ref_id);
486  $ilBench->stop("Explorer", "setOutput_isVisible");
487 
488  return $visible;
489  }
global $ilBench
Definition: ilias.php:18
+ Here is the caller graph for this function:

◆ modifyChilds()

ilExplorer::modifyChilds (   $a_parent_id,
  $a_objects 
)

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

Referenced by setOutput().

750  {
751  return $a_objects;
752  }
+ Here is the caller graph for this function:

◆ outputIcons()

ilExplorer::outputIcons (   $a_icons)

output icons

Parameters
boolean$a_iconsoutput icons true/false

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

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

452  {
453  $this->output_icons = $a_icons;
454  }
+ Here is the caller graph for this function:

◆ setAsynchExpanding()

ilExplorer::setAsynchExpanding (   $a_val)

Set asynch expanding.

Parameters
boolean

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

239  {
240  $this->asnch_expanding = $a_val;
241  }

◆ setClickable()

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 463 of file class.ilExplorer.php.

References $a_type.

464  {
465  if($a_clickable)
466  {
467  $this->is_clickable[$a_type] = "";
468  }
469  else
470  {
471  $this->is_clickable[$a_type] = "n";
472  }
473  }
$a_type
Definition: workflow.php:93

◆ setExpand()

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

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

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

Referenced by ilAICCExplorer\makeObjectNodeExpandable(), assQuestionGUI\outSolutionExplorer(), ilBasicSkillGUI\selectLevelTrigger(), ilObjContentObjectGUI\showEntrySelector(), ilObjGlossaryGUI\showGlossarySelector(), and ilObjContentObjectGUI\showLMGlossarySelector().

1431  {
1432  // IF ISN'T SET CREATE SESSION VARIABLE
1433  if(!is_array($_SESSION[$this->expand_variable]))
1434  {
1436  }
1437  // IF $_GET["expand"] is positive => expand this node
1438  if ($a_node_id > 0 && !in_array($a_node_id,$_SESSION[$this->expand_variable]))
1439  {
1440  array_push($_SESSION[$this->expand_variable],$a_node_id);
1441  }
1442  // IF $_GET["expand"] is negative => compress this node
1443  if ($a_node_id < 0)
1444  {
1445  $key = array_keys($_SESSION[$this->expand_variable],-(int) $a_node_id);
1446  unset($_SESSION[$this->expand_variable][$key[0]]);
1447  }
1448  $this->expanded = $_SESSION[$this->expand_variable];
1449  }
$_SESSION["AccountId"]
getRoot()
get root id
Create styles array
The data for the language used.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setExpandTarget()

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 400 of file class.ilExplorer.php.

401  {
402  $this->expand_target = $a_exp_target;
403  }

◆ setFiltered()

ilExplorer::setFiltered (   $a_bool)

active/deactivate the filter public

Parameters
boolean
Returns
boolean

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

Referenced by ilECSNodeMappingLocalExplorer\__construct(), ilRepositoryExplorer\__construct(), ilPasteIntoMultipleItemsExplorer\__construct(), ilSolutionExplorer\__construct(), ilRoleDesktopItemSelector\__construct(), ilWorkspaceExplorer\__construct(), ilContainerSelectionExplorer\__construct(), ilSearchRootSelector\__construct(), and __construct().

1470  {
1471  $this->filtered = $a_bool;
1472  return true;
1473  }
+ Here is the caller graph for this function:

◆ setFilterMode()

ilExplorer::setFilterMode (   $a_mode = IL_FM_NEGATIVE)

◆ setFrameTarget()

ilExplorer::setFrameTarget (   $a_target)

set target frame or not frame?

Parameters
stringpublic

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

Referenced by ilFileSelectorGUI\__construct().

1254  {
1255  $this->frame_target = $a_target;
1256  }
+ Here is the caller graph for this function:

◆ setFrameUpdater()

ilExplorer::setFrameUpdater (   $a_up_frame,
  $a_up_script,
  $a_params = "" 
)

Set Explorer Updater.

Parameters
object$a_treeTree Object

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

411  {
412  $this->up_frame = $a_up_frame;
413  $this->up_script = $a_up_script;
414  $this->up_params = $a_params;
415  }

◆ setId()

ilExplorer::setId (   $a_val)

Set id.

Parameters
string$a_valid

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

Referenced by ilPasteIntoMultipleItemsExplorer\__construct().

219  {
220  $this->id = $a_val;
221  }
+ Here is the caller graph for this function:

◆ setOrderColumn()

ilExplorer::setOrderColumn (   $a_column)

set the order column public

Parameters
stringname of order column

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

Referenced by ilECSNodeMappingCmsExplorer\__construct(), ilECSNodeMappingLocalExplorer\__construct(), ilSurveySkillExplorer\__construct(), ilAICCExplorer\__construct(), and ilSCORMExplorer\__construct().

337  {
338  $this->order_column = $a_column;
339  }
+ Here is the caller graph for this function:

◆ setOrderDirection()

ilExplorer::setOrderDirection (   $a_direction)

set the order direction public

Parameters
stringname of order column

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

347  {
348  if ($a_direction == "desc")
349  {
350  $this->order_direction = $a_direction;
351  }
352  else
353  {
354  $this->order_direction = "asc";
355  }
356  }

◆ setOutput()

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

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

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

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

605  {
606  global $rbacadmin, $rbacsystem, $ilBench;
607 
608 #echo 'ParentId: '.$a_parent_id.' depth: '.$a_depth.' obj_id: '.$a_obj_id;
609 
610  if (!isset($a_parent_id))
611  {
612  $this->ilias->raiseError(get_class($this)."::setOutput(): No node_id given!",$this->ilias->error_obj->WARNING);
613  }
614 
615  if ($this->showChilds($a_parent_id,$a_obj_id))
616  {
617  $objects = $this->getChildsOfNode($a_parent_id);
618  }
619  else
620  {
621  $objects = array();
622  }
623 
624  $objects = $this->modifyChilds($a_parent_id, $objects);
625 
626  // force expansion (of single nodes)
627  if ($this->forceExpanded($a_parent_id) && !in_array($a_parent_id, $this->expanded))
628  {
629  $this->expanded[] = $a_parent_id;
630  }
631 
632  if (count($objects) > 0)
633  {
634  // Maybe call a lexical sort function for the child objects
635  $tab = ++$a_depth - 2;
636  if ($this->post_sort)
637  {
638  $objects = $this->sortNodes($objects,$a_obj_id);
639  }
640  $skip_rest = false;
641  foreach ($objects as $key => $object)
642  {
643  // skip childs, if parent is not expanded
644  if (!$this->forceExpanded($object["child"]) && $skip_rest)
645  {
646  continue;
647  }
648 //echo "<br>-".$object["child"]."-".$this->forceExpanded($object["child"])."-";
649  //ask for FILTER
650  if ($this->filtered == false or $this->checkFilter($object["type"]) == false)
651  {
652  if ($this->isVisible($object['child'],$object['type']))
653  {
654  $ilBench->start("Explorer", "setOutput_setFormatOptions");
655  #echo 'CHILD getIndex() '.$object['child'].' parent: '.$this->getRoot();
656  if ($object["child"] != $this->getRoot())
657  {
658  $parent_index = $this->getIndex($object);
659  }
660  $this->format_options["$this->counter"]["parent"] = $object["parent"];
661  $this->format_options["$this->counter"]["child"] = $object["child"];
662  $this->format_options["$this->counter"]["title"] = $object["title"];
663  $this->format_options["$this->counter"]["type"] = $object["type"];
664  $this->format_options["$this->counter"]["obj_id"] = $object["obj_id"];
665  $this->format_options["$this->counter"]["desc"] = "obj_".$object["type"];
666  $this->format_options["$this->counter"]["depth"] = $tab;
667  $this->format_options["$this->counter"]["container"] = false;
668  $this->format_options["$this->counter"]["visible"] = true;
669  $this->format_options["$this->counter"]["highlighted_subtree"] = $a_highlighted_subtree;
670 
671  // Create prefix array
672  for ($i = 0; $i < $tab; ++$i)
673  {
674  $this->format_options["$this->counter"]["tab"][] = 'blank';
675  }
676 
677  // fix explorer (sometimes explorer disappears)
678  if ($parent_index == 0)
679  {
680  if (!$this->expand_all and !in_array($object["parent"], $this->expanded))
681  {
682  $this->expanded[] = $object["parent"];
683  }
684  }
685 
686  // only if parent is expanded and visible, object is visible
687  if ($object["child"] != $this->getRoot() and ((!$this->expand_all and !in_array($object["parent"],$this->expanded))
688  or !$this->format_options["$parent_index"]["visible"]))
689  {
690  if (!$this->forceExpanded($object["child"]))
691  {
692  // if parent is not expanded, and one child is
693  // visible we don't need more information and
694  // can skip the rest of the childs
695  if ($this->format_options["$this->counter"]["visible"])
696  {
697 //echo "-setSkipping";
698  $skip_rest = true;
699  }
700  $this->format_options["$this->counter"]["visible"] = false;
701  }
702  }
703 
704  // if object exists parent is container
705  if ($object["child"] != $this->getRoot())
706  {
707  $this->format_options["$parent_index"]["container"] = true;
708 
709  if ($this->expand_all or in_array($object["parent"],$this->expanded))
710  {
711  //echo "<br>-".$object["child"]."-".$this->forceExpanded($object["child"])."-";
712  if ($this->forceExpanded($object["parent"]))
713  {
714  $this->format_options["$parent_index"]["tab"][($tab-2)] = 'forceexp';
715  }
716  else
717  {
718  $this->format_options["$parent_index"]["tab"][($tab-2)] = 'minus';
719  }
720  }
721  else
722  {
723  $this->format_options["$parent_index"]["tab"][($tab-2)] = 'plus';
724  }
725  }
726  //echo "-"."$parent_index"."-";
727  //var_dump($this->format_options["$parent_index"]);
728  ++$this->counter;
729  $ilBench->stop("Explorer", "setOutput_setFormatOptions");
730 
731  // stop recursion if 2. level beyond expanded nodes is reached
732  if ($this->expand_all or in_array($object["parent"],$this->expanded) or ($object["parent"] == 0)
733  or $this->forceExpanded($object["child"]))
734  {
735  $highlighted_subtree = ($a_highlighted_subtree ||
736  ($object["child"] == $this->highlighted))
737  ? true
738  : false;
739 
740  // recursive
741  $this->setOutput($object["child"],$a_depth,$object['obj_id'], $highlighted_subtree);
742  }
743  } //if
744  } //if FILTER
745  } //foreach
746  } //if
747  } //function
isVisible($a_ref_id, $a_type)
modifyChilds($a_parent_id, $a_objects)
getChildsOfNode($a_parent_id)
Get childs of node.
getIndex($a_data)
get index of format_options array from specific ref_id,parent_id private
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.
$counter
forceExpanded($a_obj_id)
force expansion of node
sortNodes($a_nodes, $a_parent_obj_id)
sort nodes and put adm object to the end of sorted array private
getRoot()
get root id
showChilds($a_parent_id)
determines wether the childs of an object should be shown or not note: this standard implementation a...
redirection script todo: (a better solution should control the processing via a xml file) ...
Create styles array
The data for the language used.
checkFilter($a_item)
check if item is in filter private
global $ilBench
Definition: ilias.php:18
+ Here is the call graph for this function:

◆ setParamsGet()

ilExplorer::setParamsGet (   $a_params_get)

set additional params to be passed in Get-string public

Parameters
array

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

379  {
380  if (!isset($a_params_get) or !is_array($a_params_get))
381  {
382  $this->ilias->raiseError(get_class($this)."::setTargetGet(): No target given!",$this->ilias->error_obj->WARNING);
383  }
384 
385  foreach ($a_params_get as $key => $val)
386  {
387  $str .= "&".$key."=".$val;
388  }
389 
390  $this->params_get = $str;
391  }
redirection script todo: (a better solution should control the processing via a xml file) ...

◆ setPostSort()

ilExplorer::setPostSort (   $a_sort)

process post sorting

Parameters
boolean$a_sorttrue / false

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

Referenced by ilSurveySkillExplorer\__construct().

539  {
540  $this->post_sort = $a_sort;
541  }
+ Here is the caller graph for this function:

◆ setRoot()

ilExplorer::setRoot (   $a_root_id)

Set root node.

public

Parameters
intref id of root node

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

Referenced by ilECSNodeMappingLocalExplorer\__construct().

312  {
313  #$this->tree = new ilTree(ROOT_FOLDER_ID,$a_root_id);
314  $this->root_id = $a_root_id;
315  }
+ Here is the caller graph for this function:

◆ setSessionExpandVariable()

ilExplorer::setSessionExpandVariable (   $a_var_name = "expand")

◆ setTargetGet()

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 363 of file class.ilExplorer.php.

Referenced by ilAICCPresentationGUI\explorer(), ilSAHSPresentationGUI\explorer(), ilSCORMPresentationGUI\explorer(), ilObjWorkspaceFolderGUI\render(), and ilObjWorkspaceFolderGUI\showMoveIntoObjectTree().

364  {
365  if (!isset($a_target_get) or !is_string($a_target_get))
366  {
367  $this->ilias->raiseError(get_class($this)."::setTargetGet(): No target given!",$this->ilias->error_obj->WARNING);
368  }
369 
370  $this->target_get = $a_target_get;
371  }
redirection script todo: (a better solution should control the processing via a xml file) ...
+ Here is the caller graph for this function:

◆ setTitle()

ilExplorer::setTitle (   $a_val)

Set title.

Parameters
title

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

Referenced by ilAdministrationExplorer\__construct(), and ilRepositoryExplorer\__construct().

271  {
272  $this->title = $a_val;
273  }
+ Here is the caller graph for this function:

◆ setTitleLength()

ilExplorer::setTitleLength (   $a_length)

Set max title length.

Parameters
object$a_length
Returns

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

Referenced by ilECSNodeMappingCmsExplorer\__construct(), ilSurveySkillExplorer\__construct(), ilRoleDesktopItemSelector\__construct(), ilContainerSelectionExplorer\__construct(), ilSearchRootSelector\__construct(), and __construct().

281  {
282  $this->textwidth = $a_length;
283  }
+ Here is the caller graph for this function:

◆ setTreeLead()

ilExplorer::setTreeLead (   $a_val)

Set tree leading content.

Parameters
string$a_valtree leading content

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

497  {
498  $this->tree_lead = $a_val;
499  }

◆ setUseStandardFrame()

ilExplorer::setUseStandardFrame (   $a_val)

Set use standard frame.

If true, the standard explorer frame (like in the repository) is put around the tree.

Parameters
booleanuse standard explorer frame

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

570  {
571  $this->use_standard_frame = $a_val;
572  }

◆ showChilds()

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)

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

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

760  {
761  return true;
762  }
+ Here is the caller graph for this function:

◆ sortNodes()

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

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

References ilUtil\sortArray().

Referenced by setOutput().

1516  {
1517  foreach ($a_nodes as $key => $node)
1518  {
1519  if ($node["type"] == "adm")
1520  {
1521  $match = $key;
1522  $adm_node = $node;
1523  break;
1524  }
1525  }
1526 
1527  // cut off adm node
1528  isset($match) ? array_splice($a_nodes,$match,1) : "";
1529 
1530  $a_nodes = ilUtil::sortArray($a_nodes,$this->order_column,$this->order_direction);
1531 
1532  // append adm node to end of list
1533  isset ($match) ? array_push($a_nodes,$adm_node) : "";
1534 
1535  return $a_nodes;
1536  }
static sortArray($array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $expand_all

ilExplorer::$expand_all = false

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

◆ $expand_target

ilExplorer::$expand_target

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

◆ $expand_variable

ilExplorer::$expand_variable

◆ $expanded

ilExplorer::$expanded

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

◆ $filter_mode

ilExplorer::$filter_mode

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

Referenced by getFilterMode().

◆ $filtered

ilExplorer::$filtered = false

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

◆ $format_options

ilExplorer::$format_options

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

◆ $id

ilExplorer::$id

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

Referenced by ilAsyncContainerSelectionExplorer\addOnLoadCode(), and getId().

◆ $ilias

◆ $is_clickable

ilExplorer::$is_clickable

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

◆ $order_column

ilExplorer::$order_column

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

◆ $order_direction

ilExplorer::$order_direction = "asc"

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

◆ $output

ilExplorer::$output

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

Referenced by ilSCORMExplorer\getOutput().

◆ $output_icons

ilExplorer::$output_icons

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

◆ $params_get

ilExplorer::$params_get

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

◆ $post_sort

ilExplorer::$post_sort

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

◆ $rbac_check

ilExplorer::$rbac_check

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

◆ $root_id

ilExplorer::$root_id = null

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

Referenced by getRoot().

◆ $target

◆ $target_get

ilExplorer::$target_get

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

◆ $tree

◆ $use_standard_frame

ilExplorer::$use_standard_frame = false

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

Referenced by getUseStandardFrame().


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