You are here

public function ShortAnswerResponse::getReportFormResponse in Quiz 8.4

Implementation of getReportFormResponse

Overrides QuizQuestionResponse::getReportFormResponse

See also

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

File

question_types/short_answer/lib/Drupal/short_answer/ShortAnswerResponse.php, line 198
The main classes for the short answer response.

Class

ShortAnswerResponse
Extension of QuizQuestionResponse

Namespace

Drupal\short_answer

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(
    '#markup' => theme('short_answer_user_answer', array(
      'answer' => check_plain($answer->answer),
      'correct' => 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',
      '#markup' => '<span class="quiz_answer_feedback">' . $this->answer_feedback . '</span>',
    );
  }
  if (!empty($feedback)) {
    $form['feedback'] = array(
      '#markup' => '<span class="quiz_answer_feedback">' . $feedback . '</span>',
    );
  }
  return $form;
}