diff --git a/question/type/ordering/db/upgrade.php b/question/type/ordering/db/upgrade.php index 71f58d7e8cd..7bad633ddbd 100644 --- a/question/type/ordering/db/upgrade.php +++ b/question/type/ordering/db/upgrade.php @@ -257,10 +257,31 @@ function xmldb_qtype_ordering_upgrade($oldversion) { } else { $dbman->add_field($table, $field); } - - // Ordering savepoint reached. upgrade_plugin_savepoint(true, $newversion, 'qtype', 'ordering'); } + + $newversion = '2019073193'; + if ($oldversion < $newversion) { + $table = 'qtype_ordering_options'; + $field = 'numberingstyle'; + $select = "$field = ? OR $field = ?"; + $params = array('III', 'ABC'); + if ($options = $DB->get_records_select($table, $select, $params, $field, "id,$field")) { + foreach ($options as $option) { + switch ($option->numberingstyle) { + case 'ABC': + $DB->set_field($table, $field, 'ABCD', array('id' => $option->id)); + break; + case 'III': + $DB->set_field($table, $field, 'IIII', array('id' => $option->id)); + break; + // Ignore "abc", "iii", and anything else. + } + } + } + upgrade_plugin_savepoint(true, $newversion, 'qtype', 'ordering'); + } + return true; } diff --git a/question/type/ordering/lang/en/qtype_ordering.php b/question/type/ordering/lang/en/qtype_ordering.php index 60d2bb0286e..53c7e2e2e34 100644 --- a/question/type/ordering/lang/en/qtype_ordering.php +++ b/question/type/ordering/lang/en/qtype_ordering.php @@ -83,9 +83,9 @@ $string['numberingstyle'] = 'Number the choices?'; $string['numberingstylenone'] = 'No numbering'; $string['numberingstyle123'] = '1., 2., 3., ...'; $string['numberingstyleabc'] = 'a., b., c., ...'; -$string['numberingstyleABC'] = 'A., B., C., ...'; +$string['numberingstyleABCD'] = 'A., B., C., ...'; $string['numberingstyleiii'] = 'i., ii., iii., ...'; -$string['numberingstyleIII'] = 'I., II., III., ...'; +$string['numberingstyleIIII'] = 'I., II., III., ...'; $string['numberingstyle_desc'] = 'The default numbering style.'; $string['numberingstyle_help'] = 'Choose the numbering style for draggable items in this question.'; diff --git a/question/type/ordering/question.php b/question/type/ordering/question.php index 82be329a2a6..cc09774d590 100644 --- a/question/type/ordering/question.php +++ b/question/type/ordering/question.php @@ -839,10 +839,10 @@ class qtype_ordering_question extends question_graded_automatically { $plugin = 'qtype_ordering'; $styles = array('none' => get_string('numberingstylenone', $plugin), 'abc' => get_string('numberingstyleabc', $plugin), - 'ABC' => get_string('numberingstyleABC', $plugin), + 'ABCD' => get_string('numberingstyleABCD', $plugin), '123' => get_string('numberingstyle123', $plugin), 'iii' => get_string('numberingstyleiii', $plugin), - 'III' => get_string('numberingstyleIII', $plugin)); + 'IIII' => get_string('numberingstyleIIII', $plugin)); return self::get_types($styles, $style); } } diff --git a/question/type/ordering/questiontype.php b/question/type/ordering/questiontype.php index 4f2b118bbed..25fcfa27518 100644 --- a/question/type/ordering/questiontype.php +++ b/question/type/ordering/questiontype.php @@ -357,7 +357,7 @@ class qtype_ordering extends question_type { 'LONGEST_ORDERED_SUBSET|'. 'LONGEST_CONTIGUOUS_SUBSET)?'; $showgrading = '(?:SHOW|TRUE|YES|1|HIDE|FALSE|NO|0)?'; - $numberingstyle = '(?:none|123|abc|ABC|iii|III)?'; + $numberingstyle = '(?:none|123|abc|ABCD|iii|IIII)?'; $search = '/^\s*>\s*('.$selectcount.')\s*'. '('.$selecttype.')\s*'. '('.$layouttype.')\s*'. @@ -884,9 +884,9 @@ class qtype_ordering extends question_type { case 'none': case '123': case 'abc': - case 'ABC': + case 'ABCD': case 'iii': - case 'III': + case 'IIII': $question->numberingstyle = $numberingstyle; break; diff --git a/question/type/ordering/version.php b/question/type/ordering/version.php index 72849f15f10..cee11ff4e15 100644 --- a/question/type/ordering/version.php +++ b/question/type/ordering/version.php @@ -29,5 +29,5 @@ $plugin->cron = 0; $plugin->component = 'qtype_ordering'; $plugin->maturity = MATURITY_STABLE; $plugin->requires = 2015051100; // Moodle 2.9. -$plugin->version = 2019071292; -$plugin->release = '2019-07-12 (92)'; +$plugin->version = 2019073193; +$plugin->release = '2019-07-31 (93)';