--- user_relationships_api.module?revision=1.1.2.17	2009-09-24 09:43:18.000000000 -0500
+++ user_relationships_api.module	2009-09-24 09:04:10.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-// $Id: user_relationships_api.module,v 1.1.2.16 2009/07/10 08:46:01 alexk Exp $
+// $Id: user_relationships_api.module,v 1.1.2.17 2009/08/15 21:10:26 alexk Exp $
 
 /**
  * @file
@@ -20,6 +20,18 @@ if (module_exists('privatemsg')) {
   module_load_include('inc', 'user_relationships_api', 'user_relationships_api.privatemsg');
 }
 
+/**
+ * Implementation of hook_activity_access_api().
+ */
+function user_relationships_api_activity_access_api() {
+  foreach (user_relationships_types_load() as $type_obj) {
+    $info['realms']["user_relationships_" . $type_obj->rtid] = $type_obj->plural_name;
+  }
+  
+  $info['file'] = drupal_get_path('module', 'user_relationships_api') .  '/user_relationships_api.activity.inc';
+  return $info;
+}
+
 
 /**
  *  Invoke hook_user_relationships() or hook_user_relationships_type()
@@ -247,3 +259,76 @@ function user_relationships_api_user($ty
    db_query("DELETE FROM {user_relationships} WHERE requester_id = %d OR requestee_id = %d", $account->uid, $account->uid);
  }
 }
+
+function user_relationships_api_activity_info() {
+    $info = new stdClass();
+    $info->api = 2;
+    $info->name = 'user_relationships_api';
+    $info->object_type = 'user_relationships_api';
+    $info->objects = array('Requester' => 'requester', 'Requestee' => 'requestee
+', 'Relationship' => 'relationship');
+    $info->hooks = array('user_relationships_api' => array('approve', 'request'));
+    return $info;
+}
+
+/**
+ * Implementation of hook_user_relationships().
+ * or
+ * Implementation of hook_trigger_name().
+ */
+function user_relationships_api_user_relationships($op, &$relationship) {
+if (!in_array($op, array('approve')) && !in_array($op, array('request'))) {
+    return;
+  }
+  $aids = _trigger_get_hook_aids('user_relationships_api', $op);
+
+  $context = array(
+    'hook' => 'user_relationships_api',
+    'op' => $op,
+    'requester' => $relationship->requester_id,
+    'requestee' => $relationship->requestee_id,
+    'relationship' => $relationship,
+  );
+  actions_do(array_keys($aids), $relationship, $context);
+}
+
+/**
+ * Implementation of hook_token_list().
+ */
+function user_relationships_api_token_list($type = 'all') {
+  if ($type == 'user_relationships_api') {
+    $tokens['user_relationships_api'] = array(
+      'requester' => t('The user who issued the connection request.'),
+      'requestee' => t('The user who approved the connnection request.'),
+      'relationship-name' => t('The relationship name (singular form)'),
+    );
+    return $tokens;
+  }
+}
+
+/**
+ * Implementation of hook_token_values().
+ */
+function user_relationships_api_token_values($type, $data = NULL, $options = array()) {
+  if ($type == 'requester') {
+    $r = $data;
+    // dd($r, 'data in token values (requester)');
+
+    $token_values = array(
+      'requester' => theme('username', user_load(array('uid' => $r))),
+    );
+    // dd($token_values, 'token values return (requester)');
+  }
+  elseif ($type == 'relationship') {
+    $r = $data;
+    // dd($r, 'data in token values (relationship)');
+
+    $token_values = array(
+      'requestee' => theme('username', user_load(array('uid' => $r->requestee_id))),
+      'relationship-name' => theme('placeholder', $r->name),
+    );
+    // dd($token_values, 'token values return (relationship');
+  }
+  return $token_values;
+}
+
