ILIAS  release_7 Revision v7.30-3-g800a261c036
ILIAS\Skill\Service\SkillUserLevelManager Class Reference

Skill user level manager. More...

+ Collaboration diagram for ILIAS\Skill\Service\SkillUserLevelManager:

Public Member Functions

 __construct (\ilBasicSkillLevelRepository $a_level_repo=null, \ilBasicSkillUserLevelRepository $a_user_level_repo=null, \ilSkillObjectAdapterInterface $a_obj_adapter=null)
 Constructor. More...
 
 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)
 

Protected Attributes

 $level_repo
 
 $user_level_repo
 
 $obj_adapter
 

Detailed Description

Skill user level manager.

Author
famul.nosp@m.a@le.nosp@m.ifos..nosp@m.de

Definition at line 11 of file SkillUserLevelManager.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Skill\Service\SkillUserLevelManager::__construct ( \ilBasicSkillLevelRepository  $a_level_repo = null,
\ilBasicSkillUserLevelRepository  $a_user_level_repo = null,
\ilSkillObjectAdapterInterface  $a_obj_adapter = null 
)

Constructor.

Parameters
\ilBasicSkillLevelRepository | null$a_level_repo
\ilBasicSkillUserLevelRepository | null$a_user_level_repo
\ilSkillObjectAdapterInterface | null$a_obj_adapter

Definition at line 34 of file SkillUserLevelManager.php.

References $DIC.

38  {
39  global $DIC;
40 
41  $this->level_repo = ($a_level_repo)
42  ? $a_level_repo
43  : $DIC->skills()->internal()->repo()->getLevelRepo();
44  $this->user_level_repo = ($a_user_level_repo)
45  ? $a_user_level_repo
46  : $DIC->skills()->internal()->repo()->getUserLevelRepo();
47  $this->obj_adapter = ($a_obj_adapter)
48  ? $a_obj_adapter
49  : new \ilSkillObjectAdapter();
50  }
Class ilBasicSkillObjectAdapter.
global $DIC
Definition: goto.php:24

Member Function Documentation

◆ writeSkillLevel()

ILIAS\Skill\Service\SkillUserLevelManager::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 
)
Parameters
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

Definition at line 61 of file SkillUserLevelManager.php.

69  {
70  $skill_id = $this->level_repo->lookupLevelSkillId($a_level_id);
71  $trigger_ref_id = $a_trigger_ref_id;
72  $trigger_obj_id = $this->obj_adapter->getObjIdForRefId($trigger_ref_id);
73  $trigger_title = $this->obj_adapter->getTitleForObjId($trigger_obj_id);
74  $trigger_type = $this->obj_adapter->getTypeForObjId($trigger_obj_id);
75 
76  //next level percentage fulfilment value must be >=0 and <1
77  if (!($a_next_level_fulfilment >= 0) || !($a_next_level_fulfilment < 1)) {
78  throw new \UnexpectedValueException(
79  "Next level fulfilment must be equal to or greater than 0 and less than 1, '" .
80  $a_next_level_fulfilment . "' given."
81  );
82  }
83 
84  $update = false;
85 
86  // self evaluations will update, if the last self evaluation is on the same day
87  if ($a_self_eval && $this->user_level_repo->hasRecentSelfEvaluation($trigger_obj_id, $user_id, $skill_id,
88  $a_tref_id, $trigger_ref_id)) {
89  $status_date = $this->user_level_repo->hasRecentSelfEvaluation($trigger_obj_id, $user_id, $skill_id,
90  $a_tref_id, $trigger_ref_id);
91  if ($status_date != "") {
92  $update = true;
93  }
94  }
95 
96  $this->user_level_repo->writeUserSkillLevelStatus($skill_id, $trigger_ref_id, $trigger_obj_id, $trigger_title,
97  $trigger_type, $update, $status_date, $a_level_id, $user_id, $a_tref_id, $a_self_eval, $a_unique_identifier,
98  $a_next_level_fulfilment);
99  }

Field Documentation

◆ $level_repo

ILIAS\Skill\Service\SkillUserLevelManager::$level_repo
protected

Definition at line 16 of file SkillUserLevelManager.php.

◆ $obj_adapter

ILIAS\Skill\Service\SkillUserLevelManager::$obj_adapter
protected

Definition at line 26 of file SkillUserLevelManager.php.

◆ $user_level_repo

ILIAS\Skill\Service\SkillUserLevelManager::$user_level_repo
protected

Definition at line 21 of file SkillUserLevelManager.php.


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