PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.11.0
GiveWP – Donation Plugin and Fundraising Platform v2.11.0
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 6 years ago ajax-handler.php 6 years ago backward-compatibility.php 6 years ago class-donation-receipt-email.php 6 years ago class-donor-note-email.php 6 years ago class-donor-register-email.php 6 years ago class-email-access-email.php 6 years ago class-email-notification-table.php 6 years ago class-email-notification-util.php 6 years ago class-email-notifications.php 6 years ago class-email-setting-field.php 6 years ago class-new-donation-email.php 6 years ago class-new-donor-register-email.php 6 years ago class-new-offline-donation-email.php 6 years ago class-offline-donation-instruction-email.php 6 years ago filters.php 6 years ago
class-new-donation-email.php
270 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 * @package Give
8 * @subpackage Classes/Emails
9 * @copyright Copyright (c) 2016, GiveWP
10 * @license https://opensource.org/licenses/gpl-license GNU Public License
11 * @since 2.0
12 */
13
14 // Exit if access directly.
15 if ( ! defined( 'ABSPATH' ) ) {
16 exit;
17 }
18
19 if ( ! class_exists( 'Give_New_Donation_Email' ) ) :
20
21 /**
22 * Give_New_Donation_Email
23 *
24 * @abstract
25 * @since 2.0
26 */
27 class Give_New_Donation_Email extends Give_Email_Notification {
28 /* @var Give_Payment $payment */
29 public $payment;
30
31 /**
32 * Create a class instance.
33 *
34 * @access public
35 * @since 2.0
36 */
37 public function init() {
38 // Initialize empty payment.
39 $this->payment = new Give_Payment( 0 );
40
41 $this->load(
42 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' => ( false !== give_get_option( 'new-donation_email_message' ) ) ? give_get_option( 'new-donation_email_message' ) : give_get_default_donation_notification_email(),
51 'default_email_header' => __( 'New Donation!', 'give' ),
52 )
53 );
54
55 add_action( "give_{$this->config['id']}_email_notification", array( $this, 'setup_email_notification' ) );
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
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 if ( ! $this->payment->ID ) {
246 wp_die(
247 esc_html__( 'Cheatin&#8217; uh?', 'give' ),
248 esc_html__( 'Error', 'give' ),
249 array(
250 'response' => 400,
251 )
252 );
253 }
254
255 // Set email data.
256 $this->setup_email_data();
257
258 // Send email.
259 $this->send_email_notification(
260 array(
261 'payment_id' => $payment_id,
262 )
263 );
264 }
265 }
266
267 endif; // End class_exists check
268
269 return Give_New_Donation_Email::get_instance();
270