19declare(strict_types=1);
100 public function import():
void
106 $skill = $skillData[
'skill'];
109 'components/ILIAS/Test',
110 'skl_base_id_reverse',
111 (
string) $skillData[
'skill_base_id']
115 'components/ILIAS/Test',
116 'skl_tref_id_reverse',
117 (
string) $skillData[
'skill_tref_id']
125 $existingLevels = $skill->getLevelData();
127 if (count($levelThresholds) != count($existingLevels)) {
129 (
int) $skillData[
'skill_base_id'],
130 (
int) $skillData[
'skill_tref_id']
136 for ($i = 0, $max = count($existingLevels); $i < $max; $i++) {
137 $existingLevelData = $existingLevels[$i];
140 $importLevelThreshold = $levelThresholds[$i];
142 if ($importLevelThreshold->getOrderIndex() != $existingLevelData[
'nr']) {
144 (
int) $skillData[
'skill_base_id'],
145 (
int) $skillData[
'skill_tref_id']
151 if (!is_numeric($importLevelThreshold->getThreshold())) {
155 $mappedLevelId = $this->
getLevelIdMapping($importLevelThreshold->getImportLevelId());
157 if ($mappedLevelId ===
null) {
163 $threshold->setSkillBaseId($skillData[
'skill_base_id']);
164 $threshold->setSkillTrefId($skillData[
'skill_tref_id']);
165 $threshold->setSkillLevelId($mappedLevelId);
166 $threshold->setThreshold($importLevelThreshold->getThreshold());
168 $importedLevelThresholdList->addThreshold($threshold);
172 $importedLevelThresholdList->saveToDb();
178 $mostNewLevelData = current($result);
179 if (!is_array($mostNewLevelData)) {
182 return $mostNewLevelData[
'level_id'];
static getLevelIdForImportId(int $a_source_inst_id, int $a_level_import_id)
getImportedQuestionSkillAssignmentList()
setImportThresholdList(?ilTestSkillLevelThresholdImportList $importThresholdList)
setImportedQuestionSkillAssignmentList(ilAssQuestionSkillAssignmentList $importedQuestionSkillAssignmentList)
ilAssQuestionAssignedSkillList $failedThresholdImportSkillList
__construct(private ilDBInterface $db)
ilImportMapping $importMappingRegistry
getFailedThresholdImportSkillList()
setFailedThresholdImportSkillList(ilAssQuestionAssignedSkillList $failedThresholdImportSkillList)
int $importInstallationId
getImportInstallationId()
setTargetTestId(int $targetTestId)
getImportMappingRegistry()
getLevelIdMapping(int $importLevelId)
setImportInstallationId(int $importInstallationId)
setImportMappingRegistry(ilImportMapping $importMappingRegistry)
ilTestSkillLevelThresholdImportList $importThresholdList
ilAssQuestionSkillAssignmentList $importedQuestionSkillAssignmentList