You are here

email.inc in Signup 7

Same filename and directory in other branches
  1. 6.2 theme/email.inc
  2. 6 theme/email.inc

Theme functions for generating signup email messages.

File

theme/email.inc
View source
<?php

/**
 * @file
 * Theme functions for generating signup email messages.
 */

/**
 * Return the value for the %user_signup_info email token for custom signup data.
 *
 * @param array $signup_data
 *   Custom data for a particular signup.
 *
 * @return string
 *   Plain text output.
 *
 * @see theme_signup_user_form()
 * @see theme_signup_custom_data_email()
 */
function theme_signup_email_token_custom_data($variables) {
  return t('SIGNUP INFORMATION') . "\n\r" . theme('signup_custom_data_email', array(
    'data' => $variables['signup_data'],
  ));
}

/**
 * Renders custom signup data into unfiltered output for use in email.
 *
 * WARNING: This theme function is recursive (it calls itself for
 * nested data), so if you override it, be sure not to change the part
 * where it does "call_user_func(__FUNCTION__)".
 *
 * @param array $data
 *   An array of custom user signup data.
 *
 * @return string
 *   Plain text output with newlines.
 *
 * @see theme_signup_user_form()
 */
function theme_signup_custom_data_email($variables) {
  $data = $variables['data'];
  $output = '';

  // Loop through each first level element.
  foreach ($data as $key => $value) {
    if (is_array($value)) {

      // Element is nested, render it recursively.
      // Instead of the overhead of theme(), just call ourself directly.
      $output .= "\n\r" . call_user_func(__FUNCTION__, $value) . "\n\r";
    }
    else {
      $output .= theme('signup_custom_data_field_text', array(
        'key' => $key,
        'value' => $value,
      )) . "\n\r";
    }
  }
  return $output;
}

/**
 * Renders a single custom signup form field into unfiltered output.
 *
 * @param string $key
 *   Name of the custom signup field (the array key).
 * @param string $value
 *   Value of the custom signup field (the array value).
 *
 * @return string
 *   Plain text output to display this key/value pair.
 *
 * @see theme_signup_user_form()
 */
function theme_signup_custom_data_field_text($variables) {
  $key = $variables['key'];
  $value = $variables['value'];

  // All of the possible array key values should already be translated as
  // string literals in theme_signup_user_form() via the #title attributes, so
  // passing a variable to t() is actually safe here.  However, to avoid
  // warnings when extracting strings, "hide" the call to t() by using a
  // variable to hold the function name.
  $tr = 't';
  return $tr($key) . ': ' . $value;
}

/**
 * Controls the body of the copy of the broadcast message sent to the sender.
 *
 * @param string $raw_message
 *   The raw message typed in by the sender with no tokens replaced.
 * @param string $cooked_message
 *   The message after all the tokens have been replaced.
 *
 * @return string
 *   The final text to put in the email body sent to the broadcast sender.
 */
function theme_signup_broadcast_sender_copy($variables) {
  $raw_message = $variables['raw_message'];
  $cooked_message = $variables['cooked_message'];
  $output = t('This is a copy of the signup broadcast you just sent.') . "\n";
  $output .= wordwrap(t('Here is the original text you entered, with none of the tokens replaced:'), 72) . "\n";
  $output .= "----------\n";
  $output .= $raw_message;
  $output .= "\n----------\n\n";
  $output .= wordwrap(t('Here is how the message that was sent to each user looked, with all of the tokens replaced (using your account for the user-related tokens):'), 72) . "\n";
  $output .= "----------\n";
  $output .= $cooked_message;
  $output .= "\n----------\n\n";
  return $output;
}

Functions

Namesort descending Description
theme_signup_broadcast_sender_copy Controls the body of the copy of the broadcast message sent to the sender.
theme_signup_custom_data_email Renders custom signup data into unfiltered output for use in email.
theme_signup_custom_data_field_text Renders a single custom signup form field into unfiltered output.
theme_signup_email_token_custom_data Return the value for the %user_signup_info email token for custom signup data.