ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ilContSkillAdminGUI Class Reference

Container skills administration. More...

+ Collaboration diagram for ilContSkillAdminGUI:

Public Member Functions

 __construct ($a_container_gui)
 Constructor. More...
 
 executeCommand ()
 Execute command. More...
 
 listMembers ()
 List members. More...
 
 assignCompetences ()
 Assign competences to a member. More...
 
 initCompetenceAssignmentForm ()
 Init competence assignment form. More...
 
 getPathString ($a_skill_id, $a_tref_id=0)
 Get path string. More...
 
 saveCompetenceAssignment ()
 Save competence assignment. More...
 
 publishAssignments ()
 Publish assignments. More...
 
 deassignCompetencesConfirm ()
 Deassign competences confirmation. More...
 
 deassignCompetences ()
 Deassign competences. More...
 
 listCompetences ()
 Select competences. More...
 
 selectSkill ()
 Select skill for container. More...
 
 saveSelectedSkill ()
 Save selected skill. More...
 
 confirmRemoveSelectedSkill ()
 Confirm. More...
 
 removeSelectedSkill ()
 Remove skill from course selection. More...
 
 settings ()
 Settings. More...
 
 initSettingsForm ()
 Init settings form. More...
 
 saveSettings ()
 Save settings. More...
 

Protected Attributes

 $ctrl
 
 $tabs
 
 $lng
 
 $tpl
 
 $container_gui
 
 $container
 
 $container_skills
 
 $toolbar
 
 $access
 

Detailed Description

Container skills administration.

Author
Alex Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de

Definition at line 11 of file class.ilContSkillAdminGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilContSkillAdminGUI::__construct (   $a_container_gui)

Constructor.

Parameters

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

64 {
65 global $DIC;
66
67 $this->ctrl = $DIC->ctrl();
68 $this->tabs = $DIC->tabs();
69 $this->lng = $DIC->language();
70 $this->tpl = $DIC["tpl"];
71 $this->toolbar = $DIC->toolbar();
72 $this->access = $DIC->access();
73
74 $this->container_gui = $a_container_gui;
75 $this->container = $a_container_gui->object;
76 $this->ref_id = $this->container->getRefId();
77
78 include_once("./Services/Skill/classes/class.ilSkillTree.php");
79 $this->skill_tree = new ilSkillTree();
80
81 include_once("./Services/Container/Skills/classes/class.ilContainerSkills.php");
82 $this->container_skills = new ilContainerSkills($this->container->getId());
83
84 $this->user_id = (int) $_GET["usr_id"];
85 }
$_GET["client_id"]
Skills of a container.
global $DIC
Definition: saml.php:7

References $_GET, and $DIC.

Member Function Documentation

◆ assignCompetences()

ilContSkillAdminGUI::assignCompetences ( )

Assign competences to a member.

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

134 {
138
139 $ctrl->saveParameter($this, "usr_id");
140 $tabs->activateSubTab("members");
141
143 $tpl->setContent($form->getHTML());
144 }
initCompetenceAssignmentForm()
Init competence assignment form.
if(isset($_POST['submit'])) $form

References $ctrl, $form, $tabs, $tpl, and initCompetenceAssignmentForm().

+ Here is the call graph for this function:

◆ confirmRemoveSelectedSkill()

ilContSkillAdminGUI::confirmRemoveSelectedSkill ( )

Confirm.

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

403 {
407
408 if (!is_array($_POST["id"]) || count($_POST["id"]) == 0) {
409 ilUtil::sendInfo($lng->txt("no_checkbox"), true);
410 $ctrl->redirect($this, "listCompetences");
411 } else {
412 include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
413 $cgui = new ilConfirmationGUI();
414 $cgui->setFormAction($ctrl->getFormAction($this));
415 $cgui->setHeaderText($lng->txt("cont_really_remove_skill_from_course"));
416 $cgui->setCancel($lng->txt("cancel"), "listCompetences");
417 $cgui->setConfirm($lng->txt("remove"), "removeSelectedSkill");
418
419 foreach ($_POST["id"] as $i) {
420 $s = explode(":", $i);
421 $cgui->addItem("id[]", $i, ilBasicSkill::_lookupTitle((int) $s[0], (int) $s[1]));
422 }
423
424 $tpl->setContent($cgui->getHTML());
425 }
426 }
$_POST["username"]
Confirmation screen class.
static _lookupTitle($a_obj_id, $a_tref_id=0)
Lookup Title.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
$i
Definition: disco.tpl.php:19
$s
Definition: pwgen.php:45

References $_POST, $ctrl, $i, $lng, $s, $tpl, ilSkillTreeNode\_lookupTitle(), and ilUtil\sendInfo().

+ Here is the call graph for this function:

◆ deassignCompetences()

ilContSkillAdminGUI::deassignCompetences ( )

Deassign competences.

Definition at line 321 of file class.ilContSkillAdminGUI.php.

322 {
325
326 foreach ($_POST["usr_id"] as $user_id) {
327 include_once("./Services/Container/Skills/classes/class.ilContainerMemberSkills.php");
328 $mem_skills = new ilContainerMemberSkills($this->container_skills->getId(), $user_id);
329 $mem_skills->removeAllSkillLevels($this->container->getRefId());
330 }
331
332 ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
333 $ctrl->redirect($this, "listMembers");
334 }

References $_POST, $ctrl, and $lng.

◆ deassignCompetencesConfirm()

ilContSkillAdminGUI::deassignCompetencesConfirm ( )

Deassign competences confirmation.

Definition at line 284 of file class.ilContSkillAdminGUI.php.

285 {
290
291 $tabs->activateSubTab("members");
292
293 $user_ids = $_POST["usr_id"];
294 if (!is_array($_POST["usr_id"]) && $_GET["usr_id"] > 0) {
295 $user_ids[] = $_GET["usr_id"];
296 }
297
298 if (!is_array($user_ids) || count($user_ids) == 0) {
299 ilUtil::sendInfo($lng->txt("no_checkbox"), true);
300 $ctrl->redirect($this, "listMembers");
301 } else {
302 include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
303 $cgui = new ilConfirmationGUI();
304 $cgui->setFormAction($ctrl->getFormAction($this));
305 $cgui->setHeaderText($lng->txt("cont_really_deassign_skills"));
306 $cgui->setCancel($lng->txt("cancel"), "listMembers");
307 $cgui->setConfirm($lng->txt("cont_deassign_competence"), "deassignCompetences");
308
309 foreach ($user_ids as $i) {
310 $name = ilUserUtil::getNamePresentation($i, false, false, "", true);
311 $cgui->addItem("usr_id[]", $i, $name);
312 }
313
314 $tpl->setContent($cgui->getHTML());
315 }
316 }
static getNamePresentation( $a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:

References $_GET, $_POST, $ctrl, $i, $lng, $name, $tabs, $tpl, ilUserUtil\getNamePresentation(), and ilUtil\sendInfo().

+ Here is the call graph for this function:

◆ executeCommand()

ilContSkillAdminGUI::executeCommand ( )

Execute command.

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

91 {
92 $next_class = $this->ctrl->getNextClass($this);
93 $cmd = $this->ctrl->getCmd("listMembers");
94
95 switch ($next_class) {
96 default:
97 if (
98 ($this->access->checkAccess("write", "", $this->ref_id) &&
99 in_array($cmd, array("listCompetences", "settings", "saveSettings", "selectSkill",
100 "saveSelectedSkill", "confirmRemoveSelectedSkill", "removeSelectedSkill")))
101 ||
102 ($this->access->checkAccess("grade", "", $this->ref_id) &&
103 in_array($cmd, array("listMembers", "assignCompetences",
104 "saveCompetenceAssignment", "publishAssignments", "deassignCompetencesConfirm", "deassignCompetences")))
105 ) {
106 $this->$cmd();
107 }
108 }
109 }

◆ getPathString()

ilContSkillAdminGUI::getPathString (   $a_skill_id,
  $a_tref_id = 0 
)

Get path string.

Returns
string path string

Definition at line 198 of file class.ilContSkillAdminGUI.php.

199 {
200 $skill_tree = $this->skill_tree;
201
202 $path = $skill_tree->getSkillTreePath($a_skill_id, $a_tref_id);
203 $titles = array();
204 foreach ($path as $v) {
205 if ($v["type"] != "skrt" && !($v["skill_id"] == $a_skill_id && $v["tref_id"] == $a_tref_id)) {
206 $titles[] = $v["title"];
207 }
208 }
209
210 return implode(" > ", $titles);
211 }
$path
Definition: aliased.php:25

References $path.

Referenced by initCompetenceAssignmentForm().

+ Here is the caller graph for this function:

◆ initCompetenceAssignmentForm()

ilContSkillAdminGUI::initCompetenceAssignmentForm ( )

Init competence assignment form.

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

150 {
151 include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
152 $form = new ilPropertyFormGUI();
153
154 include_once("./Services/Container/Skills/classes/class.ilContainerMemberSkills.php");
155 $mem_skills = new ilContainerMemberSkills($this->container_skills->getId(), $this->user_id);
156 $mem_levels = $mem_skills->getSkillLevels();
157
158 // user name
159 $name = ilObjUser::_lookupName($this->user_id);
160 $ne = new ilNonEditableValueGUI($this->lng->txt("obj_user"), "");
161 $ne->setValue($name["lastname"] . ", " . $name["firstname"] . " [" . $name["login"] . "]");
162 $form->addItem($ne);
163
164 foreach ($this->container_skills->getOrderedSkills() as $sk) {
165 $skill = new ilBasicSkill($sk["skill_id"]);
166
167 // skill level options
168 $options = array(
169 "-1" => $this->lng->txt("cont_skill_do_not_set"),
170 );
171 foreach ($skill->getLevelData() as $l) {
172 $options[$l["id"]] = $l["title"];
173 }
174 $si = new ilSelectInputGUI(ilBasicSkill::_lookupTitle($sk["skill_id"], $sk["tref_id"]), "skill_" . $sk["skill_id"] . "_" . $sk["tref_id"]);
175 $si->setOptions($options);
176 $si->setInfo($this->getPathString($sk["skill_id"], $sk["tref_id"]));
177 if (isset($mem_levels[$sk["skill_id"] . ":" . $sk["tref_id"]])) {
178 $si->setValue($mem_levels[$sk["skill_id"] . ":" . $sk["tref_id"]]);
179 }
180 $form->addItem($si);
181 }
182
183 // save and cancel commands
184 $form->addCommandButton("saveCompetenceAssignment", $this->lng->txt("save"));
185 $form->addCommandButton("listMembers", $this->lng->txt("cancel"));
186
187 $form->setTitle($this->lng->txt("cont_assign_skills"));
188 $form->setFormAction($this->ctrl->getFormAction($this));
189
190 return $form;
191 }
global $l
Definition: afr.php:30
getPathString($a_skill_id, $a_tref_id=0)
Get path string.
This class represents a non editable value in a property form.
static _lookupName($a_user_id)
lookup user name
This class represents a property form user interface.
This class represents a selection list property in a property form.

References $form, $l, $name, PHPMailer\PHPMailer\$options, $si, ilObjUser\_lookupName(), ilSkillTreeNode\_lookupTitle(), and getPathString().

Referenced by assignCompetences(), and saveCompetenceAssignment().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initSettingsForm()

ilContSkillAdminGUI::initSettingsForm ( )

Init settings form.

Definition at line 469 of file class.ilContSkillAdminGUI.php.

470 {
473
474 include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
475 $form = new ilPropertyFormGUI();
476
477 // publish
478 $radg = new ilRadioGroupInputGUI($lng->txt("cont_skill_publish"), "cont_skill_publish");
479 $op1 = new ilRadioOption($lng->txt("cont_skill_publish_auto"), 0, $lng->txt("cont_skill_publish_auto_info"));
480 $radg->addOption($op1);
481 $op2 = new ilRadioOption($lng->txt("cont_skill_publish_manual"), 1, $lng->txt("cont_skill_publish_manual_info"));
482 $radg->addOption($op2);
483 $form->addItem($radg);
484 $radg->setValue(ilContainer::_lookupContainerSetting($this->container->getId(), "cont_skill_publish", 0));
485
486 $form->addCommandButton("saveSettings", $lng->txt("save"));
487
488 $form->setTitle($lng->txt("settings"));
489 $form->setFormAction($ctrl->getFormAction($this));
490
491 return $form;
492 }
static _lookupContainerSetting($a_id, $a_keyword, $a_default_value=null)
Lookup a container setting.
This class represents a property in a property form.
This class represents an option in a radio group.

References $ctrl, $form, $lng, and ilContainer\_lookupContainerSetting().

Referenced by saveSettings(), and settings().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ listCompetences()

ilContSkillAdminGUI::listCompetences ( )

Select competences.

Definition at line 342 of file class.ilContSkillAdminGUI.php.

343 {
349
350 $tabs->activateSubTab("competences");
351
352 $toolbar->addButton(
353 $lng->txt("cont_add_skill"),
354 $ctrl->getLinkTarget($this, "selectSkill")
355 );
356
357 // table
358 include_once("./Services/Container/Skills/classes/class.ilContSkillTableGUI.php");
359 $tab = new ilContSkillTableGUI($this, "listCompetences", $this->container_skills);
360
361 $tpl->setContent($tab->getHTML());
362 }
TableGUI class for competences in containers.

References $ctrl, $lng, $tab, $tabs, $toolbar, and $tpl.

◆ listMembers()

ilContSkillAdminGUI::listMembers ( )

List members.

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

117 {
120
121 $tabs->activateSubTab("members");
122
123 // table
124 include_once("./Services/Container/Skills/classes/class.ilContSkillMemberTableGUI.php");
125 $tab = new ilContSkillMemberTableGUI($this, "listMembers", $this->container_skills);
126
127 $tpl->setContent($tab->getHTML());
128 }
TableGUI class for container members / skill assignments.

References $tab, $tabs, and $tpl.

◆ publishAssignments()

ilContSkillAdminGUI::publishAssignments ( )

Publish assignments.

Definition at line 249 of file class.ilContSkillAdminGUI.php.

250 {
253
254 $user_ids = $_POST["usr_id"];
255 if (!is_array($_POST["usr_id"]) && $_GET["usr_id"] > 0) {
256 $user_ids[] = $_GET["usr_id"];
257 }
258
259 include_once("./Services/Container/Skills/classes/class.ilContainerMemberSkills.php");
260 $not_changed = array();
261 foreach ($user_ids as $user_id) {
262 $mem_skills = new ilContainerMemberSkills($this->container_skills->getId(), $user_id);
263 if (!$mem_skills->publish($this->container->getRefId())) {
264 $not_changed[] = $user_id;
265 }
266 }
267
268 if (count($not_changed) == 0) {
269 ilUtil::sendSuccess($lng->txt("cont_skll_published"), true);
270 } else {
271 $names = array_map(function ($id) {
272 return ilUserUtil::getNamePresentation($id, false, false, "", true);
273 }, $not_changed);
274 ilUtil::sendInfo($lng->txt("cont_skll_published_some_not") . " (" . implode("; ", $names) . ")", true);
275 }
276
277
278 $ctrl->redirect($this, "listMembers");
279 }
if(!array_key_exists('StateId', $_REQUEST)) $id

References $_GET, $_POST, $ctrl, $id, $lng, ilUserUtil\getNamePresentation(), and ilUtil\sendInfo().

+ Here is the call graph for this function:

◆ removeSelectedSkill()

ilContSkillAdminGUI::removeSelectedSkill ( )

Remove skill from course selection.

Definition at line 431 of file class.ilContSkillAdminGUI.php.

432 {
435
436 if (is_array($_POST["id"]) && count($_POST["id"]) > 0) {
437 foreach ($_POST["id"] as $id) {
438 $s = explode(":", $id);
439 $this->container_skills->removeSkill($s[0], $s[1]);
440 }
441 $this->container_skills->save();
442 }
443 ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
444
445 $ctrl->redirect($this, "listCompetences");
446 }

References $_POST, $ctrl, $id, $lng, and $s.

◆ saveCompetenceAssignment()

ilContSkillAdminGUI::saveCompetenceAssignment ( )

Save competence assignment.

Parameters

Definition at line 218 of file class.ilContSkillAdminGUI.php.

219 {
222
224 $form->checkInput();
225
226 $levels = array();
227 foreach ($this->container_skills->getSkills() as $sk) {
228 $l = $form->getInput("skill_" . $sk["skill_id"] . "_" . $sk["tref_id"]);
229 if ($l != -1) {
230 $levels[$sk["skill_id"] . ":" . $sk["tref_id"]] = $l;
231 }
232 }
233
234 include_once("./Services/Container/Skills/classes/class.ilContainerMemberSkills.php");
235 $mem_skills = new ilContainerMemberSkills($this->container_skills->getId(), $this->user_id);
236 $mem_skills->saveLevelForSkills($levels);
237
238 if (!ilContainer::_lookupContainerSetting($this->container->getId(), "cont_skill_publish", 0)) {
239 $mem_skills->publish($this->container->getRefId());
240 }
241
242 ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
243 $ctrl->redirect($this, "listMembers");
244 }

References $ctrl, $form, $l, $lng, ilContainer\_lookupContainerSetting(), and initCompetenceAssignmentForm().

+ Here is the call graph for this function:

◆ saveSelectedSkill()

ilContSkillAdminGUI::saveSelectedSkill ( )

Save selected skill.

Definition at line 384 of file class.ilContSkillAdminGUI.php.

385 {
388
389 $s = explode(":", ($_GET["selected_skill"]));
390
391 $this->container_skills->addSkill((int) $s[0], (int) $s[1]);
392 $this->container_skills->save();
393
394 ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
395
396 $ctrl->redirect($this, "listCompetences");
397 }

References $_GET, $ctrl, $lng, and $s.

◆ saveSettings()

ilContSkillAdminGUI::saveSettings ( )

Save settings.

Definition at line 497 of file class.ilContSkillAdminGUI.php.

498 {
501
502 $form = $this->initSettingsForm();
503 $form->checkInput();
504 ilContainer::_writeContainerSetting($this->container->getId(), "cont_skill_publish", $form->getInput("cont_skill_publish"));
505
506 ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
507
508 $ctrl->redirect($this, "settings");
509 }
initSettingsForm()
Init settings form.
static _writeContainerSetting($a_id, $a_keyword, $a_value)

References $ctrl, $form, $lng, ilContainer\_writeContainerSetting(), and initSettingsForm().

+ Here is the call graph for this function:

◆ selectSkill()

ilContSkillAdminGUI::selectSkill ( )

Select skill for container.

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

368 {
371
372 $tabs->activateSubTab("competences");
373
374 include_once("./Services/Skill/classes/class.ilSkillSelectorGUI.php");
375 $sel = new ilSkillSelectorGUI($this, "selectSkill", $this, "saveSelectedSkill");
376 if (!$sel->handleCommand()) {
377 $tpl->setContent($sel->getHTML());
378 }
379 }
Explorer class that works on tree objects (Services/Tree)

References $tabs, and $tpl.

◆ settings()

ilContSkillAdminGUI::settings ( )

Settings.

Definition at line 454 of file class.ilContSkillAdminGUI.php.

455 {
458
459 $tabs->activateSubTab("settings");
460
461 $form = $this->initSettingsForm();
462
463 $tpl->setContent($form->getHTML());
464 }

References $form, $tabs, $tpl, and initSettingsForm().

+ Here is the call graph for this function:

Field Documentation

◆ $access

ilContSkillAdminGUI::$access
protected

Definition at line 56 of file class.ilContSkillAdminGUI.php.

◆ $container

ilContSkillAdminGUI::$container
protected

Definition at line 41 of file class.ilContSkillAdminGUI.php.

◆ $container_gui

ilContSkillAdminGUI::$container_gui
protected

Definition at line 36 of file class.ilContSkillAdminGUI.php.

◆ $container_skills

ilContSkillAdminGUI::$container_skills
protected

Definition at line 46 of file class.ilContSkillAdminGUI.php.

◆ $ctrl

◆ $lng

◆ $tabs

ilContSkillAdminGUI::$tabs
protected

◆ $toolbar

ilContSkillAdminGUI::$toolbar
protected

Definition at line 51 of file class.ilContSkillAdminGUI.php.

Referenced by listCompetences().

◆ $tpl


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