ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
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 
4 include_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 
43  function getSelectedSkills()
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 ?>
__construct($a_parent_obj, $a_parent_cmd, $a_select_gui, $a_select_cmd, $a_select_par="selected_skill")
Constructor.
setSkillSelected($a_id)
Set skill to be opened.
setSkipRootNode($a_val)
Set skip root node.
getSelectedSkills()
Get selected skills (from POST)
isNodeClickable($a_node)
Is clickable.
static _lookupType($a_obj_id)
Lookup Type.
global $ilCtrl
Definition: ilias.php:18
setNodeSelected($a_id)
Set node to be opened (additional custom opened node, not standard expand behaviour) ...
Create styles array
The data for the language used.
Explorer class that works on tree objects (Services/Tree)
getNodeHref($a_node)
Get href for node.
$ret
Definition: parser.php:6
$_POST["username"]