PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.36
OttoKit: All-in-One Automation Platform v1.1.36
1.1.37 1.1.36 1.1.35 1.1.34 1.1.33 1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.9 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.47 1.0.48 1.0.49 1.0.50 1.0.51 1.0.52 1.0.53 1.0.54 1.0.55 1.0.56 1.0.57 1.0.58 1.0.59 1.0.60 1.0.61 1.0.62 1.0.63 1.0.64 1.0.65 1.0.66 1.0.67 1.0.68 1.0.69 1.0.7 1.0.70 1.0.71 1.0.72 1.0.73 1.0.74 1.0.75 1.0.76 1.0.77 1.0.78 1.0.79 1.0.8 1.0.80 1.0.81 1.0.82 1.0.83 1.0.84 1.0.85 1.0.86 1.0.87 1.0.88 1.0.89 1.0.9 1.0.90 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
suretriggers / src / Integrations / kadence-forms / triggers / kadence-form-submit.php
suretriggers / src / Integrations / kadence-forms / triggers Last commit date
kadence-form-submit.php 10 months ago kadence-specific-form-submit.php 5 months ago
kadence-form-submit.php
168 lines
1 <?php
2 /**
3 * KadenceFormSubmit.
4 * php version 5.6
5 *
6 * @category KadenceFormSubmit
7 * @package SureTriggers
8 * @author BSF <username@example.com>
9 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
10 * @link https://www.brainstormforce.com/
11 * @since 1.0.0
12 */
13
14 namespace SureTriggers\Integrations\KadenceForms\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18
19 if ( ! class_exists( 'KadenceFormSubmit' ) ) :
20
21 /**
22 * KadenceFormSubmit
23 *
24 * @category KadenceFormSubmit
25 * @package SureTriggers
26 * @author BSF <username@example.com>
27 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
28 * @link https://www.brainstormforce.com/
29 * @since 1.0.0
30 *
31 * @psalm-suppress UndefinedTrait
32 */
33 class KadenceFormSubmit {
34
35
36 /**
37 * Integration type.
38 *
39 * @var string
40 */
41 public $integration = 'KadenceForms';
42
43
44 /**
45 * Trigger name.
46 *
47 * @var string
48 */
49 public $trigger = 'kadenceform_submitted';
50
51 use SingletonLoader;
52
53
54 /**
55 * Constructor
56 *
57 * @since 1.0.0
58 */
59 public function __construct() {
60 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
61 add_action( 'kadence_blocks_advanced_form_submission', [ $this, 'advanced_form_listener' ], 10, 3 );
62 }
63
64 /**
65 * Register action.
66 *
67 * @param array $triggers trigger data.
68 * @return array
69 */
70 public function register( $triggers ) {
71
72 $triggers[ $this->integration ][ $this->trigger ] = [
73 'label' => __( 'Form Submitted', 'suretriggers' ),
74 'action' => $this->trigger,
75 'common_action' => 'kadence_blocks_form_submission',
76 'function' => [ $this, 'trigger_listener' ],
77 'priority' => 10,
78 'accepted_args' => 4,
79 ];
80 return $triggers;
81
82 }
83
84 /**
85 * Trigger listener
86 *
87 * @param array $form_args Form submission after validation.
88 * @param array $fields Form data.
89 * @param object $form_id Form object.
90 * @param object $post_id Form object.
91 * @since 1.0.0
92 *
93 * @return void
94 */
95 public function trigger_listener( $form_args, $fields, $form_id, $post_id ) {
96 $simple_entry = [
97 'form_id' => $form_id,
98 'post_id' => $post_id,
99 ];
100
101 foreach ( $fields as $key => $data ) {
102 $value = $data['value'];
103 $value = explode( ', ', $data['value'] );
104 $label = str_replace( [ ' ', '-' ], '_', strtolower( $data['label'] ) );
105 $simple_entry[ $label ] = $value;
106 }
107
108 $context['kadence_form'] = $form_id;
109 $context['entry'] = $simple_entry;
110
111 AutomationController::sure_trigger_handle_trigger(
112 [
113 'trigger' => $this->trigger,
114 'wp_user_id' => ap_get_current_user_id(),
115 'context' => $context,
116 ]
117 );
118 }
119
120 /**
121 * Advanced form trigger listener
122 *
123 * @param array $form_args Form arguments.
124 * @param array $processed_fields Processed form fields.
125 * @param int $post_id Form post ID.
126 * @since 1.0.0
127 *
128 * @return void
129 */
130 public function advanced_form_listener( $form_args, $processed_fields, $post_id ) {
131 $simple_entry = [
132 'form_id' => isset( $form_args['attributes']['formID'] ) ? $form_args['attributes']['formID'] : 'advanced_form',
133 'post_id' => $post_id,
134 ];
135
136 foreach ( $processed_fields as $field ) {
137 $label = str_replace( [ ' ', '-' ], '_', strtolower( $field['label'] ) );
138 $value = $field['value'];
139
140 if ( strpos( $value, ', ' ) !== false ) {
141 $value = explode( ', ', $value );
142 }
143
144 $simple_entry[ $label ] = $value;
145 }
146
147 $context['kadence_form'] = isset( $form_args['attributes']['formID'] ) ? $form_args['attributes']['formID'] : 'advanced_form';
148 $context['entry'] = $simple_entry;
149
150 AutomationController::sure_trigger_handle_trigger(
151 [
152 'trigger' => $this->trigger,
153 'wp_user_id' => ap_get_current_user_id(),
154 'context' => $context,
155 ]
156 );
157 }
158 }
159
160 /**
161 * Ignore false positive
162 *
163 * @psalm-suppress UndefinedMethod
164 */
165 KadenceFormSubmit::get_instance();
166
167 endif;
168