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 / lifterlms / triggers / complete-lesson.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
complete-lesson.php
131 lines
1 <?php
2 /**
3 * CompleteLesson.
4 * php version 5.6
5 *
6 * @category CompleteLesson
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\LifterLMS\LifterLMS;
18 use SureTriggers\Integrations\WordPress\WordPress;
19 use SureTriggers\Traits\SingletonLoader;
20
21 /**
22 * CompleteLesson
23 *
24 * @category CompleteLesson
25 * @package SureTriggers
26 * @author BSF <username@example.com>
27 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
28 * @link https://www.brainstormforce.com/
29 * @since 1.0.0
30 */
31 class CompleteLesson {
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 $trigger = 'lifterlms_lesson_completed';
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 a action.
61 *
62 * @param array $triggers actions.
63 * @return array
64 */
65 public function register( $triggers ) {
66
67 $triggers[ $this->integration ][ $this->trigger ] = [
68 'label' => __( 'User Completes a Lesson', 'suretriggers' ),
69 'action' => $this->trigger,
70 'common_action' => 'lifterlms_lesson_completed',
71 'function' => [ $this, 'trigger_listener' ],
72 'priority' => 10,
73 'accepted_args' => 2,
74 ];
75
76 return $triggers;
77 }
78
79
80 /**
81 * Trigger listener.
82 *
83 * @param int $user_id id user ID.
84 * @param int $lesson_id Lesson ID.
85 * @since 1.0.0
86 *
87 * @return void
88 */
89 public function trigger_listener( $user_id, $lesson_id ) {
90 if ( ! $user_id ) {
91 $user_id = ap_get_current_user_id();
92 }
93 if ( empty( $user_id ) ) {
94 return;
95 }
96
97 $context = array_merge(
98 WordPress::get_user_context( $user_id ),
99 LifterLMS::get_lms_lesson_context( $lesson_id )
100 );
101 $course_id = get_post_meta( $lesson_id, '_llms_parent_course', true );
102
103 /**
104 * Course ID.
105 *
106 * @var string $course_id
107 */
108 $context['course'] = get_the_title( intval( $course_id ) );
109
110 $parent_section_id = get_post_meta( $lesson_id, '_llms_parent_section', true );
111 if ( '' !== $parent_section_id ) {
112 /**
113 * Parent Section ID.
114 *
115 * @var string $parent_section_id
116 */
117 $context['parent_section'] = get_the_title( intval( $parent_section_id ) );
118 }
119
120 AutomationController::sure_trigger_handle_trigger(
121 [
122 'trigger' => $this->trigger,
123 'user_id' => $user_id,
124 'context' => $context,
125 ]
126 );
127 }
128 }
129
130 CompleteLesson::get_instance();
131