PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.36
OttoKit: All-in-One Automation Platform v1.1.36
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 / restrict-content / triggers / restrict-content-membership-purchased.php
suretriggers / src / Integrations / restrict-content / triggers Last commit date
restrict-content-membership-cancelled.php 2 years ago restrict-content-membership-expired.php 2 years ago restrict-content-membership-purchased.php 2 years ago
restrict-content-membership-purchased.php
131 lines
1 <?php
2 /**
3 * RestrictContentMembershipPurchased.
4 * php version 5.6
5 *
6 * @category RestrictContentMembershipPurchased
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\RestrictContent\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Integrations\RestrictContent\RestrictContent;
18 use SureTriggers\Integrations\WordPress\WordPress;
19 use SureTriggers\Traits\SingletonLoader;
20
21 if ( ! class_exists( 'RestrictContentMembershipPurchased' ) ) :
22
23 /**
24 * RestrictContentMembershipPurchased
25 *
26 * @category RestrictContentMembershipPurchased
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 RestrictContentMembershipPurchased {
36
37
38 /**
39 * Integration type.
40 *
41 * @var string
42 */
43 public $integration = 'RestrictContent';
44
45
46 /**
47 * Trigger name.
48 *
49 * @var string
50 */
51 public $trigger = 'restrict_content_membership_purchased';
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' => __( 'Membership Purchased', 'suretriggers' ),
75 'action' => $this->trigger,
76 'common_action' => 'rcp_membership_post_activate',
77 'function' => [ $this, 'trigger_listener' ],
78 'priority' => 5,
79 'accepted_args' => 2,
80 ];
81
82 return $triggers;
83
84 }
85
86 /**
87 * Trigger listener
88 *
89 * @param int $membership_id ID of the membership.
90 * @param object $membership Membership object.
91 * @since 1.0.0
92 *
93 * @return void|bool
94 */
95 public function trigger_listener( $membership_id, $membership ) {
96
97 if ( ! function_exists( 'rcp_get_membership' ) ) {
98 return;
99 }
100 $membership = rcp_get_membership( $membership_id );
101
102 $user_id = $membership->get_user_id();
103
104 if ( ! $user_id ) {
105 return false;
106 }
107
108 $context = array_merge(
109 WordPress::get_user_context( $user_id ),
110 RestrictContent::get_rcp_membership_detail_context( $membership )
111 );
112
113 AutomationController::sure_trigger_handle_trigger(
114 [
115 'trigger' => $this->trigger,
116 'user_id' => $user_id,
117 'context' => $context,
118 ]
119 );
120 }
121 }
122
123 /**
124 * Ignore false positive
125 *
126 * @psalm-suppress UndefinedMethod
127 */
128 RestrictContentMembershipPurchased::get_instance();
129
130 endif;
131