1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
<?php
namespace YayMail\Utils;
use YayMail\Models\TemplateModel; use YayMail\Shortcodes\ShortcodesExecutor; use YayMail\Models\SettingModel; use YayMail\YayMailTemplate;
defined( 'ABSPATH' ) || exit;
/** * TemplateRenderer Classes * Define all utility functions to be used for rendering templates */ class TemplateRenderer {
public $template = null;
public function __construct( $template ) { if ( $template instanceof YayMailTemplate ) { $this->template = $template; } }
public function generate_content( $render_data ) { if ( empty( $this->template ) ) { return ''; }
// Handle the cases when order is numeric (order_id) if ( isset( $render_data['order'] ) && is_numeric( $render_data['order'] ) ) { $order = wc_get_order( $render_data['order'] ); if ( $order ) { $render_data['order'] = $order; } }
// TODO: Need to generate render_data based on email type $args = [ 'template' => $this->template, 'render_data' => $render_data, 'settings' => yaymail_settings(), ];
return yaymail_get_content( 'templates/emails/email-content.php', $args ); } }
|