PluginProbe
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI / 6.0.3
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI v6.0.3
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 / thrive-ovation / includes / triggers / anonymous-submit-testimonial.php

anonymous-submit-testimonial.php in AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI 6.0.3, at integrations/thrive-ovation/includes/triggers/anonymous-submit-testimonial.php

118 lines 4.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Anonymous Submits Testimonial
4 *
5 * @package AutomatorWP\Integrations\Thrive_Ovation\Triggers\Anonymous_Submits_Testimonial
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_Thrive_Ovation_Anonymous_Submits_Testimonial extends AutomatorWP_Integration_Trigger {
13
14 public $integration = 'thrive_ovation';
15 public $trigger = 'thrive_ovation_anonymous_submits_testimonial';
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 'anonymous' => true,
27 'label' => __( 'Guest submits a testimonial', 'automatorwp' ),
28 'select_option' => __( 'Guest submits a <strong>testimonial</strong>', 'automatorwp' ),
29 /* translators: %1$s: Number of times. */
30 'edit_label' => sprintf( __( 'Guest submits a testimonial %1$s time(s)', 'automatorwp' ), '{times}' ),
31 'log_label' => __( 'Guest submits a testimonial', 'automatorwp' ),
32 'action' => 'thrive_ovation_testimonial_submit',
33 'function' => array( $this, 'listener' ),
34 'priority' => 10,
35 'accepted_args' => 2,
36 'options' => array(
37 'times' => automatorwp_utilities_times_option(),
38 ),
39 'tags' => array_merge(
40 automatorwp_thrive_ovation_get_testimonial_tags(),
41 automatorwp_utilities_times_tag()
42 )
43 ) );
44
45 }
46
47 /**
48 * Trigger listener
49 *
50 * @since 1.0.0
51 *
52 * @param array $testimonial_details
53 * @param array $user_details
54 */
55 public function listener( $testimonial_details, $user_details ) {
56
57 // Bail if empty user details
58 if ( !empty( $user_details ) ) {
59 return;
60 }
61
62 automatorwp_trigger_event( array(
63 'trigger' => $this->trigger,
64 'testimonial_id' => $testimonial_details['testimonial_id'],
65 'testimonial_author_email' => $testimonial_details['testimonial_author_email'],
66 'testimonial_content' => $testimonial_details['testimonial_content'],
67 'testimonial_author_role' => $testimonial_details['testimonial_author_role'],
68 'testimonial_author_website' => $testimonial_details['testimonial_author_website'],
69 ) );
70
71 }
72
73 /**
74 * Register the required hooks
75 *
76 * @since 1.0.0
77 */
78 public function hooks() {
79
80 // Log meta data
81 add_filter( 'automatorwp_anonymous_completed_trigger_log_meta', array( $this, 'log_meta' ), 10, 5 );
82
83 parent::hooks();
84 }
85
86 /**
87 * Trigger custom log meta
88 *
89 * @since 1.0.0
90 *
91 * @param array $log_meta Log meta data
92 * @param stdClass $trigger The trigger object
93 * @param array $event Event information
94 * @param array $trigger_options The trigger's stored options
95 * @param stdClass $automation The trigger's automation object
96 *
97 * @return array
98 */
99 function log_meta( $log_meta, $trigger, $event, $trigger_options, $automation ) {
100
101 // Bail if action type don't match this action
102 if( $trigger->type !== $this->trigger ) {
103 return $log_meta;
104 }
105
106 $log_meta['testimonial_id'] = ( isset( $event['testimonial_id'] ) ? $event['testimonial_id'] : '' );
107 $log_meta['testimonial_author_email'] = ( isset( $event['testimonial_author_email'] ) ? $event['testimonial_author_email'] : '' );
108 $log_meta['testimonial_content'] = ( isset( $event['testimonial_content'] ) ? $event['testimonial_content'] : '' );
109 $log_meta['testimonial_author_role'] = ( isset( $event['testimonial_author_role'] ) ? $event['testimonial_author_role'] : '' );
110 $log_meta['testimonial_author_website'] = ( isset( $event['testimonial_author_website'] ) ? $event['testimonial_author_website'] : '' );
111
112 return $log_meta;
113
114 }
115
116 }
117
118 new AutomatorWP_Thrive_Ovation_Anonymous_Submits_Testimonial();