public function FrxEmailMerge::generate in Forena Reports 7.4
Same name and namespace in other branches
- 6.2 templates/FrxEmailMerge.inc \FrxEmailMerge::generate()
- 7.2 templates/FrxEmailMerge.inc \FrxEmailMerge::generate()
- 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);
}