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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
<?php if ( ! defined( 'ABSPATH' ) ) { exit; }
use YayMail\Page\Source\UpdateElement; $custom_shortcode = new YayMail\MailBuilder\Shortcodes( $template, '', false ); $arrData = array( $custom_shortcode, $args, $template ); do_action_ref_array( 'yaymail_addon_defined_shorcode', array( &$arrData ) );
$updateElement = new UpdateElement(); $yaymail_elements = get_post_meta( $postID, '_yaymail_elements', true ); $yaymail_elements = $updateElement->merge_new_props_to_elements( $yaymail_elements ); $yaymail_template = get_post_meta( $postID, '_yaymail_template', true ); $yaymail_settings = get_option( 'yaymail_settings' ); $emailBackgroundColor = get_post_meta( $postID, '_email_backgroundColor_settings', true ) ? get_post_meta( $postID, '_email_backgroundColor_settings', true ) : '#ECECEC'; $general_attrs = array( 'tableWidth' => str_replace( 'px', '', $yaymail_settings['container_width'] ) ); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"/> <style> h1{ font-family:inherit;text-shadow:unset;text-align:inherit;} h2,h3{ font-family:inherit;color:inherit;text-align:inherit;} </style> </head> <body style="background: <?php echo esc_attr( $emailBackgroundColor ); ?>"> <table style="background: <?php echo esc_attr( $emailBackgroundColor ); ?>" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" class="yaymail-customizer-email-template-container <?php echo esc_attr( 'yaymail-template-' . $yaymail_template ); ?>"> <?php foreach ( $yaymail_elements as $key => $element ) { ?> <tr><td> <?php $reg_pattern = '/\[([a-z0-9A-Z_]+)\]/'; if ( isset( $element['settingRow']['content'] ) ) { $content = $element['settingRow']['content']; $contentTitle = isset( $element['settingRow']['contentTitle'] ) ? $element['settingRow']['contentTitle'] : '';
// Add $atts for content if has shortcode preg_match_all( $reg_pattern, $content, $result ); if ( ! empty( $result[0] ) ) { foreach ( $result[0] as $key => $shortcode ) { $textcolor = isset( $element['settingRow']['textColor'] ) ? ' textcolor=' . $element['settingRow']['textColor'] : ''; $bordercolor = isset( $element['settingRow']['borderColor'] ) ? ' bordercolor=' . $element['settingRow']['borderColor'] : ''; $titlecolor = isset( $element['settingRow']['titleColor'] ) ? ' titlecolor=' . $element['settingRow']['titleColor'] : ''; $fontfamily = isset( $element['settingRow']['family'] ) ? ' fontfamily=' . str_replace( ' ', '', str_replace( array( '\'', '"' ), '', $element['settingRow']['family'] ) ) : ''; $newshortcode = substr( $shortcode, 0, -1 ); $newshortcode .= $textcolor . $bordercolor . $titlecolor . $fontfamily . ']'; $content = str_replace( $shortcode, $newshortcode, $content ); } $element['settingRow']['content'] = $content; } // Add $atts for contentTitle if has shortcode if ( $contentTitle ) { preg_match_all( $reg_pattern, $contentTitle, $result ); if ( ! empty( $result[0] ) ) { foreach ( $result[0] as $key => $shortcode ) { $textcolor = isset( $element['settingRow']['textColor'] ) ? ' textcolor=' . $element['settingRow']['textColor'] : ''; $bordercolor = isset( $element['settingRow']['borderColor'] ) ? ' bordercolor=' . $element['settingRow']['borderColor'] : ''; $titlecolor = isset( $element['settingRow']['titleColor'] ) ? ' titlecolor=' . $element['settingRow']['titleColor'] : ''; $fontfamily = isset( $element['settingRow']['family'] ) ? ' fontfamily=' . str_replace( ' ', '', str_replace( array( '\'', '"' ), '', $element['settingRow']['family'] ) ) : ''; $newshortcode = substr( $shortcode, 0, -1 ); $newshortcode .= $textcolor . $bordercolor . $titlecolor . $fontfamily . ']'; $contentTitle = str_replace( $shortcode, $newshortcode, $contentTitle ); } $element['settingRow']['contentTitle'] = $contentTitle; } }
// Add $atts for content of shipment tracking if has shortcode if ( '[yaymail_order_meta:_wc_shipment_tracking_items]' === $content ) { $shortcode = $content; $textcolor = isset( $element['settingRow']['textColor'] ) ? ' textcolor=' . $element['settingRow']['textColor'] : ''; $bordercolor = isset( $element['settingRow']['borderColor'] ) ? ' bordercolor=' . $element['settingRow']['borderColor'] : ''; $titlecolor = isset( $element['settingRow']['titleColor'] ) ? ' titlecolor=' . $element['settingRow']['titleColor'] : ''; $fontfamily = isset( $element['settingRow']['family'] ) ? ' fontfamily=' . str_replace( ' ', '', str_replace( array( '\'', '"' ), '', $element['settingRow']['family'] ) ) : ''; $newshortcode = substr( $shortcode, 0, -1 ); $newshortcode .= $textcolor . $bordercolor . $titlecolor . $fontfamily . ']'; $content = str_replace( $shortcode, $newshortcode, $content ); $element['settingRow']['content'] = $content; } } if ( has_filter( 'yaymail_addon_for_conditional_logic' ) && isset( $element['settingRow']['arrConditionLogic'] ) ) { if ( ! empty( $element['settingRow']['arrConditionLogic'] ) ) { $conditional_Logic = apply_filters( 'yaymail_addon_for_conditional_logic', false, $args, $element['settingRow'] ); if ( $conditional_Logic ) { do_action( 'Yaymail' . $element['type'], $args, $element['settingRow'], $general_attrs, $element['id'], $postID, $isInColumns = false ); } } else { if ( 'OneColumn' === $element['type'] || 'TwoColumns' === $element['type'] || 'ThreeColumns' === $element['type'] || 'FourColumns' === $element['type'] ) { for ( $column = 1; $column <= 4; $column++ ) { if ( isset( $element['settingRow'][ 'column' . $column ] ) ) { foreach ( $element['settingRow'][ 'column' . $column ] as $column_key => $column_element ) { if ( isset( $column_element['settingRow']['arrConditionLogic'] ) && ! empty( $column_element['settingRow']['arrConditionLogic'] ) ) { $conditional_Logic = apply_filters( 'yaymail_addon_for_conditional_logic', false, $args, $column_element['settingRow'] ); if ( ! $conditional_Logic ) { unset( $element['settingRow'][ 'column' . $column ][ $column_key ] ); } } } } } } do_action( 'Yaymail' . $element['type'], $args, $element['settingRow'], $general_attrs, $element['id'], $postID, $isInColumns = false ); } } else { do_action( 'Yaymail' . $element['type'], $args, $element['settingRow'], $general_attrs, $element['id'], $postID, $isInColumns = false ); } ?> </td></tr> <?php } ?> </table> </body> </html>
|