ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilSkillTemplateCategoryGUI.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
5 include_once("./Services/Skill/classes/class.ilSkillTreeNodeGUI.php");
6 include_once("./Services/Skill/classes/class.ilSkillTemplateCategory.php");
7 
18 {
19 
23  function __construct($a_node_id = 0)
24  {
25  global $ilCtrl;
26 
27  $ilCtrl->saveParameter($this, "obj_id");
28 
29  parent::ilSkillTreeNodeGUI($a_node_id);
30  }
31 
35  function getType()
36  {
37  return "sctp";
38  }
39 
43  function &executeCommand()
44  {
45  global $ilCtrl, $tpl, $ilTabs;
46 
47  $tpl->getStandardTemplate();
48 
49  $next_class = $ilCtrl->getNextClass($this);
50  $cmd = $ilCtrl->getCmd();
51 
52  switch($next_class)
53  {
54  default:
55  $ret = $this->$cmd();
56  break;
57  }
58  }
59 
63  function setTabs($a_tab)
64  {
65  global $ilTabs, $ilCtrl, $tpl, $lng;
66 
67  $ilTabs->clearTargets();
68 
69  // content
70  $ilTabs->addTab("content", $lng->txt("content"),
71  $ilCtrl->getLinkTarget($this, 'listItems'));
72 
73  // properties
74  $ilTabs->addTab("properties", $lng->txt("settings"),
75  $ilCtrl->getLinkTarget($this, 'editProperties'));
76 
77  // back link
78  $ilCtrl->setParameterByClass("ilskillrootgui", "obj_id",
79  $this->node_object->skill_tree->getRootId());
80  $ilTabs->setBackTarget($lng->txt("obj_skmg"),
81  $ilCtrl->getLinkTargetByClass("ilskillrootgui", "listTemplates"));
82  $ilCtrl->setParameterByClass("ilskillrootgui", "obj_id",
83  $_GET["obj_id"]);
84 
86  $tpl->setTitle(
87  $lng->txt("skmg_sctp").": ".$this->node_object->getTitle());
88  $this->setSkillNodeDescription();
89 
90  $ilTabs->activateTab($a_tab);
91 
92  }
93 
100  function listItems()
101  {
102  global $tpl;
103 
105  $this->setTabs("content");
106 
107  include_once("./Services/Skill/classes/class.ilSkillCatTableGUI.php");
108  $table = new ilSkillCatTableGUI($this, "listItems", (int) $_GET["obj_id"],
110 
111  $tpl->setContent($table->getHTML());
112  }
113 
120  static function addCreationButtons()
121  {
122  global $ilCtrl, $lng, $ilToolbar, $ilUser;
123 
124  $ilCtrl->setParameterByClass("ilobjskillmanagementgui", "tmpmode", 1);
125 
126  $ilCtrl->setParameterByClass("ilbasicskilltemplategui",
127  "obj_id", (int) $_GET["obj_id"]);
128  $ilToolbar->addButton($lng->txt("skmg_create_skill_template"),
129  $ilCtrl->getLinkTargetByClass("ilbasicskilltemplategui", "create"));
130  $ilCtrl->setParameterByClass("ilskilltemplatecategorygui",
131  "obj_id", (int) $_GET["obj_id"]);
132  $ilToolbar->addButton($lng->txt("skmg_create_skill_template_category"),
133  $ilCtrl->getLinkTargetByClass("ilskilltemplatecategorygui", "create"));
134 
135  // skill templates from clipboard
136  $sep = false;
137  if ($ilUser->clipboardHasObjectsOfType("sktp"))
138  {
139  $ilToolbar->addSeparator();
140  $sep = true;
141  $ilToolbar->addButton($lng->txt("skmg_insert_skill_template_from_clip"),
142  $ilCtrl->getLinkTargetByClass("ilskilltemplatecategorygui", "insertSkillTemplateClip"));
143  }
144 
145  // template categories from clipboard
146  if ($ilUser->clipboardHasObjectsOfType("sctp"))
147  {
148  if (!$sep)
149  {
150  $ilToolbar->addSeparator();
151  $sep = true;
152  }
153  $ilToolbar->addButton($lng->txt("skmg_insert_template_category_from_clip"),
154  $ilCtrl->getLinkTargetByClass("ilskilltemplatecategorygui", "insertTemplateCategoryClip"));
155  }
156 
157  }
158 
162  function editProperties()
163  {
164  $this->setTabs("properties");
166  }
167 
168 
172  function saveItem()
173  {
174  $it = new ilSkillTemplateCategory();
175  $it->setTitle($this->form->getInput("title"));
176  $it->setOrderNr($this->form->getInput("order_nr"));
177  $it->create();
178  ilSkillTreeNode::putInTree($it, (int) $_GET["obj_id"], IL_LAST_NODE);
179  }
180 
184  function updateItem()
185  {
186  $this->node_object->setTitle($this->form->getInput("title"));
187  $this->node_object->setOrderNr($this->form->getInput("order_nr"));
188  $this->node_object->setSelfEvaluation($_POST["self_eval"]);
189  $this->node_object->update();
190  }
191 
195  function afterSave()
196  {
197  $this->redirectToParent(true);
198  }
199 
200 }
201 
202 ?>