diff --git a/lib/questionlib.php b/lib/questionlib.php index 55720466d84..621556d7528 100644 --- a/lib/questionlib.php +++ b/lib/questionlib.php @@ -780,14 +780,22 @@ function question_load_questions($questionids, $extrafields = '', $join = '') { */ function _tidy_question($question, $loadtags = false) { global $CFG; + + // Load question-type specific fields. if (!question_bank::is_qtype_installed($question->qtype)) { $question->questiontext = html_writer::tag('p', get_string('warningmissingtype', 'qtype_missingtype')) . $question->questiontext; } question_bank::get_qtype($question->qtype)->get_question_options($question); + + // Convert numeric fields to float. (Prevents these being displayed as 1.0000000.) + $question->defaultmark += 0; + $question->penalty += 0; + if (isset($question->_partiallyloaded)) { unset($question->_partiallyloaded); } + if ($loadtags && !empty($CFG->usetags)) { require_once($CFG->dirroot . '/tag/lib.php'); $question->tags = tag_get_tags_array('question', $question->id); diff --git a/question/type/edit_question_form.php b/question/type/edit_question_form.php index 3bea6e639d5..6b0795c3ec1 100644 --- a/question/type/edit_question_form.php +++ b/question/type/edit_question_form.php @@ -187,7 +187,7 @@ abstract class question_edit_form extends question_wizard_form { $mform->setType('questiontext', PARAM_RAW); $mform->addElement('text', 'defaultmark', get_string('defaultmark', 'question'), - array('size' => 3)); + array('size' => 7)); $mform->setType('defaultmark', PARAM_FLOAT); $mform->setDefault('defaultmark', 1); $mform->addRule('defaultmark', null, 'required', null, 'client');