ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
ilTestSkillEvaluation Class Reference
+ Collaboration diagram for ilTestSkillEvaluation:

Public Member Functions

 __construct (private ilDBInterface $db, private TestLogger $logger, int $test_id, private int $refId, private SkillProfileService $skill_profile_service, private SkillPersonalService $skill_personal_service)
 
 getUserId ()
 
 setUserId (int $user_id)
 
 getActiveId ()
 
 setActiveId (int $active_id)
 
 getPass ()
 
 setPass ($pass)
 
 getNumRequiredBookingsForSkillTriggering ()
 
 setNumRequiredBookingsForSkillTriggering (int $num_required_bookings_for_skill_triggering)
 
 init (ilAssQuestionList $question_list)
 
 evaluate (array $test_results)
 
 getReachedSkillLevels ()
 
 handleSkillTriggering ()
 
 getSkillsMatchingNumAnswersBarrier ()
 
 getSkillsInvolvedByAssignment ()
 
 isAssignedSkill ($skill_base_id, $skill_tref_id)
 
 getAssignedSkillMatchingSkillProfiles ()
 
 noProfileMatchingAssignedSkillExists (array $available_skill_profiles)
 

Private Member Functions

 reset ()
 
 initTestQuestionData (ilAssQuestionList $question_list)
 
 initTestResultData (array $test_results)
 
 drawUpSkillPointAccounts ()
 
 isAnsweredQuestion (int $question_id)
 
 determineReachedSkillPointsWithSolutionCompare (ilAssQuestionSolutionComparisonExpressionList $expression_list)
 
 calculateReachedSkillPointsFromTestPoints (int $skill_points, float $max_test_points, float $reached_test_points)
 
 bookToSkillPointAccount (int $skill_base_id, int $skill_tref_id, int $max_skill_points, float $reached_skill_points)
 
 evaluateSkillPointAccounts ()
 
 doesNumBookingsExceedRequiredBookingsBarrier (ilTestSkillPointAccount $skillPointAccount)
 
 invokeSkillLevelTrigger (int $skill_level_id, int $skill_tref_id)
 

Private Attributes

ilAssQuestionSkillAssignmentList $skill_question_assignment_list
 
ilTestSkillLevelThresholdList $skill_level_threshold_list
 
array $questions = []
 
array $max_points_by_question = []
 
array $reached_points_by_question
 
array $skill_point_accounts
 
array $reached_skill_levels
 
int $user_id
 
int $active_id
 
int $pass
 
int $num_required_bookings_for_skill_triggering
 

Detailed Description

Definition at line 33 of file class.ilTestSkillEvaluation.php.

Constructor & Destructor Documentation

◆ __construct()

ilTestSkillEvaluation::__construct ( private ilDBInterface  $db,
private TestLogger  $logger,
int  $test_id,
private int  $refId,
private SkillProfileService  $skill_profile_service,
private SkillPersonalService  $skill_personal_service 
)

Definition at line 48 of file class.ilTestSkillEvaluation.php.

55  {
56  $this->skill_question_assignment_list = new ilAssQuestionSkillAssignmentList($this->db);
57 
58  $this->skill_level_threshold_list = new ilTestSkillLevelThresholdList($this->db);
59  $this->skill_level_threshold_list->setTestId($test_id);
60  }

Member Function Documentation

◆ bookToSkillPointAccount()

ilTestSkillEvaluation::bookToSkillPointAccount ( int  $skill_base_id,
int  $skill_tref_id,
int  $max_skill_points,
float  $reached_skill_points 
)
private

Definition at line 237 of file class.ilTestSkillEvaluation.php.

Referenced by drawUpSkillPointAccounts().

242  : void {
243  $skill_key = $skill_base_id . ':' . $skill_tref_id;
244 
245  if (!isset($this->skill_point_accounts[$skill_key])) {
246  $this->skill_point_accounts[$skill_key] = new ilTestSkillPointAccount();
247  }
248 
249  $this->skill_point_accounts[$skill_key]->addBooking($max_skill_points, $reached_skill_points);
250  }
+ Here is the caller graph for this function:

◆ calculateReachedSkillPointsFromTestPoints()

ilTestSkillEvaluation::calculateReachedSkillPointsFromTestPoints ( int  $skill_points,
float  $max_test_points,
float  $reached_test_points 
)
private

Definition at line 219 of file class.ilTestSkillEvaluation.php.

Referenced by drawUpSkillPointAccounts().

223  : float {
224  if ($reached_test_points < 0) {
225  $reached_test_points = 0;
226  }
227 
228  $factor = 0;
229 
230  if ($max_test_points > 0) {
231  $factor = $reached_test_points / $max_test_points;
232  }
233 
234  return ($skill_points * $factor);
235  }
+ Here is the caller graph for this function:

◆ determineReachedSkillPointsWithSolutionCompare()

ilTestSkillEvaluation::determineReachedSkillPointsWithSolutionCompare ( ilAssQuestionSolutionComparisonExpressionList  $expression_list)
private

Definition at line 195 of file class.ilTestSkillEvaluation.php.

References ilAssQuestionSolutionComparisonExpressionList\get(), getActiveId(), getPass(), and ilAssQuestionSolutionComparisonExpressionList\getQuestionId().

Referenced by drawUpSkillPointAccounts().

197  : ?int {
198  $question_provider = new ilAssLacQuestionProvider();
199  $question_provider->setQuestionId($expression_list->getQuestionId());
200 
201  foreach ($expression_list->get() as $expression) {
202  $condition_composite = (new ilAssLacConditionParser())->parse(
203  $expression->getExpression()
204  );
205 
206  $composite_evaluator = new ilAssLacCompositeEvaluator(
207  $question_provider,
208  $this->getActiveId(),
209  $this->getPass()
210  );
211  if ($composite_evaluator->evaluate($condition_composite)) {
212  return $expression->getPoints();
213  }
214  }
215 
216  return 0;
217  }
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...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ doesNumBookingsExceedRequiredBookingsBarrier()

ilTestSkillEvaluation::doesNumBookingsExceedRequiredBookingsBarrier ( ilTestSkillPointAccount  $skillPointAccount)
private

Definition at line 285 of file class.ilTestSkillEvaluation.php.

References ilTestSkillPointAccount\getNumBookings(), and getNumRequiredBookingsForSkillTriggering().

Referenced by evaluateSkillPointAccounts(), and getSkillsMatchingNumAnswersBarrier().

285  : bool
286  {
287  return $skillPointAccount->getNumBookings() >= $this->getNumRequiredBookingsForSkillTriggering();
288  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ drawUpSkillPointAccounts()

ilTestSkillEvaluation::drawUpSkillPointAccounts ( )
private

Definition at line 156 of file class.ilTestSkillEvaluation.php.

References bookToSkillPointAccount(), calculateReachedSkillPointsFromTestPoints(), determineReachedSkillPointsWithSolutionCompare(), and isAnsweredQuestion().

Referenced by evaluate().

156  : void
157  {
158  foreach ($this->questions as $question_id) {
159  if (!$this->isAnsweredQuestion($question_id)) {
160  continue;
161  }
162 
163  $assignments = $this->skill_question_assignment_list->getAssignmentsByQuestionId($question_id);
164 
165  foreach ($assignments as $assignment) {
166  if ($assignment->hasEvalModeBySolution()) {
167  $reached_skill_points = $this->determineReachedSkillPointsWithSolutionCompare(
168  $assignment->getSolutionComparisonExpressionList()
169  );
170  } else {
171  $max_test_points = $this->max_points_by_question[$question_id];
172  $reached_test_points = $this->reached_points_by_question[$question_id];
173  $reached_skill_points = $this->calculateReachedSkillPointsFromTestPoints(
174  $assignment->getSkillPoints(),
175  $max_test_points,
176  $reached_test_points
177  );
178  }
179 
181  $assignment->getSkillBaseId(),
182  $assignment->getSkillTrefId(),
183  $assignment->getMaxSkillPoints(),
184  $reached_skill_points
185  );
186  }
187  }
188  }
determineReachedSkillPointsWithSolutionCompare(ilAssQuestionSolutionComparisonExpressionList $expression_list)
bookToSkillPointAccount(int $skill_base_id, int $skill_tref_id, int $max_skill_points, float $reached_skill_points)
calculateReachedSkillPointsFromTestPoints(int $skill_points, float $max_test_points, float $reached_test_points)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ evaluate()

ilTestSkillEvaluation::evaluate ( array  $test_results)
Parameters
array$test_resultsAn array containing the test results for a given user

Definition at line 115 of file class.ilTestSkillEvaluation.php.

References drawUpSkillPointAccounts(), evaluateSkillPointAccounts(), initTestResultData(), and reset().

115  : void
116  {
117  $this->reset();
118 
119  $this->initTestResultData($test_results);
120 
121  $this->drawUpSkillPointAccounts();
123  }
initTestResultData(array $test_results)
+ Here is the call graph for this function:

◆ evaluateSkillPointAccounts()

ilTestSkillEvaluation::evaluateSkillPointAccounts ( )
private

Definition at line 252 of file class.ilTestSkillEvaluation.php.

References doesNumBookingsExceedRequiredBookingsBarrier(), and null.

Referenced by evaluate().

252  : void
253  {
254  foreach ($this->skill_point_accounts as $skill_key => $skill_point_account) {
255  if (!$this->doesNumBookingsExceedRequiredBookingsBarrier($skill_point_account)) {
256  continue;
257  }
258 
259  list($skill_base_id, $skill_tref_id) = explode(':', $skill_key);
260 
261  $skill = new ilBasicSkill((int) $skill_base_id);
262  $levels = $skill->getLevelData();
263 
264  $reached_level_id = null;
265  foreach ($levels as $level) {
266  $threshold = $this->skill_level_threshold_list->getThreshold($skill_base_id, $skill_tref_id, $level['id']);
267 
268  if (!($threshold instanceof ilTestSkillLevelThreshold) || $threshold->getThreshold() === null) {
269  continue;
270  }
271 
272  if ($skill_point_account->getTotalReachedSkillPercent() < $threshold->getThreshold()) {
273  break;
274  }
275 
276  $reached_level_id = $level['id'];
277  }
278 
279  $this->reached_skill_levels[] = [
280  'sklBaseId' => $skill_base_id, 'sklTrefId' => $skill_tref_id, 'sklLevelId' => $reached_level_id
281  ];
282  }
283  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
doesNumBookingsExceedRequiredBookingsBarrier(ilTestSkillPointAccount $skillPointAccount)
Basic Skill.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getActiveId()

ilTestSkillEvaluation::getActiveId ( )

Definition at line 72 of file class.ilTestSkillEvaluation.php.

References $active_id.

Referenced by determineReachedSkillPointsWithSolutionCompare().

72  : int
73  {
74  return $this->active_id;
75  }
+ Here is the caller graph for this function:

◆ getAssignedSkillMatchingSkillProfiles()

ilTestSkillEvaluation::getAssignedSkillMatchingSkillProfiles ( )

Definition at line 362 of file class.ilTestSkillEvaluation.php.

References getUserId().

362  : array
363  {
364  $matching_skill_profiles = [];
365  $users_profiles = $this->skill_profile_service->getProfilesOfUser($this->getUserId());
366  foreach ($users_profiles as $profile_data) {
367  $assigned_skill_levels = $this->skill_profile_service->getSkillLevels($profile_data->getId());
368 
369  foreach ($assigned_skill_levels as $assigned_skill_level) {
370  $skill_base_id = $assigned_skill_level->getBaseSkillId();
371  $skill_tref_id = $assigned_skill_level->getTrefId();
372 
373  if ($this->skill_question_assignment_list->isAssignedSkill($skill_base_id, $skill_tref_id)) {
374  $matching_skill_profiles[$profile_data->getId()] = $profile_data->getTitle();
375  }
376  }
377  }
378 
379  return $matching_skill_profiles;
380  }
+ Here is the call graph for this function:

◆ getNumRequiredBookingsForSkillTriggering()

ilTestSkillEvaluation::getNumRequiredBookingsForSkillTriggering ( )

Definition at line 92 of file class.ilTestSkillEvaluation.php.

References $num_required_bookings_for_skill_triggering.

Referenced by doesNumBookingsExceedRequiredBookingsBarrier().

92  : int
93  {
95  }
+ Here is the caller graph for this function:

◆ getPass()

ilTestSkillEvaluation::getPass ( )

Definition at line 82 of file class.ilTestSkillEvaluation.php.

References $pass.

Referenced by determineReachedSkillPointsWithSolutionCompare(), and invokeSkillLevelTrigger().

82  : int
83  {
84  return $this->pass;
85  }
+ Here is the caller graph for this function:

◆ getReachedSkillLevels()

ilTestSkillEvaluation::getReachedSkillLevels ( )

Definition at line 125 of file class.ilTestSkillEvaluation.php.

References $reached_skill_levels.

Referenced by handleSkillTriggering().

125  : array
126  {
128  }
+ Here is the caller graph for this function:

◆ getSkillsInvolvedByAssignment()

ilTestSkillEvaluation::getSkillsInvolvedByAssignment ( )

Definition at line 341 of file class.ilTestSkillEvaluation.php.

References ILIAS\Repository\int().

341  : array
342  {
343  $unique_skills = [];
344 
345  foreach ($this->skill_question_assignment_list->getUniqueAssignedSkills() as $skill) {
346  $skillKey = $skill['skill_base_id'] . ':' . $skill['skill_tref_id'];
347 
348  $unique_skills[$skillKey] = [
349  'base_skill_id' => (int) $skill['skill_base_id'],
350  'tref_id' => (int) $skill['skill_tref_id']
351  ];
352  }
353 
354  return $unique_skills;
355  }
+ Here is the call graph for this function:

◆ getSkillsMatchingNumAnswersBarrier()

ilTestSkillEvaluation::getSkillsMatchingNumAnswersBarrier ( )

Definition at line 323 of file class.ilTestSkillEvaluation.php.

References doesNumBookingsExceedRequiredBookingsBarrier(), and ILIAS\Repository\int().

323  : array
324  {
325  $skills_matching_num_answers_barrier = [];
326 
327  foreach ($this->skill_point_accounts as $skillKey => $skillPointAccount) {
328  if ($this->doesNumBookingsExceedRequiredBookingsBarrier($skillPointAccount)) {
329  list($skillBaseId, $skillTrefId) = explode(':', $skillKey);
330 
331  $skills_matching_num_answers_barrier[$skillKey] = [
332  'base_skill_id' => (int) $skillBaseId,
333  'tref_id' => (int) $skillTrefId
334  ];
335  }
336  }
337 
338  return $skills_matching_num_answers_barrier;
339  }
doesNumBookingsExceedRequiredBookingsBarrier(ilTestSkillPointAccount $skillPointAccount)
+ Here is the call graph for this function:

◆ getUserId()

ilTestSkillEvaluation::getUserId ( )

Definition at line 62 of file class.ilTestSkillEvaluation.php.

References $user_id.

Referenced by getAssignedSkillMatchingSkillProfiles(), handleSkillTriggering(), and invokeSkillLevelTrigger().

62  : int
63  {
64  return $this->user_id;
65  }
+ Here is the caller graph for this function:

◆ handleSkillTriggering()

ilTestSkillEvaluation::handleSkillTriggering ( )

Definition at line 290 of file class.ilTestSkillEvaluation.php.

References getReachedSkillLevels(), getUserId(), and invokeSkillLevelTrigger().

290  : void
291  {
292  foreach ($this->getReachedSkillLevels() as $reached_skill_level) {
293  $this->invokeSkillLevelTrigger((int) $reached_skill_level['sklLevelId'], (int) $reached_skill_level['sklTrefId']);
294 
295  if ($reached_skill_level['sklTrefId'] > 0) {
296  $this->skill_personal_service->addPersonalSkill($this->getUserId(), (int) $reached_skill_level['sklTrefId']);
297  } else {
298  $this->skill_personal_service->addPersonalSkill($this->getUserId(), (int) $reached_skill_level['sklBaseId']);
299  }
300  }
301  //write profile completion entries if fulfilment status has changed
302  $this->skill_profile_service->writeCompletionEntryForAllProfiles($this->getUserId());
303  }
invokeSkillLevelTrigger(int $skill_level_id, int $skill_tref_id)
+ Here is the call graph for this function:

◆ init()

ilTestSkillEvaluation::init ( ilAssQuestionList  $question_list)

Definition at line 102 of file class.ilTestSkillEvaluation.php.

References ilAssQuestionList\getParentObjId(), and initTestQuestionData().

102  : void
103  {
104  $this->skill_question_assignment_list->setParentObjId($question_list->getParentObjId());
105  $this->skill_question_assignment_list->loadFromDb();
106 
107  $this->skill_level_threshold_list->loadFromDb();
108 
109  $this->initTestQuestionData($question_list);
110  }
initTestQuestionData(ilAssQuestionList $question_list)
+ Here is the call graph for this function:

◆ initTestQuestionData()

ilTestSkillEvaluation::initTestQuestionData ( ilAssQuestionList  $question_list)
private

Definition at line 137 of file class.ilTestSkillEvaluation.php.

References ilAssQuestionList\getQuestionDataArray().

Referenced by init().

137  : void
138  {
139  foreach ($question_list->getQuestionDataArray() as $question_data) {
140  $this->questions[] = $question_data['question_id'];
141  $this->max_points_by_question[ $question_data['question_id'] ] = $question_data['points'];
142  }
143  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initTestResultData()

ilTestSkillEvaluation::initTestResultData ( array  $test_results)
private

Definition at line 145 of file class.ilTestSkillEvaluation.php.

Referenced by evaluate().

145  : void
146  {
147  foreach ($test_results as $key => $result) {
148  if ($key === 'pass' || $key === 'test') { // note: key int 0 IS == 'pass' or 'buxtehude'
149  continue;
150  }
151 
152  $this->reached_points_by_question[ $result['qid'] ] = $result['reached'];
153  }
154  }
+ Here is the caller graph for this function:

◆ invokeSkillLevelTrigger()

ilTestSkillEvaluation::invokeSkillLevelTrigger ( int  $skill_level_id,
int  $skill_tref_id 
)
private

Definition at line 305 of file class.ilTestSkillEvaluation.php.

References ilBasicSkill\ACHIEVED, getPass(), getUserId(), ILIAS\Repository\logger(), and ilBasicSkill\writeUserSkillLevelStatus().

Referenced by handleSkillTriggering().

305  : void
306  {
308  $skill_level_id,
309  $this->getUserId(),
310  $this->refId,
311  $skill_tref_id,
313  true,
314  false,
315  (string) $this->getPass()
316  );
317 
318  $this->logger->info(
319  "refId={$this->refId} / usrId={$this->getUserId()} / levelId={$skill_level_id} / trefId={$skill_tref_id}"
320  );
321  }
static writeUserSkillLevelStatus(int $a_level_id, int $a_user_id, int $a_trigger_ref_id, int $a_tref_id=0, int $a_status=ilBasicSkill::ACHIEVED, bool $a_force=false, bool $a_self_eval=false, string $a_unique_identifier="", float $a_next_level_fulfilment=0.0, string $trigger_user_id="")
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isAnsweredQuestion()

ilTestSkillEvaluation::isAnsweredQuestion ( int  $question_id)
private

Definition at line 190 of file class.ilTestSkillEvaluation.php.

Referenced by drawUpSkillPointAccounts().

190  : bool
191  {
192  return isset($this->reached_points_by_question[$question_id]);
193  }
+ Here is the caller graph for this function:

◆ isAssignedSkill()

ilTestSkillEvaluation::isAssignedSkill (   $skill_base_id,
  $skill_tref_id 
)

Definition at line 357 of file class.ilTestSkillEvaluation.php.

357  : void
358  {
359  $this->skill_question_assignment_list->isAssignedSkill($skill_base_id, $skill_tref_id);
360  }

◆ noProfileMatchingAssignedSkillExists()

ilTestSkillEvaluation::noProfileMatchingAssignedSkillExists ( array  $available_skill_profiles)

Definition at line 382 of file class.ilTestSkillEvaluation.php.

382  : bool
383  {
384  $no_profile_matching_skills = $this->skill_question_assignment_list->getUniqueAssignedSkills();
385 
386  foreach (array_keys($available_skill_profiles) as $skill_profile_id) {
387  $assigned_skill_levels = $this->skill_profile_service->getSkillLevels(
388  $this->skill_profile_service->getProfile($skill_profile_id)->getId()
389  );
390 
391  foreach ($assigned_skill_levels as $assigned_skill_level) {
392  $skill_base_id = $assigned_skill_level->getBaseSkillId();
393  $skill_tref_id = $assigned_skill_level->getTrefId();
394 
395  if ($this->skill_question_assignment_list->isAssignedSkill($skill_base_id, $skill_tref_id)) {
396  unset($no_profile_matching_skills["{$skill_base_id}:{$skill_tref_id}"]);
397  }
398  }
399  }
400 
401  return $no_profile_matching_skills !== [];
402  }

◆ reset()

ilTestSkillEvaluation::reset ( )
private

Definition at line 130 of file class.ilTestSkillEvaluation.php.

Referenced by evaluate().

130  : void
131  {
132  $this->reached_points_by_question = [];
133  $this->skill_point_accounts = [];
134  $this->reached_skill_levels = [];
135  }
+ Here is the caller graph for this function:

◆ setActiveId()

ilTestSkillEvaluation::setActiveId ( int  $active_id)

Definition at line 77 of file class.ilTestSkillEvaluation.php.

References $active_id.

77  : void
78  {
79  $this->active_id = $active_id;
80  }

◆ setNumRequiredBookingsForSkillTriggering()

ilTestSkillEvaluation::setNumRequiredBookingsForSkillTriggering ( int  $num_required_bookings_for_skill_triggering)

Definition at line 97 of file class.ilTestSkillEvaluation.php.

References $num_required_bookings_for_skill_triggering.

97  : void
98  {
99  $this->num_required_bookings_for_skill_triggering = $num_required_bookings_for_skill_triggering;
100  }

◆ setPass()

ilTestSkillEvaluation::setPass (   $pass)

Definition at line 87 of file class.ilTestSkillEvaluation.php.

References $pass.

87  : void
88  {
89  $this->pass = $pass;
90  }

◆ setUserId()

ilTestSkillEvaluation::setUserId ( int  $user_id)

Definition at line 67 of file class.ilTestSkillEvaluation.php.

References $user_id.

Referenced by ilTestPlayerAbstractGUI\handleSkillTriggering(), and ilTestSkillEvaluationGUI\init().

67  : void
68  {
69  $this->user_id = $user_id;
70  }
+ Here is the caller graph for this function:

Field Documentation

◆ $active_id

int ilTestSkillEvaluation::$active_id
private

Definition at line 43 of file class.ilTestSkillEvaluation.php.

Referenced by getActiveId(), and setActiveId().

◆ $max_points_by_question

array ilTestSkillEvaluation::$max_points_by_question = []
private

Definition at line 38 of file class.ilTestSkillEvaluation.php.

◆ $num_required_bookings_for_skill_triggering

int ilTestSkillEvaluation::$num_required_bookings_for_skill_triggering
private

◆ $pass

int ilTestSkillEvaluation::$pass
private

Definition at line 44 of file class.ilTestSkillEvaluation.php.

Referenced by getPass(), and setPass().

◆ $questions

array ilTestSkillEvaluation::$questions = []
private

Definition at line 37 of file class.ilTestSkillEvaluation.php.

◆ $reached_points_by_question

array ilTestSkillEvaluation::$reached_points_by_question
private

Definition at line 39 of file class.ilTestSkillEvaluation.php.

◆ $reached_skill_levels

array ilTestSkillEvaluation::$reached_skill_levels
private

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

Referenced by getReachedSkillLevels().

◆ $skill_level_threshold_list

ilTestSkillLevelThresholdList ilTestSkillEvaluation::$skill_level_threshold_list
private

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

◆ $skill_point_accounts

array ilTestSkillEvaluation::$skill_point_accounts
private

Definition at line 40 of file class.ilTestSkillEvaluation.php.

◆ $skill_question_assignment_list

ilAssQuestionSkillAssignmentList ilTestSkillEvaluation::$skill_question_assignment_list
private

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

◆ $user_id

int ilTestSkillEvaluation::$user_id
private

Definition at line 42 of file class.ilTestSkillEvaluation.php.

Referenced by getUserId(), and setUserId().


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