PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.2.1
GiveWP – Donation Plugin and Fundraising Platform v2.2.1
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 8 years ago backward-compatibility.php 8 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 8 years ago class-email-notification-util.php 8 years ago class-email-notifications.php 7 years ago class-email-setting-field.php 8 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 8 years ago
class-new-donation-email.php
257 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 'default_email_header' => __( 'New Donation!', 'give' ),
52 ) );
53
54 add_action( "give_{$this->config['id']}_email_notification", array( $this, 'setup_email_notification' ) );
55 }
56
57 /**
58 * Get email subject.
59 *
60 * @since 2.0
61 * @access public
62 *
63 * @param int $form_id
64 *
65 * @return string
66 */
67 public function get_email_subject( $form_id = null ) {
68 $subject = wp_strip_all_tags(
69 Give_Email_Notification_Util::get_value(
70 $this,
71 Give_Email_Setting_Field::get_prefix( $this, $form_id ) . 'email_subject',
72 $form_id,
73 $this->config['default_email_subject']
74 )
75 );
76
77 /**
78 * Filters the donation notification subject.
79 * Note: This filter will deprecate soon.
80 *
81 * @since 1.0
82 */
83 $subject = apply_filters( 'give_admin_donation_notification_subject', $subject, $this->payment->ID );
84
85 /**
86 * Filters the donation notification subject.
87 *
88 * @since 2.0
89 */
90 $subject = apply_filters( "give_{$this->config['id']}_get_email_subject", $subject, $this, $form_id );
91
92 return $subject;
93 }
94
95
96 /**
97 * Get email attachment.
98 *
99 * @since 2.0
100 * @access public
101 *
102 * @param int $form_id
103 *
104 * @return string
105 */
106 public function get_email_message( $form_id = null ) {
107 $message = Give_Email_Notification_Util::get_value(
108 $this,
109 Give_Email_Setting_Field::get_prefix( $this, $form_id ) . 'email_message',
110 $form_id,
111 $this->config['default_email_message']
112 );
113
114 /**
115 * Filter the email message
116 * Note: This filter will deprecate soon.
117 *
118 * @since 1.0
119 */
120 $message = apply_filters(
121 'give_donation_notification',
122 $message,
123 $this->payment->ID,
124 $this->payment->payment_meta
125 );
126
127 /**
128 * Filter the email message
129 *
130 * @since 2.0
131 */
132 $message = apply_filters(
133 "give_{$this->config['id']}_get_default_email_message",
134 $message,
135 $this,
136 $form_id
137 );
138
139 return $message;
140 }
141
142
143 /**
144 * Get email attachment.
145 *
146 * @since 2.0
147 * @access public
148 *
149 * @param int $form_id
150 * @return array
151 */
152 public function get_email_attachments( $form_id = null ) {
153 /**
154 * Filters the donation notification email attachments.
155 * By default, there is no attachment but plugins can hook in to provide one more multiple.
156 * Note: This filter will deprecate soon.
157 *
158 * @since 1.0
159 */
160 $attachments = apply_filters(
161 'give_admin_donation_notification_attachments',
162 array(),
163 $this->payment->ID,
164 $this->payment->payment_meta
165 );
166
167 /**
168 * Filters the donation notification email attachments.
169 * By default, there is no attachment but plugins can hook in to provide one more multiple.
170 *
171 * @since 2.0
172 */
173 $attachments = apply_filters(
174 "give_{$this->config['id']}_get_email_attachments",
175 $attachments,
176 $this,
177 $form_id
178 );
179
180 return $attachments;
181 }
182
183 /**
184 * Set email data
185 *
186 * @since 2.0
187 */
188 public function setup_email_data() {
189 /**
190 * Filters the from name.
191 * Note: This filter will deprecate soon.
192 *
193 * @since 1.0
194 */
195 $from_name = apply_filters(
196 'give_donation_from_name',
197 Give()->emails->get_from_name(),
198 $this->payment->ID,
199 $this->payment->payment_meta
200 );
201
202 /**
203 * Filters the from email.
204 * Note: This filter will deprecate soon.
205 *
206 * @since 1.0
207 */
208 $from_email = apply_filters(
209 'give_donation_from_address',
210 Give()->emails->get_from_address(),
211 $this->payment->ID,
212 $this->payment->payment_meta
213 );
214
215 Give()->emails->__set( 'from_name', $from_name );
216 Give()->emails->__set( 'from_email', $from_email );
217
218 /**
219 * Filters the donation notification email headers.
220 *
221 * @since 1.0
222 */
223 $headers = apply_filters(
224 'give_admin_donation_notification_headers',
225 Give()->emails->get_headers(),
226 $this->payment->ID,
227 $this->payment->payment_meta
228 );
229
230 Give()->emails->__set( 'headers', $headers );
231 }
232
233 /**
234 * Setup email notification.
235 *
236 * @since 2.0
237 * @access public
238 *
239 * @param int $payment_id
240 */
241 public function setup_email_notification( $payment_id ) {
242 $this->payment = new Give_Payment( $payment_id );
243
244 // Set email data.
245 $this->setup_email_data();
246
247 // Send email.
248 $this->send_email_notification( array(
249 'payment_id' => $payment_id,
250 ) );
251 }
252 }
253
254 endif; // End class_exists check
255
256 return Give_New_Donation_Email::get_instance();
257