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 / affiliatewp / includes / triggers.php

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

101 lines 3.2 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\AffiliateWP\Triggers
6 * @since 1.0.0
7 */
8
9 // Exit if accessed directly
10 if( !defined( 'ABSPATH' ) ) exit;
11
12 /**
13 * Register AffiliateWP specific triggers
14 *
15 * @since 1.0.0
16 *
17 * @param array $triggers
18 * @return mixed
19 */
20 function gamipress_affwp_activity_triggers( $triggers ) {
21
22 $triggers[__( 'AffiliateWP', 'gamipress' )] = array(
23 'gamipress_affwp_register_affiliate' => __( 'Become an affiliate', 'gamipress' ),
24 'gamipress_affwp_new_referral' => __( 'Earn a referral', 'gamipress' ),
25 'gamipress_affwp_referral_visit' => __( 'Referral visit', 'gamipress' ),
26 'gamipress_affwp_register_referral' => __( 'Become an user through an affiliate', 'gamipress' ),
27 'gamipress_affwp_referral_signup' => __( 'Referral sign up', 'gamipress' ),
28 'gamipress_affwp_referral_paid' => __( 'Get a referral paid', 'gamipress' ),
29 'gamipress_affwp_referral_rejected' => __( 'Get a referral rejected', 'gamipress' ),
30 );
31
32 return $triggers;
33
34 }
35 add_filter( 'gamipress_activity_triggers', 'gamipress_affwp_activity_triggers' );
36
37 /**
38 * Get user for a given trigger action.
39 *
40 * @since 1.0.0
41 *
42 * @param integer $user_id user ID to override.
43 * @param string $trigger Trigger name.
44 * @param array $args Passed trigger args.
45 * @return integer User ID.
46 */
47 function gamipress_affwp_trigger_get_user_id( $user_id, $trigger, $args ) {
48
49 switch ( $trigger ) {
50 case 'gamipress_affwp_register_affiliate':
51 case 'gamipress_affwp_new_referral':
52 case 'gamipress_affwp_referral_visit':
53 case 'gamipress_affwp_register_referral':
54 case 'gamipress_affwp_referral_signup':
55 case 'gamipress_affwp_referral_paid':
56 case 'gamipress_affwp_referral_rejected':
57 $user_id = $args[1];
58 break;
59 }
60
61 return $user_id;
62
63 }
64 add_filter( 'gamipress_trigger_get_user_id', 'gamipress_affwp_trigger_get_user_id', 10, 3 );
65
66 /**
67 * Extended meta data for event trigger logging
68 *
69 * @since 1.0.1
70 *
71 * @param array $log_meta
72 * @param integer $user_id
73 * @param string $trigger
74 * @param integer $site_id
75 * @param array $args
76 *
77 * @return array
78 */
79 function gamipress_affwp_log_event_trigger_meta_data( $log_meta, $user_id, $trigger, $site_id, $args ) {
80
81 switch ( $trigger ) {
82 case 'gamipress_affwp_register_affiliate':
83 case 'gamipress_affwp_referral_visit':
84 case 'gamipress_affwp_register_referral':
85 // Add the affiliate ID
86 $log_meta['affiliate_id'] = $args[0];
87 break;
88 case 'gamipress_affwp_referral_signup':
89 case 'gamipress_affwp_new_referral':
90 case 'gamipress_affwp_referral_paid':
91 case 'gamipress_affwp_referral_rejected':
92 // Add the affiliate and new user IDs
93 $log_meta['affiliate_id'] = $args[0];
94 $log_meta['referral_id'] = $args[2];
95 break;
96
97 }
98
99 return $log_meta;
100 }
101 add_filter( 'gamipress_log_event_trigger_meta_data', 'gamipress_affwp_log_event_trigger_meta_data', 10, 5 );