Index: signup.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/signup/signup.module,v
retrieving revision 1.131
diff -u -r1.131 signup.module
--- signup.module	23 May 2008 10:18:32 -0000	1.131
+++ signup.module	22 Jul 2008 04:13:21 -0000
@@ -81,6 +81,9 @@
         '%info' => $signup_info,
         );
       $message = strtr($event->reminder_email, $trans);
+      if (module_exists('token')) {
+        $message = token_replace($message, 'node', node_load($event->nid));
+      }
       drupal_mail('signup_reminder_mail', $mail_address, $subject, $message, $from);
       watchdog('signup', t('Reminder for %event sent to %useremail.', array('%event' => $event->title, '%useremail' => $mail_address)), WATCHDOG_NOTICE, l(t('view'), 'node/'. $event->nid));
     }
@@ -1402,6 +1405,9 @@
     if ($node->signup_send_confirmation && $user_mail) {
       $subject = t('Signup confirmation for event: !event', array('!event' => $node->title));
       $message = strtr($node->signup_confirmation_email, $trans);
+      if (module_exists('token')) {
+        $message = token_replace($message, 'node', node_load($event->nid));
+      }
       drupal_mail('signup_confirmation_mail', $user_mail, $subject, $message, $from);
     }
 
@@ -1706,6 +1712,9 @@
  */
 function _signup_admin_form($node) {
   $signup_token_description = t('Supported string substitutions: %event, %time, %username, %useremail, %info (user signup information).');
+  if (module_exists('token')) {
+    $signup_token_description .= ' ' . t('Additional tokens provided by the token module are avaialable for substitution.');
+  }
 
   // Load the default admin form data for new nodes.
   if (!$node || !$node->signup) {
@@ -1738,6 +1747,35 @@
     '#cols' => 40, '#rows' => 6,
     '#description' => t('Email sent to user upon signup.') .' '. $signup_token_description,
   );
+  
+  if (module_exists('token')) {
+    $patterns = token_get_list('node');
+    foreach ($patterns as $type => $pattern_set) {
+      if ($type != 'global') {
+        foreach ($pattern_set as $pattern => $description) {
+          $tokens[t('['. $pattern .']')] = t($description);
+        }
+      }
+    }
+    
+    $tokens_html = "<dl>\n";
+    foreach ($tokens as $name => $description) {
+      $tokens_html .= '<dt>'. $name .'</dt>';
+      $tokens_html .= '<dd>'. $description .'</dd>';
+    }
+    $tokens_html .= "</dl>\n";
+    
+    $form['signup_confirmation_token_fieldset'] = array(
+      '#type' => 'fieldset',
+      '#title' => t('Tokens available for replacement'),
+      '#collapsible' => true,
+      '#collapsed' => true,
+    );
+    $form['signup_confirmation_token_fieldset']['values'] = array(
+      '#value' => $tokens_html,
+    );
+  }
+  
   // Define a sub-tree to wrap the next 2 form elements together in an
   // inline div for better display.
   $form['signup_reminder'] = array(
@@ -1766,6 +1804,20 @@
     '#cols' => 40, '#rows' => 6,
     '#description' => t('Email sent to user as an event reminder.') .' '. $signup_token_description,
   );
+  
+  if (module_exists('token')) {
+    // $tokens_html should all ready exist from the confirmation component
+    $form['signup_reminder_token_fieldset'] = array(
+      '#type' => 'fieldset',
+      '#title' => t('Tokens available for replacement'),
+      '#collapsible' => true,
+      '#collapsed' => true,
+    );
+    $form['signup_reminder_token_fieldset']['values'] = array(
+      '#value' => $tokens_html,
+    );
+  }
+  
   $form['signup_close_signup_limit'] = array(
     '#type' => 'textfield',
     '#title' => t('Signup limit'),
@@ -1869,6 +1921,34 @@
     '#description' => t('Body of the email message you wish to send to all users who have signed up for this @node_type.', array('@node_type' => $node->type)) .' '. $token_text,
     '#rows' => 10,
   );
+  
+  if (module_exists('token')) {
+    $patterns = token_get_list('node');
+    foreach ($patterns as $type => $pattern_set) {
+      if ($type != 'global') {
+        foreach ($pattern_set as $pattern => $description) {
+          $tokens[t('['. $pattern .']')] = t($description);
+        }
+      }
+    }
+
+    $tokens_html = "<dl>\n";
+    foreach ($tokens as $name => $description) {
+      $tokens_html .= '<dt>'. $name .'</dt>';
+      $tokens_html .= '<dd>'. $description .'</dd>';
+    }
+    $tokens_html .= "</dl>\n";
+    $form['message_tokens_fieldset'] = array(
+      '#type' => 'fieldset',
+      '#title' => t('Tokens available for replacement'),
+      '#collapsible' => true,
+      '#collapsed' => true,
+    );
+    $form['message_tokens_fieldset']['values'] = array(
+      '#value' => $tokens_html,
+    );
+  }
+  
   $form['send'] = array(
     '#type' => 'submit',
     '#value' => t('Send'),
@@ -1936,6 +2016,9 @@
       $trans['%time'] = signup_format_date($event);
 
       $message = strtr($form_values['message'], $trans);
+      if (module_exists('token')) {
+        $message = token_replace($message, 'node', node_load($event->nid));
+      }
       drupal_mail('signup_broadcast_mail', $mail_address, $subject, $message, $from);
       watchdog('signup', t('Broadcast email for %event sent to %email.', array('%event' => $event->title, '%email' => $mail_address)), WATCHDOG_NOTICE, l(t('view'), 'node/'. $event->nid));
     }
