4require_once
'Services/Skill/classes/class.ilBasicSkill.php';
5require_once
'Modules/Test/classes/class.ilTestSkillLevelThresholdList.php';
6require_once
'Modules/TestQuestionPool/classes/questions/class.ilAssQuestionAssignedSkillList.php';
152 public function import()
161 $skill = $skillData[
'skill'];
165 'skl_base_id_reverse',
166 $skillData[
'skill_base_id']
171 'skl_tref_id_reverse',
172 $skillData[
'skill_tref_id']
180 $existingLevels = $skill->getLevelData();
182 if (count($levelThresholds) != count($existingLevels)) {
184 $skillData[
'skill_base_id'],
185 $skillData[
'skill_tref_id']
191 for (
$i = 0, $max = count($existingLevels);
$i < $max;
$i++) {
192 $existingLevelData = $existingLevels[
$i];
195 $importLevelThreshold = $levelThresholds[
$i];
197 if ($importLevelThreshold->getOrderIndex() != $existingLevelData[
'nr']) {
199 $skillData[
'skill_base_id'],
200 $skillData[
'skill_tref_id']
206 if (!is_numeric($importLevelThreshold->getThreshold())) {
210 $mappedLevelId = $this->
getLevelIdMapping($importLevelThreshold->getImportLevelId());
214 $threshold->setSkillBaseId($skillData[
'skill_base_id']);
215 $threshold->setSkillTrefId($skillData[
'skill_tref_id']);
216 $threshold->setSkillLevelId($mappedLevelId);
217 $threshold->setThreshold($importLevelThreshold->getThreshold());
219 $importedLevelThresholdList->addThreshold($threshold);
223 $importedLevelThresholdList->saveToDb();
242 $mostNewLevelData = current(
$result);
243 return $mostNewLevelData[
'level_id'];
An exception for terminatinating execution or to throw for unit testing.
static getLevelIdForImportId($a_source_inst_id, $a_level_import_id)
Get level ids for import IDs (newest first)
getImportedQuestionSkillAssignmentList()
setFailedThresholdImportSkillList($failedThresholdImportSkillList)
__construct()
ilTestSkillLevelThresholdImporter constructor.
$importedQuestionSkillAssignmentList
$failedThresholdImportSkillList
setImportMappingRegistry($importMappingRegistry)
getFailedThresholdImportSkillList()
getImportInstallationId()
getImportMappingRegistry()
setTargetTestId($targetTestId)
setImportThresholdList($importThresholdList)
setImportInstallationId($importInstallationId)
setImportedQuestionSkillAssignmentList($importedQuestionSkillAssignmentList)
getLevelIdMapping($importLevelId)