quiz editing / question bank: MDL-18355 Convert the add question drop-down to be a button that pops up a YUI dialogue.
That allows us to have a few sentences explanation of each question type, and is also easier to fit into a tight layout. This commit should also fix MDL-18214 Layout screwed in Safari with long category names.
This commit is contained in:
@@ -1,10 +1,14 @@
|
||||
<?php
|
||||
$string['addingcalculated'] = 'Adding a Calculated question';
|
||||
$string['addmoreanswerblanks'] = 'Add another answer blank.';
|
||||
$string['addmoreunitblanks'] = 'Blanks for $a More Units';
|
||||
$string['answerhdr'] = 'Answer';
|
||||
$string['atleastoneanswer'] = 'You need to provide at least one answer.';
|
||||
$string['calculated'] = 'Calculated';
|
||||
$string['calculatedsummary'] = 'Calculated questions are like numerical questions but with the numbers used selected randomly from a set when the quiz is taken.';
|
||||
$string['correctanswershows'] = 'Correct answer shows';
|
||||
$string['correctanswershowsformat'] = 'Format';
|
||||
$string['editingcalculated'] = 'Editing a Calculated question';
|
||||
$string['existingcategory1'] = 'will use an already existing shared dataset';
|
||||
$string['keptcategory1'] = 'will use the same existing shared dataset as before';
|
||||
$string['keptlocal1'] = 'will use the same existing private dataset as before';
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
$string['addingdescription'] = 'Adding a Description';
|
||||
$string['editingdescription'] = 'Editing a Description';
|
||||
$string['description'] = 'Description';
|
||||
$string['descriptionsummary'] = 'This is not actually a question. Instead it is a way to add some instructions, rubric or other content to the quiz. This is similar to the way that Labels can be used to add content to the course page.';
|
||||
?>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
$string['addingessay'] = 'Adding an Essay question';
|
||||
$string['editingessay'] = 'Editing a Essay question';
|
||||
$string['essay'] = 'Essay';
|
||||
$string['essaysummary'] = 'Allows a response of a few sentences or paragraphs. This must then be graded manually.';
|
||||
?>
|
||||
@@ -1,6 +1,10 @@
|
||||
<?php
|
||||
$string['addingmatch'] = 'Adding a Matching question';
|
||||
$string['addmoreqblanks'] = '{no} More Sets of Blanks';
|
||||
$string['editingmatch'] = 'Editing a Matching question';
|
||||
$string['filloutthreeqsandtwoas'] = 'You must provide at least two questions and three answers. You can provide extra wrong answers by giving an answer with a blank question. Entries where both the question and the answer are blank will be ignored.';
|
||||
$string['match'] = 'Matching';
|
||||
$string['matchsummary'] = 'The answer to each of a number of sub-question must be selected from a list of possibilities.';
|
||||
$string['nomatchinganswerforq'] = 'You must specify an answer for this question.';
|
||||
$string['notenoughquestions'] = 'You must supply at least $a question and answer pairs.';
|
||||
$string['notenoughqsandas'] = 'You must supply at least $a->q questions and $a->a answers.';
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php // $Id: qtype_missingtype.php,v 1.1 2008-09-09 08:43:39 tjhunt Exp $
|
||||
<?php // $Id$
|
||||
|
||||
$string['missingtype'] = 'Missing type';
|
||||
$string['editingmissingtype'] = 'Editing a question of an unknown type';
|
||||
$string['warningmissingtype'] = '<b>This question is of a type that has not been installed on your Moodle yet.<br />Please alert your Moodle administrator.</b>';
|
||||
?>
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
<?php
|
||||
$string['addingmultianswer'] = 'Adding an Embedded answers (Cloze)';
|
||||
$string['addingmultianswer'] = 'Adding an Embedded answers (Cloze) question';
|
||||
$string['correctanswer'] = 'Correct Answer';
|
||||
$string['correctanswerandfeedback'] = 'Correct Answer and Feedback';
|
||||
$string['decodeverifyquestiontext'] = 'Decode and Verify the Question Text';
|
||||
$string['editingmultianswer'] = 'Editing an Embedded answers (Cloze)';
|
||||
$string['editingmultianswer'] = 'Editing an Embedded answers (Cloze) question';
|
||||
$string['layout'] = 'Layout';
|
||||
$string['layoutselectinline'] = 'Dropdown menu in-line in the text';
|
||||
$string['layouthorizontal'] = 'Horizontal row of radio-buttons';
|
||||
$string['layoutundefined'] = 'Undefined layout';
|
||||
$string['layoutvertical'] = 'Vertical column of radio buttons';
|
||||
$string['multianswer'] = 'Embedded answers (Cloze)';
|
||||
$string['multianswersummary'] = 'Questions of this type are very flexible, but can only be created by entering text containing special codes that create embedded multiple choice, short answers and numerical questions.';
|
||||
$string['nooptionsforsubquestion'] = 'Unable to get options for question part # $a->sub (question->id={$a->id})';
|
||||
$string['noquestions'] = 'The Cloze(multianswer) question \"<strong>$a</strong>\" does not contain any question ';
|
||||
$string['qtypenotrecognized'] = 'questiontype $a not recognized';
|
||||
|
||||
@@ -24,6 +24,7 @@ $string['fractionsaddwrong'] = 'The positive grades you have chosen do not add u
|
||||
$string['fractionsnomax'] = 'One of the choices should be 100%%, so that it is<br />possible to get a full grade for this question.<br />Do you want to go back and fix this question?';
|
||||
$string['incorrectfeedback'] = 'For any incorrect response';
|
||||
$string['multichoice'] = 'Multiple choice';
|
||||
$string['multichoicesummary'] = 'Allows the selection of a single or multiple responses from a pre-defined list.';
|
||||
$string['notenoughanswers'] = 'This type of question requires at least $a choices';
|
||||
$string['overallfeedback'] = 'Overall Feedback';
|
||||
$string['overallcorrectfeedback'] = 'Feedback for any correct response';
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
<?php
|
||||
$string['addingnumerical'] = 'Adding a Numerical question';
|
||||
$string['addmoreanswerblanks'] = 'Blanks for {no} More Answers';
|
||||
$string['addmoreunitblanks'] = 'Blanks for {no} More Units';
|
||||
$string['answerno'] = 'Answer $a';
|
||||
$string['answermustbenumberorstar'] = 'The answer must be a number, or \'*\'.';
|
||||
$string['editingnumerical'] = 'Editing a Numerical question';
|
||||
$string['errorrepeatedunit'] = 'You cannot have two units with the same name.';
|
||||
$string['errornomultiplier'] = 'You must specify a multiplier for this unit.';
|
||||
$string['notenoughanswers'] = 'You must enter at least one answer.';
|
||||
$string['numerical'] = 'Numerical';
|
||||
$string['numericalsummary'] = 'Allows a numerical response, possibly with units, that is graded by comparing against various model answers, possibly with tolerances.';
|
||||
$string['unithdr'] = 'Unit $a';
|
||||
?>
|
||||
@@ -1,5 +1,7 @@
|
||||
<?php
|
||||
$string['configselectmanualquestions'] = 'Can the random question type select a manually graded question when it is making its random choice of a question from a category?';
|
||||
$string['editingrandom'] = 'Editing a Random question';
|
||||
$string['random'] = 'Random';
|
||||
$string['randomqname'] = 'Random ($a)';
|
||||
$string['randomqplusname'] = 'Random ($a and sub-categories)';
|
||||
$string['selectmanualquestions'] = 'Random questions can use manually graded questions';
|
||||
|
||||
@@ -4,4 +4,5 @@ $string['editingrandomsamatch'] = 'Editing a Random short-answer matching questi
|
||||
$string['nosaincategory'] = 'There are no short answer questions in the category that you chose \'$a->catname\'. Choose a different category, make some questions in this category.';
|
||||
$string['notenoughsaincategory'] = 'There is/are only $a->nosaquestions short answer questions in the category that you chose \'$a->catname\'. Choose a different category, make some more questions in this category or reduce the amount of questions you\'ve selected.';
|
||||
$string['randomsamatch'] = 'Random short-answer matching';
|
||||
$string['randomsamatchsummary'] = 'Like a Matching question, but created randomly from the shortanswer questions in a particular category.';
|
||||
?>
|
||||
@@ -6,4 +6,5 @@ $string['answerno'] = 'Answer $a';
|
||||
$string['editingshortanswer'] = 'Editing a Short answer question';
|
||||
$string['filloutoneanswer'] = 'You must provide at least one possible answer. Answers left blank will not be used. \'*\' can be used as a wildcard to match any characters. The first matching answer will be used to determine the score and feedback.';
|
||||
$string['shortanswer'] = 'Short answer';
|
||||
$string['shortanswersummary'] = 'Allows a response of one or a few words that is graded by comparing against various model answers, which may contain wildcards.';
|
||||
?>
|
||||
@@ -9,5 +9,6 @@ $string['feedbackfalse'] = 'Feedback for the response \'False\'.';
|
||||
$string['feedbacktrue'] = 'Feedback for the response \'True\'.';
|
||||
$string['true'] = 'True';
|
||||
$string['truefalse'] = 'True/False';
|
||||
$string['truefalsesummary'] = 'A simple form of multiple choice question with just the two choices \'True\' and \'False\'.';
|
||||
|
||||
?>
|
||||
|
||||
@@ -49,6 +49,7 @@ $string['changepublishstatuscat'] = '<a href=\"$a->caturl\">Category \"$a->name\
|
||||
$string['chooseqtypetoadd'] = 'Choose a question type to add';
|
||||
$string['clicktoflag'] = 'Click to flag this question';
|
||||
$string['clicktounflag'] = 'Click to un-flag this question';
|
||||
$string['createnewquestion'] = 'Create a new question ...';
|
||||
$string['cwrqpfs'] = 'Random questions selecting questions from sub categories.';
|
||||
$string['cwrqpfsinfo'] = '<p>During the upgrade to Moodle 1.9 we will separate question categories into
|
||||
different contexts. Some question categories and questions on your site will have to have their sharing
|
||||
@@ -161,6 +162,8 @@ $string['questionsrescuedfrominfo'] = 'These questions (some of which may be hid
|
||||
$string['questiontype'] = 'Question type';
|
||||
$string['questionuse'] = 'Use question in this activity';
|
||||
$string['saveflags'] = 'Save the state of the flags';
|
||||
$string['selectacategory'] = 'Select a category:';
|
||||
$string['selectaqtypefordescription'] = 'Select a question type to see its description.';
|
||||
$string['selectquestionsforbulk'] = 'Select questions for bulk actions';
|
||||
$string['shareincontext'] = 'Share in context for $a';
|
||||
$string['tofilecategory'] = 'Write category to file';
|
||||
|
||||
@@ -9,6 +9,7 @@ $string['acceptederror'] = 'Accepted error';
|
||||
$string['accessnoticesheader'] = 'You can preview this quiz, but if this were a real attempt, you would be blocked because:';
|
||||
$string['action'] = 'Action';
|
||||
$string['adaptive'] = 'Adaptive mode';
|
||||
$string['addaquestion'] = 'Add a question ...';
|
||||
$string['addcategory'] = 'Add category';
|
||||
$string['adddescriptionlabel'] = 'Add description/label';
|
||||
$string['addingcalculated'] = 'Adding a Calculated question';
|
||||
@@ -36,6 +37,7 @@ $string['addrandom1'] = '<< Add';
|
||||
$string['addrandom2'] = 'random questions';
|
||||
$string['addrandomfromcategory'] = 'Add random questions from category:';
|
||||
$string['addrandomquestion'] = 'Add random question';
|
||||
$string['addarandomquestion'] = 'Add a random question ...';
|
||||
$string['addrandomquestiontoquiz'] = 'Add random question to quiz $a';
|
||||
$string['addselectedtoquiz'] = 'Add selected to quiz';
|
||||
$string['addtoquiz'] = 'Add to quiz';
|
||||
@@ -186,6 +188,7 @@ $string['createcategoryfornewrandomquestion'] = 'Create a question category for
|
||||
$string['createfirst'] = 'You must create some short-answer questions first.';
|
||||
$string['createmultiple'] = 'Add several random questions to quiz';
|
||||
$string['createnewquestion'] = 'Create new question';
|
||||
$string['createquestionandadd'] = 'Create a new question and add it to the quiz.';
|
||||
$string['custom'] = 'Custom format';
|
||||
$string['dataitemneed'] = 'You need to add at least one set of data items to get a valid question';
|
||||
$string['datasetdefinitions'] = 'Reusable dataset definitions for category $a';
|
||||
|
||||
+18
-47
@@ -555,57 +555,30 @@ function quiz_print_question_list($quiz, $pageurl, $allowdelete=true,
|
||||
*/
|
||||
function quiz_print_pagecontrols($quiz,$pageurl,$page, $hasattempts){
|
||||
global $CFG;
|
||||
$strcreatenewquestion=get_string("createnewquestion",'quiz');
|
||||
$strselectquestiontype=get_string("selectquestiontype",'quiz');
|
||||
echo '<div class="pagecontrols">';
|
||||
// get the current context
|
||||
|
||||
// Get the current context
|
||||
$thiscontext = get_context_instance(CONTEXT_COURSE, $quiz->course);
|
||||
$contexts = new question_edit_contexts($thiscontext);
|
||||
// get default category and turn its infor into a string that works in an url
|
||||
|
||||
// Get the default category.
|
||||
$defaultcategory = question_make_default_categories($contexts->all());
|
||||
$categorystring = "$defaultcategory->id,$defaultcategory->contextid";
|
||||
//create the url the question page will return to
|
||||
$returnurl_addtoquiz=new moodle_url($pageurl->out(true),
|
||||
array("addonpage"=>$page));
|
||||
//create the url of the new question page to forward to. return url is given
|
||||
//as a parameter and automatically urlencoded.
|
||||
|
||||
// Create the url the question page will return to
|
||||
$returnurl_addtoquiz = new moodle_url($pageurl->out(true), array("addonpage" => $page));
|
||||
|
||||
// Print a button linking to the choose question type page.
|
||||
$newquestionparams = array('returnurl' => $returnurl_addtoquiz->out(false),
|
||||
'cmid'=>$quiz->cmid, "appendqnumstring"=>"addquestion", "category"=>$categorystring);
|
||||
$newquestionurl_object = new moodle_url("$CFG->wwwroot/question/question.php",
|
||||
$newquestionparams);
|
||||
$newquestionurl=$newquestionurl_object->out(false);
|
||||
echo get_string("addquestion","quiz").": ";
|
||||
'cmid' => $quiz->cmid, 'appendqnumstring' => 'addquestion');
|
||||
create_new_question_button($defaultcategory->id, $newquestionparams, get_string('addaquestion', 'quiz'),
|
||||
get_string('createquestionandadd', 'quiz'), $hasattempts);
|
||||
|
||||
if ($hasattempts) {
|
||||
$disabled = 'disabled="disabled"';
|
||||
} else {
|
||||
$disabled = '';
|
||||
}
|
||||
popup_form ($newquestionurl.'&qtype=',
|
||||
question_type_menu(),
|
||||
"addquestion_$page",
|
||||
"",
|
||||
$strselectquestiontype,
|
||||
"",
|
||||
"",
|
||||
false,
|
||||
"self",
|
||||
"",
|
||||
null,
|
||||
$strcreatenewquestion, $hasattempts);
|
||||
helpbutton("questiontypes", $strcreatenewquestion, "quiz");
|
||||
echo '<div class="adddescription">';
|
||||
print_single_button($CFG->wwwroot."/question/question.php",
|
||||
array("cmid"=>$quiz->cmid,
|
||||
"courseid"=>$quiz->course,
|
||||
"returnurl"=>$returnurl_addtoquiz->out(false),
|
||||
"appendqnumstring"=>"addquestion",
|
||||
"category"=>$categorystring,
|
||||
"qtype"=>"description"),
|
||||
get_string("adddescriptionlabel","quiz"),'get', '_self', false, '',
|
||||
$hasattempts);
|
||||
echo "\n</div>";
|
||||
?>
|
||||
<div class="addrandomquestion">
|
||||
<div class="singlebutton">
|
||||
<form class="randomquestionform" action="<?php echo $CFG->wwwroot; ?>/mod/quiz/addrandom.php" method="get">
|
||||
<div>
|
||||
@@ -613,14 +586,12 @@ function quiz_print_pagecontrols($quiz,$pageurl,$page, $hasattempts){
|
||||
<input type="hidden" name="cmid" value="<?php echo $quiz->cmid; ?>" />
|
||||
<input type="hidden" name="courseid" value="<?php echo $quiz->course; ?>" />
|
||||
<input type="hidden" name="returnurl" value="<?php echo urlencode($pageurl->out(true)); ?>" />
|
||||
<input type="submit" id="addrandomdialoglaunch_<?php echo $page; ?>" value="<?php echo get_string("addrandomquestion","quiz"); ?>" <?php echo " $disabled"; ?> />
|
||||
<!--<a href="#" id="addrandomdialoglaunch_<?php echo $page; ?>">laa</a>-->
|
||||
<?php helpbutton('random', get_string('random', 'quiz'), 'quiz', true, false, '');
|
||||
?>
|
||||
<input type="submit" id="addrandomdialoglaunch_<?php echo $page; ?>" value="<?php echo get_string('addarandomquestion','quiz'); ?>" <?php echo " $disabled"; ?> />
|
||||
<!--<a href="#" id="addrandomdialoglaunch_<?php echo $page; ?>">laa</a>-->
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<?php helpbutton('random', get_string('random', 'quiz'), 'quiz', true, false, ''); ?>
|
||||
<?php
|
||||
echo "\n</div>";
|
||||
}
|
||||
@@ -976,8 +947,8 @@ class question_bank_question_name_text_column extends question_bank_question_nam
|
||||
class quiz_question_bank_view extends question_bank_view {
|
||||
protected $quizhasattempts = false;
|
||||
|
||||
protected function know_field_types() {
|
||||
$types = parent::know_field_types();
|
||||
protected function known_field_types() {
|
||||
$types = parent::known_field_types();
|
||||
$types[] = new question_bank_add_to_quiz_action_column($this);
|
||||
$types[] = new question_bank_question_name_text_column($this);
|
||||
return $types;
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
<?php // $Id$
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// NOTICE OF COPYRIGHT //
|
||||
// //
|
||||
// Moodle - Modular Object-Oriented Dynamic Learning Environment //
|
||||
// http://moodle.org //
|
||||
// //
|
||||
// Copyright (C) 1999 onwards Martin Dougiamas http://dougiamas.com //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
// the Free Software Foundation; either version 2 of the License, or //
|
||||
// (at your option) any later version. //
|
||||
// //
|
||||
// This program is distributed in the hope that it will be useful, //
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
|
||||
// GNU General Public License for more details: //
|
||||
// //
|
||||
// http://www.gnu.org/copyleft/gpl.html //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* Shows a screen where the user can choose a question type, before being
|
||||
* redirected to question.php
|
||||
*
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
|
||||
* @package questionbank
|
||||
*//** */
|
||||
|
||||
require_once(dirname(__FILE__) . '/../config.php');
|
||||
require_once(dirname(__FILE__) . '/editlib.php');
|
||||
|
||||
// Read URL parameters.
|
||||
$categoryid = required_param('category', PARAM_INT);
|
||||
$cmid = optional_param('cmid', 0, PARAM_INT);
|
||||
$courseid = optional_param('courseid', 0, PARAM_INT);
|
||||
$returnurl = optional_param('returnurl', 0, PARAM_LOCALURL);
|
||||
$appendqnumstring = optional_param('appendqnumstring', '', PARAM_ALPHA);
|
||||
|
||||
// Place to accumulate hidden params for the form we will print.
|
||||
$hiddenparams = array('category' => $categoryid);
|
||||
|
||||
// Validate params.
|
||||
if (!$category = $DB->get_record('question_categories', array('id' => $categoryid))) {
|
||||
print_error('categorydoesnotexist', 'question', $returnurl);
|
||||
}
|
||||
|
||||
if ($cmid){
|
||||
list($module, $cm) = get_module_from_cmid($cmid);
|
||||
require_login($cm->course, false, $cm);
|
||||
$thiscontext = get_context_instance(CONTEXT_MODULE, $cmid);
|
||||
$hiddenparams['cmid'] = $cmid;
|
||||
} else if ($courseid) {
|
||||
require_login($courseid, false);
|
||||
$thiscontext = get_context_instance(CONTEXT_COURSE, $courseid);
|
||||
$module = null;
|
||||
$cm = null;
|
||||
$hiddenparams['courseid'] = $courseid;
|
||||
} else {
|
||||
print_error('missingcourseorcmid', 'question');
|
||||
}
|
||||
|
||||
// Check permissions.
|
||||
$categorycontext = get_context_instance_by_id($category->contextid);
|
||||
require_capability('moodle/question:add', $categorycontext);
|
||||
|
||||
// Ensure other optional params get passed on to question.php.
|
||||
if (!empty($returnurl)) {
|
||||
$hiddenparams['returnurl'] = $returnurl;
|
||||
}
|
||||
if (!empty($appendqnumstring)) {
|
||||
$hiddenparams['appendqnumstring'] = $appendqnumstring;
|
||||
}
|
||||
|
||||
$chooseqtype = get_string('chooseqtypetoadd', 'question');
|
||||
if ($cm !== null) {
|
||||
$navlinks = array();
|
||||
if (stripos($returnurl, "$CFG->wwwroot/mod/{$cm->modname}/view.php")!== 0){
|
||||
//don't need this link if returnurl returns to view.php
|
||||
$navlinks[] = array('name' => get_string('editinga', 'moodle', get_string('modulename', $cm->modname)), 'link' => $returnurl, 'type' => 'title');
|
||||
}
|
||||
$navlinks[] = array('name' => $chooseqtype, 'link' => '', 'type' => 'title');
|
||||
$navigation = build_navigation($navlinks, $cm);
|
||||
print_header_simple($chooseqtype, '', $navigation, '', '', true, update_module_button($cm->id, $cm->course, get_string('modulename', $cm->modname)));
|
||||
|
||||
} else {
|
||||
$navlinks = array();
|
||||
$navlinks[] = array('name' => get_string('editquestions', 'question'), 'link' => $returnurl, 'type' => 'title');
|
||||
$navlinks[] = array('name' => $chooseqtype, 'link' => '', 'type' => 'title');
|
||||
$navigation = build_navigation($navlinks);
|
||||
print_header_simple($chooseqtype, '', $navigation);
|
||||
}
|
||||
|
||||
// Display a form to choose the question type.
|
||||
print_box_start('generalbox boxwidthnormal boxaligncenter', 'chooseqtypebox');
|
||||
print_choose_qtype_to_add_form($hiddenparams);
|
||||
print_box_end();
|
||||
|
||||
print_footer($COURSE);
|
||||
|
||||
|
||||
?>
|
||||
+6
-8
@@ -39,6 +39,8 @@
|
||||
|
||||
// TODO log this page view.
|
||||
|
||||
$localcss = '<link rel="stylesheet" type="text/css" href="'.$CFG->wwwroot.
|
||||
'/lib/yui/container/assets/container.css" />';
|
||||
$context = $contexts->lowest();
|
||||
$streditingquestions = get_string('editquestions', "quiz");
|
||||
if ($cm!==null) {
|
||||
@@ -50,7 +52,7 @@
|
||||
$navlinks[] = array('name' => format_string($module->name), 'link' => "$CFG->wwwroot/mod/{$cm->modname}/view.php?id={$cm->id}", 'type' => 'title');
|
||||
$navlinks[] = array('name' => $streditingquestions, 'link' => '', 'type' => 'title');
|
||||
$navigation = build_navigation($navlinks);
|
||||
print_header_simple($streditingquestions, '', $navigation, "", "", true, $strupdatemodule);
|
||||
print_header_simple($streditingquestions, '', $navigation, '', $localcss, true, $strupdatemodule);
|
||||
|
||||
$currenttab = 'edit';
|
||||
$mode = 'questions';
|
||||
@@ -62,22 +64,18 @@
|
||||
$navlinks[] = array('name' => $streditingquestions, 'link' => '', 'type' => 'title');
|
||||
$navigation = build_navigation($navlinks);
|
||||
|
||||
print_header_simple($streditingquestions, '', $navigation);
|
||||
print_header_simple($streditingquestions, '', $navigation, '', $localcss);
|
||||
|
||||
// print tabs
|
||||
$currenttab = 'questions';
|
||||
include('tabs.php');
|
||||
}
|
||||
|
||||
echo '<table class="boxaligncenter" border="0" cellpadding="2" cellspacing="0">';
|
||||
echo '<tr><td valign="top">';
|
||||
|
||||
echo '<div class="questionbankwindow boxwidthwide boxaligncenter">';
|
||||
$questionbank->display('questions', $pagevars['qpage'],
|
||||
$pagevars['qperpage'], $pagevars['qsortorder'], $pagevars['qsortorderdecoded'],
|
||||
$pagevars['cat'], $pagevars['recurse'], $pagevars['showhidden'], $pagevars['showquestiontext']);
|
||||
|
||||
echo '</td></tr>';
|
||||
echo '</table>';
|
||||
echo "</div>\n";
|
||||
|
||||
print_footer($COURSE);
|
||||
?>
|
||||
|
||||
+97
-20
@@ -651,7 +651,7 @@ class question_bank_move_action_column extends question_bank_action_column_base
|
||||
|
||||
protected function display_content($question, $rowclasses) {
|
||||
if (question_has_capability_on($question, 'move')) {
|
||||
$this->print_icon('move', $this->strmove, $this->qbank->move_question_url($question->id));
|
||||
$this->print_icon('t/move.gif', $this->strmove, $this->qbank->move_question_url($question->id));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -676,9 +676,9 @@ class question_bank_delete_action_column extends question_bank_action_column_bas
|
||||
protected function display_content($question, $rowclasses) {
|
||||
if (question_has_capability_on($question, 'edit')) {
|
||||
if ($question->hidden) {
|
||||
$this->print_icon('restore', $this->strrestore, $this->qbank->base_url()->out(false, array('unhide' => $question->id)));
|
||||
$this->print_icon('t/restore.gif', $this->strrestore, $this->qbank->base_url()->out(false, array('unhide' => $question->id)));
|
||||
} else {
|
||||
$this->print_icon('delete', $this->strdelete,
|
||||
$this->print_icon('t/delete.gif', $this->strdelete,
|
||||
$this->qbank->base_url()->out(false, array('deleteselected' => $question->id, 'q' . $question->id => 1)));
|
||||
}
|
||||
}
|
||||
@@ -817,7 +817,7 @@ class question_bank_view {
|
||||
return $columns;
|
||||
}
|
||||
|
||||
protected function know_field_types() {
|
||||
protected function known_field_types() {
|
||||
return array(
|
||||
new question_bank_checkbox_column($this),
|
||||
new question_bank_question_type_column($this),
|
||||
@@ -834,7 +834,7 @@ class question_bank_view {
|
||||
|
||||
protected function init_column_types() {
|
||||
$this->knowncolumntypes = array();
|
||||
foreach ($this->know_field_types() as $col) {
|
||||
foreach ($this->known_field_types() as $col) {
|
||||
$this->knowncolumntypes[$col->get_name()] = $col;
|
||||
}
|
||||
}
|
||||
@@ -1156,15 +1156,12 @@ class question_bank_view {
|
||||
global $CFG;
|
||||
|
||||
/// Get all the existing categories now
|
||||
echo '<div class="choosecategory">';
|
||||
$catmenu = question_category_options($contexts, false, 0, true);
|
||||
|
||||
$strcategory = get_string('selectcategory', 'quiz');
|
||||
$strshow = get_string('show', 'quiz');
|
||||
$streditcats = get_string('editcategories', 'quiz');
|
||||
|
||||
popup_form('edit.php?'.$pageurl->get_query_string().'&category=',
|
||||
$catmenu, 'catmenu', $current, '', '', '', false, 'self',
|
||||
$strcategory);
|
||||
get_string('selectacategory', 'question'));
|
||||
echo "</div>\n";
|
||||
}
|
||||
|
||||
protected function display_options($recurse = 1, $showhidden = false, $showquestiontext = false) {
|
||||
@@ -1193,13 +1190,11 @@ class question_bank_view {
|
||||
}
|
||||
|
||||
protected function create_new_question_form($category, $canadd) {
|
||||
$qtypemenu = question_type_menu();
|
||||
$straddquestions = get_string('addquestions', 'quiz');
|
||||
global $CFG;
|
||||
echo '<div class="createnewquestion">';
|
||||
if ($canadd) {
|
||||
popup_form($this->editquestionurl->out(false, array('category' => $category->id)) . '&qtype=',
|
||||
$qtypemenu, 'addquestion', '', 'choose', '', '', false, 'self', $straddquestions);
|
||||
helpbutton('questiontypes', $straddquestions, 'quiz');
|
||||
create_new_question_button($category->id, $this->editquestionurl->params(),
|
||||
get_string('createnewquestion', 'question'));
|
||||
} else {
|
||||
print_string('nopermissionadd', 'question');
|
||||
}
|
||||
@@ -1259,8 +1254,8 @@ class question_bank_view {
|
||||
echo '<fieldset class="invisiblefieldset" style="display: block;">';
|
||||
echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
|
||||
echo $pageurl->hidden_params_out();
|
||||
echo '<div class="categoryquestionscontainer">';
|
||||
|
||||
echo '<div class="categoryquestionscontainer">';
|
||||
$this->start_table();
|
||||
$rowcount = 0;
|
||||
foreach ($questions as $question) {
|
||||
@@ -1268,6 +1263,7 @@ class question_bank_view {
|
||||
$rowcount += 1;
|
||||
}
|
||||
$this->end_table();
|
||||
echo "</div>\n";
|
||||
|
||||
echo '<div class="categorypagingbarcontainer pagingbottom">';
|
||||
$paging = print_paging_bar($totalnumber, $page, $perpage, $pageurl, 'qpage', false, true);
|
||||
@@ -1400,7 +1396,7 @@ class question_bank_view {
|
||||
$checkforfiles = true;
|
||||
}
|
||||
}
|
||||
$returnurl = $pageurl->out(false, array('category'=>"$tocategoryid,$contextid"));
|
||||
$returnurl = $this->baseurl->out(false, array('category'=>"$tocategoryid,$contextid"));
|
||||
if (!$checkforfiles){
|
||||
if (!question_move_questions_to_category(implode(',', $questionids), $tocategory->id)) {
|
||||
print_error('errormovingquestions', 'question', $returnurl, $questionids);
|
||||
@@ -1439,7 +1435,7 @@ class question_bank_view {
|
||||
}
|
||||
}
|
||||
}
|
||||
redirect($pageurl->out());
|
||||
redirect($this->baseurl->out());
|
||||
} else {
|
||||
print_error('invalidconfirm', 'question');
|
||||
}
|
||||
@@ -1452,7 +1448,7 @@ class question_bank_view {
|
||||
if(!$DB->set_field('question', 'hidden', 0, array('id', $unhide))) {
|
||||
print_error('cannotunhidequestion', 'question');
|
||||
}
|
||||
redirect($pageurl->out());
|
||||
redirect($this->baseurl->out());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1821,4 +1817,85 @@ function require_login_in_context($contextorid = null){
|
||||
require_login();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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";
|
||||
$types = question_type_menu();
|
||||
echo '<div class="qtypes">' . "\n";
|
||||
echo '<div class="instruction">' . get_string('selectaqtypefordescription', 'question') . "</div>\n";
|
||||
foreach ($types as $qtype => $localizedname) {
|
||||
print_qtype_to_add_option($qtype, $localizedname);
|
||||
}
|
||||
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'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Private function used by the preceding one.
|
||||
* @param $qtype the question type.
|
||||
* @param $localizedname the localized name of this question type.
|
||||
*/
|
||||
function print_qtype_to_add_option($qtype, $localizedname) {
|
||||
global $QTYPES;
|
||||
echo '<div class="qtypeoption">' . "\n";
|
||||
echo '<input type="radio" name="qtype" id="qtype_' . $qtype . '" value="' . $qtype . '" />';
|
||||
echo '<label for="qtype_' . $qtype . '"><span class="qtypename">';
|
||||
$fakequestion = new stdClass;
|
||||
$fakequestion->qtype = $qtype;
|
||||
print_question_icon($fakequestion);
|
||||
echo $localizedname . '</span><span class="qtypesummary">' . get_string($qtype . 'summary', 'qtype_' . $qtype);
|
||||
echo "</span></label>\n";
|
||||
echo "</div>\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* Print a button for creating a new question. This will open question/addquestion.php,
|
||||
* which in turn goes to question/question.php before getting back to $params['returnurl']
|
||||
* (by default the question bank screen).
|
||||
*
|
||||
* @param integer $categoryid The id of the category that the new question should be added to.
|
||||
* @param array $params Other paramters to add to the URL. You need either $params['cmid'] or
|
||||
* $params['courseid'], and you should probably set $params['returnurl']
|
||||
* @param string $caption the text to display on the button.
|
||||
* @param string $tooltip a tooltip to add to the button (optional).
|
||||
* @param boolean $disabled if true, the button will be disabled.
|
||||
*/
|
||||
function create_new_question_button($categoryid, $params, $caption, $tooltip = '', $disabled = false) {
|
||||
global $CFG;
|
||||
static $choiceformprinted = false;
|
||||
$params['category'] = $categoryid;
|
||||
print_single_button($CFG->wwwroot . '/question/addquestion.php', $params,
|
||||
$caption,'get', '', false, $tooltip, $disabled);
|
||||
helpbutton('questiontypes', get_string('createnewquestion', 'question'), 'question');
|
||||
require_js(array('yui_yahoo','yui_dom','yui_event', 'yui_dragdrop', 'yui_container'));
|
||||
if (!$choiceformprinted) {
|
||||
echo '<div id="qtypechoicecontainer">';
|
||||
print_choose_qtype_to_add_form(array());
|
||||
echo "</div>\n";
|
||||
$choiceformprinted = true;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
+99
-1
@@ -1,5 +1,6 @@
|
||||
// This script is included by question_bank_view in question/editlib.php.
|
||||
// This script is included by question_bank_view and other parts of question/editlib.php.
|
||||
|
||||
// JavaScript belonging to question_bank_view.
|
||||
question_bank = {
|
||||
strselectall: '',
|
||||
strdeselectall: '',
|
||||
@@ -33,3 +34,100 @@ question_bank = {
|
||||
question_bank.headercheckbox.checked = false;
|
||||
}
|
||||
};
|
||||
|
||||
// JavaScript to make the list of question types pop-up when you click an add
|
||||
// add question button.
|
||||
qtype_chooser = {
|
||||
radiobuttons: [],
|
||||
labels: [],
|
||||
container: null,
|
||||
submitbutton: null,
|
||||
|
||||
init: function(boxid) {
|
||||
// Find the radio buttons.
|
||||
qtype_chooser.radiobuttons = YAHOO.util.Dom.getElementsBy(
|
||||
function(el) { return el.type == 'radio'; }, 'input' , boxid);
|
||||
qtype_chooser.labels = YAHOO.util.Dom.getElementsByClassName('qtypeoption', 'div', boxid);
|
||||
|
||||
// Find the submit button.
|
||||
qtype_chooser.submitbutton = document.getElementById(boxid + '_submit');
|
||||
qtype_chooser.enable_disable_submit();
|
||||
|
||||
// Add the event handlers.
|
||||
YAHOO.util.Event.addListener(boxid, 'click', qtype_chooser.enable_disable_submit);
|
||||
YAHOO.util.Event.addListener(boxid, 'key_down', qtype_chooser.enable_disable_submit);
|
||||
YAHOO.util.Event.addListener(boxid, 'key_up', qtype_chooser.enable_disable_submit);
|
||||
YAHOO.util.Event.addListener(boxid, 'dblclick', qtype_chooser.double_click);
|
||||
|
||||
YAHOO.util.Event.onDOMReady(qtype_chooser.init_container);
|
||||
},
|
||||
|
||||
enable_disable_submit: function() {
|
||||
var ok = false;
|
||||
for (var i = 0; i < qtype_chooser.radiobuttons.length; i++) {
|
||||
if (qtype_chooser.radiobuttons[i].checked) {
|
||||
ok = true;
|
||||
YAHOO.util.Dom.addClass(qtype_chooser.labels[i], 'selected');
|
||||
} else {
|
||||
YAHOO.util.Dom.removeClass(qtype_chooser.labels[i], 'selected');
|
||||
}
|
||||
}
|
||||
qtype_chooser.submitbutton.disabled = !ok;
|
||||
},
|
||||
|
||||
double_click: function() {
|
||||
if (!qtype_chooser.submitbutton.disabled) {
|
||||
qtype_chooser.submitbutton.form.submit();
|
||||
}
|
||||
},
|
||||
|
||||
init_container: function() {
|
||||
if (!document.getElementById('qtypechoicecontainer')) {
|
||||
return;
|
||||
}
|
||||
qtype_chooser.container = new YAHOO.widget.Dialog('qtypechoicecontainer', {
|
||||
constraintoviewport: true,
|
||||
visible: false,
|
||||
modal: true,
|
||||
fixedcenter: true,
|
||||
close: true,
|
||||
draggable: true,
|
||||
dragOnly: true,
|
||||
postmethod: 'form',
|
||||
zIndex: 1000
|
||||
});
|
||||
qtype_chooser.container.render();
|
||||
|
||||
YAHOO.util.Event.addListener('chooseqtypecancel', 'click', qtype_chooser.cancel_popup);
|
||||
|
||||
var addforms = YAHOO.util.Dom.getElementsBy(function(el) {
|
||||
return /question\/addquestion\.php/.test(el.action); }, 'form', document.body);
|
||||
for (var i = 0; i < addforms.length; i++) {
|
||||
YAHOO.util.Event.addListener(addforms[i], 'submit', qtype_chooser.add_button_click);
|
||||
}
|
||||
},
|
||||
|
||||
add_button_click: function(e) {
|
||||
var form = document.getElementById('qtypeformdiv');
|
||||
|
||||
var oldhidden = YAHOO.util.Dom.getElementsBy(
|
||||
function(el) { return el.type == 'hidden'; }, 'input', form);
|
||||
for (var i = 0; i < oldhidden.length; i++) {
|
||||
oldhidden[i].parentNode.removeChild(oldhidden[i]);
|
||||
}
|
||||
|
||||
var wantedhidden = YAHOO.util.Dom.getElementsBy(
|
||||
function(el) { return el.type == 'hidden'; }, 'input', this);
|
||||
for (i = 0; i < wantedhidden.length; i++) {
|
||||
form.appendChild(wantedhidden[i].cloneNode(true));
|
||||
}
|
||||
|
||||
qtype_chooser.container.show();
|
||||
YAHOO.util.Event.preventDefault(e);
|
||||
},
|
||||
|
||||
cancel_popup: function(e) {
|
||||
qtype_chooser.container.hide();
|
||||
YAHOO.util.Event.preventDefault(e);
|
||||
}
|
||||
};
|
||||
@@ -48,6 +48,10 @@ if (!$returnurl) {
|
||||
$returnurl = "{$CFG->wwwroot}/question/edit.php?courseid={$COURSE->id}";
|
||||
}
|
||||
|
||||
if (optional_param('addcancel', false, PARAM_BOOL)) {
|
||||
redirect($returnurl);
|
||||
}
|
||||
|
||||
if ($id) {
|
||||
if (!$question = $DB->get_record('question', array('id' => $id))) {
|
||||
print_error('questiondoesnotexist', 'question', $returnurl);
|
||||
@@ -228,7 +232,7 @@ if ($mform->is_cancelled()){
|
||||
}
|
||||
} else {
|
||||
|
||||
list($streditingquestion,) = $QTYPES[$question->qtype]->get_heading();
|
||||
$streditingquestion = $QTYPES[$question->qtype]->get_heading();
|
||||
if ($cm !== null) {
|
||||
$strmodule = get_string('modulename', $cm->modname);
|
||||
$strupdatemodule = has_capability('moodle/course:manageactivities', get_context_instance(CONTEXT_COURSE, $COURSE->id))
|
||||
|
||||
@@ -809,6 +809,18 @@ table.message_search_results td {
|
||||
*** Question
|
||||
***/
|
||||
|
||||
#qtypechoicecontainer #chooseqtype .qtypes {
|
||||
border-bottom-color: grey;
|
||||
}
|
||||
#qtypechoicecontainer #chooseqtype .selected {
|
||||
background: #dddddd;
|
||||
}
|
||||
#qtypechoicecontainer #chooseqtype .instruction,
|
||||
#qtypechoicecontainer #chooseqtype .qtypesummary {
|
||||
border-left-color: grey;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.que {
|
||||
border-color: #DDD;
|
||||
}
|
||||
|
||||
@@ -725,6 +725,17 @@ body#grade-index .grades .header {
|
||||
*** Question
|
||||
***/
|
||||
|
||||
#chooseqtype .instruction,
|
||||
#chooseqtype .qtypesummary {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
#chooseqtype .qtypename {
|
||||
font-weight: bold;
|
||||
}
|
||||
#qtypechoicecontainer #chooseqtype .qtypename {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.que .info h2 {
|
||||
font-size: 1.25em;
|
||||
font-weight: bold;
|
||||
|
||||
@@ -2897,6 +2897,67 @@ body.notes .notesgroup {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
#chooseqtypebox {
|
||||
margin-top: 1em;
|
||||
}
|
||||
#chooseqtype h3 {
|
||||
margin: 0 0 0.3em;
|
||||
}
|
||||
#chooseqtype .instruction {
|
||||
display: none;
|
||||
}
|
||||
#chooseqtype .qtypeoption {
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
#chooseqtype .qtypename img {
|
||||
padding: 0 0.3em;
|
||||
}
|
||||
#chooseqtype .qtypesummary {
|
||||
display: block;
|
||||
margin: 0 2em;
|
||||
}
|
||||
#chooseqtype .submitbuttons {
|
||||
margin: 0.7em 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#qtypechoicecontainer {
|
||||
display: none;
|
||||
}
|
||||
body.jsenabled #qtypechoicecontainer {
|
||||
display: block;
|
||||
}
|
||||
#qtypechoicecontainer #chooseqtype {
|
||||
width: 30em;
|
||||
}
|
||||
#qtypechoicecontainer #chooseqtypehead h3 {
|
||||
margin: 0;
|
||||
}
|
||||
#qtypechoicecontainer #chooseqtype .qtypes {
|
||||
position: relative;
|
||||
border-bottom: 1px solid grey;
|
||||
padding: 0.24em 0;
|
||||
}
|
||||
#qtypechoicecontainer #chooseqtype .qtypeoption {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
#qtypechoicecontainer #chooseqtype .instruction,
|
||||
#qtypechoicecontainer #chooseqtype .qtypesummary {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
left: 60%;
|
||||
margin: 0;
|
||||
border-left: 1px solid grey;
|
||||
padding: 0.3em 0.5em;
|
||||
}
|
||||
#qtypechoicecontainer #chooseqtype .instruction,
|
||||
#qtypechoicecontainer #chooseqtype .selected .qtypesummary {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.que {
|
||||
text-align: left;
|
||||
margin: 0 auto 1.8em auto;
|
||||
@@ -4831,50 +4892,34 @@ table.quizreviewsummary td.cell {
|
||||
z-index:999;
|
||||
}
|
||||
|
||||
#mod-quiz-edit .quizpagedelete img{
|
||||
#mod-quiz-edit .quizpagedelete img {
|
||||
background-color:#d6d6d6;
|
||||
padding:0.5em;
|
||||
}
|
||||
|
||||
#mod-quiz-edit .pagecontrols{
|
||||
#mod-quiz-edit .pagecontrols {
|
||||
clear:both;
|
||||
margin-left:0.5em;
|
||||
padding-top:0.5em;
|
||||
}
|
||||
|
||||
#mod-quiz-edit .pagecontrols .singlebutton{
|
||||
float:left;
|
||||
#mod-quiz-edit .pagecontrols .singlebutton {
|
||||
float:left;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
#mod-quiz-edit div.quizpage .pagecontent form#addquestion{
|
||||
margin-right:1em;
|
||||
-webkit-border-radius:0.2em;
|
||||
border-radius:0.2em;
|
||||
padding:0.3em;
|
||||
}
|
||||
|
||||
#mod-quiz-edit div.quizpage .pagecontent form.randomquestionform{
|
||||
padding-left:1em;
|
||||
#mod-quiz-edit .pagecontrols .helplink {
|
||||
float:left;
|
||||
}
|
||||
|
||||
#mod-quiz-edit div.quizpage .pagecontent form.randomquestionform div{
|
||||
/* it is a mystery why this has to be inline-table but
|
||||
otherwise the layout gets screwed, even if
|
||||
it is "inline" */
|
||||
display:inline-table;
|
||||
display: inline-table;
|
||||
}
|
||||
|
||||
#mod-quiz-edit div.quizpage .pagecontent form.randomquestionform div input{
|
||||
display:inline;
|
||||
}
|
||||
|
||||
#mod-quiz-edit div.quizpage .pagecontent .adddescription{
|
||||
clear:left;
|
||||
margin-top:0.3em;
|
||||
}
|
||||
|
||||
#mod-quiz-edit div.quizpage .pagecontent .addrandomquestion{
|
||||
margin-top:0.3em;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
/* a CSS class YUI container creates on the fly: */
|
||||
@@ -5013,24 +5058,28 @@ table.quizreviewsummary td.cell {
|
||||
}
|
||||
|
||||
/*start question bank*/
|
||||
|
||||
/*TODO: below applies to also question bank, so when
|
||||
question bank is adapted to the new UI, add the appropriate
|
||||
css id's of question bank*/
|
||||
.questionbankwindow .choosecategory,
|
||||
.questionbankwindow .createnewquestion {
|
||||
padding: 0.3em;
|
||||
}
|
||||
.questionbankwindow .createnewquestion .singlebutton {
|
||||
display: inline;
|
||||
}
|
||||
.questionbankwindow #catmenu_jump {
|
||||
display: block;
|
||||
}
|
||||
#mod-quiz-edit .questionbankwindow .createnewquestion select,
|
||||
#mod-quiz-edit .questionbankwindow #catmenu select{
|
||||
width:80%;
|
||||
#mod-quiz-edit .questionbankwindow #catmenu select,
|
||||
#mod-quiz-edit .questionbankwindow #menucategory {
|
||||
width: 100%;
|
||||
}
|
||||
#mod-quiz-addrandom select {
|
||||
width:100%;
|
||||
}
|
||||
#mod-quiz-edit table#categoryquestions{
|
||||
table#categoryquestions {
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
#mod-quiz-edit table#categoryquestions td,#mod-quiz-edit table#categoryquestions th{
|
||||
table#categoryquestions td,#mod-quiz-edit table#categoryquestions th{
|
||||
overflow:hidden;
|
||||
white-space:nowrap;
|
||||
}
|
||||
@@ -5051,7 +5100,7 @@ css id's of question bank*/
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#mod-quiz-edit #categoryquestions .qtype {
|
||||
#categoryquestions .qtype {
|
||||
width: 24px;
|
||||
padding: 0;
|
||||
}
|
||||
@@ -5059,8 +5108,8 @@ css id's of question bank*/
|
||||
#categoryquestions .questiontext p {
|
||||
margin: 0;
|
||||
}
|
||||
#mod-quiz-edit .categoryinfo{
|
||||
padding:0.3em;
|
||||
.categoryinfo {
|
||||
padding: 0.3em;
|
||||
}
|
||||
|
||||
#mod-quiz-edit .paging{
|
||||
@@ -5069,10 +5118,6 @@ css id's of question bank*/
|
||||
display:block;
|
||||
}
|
||||
|
||||
#mod-quiz-edit .questionsortoptions{
|
||||
margin-top:0.3em;
|
||||
}
|
||||
|
||||
#mod-quiz-edit .pagingbottom{
|
||||
padding-bottom:0.3em;
|
||||
}
|
||||
@@ -5081,11 +5126,6 @@ css id's of question bank*/
|
||||
clear:both;
|
||||
}
|
||||
|
||||
#mod-quiz-edit div.createnewquestion{
|
||||
padding-top:0.3em;
|
||||
clear:left;
|
||||
}
|
||||
|
||||
#mod-quiz-edit .sideblock .content{
|
||||
padding:0;
|
||||
}
|
||||
@@ -5095,25 +5135,21 @@ css id's of question bank*/
|
||||
margin-top:0.3em;
|
||||
}
|
||||
|
||||
#mod-quiz-edit .questionbank .categoryselectallcontainer{
|
||||
padding-bottom:0.5em;
|
||||
}
|
||||
|
||||
#mod-quiz-edit .questionbank div.categoryquestionscontainer,
|
||||
#mod-quiz-edit .questionbank .categorysortopotionscontainer,
|
||||
#mod-quiz-edit .questionbank .categorypagingbarcontainer,
|
||||
#mod-quiz-edit .questionbank .categoryselectallcontainer{
|
||||
.questionbank div.categoryquestionscontainer,
|
||||
.questionbank .categorysortopotionscontainer,
|
||||
.questionbank .categorypagingbarcontainer,
|
||||
.questionbank .categoryselectallcontainer{
|
||||
padding-left:0.3em;
|
||||
padding-right:0.3em;
|
||||
}
|
||||
|
||||
#mod-quiz-edit .noquestionsincategory{
|
||||
.noquestionsincategory{
|
||||
clear:both;
|
||||
padding-top:1em;
|
||||
padding-bottom:1em;
|
||||
}
|
||||
|
||||
#mod-quiz-edit .modulespecificbuttonscontainer{
|
||||
.modulespecificbuttonscontainer{
|
||||
padding-left:0.3em;
|
||||
padding-right:0.3em;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user