ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilSkillSelectorGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4include_once("./Services/Skill/classes/class.ilVirtualSkillTreeExplorerGUI.php");
5
15{
19 public function __construct($a_parent_obj, $a_parent_cmd, $a_select_gui, $a_select_cmd, $a_select_par = "selected_skill")
20 {
21 parent::__construct("skill_sel", $a_parent_obj, $a_parent_cmd);
22 $this->select_gui = (is_object($a_select_gui))
23 ? strtolower(get_class($a_select_gui))
24 : $a_select_gui;
25 $this->select_cmd = $a_select_cmd;
26 $this->select_par = $a_select_par;
27 $this->setSkipRootNode(true);
28 }
29
35 function setSkillSelected($a_id)
36 {
37 $this->setNodeSelected($this->vtree->getCSkillIdForVTreeId($a_id));
38 }
39
44 {
45 $skills = array();
47 if (is_array($pa))
48 {
49 foreach ($pa as $p)
50 {
51 $skills[] = $this->vtree->getCSkillIdForVTreeId($p);
52 }
53 }
54 return $skills;
55 }
56
63 function getNodeHref($a_node)
64 {
65 global $ilCtrl;
66
67 // we have a tree id like <skl_tree_id>:<skl_template_tree_id>
68 // and make a "common" skill id in format <skill_id>:<tref_id>
69
70 $id_parts = explode(":", $a_node["id"]);
71 if ($id_parts[1] == 0)
72 {
73 // skill in main tree
74 $skill_id = $a_node["id"];
75 }
76 else
77 {
78 // skill in template
79 $skill_id = $id_parts[1].":".$id_parts[0];
80 }
81
82 $ilCtrl->setParameterByClass($this->select_gui, $this->select_par, $skill_id);
83 $ret = $ilCtrl->getLinkTargetByClass($this->select_gui, $this->select_cmd);
84 $ilCtrl->setParameterByClass($this->select_gui, $this->select_par, "");
85
86 return $ret;
87 }
88
95 function isNodeClickable($a_node)
96 {
97 return $this->nodeHasAction($a_node);
98 }
99
100 protected function isNodeSelectable($a_node)
101 {
102 return $this->nodeHasAction($a_node);
103 }
104
105 private function nodeHasAction($a_node)
106 {
107 if (in_array($a_node["type"], array("skll", "sktp")))
108 {
109 return true;
110 }
111 // references that refer directly to a (basic) skill template
112 if ($a_node["type"] == "sktr" && ilSkillTreeNode::_lookupType($a_node["skill_id"]) == "sktp")
113 {
114 return true;
115 }
116
117 return false;
118 }
119}
120
121?>
setNodeSelected($a_id)
Set node to be opened (additional custom opened node, not standard expand behaviour)
setSkipRootNode($a_val)
Set skip root node.
Explorer class that works on tree objects (Services/Tree)
isNodeSelectable($a_node)
Is node selectable?
getSelectedSkills()
Get selected skills (from POST)
setSkillSelected($a_id)
Set skill to be opened.
__construct($a_parent_obj, $a_parent_cmd, $a_select_gui, $a_select_cmd, $a_select_par="selected_skill")
Constructor.
getNodeHref($a_node)
Get href for node.
isNodeClickable($a_node)
Is clickable.
static _lookupType($a_obj_id)
Lookup Type.
$_POST['username']
Definition: cron.php:12
global $ilCtrl
Definition: ilias.php:18