class ScaleResponse in Quiz 6.4
Same name and namespace in other branches
- 8.6 question_types/quiz_scale/src/Plugin/quiz/QuizQuestion/ScaleResponse.php \ScaleResponse
- 8.5 question_types/quiz_scale/src/Plugin/quiz/QuizQuestion/ScaleResponse.php \ScaleResponse
- 6.6 question_types/scale/scale.classes.inc \ScaleResponse
- 7.6 question_types/scale/scale.classes.inc \ScaleResponse
- 7 question_types/scale/scale.classes.inc \ScaleResponse
- 7.4 question_types/scale/scale.classes.inc \ScaleResponse
- 7.5 question_types/scale/scale.classes.inc \ScaleResponse
Extension of QuizQuestionResponse
Hierarchy
- class \QuizQuestionResponse- class \ScaleResponse
 
Expanded class hierarchy of ScaleResponse
1 string reference to 'ScaleResponse'
- scale_quiz_question_info in question_types/scale/ scale.module 
- Implementation of hook_quiz_question_info().
File
- question_types/scale/ scale.classes.inc, line 509 
- The main classes for the scale question type.
View source
class ScaleResponse extends QuizQuestionResponse {
  /**
   * ID of the answer.
   */
  protected $answer_id = 0;
  /**
   * Constructor
   */
  public function __construct($result_id, stdClass $question_node, $answer = NULL) {
    parent::__construct($result_id, $question_node, $answer);
    if (isset($answer)) {
      $this->answer_id = intval($answer);
    }
    else {
      $sql = 'SELECT answer_id
              FROM {quiz_scale_user_answers}
              WHERE result_id = %d AND question_nid = %d AND question_vid = %d';
      $res = db_query($sql, $result_id, $this->question->nid, $this->question->vid);
      $this->answer_id = db_result($res);
    }
    $sql = 'SELECT answer
            FROM {quiz_scale_answer}
            WHERE id = %d';
    $res = db_query($sql, $this->answer_id);
    $this->answer = check_plain(db_result($res));
  }
  public function isValid() {
    if (empty($this->answer_id)) {
      return t('You must provide an answer');
    }
    return TRUE;
  }
  /**
   * Implementation of save
   *
   * @see QuizQuestionResponse#save()
   */
  public function save() {
    $sql = "INSERT INTO {quiz_scale_user_answers}\n      (answer_id, result_id, question_vid, question_nid)\n      VALUES (%d, %d, %d, %d)";
    db_query($sql, $this->answer_id, $this->rid, $this->question->vid, $this->question->nid);
  }
  /**
   * Implementation of delete
   *
   * @see QuizQuestionResponse#delete()
   */
  public function delete() {
    $sql = 'DELETE FROM {quiz_scale_user_answers}
    		WHERE result_id = %d AND question_nid = %d AND question_vid = %d';
    db_query($sql, $this->rid, $this->question->nid, $this->question->vid);
  }
  /**
   * Implementation of score
   *
   * @see QuizQuestionResponse#score()
   */
  public function score() {
    return $this
      ->isValid() ? 1 : 0;
  }
  /**
   * Implementation of getResponse
   *
   * @see QuizQuestionResponse#getResponse()
   */
  public function getResponse() {
    return $this->answer_id;
  }
  /**
   * Implementation of getReportFormResponse
   *
   * @see getReportFormResponse($showpoints, $showfeedback, $allow_scoring)
   */
  public function getReportFormResponse($showpoints = TRUE, $showfeedback = TRUE, $allow_scoring = FALSE) {
    $form = array();
    $form['#theme'] = 'scale_response_form';
    $form['answer'] = array(
      '#type' => 'markup',
      '#value' => check_plain($this->answer),
    );
    return $form;
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| QuizQuestionResponse:: | protected | property | ||
| QuizQuestionResponse:: | protected | property | ||
| QuizQuestionResponse:: | protected | property | ||
| QuizQuestionResponse:: | public | property | ||
| QuizQuestionResponse:: | public | property | ||
| QuizQuestionResponse:: | protected | property | ||
| QuizQuestionResponse:: | protected | property | 7 | |
| QuizQuestionResponse:: | public | function | Returns stored max score if it exists, if not the max score is calculated and returned. | |
| QuizQuestionResponse:: | public | function | Get data suitable for reporting a user's score on the question. This expects an object with the following attributes: | |
| QuizQuestionResponse:: | public | function | Creates the report form for the admin pages, and for when a user gets feedback after answering questions. | 1 | 
| QuizQuestionResponse:: | public | function | 2 | |
| QuizQuestionResponse:: | public | function | get the question part of the reportForm | |
| QuizQuestionResponse:: | public | function | Get the score part of the report form | 2 | 
| QuizQuestionResponse:: | public | function | Get the submit function for the reportForm | 2 | 
| QuizQuestionResponse:: | public | function | Get the theme key for the reportForm | |
| QuizQuestionResponse:: | public | function | Get the validate function for the reportForm | 2 | 
| QuizQuestionResponse:: | function | Returns stored score if it exists, if not the score is calculated and returned. | ||
| QuizQuestionResponse:: | function | Check to see if the answer is marked as correct. | 1 | |
| QuizQuestionResponse:: | public | function | Indicate whether the response has been evaluated (scored) yet. Questions that require human scoring (e.g. essays) may need to manually toggle this. | |
| QuizQuestionResponse:: | public | function | Used to refresh this instances question node in case drupal has changed it. | |
| QuizQuestionResponse:: | public | function | Saves the quiz result. This is not used when a question is skipped! | |
| QuizQuestionResponse:: | function | Represent the response as a stdClass object. | ||
| ScaleResponse:: | protected | property | ID of the answer. | |
| ScaleResponse:: | public | function | Implementation of delete Overrides QuizQuestionResponse:: | |
| ScaleResponse:: | public | function | Implementation of getReportFormResponse Overrides QuizQuestionResponse:: | |
| ScaleResponse:: | public | function | Implementation of getResponse Overrides QuizQuestionResponse:: | |
| ScaleResponse:: | public | function | Validates response from a quiz taker. If the response isn't valid the quiz taker won't be allowed to proceed. Overrides QuizQuestionResponse:: | |
| ScaleResponse:: | public | function | Implementation of save Overrides QuizQuestionResponse:: | |
| ScaleResponse:: | public | function | Implementation of score Overrides QuizQuestionResponse:: | |
| ScaleResponse:: | public | function | Constructor Overrides QuizQuestionResponse:: | 
