PluginProbe
Subscriptions for WooCommerce with Stripe Recurring Payments / 1.3.2
Subscriptions for WooCommerce with Stripe Recurring Payments v1.3.2
2.0.0 1.11.2 1.11.1 1.11.0 1.10.9 1.10.8 1.10.7 1.10.6 1.10.5 1.10.4 1.10.3 1.10.2 1.10.1 1.10.0 1.9.6 1.9.5 trunk 1.3.0 1.3.1 1.3.2 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 All 61 releases
subscription / includes / Illuminate / Email.php

Email.php in Subscriptions for WooCommerce with Stripe Recurring Payments 1.3.2, at includes/Illuminate/Email.php

70 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace SpringDevs\Subscription\Illuminate;
4
5 use SpringDevs\Subscription\Illuminate\Emails\RenewReminder;
6 use SpringDevs\Subscription\Illuminate\Emails\StatusChangedAdmin;
7 use SpringDevs\Subscription\Illuminate\Emails\SubscriptionCancelled;
8 use SpringDevs\Subscription\Illuminate\Emails\SubscriptionExpired;
9
10 /**
11 * Class Email
12 *
13 * @package SpringDevs\Subscription\Illuminate
14 */
15 class Email {
16
17 /**
18 * The constructor method.
19 */
20 public function __construct() {
21 add_action( 'woocommerce_email_after_order_table', array( $this, 'add_subscription_table' ) );
22 add_filter( 'woocommerce_email_classes', array( $this, 'register_emails' ) );
23 add_action( 'subscrpt_subscription_expired', array( $this, 'after_subscription_expired' ) );
24
25 add_action( 'subscrpt_status_changed_admin_email', array( 'WC_Emails', 'send_transactional_email' ), 10, 3 );
26 add_action( 'subscrpt_subscription_expired_email', array( 'WC_Emails', 'send_transactional_email' ), 10, 3 );
27 }
28
29 /**
30 * Sent mail after subscription expired!
31 *
32 * @param int $subscription_id Subscription id.
33 * @return void
34 */
35 public function after_subscription_expired( int $subscription_id ) {
36 WC()->mailer();
37 do_action( 'subscrpt_subscription_expired_email_notification', $subscription_id );
38 }
39
40 /**
41 * Register emails.
42 *
43 * @param array $emails Email classes.
44 *
45 * @return array
46 */
47 public function register_emails( array $emails ): array {
48 $emails['subscrpt_status_changed_admin_email'] = new StatusChangedAdmin();
49 $emails['subscrpt_subscription_expired_email'] = new SubscriptionExpired();
50 $emails['subscrpt_subscription_cancelled_email'] = new SubscriptionCancelled();
51 $emails['subscrpt_renew_reminder'] = new RenewReminder();
52 return $emails;
53 }
54
55 /**
56 * Add subscription sections inside order mail.
57 *
58 * @param \WC_Order $order Order Object.
59 *
60 * @return void
61 */
62 public function add_subscription_table( \WC_Order $order ) {
63 $histories = Helper::get_subscriptions_from_order( $order->get_id() );
64
65 if ( count( $histories ) > 0 ) {
66 include 'views/subscription-table.php';
67 }
68 }
69 }
70