PluginProbe
Better Payment – Instant Payments, Donations, Fundraising with Subscriptions & More / 1.0.4
Better Payment – Instant Payments, Donations, Fundraising with Subscriptions & More v1.0.4
2.4.1 2.4.0 2.3.4 2.3.3 2.3.2 2.3.1 2.3.0 2.2.2 2.2.1 2.2.0 2.1.2 2.1.1 trunk 0.0.1 0.0.2 0.0.3 0.0.4 0.0.5 0.0.6 0.0.7 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 All 68 releases
better-payment / includes / Classes / Actions.php

Actions.php in Better Payment – Instant Payments, Donations, Fundraising with Subscriptions & More 1.0.4, at includes/Classes/Actions.php

569 lines 24.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Better_Payment\Lite\Classes;
4
5 /**
6 * Exit if accessed directly
7 */
8 if (!defined('ABSPATH')) {
9 exit;
10 }
11
12 /**
13 * The plugin action class
14 *
15 * @since 0.0.1
16 */
17 class Actions {
18 /**
19 * Constructor
20 *
21 * @since 0.0.1
22 */
23 public function __construct() {
24 add_action( 'admin_post_paypal_form_handle', [ $this, 'paypal_form_handle' ] );
25 add_action( 'admin_post_nopriv_paypal_form_handle', [ $this, 'paypal_form_handle' ] );
26
27 add_action( 'wp_ajax_better_payment_stripe_get_token', [ $this, 'better_payment_stripe_get_token' ] );
28 add_action( 'wp_ajax_nopriv_better_payment_stripe_get_token', [ $this, 'better_payment_stripe_get_token' ] );
29
30 add_action( 'wp_ajax_better_payment_paystack_get_token', [ $this, 'better_payment_paystack_get_token' ] );
31 add_action( 'wp_ajax_nopriv_better_payment_paystack_get_token', [ $this, 'better_payment_paystack_get_token' ] );
32 }
33
34
35 /**
36 * Handle the paypal form
37 *
38 * @since 0.0.1
39 */
40 public function paypal_form_handle() {
41
42 check_admin_referer( 'better-payment-paypal', 'security' );
43
44 if ( !empty( $_POST[ 'better_payment_page_id' ] ) ) {
45 $page_id = intval( $_POST[ 'better_payment_page_id' ], 10 );
46 } else {
47 $this->redirect_previous_page();
48 }
49
50 if ( !empty( $_POST[ 'better_payment_widget_id' ] ) ) {
51 $widget_id = sanitize_text_field( $_POST[ 'better_payment_widget_id' ] );
52 } else {
53 $this->redirect_previous_page();
54 }
55
56 $el_settings = $this->better_payment_widget_settings( $page_id, $widget_id );
57
58 if ( empty( $el_settings ) ) {
59 $this->redirect_previous_page();
60 }
61
62 if ( empty( $el_settings[ 'better_payment_paypal_business_email' ] ) ) {
63 $this->redirect_previous_page();
64 }
65
66 if ( $el_settings[ 'better_payment_paypal_live_mode' ] == 'yes' ) {
67 $path = "paypal";
68 } else {
69 $path = "sandbox.paypal";
70 }
71
72 $el_settings_currency = $el_settings[ 'better_payment_form_currency' ];
73
74 if(!empty($el_settings['better_payment_form_currency_use_woocommerce']) && 'yes' === $el_settings['better_payment_form_currency_use_woocommerce'] &&
75 !empty($el_settings['better_payment_form_currency_woocommerce'])){
76 $el_settings_currency = $el_settings['better_payment_form_currency_woocommerce'];
77 }
78
79 $el_settings_currency_symbol = \Better_Payment\Lite\Classes\Handler::get_currency_symbols( esc_html($el_settings_currency) );
80
81 $primary_payment_amount = floatval( $_POST[ 'primary_payment_amount' ] );
82
83 if( empty( $_POST['primary_payment_amount'] ) && ! empty( $_POST['primary_payment_amount_radio'] ) ){
84 $primary_payment_amount = floatval( $_POST['primary_payment_amount_radio'] );
85 }
86 $order_id = 'paypal_' . uniqid();
87 $request_data = [
88 'business' => $el_settings[ 'better_payment_paypal_business_email' ],
89 'currency_code' => $el_settings_currency,
90 'rm' => '2',
91 'return' => esc_url_raw( $_POST[ 'return' ] ),
92 'cancel_return' => esc_url_raw( $_POST[ 'cancel_return' ] ),
93 'item_number' => $order_id,
94 'item_name' => ! empty( $el_settings['better_payment_form_title'] ) ? esc_html__( $el_settings['better_payment_form_title'], 'better-payment' ) : esc_html__('Better Payment', 'better-payment'),
95 'amount' => $primary_payment_amount,
96 'cmd' => $el_settings[ 'better_payment_paypal_button_type' ],
97 ];
98
99 //Form fields data to send via email
100 $better_form_fields = [
101 'amount' => sanitize_text_field($el_settings_currency_symbol) . $primary_payment_amount,
102 'referer_page_id' => $page_id,
103 'referer_widget_id' => $widget_id,
104 'source' => 'paypal'
105 ];
106
107 $better_form_fields = array_merge( $better_form_fields, $this->fetch_better_form_fields($el_settings, $_POST) );
108
109 if ( !empty( $better_form_fields[ 'primary_first_name' ] ) ) {
110 $request_data[ 'primary_first_name' ] = sanitize_text_field( $better_form_fields[ 'primary_first_name' ] );
111 }
112
113 if ( !empty( $better_form_fields[ 'primary_last_name' ] ) ) {
114 $request_data[ 'primary_last_name' ] = sanitize_text_field( $better_form_fields[ 'primary_last_name' ] );
115 }
116
117 if ( !empty( $better_form_fields[ 'primary_email' ] ) ) {
118 $request_data[ 'primary_email' ] = sanitize_email( $better_form_fields[ 'primary_email' ] );
119 }
120
121 Handler::payment_create(
122 [
123 'amount' => floatval( $_POST[ 'primary_payment_amount' ] ),
124 'order_id' => $order_id,
125 'payment_date' => date( 'Y-m-d H:i:s' ),
126 'source' => 'paypal',
127 'form_fields_info' => maybe_serialize( $better_form_fields ),
128 'currency' => sanitize_text_field($el_settings_currency),
129 'referer' => "widget",
130 ]
131 );
132 $paypal_url = "https://www.$path.com/cgi-bin/webscr?";
133 $paypal_url .= http_build_query( $request_data );
134 wp_redirect( esc_url_raw($paypal_url) );
135 }
136
137 /**
138 * Get the stripe token
139 *
140 * @since 0.0.1
141 */
142 public function better_payment_stripe_get_token() {
143 if ( !check_admin_referer( 'better-payment', 'security' ) ) {
144 wp_send_json_error();
145 }
146
147 $setting_data_page_id = isset($_POST[ 'setting_data' ]['page_id']) ? intval( $_POST[ 'setting_data' ]['page_id'] ) : 0;
148 $setting_data_widget_id = isset($_POST[ 'setting_data' ]['widget_id']) ? sanitize_text_field( $_POST[ 'setting_data' ]['widget_id'] ) : 0;
149
150 if ( !empty( $setting_data_page_id ) ) {
151 $page_id = $setting_data_page_id;
152 } else {
153 $err_msg = __( 'Page ID is missing', 'better-payment' );
154 wp_send_json_error( esc_html($err_msg) );
155 }
156
157 if ( !empty( $setting_data_widget_id ) ) {
158 $widget_id = sanitize_text_field( $setting_data_widget_id );
159 } else {
160 $err_msg = __( 'Widget ID is missing', 'better-payment' );
161 wp_send_json_error( esc_html($err_msg) );
162 }
163
164 $el_settings = $this->better_payment_widget_settings( $page_id, $widget_id );
165 $better_payment_keys = [
166 'public_key' => 'yes' === sanitize_text_field( $el_settings[ 'better_payment_stripe_live_mode' ] ) ? sanitize_text_field( $el_settings[ 'better_payment_stripe_public_key_live' ] ) : sanitize_text_field( $el_settings[ 'better_payment_stripe_public_key' ] ),
167 'secret_key' => 'yes' === sanitize_text_field( $el_settings[ 'better_payment_stripe_live_mode' ] ) ? sanitize_text_field( $el_settings[ 'better_payment_stripe_secret_key_live' ] ) : sanitize_text_field( $el_settings[ 'better_payment_stripe_secret_key' ] ),
168 ];
169
170 if ( empty( $el_settings ) ) {
171 wp_send_json_error( esc_html(__( 'Setting Data is missing', 'better-payment' )) );
172 }
173
174 $amount = isset($_POST[ 'fields' ][ 'primary_payment_amount' ]) ? floatval($_POST[ 'fields' ][ 'primary_payment_amount' ]) : 0;
175 if ( empty( $_POST[ 'fields' ][ 'primary_payment_amount' ] ) && ! empty( $_POST[ 'fields' ][ 'primary_payment_amount_radio' ] ) ) {
176 $amount = floatval($_POST[ 'fields' ][ 'primary_payment_amount_radio' ]);
177 }
178
179 if ( empty( $better_payment_keys['public_key'] ) || empty( $better_payment_keys['secret_key'] ) ) {
180 wp_send_json_error( esc_html(__( 'Stripe Key missing', 'better-payment' )) );
181 }
182
183 $header_info = array(
184 'Authorization' => 'Basic ' . base64_encode( sanitize_text_field( $better_payment_keys['secret_key'] ) . ':' ),
185 'Stripe-Version' => '2019-05-16'
186 );
187
188 $order_id = 'stripe_' . uniqid();
189
190 $el_settings_currency = $el_settings[ 'better_payment_form_currency' ];
191
192 if(!empty($settings['better_payment_form_currency_use_woocommerce']) && 'yes' === $settings['better_payment_form_currency_use_woocommerce'] &&
193 !empty($settings['better_payment_form_currency_woocommerce'])){
194 $el_settings_currency = $settings['better_payment_form_currency_woocommerce'];
195 }
196
197 $el_settings_currency_symbol = \Better_Payment\Lite\Classes\Handler::get_currency_symbols( esc_html($el_settings_currency) );
198
199 $request = [
200 'success_url' => add_query_arg( [
201 'better_payment_stripe_status' => 'success',
202 'better_payment_stripe_id' => $order_id,
203 'better_payment_widget_id' => $widget_id
204 ], get_permalink( $setting_data_page_id ) ),
205 'cancel_url' => add_query_arg( [
206 'better_payment_error_status' => 'error',
207 'better_payment_stripe_id' => $order_id,
208 'better_payment_widget_id' => $widget_id
209 ], get_permalink( $setting_data_page_id ) ),
210 'locale' => 'auto',
211 'payment_method_types' => [ 'card' ],
212 'client_reference_id' => time(),
213 'billing_address_collection' => 'required',
214 'metadata' => [
215 'order_id' => $order_id
216 ],
217 'line_items' => [
218 [
219 'amount' => ( $amount * 100 ),
220 'currency' => $el_settings_currency,
221 'name' => ! empty( $el_settings['better_payment_form_title'] ) ? esc_html__( $el_settings['better_payment_form_title'], 'better-payment' ) : esc_html__('Better Payment', 'better-payment'),
222 'quantity' => 1
223 ]
224 ],
225 'payment_intent_data' => [
226 'capture_method' => 'automatic',
227 'description' => ! empty( $el_settings['better_payment_form_title'] ) ? esc_html__( $el_settings['better_payment_form_title'], 'better-payment' ) : esc_html__('Better Payment', 'better-payment'),
228 'metadata' => [
229 'order_id' => $order_id
230 ]
231 ]
232 ];
233
234 //Form fields data to send via email
235 $better_form_fields = [
236 'amount' => $el_settings_currency_symbol . $amount,
237 'referer_page_id' => $page_id,
238 'referer_widget_id' => $widget_id,
239 'source' => 'stripe'
240 ];
241
242 $better_form_fields = array_merge( $better_form_fields, $this->fetch_better_form_fields($el_settings, $_POST['fields']) );
243
244 if ( !empty( $better_form_fields['primary_first_name'] ) ) {
245 $request[ 'customer_name' ] = $better_form_fields['primary_first_name'];
246 }
247
248 if ( !empty( $better_form_fields['primary_last_name'] ) ) {
249 $request[ 'customer_name' ] = !empty( $request[ 'customer_name' ] ) ? $request[ 'customer_name' ] . ' ' . $better_form_fields['primary_last_name'] : $better_form_fields['primary_last_name'];
250 }
251
252 if ( !empty( $request[ 'customer_name' ] ) ) {
253 $request[ 'metadata' ][ 'customer_name' ] = $request[ 'customer_name' ];
254 $request[ 'payment_intent_data' ][ 'metadata' ][ 'customer_name' ] = $request[ 'customer_name' ];
255 unset( $request[ 'customer_name' ] );
256 }
257
258 if ( !empty( $better_form_fields['primary_email'] ) ) {
259 $request[ 'customer_email' ] = $better_form_fields['primary_email'];
260 $request[ 'metadata' ][ 'customer_email' ] = $request[ 'customer_email' ];
261 $request[ 'payment_intent_data' ][ 'metadata' ][ 'customer_email' ] = $request[ 'customer_email' ];
262
263 }
264
265 #ToDo: Need to prefill name field on stripe checkout
266 $response = wp_safe_remote_post(
267 'https://api.stripe.com/v1/checkout/sessions',
268 array(
269 'method' => 'POST',
270 'headers' => $header_info,
271 'body' => $request,
272 'timeout' => 70,
273 )
274 );
275
276 $response_ar = json_decode( $response[ 'body' ] );
277
278 if ( !empty( $response_ar->payment_intent ) ) {
279 Handler::payment_create(
280 [
281 'amount' => $amount,
282 'order_id' => $order_id,
283 'payment_date' => date( 'Y-m-d H:i:s' ),
284 'source' => 'stripe',
285 'transaction_id' => sanitize_text_field($response_ar->payment_intent),
286 'customer_info' => maybe_serialize( $response_ar ),
287 'form_fields_info' => maybe_serialize( $better_form_fields ),
288 'obj_id' => sanitize_text_field($response_ar->id),
289 'status' => sanitize_text_field($response_ar->payment_status),
290 'currency' => $el_settings_currency,
291 'referer' => "widget",
292 ]
293 );
294 wp_send_json_success(
295 [
296 'stripe_data' => sanitize_text_field($response_ar->id),
297 'stripe_public_key' => sanitize_text_field( $better_payment_keys['public_key'] )
298 ]
299 );
300 } else {
301 $error_message = 'Something went wrong!';
302
303 if (isset($response_ar->error)){
304 $error_message = sanitize_text_field($response_ar->error->message);
305 }
306
307 wp_send_json_error( $error_message );
308 }
309 }
310
311 /**
312 * Get the paystack token
313 *
314 * @since 0.0.1
315 */
316 public function better_payment_paystack_get_token() {
317 if ( !check_admin_referer( 'better-payment', 'security' ) ) {
318 wp_send_json_error();
319 }
320
321 $error_message = '';
322
323 if( empty( $_POST[ 'setting_data' ]['page_id'] ) ){
324 $error_message = __( 'Page ID is missing', 'better-payment' );
325 }
326
327 if( empty( $_POST[ 'setting_data' ]['widget_id'] ) ){
328 $error_message = __( 'Widget ID is missing', 'better-payment' );
329 }
330
331 if( ! empty( $error_message ) ){
332 wp_send_json_error( esc_html( $error_message ) );
333 }
334
335 $page_id = intval( $_POST[ 'setting_data' ]['page_id'] );
336 $widget_id = sanitize_text_field( $_POST[ 'setting_data' ]['widget_id'] );
337 $el_settings = $this->better_payment_widget_settings( $page_id, $widget_id );
338
339 if ( empty( $el_settings ) ) {
340 wp_send_json_error( esc_html(__( 'Setting Data is missing', 'better-payment' )) );
341 }
342
343 if ( empty( $el_settings[ 'better_payment_paystack_public_key' ] ) || empty( $el_settings[ 'better_payment_paystack_secret_key' ] ) ) {
344 wp_send_json_error( esc_html(__( 'Paystack Key missing', 'better-payment' )) );
345 }
346
347 $amount = isset($_POST[ 'fields' ][ 'primary_payment_amount' ]) ? floatval($_POST[ 'fields' ][ 'primary_payment_amount' ]) : 0;
348
349 if ( empty( $_POST[ 'fields' ][ 'primary_payment_amount' ] ) && ! empty( $_POST[ 'fields' ][ 'primary_payment_amount_radio' ] ) ) {
350 $amount = floatval($_POST[ 'fields' ][ 'primary_payment_amount_radio' ]);
351 }
352
353 $header_info = array(
354 'Authorization' => 'Bearer ' . sanitize_text_field( $el_settings[ 'better_payment_paystack_secret_key' ] ),
355 "Cache-Control: no-cache",
356 );
357
358 $order_id = 'paystack_' . uniqid();
359
360 $el_settings_currency = $el_settings[ 'better_payment_form_currency' ];
361
362 if(!empty($settings['better_payment_form_currency_use_woocommerce']) && 'yes' === $settings['better_payment_form_currency_use_woocommerce'] &&
363 !empty($settings['better_payment_form_currency_woocommerce'])){
364 $el_settings_currency = $settings['better_payment_form_currency_woocommerce'];
365 }
366
367 $el_settings_currency_symbol = \Better_Payment\Lite\Classes\Handler::get_currency_symbols( esc_html($el_settings_currency) );
368
369 $redirection_url_success = ! empty( $el_settings['better_payment_form_success_page_url']['url'] ) ? esc_url( $el_settings['better_payment_form_success_page_url']['url'] ) : get_permalink( $page_id );
370 $redirection_url_error = ! empty( $el_settings['better_payment_form_error_page_url']['url'] ) ? esc_url( $el_settings['better_payment_form_error_page_url']['url'] ) : get_permalink( $page_id );
371
372 $request = [
373 'amount' => ( $amount * 100 ),
374 'cart_id' => $order_id,
375 'callback_url' => add_query_arg( [
376 'better_payment_paystack_status' => 'success',
377 'better_payment_paystack_id' => $order_id,
378 'better_payment_widget_id' => $widget_id
379 ], $redirection_url_success ),
380 ];
381
382 //Form fields data to send via email
383 $better_form_fields = [
384 'amount' => $el_settings_currency_symbol . $amount,
385 'referer_page_id' => $page_id,
386 'referer_widget_id' => $widget_id,
387 'source' => 'paystack'
388 ];
389
390 $better_form_fields = array_merge( $better_form_fields, $this->fetch_better_form_fields($el_settings, $_POST['fields']) );
391
392 if ( !empty( $better_form_fields['primary_email'] ) ) {
393 $request[ 'email' ] = $better_form_fields['primary_email'];
394 }
395
396 if ( !empty( $better_form_fields['primary_first_name'] ) ) {
397 $request[ 'customer_name' ] = $better_form_fields['primary_first_name'];
398 }
399
400 if ( !empty( $better_form_fields['primary_last_name'] ) ) {
401 $request[ 'customer_name' ] = !empty( $request[ 'customer_name' ] ) ? $request[ 'customer_name' ] . ' ' . $better_form_fields['primary_last_name'] : $better_form_fields['primary_last_name'];
402 }
403
404 if ( !empty( $request[ 'customer_name' ] ) ) {
405 $request[ 'metadata' ][ 'customer_name' ] = $request[ 'customer_name' ];
406 unset( $request[ 'customer_name' ] );
407 }
408
409 $response = wp_safe_remote_post(
410 'https://api.paystack.co/transaction/initialize',
411 array(
412 'method' => 'POST',
413 'headers' => $header_info,
414 'body' => $request,
415 'timeout' => 70,
416 )
417 );
418
419 $response_ar = json_decode( $response[ 'body' ] );
420
421 if( empty( $response_ar->status ) || empty( $response_ar->data ) ){
422 $error_message = 'Something went wrong!';
423
424 if (isset($response_ar->error)){
425 $error_message = sanitize_text_field($response_ar->error->message);
426 }
427
428 wp_send_json_error( $error_message );
429 }
430
431 Handler::payment_create(
432 [
433 'amount' => $amount,
434 'order_id' => $order_id,
435 'payment_date' => date( 'Y-m-d H:i:s' ),
436 'source' => 'paystack',
437 'transaction_id' => '',
438 'customer_info' => maybe_serialize( $response_ar ),
439 'form_fields_info' => maybe_serialize( $better_form_fields ),
440 'status' => 'unpaid',
441 'currency' => $el_settings_currency,
442 'referer' => "widget",
443 ]
444 );
445
446 $authorization_url = ! empty( $response_ar->data->authorization_url ) ? esc_url_raw( $response_ar->data->authorization_url ) : '';
447
448 wp_send_json_success(
449 [
450 'authorization_url' => $authorization_url,
451 ]
452 );
453 }
454
455 /**
456 * Widget settings
457 *
458 * @since 1.0.0
459 */
460 public function better_payment_widget_settings( $page_id, $widget_id ) {
461 $document = \Elementor\Plugin::$instance->documents->get( $page_id );
462 $settings = [];
463 if ( $document ) {
464 $elements = \Elementor\Plugin::instance()->documents->get( $page_id )->get_elements_data();
465 $widget_data = $this->find_element_recursive( $elements, $widget_id );
466 $widget = \Elementor\Plugin::instance()->elements_manager->create_element_instance( $widget_data );
467 if ( $widget ) {
468 $settings = $widget->get_settings_for_display();
469 }
470 }
471 return $settings;
472 }
473
474 /**
475 * Find element recursive
476 *
477 * @since 1.0.0
478 */
479 public function find_element_recursive( $elements, $form_id ) {
480
481 foreach ( $elements as $element ) {
482 if ( $form_id === $element[ 'id' ] ) {
483 return $element;
484 }
485
486 if ( !empty( $element[ 'elements' ] ) ) {
487 $element = $this->find_element_recursive( $element[ 'elements' ], $form_id );
488
489 if ( $element ) {
490 return $element;
491 }
492 }
493 }
494
495 return false;
496 }
497
498 /**
499 * Redirect to referer page
500 *
501 * @since 1.0.0
502 */
503 public function redirect_previous_page() {
504 $location = $_SERVER[ 'HTTP_REFERER' ];
505 wp_safe_redirect( $location );
506 exit();
507 }
508
509 /**
510 * Fetch form fields
511 *
512 * @since 0.0.4
513 */
514
515 public function fetch_better_form_fields($el_settings, $post_data_form_fields) {
516 $better_form_fields = array();
517
518 $better_payment_helper_obj = new Helper();
519 $post_data_primary_first_name = '';
520 $post_data_primary_last_name = '';
521 $post_data_primary_email = '';
522
523 $post_fields = $post_data_form_fields;
524
525 //in case of duplicate post name using the first one
526 if(isset($el_settings['better_payment_form_fields']) && count($el_settings['better_payment_form_fields'])){
527 foreach ($el_settings['better_payment_form_fields'] as $item) {
528
529 $item_field_name = $better_payment_helper_obj->titleToSnake($item["better_payment_field_name_heading"]);
530 if(!empty($item['better_payment_primary_field_type']) ){
531 $item_primary_field_type = $item['better_payment_primary_field_type'];
532
533 if( isset($post_fields[$item_primary_field_type]) ) {
534 $post_fields[$item_primary_field_type] = is_array($post_fields[$item_primary_field_type]) ? $post_fields[$item_primary_field_type][0] : $post_fields[$item_primary_field_type];
535 }
536
537 if( isset($post_fields[$item_field_name]) ) {
538 $post_fields[$item_field_name] = is_array($post_fields[$item_field_name]) ? $post_fields[$item_field_name][0] : $post_fields[$item_field_name];
539 }
540
541 if ( 'primary_first_name' == $item_primary_field_type && isset($post_fields[$item_primary_field_type])){
542 $better_form_fields[$item_primary_field_type] = sanitize_text_field($post_fields[$item_primary_field_type]);
543 $post_data_primary_first_name = sanitize_text_field($post_fields[$item_primary_field_type]);
544
545 }else if ( 'primary_last_name' == $item_primary_field_type && isset($post_fields[$item_primary_field_type])){
546 $better_form_fields[$item_primary_field_type] = sanitize_text_field($post_fields[$item_primary_field_type]);
547 $post_data_primary_last_name = sanitize_text_field($post_fields[$item_primary_field_type]);
548
549 }else if( 'primary_email' == $item_primary_field_type && isset($post_fields[$item_primary_field_type])){
550 $better_form_fields[$item_primary_field_type] = sanitize_email($post_fields[$item_primary_field_type]);
551 $post_data_primary_email = sanitize_email($post_fields[$item_primary_field_type]);
552
553 }else if ( 'primary_payment_amount' == $item_primary_field_type && isset($post_fields[$item_primary_field_type]) ){
554 $better_form_fields[$item_primary_field_type] = floatval($post_fields[$item_primary_field_type]);
555
556 } else {
557 $better_form_fields[$item_field_name] = !empty($post_fields[$item_field_name]) ? sanitize_text_field($post_fields[$item_field_name]) : '';
558 }
559
560 }
561 }
562 }
563
564 return $better_form_fields;
565 }
566
567 }
568
569