function realname_registration_set_username in Realname registration 6.2
Build the username based on form values submitted by the user.
Construct the usernames name adhering on the pre-defined formats set in Realname registrations administrative settings.
Parameters
&$edit: The array of form values submitted by the user.
1 call to realname_registration_set_username()
- realname_registration_user in ./
realname_registration.module - Implementation of hook_user().
File
- ./
realname_registration.module, line 227 - For using real names during registration.
Code
function realname_registration_set_username(&$edit) {
$c = realname_registration_load_settings();
// Generate the username based on first name and last name fields.
switch ($c->username_format) {
case 0:
/*
* Create username based on first name and last name (e.g., John Smith).
*/
if (!$c->fname->use_content_profile) {
$username = $edit[$c->fname->field];
}
else {
$username = $edit[$c->fname->field][0]['value'];
}
$username .= ' ';
if (!$c->lname->use_content_profile) {
$username .= $edit[$c->lname->field];
}
else {
$username .= $edit[$c->lname->field][0]['value'];
}
break;
case 1:
/*
* Create username based on first initial and last name (e.g., JSmith).
*/
if (!$c->fname->use_content_profile) {
$username = drupal_substr($edit[$c->fname->field], 0, 1);
}
else {
$username = drupal_substr($edit[$c->fname->field][0]['value'], 0, 1);
}
if (!$c->lname->use_content_profile) {
$username .= $edit[$c->lname->field];
}
else {
$username .= $edit[$c->lname->field][0]['value'];
}
break;
case 2:
/*
* Create username based on first name, middle name, and last name
* (e.g., John Jacob Smith).
*/
if (!$c->fname->use_content_profile) {
$username = $edit[$c->fname->field];
}
else {
$username = $edit[$c->fname->field][0]['value'];
}
$username .= ' ';
if (!$c->mname->use_content_profile) {
if (!empty($edit[$c->mname->field])) {
$username .= $edit[$c->mname->field];
$username .= ' ';
}
}
else {
if (!empty($edit[$c->mname->field][0]['value'])) {
$username .= $edit[$c->mname->field][0]['value'];
$username .= ' ';
}
}
if (!$c->lname->use_content_profile) {
$username .= $edit[$c->lname->field];
}
else {
$username .= $edit[$c->lname->field][0]['value'];
}
break;
case 3:
/*
* Create username based on first name, middle initial, and last name
* (e.g., John J Smith).
*/
if (!$c->fname->use_content_profile) {
$username = $edit[$c->fname->field];
}
else {
$username = $edit[$c->fname->field][0]['value'];
}
$username .= ' ';
if (!$c->mname->use_content_profile) {
if (!empty($edit[$c->mname->field])) {
$username .= drupal_substr($edit[$c->mname->field], 0, 1);
$username .= ' ';
}
}
else {
if (!empty($edit[$c->mname->field][0]['value'])) {
$username .= drupal_substr($edit[$c->mname->field][0]['value'], 0, 1);
$username .= ' ';
}
}
if (!$c->lname->use_content_profile) {
$username .= $edit[$c->lname->field];
}
else {
$username .= $edit[$c->lname->field][0]['value'];
}
break;
case 4:
/*
* Create username based on first initial, middle initial, and last
* name (e.g., JJSmith).
*/
if (!$c->fname->use_content_profile) {
$username = drupal_substr($edit[$c->fname->field], 0, 1);
}
else {
$username = drupal_substr($edit[$c->fname->field][0]['value'], 0, 1);
}
if (!$c->mname->use_content_profile) {
if (!empty($edit[$c->mname->field])) {
$username .= drupal_substr($edit[$c->mname->field], 0, 1);
}
}
else {
if (!empty($edit[$c->mname->field][0]['value'])) {
$username .= drupal_substr($edit[$c->mname->field][0]['value'], 0, 1);
}
}
if (!$c->lname->use_content_profile) {
$username .= $edit[$c->lname->field];
}
else {
$username .= $edit[$c->lname->field][0]['value'];
}
break;
case 5:
/*
* Create username based on first name and last name without spaces
* (e.g., JohnSmith).
*/
if (!$c->fname->use_content_profile) {
$username = $edit[$c->fname->field];
}
else {
$username = $edit[$c->fname->field][0]['value'];
}
if (!$c->lname->use_content_profile) {
$username .= $edit[$c->lname->field];
}
else {
$username .= $edit[$c->lname->field][0]['value'];
}
break;
case 6:
/*
* Create username based on first name, middle name, and last name
* without spaces (e.g., JohnJacobSmith).
*/
if (!$c->fname->use_content_profile) {
$username = $edit[$c->fname->field];
}
else {
$username = $edit[$c->fname->field][0]['value'];
}
if (!$c->mname->use_content_profile) {
if (!empty($edit[$c->mname->field])) {
$username .= $edit[$c->mname->field];
}
}
else {
if (!empty($edit[$c->mname->field][0]['value'])) {
$username .= $edit[$c->mname->field][0]['value'];
}
}
if (!$c->lname->use_content_profile) {
$username .= $edit[$c->lname->field];
}
else {
$username .= $edit[$c->lname->field][0]['value'];
}
break;
case 7:
/*
* Create username based on first name, middle initial, and last name
* (e.g., John J Smith).
*/
if (!$c->fname->use_content_profile) {
$username = $edit[$c->fname->field];
}
else {
$username = $edit[$c->fname->field][0]['value'];
}
$username .= ' ';
if (!$c->mname->use_content_profile) {
if (!empty($edit[$c->mname->field])) {
$username .= drupal_substr($edit[$c->mname->field], 0, 1);
$username .= ' ';
}
}
else {
if (!empty($edit[$c->mname->field][0]['value'])) {
$username .= drupal_substr($edit[$c->mname->field][0]['value'], 0, 1);
$username .= ' ';
}
}
if (!$c->lname->use_content_profile) {
$username .= $edit[$c->lname->field];
}
else {
$username .= $edit[$c->lname->field][0]['value'];
}
break;
}
// Check if we should force the username to lowercase characters.
if ($c->username_tolower) {
$username = drupal_strtolower($username);
}
/*
* Check if the username already exists in the database.
* Otherwise append and increment a number on the end of the string.
*/
$original_username = $username;
while (db_result(db_query("SELECT COUNT(*) FROM {users} WHERE name = '%s';", $username))) {
$username = $original_username . ++$i;
}
$edit['name'] = $username;
}