19 declare(strict_types=1);
40 $this->level_repo = ($a_level_repo) ?: $DIC->skills()->internal()->repo()->getLevelRepo();
41 $this->user_level_repo = ($a_user_level_repo) ?: $DIC->skills()->internal()->repo()->getUserLevelRepo();
48 int $a_trigger_ref_id,
51 string $a_unique_identifier,
52 float $a_next_level_fulfilment
54 $skill_id = $this->level_repo->lookupLevelSkillId($a_level_id);
55 $trigger_ref_id = $a_trigger_ref_id;
56 $trigger_obj_id = $this->obj_adapter->getObjIdForRefId($trigger_ref_id);
57 $trigger_title = $this->obj_adapter->getTitleForObjId($trigger_obj_id);
58 $trigger_type = $this->obj_adapter->getTypeForObjId($trigger_obj_id);
61 if (!($a_next_level_fulfilment >= 0) || !($a_next_level_fulfilment < 1)) {
62 throw new \UnexpectedValueException(
63 "Next level fulfilment must be equal to or greater than 0 and less than 1, '" .
64 $a_next_level_fulfilment .
"' given." 72 if ($a_self_eval && $this->user_level_repo->hasRecentSelfEvaluation(
79 $status_date = $this->user_level_repo->hasRecentSelfEvaluation(
86 if ($status_date !=
"") {
91 $this->user_level_repo->writeUserSkillLevelStatus(
103 $a_unique_identifier,
104 $a_next_level_fulfilment
Interface ilBasicSkillObjectAdapter.
Skill user level manager.
Interface ilSkillLevelRepository.
ilSkillObjectAdapterInterface $obj_adapter
Class ilBasicSkillObjectAdapter.
Interface ilSkillUserLevelRepository.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
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
__construct(?\ilSkillLevelRepository $a_level_repo=null, ?\ilSkillUserLevelRepository $a_user_level_repo=null, ?\ilSkillObjectAdapterInterface $a_obj_adapter=null)