PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 4.17.1
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v4.17.1
4.17.1 4.17.0 4.16.19 4.16.18 4.16.17 4.16.16 trunk 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5a 1.1.6 1.1.7 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1 1.4.2 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.1.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.2 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.15.0 4.15.1 4.15.10 4.15.11 4.15.12 4.15.13 4.15.14 4.15.15 4.15.16 4.15.17 4.15.18 4.15.19 4.15.2 4.15.20 4.15.20.1 4.15.21 4.15.22 4.15.23 4.15.24 4.15.25 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.0 4.16.1 4.16.10 4.16.11 4.16.12 4.16.13 4.16.14 4.16.15 4.16.2 4.16.3 4.16.4 4.16.5 4.16.6 4.16.7 4.16.8 4.16.9 4.2.0 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.7.0 4.8.0 4.9.0
wp-user-avatar / src / Membership / Emails / SubscriptionExpiredNotification.php
wp-user-avatar / src / Membership / Emails Last commit date
AbstractMembershipEmail.php 1 month ago EmailDataTrait.php 1 week ago NewOrderAdminNotification.php 2 years ago NewOrderReceipt.php 2 years ago RenewalOrderReceipt.php 2 years ago SubscriptionAfterExpiredNotification.php 1 day ago SubscriptionCancelledNotification.php 2 years ago SubscriptionCompletedNotification.php 2 years ago SubscriptionExpirationReminder.php 4 months ago SubscriptionExpiredNotification.php 1 day ago SubscriptionPaymentFailedNotification.php 1 week ago SubscriptionRenewalReminder.php 4 months ago index.php 4 years ago
SubscriptionExpiredNotification.php
52 lines
1 <?php
2
3 namespace ProfilePress\Core\Membership\Emails;
4
5 use ProfilePress\Core\Membership\Models\Customer\CustomerFactory;
6 use ProfilePress\Core\Membership\Models\Subscription\SubscriptionEntity;
7 use ProfilePress\Core\Membership\Models\Subscription\SubscriptionFactory;
8
9 class SubscriptionExpiredNotification extends AbstractMembershipEmail
10 {
11 const ID = 'subscription_expired_notification';
12
13 public function __construct()
14 {
15 add_action('ppress_subscription_expired', [$this, 'dispatch_email']);
16 }
17
18 /**
19 * @param SubscriptionEntity $subscription
20 *
21 * @return void
22 */
23 public function dispatch_email($subscription)
24 {
25 if ( ! apply_filters('ppress_membership_subscription_expired_email_enabled', true, $subscription)) return;
26
27 if (ppress_get_setting(self::ID . '_email_enabled', 'on') !== 'on') return;
28
29 $placeholders_values = $this->get_subscription_placeholders_values($subscription);
30
31 $subject = apply_filters('ppress_' . self::ID . '_email_subject', $this->parse_placeholders(
32 ppress_get_setting(self::ID . '_email_subject', esc_html__('Your subscription has expired.', 'wp-user-avatar'), true),
33 $placeholders_values,
34 $subscription
35 ), $subscription);
36
37 $message = apply_filters('ppress_' . self::ID . '_email_content', $this->parse_placeholders(
38 ppress_get_setting(self::ID . '_email_content', $this->get_subscription_expired_content(), true),
39 $placeholders_values,
40 $subscription
41 ), $subscription);
42
43 $recipient = apply_filters('ppress_' . self::ID . '_recipient', CustomerFactory::fromId($subscription->customer_id)->get_email(), $subscription);
44
45 // double ensure the subscription is indeed expired before sending the email.
46 $refetchedSub = SubscriptionFactory::fromId($subscription->id);
47
48 if ($refetchedSub->is_expired() && ! CustomerFactory::fromId($subscription->customer_id)->has_active_subscription($subscription->plan_id)) {
49 ppress_send_email($recipient, $subject, $message);
50 }
51 }
52 }