--- \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); }