PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.33
OttoKit: All-in-One Automation Platform v1.1.33
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 / masterstudy-lms / triggers / user-enrolled-course.php
suretriggers / src / Integrations / masterstudy-lms / triggers Last commit date
course-completed.php 2 years ago lesson-passed.php 2 years ago quiz-failed.php 2 years ago quiz-passed.php 2 years ago user-enrolled-course.php 2 years ago
user-enrolled-course.php
134 lines
1 <?php
2 /**
3 * UserEnrolledCourse.
4 * php version 5.6
5 *
6 * @category UserEnrolledCourse
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\MasterStudyLms\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use SureTriggers\Integrations\WordPress\WordPress;
19
20 if ( ! class_exists( 'UserEnrolledCourse' ) ) :
21
22 /**
23 * UserEnrolledCourse
24 *
25 * @category UserEnrolledCourse
26 * @package SureTriggers
27 * @author BSF <username@example.com>
28 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
29 * @link https://www.brainstormforce.com/
30 * @since 1.0.0
31 *
32 * @psalm-suppress UndefinedTrait
33 */
34 class UserEnrolledCourse {
35
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'MasterStudyLms';
43
44
45 /**
46 * Trigger name.
47 *
48 * @var string
49 */
50 public $trigger = 'stm_lms_user_enroll_course';
51
52 use SingletonLoader;
53
54
55 /**
56 * Constructor
57 *
58 * @since 1.0.0
59 */
60 public function __construct() {
61 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
62 }
63
64 /**
65 * Register action.
66 *
67 * @param array $triggers trigger data.
68 * @return array
69 */
70 public function register( $triggers ) {
71
72 $triggers[ $this->integration ][ $this->trigger ] = [
73 'label' => __( 'User Enrolled InTo Course', 'suretriggers' ),
74 'action' => $this->trigger,
75 'common_action' => 'add_user_course',
76 'function' => [ $this, 'trigger_listener' ],
77 'priority' => 10,
78 'accepted_args' => 2,
79 ];
80
81 return $triggers;
82 }
83
84 /**
85 * Trigger listener
86 *
87 * @param int $user_id User add into the course.
88 * @param int $course_id Attempted Course ID.
89 * @return void
90 */
91 public function trigger_listener( $user_id, $course_id ) {
92
93 if ( empty( $user_id ) ) {
94 return;
95 }
96
97 if ( empty( $course_id ) ) {
98 return;
99 }
100
101 $course = get_the_title( $course_id );
102 $course_link = get_the_permalink( $course_id );
103 $featured_image = get_the_post_thumbnail_url( $course_id );
104 $date_joined = date_i18n( 'Y-m-d H:i:s' );
105
106 $data = [
107 'course' => $course_id,
108 'course_title' => $course,
109 'course_link' => $course_link,
110 'course_featured_image' => $featured_image,
111 'date_joined' => $date_joined,
112 ];
113
114 $context = array_merge( $data, WordPress::get_user_context( $user_id ) );
115
116 AutomationController::sure_trigger_handle_trigger(
117 [
118 'trigger' => $this->trigger,
119 'user_id' => $user_id,
120 'context' => $context,
121 ]
122 );
123 }
124 }
125
126 /**
127 * Ignore false positive
128 *
129 * @psalm-suppress UndefinedMethod
130 */
131 UserEnrolledCourse::get_instance();
132
133 endif;
134