3 declare(strict_types=1);
41 $this->level_repo = ($a_level_repo) ?: $DIC->skills()->internal()->repo()->getLevelRepo();
42 $this->user_level_repo = ($a_user_level_repo) ?: $DIC->skills()->internal()->repo()->getUserLevelRepo();
49 int $a_trigger_ref_id,
52 string $a_unique_identifier,
53 float $a_next_level_fulfilment
55 $skill_id = $this->level_repo->lookupLevelSkillId($a_level_id);
56 $trigger_ref_id = $a_trigger_ref_id;
57 $trigger_obj_id = $this->obj_adapter->getObjIdForRefId($trigger_ref_id);
58 $trigger_title = $this->obj_adapter->getTitleForObjId($trigger_obj_id);
59 $trigger_type = $this->obj_adapter->getTypeForObjId($trigger_obj_id);
62 if (!($a_next_level_fulfilment >= 0) || !($a_next_level_fulfilment < 1)) {
63 throw new \UnexpectedValueException(
64 "Next level fulfilment must be equal to or greater than 0 and less than 1, '" .
65 $a_next_level_fulfilment .
"' given." 73 if ($a_self_eval && $this->user_level_repo->hasRecentSelfEvaluation(
80 $status_date = $this->user_level_repo->hasRecentSelfEvaluation(
87 if ($status_date !=
"") {
92 $this->user_level_repo->writeUserSkillLevelStatus(
104 $a_unique_identifier,
105 $a_next_level_fulfilment
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Skill user level manager.
__construct(\ilSkillLevelRepository $a_level_repo=null, \ilSkillUserLevelRepository $a_user_level_repo=null, \ilSkillObjectAdapterInterface $a_obj_adapter=null)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
ilSkillObjectAdapterInterface $obj_adapter
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
writeSkillLevel(int $user_id, int $a_level_id, int $a_trigger_ref_id, int $a_tref_id, bool $a_self_eval, string $a_unique_identifier, float $a_next_level_fulfilment)
ilSkillLevelRepository $level_repo
ilSkillUserLevelRepository $user_level_repo
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...