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 / formidable-forms / triggers / formidable-form-submit.php
suretriggers / src / Integrations / formidable-forms / triggers Last commit date
formidable-form-submit.php 1 month ago user-updates-entry-in-form.php 1 month ago
formidable-form-submit.php
147 lines
1 <?php
2 /**
3 * FormidableFormSubmit.
4 * php version 5.6
5 *
6 * @category FormidableFormSubmit
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\FormidableForms\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use SureTriggers\Integrations\WordPress\WordPress;
19 use FrmEntryMeta;
20
21 if ( ! class_exists( 'FormidableFormSubmit' ) ) :
22
23 /**
24 * FormidableFormSubmit
25 *
26 * @category FormidableFormSubmit
27 * @package SureTriggers
28 * @author BSF <username@example.com>
29 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
30 * @link https://www.brainstormforce.com/
31 * @since 1.0.0
32 *
33 * @psalm-suppress UndefinedTrait
34 */
35 class FormidableFormSubmit {
36
37
38 /**
39 * Integration type.
40 *
41 * @var string
42 */
43 public $integration = 'FormidableForms';
44
45
46 /**
47 * Trigger name.
48 *
49 * @var string
50 */
51 public $trigger = 'ff_form_submit';
52
53 use SingletonLoader;
54
55
56 /**
57 * Constructor
58 *
59 * @since 1.0.0
60 */
61 public function __construct() {
62 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
63 }
64
65 /**
66 * Register action.
67 *
68 * @param array $triggers trigger data.
69 * @return array
70 */
71 public function register( $triggers ) {
72
73 $triggers[ $this->integration ][ $this->trigger ] = [
74 'label' => __( 'Form Submitted', 'suretriggers' ),
75 'action' => $this->trigger,
76 'common_action' => 'frm_after_create_entry',
77 'function' => [ $this, 'trigger_listener' ],
78 'priority' => 20,
79 'accepted_args' => 2,
80 ];
81 return $triggers;
82
83 }
84
85 /**
86 * Trigger listener
87 *
88 * @param int $entry_id Entry ID.
89 * @param int $form_id Form ID.
90 * @since 1.0.0
91 *
92 * @return void
93 */
94 public function trigger_listener( $entry_id, $form_id ) {
95 global $wpdb;
96 if ( empty( $entry_id ) ) {
97 return;
98 }
99
100 if ( class_exists( '\FrmEntryMeta' ) ) {
101 $metas = FrmEntryMeta::get_entry_meta_info( $entry_id );
102
103 $data = [];
104
105 foreach ( $metas as $meta ) {
106 $field_id = $meta->field_id;
107 $field_name = $wpdb->get_var( $wpdb->prepare( 'SELECT name FROM ' . $wpdb->prefix . 'frm_fields WHERE id=%d', $field_id ) );
108 $data_val = st_safe_unserialize( $meta->meta_value );
109 if ( is_array( $data_val ) ) {
110 foreach ( $data_val as $key => $val ) {
111 $data[ $key ] = $val;
112 }
113 } else {
114 $data[ $field_name ] = $data_val;
115 }
116 }
117 } else {
118 $data = [];
119 }
120
121 $context['entry_id'] = $entry_id;
122 $context['entry'] = $data;
123 $user_id = ap_get_current_user_id();
124 if ( is_int( $user_id ) ) {
125 $context['user'] = WordPress::get_user_context( $user_id );
126 }
127 $context['formidable_form'] = (int) $form_id;
128
129 AutomationController::sure_trigger_handle_trigger(
130 [
131 'trigger' => $this->trigger,
132 'wp_user_id' => ap_get_current_user_id(),
133 'context' => $context,
134 ]
135 );
136 }
137 }
138
139 /**
140 * Ignore false positive
141 *
142 * @psalm-suppress UndefinedMethod
143 */
144 FormidableFormSubmit::get_instance();
145
146 endif;
147