$to_update['weak_password'] = null;
} else if (Post::has('update_account')) {
if (!$user->hasProfile()) {
+ require_once 'name.func.inc.php';
$name_update = false;
- if (Post::s('lastname') != $user->lastname) {
- $to_update['lastname'] = Post::s('lastname');
+ $lastname = capitalize_name(Post::t('lastname'));
+ $firstname = capitalize_name(Post::t('firstname'));
+ if ($lastname != $user->lastname) {
+ $to_update['lastname'] = $lastname;
$name_update = true;
}
- if (Post::s('type') != 'virtual' && Post::s('firstname') != $user->firstname) {
- $to_update['firstname'] = Post::s('firstname');
+ if (Post::s('type') != 'virtual' && $firstname != $user->firstname) {
+ $to_update['firstname'] = $firstname;
$name_update = true;
}
if ($name_update) {
- if (Post::s('type') != 'virtual') {
- $to_update['full_name'] = Post::s('firstname') . ' ' . Post::s('lastname');
- $to_update['directory_name'] = mb_strtoupper(Post::s('lastname')) . ' ' . Post::s('firstname');
- } else {
- $to_update['full_name'] = Post::s('lastname');
- $to_update['directory_name'] = mb_strtoupper(Post::s('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);
+ $to_update['sort_name'] = build_sort_name($firstname, $lastname);
}
if (Post::s('display_name') != $user->displayName()) {
$to_update['display_name'] = Post::s('display_name');
function handler_add_accounts($page, $action = null, $promo = null)
{
+ require_once 'name.func.inc.php';
$page->changeTpl('admin/add_accounts.tpl');
if (Env::has('add_type') && Env::has('people')) {
default:
$page->killError("La formation n'est pas reconnue : " . Env::t('edu_type') . '.');
}
+ $best_domain = XDB::fetchOneCell('SELECT id
+ FROM email_virtual_domains
+ WHERE name = {?}',
+ User::$sub_mail_domains[$type] . Platal::globals()->mail->domain);
XDB::startTransaction();
foreach ($lines as $line) {
if ($infos = self::formatNewUser($page, $line, $separator, $hrpromo, 6)) {
$sex = self::formatSex($page, $infos[3], $line);
+ $lastname = capitalize_name($infos[0]);
+ $firstname = capitalize_name($infos[1]);
if (!is_null($sex)) {
- $fullName = $infos[1] . ' ' . $infos[0];
- $directoryName = $infos[0] . ' ' . $infos[1];
+ $fullName = build_full_name($firstname, $lastname);
+ $directoryName = build_directory_name($firstname, $lastname);
+ $sortName = build_sort_name($firstname, $lastname);
$birthDate = self::formatBirthDate($infos[2]);
if ($type == 'x') {
$xorgId = Profile::getXorgId($infos[4]);
$pid = XDB::insertId();
XDB::execute('INSERT INTO profile_public_names (pid, lastname_initial, lastname_main, firstname_initial, firstname_main)
VALUES ({?}, {?}, {?}, {?}, {?})',
- $pid, $infos[0], $infos[0], $infos[1], $infos[1]);
+ $pid, $lastname, $lastname, $firstname, $firstname);
XDB::execute('INSERT INTO profile_display (pid, yourself, public_name, private_name,
directory_name, short_name, sort_name, promo)
VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})',
- $pid, $infos[1], $fullName, $fullName, $directoryName, $fullName, $directoryName, $promo);
+ $pid, $firstname, $fullName, $fullName, $directoryName, $fullName, $sortName, $promo);
XDB::execute('INSERT INTO profile_education (id, pid, eduid, degreeid, entry_year, grad_year, promo_year, flags)
VALUES (100, {?}, {?}, {?}, {?}, {?}, {?}, \'primary\')',
$pid, $eduSchools[Profile::EDU_X], $degreeid, $entry_year, $grad_year, $promotion);
XDB::execute('INSERT INTO accounts (hruid, type, is_admin, state, full_name, directory_name,
- display_name, lastname, firstname, sex)
- VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})',
- $infos['hrid'], $type, 0, 'pending', $fullName, $directoryName,
- $infos[1], $infos[0], $infos[1], $sex);
+ display_name, sort_name, lastname, firstname, sex, best_domain)
+ VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})',
+ $infos['hrid'], $type, 0, 'pending', $fullName, $directoryName, $sortName,
+ $firstname, $lastname, $firstname, $sex, $best_domain);
$uid = XDB::insertId();
XDB::execute('INSERT INTO account_profiles (uid, pid, perms)
VALUES ({?}, {?}, {?})',
if ($infos = self::formatNewUser($page, $line, $separator, $type, 4)) {
$sex = self::formatSex($page, $infos[3], $line);
if (!is_null($sex)) {
- $fullName = $infos[1] . ' ' . $infos[0];
- $directoryName = $infos[0] . ' ' . $infos[1];
+ $lastname = capitalize_name($infos[0]);
+ $firstname = capitalize_name($infos[1]);
+ $fullName = build_full_name($firstname, $lastname);
+ $directoryName = build_directory_name($firstname, $lastname);
+ $sortName = build_sort_name($firstname, $lastname);
XDB::execute('INSERT INTO accounts (hruid, type, is_admin, state, email, full_name, directory_name,
- display_name, lastname, firstname, sex)
- VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})',
+ sort_name, display_name, lastname, firstname, sex)
+ VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})',
$infos['hrid'], $type, 0, 'pending', $infos[2], $fullName, $directoryName,
- $infos[1], $infos[0], $infos[1], $sex);
- $newAccounts[$infos['hrid']] = $infos[1] . ' ' . $infos[0];
+ $sortName ,$firstname, $lastname, $firstname, $sex);
+ $newAccounts[$infos['hrid']] = $fullName;
}
}
}