PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.32
OttoKit: All-in-One Automation Platform v1.1.32
1.1.33 1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.9 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.47 1.0.48 1.0.49 1.0.50 1.0.51 1.0.52 1.0.53 1.0.54 1.0.55 1.0.56 1.0.57 1.0.58 1.0.59 1.0.60 1.0.61 1.0.62 1.0.63 1.0.64 1.0.65 1.0.66 1.0.67 1.0.68 1.0.69 1.0.7 1.0.70 1.0.71 1.0.72 1.0.73 1.0.74 1.0.75 1.0.76 1.0.77 1.0.78 1.0.79 1.0.8 1.0.80 1.0.81 1.0.82 1.0.83 1.0.84 1.0.85 1.0.86 1.0.87 1.0.88 1.0.89 1.0.9 1.0.90 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
suretriggers / src / Integrations / memberpress / triggers / coupon-code-redeemed.php
suretriggers / src / Integrations / memberpress / triggers Last commit date
coupon-code-redeemed.php 1 year ago membership-cancelled.php 2 years ago membership-paused.php 2 years ago membership-signup-completed.php 1 month ago purchase-membership.php 1 year ago
coupon-code-redeemed.php
127 lines
1 <?php
2 /**
3 * CouponCodeRedeemed.
4 * php version 5.6
5 *
6 * @category CouponCodeRedeemed
7 * @package SureTriggers
8 * @author BSF <username@example.com>
9 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
10 * @link https://www.brainstormforce.com/
11 * @since 1.0.0
12 */
13
14 namespace SureTriggers\Integrations\MemberPress\Triggers;
15
16 use MeprTransaction;
17 use SureTriggers\Controllers\AutomationController;
18 use SureTriggers\Integrations\MemberPress\MemberPress;
19 use SureTriggers\Integrations\WordPress\WordPress;
20 use SureTriggers\Traits\SingletonLoader;
21
22 if ( ! class_exists( 'CouponCodeRedeemed' ) ) :
23
24 /**
25 * CouponCodeRedeemed
26 *
27 * @category CouponCodeRedeemed
28 * @package SureTriggers
29 * @author BSF <username@example.com>
30 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
31 * @link https://www.brainstormforce.com/
32 * @since 1.0.0
33 */
34 class CouponCodeRedeemed {
35
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'MemberPress';
43
44 /**
45 * Trigger name.
46 *
47 * @var string
48 */
49 public $trigger = 'mepr-coupon-code-redeemed';
50
51 use SingletonLoader;
52
53
54 /**
55 * Constructor
56 *
57 * @since 1.0.0
58 */
59 public function __construct() {
60 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
61 }
62
63 /**
64 * Register action.
65 *
66 * @param array $triggers trigger data.
67 * @return array
68 */
69 public function register( $triggers ) {
70
71 $triggers[ $this->integration ][ $this->trigger ] = [
72 'label' => __( 'Coupon Code Redeemed', 'suretriggers' ),
73 'action' => $this->trigger,
74 'common_action' => [
75 'mepr-event-transaction-completed',
76 ],
77 'function' => [ $this, 'trigger_listener' ],
78 'priority' => 10,
79 'accepted_args' => 1,
80 ];
81
82 return $triggers;
83
84 }
85
86
87 /**
88 * Trigger listener
89 * This will trigger for both recurring and non-recurring transactions.
90 *
91 * @param object $event event.
92 *
93 * @return void
94 */
95 public function trigger_listener( $event ) {
96 if ( ! class_exists( 'MeprEvent' ) || ! $event instanceof \MeprEvent ) {
97 return;
98 }
99 $transaction = $event->get_data();
100 if ( empty( $transaction->coupon() ) ) {
101 return;
102 }
103 $context = array_merge(
104 WordPress::get_user_context( $transaction->user_id ),
105 MemberPress::get_membership_context( $transaction )
106 );
107 $context['coupon_id'] = $transaction->coupon()->ID;
108 $context['coupon'] = get_post( $transaction->coupon()->ID );
109 AutomationController::sure_trigger_handle_trigger(
110 [
111 'trigger' => $this->trigger,
112 'context' => $context,
113 ]
114 );
115 }
116
117 }
118
119 /**
120 * Ignore false positive
121 *
122 * @psalm-suppress UndefinedMethod
123 */
124 CouponCodeRedeemed::get_instance();
125
126 endif;
127