function quiz_build_question_list in Quiz 6.3
Same name and namespace in other branches
- 8.4 quiz.module \quiz_build_question_list()
- 5.2 quiz.module \quiz_build_question_list()
- 5 quiz.module \quiz_build_question_list()
- 6.6 quiz.module \quiz_build_question_list()
- 6.2 quiz.module \quiz_build_question_list()
- 6.4 quiz.module \quiz_build_question_list()
- 6.5 quiz.module \quiz_build_question_list()
- 7.6 quiz.module \quiz_build_question_list()
- 7 quiz.module \quiz_build_question_list()
- 7.4 quiz.module \quiz_build_question_list()
- 7.5 quiz.module \quiz_build_question_list()
Retrieves a question list for a given quiz.
Parameters
$quiz: Quiz node.
Return value
Array of question node IDs.
2 calls to quiz_build_question_list()
- quiz_take_quiz in ./
quiz.module - Handles quiz taking.
- _quiz_resume_existing_quiz in ./
quiz.module - Resume an in-progress quiz.
File
- ./
quiz.module, line 1765 - Quiz Module
Code
function quiz_build_question_list($quiz) {
$questions = array();
// Get required questions first.
$sql = "SELECT child_nid as nid, child_vid as vid\n FROM {quiz_node_relationship}\n WHERE parent_vid = %d\n AND parent_nid = %d\n AND question_status = %d\n ORDER BY weight";
$result = db_query($sql, $quiz->vid, $quiz->nid, QUESTION_ALWAYS);
while ($question_node = db_fetch_array($result)) {
$questions[] = $question_node;
}
// Get random questions for the remainder.
if ($quiz->number_of_random_questions > 0) {
//$questions = array_merge($questions, _quiz_get_random_questions($quiz->number_of_random_questions, $quiz->tid));
$questions = array_merge($questions, _quiz_get_random_questions($quiz));
if ($quiz->number_of_random_questions > count($questions)) {
// Unable to find enough requested random questions.
return FALSE;
}
}
// Shuffle questions if required.
if ($quiz->shuffle == 1) {
shuffle($questions);
}
return $questions;
}