You are here

public function QuizDirectionsResponse::score in Quiz 6.3

Same name and namespace in other branches
  1. 6.6 question_types/quiz_directions/quiz_directions.classes.inc \QuizDirectionsResponse::score()
  2. 6.4 question_types/quiz_directions/quiz_directions.classes.inc \QuizDirectionsResponse::score()
  3. 6.5 question_types/quiz_directions/quiz_directions.classes.inc \QuizDirectionsResponse::score()
  4. 7.6 question_types/quiz_directions/quiz_directions.classes.inc \QuizDirectionsResponse::score()
  5. 7 question_types/quiz_directions/quiz_directions.classes.inc \QuizDirectionsResponse::score()
  6. 7.4 question_types/quiz_directions/quiz_directions.classes.inc \QuizDirectionsResponse::score()
  7. 7.5 question_types/quiz_directions/quiz_directions.classes.inc \QuizDirectionsResponse::score()

Calculate the score for the response. This MUST set the $score instance variable.

Overrides QuizQuestionResponse::score

File

question_types/quiz_directions/quiz_directions.classes.inc, line 97
quiz_directions.classes

Class

QuizDirectionsResponse
Class that describes a "Directions question response". For the most part, no real scoring takes place for a direction node. However, there are a few behind-the-scenes tricks that are done here to make the quiz-taking process a little easier.

Code

public function score() {

  // First, due to popular demand, if the directions are at the beginning of
  // the quiz, we restart the timer after the user has read the question.
  $quiz_nid = arg(1);
  $quiz_key = 'quiz_' . $quiz_nid;
  if (isset($_SESSION[$quiz_key]['previous_quiz_questions']) && count($_SESSION[$quiz_key]['previous_quiz_questions']) === 1) {

    // reset the timer.
    $sql = 'UPDATE {quiz_node_results} SET time_start=%d WHERE result_id = %d';
    db_query($sql, time(), $this->rid);
  }

  // Set the score
  $this->score = 0;
  return 0;
}