PluginProbe
GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI / 8.0.5
GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI v8.0.5
8.0.5 8.0.4 8.0.3 8.0.1 8.0.2 8.0.0 7.9.9.7 7.9.9.6 7.9.9.5 7.9.9.4 7.9.9.3 7.9.9.2 7.9.9.1 7.9.9 7.9.8 7.9.7 7.9.6 7.9.5 7.9.4 7.9.3 7.9.2 7.9.1 7.9.0 7.8.9 7.8.8 All 47 releases
gamipress / integrations / fluentcommunity / includes / triggers.php

triggers.php in GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI 8.0.5, at integrations/fluentcommunity/includes/triggers.php

506 lines 23.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Triggers
4 *
5 * @package GamiPress\FluentCommunity\Triggers
6 * @since 1.0.0
7 */
8
9 // Exit if accessed directly
10 if( !defined( 'ABSPATH' ) ) exit;
11
12 /**
13 * Register plugin specific triggers
14 *
15 * @since 1.0.0
16 *
17 * @param array $triggers
18 * @return mixed
19 */
20 function gamipress_fluentcommunity_activity_triggers( $triggers ) {
21
22 // Spaces
23 $triggers[__( 'FluentCommunity Spaces', 'gamipress' )] = array(
24 // Publish post
25 'gamipress_fluentcommunity_publish_post' => __( 'Publish a post in any space', 'gamipress' ),
26 'gamipress_fluentcommunity_specific_publish_post' => __( 'Publish a post in a specific space', 'gamipress' ),
27 // Delete post
28 'gamipress_fluentcommunity_delete_post' => __( 'Remove a post from any space', 'gamipress' ),
29 'gamipress_fluentcommunity_specific_delete_post' => __( 'Remove a post from a specific space', 'gamipress' ),
30 // React post
31 'gamipress_fluentcommunity_react_post' => __( 'React a post of any space', 'gamipress' ),
32 'gamipress_fluentcommunity_specific_react_post' => __( 'React a post of specific space', 'gamipress' ),
33 // Request join space
34 'gamipress_fluentcommunity_request_join_space' => __( 'Request to join any space', 'gamipress' ),
35 'gamipress_fluentcommunity_request_join_specific_space' => __( 'Request to join specific space', 'gamipress' ),
36 // Join space
37 'gamipress_fluentcommunity_join_space' => __( 'Join any space', 'gamipress' ),
38 'gamipress_fluentcommunity_join_specific_space' => __( 'Join a specific space', 'gamipress' ),
39 // Leave space
40 'gamipress_fluentcommunity_leave_space' => __( 'Leave any space', 'gamipress' ),
41 'gamipress_fluentcommunity_leave_specific_space' => __( 'Leave a specific space', 'gamipress' ),
42 // Add comment
43 'gamipress_fluentcommunity_add_comment' => __( 'Add a comment in any space', 'gamipress' ),
44 'gamipress_fluentcommunity_specific_add_comment' => __( 'Add a comment in a specific space', 'gamipress' ),
45 // Delete comment
46 'gamipress_fluentcommunity_delete_comment' => __( 'Delete a comment in any space', 'gamipress' ),
47 'gamipress_fluentcommunity_specific_delete_comment' => __( 'Delete a comment in a specific space', 'gamipress' ),
48 // Create space
49 'gamipress_fluentcommunity_create_space' => __( 'Create a space', 'gamipress' ),
50 // Delete space
51 'gamipress_fluentcommunity_delete_space' => __( 'Delete any space', 'gamipress' ),
52 'gamipress_fluentcommunity_delete_specific_space' => __( 'Delete a specific space', 'gamipress' ),
53 );
54
55 // Courses
56 $triggers[__( 'FluentCommunity Courses', 'gamipress' )] = array(
57 // Complete course
58 'gamipress_fluentcommunity_complete_course' => __( 'Complete any course', 'gamipress' ),
59 'gamipress_fluentcommunity_complete_specific_course' => __( 'Complete a specific course', 'gamipress' ),
60 // Enroll course
61 'gamipress_fluentcommunity_enroll_course' => __( 'Enroll in any course', 'gamipress' ),
62 'gamipress_fluentcommunity_enroll_specific_course' => __( 'Enroll in a specific course', 'gamipress' ),
63 // Unroll course
64 'gamipress_fluentcommunity_unroll_course' => __( 'Unroll from any course', 'gamipress' ),
65 'gamipress_fluentcommunity_unroll_specific_course' => __( 'Unroll from a specific course', 'gamipress' ),
66 // Create course
67 'gamipress_fluentcommunity_create_course' => __( 'Create a course', 'gamipress' ),
68 // Delete course
69 'gamipress_fluentcommunity_delete_course' => __( 'Delete any course', 'gamipress' ),
70 'gamipress_fluentcommunity_delete_specific_course' => __( 'Delete a specific course', 'gamipress' ),
71 // Complete lesson
72 'gamipress_fluentcommunity_complete_lesson' => __( 'Complete any lesson', 'gamipress' ),
73 'gamipress_fluentcommunity_complete_specific_lesson' => __( 'Complete a specific lesson', 'gamipress' ),
74
75 );
76
77 // Quizzes
78 $triggers[__( 'FluentCommunity Quizzes', 'gamipress' )] = array(
79 // Attempt quiz
80 'gamipress_fluentcommunity_attempt_quiz' => __( 'Attempt any quiz', 'gamipress' ),
81 'gamipress_fluentcommunity_attempt_specific_quiz' => __( 'Attempt a specific quiz', 'gamipress' ),
82 // Pass quiz
83 'gamipress_fluentcommunity_pass_quiz' => __( 'Pass any quiz', 'gamipress' ),
84 'gamipress_fluentcommunity_pass_specific_quiz' => __( 'Pass a specific quiz', 'gamipress' ),
85 // Fail quiz
86 'gamipress_fluentcommunity_fail_quiz' => __( 'Fail any quiz', 'gamipress' ),
87 'gamipress_fluentcommunity_fail_specific_quiz' => __( 'Fail a specific quiz', 'gamipress' ),
88
89 );
90
91 return $triggers;
92
93 }
94 add_filter( 'gamipress_activity_triggers', 'gamipress_fluentcommunity_activity_triggers' );
95
96 /**
97 * Register plugin specific activity triggers
98 *
99 * @since 1.0.0
100 *
101 * @param array $specific_activity_triggers
102 * @return array
103 */
104 function gamipress_fluentcommunity_specific_activity_triggers( $specific_activity_triggers ) {
105
106 // Spaces
107 $specific_activity_triggers['gamipress_fluentcommunity_specific_publish_post'] = array( 'fluentcommunity_spaces' );
108 $specific_activity_triggers['gamipress_fluentcommunity_specific_delete_post'] = array( 'fluentcommunity_spaces' );
109 $specific_activity_triggers['gamipress_fluentcommunity_specific_react_post'] = array( 'fluentcommunity_spaces' );
110 $specific_activity_triggers['gamipress_fluentcommunity_request_join_specific_space'] = array( 'fluentcommunity_spaces' );
111 $specific_activity_triggers['gamipress_fluentcommunity_join_specific_space'] = array( 'fluentcommunity_spaces' );
112 $specific_activity_triggers['gamipress_fluentcommunity_leave_specific_space'] = array( 'fluentcommunity_spaces' );
113 $specific_activity_triggers['gamipress_fluentcommunity_specific_add_comment'] = array( 'fluentcommunity_spaces' );
114 $specific_activity_triggers['gamipress_fluentcommunity_specific_delete_comment'] = array( 'fluentcommunity_spaces' );
115 $specific_activity_triggers['gamipress_fluentcommunity_delete_specific_space'] = array( 'fluentcommunity_spaces' );
116
117 // Courses
118 $specific_activity_triggers['gamipress_fluentcommunity_complete_specific_course'] = array( 'fluentcommunity_courses' );
119 $specific_activity_triggers['gamipress_fluentcommunity_enroll_specific_course'] = array( 'fluentcommunity_courses' );
120 $specific_activity_triggers['gamipress_fluentcommunity_unroll_specific_course'] = array( 'fluentcommunity_courses' );
121 $specific_activity_triggers['gamipress_fluentcommunity_delete_specific_course'] = array( 'fluentcommunity_courses' );
122 $specific_activity_triggers['gamipress_fluentcommunity_complete_specific_lesson'] = array( 'fluentcommunity_lessons' );
123
124 // Quizzes
125 $specific_activity_triggers['gamipress_fluentcommunity_attempt_specific_quiz'] = array( 'fluentcommunity_quizzes' );
126 $specific_activity_triggers['gamipress_fluentcommunity_pass_specific_quiz'] = array( 'fluentcommunity_quizzes' );
127 $specific_activity_triggers['gamipress_fluentcommunity_fail_specific_quiz'] = array( 'fluentcommunity_quizzes' );
128
129 return $specific_activity_triggers;
130
131 }
132 add_filter( 'gamipress_specific_activity_triggers', 'gamipress_fluentcommunity_specific_activity_triggers' );
133
134 /**
135 * Register plugin specific activity triggers labels
136 *
137 * @since 1.0.0
138 *
139 * @param array $specific_activity_trigger_labels
140 * @return array
141 */
142 function gamipress_fluentcommunity_specific_activity_trigger_label( $specific_activity_trigger_labels ) {
143
144 // Spaces
145 $specific_activity_trigger_labels['gamipress_fluentcommunity_specific_publish_post'] = __( 'Publish a post in %s space', 'gamipress' );
146 $specific_activity_trigger_labels['gamipress_fluentcommunity_specific_delete_post'] = __( 'Remove a post from %s space', 'gamipress' );
147 $specific_activity_trigger_labels['gamipress_fluentcommunity_specific_react_post'] = __( 'React a post of %s space', 'gamipress' );
148 $specific_activity_trigger_labels['gamipress_fluentcommunity_request_join_specific_space'] = __( 'Request to join %s space', 'gamipress' );
149 $specific_activity_trigger_labels['gamipress_fluentcommunity_join_specific_space'] = __( 'Join %s space', 'gamipress' );
150 $specific_activity_trigger_labels['gamipress_fluentcommunity_leave_specific_space'] = __( 'Leave %s space', 'gamipress' );
151 $specific_activity_trigger_labels['gamipress_fluentcommunity_specific_add_comment'] = __( 'Add a comment in %s space', 'gamipress' );
152 $specific_activity_trigger_labels['gamipress_fluentcommunity_specific_delete_comment'] = __( 'Delete a comment in %s space', 'gamipress' );
153 $specific_activity_trigger_labels['gamipress_fluentcommunity_delete_specific_space'] = __( 'Delete %s space', 'gamipress' );
154
155 // Courses
156 $specific_activity_trigger_labels['gamipress_fluentcommunity_complete_specific_course'] = __( 'Complete %s course', 'gamipress' );
157 $specific_activity_trigger_labels['gamipress_fluentcommunity_enroll_specific_course'] = __( 'Enroll in %s course', 'gamipress' );
158 $specific_activity_trigger_labels['gamipress_fluentcommunity_unroll_specific_course'] = __( 'Unroll from %s course', 'gamipress' );
159 $specific_activity_trigger_labels['gamipress_fluentcommunity_delete_specific_course'] = __( 'Delete %s course', 'gamipress' );
160 $specific_activity_trigger_labels['gamipress_fluentcommunity_complete_specific_lesson'] = __( 'Complete %s lesson', 'gamipress' );
161
162 // Quizzes
163 $specific_activity_trigger_labels['gamipress_fluentcommunity_attempt_specific_quiz'] = __( 'Attempt %s quiz', 'gamipress' );
164 $specific_activity_trigger_labels['gamipress_fluentcommunity_pass_specific_quiz'] = __( 'Pass %s quiz', 'gamipress' );
165 $specific_activity_trigger_labels['gamipress_fluentcommunity_fail_specific_quiz'] = __( 'Fail %s quiz', 'gamipress' );
166
167 return $specific_activity_trigger_labels;
168 }
169 add_filter( 'gamipress_specific_activity_trigger_label', 'gamipress_fluentcommunity_specific_activity_trigger_label' );
170
171 /**
172 * Get plugin specific activity trigger post title
173 *
174 * @since 1.0.0
175 *
176 * @param string $post_title
177 * @param integer $specific_id
178 * @param string $trigger_type
179 *
180 * @return string
181 */
182 function gamipress_fluentcommunity_specific_activity_trigger_post_title( $post_title, $specific_id, $trigger_type ) {
183
184 switch( $trigger_type ) {
185 case 'gamipress_fluentcommunity_specific_publish_post':
186 case 'gamipress_fluentcommunity_specific_delete_post':
187 case 'gamipress_fluentcommunity_specific_react_post':
188 case 'gamipress_fluentcommunity_request_join_specific_space':
189 case 'gamipress_fluentcommunity_join_specific_space':
190 case 'gamipress_fluentcommunity_leave_specific_space':
191 case 'gamipress_fluentcommunity_specific_add_comment':
192 case 'gamipress_fluentcommunity_specific_delete_comment':
193 case 'gamipress_fluentcommunity_delete_specific_space':
194 if( absint( $specific_id ) !== 0 ) {
195
196 // Get the space title
197 $space_title = gamipress_fluentcommunity_get_space_title( $specific_id );
198
199 $post_title = $space_title;
200 }
201 break;
202 // Courses
203 case 'gamipress_fluentcommunity_complete_specific_course':
204 case 'gamipress_fluentcommunity_enroll_specific_course':
205 case 'gamipress_fluentcommunity_unroll_specific_course':
206 case 'gamipress_fluentcommunity_delete_specific_course':
207 if( absint( $specific_id ) !== 0 ) {
208
209 // Get the course title
210 $course_title = gamipress_fluentcommunity_get_course_title( $specific_id );
211
212 $post_title = $course_title;
213 }
214 break;
215 // Quizzes
216 case 'gamipress_fluentcommunity_attempt_specific_quiz':
217 case 'gamipress_fluentcommunity_pass_specific_quiz':
218 case 'gamipress_fluentcommunity_fail_specific_quiz':
219 if( absint( $specific_id ) !== 0 ) {
220
221 // Get the quiz title
222 $quiz_title = gamipress_fluentcommunity_get_quiz_title( $specific_id );
223
224 $post_title = $quiz_title;
225 }
226 break;
227 // Lessons
228 case 'gamipress_fluentcommunity_complete_specific_lesson':
229 if( absint( $specific_id ) !== 0 ) {
230
231 // Get the lesson title
232 $lesson_title = gamipress_fluentcommunity_get_lesson_title( $specific_id );
233
234 $post_title = $lesson_title;
235 }
236 break;
237 }
238
239 return $post_title;
240
241 }
242 add_filter( 'gamipress_specific_activity_trigger_post_title', 'gamipress_fluentcommunity_specific_activity_trigger_post_title', 10, 3 );
243
244 /**
245 * Get plugin specific activity trigger permalink
246 *
247 * @since 1.0.0
248 *
249 * @param string $permalink
250 * @param integer $specific_id
251 * @param string $trigger_type
252 * @param integer $site_id
253 *
254 * @return string
255 */
256 function gamipress_fluentcommunity_specific_activity_trigger_permalink( $permalink, $specific_id, $trigger_type, $site_id ) {
257
258 switch( $trigger_type ) {
259 case 'gamipress_fluentcommunity_specific_publish_post':
260 case 'gamipress_fluentcommunity_specific_delete_post':
261 case 'gamipress_fluentcommunity_specific_react_post':
262 case 'gamipress_fluentcommunity_request_join_specific_space':
263 case 'gamipress_fluentcommunity_join_specific_space':
264 case 'gamipress_fluentcommunity_leave_specific_space':
265 case 'gamipress_fluentcommunity_specific_add_comment':
266 case 'gamipress_fluentcommunity_specific_delete_comment':
267 case 'gamipress_fluentcommunity_delete_specific_space':
268 // Courses
269 case 'gamipress_fluentcommunity_complete_specific_course':
270 case 'gamipress_fluentcommunity_enroll_specific_course':
271 case 'gamipress_fluentcommunity_unroll_specific_course':
272 case 'gamipress_fluentcommunity_delete_specific_course':
273 case 'gamipress_fluentcommunity_complete_specific_lesson':
274 // Quizzes
275 case 'gamipress_fluentcommunity_attempt_specific_quiz':
276 case 'gamipress_fluentcommunity_pass_specific_quiz':
277 case 'gamipress_fluentcommunity_fail_specific_quiz':
278 $permalink = '';
279 break;
280 }
281
282 return $permalink;
283
284 }
285 add_filter( 'gamipress_specific_activity_trigger_permalink', 'gamipress_fluentcommunity_specific_activity_trigger_permalink', 10, 4 );
286
287 /**
288 * Get user for a fluentcommunityn trigger action.
289 *
290 * @since 1.0.0
291 *
292 * @param integer $user_id user ID to override.
293 * @param string $trigger Trigger name.
294 * @param array $args Passed trigger args.
295 * @return integer User ID.
296 */
297 function gamipress_fluentcommunity_trigger_get_user_id( $user_id, $trigger, $args ) {
298
299 switch ( $trigger ) {
300 // Spaces
301 // Publish post
302 case 'gamipress_fluentcommunity_publish_post':
303 case 'gamipress_fluentcommunity_specific_publish_post':
304 // Delete post
305 case 'gamipress_fluentcommunity_delete_post':
306 case 'gamipress_fluentcommunity_specific_delete_post':
307 // React post
308 case 'gamipress_fluentcommunity_react_post':
309 case 'gamipress_fluentcommunity_specific_react_post':
310 // Request join space
311 case 'gamipress_fluentcommunity_request_join_space':
312 case 'gamipress_fluentcommunity_request_join_specific_space':
313 // Join space
314 case 'gamipress_fluentcommunity_join_space':
315 case 'gamipress_fluentcommunity_join_specific_space':
316 // Leave space
317 case 'gamipress_fluentcommunity_leave_space':
318 case 'gamipress_fluentcommunity_leave_specific_space':
319 // Add comment
320 case 'gamipress_fluentcommunity_add_comment':
321 case 'gamipress_fluentcommunity_specific_add_comment':
322 // Delete comment
323 case 'gamipress_fluentcommunity_delete_comment':
324 case 'gamipress_fluentcommunity_specific_delete_comment':
325 // Create space
326 case 'gamipress_fluentcommunity_create_space':
327 // Delete space
328 case 'gamipress_fluentcommunity_delete_space':
329 case 'gamipress_fluentcommunity_delete_specific_space':
330
331 // Courses
332 // Complete course
333 case 'gamipress_fluentcommunity_complete_course':
334 case 'gamipress_fluentcommunity_complete_specific_course':
335 // Enroll course
336 case 'gamipress_fluentcommunity_enroll_course':
337 case 'gamipress_fluentcommunity_enroll_specific_course':
338 // Unroll course
339 case 'gamipress_fluentcommunity_unroll_course':
340 case 'gamipress_fluentcommunity_unroll_specific_course':
341 // Create course
342 case 'gamipress_fluentcommunity_create_course':
343 // Delete course
344 case 'gamipress_fluentcommunity_delete_course':
345 case 'gamipress_fluentcommunity_delete_specific_course':
346 // Complete lesson
347 case 'gamipress_fluentcommunity_complete_lesson':
348 case 'gamipress_fluentcommunity_complete_specific_lesson':
349
350 // Quizzes
351 // Attempt quiz
352 case 'gamipress_fluentcommunity_attempt_quiz':
353 case 'gamipress_fluentcommunity_attempt_specific_quiz':
354 // Pass quiz
355 case 'gamipress_fluentcommunity_pass_quiz':
356 case 'gamipress_fluentcommunity_pass_specific_quiz':
357 // Fail quiz
358 case 'gamipress_fluentcommunity_fail_quiz':
359 case 'gamipress_fluentcommunity_fail_specific_quiz':
360 $user_id = $args[1];
361 break;
362 }
363
364 return $user_id;
365
366 }
367 add_filter( 'gamipress_trigger_get_user_id', 'gamipress_fluentcommunity_trigger_get_user_id', 10, 3 );
368
369 /**
370 * Get the id for a fluentcommunityn specific trigger action.
371 *
372 * @since 1.0.0
373 *
374 * @param integer $specific_id Specific ID.
375 * @param string $trigger Trigger name.
376 * @param array $args Passed trigger args.
377 *
378 * @return integer Specific ID.
379 */
380 function gamipress_fluentcommunity_specific_trigger_get_id( $specific_id, $trigger = '', $args = array() ) {
381
382 switch ( $trigger ) {
383 // Spaces
384 case 'gamipress_fluentcommunity_specific_publish_post':
385 case 'gamipress_fluentcommunity_specific_delete_post':
386 case 'gamipress_fluentcommunity_specific_react_post':
387 case 'gamipress_fluentcommunity_request_join_specific_space':
388 case 'gamipress_fluentcommunity_join_specific_space':
389 case 'gamipress_fluentcommunity_leave_specific_space':
390 case 'gamipress_fluentcommunity_specific_add_comment':
391 case 'gamipress_fluentcommunity_specific_delete_comment':
392 case 'gamipress_fluentcommunity_delete_specific_space':
393
394 // Courses
395 case 'gamipress_fluentcommunity_complete_specific_course':
396 case 'gamipress_fluentcommunity_enroll_specific_course':
397 case 'gamipress_fluentcommunity_unroll_specific_course':
398 case 'gamipress_fluentcommunity_delete_specific_course':
399 case 'gamipress_fluentcommunity_complete_specific_lesson':
400
401 // Quizzes
402 case 'gamipress_fluentcommunity_attempt_specific_quiz':
403 case 'gamipress_fluentcommunity_pass_specific_quiz':
404 case 'gamipress_fluentcommunity_fail_specific_quiz':
405 $specific_id = $args[0];
406 break;
407 }
408
409 return $specific_id;
410 }
411 add_filter( 'gamipress_specific_trigger_get_id', 'gamipress_fluentcommunity_specific_trigger_get_id', 10, 3 );
412
413 /**
414 * Extended meta data for event trigger logging
415 *
416 * @since 1.0.0
417 *
418 * @param array $log_meta
419 * @param integer $user_id
420 * @param string $trigger
421 * @param integer $site_id
422 * @param array $args
423 *
424 * @return array
425 */
426 function gamipress_fluentcommunity_log_event_trigger_meta_data( $log_meta, $user_id, $trigger, $site_id, $args ) {
427
428 switch ( $trigger ) {
429 // Spaces
430 // Publish post
431 case 'gamipress_fluentcommunity_publish_post':
432 case 'gamipress_fluentcommunity_specific_publish_post':
433 // Delete post
434 case 'gamipress_fluentcommunity_delete_post':
435 case 'gamipress_fluentcommunity_specific_delete_post':
436 // React post
437 case 'gamipress_fluentcommunity_react_post':
438 case 'gamipress_fluentcommunity_specific_react_post':
439 // Request join space
440 case 'gamipress_fluentcommunity_request_join_space':
441 case 'gamipress_fluentcommunity_request_join_specific_space':
442 // Join space
443 case 'gamipress_fluentcommunity_join_space':
444 case 'gamipress_fluentcommunity_join_specific_space':
445 // Leave space
446 case 'gamipress_fluentcommunity_leave_space':
447 case 'gamipress_fluentcommunity_leave_specific_space':
448 // Add comment
449 case 'gamipress_fluentcommunity_add_comment':
450 case 'gamipress_fluentcommunity_specific_add_comment':
451 // Delete comment
452 case 'gamipress_fluentcommunity_delete_comment':
453 case 'gamipress_fluentcommunity_specific_delete_comment':
454 // Create space
455 case 'gamipress_fluentcommunity_create_space':
456 // Delete space
457 case 'gamipress_fluentcommunity_delete_space':
458 case 'gamipress_fluentcommunity_delete_specific_space':
459 // Add the space ID
460 $log_meta['space_id'] = $args[0];
461 break;
462
463 // Courses
464 // Complete course
465 case 'gamipress_fluentcommunity_complete_course':
466 case 'gamipress_fluentcommunity_complete_specific_course':
467 // Enroll course
468 case 'gamipress_fluentcommunity_enroll_course':
469 case 'gamipress_fluentcommunity_enroll_specific_course':
470 // Unroll course
471 case 'gamipress_fluentcommunity_unroll_course':
472 case 'gamipress_fluentcommunity_unroll_specific_course':
473 // Create course
474 case 'gamipress_fluentcommunity_create_course':
475 // Delete course
476 case 'gamipress_fluentcommunity_delete_course':
477 case 'gamipress_fluentcommunity_delete_specific_course':
478 // Add the course ID
479 $log_meta['course_id'] = $args[0];
480 break;
481
482 // Complete lesson
483 case 'gamipress_fluentcommunity_complete_lesson':
484 case 'gamipress_fluentcommunity_complete_specific_lesson':
485 // Add the lesson ID
486 $log_meta['lesson_id'] = $args[0];
487 $log_meta['course_id'] = $args[2];
488 break;
489
490 // Quizzes
491 // Attempt quiz
492 case 'gamipress_fluentcommunity_attempt_quiz':
493 case 'gamipress_fluentcommunity_attempt_specific_quiz':
494 // Pass quiz
495 case 'gamipress_fluentcommunity_pass_quiz':
496 case 'gamipress_fluentcommunity_pass_specific_quiz':
497 // Fail quiz
498 case 'gamipress_fluentcommunity_fail_quiz':
499 case 'gamipress_fluentcommunity_fail_specific_quiz':
500 $log_meta['quiz_id'] = $args[0];
501 break;
502 }
503
504 return $log_meta;
505 }
506 add_filter( 'gamipress_log_event_trigger_meta_data', 'gamipress_fluentcommunity_log_event_trigger_meta_data', 10, 5 );