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-access-course-expires.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-access-course-expires.php
125 lines
1 <?php
2 /**
3 * UserAccessExpiresLDCourse.
4 * php version 5.6
5 *
6 * @category UserAccessExpiresLDCourse
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( 'UserAccessExpiresLDCourse' ) ) :
21
22
23 /**
24 * UserAccessExpiresLDCourse
25 *
26 * @category UserAccessExpiresLDCourse
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 UserAccessExpiresLDCourse {
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_access_expires_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_access_expires_ld_course',
73 'common_action' => 'learndash_user_course_access_expired',
74 'function' => [ $this, 'trigger_listener' ],
75 'priority' => 10,
76 'accepted_args' => 2,
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 * @since 1.0.0
89 *
90 * @return void
91 */
92 public function trigger_listener( $user_id, $course_id ) {
93 if ( empty( $user_id ) ) {
94 return;
95 }
96
97 if ( ! function_exists( 'ld_course_access_expires_on' ) ) {
98 return;
99 }
100
101 $context = WordPress::get_user_context( $user_id );
102 $context['sfwd_course_id'] = $course_id;
103 $context['course_title'] = get_the_title( $course_id );
104 $context['course_url'] = get_permalink( $course_id );
105 $context['course_featured_image_id'] = get_post_meta( $course_id, '_thumbnail_id', true );
106 $context['course_featured_image_url'] = get_the_post_thumbnail_url( $course_id );
107 $timestamp = ld_course_access_expires_on( $course_id, $user_id );
108 $date_format = get_option( 'date_format' );
109 if ( is_string( $date_format ) ) {
110 $context['course_access_expiry_date'] = wp_date( $date_format, $timestamp );
111 }
112
113 AutomationController::sure_trigger_handle_trigger(
114 [
115 'trigger' => $this->trigger,
116 'context' => $context,
117 ]
118 );
119 }
120 }
121
122 UserAccessExpiresLDCourse::get_instance();
123
124 endif;
125