function quiz_view in Quiz 7.5
Same name and namespace in other branches
- 5.2 quiz.module \quiz_view()
- 5 quiz.module \quiz_view()
- 6.6 quiz.module \quiz_view()
- 6.2 quiz.module \quiz_view()
- 6.3 quiz.module \quiz_view()
- 6.4 quiz.module \quiz_view()
- 6.5 quiz.module \quiz_view()
- 7.6 quiz.module \quiz_view()
- 7 quiz.module \quiz_view()
- 7.4 quiz.module \quiz_view()
Implements hook_view().
File
- ./
quiz.module, line 1036 - quiz.module Main file for the Quiz module.
Code
function quiz_view($node) {
// Number of questions is needed on the statistics page.
$node->number_of_questions = quiz_get_number_of_questions($node->vid, $node->nid);
$node->content['stats'] = array(
'#markup' => theme('quiz_view_stats', array(
'node' => $node,
)),
'#weight' => -1,
);
$available = quiz_access('take', $node);
// Check the permission before displaying start button.
if ($available['success']) {
if (!empty($available['message'])) {
// There's a friendly message available.
if (node_is_page($node)) {
// Only display if we are viewing the quiz.
drupal_set_message($available['message']);
}
}
$button_text = quiz_take_quiz($node) ? 'Resume @quiz' : 'Start @quiz';
// Add a link to the take tab.
$node->content['take'] = array(
'#markup' => l(t($button_text, array(
'@quiz' => QUIZ_NAME,
)), 'node/' . $node->nid . '/take', array(
'attributes' => array(
'class' => array(
'quiz-start-link',
),
),
)),
'#weight' => 2,
);
}
else {
$node->content['take'] = array(
'#markup' => '<div class="quiz-not-available">' . $available['message'] . '</div>',
'#weight' => 2,
);
}
return $node;
}