ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilLMExplorerGUI Class Reference

LM editor explorer GUI class. More...

+ Inheritance diagram for ilLMExplorerGUI:
+ Collaboration diagram for ilLMExplorerGUI:

Public Member Functions

 __construct ($a_parent_obj, $a_parent_cmd, ilObjContentObject $a_lm, $a_id="")
 Constructor. More...
 
 beforeRendering ()
 Before rendering. More...
 
 getNodeContent ($a_node)
 Get node content. More...
 
 isNodeHighlighted ($a_node)
 Is node highlighted? More...
 
- Public Member Functions inherited from ilTreeExplorerGUI
 __construct ($a_expl_id, $a_parent_obj, $a_parent_cmd, $a_tree)
 Constructor. More...
 
 getTree ()
 Get tree. More...
 
 setOrderField ($a_val, $a_numeric=false)
 Set order field. More...
 
 getOrderField ()
 Get order field. More...
 
 setTypeWhiteList ($a_val)
 Set type white list. More...
 
 getTypeWhiteList ()
 Get type white list. More...
 
 setTypeBlackList ($a_val)
 Set type black list. More...
 
 getTypeBlackList ()
 Get type black list. More...
 
 setPreloadChilds ($a_val)
 Set preload childs. More...
 
 getPreloadChilds ()
 Get preload childs. More...
 
 getSuccessorNode ($a_node_id, $a_type="")
 Get successor node (currently only(!) based on lft/rgt tree values) More...
 
 getChildsOfNode ($a_parent_node_id)
 Get childs of node. More...
 
 getNodeId ($a_node)
 Get id for node. More...
 
 getNodeIconAlt ($a_node)
 Get node icon alt attribute. More...
 
 getRootNode ()
 Get root node. More...
 
 setRootId ($a_root)
 
 setPathOpen ($a_id)
 Set node path to be opened. More...
 
 getHTML ($new=false)
 Get HTML. More...
 
 getChildren ($node, $environment=null)
 Get a list of records (that list can also be empty).Each record will be relayed to $this->build to retrieve a Node. Also, each record will be asked for Sub-Nodes using this function.
Returns
array
More...
 
 build (\ILIAS\UI\Component\Tree\Node\Factory $factory, $record, $environment=null)
 
 getTreeLabel ()
 
 getTreeComponent ()
 Get Tree UI. More...
 
 toggleExplorerNodeState ()
 Should be called by an ilCtrl-enabled command class if a tree node toggle action should be processed. More...
 
- Public Member Functions inherited from ilExplorerBaseGUI
 __construct ($a_expl_id, $a_parent_obj, $a_parent_cmd)
 Constructor. More...
 
 setChildLimit ($a_val)
 Set child limit. More...
 
 getChildLimit ()
 Get child limit. More...
 
 setSearchTerm ($a_val)
 Set search term. More...
 
 getSearchTerm ()
 Get search term. More...
 
 setMainTemplate ($a_main_tpl=null)
 Set main template (that is responsible for adding js/css) More...
 
 getRootNode ()
 Get root node. More...
 
 getChildsOfNode ($a_parent_node_id)
 Get childs of node. More...
 
 getNodeContent ($a_node)
 Get content of a node. More...
 
 getNodeId ($a_node)
 Get id of a node. More...
 
 getNodeHref ($a_node)
 Get href for node. More...
 
 nodeHasVisibleChilds ($a_node)
 Node has childs? More...
 
 sortChilds ($a_childs, $a_parent_node_id)
 Sort childs. More...
 
 getNodeIcon ($a_node)
 Get node icon path. More...
 
 getNodeIconAlt ($a_node)
 Get node icon alt attribute. More...
 
 getNodeTarget ($a_node)
 Get node target (frame) attribute. More...
 
 getNodeOnClick ($a_node)
 Get node onclick attribute. More...
 
 isNodeVisible ($a_node)
 Is node visible? More...
 
 isNodeHighlighted ($a_node)
 Is node highlighted? More...
 
 isNodeClickable ($a_node)
 Is node clickable? More...
 
 getId ()
 Get id of explorer element. More...
 
 setSkipRootNode ($a_val)
 Set skip root node. More...
 
 getSkipRootNode ()
 Get skip root node. More...
 
 setAjax ($a_val)
 Set ajax. More...
 
 getAjax ()
 Get ajax. More...
 
 setSecondaryHighlightedNodes ($a_val)
 Set secondary (background) highlighted nodes. More...
 
 getSecondaryHighlightedNodes ()
 Get secondary (background) highlighted nodes. More...
 
 setNodeOpen ($a_id)
 Set node to be opened (additional custom opened node, not standard expand behaviour) More...
 
 setSelectMode ($a_postvar, $a_multi=false)
 Set select mode (to deactivate, pass an empty string as postvar) More...
 
 setNodeSelected ($a_id)
 Set node to be opened (additional custom opened node, not standard expand behaviour) More...
 
 setOfflineMode ($a_val)
 Set offline mode. More...
 
 getOfflineMode ()
 Get offline mode. More...
 
 handleCommand ()
 Handle explorer internal command. More...
 
 getContainerId ()
 Get container id. More...
 
 openNode ()
 Open node. More...
 
 closeNode ()
 Close node. More...
 
 getNodeAsync ()
 Get node asynchronously. More...
 
 beforeRendering ()
 Before rendering. More...
 
 getOnLoadCode ()
 Get on load code. More...
 
 getHTML ()
 Get HTML. More...
 
 renderNode ($a_node, $tpl)
 Render node. More...
 
 renderChilds ($a_node_id, $tpl)
 Render childs. More...
 
 getDomNodeIdForNodeId ($a_node_id)
 Get DOM node id for node id. More...
 
 getNodeIdForDomNodeId ($a_dom_node_id)
 Get node id for dom node id. More...
 
 listItemStart ($tpl, $a_node)
 List item start. More...
 
 listItemEnd ($tpl)
 List item end. More...
 
 listStart ($tpl)
 List start. More...
 
 listEnd ($tpl)
 List end. More...
 
 isNodeOnclickEnabled ()
 
 setNodeOnclickEnabled ($nodeOnclickEnabled)
 
 isEnableDnd ()
 
 setEnableDnd ($enable_dnd)
 Enable Drag & Drop functionality. More...
 
- Public Member Functions inherited from ILIAS\UI\Component\Tree\TreeRecursion
 getChildren ( $record, $environment=null)
 Get a list of records (that list can also be empty). More...
 
 build (Node\Factory $factory, $record, $environment=null)
 Build and return a Node. More...
 

Protected Member Functions

 checkLPIcon ($a_id)
 Check learning progress icon. More...
 
- Protected Member Functions inherited from ilTreeExplorerGUI
 preloadChilds ()
 Preload childs. More...
 
 matches ($node)
 Does a node match a search term (or is search term empty) More...
 
 getRootId ()
 
 createNode (\ILIAS\UI\Component\Tree\Node\Factory $factory, $record)
 Creates at tree node, can be overwritten in derivatives if another node type should be used. More...
 
 getNodeStateToggleCmdClasses ($record)
 Should return an array of ilCtrl-enabled command classes which should be used to build the URL for the expand/collapse actions applied on a tree node. More...
 
 render ()
 Render tree. More...
 
- Protected Member Functions inherited from ilExplorerBaseGUI
 isNodeSelectable ($a_node)
 Is node selectable? More...
 
 getNodeToggleOnClick ($a_node)
 Get onclick attribute for node toggling. More...
 
 getSelectOnClick ($a_node)
 Get onclick attribute for selecting radio/checkbox. More...
 
 isNodeOpen ($node_id)
 Get all open nodes. More...
 
 getJSTreePlugins ()
 

Protected Attributes

 $user
 
 $lp_cache
 
 $cnt_lmobj
 
- Protected Attributes inherited from ilTreeExplorerGUI
 $lng
 
 $httpRequest
 
 $tree = null
 
 $tree_label = ""
 
 $order_field = ""
 
 $order_field_numeric = false
 
 $type_white_list = array()
 
 $type_black_list = array()
 
 $childs = array()
 
 $preloaded = false
 
 $preload_childs = false
 
 $root_node_data = null
 
 $all_childs = array()
 
 $ui
 
- Protected Attributes inherited from ilExplorerBaseGUI
 $log
 
 $ctrl
 
 $tpl
 
 $skip_root_node = false
 
 $ajax = false
 
 $custom_open_nodes = array()
 
 $selected_nodes = array()
 
 $select_postvar = ""
 
 $offline_mode = false
 
 $sec_highl_nodes = array()
 
 $enable_dnd = false
 
 $search_term = ""
 
 $open_nodes = []
 
 $store
 
 $parent_obj
 
 $child_limit = 0
 
 $parent_cmd = ''
 

Additional Inherited Members

- Static Public Member Functions inherited from ilExplorerBaseGUI
static getLocalExplorerJsPath ()
 Get local path of explorer js. More...
 
static getLocalJsTreeJsPath ()
 Get local path of jsTree js. More...
 
static getLocalJsTreeCssPath ()
 Get local path of jsTree js. More...
 
static createHTMLExportDirs ($a_target_dir)
 Create html export directories. More...
 
static init ($a_main_tpl=null)
 Init JS. More...
 
- Static Protected Attributes inherited from ilExplorerBaseGUI
static $js_tree_path = "./libs/bower/bower_components/jstree/dist/jstree.js"
 
static $js_tree_path_css = "./libs/bower/bower_components/jstree/dist/themes/default/style.min.css"
 
static $js_expl_path = "./Services/UIComponent/Explorer2/js/Explorer2.js"
 

Detailed Description

LM editor explorer GUI class.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 13 of file class.ilLMExplorerGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilLMExplorerGUI::__construct (   $a_parent_obj,
  $a_parent_cmd,
ilObjContentObject  $a_lm,
  $a_id = "" 
)

Constructor.

Parameters
object$a_parent_objparent gui object
string$a_parent_cmdparent cmd
ilObjContentObject$a_lmlearning module

Reimplemented in ilLMEditorExplorerGUI.

Definition at line 30 of file class.ilLMExplorerGUI.php.

31 {
32 global $DIC;
33
34 $this->user = $DIC->user();
35 $this->lm = $a_lm;
36
37 $tree = ilLMTree::getInstance($this->lm->getId());
38
39 $this->cnt_lmobj = ilLMObject::preloadDataByLM($this->lm->getId());
40
42
43 if ($a_id == "") {
44 $a_id = "lm_exp";
45
46 // this does not work, since it is not set yet
47 if ($this->getOfflineMode()) {
48 $a_id = "lm_exp_off";
49 }
50 }
51
52 parent::__construct($a_id, $a_parent_obj, $a_parent_cmd, $tree);
53
54 $this->setSkipRootNode(false);
55 $this->setAjax(false);
56 $this->setPreloadChilds(true);
57
58 $this->setPathOpen($tree->readRootId());
59
60 if ((int) $_GET["obj_id"] > 0) {
61 $this->setPathOpen((int) $_GET["obj_id"]);
62 }
63 }
user()
Definition: user.php:4
$_GET["client_id"]
getOfflineMode()
Get offline mode.
setSkipRootNode($a_val)
Set skip root node.
static preloadDataByLM($a_lm_id)
Preload data records by lm.
static getInstance($a_tree_id)
Get Instance.
static preloadActivationDataByParentId($a_parent_id)
Preload activation data by Parent Id.
setPathOpen($a_id)
Set node path to be opened.
setPreloadChilds($a_val)
Set preload childs.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
$DIC
Definition: xapitoken.php:46

References $_GET, $DIC, ilTreeExplorerGUI\$tree, ILIAS\GlobalScreen\Provider\__construct(), ilLMTree\getInstance(), ilExplorerBaseGUI\getOfflineMode(), ilPageObject\preloadActivationDataByParentId(), ilLMObject\preloadDataByLM(), ilExplorerBaseGUI\setAjax(), ilTreeExplorerGUI\setPathOpen(), ilTreeExplorerGUI\setPreloadChilds(), ilExplorerBaseGUI\setSkipRootNode(), and user().

+ Here is the call graph for this function:

Member Function Documentation

◆ beforeRendering()

ilLMExplorerGUI::beforeRendering ( )

Before rendering.

Reimplemented from ilExplorerBaseGUI.

Definition at line 68 of file class.ilLMExplorerGUI.php.

69 {
70 if ($this->cnt_lmobj > 200 && !$this->getOfflineMode()) {
71 $class = (is_object($this->parent_obj))
72 ? get_class($this->parent_obj)
74 $this->ctrl->setParameterByClass($class, "obj_id", $_GET["obj_id"]);
75 $this->setAjax(true);
76 }
77 }

References $_GET, ilExplorerBaseGUI\$parent_obj, ilExplorerBaseGUI\getOfflineMode(), and ilExplorerBaseGUI\setAjax().

+ Here is the call graph for this function:

◆ checkLPIcon()

ilLMExplorerGUI::checkLPIcon (   $a_id)
protected

Check learning progress icon.

Parameters
int$a_idlm tree node id
Returns
string image path

Definition at line 127 of file class.ilLMExplorerGUI.php.

128 {
130
131 // do it once for all chapters
132 if ($this->lp_cache[$this->lm->getId()] === null) {
133 $this->lp_cache[$this->lm->getId()] = false;
134
135 if (ilLearningProgressAccess::checkAccess($this->lm->getRefId())) {
136 $info = null;
137
138 $olp = ilObjectLP::getInstance($this->lm->getId());
139 if ($olp->getCurrentMode() == ilLPObjSettings::LP_MODE_COLLECTION_MANUAL ||
140 $olp->getCurrentMode() == ilLPObjSettings::LP_MODE_COLLECTION_TLT) {
141 $class = ilLPStatusFactory::_getClassById($this->lm->getId(), $olp->getCurrentMode());
142 $info = $class::_getStatusInfo($this->lm->getId());
143 }
144
145 // parse collection items
146 if (is_array($info["items"])) {
147 foreach ($info["items"] as $item_id) {
149 if (is_array($info["in_progress"][$item_id]) &&
150 in_array($ilUser->getId(), $info["in_progress"][$item_id])) {
152 } elseif (is_array($info["completed"][$item_id]) &&
153 in_array($ilUser->getId(), $info["completed"][$item_id])) {
155 }
156 $this->lp_cache[$this->lm->getId()][$item_id] = $status;
157 }
158 }
159 }
160 }
161
162 if (is_array($this->lp_cache[$this->lm->getId()]) &&
163 isset($this->lp_cache[$this->lm->getId()][$a_id])) {
164 return ilLearningProgressBaseGUI::_getImagePathForStatus($this->lp_cache[$this->lm->getId()][$a_id]);
165 }
166
167 return "";
168 }
static _getClassById($a_obj_id, $a_mode=null)
const LP_STATUS_COMPLETED_NUM
const LP_STATUS_IN_PROGRESS_NUM
const LP_STATUS_NOT_ATTEMPTED_NUM
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
static _getImagePathForStatus($a_status)
Get image path for status.
static getInstance($a_obj_id)
$ilUser
Definition: imgupload.php:18

References $ilUser, $user, ilLPStatusFactory\_getClassById(), ilLearningProgressBaseGUI\_getImagePathForStatus(), ilLearningProgressAccess\checkAccess(), ilObjectLP\getInstance(), ilLPObjSettings\LP_MODE_COLLECTION_MANUAL, ilLPObjSettings\LP_MODE_COLLECTION_TLT, ilLPStatus\LP_STATUS_COMPLETED_NUM, ilLPStatus\LP_STATUS_IN_PROGRESS_NUM, and ilLPStatus\LP_STATUS_NOT_ATTEMPTED_NUM.

Referenced by ilLMTOCExplorerGUI\getNodeIcon().

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

◆ getNodeContent()

ilLMExplorerGUI::getNodeContent (   $a_node)

Get node content.

Parameters
array$a_nodenode array
Returns
string node content

Reimplemented from ilExplorerBaseGUI.

Reimplemented in ilLMTOCExplorerGUI.

Definition at line 86 of file class.ilLMExplorerGUI.php.

87 {
88 if ($a_node["child"] == $this->getNodeId($this->getRootNode())) {
89 return $this->lm->getTitle();
90 }
91
92 $lang = ($_GET["transl"] != "")
93 ? $_GET["transl"]
94 : "-";
96 $a_node,
98 $this->lm->isActiveNumbering(),
99 false,
100 false,
101 $this->lm->getId(),
102 $lang
103 );
104 }
static _getPresentationTitle( $a_node, $a_mode=self::PAGE_TITLE, $a_include_numbers=false, $a_time_scheduled_activation=false, $a_force_content=false, $a_lm_id=0, $a_lang="-")
Get affective title.
getNodeId($a_node)
Get id for node.
$lang
Definition: xapiexit.php:8

References $_GET, $lang, ilLMObject\_getPresentationTitle(), ilTreeExplorerGUI\getNodeId(), ilTreeExplorerGUI\getRootNode(), and ilLMObject\PAGE_TITLE.

+ Here is the call graph for this function:

◆ isNodeHighlighted()

ilLMExplorerGUI::isNodeHighlighted (   $a_node)

Is node highlighted?

Parameters
mixed$a_nodenode object/array
Returns
boolean node visible true/false

Reimplemented from ilExplorerBaseGUI.

Reimplemented in ilLMTOCExplorerGUI.

Definition at line 112 of file class.ilLMExplorerGUI.php.

113 {
114 if ($a_node["child"] == $_GET["obj_id"] ||
115 ($_GET["obj_id"] == "" && $a_node["child"] == $this->getNodeId($this->getRootNode()))) {
116 return true;
117 }
118 return false;
119 }

References $_GET, ilTreeExplorerGUI\getNodeId(), and ilTreeExplorerGUI\getRootNode().

+ Here is the call graph for this function:

Field Documentation

◆ $cnt_lmobj

ilLMExplorerGUI::$cnt_lmobj
protected

Definition at line 21 of file class.ilLMExplorerGUI.php.

◆ $lp_cache

ilLMExplorerGUI::$lp_cache
protected

Definition at line 20 of file class.ilLMExplorerGUI.php.

◆ $user

ilLMExplorerGUI::$user
protected

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

Referenced by checkLPIcon(), and ilLMTOCExplorerGUI\isNodeClickable().


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