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-cancelled.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-cancelled.php
130 lines
1 <?php
2 /**
3 * RestrictContentMembershipCancelled.
4 * php version 5.6
5 *
6 * @category RestrictContentMembershipCancelled
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( 'RestrictContentMembershipCancelled' ) ) :
22
23 /**
24 * RestrictContentMembershipCancelled
25 *
26 * @category RestrictContentMembershipCancelled
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 RestrictContentMembershipCancelled {
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_cancelled';
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' => __( 'Customer Membership Cancelled', 'suretriggers' ),
75 'action' => $this->trigger,
76 'common_action' => 'rcp_transition_membership_status_cancelled',
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 string $old_status The entry that was just created.
90 * @param int $membership_id The current form.
91 * @since 1.0.0
92 *
93 * @return void|bool
94 */
95 public function trigger_listener( $old_status, $membership_id ) {
96 if ( ! function_exists( 'rcp_get_membership' ) ) {
97 return;
98 }
99 $membership = rcp_get_membership( $membership_id );
100
101 $user_id = $membership->get_user_id();
102
103 if ( ! $user_id ) {
104 return false;
105 }
106
107 $context = array_merge(
108 WordPress::get_user_context( $user_id ),
109 RestrictContent::get_rcp_membership_detail_context( $membership )
110 );
111
112 AutomationController::sure_trigger_handle_trigger(
113 [
114 'trigger' => $this->trigger,
115 'user_id' => $user_id,
116 'context' => $context,
117 ]
118 );
119 }
120 }
121
122 /**
123 * Ignore false positive
124 *
125 * @psalm-suppress UndefinedMethod
126 */
127 RestrictContentMembershipCancelled::get_instance();
128
129 endif;
130