ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilSkillCategoryGUI.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 
17 {
18 
22  function __construct($a_node_id = 0)
23  {
24  global $ilCtrl;
25 
26  $ilCtrl->saveParameter($this, "obj_id");
27 
28  parent::ilSkillTreeNodeGUI($a_node_id);
29  }
30 
34  function getType()
35  {
36  return "scat";
37  }
38 
42  function &executeCommand()
43  {
44  global $ilCtrl, $tpl, $ilTabs;
45 
46  $tpl->getStandardTemplate();
47 
48  $next_class = $ilCtrl->getNextClass($this);
49  $cmd = $ilCtrl->getCmd();
50 
51  switch($next_class)
52  {
53  default:
54  $ret = $this->$cmd();
55  break;
56  }
57  }
58 
62  function setTabs($a_tab)
63  {
64  global $ilTabs, $ilCtrl, $tpl, $lng, $ilHelp;
65 
66  $ilTabs->clearTargets();
67  $ilHelp->setScreenIdComponent("skmg_scat");
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  // usage
78  $this->addUsageTab($ilTabs);
79 
80  // back link
81  $ilCtrl->setParameterByClass("ilskillrootgui", "obj_id",
82  $this->node_object->skill_tree->getRootId());
83  $ilTabs->setBackTarget($lng->txt("obj_skmg"),
84  $ilCtrl->getLinkTargetByClass("ilskillrootgui", "listSkills"));
85  $ilCtrl->setParameterByClass("ilskillrootgui", "obj_id",
86  $_GET["obj_id"]);
87 
88 
89  parent::setTitleIcon();
90  $tpl->setTitle(
91  $lng->txt("scat").": ".$this->node_object->getTitle());
92  $this->setSkillNodeDescription();
93 
94  $ilTabs->activateTab($a_tab);
95  }
96 
100  function editProperties()
101  {
102  global $tpl;
103 
104  $this->setTabs("properties");
105  parent::editProperties();
106  }
107 
111  function proceedDragDrop()
112  {
113  global $ilCtrl;
114 
115 // $this->slm_object->executeDragDrop($_POST["il_hform_source_id"], $_POST["il_hform_target_id"],
116 // $_POST["il_hform_fc"], $_POST["il_hform_as_subitem"]);
117 // $ilCtrl->redirect($this, "showOrganization");
118  }
119 
123  function edit()
124  {
125  global $tpl;
126 
127  $this->initForm();
128  $this->getValues();
129  $tpl->setContent($this->form->getHTML());
130  }
131 
137  public function initForm($a_mode = "edit")
138  {
139  global $lng, $ilCtrl;
140 
141  include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
142  $this->form = new ilPropertyFormGUI();
143 
144  // title
145  $ti = new ilTextInputGUI($lng->txt("title"), "title");
146  $ti->setMaxLength(200);
147  $ti->setSize(50);
148  $ti->setRequired(true);
149  $this->form->addItem($ti);
150 
151  // order nr
152  $ni = new ilNumberInputGUI($lng->txt("skmg_order_nr"), "order_nr");
153  $ni->setMaxLength(6);
154  $ni->setSize(6);
155  $ni->setRequired(true);
156  $this->form->addItem($ni);
157 
158  // status
159  $this->addStatusInput($this->form);
160 
161  // selectable
162  $cb = new ilCheckboxInputGUI($lng->txt("skmg_selectable"), "self_eval");
163  $cb->setInfo($lng->txt("skmg_selectable_info"));
164  $this->form->addItem($cb);
165 
166  // save and cancel commands
167  if ($this->checkPermissionBool("write"))
168  {
169  if ($a_mode == "create")
170  {
171  $this->form->addCommandButton("save", $lng->txt("save"));
172  $this->form->addCommandButton("cancelSave", $lng->txt("cancel"));
173  $this->form->setTitle($lng->txt("skmg_create_skill_category"));
174  } else
175  {
176  $this->form->addCommandButton("update", $lng->txt("save"));
177  $this->form->setTitle($lng->txt("skmg_edit_scat"));
178  }
179  }
180 
181  $ilCtrl->setParameter($this, "obj_id", $_GET["obj_id"]);
182  $this->form->setFormAction($ilCtrl->getFormAction($this));
183  }
184 
188  function saveItem()
189  {
190  if (!$this->checkPermissionBool("write"))
191  {
192  return;
193  }
194  include_once "Services/Skill/classes/class.ilSkillCategory.php";
195  $it = new ilSkillCategory();
196  $it->setTitle($this->form->getInput("title"));
197  $it->setOrderNr($this->form->getInput("order_nr"));
198  $it->setSelfEvaluation($_POST["self_eval"]);
199  $it->setStatus($_POST["status"]);
200  $it->create();
201  ilSkillTreeNode::putInTree($it, (int) $_GET["obj_id"], IL_LAST_NODE);
202  }
203 
207  public function getValues()
208  {
209  $values = array();
210  $values["title"] = $this->node_object->getTitle();
211  $values["order_nr"] = $this->node_object->getOrderNr();
212  $values["self_eval"] = $this->node_object->getSelfEvaluation();
213  $values["status"] = $this->node_object->getStatus();
214  $this->form->setValuesByArray($values);
215  }
216 
220  function updateItem()
221  {
222  if (!$this->checkPermissionBool("write"))
223  {
224  return;
225  }
226 
227  $this->node_object->setTitle($this->form->getInput("title"));
228  $this->node_object->setOrderNr($this->form->getInput("order_nr"));
229  $this->node_object->setSelfEvaluation($_POST["self_eval"]);
230  $this->node_object->setStatus($_POST["status"]);
231  $this->node_object->update();
232  }
233 
237 /* function updateSkillCategory()
238  {
239  global $lng, $ilCtrl, $tpl;
240 
241  $this->initForm("edit");
242  if ($this->form->checkInput())
243  {
244  // perform update
245  $this->node_object->setSelfEvaluation($_POST["self_eval"]);
246  $this->node_object->update();
247 
248  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
249  $ilCtrl->redirect($this, "edit");
250  }
251 
252  $this->form->setValuesByPost();
253  $tpl->setContent($this->form->getHtml());
254  }*/
255 
262  function listItems()
263  {
264  global $tpl;
265 
266  if ($this->checkPermissionBool("write"))
267  {
268  self::addCreationButtons();
269  }
270  $this->setTabs("content");
271 
272  include_once("./Services/Skill/classes/class.ilSkillCatTableGUI.php");
273  $table = new ilSkillCatTableGUI($this, "listItems", (int) $_GET["obj_id"],
275 
276  $tpl->setContent($table->getHTML());
277  }
278 
285  static function addCreationButtons()
286  {
287  global $ilCtrl, $lng, $ilToolbar, $ilUser;
288 
289  // skill
290  $ilCtrl->setParameterByClass("ilbasicskillgui",
291  "obj_id", (int) $_GET["obj_id"]);
292  $ilToolbar->addButton($lng->txt("skmg_create_skll"),
293  $ilCtrl->getLinkTargetByClass("ilbasicskillgui", "create"));
294 
295  // skill category
296  $ilCtrl->setParameterByClass("ilskillcategorygui",
297  "obj_id", (int) $_GET["obj_id"]);
298  $ilToolbar->addButton($lng->txt("skmg_create_skill_category"),
299  $ilCtrl->getLinkTargetByClass("ilskillcategorygui", "create"));
300 
301  // skill template reference
302  $ilCtrl->setParameterByClass("ilskilltemplatereferencegui",
303  "obj_id", (int) $_GET["obj_id"]);
304  $ilToolbar->addButton($lng->txt("skmg_create_skill_template_reference"),
305  $ilCtrl->getLinkTargetByClass("ilskilltemplatereferencegui", "create"));
306 
307  // skills from clipboard
308  $sep = false;
309  if ($ilUser->clipboardHasObjectsOfType("skll"))
310  {
311  $ilToolbar->addSeparator();
312  $sep = true;
313  $ilToolbar->addButton($lng->txt("skmg_insert_basic_skill_from_clip"),
314  $ilCtrl->getLinkTargetByClass("ilskillcategorygui", "insertBasicSkillClip"));
315  }
316 
317  // skills from clipboard
318  if ($ilUser->clipboardHasObjectsOfType("scat"))
319  {
320  if (!$sep)
321  {
322  $ilToolbar->addSeparator();
323  $sep = true;
324  }
325  $ilToolbar->addButton($lng->txt("skmg_insert_skill_category_from_clip"),
326  $ilCtrl->getLinkTargetByClass("ilskillcategorygui", "insertSkillCategoryClip"));
327  }
328 
329  // skills from clipboard
330  if ($ilUser->clipboardHasObjectsOfType("sktr"))
331  {
332  if (!$sep)
333  {
334  $ilToolbar->addSeparator();
335  $sep = true;
336  }
337  $ilToolbar->addButton($lng->txt("skmg_insert_skill_template_reference_from_clip"),
338  $ilCtrl->getLinkTargetByClass("ilskillcategorygui", "insertTemplateReferenceClip"));
339  }
340 
341  }
342 
349  function cancel()
350  {
351  global $ilCtrl;
352 
353  $ilCtrl->redirectByClass("ilobjskillmanagementgui", "editSkills");
354  }
355 
362  function redirectToParent()
363  {
364  global $ilCtrl;
365 
366  $t = ilSkillTreeNode::_lookupType((int) $_GET["obj_id"]);
367 
368  switch ($t)
369  {
370  case "skrt":
371  $ilCtrl->setParameterByClass("ilskillrootgui", "obj_id", (int) $_GET["obj_id"]);
372  $ilCtrl->redirectByClass("ilskillrootgui", "listSkills");
373  break;
374  }
375 
376  parent::redirectToParent();
377  }
378 
379 }
380 
381 ?>
addUsageTab($a_tabs)
Add usage tab.
Skill category GUI class.
$_POST['username']
Definition: cron.php:12
static addCreationButtons()
Add creation buttons.
This class represents a property form user interface.
setSkillNodeDescription()
Set skill node description.
$_GET["client_id"]
proceedDragDrop()
Perform drag and drop action.
static putInTree($a_obj, $a_parent_id="", $a_target_node_id="")
Put this object into the skill tree.
$cmd
Definition: sahs_server.php:35
This class represents a checkbox property in a property form.
redirectToParent()
Redirect to parent (identified by current obj_id)
global $tpl
Definition: ilias.php:8
static _lookupType($a_obj_id)
Lookup Type.
checkPermissionBool($a_perm)
Check permission pool.
global $ilCtrl
Definition: ilias.php:18
setInfo($a_info)
Set Information Text.
setTabs($a_tab)
output tabs
Basic GUI class for skill tree nodes.
__construct($a_node_id=0)
Constructor.
This class represents a number property in a property form.
& executeCommand()
Execute command.
This class represents a text property in a property form.
setMaxLength($a_maxlength)
Set Max Length.
editProperties()
Edit properties.
const IL_LAST_NODE
Definition: class.ilTree.php:4
setMaxLength($a_maxlength)
Set Max Length.
global $ilUser
Definition: imgupload.php:15
global $lng
Definition: privfeed.php:40
getValues()
Get current values for from.
initForm($a_mode="edit")
Init form.
addStatusInput(ilPropertyFormGUI $a_form)
Add status input.