PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.33
OttoKit: All-in-One Automation Platform v1.1.33
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 / forminator / triggers / forminator-form-submit.php
suretriggers / src / Integrations / forminator / triggers Last commit date
forminator-form-submit.php 3 years ago
forminator-form-submit.php
136 lines
1 <?php
2 /**
3 * ForminatorFormSubmit.
4 * php version 5.6
5 *
6 * @category ForminatorFormSubmit
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\Forminator\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use SureTriggers\Integrations\WordPress\WordPress;
19
20 if ( ! class_exists( 'ForminatorFormSubmit' ) ) :
21
22 /**
23 * ForminatorFormSubmit
24 *
25 * @category ForminatorFormSubmit
26 * @package SureTriggers
27 * @author BSF <username@example.com>
28 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
29 * @link https://www.brainstormforce.com/
30 * @since 1.0.0
31 *
32 * @psalm-suppress UndefinedTrait
33 */
34 class ForminatorFormSubmit {
35
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'Forminator';
43
44
45 /**
46 * Trigger name.
47 *
48 * @var string
49 */
50 public $trigger = 'forminatorform_submitted';
51
52 use SingletonLoader;
53
54
55 /**
56 * Constructor
57 *
58 * @since 1.0.0
59 */
60 public function __construct() {
61 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
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' => __( 'A form is submitted', 'suretriggers' ),
74 'action' => $this->trigger,
75 'common_action' => 'forminator_custom_form_submit_before_set_fields',
76 'function' => [ $this, 'trigger_listener' ],
77 'priority' => 100,
78 'accepted_args' => 3,
79 ];
80 return $triggers;
81
82 }
83
84 /**
85 * Trigger listener
86 *
87 * @param object $entry Entry Response.
88 * @param int $form_id Form ID.
89 * @param array $field_data_array data array.
90 * @since 1.0.0
91 *
92 * @return void
93 */
94 public function trigger_listener( $entry, $form_id, $field_data_array ) {
95 $form_fields = [];
96 $field_name = 'name';
97 $field_value = 'value';
98 foreach ( $field_data_array as $field ) {
99
100 if ( ! isset( $field[ $field_name ] ) && ! isset( $field[ $field_value ] ) ) {
101 continue;
102 }
103
104 $name = $field[ $field_name ];
105 $value = $field[ $field_value ];
106
107 $form_fields[ $name ] = $value;
108 }
109
110 $user_id = ap_get_current_user_id();
111 if ( is_int( $user_id ) ) {
112 $context['user'] = WordPress::get_user_context( $user_id );
113 }
114
115 $context['form'] = $form_fields;
116 $context['forminator_form'] = $form_id;
117
118 AutomationController::sure_trigger_handle_trigger(
119 [
120 'trigger' => $this->trigger,
121 'wp_user_id' => ap_get_current_user_id(),
122 'context' => $context,
123 ]
124 );
125 }
126 }
127
128 /**
129 * Ignore false positive
130 *
131 * @psalm-suppress UndefinedMethod
132 */
133 ForminatorFormSubmit::get_instance();
134
135 endif;
136