ILIAS  release_8 Revision v8.19-1-g4e8f2f9140c
All Data Structures Namespaces Files Functions Variables 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)
 
 setIntroText (string $a_val)
 
 getIntroText ()
 
 getTriggerUserFilter ()
 
 setTriggerUserFilter (array $trigger_user_filter)
 
 hideSkill (int $a_skill_id, int $a_tref_id=0)
 
 determineCurrentProfile ()
 
 getObjectId ()
 
 getObjectSkills ()
 
 setObjectSkills (int $a_obj_id, array $a_skills)
 
 setObjectSkillProfiles (ilContainerGlobalProfiles $a_g_profiles, ilContainerLocalProfiles $a_l_profils)
 
 executeCommand ()
 
 setTabs (string $a_activate)
 
 setOfflineMode (string $a_file_path)
 
 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 ()
 
 listProfilesForGap ()
 
 showInfoBox ()
 
 showProfileSelectorToolbar ()
 
 setGapAnalysisActualStatusModePerType (string $a_type, string $a_cat_title="")
 
 setGapAnalysisActualStatusModePerObject (int $a_obj_id, string $a_cat_title="")
 
 getGapAnalysisHTML (int $a_user_id=0, array $a_skills=null)
 
 selectProfile ()
 
 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...
 
 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 = []
 
string $intro_text = ""
 
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
 
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
 
ilSkillTreeRepository $tree_repo
 
SkillTreeService $tree_service
 
SkillProfileManager $profile_manager
 
SkillProfileCompletionManager $profile_completion_manager
 
SkillPersonalGUIRequest $personal_gui_request
 
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
 
int $requested_self_eval_level_id = 0
 
int $requested_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 38 of file class.ilPersonalSkillsGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilPersonalSkillsGUI::__construct ( )

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

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

150  {
151  global $DIC;
152 
153  $this->ctrl = $DIC->ctrl();
154  $this->lng = $DIC->language();
155  $this->help = $DIC["ilHelp"];
156  $this->setting = $DIC["ilSetting"];
157  $this->user = $DIC->user();
158  $this->tpl = $DIC["tpl"];
159  $this->tabs = $DIC->tabs();
160  $this->toolbar = $DIC->toolbar();
161  $this->access = $DIC->access();
162  $this->ui_fac = $DIC->ui()->factory();
163  $this->ui_ren = $DIC->ui()->renderer();
164  $this->ui = $DIC->ui();
165  $this->storage = $DIC->resourceStorage();
166  $this->data_fac = new \ILIAS\Data\Factory();
167  $this->tree = $DIC->repositoryTree();
168  $this->obj_definition = $DIC["objDefinition"];
169  $this->personal_gui_request = $DIC->skills()->internal()->gui()->personal_request();
170  $this->tree_repo = $DIC->skills()->internal()->repo()->getTreeRepo();
171  $this->tree_service = $DIC->skills()->tree();
172  $this->profile_manager = $DIC->skills()->internal()->manager()->getProfileManager();
173  $this->profile_completion_manager = $DIC->skills()->internal()->manager()->getProfileCompletionManager();
174 
175  $ilCtrl = $this->ctrl;
176  $ilHelp = $this->help;
177  $lng = $this->lng;
179 
180 
181  $lng->loadLanguageModule('skmg');
182  $ilHelp->setScreenIdComponent("skill");
183 
184  $ilCtrl->saveParameter($this, "skill_id");
185  $ilCtrl->saveParameter($this, "tref_id");
186  $ilCtrl->saveParameter($this, "profile_id");
187  $ilCtrl->saveParameter($this, "list_mode");
188 
189  $this->requested_list_mode = $this->personal_gui_request->getListMode();
190  $this->requested_node_id = $this->personal_gui_request->getNodeId();
191  $this->requested_profile_id = $this->personal_gui_request->getProfileId();
192  $this->requested_skill_id = $this->personal_gui_request->getSkillId();
193  $this->requested_skill_ids = $this->personal_gui_request->getSkillIds();
194  $this->requested_basic_skill_id = $this->personal_gui_request->getBasicSkillId();
195  $this->requested_tref_id = $this->personal_gui_request->getTrefId();
196  $this->requested_level_id = $this->personal_gui_request->getLevelId();
197  $this->requested_self_eval_level_id = $this->personal_gui_request->getSelfEvaluationLevelId();
198  $this->requested_wsp_id = $this->personal_gui_request->getWorkspaceId();
199  $this->requested_wsp_ids = $this->personal_gui_request->getWorkspaceIds();
200 
201  $this->user_profiles = $this->profile_manager->getProfilesOfUser($this->user->getId());
202  $this->cont_profiles = [];
203 
204  $this->use_materials = !$ilSetting->get("disable_personal_workspace");
205 
206  $this->skmg_settings = new ilSkillManagementSettings();
207 
208  $this->filter = new ilPersonalSkillsFilterGUI();
209  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
loadLanguageModule(string $a_module)
Load language module.
global $DIC
Definition: feed.php:28
global $ilSetting
Definition: privfeed.php:17
+ Here is the call graph for this function:

Member Function Documentation

◆ addSkill()

ilPersonalSkillsGUI::addSkill ( )

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

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

850  : void
851  {
852  $ilCtrl = $this->ctrl;
854  $lng = $this->lng;
855 
857 
858  $this->tpl->setOnScreenMessage('success', $lng->txt("msg_object_modified"));
859  $ilCtrl->setParameter($this, "list_mode", self::LIST_SELECTED);
860  $ilCtrl->redirect($this, "listSkills");
861  }
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 addPersonalSkill(int $a_user_id, int $a_skill_node_id)
$ilUser
Definition: imgupload.php:34
+ 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 992 of file class.ilPersonalSkillsGUI.php.

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

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

◆ assignMaterials()

ilPersonalSkillsGUI::assignMaterials ( )

Assign materials to skill levels.

Definition at line 916 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(), ilGlobalTemplateInterface\setContent(), ilGlobalTemplateInterface\setTitle(), ilGlobalTemplateInterface\setTitleIcon(), and ilLanguage\txt().

916  : void
917  {
918  $ilCtrl = $this->ctrl;
919  $lng = $this->lng;
920  $tpl = $this->tpl;
921  $ilToolbar = $this->toolbar;
922  $ilTabs = $this->tabs;
923 
924  $cmd = ($this->requested_list_mode == self::LIST_SELECTED || !count($this->user_profiles) > 0)
925  ? "render"
926  : "listAssignedProfile";
927  $ilTabs->setBackTarget(
928  $lng->txt("back"),
929  $ilCtrl->getLinkTarget($this, $cmd)
930  );
931 
932  $ilCtrl->saveParameter($this, "skill_id");
933  $ilCtrl->saveParameter($this, "basic_skill_id");
934  $ilCtrl->saveParameter($this, "tref_id");
935 
936  $tpl->setTitle(ilSkillTreeNode::_lookupTitle($this->requested_skill_id));
938  ilSkillTreeNode::_lookupType($this->requested_skill_id) .
939  ".svg"));
940 
941  // basic skill selection
942  $vtree = $this->tree_repo->getVirtualTreeForNodeId($this->requested_skill_id);
943  $tref_id = 0;
944  $skill_id = $this->requested_skill_id;
945  if (ilSkillTreeNode::_lookupType($this->requested_skill_id) == "sktr") {
946  $tref_id = $this->requested_skill_id;
947  $skill_id = ilSkillTemplateReference::_lookupTemplateId($this->requested_skill_id);
948  }
949  $bs = $vtree->getSubTreeForCSkillId($skill_id . ":" . $tref_id, true);
950 
951  $options = [];
952  foreach ($bs as $b) {
953  //$options[$b["id"]] = ilSkillTreeNode::_lookupTitle($b["id"]);
954  $options[$b["skill_id"]] = ilSkillTreeNode::_lookupTitle($b["skill_id"]);
955  }
956 
957  $cur_basic_skill_id = ($this->requested_basic_skill_id > 0)
958  ? $this->requested_basic_skill_id
959  : key($options);
960 
961  $ilCtrl->setParameter($this, "basic_skill_id", $cur_basic_skill_id);
962 
963  if (count($options) > 1) {
964  $si = new ilSelectInputGUI($lng->txt("skmg_skill"), "basic_skill_id");
965  $si->setOptions($options);
966  $si->setValue($cur_basic_skill_id);
967  $ilToolbar->addInputItem($si, true);
968  $ilToolbar->addFormButton(
969  $lng->txt("select"),
970  "assignMaterials"
971  );
972 
973  $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
974  }
975 
976  // table
978  $this,
979  "assignMaterials",
980  $this->requested_skill_id,
981  $this->requested_tref_id,
982  $cur_basic_skill_id
983  );
984 
985  $tpl->setContent($tab->getHTML());
986  }
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 getImagePath(string $img, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
static _lookupTitle(int $a_obj_id, int $a_tref_id=0)
static _lookupType(int $a_obj_id)
setTitleIcon(string $a_icon_path, string $a_icon_desc="")
set title icon
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setContent(string $a_html)
Sets content for standard template.
setBackTarget(string $a_title, string $a_target, string $a_frame="")
setTitle(string $a_title, bool $hidden=false)
Sets title in standard template.
ilGlobalTemplateInterface $tpl
+ Here is the call graph for this function:

◆ confirmSkillRemove()

ilPersonalSkillsGUI::confirmSkillRemove ( )

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

References $ctrl, $i, $lng, $requested_skill_id, $tpl, ilSkillTreeNode\_lookupTitle(), ilGlobalTemplateInterface\setContent(), and ilLanguage\txt().

863  : void
864  {
865  $lng = $this->lng;
866  $tpl = $this->tpl;
867  $ilCtrl = $this->ctrl;
868 
869  if ($this->requested_skill_id > 0) {
870  $this->requested_skill_ids[] = $this->requested_skill_id;
871  }
872  if (empty($this->requested_skill_ids)) {
873  $this->tpl->setOnScreenMessage('info', $lng->txt("no_checkbox"), true);
874  $ilCtrl->setParameter($this, "list_mode", self::LIST_SELECTED);
875  $ilCtrl->redirect($this, "listSkills");
876  } else {
877  $cgui = new ilConfirmationGUI();
878  $cgui->setFormAction($ilCtrl->getFormAction($this));
879  $cgui->setHeaderText($lng->txt("skmg_really_remove_skills"));
880  $cgui->setCancel($lng->txt("cancel"), "listSkills");
881  $cgui->setConfirm($lng->txt("remove"), "removeSkills");
882 
883  foreach ($this->requested_skill_ids as $i) {
884  $cgui->addItem("id[]", $i, ilSkillTreeNode::_lookupTitle($i));
885  }
886 
887  $tpl->setContent($cgui->getHTML());
888  }
889  }
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
$i
Definition: metadata.php:41
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ determineCurrentProfile()

ilPersonalSkillsGUI::determineCurrentProfile ( )

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

References $ctrl, $requested_profile_id, and setProfileId().

Referenced by listProfilesForGap().

298  : void
299  {
300  $ilCtrl = $this->ctrl;
301 
302  if (count($this->cont_profiles) == 0) {
303  return;
304  }
305  $current_prof_id = 0;
306  if ($this->requested_profile_id > 0) {
307  foreach ($this->cont_profiles as $p) {
308  if ($p["profile_id"] == $this->requested_profile_id) {
309  $current_prof_id = $this->requested_profile_id;
310  }
311  }
312  }
313 
314  if ($current_prof_id == 0 && !(is_array($this->obj_skills) && $this->obj_id > 0)) {
315  $current_prof_id = $this->cont_profiles[0]["profile_id"];
316  }
317  $ilCtrl->setParameter($this, "profile_id", $current_prof_id);
318  $this->setProfileId($current_prof_id);
319  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

ilPersonalSkillsGUI::executeCommand ( )

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

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

350  : void
351  {
352  $ilCtrl = $this->ctrl;
354  $lng = $this->lng;
355  $tpl = $this->tpl;
356 
357  $next_class = $ilCtrl->getNextClass($this);
358 
359 
360  $cmd = $ilCtrl->getCmd("render");
361 
362  //$tpl->setTitle($lng->txt("skills"));
363  //$tpl->setTitleIcon(ilUtil::getImagePath("icon_skmg.svg"));
364 
365  switch ($next_class) {
366  default:
367  $this->$cmd();
368  break;
369  }
370  }
ilGlobalTemplateInterface $tpl
$ilUser
Definition: imgupload.php:34

◆ getActualGapItem()

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

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

References $gap_cat_title, $lng, $type, ilObject\_lookupTitle(), ilGlobalTemplateInterface\get(), getScaleBar(), ilGlobalTemplateInterface\setVariable(), ilGlobalTemplateInterface\touchBlock(), and ilLanguage\txt().

Referenced by renderSkillHTML().

1675  : string
1676  {
1677  $lng = $this->lng;
1678 
1679  $a_activated_levels = [];
1680  foreach ($a_levels as $k => $v) {
1681  if ($this->actual_levels[$v["skill_id"]][$a_tref_id] == $v["id"]) {
1682  $a_activated_levels[] = $v["id"];
1683  }
1684  }
1685 
1686  if (empty($a_activated_levels)) {
1687  return "";
1688  }
1689 
1690  $title = "";
1691  if ($this->gap_cat_title != "") {
1692  $title = $this->gap_cat_title;
1693  } elseif ($this->gap_mode == "max_per_type") {
1694  $title = $lng->txt("objs_" . $this->gap_mode_type);
1695  } elseif ($this->gap_mode == "max_per_object") {
1696  $title = ilObject::_lookupTitle($this->gap_mode_obj_id);
1697  }
1698 
1699  $tpl = new ilTemplate("tpl.skill_eval_item.html", true, true, "Services/Skill");
1700  $tpl->setVariable("SCALE_BAR", $this->getScaleBar($a_levels, $a_activated_levels));
1701 
1702  $type = 1;
1703  $tpl->setVariable("TYPE", $lng->txt("skmg_eval_type_latest_" . $type));
1704  if ($type > 0) {
1705  $tpl->touchBlock("st" . $type);
1706  $tpl->touchBlock("stb" . $type);
1707  }
1708 
1709  if ($title != $lng->txt("skmg_eval_type_" . $type)) {
1710  $tpl->setVariable("TITLE", $title);
1711  }
1712 
1713  return $tpl->get();
1714  }
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...
$type
touchBlock(string $block)
overwrites ITX::touchBlock.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
static _lookupTitle(int $obj_id)
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 1975 of file class.ilPersonalSkillsGUI.php.

Referenced by getLatestEntriesForSkillHTML().

1975  : array
1976  {
1977  $first_self_added = false;
1978  $first_measurement_added = false;
1979  $first_appraisal_added = false;
1980  $latest_entries = [];
1981  foreach ($entries as $entry) {
1982  if (!$first_self_added && $entry["self_eval"] == 1) {
1983  $latest_entries[] = $entry;
1984  $first_self_added = true;
1985  continue;
1986  }
1987  if (!$first_measurement_added && $entry["trigger_obj_type"] == "tst") {
1988  $latest_entries[] = $entry;
1989  $first_measurement_added = true;
1990  continue;
1991  }
1992  if (!$first_appraisal_added && $entry["self_eval"] != 1 && $entry["trigger_obj_type"] != "tst") {
1993  $latest_entries[] = $entry;
1994  $first_appraisal_added = true;
1995  }
1996  }
1997 
1998  return $latest_entries;
1999  }
+ Here is the caller graph for this function:

◆ getAllEntriesWithoutLatest()

ilPersonalSkillsGUI::getAllEntriesWithoutLatest ( array  $entries)
protected

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

Referenced by getNonLatestEntriesForSkillHTML().

2001  : array
2002  {
2003  $first_self_filtered = false;
2004  $first_measurement_filtered = false;
2005  $first_appraisal_filtered = false;
2006  $non_latest_entries = [];
2007  foreach ($entries as $entry) {
2008  if (!$first_self_filtered && $entry["self_eval"] == 1) {
2009  $first_self_filtered = true;
2010  continue;
2011  }
2012  if (!$first_measurement_filtered && $entry["trigger_obj_type"] == "tst") {
2013  $first_measurement_filtered = true;
2014  continue;
2015  }
2016  if (!$first_appraisal_filtered && $entry["self_eval"] != 1 && $entry["trigger_obj_type"] != "tst") {
2017  $first_appraisal_filtered = true;
2018  continue;
2019  }
2020  $non_latest_entries[] = $entry;
2021  }
2022 
2023  return $non_latest_entries;
2024  }
+ Here is the caller graph for this function:

◆ getAllSuggestedResources()

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

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

References $lng, $ref_id, $res, ilLink\_getLink(), ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilGlobalTemplateInterface\get(), ilBasicSkill\lookupLevelTitle(), ilGlobalTemplateInterface\parseCurrentBlock(), ilGlobalTemplateInterface\setCurrentBlock(), ilGlobalTemplateInterface\setVariable(), ilGlobalTemplateInterface\touchBlock(), and ilLanguage\txt().

Referenced by renderSkillHTML().

2182  : string
2183  {
2184  $lng = $this->lng;
2185 
2186  $tpl = new ilTemplate("tpl.suggested_resources.html", true, true, "Services/Skill");
2187 
2188  $skill_res = new ilSkillResources($a_base_skill, $a_tref_id);
2189  $res = $skill_res->getResources();
2190  // add $r["level_id"] info
2191  $any = false;
2192  foreach ($res as $level) {
2193  $available = false;
2194  $cl = 0;
2195  foreach ($level as $r) {
2196  if ($r["imparting"]) {
2197  $ref_id = $r["rep_ref_id"];
2199  $title = ilObject::_lookupTitle($obj_id);
2200  $tpl->setCurrentBlock("resource_item");
2201  $tpl->setVariable("TXT_RES", $title);
2202  $tpl->setVariable("HREF_RES", ilLink::_getLink($ref_id));
2204  $available = true;
2205  $any = true;
2206  $cl = $r["level_id"];
2207  }
2208  }
2209  if ($available) {
2210  $tpl->setCurrentBlock("resources_list_level");
2211  $tpl->setVariable("TXT_LEVEL", $lng->txt("skmg_level"));
2212  $tpl->setVariable("LEVEL_NAME", ilBasicSkill::lookupLevelTitle($cl));
2214  $tpl->touchBlock("resources_list");
2215  }
2216  }
2217  if ($any) {
2218  $tpl->setVariable("SUGGESTED_MAT_MESS", $lng->txt("skmg_suggested_resources"));
2219  return $tpl->get();
2220  }
2221 
2222  return "";
2223  }
$res
Definition: ltiservices.php:69
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.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
static lookupLevelTitle(int $a_id)
setVariable(string $variable, $value='')
Sets the given variable to the given value.
static _lookupObjId(int $ref_id)
$ref_id
Definition: ltiauth.php:67
static _lookupTitle(int $obj_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
ilGlobalTemplateInterface $tpl
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
+ 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 2060 of file class.ilPersonalSkillsGUI.php.

References ilGlobalTemplateInterface\get(), ilGlobalTemplateInterface\parseCurrentBlock(), ilGlobalTemplateInterface\setCurrentBlock(), and ilGlobalTemplateInterface\setVariable().

Referenced by renderSkillHTML().

2060  : string
2061  {
2062  $tpl = new ilTemplate("tpl.skill_description_basic.html", true, true, "Services/Skill");
2063 
2064  if (!empty($description)) {
2065  $tpl->setCurrentBlock("description_basic");
2066  $tpl->setVariable("DESCRIPTION_BASIC", $description);
2068  }
2069 
2070  return $tpl->get();
2071  }
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
ilGlobalTemplateInterface $tpl
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
+ 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 1771 of file class.ilPersonalSkillsGUI.php.

References $access, $lng, $type, ilObject\_exists(), ilLink\_getLink(), ilObject\_lookupTitle(), ilDatePresentation\formatDate(), ilObjectDataDeletionLog\get(), ilGlobalTemplateInterface\get(), getScaleBar(), IL_CAL_DATETIME, ilDatePresentation\setUseRelativeDates(), ilGlobalTemplateInterface\setVariable(), ilGlobalTemplateInterface\touchBlock(), ilLanguage\txt(), ilSkillEval\TYPE_APPRAISAL, ilSkillEval\TYPE_MEASUREMENT, and ilSkillEval\TYPE_SELF_EVAL.

1771  : string
1772  {
1773  $lng = $this->lng;
1774  $ilAccess = $this->access;
1775 
1776  $tpl = new ilTemplate("tpl.skill_eval_item.html", true, true, "Services/Skill");
1777  $tpl->setVariable("SCALE_BAR", $this->getScaleBar($a_levels, $a_level_entry["level_id"]));
1778 
1780 
1781  if ($a_level_entry["self_eval"] == 1) {
1783  }
1784 
1785  if ($a_level_entry["trigger_obj_type"] == "tst") {
1787  }
1788 
1790  $title = "";
1791  if ($a_level_entry["trigger_obj_id"] > 0) {
1792  if (ilObject::_exists($a_level_entry["trigger_ref_id"], true)) {
1793  $title = ilObject::_lookupTitle($a_level_entry["trigger_obj_id"]);
1794  } elseif (!empty($del_data = ilObjectDataDeletionLog::get($a_level_entry["trigger_obj_id"]))) {
1795  $title = $del_data["title"];
1796  } else {
1797  $title = ($a_level_entry["trigger_title"]) ?? "";
1798  }
1799  }
1800 
1801  if ($a_level_entry["trigger_ref_id"] > 0
1802  && $ilAccess->checkAccess("read", "", $a_level_entry["trigger_ref_id"])) {
1803  $title = "<a href='" . ilLink::_getLink($a_level_entry["trigger_ref_id"]) . "'>" . $title . "</a>";
1804  }
1805 
1806  if ($is_latest) {
1807  $tpl->setVariable("TYPE", $lng->txt("skmg_eval_type_latest_" . $type));
1808  } else {
1809  $tpl->setVariable("TYPE", $lng->txt("skmg_eval_type_" . $type));
1810  }
1811  if ($type > 0) {
1812  $tpl->touchBlock("st" . $type);
1813  $tpl->touchBlock("stb" . $type);
1814  }
1815  $tpl->setVariable("TITLE", $title);
1816  $tpl->setVariable(
1817  "DATE",
1818  ilDatePresentation::formatDate(new ilDate($a_level_entry["status_date"], IL_CAL_DATETIME))
1819  );
1820 
1822 
1823  return $tpl->get();
1824  }
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...
$type
touchBlock(string $block)
overwrites ITX::touchBlock.
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false)
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
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)
ilGlobalTemplateInterface $tpl
static setUseRelativeDates(bool $a_status)
set use relative dates
getScaleBar(array $a_levels, $a_activated_levels)
+ Here is the call graph for this function:

◆ getFilter()

ilPersonalSkillsGUI::getFilter ( )

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

References $filter.

Referenced by applyFilter(), applyFilterAssignedProfiles(), getFilteredEntriesForSkill(), getGapAnalysisHTML(), listAssignedProfile(), listSkills(), and renderSkillHTML().

212  {
213  return $this->filter;
214  }
ilPersonalSkillsFilterGUI $filter
+ Here is the caller graph for this function:

◆ getFilteredEntriesForSkill()

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

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

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

Referenced by getLatestEntriesForSkillHTML(), and getNonLatestEntriesForSkillHTML().

1929  : array {
1930  // get date of self evaluation
1931  $se_date = ilPersonalSkill::getSelfEvaluationDate($user->getId(), $top_skill_id, $bs["tref"], $bs["id"]);
1932  $se_rendered = $se_date == "";
1933 
1934  $filtered_entries = [];
1935  foreach ($entries as $level_entry) {
1936  if (count($this->getTriggerObjectsFilter()) && !in_array($level_entry['trigger_obj_id'], $this->getTriggerObjectsFilter())) {
1937  continue;
1938  }
1939  if (count($this->getTriggerUserFilter()) && !in_array($level_entry['trigger_user_id'], $this->getTriggerUserFilter())) {
1940  continue;
1941  }
1942 
1943  // render the self evaluation at the correct position within the list of object triggered entries
1944  if ($se_date > $level_entry["status_date"] && !$se_rendered) {
1945  $se_rendered = true;
1946  }
1947  if ($this->getFilter()->isInRange($level_entry)) {
1948  $filtered_entries[] = $level_entry;
1949  }
1950  }
1951 
1952  return $filtered_entries;
1953  }
static getSelfEvaluationDate(int $a_user_id, int $a_top_skill, int $a_tref_id, int $a_basic_skill)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getGapAnalysisHTML()

ilPersonalSkillsGUI::getGapAnalysisHTML ( int  $a_user_id = 0,
array  $a_skills = null 
)

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

References Vendor\Package\$a, $gap_cat_title, $ilUser, $lng, $obj_skills, $path, $user, ilSkillTreeNode\_lookupTitle(), ilObject\_lookupTitle(), ilObject\_lookupType(), getFilter(), getGapAnalysisSelfEvalLevels(), ilPanelGUI\getInstance(), getIntroText(), getProfileId(), getSkillHTML(), ilPanelGUI\PANEL_STYLE_PRIMARY, ilSkillTreeNode\STATUS_DRAFT, and ilLanguage\txt().

Referenced by listProfilesForGap().

1303  : string
1304  {
1305  $ilUser = $this->user;
1306  $lng = $this->lng;
1307 
1308  // needed fix for profiles in gap view, because there is no filter shown (yet)
1309  $this->getFilter()->clear();
1310 
1311  if ($a_skills == null) {
1312  $a_skills = $this->obj_skills;
1313  }
1314 
1315  $intro_html = "";
1316  if ($this->getIntroText() != "") {
1317  $pan = ilPanelGUI::getInstance();
1318  $pan->setPanelStyle(ilPanelGUI::PANEL_STYLE_PRIMARY);
1319  $pan->setBody($this->getIntroText());
1320  $intro_html = $pan->getHTML();
1321  }
1322 
1323  // $this->setTabs("list_skills");
1324 
1325  if ($a_user_id == 0) {
1326  $user_id = $ilUser->getId();
1327  } else {
1328  $user_id = $a_user_id;
1329  }
1330 
1331  $skills = [];
1332  if ($this->getProfileId() > 0) {
1333  $profile = $this->profile_manager->getById($this->getProfileId());
1334  $this->profile_levels = $profile->getSkillLevels();
1335 
1336  foreach ($this->profile_levels as $l) {
1337  $skills[] = array(
1338  "base_skill_id" => $l["base_skill_id"],
1339  "tref_id" => $l["tref_id"],
1340  "level_id" => $l["level_id"]
1341  );
1342  }
1343  } else {
1344  $skills = $a_skills;
1345  }
1346 
1347  // get actual levels for gap analysis
1348  $this->actual_levels = $this->profile_completion_manager->getActualMaxLevels(
1349  $user_id,
1350  $skills,
1351  $this->gap_mode,
1352  $this->gap_mode_type,
1353  $this->gap_mode_obj_id
1354  );
1355  $this->next_level_fuls = $this->profile_completion_manager->getActualNextLevelFulfilments(
1356  $user_id,
1357  $skills,
1358  $this->gap_mode,
1359  $this->gap_mode_type,
1360  $this->gap_mode_obj_id
1361  );
1362 
1363  if (!$this->getProfileId() > 0) {
1364  // order skills per virtual skill tree
1365  $vtree = $this->tree_service->getGlobalVirtualSkillTree();
1366  $skills = $vtree->getOrderedNodeset($skills, "base_skill_id", "tref_id");
1367  }
1368 
1369  $bc_skills = [];
1370  $html = "";
1371 
1372  foreach ($skills as $s) {
1373  $path = $this->tree_service->getSkillTreePath($s["base_skill_id"]);
1374 
1375  // check draft
1376  foreach ($path as $p) {
1377  if ($p["status"] == ilSkillTreeNode::STATUS_DRAFT) {
1378  continue(2);
1379  }
1380  }
1381  $bc_skills[] = $s;
1382  $html .= $this->getSkillHTML($s["base_skill_id"], $user_id, false, $s["tref_id"]);
1383  }
1384 
1385 
1386  // output bar charts
1387  $all_chart_html = $this->getBarChartHTML($bc_skills);
1388 
1389  if (!empty($all_chart_html)) {
1390  $pan = ilPanelGUI::getInstance();
1391  $pan->setPanelStyle(ilPanelGUI::PANEL_STYLE_PRIMARY);
1392  $pan->setBody($all_chart_html);
1393  $all_chart_html = $pan->getHTML();
1394  }
1395 
1396  // list skills
1397 
1398  return $intro_html . $all_chart_html . $html;
1399  }
const PANEL_STYLE_PRIMARY
$path
Definition: ltiservices.php:32
getSkillHTML(int $a_top_skill_id, int $a_user_id=0, bool $a_edit=false, int $a_tref_id=0)
Get skill presentation HTML.
static getInstance()
$ilUser
Definition: imgupload.php:34
+ 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 237 of file class.ilPersonalSkillsGUI.php.

References $gap_self_eval_levels.

Referenced by getGapAnalysisHTML(), and getSelfEvalGapItem().

237  : array
238  {
240  }
+ Here is the caller graph for this function:

◆ getHistoryView()

ilPersonalSkillsGUI::getHistoryView ( )

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

References $history_view.

247  : bool
248  {
249  return $this->history_view;
250  }

◆ getIntroText()

ilPersonalSkillsGUI::getIntroText ( )

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

References $intro_text.

Referenced by getGapAnalysisHTML().

272  : string
273  {
274  return $this->intro_text;
275  }
+ Here is the caller graph for this function:

◆ getLatestEntriesForSkillHTML()

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

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

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

Referenced by renderSkillHTML().

1833  : string {
1834  $lng = $this->lng;
1835 
1836  $tpl = new ilTemplate("tpl.skill_entries_latest.html", true, true, "Services/Skill");
1837 
1838  $user_entries = $skill->getAllHistoricLevelEntriesOfUser($bs["tref"], $user->getId(), $eval_type);
1839  $user_entries_filtered = $this->getFilteredEntriesForSkill(
1840  $user_entries,
1841  $top_skill_id,
1842  $bs,
1843  $user
1844  );
1845  if ($eval_type == ilBasicSkill::EVAL_BY_SELF) {
1846  $latest_entries = $this->getSelfEvalEntriesLatestOnly($user_entries_filtered);
1847  } else {
1848  $latest_entries = $this->getAllEntriesLatestOnly($user_entries_filtered);
1849  }
1850 
1851  $latest_entries_html = "";
1852  foreach ($latest_entries as $entry) {
1853  $latest_entries_html .= $this->ui_ren->render(
1854  $this->ui_fac->legacy($this->getEvalItem($level_data, $entry, true))
1855  );
1856  }
1857 
1858  if (!empty($latest_entries_html)) {
1859  $tpl->setVariable("SKILL_ENTRIES", $latest_entries_html);
1860 
1861  if (count($user_entries_filtered) != count($latest_entries)) {
1862  $tpl->setCurrentBlock("all_entries_button");
1863  $show_all_button = $this->ui_fac->button()->standard($lng->txt("skmg_show_all"), "#")
1864  ->withOnLoadCode(function ($id) {
1865  return "$('#$id').on('click', function() {SkillEntries.showNonLatest($id); return false;})";
1866  });
1867  $tpl->setVariable("BUTTON", $this->ui_ren->render($show_all_button));
1869  }
1870 
1871  return $tpl->get();
1872  }
1873 
1874  return "";
1875  }
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...
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
ilGlobalTemplateInterface $tpl
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
getFilteredEntriesForSkill(array $entries, int $top_skill_id, array $bs, ilObjUser $user)
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
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 795 of file class.ilPersonalSkillsGUI.php.

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

Referenced by getMaterials().

795  : array
796  {
797  $ws_tree = new ilWorkspaceTree($a_user_id);
798  $ws_access = new ilWorkspaceAccessHandler();
799 
800  $obj_id = $ws_tree->lookupObjectId($a_wsp_id);
801  $caption = ilObject::_lookupTitle($obj_id);
802 
803  if (!$this->offline_mode) {
804  $url = $ws_access->getGotoLink($a_wsp_id, $obj_id);
805  } else {
806  $url = $this->offline_mode . "file_" . $obj_id . "/";
807 
808  // all possible material types for now
809  switch (ilObject::_lookupType($obj_id)) {
810  case "tstv":
811  $obj = new ilObjTestVerification($obj_id, false);
812  $url .= $obj->getOfflineFilename();
813  break;
814 
815  case "excv":
816  $obj = new ilObjExerciseVerification($obj_id, false);
817  $url .= $obj->getOfflineFilename();
818  break;
819 
820  case "crsv":
821  $obj = new ilObjCourseVerification($obj_id, false);
822  $url .= $obj->getOfflineFilename();
823  break;
824 
825  case "cmxv":
826  $obj = new ilObjCmiXapiVerification($obj_id, false);
827  $url .= $obj->getOfflineFilename();
828  break;
829 
830  case "ltiv":
831  $obj = new ilObjLTIConsumerVerification($obj_id, false);
832  $url .= $obj->getOfflineFilename();
833  break;
834 
835  case "scov":
836  $obj = new ilObjSCORMVerification($obj_id, false);
837  $url .= $obj->getOfflineFilename();
838  break;
839 
840  case "file":
841  $file = new ilObjFile($obj_id, false);
842  $url .= $file->getFileName();
843  break;
844  }
845  }
846 
847  return array($caption, $url);
848  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
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.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$url
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 1596 of file class.ilPersonalSkillsGUI.php.

References $ilUser, $lng, $user, ilPersonalSkill\countAssignedMaterial(), ilGlobalTemplateInterface\get(), ilPersonalSkill\getAssignedMaterial(), getMaterialInfo(), ilGlobalTemplateInterface\parseCurrentBlock(), ilGlobalTemplateInterface\setCurrentBlock(), ilGlobalTemplateInterface\setVariable(), and ilLanguage\txt().

Referenced by renderSkillHTML().

1596  : string
1597  {
1598  $ilUser = $this->user;
1599  $lng = $this->lng;
1600 
1601  if ($a_user_id == 0) {
1602  $a_user_id = $ilUser->getId();
1603  }
1604 
1605  // only render, if materials given
1606  $got_mat = false;
1607  foreach ($a_levels as $v) {
1609  $a_user_id,
1610  $a_tref_id,
1611  $v["id"]
1612  );
1613  if ($mat_cnt > 0) {
1614  $got_mat = true;
1615  }
1616  }
1617  if (!$got_mat) {
1618  return "";
1619  }
1620 
1621  $tpl = new ilTemplate("tpl.skill_materials.html", true, true, "Services/Skill");
1622  foreach ($a_levels as $k => $v) {
1623  $got_mat = false;
1625  $a_user_id,
1626  $a_tref_id,
1627  $v["id"]
1628  ) as $item) {
1629  $tpl->setCurrentBlock("material");
1630  $mat_data = $this->getMaterialInfo($item["wsp_id"], $a_user_id);
1631  $tpl->setVariable("HREF_LINK", $mat_data[1]);
1632  $tpl->setVariable("TXT_LINK", $mat_data[0]);
1634  $got_mat = true;
1635  }
1636  if ($got_mat) {
1637  $tpl->setCurrentBlock("level");
1638  $tpl->setVariable("LEVEL_VAL", $v["title"]);
1640  }
1641  }
1642  $tpl->setVariable("TXT_MATERIAL", $lng->txt("skmg_materials"));
1643 
1644  return $tpl->get();
1645  }
static getAssignedMaterial(int $a_user_id, int $a_tref_id, int $a_level)
Get assigned material (for a skill level and user)
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...
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
getMaterialInfo(int $a_wsp_id, int $a_user_id)
Get material file name and goto url.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
static countAssignedMaterial(int $a_user_id, int $a_tref_id, int $a_level)
Count assigned material (for a skill level and user)
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
ilGlobalTemplateInterface $tpl
$ilUser
Definition: imgupload.php:34
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getNonHistoricGapModeView()

ilPersonalSkillsGUI::getNonHistoricGapModeView ( )

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

Referenced by renderSkillHTML().

252  : bool
253  {
254  return ($this->mode == "gap" && !$this->history_view);
255  }
+ 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 1877 of file class.ilPersonalSkillsGUI.php.

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

Referenced by renderSkillHTML().

1884  : string {
1885  $lng = $this->lng;
1886 
1887  $tpl = new ilTemplate("tpl.skill_entries_non_latest.html", true, true, "Services/Skill");
1888 
1889  $user_entries = $skill->getAllHistoricLevelEntriesOfUser($bs["tref"], $user->getId(), $eval_type);
1890  $user_entries_filtered = $this->getFilteredEntriesForSkill(
1891  $user_entries,
1892  $top_skill_id,
1893  $bs,
1894  $user
1895  );
1896  if ($eval_type == ilBasicSkill::EVAL_BY_SELF) {
1897  $non_latest_entries = $this->getSelfEvalEntriesWithoutLatest($user_entries_filtered);
1898  } else {
1899  $non_latest_entries = $this->getAllEntriesWithoutLatest($user_entries_filtered);
1900  }
1901 
1902  $non_latest_entries_filtered_html = "";
1903  foreach ($non_latest_entries as $entry) {
1904  $non_latest_entries_filtered_html .= $this->ui_ren->render(
1905  $this->ui_fac->legacy($this->getEvalItem($level_data, $entry, false))
1906  );
1907  }
1908 
1909  if (!empty($non_latest_entries_filtered_html)) {
1910  $tpl->setVariable("SKILL_ENTRIES", $non_latest_entries_filtered_html);
1911 
1912  $show_latest_button = $this->ui_fac->button()->standard($lng->txt("skmg_show_latest_entries"), "#")
1913  ->withOnLoadCode(function ($id) {
1914  return "$('#$id').on('click', function() {SkillEntries.hideNonLatest($id); return false;})";
1915  });
1916  $tpl->setVariable("BUTTON", $this->ui_ren->render($show_latest_button));
1917 
1918  return $tpl->get();
1919  }
1920 
1921  return "";
1922  }
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...
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
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 321 of file class.ilPersonalSkillsGUI.php.

References $obj_id.

321  : int
322  {
323  return $this->obj_id;
324  }

◆ getObjectSkills()

ilPersonalSkillsGUI::getObjectSkills ( )
Returns
array<string, array{base_skill_id: int, tref_id: int, title: int}>

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

References $obj_skills.

329  : array
330  {
331  return $this->obj_skills;
332  }

◆ getProfileId()

ilPersonalSkillsGUI::getProfileId ( )

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

References $profile_id.

Referenced by getGapAnalysisHTML(), getSkillEntriesHeader(), listAssignedProfile(), renderSkillHTML(), and showProfileSelectorToolbar().

221  : int
222  {
223  return $this->profile_id;
224  }
+ 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 1647 of file class.ilPersonalSkillsGUI.php.

References $lng, ilGlobalTemplateInterface\get(), getScaleBar(), ilGlobalTemplateInterface\setVariable(), and ilLanguage\txt().

Referenced by renderSkillHTML().

1647  : string
1648  {
1649  $lng = $this->lng;
1650 
1651  $profile = $this->profile_manager->getById($a_profile_id);
1652  $profile_levels = $profile->getSkillLevels();
1653 
1654  $a_activated_levels = [];
1655 
1656  foreach ($a_levels as $k => $v) {
1657  foreach ($profile_levels as $pl) {
1658  if ($pl["level_id"] == $v["id"] &&
1659  $pl["base_skill_id"] == $v["skill_id"] &&
1660  $a_tref_id == $pl["tref_id"]) {
1661  $a_activated_levels[] = $pl["level_id"];
1662  }
1663  }
1664  }
1665 
1666  $tpl = new ilTemplate("tpl.skill_eval_item.html", true, true, "Services/Skill");
1667  $tpl->setVariable("SCALE_BAR", $this->getScaleBar($a_levels, $a_activated_levels));
1668 
1669  $tpl->setVariable("TYPE", $lng->txt("skmg_target_level"));
1670  $tpl->setVariable("TITLE", "");
1671 
1672  return $tpl->get();
1673  }
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...
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
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 1755 of file class.ilPersonalSkillsGUI.php.

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

1755  : string
1756  {
1757  $vals = [];
1758 
1759  if (!is_array($a_activated_levels)) {
1760  $a_activated_levels = array($a_activated_levels);
1761  }
1762 
1763  foreach ($a_levels as $level) {
1764  $vals[$level["title"]] = (in_array($level["id"], $a_activated_levels));
1765  }
1766  $scale_bar = $this->ui_fac->chart()->scaleBar($vals);
1767 
1768  return $this->ui_ren->render($scale_bar);
1769  }
+ Here is the caller graph for this function:

◆ getSelfEvalEntriesLatestOnly()

ilPersonalSkillsGUI::getSelfEvalEntriesLatestOnly ( array  $entries)
protected

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

Referenced by getLatestEntriesForSkillHTML().

1955  : array
1956  {
1957  if (!empty($entries)) {
1958  $last_entry[] = $entries[0];
1959  return $last_entry;
1960  }
1961 
1962  return [];
1963  }
+ Here is the caller graph for this function:

◆ getSelfEvalEntriesWithoutLatest()

ilPersonalSkillsGUI::getSelfEvalEntriesWithoutLatest ( array  $entries)
protected

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

Referenced by getNonLatestEntriesForSkillHTML().

1965  : array
1966  {
1967  if (count($entries) > 1) {
1968  array_shift($entries);
1969  return $entries;
1970  }
1971 
1972  return [];
1973  }
+ Here is the caller graph for this function:

◆ getSelfEvalGapItem()

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

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

References $lng, $type, ilGlobalTemplateInterface\get(), getGapAnalysisSelfEvalLevels(), getScaleBar(), ilGlobalTemplateInterface\setVariable(), ilGlobalTemplateInterface\touchBlock(), and ilLanguage\txt().

Referenced by renderSkillHTML().

1716  : string
1717  {
1718  $lng = $this->lng;
1719 
1720  $self_vals = $this->getGapAnalysisSelfEvalLevels();
1721  if (empty($self_vals)) {
1722  return "";
1723  }
1724 
1725  $a_activated_levels = [];
1726  foreach ($a_levels as $k => $v) {
1727  if (isset($self_vals[$v["skill_id"]][$a_tref_id]) &&
1728  $self_vals[$v["skill_id"]][$a_tref_id] == $v["id"]) {
1729  $a_activated_levels[] = $v["id"];
1730  }
1731  }
1732 
1733  if (empty($a_activated_levels)) {
1734  return "";
1735  }
1736 
1737  $tpl = new ilTemplate("tpl.skill_eval_item.html", true, true, "Services/Skill");
1738  $tpl->setVariable("SCALE_BAR", $this->getScaleBar($a_levels, $a_activated_levels));
1739 
1740  $type = 3;
1741  $tpl->setVariable("TYPE", $lng->txt("skmg_eval_type_latest_" . $type));
1742  if ($type > 0) {
1743  $tpl->touchBlock("st" . $type);
1744  $tpl->touchBlock("stb" . $type);
1745  }
1746 
1747  return $tpl->get();
1748  }
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...
$type
touchBlock(string $block)
overwrites ITX::touchBlock.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
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:

◆ getSkillCategoryDescription()

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

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

References ilSkillTreeNode\_lookupDescription(), ilGlobalTemplateInterface\get(), ilGlobalTemplateInterface\parseCurrentBlock(), ilGlobalTemplateInterface\setCurrentBlock(), and ilGlobalTemplateInterface\setVariable().

Referenced by renderSkillHTML().

2044  : string
2045  {
2046  $tpl = new ilTemplate("tpl.skill_description_category.html", true, true, "Services/Skill");
2047 
2048  //if (ilSkillTreeNode::_lookupType($skill_id) == "scat") {
2049  $des = ilSkillTreeNode::_lookupDescription($skill_id);
2050  if (!empty($des)) {
2051  $tpl->setCurrentBlock("description_category");
2052  $tpl->setVariable("DESCRIPTION_CATEGORY", $des);
2054  }
2055  //}
2056 
2057  return $tpl->get();
2058  }
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
static _lookupDescription(int $a_obj_id)
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
ilGlobalTemplateInterface $tpl
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
+ 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 2026 of file class.ilPersonalSkillsGUI.php.

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

Referenced by renderSkillHTML().

2026  : string
2027  {
2028  $tpl = new ilTemplate("tpl.skill_entries_header.html", true, true, "Services/Skill");
2029 
2030  if ($eval_type == ilBasicSkill::EVAL_BY_SELF) {
2031  $tpl->setVariable("HEADING", $this->lng->txt("skmg_self_evaluation"));
2032  $tpl->setCurrentBlock("header_byline");
2033  $tpl->setVariable("BYLINE", $this->lng->txt("skmg_self_evaluation_byline"));
2035  } else {
2036  if ($this->getProfileId() > 0) {
2037  $tpl->setVariable("HEADING", $this->lng->txt("skmg_skill_profile_records"));
2038  }
2039  }
2040 
2041  return $tpl->get();
2042  }
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
ilGlobalTemplateInterface $tpl
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
+ 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 getGapAnalysisHTML(), listAssignedProfile(), and listSkills().

497  : string {
498  $main_tpl = $this->tpl;
499 
500  // user interface plugin slot + default rendering
501  $uip = new ilUIHookProcessor(
502  "Services/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("./Services/Skill/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 2073 of file class.ilPersonalSkillsGUI.php.

References ilGlobalTemplateInterface\get(), ilGlobalTemplateInterface\parseCurrentBlock(), ilGlobalTemplateInterface\setCurrentBlock(), and ilGlobalTemplateInterface\setVariable().

Referenced by renderSkillHTML().

2073  : string
2074  {
2075  $level_data = $skill->getLevelData();
2076  $tpl = new ilTemplate("tpl.skill_desc.html", true, true, "Services/Skill");
2077 
2078  $desc_exists = false;
2079  foreach ($level_data as $l) {
2080  if ($l["description"] != "") {
2081  $desc_exists = true;
2082  }
2083  }
2084  reset($level_data);
2085  if ($desc_exists) {
2086  foreach ($level_data as $l) {
2087  $tpl->setCurrentBlock("level");
2088  $tpl->setVariable("LEVEL_VAL", $l["title"]);
2089  $tpl->setVariable("LEVEL_DESC", nl2br($l["description"]));
2091  }
2092  }
2093 
2094  return $tpl->get();
2095  }
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
ilGlobalTemplateInterface $tpl
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
+ 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 2097 of file class.ilPersonalSkillsGUI.php.

References $lng, $ref_id, ilObject\_getAllReferences(), ilLink\_getLink(), ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilObject\_lookupType(), ilBasicSkill\hasSelfEvaluated(), ilLanguage\txt(), and ILIAS\Repository\user().

Referenced by renderSkillHTML().

2103  $lng = $this->lng;
2104 
2105  $res_manager = new ilSkillResourcesManager($a_base_skill, $a_tref_id);
2106 
2107  $gap_mode_obj_type = ilObject::_lookupType($gap_mode_obj_id);
2108  if ($gap_mode_obj_id > 0 && !$this->obj_definition->isContainer($gap_mode_obj_type)) {
2109  return null;
2110  }
2111 
2112  // note for self-evaluation
2113  if ($this->skmg_settings->getHideProfileBeforeSelfEval() &&
2114  !ilBasicSkill::hasSelfEvaluated($this->user->getId(), $a_base_skill, $a_tref_id)) {
2115  $sec_panel_content = $this->ui_fac->legacy($lng->txt("skmg_skill_needs_self_eval"));
2116  $sec_panel = $this->ui_fac->panel()->secondary()->legacy("", $sec_panel_content);
2117  return $sec_panel;
2118  }
2119 
2120  // suggested resources
2121  if ($res_manager->isLevelTooLow($a_levels, $this->profile_levels, $this->actual_levels)) {
2122  $imp_resources = $res_manager->getSuggestedResources();
2123  $info[] = $this->ui_fac->item()->standard($lng->txt("skmg_recommended_learning_material_info"));
2124  $info_group = $this->ui_fac->item()->group("", $info);
2125  $items = [];
2126 
2127  $sub_objects = [];
2128  $is_container = false;
2129  if ($gap_mode_obj_id > 0 && $this->obj_definition->isContainer($gap_mode_obj_type)) {
2130  $is_container = true;
2131  $sub_objects = $this->tree->getSubTree(
2132  $this->tree->getNodeData((int) current(\ilObject::_getAllReferences($gap_mode_obj_id))),
2133  false
2134  );
2135  }
2136 
2137  foreach ($imp_resources as $r) {
2138  $ref_id = $r["rep_ref_id"];
2139  // in containers: filter resources only by objects in sub tree
2140  if ($is_container && !in_array($ref_id, $sub_objects)) {
2141  continue;
2142  }
2144  $title = ilObject::_lookupTitle($obj_id);
2145  $icon = $this->ui_fac->symbol()->icon()->standard(
2147  $lng->txt("icon") . " " . $lng->txt(ilObject::_lookupType($obj_id))
2148  );
2149  $link = $this->ui_fac->link()->standard($title, ilLink::_getLink($ref_id));
2150 
2151  $items[] = $this->ui_fac->item()->standard($link)->withLeadIcon($icon);
2152  }
2153  if (count($items) > 0) {
2154  switch ($gap_mode_obj_type) {
2155  case "crs":
2156  $sec_panel_title = $lng->txt("skmg_recommended_learning_material_crs");
2157  break;
2158  case "grp":
2159  $sec_panel_title = $lng->txt("skmg_recommended_learning_material_grp");
2160  break;
2161  default:
2162  $sec_panel_title = $lng->txt("skmg_recommended_learning_material_global");
2163  }
2164 
2165  $item_group = $this->ui_fac->item()->group("", $items);
2166  $sec_panel = $this->ui_fac->panel()->secondary()->listing(
2167  $sec_panel_title,
2168  [$info_group, $item_group]
2169  );
2170  } else {
2171  $sec_panel_content = $this->ui_fac->legacy($lng->txt("skmg_skill_needs_impr_no_res"));
2172  $sec_panel = $this->ui_fac->panel()->secondary()->legacy("", $sec_panel_content);
2173  }
2174  } else {
2175  $sec_panel_content = $this->ui_fac->legacy($lng->txt("skmg_skill_no_needs_impr_info"));
2176  $sec_panel = $this->ui_fac->panel()->secondary()->legacy($lng->txt("skmg_skill_no_needs_impr"), $sec_panel_content);
2177  }
2178 
2179  return $sec_panel;
2180  }
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)
$ref_id
Definition: ltiauth.php:67
static _lookupTitle(int $obj_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This describes a Secondary Panel.
Definition: Secondary.php:31
static _lookupType(int $id, bool $reference=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTriggerObjectsFilter()

ilPersonalSkillsGUI::getTriggerObjectsFilter ( )

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

References $trigger_objects_filter.

Referenced by getFilteredEntriesForSkill().

257  : array
258  {
260  }
+ Here is the caller graph for this function:

◆ getTriggerUserFilter()

ilPersonalSkillsGUI::getTriggerUserFilter ( )
Returns
string[]

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

References $trigger_user_filter.

Referenced by getFilteredEntriesForSkill().

280  : array
281  {
283  }
+ Here is the caller graph for this function:

◆ hideSkill()

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

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

293  : void
294  {
295  $this->hidden_skills[] = $a_skill_id . ":" . $a_tref_id;
296  }

◆ listAllAssignedProfiles()

ilPersonalSkillsGUI::listAllAssignedProfiles ( )

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

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

Referenced by render().

2225  : void
2226  {
2227  if (empty($this->user_profiles)) {
2228  $this->ctrl->redirect($this, "listSkills");
2229  }
2230 
2231  $this->setTabs("profile");
2232 
2233  $prof_items = [];
2234 
2235  foreach ($this->user_profiles as $p) {
2236  $image_id = $p["image_id"];
2237  if ($image_id) {
2238  $identification = $this->storage->manage()->find($image_id);
2239  $src = $this->storage->consume()->src($identification);
2240  $image = $this->ui_fac->image()->responsive($src->getSrc(), $this->lng->txt("skmg_custom_image_alt"));
2241  } else {
2242  $image = $this->ui_fac->image()->responsive(
2243  "./templates/default/images/logo/ilias_logo_72x72.png",
2244  "ILIAS"
2245  );
2246  }
2247 
2248  $this->ctrl->setParameter($this, "profile_id", $p["id"]);
2249  $link = $this->ui_fac->link()->standard(
2250  $p["title"],
2251  $this->ctrl->getLinkTarget($this, "listassignedprofile")
2252  );
2253  $this->ctrl->setParameter($this, "profile_id", "");
2254 
2255  $chart_value = $this->profile_completion_manager->getProfileProgress($this->user->getId(), $p["id"]);
2256  $prof_item = $this->ui_fac->item()->standard($link)
2257  ->withDescription($p["description"])
2258  ->withLeadImage($image)
2259  ->withProgress($this->ui_fac->chart()->progressMeter()->standard(100, $chart_value));
2260 
2261  $prof_items[] = $prof_item;
2262  }
2263 
2264  $prof_list = $this->ui_fac->panel()->listing()->standard("", array(
2265  $this->ui_fac->item()->group("", $prof_items)
2266  ));
2267 
2268  $this->tpl->setContent($this->ui_ren->render($prof_list));
2269  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ listAssignedProfile()

ilPersonalSkillsGUI::listAssignedProfile ( )

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

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

2271  : void
2272  {
2273  $ilCtrl = $this->ctrl;
2274  $lng = $this->lng;
2275 
2276  $main_tpl = $this->tpl;
2277 
2278  $tpl = new ilTemplate("tpl.skill_filter.html", true, true, "Services/Skill");
2279 
2280  $this->tabs->clearTargets();
2281  $this->tabs->setBackTarget(
2282  $this->lng->txt("back"),
2283  $ilCtrl->getLinkTarget($this, "listallassignedprofiles")
2284  );
2285  $this->setProfileId($this->requested_profile_id);
2286 
2287  $main_tpl->setTitle($this->profile_manager->lookupTitle($this->getProfileId()));
2288 
2289  $filter_toolbar = new ilToolbarGUI();
2290  $filter_toolbar->setFormAction($ilCtrl->getFormAction($this));
2291  $this->getFilter()->addToToolbar($filter_toolbar, true);
2292 
2293  $skills = [];
2294  if ($this->getProfileId() > 0) {
2295  $profile = $this->profile_manager->getById($this->getProfileId());
2296  $this->profile_levels = $profile->getSkillLevels();
2297 
2298  foreach ($this->profile_levels as $l) {
2299  $skills[] = array(
2300  "base_skill_id" => $l["base_skill_id"],
2301  "tref_id" => $l["tref_id"],
2302  "level_id" => $l["level_id"]
2303  );
2304  }
2305  }
2306 
2307  $this->actual_levels = $this->profile_completion_manager->getActualMaxLevels(
2308  $this->user->getId(),
2309  $skills,
2313  );
2314 
2315  // render
2316  $html = "";
2317  $not_all_self_evaluated = false;
2318  foreach ($skills as $s) {
2319  if ($this->skmg_settings->getHideProfileBeforeSelfEval() &&
2320  !ilBasicSkill::hasSelfEvaluated($this->user->getId(), $s["base_skill_id"], $s["tref_id"])) {
2321  $not_all_self_evaluated = true;
2322  }
2323 
2324  // todo draft check
2325  $html .= $this->getSkillHTML($s["base_skill_id"], 0, true, $s["tref_id"]);
2326  }
2327 
2328  if ($html != "") {
2329  $filter_toolbar->addFormButton($this->lng->txt("skmg_refresh_view"), "applyFilterAssignedProfiles");
2330 
2331  $tpl->setVariable("FILTER", $filter_toolbar->getHTML());
2332 
2333  $html = $tpl->get() . $html;
2334  }
2335 
2336  if ($not_all_self_evaluated) {
2337  $box = $this->ui_fac->messageBox()->info($lng->txt("skmg_skill_needs_self_eval_box"));
2338  $html = $this->ui_ren->render($box) . $html;
2339  }
2340 
2341  $main_tpl->setContent($html);
2342  }
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...
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
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.
ilGlobalTemplateInterface $tpl
+ Here is the call graph for this function:

◆ listProfilesForGap()

ilPersonalSkillsGUI::listProfilesForGap ( )

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

References $tpl, determineCurrentProfile(), getGapAnalysisHTML(), ilGlobalTemplateInterface\setContent(), showInfoBox(), and showProfileSelectorToolbar().

1227  : void
1228  {
1229  $tpl = $this->tpl;
1230 
1231  //$a_user_id = $ilUser->getId();
1232 
1233  //$profiles = ilSkillProfile::getProfilesOfUser($a_user_id);
1234 
1235  if (count($this->cont_profiles) == 0 && $this->obj_skills == null) {
1236  return;
1237  }
1238 
1239  $this->determineCurrentProfile();
1240  $this->showProfileSelectorToolbar();
1241 
1242  $html = $this->showInfoBox() . $this->getGapAnalysisHTML();
1243  $tpl->setContent($html);
1244  }
getGapAnalysisHTML(int $a_user_id=0, array $a_skills=null)
setContent(string $a_html)
Sets content for standard template.
ilGlobalTemplateInterface $tpl
+ Here is the call graph for this function:

◆ listSkills()

ilPersonalSkillsGUI::listSkills ( )

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

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

Referenced by render().

416  : void
417  {
418  $ilCtrl = $this->ctrl;
420  $lng = $this->lng;
421  $main_tpl = $this->tpl;
422  $ilToolbar = $this->toolbar;
423 
424  $tpl = new ilTemplate("tpl.skill_filter.html", true, true, "Services/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 
440  $html = "";
441  foreach ($skills as $s) {
442  $path = $this->tree_service->getSkillTreePath($s["skill_node_id"]);
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["skill_node_id"], 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...
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
$path
Definition: ltiservices.php:32
getSkillHTML(int $a_top_skill_id, int $a_user_id=0, bool $a_edit=false, int $a_tref_id=0)
Get skill presentation HTML.
static getSelectedUserSkills(int $a_user_id)
ilGlobalTemplateInterface $tpl
$ilUser
Definition: imgupload.php:34
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ listSkillsForAdd()

ilPersonalSkillsGUI::listSkillsForAdd ( )

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

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

1201  : void
1202  {
1203  $ilCtrl = $this->ctrl;
1204  $lng = $this->lng;
1205  $tpl = $this->tpl;
1206  $ilTabs = $this->tabs;
1207 
1208 
1209  $ilCtrl->setParameter($this, "list_mode", self::LIST_SELECTED);
1210  $ilTabs->setBackTarget(
1211  $lng->txt("back"),
1212  $ilCtrl->getLinkTarget($this, "render")
1213  );
1214  $ilCtrl->clearParameterByClass(get_class($this), "list_mode");
1215 
1216  $exp = new ilPersonalSkillExplorerGUI($this, "listSkillsForAdd", $this, "addSkill");
1217  if ($exp->getHasSelectableNodes()) {
1218  if (!$exp->handleCommand()) {
1219  $tpl->setContent($exp->getHTML());
1220  }
1221  $this->tpl->setOnScreenMessage('info', $lng->txt("skmg_select_skill"));
1222  } else {
1223  $this->tpl->setOnScreenMessage('info', $lng->txt("skmg_no_nodes_selectable"));
1224  }
1225  }
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 1082 of file class.ilPersonalSkillsGUI.php.

References $ctrl, $ilUser, $lng, $requested_level_id, $requested_tref_id, $requested_wsp_id, $user, ilPersonalSkill\removeMaterial(), and ilLanguage\txt().

1082  : void
1083  {
1084  $ilCtrl = $this->ctrl;
1085  $ilUser = $this->user;
1086  $lng = $this->lng;
1087 
1088 
1090  $ilUser->getId(),
1094  );
1095  $this->tpl->setOnScreenMessage('success', $lng->txt("msg_obj_modified"), true);
1096  $ilCtrl->redirect($this, "assignMaterials");
1097  }
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 removeMaterial(int $a_user_id, int $a_tref_id, int $a_level_id, int $a_wsp_id)
$ilUser
Definition: imgupload.php:34
+ Here is the call graph for this function:

◆ removeSkills()

ilPersonalSkillsGUI::removeSkills ( )

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

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

891  : void
892  {
893  $ilCtrl = $this->ctrl;
895  $lng = $this->lng;
896 
897  if (!empty($this->requested_skill_ids)) {
898  foreach ($this->requested_skill_ids as $n_id) {
899  ilPersonalSkill::removeSkill($ilUser->getId(), $n_id);
900  }
901  }
902 
903  $this->tpl->setOnScreenMessage('success', $lng->txt("msg_object_modified"));
904  $ilCtrl->setParameter($this, "list_mode", self::LIST_SELECTED);
905  $ilCtrl->redirect($this, "listSkills");
906  }
static removeSkill(int $a_user_id, int $a_skill_node_id)
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...
$ilUser
Definition: imgupload.php:34
+ 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 || !count($this->user_profiles) > 0) {
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, $ilUser, $lng, $panel, $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(), ilGlobalTemplateInterface\parseCurrentBlock(), ilSkillTreeNode\STATUS_DRAFT, and ilLanguage\txt().

Referenced by getSkillHTML().

522  : string {
523  $ilCtrl = $this->ctrl;
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, "Services/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"] = $bs["skill_id"];
548  $bs["tref"] = $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($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($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($this->getSkillEntriesHeader(ilBasicSkill::EVAL_BY_SELF));
603  $has_at_least_one_entry = true;
604  }
605  $panel_comps[] = $this->ui_fac->legacy($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($this->getSkillEntriesHeader(ilBasicSkill::EVAL_BY_SELF));
627  $has_at_least_one_entry = true;
628  }
629  $panel_comps[] = $this->ui_fac->legacy($self_eval_entries_latest);
630  $panel_comps[] = $this->ui_fac->legacy($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($this->getSkillEntriesHeader(ilBasicSkill::EVAL_BY_OTHERS));
637  $prof_comp_head_rendered = true;
638  $panel_comps[] = $this->ui_fac->legacy($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($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($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($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($object_entries_latest);
681  $panel_comps[] = $this->ui_fac->legacy($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($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($all_entries_latest);
708  $panel_comps[] = $this->ui_fac->legacy($all_entries_non_latest);
709  }
710  }
711 
712  if (!$has_at_least_one_entry) {
713  $panel_comps[] = $this->ui_fac->legacy("<br/>" . $lng->txt("skmg_no_skill_entries"));
714  }
715 
716  // materials (new)
717  if ($this->mode != "gap") {
718  $mat = "";
719  if ($this->getFilter()->showMaterialsRessources() && $this->use_materials) {
720  $mat = $this->getMaterials($level_data, $bs["tref"], $user->getId());
721  }
722  if ($mat != "") {
723  $panel_comps[] = $this->ui_fac->legacy($mat);
724  }
725  }
726 
727  // suggested resources
728  $sugg = "";
729  if ($this->getFilter()->showMaterialsRessources() && $this->getProfileId() == 0 && !$this->gap_mode_obj_id) {
730  // no profile, just list all resources and only in global view
731  $sugg = $this->getAllSuggestedResources($bs["id"], $bs["tref"]);
732  }
733  if ($sugg != "") {
734  $panel_comps[] = $this->ui_fac->legacy($sugg);
735  }
736 
737  $sub = $this->ui_fac->panel()->sub($title, $panel_comps);
738  if ($this->getFilter()->showMaterialsRessources() && $this->getProfileId() > 0
739  && $res = $this->getSuggestedResourcesForProfile($level_data, $bs["id"], $bs["tref"], $this->gap_mode_obj_id)) {
740  $sub = $sub->withFurtherInformation($res);
741  }
742  if ($a_edit) {
743  $actions = [];
744  $ilCtrl->setParameterByClass("ilpersonalskillsgui", "skill_id", $a_top_skill_id);
745  $ilCtrl->setParameterByClass("ilpersonalskillsgui", "tref_id", $bs["tref"]);
746  $ilCtrl->setParameterByClass("ilpersonalskillsgui", "basic_skill_id", $bs["id"]);
747  $ilCtrl->setParameterByClass("ilpersonalskillsgui", "list_mode", $this->requested_list_mode);
748  if ($this->use_materials) {
749  $actions[] = $this->ui_fac->button()->shy(
750  $lng->txt('skmg_assign_materials'),
751  $ilCtrl->getLinkTargetByClass("ilpersonalskillsgui", "assignMaterials")
752  );
753  }
754  $actions[] = $this->ui_fac->button()->shy(
755  $lng->txt('skmg_self_evaluation'),
756  $ilCtrl->getLinkTargetByClass("ilpersonalskillsgui", "selfEvaluation")
757  );
758  $sub = $sub->withActions($this->ui_fac->dropdown()->standard($actions)->withLabel($lng->txt("actions")));
759  }
760 
761  $sub_panels[] = $sub;
762 
764  }
765 
766  $des = $this->getSkillCategoryDescription($skill_id, $tref_id);
767 
768  //put the description of the skill category to the very top of the sub panels
769  $sub_panels = $this->ui_fac->legacy($des . $this->ui_ren->render($sub_panels));
770 
771  $panel = $this->ui_fac->panel()->standard(
772  ilSkillTreeNode::_lookupTitle($skill_id, $tref_id),
773  $sub_panels
774  );
775 
776  if ($a_edit && $this->getProfileId() == 0) {
777  $actions = [];
778 
779  $ilCtrl->setParameterByClass("ilpersonalskillsgui", "skill_id", $a_top_skill_id);
780  $actions[] = $this->ui_fac->button()->shy(
781  $lng->txt('skmg_remove_skill'),
782  $ilCtrl->getLinkTargetByClass("ilpersonalskillsgui", "confirmSkillRemove")
783  );
784 
785  $panel = $panel->withActions($this->ui_fac->dropdown()->standard($actions)->withLabel($lng->txt("actions")));
786  }
787 
788  return $this->ui_ren->render($panel);
789  }
getSkillCategoryDescription(int $skill_id, int $tref_id)
$res
Definition: ltiservices.php:69
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...
if(isset($_FILES['img_file']) &&is_array($_FILES['img_file'])) $panel
Definition: imgupload.php:198
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:32
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)
$ilUser
Definition: imgupload.php:34
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)
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
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 1176 of file class.ilPersonalSkillsGUI.php.

References $ctrl, $ilUser, $lng, $requested_basic_skill_id, $requested_self_eval_level_id, $requested_skill_id, $requested_tref_id, $user, ilPersonalSkill\saveSelfEvaluation(), and ilLanguage\txt().

1176  : void
1177  {
1178  $ilCtrl = $this->ctrl;
1179  $ilUser = $this->user;
1180  $lng = $this->lng;
1181 
1183  $ilUser->getId(),
1188  );
1189  $this->tpl->setOnScreenMessage('success', $lng->txt("msg_obj_modified"), true);
1190 
1191  /* $ilCtrl->saveParameter($this, "skill_id");
1192  $ilCtrl->saveParameter($this, "level_id");
1193  $ilCtrl->saveParameter($this, "tref_id");
1194  $ilCtrl->saveParameter($this, "basic_skill_id");*/
1195 
1196  $cmd = ($this->requested_list_mode == self::LIST_SELECTED || !count($this->user_profiles) > 0)
1197  ? "render" : "listAssignedProfile";
1198  $ilCtrl->redirect($this, $cmd);
1199  }
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...
$ilUser
Definition: imgupload.php:34
static saveSelfEvaluation(int $a_user_id, int $a_top_skill, int $a_tref_id, int $a_basic_skill, int $a_level)
+ Here is the call graph for this function:

◆ selectMaterial()

ilPersonalSkillsGUI::selectMaterial ( )

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

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

1053  : void
1054  {
1055  $ilCtrl = $this->ctrl;
1056  $ilUser = $this->user;
1057  $lng = $this->lng;
1058 
1059 
1060  if (!empty($this->requested_wsp_ids)) {
1061  foreach ($this->requested_wsp_ids as $w) {
1063  $ilUser->getId(),
1068  $w
1069  );
1070  }
1071  $this->tpl->setOnScreenMessage('success', $lng->txt("msg_obj_modified"), true);
1072  }
1073 
1074  $ilCtrl->saveParameter($this, "skill_id");
1075  $ilCtrl->saveParameter($this, "level_id");
1076  $ilCtrl->saveParameter($this, "tref_id");
1077  $ilCtrl->saveParameter($this, "basic_skill_id");
1078 
1079  $ilCtrl->redirect($this, "assignMaterials");
1080  }
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...
$ilUser
Definition: imgupload.php:34
static assignMaterial(int $a_user_id, int $a_top_skill, int $a_tref_id, int $a_basic_skill, int $a_level, int $a_wsp_id)
Assign material to skill level.
+ Here is the call graph for this function:

◆ selectProfile()

ilPersonalSkillsGUI::selectProfile ( )

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

References $ctrl, and ilCtrl\setParameter().

1584  : void
1585  {
1586  $ilCtrl = $this->ctrl;
1587 
1588  $ilCtrl->setParameter($this, "profile_id", $this->requested_profile_id);
1589  if ($this->mode == "gap") {
1590  $ilCtrl->redirect($this, "listProfilesForGap");
1591  } else {
1592  $ilCtrl->redirect($this, "listAssignedProfile");
1593  }
1594  }
setParameter(object $a_gui_obj, string $a_parameter, $a_value)
+ Here is the call graph for this function:

◆ selfEvaluation()

ilPersonalSkillsGUI::selfEvaluation ( )

Definition at line 1104 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(), ilGlobalTemplateInterface\setContent(), ilGlobalTemplateInterface\setTitle(), ilGlobalTemplateInterface\setTitleIcon(), and ilLanguage\txt().

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

◆ setGapAnalysisActualStatusModePerObject()

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

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

1295  : void
1296  {
1297  $this->gap_mode = "max_per_object";
1298  $this->gap_mode_obj_id = $a_obj_id;
1299  $this->gap_cat_title = $a_cat_title;
1300  $this->mode = "gap";
1301  }

◆ setGapAnalysisActualStatusModePerType()

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

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

1287  : void
1288  {
1289  $this->gap_mode = "max_per_type";
1290  $this->gap_mode_type = $a_type;
1291  $this->gap_cat_title = $a_cat_title;
1292  $this->mode = "gap";
1293  }

◆ 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 229 of file class.ilPersonalSkillsGUI.php.

229  : void
230  {
231  $this->gap_self_eval_levels = $a_val;
232  }

◆ setHistoryView()

ilPersonalSkillsGUI::setHistoryView ( bool  $a_val)

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

242  : void
243  {
244  $this->history_view = $a_val;
245  }

◆ setIntroText()

ilPersonalSkillsGUI::setIntroText ( string  $a_val)

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

267  : void
268  {
269  $this->intro_text = $a_val;
270  }

◆ setObjectSkillProfiles()

ilPersonalSkillsGUI::setObjectSkillProfiles ( ilContainerGlobalProfiles  $a_g_profiles,
ilContainerLocalProfiles  $a_l_profils 
)

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

References ilContainerLocalProfiles\getProfiles(), and ilContainerGlobalProfiles\getProfiles().

346  : void {
347  $this->cont_profiles = array_merge($a_g_profiles->getProfiles(), $a_l_profils->getProfiles());
348  }
+ Here is the call graph for this function:

◆ setObjectSkills()

ilPersonalSkillsGUI::setObjectSkills ( int  $a_obj_id,
array  $a_skills 
)
Parameters
array<string,array{base_skill_idint, tref_id: int, title: int}> $a_skills

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

337  : void
338  {
339  $this->obj_id = $a_obj_id;
340  $this->obj_skills = $a_skills;
341  }

◆ setOfflineMode()

ilPersonalSkillsGUI::setOfflineMode ( string  $a_file_path)

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

402  : void
403  {
404  $this->offline_mode = $a_file_path;
405  }

◆ setProfileId()

ilPersonalSkillsGUI::setProfileId ( int  $a_val)

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

Referenced by determineCurrentProfile(), and listAssignedProfile().

216  : void
217  {
218  $this->profile_id = $a_val;
219  }
+ Here is the caller graph for this function:

◆ setTabs()

ilPersonalSkillsGUI::setTabs ( string  $a_activate)

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

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

Referenced by listAllAssignedProfiles(), and listSkills().

372  : void
373  {
374  $ilCtrl = $this->ctrl;
375  $lng = $this->lng;
376  $ilTabs = $this->tabs;
377 
378  if (count($this->user_profiles) > 0) {
379  $ilCtrl->setParameter($this, "list_mode", self::LIST_PROFILES);
380  $ilTabs->addTab(
381  "profile",
382  $lng->txt("skmg_assigned_profiles"),
383  $ilCtrl->getLinkTarget($this, "render")
384  );
385  }
386 
387  // list skills
388  $ilCtrl->setParameter($this, "list_mode", self::LIST_SELECTED);
389  $ilTabs->addTab(
390  "list_skills",
391  $lng->txt("skmg_selected_skills"),
392  $ilCtrl->getLinkTarget($this, "render")
393  );
394 
395  $ilCtrl->clearParameterByClass(get_class($this), "list_mode");
396 
397  // assign materials
398 
399  $ilTabs->activateTab($a_activate);
400  }
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 262 of file class.ilPersonalSkillsGUI.php.

References $trigger_objects_filter.

262  : void
263  {
264  $this->trigger_objects_filter = $trigger_objects_filter;
265  }

◆ setTriggerUserFilter()

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

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

References $trigger_user_filter.

288  : void
289  {
290  $this->trigger_user_filter = $trigger_user_filter;
291  }

◆ showInfoBox()

ilPersonalSkillsGUI::showInfoBox ( )

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

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

Referenced by listProfilesForGap().

1246  : string
1247  {
1248  $link = $this->ui_fac->link()->standard(
1249  $this->lng->txt("skmg_open_all_assigned_profiles"),
1250  $this->ctrl->getLinkTargetByClass(["ilDashboardGUI", "ilAchievementsGUI", "ilPersonalSkillsGUI"])
1251  );
1252  $box = $this->ui_fac->messageBox()->info($this->lng->txt("skmg_cont_profiles_info"))->withLinks([$link]);
1253 
1254  return $this->ui_ren->render($box);
1255  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showProfileSelectorToolbar()

ilPersonalSkillsGUI::showProfileSelectorToolbar ( )

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

References $ctrl, $lng, $toolbar, ilObject\_lookupTitle(), ilObject\_lookupType(), getProfileId(), and ilLanguage\txt().

Referenced by listProfilesForGap().

1257  : void
1258  {
1259  $ilToolbar = $this->toolbar;
1260  $lng = $this->lng;
1261  $ilCtrl = $this->ctrl;
1262 
1263  $options = [];
1264  $cont_options = [];
1265  if (is_array($this->obj_skills) && $this->obj_id > 0) {
1266  $options[0] = $lng->txt("obj_" . ilObject::_lookupType($this->obj_id)) . ": " . ilObject::_lookupTitle($this->obj_id);
1267  }
1268 
1269  foreach ($this->cont_profiles as $p) {
1270  $cont_options[$p["profile_id"]] = $p["title"];
1271  }
1272 
1273  asort($cont_options);
1274  $options = $options + $cont_options;
1275 
1276  $si = new ilSelectInputGUI($lng->txt("skmg_profile"), "profile_id");
1277  $si->setOptions($options);
1278  $si->setValue($this->getProfileId());
1279  $ilToolbar->addInputItem($si, true);
1280  $ilToolbar->addFormButton(
1281  $lng->txt("select"),
1282  "selectProfile"
1283  );
1284  $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
1285  }
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 $obj_id)
static _lookupType(int $id, bool $reference=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $access

ilAccessHandler ilPersonalSkillsGUI::$access
protected

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

Referenced by getEvalItem().

◆ $actual_levels

array ilPersonalSkillsGUI::$actual_levels = []
protected

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

◆ $cont_profiles

array ilPersonalSkillsGUI::$cont_profiles = []
protected

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

◆ $ctrl

◆ $data_fac

DataFactory ilPersonalSkillsGUI::$data_fac
protected

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

◆ $filter

ilPersonalSkillsFilterGUI ilPersonalSkillsGUI::$filter
protected

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

Referenced by getFilter().

◆ $gap_cat_title

string ilPersonalSkillsGUI::$gap_cat_title = ""
protected

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

Referenced by getActualGapItem(), and getGapAnalysisHTML().

◆ $gap_mode

string ilPersonalSkillsGUI::$gap_mode = ""
protected

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

Referenced by listAssignedProfile().

◆ $gap_mode_obj_id

int ilPersonalSkillsGUI::$gap_mode_obj_id = 0
protected

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

Referenced by listAssignedProfile().

◆ $gap_mode_type

string ilPersonalSkillsGUI::$gap_mode_type = ""
protected

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

Referenced by listAssignedProfile().

◆ $gap_self_eval_levels

array ilPersonalSkillsGUI::$gap_self_eval_levels = []
protected

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

Referenced by getGapAnalysisSelfEvalLevels().

◆ $help

ilHelpGUI ilPersonalSkillsGUI::$help
protected

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

Referenced by __construct().

◆ $hidden_skills

array ilPersonalSkillsGUI::$hidden_skills = []
protected

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

◆ $history_view

bool ilPersonalSkillsGUI::$history_view = false
protected

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

Referenced by getHistoryView().

◆ $intro_text

string ilPersonalSkillsGUI::$intro_text = ""
protected

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

Referenced by getIntroText().

◆ $lng

◆ $mode

string ilPersonalSkillsGUI::$mode = ""
protected

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

◆ $next_level_fuls

array ilPersonalSkillsGUI::$next_level_fuls = []
protected

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

◆ $obj_definition

ilObjectDefinition ilPersonalSkillsGUI::$obj_definition
protected

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

◆ $obj_id

int ilPersonalSkillsGUI::$obj_id = 0
protected

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

Referenced by getObjectId().

◆ $obj_skills

array ilPersonalSkillsGUI::$obj_skills = []
protected

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

Referenced by getGapAnalysisHTML(), and getObjectSkills().

◆ $offline_mode

string ilPersonalSkillsGUI::$offline_mode = ""
protected

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

◆ $personal_gui_request

SkillPersonalGUIRequest ilPersonalSkillsGUI::$personal_gui_request
protected

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

◆ $profile_completion_manager

SkillProfileCompletionManager ilPersonalSkillsGUI::$profile_completion_manager
protected

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

◆ $profile_id

int ilPersonalSkillsGUI::$profile_id = 0
protected

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

Referenced by getProfileId().

◆ $profile_levels

array ilPersonalSkillsGUI::$profile_levels = []
protected

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

◆ $profile_manager

SkillProfileManager ilPersonalSkillsGUI::$profile_manager
protected

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

◆ $requested_basic_skill_id

int ilPersonalSkillsGUI::$requested_basic_skill_id = 0
protected

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

Referenced by saveSelfEvaluation(), and selectMaterial().

◆ $requested_level_id

int ilPersonalSkillsGUI::$requested_level_id = 0
protected

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

Referenced by removeMaterial(), and selectMaterial().

◆ $requested_list_mode

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

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

◆ $requested_node_id

int ilPersonalSkillsGUI::$requested_node_id = 0
protected

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

Referenced by addSkill().

◆ $requested_profile_id

int ilPersonalSkillsGUI::$requested_profile_id = 0
protected

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

Referenced by determineCurrentProfile().

◆ $requested_self_eval_level_id

int ilPersonalSkillsGUI::$requested_self_eval_level_id = 0
protected

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

Referenced by saveSelfEvaluation().

◆ $requested_skill_id

int ilPersonalSkillsGUI::$requested_skill_id = 0
protected

◆ $requested_skill_ids

array ilPersonalSkillsGUI::$requested_skill_ids = []
protected

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

◆ $requested_tref_id

int ilPersonalSkillsGUI::$requested_tref_id = 0
protected

◆ $requested_wsp_id

int ilPersonalSkillsGUI::$requested_wsp_id = 0
protected

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

Referenced by removeMaterial().

◆ $requested_wsp_ids

array ilPersonalSkillsGUI::$requested_wsp_ids = []
protected

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

◆ $setting

ilSetting ilPersonalSkillsGUI::$setting
protected

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

Referenced by __construct(), and assignMaterial().

◆ $skmg_settings

ilSkillManagementSettings ilPersonalSkillsGUI::$skmg_settings
protected

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

◆ $storage

ResourceStorage ilPersonalSkillsGUI::$storage
protected

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

◆ $tabs

ilTabsGUI ilPersonalSkillsGUI::$tabs
protected

◆ $toolbar

ilToolbarGUI ilPersonalSkillsGUI::$toolbar
protected

◆ $tpl

◆ $tree

ilTree ilPersonalSkillsGUI::$tree
protected

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

◆ $tree_repo

ilSkillTreeRepository ilPersonalSkillsGUI::$tree_repo
protected

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

◆ $tree_service

SkillTreeService ilPersonalSkillsGUI::$tree_service
protected

Definition at line 120 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 147 of file class.ilPersonalSkillsGUI.php.

Referenced by getTriggerUserFilter(), and setTriggerUserFilter().

◆ $ui

UIServices ilPersonalSkillsGUI::$ui
protected

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

Referenced by assignMaterial().

◆ $ui_fac

Factory ilPersonalSkillsGUI::$ui_fac
protected

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

◆ $ui_ren

Renderer ilPersonalSkillsGUI::$ui_ren
protected

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

◆ $use_materials

bool ilPersonalSkillsGUI::$use_materials = false
protected

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

Referenced by renderSkillHTML().

◆ $user

◆ $user_profiles

array ilPersonalSkillsGUI::$user_profiles = []
protected

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

◆ LIST_PROFILES

const ilPersonalSkillsGUI::LIST_PROFILES = ""

◆ LIST_SELECTED

const ilPersonalSkillsGUI::LIST_SELECTED = "selected"

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


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