/** * Save Assessment settings */ public function saveSettingsObject() { global $ilAccess; if (!$ilAccess->checkAccess("write", "", $this->object->getRefId())) { $this->ctrl->redirect($this, 'settings'); } $form = $this->buildSettingsForm(); if (!$form->checkInput()) { $form->setValuesByPost(); return $this->settingsObject($form); } $this->object->_setManualScoring($_POST["chb_manual_scoring"]); include_once "./Modules/TestQuestionPool/classes/class.ilObjQuestionPool.php"; $questiontypes =& ilObjQuestionPool::_getQuestionTypes(TRUE); $forbidden_types = array(); foreach ($questiontypes as $name => $row) { if (!in_array($row["question_type_id"], $_POST["chb_allowed_questiontypes"])) { array_push($forbidden_types, $row["question_type_id"]); } } $this->object->_setForbiddenQuestionTypes($forbidden_types); $this->object->setScoringAdjustmentEnabled($_POST['chb_scoring_adjust']); $scoring_types = array(); foreach ($questiontypes as $name => $row) { if (in_array($row["question_type_id"], (array) $_POST["chb_scoring_adjustment"])) { array_push($scoring_types, $row["question_type_id"]); } } $this->object->setScoringAdjustableQuestions($scoring_types); if (!$_POST['ass_process_lock']) { $this->object->setAssessmentProcessLockMode(ilObjAssessmentFolder::ASS_PROC_LOCK_MODE_NONE); } elseif (in_array($_POST['ass_process_lock_mode'], ilObjAssessmentFolder::getValidAssessmentProcessLockModes())) { $this->object->setAssessmentProcessLockMode($_POST['ass_process_lock_mode']); } $assessmentSetting = new ilSetting('assessment'); $assessmentSetting->set('use_javascript', '1'); if (strlen($_POST['imap_line_color']) == 6) { $assessmentSetting->set('imap_line_color', ilUtil::stripSlashes($_POST['imap_line_color'])); } $assessmentSetting->set('user_criteria', ilUtil::stripSlashes($_POST['user_criteria'])); ilUtil::sendSuccess($this->lng->txt("msg_obj_modified"), true); $this->ctrl->redirect($this, 'settings'); }