You are here

public function TrueFalseResponse::getReportFormResponse in Quiz 8.4

Implementation of getReportFormResponse

Overrides QuizQuestionResponse::getReportFormResponse

See also

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

File

question_types/truefalse/lib/Drupal/truefalse/TrueFalseResponse.php, line 111

Class

TrueFalseResponse

Namespace

Drupal\truefalse

Code

public function getReportFormResponse($showpoints = TRUE, $showfeedback = TRUE, $allow_scoring = FALSE) {
  if (empty($this->question->answers)) {
    return array(
      '#markup' => t('Missing question.'),
    );
  }
  $metadata = array();
  $data = array();

  // Build the question answers header (add blank space for IE).
  if ($showpoints) {
    $metadata[] = t('Correct Answer');
  }
  $metadata[] = t('User answer');
  if ($showfeedback && !empty($this->question->feedback)) {
    $metadata[] = 'Feedback';
  }
  $answer = $this->question->answers[0];
  $correct_answer = $answer['is_correct'] ? $answer['answer'] : !$answer['answer'];
  $user_answer = $answer['answer'];
  if ($showpoints) {
    $data[0]['correct_answer'] = $correct_answer ? t('True') : t('False');
  }
  $data[0]['user_answer'] = $user_answer === NULL ? '' : ($user_answer ? t('True') : t('False'));
  if ($showfeedback && !empty($this->question->feedback)) {
    $data[0]['feedback'] = check_markup($this->question->feedback, $this
      ->getFormat());
  }

  // Return themed output
  return array(
    '#markup' => theme('truefalse_response', array(
      'metadata' => $metadata,
      'data' => $data,
    )),
  );
}