function fullname($user, $override=false) { global $CFG, $SESSION; if (!isset($user->firstname) and !isset($user->lastname)) { return ''; } if (!$override) { if (!empty($CFG->forcefirstname)) { $user->firstname = $CFG->forcefirstname; } if (!empty($CFG->forcelastname)) { $user->lastname = $CFG->forcelastname; } } if (!empty($SESSION->fullnamedisplay)) { $CFG->fullnamedisplay = $SESSION->fullnamedisplay; } if ($CFG->fullnamedisplay == 'firstname lastname') { if ($CFG->titlecasename == '1') { return nametotitlecase($user->firstname) .' '. nametotitlecase($user->lastname); } else { return $user->firstname .' '. $user->lastname; } } else if ($CFG->fullnamedisplay == 'lastname firstname') { if ($CFG->titlecasename == '1') { return nametotitlecase($user->lastname) .' '. nametotitlecase($user->firstname); } else { return $user->lastname .' '. $user->firstname; } } else if ($CFG->fullnamedisplay == 'firstname') { if ($override) { return get_string('fullnamedisplay', '', $user); } else { if ($CFG->titlecasename == '1') { return $user->firstname; } else { return nametotitlecase($user->firstname); } } } return get_string('fullnamedisplay', '', $user); } function nametotitlecase($name) { $name = strtolower($name); $name = join("'", array_map('ucwords', explode("'", $name))); $name = join("-", array_map('ucwords', explode("-", $name))); $name = join("Mac", array_map('ucwords', explode("Mac", $name))); $name = join("Mc", array_map('ucwords', explode("Mc", $name))); return $name; }