You are here

public function ShortAnswerResponse::getReportFormResponse in Quiz 6.4

Same name and namespace in other branches
  1. 7 question_types/short_answer/short_answer.classes.inc \ShortAnswerResponse::getReportFormResponse()
  2. 7.4 question_types/short_answer/short_answer.classes.inc \ShortAnswerResponse::getReportFormResponse()

Implementation of getReportFormResponse

Overrides QuizQuestionResponse::getReportFormResponse

See also

QuizQuestionResponse#getReportFormResponse($showpoints, $showfeedback, $allow_scoring)

File

question_types/short_answer/short_answer.classes.inc, line 412
The main classes for the short answer question type.

Class

ShortAnswerResponse
Extension of QuizQuestionResponse

Code

public function getReportFormResponse($showpoints = TRUE, $showfeedback = TRUE, $allow_scoring = FALSE) {
  $form = array();
  $form['#theme'] = 'short_answer_response_form';
  if ($this->question && !empty($this->question->answers)) {
    $answer = (object) current($this->question->answers);
  }
  else {
    return $form;
  }
  $form['answer'] = array(
    '#type' => 'markup',
    '#value' => theme('short_answer_user_answer', check_plain($answer->answer), check_plain($this->question->correct_answer)),
  );
  if ($answer->is_evaluated == 1) {

    // Show feedback, if any.
    if ($showfeedback && !empty($answer->feedback)) {

      // @todo: Feedback doesn't seem to be in use anymore...
      $feedback = check_markup($answer->feedback);
    }
  }
  else {
    $feedback = t('This answer has not yet been scored.') . '<br/>' . t('Until the answer is scored, the total score will not be correct.');
  }
  if (!$allow_scoring && !empty($this->answer_feedback)) {
    $form['answer_feedback'] = array(
      '#title' => t('Feedback'),
      '#type' => 'item',
      '#value' => '<span class="quiz_answer_feedback">' . $this->answer_feedback . '</span>',
    );
  }
  if (!empty($feedback)) {
    $form['feedback'] = array(
      '#type' => 'markup',
      '#value' => '<span class="quiz_answer_feedback">' . $feedback . '</span>',
    );
  }
  return $form;
}