public function QuizQuestionH5PResponse::getReportFormResponse in Quiz 7.4
Implements getReportFormResponse of QuizQuestionResponse interface
Overrides QuizQuestionResponse::getReportFormResponse
File
- question_types/
quiz_h5p/ QuizQuestionH5PResponse.class.inc, line 103
Class
Code
public function getReportFormResponse($showpoints = TRUE, $showfeedback = TRUE, $allow_scoring = FALSE) {
$result = db_select('quiz_h5p_user_results', 'qhur')
->fields('qhur')
->condition('question_nid', $this->question->nid)
->condition('question_vid', $this->question->vid)
->condition('result_id', $this->rid)
->orderBy('id', 'ASC')
->execute();
// Make it easy to map questions by id
$questionsById = array();
foreach ($result as $record) {
$questionsById[$record->id] = $record;
}
// Assemble our question tree
foreach ($questionsById as $question) {
if ($question->parent_id === NULL) {
// This is the root of our tree
$baseQuestion = $question;
}
elseif (isset($questionsById[$question->parent_id])) {
// Add to parent
$questionsById[$question->parent_id]->children[] = $question;
}
}
// Process question tree and create markup for report
if (isset($baseQuestion)) {
$report = theme('quiz_h5p_response', array(
'question' => $baseQuestion,
));
if (!empty($report)) {
return array(
'#markup' => $report,
);
}
}
// No report available
return array(
'#no-response' => TRUE,
);
}