/** * update question overview * * @access protected * @return */ protected function saveQuestionOverview() { include_once './Modules/Course/classes/class.ilCourseObjectiveQuestion.php'; global $ilAccess, $ilErr; if (!$ilAccess->checkAccess('write', '', $this->course_obj->getRefId())) { $ilErr->raiseError($this->lng->txt('permission_denied'), $ilErr->WARNING); } $error = false; $_POST['self'] = $_POST['self'] ? $_POST['self'] : array(); $_POST['final'] = $_POST['final'] ? $_POST['final'] : array(); foreach ($_POST['self'] as $objective_id => $limit) { $qst = new ilCourseObjectiveQuestion($objective_id); $max_points = $qst->getSelfAssessmentPoints(); if ($limit < 0 or $limit > $max_points) { ilUtil::sendFailure($this->lng->txt('crs_objective_limit_err')); $this->questionOverview(); return false; } } foreach ($_POST['final'] as $objective_id => $limit) { $qst = new ilCourseObjectiveQuestion($objective_id); $max_points = $qst->getFinalTestPoints(); if ($limit < 0 or $limit > $max_points) { ilUtil::sendFailure($this->lng->txt('crs_objective_limit_err')); $this->questionOverview(); return false; } } foreach ($_POST['self'] as $objective_id => $limit) { ilCourseObjectiveQuestion::_updateTestLimits($objective_id, ilCourseObjectiveQuestion::TYPE_SELF_ASSESSMENT, $limit); } foreach ($_POST['final'] as $objective_id => $limit) { ilCourseObjectiveQuestion::_updateTestLimits($objective_id, ilCourseObjectiveQuestion::TYPE_FINAL_TEST, $limit); } ilUtil::sendSuccess($this->lng->txt('settings_saved')); $this->questionOverview(); return true; }