You are here

public function FrxEmailMerge::generate in Forena Reports 7.4

Same name and namespace in other branches
  1. 6.2 templates/FrxEmailMerge.inc \FrxEmailMerge::generate()
  2. 7.2 templates/FrxEmailMerge.inc \FrxEmailMerge::generate()
  3. 7.3 templates/FrxEmailMerge.inc \FrxEmailMerge::generate()

Generate the template from the configuration.

Parameters

string $data_block:

SimpleXMLElement $xml:

array $config:

Overrides FrxRenderer::generate

File

renderers/FrxEmailMerge.inc, line 73
FrxEmailMerge Email merge template.

Class

FrxEmailMerge
@file FrxEmailMerge Email merge template.

Code

public function generate($xml, &$config) {
  $from = @$config['from'];
  $to = @$config['to'];
  $cc = @$config['cc'];
  $bcc = @$config['bcc'];
  $subject = @$config['subject'];
  $body = @$config['body'];
  $body = $body['value'];
  $config['foreach'] = "*";
  $div = $this
    ->blockDiv($config);
  $this
    ->removeChildren($div);
  $doc = $this
    ->addNode($div, 4, 'div', NULL, array(
    'class' => 'email-document',
  ));
  $header = $this
    ->addNode($doc, 6, 'div', NULL, array(
    'class' => 'email-header',
  ));
  $table = $this
    ->addNode($header, 8, 'table');
  $tr = $this
    ->addNode($table, 10, 'tr');
  $td = $this
    ->addNode($tr, 12, 'th', 'From');
  $td = $this
    ->addNode($tr, 12, 'td', htmlentities($from, NULL, 'UTF-8'), array(
    'class' => 'email-header-from',
  ));
  $tr = $this
    ->addNode($table, 10, 'tr');
  $td = $this
    ->addNode($tr, 12, 'th', 'To');
  $td = $this
    ->addNode($tr, 12, 'td', htmlentities($to, NULL, 'UTF-8'), array(
    'class' => 'email-header-to',
  ));
  if ($cc) {
    $tr = $this
      ->addNode($table, 10, 'tr');
    $td = $this
      ->addNode($tr, 12, 'th', 'Cc');
    $td = $this
      ->addNode($tr, 12, 'td', htmlentities($cc, NULL, 'UTF-8'), array(
      'class' => 'email-header-cc',
    ));
  }
  if ($bcc) {
    $tr = $this
      ->addNode($table, 10, 'tr');
    $td = $this
      ->addNode($tr, 12, 'th', 'Bcc');
    $td = $this
      ->addNode($tr, 12, 'td', htmlentities($bcc, NULL, 'UTF-8'), array(
      'class' => 'email-header-bcc',
    ));
  }
  $tr = $this
    ->addNode($table, 10, 'tr');
  $td = $this
    ->addNode($tr, 12, 'th', 'Subject');
  $td = $this
    ->addNode($tr, 12, 'td', $subject, array(
    'class' => 'email-header-subject',
  ));
  $email_body = $this
    ->addNode($doc, 6, 'div', NULL, array(
    'class' => 'email-body',
  ));
  $p = $this
    ->addFragment($email_body, $body);
}