PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.32
OttoKit: All-in-One Automation Platform v1.1.32
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 / actions / remove-from-course.php
suretriggers / src / Integrations / lifterlms / actions Last commit date
enroll-to-course.php 10 months ago enroll-to-membership.php 10 months ago mark-course-complete.php 10 months ago mark-lesson-complete.php 10 months ago mark-section-complete.php 10 months ago remove-from-course.php 10 months ago remove-from-membership.php 10 months ago
remove-from-course.php
105 lines
1 <?php
2 /**
3 * RemoveFromCourse.
4 * php version 5.6
5 *
6 * @category RemoveFromCourse
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\Actions;
15
16 use SureTriggers\Integrations\AutomateAction;
17 use SureTriggers\Integrations\LifterLMS\LifterLMS;
18 use SureTriggers\Traits\SingletonLoader;
19
20 /**
21 * RemoveFromCourse
22 *
23 * @category RemoveFromCourse
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 RemoveFromCourse extends AutomateAction {
31
32
33 /**
34 * Integration type.
35 *
36 * @var string
37 */
38 public $integration = 'LifterLMS';
39
40 /**
41 * Action name.
42 *
43 * @var string
44 */
45 public $action = 'lms_remove_from_course';
46
47 use SingletonLoader;
48
49
50 /**
51 * Register a action.
52 *
53 * @param array $actions actions.
54 * @return array
55 */
56 public function register( $actions ) {
57 $actions[ $this->integration ][ $this->action ] = [
58 'label' => __( 'Remove user from course', 'suretriggers' ),
59 'action' => $this->action,
60 'function' => [ $this, 'action_listener' ],
61 ];
62 return $actions;
63 }
64
65 /**
66 * Action listener.
67 *
68 * @param int $user_id user_id.
69 * @param int $automation_id automation_id.
70 * @param array $fields fields.
71 * @param array $selected_options selectedOptions.
72 *
73 * @psalm-suppress InvalidScalarArgument
74 * @psalm-suppress UndefinedMethod
75 *
76 * @return bool|array|object
77 */
78 public function _action_listener( $user_id, $automation_id, $fields, $selected_options ) {
79 if ( ! function_exists( 'llms_unenroll_student' ) ) {
80 return [
81 'status' => 'error',
82 'message' => __( 'LifterLMS enrollment function not found.', 'suretriggers' ),
83
84 ];
85 }
86 $course_id = isset( $selected_options['course'] ) ? $selected_options['course'] : '0';
87 $course = get_post( (int) $course_id );
88
89 if ( ! $course ) {
90 return [
91 'status' => 'error',
92 'message' => __( 'No course is available ', 'suretriggers' ),
93
94 ];
95 }
96
97 llms_unenroll_student( $user_id, $course_id );
98 $course_data = LifterLMS::get_lms_course_context( $course_id );
99
100 return $course_data;
101 }
102 }
103
104 RemoveFromCourse::get_instance();
105