You are here

function contactinfo_tokens in Contact Info 7

Implements hook_tokens().

File

./contactinfo.tokens.inc, line 95
Token support for the Contact Info module.

Code

function contactinfo_tokens($type, $tokens, array $data = array(), array $options = array()) {
  $replacements = array();
  $sanitize = !empty($options['sanitize']);
  if ($type == 'contactinfo') {
    $contactinfo = contactinfo_get_contactinfo();
    foreach ($tokens as $name => $original) {
      $value = FALSE;
      switch ($name) {
        case 'type':
          $value = $contactinfo['type'];
          break;
        case 'given-name':
          $value = $contactinfo['fn_n']['given-name'];
          break;
        case 'family-name':
          $value = $contactinfo['fn_n']['family-name'];
          break;
        case 'org':
          $value = $contactinfo['use_site_name'] ? variable_get('site_name', '') : $contactinfo['org'];
          break;
        case 'tagline':
          $value = $contactinfo['use_site_slogan'] ? variable_get('site_slogan', '') : $contactinfo['tagline'];
          break;
        case 'adr-street-address':
          $value = $contactinfo['adr']['street-address'];
          break;
        case 'adr-extended-address':
          $value = $contactinfo['adr']['extended-address'];
          break;
        case 'adr-locality':
          $value = $contactinfo['adr']['locality'];
          break;
        case 'adr-region':
          $value = $contactinfo['adr']['region'];
          break;
        case 'adr-postal-code':
          $value = $contactinfo['adr']['postal-code'];
          break;
        case 'adr-country-name':
          $value = $contactinfo['adr']['country-name'];
          break;
        case 'location-latitude':
          $value = $contactinfo['location']['latitude'];
          break;
        case 'location-longitude':
          $value = $contactinfo['location']['longitude'];
          break;
        case 'phone-voice':
          $value = $contactinfo['phone']['voice'];
          break;
        case 'phone-fax':
          $value = $contactinfo['phone']['fax'];
          break;
        case 'email':
          $value = $contactinfo['email'];
          break;
      }
      if ($value) {
        $replacements[$original] = $sanitize ? check_plain($value) : $value;
      }
    }
  }
  return $replacements;
}