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);
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')
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");
saveLevelTrigger()
Save level trigger.
redirectToParent($a_tmp_mode=false)
Redirect to parent (identified by current obj_id)
addUsageTab($a_tabs)
Add usage tab.
Collection of basic placeholder values that can be used.
setValue($a_value)
Set Value.
Explorer for selecting repository items.
setSkillNodeDescription()
Set skill node description.
setLocator()
Set Locator Items.
editProperties()
Edit properties.
static putInTree($a_obj, $a_parent_id="", $a_target_node_id="")
Put this object into the skill tree.
static _isInTrash($a_ref_id)
checks wether object is in trash
setTabs($a_tab="levels")
Set header for skill.
saveResourceSettings()
Save resource settings.
removeLevelTrigger()
Remove trigger.
static _lookupTitle($a_id)
lookup object title
static lookupLevelTitle(int $a_id)
saveLevelResource()
Save level resource.
static _lookupType($a_obj_id)
Lookup Type.
checkPermissionBool($a_perm)
Check permission pool.
removeLevelResources()
Remove level resource.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
__construct($a_node_id=0)
Constructor.
executeCommand()
Execute command.
Basic GUI class for skill tree nodes.
confirmLevelDeletion()
Confirm level deletion.
static _lookupObjId($a_id)
Manages resources for skills.
confirmLevelResourcesRemoval()
Confirm level resources removal.
setCols($a_cols)
Set Cols.
GUI class to create PDF certificates.
editLevelTrigger()
Edit level trigger.
TableGUI class for skill level resources.
static _lookupType($a_id, $a_reference=false)
lookup object type
static stripSlashesArray($a_arr, $a_strip_html=true, $a_allow="")
Strip slashes from array.
showProperties()
Show properties.
saveLevel()
Save level form.
updateLevel()
Update level form.
setLevelHead()
Set header for level.
This class represents a non editable value in a property form.
setRows($a_rows)
Set Rows.
initForm($a_mode="edit")
Init form.
__construct(Container $dic, ilPlugin $plugin)
This class represents a text area property in a property form.
updateLevelOrder()
Update level order.
Collection of basic placeholder values that can be used.
getLevelValues()
Get current values for level from.
initLevelForm($a_mode="edit")
Init level form.
showLevelResources()
Show level resources.
selectLevelTrigger()
Select skill level trigger.
addLevelResource()
Add level resource.
addStatusInput(ilPropertyFormGUI $a_form)
Add status input.
setExpand($a_node_id)
set the expand option this value is stored in a SESSION variable to save it different view (lo view...
deleteLevel()
Delete levels.
Confirmation screen class.