5 include_once(
"./Services/Skill/classes/class.ilSkillTreeNodeGUI.php");
6 include_once(
"./Services/Skill/classes/class.ilBasicSkill.php");
65 $this->ctrl = $DIC->ctrl();
66 $this->tpl = $DIC[
"tpl"];
67 $this->tabs = $DIC->tabs();
68 $this->help = $DIC[
"ilHelp"];
69 $this->toolbar = $DIC->toolbar();
70 $this->lng = $DIC->language();
71 $this->tree = $DIC->repositoryTree();
74 $ilCtrl->saveParameter($this,
array(
"obj_id",
"level_id"));
75 $this->base_skill_id = $a_node_id;
77 parent::__construct($a_node_id);
98 $next_class =
$ilCtrl->getNextClass($this);
100 switch ($next_class) {
101 case "ilcertificategui":
103 $ilTabs->activateTab(
"level_certificate");
104 include_once
"./Services/Certificate/classes/class.ilCertificateGUI.php";
105 include_once(
"./Services/Skill/classes/class.ilSkillCertificateAdapter.php");
113 $ret = $this->$cmd();
128 $tpl->setContent(
"Properties");
141 $it->setTitle($this->form->getInput(
"title"));
142 $it->setOrderNr($this->form->getInput(
"order_nr"));
143 $it->setStatus($this->form->getInput(
"status"));
144 $it->setSelfEvaluation(
$_POST[
"self_eval"]);
147 $this->node_object = $it;
160 $this->node_object->getId()
162 $ilCtrl->redirectByClass(
"ilbasicskillgui",
"edit");
174 $this->node_object->setTitle($this->form->getInput(
"title"));
175 $this->node_object->setOrderNr($this->form->getInput(
"order_nr"));
176 $this->node_object->setSelfEvaluation(
$_POST[
"self_eval"]);
177 $this->node_object->setStatus(
$_POST[
"status"]);
178 $this->node_object->update();
197 $ilToolbar->addButton(
198 $lng->txt(
"skmg_add_level"),
199 $ilCtrl->getLinkTarget($this,
"addLevel")
204 include_once(
"./Services/Skill/classes/class.ilSkillLevelTableGUI.php");
219 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
226 $ti->setRequired(
true);
227 $this->form->addItem($ti);
232 $ni->setMaxLength(6);
234 $ni->setRequired(
true);
235 if ($a_mode ==
"create") {
236 include_once(
"./Services/Skill/classes/class.ilSkillTree.php");
238 $max =
$tree->getMaxOrderNr((
int)
$_GET[
"obj_id"]);
239 $ni->setValue($max + 10);
241 $this->form->addItem($ni);
249 $this->form->addItem($cb);
253 if ($a_mode ==
"create") {
254 $this->form->addCommandButton(
"save",
$lng->txt(
"save"));
255 $this->form->addCommandButton(
"cancelSave",
$lng->txt(
"cancel"));
256 $this->form->setTitle(
$lng->txt(
"skmg_create_skll"));
258 $this->form->addCommandButton(
"update",
$lng->txt(
"save"));
259 $this->form->setTitle(
$lng->txt(
"skmg_edit_skll"));
263 $ilCtrl->setParameter($this,
"obj_id",
$_GET[
"obj_id"]);
264 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
273 parent::editProperties();
291 $tpl->setContent($this->form->getHTML());
308 $tpl->setContent($this->form->getHTML());
325 if ($this->form->checkInput()) {
327 $this->node_object->addLevel(
328 $this->form->getInput(
"title"),
329 $this->form->getInput(
"description")
333 $ilCtrl->redirect($this,
"edit");
336 $this->form->setValuesByPost();
337 $tpl->setContent($this->form->getHtml());
354 if ($this->form->checkInput()) {
355 $this->node_object->writeLevelTitle(
356 (
int)
$_GET[
"level_id"],
357 $this->form->getInput(
"title")
359 $this->node_object->writeLevelDescription(
360 (
int) $_GET[
"level_id"],
361 $this->form->getInput(
"description")
365 $ilCtrl->redirect($this,
"edit");
368 $this->form->setValuesByPost();
369 $tpl->setContent($this->form->getHtml());
383 $ilCtrl->saveParameter($this,
"level_id");
385 $ilTabs->activateTab(
"level_settings");
387 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
393 $ti->setRequired(
true);
394 $this->form->addItem($ti);
400 $this->form->addItem($ta);
404 if ($a_mode ==
"create") {
405 $this->form->addCommandButton(
"saveLevel",
$lng->txt(
"save"));
406 $this->form->addCommandButton(
"edit",
$lng->txt(
"cancel"));
407 $this->form->setTitle(
$lng->txt(
"skmg_new_level"));
409 $this->form->addCommandButton(
"updateLevel",
$lng->txt(
"save"));
410 $this->form->addCommandButton(
"edit",
$lng->txt(
"cancel"));
411 $this->form->setTitle(
$lng->txt(
"skmg_edit_level"));
415 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
425 $data = $this->node_object->getLevelData((
int)
$_GET[
"level_id"]);
426 $values[
"title"] =
$data[
"title"];
427 $values[
"description"] =
$data[
"description"];
428 $this->form->setValuesByArray($values);
444 $this->node_object->updateLevelOrder($order);
446 $ilCtrl->redirect($this,
"edit");
464 if (!is_array(
$_POST[
"id"]) || count(
$_POST[
"id"]) == 0) {
466 $ilCtrl->redirect($this,
"edit");
468 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
470 $cgui->setFormAction(
$ilCtrl->getFormAction($this));
471 $cgui->setHeaderText(
$lng->txt(
"skmg_really_delete_levels"));
472 $cgui->setCancel(
$lng->txt(
"cancel"),
"edit");
473 $cgui->setConfirm(
$lng->txt(
"delete"),
"deleteLevel");
479 $tpl->setContent($cgui->getHTML());
495 if (is_array(
$_POST[
"id"])) {
497 $this->node_object->deleteLevel((
int) $id);
499 $this->node_object->fixLevelNumbering();
502 $ilCtrl->redirect($this,
"edit");
517 $ilTabs->clearTargets();
518 $ilHelp->setScreenIdComponent(
"skmg_lev");
520 $ilTabs->setBackTarget(
522 $ilCtrl->getLinkTarget($this,
"edit")
525 if (
$_GET[
"level_id"] > 0) {
528 $lng->txt(
"settings"),
529 $ilCtrl->getLinkTarget($this,
"editLevel")
538 $lng->txt(
"skmg_resources"),
539 $ilCtrl->getLinkTarget($this,
"showLevelResources")
548 if (
$_GET[
"level_id"] > 0) {
549 $tpl->setTitle(
$lng->txt(
"skmg_skill_level") .
": " .
552 $tpl->setTitle(
$lng->txt(
"skmg_skill_level"));
555 include_once(
"./Services/Skill/classes/class.ilSkillTree.php");
557 $path =
$tree->getPathFull($this->node_object->getId());
559 foreach (
$path as $p) {
560 if (in_array($p[
"type"],
array(
"scat",
"skll"))) {
561 $desc.= $sep . $p[
"title"];
565 $tpl->setDescription($desc);
581 $ilTabs->clearTargets();
582 $ilHelp->setScreenIdComponent(
"skmg_skll");
586 if (is_object($this->node_object)) {
591 $lng->txt(
"skmg_skill_levels"),
592 $ilCtrl->getLinkTarget($this,
'edit')
598 $lng->txt(
"settings"),
599 $ilCtrl->getLinkTarget($this,
'editProperties')
608 $this->node_object->skill_tree->getRootId()
610 $ilTabs->setBackTarget(
611 $lng->txt(
"obj_skmg"),
612 $ilCtrl->getLinkTargetByClass(
"ilskillrootgui",
"listSkills")
620 $ilTabs->activateTab($a_tab);
622 $tpl->setTitle(
$lng->txt(
"skmg_skill") .
": " .
623 $this->node_object->getTitle());
627 $tpl->setTitle(
$lng->txt(
"skmg_skill"));
628 $tpl->setDescription(
"");
630 parent::setTitleIcon();
644 $ilTabs->activateTab(
"level_trigger");
646 $trigger = ilBasicSkill::lookupLevelTrigger((
int)
$_GET[
"level_id"]);
652 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
657 if ($trigger[
"obj_id"] > 0) {
660 $ne->setValue(
$lng->txt(
"skmg_no_trigger"));
662 $this->form->addItem($ne);
664 if ($trigger[
"obj_id"] > 0) {
665 $this->form->addCommandButton(
"removeLevelTrigger",
$lng->txt(
"skmg_remove_trigger"));
667 $this->form->addCommandButton(
"selectLevelTrigger",
$lng->txt(
"skmg_select_trigger"));
669 $this->form->setTitle(
$lng->txt(
"skmg_skill_level_trigger"));
670 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
672 $tpl->setContent($this->form->getHTML());
691 $ilTabs->activateTab(
"level_trigger");
693 include_once
'Services/Search/classes/class.ilSearchRootSelector.php';
695 $ilCtrl->getLinkTarget($this,
'showRepositorySelection')
698 $exp->setExpandTarget(
$ilCtrl->getLinkTarget($this,
'selectLevelTrigger'));
699 $exp->setTargetClass(get_class($this));
700 $exp->setCmd(
'saveLevelTrigger');
701 $exp->setClickableTypes(
array(
"crs"));
705 $tpl->setContent($exp->getOutput());
719 ilBasicSkill::writeLevelTrigger((
int)
$_GET[
"level_id"], (
int) $_GET[
"root_id"]);
720 $ilCtrl->redirect($this,
"editLevelTrigger");
730 ilBasicSkill::writeLevelTrigger((
int)
$_GET[
"level_id"], 0);
731 $ilCtrl->redirect($this,
"editLevelTrigger");
745 $ilCtrl->setParameterByClass(
"ilskillrootgui",
"obj_id", (
int) $_GET[
"obj_id"]);
746 $ilCtrl->redirectByClass(
"ilskillrootgui",
"listSkills");
750 parent::redirectToParent();
770 $ilToolbar->addButton(
771 $lng->txt(
"skmg_add_resource"),
772 $ilCtrl->getLinkTarget($this,
"addLevelResource")
777 $ilTabs->activateTab(
"level_resources");
779 include_once(
"./Services/Skill/classes/class.ilSkillLevelResourcesTableGUI.php");
782 "showLevelResources",
783 $this->base_skill_id,
785 (
int)
$_GET[
"level_id"],
804 $ilTabs->activateTab(
"level_resources");
806 include_once(
"./Services/Repository/classes/class.ilRepositorySelectorExplorerGUI.php");
814 if (!$exp->handleCommand()) {
815 $tpl->setContent($exp->getHTML());
834 include_once(
"./Services/Skill/classes/class.ilSkillResources.php");
836 $sres->setResourceAsImparting((
int)
$_GET[
"level_id"],
$ref_id);
842 $ilCtrl->redirect($this,
"showLevelResources");
860 $ilTabs->activateTab(
"level_resources");
862 if (!is_array(
$_POST[
"id"]) || count(
$_POST[
"id"]) == 0) {
864 $ilCtrl->redirect($this,
"showLevelResources");
866 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
868 $cgui->setFormAction(
$ilCtrl->getFormAction($this));
869 $cgui->setHeaderText(
$lng->txt(
"skmg_confirm_level_resources_removal"));
870 $cgui->setCancel(
$lng->txt(
"cancel"),
"showLevelResources");
871 $cgui->setConfirm(
$lng->txt(
"remove"),
"removeLevelResources");
875 $cgui->addItem(
"id[]", $i,
$title);
878 $tpl->setContent($cgui->getHTML());
894 if (is_array(
$_POST[
"id"])) {
895 include_once(
"./Services/Skill/classes/class.ilSkillResources.php");
898 $sres->setResourceAsImparting((
int)
$_GET[
"level_id"], $i,
false);
904 $ilCtrl->redirect($this,
"showLevelResources");
917 include_once(
"./Services/Skill/classes/class.ilSkillResources.php");
920 foreach ($resources->getResourcesOfLevel((
int)
$_GET[
"level_id"]) as
$r) {
922 if (is_array(
$_POST[
"suggested"]) && isset(
$_POST[
"suggested"][
$r[
"rep_ref_id"]]) &&
$_POST[
"suggested"][$r[
"rep_ref_id"]]) {
926 if (is_array(
$_POST[
"trigger"]) && isset(
$_POST[
"trigger"][$r[
"rep_ref_id"]]) &&
$_POST[
"trigger"][$r[
"rep_ref_id"]]) {
929 $resources->setResourceAsImparting((
int) $_GET[
"level_id"], $r[
"rep_ref_id"], $imparting);
930 $resources->setResourceAsTrigger((
int) $_GET[
"level_id"], $r[
"rep_ref_id"], $trigger);
934 $ilCtrl->redirect($this,
"showLevelResources");
saveLevelTrigger()
Save level trigger.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
redirectToParent($a_tmp_mode=false)
Redirect to parent (identified by current obj_id)
addUsageTab($a_tabs)
Add usage tab.
setValue($a_value)
Set Value.
Explorer for selecting repository items.
setSkillNodeDescription()
Set skill node description.
static lookupLevelTitle($a_id)
Lookup level title.
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.
if(!array_key_exists('StateId', $_REQUEST)) $id
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
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.
This class represents a text property in a property form.
setCols($a_cols)
Set Cols.
GUI class to create PDF certificates.
editLevelTrigger()
Edit level trigger.
TableGUI class for skill level resources.
setMaxLength($a_maxlength)
Set Max Length.
Create styles array
The data for the language used.
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.
Skill certificate adapter.
initForm($a_mode="edit")
Init form.
This class represents a text area property in a property form.
updateLevelOrder()
Update level order.
getLevelValues()
Get current values for level from.
initLevelForm($a_mode="edit")
Init level form.
if(empty($password)) $table
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.