You are here

function user_relationships_api_token_values in User Relationships 6

Implementation of hook_token_values().

File

user_relationships_api/user_relationships_api.module, line 357
User Relationships API. Module shell. @author Jeff Smick (creator) @author Alex Karshakevich (maintainer) http://drupal.org/user/183217

Code

function user_relationships_api_token_values($type, $data = NULL, $options = array()) {
  if ($type == 'requester') {
    $r = $data;
    $token_values = array(
      'requester' => theme('username', user_load(array(
        'uid' => $r->uid,
      ))),
    );
  }
  elseif ($type == 'requestee') {
    $r = $data;
    $token_values = array(
      'requestee' => theme('username', user_load(array(
        'uid' => $r->uid,
      ))),
    );
  }
  elseif ($type == 'relationship') {

    // http://drupal.org/node/811222 need to unwrap the relationship object from an array sometimes
    if (is_array($data)) {
      foreach ($data as $object) {
        if (is_object($object)) {
          $r = $object;
          break;
        }
      }
    }
    else {
      $r = $data;
    }
    $r_type = user_relationships_type_load((int) $r->rtid);
    $token_values = array(
      'requestee' => theme('username', user_load(array(
        'uid' => $r->requestee_id,
      ))),
      'requester' => theme('username', user_load(array(
        'uid' => $r->requester_id,
      ))),
      'relationship-name' => theme('placeholder', $r_type->name),
    );
  }
  return isset($token_values) ? $token_values : NULL;
}