PluginProbe
MyRewards / trunk
MyRewards vtrunk
5.7.8 5.7.7 5.7.6 trunk 1.2.2 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.1 2.2.0 2.3.0 2.4.0 2.4.1 2.5.0 2.6.4 2.6.6 3.0.0.0 3.1.0 3.1.2 3.1.2.1 3.10.4 3.10.9 All 165 releases
woorewards / include / mails / newreward.php

newreward.php in MyRewards trunk, at include/mails/newreward.php

140 lines 4.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace LWS\WOOREWARDS\Mails;
3
4 // don't call the file directly
5 if( !defined( 'ABSPATH' ) ) exit();
6
7 /*
8 Class that will be used for new reward email in MyRewards
9 */
10 class NewReward
11 {
12 protected $template = 'wr_new_reward';
13
14 public function __construct()
15 {
16 add_filter( 'lws_woorewards_mails', array($this, 'addTemplate'), 20 );
17 add_filter( 'lws_mail_settings_' . $this->template, array( $this , 'settings' ) );
18 add_filter( 'lws_mail_body_' . $this->template, array( $this , 'body' ), 10, 3 );
19 }
20
21 public function addTemplate($arr)
22 {
23 $arr[] = $this->template;
24 return $arr;
25 }
26
27 public function settings( $settings )
28 {
29 $settings['domain'] = 'woorewards';
30 $settings['settings'] = 'New Reward';
31 $settings['icon'] = 'lws-icon-present';
32 $settings['settings_name'] = __("New Reward", 'woorewards-lite');
33 $settings['about'] = __("Sent to customers when they receive a new reward", 'woorewards-lite');
34 $settings['subject'] = __("You've received a new reward", 'woorewards-lite');
35 $settings['title'] = __("New Reward", 'woorewards-lite');
36 $settings['header'] = __("You just got a new reward !", 'woorewards-lite');
37 $settings['footer'] = __("Powered by MyRewards", 'woorewards-lite');
38 $settings['css_file_url'] = LWS_WOOREWARDS_CSS . '/mails/newreward.css';
39 $settings['fields']['enabled'] = array(
40 'id' => 'lws_woorewards_enabled_mail_' . $this->template,
41 'title' => __("Enabled", 'woorewards-lite'),
42 'type' => 'box',
43 'extra' => array(
44 'layout' => 'toggle',
45 'default' => '',
46 )
47 );
48
49 return $settings;
50 }
51
52 public function body( $html, $data, $settings )
53 {
54 if( !empty($html) )
55 return $html;
56 if( $demo = \is_wp_error($data) )
57 $data = $this->placeholders();
58
59 if( false === $data['reward'] )
60 {
61 return __("That feature requires WooCommerce.", 'woorewards-lite');
62 }
63
64 $code = $data['reward']->get_code();
65
66 $expiry = false;
67 if( $data['reward']->get_date_expires('edit') ) {
68 $expiry = $data['reward']->get_date_expires('edit')->date_i18n(\get_option('date_format'));
69 }
70
71 $value = $data['reward']->get_amount('edit');
72 if( $data['reward']->get_discount_type('edit') == 'percent' )
73 $value = round($value, 2) . '%';
74 else if( $data['reward']->get_discount_type('edit') == 'fixed_cart' )
75 $value = \wc_price($value, array('currency' => \get_option('woocommerce_currency')));
76
77 $labels = array(
78 'date' => __("Expiration Date", 'woorewards-lite'),
79 'detail' => __("Coupon Details", 'woorewards-lite'),
80 'code' => __("Coupon Code", 'woorewards-lite'),
81 'value' => __("Coupon Value", 'woorewards-lite')
82 );
83
84 if (empty($data['reward']->get_usage_limit('edit')))
85 $value .= (' ' . _x("(reusable)", "permanent coupon", 'woorewards-lite'));
86
87 $expDivs = array('', '');
88 if( !empty($expiry) )
89 {
90 $expDivs = array(
91 "<div class='lwss_selectable lws-reward-desc' data-type='Reward Description'>{$labels['date']}</div>",
92 "<div class='lwss_selectable lws-reward-expiry' data-type='Expiration Date'>{$expiry}</div>"
93 );
94 }
95
96 $img = $labels['detail'];
97 if( !empty($data['unlockable']) && empty($img = $data['unlockable']->getThumbnailImage()) )
98 {
99 if( $demo )
100 $img = "<div class='lws-sponsor-thumbnail lws-icon lws-icon-image'></div>";
101 else
102 $img = $labels['detail'];
103 }
104
105 return "<tr><td class='lws-middle-cell'>"
106 . "<table class='lwss_selectable lws-rewards-table' data-type='Rewards Table'>"
107 . "<tr>"
108 . "<td><div class='lwss_selectable lws-reward-desc' data-type='Reward Description'>{$img}</div></td>"
109 . "<td>"
110 . "<div class='lwss_selectable lws-reward-desc' data-type='Reward Description'>{$labels['code']}</div>"
111 . "<div class='lwss_selectable lws-reward-desc' data-type='Reward Description'>{$labels['value']}</div>"
112 . $expDivs[0]
113 . "</td><td>"
114 . "<div class='lwss_selectable lws-reward-code' data-type='Reward Code'>{$code}</div>"
115 . "<div class='lwss_selectable lws-reward-value' data-type='Reward Value'>{$value}</div>"
116 . $expDivs[1]
117 . "</td>"
118 . "</tr>"
119 . "</table>"
120 . "</td></tr>";
121 }
122
123 protected function placeholders()
124 {
125 if( !\LWS\Adminpanel\Tools\Conveniences::isWC() )
126 return array('user' => \wp_get_current_user(), 'type' => '', 'unlockable' => null, 'reward' => false);
127
128 $unlockable = \LWS\WOOREWARDS\Collections\Unlockables::instanciate()->create('lws_woorewards_unlockables_coupon')->last();
129 $unlockable->setTestValues();
130 $user = \wp_get_current_user();
131
132 return array(
133 'user' => $user,
134 'type' => $unlockable->getType(),
135 'unlockable' => $unlockable,
136 'reward' => $unlockable->createReward($user, true)
137 );
138 }
139
140 }