You are here

function realname_registration_tokens in Realname registration 7

Same name and namespace in other branches
  1. 7.2 realname_registration.tokens.inc \realname_registration_tokens()

Implements hook_tokens().

File

./realname_registration.tokens.inc, line 34
Token callbacks for the realname_registration module.

Code

function realname_registration_tokens($type, $tokens, array $data = array(), array $options = array()) {
  $sanitize = !empty($options['sanitize']);
  $replacements = array();
  $field_firstname = variable_get('realname_registration_firstname_field');
  $field_lastname = variable_get('realname_registration_lastname_field');
  if (isset($field_firstname) && isset($field_lastname)) {
    if ($type == 'user' && !empty($data['user'])) {
      $account = $data['user'];
      foreach ($tokens as $name => $original) {
        switch ($name) {
          case 'first-name':
            $replacements[$original] = !empty($account->{$field_firstname}) ? $account->{$field_firstname}['und']['0']['value'] : t('not yet available');
            break;
          case 'last-name':
            $replacements[$original] = !empty($account->{$field_lastname}) ? $account->{$field_lastname}['und']['0']['value'] : t('not yet available');
            break;
          case 'first-initial':
            $replacements[$original] = !empty($account->{$field_firstname}) ? drupal_substr($account->{$field_firstname}['und']['0']['value'], 0, 1) : t('not yet available');
            break;
          case 'last-initial':
            $replacements[$original] = !empty($account->{$field_lastname}) ? drupal_substr($account->{$field_lastname}['und']['0']['value'], 0, 1) : t('not yet available');
            break;
        }
      }
    }
  }
  if ($type == 'current-user') {
    $account = user_load($GLOBALS['user']->uid);
    $replacements += token_generate('user', $tokens, array(
      'user' => $account,
    ), $options);
  }
  return $replacements;
}