function realname_registration_user_presave in Realname registration 7
Same name and namespace in other branches
- 7.2 realname_registration.module \realname_registration_user_presave()
Implementation of hook_user_presave().
File
- ./
realname_registration.module, line 71 - For using real names during registration/
Code
function realname_registration_user_presave(&$edit, $account, $category) {
if (isset($edit['name'])) {
if ($edit['name'] == 'unset_username') {
$lastname_field = variable_get('realname_registration_lastname_field');
$firstname_field = variable_get('realname_registration_firstname_field');
if (variable_get('realname_registration_ucfirst') == 1) {
$edit[$firstname_field]['und'][0]['value'] = ucfirst($edit[$firstname_field]['und'][0]['value']);
$edit[$lastname_field]['und']['0']['value'] = ucfirst($edit[$lastname_field]['und'][0]['value']);
}
// Generate the username based on first name and last name fields.
if (variable_get('realname_registration_format') == 0) {
$username = $edit[$firstname_field]['und'][0]['value'] . " " . $edit[$lastname_field]['und'][0]['value'];
}
if (variable_get('realname_registration_format') == 1) {
$first_init = drupal_substr($edit[$firstname_field]['und'][0]['value'], 0, 1);
$lastname = $edit[$lastname_field]['und'][0]['value'];
$username = $first_init . $lastname;
}
if (variable_get('realname_registration_tolower')) {
$username = strtolower($username);
}
// Check if the username already exists in the database.
$result = db_query("SELECT name FROM {users} WHERE name = :username", array(
':username' => $username,
));
// While the username is taken, append a number and increment it until our username is unique.
$i = 0;
while ($result
->rowCount()) {
$result = db_query("SELECT name FROM {users} WHERE name = :username", array(
':username' => $username . ++$i,
));
if (!$result
->rowCount()) {
$username = $username . $i;
}
}
$edit['name'] = $username;
}
}
}