--- user_relationships_api.module?revision=1.1.2.18	2009-09-23 16:20:56.000000000 -0500
+++ user_relationships_api.module	2009-09-23 15:00:17.000000000 -0500
@@ -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()
@@ -248,11 +260,71 @@ function user_relationships_api_user($ty
  }
 }
 
+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'));
+    return $info;
+}
+
 /**
- * provide a degrade path for function tt found in module i18nstrings
+ * Implementation of hook_user_relationships().
+ * or
+ * Implementation of hook_trigger_name().
  */
-if (! module_exists('i18nstrings') && ! function_exists('tt')) {
-  function tt($name, $string, $langcode = NULL, $update = FALSE) {
-    return t($string, array(), $langcode);
+function user_relationships_api_user_relationships($op, &$relationship) {
+if (!in_array($op, array('approve'))) {
+    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' || $type == 'requester' || $type == 'requestee') {
+    $tokens['user_relationships_api'] = array(
+      'operation' => t('The operation that took place. Always "approve" for now'),
+      '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)'),
+      'approve-time' => t('The time the request was approved.'),
+    );
+    return $tokens;
+  }
+}
+
+/**
+ * Implementation of hook_token_values().
+ */
+function user_relationships_api_token_values($type, $data = NULL, $options = array()) {
+  if (($type == 'requester' || $type == 'requestee' || $type == 'relationship') && !empty($data)) {
+    $r = $data;
+    dd($type, 'type in token values');
+    dd($r, 'data in token values');
+
+    $token_values = array(
+      'operation' => t('approve'),
+      'requester' => theme('username', user_load(array('uid' => $r))),
+      'requestee' => theme('username', user_load(array('uid' => $r))),
+      'relationship-name' => theme('placeholder', $r->name),
+      'approve-time' => format_date($r->updated_at),
+    );
+    dd($token_values, 'token values return');
   }
 }
+
