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 
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, $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());
100  $this->setSkillNodeDescription();
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  {
125  self::addCreationButtons();
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 ?>
redirectToParent($a_tmp_mode=false)
Redirect to parent (identified by current obj_id)
addUsageTab($a_tabs)
Add usage tab.
__construct($a_node_id=0, $a_tref_id)
Constructor.
setSkillNodeDescription()
Set skill node description.
$_GET["client_id"]
static putInTree($a_obj, $a_parent_id="", $a_target_node_id="")
Put this object into the skill tree.
$cmd
Definition: sahs_server.php:35
global $tpl
Definition: ilias.php:8
checkPermissionBool($a_perm)
Check permission pool.
global $ilCtrl
Definition: ilias.php:18
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
Basic GUI class for skill tree nodes.
$ilUser
Definition: imgupload.php:18
TableGUI class for skill usages.
Skill template category GUI class.
const IL_LAST_NODE
Definition: class.ilTree.php:4
static addCreationButtons()
Add creation buttons.
global $lng
Definition: privfeed.php:17
$ret
Definition: parser.php:6
Skill usage.
$_POST["username"]
$html
Definition: example_001.php:87