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-section.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-section.php
122 lines
1 <?php
2 /**
3 * CompleteSection.
4 * php version 5.6
5 *
6 * @category CompleteSection
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 use LLMS_Section;
21
22 /**
23 * CompleteSection
24 *
25 * @category CompleteSection
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 class CompleteSection {
33
34
35 /**
36 * Integration type.
37 *
38 * @var string
39 */
40 public $integration = 'LifterLMS';
41
42 /**
43 * Trigger name.
44 *
45 * @var string
46 */
47 public $trigger = 'lifterlms_section_completed';
48
49 use SingletonLoader;
50
51 /**
52 * Constructor
53 *
54 * @since 1.0.0
55 */
56 public function __construct() {
57 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
58 }
59
60 /**
61 * Register action.
62 *
63 * @param array $triggers trigger data.
64 * @return array
65 */
66 public function register( $triggers ) {
67
68 $triggers[ $this->integration ][ $this->trigger ] = [
69 'label' => __( 'User complete section', 'suretriggers' ),
70 'action' => $this->trigger,
71 'common_action' => 'lifterlms_section_completed',
72 'function' => [ $this, 'trigger_listener' ],
73 'priority' => 20,
74 'accepted_args' => 2,
75 ];
76
77 return $triggers;
78 }
79
80 /**
81 * Trigger listener
82 *
83 * @param int $user_id user id.
84 * @param int $section_id section id.
85 *
86 * @return void
87 */
88 public function trigger_listener( $user_id, $section_id ) {
89 if ( ! class_exists( 'LLMS_Section' ) ) {
90 return;
91 }
92
93 $data = new \LLMS_Section( $section_id );
94 $lessons = $data->get_lessons();
95 $context = array_merge(
96 WordPress::get_user_context( $user_id ),
97 WordPress::get_post_context( $section_id )
98 );
99 $context['parent_course'] = $data->get( 'parent_course' );
100 $context['parent_course_title'] = get_the_title( $data->get( 'parent_course' ) );
101 if ( ! empty( $lessons ) ) {
102 foreach ( $lessons as $key => $lesson ) {
103 $context['section_lesson'][ $key ] = $lesson->id;
104 $context['section_lesson_title'][ $key ] = get_the_title( $lesson->id );
105 }
106 }
107 $context['section_course'] = $data->get( 'parent_course' );
108 $context['parent_course_title'] = get_the_title( $data->get( 'parent_course' ) );
109
110 AutomationController::sure_trigger_handle_trigger(
111 [
112 'trigger' => $this->trigger,
113 'wp_user_id' => $user_id,
114 'context' => $context,
115 ]
116 );
117 }
118
119 }
120
121 CompleteSection::get_instance();
122