You are here

class Messaging_Message_Template in Messaging 7

Template for a full message (subject, body, etc..)

Hierarchy

Expanded class hierarchy of Messaging_Message_Template

File

messaging_template/messaging_template.inc, line 417
Drupal Messaging Framework - Text filtering functions

View source
class Messaging_Message_Template extends Messaging_Template implements Messaging_Message_Render {
  public $method = 'default';

  /**
   * Set message elements
   */
  protected function get_parts() {
    return array(
      'subject',
      'body',
    );
  }

  /**
   * Get Message_Object with this template linked
   */
  public function build_message($options = array()) {
    $message = new Messaging_Message($options);
    $message
      ->set_template($this);
    return $message;
  }

  /**
   * Set destination (and reset built elements)
   */
  function set_destination($destination) {
    $this
      ->add_object('destination', $destination);
    $this
      ->add_object('user', $destination
      ->get_user());
    $this
      ->reset();
    return $this;
  }

  /**
   * Set text format
   */
  public function set_format($format) {
    $this->format = $format;
    $this
      ->reset();
    return $this;
  }

  /**
   * Set sending method
   */
  public function set_method($method) {
    $this->method = $method;
    $this
      ->reset();
    return $this;
  }

  /*
   * Get defaults for elements
   */
  protected function element_defaults($name) {
    switch ($name) {
      case 'subject':
        $defaults = array(
          '#type' => 'messaging_template_subject',
        );
        break;
      case 'body':
        $defaults = array(
          '#type' => 'messaging_template_body',
          '#parts' => array(
            'header',
            'content',
            'footer',
          ),
        );
        break;
      case 'header':
      case 'content':
      case 'footer':
        $defaults = array(
          '#type' => 'messaging_template_text',
        );
        break;
      default:
        $defaults = array();
    }
    return $defaults + parent::element_defaults($name);
  }

  /**
   * Default texts for this template, may need token replacement
   */
  protected function default_text($type, $options) {
    switch ($type) {
      case 'subject':
        return array(
          '#tokens' => TRUE,
          '#markup' => t('Message from [site:name]', array(), $options),
        );
      case 'footer':
        return array(
          '#type' => 'messaging_link',
          '#tokens' => TRUE,
          '#text' => t('Message from [site:name]', array(), $options),
          '#url' => '[site:url]',
        );
      default:
        return parent::default_text($type, $options);
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Messaging_Message_Template::$method public property
Messaging_Message_Template::build_message public function Get Message_Object with this template linked
Messaging_Message_Template::default_text protected function Default texts for this template, may need token replacement Overrides Messaging_Template::default_text
Messaging_Message_Template::element_defaults protected function Overrides Messaging_Template::element_defaults
Messaging_Message_Template::get_parts protected function Set message elements Overrides Messaging_Template::get_parts
Messaging_Message_Template::set_destination function Set destination (and reset built elements) Overrides Messaging_Message_Render::set_destination
Messaging_Message_Template::set_format public function Set text format Overrides Messaging_Message_Render::set_format
Messaging_Message_Template::set_method public function Set sending method Overrides Messaging_Message_Render::set_method
Messaging_Template::$elements public property
Messaging_Template::$format public property
Messaging_Template::$objects protected property
Messaging_Template::$options protected property
Messaging_Template::$parent protected property
Messaging_Template::$text public property
Messaging_Template::$tokens protected property
Messaging_Template::add_element function Add element ready for drupal_render()
Messaging_Template::add_item function Add item of unknown type
Messaging_Template::add_object function Add object to the list
Messaging_Template::add_string function Add string
Messaging_Template::add_text function Add text object
Messaging_Template::build public function Build all elements, return array
Messaging_Template::build_element public function Build a named element
Messaging_Template::build_parts public function Build template parts
Messaging_Template::build_text protected function Build a message text element
Messaging_Template::default_elements protected function Get default elements
Messaging_Template::element_build protected function Build a message element with optional text replacement
Messaging_Template::element_replace protected function Perform token replace within an element
Messaging_Template::get_element function Get element from elements or default texts
Messaging_Template::get_objects function Get objects from this template (include parent's ones)
Messaging_Template::get_options function Get options for texts, translations, etc
Messaging_Template::get_text public function Get text element from this template
Messaging_Template::get_tokens function Get tokens for templates
Messaging_Template::render public function Render elements, return string
Messaging_Template::reset public function Reset built elements
Messaging_Template::set_language function Set language
Messaging_Template::set_option function Set options
Messaging_Template::set_options function Set array of options
Messaging_Template::set_parent function Set parent text
Messaging_Template::token_list protected function Tokens for this template. Will be stored
Messaging_Template::token_replace public function Do token replacement with this template's objects