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
5include_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());
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
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 {
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
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?>
global $tpl
Definition: ilias.php:8
$_GET["client_id"]
const IL_LAST_NODE
Definition: class.ilTree.php:4
This class represents a checkbox property in a property form.
This class represents a number property in a property form.
This class represents a property form user interface.
Skill category GUI class.
initForm($a_mode="edit")
Init form.
editProperties()
Edit properties.
static addCreationButtons()
Add creation buttons.
redirectToParent()
Redirect to parent (identified by current obj_id)
proceedDragDrop()
Perform drag and drop action.
& executeCommand()
Execute command.
getValues()
Get current values for from.
__construct($a_node_id=0)
Constructor.
setTabs($a_tab)
output tabs
Basic GUI class for skill tree nodes.
setSkillNodeDescription()
Set skill node description.
addUsageTab($a_tabs)
Add usage tab.
addStatusInput(ilPropertyFormGUI $a_form)
Add status input.
checkPermissionBool($a_perm)
Check permission pool.
static putInTree($a_obj, $a_parent_id="", $a_target_node_id="")
Put this object into the skill tree.
static _lookupType($a_obj_id)
Lookup Type.
This class represents a text property in a property form.
$_POST['username']
Definition: cron.php:12
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:40
$cmd
Definition: sahs_server.php:35
global $ilUser
Definition: imgupload.php:15