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 / modern-events-calendar / includes / triggers.php

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

156 lines 6.0 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\Modern_Events_Calendar\Triggers
6 * @since 1.0.0
7 */
8
9 // Exit if accessed directly
10 if( !defined( 'ABSPATH' ) ) exit;
11
12 /**
13 * Register plugin activity triggers
14 *
15 * @param array $triggers
16 * @return mixed
17 */
18 function gamipress_modern_events_calendar_activity_triggers( $triggers ) {
19
20 // Modern Events Calendar
21 $triggers[__( 'Modern Events Calendar', 'gamipress' )] = array(
22 'gamipress_modern_events_calendar_booking_completed' => __( 'Complete booking for any event', 'gamipress' ),
23 'gamipress_modern_events_calendar_booking_completed_specific_event' => __( 'Complete booking for a specific event', 'gamipress' ),
24 'gamipress_modern_events_calendar_booking_pending' => __( 'Pending booking for any event', 'gamipress' ),
25 'gamipress_modern_events_calendar_booking_pending_specific_event' => __( 'Pending booking for a specific event', 'gamipress' ),
26 'gamipress_modern_events_calendar_booking_cancelled' => __( 'Cancel booking for any event', 'gamipress' ),
27 'gamipress_modern_events_calendar_booking_cancelled_specific_event' => __( 'Cancel booking for a specific event', 'gamipress' ),
28 );
29
30 return $triggers;
31
32 }
33 add_filter( 'gamipress_activity_triggers', 'gamipress_modern_events_calendar_activity_triggers' );
34
35 /**
36 * Register specific activity triggers
37 *
38 * @since 1.0.0
39 *
40 * @param array $specific_activity_triggers
41 * @return array
42 */
43 function gamipress_modern_events_calendar_specific_activity_triggers( $specific_activity_triggers ) {
44
45 // Purchase
46 $specific_activity_triggers['gamipress_modern_events_calendar_booking_completed_specific_event'] = array( 'mec-events' );
47 $specific_activity_triggers['gamipress_modern_events_calendar_booking_pending_specific_event'] = array( 'mec-events' );
48 $specific_activity_triggers['gamipress_modern_events_calendar_booking_cancelled_specific_event'] = array( 'mec-events' );
49
50 return $specific_activity_triggers;
51 }
52 add_filter( 'gamipress_specific_activity_triggers', 'gamipress_modern_events_calendar_specific_activity_triggers' );
53
54 /**
55 * Register specific activity triggers labels
56 *
57 * @since 1.0.0
58 *
59 * @param array $specific_activity_trigger_labels
60 * @return array
61 */
62 function gamipress_modern_events_calendar_specific_activity_trigger_label( $specific_activity_trigger_labels ) {
63
64 // Purchase
65 $specific_activity_trigger_labels['gamipress_modern_events_calendar_booking_completed_specific_event'] = __( 'Complete booking for %s event', 'gamipress' );
66 $specific_activity_trigger_labels['gamipress_modern_events_calendar_booking_pending_specific_event'] = __( 'Pending booking for %s event', 'gamipress' );
67 $specific_activity_trigger_labels['gamipress_modern_events_calendar_booking_cancelled_specific_event'] = __( 'Cancel booking for %s event', 'gamipress' );
68 return $specific_activity_trigger_labels;
69 }
70 add_filter( 'gamipress_specific_activity_trigger_label', 'gamipress_modern_events_calendar_specific_activity_trigger_label' );
71
72 /**
73 * Get user for a given trigger action.
74 *
75 * @since 1.0.0
76 *
77 * @param integer $user_id user ID to override.
78 * @param string $trigger Trigger name.
79 * @param array $args Passed trigger args.
80 * @return integer User ID.
81 */
82 function gamipress_modern_events_calendar_trigger_get_user_id( $user_id, $trigger, $args ) {
83
84 switch ( $trigger ) {
85 case 'gamipress_modern_events_calendar_booking_completed':
86 case 'gamipress_modern_events_calendar_booking_completed_specific_event':
87 case 'gamipress_modern_events_calendar_booking_pending':
88 case 'gamipress_modern_events_calendar_booking_pending_specific_event':
89 case 'gamipress_modern_events_calendar_booking_cancelled':
90 case 'gamipress_modern_events_calendar_booking_cancelled_specific_event':
91 $user_id = $args[1];
92 break;
93 }
94
95 return $user_id;
96
97 }
98 add_filter( 'gamipress_trigger_get_user_id', 'gamipress_modern_events_calendar_trigger_get_user_id', 10, 3 );
99
100 /**
101 * Get the id for a given specific trigger action.
102 *
103 * @since 1.0.0
104 *
105 * @param integer $specific_id Specific ID to override.
106 * @param string $trigger Trigger name.
107 * @param array $args Passed trigger args.
108 *
109 * @return integer Specific ID.
110 */
111 function gamipress_modern_events_calendar_specific_trigger_get_id( $specific_id, $trigger, $args ) {
112
113 switch ( $trigger ) {
114 case 'gamipress_modern_events_calendar_booking_completed_specific_event':
115 case 'gamipress_modern_events_calendar_booking_pending_specific_event':
116 case 'gamipress_modern_events_calendar_booking_cancelled_specific_event':
117 $specific_id = $args[0];
118 break;
119 }
120
121 return $specific_id;
122
123 }
124
125 add_filter( 'gamipress_specific_trigger_get_id', 'gamipress_modern_events_calendar_specific_trigger_get_id', 10, 3 );
126
127 /**
128 * Extended meta data for event trigger logging
129 *
130 * @since 1.0.2
131 *
132 * @param array $log_meta
133 * @param integer $user_id
134 * @param string $trigger
135 * @param integer $site_id
136 * @param array $args
137 *
138 * @return array
139 */
140 function gamipress_modern_events_calendar_log_event_trigger_meta_data( $log_meta, $user_id, $trigger, $site_id, $args ) {
141
142 switch ( $trigger ) {
143 case 'gamipress_modern_events_calendar_booking_completed':
144 case 'gamipress_modern_events_calendar_booking_completed_specific_event':
145 case 'gamipress_modern_events_calendar_booking_pending':
146 case 'gamipress_modern_events_calendar_booking_pending_specific_event':
147 case 'gamipress_modern_events_calendar_booking_cancelled':
148 case 'gamipress_modern_events_calendar_booking_cancelled_specific_event':
149 // Add the post ID
150 $log_meta['post_id'] = $args[0];
151 break;
152 }
153
154 return $log_meta;
155 }
156 add_filter( 'gamipress_log_event_trigger_meta_data', 'gamipress_modern_events_calendar_log_event_trigger_meta_data', 10, 5 );