You are here

public function QuizfileuploadResponse::score in Quiz File Upload 7.5

Same name and namespace in other branches
  1. 6 quizfileupload.classes.inc \QuizfileuploadResponse::score()
  2. 7 quizfileupload.classes.inc \QuizfileuploadResponse::score()
  3. 7.4 quizfileupload.classes.inc \QuizfileuploadResponse::score()

Implements score().

See also

QuizQuestionResponse#score()

File

./quizfileupload.classes.inc, line 304
File upload question class.

Class

QuizfileuploadResponse
Extension of QuizQuestionResponse.

Code

public function score() {
  $score = 0;
  if (isset($this->result_answer_id)) {

    // Manual scoring means we go with what is in the DB.
    if (isset($this->question->correct_answer_evaluation) && $this->question->correct_answer_evaluation == 1) {
      $score = db_select('quiz_fileupload_user_answers', 'qfua')
        ->fields('qfua', array(
        'score',
      ))
        ->condition('result_answer_id', $this->result_answer_id, '=')
        ->execute()
        ->fetchField();
      if (!$score) {
        $score = 0;
      }
    }
    else {
      $fileuploadAnswer = new QuizfileuploadQuestion($this->question);
      $score = $fileuploadAnswer
        ->getMaximumScore();
    }
  }
  return $score;
}