You are here

function campaignmonitor_campaignmonitor_field_keys in Campaign Monitor 6.3

Same name and namespace in other branches
  1. 6.2 campaignmonitor.module \campaignmonitor_campaignmonitor_field_keys()

Implementation of hook_campaignmonitor_field_keys

File

./campaignmonitor.module, line 454
Module that plugs in Campaign Monitor functionality to your Drupal web site. For Campaign Monitor information see: http://www.campaignmonitor.com/

Code

function campaignmonitor_campaignmonitor_field_keys($reset = FALSE) {
  static $output;
  if (!isset($output) || $reset) {
    $output = array(
      0 => '<none>',
    );

    // Add user information fields.
    $user_fields = array(
      'name' => t('Username'),
      'mail' => t('Email Address'),
      'uid' => t('User ID'),
      'signature' => t("User's Signature"),
      'created' => t("User's Creation Date"),
      'access' => t("User's Last Access Date"),
    );
    foreach ($user_fields as $key => $field) {
      $output[$key] = t('User: @field', array(
        '@field' => $field,
      ));
    }

    // If the profile module is avaliable, get fields from it.
    if (function_exists('_profile_get_fields')) {
      $categories = profile_categories();
      if (!empty($categories)) {
        foreach ($categories as $category) {
          $result = _profile_get_fields($category['name'], $register);
          while ($field = db_fetch_object($result)) {
            $output[$field->name] = t('Profile: @cat - @field', array(
              '@cat' => $field->category,
              '@field' => $field->title,
            ));
          }
        }
      }
    }
    if (function_exists('token_get_list')) {
      $tokens = token_get_list(array(
        'user',
        'order',
      ));
      if (is_array($tokens['user'])) {
        foreach ($tokens['user'] as $token => $name) {
          $output['token_' . $token] = t('Token: @field', array(
            '@field' => $name,
          ));
        }
      }
    }
  }
  return $output;
}