You are here

public function QuizfileuploadResponse::__construct in Quiz File Upload 7.4

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

Constructor

File

./quizfileupload.classes.inc, line 220
The main classes for the quizfileupload question type.

Class

QuizfileuploadResponse
Extension of QuizQuestionResponse

Code

public function __construct($result_id, stdClass $question_node, $tries = NULL) {
  parent::__construct($result_id, $question_node, $tries);
  $tries = $_FILES;
  $this->answer = $tries;
  $this->answer_feedback = "";
  if (!isset($result) || !is_object($result)) {
    $result = new stdClass();
  }
  $result->is_correct = TRUE;
  $this->evaluated = 0;
  $response = $this
    ->getResponse();
  if (isset($question_node->correct_answer_evaluation)) {
    if ($question_node->correct_answer_evaluation == 0) {
      $this->evaluated = 1;
    }
  }
  $this->result_id = $result_id;

  // Question has been answered allready. We fetch the answer data from the database.
  $r = db_query('SELECT * FROM {quiz_fileupload_user_answers}
    WHERE question_nid = :question_nid AND question_vid = :question_vid AND result_id = :result_id', array(
    ':question_nid' => $question_node->nid,
    ':question_vid' => $question_node->vid,
    ':result_id' => $result_id,
  ))
    ->fetchAssoc();
  if (is_array($r)) {
    $this->score = $r['score'];
    $this->answer_id = $r['answer_id'];
    $this->evaluated = $r['is_evaluated'];
    $this->answer_feedback = $r['answer_feedback'];
    $this->answer_feedback_format = $r['answer_feedback_format'];
  }
}