MDL-34704 couse, accesslib: improve $CFG->courselistshortnames
authorTim Hunt <T.J.Hunt@open.ac.uk>
Thu, 2 Aug 2012 16:21:32 +0000 (17:21 +0100)
committerTim Hunt <T.J.Hunt@open.ac.uk>
Fri, 3 Aug 2012 13:43:30 +0000 (14:43 +0100)
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'.

course/lib.php
lang/en/admin.php
lang/en/moodle.php
lib/accesslib.php
lib/moodlelib.php

index a2ff961..f799b0d 100644 (file)
@@ -2255,22 +2255,6 @@ function make_categories_options() {
     return $cats;
 }
 
-/**
- * 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
index 974b2bc..6b571c4 100644 (file)
@@ -352,8 +352,8 @@ $string['cookiesecure'] = 'Secure cookies only';
 $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';
index ec475fa..377b840 100644 (file)
@@ -299,6 +299,7 @@ $string['coursedisplay_help'] = 'This setting determines whether the whole cours
 $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';
index b8aa9f9..c62dae4 100644 (file)
@@ -6319,7 +6319,7 @@ class context_course extends context {
                 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));
                }
             }
         }
index 6591795..b609389 100644 (file)
@@ -10780,6 +10780,22 @@ function get_home_page() {
     return HOMEPAGE_SITE;
 }
 
+/**
+ * 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
  *