--- \user_relationships\user_relationship_mailer\user_relationship_mailer.module	Wed May 06 06:04:50 2009
+++ \user_relationshipsnew\user_relationship_mailer\user_relationship_mailer.module	Thu May 07 02:01:31 2009
@@ -6,6 +6,11 @@
 module_load_include('inc', 'user_relationship_mailer', 'user_relationship_mailer_defaults');
 
 /**
+ * Include token support. 
+* */
+require_once drupal_get_path('module', 'user_relationship_mailer') .'/user_relationship_mailer_token.inc';
+
+/**
  * Sends mail to the appropriate user
  *
  * @param $op
@@ -56,21 +61,18 @@
   }
 
   if (variable_get('user_relationship_mailer_send_mail', FALSE) ? $send_email : variable_get("user_relationship_mailer_send_{$op}", TRUE)) {
-
-    $replacements = user_relationship_mailer_replacements($relationship);
-
+   $relationships = _user_relationships_mailer_token_types($relationship);
     foreach ($send_to as $target) {
       $target = $$target;
       //include recipient-specific data here, for example, remove email needs these
-      $replacements['@profile_uid'] = $target->uid;
-      $replacements['@target_name'] = $target->name;
-
+     $relationships['relationship']->profile_uid = $target->uid;
+     $relationships['relationship']->target_name = $target->name;
       drupal_mail(
         'user_relationship_mailer',
         $op,
         $target->mail,
         user_preferred_language($target),
-        $replacements,
+        $relationships,
         NULL,
         TRUE
       );
@@ -82,12 +84,12 @@
 /**
  * hook_mail()
  */
-function user_relationship_mailer_mail($op, &$message, $replacements) {
+function user_relationship_mailer_mail($op, &$message, $relationships) {
   $defaults_function = "user_relationship_mailer_{$op}_default";
   $defaults = $defaults_function();
 
-  $message['subject'] = t(variable_get("user_relationship_mailer_{$op}_subject", $defaults['subject']), $replacements);
-  $message['body']    = t(variable_get("user_relationship_mailer_{$op}_message", $defaults['message']), $replacements);
+  $message['subject'] = t(token_replace_multiple(variable_get("user_relationship_mailer_{$op}_subject", $defaults['subject']), $relationships));
+  $message['body']    = t(token_replace_multiple(variable_get("user_relationship_mailer_{$op}_message", $defaults['message']), $relationships));
 }
 
 
@@ -134,14 +136,6 @@
       );
 
       global $_user_relationship_mailer_ops;
-      
-      //compose a list of possible replacement keys for email templates
-      $replacement_keys = array_keys(user_relationship_mailer_replacements($relationship));
-      //these two are added per-receipient in user_relationship_mailer_send_email()
-      $replacement_keys[] = '@profile_uid';
-      $replacement_keys[] = '@target_name';
-      $macro_replacements = array('%macros' => implode(', ', $replacement_keys));
-
       foreach ($_user_relationship_mailer_ops as $op) {
         $defaults_function = "user_relationship_mailer_{$op}_default";
         $defaults = $defaults_function();
@@ -166,7 +160,6 @@
           '#type'           => 'textarea',
           '#title'          => t('@Op relationship email message', array('@Op' => ucfirst($op))),
           '#default_value'  => variable_get("user_relationship_mailer_{$op}_message", $defaults['message']),
-          '#description'    => t('Replacement strings are: %macros', $macro_replacements),
         );
       }
     break;
@@ -199,4 +192,30 @@
     }
     return $form;
   }
+}
+
+
+/**
+* hook_theme()
+* 
+*/
+function user_relationships_mailer_theme()
+{
+    $theme_funcs = array('user_relationships_mailer_token_help' => array(
+      'arguments' => array('type' => NULL, 'prefix' => NULL, 'suffix' => NULL),
+      'file' => 'user_relationship_mailer_token.inc',
+    ),
+   );
+ return $theme_funcs;
+}
+
+/**
+* return relationship array
+* 
+* @param mixed $relationship
+* @return mixed
+*/
+function _user_relationships_mailer_token_types($relationship)
+{
+return array('relationship'=>$relationship);
 }
