--- lib/moodlelib_origin.php Wed Feb 11 16:35:32 2015
+++ lib/moodlelib.php Wed Feb 11 18:19:07 2015
@@ -3565,7 +3565,7 @@
* @param bool $override If true then the name will be firstname followed by lastname rather than adhering to fullnamedisplay.
* @return string
*/
-function fullname($user, $override=false) {
+function fullname($user, $override=false, $html=false) {
global $CFG, $SESSION;
if (!isset($user->firstname) and !isset($user->lastname)) {
@@ -3629,16 +3629,80 @@
$displayname = $template;
// Switch in the actual data into the template.
- foreach ($requirednames as $altname) {
+ if ($html) {
+ $displayname = '';
+
+ $altname = 'lastname';
+ if (isset($user->$altname)) {
+ if ((string)$user->$altname == '') {
+ $displayname = $displayname . ' ';
+ } else {
+ $displayname = $displayname . $user->$altname;
+ }
+ }
+ $displayname = $displayname . '';
+
+ $altname = 'middlename';
+ if (isset($user->$altname)) {
+ if ((string)$user->$altname == '') {
+ $displayname = $displayname . ' ';
+ } else {
+ $displayname = $displayname . $user->$altname;
+ }
+ }
+ $displayname = $displayname . '';
+
+ $altname = 'firstname';
+ if (isset($user->$altname)) {
+ if ((string)$user->$altname == '') {
+ $displayname = $displayname . ' ';
+ } else {
+ $displayname = $displayname . $user->$altname;
+ }
+ }
+ $displayname = $displayname . '';
+
+ $altname = 'alternatename';
+ if (isset($user->$altname)) {
+ if ((string)$user->$altname == '') {
+ $displayname = $displayname . ' ';
+ } else {
+ $displayname = $displayname . '
' . $user->$altname . '';
+ }
+ }
+
+ } else{
+ foreach ($requirednames as $altname) {
+ if (isset($user->$altname)) {
+ // Using empty() on the below if statement causes breakages.
+ if ((string)$user->$altname == '') {
+ $displayname = str_replace($altname, 'EMPTY', $displayname);
+ } else {
+ $displayname = str_replace($altname, $user->$altname, $displayname);
+ }
+ } else {
+ $displayname = str_replace($altname, 'EMPTY', $displayname);
}
- } else {
- $displayname = str_replace($altname, 'EMPTY', $displayname);
}
}
// Tidy up any misc. characters (Not perfect, but gets most characters).