19 declare(strict_types=1);
103 public function import():
void 109 $skill = $skillData[
'skill'];
112 'components/ILIAS/Test',
113 'skl_base_id_reverse',
114 (
string) $skillData[
'skill_base_id']
118 'components/ILIAS/Test',
119 'skl_tref_id_reverse',
120 (
string) $skillData[
'skill_tref_id']
128 $existingLevels = $skill->getLevelData();
130 if (count($levelThresholds) != count($existingLevels)) {
132 (
int) $skillData[
'skill_base_id'],
133 (
int) $skillData[
'skill_tref_id']
139 for ($i = 0, $max = count($existingLevels); $i < $max; $i++) {
140 $existingLevelData = $existingLevels[$i];
143 $importLevelThreshold = $levelThresholds[$i];
145 if ($importLevelThreshold->getOrderIndex() != $existingLevelData[
'nr']) {
147 (
int) $skillData[
'skill_base_id'],
148 (
int) $skillData[
'skill_tref_id']
154 if (!is_numeric($importLevelThreshold->getThreshold())) {
158 $mappedLevelId = $this->
getLevelIdMapping($importLevelThreshold->getImportLevelId());
162 $threshold->setSkillBaseId($skillData[
'skill_base_id']);
163 $threshold->setSkillTrefId($skillData[
'skill_tref_id']);
164 $threshold->setSkillLevelId($mappedLevelId);
165 $threshold->setThreshold($importLevelThreshold->getThreshold());
167 $importedLevelThresholdList->addThreshold($threshold);
171 $importedLevelThresholdList->saveToDb();
177 $mostNewLevelData = current($result);
178 return $mostNewLevelData[
'level_id'];
getLevelIdMapping(int $importLevelId)
setImportedQuestionSkillAssignmentList(ilAssQuestionSkillAssignmentList $importedQuestionSkillAssignmentList)
getImportedQuestionSkillAssignmentList()
setImportInstallationId(int $importInstallationId)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
ilImportMapping $importMappingRegistry
setImportThresholdList(?ilTestSkillLevelThresholdImportList $importThresholdList)
ilTestSkillLevelThresholdImportList $importThresholdList
getFailedThresholdImportSkillList()
int $importInstallationId
setFailedThresholdImportSkillList(ilAssQuestionAssignedSkillList $failedThresholdImportSkillList)
__construct(private ilDBInterface $db)
setTargetTestId(int $targetTestId)
getImportMappingRegistry()
setImportMappingRegistry(ilImportMapping $importMappingRegistry)
static getLevelIdForImportId(int $a_source_inst_id, int $a_level_import_id)
ilAssQuestionAssignedSkillList $failedThresholdImportSkillList
getImportInstallationId()
ilAssQuestionSkillAssignmentList $importedQuestionSkillAssignmentList