59 $this->ctrl =
$DIC->ctrl();
60 $this->tpl =
$DIC[
"tpl"];
61 $this->tabs =
$DIC->tabs();
62 $this->
help = $DIC[
"ilHelp"];
63 $this->toolbar =
$DIC->toolbar();
64 $this->lng =
$DIC->language();
65 $this->tree =
$DIC->repositoryTree();
66 $ilCtrl =
$DIC->ctrl();
68 $ilCtrl->saveParameter($this, array(
"obj_id",
"level_id"));
69 $this->base_skill_id = $a_node_id;
92 $next_class = $ilCtrl->getNextClass($this);
93 $cmd = $ilCtrl->getCmd();
94 switch ($next_class) {
95 case "ilcertificategui":
97 $ilTabs->activateTab(
"level_certificate");
99 $skillLevelId = (int)
$_GET[
"level_id"];
102 new ilSkillCertificateAdapter($this->node_object, $skillLevelId),
105 $this->node_object->getId(),
106 ilCertificatePathConstants::SKILL_PATH . $this->node_object->getId() .
'/' . $skillLevelId
109 $ret = $ilCtrl->forwardCommand($output_gui);
113 $ret = $this->$cmd();
128 $tpl->setContent(
"Properties");
143 $it->setTitle($this->form->getInput(
"title"));
144 $it->setDescription($this->form->getInput(
"description"));
145 $it->setOrderNr(
$tree->getMaxOrderNr((
int)
$_GET[
"obj_id"]) + 10);
146 $it->setStatus($this->form->getInput(
"status"));
147 $it->setSelfEvaluation(
$_POST[
"self_eval"]);
150 $this->node_object = $it;
160 $ilCtrl->setParameterByClass(
163 $this->node_object->getId()
165 $ilCtrl->redirectByClass(
"ilbasicskillgui",
"edit");
177 $this->node_object->setTitle($this->form->getInput(
"title"));
178 $this->node_object->setDescription($this->form->getInput(
"description"));
179 $this->node_object->setSelfEvaluation(
$_POST[
"self_eval"]);
180 $this->node_object->setStatus(
$_POST[
"status"]);
181 $this->node_object->update();
200 $ilToolbar->addButton(
201 $lng->txt(
"skmg_add_level"),
202 $ilCtrl->getLinkTarget($this,
"addLevel")
208 $tpl->setContent($table->getHTML());
225 $ti->setMaxLength(200);
227 $ti->setRequired(
true);
228 $this->form->addItem($ti);
233 $this->form->addItem($ta);
240 $cb->setInfo(
$lng->txt(
"skmg_selectable_info"));
241 $this->form->addItem($cb);
245 if ($a_mode ==
"create") {
246 $this->form->addCommandButton(
"save",
$lng->txt(
"save"));
247 $this->form->addCommandButton(
"cancelSave",
$lng->txt(
"cancel"));
248 $this->form->setTitle(
$lng->txt(
"skmg_create_skll"));
250 $this->form->addCommandButton(
"update",
$lng->txt(
"save"));
251 $this->form->setTitle(
$lng->txt(
"skmg_edit_skll"));
255 $ilCtrl->setParameter($this,
"obj_id",
$_GET[
"obj_id"]);
256 $this->form->setFormAction($ilCtrl->getFormAction($this));
265 parent::editProperties();
283 $tpl->setContent($this->form->getHTML());
300 $tpl->setContent($this->form->getHTML());
317 if ($this->form->checkInput()) {
319 $this->node_object->addLevel(
320 $this->form->getInput(
"title"),
321 $this->form->getInput(
"description")
324 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
325 $ilCtrl->redirect($this,
"edit");
328 $this->form->setValuesByPost();
329 $tpl->setContent($this->form->getHtml());
346 if ($this->form->checkInput()) {
347 $this->node_object->writeLevelTitle(
348 (
int)
$_GET[
"level_id"],
349 $this->form->getInput(
"title")
351 $this->node_object->writeLevelDescription(
352 (
int)
$_GET[
"level_id"],
353 $this->form->getInput(
"description")
356 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
357 $ilCtrl->redirect($this,
"edit");
360 $this->form->setValuesByPost();
361 $tpl->setContent($this->form->getHtml());
375 $ilCtrl->saveParameter($this,
"level_id");
377 $ilTabs->activateTab(
"level_settings");
383 $ti->setMaxLength(200);
384 $ti->setRequired(
true);
385 $this->form->addItem($ti);
391 $this->form->addItem($ta);
395 if ($a_mode ==
"create") {
396 $this->form->addCommandButton(
"saveLevel",
$lng->txt(
"save"));
397 $this->form->addCommandButton(
"edit",
$lng->txt(
"cancel"));
398 $this->form->setTitle(
$lng->txt(
"skmg_new_level"));
400 $this->form->addCommandButton(
"updateLevel",
$lng->txt(
"save"));
401 $this->form->addCommandButton(
"edit",
$lng->txt(
"cancel"));
402 $this->form->setTitle(
$lng->txt(
"skmg_edit_level"));
406 $this->form->setFormAction($ilCtrl->getFormAction($this));
416 $data = $this->node_object->getLevelData((
int)
$_GET[
"level_id"]);
417 $values[
"title"] =
$data[
"title"];
418 $values[
"description"] =
$data[
"description"];
419 $this->form->setValuesByArray($values);
435 $this->node_object->updateLevelOrder($order);
436 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
437 $ilCtrl->redirect($this,
"edit");
455 if (!is_array(
$_POST[
"id"]) || count(
$_POST[
"id"]) == 0) {
457 $ilCtrl->redirect($this,
"edit");
460 $cgui->setFormAction($ilCtrl->getFormAction($this));
461 $cgui->setHeaderText(
$lng->txt(
"skmg_really_delete_levels"));
462 $cgui->setCancel(
$lng->txt(
"cancel"),
"edit");
463 $cgui->setConfirm(
$lng->txt(
"delete"),
"deleteLevel");
469 $tpl->setContent($cgui->getHTML());
485 if (is_array(
$_POST[
"id"])) {
486 foreach (
$_POST[
"id"] as $id) {
487 $this->node_object->deleteLevel((
int) $id);
489 $this->node_object->fixLevelNumbering();
491 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
492 $ilCtrl->redirect($this,
"edit");
507 $ilTabs->clearTargets();
508 $ilHelp->setScreenIdComponent(
"skmg_lev");
510 $ilTabs->setBackTarget(
512 $ilCtrl->getLinkTarget($this,
"edit")
515 if (
$_GET[
"level_id"] > 0) {
518 $lng->txt(
"settings"),
519 $ilCtrl->getLinkTarget($this,
"editLevel")
528 $lng->txt(
"skmg_resources"),
529 $ilCtrl->getLinkTarget($this,
"showLevelResources")
538 if (
$_GET[
"level_id"] > 0) {
539 $tpl->setTitle(
$lng->txt(
"skmg_skill_level") .
": " .
542 $tpl->setTitle(
$lng->txt(
"skmg_skill_level"));
546 $path =
$tree->getPathFull($this->node_object->getId());
548 foreach ($path as $p) {
549 if (in_array($p[
"type"], array(
"scat",
"skll"))) {
550 $desc .= $sep . $p[
"title"];
554 $tpl->setDescription($desc);
570 $ilTabs->clearTargets();
571 $ilHelp->setScreenIdComponent(
"skmg_skll");
575 if (is_object($this->node_object)) {
580 $lng->txt(
"skmg_skill_levels"),
581 $ilCtrl->getLinkTarget($this,
'edit')
587 $lng->txt(
"settings"),
588 $ilCtrl->getLinkTarget($this,
'editProperties')
597 $ilCtrl->setParameterByClass(
600 $this->node_object->skill_tree->getRootId()
602 $ilTabs->setBackTarget(
603 $lng->txt(
"obj_skmg"),
604 $ilCtrl->getLinkTargetByClass(
"ilskillrootgui",
"listSkills")
606 $ilCtrl->setParameterByClass(
612 $ilTabs->activateTab($a_tab);
614 $tpl->setTitle(
$lng->txt(
"skmg_skill") .
": " .
615 $this->node_object->getTitle());
619 $tpl->setTitle(
$lng->txt(
"skmg_skill"));
620 $tpl->setDescription(
"");
622 parent::setTitleIcon();
636 $ilTabs->activateTab(
"level_trigger");
638 $trigger = ilBasicSkill::lookupLevelTrigger((
int)
$_GET[
"level_id"]);
648 if ($trigger[
"obj_id"] > 0) {
651 $ne->setValue(
$lng->txt(
"skmg_no_trigger"));
653 $this->form->addItem($ne);
655 if ($trigger[
"obj_id"] > 0) {
656 $this->form->addCommandButton(
"removeLevelTrigger",
$lng->txt(
"skmg_remove_trigger"));
658 $this->form->addCommandButton(
"selectLevelTrigger",
$lng->txt(
"skmg_select_trigger"));
660 $this->form->setTitle(
$lng->txt(
"skmg_skill_level_trigger"));
661 $this->form->setFormAction($ilCtrl->getFormAction($this));
663 $tpl->setContent($this->form->getHTML());
682 $ilTabs->activateTab(
"level_trigger");
685 $ilCtrl->getLinkTarget($this,
'showRepositorySelection')
687 $exp->setExpand(
$_GET[
"search_root_expand"] ?
$_GET[
"search_root_expand"] :
$tree->readRootId());
688 $exp->setExpandTarget($ilCtrl->getLinkTarget($this,
'selectLevelTrigger'));
689 $exp->setTargetClass(get_class($this));
690 $exp->setCmd(
'saveLevelTrigger');
691 $exp->setClickableTypes(array(
"crs"));
695 $tpl->setContent($exp->getOutput());
709 ilBasicSkill::writeLevelTrigger((
int)
$_GET[
"level_id"], (
int)
$_GET[
"root_id"]);
710 $ilCtrl->redirect($this,
"editLevelTrigger");
720 ilBasicSkill::writeLevelTrigger((
int)
$_GET[
"level_id"], 0);
721 $ilCtrl->redirect($this,
"editLevelTrigger");
735 $ilCtrl->setParameterByClass(
"ilskillrootgui",
"obj_id", (
int)
$_GET[
"obj_id"]);
736 $ilCtrl->redirectByClass(
"ilskillrootgui",
"listSkills");
740 parent::redirectToParent();
760 $ilToolbar->addButton(
761 $lng->txt(
"skmg_add_resource"),
762 $ilCtrl->getLinkTarget($this,
"addLevelResource")
767 $ilTabs->activateTab(
"level_resources");
771 "showLevelResources",
772 $this->base_skill_id,
774 (
int)
$_GET[
"level_id"],
778 $tpl->setContent($tab->getHTML());
790 $ilTabs->activateTab(
"level_resources");
799 if (!$exp->handleCommand()) {
800 $tpl->setContent($exp->getHTML());
820 $sres->setResourceAsImparting((
int)
$_GET[
"level_id"],
$ref_id);
823 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
826 $ilCtrl->redirect($this,
"showLevelResources");
844 $ilTabs->activateTab(
"level_resources");
846 if (!is_array(
$_POST[
"id"]) || count(
$_POST[
"id"]) == 0) {
848 $ilCtrl->redirect($this,
"showLevelResources");
851 $cgui->setFormAction($ilCtrl->getFormAction($this));
852 $cgui->setHeaderText(
$lng->txt(
"skmg_confirm_level_resources_removal"));
853 $cgui->setCancel(
$lng->txt(
"cancel"),
"showLevelResources");
854 $cgui->setConfirm(
$lng->txt(
"remove"),
"removeLevelResources");
858 $cgui->addItem(
"id[]",
$i, $title);
861 $tpl->setContent($cgui->getHTML());
877 if (is_array(
$_POST[
"id"])) {
880 $sres->setResourceAsImparting((
int)
$_GET[
"level_id"],
$i,
false);
881 $sres->setResourceAsTrigger((
int)
$_GET[
"level_id"],
$i,
false);
884 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
887 $ilCtrl->redirect($this,
"showLevelResources");
902 foreach ($resources->getResourcesOfLevel((
int)
$_GET[
"level_id"]) as $r) {
904 if (is_array(
$_POST[
"suggested"]) && isset(
$_POST[
"suggested"][$r[
"rep_ref_id"]]) &&
$_POST[
"suggested"][$r[
"rep_ref_id"]]) {
908 if (is_array(
$_POST[
"trigger"]) && isset(
$_POST[
"trigger"][$r[
"rep_ref_id"]]) &&
$_POST[
"trigger"][$r[
"rep_ref_id"]]) {
911 $resources->setResourceAsImparting((
int)
$_GET[
"level_id"], $r[
"rep_ref_id"], $imparting);
912 $resources->setResourceAsTrigger((
int)
$_GET[
"level_id"], $r[
"rep_ref_id"], $trigger);
916 $ilCtrl->redirect($this,
"showLevelResources");
An exception for terminatinating execution or to throw for unit testing.
removeLevelTrigger()
Remove trigger.
saveResourceSettings()
Save resource settings.
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.
saveLevelTrigger()
Save level trigger.
editProperties()
Edit properties.
showLevelResources()
Show level resources.
editLevelTrigger()
Edit level trigger.
__construct($a_node_id=0)
Constructor.
static lookupLevelTitle(int $a_id)
GUI class to create PDF certificates.
Confirmation screen class.
Collection of basic placeholder values that can be used.
Collection of basic placeholder values that can be used.
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.
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 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.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc