ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
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
5include_once("./Services/Skill/classes/class.ilSkillTreeNodeGUI.php");
6include_once("./Services/Skill/classes/class.ilSkillTemplateCategory.php");
7
18{
19
23 function __construct($a_node_id = 0, $a_tref_id)
24 {
25 global $ilCtrl;
26
27 $ilCtrl->saveParameter($this, "obj_id");
28 $this->tref_id = $a_tref_id;
29
30 parent::__construct($a_node_id);
31 }
32
36 function getType()
37 {
38 return "sctp";
39 }
40
44 function executeCommand()
45 {
46 global $ilCtrl, $tpl, $ilTabs;
47
48 //$tpl->getStandardTemplate();
49
50 $next_class = $ilCtrl->getNextClass($this);
51 $cmd = $ilCtrl->getCmd();
52
53 switch($next_class)
54 {
55 default:
56 $ret = $this->$cmd();
57 break;
58 }
59 }
60
64 function setTabs($a_tab)
65 {
66 global $ilTabs, $ilCtrl, $tpl, $lng, $ilHelp;
67
68 $ilTabs->clearTargets();
69 $ilHelp->setScreenIdComponent("skmg_sctp");
70
71 // content
72 $ilTabs->addTab("content", $lng->txt("content"),
73 $ilCtrl->getLinkTarget($this, 'listItems'));
74
75
76 // properties
77 if ($this->tref_id == 0)
78 {
79 $ilTabs->addTab("properties", $lng->txt("settings"),
80 $ilCtrl->getLinkTarget($this, 'editProperties'));
81 }
82
83 // usage
84 $this->addUsageTab($ilTabs);
85
86 // back link
87 if ($this->tref_id == 0)
88 {
89 $ilCtrl->setParameterByClass("ilskillrootgui", "obj_id",
90 $this->node_object->skill_tree->getRootId());
91 $ilTabs->setBackTarget($lng->txt("skmg_skill_templates"),
92 $ilCtrl->getLinkTargetByClass("ilskillrootgui", "listTemplates"));
93 $ilCtrl->setParameterByClass("ilskillrootgui", "obj_id",
94 $_GET["obj_id"]);
95 }
96
97 parent::setTitleIcon();
98 $tpl->setTitle(
99 $lng->txt("skmg_sctp").": ".$this->node_object->getTitle());
101
102 $ilTabs->activateTab($a_tab);
103
104 }
105
112 function listItems()
113 {
114 global $tpl, $lng;
115
116 if ($this->isInUse())
117 {
118 ilUtil::sendInfo($lng->txt("skmg_skill_in_use"));
119 }
120
121 if ($this->checkPermissionBool("write"))
122 {
123 if ($this->tref_id == 0)
124 {
126 }
127 }
128
129 $this->setTabs("content");
130
131 include_once("./Services/Skill/classes/class.ilSkillCatTableGUI.php");
132 $table = new ilSkillCatTableGUI($this, "listItems", (int) $_GET["obj_id"],
133 ilSkillCatTableGUI::MODE_SCTP, $this->tref_id);
134
135 $tpl->setContent($table->getHTML());
136 }
137
144 static function addCreationButtons()
145 {
146 global $ilCtrl, $lng, $ilToolbar, $ilUser;
147
148 $ilCtrl->setParameterByClass("ilobjskillmanagementgui", "tmpmode", 1);
149
150 $ilCtrl->setParameterByClass("ilbasicskilltemplategui",
151 "obj_id", (int) $_GET["obj_id"]);
152 $ilToolbar->addButton($lng->txt("skmg_create_skill_template"),
153 $ilCtrl->getLinkTargetByClass("ilbasicskilltemplategui", "create"));
154 $ilCtrl->setParameterByClass("ilskilltemplatecategorygui",
155 "obj_id", (int) $_GET["obj_id"]);
156 $ilToolbar->addButton($lng->txt("skmg_create_skill_template_category"),
157 $ilCtrl->getLinkTargetByClass("ilskilltemplatecategorygui", "create"));
158
159 // skill templates from clipboard
160 $sep = false;
161 if ($ilUser->clipboardHasObjectsOfType("sktp"))
162 {
163 $ilToolbar->addSeparator();
164 $sep = true;
165 $ilToolbar->addButton($lng->txt("skmg_insert_skill_template_from_clip"),
166 $ilCtrl->getLinkTargetByClass("ilskilltemplatecategorygui", "insertSkillTemplateClip"));
167 }
168
169 // template categories from clipboard
170 if ($ilUser->clipboardHasObjectsOfType("sctp"))
171 {
172 if (!$sep)
173 {
174 $ilToolbar->addSeparator();
175 $sep = true;
176 }
177 $ilToolbar->addButton($lng->txt("skmg_insert_template_category_from_clip"),
178 $ilCtrl->getLinkTargetByClass("ilskilltemplatecategorygui", "insertTemplateCategoryClip"));
179 }
180
181 }
182
186 function editProperties()
187 {
188 $this->setTabs("properties");
189 parent::editProperties();
190 }
191
192
196 function saveItem()
197 {
198 if (!$this->checkPermissionBool("write"))
199 {
200 return;
201 }
202
203 $it = new ilSkillTemplateCategory();
204 $it->setTitle($this->form->getInput("title"));
205 $it->setOrderNr($this->form->getInput("order_nr"));
206 $it->create();
207 ilSkillTreeNode::putInTree($it, (int) $_GET["obj_id"], IL_LAST_NODE);
208 }
209
213 function updateItem()
214 {
215 if (!$this->checkPermissionBool("write"))
216 {
217 return;
218 }
219
220 $this->node_object->setTitle($this->form->getInput("title"));
221 $this->node_object->setOrderNr($this->form->getInput("order_nr"));
222 $this->node_object->setSelfEvaluation($_POST["self_eval"]);
223 $this->node_object->update();
224 }
225
229 function afterSave()
230 {
231 $this->redirectToParent(true);
232 }
233
237 function showUsage()
238 {
239 global $tpl;
240
241 // (a) referenced skill template category in main tree
242 if ($this->tref_id > 0)
243 {
244 return parent::showUsage();
245 }
246
247 // (b) skill template category in templates view
248
249 $this->setTabs("usage");
250
251 include_once("./Services/Skill/classes/class.ilSkillUsage.php");
252 $usage_info = new ilSkillUsage();
253 $usages = $usage_info->getAllUsagesOfTemplate((int) $_GET["obj_id"]);
254
255 $html = "";
256 include_once("./Services/Skill/classes/class.ilSkillUsageTableGUI.php");
257 foreach ($usages as $k => $usage)
258 {
259 $tab = new ilSkillUsageTableGUI($this, "showUsage", $k, $usage);
260 $html.= $tab->getHTML()."<br/><br/>";
261 }
262
263 $tpl->setContent($html);
264 }
265
266
267}
268
269?>
global $tpl
Definition: ilias.php:8
$_GET["client_id"]
$_POST["username"]
An exception for terminatinating execution or to throw for unit testing.
const IL_LAST_NODE
Definition: class.ilTree.php:4
Skill template category GUI class.
__construct($a_node_id=0, $a_tref_id)
Constructor.
static addCreationButtons()
Add creation buttons.
Basic GUI class for skill tree nodes.
redirectToParent($a_tmp_mode=false)
Redirect to parent (identified by current obj_id)
setSkillNodeDescription()
Set skill node description.
addUsageTab($a_tabs)
Add usage tab.
checkPermissionBool($a_perm)
Check permission pool.
static putInTree($a_obj, $a_parent_id="", $a_target_node_id="")
Put this object into the skill tree.
TableGUI class for skill usages.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
$html
Definition: example_001.php:87
global $ilCtrl
Definition: ilias.php:18
$ret
Definition: parser.php:6
global $lng
Definition: privfeed.php:17
$cmd
Definition: sahs_server.php:35
$ilUser
Definition: imgupload.php:18