PluginProbe
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI / 6.0.0
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI v6.0.0
6.0.3 6.0.2 6.0.1 6.0.0 5.8.6 5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0 5.7.9.2 5.7.9.1 5.7.8 5.7.9 5.7.6 5.7.7 5.7.5 5.7.4 5.7.3 5.7.2 5.7.1 trunk 5.6.0 5.6.1 All 34 releases
automatorwp / integrations / buddyboss / includes / triggers / send-email-invite.php

send-email-invite.php in AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI 6.0.0, at integrations/buddyboss/includes/triggers/send-email-invite.php

107 lines 3.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Send Email Invite
4 *
5 * @package AutomatorWP\Integrations\BuddyBoss\Triggers\Send_Email_Invite
6 * @author AutomatorWP <[email protected]>, Ruben Garcia <[email protected]>
7 * @since 1.0.0
8 */
9 // Exit if accessed directly
10 if( !defined( 'ABSPATH' ) ) exit;
11
12 class AutomatorWP_BuddyBoss_Send_Email_Invite extends AutomatorWP_Integration_Trigger {
13
14 public $integration = 'buddyboss';
15 public $trigger = 'buddyboss_send_email_invite';
16
17 /**
18 * Register the trigger
19 *
20 * @since 1.0.0
21 */
22 public function register() {
23
24 automatorwp_register_trigger( $this->trigger, array(
25 'integration' => $this->integration,
26 'label' => __( 'User sends an email invite', 'automatorwp' ),
27 'select_option' => __( 'User sends an <strong>email invite</strong>', 'automatorwp' ),
28 /* translators: %1$s: Number of times. */
29 'edit_label' => sprintf( __( 'User sends an email invite %1$s time(s)', 'automatorwp' ), '{times}' ),
30 'log_label' => __( 'User sends an email invite', 'automatorwp' ),
31 'action' => 'bp_member_invite_submit',
32 'function' => array( $this, 'listener' ),
33 'priority' => 10,
34 'accepted_args' => 2,
35 'options' => array(
36 'times' => automatorwp_utilities_times_option(),
37 ),
38 'tags' => array_merge(
39 automatorwp_utilities_times_tag(),
40 automatorwp_buddyboss_get_invitation_tags()
41 )
42 ) );
43
44 }
45
46 /**
47 * Trigger listener
48 *
49 * @since 1.0.0
50 *
51 * @param int $user_id Inviter user id.
52 * @param int $post_id Invitation post id.
53 */
54 public function listener( $user_id, $post_id ) {
55
56 // Trigger the send email invite
57 automatorwp_trigger_event( array(
58 'trigger' => $this->trigger,
59 'user_id' => $user_id,
60 'post_id' => $user_id,
61 'inviter_id' => $user_id,
62 ) );
63
64 }
65
66 /**
67 * Register the required hooks
68 *
69 * @since 1.0.0
70 */
71 public function hooks() {
72
73 // Log meta data
74 add_filter( 'automatorwp_user_completed_trigger_log_meta', array( $this, 'log_meta' ), 10, 6 );
75
76 parent::hooks();
77 }
78
79 /**
80 * Trigger custom log meta
81 *
82 * @since 1.0.0
83 *
84 * @param array $log_meta Log meta data
85 * @param stdClass $trigger The trigger object
86 * @param int $user_id The user ID
87 * @param array $event Event information
88 * @param array $trigger_options The trigger's stored options
89 * @param stdClass $automation The trigger's automation object
90 *
91 * @return array
92 */
93 function log_meta( $log_meta, $trigger, $user_id, $event, $trigger_options, $automation ) {
94
95 // Bail if action type don't match this action
96 if( $trigger->type !== $this->trigger ) {
97 return $log_meta;
98 }
99
100 $log_meta['inviter_id'] = ( isset( $event['inviter_id'] ) ? $event['inviter_id'] : '' );
101
102 return $log_meta;
103
104 }
105 }
106
107 new AutomatorWP_BuddyBoss_Send_Email_Invite();