ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilPersonalSkillsGUI Class Reference

Personal skills GUI class. More...

+ Collaboration diagram for ilPersonalSkillsGUI:

Public Member Functions

 __construct ()
 Contructor. More...
 
 setProfileId ($a_val)
 Set profile id. More...
 
 getProfileId ()
 Get profile id. More...
 
 setGapAnalysisSelfEvalLevels ($a_val)
 Set self evaluation levels for gap analysis. More...
 
 getGapAnalysisSelfEvalLevels ()
 Get self evaluation levels for gap analysis. More...
 
 setHistoryView ($a_val)
 Set history view. More...
 
 getHistoryView ()
 Get history view. More...
 
 setIntroText ($a_val)
 Set intro text. More...
 
 getIntroText ()
 Get intro text. More...
 
 hideSkill ($a_skill_id, $a_tref_id=0)
 Hide skill. More...
 
 executeCommand ()
 Execute command. More...
 
 setTabs ($a_activate)
 Set tabs. More...
 
 setOfflineMode ($a_file_path)
 
 listSkills ()
 List skills. More...
 
 getSkillHTML ($a_top_skill_id, $a_user_id=0, $a_edit=false, $a_tref_id=0)
 Get skill presentation HTML. More...
 
 renderSkillHTML ($a_top_skill_id, $a_user_id=0, $a_edit=false, $a_tref_id=0)
 Render skill html. More...
 
 getTooltipsJs ()
 
 getMaterialInfo ($a_wsp_id, $a_user_id)
 Get material file name and goto url. More...
 
 addSkill ()
 Add personal skill. More...
 
 confirmSkillRemove ()
 Confirm skill remove. More...
 
 removeSkills ()
 Remove skills. More...
 
 assignMaterials ()
 Assign materials to skill levels. More...
 
 assignMaterial ()
 Assign materials to skill level. More...
 
 selectMaterial ()
 Select material. More...
 
 removeMaterial ()
 Remove material. More...
 
 selfEvaluation ()
 Assign materials to skill levels. More...
 
 saveSelfEvaluation ()
 Save self evaluation. More...
 
 listSkillsForAdd ()
 LIst skills for adding. More...
 
 listProfiles ()
 List profiles. More...
 
 setGapAnalysisActualStatusModePerType ($a_type, $a_cat_title="")
 Set gap analysis actual status mode "per type". More...
 
 setGapAnalysisActualStatusModePerObject ($a_obj_id, $a_cat_title="")
 Set gap analysis actual status mode "per object". More...
 
 getGapAnalysisHTML ($a_user_id=0, $a_skills=null)
 Get gap analysis html. More...
 
 selectProfile ()
 Select profile. More...
 
 renderSelfEvaluationRow ($a_tpl, $a_levels, $a_top_skill_id, $a_base_skill, $a_tref_id=0, $a_user_id=0)
 Render self evaluation row. More...
 
 renderMaterialsRow ($a_tpl, $a_levels, $a_top_skill_id, $a_base_skill, $a_tref_id=0, $a_user_id=0)
 Render materials row. More...
 
 renderProfileTargetRow ($a_tpl, $a_levels, $a_top_skill_id, $a_base_skill, $a_tref_id=0, $a_user_id=0)
 Render profile target row. More...
 
 renderActualLevelsRow ($a_tpl, $a_levels, $a_top_skill_id, $a_base_skill, $a_tref_id=0, $a_user_id=0)
 Render actual levels row (gap analysis) More...
 
 renderGapSelfEvalRow ($a_tpl, $a_levels, $a_top_skill_id, $a_base_skill, $a_tref_id=0, $a_user_id=0)
 Render actual levels row (gap analysis) More...
 
 renderObjectEvalRow ($a_tpl, $a_levels, $a_level_entry)
 Render object evaluation row (has_level table) More...
 
 renderSuggestedResources ($a_tpl, $a_levels, $a_base_skill, $a_tref_id)
 Render suggested resources. More...
 

Static Public Attributes

static $skill_tt_cnt = 1
 

Protected Attributes

 $offline_mode
 
 $skill_tree
 
 $actual_levels = array()
 
 $gap_self_eval_levels = array()
 
 $mode = ""
 
 $history_view = false
 
 $intro_text = ""
 
 $hidden_skills = array()
 

Detailed Description

Personal skills GUI class.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

ilPersonalSkillsGUI:

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

Constructor & Destructor Documentation

◆ __construct()

ilPersonalSkillsGUI::__construct ( )

Contructor.

public

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

References $ilCtrl, $ilSetting, and $lng.

36  {
37  global $ilCtrl, $lng, $ilHelp, $ilSetting;
38 
39  $lng->loadLanguageModule('skmg');
40 
41  $ilHelp->setScreenIdComponent("skill");
42 
43  $ilCtrl->saveParameter($this, "skill_id");
44  $ilCtrl->saveParameter($this, "tref_id");
45  $ilCtrl->saveParameter($this, "profile_id");
46 
47  include_once("./Services/Skill/classes/class.ilSkillTree.php");
48  $this->skill_tree = new ilSkillTree();
49 
50  $this->use_materials = !$ilSetting->get("disable_personal_workspace");
51  }
Skill tree.
global $ilCtrl
Definition: ilias.php:18
global $ilSetting
Definition: privfeed.php:17
global $lng
Definition: privfeed.php:17

Member Function Documentation

◆ addSkill()

ilPersonalSkillsGUI::addSkill ( )

Add personal skill.

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

References $_GET, $ilCtrl, $ilUser, $lng, ilPersonalSkill\addPersonalSkill(), and ilUtil\sendSuccess().

538  {
539  global $ilUser, $ilCtrl, $lng;
540 
541  ilPersonalSkill::addPersonalSkill($ilUser->getId(), (int) $_GET["obj_id"]);
542 
543  ilUtil::sendSuccess($lng->txt("msg_object_modified"));
544  $ilCtrl->redirect($this, "listSkills");
545  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_GET["client_id"]
global $ilCtrl
Definition: ilias.php:18
static addPersonalSkill($a_user_id, $a_skill_node_id)
Add personal skill.
$ilUser
Definition: imgupload.php:18
global $lng
Definition: privfeed.php:17
+ Here is the call graph for this function:

◆ assignMaterial()

ilPersonalSkillsGUI::assignMaterial ( )

Assign materials to skill level.

Parameters

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

References $_GET, $_POST, $ilCtrl, $ilSetting, $ilUser, $lng, $tpl, array, ilWorkspaceExplorer\SEL_TYPE_CHECK, and ilUtil\sendInfo().

686  {
687  global $tpl, $ilUser, $ilCtrl, $ilTabs, $lng, $ilSetting;
688 
689  if(!$ilSetting->get("disable_personal_workspace"))
690  {
691  ilUtil::sendInfo($lng->txt("skmg_ass_materials_from_workspace")." ยป <a href='ilias.php?baseClass=ilPersonalDesktopGUI&amp;cmd=jumpToWorkspace'>".$lng->txt("personal_workspace")."</a>");
692  }
693 
694  $ilCtrl->saveParameter($this, "skill_id");
695  $ilCtrl->saveParameter($this, "level_id");
696  $ilCtrl->saveParameter($this, "tref_id");
697  $ilCtrl->saveParameter($this, "basic_skill_id");
698 
699  $ilTabs->setBackTarget($lng->txt("back"),
700  $ilCtrl->getLinkTarget($this, "assignMaterials"));
701 
702  // get ws tree
703  include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
704  $tree = new ilWorkspaceTree($ilUser->getId());
705 
706  // get access handler
707  include_once("./Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php");
708  $acc_handler = new ilWorkspaceAccessHandler($tree);
709 
710  // get es explorer
711  include_once("./Services/PersonalWorkspace/classes/class.ilWorkspaceExplorer.php");
713  'skill_wspexpand', $tree, $acc_handler);
714  $exp->setTargetGet('wsp_id');
715  $exp->setFiltered(false);
716  $exp->removeAllFormItemTypes();
717  $exp->addFormItemForType("file");
718  $exp->addFormItemForType("tstv");
719  $exp->addFormItemForType("excv");
720 
721  if($_GET['skill_wspexpand'] == '')
722  {
723  // not really used as session is already set [see above]
724  $expanded = $tree->readRootId();
725  }
726  else
727  {
728  $expanded = $_GET['skill_wspexpand'];
729  }
730  $exp->setCheckedItems(array((int)$_POST['wsp_id']));
731  $exp->setExpandTarget($ilCtrl->getLinkTarget($this, 'assignMaterial'));
732  $exp->setPostVar('wsp_id[]');
733  $exp->setExpand($expanded);
734  $exp->setOutput(0);
735 
736  // fill template
737  $mtpl = new ilTemplate("tpl.materials_selection.html", true, true, "Services/Skill");
738  $mtpl->setVariable("EXP", $exp->getOutput());
739 
740  // toolbars
741  $tb = new ilToolbarGUI();
742  $tb->addFormButton($lng->txt("select"),
743  "selectMaterial");
744  $tb->setFormAction($ilCtrl->getFormAction($this));
745  $tb->setOpenFormTag(true);
746  $tb->setCloseFormTag(false);
747  $mtpl->setVariable("TOOLBAR1", $tb->getHTML());
748  $tb->setOpenFormTag(false);
749  $tb->setCloseFormTag(true);
750  $mtpl->setVariable("TOOLBAR2", $tb->getHTML());
751 
752  $tpl->setContent($mtpl->get());
753  }
$_GET["client_id"]
Access handler for personal workspace.
Tree handler for personal workspace.
global $tpl
Definition: ilias.php:8
global $ilCtrl
Definition: ilias.php:18
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
special template class to simplify handling of ITX/PEAR
$ilUser
Definition: imgupload.php:18
Create styles array
The data for the language used.
global $ilSetting
Definition: privfeed.php:17
global $lng
Definition: privfeed.php:17
$_POST["username"]
+ Here is the call graph for this function:

◆ assignMaterials()

ilPersonalSkillsGUI::assignMaterials ( )

Assign materials to skill levels.

Parameters

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

References $_GET, $_POST, $ilCtrl, $lng, $options, $si, $tab, $tpl, ilSkillTemplateReference\_lookupTemplateId(), ilSkillTreeNode\_lookupTitle(), ilSkillTreeNode\_lookupType(), array, and ilUtil\getImagePath().

615  {
616  global $ilTabs, $lng, $ilCtrl, $tpl, $ilToolbar;
617 
618  $ilTabs->setBackTarget($lng->txt("back"),
619  $ilCtrl->getLinkTarget($this, "listSkills"));
620 
621  $ilCtrl->saveParameter($this, "skill_id");
622  $ilCtrl->saveParameter($this, "basic_skill_id");
623  $ilCtrl->saveParameter($this, "tref_id");
624 
625  include_once("./Services/Skill/classes/class.ilSkillTreeNode.php");
626  $tpl->setTitle(ilSkillTreeNode::_lookupTitle((int) $_GET["skill_id"]));
627  $tpl->setTitleIcon(ilUtil::getImagePath("icon_".
628  ilSkillTreeNode::_lookupType((int) $_GET["skill_id"]).
629  ".svg"));
630 
631  // basic skill selection
632  include_once("./Services/Skill/classes/class.ilVirtualSkillTree.php");
633  $vtree = new ilVirtualSkillTree();
634  $tref_id = 0;
635  $skill_id = (int) $_GET["skill_id"];
636  if (ilSkillTreeNode::_lookupType((int) $_GET["skill_id"]) == "sktr")
637  {
638  include_once("./Services/Skill/classes/class.ilSkillTemplateReference.php");
639  $tref_id = $_GET["skill_id"];
640  $skill_id = ilSkillTemplateReference::_lookupTemplateId($_GET["skill_id"]);
641  }
642  $bs = $vtree->getSubTreeForCSkillId($skill_id.":".$tref_id, true);
643 
644  $options = array();
645  foreach ($bs as $b)
646  {
647  //$options[$b["id"]] = ilSkillTreeNode::_lookupTitle($b["id"]);
648  $options[$b["skill_id"]] = ilSkillTreeNode::_lookupTitle($b["skill_id"]);
649  }
650 
651  $cur_basic_skill_id = ((int) $_POST["basic_skill_id"] > 0)
652  ? (int) $_POST["basic_skill_id"]
653  : (((int) $_GET["basic_skill_id"] > 0)
654  ? (int) $_GET["basic_skill_id"]
655  : key($options));
656 
657  $ilCtrl->setParameter($this, "basic_skill_id", $cur_basic_skill_id);
658 
659  include_once("./Services/Form/classes/class.ilSelectInputGUI.php");
660  $si = new ilSelectInputGUI($lng->txt("skmg_skill"), "basic_skill_id");
661  $si->setOptions($options);
662  $si->setValue($cur_basic_skill_id);
663  $ilToolbar->addInputItem($si, true);
664  $ilToolbar->addFormButton($lng->txt("select"),
665  "assignMaterials");
666 
667  $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
668 
669  // table
670  include_once("./Services/Skill/classes/class.ilSkillAssignMaterialsTableGUI.php");
671  $tab = new ilSkillAssignMaterialsTableGUI($this, "assignMaterials",
672  (int) $_GET["skill_id"], (int) $_GET["tref_id"], $cur_basic_skill_id);
673 
674  $tpl->setContent($tab->getHTML());
675 
676  }
This class represents a selection list property in a property form.
$_GET["client_id"]
Assign materials to skill levels table.
global $tpl
Definition: ilias.php:8
static _lookupType($a_obj_id)
Lookup Type.
global $ilCtrl
Definition: ilias.php:18
if(!is_array($argv)) $options
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static _lookupTemplateId($a_obj_id)
Lookup template ID.
Create styles array
The data for the language used.
static _lookupTitle($a_obj_id, $a_tref_id=0)
Lookup Title.
global $lng
Definition: privfeed.php:17
$_POST["username"]
+ Here is the call graph for this function:

◆ confirmSkillRemove()

ilPersonalSkillsGUI::confirmSkillRemove ( )

Confirm skill remove.

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

References $_GET, $_POST, $ilCtrl, $lng, $tpl, ilSkillTreeNode\_lookupTitle(), and ilUtil\sendInfo().

553  {
554  global $ilCtrl, $tpl, $lng;
555 
556  include_once("./Services/Skill/classes/class.ilSkillTreeNode.php");
557  if ($_GET["skill_id"] > 0)
558  {
559  $_POST["id"][] = $_GET["skill_id"];
560  }
561  if (!is_array($_POST["id"]) || count($_POST["id"]) == 0)
562  {
563  ilUtil::sendInfo($lng->txt("no_checkbox"), true);
564  $ilCtrl->redirect($this, "listSkills");
565  }
566  else
567  {
568  include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
569  $cgui = new ilConfirmationGUI();
570  $cgui->setFormAction($ilCtrl->getFormAction($this));
571  $cgui->setHeaderText($lng->txt("skmg_really_remove_skills"));
572  $cgui->setCancel($lng->txt("cancel"), "listSkills");
573  $cgui->setConfirm($lng->txt("delete"), "removeSkills");
574 
575  foreach ($_POST["id"] as $i)
576  {
577  $cgui->addItem("id[]", $i, ilSkillTreeNode::_lookupTitle($i));
578  }
579 
580  $tpl->setContent($cgui->getHTML());
581  }
582  }
$_GET["client_id"]
global $tpl
Definition: ilias.php:8
global $ilCtrl
Definition: ilias.php:18
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static _lookupTitle($a_obj_id, $a_tref_id=0)
Lookup Title.
global $lng
Definition: privfeed.php:17
$_POST["username"]
Confirmation screen class.
+ Here is the call graph for this function:

◆ executeCommand()

ilPersonalSkillsGUI::executeCommand ( )

Execute command.

public

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

References $cmd, $ilCtrl, $ilUser, $lng, $tpl, ilUtil\getImagePath(), and ilSkillProfile\getProfilesOfUser().

152  {
153  global $ilCtrl, $tpl, $lng, $ilUser;
154 
155  $next_class = $ilCtrl->getNextClass($this);
156 
157  $profiles = ilSkillProfile::getProfilesOfUser($ilUser->getId());
158 
159  // determin standard command
160  $std_cmd = "listSkills";
161  if (count($profiles) > 0)
162  {
163 // $std_cmd = "listProfiles";
164  }
165 
166  $cmd = $ilCtrl->getCmd($std_cmd);
167 
168  $tpl->setTitle($lng->txt("skills"));
169  $tpl->setTitleIcon(ilUtil::getImagePath("icon_skmg.svg"));
170 
171  switch($next_class)
172  {
173  default:
174  $this->$cmd();
175  break;
176  }
177  return true;
178  }
$cmd
Definition: sahs_server.php:35
global $tpl
Definition: ilias.php:8
global $ilCtrl
Definition: ilias.php:18
static getProfilesOfUser($a_user_id)
Get profiles of a user.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
$ilUser
Definition: imgupload.php:18
global $lng
Definition: privfeed.php:17
+ Here is the call graph for this function:

◆ getGapAnalysisHTML()

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

Get gap analysis html.

Parameters

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

References $chart, $html, $ilUser, $l, $lg, $lng, $path, ilSkillTreeNode\_lookupTitle(), ilObject\_lookupTitle(), array, getGapAnalysisSelfEvalLevels(), ilPanelGUI\getInstance(), ilChart\getInstanceByType(), getIntroText(), getProfileId(), getSkillHTML(), ilPanelGUI\PANEL_STYLE_PRIMARY, ilSkillTreeNode\STATUS_DRAFT, and ilChart\TYPE_SPIDER.

Referenced by listProfiles().

999  {
1000  global $ilUser, $lng;
1001 
1002  include_once("./Services/UIComponent/Panel/classes/class.ilPanelGUI.php");
1003 
1004  if ($this->getIntroText() != "")
1005  {
1006  $pan = ilPanelGUI::getInstance();
1007  $pan->setPanelStyle(ilPanelGUI::PANEL_STYLE_PRIMARY);
1008  $pan->setBody($this->getIntroText());
1009  $intro_html = $pan->getHTML();
1010  }
1011 
1012 // $this->setTabs("list_skills");
1013 
1014  if ($a_user_id == 0)
1015  {
1016  $user_id = $ilUser->getId();
1017  }
1018  else
1019  {
1020  $user_id = $a_user_id;
1021  }
1022 
1023  $skills = array();
1024  if ($this->getProfileId() > 0)
1025  {
1026  $profile = new ilSkillProfile($this->getProfileId());
1027  $this->profile_levels = $profile->getSkillLevels();
1028 
1029  foreach ($this->profile_levels as $l)
1030  {
1031  $skills[] = array(
1032  "base_skill_id" => $l["base_skill_id"],
1033  "tref_id" => $l["tref_id"],
1034  "level_id" => $l["level_id"]
1035  );
1036  }
1037  }
1038  else if (is_array($a_skills))
1039  {
1040  $skills = $a_skills;
1041  }
1042 
1043  // get actual levels for gap analysis
1044  $this->actual_levels = array();
1045  include_once("./Services/Skill/classes/class.ilBasicSkill.php");
1046  foreach ($skills as $sk)
1047  {
1048  $bs = new ilBasicSkill($sk["base_skill_id"]);
1049  if ($this->gap_mode == "max_per_type")
1050  {
1051  $max = $bs->getMaxLevelPerType($sk["tref_id"], $this->gap_mode_type, $user_id);
1052  $this->actual_levels[$sk["base_skill_id"]][$sk["tref_id"]] = $max;
1053  }
1054  else if ($this->gap_mode == "max_per_object")
1055  {
1056  $max = $bs->getMaxLevelPerObject($sk["tref_id"], $this->gap_mode_obj_id, $user_id);
1057  $this->actual_levels[$sk["base_skill_id"]][$sk["tref_id"]] = $max;
1058  }
1059  }
1060 
1061  $incl_self_eval = false;
1062  if (count($this->getGapAnalysisSelfEvalLevels() > 0))
1063  {
1064  $incl_self_eval = true;
1065  $self_vals = $this->getGapAnalysisSelfEvalLevels();
1066  }
1067 
1068  // output spider stuff
1069  $all_chart_html = "";
1070 
1071  // determine skills that should be shown in the spider web
1072  $sw_skills = array();
1073  foreach ($skills as $sk)
1074  {
1075  if (!in_array($sk["base_skill_id"].":".$sk["tref_id"], $this->hidden_skills))
1076  {
1077  $sw_skills[] = $sk;
1078  }
1079  }
1080 
1081  if (count($sw_skills) >= 3)
1082  {
1083  $skill_packages = array();
1084 
1085  if (count($sw_skills) < 8)
1086  {
1087  $skill_packages[1] = $sw_skills;
1088  }
1089  else
1090  {
1091  $mod = count($sw_skills) % 7;
1092  $pkg_num = floor((count($sw_skills) - 1) / 7) + 1;
1093  $cpkg = 1;
1094  foreach ($sw_skills as $k => $s)
1095  {
1096  $skill_packages[$cpkg][$k] = $s;
1097  if ($mod < 3 && count($skill_packages) == ($pkg_num - 1) && count($skill_packages[$cpkg]) == 3+$mod)
1098  {
1099  $cpkg+=1;
1100  }
1101  else if (count($skill_packages[$cpkg]) == 7)
1102  {
1103  $cpkg+=1;
1104  }
1105  }
1106  }
1107 
1108  $pkg_cnt = 0;
1109  foreach ($skill_packages as $pskills)
1110  {
1111  $pkg_cnt++;
1112  $max_cnt = 0;
1113  $leg_labels = array();
1114  //var_dump($this->profile_levels);
1115  //foreach ($this->profile_levels as $k => $l)
1116 
1117  // write target, actual and self counter to skill array
1118  foreach ($pskills as $k => $l)
1119  {
1120  //$bs = new ilBasicSkill($l["base_skill_id"]);
1121  $bs = new ilBasicSkill($l["base_skill_id"]);
1122  $leg_labels[] = ilBasicSkill::_lookupTitle($l["base_skill_id"] , $l["tref_id"]);
1123  $levels = $bs->getLevelData();
1124  $cnt = 0;
1125  foreach ($levels as $lv)
1126  {
1127  $cnt++;
1128  if ($l["level_id"] == $lv["id"])
1129  {
1130  $pskills[$k]["target_cnt"] = $cnt;
1131  }
1132  if ($this->actual_levels[$l["base_skill_id"]][$l["tref_id"]] == $lv["id"])
1133  {
1134  $pskills[$k]["actual_cnt"] = $cnt;
1135  }
1136  if ($incl_self_eval)
1137  {
1138  if ($self_vals[$l["base_skill_id"]][$l["tref_id"]] == $lv["id"])
1139  {
1140  $pskills[$k]["self_cnt"] = $cnt;
1141  }
1142  }
1143  $max_cnt = max($max_cnt, $cnt);
1144  }
1145  }
1146 
1147  // $leg_labels = array("AAAAA", "BBBBB", "CCCCC");
1148 
1149  //var_dump($this->profile_levels);
1150  //var_dump($this->actual_levels);
1151 
1152  include_once("./Services/Chart/classes/class.ilChart.php");
1153  $chart = ilChart::getInstanceByType(ilChart::TYPE_SPIDER, "gap_chart".$pkg_cnt);
1154  $chart->setsize(800, 300);
1155  $chart->setYAxisMax($max_cnt);
1156  $chart->setLegLabels($leg_labels);
1157 
1158  // target level
1159  $cd = $chart->getDataInstance();
1160  $cd->setLabel($lng->txt("skmg_target_level"));
1161  $cd->setFill(true, "#A0A0A0");
1162 
1163  // other users
1164  $cd2 = $chart->getDataInstance();
1165  if ($this->gap_cat_title != "")
1166  {
1167  $cd2->setLabel($this->gap_cat_title);
1168  }
1169  else if ($this->gap_mode == "max_per_type")
1170  {
1171  $cd2->setLabel($lng->txt("objs_".$this->gap_mode_type));
1172  }
1173  else if ($this->gap_mode == "max_per_object")
1174  {
1175  $cd2->setLabel(ilObject::_lookupTitle($this->gap_mode_obj_id));
1176  }
1177  $cd2->setFill(true, "#8080FF");
1178 
1179  // self evaluation
1180  if ($incl_self_eval)
1181  {
1182  $cd3 = $chart->getDataInstance();
1183  $cd3->setLabel($lng->txt("skmg_self_evaluation"));
1184  $cd3->setFill(true, "#FF8080");
1185  }
1186 
1187  // fill in data
1188  $cnt = 0;
1189  foreach ($pskills as $pl)
1190  {
1191  $cd->addPoint($cnt, (int) $pl["target_cnt"]);
1192  $cd2->addPoint($cnt, (int) $pl["actual_cnt"]);
1193  if ($incl_self_eval)
1194  {
1195  $cd3->addPoint($cnt, (int) $pl["self_cnt"]);
1196  }
1197  $cnt++;
1198  }
1199 
1200  // add data to chart
1201  if ($this->getProfileId() > 0)
1202  {
1203  $chart->addData($cd);
1204  }
1205  $chart->addData($cd2);
1206  if ($incl_self_eval && count($this->getGapAnalysisSelfEvalLevels()) > 0)
1207  {
1208  $chart->addData($cd3);
1209  }
1210 
1211  if ($pkg_cnt == 1)
1212  {
1213  $lg = new ilChartLegend();
1214  $chart->setLegend($lg);
1215  }
1216 
1217  $chart_html = $chart->getHTML();
1218  $all_chart_html.= $chart_html;
1219  }
1220 
1221  $pan = ilPanelGUI::getInstance();
1222  $pan->setPanelStyle(ilPanelGUI::PANEL_STYLE_PRIMARY);
1223  $pan->setBody($all_chart_html);
1224  $all_chart_html = $pan->getHTML();
1225  }
1226 
1227  $stree = new ilSkillTree();
1228  $html = "";
1229  foreach ($skills as $s)
1230  {
1231  $path = $stree->getSkillTreePath($s["base_skill_id"]);
1232 
1233  // check draft
1234  foreach ($path as $p)
1235  {
1236  if ($p["status"] == ilSkillTreeNode::STATUS_DRAFT)
1237  {
1238  continue(2);
1239  }
1240  }
1241  $html.= $this->getSkillHTML($s["base_skill_id"], $user_id, false, $s["tref_id"]);
1242  }
1243 
1244  // list skills
1245 // include_once("./Services/Skill/classes/class.ilPersonalSkillTableGUI.php");
1246 // $sktab = new ilPersonalSkillTableGUI($this, "listSkills");
1247 
1248  return $intro_html.$all_chart_html.$html;
1249  }
$lg
Definition: example_018.php:62
$path
Definition: aliased.php:25
const TYPE_SPIDER
Chart legend.
Skill tree.
const PANEL_STYLE_PRIMARY
static _lookupTitle($a_id)
lookup object title
getSkillHTML($a_top_skill_id, $a_user_id=0, $a_edit=false, $a_tref_id=0)
Get skill presentation HTML.
getGapAnalysisSelfEvalLevels()
Get self evaluation levels for gap analysis.
$ilUser
Definition: imgupload.php:18
Create styles array
The data for the language used.
static _lookupTitle($a_obj_id, $a_tref_id=0)
Lookup Title.
static getInstance()
Get instance.
global $l
Definition: afr.php:30
global $lng
Definition: privfeed.php:17
Basic Skill.
$html
Definition: example_001.php:87
static getInstanceByType($a_type, $a_id)
Get type instance.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getGapAnalysisSelfEvalLevels()

ilPersonalSkillsGUI::getGapAnalysisSelfEvalLevels ( )

Get self evaluation levels for gap analysis.

Returns
array self evaluation values key1: base_skill_id, key2: tref_id: value: level id

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

References $gap_self_eval_levels.

Referenced by getGapAnalysisHTML(), and renderGapSelfEvalRow().

+ Here is the caller graph for this function:

◆ getHistoryView()

ilPersonalSkillsGUI::getHistoryView ( )

Get history view.

Returns
bool history view

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

References $history_view.

109  {
110  return $this->history_view;
111  }

◆ getIntroText()

ilPersonalSkillsGUI::getIntroText ( )

Get intro text.

Returns
string intro text html

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

References $intro_text.

Referenced by getGapAnalysisHTML().

129  {
130  return $this->intro_text;
131  }
+ Here is the caller graph for this function:

◆ getMaterialInfo()

ilPersonalSkillsGUI::getMaterialInfo (   $a_wsp_id,
  $a_user_id 
)

Get material file name and goto url.

Parameters
int$a_wsp_id
Returns
array caption, url

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

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

Referenced by renderMaterialsRow().

477  {
478  if(!$this->ws_tree)
479  {
480  include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
481  include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
482  $this->ws_tree = new ilWorkspaceTree($a_user_id);
483  $this->ws_access = new ilWorkspaceAccessHandler($caption);
484  }
485 
486  $obj_id = $this->ws_tree->lookupObjectId($a_wsp_id);
487  $caption = ilObject::_lookupTitle($obj_id);
488 
489  if(!$this->offline_mode)
490  {
491  $url = $this->ws_access->getGotoLink($a_wsp_id, $obj_id);
492  }
493  else
494  {
495  $url = $this->offline_mode."file_".$obj_id."/";
496 
497  // all possible material types for now
498  switch(ilObject::_lookupType($obj_id))
499  {
500  case "tstv":
501  include_once "Modules/Test/classes/class.ilObjTestVerification.php";
502  $obj = new ilObjTestVerification($obj_id, false);
503  $url .= $obj->getOfflineFilename();
504  break;
505 
506  case "excv":
507  include_once "Modules/Exercise/classes/class.ilObjExerciseVerification.php";
508  $obj = new ilObjExerciseVerification($obj_id, false);
509  $url .= $obj->getOfflineFilename();
510  break;
511 
512  case "crsv":
513  include_once "Modules/Course/classes/Verification/class.ilObjCourseVerification.php";
514  $obj = new ilObjCourseVerification($obj_id, false);
515  $url .= $obj->getOfflineFilename();
516  break;
517 
518  case "scov":
519  include_once "Modules/ScormAicc/classes/Verification/class.ilObjSCORMVerification.php";
520  $obj = new ilObjSCORMVerification($obj_id, false);
521  $url .= $obj->getOfflineFilename();
522  break;
523 
524  case "file":
525  $file = new ilObjFile($obj_id, false);
526  $url .= $file->getFilename();
527  break;
528  }
529  }
530 
531  return array($caption, $url);
532  }
Access handler for personal workspace.
static _lookupTitle($a_id)
lookup object title
$url
Definition: shib_logout.php:72
Tree handler for personal workspace.
Class ilObjFile.
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getProfileId()

ilPersonalSkillsGUI::getProfileId ( )

Get profile id.

Returns

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

Referenced by getGapAnalysisHTML(), renderActualLevelsRow(), renderProfileTargetRow(), renderSkillHTML(), and renderSuggestedResources().

69  {
70  return $this->profile_id;
71  }
+ Here is the caller graph for this function:

◆ getSkillHTML()

ilPersonalSkillsGUI::getSkillHTML (   $a_top_skill_id,
  $a_user_id = 0,
  $a_edit = false,
  $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 255 of file class.ilPersonalSkillsGUI.php.

References array, and renderSkillHTML().

Referenced by getGapAnalysisHTML(), and listSkills().

256  {
257  // user interface plugin slot + default rendering
258  include_once("./Services/UIComponent/classes/class.ilUIHookProcessor.php");
259  $uip = new ilUIHookProcessor("Services/Skill", "personal_skill_html",
260  array("personal_skills_gui" => $this, "top_skill_id" => $a_top_skill_id, "user_id" => $a_user_id,
261  "edit" => $a_edit, "tref_id" => $a_tref_id));
262  if (!$uip->replaced())
263  {
264  $skill_html = $this->renderSkillHTML($a_top_skill_id, $a_user_id, $a_edit, $a_tref_id);
265  }
266  $skill_html = $uip->getHTML($skill_html);
267 
268  return $skill_html;
269  }
UI interface hook processor.
renderSkillHTML($a_top_skill_id, $a_user_id=0, $a_edit=false, $a_tref_id=0)
Render skill html.
Create styles array
The data for the language used.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTooltipsJs()

ilPersonalSkillsGUI::getTooltipsJs ( )

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

466  {
467  return $this->tooltips;
468  }

◆ hideSkill()

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

Hide skill.

Parameters

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

140  {
141  $this->hidden_skills[] = $a_skill_id.":".$a_tref_id;
142  }

◆ listProfiles()

ilPersonalSkillsGUI::listProfiles ( )

List profiles.

Parameters

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

References $_GET, $ilCtrl, $ilUser, $lng, $options, $si, $tpl, array, getGapAnalysisHTML(), ilSkillProfile\getProfilesOfUser(), and setProfileId().

928  {
929  global $ilCtrl, $ilToolbar, $ilUser, $lng, $tpl;
930 
931  $profiles = ilSkillProfile::getProfilesOfUser($ilUser->getId());
932 
933  if (count($profiles) == 0)
934  {
935  return;
936  }
937 
938  // select profiles
939  include_once("./Services/Form/classes/class.ilSelectInputGUI.php");
940  $options = array();
941  foreach ($profiles as $p)
942  {
943  $options[$p["id"]] = $p["title"];
944  }
945 
946  if (!isset($options[$_GET["profile_id"]]))
947  {
948  $_GET["profile_id"] = (int) key($options);
949  $ilCtrl->setParameter($this, "profile_id", $_GET["profile_id"]);
950  }
951  $current_profile_id = $_GET["profile_id"];
952 
953  $si = new ilSelectInputGUI($lng->txt("skmg_profile"), "");
954  $si->setOptions($options);
955  $si->setValue($current_profile_id);
956  $ilToolbar->addInputItem($si, true);
957  $ilToolbar->addFormButton($lng->txt("select"),
958  "selectProfile");
959  $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
960 
961  $this->setProfileId($current_profile_id);
962 
963  $tpl->setContent($this->getGapAnalysisHTML());
964  }
setProfileId($a_val)
Set profile id.
This class represents a selection list property in a property form.
$_GET["client_id"]
getGapAnalysisHTML($a_user_id=0, $a_skills=null)
Get gap analysis html.
global $tpl
Definition: ilias.php:8
global $ilCtrl
Definition: ilias.php:18
static getProfilesOfUser($a_user_id)
Get profiles of a user.
if(!is_array($argv)) $options
$ilUser
Definition: imgupload.php:18
Create styles array
The data for the language used.
global $lng
Definition: privfeed.php:17
+ Here is the call graph for this function:

◆ listSkills()

ilPersonalSkillsGUI::listSkills ( )

List skills.

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

References $html, $ilCtrl, $ilUser, $lng, $path, $tpl, ilPersonalSkill\getSelectedUserSkills(), getSkillHTML(), setTabs(), and ilSkillTreeNode\STATUS_DRAFT.

209  {
210  global $tpl, $ilTabs, $lng, $ilCtrl, $ilToolbar, $ilUser;
211 
212  $this->setTabs("list_skills");
213 
214  include_once("./Services/Skill/classes/class.ilSkillTree.php");
215  $stree = new ilSkillTree();
216 
217  // skill selection / add new personal skill
218  $ilToolbar->addFormButton($lng->txt("skmg_add_skill"),
219  "listSkillsForAdd");
220  $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
221 
222  $skills = ilPersonalSkill::getSelectedUserSkills($ilUser->getId());
223  $html = "";
224  foreach ($skills as $s)
225  {
226  $path = $stree->getSkillTreePath($s["skill_node_id"]);
227 
228  // check draft
229  foreach ($path as $p)
230  {
231  if ($p["status"] == ilSkillTreeNode::STATUS_DRAFT)
232  {
233  continue(2);
234  }
235  }
236  $html.= $this->getSkillHTML($s["skill_node_id"], 0, true);
237  }
238 
239  // list skills
240 // include_once("./Services/Skill/classes/class.ilPersonalSkillTableGUI.php");
241 // $sktab = new ilPersonalSkillTableGUI($this, "listSkills");
242 
243  $tpl->setContent($html);
244 
245  }
$path
Definition: aliased.php:25
Skill tree.
getSkillHTML($a_top_skill_id, $a_user_id=0, $a_edit=false, $a_tref_id=0)
Get skill presentation HTML.
setTabs($a_activate)
Set tabs.
static getSelectedUserSkills($a_user_id)
Get personal selected user skills.
global $tpl
Definition: ilias.php:8
global $ilCtrl
Definition: ilias.php:18
$ilUser
Definition: imgupload.php:18
global $lng
Definition: privfeed.php:17
$html
Definition: example_001.php:87
+ Here is the call graph for this function:

◆ listSkillsForAdd()

ilPersonalSkillsGUI::listSkillsForAdd ( )

LIst skills for adding.

Parameters

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

References $ilCtrl, $ilUser, $lng, $tpl, and ilUtil\sendInfo().

899  {
900  global $ilUser, $tpl, $ilCtrl, $lng, $ilTabs;
901 
902  $ilTabs->setBackTarget($lng->txt("back"),
903  $ilCtrl->getLinkTarget($this, ""));
904 
905  include_once("./Services/Skill/classes/class.ilPersonalSkillExplorerGUI.php");
906  $exp = new ilPersonalSkillExplorerGUI($this, "listSkillsForAdd", $this, "addSkill");
907  if ($exp->getHasSelectableNodes())
908  {
909  if (!$exp->handleCommand())
910  {
911  $tpl->setContent($exp->getHTML());
912  }
913  ilUtil::sendInfo($lng->txt("skmg_select_skill"));
914  }
915  else
916  {
917  ilUtil::sendInfo($lng->txt("skmg_no_nodes_selectable"));
918  }
919  }
Explorer for selecting a personal skill.
global $tpl
Definition: ilias.php:8
global $ilCtrl
Definition: ilias.php:18
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
$ilUser
Definition: imgupload.php:18
global $lng
Definition: privfeed.php:17
+ Here is the call graph for this function:

◆ removeMaterial()

ilPersonalSkillsGUI::removeMaterial ( )

Remove material.

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

References $_GET, $ilCtrl, $ilUser, $lng, ilPersonalSkill\removeMaterial(), and ilUtil\sendSuccess().

787  {
788  global $ilUser, $lng, $ilCtrl;
789 
790  ilPersonalSkill::removeMaterial($ilUser->getId(), (int) $_GET["tref_id"],
791  (int) $_GET["level_id"],
792  (int) $_GET["wsp_id"]);
793  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
794  $ilCtrl->redirect($this, "assignMaterials");
795  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_GET["client_id"]
global $ilCtrl
Definition: ilias.php:18
$ilUser
Definition: imgupload.php:18
global $lng
Definition: privfeed.php:17
static removeMaterial($a_user_id, $a_tref_id, $a_level_id, $a_wsp_id)
Remove material.
+ Here is the call graph for this function:

◆ removeSkills()

ilPersonalSkillsGUI::removeSkills ( )

Remove skills.

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

References $_POST, $ilCtrl, $ilUser, $lng, ilPersonalSkill\removeSkill(), and ilUtil\sendSuccess().

588  {
589  global $ilUser, $lng, $ilCtrl;
590 
591  if (is_array($_POST["id"]))
592  {
593  foreach ($_POST["id"] as $n_id)
594  {
595  ilPersonalSkill::removeSkill($ilUser->getId(), $n_id);
596  }
597  }
598 
599  ilUtil::sendSuccess($lng->txt("msg_object_modified"));
600  $ilCtrl->redirect($this, "listSkills");
601  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
global $ilCtrl
Definition: ilias.php:18
static removeSkill($a_user_id, $a_skill_node_id)
Remove personal skill.
$ilUser
Definition: imgupload.php:18
global $lng
Definition: privfeed.php:17
$_POST["username"]
+ Here is the call graph for this function:

◆ renderActualLevelsRow()

ilPersonalSkillsGUI::renderActualLevelsRow (   $a_tpl,
  $a_levels,
  $a_top_skill_id,
  $a_base_skill,
  $a_tref_id = 0,
  $a_user_id = 0 
)

Render actual levels row (gap analysis)

Parameters

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

References $ilUser, $lng, ilObject\_lookupTitle(), and getProfileId().

Referenced by renderSkillHTML().

1465  {
1466  global $ilUser, $lng;
1467 
1468  if ($a_user_id == 0)
1469  {
1470  $a_user_id = $ilUser->getId();
1471  }
1472 
1473  $profile = new ilSkillProfile($this->getProfileId());
1474  $profile_levels = $profile->getSkillLevels();
1475 
1476  foreach ($a_levels as $k => $v)
1477  {
1478  $a_tpl->setCurrentBlock("val_level_td");
1479  $survey_level = false;
1480  if ($this->actual_levels[$v["skill_id"]][$a_tref_id] == $v["id"])
1481  {
1482  $survey_level = true;
1483  $too_low = false;
1484  }
1485  if ($survey_level)
1486  {
1487  $a_tpl->setVariable("VAL_LEVEL", "x");
1488  $a_tpl->setVariable("TD_CLASS", "ilSkillSelf");
1489  }
1490  else
1491  {
1492  $a_tpl->setVariable("VAL_LEVEL", " ");
1493  }
1494  $a_tpl->parseCurrentBlock();
1495  }
1496 
1497  $a_tpl->setCurrentBlock("value_row");
1498  if ($this->gap_cat_title != "")
1499  {
1500  $a_tpl->setVariable("TXT_VAL_TITLE", $this->gap_cat_title);
1501  }
1502  else if ($this->gap_mode == "max_per_type")
1503  {
1504  $a_tpl->setVariable("TXT_VAL_TITLE", $lng->txt("objs_".$this->gap_mode_type));
1505  }
1506  else if ($this->gap_mode == "max_per_object")
1507  {
1508  $a_tpl->setVariable("TXT_VAL_TITLE", ilObject::_lookupTitle($this->gap_mode_obj_id));
1509  }
1510 
1511  $a_tpl->parseCurrentBlock();
1512  }
static _lookupTitle($a_id)
lookup object title
$ilUser
Definition: imgupload.php:18
global $lng
Definition: privfeed.php:17
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderGapSelfEvalRow()

ilPersonalSkillsGUI::renderGapSelfEvalRow (   $a_tpl,
  $a_levels,
  $a_top_skill_id,
  $a_base_skill,
  $a_tref_id = 0,
  $a_user_id = 0 
)

Render actual levels row (gap analysis)

Parameters

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

References $ilUser, $lng, and getGapAnalysisSelfEvalLevels().

Referenced by renderSkillHTML().

1521  {
1522  global $ilUser, $lng;
1523 
1524  if ($a_user_id == 0)
1525  {
1526  $a_user_id = $ilUser->getId();
1527  }
1528 
1529  $self_vals = $this->getGapAnalysisSelfEvalLevels();
1530  if (count($self_vals) == 0)
1531  {
1532  return;
1533  }
1534 
1535  foreach ($a_levels as $k => $v)
1536  {
1537  $a_tpl->setCurrentBlock("val_level_td");
1538  $survey_level = false;
1539  if ($self_vals[$v["skill_id"]][$a_tref_id] == $v["id"])
1540  {
1541  $survey_level = true;
1542  }
1543  if ($survey_level)
1544  {
1545  $a_tpl->setVariable("VAL_LEVEL", "x");
1546  $a_tpl->setVariable("TD_CLASS", "ilSkillSelf");
1547  }
1548  else
1549  {
1550  $a_tpl->setVariable("VAL_LEVEL", " ");
1551  }
1552  $a_tpl->parseCurrentBlock();
1553  }
1554 
1555  $a_tpl->setCurrentBlock("value_row");
1556  $a_tpl->setVariable("TXT_VAL_TITLE", $lng->txt("skmg_self_evaluation"));
1557 
1558  $a_tpl->parseCurrentBlock();
1559  }
getGapAnalysisSelfEvalLevels()
Get self evaluation levels for gap analysis.
$ilUser
Definition: imgupload.php:18
global $lng
Definition: privfeed.php:17
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderMaterialsRow()

ilPersonalSkillsGUI::renderMaterialsRow (   $a_tpl,
  $a_levels,
  $a_top_skill_id,
  $a_base_skill,
  $a_tref_id = 0,
  $a_user_id = 0 
)

Render materials row.

Parameters

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

References $ilUser, $lng, ilTooltipGUI\addTooltip(), array, ilPersonalSkill\countAssignedMaterial(), ilPersonalSkill\getAssignedMaterial(), and getMaterialInfo().

Referenced by renderSkillHTML().

1332  {
1333  global $ilUser, $lng;
1334 
1335  if ($a_user_id == 0)
1336  {
1337  $a_user_id = $ilUser->getId();
1338  }
1339 
1340  $got_mat = false;
1341  foreach ($a_levels as $v)
1342  {
1343  $mat_cnt = ilPersonalSkill::countAssignedMaterial($a_user_id,
1344  $a_tref_id, $v["id"]);
1345  if ($mat_cnt > 0)
1346  {
1347  $got_mat = true;
1348  }
1349  }
1350  if (!$got_mat)
1351  {
1352  return;
1353  }
1354 
1355  foreach ($a_levels as $k => $v)
1356  {
1357  $mat_cnt = ilPersonalSkill::countAssignedMaterial($a_user_id,
1358  $a_tref_id, $v["id"]);
1359  if ($mat_cnt == 0)
1360  {
1361  $a_tpl->setCurrentBlock("val_level_td");
1362  $a_tpl->setVariable("VAL_LEVEL", " ");
1363  $a_tpl->parseCurrentBlock();
1364  }
1365  else
1366  {
1367  // links to material files
1368  $a_tpl->setCurrentBlock("level_link");
1369 
1370  $mat_tt = array();
1371  $cnt = 1;
1372  foreach(ilPersonalSkill::getAssignedMaterial($a_user_id,
1373  $a_tref_id, $v["id"]) as $item)
1374  {
1375  $mat_data = $this->getMaterialInfo($item["wsp_id"], $a_user_id);
1376  $a_tpl->setVariable("HREF_LINK", $mat_data[1]);
1377  $a_tpl->setVariable("TXT_LINK", $cnt);
1378 
1379  // tooltip
1380  $mat_tt_id = "skmg_skl_tt_mat_".self::$skill_tt_cnt;
1381  self::$skill_tt_cnt++;
1382  $a_tpl->setVariable("LEVEL_LINK_ID", $mat_tt_id);
1383 
1384  if(!$this->offline_mode)
1385  {
1386  ilTooltipGUI::addTooltip($mat_tt_id, $mat_data[0]);
1387  }
1388  else
1389  {
1390  $this->tooltips[] = ilTooltipGUI::getTooltip($mat_tt_id, $mat_data[0]);
1391  }
1392 
1393  $a_tpl->parseCurrentBlock();
1394  $cnt++;
1395  }
1396 
1397  $a_tpl->setCurrentBlock("val_level_td");
1398  $a_tpl->setVariable("TD_CLASS", "ilSkillMat");
1399  $a_tpl->parseCurrentBlock();
1400  }
1401  }
1402 
1403  $a_tpl->setCurrentBlock("value_row");
1404  $a_tpl->setVariable("TXT_VAL_TITLE", $lng->txt("skmg_material"));
1405  $a_tpl->parseCurrentBlock();
1406  }
getMaterialInfo($a_wsp_id, $a_user_id)
Get material file name and goto url.
static addTooltip($a_el_id, $a_text, $a_container="", $a_my="bottom center", $a_at="top center", $a_use_htmlspecialchars=true)
Adds a tooltip to an HTML element.
$ilUser
Definition: imgupload.php:18
Create styles array
The data for the language used.
static getAssignedMaterial($a_user_id, $a_tref_id, $a_level)
Get assigned material (for a skill level and user)
static countAssignedMaterial($a_user_id, $a_tref_id, $a_level)
Get assigned material (for a skill level and user)
global $lng
Definition: privfeed.php:17
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderObjectEvalRow()

ilPersonalSkillsGUI::renderObjectEvalRow (   $a_tpl,
  $a_levels,
  $a_level_entry 
)

Render object evaluation row (has_level table)

Parameters

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

References $lng, $title, IL_CAL_DATETIME, and ilDatePresentation\setUseRelativeDates().

Referenced by renderSkillHTML().

1568  {
1569  global $lng, $ilAccess;
1570 
1571  $se_level = $a_level_entry["level_id"];
1572 
1573  // check, if current self eval level is in current level data
1574  $valid_sel_level = false;
1575  if ($se_level > 0)
1576  {
1577  foreach ($a_levels as $k => $v)
1578  {
1579  if ($v["id"] == $se_level)
1580  {
1581  $valid_sel_level = true;
1582  }
1583  }
1584  }
1585  reset($a_levels);
1586  $found = false;
1587  foreach ($a_levels as $k => $v)
1588  {
1589  $a_tpl->setCurrentBlock("val_level_td");
1590  if ($valid_sel_level && $v["id"] == $se_level)
1591  {
1592  $a_tpl->setVariable("VAL_LEVEL", "x");
1593  $a_tpl->setVariable("TD_CLASS", "ilSkillSelf");
1594  }
1595  else
1596  {
1597  $a_tpl->setVariable("VAL_LEVEL", " ");
1598  }
1599  $a_tpl->parseCurrentBlock();
1600  /*if ($v["id"] == $se_level)
1601  {
1602  $found = true;
1603  }*/
1604  }
1605 
1606  $a_tpl->setCurrentBlock("value_row");
1608  if ($a_level_entry["self_eval"] == 1 && $a_level_entry["trigger_obj_id"] == 0)
1609  {
1610  $title = $lng->txt("skmg_self_evaluation");
1611  }
1612  else
1613  {
1614  $title = ($a_level_entry["trigger_obj_id"] > 0 && $a_level_entry["self_eval"] == 1)
1615  ? $a_level_entry["trigger_title"]." (".$lng->txt("skmg_self_evaluation").")"
1616  : $a_level_entry["trigger_title"];
1617  }
1618 
1619  if ($a_level_entry["trigger_ref_id"] > 0
1620  && $ilAccess->checkAccess("read", "", $a_level_entry["trigger_ref_id"]))
1621  {
1622  include_once("./Services/Link/classes/class.ilLink.php");
1623  $title = "<a href='".ilLink::_getLink($a_level_entry["trigger_ref_id"])."'>".$title."</a>";
1624  }
1625 
1626  $a_tpl->setVariable("TXT_VAL_TITLE", $title.
1627  ", ".ilDatePresentation::formatDate(new ilDateTime($a_level_entry["status_date"], IL_CAL_DATETIME)));
1629  $a_tpl->parseCurrentBlock();
1630  }
const IL_CAL_DATETIME
static setUseRelativeDates($a_status)
set use relative dates
Date and time handling
global $lng
Definition: privfeed.php:17
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderProfileTargetRow()

ilPersonalSkillsGUI::renderProfileTargetRow (   $a_tpl,
  $a_levels,
  $a_top_skill_id,
  $a_base_skill,
  $a_tref_id = 0,
  $a_user_id = 0 
)

Render profile target row.

Parameters

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

References $ilUser, $lng, and getProfileId().

Referenced by renderSkillHTML().

1415  {
1416  global $ilUser, $lng;
1417 
1418  if ($a_user_id == 0)
1419  {
1420  $a_user_id = $ilUser->getId();
1421  }
1422 
1423  $profile = new ilSkillProfile($this->getProfileId());
1424  $profile_levels = $profile->getSkillLevels();
1425 
1426  foreach ($a_levels as $k => $v)
1427  {
1428  $a_tpl->setCurrentBlock("val_level_td");
1429  $target_level = false;
1430  foreach ($profile_levels as $pl)
1431  {
1432  if ($pl["level_id"] == $v["id"] &&
1433  $pl["base_skill_id"] == $v["skill_id"] &&
1434  $a_tref_id == $pl["tref_id"])
1435  {
1436  $target_level = true;
1437  $current_target_level = $v["id"];
1438  }
1439  }
1440  if ($target_level)
1441  {
1442  $too_low = true;
1443  $a_tpl->setVariable("VAL_LEVEL", "x");
1444  $a_tpl->setVariable("TD_CLASS", "ilSkillSelf");
1445  }
1446  else
1447  {
1448  $a_tpl->setVariable("VAL_LEVEL", " ");
1449  }
1450  $a_tpl->parseCurrentBlock();
1451  }
1452 
1453  $a_tpl->setCurrentBlock("value_row");
1454  $a_tpl->setVariable("TXT_VAL_TITLE", $lng->txt("skmg_target_level"));
1455  $a_tpl->parseCurrentBlock();
1456  }
$ilUser
Definition: imgupload.php:18
global $lng
Definition: privfeed.php:17
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderSelfEvaluationRow()

ilPersonalSkillsGUI::renderSelfEvaluationRow (   $a_tpl,
  $a_levels,
  $a_top_skill_id,
  $a_base_skill,
  $a_tref_id = 0,
  $a_user_id = 0 
)

Render self evaluation row.

Parameters

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

References $ilUser, $lng, ilPersonalSkill\getSelfEvaluation(), ilPersonalSkill\getSelfEvaluationDate(), IL_CAL_DATETIME, and ilDatePresentation\setUseRelativeDates().

1272  {
1273  global $ilUser, $lng;
1274 
1275  if ($a_user_id == 0)
1276  {
1277  $a_user_id = $ilUser->getId();
1278  }
1279 
1280  $se_date = ilPersonalSkill::getSelfEvaluationDate($a_user_id, $a_top_skill_id, $a_tref_id, $a_base_skill);
1281 
1282  $se_level = ilPersonalSkill::getSelfEvaluation($a_user_id,
1283  $a_top_skill_id, $a_tref_id, $a_base_skill);
1284  // check, if current self eval level is in current level data
1285  $valid_sel_level = false;
1286  if ($se_level > 0)
1287  {
1288  foreach ($a_levels as $k => $v)
1289  {
1290  if ($v["id"] == $se_level)
1291  {
1292  $valid_sel_level = true;
1293  }
1294  }
1295  }
1296  reset($a_levels);
1297  $found = false;
1298  foreach ($a_levels as $k => $v)
1299  {
1300  $a_tpl->setCurrentBlock("val_level_td");
1301  if ($valid_sel_level && $v["id"] == $se_level)
1302  {
1303  $a_tpl->setVariable("VAL_LEVEL", "x");
1304  $a_tpl->setVariable("TD_CLASS", "ilSkillSelf");
1305  }
1306  else
1307  {
1308  $a_tpl->setVariable("VAL_LEVEL", " ");
1309  }
1310  $a_tpl->parseCurrentBlock();
1311  /*if ($v["id"] == $se_level)
1312  {
1313  $found = true;
1314  }*/
1315  }
1316 
1317  $a_tpl->setCurrentBlock("value_row");
1319  $a_tpl->setVariable("TXT_VAL_TITLE", $lng->txt("skmg_self_evaluation").
1320  ", ".ilDatePresentation::formatDate(new ilDateTime($se_date, IL_CAL_DATETIME)));
1322  $a_tpl->parseCurrentBlock();
1323  }
const IL_CAL_DATETIME
static setUseRelativeDates($a_status)
set use relative dates
Date and time handling
$ilUser
Definition: imgupload.php:18
static getSelfEvaluation($a_user_id, $a_top_skill, $a_tref_id, $a_basic_skill)
Get self evaluation.
global $lng
Definition: privfeed.php:17
static getSelfEvaluationDate($a_user_id, $a_top_skill, $a_tref_id, $a_basic_skill)
Get self evaluation.
+ Here is the call graph for this function:

◆ renderSkillHTML()

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

Render skill html.

Parameters

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

References $ilCtrl, $ilSetting, $ilUser, $lng, $path, $title, $tpl, ilSkillTemplateReference\_lookupTemplateId(), ilSkillTreeNode\_lookupTitle(), ilSkillTreeNode\_lookupType(), ilTooltipGUI\addTooltip(), array, ilAdvancedSelectionListGUI\DOWN_ARROW_DARK, ilBasicSkill\EVAL_BY_ALL, ilSkillTreeNodeFactory\getInstance(), getProfileId(), ilPersonalSkill\getSelfEvaluationDate(), renderActualLevelsRow(), renderGapSelfEvalRow(), renderMaterialsRow(), renderObjectEvalRow(), renderProfileTargetRow(), renderSuggestedResources(), and ilSkillTreeNode\STATUS_DRAFT.

Referenced by getSkillHTML().

278  {
279  global $ilUser, $lng, $ilCtrl, $ilSetting;
280 
281 //echo "<br>".$a_top_skill_id.":".$a_tref_id;
282  $this->tooltips = array();
283 
284  if ($a_user_id == 0)
285  {
286  $user = $ilUser;
287  }
288  else
289  {
290  $user = new ilObjUser($a_user_id);
291  }
292 
293  $tpl = new ilTemplate("tpl.skill_pres.html", true, true, "Services/Skill");
294 
295  include_once("./Services/UIComponent/Tooltip/classes/class.ilTooltipGUI.php");
296 
297  include_once("./Services/Skill/classes/class.ilSkillTree.php");
298  $stree = new ilSkillTree();
299 
300  include_once("./Services/Skill/classes/class.ilSkillTreeNode.php");
301  include_once("./Services/Skill/classes/class.ilSkillTreeNodeFactory.php");
302 
303  // general settings for the action drop down
304  include_once("Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
305  $act_list = new ilAdvancedSelectionListGUI();
306  $act_list->setListTitle($lng->txt("actions"));
307  $act_list->setSelectionHeaderClass("small");
308 // $act_list->setLinksMode("il_ContainerItemCommand2");
309  $act_list->setHeaderIcon(ilAdvancedSelectionListGUI::DOWN_ARROW_DARK);
310  $act_list->setUseImages(false);
311 
312  include_once("./Services/Skill/classes/class.ilVirtualSkillTree.php");
313  $vtree = new ilVirtualSkillTree();
314  $tref_id = $a_tref_id;
315  $skill_id = $a_top_skill_id;
316  if (ilSkillTreeNode::_lookupType($a_top_skill_id) == "sktr")
317  {
318  include_once("./Services/Skill/classes/class.ilSkillTemplateReference.php");
319  $tref_id = $a_top_skill_id;
320  $skill_id = ilSkillTemplateReference::_lookupTemplateId($a_top_skill_id);
321  }
322  $b_skills = $vtree->getSubTreeForCSkillId($skill_id.":".$tref_id, true);
323 //if ($a_tref_id > 0) $a_top_skill_id = $a_tref_id;
324  foreach ($b_skills as $bs)
325  {
326 $bs["id"] = $bs["skill_id"];
327 $bs["tref"] = $bs["tref_id"];
328 //var_dump($bs); exit;
329  $path = $stree->getSkillTreePath($bs["id"], $bs["tref"]);
330 
331  // check draft
332  foreach ($path as $p)
333  {
334  if ($p["status"] == ilSkillTreeNode::STATUS_DRAFT)
335  {
336  continue(2);
337  }
338  }
339  reset($path);
340 
341  $skill = ilSkillTreeNodeFactory::getInstance($bs["id"]);
342  $level_data = $skill->getLevelData();
343 
344  if ($this->getProfileId() > 0)
345  {
346  $this->renderProfileTargetRow($tpl, $level_data, $a_top_skill_id, $bs["id"], $bs["tref"], $user->getId());
347  }
348  if ($this->mode != "gap")
349  {
350  $this->renderMaterialsRow($tpl, $level_data, $a_top_skill_id, $bs["id"], $bs["tref"], $user->getId());
351  }
352 
353  if ($this->mode == "gap" && !$this->history_view)
354  {
355  $this->renderActualLevelsRow($tpl, $level_data, $a_top_skill_id, $bs["id"], $bs["tref"], $user->getId());
356  $this->renderGapSelfEvalRow($tpl, $level_data, $a_top_skill_id, $bs["id"], $bs["tref"], $user->getId());
357  }
358  else
359  {
360  // get date of self evaluation
361  $se_date = ilPersonalSkill::getSelfEvaluationDate($user->getId(), $a_top_skill_id, $bs["tref"], $bs["id"]);
362  $se_rendered = ($se_date == "")
363  ? true
364  : false;
365 
366  // get all object triggered entries and render them
367  foreach ($skill->getAllHistoricLevelEntriesOfUser($bs["tref"] , $user->getId(), ilBasicSkill::EVAL_BY_ALL) as $level_entry)
368  {
369  // render the self evaluation at the correct position within the list of object triggered entries
370  if ($se_date > $level_entry["status_date"] && !$se_rendered)
371  {
372  $se_rendered = true;
373  }
374  $this->renderObjectEvalRow($tpl, $level_data, $level_entry);
375  }
376 
377  }
378  $this->renderSuggestedResources($tpl, $level_data, $bs["id"], $bs["tref"]);
379 
380  $too_low = true;
381  $current_target_level = 0;
382 
383  foreach ($level_data as $k => $v)
384  {
385  // level
386  $tpl->setCurrentBlock("level_td");
387  $tpl->setVariable("VAL_LEVEL", $v["title"]);
388  $tt_id = "skmg_skl_tt_".self::$skill_tt_cnt;
389  self::$skill_tt_cnt++;
390  $tpl->setVariable("TT_ID", $tt_id);
391  if ($v["description"] != "")
392  {
393  ilTooltipGUI::addTooltip($tt_id, $v["description"]);
394  }
395  $tpl->parseCurrentBlock();
396  }
397 
398 
399  $title = $sep = "";
400  $found = false;
401  foreach ($path as $p)
402  {
403  if ($found)
404  {
405  $title.= $sep.$p["title"];
406  $sep = " > ";
407  }
408  if ($a_top_skill_id == $p["child"])
409  {
410  $found = true;
411  }
412  }
413 
414  $tpl->setCurrentBlock("skill");
415  $tpl->setVariable("BSKILL_TITLE", $title);
416 /* $tpl->setVariable("TXT_LEVEL", $lng->txt("skmg_level"));
417  $tpl->setVariable("TXT_SELF_EVAL", $lng->txt("skmg_self_evaluation"));
418  if ($this->use_materials)
419  {
420  $tpl->setVariable("TXT_MATERIAL", $lng->txt("skmg_material"));
421  }*/
422  $tpl->setVariable("TXT_TARGET", $lng->txt("skmg_target_level"));
423  $tpl->setVariable("TXT_360_SURVEY", $lng->txt("skmg_360_survey"));
424 
425  if ($a_edit)
426  {
427  $act_list->flush();
428  $act_list->setId("act_".$a_top_skill_id."_".$bs["id"]);
429  $ilCtrl->setParameterByClass("ilpersonalskillsgui", "skill_id", $a_top_skill_id);
430  $ilCtrl->setParameterByClass("ilpersonalskillsgui", "tref_id", $bs["tref"]);
431  $ilCtrl->setParameterByClass("ilpersonalskillsgui", "basic_skill_id", $bs["id"]);
432  if ($this->use_materials)
433  {
434  $act_list->addItem($lng->txt('skmg_assign_materials'), "",
435  $ilCtrl->getLinkTargetByClass("ilpersonalskillsgui", "assignMaterials"));
436  }
437  $act_list->addItem($lng->txt('skmg_self_evaluation'), "",
438  $ilCtrl->getLinkTargetByClass("ilpersonalskillsgui", "selfEvaluation"));
439  $tpl->setVariable("ACTIONS2", $act_list->getHTML());
440  }
441 
442  $tpl->parseCurrentBlock();
443 
444  }
445 
446  $tpl->setVariable("SKILL_TITLE", ilSkillTreeNode::_lookupTitle($skill_id, $tref_id));
447 
448  if ($a_edit)
449  {
450  $act_list->flush();
451  $act_list->setId("act_".$a_top_skill_id);
452  $ilCtrl->setParameterByClass("ilpersonalskillsgui", "skill_id", $a_top_skill_id);
453 // $act_list->addItem($lng->txt('skmg_assign_materials'), "",
454 // $ilCtrl->getLinkTargetByClass("ilpersonalskillsgui", "assignMaterials"));
455  $act_list->addItem($lng->txt('skmg_remove_skill'), "",
456  $ilCtrl->getLinkTargetByClass("ilpersonalskillsgui", "confirmSkillRemove"));
457  $tpl->setVariable("ACTIONS1", $act_list->getHTML());
458  }
459 
460 
461 
462  return $tpl->get();
463  }
$path
Definition: aliased.php:25
renderSuggestedResources($a_tpl, $a_levels, $a_base_skill, $a_tref_id)
Render suggested resources.
renderActualLevelsRow($a_tpl, $a_levels, $a_top_skill_id, $a_base_skill, $a_tref_id=0, $a_user_id=0)
Render actual levels row (gap analysis)
Skill tree.
renderGapSelfEvalRow($a_tpl, $a_levels, $a_top_skill_id, $a_base_skill, $a_tref_id=0, $a_user_id=0)
Render actual levels row (gap analysis)
global $tpl
Definition: ilias.php:8
static _lookupType($a_obj_id)
Lookup Type.
global $ilCtrl
Definition: ilias.php:18
static addTooltip($a_el_id, $a_text, $a_container="", $a_my="bottom center", $a_at="top center", $a_use_htmlspecialchars=true)
Adds a tooltip to an HTML element.
special template class to simplify handling of ITX/PEAR
renderProfileTargetRow($a_tpl, $a_levels, $a_top_skill_id, $a_base_skill, $a_tref_id=0, $a_user_id=0)
Render profile target row.
$ilUser
Definition: imgupload.php:18
static _lookupTemplateId($a_obj_id)
Lookup template ID.
Create styles array
The data for the language used.
renderObjectEvalRow($a_tpl, $a_levels, $a_level_entry)
Render object evaluation row (has_level table)
User interface class for advanced drop-down selection lists.
static _lookupTitle($a_obj_id, $a_tref_id=0)
Lookup Title.
global $ilSetting
Definition: privfeed.php:17
global $lng
Definition: privfeed.php:17
static getSelfEvaluationDate($a_user_id, $a_top_skill, $a_tref_id, $a_basic_skill)
Get self evaluation.
renderMaterialsRow($a_tpl, $a_levels, $a_top_skill_id, $a_base_skill, $a_tref_id=0, $a_user_id=0)
Render materials row.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderSuggestedResources()

ilPersonalSkillsGUI::renderSuggestedResources (   $a_tpl,
  $a_levels,
  $a_base_skill,
  $a_tref_id 
)

Render suggested resources.

Parameters

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

References $lng, $r, $ref_id, $res, $title, ilLink\_getLink(), ilObject\_lookupObjId(), ilObject\_lookupTitle(), array, getProfileId(), and ilBasicSkill\lookupLevelTitle().

Referenced by renderSkillHTML().

1639  {
1640  global $lng;
1641 
1642  // use a profile
1643  if ($this->getProfileId() > 0)
1644  {
1645  $profile = new ilSkillProfile($this->getProfileId());
1646  $profile_levels = $profile->getSkillLevels();
1647 
1648  $too_low = true;
1649  $current_target_level = 0;
1650 
1651 
1652  foreach ($a_levels as $k => $v)
1653  {
1654  foreach ($this->profile_levels as $pl)
1655  {
1656  if ($pl["level_id"] == $v["id"] &&
1657  $pl["base_skill_id"] == $v["skill_id"])
1658  {
1659  $too_low = true;
1660  $current_target_level = $v["id"];
1661  }
1662  }
1663 
1664  if ($this->actual_levels[$v["skill_id"]][0] == $v["id"])
1665  {
1666  $too_low = false;
1667  }
1668  }
1669 
1670  // suggested resources
1671  if ($too_low)
1672  {
1673  include_once("./Services/Skill/classes/class.ilSkillResources.php");
1674  $skill_res = new ilSkillResources($a_base_skill, $a_tref_id);
1675  $res = $skill_res->getResources();
1676  $imp_resources = array();
1677  foreach ($res as $level)
1678  {
1679  foreach($level as $r)
1680  {
1681  if ($r["imparting"] == true &&
1682  $current_target_level == $r["level_id"])
1683  {
1684  $imp_resources[] = $r;
1685  }
1686  }
1687  }
1688  foreach($imp_resources as $r)
1689  {
1690  $ref_id = $r["rep_ref_id"];
1691  $obj_id = ilObject::_lookupObjId($ref_id);
1692  $title = ilObject::_lookupTitle($obj_id);
1693  include_once("./Services/Link/classes/class.ilLink.php");
1694  $a_tpl->setCurrentBlock("resource_item");
1695  $a_tpl->setVariable("TXT_RES", $title);
1696  $a_tpl->setVariable("HREF_RES", ilLink::_getLink($ref_id));
1697  $a_tpl->parseCurrentBlock();
1698  }
1699  if (count($imp_resources) > 0)
1700  {
1701  $a_tpl->touchBlock("resources_list");
1702  $a_tpl->setCurrentBlock("resources");
1703  $a_tpl->setVariable("SUGGESTED_MAT_MESS", $lng->txt("skmg_skill_needs_impr_res"));
1704  $a_tpl->parseCurrentBlock();
1705  }
1706  else
1707  {
1708  $a_tpl->setCurrentBlock("resources");
1709  $a_tpl->setVariable("SUGGESTED_MAT_MESS", $lng->txt("skmg_skill_needs_impr_no_res"));
1710  $a_tpl->parseCurrentBlock();
1711  }
1712  }
1713  else
1714  {
1715  $a_tpl->setCurrentBlock("resources");
1716  $a_tpl->setVariable("SUGGESTED_MAT_MESS", $lng->txt("skmg_skill_no_needs_impr"));
1717  $a_tpl->parseCurrentBlock();
1718  }
1719  }
1720  else
1721  {
1722  // no profile, just list all resources
1723  include_once("./Services/Skill/classes/class.ilSkillResources.php");
1724  $skill_res = new ilSkillResources($a_base_skill, $a_tref_id);
1725  $res = $skill_res->getResources();
1726  // add $r["level_id"] info
1727  $any = false;
1728  foreach ($res as $level)
1729  {
1730  $available = false;
1731  $cl = 0;
1732  foreach($level as $r)
1733  {
1734  if ($r["imparting"])
1735  {
1736  $ref_id = $r["rep_ref_id"];
1737  $obj_id = ilObject::_lookupObjId($ref_id);
1738  $title = ilObject::_lookupTitle($obj_id);
1739  include_once("./Services/Link/classes/class.ilLink.php");
1740  $a_tpl->setCurrentBlock("resource_item");
1741  $a_tpl->setVariable("TXT_RES", $title);
1742  $a_tpl->setVariable("HREF_RES", ilLink::_getLink($ref_id));
1743  $a_tpl->parseCurrentBlock();
1744  $available = true;
1745  $any = true;
1746  $cl = $r["level_id"];
1747  }
1748  }
1749  if ($available)
1750  {
1751  $a_tpl->setCurrentBlock("resources_list_level");
1752  $a_tpl->setVariable("TXT_LEVEL", $lng->txt("skmg_level"));
1753  $a_tpl->setVariable("LEVEL_NAME", ilBasicSkill::lookupLevelTitle($cl));
1754  $a_tpl->parseCurrentBlock();
1755  $a_tpl->touchBlock("resources_list");
1756  }
1757  }
1758  if ($any)
1759  {
1760  $a_tpl->setCurrentBlock("resources");
1761  $a_tpl->setVariable("SUGGESTED_MAT_MESS", $lng->txt("skmg_suggested_resources"));
1762  $a_tpl->parseCurrentBlock();
1763  }
1764  }
1765  }
static lookupLevelTitle($a_id)
Lookup level title.
static _lookupTitle($a_id)
lookup object title
$r
Definition: example_031.php:79
static _lookupObjId($a_id)
Manages resources for skills.
Create styles array
The data for the language used.
$ref_id
Definition: sahs_server.php:39
global $lng
Definition: privfeed.php:17
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveSelfEvaluation()

ilPersonalSkillsGUI::saveSelfEvaluation ( )

Save self evaluation.

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

References $_GET, $_POST, $ilCtrl, $ilUser, $lng, ilPersonalSkill\saveSelfEvaluation(), and ilUtil\sendSuccess().

876  {
877  global $ilUser, $lng, $ilCtrl;
878 
879  ilPersonalSkill::saveSelfEvaluation($ilUser->getId(), (int) $_GET["skill_id"],
880  (int) $_GET["tref_id"], (int) $_GET["basic_skill_id"], (int) $_POST["se"]);
881  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
882 
883 /* $ilCtrl->saveParameter($this, "skill_id");
884  $ilCtrl->saveParameter($this, "level_id");
885  $ilCtrl->saveParameter($this, "tref_id");
886  $ilCtrl->saveParameter($this, "basic_skill_id");*/
887 
888  $ilCtrl->redirect($this, "listSkills");
889 
890  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_GET["client_id"]
static saveSelfEvaluation($a_user_id, $a_top_skill, $a_tref_id, $a_basic_skill, $a_level)
Save self evaluation.
global $ilCtrl
Definition: ilias.php:18
$ilUser
Definition: imgupload.php:18
global $lng
Definition: privfeed.php:17
$_POST["username"]
+ Here is the call graph for this function:

◆ selectMaterial()

ilPersonalSkillsGUI::selectMaterial ( )

Select material.

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

References $_GET, $_POST, $ilCtrl, $ilUser, $lng, $w, ilPersonalSkill\assignMaterial(), and ilUtil\sendSuccess().

759  {
760  global $ilUser, $ilCtrl, $lng;
761 
762  include_once("./Services/Skill/classes/class.ilPersonalSkill.php");
763  if (is_array($_POST["wsp_id"]))
764  {
765  foreach ($_POST["wsp_id"] as $w)
766  {
767  ilPersonalSkill::assignMaterial($ilUser->getId(), (int) $_GET["skill_id"],
768  (int) $_GET["tref_id"],
769  (int) $_GET["basic_skill_id"], (int) $_GET["level_id"], (int) $w);
770  }
771  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
772  }
773 
774  $ilCtrl->saveParameter($this, "skill_id");
775  $ilCtrl->saveParameter($this, "level_id");
776  $ilCtrl->saveParameter($this, "tref_id");
777  $ilCtrl->saveParameter($this, "basic_skill_id");
778 
779  $ilCtrl->redirect($this, "assignMaterials");
780  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_GET["client_id"]
$w
global $ilCtrl
Definition: ilias.php:18
$ilUser
Definition: imgupload.php:18
global $lng
Definition: privfeed.php:17
$_POST["username"]
static assignMaterial($a_user_id, $a_top_skill, $a_tref_id, $a_basic_skill, $a_level, $a_wsp_id)
Assign material to skill level.
+ Here is the call graph for this function:

◆ selectProfile()

ilPersonalSkillsGUI::selectProfile ( )

Select profile.

Parameters

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

References $_GET, and $ilCtrl.

1258  {
1259  global $ilCtrl;
1260 
1261  $ilCtrl->setParameter($this, "profile_id", $_GET["profile_id"]);
1262  $ilCtrl->redirect($this, "listProfiles");
1263  }
$_GET["client_id"]
global $ilCtrl
Definition: ilias.php:18

◆ selfEvaluation()

ilPersonalSkillsGUI::selfEvaluation ( )

Assign materials to skill levels.

Parameters

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

References $_GET, $_POST, $ilCtrl, $lng, $options, $si, $tab, $tpl, ilSkillTemplateReference\_lookupTemplateId(), ilSkillTreeNode\_lookupTitle(), ilSkillTreeNode\_lookupType(), array, and ilUtil\getImagePath().

809  {
810  global $ilTabs, $lng, $ilCtrl, $tpl, $ilToolbar;
811 
812  $ilTabs->setBackTarget($lng->txt("back"),
813  $ilCtrl->getLinkTarget($this, "listSkills"));
814 
815  $ilCtrl->saveParameter($this, "skill_id");
816  $ilCtrl->saveParameter($this, "basic_skill_id");
817  $ilCtrl->saveParameter($this, "tref_id");
818 
819  include_once("./Services/Skill/classes/class.ilSkillTreeNode.php");
820  $tpl->setTitle(ilSkillTreeNode::_lookupTitle((int) $_GET["skill_id"]));
821  $tpl->setTitleIcon(ilUtil::getImagePath("icon_".
822  ilSkillTreeNode::_lookupType((int) $_GET["skill_id"]).
823  ".svg"));
824 
825  // basic skill selection
826  include_once("./Services/Skill/classes/class.ilVirtualSkillTree.php");
827  $vtree = new ilVirtualSkillTree();
828  $tref_id = 0;
829  $skill_id = (int) $_GET["skill_id"];
830  if (ilSkillTreeNode::_lookupType((int) $_GET["skill_id"]) == "sktr")
831  {
832  include_once("./Services/Skill/classes/class.ilSkillTemplateReference.php");
833  $tref_id = $_GET["skill_id"];
834  $skill_id = ilSkillTemplateReference::_lookupTemplateId($_GET["skill_id"]);
835  }
836  $bs = $vtree->getSubTreeForCSkillId($skill_id.":".$tref_id, true);
837 
838 
839  $options = array();
840  foreach ($bs as $b)
841  {
842  $options[$b["skill_id"]] = ilSkillTreeNode::_lookupTitle($b["skill_id"]);
843  }
844 
845  $cur_basic_skill_id = ((int) $_POST["basic_skill_id"] > 0)
846  ? (int) $_POST["basic_skill_id"]
847  : (((int) $_GET["basic_skill_id"] > 0)
848  ? (int) $_GET["basic_skill_id"]
849  : key($options));
850 
851  $ilCtrl->setParameter($this, "basic_skill_id", $cur_basic_skill_id);
852 
853  include_once("./Services/Form/classes/class.ilSelectInputGUI.php");
854  $si = new ilSelectInputGUI($lng->txt("skmg_skill"), "basic_skill_id");
855  $si->setOptions($options);
856  $si->setValue($cur_basic_skill_id);
857  $ilToolbar->addInputItem($si, true);
858  $ilToolbar->addFormButton($lng->txt("select"),
859  "selfEvaluation");
860 
861  $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
862 
863  // table
864  include_once("./Services/Skill/classes/class.ilSelfEvaluationSimpleTableGUI.php");
865  $tab = new ilSelfEvaluationSimpleTableGUI($this, "selfEvaluation",
866  (int) $_GET["skill_id"], (int) $_GET["tref_id"], $cur_basic_skill_id);
867 
868  $tpl->setContent($tab->getHTML());
869 
870  }
This class represents a selection list property in a property form.
$_GET["client_id"]
global $tpl
Definition: ilias.php:8
static _lookupType($a_obj_id)
Lookup Type.
global $ilCtrl
Definition: ilias.php:18
if(!is_array($argv)) $options
Self evaluation, second simplier implementation.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static _lookupTemplateId($a_obj_id)
Lookup template ID.
Create styles array
The data for the language used.
static _lookupTitle($a_obj_id, $a_tref_id=0)
Lookup Title.
global $lng
Definition: privfeed.php:17
$_POST["username"]
+ Here is the call graph for this function:

◆ setGapAnalysisActualStatusModePerObject()

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

Set gap analysis actual status mode "per object".

Parameters
integer$a_obj_idobject id

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

985  {
986  $this->gap_mode = "max_per_object";
987  $this->gap_mode_obj_id = $a_obj_id;
988  $this->gap_cat_title = $a_cat_title;
989  $this->mode = "gap";
990  }

◆ setGapAnalysisActualStatusModePerType()

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

Set gap analysis actual status mode "per type".

Parameters
string$a_typetype

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

References $a_type.

972  {
973  $this->gap_mode = "max_per_type";
974  $this->gap_mode_type = $a_type;
975  $this->gap_cat_title = $a_cat_title;
976  $this->mode = "gap";
977  }
$a_type
Definition: workflow.php:93

◆ setGapAnalysisSelfEvalLevels()

ilPersonalSkillsGUI::setGapAnalysisSelfEvalLevels (   $a_val)

Set self evaluation levels for gap analysis.

Parameters
array$a_valself evaluation values key1: base_skill_id, key2: tref_id: value: level id

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

79  {
80  $this->gap_self_eval_levels = $a_val;
81  }

◆ setHistoryView()

ilPersonalSkillsGUI::setHistoryView (   $a_val)

Set history view.

Parameters
bool$a_valhistory view

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

99  {
100  $this->history_view = $a_val;
101  }

◆ setIntroText()

ilPersonalSkillsGUI::setIntroText (   $a_val)

Set intro text.

Parameters
string$a_valintro text html

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

119  {
120  $this->intro_text = $a_val;
121  }

◆ setOfflineMode()

ilPersonalSkillsGUI::setOfflineMode (   $a_file_path)

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

201  {
202  $this->offline_mode = $a_file_path;
203  }

◆ setProfileId()

ilPersonalSkillsGUI::setProfileId (   $a_val)

Set profile id.

Parameters
$a_val

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

Referenced by listProfiles().

59  {
60  $this->profile_id = $a_val;
61  }
+ Here is the caller graph for this function:

◆ setTabs()

ilPersonalSkillsGUI::setTabs (   $a_activate)

Set tabs.

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

References $ilCtrl, and $lng.

Referenced by listSkills().

184  {
185  global $ilTabs, $lng, $ilCtrl;
186 
187  // list skills
188  $ilTabs->addTab("list_skills",
189  $lng->txt("skmg_list_skills"),
190  $ilCtrl->getLinkTarget($this, "listSkills"));
191 
192  // assign materials
193 /* $ilTabs->addTab("assign_materials",
194  $lng->txt("skmg_assign_materials"),
195  $ilCtrl->getLinkTarget($this, "assignMaterials"));*/
196 
197  $ilTabs->activateTab($a_activate);
198  }
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:17
+ Here is the caller graph for this function:

Field Documentation

◆ $actual_levels

ilPersonalSkillsGUI::$actual_levels = array()
protected

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

◆ $gap_self_eval_levels

ilPersonalSkillsGUI::$gap_self_eval_levels = array()
protected

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

Referenced by getGapAnalysisSelfEvalLevels().

◆ $hidden_skills

ilPersonalSkillsGUI::$hidden_skills = array()
protected

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

◆ $history_view

ilPersonalSkillsGUI::$history_view = false
protected

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

Referenced by getHistoryView().

◆ $intro_text

ilPersonalSkillsGUI::$intro_text = ""
protected

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

Referenced by getIntroText().

◆ $mode

ilPersonalSkillsGUI::$mode = ""
protected

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

◆ $offline_mode

ilPersonalSkillsGUI::$offline_mode
protected

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

◆ $skill_tree

ilPersonalSkillsGUI::$skill_tree
protected

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

◆ $skill_tt_cnt

ilPersonalSkillsGUI::$skill_tt_cnt = 1
static

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


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