diff --git a/course/externallib.php b/course/externallib.php index 69c2acdb3b2..9f666a59f3c 100644 --- a/course/externallib.php +++ b/course/externallib.php @@ -261,8 +261,8 @@ class core_course_external extends external_api { $module['id'] = $cm->id; $module['name'] = external_format_string($cm->name, $modcontext->id); $module['instance'] = $cm->instance; - $module['modname'] = $cm->modname; - $module['modplural'] = $cm->modplural; + $module['modname'] = (string) $cm->modname; + $module['modplural'] = (string) $cm->modplural; $module['modicon'] = $cm->get_icon_url()->out(false); $module['indent'] = $cm->indent; $module['onclick'] = $cm->onclick; diff --git a/course/lib.php b/course/lib.php index 205472d9152..8e70e79cc18 100644 --- a/course/lib.php +++ b/course/lib.php @@ -559,12 +559,10 @@ function get_module_types_names($plural = false) { if ($allmods = $DB->get_records("modules")) { foreach ($allmods as $mod) { if (file_exists("$CFG->dirroot/mod/$mod->name/lib.php") && $mod->visible) { - $modnames[0][$mod->name] = get_string("modulename", "$mod->name"); - $modnames[1][$mod->name] = get_string("modulenameplural", "$mod->name"); + $modnames[0][$mod->name] = get_string("modulename", "$mod->name", null, true); + $modnames[1][$mod->name] = get_string("modulenameplural", "$mod->name", null, true); } } - core_collator::asort($modnames[0]); - core_collator::asort($modnames[1]); } } return $modnames[(int)$plural]; diff --git a/lib/modinfolib.php b/lib/modinfolib.php index 1e854e2a0c1..69bfbcb1009 100644 --- a/lib/modinfolib.php +++ b/lib/modinfolib.php @@ -260,7 +260,6 @@ class course_modinfo { $modnamesused[$mod->modname] = $modnames[$mod->modname]; } } - core_collator::asort($modnamesused); return $modnamesused; } diff --git a/lib/tests/modinfolib_test.php b/lib/tests/modinfolib_test.php index e1ea0251ca2..d50703d3fcc 100644 --- a/lib/tests/modinfolib_test.php +++ b/lib/tests/modinfolib_test.php @@ -378,10 +378,12 @@ class core_modinfolib_testcase extends advanced_testcase { $this->assertEquals('', $modinfo->get_section_info(2)->sequence); $this->assertEquals($page3->cmid, $modinfo->get_section_info(3)->sequence); $this->assertEquals($course->id, $modinfo->get_course()->id); - $this->assertEquals(array('assign', 'forum', 'page'), - array_keys($modinfo->get_used_module_names())); - $this->assertEquals(array('assign', 'forum', 'page'), - array_keys($modinfo->get_used_module_names(true))); + $names = array_keys($modinfo->get_used_module_names()); + sort($names); + $this->assertEquals(array('assign', 'forum', 'page'), $names); + $names = array_keys($modinfo->get_used_module_names(true)); + sort($names); + $this->assertEquals(array('assign', 'forum', 'page'), $names); // Admin can see hidden modules/sections. $this->assertTrue($modinfo->cms[$assign0->cmid]->uservisible); $this->assertTrue($modinfo->get_section_info(3)->uservisible);