private function saveSkillThresholdsCmd() { require_once 'Modules/Test/classes/class.ilTestSkillLevelThreshold.php'; if (is_array($_POST['threshold'])) { $threshold = $_POST['threshold']; $assignmentList = $this->buildSkillQuestionAssignmentList(); $assignmentList->loadFromDb(); foreach ($assignmentList->getUniqueAssignedSkills() as $data) { $skill = $data['skill']; $skillKey = $data['skill_base_id'] . ':' . $data['skill_tref_id']; $levels = $skill->getLevelData(); foreach ($levels as $level) { if (isset($threshold[$skillKey]) && isset($threshold[$skillKey][$level['id']])) { $skillLevelThreshold = new ilTestSkillLevelThreshold($this->db); $skillLevelThreshold->setTestId($this->testOBJ->getTestId()); $skillLevelThreshold->setSkillBaseId($data['skill_base_id']); $skillLevelThreshold->setSkillTrefId($data['skill_tref_id']); $skillLevelThreshold->setSkillLevelId($level['id']); $skillLevelThreshold->setThreshold($threshold[$skillKey][$level['id']]); $skillLevelThreshold->saveToDb(); } } } } ilUtil::sendSuccess($this->lng->txt('tst_msg_skl_lvl_thresholds_saved'), true); $this->ctrl->redirect($this, self::CMD_SHOW_SKILL_THRESHOLDS); }
private function buildSkillLevelThresholdByArray($data) { $threshold = new ilTestSkillLevelThreshold($this->db); $threshold->setTestId($data['test_fi']); $threshold->setSkillBaseId($data['skill_base_fi']); $threshold->setSkillTrefId($data['skill_tref_fi']); $threshold->setSkillLevelId($data['skill_level_fi']); $threshold->setThreshold($data['threshold']); return $threshold; }