private function evaluateSkillPointAccounts($userId) { foreach ($this->skillPointAccounts as $skillKey => $skillPoints) { list($skillBaseId, $skillTrefId) = explode(':', $skillKey); $skill = new ilBasicSkill($skillBaseId); $levels = $skill->getLevelData(); $reachedLevelId = null; foreach ($levels as $level) { $threshold = $this->skillLevelThresholdList->getThreshold($skillBaseId, $skillTrefId, $level['id']); if (!$threshold instanceof ilTestSkillLevelThreshold || !$threshold->getThreshold()) { continue; } $reachedLevelId = $level['id']; if ($skillPoints <= $threshold->getThreshold()) { break; } } if ($reachedLevelId) { $this->reachedSkillLevels[] = array('usrId' => $userId, 'sklBaseId' => $skillBaseId, 'sklTrefId' => $skillTrefId, 'sklLevelId' => $reachedLevelId); } } }