MDL-49742 lib: Removed additional names on tables for sorting.
authorAdrian Greeve <adrian@moodle.com>
Mon, 11 May 2015 02:17:29 +0000 (10:17 +0800)
committerAdrian Greeve <adrian@moodle.com>
Fri, 15 May 2015 07:29:52 +0000 (15:29 +0800)
When additional names are disabled, they are no longer shown as
sortable headings in the enrolment and admin user tables.

admin/user.php
enrol/users.php

index 88e37a4..b05838c 100644 (file)
     // We don't need to check the fullnamedisplay setting here as the fullname function call further down has
     // the override parameter set to true.
     $fullnamesetting = $CFG->alternativefullnameformat;
-    // If we are using language or it is empty, then retrieve all of the user's names.
+    // If we are using language or it is empty, then retrieve the default user names of just 'firstname' and 'lastname'.
     if ($fullnamesetting == 'language' || empty($fullnamesetting)) {
-        $fullnamesetting = implode(' ', $allusernamefields);
+        // Set $a variables to return 'firstname' and 'lastname'.
+        $a = new stdClass();
+        $a->firstname = 'firstname';
+        $a->lastname = 'lastname';
+        // Getting the fullname display will ensure that the order in the language file is maintained.
+        $fullnamesetting = get_string('fullnamedisplay', null, $a);
     }
 
     // Order in string will ensure that the name columns are in the correct order.
index f779bed..51d4a4e 100644 (file)
@@ -187,9 +187,14 @@ $allusernames = get_all_user_name_fields(false, null, null, null, true);
 $usernameheader = null;
 // Get the alternative full name format for users with the viewfullnames capability.
 $fullusernames = $CFG->alternativefullnameformat;
-// If fullusernames is empty or accidentally set to language then fall back on the $allusernames set up.
+// If fullusernames is empty or accidentally set to language then fall back to default of just first and last name.
 if ($fullusernames == 'language' || empty($fullusernames)) {
-    $usernameheader = $allusernames;
+    // Set $a variables to return 'firstname' and 'lastname'.
+    $a = new stdClass();
+    $a->firstname = 'firstname';
+    $a->lastname = 'lastname';
+    // Getting the fullname display will ensure that the order in the language file is maintained.
+    $usernameheader = explode(' ', get_string('fullnamedisplay', null, $a));
 } else {
     // If everything is as expected then put them in the order specified by the alternative full name format setting.
     $usernameheader = order_in_string($allusernames, $fullusernames);