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-enrolled-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-enrolled-course.php
127 lines
1 <?php
2 /**
3 * UserEnrolledLDCourse.
4 * php version 5.6
5 *
6 * @category UserEnrolledLDCourse
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( 'UserEnrolledLDCourse' ) ) :
21
22
23 /**
24 * UserEnrolledLDCourse
25 *
26 * @category UserEnrolledLDCourse
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 UserEnrolledLDCourse {
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_enrolled_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_enrolled_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 $context = WordPress::get_user_context( $user_id );
105 $context['sfwd_course_id'] = $course_id;
106 $context['course_title'] = get_the_title( $course_id );
107 $context['course_url'] = get_permalink( $course_id );
108 $context['course_featured_image_id'] = get_post_meta( $course_id, '_thumbnail_id', true );
109 $context['course_featured_image_url'] = get_the_post_thumbnail_url( $course_id );
110 $date_format = get_option( 'date_format' );
111 if ( is_string( $date_format ) ) {
112 $context['course_access_expiry_date'] = wp_date( $date_format, ld_course_access_expires_on( $course_id, $user_id ) );
113 }
114
115 AutomationController::sure_trigger_handle_trigger(
116 [
117 'trigger' => $this->trigger,
118 'context' => $context,
119 ]
120 );
121 }
122 }
123
124 UserEnrolledLDCourse::get_instance();
125
126 endif;
127