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 @access 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 @access public More...
 
 setOrderDirection ($a_direction)
 set the order direction @access public More...
 
 setTargetGet ($a_target_get)
 set the varname in Get-string @access public More...
 
 setParamsGet ($a_params_get)
 set additional params to be passed in Get-string @access 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 @access 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 @access 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 @access 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 @access private. More...
 
 setFrameTarget ($a_target)
 set target frame or not frame? More...
 
 createLines ($a_depth)
 Creates lines for explorer view @access private. More...
 
 is_in_array ($a_start, $a_depth)
 DESCRIPTION MISSING @access private. More...
 
 getIndex ($a_data)
 get index of format_options array from specific ref_id,parent_id @access private More...
 
 addFilter ($a_item)
 adds item to the filter @access public More...
 
 delFilter ($a_item)
 removes item from the filter @access 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,...) @access private More...
 
 forceExpandAll ($a_mode, $a_show_minus=true)
 force expandAll. More...
 
 setFiltered ($a_bool)
 active/deactivate the filter @access public More...
 
 checkFilter ($a_item)
 check if item is in filter @access private More...
 
 sortNodes ($a_nodes, $a_parent_obj_id)
 sort nodes and put adm object to the end of sorted array @access 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 @access public.

Parameters
stringscriptname

Reimplemented in ilAsyncContainerSelectionExplorer, ilAdministrationExplorer, ilContainerSelectionExplorer, and ilSearchRootSelector.

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

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 }
const IL_FM_NEGATIVE
addFilter($a_item)
adds item to the filter @access public
setTitleLength($a_length)
Set max title length.
setFilterMode($a_mode=IL_FM_NEGATIVE)
set filter mode
setFiltered($a_bool)
active/deactivate the filter @access public
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
redirection script todo: (a better solution should control the processing via a xml file)
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']

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

+ Here is the call graph for this function:

Member Function Documentation

◆ addFilter()

ilExplorer::addFilter (   $a_item)

adds item to the filter @access public

Parameters
stringobject type to add
Returns
boolean

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

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 }

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

+ 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

Reimplemented in ilWorkspaceFolderExplorer.

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

1183 {
1184 return "";
1185 }

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

+ 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)

Reimplemented in ilLMMenuObjectSelector, ilSurveySkillExplorer, ilSolutionExplorer, ilWorkspaceFolderExplorer, ilRoleDesktopItemSelector, ilAdministrationExplorer, ilRepositoryExplorer, and ilSearchRootSelector.

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

1200 {
1201 return $this->frame_target;
1202 }

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

+ 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)

Reimplemented in ilLMMenuObjectSelector, ilGlossarySelectorGUI, ilAsyncContainerSelectionExplorer, ilSurveySkillExplorer, ilSolutionExplorer, ilWorkspaceFolderExplorer, ilRoleDesktopItemSelector, ilAdministrationExplorer, ilFileSelectorGUI, ilWorkspaceExplorer, ilRepositoryExplorer, and ilSearchRootSelector.

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

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 }

References $target.

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

+ 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)

Reimplemented in ilAsyncContainerSelectionExplorer.

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

1167 {
1168 return "";
1169 }

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

+ 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.

1191 {
1192 return "";
1193 }

Referenced by formatObject().

+ 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

Reimplemented in ilSurveySkillExplorer, ilECSNodeMappingCmsExplorer, and ilECSNodeMappingLocalExplorer.

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

1175 {
1176 return $a_title;
1177 }

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

+ Here is the caller graph for this function:

◆ checkFilter()

ilExplorer::checkFilter (   $a_item)

check if item is in filter @access private

Parameters
string
Returns
integer

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

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

References $ret, getFilterMode(), and IL_FM_NEGATIVE.

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

+ 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.

432 {
433 $this->rbac_check = $a_check;
434 }

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

+ Here is the caller graph for this function:

◆ createLines()

ilExplorer::createLines (   $a_depth)

Creates lines for explorer view @access private.

Parameters
integer

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

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 @access private.

References is_in_array().

Referenced by getOutput().

+ 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 @access private.

Parameters
string
integer
Returns
string

Reimplemented in ilSCORMExplorer.

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

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

References $a_type, and getAsynchExpanding().

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

+ 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 @access public

Parameters
stringobject type to remove
Returns
boolean

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

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 }

◆ 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) @access 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

Reimplemented in ilRepositoryExplorer, ilSurveySkillExplorer, ilAdministrationExplorer, and ilFileSelectorGUI.

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

768 {
769 return false;
770 }

Referenced by setOutput().

+ 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)

@access public

Parameters
integerobj_id
integerarray options

Reimplemented in ilLMMenuObjectSelector, ilContainerSelectionExplorer, ilGlossarySelectorGUI, ilSCORMExplorer, ilWorkspaceFolderExplorer, ilRoleDesktopItemSelector, ilFileSelectorGUI, ilPasteIntoMultipleItemsExplorer, ilWorkspaceExplorer, ilRepositoryExplorer, ilSearchRootSelector, ilECSNodeMappingCmsExplorer, and ilECSNodeMappingLocalExplorer.

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

971 {
972 }

Referenced by getOutput().

+ 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 @access private.

Parameters
integer
array
Returns
string

Reimplemented in ilPasteIntoMultipleItemsExplorer, ilWorkspaceExplorer, ilECSNodeMappingCmsExplorer, and ilECSNodeMappingLocalExplorer.

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

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 }
global $tpl
Definition: ilias.php:8
getNodeStyleClass($a_id, $a_type)
get style class for node
buildOnClick($a_node_id, $a_type, $a_title)
get onclick event handling (may be overwritten by derived classes)
buildSelect($a_node_id, $a_type)
standard implementation for adding an option select box between image and title
getImageAlt($a_default_text, $a_type="", $a_obj_id="")
get image alt text
getImage($a_name, $a_type="", $a_obj_id="")
get image path (may be overwritten by derived classes)
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, $a_highlighted_subtree=false, $a_append_anch=true)
Creates Get Parameter @access private.
isClickable($a_type, $a_ref_id=0)
check if links for certain object type are activated
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
buildLinkTarget($a_node_id, $a_type)
get link target (may be overwritten by derived classes)
static shortenText($a_str, $a_len, $a_dots=false, $a_next_blank=false, $a_keep_extension=false)
shorten a string to given length.
global $lng
Definition: privfeed.php:17

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

Referenced by getOutput().

+ 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.

249 {
250 return $this->asnch_expanding;
251 }

Referenced by createTarget(), and formatObject().

+ 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.

591 {
592 return $this->tree->getChilds($a_parent_id, $this->order_column);
593 }

Referenced by setOutput().

+ 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.

559 {
560 return $this->filter_mode;
561 }

References $filter_mode.

Referenced by checkFilter().

+ 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.

229 {
230 return $this->id;
231 }

References $id.

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

+ 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)

Reimplemented in ilSurveySkillExplorer, ilAdministrationExplorer, and ilRepositoryExplorer.

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

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)

References ilUtil\getImagePath().

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

+ 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

Reimplemented in ilWorkspaceFolderExplorer.

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

1136 {
1137 return $a_default_text;
1138 }

Referenced by formatObject().

+ 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 @access private

Parameters
arrayobject data
Returns
integer index

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

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 }

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

+ Here is the caller graph for this function:

◆ getMaximumTreeDepth()

ilExplorer::getMaximumTreeDepth ( )

Get maximum tree depth.

Parameters

return

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

779 {
780 $this->tree->getMaximumDepth();
781 }

Referenced by getOutput().

+ 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.

1144 {
1145 if ($a_id == $this->highlighted)
1146 {
1147 return "il_HighlightedNode";
1148 }
1149 return "";
1150 }

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

+ Here is the caller graph for this function:

◆ getOutput()

ilExplorer::getOutput ( )

Creates output recursive method @access public.

Returns
string

Reimplemented in ilAsyncContainerSelectionExplorer, and ilWorkspaceFolderExplorer.

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

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 }
$_GET["client_id"]
$_POST["username"]
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 (
getUseStandardFrame()
Get use standard explorer frame.
getTitle()
Get title.
createLines($a_depth)
Creates lines for explorer view @access private.
formatObject($tpl, $a_node_id, $a_option, $a_obj_id=0)
Creates output recursive method @access private.
formatHeader($tpl, $a_obj_id, $a_option)
Creates output for header (is empty here but can be overwritten in derived classes)
getMaximumTreeDepth()
Get maximum tree depth.
special template class to simplify handling of ITX/PEAR
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static initConnection()
Init YUI Connection module.
$html
Definition: example_001.php:87
global $ilBench
Definition: ilias.php:18
if(!is_array($argv)) $options

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

+ Here is the call graph for this function:

◆ getRoot()

ilExplorer::getRoot ( )

get root id

@access public

Parameters

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

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

References $root_id.

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

+ Here is the caller graph for this function:

◆ getTitle()

ilExplorer::getTitle ( )

Get title.

Returns
title

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

300 {
301 return $this->title;
302 }

References $title.

Referenced by getOutput().

+ 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.

580 {
582 }

References $use_standard_frame.

Referenced by getOutput().

+ 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.

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 }

Referenced by getOutput().

+ 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.

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 }

Referenced by getOutput().

+ 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.

@access 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 @access private.

Parameters
integer
integer
Returns
boolean

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

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 }

Referenced by createLines().

+ 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

Reimplemented in ilAICCExplorer, ilContainerSelectionExplorer, ilSurveySkillExplorer, ilAdministrationExplorer, ilLMMenuObjectSelector, ilGlossarySelectorGUI, ilSolutionExplorer, ilRoleDesktopItemSelector, ilFileSelectorGUI, and ilSearchRootSelector.

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

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 }

References $a_type.

Referenced by formatObject().

+ Here is the caller graph for this function:

◆ isVisible()

ilExplorer::isVisible (   $a_ref_id,
  $a_type 
)

Reimplemented in ilSCORMExplorer, ilAdministrationExplorer, ilContainerSelectionExplorer, ilWorkspaceExplorer, and ilRepositoryExplorer.

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

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 }

References $ilBench.

Referenced by setOutput().

+ Here is the caller graph for this function:

◆ modifyChilds()

ilExplorer::modifyChilds (   $a_parent_id,
  $a_objects 
)

Reimplemented in ilAdministrationExplorer.

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

750 {
751 return $a_objects;
752 }

Referenced by setOutput().

+ 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.

452 {
453 $this->output_icons = $a_icons;
454 }

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

+ 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.

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 }

References $a_type.

◆ 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,...) @access private

Parameters
stringpipe-separated integer

Reimplemented in ilWorkspaceFolderExplorer.

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

1431 {
1432 // IF ISN'T SET CREATE SESSION VARIABLE
1433 if(!is_array($_SESSION[$this->expand_variable]))
1434 {
1435 $_SESSION[$this->expand_variable] = array($this->getRoot());
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

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

Referenced by ilAICCExplorer\makeObjectNodeExpandable().

+ 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 @access public

Parameters
boolean
Returns
boolean

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

1470 {
1471 $this->filtered = $a_bool;
1472 return true;
1473 }

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

+ 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
string@access public

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

1254 {
1255 $this->frame_target = $a_target;
1256 }

Referenced by ilFileSelectorGUI\__construct().

+ 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.

219 {
220 $this->id = $a_val;
221 }

Referenced by ilPasteIntoMultipleItemsExplorer\__construct().

+ Here is the caller graph for this function:

◆ setOrderColumn()

ilExplorer::setOrderColumn (   $a_column)

set the order column @access public

Parameters
stringname of order column

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

337 {
338 $this->order_column = $a_column;
339 }

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

+ Here is the caller graph for this function:

◆ setOrderDirection()

ilExplorer::setOrderDirection (   $a_direction)

set the order direction @access 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 @access public.

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

Reimplemented in ilWorkspaceFolderExplorer, and ilSCORMExplorer.

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

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"]);
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
showChilds($a_parent_id)
determines wether the childs of an object should be shown or not note: this standard implementation a...
sortNodes($a_nodes, $a_parent_obj_id)
sort nodes and put adm object to the end of sorted array @access private
checkFilter($a_item)
check if item is in filter @access 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 @access public.
getIndex($a_data)
get index of format_options array from specific ref_id,parent_id @access private
modifyChilds($a_parent_id, $a_objects)
getChildsOfNode($a_parent_id)
Get childs of node.
isVisible($a_ref_id, $a_type)
forceExpanded($a_obj_id)
force expansion of node
$counter

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

Referenced by setOutput().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setParamsGet()

ilExplorer::setParamsGet (   $a_params_get)

set additional params to be passed in Get-string @access 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 }

◆ setPostSort()

ilExplorer::setPostSort (   $a_sort)

process post sorting

Parameters
boolean$a_sorttrue / false

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

539 {
540 $this->post_sort = $a_sort;
541 }

Referenced by ilSurveySkillExplorer\__construct().

+ Here is the caller graph for this function:

◆ setRoot()

ilExplorer::setRoot (   $a_root_id)

Set root node.

@access public

Parameters
intref id of root node

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

312 {
313 #$this->tree = new ilTree(ROOT_FOLDER_ID,$a_root_id);
314 $this->root_id = $a_root_id;
315 }

Referenced by ilECSNodeMappingLocalExplorer\__construct().

+ 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 @access public

Parameters
stringvarname containing Ids to be used in GET-string

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

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 }

◆ setTitle()

ilExplorer::setTitle (   $a_val)

Set title.

Parameters
title

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

271 {
272 $this->title = $a_val;
273 }

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

+ 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.

281 {
282 $this->textwidth = $a_length;
283 }

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

+ 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)

Reimplemented in ilLMMenuObjectSelector, ilGlossarySelectorGUI, ilSolutionExplorer, ilRoleDesktopItemSelector, ilFileSelectorGUI, and ilSearchRootSelector.

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

760 {
761 return true;
762 }

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

+ 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 @access private

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

Reimplemented in ilWorkspaceExplorer, and ilRepositoryExplorer.

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

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

References ilUtil\sortArray().

Referenced by setOutput().

+ 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

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

Referenced by ilWorkspaceFolderExplorer\setExpand(), and setExpand().

◆ $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: