/** * Print a form to let the user choose which question type to add. * When the form is submitted, it goes to the question.php script. * @param $hiddenparams hidden parameters to add to the form, in addition to * the qtype radio buttons. */ function print_choose_qtype_to_add_form($hiddenparams) { global $CFG, $PAGE, $OUTPUT; $PAGE->requires->js('/question/qbank.js'); echo '<div id="chooseqtypehead" class="hd">' . "\n"; echo $OUTPUT->heading(get_string('chooseqtypetoadd', 'question'), 3); echo "</div>\n"; echo '<div id="chooseqtype">' . "\n"; echo '<form action="' . $CFG->wwwroot . '/question/question.php" method="get"><div id="qtypeformdiv">' . "\n"; foreach ($hiddenparams as $name => $value) { echo '<input type="hidden" name="' . s($name) . '" value="' . s($value) . '" />' . "\n"; } echo "</div>\n"; echo '<div class="qtypes">' . "\n"; echo '<div class="instruction">' . get_string('selectaqtypefordescription', 'question') . "</div>\n"; echo '<div class="realqtypes">' . "\n"; $fakeqtypes = array(); foreach (question_bank::get_creatable_qtypes() as $qtype) { if ($qtype->is_real_question_type()) { print_qtype_to_add_option($qtype); } else { $fakeqtypes[] = $qtype; } } echo "</div>\n"; echo '<div class="fakeqtypes">' . "\n"; foreach ($fakeqtypes as $qtype) { print_qtype_to_add_option($qtype); } echo "</div>\n"; echo "</div>\n"; echo '<div class="submitbuttons">' . "\n"; echo '<input type="submit" value="' . get_string('next') . '" id="chooseqtype_submit" />' . "\n"; echo '<input type="submit" id="chooseqtypecancel" name="addcancel" value="' . get_string('cancel') . '" />' . "\n"; echo "</div></form>\n"; echo "</div>\n"; $PAGE->requires->js_init_call('qtype_chooser.init', array('chooseqtype')); }
/** * Print a form to let the user choose which question type to add. * When the form is submitted, it goes to the question.php script. * @param $hiddenparams hidden parameters to add to the form, in addition to * the qtype radio buttons. * @param $allowedqtypes optional list of qtypes that are allowed. If given, only * those qtypes will be shown. Example value array('description', 'multichoice'). */ function print_choose_qtype_to_add_form($hiddenparams, array $allowedqtypes = null) { global $CFG, $PAGE, $OUTPUT; echo '<div id="chooseqtypehead" class="hd">' . "\n"; echo $OUTPUT->heading(get_string('chooseqtypetoadd', 'question'), 3); echo "</div>\n"; echo '<div id="chooseqtype">' . "\n"; echo '<form action="' . $CFG->wwwroot . '/question/question.php" method="get"><div id="qtypeformdiv">' . "\n"; foreach ($hiddenparams as $name => $value) { echo '<input type="hidden" name="' . s($name) . '" value="' . s($value) . '" />' . "\n"; } echo "</div>\n"; echo '<div class="qtypes">' . "\n"; echo '<div class="instruction">' . get_string('selectaqtypefordescription', 'question') . "</div>\n"; echo '<div class="alloptions">' . "\n"; echo '<div class="realqtypes">' . "\n"; $fakeqtypes = array(); foreach (question_bank::get_creatable_qtypes() as $qtypename => $qtype) { if ($allowedqtypes && !in_array($qtypename, $allowedqtypes)) { continue; } if ($qtype->is_real_question_type()) { print_qtype_to_add_option($qtype); } else { $fakeqtypes[] = $qtype; } } echo "</div>\n"; echo '<div class="fakeqtypes">' . "\n"; foreach ($fakeqtypes as $qtype) { print_qtype_to_add_option($qtype); } echo "</div>\n"; echo "</div>\n"; echo "</div>\n"; echo '<div class="submitbuttons">' . "\n"; echo '<input type="submit" value="' . get_string('next') . '" id="chooseqtype_submit" />' . "\n"; echo '<input type="submit" id="chooseqtypecancel" name="addcancel" value="' . get_string('cancel') . '" />' . "\n"; echo "</div></form>\n"; echo "</div>\n"; $PAGE->requires->js('/question/qengine.js'); $module = array( 'name' => 'qbank', 'fullpath' => '/question/qbank.js', 'requires' => array('yui2-dom', 'yui2-event', 'yui2-container'), 'strings' => array(), 'async' => false, ); $PAGE->requires->js_init_call('qtype_chooser.init', array('chooseqtype'), false, $module); }
/** * Print a form to let the user choose which question type to add. * When the form is submitted, it goes to the question.php script. * @param $hiddenparams hidden parameters to add to the form, in addition to * the qtype radio buttons. */ function print_choose_qtype_to_add_form($hiddenparams) { global $CFG, $QTYPES; require_js(array('yui_yahoo', 'yui_dom', 'yui_event')); require_js('question/qbank.js'); echo '<div id="chooseqtypehead" class="hd">' . "\n"; print_heading(get_string('chooseqtypetoadd', 'question'), '', 3); echo "</div>\n"; echo '<div id="chooseqtype">' . "\n"; echo '<form action="' . $CFG->wwwroot . '/question/question.php" method="get"><div id="qtypeformdiv">' . "\n"; foreach ($hiddenparams as $name => $value) { echo '<input type="hidden" name="' . s($name) . '" value="' . s($value) . '" />' . "\n"; } echo "</div>\n"; echo '<div class="qtypes">' . "\n"; echo '<div class="instruction">' . get_string('selectaqtypefordescription', 'question') . "</div>\n"; echo '<div class="realqtypes">' . "\n"; $types = question_type_menu(); $fakeqtypes = array(); foreach ($types as $qtype => $localizedname) { if ($QTYPES[$qtype]->is_real_question_type()) { print_qtype_to_add_option($qtype, $localizedname); } else { $fakeqtypes[$qtype] = $localizedname; } } echo "</div>\n"; echo '<div class="fakeqtypes">' . "\n"; foreach ($fakeqtypes as $qtype => $localizedname) { print_qtype_to_add_option($qtype, $localizedname); } echo "</div>\n"; echo "</div>\n"; echo '<div class="submitbuttons">' . "\n"; echo '<input type="submit" value="' . get_string('next') . '" id="chooseqtype_submit" />' . "\n"; echo '<input type="submit" id="chooseqtypecancel" name="addcancel" value="' . get_string('cancel') . '" />' . "\n"; echo "</div></form>\n"; echo "</div>\n"; print_js_call('qtype_chooser.init', array('chooseqtype')); }