-
Bug
-
Resolution: Fixed
-
Trivial
-
None
-
1.5.2
-
None
-
Linux
-
MySQL
-
MOODLE_15_STABLE
$quiz->optionflags is a bitfield, so it should be
accessed like a bitfield
It worked, because QUIZ_ADAPTIVE is '1' so the result after a $quiz->optionflags & QUIZ_ADAPTIVE is '0' or '1'.
Now with other flags (eg. 2) this will not work as the result would be '0' or '2', which is not in the $yesnooptions range. So see this as a cleanup patch.
diff -uNr moodle2/mod/quiz/config.html moodle/mod/quiz/config.html
— moodle2/mod/quiz/config.html 2005-08-10 04:19:35.000000000 +0200
+++ moodle/mod/quiz/config.html 2005-08-06 06:26:34.000000000 +0200
@@ -207,7 +221,7 @@
<td align=right><b><?php print_string(adaptive, quiz) ?>:</b></td>
<td>
<?php
- choose_from_menu($yesnooptions, adaptive, $CFG->quiz_optionflags & QUIZ_ADAPTIVE, );
+ choose_from_menu($yesnooptions, adaptive, (($CFG->quiz_optionflags & QUIZ_ADAPTIVE) ? 1 : 0), );
helpbutton(adaptive, get_string(adaptive,quiz), quiz);
?>
</td>
diff -uNr moodle2/mod/quiz/defaults.php moodle/mod/quiz/defaults.php
— moodle2/mod/quiz/defaults.php 2005-05-07 16:29:40.000000000 +0200
+++ moodle/mod/quiz/defaults.php 2005-08-06 07:13:26.000000000 +0200
@@ -17,7 +18,7 @@
'quiz_shufflequestions' => 0,
'quiz_subnet' => '',
'quiz_timelimit' => 0,
- 'quiz_optionflags' => 1,
+ 'quiz_optionflags' => QUIZ_ADAPTIVE,
'quiz_penaltyscheme' => 1,
'quiz_adaptive' => 1,
diff -uNr moodle2/mod/quiz/lib.php moodle/mod/quiz/lib.php
— moodle2/mod/quiz/lib.php 2005-06-06 07:19:31.000000000 +0200
+++ moodle/mod/quiz/lib.php 2005-08-06 06:26:34.000000000 +0200
@@ -679,7 +689,7 @@
$review = 0;
if (!empty($form->adaptive))
{ - $optionflags += QUIZ_ADAPTIVE; + $optionflags /= QUIZ_ADAPTIVE; }if (isset($form->responsesimmediately)) {
diff -uNr moodle2/mod/quiz/mod.html moodle/mod/quiz/mod.html
— moodle2/mod/quiz/mod.html 2005-06-14 04:16:32.000000000 +0200
+++ moodle/mod/quiz/mod.html 2005-08-06 06:26:34.000000000 +0200
@@ -243,7 +255,7 @@
<td align=right><b><?php print_string(adaptive, quiz) ?>:</b></td>
<td align=left>
<?php
- choose_from_menu($yesnooptions, adaptive, $form->optionflags & QUIZ_ADAPTIVE, );
+ choose_from_menu($yesnooptions, adaptive, (($form->optionflags & QUIZ_ADAPTIVE) ? 1 : 0), );
helpbutton(adaptive, get_string(adaptive,quiz), quiz);
?>
</td>
@@ -468,7 +504,7 @@
<td align=right><b><?php print_string(adaptive, quiz) ?>:</b></td>
<td align=left>
<?php
- choose_from_menu($yesnooptions, adaptive, $form->optionflags & QUIZ_ADAPTIVE, );
+ choose_from_menu($yesnooptions, adaptive, (($form->optionflags & QUIZ_ADAPTIVE) ? 1 : 0), );
helpbutton(adaptive, get_string(adaptive,quiz), quiz);
?>
</td>
</tr>