5include_once(
"./Services/Skill/classes/class.ilSkillTreeNodeGUI.php");
6include_once(
"./Services/Skill/classes/class.ilBasicSkill.php");
30 $ilCtrl->saveParameter($this, array(
"obj_id",
"level_id"));
31 $this->base_skill_id = $a_node_id;
33 parent::__construct($a_node_id);
53 $next_class =
$ilCtrl->getNextClass($this);
57 case "ilcertificategui":
59 $ilTabs->activateTab(
"level_certificate");
60 include_once
"./Services/Certificate/classes/class.ilCertificateGUI.php";
61 include_once(
"./Services/Skill/classes/class.ilSkillCertificateAdapter.php");
83 $tpl->setContent(
"Properties");
110 $it->setTitle($this->form->getInput(
"title"));
111 $it->setOrderNr($this->form->getInput(
"order_nr"));
112 $it->setStatus($this->form->getInput(
"status"));
113 $it->setSelfEvaluation(
$_POST[
"self_eval"]);
116 $this->node_object = $it;
126 $ilCtrl->setParameterByClass(
"ilbasicskillgui",
"obj_id",
127 $this->node_object->getId());
128 $ilCtrl->redirectByClass(
"ilbasicskillgui",
"edit");
141 $this->node_object->setTitle($this->form->getInput(
"title"));
142 $this->node_object->setOrderNr($this->form->getInput(
"order_nr"));
143 $this->node_object->setSelfEvaluation(
$_POST[
"self_eval"]);
144 $this->node_object->setStatus(
$_POST[
"status"]);
145 $this->node_object->update();
165 $ilToolbar->addButton(
$lng->txt(
"skmg_add_level"),
166 $ilCtrl->getLinkTarget($this,
"addLevel"));
170 include_once(
"./Services/Skill/classes/class.ilSkillLevelTableGUI.php");
172 $tpl->setContent($table->getHTML());
184 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
189 $ti->setMaxLength(200);
191 $ti->setRequired(
true);
192 $this->form->addItem($ti);
196 $ni->setMaxLength(6);
198 $ni->setRequired(
true);
199 $this->form->addItem($ni);
206 $cb->setInfo(
$lng->txt(
"skmg_selectable_info"));
207 $this->form->addItem($cb);
212 if ($a_mode ==
"create")
214 $this->form->addCommandButton(
"save",
$lng->txt(
"save"));
215 $this->form->addCommandButton(
"cancelSave",
$lng->txt(
"cancel"));
216 $this->form->setTitle(
$lng->txt(
"skmg_create_skll"));
219 $this->form->addCommandButton(
"update",
$lng->txt(
"save"));
220 $this->form->setTitle(
$lng->txt(
"skmg_edit_skll"));
224 $ilCtrl->setParameter($this,
"obj_id",
$_GET[
"obj_id"]);
225 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
234 parent::editProperties();
252 $tpl->setContent($this->form->getHTML());
269 $tpl->setContent($this->form->getHTML());
285 if ($this->form->checkInput())
288 $this->node_object->addLevel(
289 $this->form->getInput(
"title"),
290 $this->form->getInput(
"description"));
293 $ilCtrl->redirect($this,
"edit");
296 $this->form->setValuesByPost();
297 $tpl->setContent($this->form->getHtml());
313 if ($this->form->checkInput())
315 $this->node_object->writeLevelTitle(
316 (
int)
$_GET[
"level_id"],
317 $this->form->getInput(
"title"));
318 $this->node_object->writeLevelDescription(
319 (
int)
$_GET[
"level_id"],
320 $this->form->getInput(
"description"));
323 $ilCtrl->redirect($this,
"edit");
326 $this->form->setValuesByPost();
327 $tpl->setContent($this->form->getHtml());
339 $ilCtrl->saveParameter($this,
"level_id");
341 $ilTabs->activateTab(
"level_settings");
343 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
348 $ti->setMaxLength(200);
349 $ti->setRequired(
true);
350 $this->form->addItem($ti);
356 $this->form->addItem($ta);
361 if ($a_mode ==
"create")
363 $this->form->addCommandButton(
"saveLevel",
$lng->txt(
"save"));
364 $this->form->addCommandButton(
"edit",
$lng->txt(
"cancel"));
365 $this->form->setTitle(
$lng->txt(
"skmg_new_level"));
368 $this->form->addCommandButton(
"updateLevel",
$lng->txt(
"save"));
369 $this->form->addCommandButton(
"edit",
$lng->txt(
"cancel"));
370 $this->form->setTitle(
$lng->txt(
"skmg_edit_level"));
374 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
384 $data = $this->node_object->getLevelData((
int)
$_GET[
"level_id"]);
385 $values[
"title"] =
$data[
"title"];
386 $values[
"description"] =
$data[
"description"];
387 $this->form->setValuesByArray($values);
403 $this->node_object->updateLevelOrder($order);
405 $ilCtrl->redirect($this,
"edit");
422 if (!is_array(
$_POST[
"id"]) || count(
$_POST[
"id"]) == 0)
425 $ilCtrl->redirect($this,
"edit");
429 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
431 $cgui->setFormAction(
$ilCtrl->getFormAction($this));
432 $cgui->setHeaderText(
$lng->txt(
"skmg_really_delete_levels"));
433 $cgui->setCancel(
$lng->txt(
"cancel"),
"edit");
434 $cgui->setConfirm(
$lng->txt(
"delete"),
"deleteLevel");
436 foreach (
$_POST[
"id"] as $i)
441 $tpl->setContent($cgui->getHTML());
457 if (is_array(
$_POST[
"id"]))
459 foreach (
$_POST[
"id"] as $id)
461 $this->node_object->deleteLevel((
int) $id);
463 $this->node_object->fixLevelNumbering();
466 $ilCtrl->redirect($this,
"edit");
477 $ilTabs->clearTargets();
478 $ilHelp->setScreenIdComponent(
"skmg_lev");
480 $ilTabs->setBackTarget(
$lng->txt(
"back"),
481 $ilCtrl->getLinkTarget($this,
"edit"));
483 if (
$_GET[
"level_id"] > 0)
485 $ilTabs->addTab(
"level_settings",
486 $lng->txt(
"settings"),
487 $ilCtrl->getLinkTarget($this,
"editLevel"));
493 $ilTabs->addTab(
"level_resources",
494 $lng->txt(
"skmg_resources"),
495 $ilCtrl->getLinkTarget($this,
"showLevelResources"));
504 if (
$_GET[
"level_id"] > 0)
506 $tpl->setTitle(
$lng->txt(
"skmg_skill_level").
": ".
511 $tpl->setTitle(
$lng->txt(
"skmg_skill_level"));
514 include_once(
"./Services/Skill/classes/class.ilSkillTree.php");
516 $path = $tree->getPathFull($this->node_object->getId());
518 foreach (
$path as $p)
520 if (in_array($p[
"type"], array(
"scat",
"skll")))
522 $desc.= $sep.$p[
"title"];
526 $tpl->setDescription($desc);
538 $ilTabs->clearTargets();
539 $ilHelp->setScreenIdComponent(
"skmg_skll");
543 if (is_object($this->node_object))
547 $ilTabs->addTab(
"levels",
$lng->txt(
"skmg_skill_levels"),
548 $ilCtrl->getLinkTarget($this,
'edit'));
551 $ilTabs->addTab(
"properties",
$lng->txt(
"settings"),
552 $ilCtrl->getLinkTarget($this,
'editProperties'));
557 $ilCtrl->setParameterByClass(
"ilskillrootgui",
"obj_id",
558 $this->node_object->skill_tree->getRootId());
559 $ilTabs->setBackTarget(
$lng->txt(
"obj_skmg"),
560 $ilCtrl->getLinkTargetByClass(
"ilskillrootgui",
"listSkills"));
561 $ilCtrl->setParameterByClass(
"ilskillrootgui",
"obj_id",
564 $ilTabs->activateTab($a_tab);
566 $tpl->setTitle(
$lng->txt(
"skmg_skill").
": ".
567 $this->node_object->getTitle());
573 $tpl->setTitle(
$lng->txt(
"skmg_skill"));
574 $tpl->setDescription(
"");
576 parent::setTitleIcon();
587 $ilTabs->activateTab(
"level_trigger");
589 $trigger = ilBasicSkill::lookupLevelTrigger((
int)
$_GET[
"level_id"]);
596 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
601 if ($trigger[
"obj_id"] > 0)
607 $ne->setValue(
$lng->txt(
"skmg_no_trigger"));
609 $this->form->addItem($ne);
611 if ($trigger[
"obj_id"] > 0)
613 $this->form->addCommandButton(
"removeLevelTrigger",
$lng->txt(
"skmg_remove_trigger"));
615 $this->form->addCommandButton(
"selectLevelTrigger",
$lng->txt(
"skmg_select_trigger"));
617 $this->form->setTitle(
$lng->txt(
"skmg_skill_level_trigger"));
618 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
620 $tpl->setContent($this->form->getHTML());
636 $ilTabs->activateTab(
"level_trigger");
638 include_once
'Services/Search/classes/class.ilSearchRootSelector.php';
640 $ilCtrl->getLinkTarget($this,
'showRepositorySelection'));
641 $exp->setExpand(
$_GET[
"search_root_expand"] ?
$_GET[
"search_root_expand"] : $tree->readRootId());
642 $exp->setExpandTarget(
$ilCtrl->getLinkTarget($this,
'selectLevelTrigger'));
643 $exp->setTargetClass(get_class($this));
644 $exp->setCmd(
'saveLevelTrigger');
645 $exp->setClickableTypes(array(
"crs"));
649 $tpl->setContent($exp->getOutput());
665 ilBasicSkill::writeLevelTrigger((
int)
$_GET[
"level_id"], (
int)
$_GET[
"root_id"]);
666 $ilCtrl->redirect($this,
"editLevelTrigger");
676 ilBasicSkill::writeLevelTrigger((
int)
$_GET[
"level_id"], 0);
677 $ilCtrl->redirect($this,
"editLevelTrigger");
692 $ilCtrl->setParameterByClass(
"ilskillrootgui",
"obj_id", (
int)
$_GET[
"obj_id"]);
693 $ilCtrl->redirectByClass(
"ilskillrootgui",
"listSkills");
697 parent::redirectToParent();
714 $ilToolbar->addButton(
715 $lng->txt(
"skmg_add_resource"),
716 $ilCtrl->getLinkTarget($this,
"addLevelResource"));
720 $ilTabs->activateTab(
"level_resources");
722 include_once(
"./Services/Skill/classes/class.ilSkillLevelResourcesTableGUI.php");
724 $this->base_skill_id, $this->tref_id, (
int)
$_GET[
"level_id"]);
737 $ilTabs->activateTab(
"level_resources");
739 include_once(
"./Services/Repository/classes/class.ilRepositorySelectorExplorerGUI.php");
741 $this,
"saveLevelResource",
"root_id");
742 if (!$exp->handleCommand())
744 $tpl->setContent($exp->getHTML());
764 include_once(
"./Services/Skill/classes/class.ilSkillResources.php");
766 $sres->setResourceAsImparting((
int)
$_GET[
"level_id"],
$ref_id);
772 $ilCtrl->redirect($this,
"showLevelResources");
788 $ilTabs->activateTab(
"level_resources");
790 if (!is_array(
$_POST[
"id"]) || count(
$_POST[
"id"]) == 0)
793 $ilCtrl->redirect($this,
"showLevelResources");
797 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
799 $cgui->setFormAction(
$ilCtrl->getFormAction($this));
800 $cgui->setHeaderText(
$lng->txt(
"skmg_confirm_level_resources_removal"));
801 $cgui->setCancel(
$lng->txt(
"cancel"),
"showLevelResources");
802 $cgui->setConfirm(
$lng->txt(
"remove"),
"removeLevelResources");
804 foreach (
$_POST[
"id"] as $i)
807 $cgui->addItem(
"id[]", $i,
$title);
810 $tpl->setContent($cgui->getHTML());
826 if (is_array(
$_POST[
"id"]))
828 include_once(
"./Services/Skill/classes/class.ilSkillResources.php");
830 foreach (
$_POST[
"id"] as $i)
832 $sres->setResourceAsImparting((
int)
$_GET[
"level_id"], $i,
false);
838 $ilCtrl->redirect($this,
"showLevelResources");
An exception for terminatinating execution or to throw for unit testing.
removeLevelTrigger()
Remove trigger.
updateLevel()
Update level form.
confirmLevelDeletion()
Confirm level deletion.
selectLevelTrigger()
Select skill level trigger.
initLevelForm($a_mode="edit")
Init level form.
getLevelValues()
Get current values for level from.
initForm($a_mode="edit")
Init form.
removeLevelResources()
Remove level resource.
setLevelHead()
Set header for level.
setTabs($a_tab="levels")
Set header for skill.
confirmLevelResourcesRemoval()
Confirm level resources removal.
addLevelResource()
Add level resource.
executeCommand()
Execute command.
saveLevel()
Save level form.
saveLevelResource()
Save level resource.
deleteLevel()
Delete levels.
redirectToParent($a_tmp_mode=false)
Redirect to parent (identified by current obj_id)
showProperties()
Show properties.
updateLevelOrder()
Update level order.
proceedDragDrop()
Perform drag and drop action.
saveLevelTrigger()
Save level trigger.
editProperties()
Edit properties.
showLevelResources()
Show level resources.
editLevelTrigger()
Edit level trigger.
__construct($a_node_id=0)
Constructor.
static lookupLevelTitle($a_id)
Lookup level title.
GUI class to create PDF certificates.
Confirmation screen class.
This class represents a non editable value in a property form.
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
static _isInTrash($a_ref_id)
checks wether object is in trash
static _lookupType($a_id, $a_reference=false)
lookup object type
Explorer for selecting repository items.
Skill certificate adapter.
TableGUI class for skill level resources.
Manages resources for skills.
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.
setLocator()
Set Locator Items.
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 area property in a property form.
This class represents a text property in a property form.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static stripSlashesArray($a_arr, $a_strip_html=true, $a_allow="")
Strip slashes from array.