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 / lifterlms / triggers / user-cancels-membership.php
suretriggers / src / Integrations / lifterlms / triggers Last commit date
complete-course.php 3 years ago complete-lesson.php 1 year ago complete-section.php 2 years ago purchase-course.php 1 year ago purchase-membership.php 1 year ago user-cancels-membership.php 2 years ago user-enrolled-in-course.php 2 years ago user-unenrolled-from-course.php 2 years ago
user-cancels-membership.php
106 lines
1 <?php
2 /**
3 * UserCancelsMembership.
4 * php version 5.6
5 *
6 * @category UserCancelsMembership
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\LifterLMS\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Integrations\WordPress\WordPress;
18 use SureTriggers\Traits\SingletonLoader;
19
20 /**
21 * UserCancelsMembership
22 *
23 * @category UserCancelsMembership
24 * @package SureTriggers
25 * @author BSF <username@example.com>
26 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
27 * @link https://www.brainstormforce.com/
28 * @since 1.0.0
29 */
30 class UserCancelsMembership {
31
32
33 /**
34 * Integration type.
35 *
36 * @var string
37 */
38 public $integration = 'LifterLMS';
39
40 /**
41 * Trigger name.
42 *
43 * @var string
44 */
45 public $trigger = 'lifterlms_user_cancels_membership';
46
47 use SingletonLoader;
48
49
50 /**
51 * Constructor
52 *
53 * @since 1.0.0
54 */
55 public function __construct() {
56 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
57 }
58
59 /**
60 * Register action.
61 *
62 * @param array $triggers trigger data.
63 * @return array
64 */
65 public function register( $triggers ) {
66
67 $triggers[ $this->integration ][ $this->trigger ] = [
68 'label' => __( 'User cancels a membership', 'suretriggers' ),
69 'action' => $this->trigger,
70 'common_action' => 'llms_subscription_cancelled_by_student',
71 'function' => [ $this, 'trigger_listener' ],
72 'priority' => 20,
73 'accepted_args' => 2,
74 ];
75
76 return $triggers;
77
78 }
79
80 /**
81 * Trigger listener.
82 *
83 * @param object $order order.
84 * @param int $user_id User id.
85 * @return void
86 */
87 public function trigger_listener( $order, $user_id ) {
88 if ( method_exists( $order, 'get' ) ) {
89 $order_id = $order->get( 'id' );
90 $context = array_merge( WordPress::get_post_context( $order_id ), WordPress::get_user_context( $user_id ) );
91 $context['membership_id'] = get_post_meta( $order_id, '_llms_product_id', true );
92 $context['membership_name'] = get_post_meta( $order_id, '_llms_product_title', true );
93
94 AutomationController::sure_trigger_handle_trigger(
95 [
96 'trigger' => $this->trigger,
97 'context' => $context,
98 ]
99 );
100 }
101 }
102
103 }
104
105 UserCancelsMembership::get_instance();
106