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
← All changes | integrations/fluentcommunity/includes/triggers.php +506 -0 7.9.2 → 8.0.5 View file →
@@ -1,0 +1,506 @@
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 );