mod_quiz MDL-26178 it let you try to preview a quiz with several empty pages.
authorTim Hunt <T.J.Hunt@open.ac.uk>
Sat, 29 Jan 2011 12:11:10 +0000 (12:11 +0000)
committerTim Hunt <T.J.Hunt@open.ac.uk>
Sat, 29 Jan 2011 12:11:10 +0000 (12:11 +0000)
You should not be allowed to preview an empty quiz, to make it correctly detect this case.

mod/quiz/attemptlib.php
mod/quiz/view.php

index 7580482..adf3a44 100644 (file)
@@ -375,14 +375,14 @@ class quiz {
         $this->pagequestionids = array();
 
         // Get the appropriate layout string (from quiz or attempt).
-        $layout = $this->get_layout_string();
+        $layout = quiz_clean_layout($this->get_layout_string(), true);
         if (empty($layout)) {
             // Nothing to do.
             return;
         }
 
         // Break up the layout string into pages.
-        $pagelayouts = explode(',0', quiz_clean_layout($layout, true));
+        $pagelayouts = explode(',0', $layout);
 
         // Strip off any empty last page (normally there is one).
         if (end($pagelayouts) == '') {
index 36e1d94..7b816bc 100644 (file)
 /// or a button to go back to the course page.
     echo $OUTPUT->box_start('quizattempt');
     $buttontext = ''; // This will be set something if as start/continue attempt button should appear.
-    if (!$quiz->questions) {
+    if (!quiz_clean_layout($quiz->questions, true)) {
         echo $OUTPUT->heading(get_string("noquestions", "quiz"));
     } else {
         if ($unfinished) {