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 / learndash / triggers / course-added-to-group.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
course-added-to-group.php
134 lines
1 <?php
2 /**
3 * CourseAddedToLDGroup.
4 * php version 5.6
5 *
6 * @category CourseAddedToLDGroup
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\Integrations\LearnDash\LearnDash;
19 use SureTriggers\Traits\SingletonLoader;
20
21 if ( ! class_exists( 'CourseAddedToLDGroup' ) ) :
22
23
24 /**
25 * CourseAddedToLDGroup
26 *
27 * @category CourseAddedToLDGroup
28 * @package SureTriggers
29 * @author BSF <username@example.com>
30 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
31 * @link https://www.brainstormforce.com/
32 * @since 1.0.0
33 */
34 class CourseAddedToLDGroup {
35
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'LearnDash';
43
44 /**
45 * Action name.
46 *
47 * @var string
48 */
49 public $trigger = 'course_added_to_ld_group';
50
51 use SingletonLoader;
52
53
54 /**
55 * Constructor
56 *
57 * @since 1.0.0
58 */
59 public function __construct() {
60 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
61 }
62
63 /**
64 * Register a action.
65 *
66 * @param array $triggers actions.
67 * @return array
68 */
69 public function register( $triggers ) {
70
71 $triggers[ $this->integration ][ $this->trigger ] = [
72 'label' => __( 'User Added in Group', 'suretriggers' ),
73 'action' => 'course_added_to_ld_group',
74 'common_action' => 'ld_added_course_group_access',
75 'function' => [ $this, 'trigger_listener' ],
76 'priority' => 10,
77 'accepted_args' => 2,
78 ];
79
80 return $triggers;
81
82 }
83
84 /**
85 * Trigger listener
86 *
87 * @param int $course_id Course ID.
88 * @param int $group_id Course ID.
89 * @since 1.0.0
90 *
91 * @return void
92 */
93 public function trigger_listener( $course_id, $group_id ) {
94
95 if ( ! function_exists( 'get_post_type' ) ||
96 ! function_exists( 'learndash_get_post_type_slug' ) ) {
97 return;
98 }
99
100 if ( get_post_type( $course_id ) !== learndash_get_post_type_slug( 'course' ) &&
101 get_post_type( $group_id ) !== learndash_get_post_type_slug( 'group' ) ) {
102 return;
103 }
104
105 $context['course_id'] = $course_id;
106 $context['sfwd_group_id'] = $group_id;
107 $context['group_title'] = get_the_title( $group_id );
108 $context['course_title'] = get_the_title( $course_id );
109 $context['course_url'] = get_permalink( $course_id );
110 $context['course_featured_image_id'] = get_post_meta( $course_id, '_thumbnail_id', true );
111 $context['course_featured_image_url'] = get_the_post_thumbnail_url( $course_id );
112 $context['group_name'] = get_the_title( $group_id );
113 if ( function_exists( 'learndash_group_enrolled_courses' ) ) {
114 $group_courses_id = learndash_group_enrolled_courses( $group_id );
115 if ( ! empty( $group_courses_id ) ) {
116 foreach ( $group_courses_id as $key => $course_id ) {
117 $context['group_courses'][ $key ] = LearnDash::get_course_pluggable_data( $course_id );
118 }
119 }
120 }
121
122 AutomationController::sure_trigger_handle_trigger(
123 [
124 'trigger' => $this->trigger,
125 'context' => $context,
126 ]
127 );
128 }
129 }
130
131 CourseAddedToLDGroup::get_instance();
132
133 endif;
134