/var/www/html_fr/wp-content/plugins/yaymail/src/Utils/TemplateRenderer.php


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 );
    }
}