Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

MDL-34704 couse, accesslib: improve $CFG->courselistshortnames

1. get_context_name should respect the $CFG->courselistshortnames
setting.

2. When $CFG->courselistshortnames is on, what to display should use a
language string, rather than string concatenation. This makes it
possible for people to configure the display. For example, they might
want 'My first course [M101]' instead of 'M101 My first course'.
  • Loading branch information...
commit e071bc1aa4366ceb44466afa0bcec81e7d294f6c 1 parent 02814bf
@timhunt timhunt authored
View
16 course/lib.php
@@ -2256,22 +2256,6 @@ function make_categories_options() {
}
/**
- * Gets the name of a course to be displayed when showing a list of courses.
- * By default this is just $course->fullname but user can configure it. The
- * result of this function should be passed through print_string.
- * @param object $course Moodle course object
- * @return string Display name of course (either fullname or short + fullname)
- */
-function get_course_display_name_for_list($course) {
- global $CFG;
- if (!empty($CFG->courselistshortnames)) {
- return $course->shortname . ' ' .$course->fullname;
- } else {
- return $course->fullname;
- }
-}
-
-/**
* Prints the category info in indented fashion
* This function is only used by print_whole_category_list() above
*/
View
4 lang/en/admin.php
@@ -352,8 +352,8 @@
$string['country'] = 'Default country';
$string['coursecontact'] = 'Course contacts';
$string['coursecontact_desc'] = 'This setting allows you to control who appears on the course description. Users need to have at least one of these roles in a course to be shown on the course description for that course.';
-$string['courselistshortnames'] = 'Display short names';
-$string['courselistshortnames_desc'] = 'Show short name as well as full name when displaying lists of courses.';
+$string['courselistshortnames'] = 'Display extended course names';
+$string['courselistshortnames_desc'] = 'When showing lists of courses, or when referring to courses on administration screens, show the course short name as well as the full name. In fact, when you turn this setting on, the display uses the \'courseextendednamedisplay\' language string, so you can changewhat is displayed using Language customisation.';
$string['coursemgmt'] = 'Add/edit courses';
$string['courseoverview'] = 'Course overview';
$string['courserequestnotify'] = 'Course request notification';
View
1  lang/en/moodle.php
@@ -299,6 +299,7 @@
$string['coursedisplay_single'] = 'Show all sections on one page';
$string['coursedisplay_multi'] = 'Show one section per page';
$string['coursedeleted'] = 'Deleted course {$a}';
+$string['courseextendednamedisplay'] = '{$a->shortname} {$a->fullname}';
$string['coursefiles'] = 'Legacy course files';
$string['coursefilesedit'] = 'Edit legacy course files';
$string['coursefileswarning'] = 'Course files are deprecated';
View
2  lib/accesslib.php
@@ -6319,7 +6319,7 @@ public function get_context_name($withprefix = true, $short = false) {
if ($short){
$name .= format_string($course->shortname, true, array('context' => $this));
} else {
- $name .= format_string($course->fullname);
+ $name .= format_string(get_course_display_name_for_list($course));
}
}
}
View
16 lib/moodlelib.php
@@ -10781,6 +10781,22 @@ function get_home_page() {
}
/**
+ * Gets the name of a course to be displayed when showing a list of courses.
+ * By default this is just $course->fullname but user can configure it. The
+ * result of this function should be passed through print_string.
+ * @param object $course Moodle course object
+ * @return string Display name of course (either fullname or short + fullname)
+ */
+function get_course_display_name_for_list($course) {
+ global $CFG;
+ if (!empty($CFG->courselistshortnames)) {
+ return get_string('courseextendednamedisplay', '', $course);
+ } else {
+ return $course->fullname;
+ }
+}
+
+/**
* The lang_string class
*
* This special class is used to create an object representation of a string request.
Please sign in to comment.
Something went wrong with that request. Please try again.