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 / admin-assigns-membership-user.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
admin-assigns-membership-user.php
123 lines
1 <?php
2 /**
3 * AdminAssignsMembershipUser.
4 * php version 5.6
5 *
6 * @category AdminAssignsMembershipUser
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 PMPro_Membership_Level;
20
21 if ( ! class_exists( 'AdminAssignsMembershipUser' ) ) :
22
23 /**
24 * AdminAssignsMembershipUser
25 *
26 * @category AdminAssignsMembershipUser
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 AdminAssignsMembershipUser {
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 = 'admin_assigns_membership_user';
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' => __( 'An admin assigns a membership level to a user', 'suretriggers' ),
75 'action' => $this->trigger,
76 'common_action' => 'pmpro_after_change_membership_level',
77 'function' => [ $this, 'trigger_listener' ],
78 'priority' => 99,
79 'accepted_args' => 3,
80 ];
81 return $triggers;
82
83 }
84
85 /**
86 * Trigger listener
87 *
88 * @param int $level_id ID of the level changed to.
89 * @param int $user_id ID of the user changed.
90 * @param int $cancel_level ID of the level being cancelled if specified.
91 * @since 1.0.0
92 *
93 * @return void
94 */
95 public function trigger_listener( $level_id, $user_id, $cancel_level ) {
96
97 if ( class_exists( 'PMPro_Membership_Level' ) ) {
98 $membership_level = new PMPro_Membership_Level();
99 $level_data = $membership_level->get_membership_level( $level_id );
100 $context['level'] = $level_data;
101 }
102
103 $context['user'] = WordPress::get_user_context( $user_id );
104 $context['membership_id'] = $level_id;
105
106 AutomationController::sure_trigger_handle_trigger(
107 [
108 'trigger' => $this->trigger,
109 'context' => $context,
110 ]
111 );
112 }
113 }
114
115 /**
116 * Ignore false positive
117 *
118 * @psalm-suppress UndefinedMethod
119 */
120 AdminAssignsMembershipUser::get_instance();
121
122 endif;
123