PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.24.2
GiveWP – Donation Plugin and Fundraising Platform v2.24.2
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 / src / Email / Notifications / DonationProcessingReceipt.php
give / src / Email / Notifications Last commit date
DonationProcessingReceipt.php 3 years ago
DonationProcessingReceipt.php
90 lines
1 <?php
2
3 namespace Give\Email\Notifications;
4
5 use Give\Donations\Models\Donation;
6 use Give\Donations\ValueObjects\DonationStatus;
7 use Give_Email_Notification;
8
9 /**
10 * @since 2.24.0
11 */
12 class DonationProcessingReceipt extends Give_Email_Notification
13 {
14 /**
15 * @since 2.24.0
16 */
17 public function init()
18 {
19 $this->load(
20 [
21 'id' => 'donation-processing-receipt',
22 'label' => __('Donation Processing Receipt', 'give'),
23 'description' => __('Sent to the donor when their donation is marked as processing.',
24 'give'),
25 'notification_status' => 'enabled',
26 'form_metabox_setting' => true,
27 'recipient_group_name' => __('Donor', 'give'),
28 'default_email_subject' => esc_attr__('Donation Processing Receipt', 'give'),
29 'default_email_message' => $this->getDefaultEmailMessage(),
30 'default_email_header' => __('Donation Processing Receipt', 'give'),
31 ]
32 );
33
34 if ('disabled' != $this->get_notification_status()) {
35 add_action('give_update_payment_status', [$this, 'sendEmailNotificationToDonor'], 10, 3);
36 }
37 }
38
39 /**
40 * @since 2.24.0
41 */
42 public function getDefaultEmailMessage(): string
43 {
44 $defaultEmailMessage = sprintf(
45 esc_html__('Dear %s!', 'give') . "\n\n" .
46 esc_html__('Thank you for your donation. Your payment is currently being processed and you will receive a final email receipt once it has completed. Your generosity is appreciated!',
47 'give') . "\n\n" .
48 esc_html__('Here are the details of your donation:', 'give') . "\n\n" .
49 '<strong>' . esc_html__('Donor:', 'give') . '</strong>' . ' %s' . "\n" .
50 '<strong>' . esc_html__('Donation:', 'give') . '</strong>' . ' %s' . "\n" .
51 '<strong>' . esc_html__('Donation Date:', 'give') . '</strong>' . ' %s' . "\n" .
52 '<strong>' . esc_html__('Amount:', 'give') . '</strong>' . ' %s' . "\n" .
53 '<strong>' . esc_html__('Payment Method:', 'give') . '</strong>' . ' %s' . "\n" .
54 '<strong>' . esc_html__('Payment ID:', 'give') . '</strong>' . ' %s' . "\n\n" .
55 '%s' . "\n\n" .
56 esc_html__('Sincerely ', 'give') . "\n" .
57 '%s' . "\n"
58 , '{name}', '{fullname}', '{donation}', '{date}', '{amount}', '{payment_method}',
59 '{payment_id}', '{receipt_link}', '{sitename}');
60
61 /**
62 * @since 2.24.0
63 */
64 return apply_filters("give_{$this->config['id']}_get_default_email_message", $defaultEmailMessage);
65 }
66
67 /**
68 * @since 2.24.0
69 */
70 public function sendEmailNotificationToDonor(int $donationId, string $newStatus, string $oldStatus)
71 {
72 if ($newStatus == DonationStatus::PROCESSING()->getValue() &&
73 $oldStatus !== DonationStatus::PROCESSING()->getValue()) {
74 $donation = Donation::find($donationId);
75
76 if ( ! $donation) {
77 return;
78 }
79
80 $this->recipient_email = $donation->email;
81
82 $this->send_email_notification(
83 [
84 'payment_id' => $donation->id,
85 ]
86 );
87 }
88 }
89 }
90