PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.36
OttoKit: All-in-One Automation Platform v1.1.36
1.1.37 1.1.36 1.1.35 1.1.34 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 / user-submits-essay-quiz.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-submits-essay-quiz.php
128 lines
1 <?php
2 /**
3 * UserSubmitsEssayLDQuiz.
4 * php version 5.6
5 *
6 * @category UserSubmitsEssayLDQuiz
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( 'UserSubmitsEssayLDQuiz' ) ) :
21
22
23 /**
24 * UserSubmitsEssayLDQuiz
25 *
26 * @category UserSubmitsEssayLDQuiz
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 UserSubmitsEssayLDQuiz {
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_submits_essay_ld_quiz';
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 Submits Essay Quiz', 'suretriggers' ),
72 'action' => 'user_submits_essay_ld_quiz',
73 'common_action' => 'learndash_new_essay_submitted',
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 $essay_id Essay ID.
87 * @param array $essay_args Essay Args.
88 * @since 1.0.0
89 *
90 * @return void
91 */
92 public function trigger_listener( $essay_id, $essay_args ) {
93
94 if ( 0 === (int) $essay_id || empty( $essay_args ) ) {
95 return;
96 }
97
98 $question_post_id = get_post_meta( $essay_id, 'question_post_id', true );
99 $quiz_post_id = get_post_meta( $essay_id, 'quiz_post_id', true );
100 $course_id = get_post_meta( $essay_id, 'course_id', true );
101 $lesson_id = get_post_meta( $essay_id, 'lesson_id', true );
102
103 $context = WordPress::get_user_context( $essay_args['post_author'] );
104
105 $context['quiz_name'] = is_int( $quiz_post_id ) ? (int) get_the_title( $quiz_post_id ) : null;
106 $context['sfwd_quiz_id'] = $quiz_post_id;
107 $context['question_name'] = is_int( $question_post_id ) ? (int) get_the_title( $question_post_id ) : null;
108 $context['sfwd_question_id'] = $question_post_id;
109 $context['course_name'] = is_int( $course_id ) ? (int) get_the_title( $course_id ) : null;
110 $context['course_id'] = $course_id;
111 $context['lesson_name'] = is_int( $lesson_id ) ? (int) get_the_title( $lesson_id ) : null;
112 $context['lesson_id'] = $lesson_id;
113 $context['essay_id'] = $essay_id;
114 $context['essay'] = WordPress::get_post_context( $essay_id );
115
116 AutomationController::sure_trigger_handle_trigger(
117 [
118 'trigger' => $this->trigger,
119 'context' => $context,
120 ]
121 );
122 }
123 }
124
125 UserSubmitsEssayLDQuiz::get_instance();
126
127 endif;
128