19 declare(strict_types=1);
53 protected \ILIAS\Data\Factory
$df;
56 protected int $id = 0;
57 protected ?Profile\SkillProfile
$profile = null;
114 $this->export_factory =
new ExportFactory();
115 $this->usr = $DIC->user();
116 $this->
ctrl = $DIC->ctrl();
117 $this->
lng = $DIC->language();
118 $this->
tabs = $DIC->tabs();
119 $this->tpl = $DIC[
"tpl"];
120 $this->
help = $DIC[
"ilHelp"];
121 $this->
toolbar = $DIC->toolbar();
122 $this->ui_fac = $DIC->ui()->factory();
123 $this->ui_ren = $DIC->ui()->renderer();
124 $this->df = new \ILIAS\Data\Factory();
125 $this->request = $DIC->http()->request();
126 $this->query = $DIC->http()->wrapper()->query();
127 $this->tree_service = $DIC->skills()->tree();
130 $this->admin_gui_request = $DIC->skills()->internal()->gui()->admin_request();
131 $this->skill_factory = $DIC->skills()->internal()->factory();
132 $this->profile_manager = $DIC->skills()->internal()->manager()->getProfileManager();
133 $this->profile_completion_manager = $DIC->skills()->internal()->manager()->getProfileCompletionManager();
134 $this->table_manager = $DIC->skills()->internal()->manager()->getTableManager();
135 $this->usage_manager = $DIC->skills()->internal()->manager()->getUsageManager();
137 $this->
ctrl->saveParameter($this, [
"sprof_id",
"local_context"]);
139 $this->requested_ref_id = $this->admin_gui_request->getRefId();
140 $this->requested_sprof_id = $this->admin_gui_request->getSkillProfileId();
141 $this->requested_profile_ids = $this->admin_gui_request->getProfileIds();
142 $this->requested_local_context = $this->admin_gui_request->getLocalContext();
143 $this->requested_cskill_id = $this->admin_gui_request->getCombinedSkillId();
144 $this->requested_level_ass_ids = $this->admin_gui_request->getAssignedLevelIds();
145 $this->requested_level_order = $this->admin_gui_request->getOrder();
146 $this->requested_user_login = $this->admin_gui_request->getUserLogin();
147 $this->requested_users = $this->admin_gui_request->getUsers();
148 $this->requested_user_ids = $this->admin_gui_request->getUserIds();
149 $this->requested_table_profile_action = $this->admin_gui_request->getTableProfileAction();
150 $this->requested_table_profile_ids = $this->admin_gui_request->getTableProfileIds();
151 $this->requested_level_id = $this->admin_gui_request->getLevelId();
153 if ($this->requested_sprof_id > 0) {
158 $this->
profile = $this->profile_manager->getProfile($this->
id);
159 if ($this->skill_tree_id == 0) {
160 $this->skill_tree_id = $this->
profile->getSkillTreeId();
163 $this->local_context =
true;
173 $cmd = $ilCtrl->getCmd(
"listProfiles");
174 $next_class = $ilCtrl->getNextClass();
175 switch ($next_class) {
176 case 'ilrepositorysearchgui':
178 $user_search->setTitle($lng->
txt(
'skmg_add_user_to_profile'));
179 $user_search->setCallback($this,
'assignUser');
180 $user_search->setRoleCallback($this,
'assignRole');
184 $ilCtrl->setReturn($this,
'showUsers');
185 $ret = $ilCtrl->forwardCommand($user_search);
189 if (in_array($cmd, array(
"listProfiles",
"create",
"edit",
"save",
"update",
190 "deleteProfiles",
"showLevels",
"assignLevel",
191 "assignLevelSelectSkill",
"updateLevelOfSelectedSkill",
192 "assignLevelToProfile",
"updateLevelOfProfile",
193 "confirmLevelAssignmentRemoval",
"removeLevelAssignments",
194 "showUsers",
"assignUser",
"assignRole",
195 "confirmUserRemoval",
"removeUsers",
"exportProfiles",
"showImportForm",
196 "importProfiles",
"saveLevelOrder",
"createLocal",
"saveLocal",
197 "listLocalProfiles",
"showLevelsWithLocalContext",
"showObjects"))) {
204 public function setTabs(
string $a_active): void
216 $ilTabs->clearTargets();
217 $ilHelp->setScreenIdComponent(
"skmg_prof");
219 $ilCtrl->clearParameterByClass(self::class,
"sprof_id");
220 $ilTabs->setBackTarget(
221 $lng->
txt(
"skmg_skill_profiles"),
222 $ilCtrl->getLinkTarget($this,
"")
224 $ilCtrl->setParameter($this,
"sprof_id", $this->requested_sprof_id);
229 $lng->
txt(
"skmg_assigned_skill_levels"),
230 $ilCtrl->getLinkTarget($this,
"showLevels")
236 $lng->
txt(
"skmg_assigned_users"),
237 $ilCtrl->getLinkTarget($this,
"showUsers")
243 $lng->
txt(
"skmg_assigned_objects"),
244 $ilCtrl->getLinkTarget($this,
"showObjects")
248 if ($this->skill_tree_access_manager->hasManageProfilesPermission()) {
251 $lng->
txt(
"settings"),
252 $ilCtrl->getLinkTarget($this,
"edit")
256 $ilTabs->activateTab($a_active);
266 if ($this->skill_tree_access_manager->hasManageProfilesPermission()) {
267 $ilToolbar->addButton(
268 $lng->
txt(
"skmg_add_profile"),
269 $ilCtrl->getLinkTarget($this,
"create")
272 $ilToolbar->addButton(
274 $ilCtrl->getLinkTarget($this,
"showImportForm")
278 $table = $this->table_manager->getProfileTable($this->requested_ref_id, $this->skill_tree_id)->getComponent();
280 $tpl->
setContent($this->ui_ren->render($table));
295 $tpl->
setContent($this->ui_ren->render($form));
307 $lng->
txt(
"back_to_course"),
312 $tpl->
setContent($this->ui_ren->render($form));
321 $tpl->
setContent($this->ui_ren->render($form));
336 $ti = $this->ui_fac->input()->field()->text($lng->
txt(
"title"))
337 ->withRequired(
true);
340 $desc = $this->ui_fac->input()->field()->textarea($lng->
txt(
"description"));
344 if ($a_mode ==
"createLocal") {
346 $trees = $this->tree_service->getObjSkillTrees();
347 foreach ($trees as $tree) {
348 $options[$tree->getId()] = $tree->getTitle();
350 $se = $this->ui_fac->input()->field()->select($lng->
txt(
"skmg_skill_tree"), $options)->withRequired(
true);
355 ->withAcceptedMimeTypes([MimeType::IMAGE__PNG, MimeType::IMAGE__JPEG]);
360 if ($this->skill_tree_access_manager->hasManageProfilesPermission()) {
361 if ($a_mode ==
"create") {
362 $sec_des = $lng->
txt(
"skmg_add_profile");
363 $form_action = $ilCtrl->getFormAction($this,
"save");
364 } elseif ($a_mode ==
"createLocal") {
365 $sec_des = $lng->
txt(
"skmg_add_local_profile");
366 $form_action = $ilCtrl->getFormAction($this,
"saveLocal");
369 $ti = $ti->withValue($this->
profile->getTitle());
370 $desc = $desc->withValue($this->
profile->getDescription());
371 $img = $this->
profile->getImageId() ? $img->withValue([$this->
profile->getImageId()]) : $img;
373 $sec_des = $lng->
txt(
"skmg_edit_profile");
374 $form_action = $ilCtrl->getFormAction($this,
"update");
379 $section_basic = $this->ui_fac->input()->field()->section(
380 [
"title" => $ti,
"description" => $desc],
384 $section_basic = $this->ui_fac->input()->field()->section(
385 [
"title" => $ti,
"description" => $desc,
"skill_tree" => $se],
389 $section_advanced = $this->ui_fac->input()->field()->section([
"image" => $img], $lng->
txt(
"skmg_form_presentation"));
391 $form = $this->ui_fac->input()->container()->form()->standard(
393 [
"section_basic" => $section_basic,
"section_advanced" => $section_advanced]
405 if (!$this->skill_tree_access_manager->hasManageProfilesPermission()) {
410 if ($this->request->getMethod() ==
"POST" 411 && $this->request->getQueryParams()[
"profile"] ==
"profile_settings") {
412 $form = $form->withRequest($this->request);
413 $result = $form->getData();
414 if (is_null($result)) {
415 $tpl->
setContent($this->ui_ren->render($form));
418 $profile = $this->skill_factory->profile()->profile(
420 $result[
"section_basic"][
"title"],
421 $result[
"section_basic"][
"description"],
422 $this->skill_tree_id,
423 $result[
"section_advanced"][
"image"][0] ??
"" 425 $this->profile_manager->createProfile($profile);
427 $this->tpl->setOnScreenMessage(
'success', $lng->
txt(
"msg_obj_modified"),
true);
428 $ilCtrl->redirect($this,
"listProfiles");
430 $ilCtrl->redirect($this,
"listProfiles");
439 if (!$this->skill_tree_access_manager->hasManageProfilesPermission()) {
444 if ($this->request->getMethod() ==
"POST" 445 && $this->request->getQueryParams()[
"profile"] ==
"profile_settings") {
446 $form = $form->withRequest($this->request);
447 $result = $form->getData();
448 if (is_null($result)) {
449 $tpl->
setContent($this->ui_ren->render($form));
452 $profile = $this->skill_factory->profile()->profile(
454 $result[
"section_basic"][
"title"],
455 $result[
"section_basic"][
"description"],
456 (
int) $result[
"section_basic"][
"skill_tree"],
457 $result[
"section_advanced"][
"image"][0] ??
"",
458 $this->requested_ref_id
460 $new_profile = $this->profile_manager->createProfile($profile);
461 $this->profile_manager->addRoleToProfile(
462 $new_profile->getId(),
465 $this->tpl->setOnScreenMessage(
'success', $lng->
txt(
"msg_obj_modified"),
true);
466 $ilCtrl->redirectByClass(
"ilcontskilladmingui",
"listProfiles");
468 $ilCtrl->redirectByClass(
"ilcontskilladmingui",
"listProfiles");
477 if (!$this->skill_tree_access_manager->hasManageProfilesPermission()) {
482 if ($this->request->getMethod() ==
"POST" 483 && $this->request->getQueryParams()[
"profile"] ==
"profile_settings") {
484 $form = $form->withRequest($this->request);
485 $result = $form->getData();
486 if (is_null($result)) {
487 $tpl->
setContent($this->ui_ren->render($form));
490 $profile = $this->skill_factory->profile()->profile(
492 $result[
"section_basic"][
"title"],
493 $result[
"section_basic"][
"description"],
494 $this->
profile->getSkillTreeId(),
495 $result[
"section_advanced"][
"image"][0] ??
"",
498 $this->profile_manager->updateProfile($profile);
500 $this->tpl->setOnScreenMessage(
'info', $lng->
txt(
"msg_obj_modified"),
true);
501 $ilCtrl->redirect($this,
"edit");
503 $ilCtrl->redirect($this,
"listProfiles");
512 if (!$this->skill_tree_access_manager->hasManageProfilesPermission()) {
516 if (!empty($this->requested_profile_ids)) {
517 foreach ($this->requested_profile_ids as $i) {
518 $this->profile_manager->delete($i);
519 $this->profile_completion_manager->deleteEntriesForProfile($i);
521 $this->tpl->setOnScreenMessage(
'info', $lng->
txt(
"msg_obj_modified"),
true);
524 $ilCtrl->redirect($this,
"listProfiles");
540 if ($this->skill_tree_access_manager->hasManageProfilesPermission()) {
541 $ilToolbar->addButton(
542 $lng->
txt(
"skmg_assign_level"),
543 $ilCtrl->getLinkTarget($this,
"assignLevel")
565 $lng->
txt(
"back_to_course"),
569 if ($this->skill_tree_access_manager->hasManageProfilesPermission()) {
571 $lng->
txt(
"skmg_assign_level"),
578 "showLevelsWithLocalContext",
598 $this->tpl->setOnScreenMessage(
'info', $lng->
txt(
"skmg_select_skill_level_assign"));
600 $ilTabs->clearTargets();
602 $ilTabs->setBackTarget(
604 $ilCtrl->getLinkTarget($this,
"showLevelsWithLocalContext")
607 $ilTabs->setBackTarget(
609 $ilCtrl->getLinkTarget($this,
"showLevels")
618 "assignLevelSelectSkill",
622 if (!$exp->handleCommand()) {
638 $ilCtrl->saveParameter($this,
"cskill_id");
644 $ilTabs->clearTargets();
646 $ilTabs->setBackTarget(
648 $ilCtrl->getLinkTarget($this,
"showLevelsWithLocalContext")
651 $ilTabs->setBackTarget(
653 $ilCtrl->getLinkTarget($this,
"showLevels")
657 $id_parts = explode(
":", $this->requested_cskill_id);
658 $skill_id = (
int) $id_parts[0];
660 $level_data = $skill->getLevelData();
663 foreach ($level_data as $levels) {
664 $ilCtrl->setParameterByClass(self::class,
"level_id", $levels[
"id"]);
665 $items[] = $this->ui_fac->item()->standard($levels[
"title"])->withMainAction(
666 $this->ui_fac->link()->standard(
667 $lng->
txt(
"skmg_assign_level"),
668 $ilCtrl->getLinkTarget($this, $update ?
"updateLevelOfProfile" :
"assignLevelToProfile")
671 $ilCtrl->clearParameterByClass(self::class,
"level_id");
674 $list = $this->ui_fac->panel()->listing()->standard(
675 $skill->getTitle() .
", " . $lng->
txt(
"skmg_skill_levels"),
677 $this->ui_fac->item()->group(
"", $items)
681 $tpl->
setContent($this->ui_ren->render($list));
695 if (!$this->skill_tree_access_manager->hasManageProfilesPermission()) {
700 $this->profile_manager->updateSkillLevel($level);
702 $parts = explode(
":", $this->requested_cskill_id);
703 $level = $this->skill_factory->profile()->profileLevel(
708 $this->profile_manager->getMaxLevelOrderNr($this->
profile->getId()) + 10
710 $this->profile_manager->addSkillLevel($level);
714 $this->profile_completion_manager->writeCompletionEntryForAllAssignedUsersOfProfile($this->
profile->getId());
716 $this->tpl->setOnScreenMessage(
'success', $lng->
txt(
"msg_obj_modified"),
true);
718 $ilCtrl->redirect($this,
"showLevelsWithLocalContext");
720 $ilCtrl->redirect($this,
"showLevels");
725 $parts = explode(
":", $this->requested_cskill_id);
726 $level = $this->profile_manager->getSkillLevel($this->
profile->getId(), (
int)
$parts[0], (
int)
$parts[1]);
727 $level_updated = $this->skill_factory->profile()->profileLevel(
728 $level->getProfileId(),
729 $level->getBaseSkillId(),
751 if (empty($this->requested_level_ass_ids)) {
752 $this->tpl->setOnScreenMessage(
'info', $lng->
txt(
"no_checkbox"),
true);
754 $ilCtrl->redirect($this,
"showLevelsWithLocalContext");
756 $ilCtrl->redirect($this,
"showLevels");
759 $cgui->setFormAction($ilCtrl->getFormAction($this));
760 $cgui->setHeaderText($lng->
txt(
"skmg_confirm_remove_level_ass"));
762 $cgui->setCancel($lng->
txt(
"cancel"),
"showLevelsWithLocalContext");
764 $cgui->setCancel($lng->
txt(
"cancel"),
"showLevels");
766 $cgui->setConfirm($lng->
txt(
"remove"),
"removeLevelAssignments");
768 foreach ($this->requested_level_ass_ids as $i) {
769 $id_arr = explode(
":", $i);
787 if (!$this->skill_tree_access_manager->hasManageProfilesPermission()) {
791 if (!empty($this->requested_level_ass_ids)) {
792 foreach ($this->requested_level_ass_ids as $i) {
793 $id_arr = explode(
":", $i);
794 $level = $this->skill_factory->profile()->profileLevel(
801 $this->profile_manager->removeSkillLevel($level);
803 $this->profile_manager->fixSkillOrderNumbering($this->
profile->getId());
807 $this->profile_completion_manager->writeCompletionEntryForAllAssignedUsersOfProfile($this->
profile->getId());
810 $ilCtrl->redirect($this,
"showLevelsWithLocalContext");
812 $ilCtrl->redirect($this,
"showLevels");
821 if (!$this->skill_tree_access_manager->hasManageProfilesPermission()) {
826 $this->profile_manager->updateSkillOrder($this->
profile->getId(), $order);
828 $this->tpl->setOnScreenMessage(
'success', $lng->
txt(
"msg_obj_modified"),
true);
830 $ilCtrl->redirect($this,
"showLevelsWithLocalContext");
832 $ilCtrl->redirect($this,
"showLevels");
842 if ($this->skill_tree_access_manager->hasManageProfilesPermission() && !$this->
profile->getRefId() > 0) {
847 'auto_complete_name' => $lng->
txt(
'user'),
848 'submit_name' => $lng->
txt(
'skmg_assign_user')
852 $ilToolbar->addSeparator();
854 $button = $this->ui_fac->button()->standard(
855 $this->
lng->txt(
"skmg_add_assignment"),
856 $this->
ctrl->getLinkTargetByClass(
"ilRepositorySearchGUI",
"start")
858 $ilToolbar->addComponent($button);
863 $table = $this->table_manager->getProfileUserAssignmentTable(
865 $this->skill_tree_access_manager
867 $tpl->
setContent($this->ui_ren->render($table));
875 if (!$this->skill_tree_access_manager->hasManageProfilesPermission()) {
882 $this->profile_manager->addUserToProfile($this->
profile->getId(),
$user_id);
884 $this->profile_completion_manager->writeCompletionEntryForSingleProfileOfUser(
$user_id, $this->
profile->getId());
885 $this->tpl->setOnScreenMessage(
'success', $lng->
txt(
"msg_obj_modified"),
true);
890 if (!empty($users)) {
891 foreach ($users as $id) {
893 $this->profile_manager->addUserToProfile($this->
profile->getId(),
$id);
895 $this->profile_completion_manager->writeCompletionEntryForSingleProfileOfUser($id, $this->
profile->getId());
898 $this->tpl->setOnScreenMessage(
'success', $lng->
txt(
"msg_obj_modified"),
true);
901 $ilCtrl->redirect($this,
"showUsers");
909 if (!$this->skill_tree_access_manager->hasManageProfilesPermission()) {
914 foreach ($role_ids as $id) {
916 $this->profile_manager->addRoleToProfile($this->
profile->getId(),
$id);
917 $this->profile_completion_manager->writeCompletionEntryForRole($id, $this->
profile->getId());
922 $this->tpl->setOnScreenMessage(
'success', $lng->
txt(
"msg_obj_modified"),
true);
925 $ilCtrl->redirect($this,
"showUsers");
933 if (!$this->skill_tree_access_manager->hasManageProfilesPermission()) {
937 if (!empty($this->requested_user_ids)) {
938 foreach ($this->requested_user_ids as $i) {
942 $this->profile_manager->removeUserFromProfile($this->
profile->getId(), $i);
946 $this->profile_manager->removeRoleFromProfile($this->
profile->getId(), $i);
953 $this->tpl->setOnScreenMessage(
"success", $lng->
txt(
"msg_obj_modified"),
true);
955 $ilCtrl->redirect($this,
"showUsers");
964 $objects = $this->usage_manager->getAssignedObjectsForSkillProfile($this->
profile->getId());
966 $table = $this->table_manager->getAssignedObjectsTable(
973 $tpl->
setContent($this->ui_ren->render($table));
976 public function exportProfiles():
void 981 if (!$this->skill_tree_access_manager->hasManageProfilesPermission()) {
985 $profiles_to_export = [];
986 if ($this->requested_table_profile_action ===
"exportProfiles" 987 && !empty($this->requested_table_profile_ids)
988 && $this->requested_table_profile_ids[0] ===
"ALL_OBJECTS" 990 $profiles = $this->skill_tree_id
991 ? $this->profile_manager->getProfilesForSkillTree($this->skill_tree_id)
992 : $this->profile_manager->getProfilesForAllSkillTrees();
993 foreach ($profiles as $profile) {
994 $profiles_to_export[] = $profile->getId();
996 } elseif ($this->requested_table_profile_action ===
"exportProfiles") {
997 $profiles_to_export =
array_map(
"intval", $this->requested_table_profile_ids);
1000 if (empty($profiles_to_export)) {
1001 $this->tpl->setOnScreenMessage(
'info', $lng->
txt(
"no_checkbox"),
true);
1002 $ilCtrl->redirect($this,
"");
1006 $configs = $this->export_factory->consumer()->exportConfig()->allExportConfigs();
1007 $config = $configs->getElementByComponent(
'components/ILIAS/Skill');
1009 $config->setSelectedProfiles($profiles_to_export);
1010 $config->setSkillTreeId($this->skill_tree_id);
1013 $obj->setRefId($this->requested_ref_id);
1014 $obj->setType(
'skee');
1016 $obj->setType(
'skmg');
1017 $this->export_factory->consumer()->handler()->createStandardExportByObject($this->usr->getId(), $obj, $configs);
1023 $ilCtrl->redirectByClass(array(
"ilobjskilltreegui",
"ilexportgui"),
"");
1043 $fi->setRequired(
true);
1044 $form->addItem($fi);
1047 $form->addCommandButton(
"importProfiles", $lng->
txt(
"import"));
1048 $form->addCommandButton(
"", $lng->
txt(
"cancel"));
1050 $form->setTitle($lng->
txt(
"import"));
1051 $form->setFormAction($ilCtrl->getFormAction($this));
1063 if ($form->checkInput()) {
1065 $conf = $imp->getConfig(
"components/ILIAS/Skill");
1066 $conf->setSkillTreeId($this->skill_tree_id);
1067 $imp->importEntity($_FILES[
"import_file"][
"tmp_name"], $_FILES[
"import_file"][
"name"],
"skmg",
"components/ILIAS/Skill");
1069 $this->tpl->setOnScreenMessage(
'success', $lng->
txt(
"msg_obj_modified"),
true);
1070 $ilCtrl->redirect($this,
"");
1072 $form->setValuesByPost();
TableGUI class for skill profile levels.
getLinkTargetByClass( $a_class, string $a_cmd=null, string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
redirectByClass( $a_class, string $a_cmd=null, string $a_anchor=null, bool $is_async=false)
SkillTreeAccess $skill_tree_access_manager
array $requested_profile_ids
Class ilSkillProfileUploadHandlerGUI.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
Profile SkillProfile $profile
if($clientAssertionType !='urn:ietf:params:oauth:client-assertion-type:jwt-bearer'|| $grantType !='client_credentials') $parts
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Interface Observer Contains several chained tasks and infos about them.
Request wrapper for guis in skill administration.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
confirmLevelAssignmentRemoval()
static _lookupTitle(int $a_obj_id, int $a_tref_id=0)
static _lookupId($a_user_str)
setTabs(string $a_active)
showLevelsWithLocalContext()
static lookupLevelTitle(int $a_id)
array $requested_level_ass_ids
assignLevelSelectSkill(bool $update=false)
Output level table for profile assignment.
static getDefaultMemberRole(int $a_ref_id)
SkillAdminGUIRequest $admin_gui_request
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Table TableManager $table_manager
initProfileForm(string $a_mode="edit")
ilGlobalTemplateInterface $tpl
SkillTreeService $tree_service
assignRole(array $role_ids)
updateLevelOfSelectedSkill()
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setContent(string $a_html)
Sets content for standard template.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
string $requested_user_login
string $requested_cskill_id
setBackTarget(string $a_title, string $a_target, string $a_frame="")
ServerRequestInterface $request
array $requested_table_profile_ids
static fillAutoCompleteToolbar(object $parent_object, ilToolbarGUI $toolbar=null, array $a_options=[], bool $a_sticky=false)
array( auto_complete_name = $lng->txt('user'), auto_complete_size = 15, user_type = array(ilCoursePar...
__construct(SkillTreeAccess $skill_tree_access_manager, int $skill_tree_id=0)
clearTargets()
clear all targets
assignLevelToProfile(Profile\SkillProfileLevel $level=null)
setTitle(string $a_title, bool $hidden=false)
Sets title in standard template.
bool $requested_local_context
Skill internal factory service.
DataFactory $data_factory
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
string $requested_table_profile_action
ArrayBasedRequestWrapper $query
Explorer class that works on tree objects (Services/Tree)
getLinkTarget(object $a_gui_obj, string $a_cmd=null, string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
Profile SkillProfileManager $profile_manager
ExportFactoryInterface $export_factory
setDescription(string $a_descr)
Sets description below title in standard template.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setParameter(object $a_gui_obj, string $a_parameter, $a_value)
SkillInternalFactoryService $skill_factory
static _lookupType(int $id, bool $reference=false)
Profile SkillProfileCompletionManager $profile_completion_manager
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static stripSlashesArray(array $a_arr, bool $a_strip_html=true, string $a_allow="")
array $requested_level_order
array $requested_user_ids
Usage SkillUsageManager $usage_manager
Class ArrayBasedRequestWrapper.