PluginProbe
GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI / 7.9.8
GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI v7.9.8
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 7.8.7 All 46 releases
gamipress / integrations / advanced-ads / includes / triggers.php

triggers.php in GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI 7.9.8, at integrations/advanced-ads/includes/triggers.php

87 lines 2.3 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\Advanced_Ads\Triggers
6 * @since 1.0.0
7 */
8
9 // Exit if accessed directly
10 if( !defined( 'ABSPATH' ) ) exit;
11
12 /**
13 * Register Advanced Ads specific triggers
14 *
15 * @since 1.0.0
16 *
17 * @param array $triggers
18 *
19 * @return mixed
20 */
21 function gamipress_advanced_ads_activity_triggers( $triggers ) {
22
23 $triggers[__( 'Advanced Ads', 'gamipress' )] = array(
24 'gamipress_advanced_ads_ad_published' => __( 'Publish an ad', 'gamipress' ),
25 'gamipress_advanced_ads_ad_unpublished' => __( 'Get an ad unpublished', 'gamipress' ),
26 'gamipress_advanced_ads_ad_expired' => __( 'Get an ad expired', 'gamipress' ),
27 );
28
29 return $triggers;
30
31 }
32 add_filter( 'gamipress_activity_triggers', 'gamipress_advanced_ads_activity_triggers' );
33
34 /**
35 * Get user for a given trigger action.
36 *
37 * @since 1.0.0
38 *
39 * @param integer $user_id user ID to override.
40 * @param string $trigger Trigger name.
41 * @param array $args Passed trigger args.
42 *
43 * @return integer User ID.
44 */
45 function gamipress_advanced_ads_trigger_get_user_id( $user_id, $trigger, $args ) {
46
47 switch ( $trigger ) {
48 case 'gamipress_advanced_ads_ad_published':
49 case 'gamipress_advanced_ads_ad_unpublished':
50 case 'gamipress_advanced_ads_ad_expired':
51 $user_id = $args[1];
52 break;
53 }
54
55 return $user_id;
56
57 }
58
59 add_filter( 'gamipress_trigger_get_user_id', 'gamipress_advanced_ads_trigger_get_user_id', 10, 3);
60
61 /**
62 * Extended meta data for event trigger logging
63 *
64 * @since 1.0.0
65 *
66 * @param array $log_meta
67 * @param integer $user_id
68 * @param string $trigger
69 * @param integer $site_id
70 * @param array $args
71 *
72 * @return array
73 */
74 function gamipress_advanced_ads_log_event_trigger_meta_data( $log_meta, $user_id, $trigger, $site_id, $args ) {
75
76 switch ( $trigger ) {
77 case 'gamipress_advanced_ads_ad_published':
78 case 'gamipress_advanced_ads_ad_unpublished':
79 case 'gamipress_advanced_ads_ad_expired':
80 // Add the post ID
81 $log_meta['post_id'] = $args[0];
82 break;
83 }
84
85 return $log_meta;
86 }
87 add_filter( 'gamipress_log_event_trigger_meta_data', 'gamipress_advanced_ads_log_event_trigger_meta_data', 10, 5 );