ILIAS  trunk Revision v11.0_alpha-1831-g8615d53dadb
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilPersonalSkillsGUI Class Reference

Personal skills GUI class. More...

+ Collaboration diagram for ilPersonalSkillsGUI:

Public Member Functions

 __construct ()
 
 getFilter ()
 
 setProfileId (int $a_val)
 
 getProfileId ()
 
 setGapAnalysisSelfEvalLevels (array $a_val)
 
 getGapAnalysisSelfEvalLevels ()
 
 setHistoryView (bool $a_val)
 
 getHistoryView ()
 
 getNonHistoricGapModeView ()
 
 getTriggerObjectsFilter ()
 
 setTriggerObjectsFilter (array $trigger_objects_filter)
 
 getTriggerUserFilter ()
 
 setTriggerUserFilter (array $trigger_user_filter)
 
 hideSkill (int $a_skill_id, int $a_tref_id=0)
 
 getObjectId ()
 
 getObjectSkills ()
 
 setObjectSkills (int $a_obj_id, array $a_skills)
 
 setObjectSkillProfiles (int $cont_member_role_id)
 
 executeCommand ()
 
 setTabs (string $a_activate)
 
 setOfflineMode (string $a_file_path)
 
 getOfflineMode ()
 
 listSkills ()
 
 getSkillHTML (int $a_top_skill_id, int $a_user_id=0, bool $a_edit=false, int $a_tref_id=0)
 Get skill presentation HTML. More...
 
 renderSkillHTML (int $a_top_skill_id, int $a_user_id=0, bool $a_edit=false, int $a_tref_id=0)
 
 getMaterialInfo (int $a_wsp_id, int $a_user_id)
 Get material file name and goto url. More...
 
 addSkill ()
 
 confirmSkillRemove ()
 
 removeSkills ()
 
 assignMaterials ()
 Assign materials to skill levels. More...
 
 assignMaterial ()
 Assign materials to skill level. More...
 
 selectMaterial ()
 
 removeMaterial ()
 
 selfEvaluation ()
 
 saveSelfEvaluation ()
 
 listSkillsForAdd ()
 
 showProfiles ()
 
 listAllProfilesForGap ()
 
 listProfileForGap ()
 
 listRecordsForGap ()
 
 setGapAnalysisActualStatusModePerType (string $a_type, string $a_cat_title="")
 
 setGapAnalysisActualStatusModePerObject (int $a_obj_id, string $a_cat_title="")
 
 getMaterials (array $a_levels, int $a_tref_id=0, int $a_user_id=0)
 
 getProfileTargetItem (int $a_profile_id, array $a_levels, int $a_tref_id=0)
 
 getActualGapItem (array $a_levels, int $a_tref_id=0)
 
 getSelfEvalGapItem (array $a_levels, int $a_tref_id=0)
 
 getScaleBar (array $a_levels, $a_activated_levels)
 
 getEvalItem (array $a_levels, array $a_level_entry, bool $is_latest=false)
 
 getSkillLevelDescription (ilSkillTreeNode $skill)
 
 getSuggestedResourcesForProfile (array $a_levels, int $a_base_skill, int $a_tref_id, int $gap_mode_obj_id=0)
 
 getAllSuggestedResources (int $a_base_skill, int $a_tref_id)
 
 listAllAssignedProfiles ()
 
 listAssignedProfile ()
 

Data Fields

const LIST_SELECTED = "selected"
 
const LIST_PROFILES = ""
 

Protected Member Functions

 render ()
 
 applyFilter ()
 
 applyFilterAssignedProfiles ()
 Apply filter for profiles view. More...
 
 getSelfEvaluationForm (int $cur_basic_skill_id)
 
 getProfilesListed (array $profiles, bool $gap_mode=false)
 
 showInfoBoxForProfiles ()
 
 showInfoBoxForRecords ()
 
 getLatestEntriesForSkillHTML (int $top_skill_id, array $bs, ilSkillTreeNode $skill, ilObjUser $user, int $eval_type, array $level_data)
 
 getNonLatestEntriesForSkillHTML (int $top_skill_id, array $bs, ilSkillTreeNode $skill, ilObjUser $user, int $eval_type, array $level_data)
 
 getFilteredEntriesForSkill (array $entries, int $top_skill_id, array $bs, ilObjUser $user)
 
 getSelfEvalEntriesLatestOnly (array $entries)
 
 getSelfEvalEntriesWithoutLatest (array $entries)
 
 getAllEntriesLatestOnly (array $entries)
 
 getAllEntriesWithoutLatest (array $entries)
 
 getSkillEntriesHeader (int $eval_type)
 
 getSkillCategoryDescription (int $skill_id, int $tref_id)
 
 getBasicSkillDescription (string $description)
 

Protected Attributes

string $offline_mode = ""
 
array $actual_levels = []
 
array $next_level_fuls = []
 
array $gap_self_eval_levels = []
 
bool $history_view = false
 
array $trigger_objects_filter = []
 
array $hidden_skills = []
 
string $mode = ""
 
string $gap_mode = ""
 
int $gap_mode_obj_id = 0
 
string $gap_mode_type = ""
 
string $gap_cat_title = ""
 
UIServices $ui
 
ilCtrl $ctrl
 
ilLanguage $lng
 
ilHelpGUI $help
 
ilSetting $setting
 
ilObjUser $user
 
ilGlobalTemplateInterface $tpl
 
ilTabsGUI $tabs
 
ilToolbarGUI $toolbar
 
ilAccessHandler $access
 
Factory $ui_fac
 
Renderer $ui_ren
 
ServerRequestInterface $request
 
ResourceStorage $storage
 
DataFactory $data_fac
 
ilTree $tree
 
ilObjectDefinition $obj_definition
 
int $obj_id = 0
 
array $obj_skills = []
 
int $profile_id = 0
 
array $profile_levels = []
 
array $user_profiles = []
 
array $cont_profiles = []
 
bool $use_materials = false
 
ilSkillManagementSettings $skmg_settings
 
ilPersonalSkillsFilterGUI $filter
 
Service SkillPersonalGUIRequest $personal_gui_request
 
ilSkillTreeRepository $tree_repo
 
ilSkillLevelRepository $level_repo
 
Service SkillTreeService $tree_service
 
Service SkillInternalManagerService $internal_manager
 
Profile SkillProfileManager $profile_manager
 
Profile SkillProfileCompletionManager $profile_completion_manager
 
Personal PersonalSkillManager $personal_manager
 
Personal AssignedMaterialManager $assigned_material_manager
 
Personal SelfEvaluationManager $self_evaluation_manager
 
Resource SkillResourcesManager $resource_manager
 
Table TableManager $table_manager
 
ContainerSkills SkillInternalFactoryService $cont_factory_service
 
string $requested_list_mode = self::LIST_PROFILES
 
int $requested_node_id = 0
 
int $requested_profile_id = 0
 
int $requested_skill_id = 0
 
array $requested_skill_ids = []
 
int $requested_basic_skill_id = 0
 
int $requested_tref_id = 0
 
int $requested_level_id = 0
 
string $requested_table_assign_materials_action = ""
 
array $requested_table_assign_materials_level_ids = []
 
int $requested_table_assign_materials_wsp_id = 0
 
array $requested_wsp_ids = []
 
array $trigger_user_filter = []
 

Detailed Description

Personal skills GUI class.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e ilPersonalSkillsGUI:

Definition at line 43 of file class.ilPersonalSkillsGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilPersonalSkillsGUI::__construct ( )

Definition at line 168 of file class.ilPersonalSkillsGUI.php.

References $ctrl, $DIC, $help, $ilSetting, $lng, $setting, ILIAS\Repository\access(), ILIAS\Repository\ctrl(), ILIAS\Repository\filter(), ILIAS\Repository\help(), ILIAS\Repository\lng(), ilLanguage\loadLanguageModule(), ILIAS\Repository\tabs(), ILIAS\Repository\toolbar(), ILIAS\Repository\ui(), and ILIAS\Repository\user().

169  {
170  global $DIC;
171 
172  $this->ctrl = $DIC->ctrl();
173  $this->lng = $DIC->language();
174  $this->help = $DIC["ilHelp"];
175  $this->setting = $DIC["ilSetting"];
176  $this->user = $DIC->user();
177  $this->tpl = $DIC["tpl"];
178  $this->tabs = $DIC->tabs();
179  $this->toolbar = $DIC->toolbar();
180  $this->access = $DIC->access();
181  $this->ui_fac = $DIC->ui()->factory();
182  $this->ui_ren = $DIC->ui()->renderer();
183  $this->request = $DIC->http()->request();
184  $this->ui = $DIC->ui();
185  $this->storage = $DIC->resourceStorage();
186  $this->data_fac = new \ILIAS\Data\Factory();
187  $this->tree = $DIC->repositoryTree();
188  $this->obj_definition = $DIC["objDefinition"];
189  $this->personal_gui_request = $DIC->skills()->internal()->gui()->personal_request();
190  $this->tree_repo = $DIC->skills()->internal()->repo()->getTreeRepo();
191  $this->level_repo = $DIC->skills()->internal()->repo()->getLevelRepo();
192  $this->tree_service = $DIC->skills()->tree();
193  $this->internal_manager = $DIC->skills()->internal()->manager();
194  $this->profile_manager = $this->internal_manager->getProfileManager();
195  $this->profile_completion_manager = $this->internal_manager->getProfileCompletionManager();
196  $this->personal_manager = $this->internal_manager->getPersonalSkillManager();
197  $this->assigned_material_manager = $this->internal_manager->getAssignedMaterialManager();
198  $this->self_evaluation_manager = $this->internal_manager->getSelfEvaluationManager();
199  $this->resource_manager = $this->internal_manager->getResourceManager();
200  $this->table_manager = $this->internal_manager->getTableManager();
201  $this->cont_factory_service = $DIC->skills()->internalContainer()->factory();
202 
203  $ilCtrl = $this->ctrl;
204  $ilHelp = $this->help;
205  $lng = $this->lng;
207 
208 
209  $lng->loadLanguageModule('skmg');
210  $ilHelp->setScreenIdComponent("skill");
211 
212  $ilCtrl->saveParameter($this, "skill_id");
213  $ilCtrl->saveParameter($this, "tref_id");
214  $ilCtrl->saveParameter($this, "profile_id");
215  $ilCtrl->saveParameter($this, "list_mode");
216 
217  $this->requested_list_mode = $this->personal_gui_request->getListMode();
218  $this->requested_node_id = $this->personal_gui_request->getNodeId();
219  $this->requested_profile_id = $this->personal_gui_request->getProfileId();
220  $this->requested_skill_id = $this->personal_gui_request->getSkillId();
221  $this->requested_skill_ids = $this->personal_gui_request->getSkillIds();
222  $this->requested_basic_skill_id = $this->personal_gui_request->getBasicSkillId();
223  $this->requested_tref_id = $this->personal_gui_request->getTrefId();
224  $this->requested_level_id = $this->personal_gui_request->getLevelId();
225  $this->requested_wsp_ids = $this->personal_gui_request->getWorkspaceIds();
226  $this->requested_table_assign_materials_action = $this->personal_gui_request->getTableAssignMaterialsAction();
227  $this->requested_table_assign_materials_level_ids = $this->personal_gui_request->getTableAssignMaterialsLevelIds();
228  $this->requested_table_assign_materials_wsp_id = $this->personal_gui_request->getTableAssignMaterialsWorkspaceId();
229 
230  $this->user_profiles = $this->profile_manager->getProfilesOfUser($this->user->getId());
231  $this->cont_profiles = [];
232 
233  $this->use_materials = !$ilSetting->get("disable_personal_workspace");
234 
235  $this->skmg_settings = new ilSkillManagementSettings();
236 
237  $this->filter = new ilPersonalSkillsFilterGUI();
238  }
loadLanguageModule(string $a_module)
Load language module.
global $DIC
Definition: shib_login.php:22
global $ilSetting
Definition: privfeed.php:31
filter(string $filter_id, $class_path, string $cmd, bool $activated=true, bool $expanded=true)
+ Here is the call graph for this function:

Member Function Documentation

◆ addSkill()

ilPersonalSkillsGUI::addSkill ( )

Definition at line 845 of file class.ilPersonalSkillsGUI.php.

References $ctrl, $lng, $requested_node_id, $user, and ilLanguage\txt().

845  : void
846  {
847  $ilCtrl = $this->ctrl;
848  $ilUser = $this->user;
849  $lng = $this->lng;
850 
851  $this->personal_manager->addPersonalSkill($ilUser->getId(), $this->requested_node_id);
852 
853  $this->tpl->setOnScreenMessage('success', $lng->txt("msg_object_modified"));
854  $ilCtrl->setParameter($this, "list_mode", self::LIST_SELECTED);
855  $ilCtrl->redirect($this, "listSkills");
856  }
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...
+ Here is the call graph for this function:

◆ applyFilter()

ilPersonalSkillsGUI::applyFilter ( )
protected

Definition at line 467 of file class.ilPersonalSkillsGUI.php.

References ILIAS\Repository\ctrl(), and getFilter().

467  : void
468  {
469  $this->getFilter()->save();
470  $this->ctrl->setParameter($this, "list_mode", self::LIST_SELECTED);
471  $this->ctrl->redirect($this, "listSkills");
472  }
+ Here is the call graph for this function:

◆ applyFilterAssignedProfiles()

ilPersonalSkillsGUI::applyFilterAssignedProfiles ( )
protected

Apply filter for profiles view.

Definition at line 477 of file class.ilPersonalSkillsGUI.php.

References ILIAS\Repository\ctrl(), and getFilter().

477  : void
478  {
479  $this->getFilter()->save();
480  $this->ctrl->redirect($this, "listAssignedProfile");
481  }
+ Here is the call graph for this function:

◆ assignMaterial()

ilPersonalSkillsGUI::assignMaterial ( )

Assign materials to skill level.

Definition at line 983 of file class.ilPersonalSkillsGUI.php.

References $ctrl, $ilSetting, $lng, $message, $setting, $tabs, $tpl, $ui, $url, $user, ILIAS\DI\UIServices\factory(), ILIAS\DI\UIServices\renderer(), ILIAS\UICore\GlobalTemplate\setContent(), ilTreeExplorerGUI\setTypeWhiteList(), and ilLanguage\txt().

983  : void
984  {
985  $ilCtrl = $this->ctrl;
986  $ilUser = $this->user;
987  $lng = $this->lng;
988  $tpl = $this->tpl;
989  $ilTabs = $this->tabs;
991  $ui = $this->ui;
992 
993  $message = "";
994  if (!$ilSetting->get("disable_personal_workspace")) {
995  $url = 'ilias.php?baseClass=ilDashboardGUI&cmd=jumpToWorkspace';
996  $mbox = $ui->factory()->messageBox()->info($lng->txt("skmg_ass_materials_from_workspace"))
997  ->withLinks([$ui->factory()->link()->standard(
998  $lng->txt("personal_resources"),
999  $url
1000  )]);
1001  $message = $ui->renderer()->render($mbox);
1002  }
1003 
1004  if ($this->requested_table_assign_materials_action === "assignMaterials"
1005  && !empty($this->requested_table_assign_materials_level_ids)) {
1006  $ilCtrl->setParameter($this, "level_id", $this->requested_table_assign_materials_level_ids[0]);
1007  }
1008  $ilCtrl->saveParameter($this, "skill_id");
1009  $ilCtrl->saveParameter($this, "level_id");
1010  $ilCtrl->saveParameter($this, "tref_id");
1011  $ilCtrl->saveParameter($this, "basic_skill_id");
1012 
1013  $ilTabs->setBackTarget(
1014  $lng->txt("back"),
1015  $ilCtrl->getLinkTarget($this, "assignMaterials")
1016  );
1017 
1018 
1019  $exp = new ilWorkspaceExplorerGUI($ilUser->getId(), $this, "assignMaterial", $this, "");
1020  $exp->setTypeWhiteList(array("blog", "wsrt", "wfld", "file", "tstv", "excv"));
1021  $exp->setSelectableTypes(array("file", "tstv", "excv"));
1022  $exp->setSelectMode("wsp_ids", true);
1023  if ($exp->handleCommand()) {
1024  return;
1025  }
1026 
1027  // fill template
1028  $mtpl = new ilTemplate("tpl.materials_selection.html", true, true, "components/ILIAS/Skill");
1029  $mtpl->setVariable("EXP", $exp->getHTML());
1030 
1031  // toolbars
1032  $tb = new ilToolbarGUI();
1033  $tb->addFormButton(
1034  $lng->txt("select"),
1035  "selectMaterial"
1036  );
1037  $tb->setFormAction($ilCtrl->getFormAction($this));
1038  $tb->setOpenFormTag(true);
1039  $tb->setCloseFormTag(false);
1040  $mtpl->setVariable("TOOLBAR1", $tb->getHTML());
1041  $tb->setOpenFormTag(false);
1042  $tb->setCloseFormTag(true);
1043  $mtpl->setVariable("TOOLBAR2", $tb->getHTML());
1044 
1045  $tpl->setContent($message . $mtpl->get());
1046  }
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...
setTypeWhiteList(array $a_val)
Set type white list.
setContent(string $a_html)
Sets content for standard template.
$url
Definition: shib_logout.php:66
renderer()
Get a renderer for UI components.
Definition: UIServices.php:44
Explorer for selecting a personal workspace item.
ilGlobalTemplateInterface $tpl
global $ilSetting
Definition: privfeed.php:31
$message
Definition: xapiexit.php:31
factory()
Get the factory that crafts UI components.
Definition: UIServices.php:36
+ Here is the call graph for this function:

◆ assignMaterials()

ilPersonalSkillsGUI::assignMaterials ( )

Assign materials to skill levels.

Definition at line 911 of file class.ilPersonalSkillsGUI.php.

References Vendor\Package\$b, $ctrl, $lng, $requested_skill_id, $tabs, $toolbar, $tpl, ilSkillTemplateReference\_lookupTemplateId(), ilSkillTreeNode\_lookupTitle(), ilSkillTreeNode\_lookupType(), ilUtil\getImagePath(), ilTabsGUI\setBackTarget(), ILIAS\UICore\GlobalTemplate\setContent(), ilSelectInputGUI\setOptions(), ILIAS\UICore\GlobalTemplate\setTitle(), ILIAS\UICore\GlobalTemplate\setTitleIcon(), and ilLanguage\txt().

911  : void
912  {
913  $ilCtrl = $this->ctrl;
914  $lng = $this->lng;
915  $tpl = $this->tpl;
916  $ilToolbar = $this->toolbar;
917  $ilTabs = $this->tabs;
918 
919  $cmd = ($this->requested_list_mode == self::LIST_SELECTED || empty($this->user_profiles))
920  ? "render"
921  : "listAssignedProfile";
922  $ilTabs->setBackTarget(
923  $lng->txt("back"),
924  $ilCtrl->getLinkTarget($this, $cmd)
925  );
926 
927  $ilCtrl->saveParameter($this, "skill_id");
928  $ilCtrl->saveParameter($this, "basic_skill_id");
929  $ilCtrl->saveParameter($this, "tref_id");
930 
931  $tpl->setTitle(ilSkillTreeNode::_lookupTitle($this->requested_skill_id));
932  $tpl->setTitleIcon(ilUtil::getImagePath("standard/icon_" .
933  ilSkillTreeNode::_lookupType($this->requested_skill_id) .
934  ".svg"));
935 
936  // basic skill selection
937  $vtree = $this->tree_repo->getVirtualTreeForNodeId($this->requested_skill_id);
938  $tref_id = 0;
939  $skill_id = $this->requested_skill_id;
940  if (ilSkillTreeNode::_lookupType($this->requested_skill_id) == "sktr") {
941  $tref_id = $this->requested_skill_id;
942  $skill_id = ilSkillTemplateReference::_lookupTemplateId($this->requested_skill_id);
943  }
944  $bs = $vtree->getSubTreeForCSkillId($skill_id . ":" . $tref_id, true);
945 
946  $options = [];
947  foreach ($bs as $b) {
948  $options[$b["skill_id"]] = ilSkillTreeNode::_lookupTitle((int) $b["skill_id"]);
949  }
950 
951  $cur_basic_skill_id = ($this->requested_basic_skill_id > 0)
952  ? $this->requested_basic_skill_id
953  : key($options);
954 
955  $ilCtrl->setParameter($this, "basic_skill_id", $cur_basic_skill_id);
956 
957  if (count($options) > 1) {
958  $si = new ilSelectInputGUI($lng->txt("skmg_skill"), "basic_skill_id");
959  $si->setOptions($options);
960  $si->setValue($cur_basic_skill_id);
961  $ilToolbar->addInputItem($si, true);
962  $ilToolbar->addFormButton(
963  $lng->txt("select"),
964  "assignMaterials"
965  );
966 
967  $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
968  }
969 
970  $table = $this->table_manager->getAssignMaterialsTable(
971  $this->requested_skill_id,
972  $this->requested_tref_id,
973  $cur_basic_skill_id
974  )->getComponent();
975 
976  $tpl->setContent($this->ui_ren->render($table));
977  }
This class represents a selection list property in a property form.
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...
static _lookupTitle(int $a_obj_id, int $a_tref_id=0)
setContent(string $a_html)
Sets content for standard template.
setTitle(string $a_title, bool $hidden=false)
Sets title in standard template.
setOptions(array $a_options)
static _lookupType(int $a_obj_id)
setBackTarget(string $a_title, string $a_target, string $a_frame="")
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
setTitleIcon(string $a_icon_path, string $a_icon_desc="")
set title icon
ilGlobalTemplateInterface $tpl
+ Here is the call graph for this function:

◆ confirmSkillRemove()

ilPersonalSkillsGUI::confirmSkillRemove ( )

Definition at line 858 of file class.ilPersonalSkillsGUI.php.

References $ctrl, $lng, $requested_skill_id, $tpl, ilSkillTreeNode\_lookupTitle(), ILIAS\UICore\GlobalTemplate\setContent(), and ilLanguage\txt().

858  : void
859  {
860  $lng = $this->lng;
861  $tpl = $this->tpl;
862  $ilCtrl = $this->ctrl;
863 
864  if ($this->requested_skill_id > 0) {
865  $this->requested_skill_ids[] = $this->requested_skill_id;
866  }
867  if (empty($this->requested_skill_ids)) {
868  $this->tpl->setOnScreenMessage('info', $lng->txt("no_checkbox"), true);
869  $ilCtrl->setParameter($this, "list_mode", self::LIST_SELECTED);
870  $ilCtrl->redirect($this, "listSkills");
871  } else {
872  $cgui = new ilConfirmationGUI();
873  $cgui->setFormAction($ilCtrl->getFormAction($this));
874  $cgui->setHeaderText($lng->txt("skmg_really_remove_skills"));
875  $cgui->setCancel($lng->txt("cancel"), "listSkills");
876  $cgui->setConfirm($lng->txt("remove"), "removeSkills");
877 
878  foreach ($this->requested_skill_ids as $i) {
879  $cgui->addItem("id[]", (string) $i, ilSkillTreeNode::_lookupTitle($i));
880  }
881 
882  $tpl->setContent($cgui->getHTML());
883  }
884  }
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...
static _lookupTitle(int $a_obj_id, int $a_tref_id=0)
setContent(string $a_html)
Sets content for standard template.
ilGlobalTemplateInterface $tpl
+ Here is the call graph for this function:

◆ executeCommand()

ilPersonalSkillsGUI::executeCommand ( )

Definition at line 345 of file class.ilPersonalSkillsGUI.php.

References $ctrl, $lng, $tpl, and $user.

345  : void
346  {
347  $ilCtrl = $this->ctrl;
348  $ilUser = $this->user;
349  $lng = $this->lng;
350  $tpl = $this->tpl;
351 
352  $next_class = $ilCtrl->getNextClass($this);
353 
354 
355  $cmd = $ilCtrl->getCmd("render");
356 
357  //$tpl->setTitle($lng->txt("skills"));
358  //$tpl->setTitleIcon(ilUtil::getImagePath("standard/icon_skmg.svg"));
359 
360  switch ($next_class) {
361  default:
362  $this->$cmd();
363  break;
364  }
365  }
ilGlobalTemplateInterface $tpl

◆ getActualGapItem()

ilPersonalSkillsGUI::getActualGapItem ( array  $a_levels,
int  $a_tref_id = 0 
)

Definition at line 1763 of file class.ilPersonalSkillsGUI.php.

References $gap_cat_title, $lng, ilObject\_lookupTitle(), ILIAS\UICore\GlobalTemplate\get(), getScaleBar(), ILIAS\UICore\GlobalTemplate\setVariable(), ILIAS\UICore\GlobalTemplate\touchBlock(), and ilLanguage\txt().

Referenced by renderSkillHTML().

1763  : string
1764  {
1765  $lng = $this->lng;
1766 
1767  $a_activated_levels = [];
1768  foreach ($a_levels as $k => $v) {
1769  if ($this->actual_levels[$v["skill_id"]][$a_tref_id] == $v["id"]) {
1770  $a_activated_levels[] = $v["id"];
1771  }
1772  }
1773 
1774  if (empty($a_activated_levels)) {
1775  return "";
1776  }
1777 
1778  $title = "";
1779  if ($this->gap_cat_title != "") {
1780  $title = $this->gap_cat_title;
1781  } elseif ($this->gap_mode == "max_per_type") {
1782  $title = $lng->txt("objs_" . $this->gap_mode_type);
1783  } elseif ($this->gap_mode == "max_per_object") {
1784  $title = ilObject::_lookupTitle($this->gap_mode_obj_id);
1785  }
1786 
1787  $tpl = new ilTemplate("tpl.skill_eval_item.html", true, true, "components/ILIAS/Skill");
1788  $tpl->setVariable("SCALE_BAR", $this->getScaleBar($a_levels, $a_activated_levels));
1789 
1790  $type = 1;
1791  $tpl->setVariable("TYPE", $lng->txt("skmg_eval_type_latest_" . $type));
1792  if ($type > 0) {
1793  $tpl->touchBlock("st" . $type);
1794  $tpl->touchBlock("stb" . $type);
1795  }
1796 
1797  if ($title != $lng->txt("skmg_eval_type_" . $type)) {
1798  $tpl->setVariable("TITLE", $title);
1799  }
1800 
1801  return $tpl->get();
1802  }
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...
touchBlock(string $block)
overwrites ITX::touchBlock.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
static _lookupTitle(int $obj_id)
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
ilGlobalTemplateInterface $tpl
getScaleBar(array $a_levels, $a_activated_levels)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAllEntriesLatestOnly()

ilPersonalSkillsGUI::getAllEntriesLatestOnly ( array  $entries)
protected

Definition at line 2063 of file class.ilPersonalSkillsGUI.php.

Referenced by getLatestEntriesForSkillHTML().

2063  : array
2064  {
2065  $first_self_added = false;
2066  $first_measurement_added = false;
2067  $first_appraisal_added = false;
2068  $latest_entries = [];
2069  foreach ($entries as $entry) {
2070  if (!$first_self_added && $entry["self_eval"] == 1) {
2071  $latest_entries[] = $entry;
2072  $first_self_added = true;
2073  continue;
2074  }
2075  if (!$first_measurement_added && $entry["trigger_obj_type"] == "tst") {
2076  $latest_entries[] = $entry;
2077  $first_measurement_added = true;
2078  continue;
2079  }
2080  if (!$first_appraisal_added && $entry["self_eval"] != 1 && $entry["trigger_obj_type"] != "tst") {
2081  $latest_entries[] = $entry;
2082  $first_appraisal_added = true;
2083  }
2084  }
2085 
2086  return $latest_entries;
2087  }
+ Here is the caller graph for this function:

◆ getAllEntriesWithoutLatest()

ilPersonalSkillsGUI::getAllEntriesWithoutLatest ( array  $entries)
protected

Definition at line 2089 of file class.ilPersonalSkillsGUI.php.

Referenced by getNonLatestEntriesForSkillHTML().

2089  : array
2090  {
2091  $first_self_filtered = false;
2092  $first_measurement_filtered = false;
2093  $first_appraisal_filtered = false;
2094  $non_latest_entries = [];
2095  foreach ($entries as $entry) {
2096  if (!$first_self_filtered && $entry["self_eval"] == 1) {
2097  $first_self_filtered = true;
2098  continue;
2099  }
2100  if (!$first_measurement_filtered && $entry["trigger_obj_type"] == "tst") {
2101  $first_measurement_filtered = true;
2102  continue;
2103  }
2104  if (!$first_appraisal_filtered && $entry["self_eval"] != 1 && $entry["trigger_obj_type"] != "tst") {
2105  $first_appraisal_filtered = true;
2106  continue;
2107  }
2108  $non_latest_entries[] = $entry;
2109  }
2110 
2111  return $non_latest_entries;
2112  }
+ Here is the caller graph for this function:

◆ getAllSuggestedResources()

ilPersonalSkillsGUI::getAllSuggestedResources ( int  $a_base_skill,
int  $a_tref_id 
)

Definition at line 2292 of file class.ilPersonalSkillsGUI.php.

References $lng, $r, $ref_id, $res, ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilObject\_lookupType(), ilBasicSkill\lookupLevelTitle(), null, and ilLanguage\txt().

Referenced by renderSkillHTML().

2295  : ?\ILIAS\UI\Component\Panel\Secondary\Secondary {
2296  $lng = $this->lng;
2297 
2298  $res = $this->resource_manager->getResources($a_base_skill, $a_tref_id);
2299  $any = false;
2300  $item_groups = [];
2301  foreach ($res as $level) {
2302  $available = false;
2303  $cl = 0;
2304  $items = [];
2305  foreach ($level as $r) {
2306  if ($r->getImparting()) {
2307  $ref_id = $r->getRepoRefId();
2309  $title = ilObject::_lookupTitle($obj_id);
2310  $icon = $this->ui_fac->symbol()->icon()->standard(
2312  $lng->txt("icon") . " " . $lng->txt(ilObject::_lookupType($obj_id))
2313  );
2314  $link = $this->ui_fac->link()->standard($title, ilLink::_getLink($ref_id));
2315  $items[] = $this->ui_fac->item()->standard($link)->withLeadIcon($icon);
2316  $available = true;
2317  $any = true;
2318  $cl = $r->getLevelId();
2319  }
2320  }
2321  if ($available) {
2322  $item_groups[] = $this->ui_fac->item()->group(ilBasicSkill::lookupLevelTitle($cl), $items);
2323  }
2324  }
2325  if ($any) {
2326  $sec_panel = $this->ui_fac->panel()->secondary()->listing(
2327  $lng->txt("skmg_suggested_resources"),
2328  $item_groups
2329  );
2330  return $sec_panel;
2331  }
2332 
2333  return null;
2334  }
$res
Definition: ltiservices.php:66
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...
static lookupLevelTitle(int $a_id)
static _lookupObjId(int $ref_id)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
$ref_id
Definition: ltiauth.php:65
static _lookupTitle(int $obj_id)
static _lookupType(int $id, bool $reference=false)
$r
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getBasicSkillDescription()

ilPersonalSkillsGUI::getBasicSkillDescription ( string  $description)
protected

Definition at line 2148 of file class.ilPersonalSkillsGUI.php.

References ILIAS\UICore\GlobalTemplate\get(), ILIAS\UICore\GlobalTemplate\parseCurrentBlock(), ILIAS\UICore\GlobalTemplate\setCurrentBlock(), and ILIAS\UICore\GlobalTemplate\setVariable().

Referenced by renderSkillHTML().

2148  : string
2149  {
2150  $tpl = new ilTemplate("tpl.skill_description_basic.html", true, true, "components/ILIAS/Skill");
2151 
2152  if (!empty($description)) {
2153  $tpl->setCurrentBlock("description_basic");
2154  $tpl->setVariable("DESCRIPTION_BASIC", $description);
2156  }
2157 
2158  return $tpl->get();
2159  }
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
ilGlobalTemplateInterface $tpl
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getEvalItem()

ilPersonalSkillsGUI::getEvalItem ( array  $a_levels,
array  $a_level_entry,
bool  $is_latest = false 
)

Definition at line 1859 of file class.ilPersonalSkillsGUI.php.

References $access, $lng, ilObject\_exists(), ilObject\_lookupTitle(), ilDatePresentation\formatDate(), ilObjectDataDeletionLog\get(), ILIAS\UICore\GlobalTemplate\get(), getScaleBar(), IL_CAL_DATETIME, ilDatePresentation\setUseRelativeDates(), ILIAS\UICore\GlobalTemplate\setVariable(), ILIAS\UICore\GlobalTemplate\touchBlock(), and ilLanguage\txt().

Referenced by getLatestEntriesForSkillHTML(), and getNonLatestEntriesForSkillHTML().

1859  : string
1860  {
1861  $lng = $this->lng;
1862  $ilAccess = $this->access;
1863 
1864  $tpl = new ilTemplate("tpl.skill_eval_item.html", true, true, "components/ILIAS/Skill");
1865  $tpl->setVariable("SCALE_BAR", $this->getScaleBar($a_levels, $a_level_entry["level_id"]));
1866 
1867  $type = Personal\SkillEval::TYPE_APPRAISAL;
1868 
1869  if ($a_level_entry["self_eval"] == 1) {
1870  $type = Personal\SkillEval::TYPE_SELF_EVAL;
1871  }
1872 
1873  if ($a_level_entry["trigger_obj_type"] == "tst") {
1874  $type = Personal\SkillEval::TYPE_MEASUREMENT;
1875  }
1876 
1878  $title = "";
1879  if ($a_level_entry["trigger_obj_id"] > 0) {
1880  if (ilObject::_exists($a_level_entry["trigger_ref_id"], true)) {
1881  $title = ilObject::_lookupTitle($a_level_entry["trigger_obj_id"]);
1882  } elseif (!empty($del_data = ilObjectDataDeletionLog::get($a_level_entry["trigger_obj_id"]))) {
1883  $title = $del_data["title"];
1884  } else {
1885  $title = ($a_level_entry["trigger_title"]) ?? "";
1886  }
1887  }
1888 
1889  if ($a_level_entry["trigger_ref_id"] > 0
1890  && $ilAccess->checkAccess("read", "", $a_level_entry["trigger_ref_id"])) {
1891  $title = "<a href='" . ilLink::_getLink($a_level_entry["trigger_ref_id"]) . "'>" . $title . "</a>";
1892  }
1893 
1894  if ($is_latest) {
1895  $tpl->setVariable("TYPE", $lng->txt("skmg_eval_type_latest_" . $type));
1896  } else {
1897  $tpl->setVariable("TYPE", $lng->txt("skmg_eval_type_" . $type));
1898  }
1899  if ($type > 0) {
1900  $tpl->touchBlock("st" . $type);
1901  $tpl->touchBlock("stb" . $type);
1902  }
1903  $tpl->setVariable("TITLE", $title);
1904  $tpl->setVariable(
1905  "DATE",
1906  ilDatePresentation::formatDate(new ilDate($a_level_entry["status_date"], IL_CAL_DATETIME))
1907  );
1908 
1910 
1911  return $tpl->get();
1912  }
static array static setUseRelativeDates(bool $a_status)
set use relative dates
const IL_CAL_DATETIME
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...
touchBlock(string $block)
overwrites ITX::touchBlock.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
static _exists(int $id, bool $reference=false, ?string $type=null)
checks if an object exists in object_data
static _lookupTitle(int $obj_id)
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
ilGlobalTemplateInterface $tpl
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false, ?ilObjUser $user=null,)
getScaleBar(array $a_levels, $a_activated_levels)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFilter()

ilPersonalSkillsGUI::getFilter ( )

◆ getFilteredEntriesForSkill()

ilPersonalSkillsGUI::getFilteredEntriesForSkill ( array  $entries,
int  $top_skill_id,
array  $bs,
ilObjUser  $user 
)
protected

Definition at line 2012 of file class.ilPersonalSkillsGUI.php.

References getFilter(), ilObject\getId(), getTriggerObjectsFilter(), and getTriggerUserFilter().

Referenced by getLatestEntriesForSkillHTML(), and getNonLatestEntriesForSkillHTML().

2017  : array {
2018  // get date of self evaluation
2019  $se_date = $this->self_evaluation_manager->getSelfEvaluationDate($user->getId(), $top_skill_id, $bs["tref"], $bs["id"]);
2020  $se_rendered = $se_date == "";
2021 
2022  $filtered_entries = [];
2023  foreach ($entries as $level_entry) {
2024  if (count($this->getTriggerObjectsFilter()) && !in_array($level_entry['trigger_obj_id'], $this->getTriggerObjectsFilter())) {
2025  continue;
2026  }
2027  if (count($this->getTriggerUserFilter()) && !in_array($level_entry['trigger_user_id'], $this->getTriggerUserFilter())) {
2028  continue;
2029  }
2030 
2031  // render the self evaluation at the correct position within the list of object triggered entries
2032  if ($se_date > $level_entry["status_date"] && !$se_rendered) {
2033  $se_rendered = true;
2034  }
2035  if ($this->getFilter()->isInRange($level_entry)) {
2036  $filtered_entries[] = $level_entry;
2037  }
2038  }
2039 
2040  return $filtered_entries;
2041  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getGapAnalysisSelfEvalLevels()

ilPersonalSkillsGUI::getGapAnalysisSelfEvalLevels ( )
Returns
array self evaluation values key1: base_skill_id, key2: tref_id: value: level id

Definition at line 266 of file class.ilPersonalSkillsGUI.php.

References $gap_self_eval_levels.

Referenced by getSelfEvalGapItem(), and setGapAnalysisActualStatusModePerObject().

266  : array
267  {
269  }
+ Here is the caller graph for this function:

◆ getHistoryView()

ilPersonalSkillsGUI::getHistoryView ( )

Definition at line 276 of file class.ilPersonalSkillsGUI.php.

References $history_view.

276  : bool
277  {
278  return $this->history_view;
279  }

◆ getLatestEntriesForSkillHTML()

ilPersonalSkillsGUI::getLatestEntriesForSkillHTML ( int  $top_skill_id,
array  $bs,
ilSkillTreeNode  $skill,
ilObjUser  $user,
int  $eval_type,
array  $level_data 
)
protected

Definition at line 1914 of file class.ilPersonalSkillsGUI.php.

References $id, $lng, ilBasicSkill\EVAL_BY_SELF, ILIAS\UICore\GlobalTemplate\get(), getAllEntriesLatestOnly(), getEvalItem(), getFilteredEntriesForSkill(), ilObject\getId(), getSelfEvalEntriesLatestOnly(), ILIAS\UICore\GlobalTemplate\parseCurrentBlock(), ILIAS\UICore\GlobalTemplate\setCurrentBlock(), ILIAS\UICore\GlobalTemplate\setVariable(), ilLanguage\txt(), and ILIAS\UI\Implementation\Component\withOnLoadCode().

Referenced by renderSkillHTML().

1921  : string {
1922  $lng = $this->lng;
1923 
1924  $tpl = new ilTemplate("tpl.skill_entries_latest.html", true, true, "components/ILIAS/Skill");
1925 
1926  $user_entries = $skill->getAllHistoricLevelEntriesOfUser($bs["tref"], $user->getId(), $eval_type);
1927  $user_entries_filtered = $this->getFilteredEntriesForSkill(
1928  $user_entries,
1929  $top_skill_id,
1930  $bs,
1931  $user
1932  );
1933  if ($eval_type == ilBasicSkill::EVAL_BY_SELF) {
1934  $latest_entries = $this->getSelfEvalEntriesLatestOnly($user_entries_filtered);
1935  } else {
1936  $latest_entries = $this->getAllEntriesLatestOnly($user_entries_filtered);
1937  }
1938 
1939  $latest_entries_html = "";
1940  foreach ($latest_entries as $entry) {
1941  $latest_entries_html .= $this->ui_ren->render(
1942  $this->ui_fac->legacy()->content($this->getEvalItem($level_data, $entry, true))
1943  );
1944  }
1945 
1946  if (!empty($latest_entries_html)) {
1947  $tpl->setVariable("SKILL_ENTRIES", $latest_entries_html);
1948 
1949  if (count($user_entries_filtered) != count($latest_entries)) {
1950  $tpl->setCurrentBlock("all_entries_button");
1951  $show_all_button = $this->ui_fac->button()->standard($lng->txt("skmg_show_all"), "#")
1952  ->withOnLoadCode(function ($id) {
1953  return "$('#$id').on('click', function() {SkillEntries.showNonLatest($id); return false;})";
1954  });
1955  $tpl->setVariable("BUTTON", $this->ui_ren->render($show_all_button));
1957  }
1958 
1959  return $tpl->get();
1960  }
1961 
1962  return "";
1963  }
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
getEvalItem(array $a_levels, array $a_level_entry, bool $is_latest=false)
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...
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
ilGlobalTemplateInterface $tpl
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
getFilteredEntriesForSkill(array $entries, int $top_skill_id, array $bs, ilObjUser $user)
getSelfEvalEntriesLatestOnly(array $entries)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getMaterialInfo()

ilPersonalSkillsGUI::getMaterialInfo ( int  $a_wsp_id,
int  $a_user_id 
)

Get material file name and goto url.

Definition at line 790 of file class.ilPersonalSkillsGUI.php.

References $url, ilObject\_lookupTitle(), ilObject\_lookupType(), and getOfflineMode().

Referenced by getMaterials().

790  : array
791  {
792  $ws_tree = new ilWorkspaceTree($a_user_id);
793  $ws_access = new ilWorkspaceAccessHandler();
794 
795  $obj_id = $ws_tree->lookupObjectId($a_wsp_id);
796  $caption = ilObject::_lookupTitle($obj_id);
797 
798  if (!$this->getOfflineMode()) {
799  $url = $ws_access->getGotoLink($a_wsp_id, $obj_id);
800  } else {
801  $url = $this->getOfflineMode() . "file_" . $obj_id . "/";
802 
803  // all possible material types for now
804  switch (ilObject::_lookupType($obj_id)) {
805  case "tstv":
806  $obj = new ilObjTestVerification($obj_id, false);
807  $url .= $obj->getOfflineFilename();
808  break;
809 
810  case "excv":
811  $obj = new ilObjExerciseVerification($obj_id, false);
812  $url .= $obj->getOfflineFilename();
813  break;
814 
815  case "crsv":
816  $obj = new ilObjCourseVerification($obj_id, false);
817  $url .= $obj->getOfflineFilename();
818  break;
819 
820  case "cmxv":
821  $obj = new ilObjCmiXapiVerification($obj_id, false);
822  $url .= $obj->getOfflineFilename();
823  break;
824 
825  case "ltiv":
826  $obj = new ilObjLTIConsumerVerification($obj_id, false);
827  $url .= $obj->getOfflineFilename();
828  break;
829 
830  case "scov":
831  $obj = new ilObjSCORMVerification($obj_id, false);
832  $url .= $obj->getOfflineFilename();
833  break;
834 
835  case "file":
836  $file = new ilObjFile($obj_id, false);
837  $url .= $file->getFileName();
838  break;
839  }
840  }
841 
842  return array($caption, $url, $obj_id);
843  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$url
Definition: shib_logout.php:66
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _lookupTitle(int $obj_id)
Class ilObjFile.
static _lookupType(int $id, bool $reference=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getMaterials()

ilPersonalSkillsGUI::getMaterials ( array  $a_levels,
int  $a_tref_id = 0,
int  $a_user_id = 0 
)

Definition at line 1680 of file class.ilPersonalSkillsGUI.php.

References $lng, $user, ilObject\_lookupType(), getMaterialInfo(), null, and ilLanguage\txt().

Referenced by renderSkillHTML().

1680  : ?\ILIAS\UI\Component\Panel\Sub
1681  {
1682  $ilUser = $this->user;
1683  $lng = $this->lng;
1684 
1685  if ($a_user_id == 0) {
1686  $a_user_id = $ilUser->getId();
1687  }
1688 
1689  // only render, if materials given
1690  $got_mat = false;
1691  foreach ($a_levels as $v) {
1692  $mat_cnt = $this->assigned_material_manager->countAssignedMaterials(
1693  $a_user_id,
1694  $a_tref_id,
1695  (int) $v["id"]
1696  );
1697  if ($mat_cnt > 0) {
1698  $got_mat = true;
1699  }
1700  }
1701  if (!$got_mat) {
1702  return null;
1703  }
1704 
1705  $item_groups = [];
1706  foreach ($a_levels as $k => $v) {
1707  $got_mat = false;
1708  $items = [];
1709  foreach ($this->assigned_material_manager->getAssignedMaterials(
1710  $a_user_id,
1711  $a_tref_id,
1712  (int) $v["id"]
1713  ) as $item) {
1714  $mat_data = $this->getMaterialInfo($item->getWorkspaceId(), $a_user_id);
1715  $title = $mat_data[0];
1716  $icon = $this->ui_fac->symbol()->icon()->standard(
1717  ilObject::_lookupType($mat_data[2]),
1718  $lng->txt("icon") . " " . $lng->txt(ilObject::_lookupType($mat_data[2]))
1719  );
1720  $link = $this->ui_fac->link()->standard($title, $mat_data[1]);
1721  $items[] = $this->ui_fac->item()->standard($link)->withLeadIcon($icon);
1722  $got_mat = true;
1723  }
1724  if ($got_mat) {
1725  $item_groups[] = $this->ui_fac->item()->group($v["title"], $items);
1726  }
1727  }
1728  $mat_panel = $this->ui_fac->panel()->sub(
1729  $lng->txt("skmg_materials"),
1730  $item_groups
1731  );
1732 
1733  return $mat_panel;
1734  }
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...
getMaterialInfo(int $a_wsp_id, int $a_user_id)
Get material file name and goto url.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
static _lookupType(int $id, bool $reference=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getNonHistoricGapModeView()

ilPersonalSkillsGUI::getNonHistoricGapModeView ( )

Definition at line 281 of file class.ilPersonalSkillsGUI.php.

Referenced by renderSkillHTML().

281  : bool
282  {
283  return ($this->mode == "gap" && !$this->history_view);
284  }
+ Here is the caller graph for this function:

◆ getNonLatestEntriesForSkillHTML()

ilPersonalSkillsGUI::getNonLatestEntriesForSkillHTML ( int  $top_skill_id,
array  $bs,
ilSkillTreeNode  $skill,
ilObjUser  $user,
int  $eval_type,
array  $level_data 
)
protected

Definition at line 1965 of file class.ilPersonalSkillsGUI.php.

References $id, $lng, ilBasicSkill\EVAL_BY_SELF, ILIAS\UICore\GlobalTemplate\get(), getAllEntriesWithoutLatest(), getEvalItem(), getFilteredEntriesForSkill(), ilObject\getId(), getSelfEvalEntriesWithoutLatest(), ILIAS\UICore\GlobalTemplate\setVariable(), ilLanguage\txt(), and ILIAS\UI\Implementation\Component\withOnLoadCode().

Referenced by renderSkillHTML().

1972  : string {
1973  $lng = $this->lng;
1974 
1975  $tpl = new ilTemplate("tpl.skill_entries_non_latest.html", true, true, "components/ILIAS/Skill");
1976 
1977  $user_entries = $skill->getAllHistoricLevelEntriesOfUser($bs["tref"], $user->getId(), $eval_type);
1978  $user_entries_filtered = $this->getFilteredEntriesForSkill(
1979  $user_entries,
1980  $top_skill_id,
1981  $bs,
1982  $user
1983  );
1984  if ($eval_type == ilBasicSkill::EVAL_BY_SELF) {
1985  $non_latest_entries = $this->getSelfEvalEntriesWithoutLatest($user_entries_filtered);
1986  } else {
1987  $non_latest_entries = $this->getAllEntriesWithoutLatest($user_entries_filtered);
1988  }
1989 
1990  $non_latest_entries_filtered_html = "";
1991  foreach ($non_latest_entries as $entry) {
1992  $non_latest_entries_filtered_html .= $this->ui_ren->render(
1993  $this->ui_fac->legacy()->content($this->getEvalItem($level_data, $entry, false))
1994  );
1995  }
1996 
1997  if (!empty($non_latest_entries_filtered_html)) {
1998  $tpl->setVariable("SKILL_ENTRIES", $non_latest_entries_filtered_html);
1999 
2000  $show_latest_button = $this->ui_fac->button()->standard($lng->txt("skmg_show_latest_entries"), "#")
2001  ->withOnLoadCode(function ($id) {
2002  return "$('#$id').on('click', function() {SkillEntries.hideNonLatest($id); return false;})";
2003  });
2004  $tpl->setVariable("BUTTON", $this->ui_ren->render($show_latest_button));
2005 
2006  return $tpl->get();
2007  }
2008 
2009  return "";
2010  }
getEvalItem(array $a_levels, array $a_level_entry, bool $is_latest=false)
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...
setVariable(string $variable, $value='')
Sets the given variable to the given value.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
ilGlobalTemplateInterface $tpl
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
getFilteredEntriesForSkill(array $entries, int $top_skill_id, array $bs, ilObjUser $user)
getSelfEvalEntriesWithoutLatest(array $entries)
getAllEntriesWithoutLatest(array $entries)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getObjectId()

ilPersonalSkillsGUI::getObjectId ( )

Definition at line 317 of file class.ilPersonalSkillsGUI.php.

References $obj_id.

317  : int
318  {
319  return $this->obj_id;
320  }

◆ getObjectSkills()

ilPersonalSkillsGUI::getObjectSkills ( )
Returns
[]

Definition at line 325 of file class.ilPersonalSkillsGUI.php.

References $obj_skills.

Referenced by listRecordsForGap(), and setGapAnalysisActualStatusModePerObject().

325  : array
326  {
327  return $this->obj_skills;
328  }
+ Here is the caller graph for this function:

◆ getOfflineMode()

ilPersonalSkillsGUI::getOfflineMode ( )

Definition at line 402 of file class.ilPersonalSkillsGUI.php.

References $offline_mode.

Referenced by getMaterialInfo().

402  : string
403  {
404  return $this->offline_mode;
405  }
+ Here is the caller graph for this function:

◆ getProfileId()

ilPersonalSkillsGUI::getProfileId ( )

Definition at line 250 of file class.ilPersonalSkillsGUI.php.

References $profile_id.

Referenced by getSkillEntriesHeader(), listAssignedProfile(), renderSkillHTML(), and setGapAnalysisActualStatusModePerObject().

250  : int
251  {
252  return $this->profile_id;
253  }
+ Here is the caller graph for this function:

◆ getProfilesListed()

ilPersonalSkillsGUI::getProfilesListed ( array  $profiles,
bool  $gap_mode = false 
)
protected
Parameters
Profile

Definition at line 1317 of file class.ilPersonalSkillsGUI.php.

References ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ILIAS\Repository\user().

Referenced by listAllAssignedProfiles(), and listAllProfilesForGap().

1318  {
1319  $prof_items = [];
1320 
1321  foreach ($profiles as $p) {
1322  $image_id = $p->getImageId();
1323  if ($image_id) {
1324  $identification = $this->storage->manage()->find($image_id);
1325  $src = $this->storage->consume()->src($identification);
1326  $image = $this->ui_fac->image()->responsive($src->getSrc(), $this->lng->txt("skmg_custom_image_alt"));
1327  } else {
1328  $image = $this->ui_fac->image()->responsive(
1329  "./assets/images/logo/ilias_logo_72x72.png",
1330  "ILIAS"
1331  );
1332  }
1333 
1334  $this->ctrl->setParameter($this, "profile_id", $p->getId());
1335  $link = $this->ui_fac->link()->standard(
1336  $p->getTitle(),
1337  $this->ctrl->getLinkTarget($this, $gap_mode ? "listProfileForGap" : "listAssignedProfile")
1338  );
1339  $this->ctrl->setParameter($this, "profile_id", "");
1340 
1341  $chart_value = $this->profile_completion_manager->getProfileProgress($this->user->getId(), $p->getId());
1342  $prof_item = $this->ui_fac->item()->standard($link)
1343  ->withDescription($p->getDescription())
1344  ->withLeadImage($image)
1345  ->withProgress($this->ui_fac->chart()->progressMeter()->standard(100, $chart_value));
1346 
1347  $prof_items[] = $prof_item;
1348  }
1349 
1350  $prof_list = $this->ui_fac->panel()->listing()->standard("", array(
1351  $this->ui_fac->item()->group("", $prof_items)
1352  ));
1353 
1354  return $prof_list;
1355  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getProfileTargetItem()

ilPersonalSkillsGUI::getProfileTargetItem ( int  $a_profile_id,
array  $a_levels,
int  $a_tref_id = 0 
)

Definition at line 1736 of file class.ilPersonalSkillsGUI.php.

References $lng, ILIAS\UICore\GlobalTemplate\get(), getScaleBar(), ILIAS\UICore\GlobalTemplate\setVariable(), and ilLanguage\txt().

Referenced by renderSkillHTML().

1736  : string
1737  {
1738  $lng = $this->lng;
1739 
1740  $profile_levels = $this->profile_manager->getSkillLevels($a_profile_id);
1741 
1742  $a_activated_levels = [];
1743 
1744  foreach ($a_levels as $k => $v) {
1745  foreach ($profile_levels as $pl) {
1746  if ($pl->getLevelId() == $v["id"] &&
1747  $pl->getBaseSkillId() == $v["skill_id"] &&
1748  $a_tref_id == $pl->getTrefId()) {
1749  $a_activated_levels[] = $pl->getLevelId();
1750  }
1751  }
1752  }
1753 
1754  $tpl = new ilTemplate("tpl.skill_eval_item.html", true, true, "components/ILIAS/Skill");
1755  $tpl->setVariable("SCALE_BAR", $this->getScaleBar($a_levels, $a_activated_levels));
1756 
1757  $tpl->setVariable("TYPE", $lng->txt("skmg_target_level"));
1758  $tpl->setVariable("TITLE", "");
1759 
1760  return $tpl->get();
1761  }
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...
setVariable(string $variable, $value='')
Sets the given variable to the given value.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
ilGlobalTemplateInterface $tpl
getScaleBar(array $a_levels, $a_activated_levels)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getScaleBar()

ilPersonalSkillsGUI::getScaleBar ( array  $a_levels,
  $a_activated_levels 
)
Parameters
array$a_levels
array | string$a_activated_levels
Returns
string

Definition at line 1843 of file class.ilPersonalSkillsGUI.php.

Referenced by getActualGapItem(), getEvalItem(), getProfileTargetItem(), and getSelfEvalGapItem().

1843  : string
1844  {
1845  $vals = [];
1846 
1847  if (!is_array($a_activated_levels)) {
1848  $a_activated_levels = array($a_activated_levels);
1849  }
1850 
1851  foreach ($a_levels as $level) {
1852  $vals[$level["title"]] = (in_array($level["id"], $a_activated_levels));
1853  }
1854  $scale_bar = $this->ui_fac->chart()->scaleBar($vals);
1855 
1856  return $this->ui_ren->render($scale_bar);
1857  }
+ Here is the caller graph for this function:

◆ getSelfEvalEntriesLatestOnly()

ilPersonalSkillsGUI::getSelfEvalEntriesLatestOnly ( array  $entries)
protected

Definition at line 2043 of file class.ilPersonalSkillsGUI.php.

Referenced by getLatestEntriesForSkillHTML().

2043  : array
2044  {
2045  if (!empty($entries)) {
2046  $last_entry[] = $entries[0];
2047  return $last_entry;
2048  }
2049 
2050  return [];
2051  }
+ Here is the caller graph for this function:

◆ getSelfEvalEntriesWithoutLatest()

ilPersonalSkillsGUI::getSelfEvalEntriesWithoutLatest ( array  $entries)
protected

Definition at line 2053 of file class.ilPersonalSkillsGUI.php.

Referenced by getNonLatestEntriesForSkillHTML().

2053  : array
2054  {
2055  if (count($entries) > 1) {
2056  array_shift($entries);
2057  return $entries;
2058  }
2059 
2060  return [];
2061  }
+ Here is the caller graph for this function:

◆ getSelfEvalGapItem()

ilPersonalSkillsGUI::getSelfEvalGapItem ( array  $a_levels,
int  $a_tref_id = 0 
)

Definition at line 1804 of file class.ilPersonalSkillsGUI.php.

References $lng, ILIAS\UICore\GlobalTemplate\get(), getGapAnalysisSelfEvalLevels(), getScaleBar(), ILIAS\UICore\GlobalTemplate\setVariable(), ILIAS\UICore\GlobalTemplate\touchBlock(), and ilLanguage\txt().

Referenced by renderSkillHTML().

1804  : string
1805  {
1806  $lng = $this->lng;
1807 
1808  $self_vals = $this->getGapAnalysisSelfEvalLevels();
1809  if (empty($self_vals)) {
1810  return "";
1811  }
1812 
1813  $a_activated_levels = [];
1814  foreach ($a_levels as $k => $v) {
1815  if (isset($self_vals[$v["skill_id"]][$a_tref_id]) &&
1816  $self_vals[$v["skill_id"]][$a_tref_id] == $v["id"]) {
1817  $a_activated_levels[] = $v["id"];
1818  }
1819  }
1820 
1821  if (empty($a_activated_levels)) {
1822  return "";
1823  }
1824 
1825  $tpl = new ilTemplate("tpl.skill_eval_item.html", true, true, "components/ILIAS/Skill");
1826  $tpl->setVariable("SCALE_BAR", $this->getScaleBar($a_levels, $a_activated_levels));
1827 
1828  $type = 3;
1829  $tpl->setVariable("TYPE", $lng->txt("skmg_eval_type_latest_" . $type));
1830  if ($type > 0) {
1831  $tpl->touchBlock("st" . $type);
1832  $tpl->touchBlock("stb" . $type);
1833  }
1834 
1835  return $tpl->get();
1836  }
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...
touchBlock(string $block)
overwrites ITX::touchBlock.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
ilGlobalTemplateInterface $tpl
getScaleBar(array $a_levels, $a_activated_levels)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSelfEvaluationForm()

ilPersonalSkillsGUI::getSelfEvaluationForm ( int  $cur_basic_skill_id)
protected

Definition at line 1166 of file class.ilPersonalSkillsGUI.php.

References $requested_skill_id, $requested_tref_id, ILIAS\Repository\ctrl(), ilSkillTreeNodeFactory\getInstance(), ILIAS\Repository\lng(), and ILIAS\Repository\user().

Referenced by saveSelfEvaluation(), and selfEvaluation().

1166  : Form
1167  {
1168  $top_skill_id = $this->requested_skill_id;
1169  $tref_id = $this->requested_tref_id;
1170  $basic_skill_id = $cur_basic_skill_id;
1171 
1172  $self_eval = $this->ui_fac->input()->field()->radio($this->lng->txt("skmg_self_evaluation"))
1173  ->withRequired(true);
1174 
1175  $current_level_id = $this->self_evaluation_manager->getSelfEvaluation(
1176  $this->user->getId(),
1177  $top_skill_id,
1178  $tref_id,
1179  $basic_skill_id
1180  );
1181  $skill = \ilSkillTreeNodeFactory::getInstance($basic_skill_id);
1182  foreach ($skill->getLevelData() as $level) {
1183  $self_eval = $self_eval->withOption((string) $level["id"], $level["title"], $level["description"]);
1184  if ($current_level_id == $level["id"]) {
1185  $self_eval = $self_eval->withValue($level["id"]);
1186  }
1187  }
1188 
1189  $tree_id = $this->tree_repo->getTreeIdForNodeId($basic_skill_id);
1190  $node_manager = $this->internal_manager->getTreeNodeManager($tree_id);
1191  $section_title = $node_manager->getWrittenPath($basic_skill_id);
1192  $section_inputs = ["self_eval" => $self_eval];
1193  $section = $this->ui_fac->input()->field()->section(
1194  $section_inputs,
1195  $section_title
1196  );
1197 
1198  $form_action = $this->ctrl->getFormAction($this, "saveSelfEvaluation");
1199  return $this->ui_fac->input()->container()->form()->standard($form_action, ["section" => $section]);
1200  }
This describes commonalities between all forms.
Definition: Form.php:32
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSkillCategoryDescription()

ilPersonalSkillsGUI::getSkillCategoryDescription ( int  $skill_id,
int  $tref_id 
)
protected

Definition at line 2132 of file class.ilPersonalSkillsGUI.php.

References ilSkillTreeNode\_lookupDescription(), ILIAS\UICore\GlobalTemplate\get(), ILIAS\UICore\GlobalTemplate\parseCurrentBlock(), ILIAS\UICore\GlobalTemplate\setCurrentBlock(), and ILIAS\UICore\GlobalTemplate\setVariable().

Referenced by renderSkillHTML().

2132  : string
2133  {
2134  $tpl = new ilTemplate("tpl.skill_description_category.html", true, true, "components/ILIAS/Skill");
2135 
2136  //if (ilSkillTreeNode::_lookupType($skill_id) == "scat") {
2137  $des = ilSkillTreeNode::_lookupDescription($skill_id);
2138  if (!empty($des)) {
2139  $tpl->setCurrentBlock("description_category");
2140  $tpl->setVariable("DESCRIPTION_CATEGORY", $des);
2142  }
2143  //}
2144 
2145  return $tpl->get();
2146  }
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
static _lookupDescription(int $a_obj_id)
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
ilGlobalTemplateInterface $tpl
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSkillEntriesHeader()

ilPersonalSkillsGUI::getSkillEntriesHeader ( int  $eval_type)
protected

Definition at line 2114 of file class.ilPersonalSkillsGUI.php.

References ilBasicSkill\EVAL_BY_SELF, ILIAS\UICore\GlobalTemplate\get(), getProfileId(), ILIAS\Repository\lng(), ILIAS\UICore\GlobalTemplate\parseCurrentBlock(), ILIAS\UICore\GlobalTemplate\setCurrentBlock(), and ILIAS\UICore\GlobalTemplate\setVariable().

Referenced by renderSkillHTML().

2114  : string
2115  {
2116  $tpl = new ilTemplate("tpl.skill_entries_header.html", true, true, "components/ILIAS/Skill");
2117 
2118  if ($eval_type == ilBasicSkill::EVAL_BY_SELF) {
2119  $tpl->setVariable("HEADING", $this->lng->txt("skmg_self_evaluation"));
2120  $tpl->setCurrentBlock("header_byline");
2121  $tpl->setVariable("BYLINE", $this->lng->txt("skmg_self_evaluation_byline"));
2123  } else {
2124  if ($this->getProfileId() > 0) {
2125  $tpl->setVariable("HEADING", $this->lng->txt("skmg_skill_profile_records"));
2126  }
2127  }
2128 
2129  return $tpl->get();
2130  }
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
ilGlobalTemplateInterface $tpl
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSkillHTML()

ilPersonalSkillsGUI::getSkillHTML ( int  $a_top_skill_id,
int  $a_user_id = 0,
bool  $a_edit = false,
int  $a_tref_id = 0 
)

Get skill presentation HTML.

$a_top_skill_id is a node of the skill "main tree", it can be a tref id!

  • called in listSkills (this class) -> $a_top_skill is the selected user skill (main tree node id), tref_id not set
  • called in ilPortfolioPage -> $a_top_skill is the selected user skill (main tree node id), tref_id not set
  • called in getGapAnalysis (this class) -> $a_top_skill id is the (basic) skill_id, tref_id may be set

Definition at line 492 of file class.ilPersonalSkillsGUI.php.

References $tpl, and renderSkillHTML().

Referenced by listAssignedProfile(), listSkills(), and setGapAnalysisActualStatusModePerObject().

497  : string {
498  $main_tpl = $this->tpl;
499 
500  // user interface plugin slot + default rendering
501  $uip = new ilUIHookProcessor(
502  "components/ILIAS/Skill",
503  "personal_skill_html",
504  array("personal_skills_gui" => $this, "top_skill_id" => $a_top_skill_id, "user_id" => $a_user_id,
505  "edit" => $a_edit, "tref_id" => $a_tref_id)
506  );
507  $skill_html = "";
508  if (!$uip->replaced()) {
509  $skill_html = $this->renderSkillHTML($a_top_skill_id, $a_user_id, $a_edit, $a_tref_id);
510  }
511  $skill_html = $uip->getHTML($skill_html);
512  $main_tpl->addJavaScript("assets/js/SkillEntries.js");
513 
514  return $skill_html;
515  }
renderSkillHTML(int $a_top_skill_id, int $a_user_id=0, bool $a_edit=false, int $a_tref_id=0)
ilGlobalTemplateInterface $tpl
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSkillLevelDescription()

ilPersonalSkillsGUI::getSkillLevelDescription ( ilSkillTreeNode  $skill)

Definition at line 2161 of file class.ilPersonalSkillsGUI.php.

References ILIAS\UICore\GlobalTemplate\get(), ILIAS\UICore\GlobalTemplate\parseCurrentBlock(), ILIAS\UICore\GlobalTemplate\setCurrentBlock(), and ILIAS\UICore\GlobalTemplate\setVariable().

Referenced by renderSkillHTML().

2161  : string
2162  {
2163  $level_data = $skill->getLevelData();
2164  $tpl = new ilTemplate("tpl.skill_desc.html", true, true, "components/ILIAS/Skill");
2165 
2166  $desc_exists = false;
2167  foreach ($level_data as $l) {
2168  if ($l["description"] != "") {
2169  $desc_exists = true;
2170  }
2171  }
2172  reset($level_data);
2173  if ($desc_exists) {
2174  foreach ($level_data as $l) {
2175  $tpl->setCurrentBlock("level");
2176  $tpl->setVariable("LEVEL_VAL", $l["title"]);
2177  $tpl->setVariable("LEVEL_DESC", nl2br($l["description"]));
2179  }
2180  }
2181 
2182  return $tpl->get();
2183  }
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
ilGlobalTemplateInterface $tpl
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSuggestedResourcesForProfile()

ilPersonalSkillsGUI::getSuggestedResourcesForProfile ( array  $a_levels,
int  $a_base_skill,
int  $a_tref_id,
int  $gap_mode_obj_id = 0 
)

Definition at line 2185 of file class.ilPersonalSkillsGUI.php.

References $lng, $r, $ref_id, $resources, ilObject\_getAllReferences(), ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilObject\_lookupType(), ilBasicSkill\hasSelfEvaluated(), ILIAS\Repository\int(), null, ilLanguage\txt(), and ILIAS\Repository\user().

Referenced by renderSkillHTML().

2190  : ?\ILIAS\UI\Component\Panel\Secondary\Secondary {
2191  $lng = $this->lng;
2192 
2193  $gap_mode_obj_type = ilObject::_lookupType($gap_mode_obj_id);
2194  if ($gap_mode_obj_id > 0 && !$this->obj_definition->isContainer($gap_mode_obj_type)) {
2195  return null;
2196  }
2197 
2198  // note for self-evaluation
2199  if ($this->skmg_settings->getHideProfileBeforeSelfEval() &&
2200  !ilBasicSkill::hasSelfEvaluated($this->user->getId(), $a_base_skill, $a_tref_id)) {
2201  $sec_panel_content = $this->ui_fac->legacy()->content($lng->txt("skmg_skill_needs_self_eval"));
2202  $sec_panel = $this->ui_fac->panel()->secondary()->legacy("", $sec_panel_content);
2203  return $sec_panel;
2204  }
2205 
2206  // suggested resources
2207  if ($this->resource_manager->isLevelTooLow($a_tref_id, $a_levels, $this->profile_levels, $this->actual_levels)) {
2208  $imp_resources = $this->resource_manager->getSuggestedResources(
2209  $a_base_skill,
2210  $a_tref_id,
2211  $a_levels,
2212  $this->profile_levels
2213  );
2214  $info = $this->ui_fac->item()->standard($lng->txt("skmg_recommended_learning_material_info"));
2215  $item_groups[] = $this->ui_fac->item()->group("", [$info]);
2216 
2217  $at_least_one_item = false;
2218  $highlighted_level = false;
2219 
2220  $sub_objects = [];
2221  $is_container = false;
2222  if ($gap_mode_obj_id > 0 && $this->obj_definition->isContainer($gap_mode_obj_type)) {
2223  $is_container = true;
2224  $sub_objects = $this->tree->getSubTree(
2225  $this->tree->getNodeData((int) current(\ilObject::_getAllReferences($gap_mode_obj_id))),
2226  false
2227  );
2228  }
2229 
2230  foreach ($imp_resources as $order_level_id => $resources) {
2231  $level_id = (int) substr(strrchr($order_level_id, '_'), 1);
2232  // do not show level if already reached
2233  if ($level_id <= $this->actual_levels[$a_base_skill][$a_tref_id]) {
2234  continue;
2235  }
2236  if ($level_id === $this->resource_manager->determineCurrentTargetLevel($a_levels, $this->profile_levels)) {
2237  $highlighted_level = true;
2238  }
2239  $level_title = $this->level_repo->lookupLevelTitle($level_id);
2240  $items = [];
2241  foreach ($resources as $r) {
2242  $ref_id = $r->getRepoRefId();
2243  // in containers: filter resources only by objects in sub tree
2244  if ($is_container && !in_array($ref_id, $sub_objects)) {
2245  continue;
2246  }
2248  $title = ilObject::_lookupTitle($obj_id);
2249  $icon = $this->ui_fac->symbol()->icon()->standard(
2251  $lng->txt("icon") . " " . $lng->txt(ilObject::_lookupType($obj_id))
2252  );
2253  $link = $this->ui_fac->link()->standard($title, ilLink::_getLink($ref_id));
2254  $items[] = $this->ui_fac->item()->standard($link)->withLeadIcon($icon);
2255  $at_least_one_item = true;
2256  }
2257  $item_groups[] = $this->ui_fac->item()->group(
2258  $highlighted_level
2259  ? "<strong>" . $level_title . " (" . $lng->txt("skmg_target_level") . ")</strong>"
2260  : $level_title,
2261  $items
2262  );
2263  }
2264  if ($at_least_one_item) {
2265  switch ($gap_mode_obj_type) {
2266  case "crs":
2267  $sec_panel_title = $lng->txt("skmg_recommended_learning_material_crs");
2268  break;
2269  case "grp":
2270  $sec_panel_title = $lng->txt("skmg_recommended_learning_material_grp");
2271  break;
2272  default:
2273  $sec_panel_title = $lng->txt("skmg_recommended_learning_material_global");
2274  }
2275 
2276  $sec_panel = $this->ui_fac->panel()->secondary()->listing(
2277  $sec_panel_title,
2278  $item_groups
2279  );
2280  } else {
2281  $sec_panel_content = $this->ui_fac->legacy()->content($lng->txt("skmg_skill_needs_impr_no_res"));
2282  $sec_panel = $this->ui_fac->panel()->secondary()->legacy("", $sec_panel_content);
2283  }
2284  } else {
2285  $sec_panel_content = $this->ui_fac->legacy()->content($lng->txt("skmg_skill_no_needs_impr_info"));
2286  $sec_panel = $this->ui_fac->panel()->secondary()->legacy($lng->txt("skmg_skill_no_needs_impr"), $sec_panel_content);
2287  }
2288 
2289  return $sec_panel;
2290  }
$resources
Definition: ltiservices.php:65
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...
static _getAllReferences(int $id)
get all reference ids for object ID
static _lookupObjId(int $ref_id)
static hasSelfEvaluated(int $a_user_id, int $a_skill_id, int $a_tref_id)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
$ref_id
Definition: ltiauth.php:65
static _lookupTitle(int $obj_id)
static _lookupType(int $id, bool $reference=false)
$r
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTriggerObjectsFilter()

ilPersonalSkillsGUI::getTriggerObjectsFilter ( )

Definition at line 286 of file class.ilPersonalSkillsGUI.php.

References $trigger_objects_filter.

Referenced by getFilteredEntriesForSkill().

286  : array
287  {
289  }
+ Here is the caller graph for this function:

◆ getTriggerUserFilter()

ilPersonalSkillsGUI::getTriggerUserFilter ( )
Returns
string[]

Definition at line 299 of file class.ilPersonalSkillsGUI.php.

References $trigger_user_filter.

Referenced by getFilteredEntriesForSkill().

299  : array
300  {
302  }
+ Here is the caller graph for this function:

◆ hideSkill()

ilPersonalSkillsGUI::hideSkill ( int  $a_skill_id,
int  $a_tref_id = 0 
)

Definition at line 312 of file class.ilPersonalSkillsGUI.php.

312  : void
313  {
314  $this->hidden_skills[] = $a_skill_id . ":" . $a_tref_id;
315  }

◆ listAllAssignedProfiles()

ilPersonalSkillsGUI::listAllAssignedProfiles ( )

Definition at line 2336 of file class.ilPersonalSkillsGUI.php.

References ILIAS\Repository\ctrl(), getProfilesListed(), and setTabs().

Referenced by render().

2336  : void
2337  {
2338  if (empty($this->user_profiles)) {
2339  $this->ctrl->redirect($this, "listSkills");
2340  }
2341 
2342  $this->setTabs("profile");
2343 
2344  $prof_list = $this->getProfilesListed($this->user_profiles);
2345 
2346  $this->tpl->setContent($this->ui_ren->render($prof_list));
2347  }
getProfilesListed(array $profiles, bool $gap_mode=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ listAllProfilesForGap()

ilPersonalSkillsGUI::listAllProfilesForGap ( )

Definition at line 1275 of file class.ilPersonalSkillsGUI.php.

References getProfilesListed(), and showInfoBoxForProfiles().

1275  : void
1276  {
1277  if (empty($this->cont_profiles)) {
1278  $this->tpl->setContent($this->showInfoBoxForProfiles());
1279  return;
1280  }
1281 
1282  $prof_list = $this->getProfilesListed($this->cont_profiles, true);
1283 
1284  $html = $this->showInfoBoxForProfiles() . $this->ui_ren->render($prof_list);
1285  $this->tpl->setContent($html);
1286  }
getProfilesListed(array $profiles, bool $gap_mode=false)
+ Here is the call graph for this function:

◆ listAssignedProfile()

ilPersonalSkillsGUI::listAssignedProfile ( )

Definition at line 2349 of file class.ilPersonalSkillsGUI.php.

References $ctrl, $gap_mode, $gap_mode_obj_id, $gap_mode_type, $lng, $profile_levels, $tpl, ILIAS\UICore\GlobalTemplate\get(), getFilter(), getProfileId(), getSkillHTML(), ilBasicSkill\hasSelfEvaluated(), ILIAS\Repository\lng(), setProfileId(), ILIAS\UICore\GlobalTemplate\setVariable(), ILIAS\Repository\tabs(), ilLanguage\txt(), and ILIAS\Repository\user().

2349  : void
2350  {
2351  $ilCtrl = $this->ctrl;
2352  $lng = $this->lng;
2353 
2354  $main_tpl = $this->tpl;
2355 
2356  $tpl = new ilTemplate("tpl.skill_filter.html", true, true, "components/ILIAS/Skill");
2357 
2358  $this->tabs->clearTargets();
2359  $this->tabs->setBackTarget(
2360  $this->lng->txt("back"),
2361  $ilCtrl->getLinkTarget($this, "listallassignedprofiles")
2362  );
2363  $this->setProfileId($this->requested_profile_id);
2364 
2365  $main_tpl->setTitle($this->profile_manager->lookupTitle($this->getProfileId()));
2366 
2367  $filter_toolbar = new ilToolbarGUI();
2368  $filter_toolbar->setFormAction($ilCtrl->getFormAction($this));
2369  $this->getFilter()->addToToolbar($filter_toolbar, true);
2370 
2371  $skills = [];
2372  if ($this->getProfileId() > 0) {
2373  $this->profile_levels = $this->profile_manager->getSkillLevels($this->getProfileId());
2374  $skills = $this->profile_levels;
2375  }
2376 
2377  $this->actual_levels = $this->profile_completion_manager->getActualMaxLevels(
2378  $this->user->getId(),
2379  $skills,
2383  );
2384 
2385  // render
2386  $html = "";
2387  $not_all_self_evaluated = false;
2388  foreach ($skills as $s) {
2389  if ($this->skmg_settings->getHideProfileBeforeSelfEval() &&
2390  !ilBasicSkill::hasSelfEvaluated($this->user->getId(), $s->getBaseSkillId(), $s->getTrefId())) {
2391  $not_all_self_evaluated = true;
2392  }
2393 
2394  // todo draft check
2395  $html .= $this->getSkillHTML($s->getBaseSkillId(), 0, true, $s->getTrefId());
2396  }
2397 
2398  if ($html != "") {
2399  $filter_toolbar->addFormButton($this->lng->txt("skmg_refresh_view"), "applyFilterAssignedProfiles");
2400 
2401  $tpl->setVariable("FILTER", $filter_toolbar->getHTML());
2402 
2403  $html = $tpl->get() . $html;
2404  }
2405 
2406  if ($not_all_self_evaluated) {
2407  $box = $this->ui_fac->messageBox()->info($lng->txt("skmg_skill_needs_self_eval_box"));
2408  $html = $this->ui_ren->render($box) . $html;
2409  }
2410 
2411  $main_tpl->setContent($html);
2412  }
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...
setVariable(string $variable, $value='')
Sets the given variable to the given value.
static hasSelfEvaluated(int $a_user_id, int $a_skill_id, int $a_tref_id)
getSkillHTML(int $a_top_skill_id, int $a_user_id=0, bool $a_edit=false, int $a_tref_id=0)
Get skill presentation HTML.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
ilGlobalTemplateInterface $tpl
+ Here is the call graph for this function:

◆ listProfileForGap()

ilPersonalSkillsGUI::listProfileForGap ( )

Definition at line 1288 of file class.ilPersonalSkillsGUI.php.

References ILIAS\Repository\ctrl(), getFilter(), ilUtil\getImagePath(), ILIAS\Repository\lng(), setProfileId(), and ILIAS\Repository\tabs().

1288  : void
1289  {
1290  // needed fix for profiles in gap view, because there is no filter shown (yet)
1291  $this->getFilter()->clear();
1292  $this->tabs->clearTargets();
1293  $this->tabs->setBackTarget(
1294  $this->lng->txt("back"),
1295  $this->ctrl->getLinkTarget($this, "showProfiles")
1296  );
1297  $this->setProfileId($this->requested_profile_id);
1298  $this->tpl->setTitleIcon(ilUtil::getImagePath("standard/icon_skmg.svg"));
1299  $this->tpl->setTitle($this->profile_manager->lookupTitle($this->getProfileId()));
1300 
1301  $this->tpl->setContent($this->getGapAnalysisHTML());
1302  }
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
+ Here is the call graph for this function:

◆ listRecordsForGap()

ilPersonalSkillsGUI::listRecordsForGap ( )

Definition at line 1304 of file class.ilPersonalSkillsGUI.php.

References getObjectSkills(), and showInfoBoxForRecords().

1304  : void
1305  {
1306  if (empty($this->getObjectSkills())) {
1307  $this->tpl->setContent($this->showInfoBoxForRecords());
1308  return;
1309  }
1310 
1311  $this->tpl->setContent($this->getGapAnalysisHTML());
1312  }
+ Here is the call graph for this function:

◆ listSkills()

ilPersonalSkillsGUI::listSkills ( )

Definition at line 416 of file class.ilPersonalSkillsGUI.php.

References $ctrl, $lng, $path, $toolbar, $tpl, $user, ILIAS\UICore\GlobalTemplate\get(), getFilter(), getSkillHTML(), ILIAS\Repository\lng(), setTabs(), ILIAS\UICore\GlobalTemplate\setVariable(), ilSkillTreeNode\STATUS_DRAFT, and ilLanguage\txt().

Referenced by render().

416  : void
417  {
418  $ilCtrl = $this->ctrl;
419  $ilUser = $this->user;
420  $lng = $this->lng;
421  $main_tpl = $this->tpl;
422  $ilToolbar = $this->toolbar;
423 
424  $tpl = new ilTemplate("tpl.skill_filter.html", true, true, "components/ILIAS/Skill");
425 
426  $this->setTabs("list_skills");
427 
428  // skill selection / add new personal skill
429  $ilToolbar->addFormButton(
430  $lng->txt("skmg_add_skill"),
431  "listSkillsForAdd"
432  );
433  $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
434 
435  $filter_toolbar = new ilToolbarGUI();
436  $filter_toolbar->setFormAction($ilCtrl->getFormAction($this));
437  $this->getFilter()->addToToolbar($filter_toolbar, false);
438 
439  $skills = $this->personal_manager->getSelectedUserSkills($ilUser->getId());
440  $html = "";
441  foreach ($skills as $s) {
442  $path = $this->tree_service->getSkillTreePath($s->getSkillNodeId());
443 
444  // check draft
445  foreach ($path as $p) {
446  if ($p["status"] == ilSkillTreeNode::STATUS_DRAFT) {
447  continue(2);
448  }
449  }
450  $html .= $this->getSkillHTML($s->getSkillNodeId(), 0, true);
451  }
452 
453  // list skills
454 
455  if ($html != "") {
456  $filter_toolbar->addFormButton($this->lng->txt("skmg_refresh_view"), "applyFilter");
457  $tpl->setVariable("FILTER", $filter_toolbar->getHTML());
458  $html = $tpl->get() . $html;
459  } else {
460  $box = $this->ui_fac->messageBox()->info($lng->txt("skmg_no_skills_selected_info"));
461  $html = $this->ui_ren->render($box);
462  }
463 
464  $main_tpl->setContent($html);
465  }
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...
setVariable(string $variable, $value='')
Sets the given variable to the given value.
$path
Definition: ltiservices.php:29
getSkillHTML(int $a_top_skill_id, int $a_user_id=0, bool $a_edit=false, int $a_tref_id=0)
Get skill presentation HTML.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
ilGlobalTemplateInterface $tpl
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ listSkillsForAdd()

ilPersonalSkillsGUI::listSkillsForAdd ( )

Definition at line 1244 of file class.ilPersonalSkillsGUI.php.

References $ctrl, $lng, $tabs, $tpl, ilTabsGUI\setBackTarget(), ILIAS\UICore\GlobalTemplate\setContent(), and ilLanguage\txt().

1244  : void
1245  {
1246  $ilCtrl = $this->ctrl;
1247  $lng = $this->lng;
1248  $tpl = $this->tpl;
1249  $ilTabs = $this->tabs;
1250 
1251 
1252  $ilCtrl->setParameter($this, "list_mode", self::LIST_SELECTED);
1253  $ilTabs->setBackTarget(
1254  $lng->txt("back"),
1255  $ilCtrl->getLinkTarget($this, "render")
1256  );
1257  $ilCtrl->clearParameterByClass(get_class($this), "list_mode");
1258 
1259  $exp = new ilPersonalSkillExplorerGUI($this, "listSkillsForAdd", $this, "addSkill");
1260  if ($exp->getHasSelectableNodes()) {
1261  if (!$exp->handleCommand()) {
1262  $tpl->setContent($exp->getHTML());
1263  }
1264  $this->tpl->setOnScreenMessage('info', $lng->txt("skmg_select_skill"));
1265  } else {
1266  $this->tpl->setOnScreenMessage('info', $lng->txt("skmg_no_nodes_selectable"));
1267  }
1268  }
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...
Explorer for selecting a personal skill.
setContent(string $a_html)
Sets content for standard template.
setBackTarget(string $a_title, string $a_target, string $a_frame="")
ilGlobalTemplateInterface $tpl
+ Here is the call graph for this function:

◆ removeMaterial()

ilPersonalSkillsGUI::removeMaterial ( )

Definition at line 1077 of file class.ilPersonalSkillsGUI.php.

References $ctrl, $lng, $requested_tref_id, $user, ILIAS\Repository\int(), and ilLanguage\txt().

1077  : void
1078  {
1079  $ilCtrl = $this->ctrl;
1080  $ilUser = $this->user;
1081  $lng = $this->lng;
1082 
1083  if ($this->requested_table_assign_materials_action === "removeMaterial"
1084  && !empty($this->requested_table_assign_materials_level_ids)
1085  && $this->requested_table_assign_materials_wsp_id !== 0) {
1086  $this->assigned_material_manager->removeAssignedMaterial(
1087  $ilUser->getId(),
1089  (int) $this->requested_table_assign_materials_level_ids[0],
1090  $this->requested_table_assign_materials_wsp_id
1091  );
1092  $this->tpl->setOnScreenMessage('success', $lng->txt("msg_obj_modified"), true);
1093  }
1094  $ilCtrl->redirect($this, "assignMaterials");
1095  }
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...
+ Here is the call graph for this function:

◆ removeSkills()

ilPersonalSkillsGUI::removeSkills ( )

Definition at line 886 of file class.ilPersonalSkillsGUI.php.

References $ctrl, $lng, $user, and ilLanguage\txt().

886  : void
887  {
888  $ilCtrl = $this->ctrl;
889  $ilUser = $this->user;
890  $lng = $this->lng;
891 
892  if (!empty($this->requested_skill_ids)) {
893  foreach ($this->requested_skill_ids as $n_id) {
894  $this->personal_manager->removePersonalSkill($ilUser->getId(), $n_id);
895  }
896  }
897 
898  $this->tpl->setOnScreenMessage('success', $lng->txt("msg_object_modified"));
899  $ilCtrl->setParameter($this, "list_mode", self::LIST_SELECTED);
900  $ilCtrl->redirect($this, "listSkills");
901  }
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...
+ Here is the call graph for this function:

◆ render()

ilPersonalSkillsGUI::render ( )
protected

Definition at line 407 of file class.ilPersonalSkillsGUI.php.

References listAllAssignedProfiles(), and listSkills().

407  : void
408  {
409  if ($this->requested_list_mode == self::LIST_SELECTED || empty($this->user_profiles)) {
410  $this->listSkills();
411  } else {
412  $this->listAllAssignedProfiles();
413  }
414  }
+ Here is the call graph for this function:

◆ renderSkillHTML()

ilPersonalSkillsGUI::renderSkillHTML ( int  $a_top_skill_id,
int  $a_user_id = 0,
bool  $a_edit = false,
int  $a_tref_id = 0 
)

Definition at line 517 of file class.ilPersonalSkillsGUI.php.

References $ctrl, $lng, $path, $res, $use_materials, $user, ilSkillTemplateReference\_lookupTemplateId(), ilSkillTreeNode\_lookupTitle(), ilSkillTreeNode\_lookupType(), ilAccordionGUI\ALL_CLOSED, ilBasicSkill\EVAL_BY_ALL, ilBasicSkill\EVAL_BY_OTHERS, ilBasicSkill\EVAL_BY_SELF, getActualGapItem(), getAllSuggestedResources(), getBasicSkillDescription(), getFilter(), ilObject\getId(), ilSkillTreeNodeFactory\getInstance(), getLatestEntriesForSkillHTML(), getMaterials(), getNonHistoricGapModeView(), getNonLatestEntriesForSkillHTML(), getProfileId(), getProfileTargetItem(), getSelfEvalGapItem(), getSkillCategoryDescription(), getSkillEntriesHeader(), getSkillLevelDescription(), getSuggestedResourcesForProfile(), ilBasicSkill\hasSelfEvaluated(), ILIAS\Repository\int(), ILIAS\UICore\GlobalTemplate\parseCurrentBlock(), ilSkillTreeNode\STATUS_DRAFT, and ilLanguage\txt().

Referenced by getSkillHTML().

522  : string {
523  $ilCtrl = $this->ctrl;
524  $ilUser = $this->user;
525  $lng = $this->lng;
526 
527  $sub_panels = [];
528 
529  if ($a_user_id == 0) {
530  $user = $ilUser;
531  } else {
532  $user = new ilObjUser($a_user_id);
533  }
534 
535  $tpl = new ilTemplate("tpl.skill_pres.html", true, true, "components/ILIAS/Skill");
536 
537  $vtree = $this->tree_repo->getVirtualTreeForNodeId($a_top_skill_id);
538  $tref_id = $a_tref_id;
539  $skill_id = $a_top_skill_id;
540  if (ilSkillTreeNode::_lookupType($a_top_skill_id) == "sktr") {
541  $tref_id = $a_top_skill_id;
542  $skill_id = ilSkillTemplateReference::_lookupTemplateId($a_top_skill_id);
543  }
544  $b_skills = $vtree->getSubTreeForCSkillId($skill_id . ":" . $tref_id, true);
545 
546  foreach ($b_skills as $bs) {
547  $bs["id"] = (int) $bs["skill_id"];
548  $bs["tref"] = (int) $bs["tref_id"];
549 
550  $path = $this->tree_service->getSkillTreePath($bs["id"], $bs["tref"]);
551 
552  $panel_comps = [];
553 
554 
555  // check draft
556  foreach ($path as $p) {
557  if ($p["status"] == ilSkillTreeNode::STATUS_DRAFT) {
558  continue(2);
559  }
560  }
561  reset($path);
562 
563  $skill = ilSkillTreeNodeFactory::getInstance($bs["id"]);
564  $level_data = $skill->getLevelData();
565 
566 
567  $title = $sep = "";
568  $description = "";
569  $found = false;
570  foreach ($path as $p) {
571  if ($found) {
572  $title .= $sep . $p["title"];
573  $sep = " > ";
574  $description = $p["description"];
575  }
576  if ($a_top_skill_id == $p["child"]) {
577  $found = true;
578  }
579  }
580  if (empty($title)) {
581  $title = $lng->txt("skmg_skill_overview");
582  }
583 
584  // skill description
585  $panel_comps[] = $this->ui_fac->legacy()->content($this->getBasicSkillDescription((string) $description));
586 
587 
588  // skill level description
589  $skl_lvl_desc = $this->getSkillLevelDescription($skill);
590  if (!empty($skl_lvl_desc)) {
591  $acc = new ilAccordionGUI();
592  $acc->setBehaviour(ilAccordionGUI::ALL_CLOSED);
593  $acc->addItem($lng->txt('skmg_skill_levels'), $skl_lvl_desc);
594  $panel_comps[] = $this->ui_fac->legacy()->content($acc->getHTML());
595  }
596 
597  $prof_comp_head_rendered = false;
598  $has_at_least_one_entry = false;
599  if ($this->getProfileId() > 0) {
600  if ($this->getNonHistoricGapModeView()) {
601  if (!empty($self_eval_gap_item_prof = $this->getSelfEvalGapItem($level_data, $bs["tref"]))) {
602  $panel_comps[] = $this->ui_fac->legacy()->content($this->getSkillEntriesHeader(ilBasicSkill::EVAL_BY_SELF));
603  $has_at_least_one_entry = true;
604  }
605  $panel_comps[] = $this->ui_fac->legacy()->content($self_eval_gap_item_prof);
606  } else {
607  // get all self eval entries and render them
608  $self_eval_entries_latest = $this->getLatestEntriesForSkillHTML(
609  $a_top_skill_id,
610  $bs,
611  $skill,
612  $user,
614  $level_data
615  );
616  $self_eval_entries_non_latest = $this->getNonLatestEntriesForSkillHTML(
617  $a_top_skill_id,
618  $bs,
619  $skill,
620  $user,
622  $level_data
623  );
624 
625  if (!empty($self_eval_entries_latest)) {
626  $panel_comps[] = $this->ui_fac->legacy()->content($this->getSkillEntriesHeader(ilBasicSkill::EVAL_BY_SELF));
627  $has_at_least_one_entry = true;
628  }
629  $panel_comps[] = $this->ui_fac->legacy()->content($self_eval_entries_latest);
630  $panel_comps[] = $this->ui_fac->legacy()->content($self_eval_entries_non_latest);
631  }
632 
633  if (!$this->skmg_settings->getHideProfileBeforeSelfEval() ||
634  ilBasicSkill::hasSelfEvaluated($user->getId(), $bs["id"], $bs["tref"])) {
635  if ($this->getFilter()->showTargetLevel()) {
636  $panel_comps[] = $this->ui_fac->legacy()->content($this->getSkillEntriesHeader(ilBasicSkill::EVAL_BY_OTHERS));
637  $prof_comp_head_rendered = true;
638  $panel_comps[] = $this->ui_fac->legacy()->content($this->getProfileTargetItem($this->getProfileId(), $level_data, $bs["tref"]));
639  }
640  }
641  }
642 
643  if ($this->getNonHistoricGapModeView()) {
644  if (!empty($actual_gap_item = $this->getActualGapItem($level_data, $bs["tref"]))) {
645  $panel_comps[] = $this->ui_fac->legacy()->content($actual_gap_item);
646  $has_at_least_one_entry = true;
647  }
648  if ($this->getProfileId() == 0) {
649  if (!empty($self_eval_gap_item_non_prof = $this->getSelfEvalGapItem($level_data, $bs["tref"]))) {
650  $panel_comps[] = $this->ui_fac->legacy()->content($self_eval_gap_item_non_prof);
651  $has_at_least_one_entry = true;
652  }
653  }
654  } else {
655  if ($this->getProfileId() > 0) {
656  // get all non-self eval entries and render them
657  $object_entries_latest = $this->getLatestEntriesForSkillHTML(
658  $a_top_skill_id,
659  $bs,
660  $skill,
661  $user,
663  $level_data
664  );
665  $object_entries_non_latest = $this->getNonLatestEntriesForSkillHTML(
666  $a_top_skill_id,
667  $bs,
668  $skill,
669  $user,
671  $level_data
672  );
673 
674  if (!empty($object_entries_latest) && !$prof_comp_head_rendered) {
675  $panel_comps[] = $this->ui_fac->legacy()->content($this->getSkillEntriesHeader(ilBasicSkill::EVAL_BY_OTHERS));
676  }
677  if (!empty($object_entries_latest)) {
678  $has_at_least_one_entry = true;
679  }
680  $panel_comps[] = $this->ui_fac->legacy()->content($object_entries_latest);
681  $panel_comps[] = $this->ui_fac->legacy()->content($object_entries_non_latest);
682  } else {
683  // get all skill entries and render them
684  $all_entries_latest = $this->getLatestEntriesForSkillHTML(
685  $a_top_skill_id,
686  $bs,
687  $skill,
688  $user,
690  $level_data
691  );
692  $all_entries_non_latest = $this->getNonLatestEntriesForSkillHTML(
693  $a_top_skill_id,
694  $bs,
695  $skill,
696  $user,
698  $level_data
699  );
700 
701  if (!empty($all_entries_latest) && !$prof_comp_head_rendered) {
702  $panel_comps[] = $this->ui_fac->legacy()->content($this->getSkillEntriesHeader(ilBasicSkill::EVAL_BY_OTHERS));
703  }
704  if (!empty($all_entries_latest)) {
705  $has_at_least_one_entry = true;
706  }
707  $panel_comps[] = $this->ui_fac->legacy()->content($all_entries_latest);
708  $panel_comps[] = $this->ui_fac->legacy()->content($all_entries_non_latest);
709  }
710  }
711 
712  if (!$has_at_least_one_entry) {
713  $panel_comps[] = $this->ui_fac->legacy()->content("<br/>" . $lng->txt("skmg_no_skill_entries"));
714  }
715 
716  // suggested resources
717 
718  $sub = $this->ui_fac->panel()->sub($title, $panel_comps);
719  if ($this->getFilter()->showMaterialsRessources() && $this->getProfileId() > 0
720  && $res = $this->getSuggestedResourcesForProfile($level_data, $bs["id"], $bs["tref"], $this->gap_mode_obj_id)) {
721  $sub = $sub->withFurtherInformation($res);
722  } elseif ($this->getFilter()->showMaterialsRessources() && $this->getProfileId() == 0 && !$this->gap_mode_obj_id) {
723  // no profile, just list all resources and only in global view
724  $sugg = $this->getAllSuggestedResources($bs["id"], $bs["tref"]);
725  if ($sugg) {
726  $sub = $sub->withFurtherInformation($sugg);
727  }
728  }
729  if ($a_edit) {
730  $actions = [];
731  $ilCtrl->setParameterByClass("ilpersonalskillsgui", "skill_id", $a_top_skill_id);
732  $ilCtrl->setParameterByClass("ilpersonalskillsgui", "tref_id", $bs["tref"]);
733  $ilCtrl->setParameterByClass("ilpersonalskillsgui", "basic_skill_id", $bs["id"]);
734  $ilCtrl->setParameterByClass("ilpersonalskillsgui", "list_mode", $this->requested_list_mode);
735  if ($this->use_materials) {
736  $actions[] = $this->ui_fac->button()->shy(
737  $lng->txt('skmg_assign_materials'),
738  $ilCtrl->getLinkTargetByClass("ilpersonalskillsgui", "assignMaterials")
739  );
740  }
741  $actions[] = $this->ui_fac->button()->shy(
742  $lng->txt('skmg_self_evaluation'),
743  $ilCtrl->getLinkTargetByClass("ilpersonalskillsgui", "selfEvaluation")
744  );
745  $sub = $sub->withActions($this->ui_fac->dropdown()->standard($actions)->withLabel($lng->txt("actions")));
746  }
747 
748  $sub_panels[] = $sub;
749 
750  // materials
751  if ($this->mode != "gap" && $this->getFilter()->showMaterialsRessources() && $this->use_materials) {
752  $mat = $this->getMaterials($level_data, $bs["tref"], $user->getId());
753  if ($mat) {
754  $sub_panels[] = $mat;
755  }
756  }
757 
759  }
760 
761  $des = $this->getSkillCategoryDescription($skill_id, $tref_id);
762 
763  //put the description of the skill category to the very top of the sub panels
764  $sub_panels = $this->ui_fac->legacy()->content($des . $this->ui_ren->render($sub_panels));
765 
766  $panel = $this->ui_fac->panel()->standard(
767  ilSkillTreeNode::_lookupTitle($skill_id, $tref_id),
768  $sub_panels
769  );
770 
771  if ($a_edit && $this->getProfileId() == 0) {
772  $actions = [];
773 
774  $ilCtrl->setParameterByClass("ilpersonalskillsgui", "skill_id", $a_top_skill_id);
775  $actions[] = $this->ui_fac->button()->shy(
776  $lng->txt('skmg_remove_skill'),
777  $ilCtrl->getLinkTargetByClass("ilpersonalskillsgui", "confirmSkillRemove")
778  );
779 
780  $panel = $panel->withActions($this->ui_fac->dropdown()->standard($actions)->withLabel($lng->txt("actions")));
781  }
782 
783  return $this->ui_ren->render($panel);
784  }
getSkillCategoryDescription(int $skill_id, int $tref_id)
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
$res
Definition: ltiservices.php:66
getMaterials(array $a_levels, int $a_tref_id=0, int $a_user_id=0)
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...
static _lookupTitle(int $a_obj_id, int $a_tref_id=0)
static _lookupType(int $a_obj_id)
getProfileTargetItem(int $a_profile_id, array $a_levels, int $a_tref_id=0)
$path
Definition: ltiservices.php:29
static hasSelfEvaluated(int $a_user_id, int $a_skill_id, int $a_tref_id)
getSkillLevelDescription(ilSkillTreeNode $skill)
getSelfEvalGapItem(array $a_levels, int $a_tref_id=0)
getActualGapItem(array $a_levels, int $a_tref_id=0)
ilGlobalTemplateInterface $tpl
getNonLatestEntriesForSkillHTML(int $top_skill_id, array $bs, ilSkillTreeNode $skill, ilObjUser $user, int $eval_type, array $level_data)
getBasicSkillDescription(string $description)
getSuggestedResourcesForProfile(array $a_levels, int $a_base_skill, int $a_tref_id, int $gap_mode_obj_id=0)
getAllSuggestedResources(int $a_base_skill, int $a_tref_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getLatestEntriesForSkillHTML(int $top_skill_id, array $bs, ilSkillTreeNode $skill, ilObjUser $user, int $eval_type, array $level_data)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveSelfEvaluation()

ilPersonalSkillsGUI::saveSelfEvaluation ( )

Definition at line 1202 of file class.ilPersonalSkillsGUI.php.

References $ctrl, $data, $lng, $requested_basic_skill_id, $requested_skill_id, $requested_tref_id, $user, ilSkillTreeNode\_lookupTitle(), ilSkillTreeNode\_lookupType(), ilUtil\getImagePath(), getSelfEvaluationForm(), ILIAS\Repository\int(), ILIAS\Repository\tabs(), and ilLanguage\txt().

1202  : void
1203  {
1204  $ilCtrl = $this->ctrl;
1205  $ilUser = $this->user;
1206  $lng = $this->lng;
1207 
1208  $ilCtrl->setParameter($this, "basic_skill_id", $this->requested_basic_skill_id);
1209  $form = $this->getSelfEvaluationForm($this->requested_basic_skill_id);
1210  $ilCtrl->clearParameterByClass("ilpersonalskillsgui", "basic_skill_id");
1211  $cmd = ($this->requested_list_mode == self::LIST_SELECTED || empty($this->user_profiles))
1212  ? "render" : "listAssignedProfile";
1213 
1214  if ($this->request->getMethod() === "POST") {
1215  $form = $form->withRequest($this->request);
1216  $data = $form->getData();
1217  if (isset($data["section"]) && is_array($data["section"]) && !empty($data["section"]["self_eval"])) {
1218  $this->self_evaluation_manager->saveSelfEvaluation(
1219  $ilUser->getId(),
1223  (int) $data["section"]["self_eval"]
1224  );
1225  $this->tpl->setOnScreenMessage("success", $lng->txt("msg_obj_modified"), true);
1226  } else {
1227  $this->tpl->setContent($this->ui_ren->render($form));
1228  $this->tpl->setTitle(ilSkillTreeNode::_lookupTitle($this->requested_skill_id));
1229  $this->tpl->setTitleIcon(ilUtil::getImagePath("standard/icon_" .
1230  ilSkillTreeNode::_lookupType($this->requested_skill_id) .
1231  ".svg"));
1232  $this->tabs->clearTargets();
1233  $this->tabs->setBackTarget(
1234  $lng->txt("back"),
1235  $ilCtrl->getLinkTarget($this, $cmd)
1236  );
1237  return;
1238  }
1239  }
1240 
1241  $ilCtrl->redirect($this, $cmd);
1242  }
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...
static _lookupTitle(int $a_obj_id, int $a_tref_id=0)
static _lookupType(int $a_obj_id)
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
getSelfEvaluationForm(int $cur_basic_skill_id)
+ Here is the call graph for this function:

◆ selectMaterial()

ilPersonalSkillsGUI::selectMaterial ( )

Definition at line 1048 of file class.ilPersonalSkillsGUI.php.

References $ctrl, $lng, $requested_basic_skill_id, $requested_level_id, $requested_skill_id, $requested_tref_id, $user, and ilLanguage\txt().

1048  : void
1049  {
1050  $ilCtrl = $this->ctrl;
1051  $ilUser = $this->user;
1052  $lng = $this->lng;
1053 
1054 
1055  if (!empty($this->requested_wsp_ids)) {
1056  foreach ($this->requested_wsp_ids as $w) {
1057  $this->assigned_material_manager->assignMaterial(
1058  $ilUser->getId(),
1063  $w
1064  );
1065  }
1066  $this->tpl->setOnScreenMessage('success', $lng->txt("msg_obj_modified"), true);
1067  }
1068 
1069  $ilCtrl->saveParameter($this, "skill_id");
1070  $ilCtrl->saveParameter($this, "level_id");
1071  $ilCtrl->saveParameter($this, "tref_id");
1072  $ilCtrl->saveParameter($this, "basic_skill_id");
1073 
1074  $ilCtrl->redirect($this, "assignMaterials");
1075  }
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...
+ Here is the call graph for this function:

◆ selfEvaluation()

ilPersonalSkillsGUI::selfEvaluation ( )

Definition at line 1102 of file class.ilPersonalSkillsGUI.php.

References Vendor\Package\$b, $ctrl, $lng, $requested_skill_id, $tabs, $toolbar, $tpl, ilSkillTemplateReference\_lookupTemplateId(), ilSkillTreeNode\_lookupTitle(), ilSkillTreeNode\_lookupType(), ilUtil\getImagePath(), getSelfEvaluationForm(), ilTabsGUI\setBackTarget(), ILIAS\UICore\GlobalTemplate\setContent(), ilSelectInputGUI\setOptions(), ILIAS\UICore\GlobalTemplate\setTitle(), ILIAS\UICore\GlobalTemplate\setTitleIcon(), and ilLanguage\txt().

1102  : void
1103  {
1104  $ilCtrl = $this->ctrl;
1105  $lng = $this->lng;
1106  $tpl = $this->tpl;
1107  $ilToolbar = $this->toolbar;
1108  $ilTabs = $this->tabs;
1109 
1110  $cmd = ($this->requested_list_mode == self::LIST_SELECTED || empty($this->user_profiles))
1111  ? "render"
1112  : "listAssignedProfile";
1113  $ilTabs->setBackTarget(
1114  $lng->txt("back"),
1115  $ilCtrl->getLinkTarget($this, $cmd)
1116  );
1117 
1118  $ilCtrl->saveParameter($this, "skill_id");
1119  $ilCtrl->saveParameter($this, "basic_skill_id");
1120  $ilCtrl->saveParameter($this, "tref_id");
1121 
1122  $tpl->setTitle(ilSkillTreeNode::_lookupTitle($this->requested_skill_id));
1123  $tpl->setTitleIcon(ilUtil::getImagePath("standard/icon_" .
1124  ilSkillTreeNode::_lookupType($this->requested_skill_id) .
1125  ".svg"));
1126 
1127  // basic skill selection
1128  $vtree = $this->tree_repo->getVirtualTreeForNodeId($this->requested_skill_id);
1129  $tref_id = 0;
1130  $skill_id = $this->requested_skill_id;
1131  if (ilSkillTreeNode::_lookupType($this->requested_skill_id) == "sktr") {
1132  $tref_id = $this->requested_skill_id;
1133  $skill_id = ilSkillTemplateReference::_lookupTemplateId($this->requested_skill_id);
1134  }
1135  $bs = $vtree->getSubTreeForCSkillId($skill_id . ":" . $tref_id, true);
1136 
1137 
1138  $options = [];
1139  foreach ($bs as $b) {
1140  $options[$b["skill_id"]] = ilSkillTreeNode::_lookupTitle((int) $b["skill_id"]);
1141  }
1142 
1143  $cur_basic_skill_id = ($this->requested_basic_skill_id > 0)
1144  ? $this->requested_basic_skill_id
1145  : key($options);
1146 
1147  $ilCtrl->setParameter($this, "basic_skill_id", $cur_basic_skill_id);
1148 
1149  if (count($options) > 1) {
1150  $si = new ilSelectInputGUI($lng->txt("skmg_skill"), "basic_skill_id");
1151  $si->setOptions($options);
1152  $si->setValue($cur_basic_skill_id);
1153  $ilToolbar->addInputItem($si, true);
1154  $ilToolbar->addFormButton(
1155  $lng->txt("select"),
1156  "selfEvaluation"
1157  );
1158 
1159  $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
1160  }
1161 
1162  $form = $this->getSelfEvaluationForm($cur_basic_skill_id);
1163  $tpl->setContent($this->ui_ren->render($form));
1164  }
This class represents a selection list property in a property form.
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...
static _lookupTitle(int $a_obj_id, int $a_tref_id=0)
setContent(string $a_html)
Sets content for standard template.
setTitle(string $a_title, bool $hidden=false)
Sets title in standard template.
setOptions(array $a_options)
static _lookupType(int $a_obj_id)
setBackTarget(string $a_title, string $a_target, string $a_frame="")
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
setTitleIcon(string $a_icon_path, string $a_icon_desc="")
set title icon
ilGlobalTemplateInterface $tpl
getSelfEvaluationForm(int $cur_basic_skill_id)
+ Here is the call graph for this function:

◆ setGapAnalysisActualStatusModePerObject()

ilPersonalSkillsGUI::setGapAnalysisActualStatusModePerObject ( int  $a_obj_id,
string  $a_cat_title = "" 
)

Definition at line 1387 of file class.ilPersonalSkillsGUI.php.

References Vendor\Package\$a, $gap_cat_title, $lng, $path, $profile_levels, $user, $user_id, ilSkillTreeNode\_lookupTitle(), ilObject\_lookupTitle(), ilObject\_lookupType(), getFilter(), getGapAnalysisSelfEvalLevels(), ilBasicSkill\getLevelData(), getObjectSkills(), getProfileId(), getSkillHTML(), ilBasicSkill\hasSelfEvaluated(), null, ilSkillTreeNode\STATUS_DRAFT, ilLanguage\txt(), and ILIAS\Repository\user().

1387  : void
1388  {
1389  $this->gap_mode = "max_per_object";
1390  $this->gap_mode_obj_id = $a_obj_id;
1391  $this->gap_cat_title = $a_cat_title;
1392  $this->mode = "gap";
1393  }
+ Here is the call graph for this function:

◆ setGapAnalysisActualStatusModePerType()

ilPersonalSkillsGUI::setGapAnalysisActualStatusModePerType ( string  $a_type,
string  $a_cat_title = "" 
)

Definition at line 1379 of file class.ilPersonalSkillsGUI.php.

1379  : void
1380  {
1381  $this->gap_mode = "max_per_type";
1382  $this->gap_mode_type = $a_type;
1383  $this->gap_cat_title = $a_cat_title;
1384  $this->mode = "gap";
1385  }

◆ setGapAnalysisSelfEvalLevels()

ilPersonalSkillsGUI::setGapAnalysisSelfEvalLevels ( array  $a_val)
Parameters
array<int,array<int,int>>$a_val self evaluation values key1: base_skill_id, key2: tref_id: value: level id

Definition at line 258 of file class.ilPersonalSkillsGUI.php.

258  : void
259  {
260  $this->gap_self_eval_levels = $a_val;
261  }

◆ setHistoryView()

ilPersonalSkillsGUI::setHistoryView ( bool  $a_val)

Definition at line 271 of file class.ilPersonalSkillsGUI.php.

271  : void
272  {
273  $this->history_view = $a_val;
274  }

◆ setObjectSkillProfiles()

ilPersonalSkillsGUI::setObjectSkillProfiles ( int  $cont_member_role_id)

Definition at line 339 of file class.ilPersonalSkillsGUI.php.

341  : void {
342  $this->cont_profiles = $this->profile_manager->getAllProfilesOfRole($cont_member_role_id);
343  }

◆ setObjectSkills()

ilPersonalSkillsGUI::setObjectSkills ( int  $a_obj_id,
array  $a_skills 
)
Parameters

Definition at line 333 of file class.ilPersonalSkillsGUI.php.

333  : void
334  {
335  $this->obj_id = $a_obj_id;
336  $this->obj_skills = $a_skills;
337  }

◆ setOfflineMode()

ilPersonalSkillsGUI::setOfflineMode ( string  $a_file_path)

Definition at line 397 of file class.ilPersonalSkillsGUI.php.

397  : void
398  {
399  $this->offline_mode = $a_file_path;
400  }

◆ setProfileId()

ilPersonalSkillsGUI::setProfileId ( int  $a_val)

Definition at line 245 of file class.ilPersonalSkillsGUI.php.

Referenced by listAssignedProfile(), and listProfileForGap().

245  : void
246  {
247  $this->profile_id = $a_val;
248  }
+ Here is the caller graph for this function:

◆ setTabs()

ilPersonalSkillsGUI::setTabs ( string  $a_activate)

Definition at line 367 of file class.ilPersonalSkillsGUI.php.

References $ctrl, $lng, $tabs, ilTabsGUI\addTab(), and ilLanguage\txt().

Referenced by listAllAssignedProfiles(), and listSkills().

367  : void
368  {
369  $ilCtrl = $this->ctrl;
370  $lng = $this->lng;
371  $ilTabs = $this->tabs;
372 
373  if (!empty($this->user_profiles)) {
374  $ilCtrl->setParameter($this, "list_mode", self::LIST_PROFILES);
375  $ilTabs->addTab(
376  "profile",
377  $lng->txt("skmg_assigned_profiles"),
378  $ilCtrl->getLinkTarget($this, "render")
379  );
380  }
381 
382  // list skills
383  $ilCtrl->setParameter($this, "list_mode", self::LIST_SELECTED);
384  $ilTabs->addTab(
385  "list_skills",
386  $lng->txt("skmg_selected_skills"),
387  $ilCtrl->getLinkTarget($this, "render")
388  );
389 
390  $ilCtrl->clearParameterByClass(get_class($this), "list_mode");
391 
392  // assign materials
393 
394  $ilTabs->activateTab($a_activate);
395  }
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...
addTab(string $a_id, string $a_text, string $a_link, string $a_frame="")
Add a Tab.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setTriggerObjectsFilter()

ilPersonalSkillsGUI::setTriggerObjectsFilter ( array  $trigger_objects_filter)

Definition at line 291 of file class.ilPersonalSkillsGUI.php.

References $trigger_objects_filter.

291  : void
292  {
293  $this->trigger_objects_filter = $trigger_objects_filter;
294  }

◆ setTriggerUserFilter()

ilPersonalSkillsGUI::setTriggerUserFilter ( array  $trigger_user_filter)
Parameters
string[]$trigger_user_filter

Definition at line 307 of file class.ilPersonalSkillsGUI.php.

References $trigger_user_filter.

307  : void
308  {
309  $this->trigger_user_filter = $trigger_user_filter;
310  }

◆ showInfoBoxForProfiles()

ilPersonalSkillsGUI::showInfoBoxForProfiles ( )
protected

Definition at line 1357 of file class.ilPersonalSkillsGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

Referenced by listAllProfilesForGap().

1357  : string
1358  {
1359  if (!empty($this->cont_profiles)) {
1360  $link = $this->ui_fac->link()->standard(
1361  $this->lng->txt("skmg_open_all_assigned_profiles"),
1362  $this->ctrl->getLinkTargetByClass(["ilDashboardGUI", "ilAchievementsGUI", "ilPersonalSkillsGUI"])
1363  );
1364  $box = $this->ui_fac->messageBox()->info($this->lng->txt("skmg_cont_profiles_info"))->withLinks([$link]);
1365  } else {
1366  $box = $this->ui_fac->messageBox()->info($this->lng->txt("skmg_cont_profiles_info_empty"));
1367  }
1368 
1369  return $this->ui_ren->render($box);
1370  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showInfoBoxForRecords()

ilPersonalSkillsGUI::showInfoBoxForRecords ( )
protected

Definition at line 1372 of file class.ilPersonalSkillsGUI.php.

References ILIAS\Repository\lng().

Referenced by listRecordsForGap().

1372  : string
1373  {
1374  $box = $this->ui_fac->messageBox()->info($this->lng->txt("skmg_cont_records_info_empty"));
1375 
1376  return $this->ui_ren->render($box);
1377  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showProfiles()

ilPersonalSkillsGUI::showProfiles ( )

Definition at line 1270 of file class.ilPersonalSkillsGUI.php.

References ILIAS\Repository\ctrl().

1270  : void
1271  {
1272  $this->ctrl->redirectByClass("ilContSkillPresentationGUI", "showProfiles");
1273  }
+ Here is the call graph for this function:

Field Documentation

◆ $access

ilAccessHandler ilPersonalSkillsGUI::$access
protected

Definition at line 90 of file class.ilPersonalSkillsGUI.php.

Referenced by getEvalItem().

◆ $actual_levels

array ilPersonalSkillsGUI::$actual_levels = []
protected

Definition at line 53 of file class.ilPersonalSkillsGUI.php.

◆ $assigned_material_manager

Personal AssignedMaterialManager ilPersonalSkillsGUI::$assigned_material_manager
protected

Definition at line 132 of file class.ilPersonalSkillsGUI.php.

◆ $cont_factory_service

ContainerSkills SkillInternalFactoryService ilPersonalSkillsGUI::$cont_factory_service
protected

Definition at line 136 of file class.ilPersonalSkillsGUI.php.

◆ $cont_profiles

array ilPersonalSkillsGUI::$cont_profiles = []
protected

Definition at line 120 of file class.ilPersonalSkillsGUI.php.

◆ $ctrl

◆ $data_fac

DataFactory ilPersonalSkillsGUI::$data_fac
protected

Definition at line 95 of file class.ilPersonalSkillsGUI.php.

◆ $filter

ilPersonalSkillsFilterGUI ilPersonalSkillsGUI::$filter
protected

Definition at line 123 of file class.ilPersonalSkillsGUI.php.

Referenced by getFilter().

◆ $gap_cat_title

string ilPersonalSkillsGUI::$gap_cat_title = ""
protected

◆ $gap_mode

string ilPersonalSkillsGUI::$gap_mode = ""
protected

Definition at line 76 of file class.ilPersonalSkillsGUI.php.

Referenced by listAssignedProfile().

◆ $gap_mode_obj_id

int ilPersonalSkillsGUI::$gap_mode_obj_id = 0
protected

Definition at line 77 of file class.ilPersonalSkillsGUI.php.

Referenced by listAssignedProfile().

◆ $gap_mode_type

string ilPersonalSkillsGUI::$gap_mode_type = ""
protected

Definition at line 78 of file class.ilPersonalSkillsGUI.php.

Referenced by listAssignedProfile().

◆ $gap_self_eval_levels

array ilPersonalSkillsGUI::$gap_self_eval_levels = []
protected

Definition at line 63 of file class.ilPersonalSkillsGUI.php.

Referenced by getGapAnalysisSelfEvalLevels().

◆ $help

ilHelpGUI ilPersonalSkillsGUI::$help
protected

Definition at line 84 of file class.ilPersonalSkillsGUI.php.

Referenced by __construct().

◆ $hidden_skills

array ilPersonalSkillsGUI::$hidden_skills = []
protected

Definition at line 74 of file class.ilPersonalSkillsGUI.php.

◆ $history_view

bool ilPersonalSkillsGUI::$history_view = false
protected

Definition at line 64 of file class.ilPersonalSkillsGUI.php.

Referenced by getHistoryView().

◆ $internal_manager

Service SkillInternalManagerService ilPersonalSkillsGUI::$internal_manager
protected

Definition at line 128 of file class.ilPersonalSkillsGUI.php.

◆ $level_repo

ilSkillLevelRepository ilPersonalSkillsGUI::$level_repo
protected

Definition at line 126 of file class.ilPersonalSkillsGUI.php.

◆ $lng

◆ $mode

string ilPersonalSkillsGUI::$mode = ""
protected

Definition at line 75 of file class.ilPersonalSkillsGUI.php.

◆ $next_level_fuls

array ilPersonalSkillsGUI::$next_level_fuls = []
protected

Definition at line 58 of file class.ilPersonalSkillsGUI.php.

◆ $obj_definition

ilObjectDefinition ilPersonalSkillsGUI::$obj_definition
protected

Definition at line 97 of file class.ilPersonalSkillsGUI.php.

◆ $obj_id

int ilPersonalSkillsGUI::$obj_id = 0
protected

Definition at line 99 of file class.ilPersonalSkillsGUI.php.

Referenced by getObjectId().

◆ $obj_skills

array ilPersonalSkillsGUI::$obj_skills = []
protected

Definition at line 104 of file class.ilPersonalSkillsGUI.php.

Referenced by getObjectSkills().

◆ $offline_mode

string ilPersonalSkillsGUI::$offline_mode = ""
protected

Definition at line 48 of file class.ilPersonalSkillsGUI.php.

Referenced by getOfflineMode().

◆ $personal_gui_request

Service SkillPersonalGUIRequest ilPersonalSkillsGUI::$personal_gui_request
protected

Definition at line 124 of file class.ilPersonalSkillsGUI.php.

◆ $personal_manager

Personal PersonalSkillManager ilPersonalSkillsGUI::$personal_manager
protected

Definition at line 131 of file class.ilPersonalSkillsGUI.php.

◆ $profile_completion_manager

Profile SkillProfileCompletionManager ilPersonalSkillsGUI::$profile_completion_manager
protected

Definition at line 130 of file class.ilPersonalSkillsGUI.php.

◆ $profile_id

int ilPersonalSkillsGUI::$profile_id = 0
protected

Definition at line 105 of file class.ilPersonalSkillsGUI.php.

Referenced by getProfileId().

◆ $profile_levels

array ilPersonalSkillsGUI::$profile_levels = []
protected

◆ $profile_manager

Profile SkillProfileManager ilPersonalSkillsGUI::$profile_manager
protected

Definition at line 129 of file class.ilPersonalSkillsGUI.php.

◆ $request

ServerRequestInterface ilPersonalSkillsGUI::$request
protected

Definition at line 93 of file class.ilPersonalSkillsGUI.php.

◆ $requested_basic_skill_id

int ilPersonalSkillsGUI::$requested_basic_skill_id = 0
protected

Definition at line 146 of file class.ilPersonalSkillsGUI.php.

Referenced by saveSelfEvaluation(), and selectMaterial().

◆ $requested_level_id

int ilPersonalSkillsGUI::$requested_level_id = 0
protected

Definition at line 148 of file class.ilPersonalSkillsGUI.php.

Referenced by selectMaterial().

◆ $requested_list_mode

string ilPersonalSkillsGUI::$requested_list_mode = self::LIST_PROFILES
protected

Definition at line 137 of file class.ilPersonalSkillsGUI.php.

◆ $requested_node_id

int ilPersonalSkillsGUI::$requested_node_id = 0
protected

Definition at line 138 of file class.ilPersonalSkillsGUI.php.

Referenced by addSkill().

◆ $requested_profile_id

int ilPersonalSkillsGUI::$requested_profile_id = 0
protected

Definition at line 139 of file class.ilPersonalSkillsGUI.php.

◆ $requested_skill_id

int ilPersonalSkillsGUI::$requested_skill_id = 0
protected

◆ $requested_skill_ids

array ilPersonalSkillsGUI::$requested_skill_ids = []
protected

Definition at line 145 of file class.ilPersonalSkillsGUI.php.

◆ $requested_table_assign_materials_action

string ilPersonalSkillsGUI::$requested_table_assign_materials_action = ""
protected

Definition at line 150 of file class.ilPersonalSkillsGUI.php.

◆ $requested_table_assign_materials_level_ids

array ilPersonalSkillsGUI::$requested_table_assign_materials_level_ids = []
protected

Definition at line 155 of file class.ilPersonalSkillsGUI.php.

◆ $requested_table_assign_materials_wsp_id

int ilPersonalSkillsGUI::$requested_table_assign_materials_wsp_id = 0
protected

Definition at line 156 of file class.ilPersonalSkillsGUI.php.

◆ $requested_tref_id

int ilPersonalSkillsGUI::$requested_tref_id = 0
protected

◆ $requested_wsp_ids

array ilPersonalSkillsGUI::$requested_wsp_ids = []
protected

Definition at line 161 of file class.ilPersonalSkillsGUI.php.

◆ $resource_manager

Resource SkillResourcesManager ilPersonalSkillsGUI::$resource_manager
protected

Definition at line 134 of file class.ilPersonalSkillsGUI.php.

◆ $self_evaluation_manager

Personal SelfEvaluationManager ilPersonalSkillsGUI::$self_evaluation_manager
protected

Definition at line 133 of file class.ilPersonalSkillsGUI.php.

◆ $setting

ilSetting ilPersonalSkillsGUI::$setting
protected

Definition at line 85 of file class.ilPersonalSkillsGUI.php.

Referenced by __construct(), and assignMaterial().

◆ $skmg_settings

ilSkillManagementSettings ilPersonalSkillsGUI::$skmg_settings
protected

Definition at line 122 of file class.ilPersonalSkillsGUI.php.

◆ $storage

ResourceStorage ilPersonalSkillsGUI::$storage
protected

Definition at line 94 of file class.ilPersonalSkillsGUI.php.

◆ $table_manager

Table TableManager ilPersonalSkillsGUI::$table_manager
protected

Definition at line 135 of file class.ilPersonalSkillsGUI.php.

◆ $tabs

ilTabsGUI ilPersonalSkillsGUI::$tabs
protected

◆ $toolbar

ilToolbarGUI ilPersonalSkillsGUI::$toolbar
protected

Definition at line 89 of file class.ilPersonalSkillsGUI.php.

Referenced by assignMaterials(), listSkills(), and selfEvaluation().

◆ $tpl

◆ $tree

ilTree ilPersonalSkillsGUI::$tree
protected

Definition at line 96 of file class.ilPersonalSkillsGUI.php.

◆ $tree_repo

ilSkillTreeRepository ilPersonalSkillsGUI::$tree_repo
protected

Definition at line 125 of file class.ilPersonalSkillsGUI.php.

◆ $tree_service

Service SkillTreeService ilPersonalSkillsGUI::$tree_service
protected

Definition at line 127 of file class.ilPersonalSkillsGUI.php.

◆ $trigger_objects_filter

array ilPersonalSkillsGUI::$trigger_objects_filter = []
protected

◆ $trigger_user_filter

array ilPersonalSkillsGUI::$trigger_user_filter = []
protected

Definition at line 166 of file class.ilPersonalSkillsGUI.php.

Referenced by getTriggerUserFilter(), and setTriggerUserFilter().

◆ $ui

UIServices ilPersonalSkillsGUI::$ui
protected

Definition at line 81 of file class.ilPersonalSkillsGUI.php.

Referenced by assignMaterial().

◆ $ui_fac

Factory ilPersonalSkillsGUI::$ui_fac
protected

Definition at line 91 of file class.ilPersonalSkillsGUI.php.

◆ $ui_ren

Renderer ilPersonalSkillsGUI::$ui_ren
protected

Definition at line 92 of file class.ilPersonalSkillsGUI.php.

◆ $use_materials

bool ilPersonalSkillsGUI::$use_materials = false
protected

Definition at line 121 of file class.ilPersonalSkillsGUI.php.

Referenced by renderSkillHTML().

◆ $user

◆ $user_profiles

array ilPersonalSkillsGUI::$user_profiles = []
protected

Definition at line 115 of file class.ilPersonalSkillsGUI.php.

◆ LIST_PROFILES

const ilPersonalSkillsGUI::LIST_PROFILES = ""

◆ LIST_SELECTED

const ilPersonalSkillsGUI::LIST_SELECTED = "selected"

Definition at line 45 of file class.ilPersonalSkillsGUI.php.


The documentation for this class was generated from the following file: