You are here

function _ulogin_make_username in uLogin (advanced version) 7

Same name and namespace in other branches
  1. 6 ulogin.module \_ulogin_make_username()
2 calls to _ulogin_make_username()
ulogin_callback in ./ulogin.pages.inc
ulogin_user_identity_delete_submit in ./ulogin.pages.inc

File

./ulogin.module, line 458
Main file for the uLogin module.

Code

function _ulogin_make_username($data) {
  $pattern = variable_get('ulogin_username', 'ulogin_[user:ulogin:network]_[user:ulogin:uid]');
  $account = new stdClass();
  $account->data = array(
    'ulogin' => $data,
  );
  $ulogin_name = $desired_name = token_replace($pattern, array(
    'user' => $account,
  ), array(
    'clear' => TRUE,
    'sanitize' => FALSE,
  ));
  $counter = 0;
  while (user_load_by_name($ulogin_name)) {
    $counter++;
    $ulogin_name = $desired_name . ' ' . $counter;
  }
  $name = $ulogin_name;
  drupal_alter('ulogin_username', $name, $data);

  // Check that the altered username is unique.
  if ($name == $ulogin_name || user_load_by_name($name)) {
    return $ulogin_name;
  }
  else {
    return $name;
  }
}