function quiz_questions_form in Quiz 7.6
Same name and namespace in other branches
- 8.4 quiz.admin.inc \quiz_questions_form()
- 5.2 quiz.module \quiz_questions_form()
- 5 quiz.module \quiz_questions_form()
- 6.6 quiz.admin.inc \quiz_questions_form()
- 6.2 quiz.admin.inc \quiz_questions_form()
- 6.3 quiz.admin.inc \quiz_questions_form()
- 6.4 quiz.admin.inc \quiz_questions_form()
- 6.5 quiz.admin.inc \quiz_questions_form()
- 7 quiz.admin.inc \quiz_questions_form()
- 7.4 quiz.admin.inc \quiz_questions_form()
- 7.5 quiz.admin.inc \quiz_questions_form()
Handles "manage questions" tab.
Displays form which allows questions to be assigned to the given quiz.
This function is not used if the question assignment type "categorized random questions" is chosen
Parameters
$form_state: The form state variable
$quiz: The quiz node.
Return value
HTML output to create page.
1 string reference to 'quiz_questions_form'
- quiz_questions in ./
quiz.admin.inc - Creates a form for quiz questions.
File
- ./
quiz.admin.inc, line 706 - Administrator interface for Quiz module.
Code
function quiz_questions_form($form, $form_state, $quiz) {
$types = quiz_get_question_types();
_quiz_add_fields_for_creating_questions($form, $types, $quiz);
// Display questions in this quiz.
$form['question_list'] = array(
'#type' => 'fieldset',
'#title' => t('Questions in this @quiz', array(
'@quiz' => QUIZ_NAME,
)),
'#theme' => 'question_selection_table',
'#collapsible' => TRUE,
'#attributes' => array(
'id' => 'mq-fieldset',
),
'question_status' => array(
'#tree' => TRUE,
),
);
// Add randomization settings if this quiz allows randomized questions
_quiz_add_fields_for_random_quiz($form, $quiz);
$include_random = $quiz->randomization == 2;
// @todo deal with $include_random
$questions = quiz_get_questions($quiz->nid, $quiz->vid);
if (empty($questions)) {
$form['question_list']['no_questions'] = array(
'#markup' => '<div id = "no-questions">' . t('There are currently no questions in this @quiz. Assign existing questions by using the question browser below. You can also use the links above to create new questions.', array(
'@quiz' => QUIZ_NAME,
)) . '</div>',
);
}
// We add the questions to the form array
_quiz_add_questions_to_form($form, $questions, $quiz, $types);
// Show the number of questions in the table header.
$always_count = isset($form['question_list']['titles']) ? count($form['question_list']['titles']) : 0;
$form['question_list']['#title'] .= ' (' . $always_count . ')';
// Give the user the option to create a new revision of the quiz
_quiz_add_revision_checkbox($form, $quiz);
// Timestamp is needed to avoid multiple users editing the same quiz at the same time.
$form['timestamp'] = array(
'#type' => 'hidden',
'#default_value' => REQUEST_TIME,
);
$form['actions']['#type'] = 'actions';
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
'#submit' => array(
'quiz_questions_form_submit',
),
);
return $form;
}