PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.0.7
GiveWP – Donation Plugin and Fundraising Platform v2.0.7
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / includes / admin / emails / class-new-donation-email.php
give / includes / admin / emails Last commit date
abstract-email-notification.php 7 years ago ajax-handler.php 7 years ago backward-compatibility.php 7 years ago class-donation-receipt-email.php 7 years ago class-donor-register-email.php 7 years ago class-email-access-email.php 7 years ago class-email-notification-table.php 7 years ago class-email-notification-util.php 7 years ago class-email-notifications.php 7 years ago class-email-setting-field.php 7 years ago class-new-donation-email.php 7 years ago class-new-donor-register-email.php 7 years ago class-new-offline-donation-email.php 7 years ago class-offline-donation-instruction-email.php 7 years ago filters.php 7 years ago
class-new-donation-email.php
258 lines
1 <?php
2 /**
3 * New Donation Email
4 *
5 * Donation Notification will be sent to recipient(s) when new donation received except offline donation.
6 *
7 *
8 * @package Give
9 * @subpackage Classes/Emails
10 * @copyright Copyright (c) 2016, WordImpress
11 * @license https://opensource.org/licenses/gpl-license GNU Public License
12 * @since 2.0
13 */
14
15 // Exit if access directly.
16 if ( ! defined( 'ABSPATH' ) ) {
17 exit;
18 }
19
20 if ( ! class_exists( 'Give_New_Donation_Email' ) ) :
21
22 /**
23 * Give_New_Donation_Email
24 *
25 * @abstract
26 * @since 2.0
27 */
28 class Give_New_Donation_Email extends Give_Email_Notification {
29 /* @var Give_Payment $payment */
30 public $payment;
31
32 /**
33 * Create a class instance.
34 *
35 * @access public
36 * @since 2.0
37 */
38 public function init() {
39 // Initialize empty payment.
40 $this->payment = new Give_Payment( 0 );
41
42 $this->load( array(
43 'id' => 'new-donation',
44 'label' => __( 'New Donation', 'give' ),
45 'description' => __( 'Sent to designated recipient(s) when a new donation is received or a pending donation is marked as complete.', 'give' ),
46 'has_recipient_field' => true,
47 'notification_status' => 'enabled',
48 'form_metabox_setting' => true,
49 'default_email_subject' => esc_attr__( 'New Donation - #{payment_id}', 'give' ),
50 'default_email_message' => give_get_default_donation_notification_email(),
51
52 ) );
53
54 add_action( "give_{$this->config['id']}_email_notification", array( $this, 'setup_email_notification' ) );
55 }
56
57
58 /**
59 * Get email subject.
60 *
61 * @since 2.0
62 * @access public
63 *
64 * @param int $form_id
65 *
66 * @return string
67 */
68 public function get_email_subject( $form_id = null ) {
69 $subject = wp_strip_all_tags(
70 Give_Email_Notification_Util::get_value(
71 $this,
72 Give_Email_Setting_Field::get_prefix( $this, $form_id ) . 'email_subject',
73 $form_id,
74 $this->config['default_email_subject']
75 )
76 );
77
78 /**
79 * Filters the donation notification subject.
80 * Note: This filter will deprecate soon.
81 *
82 * @since 1.0
83 */
84 $subject = apply_filters( 'give_admin_donation_notification_subject', $subject, $this->payment->ID );
85
86 /**
87 * Filters the donation notification subject.
88 *
89 * @since 2.0
90 */
91 $subject = apply_filters( "give_{$this->config['id']}_get_email_subject", $subject, $this, $form_id );
92
93 return $subject;
94 }
95
96
97 /**
98 * Get email attachment.
99 *
100 * @since 2.0
101 * @access public
102 *
103 * @param int $form_id
104 *
105 * @return string
106 */
107 public function get_email_message( $form_id = null ) {
108 $message = Give_Email_Notification_Util::get_value(
109 $this,
110 Give_Email_Setting_Field::get_prefix( $this, $form_id ) . 'email_message',
111 $form_id,
112 $this->config['default_email_message']
113 );
114
115 /**
116 * Filter the email message
117 * Note: This filter will deprecate soon.
118 *
119 * @since 1.0
120 */
121 $message = apply_filters(
122 'give_donation_notification',
123 $message,
124 $this->payment->ID,
125 $this->payment->payment_meta
126 );
127
128 /**
129 * Filter the email message
130 *
131 * @since 2.0
132 */
133 $message = apply_filters(
134 "give_{$this->config['id']}_get_default_email_message",
135 $message,
136 $this,
137 $form_id
138 );
139
140 return $message;
141 }
142
143
144 /**
145 * Get email attachment.
146 *
147 * @since 2.0
148 * @access public
149 *
150 * @param int $form_id
151 * @return array
152 */
153 public function get_email_attachments( $form_id = null ) {
154 /**
155 * Filters the donation notification email attachments.
156 * By default, there is no attachment but plugins can hook in to provide one more multiple.
157 * Note: This filter will deprecate soon.
158 *
159 * @since 1.0
160 */
161 $attachments = apply_filters(
162 'give_admin_donation_notification_attachments',
163 array(),
164 $this->payment->ID,
165 $this->payment->payment_meta
166 );
167
168 /**
169 * Filters the donation notification email attachments.
170 * By default, there is no attachment but plugins can hook in to provide one more multiple.
171 *
172 * @since 2.0
173 */
174 $attachments = apply_filters(
175 "give_{$this->config['id']}_get_email_attachments",
176 $attachments,
177 $this,
178 $form_id
179 );
180
181 return $attachments;
182 }
183
184 /**
185 * Set email data
186 *
187 * @since 2.0
188 */
189 public function setup_email_data() {
190 /**
191 * Filters the from name.
192 * Note: This filter will deprecate soon.
193 *
194 * @since 1.0
195 */
196 $from_name = apply_filters(
197 'give_donation_from_name',
198 Give()->emails->get_from_name(),
199 $this->payment->ID,
200 $this->payment->payment_meta
201 );
202
203 /**
204 * Filters the from email.
205 * Note: This filter will deprecate soon.
206 *
207 * @since 1.0
208 */
209 $from_email = apply_filters(
210 'give_donation_from_address',
211 Give()->emails->get_from_address(),
212 $this->payment->ID,
213 $this->payment->payment_meta
214 );
215
216 Give()->emails->__set( 'from_name', $from_name );
217 Give()->emails->__set( 'from_email', $from_email );
218 Give()->emails->__set( 'heading', esc_html__( 'New Donation!', 'give' ) );
219 /**
220 * Filters the donation notification email headers.
221 *
222 * @since 1.0
223 */
224 $headers = apply_filters(
225 'give_admin_donation_notification_headers',
226 Give()->emails->get_headers(),
227 $this->payment->ID,
228 $this->payment->payment_meta
229 );
230
231 Give()->emails->__set( 'headers', $headers );
232 }
233
234 /**
235 * Setup email notification.
236 *
237 * @since 2.0
238 * @access public
239 *
240 * @param int $payment_id
241 */
242 public function setup_email_notification( $payment_id ) {
243 $this->payment = new Give_Payment( $payment_id );
244
245 // Set email data.
246 $this->setup_email_data();
247
248 // Send email.
249 $this->send_email_notification( array(
250 'payment_id' => $payment_id,
251 ) );
252 }
253 }
254
255 endif; // End class_exists check
256
257 return Give_New_Donation_Email::get_instance();
258