コード例 #1
0
 /**
  * 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;
 }