PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / trunk
OttoKit: All-in-One Automation Platform vtrunk
1.1.37 1.1.36 1.1.35 1.1.34 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 / paid-memberships-pro / triggers / user-purchases-membership.php
suretriggers / src / Integrations / paid-memberships-pro / triggers Last commit date
admin-assigns-membership-user.php 3 years ago user-cancels-membership.php 2 years ago user-membership-expires.php 3 years ago user-purchases-membership.php 3 years ago user-renews-expired-membership.php 2 years ago
user-purchases-membership.php
121 lines
1 <?php
2 /**
3 * UserPurchasesMembership.
4 * php version 5.6
5 *
6 * @category UserPurchasesMembership
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\PaidMembershipsPro\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use SureTriggers\Integrations\WordPress\WordPress;
19 use MemberOrder;
20
21 if ( ! class_exists( 'UserPurchasesMembership' ) ) :
22
23 /**
24 * UserPurchasesMembership
25 *
26 * @category UserPurchasesMembership
27 * @package SureTriggers
28 * @author BSF <username@example.com>
29 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
30 * @link https://www.brainstormforce.com/
31 * @since 1.0.0
32 *
33 * @psalm-suppress UndefinedTrait
34 */
35 class UserPurchasesMembership {
36
37
38 /**
39 * Integration type.
40 *
41 * @var string
42 */
43 public $integration = 'PaidMembershipsPro';
44
45
46 /**
47 * Trigger name.
48 *
49 * @var string
50 */
51 public $trigger = 'user_purchases_membership';
52
53 use SingletonLoader;
54
55
56 /**
57 * Constructor
58 *
59 * @since 1.0.0
60 */
61 public function __construct() {
62 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
63 }
64
65 /**
66 * Register action.
67 *
68 * @param array $triggers trigger data.
69 * @return array
70 */
71 public function register( $triggers ) {
72
73 $triggers[ $this->integration ][ $this->trigger ] = [
74 'label' => __( 'A user purchases a membership', 'suretriggers' ),
75 'action' => $this->trigger,
76 'common_action' => 'pmpro_after_checkout',
77 'function' => [ $this, 'trigger_listener' ],
78 'priority' => 99,
79 'accepted_args' => 2,
80 ];
81 return $triggers;
82
83 }
84
85 /**
86 * Trigger listener
87 *
88 * @param int $user_id User ID.
89 * @param object $morder Cancel Level.
90 * @since 1.0.0
91 *
92 * @return void
93 */
94 public function trigger_listener( $user_id, $morder ) {
95
96 if ( method_exists( $morder, 'getMembershipLevel' ) ) {
97 $membership = $morder->getMembershipLevel();
98 $membership_id = $membership->id;
99
100 $context['membership_id'] = $membership->id;
101 $context['membership'] = $membership;
102 $context['user'] = WordPress::get_user_context( $user_id );
103 AutomationController::sure_trigger_handle_trigger(
104 [
105 'trigger' => $this->trigger,
106 'context' => $context,
107 ]
108 );
109 }
110 }
111 }
112
113 /**
114 * Ignore false positive
115 *
116 * @psalm-suppress UndefinedMethod
117 */
118 UserPurchasesMembership::get_instance();
119
120 endif;
121