5include_once(
"./Services/Object/classes/class.ilObjectGUI.php");
27 public function __construct($a_data, $a_id, $a_call_by_reference =
true, $a_prepare_output =
true)
32 parent::ilObjectGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
34 $this->lng->loadLanguageModule(
'skmg');
36 include_once(
"./Services/Skill/classes/class.ilSkillTree.php");
39 $ilCtrl->saveParameter($this,
"obj_id");
50 global $rbacsystem,
$ilErr, $ilAccess, $ilTabs;
52 $next_class = $this->ctrl->getNextClass($this);
53 $cmd = $this->ctrl->getCmd();
57 if(!$ilAccess->checkAccess(
'read',
'',$this->object->getRefId()))
59 $ilErr->raiseError($this->lng->txt(
'no_permission'),
$ilErr->WARNING);
64 case 'ilskillrootgui':
65 include_once(
"./Services/Skill/classes/class.ilSkillRootGUI.php");
67 $skrt_gui->setParentGUI($this);
68 $ret = $this->ctrl->forwardCommand($skrt_gui);
71 case 'ilskillcategorygui':
72 $this->tabs_gui->activateTab(
"skills");
73 include_once(
"./Services/Skill/classes/class.ilSkillCategoryGUI.php");
75 $scat_gui->setParentGUI($this);
76 $this->
showTree(
false, $scat_gui,
"listItems");
77 $ret = $this->ctrl->forwardCommand($scat_gui);
80 case 'ilbasicskillgui':
81 $this->tabs_gui->activateTab(
"skills");
82 include_once(
"./Services/Skill/classes/class.ilBasicSkillGUI.php");
84 $skill_gui->setParentGUI($this);
85 $this->
showTree(
false, $skill_gui,
"edit");
86 $ret = $this->ctrl->forwardCommand($skill_gui);
89 case 'ilskilltemplatecategorygui':
90 $this->tabs_gui->activateTab(
"skill_templates");
91 include_once(
"./Services/Skill/classes/class.ilSkillTemplateCategoryGUI.php");
93 $sctp_gui->setParentGUI($this);
94 $this->
showTree(((
int) $_GET[
"tref_id"] == 0), $sctp_gui,
"listItems");
95 $ret = $this->ctrl->forwardCommand($sctp_gui);
98 case 'ilbasicskilltemplategui':
99 $this->tabs_gui->activateTab(
"skill_templates");
100 include_once(
"./Services/Skill/classes/class.ilBasicSkillTemplateGUI.php");
102 $sktp_gui->setParentGUI($this);
103 $this->
showTree(((
int) $_GET[
"tref_id"] == 0), $sktp_gui,
"edit");
104 $ret = $this->ctrl->forwardCommand($sktp_gui);
107 case 'ilskilltemplatereferencegui':
108 $this->tabs_gui->activateTab(
"skills");
109 include_once(
"./Services/Skill/classes/class.ilSkillTemplateReferenceGUI.php");
111 $sktr_gui->setParentGUI($this);
112 $this->
showTree(
false, $sktr_gui,
"listItems");
113 $ret = $this->ctrl->forwardCommand($sktr_gui);
116 case "ilskillprofilegui":
117 $ilTabs->activateTab(
"profiles");
118 include_once(
"./Services/Skill/classes/class.ilSkillProfileGUI.php");
120 $ret = $this->ctrl->forwardCommand($skprof_gui);
123 case 'ilpermissiongui':
124 $this->tabs_gui->activateTab(
'permissions');
125 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
127 $ret = $this->ctrl->forwardCommand($perm_gui);
136 if (
$cmd ==
"showTree")
138 $this->
showTree($_GET[
"templates_tree"]);
157 global $rbacsystem, $ilAccess,
$lng;
159 if ($rbacsystem->checkAccess(
"visible,read",$this->object->getRefId()))
161 $this->tabs_gui->addTab(
"skills",
162 $lng->txt(
"skmg_skills"),
163 $this->ctrl->getLinkTarget($this,
"editSkills"));
165 $this->tabs_gui->addTab(
"skill_templates",
166 $lng->txt(
"skmg_skill_templates"),
167 $this->ctrl->getLinkTarget($this,
"editSkillTemplates"));
169 $this->tabs_gui->addTab(
"settings",
170 $lng->txt(
"settings"),
171 $this->ctrl->getLinkTarget($this,
"editSettings"));
173 $this->tabs_gui->addTab(
"profiles",
174 $lng->txt(
"skmg_skill_profiles"),
175 $this->ctrl->getLinkTargetByClass(
"ilskillprofilegui"));
179 $this->tabs_gui->addTab(
"test",
181 $this->ctrl->getLinkTarget($this,
"test"));
185 if ($rbacsystem->checkAccess(
'edit_permission',$this->object->getRefId()))
187 $this->tabs_gui->addTab(
"permissions",
188 $lng->txt(
"perm_settings"),
189 $this->ctrl->getLinkTargetByClass(
'ilpermissiongui',
"perm"));
200 $ilTabs->activateTab(
"settings");
202 include_once(
"./Services/Skill/classes/class.ilSkillManagementSettings.php");
204 $enable_skmg = $skmg_set->isActivated();
206 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
208 $form->setFormAction(
$ilCtrl->getFormAction($this));
209 $form->setTitle(
$lng->txt(
"skmg_settings"));
214 $cb_prop->setValue(
"1");
215 $cb_prop->setChecked($enable_skmg);
216 $form->addItem($cb_prop);
219 $form->addCommandButton(
"saveSettings",
$lng->txt(
"save"));
221 $this->tpl->setContent($form->getHTML());
231 include_once(
"./Services/Skill/classes/class.ilSkillManagementSettings.php");
233 $skmg_set->activate((
int)
$_POST[
"enable_skmg"]);
237 $ilCtrl->redirect($this,
"editSettings");
247 $ilTabs->activateTab(
"skills");
249 $ilCtrl->setParameterByClass(
"ilobjskillmanagementgui",
"obj_id", $this->skill_tree->getRootId());
250 $ilCtrl->redirectByClass(
"ilskillrootgui",
"listSkills");
262 if (is_array(
$_POST[
"title"]))
264 include_once(
"./Services/Skill/classes/class.ilSkillTreeNodeFactory.php");
265 foreach(
$_POST[
"title"] as $id => $title)
268 if (is_object($node_obj))
279 $ilCtrl->redirect($this,
"editSkills");
289 if (is_array(
$_POST[
"title"]))
291 include_once(
"./Services/Skill/classes/class.ilSkillTreeNodeFactory.php");
292 foreach(
$_POST[
"title"] as $id => $title)
295 if (is_object($node_obj))
306 $ilCtrl->redirect($this,
"editSkillTemplates");
315 $_GET[
"skexpand"] =
"";
316 $n_id = (
$_GET[
"obj_id"] > 0)
318 : $this->skill_tree->readRootId();
319 $stree = $this->skill_tree->getSubTree($this->skill_tree->getNodeData($n_id));
321 foreach ($stree as
$n)
323 $n_arr[] =
$n[
"child"];
334 $_GET[
"skexpand"] =
"";
335 $n_id = (
$_GET[
"obj_id"] > 0)
337 : $this->skill_tree->readRootId();
338 $stree = $this->skill_tree->getSubTree($this->skill_tree->getNodeData($n_id));
340 foreach ($stree as
$n)
342 if (in_array(
$n[
"child"], $old) &&
$n[
"child"] != $n_id)
344 $k = array_search(
$n[
"child"], $old);
361 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
364 $ilTabs->clearTargets();
368 $cskill_ids = array();
369 foreach(
$_POST[
"id"] as $id)
373 if ($mode ==
"templates")
375 $this->
ilias->raiseError(
"Skill Deletion - type mismatch.",$this->
ilias->error_obj->MESSAGE);
382 include_once(
"./Services/Skill/classes/class.ilSkillTemplateReference.php");
386 $cskill_ids[] = array(
"skill_id" => $skill_id,
"tref_id" => $tref_id);
390 if ($mode ==
"basic")
392 $this->
ilias->raiseError(
"Skill Deletion - type mismatch.",$this->
ilias->error_obj->MESSAGE);
398 $cskill_ids[] = array(
"skill_id" => $id,
"tref_id" => $tref_id);
405 if ($mode ==
"basic" || $mode ==
"templates")
407 include_once(
"./Services/Skill/classes/class.ilSkillUsage.php");
409 $usages = $u->getAllUsagesInfoOfSubtrees($cskill_ids);
410 if (count($usages) > 0)
413 foreach ($usages as $k => $usage)
415 include_once(
"./Services/Skill/classes/class.ilSkillUsageTableGUI.php");
417 $html.=
$tab->getHTML().
"<br/><br/>";
419 $tpl->setContent($html);
420 $ilToolbar->addButton(
$lng->txt(
"back"),
421 $ilCtrl->getLinkTarget($a_gui,
"cancelDelete"));
428 $this->
ilias->raiseError(
"Skill Deletion - type mismatch.",$this->
ilias->error_obj->MESSAGE);
434 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
437 $ilCtrl->setParameter($a_gui,
"tmpmode",
$_GET[
"tmpmode"]);
438 $a_form_action = $this->ctrl->getFormAction($a_gui);
439 $confirmation_gui->setFormAction($a_form_action);
440 $confirmation_gui->setHeaderText($this->lng->txt(
"info_delete_sure"));
443 include_once(
"./Services/Skill/classes/class.ilSkillTreeNodeFactory.php");
444 foreach(
$_POST[
"id"] as $id)
449 $confirmation_gui->addItem(
"id[]", $node_obj->getId(),
454 $confirmation_gui->setCancel(
$lng->txt(
"cancel"),
"cancelDelete");
455 $confirmation_gui->setConfirm(
$lng->txt(
"confirm"),
"confirmedDelete");
457 $tpl->setContent($confirmation_gui->getHTML());
465 $this->ctrl->redirect($this,
"editSkills");
476 include_once(
"./Services/Skill/classes/class.ilSkillTreeNodeFactory.php");
477 foreach (
$_POST[
"id"] as $id)
482 $node_data = $this->skill_tree->getNodeData($id);
487 if($this->skill_tree->isInTree($id))
489 $this->skill_tree->deleteTree($node_data);
514 $this->setTestSubTabs(
"test");
516 $ilTabs->activateTab(
"test");
518 include_once(
"./Services/Skill/classes/class.ilBasicSkill.php");
520 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
523 $this->form->addCommandButton(
"test",
$lng->txt(
"execute"));
525 $this->form->setTitle(
"getCompletionDateForTriggerRefId()");
526 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
530 $ti->setMaxLength(200);
531 $ti->setInfo(
"Separate multiple IDs by :");
532 $ti->setValue(
$_POST[
"user_id"]);
533 $this->form->addItem($ti);
537 $ti->setMaxLength(200);
538 $ti->setInfo(
"Separate multiple IDs by :");
539 $ti->setValue(
$_POST[
"ref_id"]);
540 $this->form->addItem($ti);
543 if (isset(
$_POST[
"user_id"]))
545 $user_ids = explode(
":",
$_POST[
"user_id"]);
546 $ref_ids = explode(
":",
$_POST[
"ref_id"]);
547 if (count($user_ids) <= 1)
549 $user_ids = $user_ids[0];
551 if (count($ref_ids) == 1)
553 $ref_ids = $ref_ids[0];
555 else if (count($ref_ids) == 0)
564 $tpl->setContent($this->form->getHTML().$result);
578 $this->setTestSubTabs(
"cert");
579 $ilTabs->activateTab(
"test");
581 include_once(
"./Services/Skill/classes/class.ilBasicSkill.php");
583 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
586 $this->form->addCommandButton(
"testCert",
$lng->txt(
"execute"));
588 $this->form->setTitle(
"checkUserCertificateForTriggerRefId()");
589 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
593 $ti->setMaxLength(200);
594 $ti->setInfo(
"Separate multiple IDs by :");
595 $ti->setValue(
$_POST[
"user_id"]);
596 $this->form->addItem($ti);
600 $ti->setMaxLength(200);
601 $ti->setInfo(
"Separate multiple IDs by :");
602 $ti->setValue(
$_POST[
"ref_id"]);
603 $this->form->addItem($ti);
606 if (isset(
$_POST[
"user_id"]))
608 $user_ids = explode(
":",
$_POST[
"user_id"]);
609 $ref_ids = explode(
":",
$_POST[
"ref_id"]);
610 if (count($user_ids) <= 1)
612 $user_ids = $user_ids[0];
614 if (count($ref_ids) == 1)
616 $ref_ids = $ref_ids[0];
618 else if (count($ref_ids) == 0)
627 $tpl->setContent($this->form->getHTML().$result);
641 $this->setTestSubTabs(
"all_cert");
642 $ilTabs->activateTab(
"test");
644 include_once(
"./Services/Skill/classes/class.ilBasicSkill.php");
646 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
649 $this->form->addCommandButton(
"testAllCert",
$lng->txt(
"execute"));
651 $this->form->setTitle(
"getTriggerOfAllCertificates()");
652 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
656 $ti->setMaxLength(200);
657 $ti->setInfo(
"Separate multiple IDs by :");
658 $ti->setValue(
$_POST[
"user_id"]);
659 $this->form->addItem($ti);
662 if (isset(
$_POST[
"user_id"]))
664 $user_ids = explode(
":",
$_POST[
"user_id"]);
665 $ref_ids = explode(
":",
$_POST[
"ref_id"]);
666 if (count($user_ids) <= 1)
668 $user_ids = $user_ids[0];
675 $tpl->setContent($this->form->getHTML().$result);
689 $this->setTestSubTabs(
"levels");
690 $ilTabs->activateTab(
"test");
692 include_once(
"./Services/Skill/classes/class.ilBasicSkill.php");
694 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
697 $this->form->addCommandButton(
"testLevels",
$lng->txt(
"execute"));
699 $this->form->setTitle(
"getTriggerOfAllCertificates()");
700 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
704 $ti->setMaxLength(200);
705 $ti->setValue(
$_POST[
"ref_id"]);
706 $this->form->addItem($ti);
709 if (isset(
$_POST[
"ref_id"]))
715 $tpl->setContent($this->form->getHTML().$result);
730 $ilTabs->addSubtab(
"test",
731 "getCompletionDateForTriggerRefId",
732 $ilCtrl->getLinkTarget($this,
"test"));
734 $ilTabs->addSubtab(
"cert",
735 "checkUserCertificateForTriggerRefId",
736 $ilCtrl->getLinkTarget($this,
"testCert"));
738 $ilTabs->addSubtab(
"all_cert",
739 "getTriggerOfAllCertificates",
740 $ilCtrl->getLinkTarget($this,
"testAllCert"));
742 $ilTabs->addSubtab(
"levels",
743 "getSkillLevelsForTrigger",
744 $ilCtrl->getLinkTarget($this,
"testLevels"));
746 $ilTabs->activateSubtab($a_act);
761 $ilTabs->activateTab(
"skill_templates");
762 $ilCtrl->setParameterByClass(
"ilobjskillmanagementgui",
"obj_id", $this->skill_tree->getRootId());
763 $ilCtrl->redirectByClass(
"ilskillrootgui",
"listTemplates");
774 function showTree($a_templates, $a_gui =
"", $a_gui_cmd =
"")
780 if (
$_GET[
"obj_id"] ==
"" ||
$_GET[
"obj_id"] == 1)
785 if (
$_GET[
"obj_id"] > 1)
787 $path = $this->skill_tree->getPathId(
$_GET[
"obj_id"]);
788 include_once(
"./Services/Skill/classes/class.ilSkillTreeNode.php");
796 $ilCtrl->setParameter($this,
"templates_tree", $a_templates);
800 include_once(
"./Services/Skill/classes/class.ilSkillTemplateTreeExplorerGUI.php");
805 include_once(
"./Services/Skill/classes/class.ilSkillTreeExplorerGUI.php");
808 if (!$exp->handleCommand())
810 $tpl->setLeftNavContent($exp->getHTML());
Basic skill template GUI class.
static getCompletionDateForTriggerRefId($a_user_id, $a_ref_id=null, $a_self_eval=0)
Get trigger completion.
static getSkillLevelsForTrigger($a_ref_id)
Get assigned skill levels for trigger.
static getTriggerOfAllCertificates($a_user_id, $a_self_eval=0)
Get trigger completion.
static checkUserCertificateForTriggerRefId($a_user_id, $a_ref_id, $a_self_eval=0)
Get trigger completion.
Confirmation screen class.
Skill management main GUI class.
testAllCert()
Test getTriggerOfAllCertificates.
editSettings()
Edit news settings.
__construct($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
Contructor.
saveAllTitles($a_succ_mess=true)
Save all titles of chapters/scos/pages.
cancelDelete()
cancel delete
confirmedDelete()
Delete chapters/scos/pages.
setTestSubtabs($a_act)
Set test subtabs.
expandAll($a_redirect=true)
Expand all.
saveSettings()
Save skill management settings.
executeCommand()
Execute command.
saveAllTemplateTitles($a_succ_mess=true)
Save all titles of chapters/scos/pages.
testLevels()
Test getSkillLevelsForTrigger.
deleteNodes($a_gui)
confirm deletion screen of skill tree nodes
collapseAll($a_redirect=true)
Collapse all.
showTree($a_templates, $a_gui="", $a_gui_cmd="")
Show Editing Tree.
testCert()
Test checkUserCertificateForTriggerRefId.
editSkillTemplates()
Edit skill templates.
test()
Test getCompletionDateForTriggerRefId.
Class ilObjectGUI Basic methods of all Output classes.
prepareOutput()
prepare output
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
Skill category GUI class.
Skill management settings.
Skill template category GUI class.
Skill template reference GUI class.
static _lookupTrefIdsForTemplateId($a_tid)
Get all tref ids for a template id.
static _lookupTemplateId($a_obj_id)
Lookup template ID.
Explorer class that works on tree objects (Services/Tree)
Explorer class that works on tree objects (Services/Tree)
static getInstance($a_id=0)
static _writeTitle($a_obj_id, $a_title)
Write Title.
static _lookupType($a_obj_id)
Lookup Type.
TableGUI class for skill usages.
This class represents a text property in a property form.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
redirection script todo: (a better solution should control the processing via a xml file)