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 / learndash / triggers / user-unenrolled-course.php
suretriggers / src / Integrations / learndash / triggers Last commit date
course-added-to-group.php 1 year ago essay-question-graded.php 2 years ago group-leader-added-to-group.php 1 year ago group-leader-removed-from-group.php 1 year ago user-access-course-expires.php 2 years ago user-added-in-group.php 1 year ago user-assignment-graded.php 2 years ago user-completes-course.php 1 year ago user-completes-group-course.php 1 year ago user-completes-lesson.php 3 years ago user-completes-topic.php 3 years ago user-enrolled-course.php 1 year ago user-fails-quiz.php 2 years ago user-passes-quiz.php 2 years ago user-purchase-course.php 1 year ago user-removed-from-group.php 1 year ago user-submits-assignment.php 2 years ago user-submits-essay-quiz.php 2 years ago user-unenrolled-course.php 2 years ago
user-unenrolled-course.php
132 lines
1 <?php
2 /**
3 * UserUnenrolledLDCourse.
4 * php version 5.6
5 *
6 * @category UserUnenrolledLDCourse
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\LearnDash\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Integrations\WordPress\WordPress;
18 use SureTriggers\Traits\SingletonLoader;
19
20 if ( ! class_exists( 'UserUnenrolledLDCourse' ) ) :
21
22
23 /**
24 * UserUnenrolledLDCourse
25 *
26 * @category UserUnenrolledLDCourse
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 class UserUnenrolledLDCourse {
34
35
36 /**
37 * Integration type.
38 *
39 * @var string
40 */
41 public $integration = 'LearnDash';
42
43 /**
44 * Action name.
45 *
46 * @var string
47 */
48 public $trigger = 'user_unenrolled_ld_course';
49
50 use SingletonLoader;
51
52
53 /**
54 * Constructor
55 *
56 * @since 1.0.0
57 */
58 public function __construct() {
59 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
60 }
61
62 /**
63 * Register a action.
64 *
65 * @param array $triggers actions.
66 * @return array
67 */
68 public function register( $triggers ) {
69
70 $triggers[ $this->integration ][ $this->trigger ] = [
71 'label' => __( 'User Added in Group', 'suretriggers' ),
72 'action' => 'user_unenrolled_ld_course',
73 'common_action' => 'learndash_update_course_access',
74 'function' => [ $this, 'trigger_listener' ],
75 'priority' => 10,
76 'accepted_args' => 4,
77 ];
78
79 return $triggers;
80
81 }
82
83 /**
84 * Trigger listener
85 *
86 * @param int $user_id User ID.
87 * @param int $course_id Course ID.
88 * @param string|null $course_access_list A comma-separated list of user IDs used for the course_access_list field.
89 * Note: Used if `learndash_use_legacy_course_access_list()` returns true. Otherwise null is sent.
90 * @param boolean $remove Whether to remove course access from the user.
91 * @since 1.0.0
92 *
93 * @return void
94 */
95 public function trigger_listener( $user_id, $course_id, $course_access_list, $remove ) {
96 if ( empty( $user_id ) ) {
97 return;
98 }
99
100 if ( ! function_exists( 'ld_course_access_expires_on' ) ) {
101 return;
102 }
103
104 if ( empty( $remove ) ) {
105 return;
106 }
107
108 $context = WordPress::get_user_context( $user_id );
109 $context['sfwd_course_id'] = $course_id;
110 $context['course_title'] = get_the_title( $course_id );
111 $context['course_url'] = get_permalink( $course_id );
112 $context['course_featured_image_id'] = get_post_meta( $course_id, '_thumbnail_id', true );
113 $context['course_featured_image_url'] = get_the_post_thumbnail_url( $course_id );
114 $timestamp = ld_course_access_expires_on( $course_id, $user_id );
115 $date_format = get_option( 'date_format' );
116 if ( is_string( $date_format ) ) {
117 $context['course_access_expiry_date'] = wp_date( $date_format, $timestamp );
118 }
119
120 AutomationController::sure_trigger_handle_trigger(
121 [
122 'trigger' => $this->trigger,
123 'context' => $context,
124 ]
125 );
126 }
127 }
128
129 UserUnenrolledLDCourse::get_instance();
130
131 endif;
132