function quiz_jump_to in Quiz 7
Same name and namespace in other branches
- 8.4 quiz.module \quiz_jump_to()
- 6.4 quiz.module \quiz_jump_to()
- 7.4 quiz.module \quiz_jump_to()
Set the current session to jump to a specific question number
Parameters
int $question_num: The question number we want to jump to
Related topics
1 call to quiz_jump_to()
- quiz_take_quiz in ./
quiz.module - Handles quiz taking.
File
- ./
quiz.module, line 2057 - Quiz Module
Code
function quiz_jump_to($question_num, $quiz, $rid) {
$num_next = count($_SESSION['quiz_' . $quiz->nid]['quiz_questions']);
$num_previous = count($_SESSION['quiz_' . $quiz->nid]['previous_quiz_questions']);
if ($question_num > $num_next + $num_previous + 1) {
// Trying to jump too far. We allow skipping all questions because of jQuery countdown...
return;
}
if ($question_num <= $num_previous) {
for ($i = 0; $i < $num_previous - $question_num + 1; $i++) {
array_unshift($_SESSION['quiz_' . $quiz->nid]['quiz_questions'], array_pop($_SESSION['quiz_' . $quiz->nid]['previous_quiz_questions']));
}
}
elseif ($question_num > $num_previous + 1) {
for ($i = 0; $i < $question_num - $num_previous - 1; $i++) {
$_SESSION['quiz_' . $quiz->nid]['previous_quiz_questions'][] = array_shift($_SESSION['quiz_' . $quiz->nid]['quiz_questions']);
}
_quiz_cleanup_after_jumping($quiz, $rid);
}
}