$firstname = build_first_name($public_names);
$display_names = array();
- $display_names['public_name'] = $firstname . ' ' . $full_last_name;
+ $display_names['public_name'] = build_full_name($firstname, $full_last_name);
$display_names['private_name'] = $display_names['public_name'] . $private_last_name_end;
- $display_names['directory_name'] = $full_last_name . ' ' . $firstname;
- $display_names['short_name'] = $firstname . ' ' . $short_last_name;
+ $display_names['directory_name'] = build_directory_name($firstname, $full_last_name);
+ $display_names['short_name'] = build_full_name($firstname, $short_last_name);
$display_names['sort_name'] = $short_last_name . ' ' . $firstname;
return $display_names;
return ' (' . implode(', ', $names_array) . ')';
}
+function build_directory_name($firstname, $lastname)
+{
+ if ($firstname == '') {
+ return mb_strtoupper($lastname);
+ }
+ return mb_strtoupper($lastname) . ' ' . $firstname;
+}
+
+function build_full_name($firstname, $lastname)
+{
+ if ($firstname == '') {
+ return $lastname;
+ }
+ return $firstname . ' ' . $lastname;
+}
+
/** Splits a name into tokens, as used in search_name.
* Used for search_name rebuilding and for queries.
*/
$name_update = true;
}
if ($name_update) {
- if (Post::s('type') != 'virtual') {
- $to_update['full_name'] = $firstname . ' ' . $lastname;
- $to_update['directory_name'] = $lastname . ' ' . $firstname;
- } else {
- $to_update['full_name'] = $lastname;
- $to_update['directory_name'] = $lastname;
+ if (Post::s('type') == 'virtual') {
+ $firstname = '';
}
+ $to_update['full_name'] = build_full_name($firstname, $lastname);
+ $to_update['directory_name'] = build_directory_name($firstname, $lastname);
}
if (Post::s('display_name') != $user->displayName()) {
$to_update['display_name'] = Post::s('display_name');
$lastname = capitalize_name($infos[0]);
$firstname = capitalize_name($infos[1]);
if (!is_null($sex)) {
- $fullName = $firstname . ' ' . $lastname;
- $directoryName = $lastname . ' ' . $firstname;
+ $fullName = build_full_name($firstname, $lastname);
+ $directoryName = build_directory_name($firstname, $lastname);
$birthDate = self::formatBirthDate($infos[2]);
if ($type == 'x') {
$xorgId = Profile::getXorgId($infos[4]);
if (!is_null($sex)) {
$lastname = capitalize_name($infos[0]);
$firstname = capitalize_name($infos[1]);
- $fullName = $firstname . ' ' . $lastname;
- $directoryName = $lastname . ' ' . $firstname;
+ $fullName = build_full_name($firstname, $lastname);
+ $directoryName = build_directory_name($firstname, $lastname);
XDB::execute('INSERT INTO accounts (hruid, type, is_admin, state, email, full_name, directory_name,
display_name, lastname, firstname, sex)
VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})',
continue;
}
+ require_once 'name.func.inc.php';
$parts = explode('.', $local_part);
if (count($parts) == 1) {
- $lastname = $display_name = $full_name = $directory_name = ucfirst($local_part);
+ $lastname = $display_name = capitalize_name($mbox);
$firstname = '';
} else {
- $firstname = ucfirst($parts[0]);
- $lastname = ucwords(implode(' ', array_slice($parts, 1)));
- $display_name = $firstname;
- $full_name = $firstname . ' ' . $lastname;
- $directory_name = strtoupper($lastname) . ' ' . $firstname;
+ $display_name = $firstname = capitalize_name($parts[0]);
+ $lastname = capitalize_name(implode(' ', array_slice($parts, 1)));
}
+ $full_name = build_full_name($firstname, $lastname);
+ $directory_name = build_directory_name($firstname, $lastname);
XDB::execute('INSERT INTO accounts (hruid, display_name, full_name, directory_name, firstname, lastname, email, type, state)
VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?}, \'xnet\', \'disabled\')',
$hruid, $display_name, $full_name, $directory_name, $firstname, $lastname, $email);
require_once 'name.func.inc.php';
$parts = explode('.', $mbox);
if (count($parts) == 1) {
- $lastname = $display_name = $full_name = $directory_name = capitalize_name($mbox);
+ $lastname = $display_name = capitalize_name($mbox);
$firstname = '';
} else {
- $firstname = capitalize_name($parts[0]);
+ $display_name = $firstname = capitalize_name($parts[0]);
$lastname = capitalize_name(implode(' ', array_slice($parts, 1)));
- $display_name = $firstname;
- $full_name = $firstname . ' ' . $lastname;
- $directory_name = $lastname . ' ' . $firstname;
}
+ $full_name = build_full_name($firstname, $lastname);
+ $directory_name = build_directory_name($firstname, $lastname);
XDB::execute('INSERT INTO accounts (hruid, display_name, full_name, directory_name, firstname, lastname, email, type, state)
VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?}, \'xnet\', \'disabled\')',
$hruid, $display_name, $full_name, $directory_name, $firstname, $lastname, $email);
$mmlist = new MMList(S::user(), $globals->asso('mail_domain'));
if (Post::has('change')) {
- require_once 'emails.inc.php';
S::assert_xsrf_token();
+ require_once 'emails.inc.php';
+ require_once 'name.func.inc.php';
// Convert user status to X
if (!Post::blank('login_X')) {
$lastname = capitalize_name(Post::t('lastname'));
if (Post::s('type') != 'virtual') {
$firstname = capitalize_name(Post::t('firstname'));
- $full_name = $firstname . ' ' . $lastname;
- $directory_name = $lastname . ' ' . $firstname;
} else {
$firstname = '';
- $full_name = $lastname;
- $directory_name = $lastname;
}
+ $full_name = build_full_name($firstname, $lastname);
+ $directory_name = build_directory_name($firstname, $lastname);
XDB::query('UPDATE accounts
SET full_name = {?}, directory_name = {?}, display_name = {?},
firstname = {?}, lastname = {?}, sex = {?}, type = {?}