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 / jetformbuilder / triggers / jet-form-submit.php
suretriggers / src / Integrations / jetformbuilder / triggers Last commit date
jet-form-submit.php 2 years ago
jet-form-submit.php
146 lines
1 <?php
2 /**
3 * JetFormSubmit.
4 * php version 5.6
5 *
6 * @category JetFormSubmit
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\JetFormBuilder\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use SureTriggers\Integrations\WordPress\WordPress;
19
20 if ( ! class_exists( 'JetFormSubmit' ) ) :
21
22 /**
23 * JetFormSubmit
24 *
25 * @category JetFormSubmit
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 JetFormSubmit {
35
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'JetFormBuilder';
43
44
45 /**
46 * Trigger name.
47 *
48 * @var string
49 */
50 public $trigger = 'jetform_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' => __( 'Form Submitted', 'suretriggers' ),
74 'action' => $this->trigger,
75 'common_action' => 'jet-form-builder/form-handler/after-send',
76 'function' => [ $this, 'trigger_listener' ],
77 'priority' => 10,
78 'accepted_args' => 2,
79 ];
80 return $triggers;
81
82 }
83
84 /**
85 * Trigger listener
86 *
87 * @param object $form_handler Response Data.
88 * @param bool $is_success Post Data.
89 * @since 1.0.0
90 *
91 * @return void
92 */
93 public function trigger_listener( $form_handler, $is_success ) {
94 if ( empty( $form_handler->action_handler->form_id ) ) {
95 return;
96 }
97
98 if ( property_exists( $form_handler, 'response_args' ) && 'success' !== $form_handler->response_args['status'] ) {
99 return;
100 }
101
102 $form_fields = [];
103 if ( property_exists( $form_handler->action_handler, 'request_data' ) ) {
104 $all_fields = $form_handler->action_handler->request_data;
105 foreach ( $all_fields as $field_key => $field_value ) {
106 if ( empty( $field_value ) ) {
107 continue;
108 }
109 if ( substr( $field_key, 0, 2 ) === '__' ) {
110 continue;
111 }
112 if ( is_string( $field_value ) && json_decode( $field_value ) !== null ) {
113 $form_fields[ $field_key ] = json_decode( $field_value, true );
114 } else {
115 $form_fields[ $field_key ] = $field_value;
116 }
117 }
118 }
119
120 $user_id = ap_get_current_user_id();
121 if ( is_int( $user_id ) ) {
122 $context['user'] = WordPress::get_user_context( $user_id );
123 }
124
125 $context['jet_form'] = $form_handler->action_handler->form_id;
126 $context['form_data'] = $form_fields;
127
128 AutomationController::sure_trigger_handle_trigger(
129 [
130 'trigger' => $this->trigger,
131 'wp_user_id' => ap_get_current_user_id(),
132 'context' => $context,
133 ]
134 );
135 }
136 }
137
138 /**
139 * Ignore false positive
140 *
141 * @psalm-suppress UndefinedMethod
142 */
143 JetFormSubmit::get_instance();
144
145 endif;
146