private function saveSkillPointsCmd() { if (is_array($_POST['skill_points'])) { require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionSkillAssignment.php'; $success = false; foreach ($_POST['skill_points'] as $assignmentKey => $skillPoints) { $assignmentKey = explode(':', $assignmentKey); $skillBaseId = (int) $assignmentKey[0]; $skillTrefId = (int) $assignmentKey[1]; $questionId = (int) $assignmentKey[2]; if ($this->isTestQuestion($questionId) && (int) $skillPoints > 0) { $assignment = new ilAssQuestionSkillAssignment($this->db); $assignment->setParentObjId($this->getQuestionContainerId()); $assignment->setQuestionId($questionId); $assignment->setSkillBaseId($skillBaseId); $assignment->setSkillTrefId($skillTrefId); if ($assignment->dbRecordExists()) { $assignment->loadFromDb(); if (!$assignment->hasEvalModeBySolution()) { $assignment->setSkillPoints((int) $skillPoints); $assignment->saveToDb(); } } } } } ilUtil::sendSuccess($this->lng->txt('tst_msg_skl_qst_assign_points_saved'), true); $this->ctrl->redirect($this, self::CMD_SHOW_SKILL_QUEST_ASSIGNS); }