Passed
Push — master ( 8ab249...3873c7 )
by Kiran
12:23 queued 07:07
created
templates/payment-forms-admin/edit/email.php 1 patch
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -7,49 +7,49 @@
 block discarded – undo
7 7
  * @version 1.0.19
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12 12
 ?>
13 13
 
14 14
 <div class='form-group mb-3'>
15 15
     <label class="form-label d-block">
16
-        <span><?php esc_html_e( 'Field Label', 'invoicing' ); ?></span>
16
+        <span><?php esc_html_e('Field Label', 'invoicing'); ?></span>
17 17
         <input v-model='active_form_element.label' class='form-control' type="text"/>
18 18
     </label>
19 19
 </div>
20 20
 
21 21
 <div class='form-group mb-3'>
22 22
     <label class="form-label d-block">
23
-        <span><?php esc_html_e( 'Placeholder text', 'invoicing' ); ?></span>
23
+        <span><?php esc_html_e('Placeholder text', 'invoicing'); ?></span>
24 24
         <input v-model='active_form_element.placeholder' class='form-control' type="text"/>
25 25
     </label>
26 26
 </div>
27 27
 
28 28
 <div class='form-group mb-3'>
29 29
     <label class="form-label d-block">
30
-        <span><?php esc_html_e( 'Help Text', 'invoicing' ); ?></span>
31
-        <textarea placeholder='<?php esc_attr_e( 'Add some help text for this field', 'invoicing' ); ?>' v-model='active_form_element.description' class='form-control' rows='3'></textarea>
32
-        <small class="form-text text-muted"><?php esc_html_e( 'HTML is allowed', 'invoicing' ); ?></small>
30
+        <span><?php esc_html_e('Help Text', 'invoicing'); ?></span>
31
+        <textarea placeholder='<?php esc_attr_e('Add some help text for this field', 'invoicing'); ?>' v-model='active_form_element.description' class='form-control' rows='3'></textarea>
32
+        <small class="form-text text-muted"><?php esc_html_e('HTML is allowed', 'invoicing'); ?></small>
33 33
     </label>
34 34
 </div>
35 35
 
36 36
 <div class='form-group mb-3 form-check'>
37 37
     <input :id="active_form_element.id + '_edit'" v-model='active_form_element.required' type='checkbox' class='form-check-input' />
38
-    <label class='form-check-label' :for="active_form_element.id + '_edit'"><?php esc_html_e( 'Is this field required?', 'invoicing' ); ?></label>
38
+    <label class='form-check-label' :for="active_form_element.id + '_edit'"><?php esc_html_e('Is this field required?', 'invoicing'); ?></label>
39 39
 </div>
40 40
 
41 41
 <div class='form-group mb-3 form-check'>
42 42
     <input :id="active_form_element.id + '_add_meta'" v-model='active_form_element.add_meta' type='checkbox' class='form-check-input' />
43
-    <label class='form-check-label' :for="active_form_element.id + '_add_meta'"><?php esc_html_e( 'Show this field in receipts and emails?', 'invoicing' ); ?></label>
43
+    <label class='form-check-label' :for="active_form_element.id + '_add_meta'"><?php esc_html_e('Show this field in receipts and emails?', 'invoicing'); ?></label>
44 44
 </div>
45 45
 
46 46
 <hr class='featurette-divider mt-4'>
47 47
 
48 48
 <div class='form-group mb-3'>
49 49
     <label class="form-label d-block">
50
-        <span><?php esc_html_e( 'Email Merge Tag', 'invoicing' ); ?></span>
50
+        <span><?php esc_html_e('Email Merge Tag', 'invoicing'); ?></span>
51 51
         <input :value='active_form_element.label | formatMergeTag' class='form-control bg-white' type="text" readonly onclick="this.select()" />
52
-        <span class="form-text text-muted"><?php esc_html_e( 'You can use this merge tag in notification emails', 'invoicing' ); ?></span>
52
+        <span class="form-text text-muted"><?php esc_html_e('You can use this merge tag in notification emails', 'invoicing'); ?></span>
53 53
     </label>
54 54
 </div>
55 55
 
Please login to merge, or discard this patch.
templates/payment-forms-admin/edit/textarea.php 1 patch
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -7,49 +7,49 @@
 block discarded – undo
7 7
  * @version 1.0.19
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12 12
 ?>
13 13
 
14 14
 <div class='form-group mb-3'>
15 15
     <label class="form-label d-block">
16
-        <span><?php esc_html_e( 'Field Label', 'invoicing' ); ?></span>
16
+        <span><?php esc_html_e('Field Label', 'invoicing'); ?></span>
17 17
         <input v-model='active_form_element.label' class='form-control' type="text"/>
18 18
     </label>
19 19
 </div>
20 20
 
21 21
 <div class='form-group mb-3'>
22 22
     <label class="form-label d-block">
23
-        <span><?php esc_html_e( 'Placeholder text', 'invoicing' ); ?></span>
23
+        <span><?php esc_html_e('Placeholder text', 'invoicing'); ?></span>
24 24
         <input v-model='active_form_element.placeholder' class='form-control' type="text"/>
25 25
     </label>
26 26
 </div>
27 27
 
28 28
 <div class='form-group mb-3'>
29 29
     <label class="form-label d-block">
30
-        <span><?php esc_html_e( 'Help Text', 'invoicing' ); ?></span>
31
-        <textarea placeholder='<?php esc_attr_e( 'Add some help text for this field', 'invoicing' ); ?>' v-model='active_form_element.description' class='form-control' rows='3'></textarea>
32
-        <small class="form-text text-muted"><?php esc_html_e( 'HTML is allowed', 'invoicing' ); ?></small>
30
+        <span><?php esc_html_e('Help Text', 'invoicing'); ?></span>
31
+        <textarea placeholder='<?php esc_attr_e('Add some help text for this field', 'invoicing'); ?>' v-model='active_form_element.description' class='form-control' rows='3'></textarea>
32
+        <small class="form-text text-muted"><?php esc_html_e('HTML is allowed', 'invoicing'); ?></small>
33 33
     </label>
34 34
 </div>
35 35
 
36 36
 <div class='form-group mb-3 form-check'>
37 37
     <input :id="active_form_element.id + '_edit'" v-model='active_form_element.required' type='checkbox' class='form-check-input' />
38
-    <label class='form-check-label' :for="active_form_element.id + '_edit'"><?php esc_html_e( 'Is this field required?', 'invoicing' ); ?></label>
38
+    <label class='form-check-label' :for="active_form_element.id + '_edit'"><?php esc_html_e('Is this field required?', 'invoicing'); ?></label>
39 39
 </div>
40 40
 
41 41
 <div class='form-group mb-3 form-check'>
42 42
     <input :id="active_form_element.id + '_add_meta'" v-model='active_form_element.add_meta' type='checkbox' class='form-check-input' />
43
-    <label class='form-check-label' :for="active_form_element.id + '_add_meta'"><?php esc_html_e( 'Show this field in receipts and emails?', 'invoicing' ); ?></label>
43
+    <label class='form-check-label' :for="active_form_element.id + '_add_meta'"><?php esc_html_e('Show this field in receipts and emails?', 'invoicing'); ?></label>
44 44
 </div>
45 45
 
46 46
 <hr class='featurette-divider mt-4'>
47 47
 
48 48
 <div class='form-group mb-3'>
49 49
     <label class="form-label d-block">
50
-        <span><?php esc_html_e( 'Email Merge Tag', 'invoicing' ); ?></span>
50
+        <span><?php esc_html_e('Email Merge Tag', 'invoicing'); ?></span>
51 51
         <input :value='active_form_element.label | formatMergeTag' class='form-control bg-white' type="text" readonly onclick="this.select()" />
52
-        <span class="form-text text-muted"><?php esc_html_e( 'You can use this merge tag in notification emails', 'invoicing' ); ?></span>
52
+        <span class="form-text text-muted"><?php esc_html_e('You can use this merge tag in notification emails', 'invoicing'); ?></span>
53 53
     </label>
54 54
 </div>
55 55
 
Please login to merge, or discard this patch.
templates/payment-forms-admin/previews/alert.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -7,14 +7,14 @@
 block discarded – undo
7 7
  * @version 1.0.19
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12 12
 ?>
13 13
 
14 14
 <div class='alert mb-0' :class='form_element.class' role='alert'>
15 15
     <span v-html='form_element.text'></span>
16 16
     <button v-if='form_element.dismissible' type='button' class='close btn-close' @click.prevent='' style="margin-top: -4px;">
17
-        <?php if ( empty( $GLOBALS['aui_bs5'] ) ) : ?>
17
+        <?php if (empty($GLOBALS['aui_bs5'])) : ?>
18 18
             <span aria-hidden="true">×</span>
19 19
         <?php endif; ?>
20 20
     </button>
Please login to merge, or discard this patch.
includes/admin/views/html-tax-rate-edit.php 1 patch
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @var array $tax_rate
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 ?>
12 12
 
@@ -18,13 +18,13 @@  discard block
 block discarded – undo
18 18
             aui()->select(
19 19
                 array(
20 20
                     'options' => array_merge(
21
-                        array( '' => __( 'All Countries', 'invoicing' ) ),
21
+                        array('' => __('All Countries', 'invoicing')),
22 22
                         wpinv_get_country_list()
23 23
                     ),
24 24
                     'name'    => "tax_rates[$key][country]",
25
-                    'id'      => uniqid( 'tax_rate_country' ),
26
-                    'value'   => esc_html( $tax_rate['country'] ),
27
-                    'label'   => __( 'Country', 'invoicing' ),
25
+                    'id'      => uniqid('tax_rate_country'),
26
+                    'value'   => esc_html($tax_rate['country']),
27
+                    'label'   => __('Country', 'invoicing'),
28 28
                     'class'   => 'wpinv_country',
29 29
                     'no_wrap' => true,
30 30
                 ),
@@ -37,36 +37,36 @@  discard block
 block discarded – undo
37 37
     <td class="wpinv_tax_state">
38 38
 
39 39
         <label class="w-100">
40
-            <span class="screen-reader-text"><?php esc_html_e( 'States', 'invoicing' ); ?></span>
41
-            <input type="text" placeholder="<?php esc_attr_e( 'Apply to whole country', 'invoicing' ); ?>" name="tax_rates[<?php echo esc_attr( $key ); ?>][state]" value="<?php echo empty( $tax_rate['global'] ) ? esc_attr( $tax_rate['state'] ) : ''; ?>"/>
40
+            <span class="screen-reader-text"><?php esc_html_e('States', 'invoicing'); ?></span>
41
+            <input type="text" placeholder="<?php esc_attr_e('Apply to whole country', 'invoicing'); ?>" name="tax_rates[<?php echo esc_attr($key); ?>][state]" value="<?php echo empty($tax_rate['global']) ? esc_attr($tax_rate['state']) : ''; ?>"/>
42 42
         </label>
43 43
 
44 44
     </td>
45 45
 
46 46
     <td class="wpinv_standard_rate">
47 47
         <label class="w-100">
48
-            <span class="screen-reader-text"><?php esc_html_e( 'Standard Rate', 'invoicing' ); ?></span>
49
-            <input type="number" step="any" min="0" max="99" name="tax_rates[<?php echo esc_attr( $key ); ?>][rate]" value="<?php echo esc_attr( $tax_rate['rate'] ); ?>"/>
48
+            <span class="screen-reader-text"><?php esc_html_e('Standard Rate', 'invoicing'); ?></span>
49
+            <input type="number" step="any" min="0" max="99" name="tax_rates[<?php echo esc_attr($key); ?>][rate]" value="<?php echo esc_attr($tax_rate['rate']); ?>"/>
50 50
         </label>
51 51
     </td>
52 52
 
53 53
     <td class="wpinv_reduced_rate">
54 54
         <label class="w-100">
55
-            <span class="screen-reader-text"><?php esc_html_e( 'Reduced Rate', 'invoicing' ); ?></span>
56
-            <input type="number" step="any" min="0" max="99" name="tax_rates[<?php echo esc_attr( $key ); ?>][reduced_rate]" value="<?php echo esc_attr( $tax_rate['reduced_rate'] ); ?>"/>
55
+            <span class="screen-reader-text"><?php esc_html_e('Reduced Rate', 'invoicing'); ?></span>
56
+            <input type="number" step="any" min="0" max="99" name="tax_rates[<?php echo esc_attr($key); ?>][reduced_rate]" value="<?php echo esc_attr($tax_rate['reduced_rate']); ?>"/>
57 57
         </label>
58 58
     </td>
59 59
 
60 60
     <td class="wpinv_tax_name">
61 61
         <label class="w-100">
62
-            <span class="screen-reader-text"><?php esc_html_e( 'Tax Name', 'invoicing' ); ?></span>
63
-            <input type="text" name="tax_rates[<?php echo esc_attr( $key ); ?>][name]" value="<?php echo esc_attr( $tax_rate['name'] ); ?>"/>
62
+            <span class="screen-reader-text"><?php esc_html_e('Tax Name', 'invoicing'); ?></span>
63
+            <input type="text" name="tax_rates[<?php echo esc_attr($key); ?>][name]" value="<?php echo esc_attr($tax_rate['name']); ?>"/>
64 64
         </label>
65 65
     </td>
66 66
 
67 67
     <td class="wpinv_tax_remove">
68
-        <button type="button" class="close btn-close wpinv_remove_tax_rate" aria-label="<?php esc_attr_e( 'Delete', 'invoicing' ); ?>" title="<?php esc_attr_e( 'Delete', 'invoicing' ); ?>">
69
-            <?php if ( empty( $GLOBALS['aui_bs5'] ) ) : ?>
68
+        <button type="button" class="close btn-close wpinv_remove_tax_rate" aria-label="<?php esc_attr_e('Delete', 'invoicing'); ?>" title="<?php esc_attr_e('Delete', 'invoicing'); ?>">
69
+            <?php if (empty($GLOBALS['aui_bs5'])) : ?>
70 70
                 <span aria-hidden="true">×</span>
71 71
             <?php endif; ?>
72 72
         </button>
Please login to merge, or discard this patch.
includes/class-wpinv-ajax.php 2 patches
Indentation   +64 added lines, -64 removed lines patch added patch discarded remove patch
@@ -14,70 +14,70 @@  discard block
 block discarded – undo
14 14
 class WPInv_Ajax {
15 15
 
16 16
     /**
17
-	 * Hook in ajax handlers.
18
-	 */
19
-	public static function init() {
20
-		add_action( 'init', array( __CLASS__, 'define_ajax' ), 0 );
21
-		add_action( 'template_redirect', array( __CLASS__, 'do_wpinv_ajax' ), 0 );
22
-		self::add_ajax_events();
17
+     * Hook in ajax handlers.
18
+     */
19
+    public static function init() {
20
+        add_action( 'init', array( __CLASS__, 'define_ajax' ), 0 );
21
+        add_action( 'template_redirect', array( __CLASS__, 'do_wpinv_ajax' ), 0 );
22
+        self::add_ajax_events();
23 23
     }
24 24
 
25 25
     /**
26
-	 * Set GetPaid AJAX constant and headers.
27
-	 */
28
-	public static function define_ajax() {
29
-
30
-		if ( ! empty( $_GET['wpinv-ajax'] ) ) {
31
-			getpaid_maybe_define_constant( 'DOING_AJAX', true );
32
-			getpaid_maybe_define_constant( 'WPInv_DOING_AJAX', true );
33
-			if ( ! WP_DEBUG || ( WP_DEBUG && ! WP_DEBUG_DISPLAY ) ) {
34
-				/** @scrutinizer ignore-unhandled */ @ini_set( 'display_errors', 0 );
35
-			}
36
-			$GLOBALS['wpdb']->hide_errors();
37
-		}
26
+     * Set GetPaid AJAX constant and headers.
27
+     */
28
+    public static function define_ajax() {
29
+
30
+        if ( ! empty( $_GET['wpinv-ajax'] ) ) {
31
+            getpaid_maybe_define_constant( 'DOING_AJAX', true );
32
+            getpaid_maybe_define_constant( 'WPInv_DOING_AJAX', true );
33
+            if ( ! WP_DEBUG || ( WP_DEBUG && ! WP_DEBUG_DISPLAY ) ) {
34
+                /** @scrutinizer ignore-unhandled */ @ini_set( 'display_errors', 0 );
35
+            }
36
+            $GLOBALS['wpdb']->hide_errors();
37
+        }
38 38
 
39 39
     }
40 40
 
41 41
     /**
42
-	 * Send headers for GetPaid Ajax Requests.
43
-	 *
44
-	 * @since 1.0.18
45
-	 */
46
-	private static function wpinv_ajax_headers() {
47
-		if ( ! headers_sent() ) {
48
-			send_origin_headers();
49
-			send_nosniff_header();
50
-			nocache_headers();
51
-			header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) );
52
-			header( 'X-Robots-Tag: noindex' );
53
-			status_header( 200 );
54
-		}
42
+     * Send headers for GetPaid Ajax Requests.
43
+     *
44
+     * @since 1.0.18
45
+     */
46
+    private static function wpinv_ajax_headers() {
47
+        if ( ! headers_sent() ) {
48
+            send_origin_headers();
49
+            send_nosniff_header();
50
+            nocache_headers();
51
+            header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) );
52
+            header( 'X-Robots-Tag: noindex' );
53
+            status_header( 200 );
54
+        }
55 55
     }
56 56
 
57 57
     /**
58
-	 * Check for GetPaid Ajax request and fire action.
59
-	 */
60
-	public static function do_wpinv_ajax() {
61
-		global $wp_query;
58
+     * Check for GetPaid Ajax request and fire action.
59
+     */
60
+    public static function do_wpinv_ajax() {
61
+        global $wp_query;
62 62
 
63
-		if ( ! empty( $_GET['wpinv-ajax'] ) ) {
64
-			$wp_query->set( 'wpinv-ajax', sanitize_text_field( wp_unslash( $_GET['wpinv-ajax'] ) ) );
65
-		}
63
+        if ( ! empty( $_GET['wpinv-ajax'] ) ) {
64
+            $wp_query->set( 'wpinv-ajax', sanitize_text_field( wp_unslash( $_GET['wpinv-ajax'] ) ) );
65
+        }
66 66
 
67
-		$action = $wp_query->get( 'wpinv-ajax' );
67
+        $action = $wp_query->get( 'wpinv-ajax' );
68 68
 
69
-		if ( $action ) {
70
-			self::wpinv_ajax_headers();
71
-			$action = sanitize_text_field( $action );
72
-			do_action( 'wpinv_ajax_' . $action );
73
-			wp_die();
74
-		}
69
+        if ( $action ) {
70
+            self::wpinv_ajax_headers();
71
+            $action = sanitize_text_field( $action );
72
+            do_action( 'wpinv_ajax_' . $action );
73
+            wp_die();
74
+        }
75 75
 
76 76
     }
77 77
 
78 78
     /**
79
-	 * Hook in ajax methods.
80
-	 */
79
+     * Hook in ajax methods.
80
+     */
81 81
     public static function add_ajax_events() {
82 82
 
83 83
         // array( 'event' => is_frontend )
@@ -258,11 +258,11 @@  discard block
 block discarded – undo
258 258
         global $getpaid_force_checkbox;
259 259
 
260 260
         // Is the request set up correctly?
261
-		if ( empty( $_GET['form'] ) && empty( $_GET['item'] ) && empty( $_GET['invoice'] ) ) {
262
-			aui()->alert(
263
-				array(
264
-					'type'    => 'warning',
265
-					'content' => __( 'No payment form or item provided', 'invoicing' ),
261
+        if ( empty( $_GET['form'] ) && empty( $_GET['item'] ) && empty( $_GET['invoice'] ) ) {
262
+            aui()->alert(
263
+                array(
264
+                    'type'    => 'warning',
265
+                    'content' => __( 'No payment form or item provided', 'invoicing' ),
266 266
                 ),
267 267
                 true
268 268
             );
@@ -270,7 +270,7 @@  discard block
 block discarded – undo
270 270
         }
271 271
 
272 272
         // Payment form or button?
273
-		if ( ! empty( $_GET['form'] ) ) {
273
+        if ( ! empty( $_GET['form'] ) ) {
274 274
             $form = sanitize_text_field( urldecode( $_GET['form'] ) );
275 275
 
276 276
             if ( false !== strpos( $form, '|' ) ) {
@@ -323,10 +323,10 @@  discard block
 block discarded – undo
323 323
                 getpaid_display_payment_form( $form );
324 324
             }
325 325
 } elseif ( ! empty( $_GET['invoice'] ) ) {
326
-		    getpaid_display_invoice_payment_form( (int) urldecode( $_GET['invoice'] ) );
326
+            getpaid_display_invoice_payment_form( (int) urldecode( $_GET['invoice'] ) );
327 327
         } else {
328
-			$items = getpaid_convert_items_to_array( sanitize_text_field( urldecode( $_GET['item'] ) ) );
329
-		    getpaid_display_item_payment_form( $items );
328
+            $items = getpaid_convert_items_to_array( sanitize_text_field( urldecode( $_GET['item'] ) ) );
329
+            getpaid_display_item_payment_form( $items );
330 330
         }
331 331
 
332 332
         exit;
@@ -643,7 +643,7 @@  discard block
 block discarded – undo
643 643
         if ( is_wp_error( $error ) ) {
644 644
             $alert = $error->get_error_message();
645 645
             wp_send_json_success( compact( 'alert' ) );
646
-         }
646
+            }
647 647
 
648 648
         // Update totals.
649 649
         $invoice->recalculate_total();
@@ -1072,12 +1072,12 @@  discard block
 block discarded – undo
1072 1072
     }
1073 1073
 
1074 1074
     /**
1075
-	 * Handles file uploads.
1076
-	 *
1077
-	 * @since       1.0.0
1078
-	 * @return      void
1079
-	 */
1080
-	public static function file_upload() {
1075
+     * Handles file uploads.
1076
+     *
1077
+     * @since       1.0.0
1078
+     * @return      void
1079
+     */
1080
+    public static function file_upload() {
1081 1081
 
1082 1082
         // Check nonce.
1083 1083
         check_ajax_referer( 'getpaid_form_nonce' );
@@ -1138,7 +1138,7 @@  discard block
 block discarded – undo
1138 1138
 
1139 1139
         wp_send_json_success( $response );
1140 1140
 
1141
-	}
1141
+    }
1142 1142
 
1143 1143
 }
1144 1144
 
Please login to merge, or discard this patch.
Spacing   +339 added lines, -339 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package Invoicing
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * WPInv_Ajax class.
@@ -17,8 +17,8 @@  discard block
 block discarded – undo
17 17
 	 * Hook in ajax handlers.
18 18
 	 */
19 19
 	public static function init() {
20
-		add_action( 'init', array( __CLASS__, 'define_ajax' ), 0 );
21
-		add_action( 'template_redirect', array( __CLASS__, 'do_wpinv_ajax' ), 0 );
20
+		add_action('init', array(__CLASS__, 'define_ajax'), 0);
21
+		add_action('template_redirect', array(__CLASS__, 'do_wpinv_ajax'), 0);
22 22
 		self::add_ajax_events();
23 23
     }
24 24
 
@@ -27,11 +27,11 @@  discard block
 block discarded – undo
27 27
 	 */
28 28
 	public static function define_ajax() {
29 29
 
30
-		if ( ! empty( $_GET['wpinv-ajax'] ) ) {
31
-			getpaid_maybe_define_constant( 'DOING_AJAX', true );
32
-			getpaid_maybe_define_constant( 'WPInv_DOING_AJAX', true );
33
-			if ( ! WP_DEBUG || ( WP_DEBUG && ! WP_DEBUG_DISPLAY ) ) {
34
-				/** @scrutinizer ignore-unhandled */ @ini_set( 'display_errors', 0 );
30
+		if (!empty($_GET['wpinv-ajax'])) {
31
+			getpaid_maybe_define_constant('DOING_AJAX', true);
32
+			getpaid_maybe_define_constant('WPInv_DOING_AJAX', true);
33
+			if (!WP_DEBUG || (WP_DEBUG && !WP_DEBUG_DISPLAY)) {
34
+				/** @scrutinizer ignore-unhandled */ @ini_set('display_errors', 0);
35 35
 			}
36 36
 			$GLOBALS['wpdb']->hide_errors();
37 37
 		}
@@ -44,13 +44,13 @@  discard block
 block discarded – undo
44 44
 	 * @since 1.0.18
45 45
 	 */
46 46
 	private static function wpinv_ajax_headers() {
47
-		if ( ! headers_sent() ) {
47
+		if (!headers_sent()) {
48 48
 			send_origin_headers();
49 49
 			send_nosniff_header();
50 50
 			nocache_headers();
51
-			header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) );
52
-			header( 'X-Robots-Tag: noindex' );
53
-			status_header( 200 );
51
+			header('Content-Type: text/html; charset=' . get_option('blog_charset'));
52
+			header('X-Robots-Tag: noindex');
53
+			status_header(200);
54 54
 		}
55 55
     }
56 56
 
@@ -60,16 +60,16 @@  discard block
 block discarded – undo
60 60
 	public static function do_wpinv_ajax() {
61 61
 		global $wp_query;
62 62
 
63
-		if ( ! empty( $_GET['wpinv-ajax'] ) ) {
64
-			$wp_query->set( 'wpinv-ajax', sanitize_text_field( wp_unslash( $_GET['wpinv-ajax'] ) ) );
63
+		if (!empty($_GET['wpinv-ajax'])) {
64
+			$wp_query->set('wpinv-ajax', sanitize_text_field(wp_unslash($_GET['wpinv-ajax'])));
65 65
 		}
66 66
 
67
-		$action = $wp_query->get( 'wpinv-ajax' );
67
+		$action = $wp_query->get('wpinv-ajax');
68 68
 
69
-		if ( $action ) {
69
+		if ($action) {
70 70
 			self::wpinv_ajax_headers();
71
-			$action = sanitize_text_field( $action );
72
-			do_action( 'wpinv_ajax_' . $action );
71
+			$action = sanitize_text_field($action);
72
+			do_action('wpinv_ajax_' . $action);
73 73
 			wp_die();
74 74
 		}
75 75
 
@@ -106,36 +106,36 @@  discard block
 block discarded – undo
106 106
             'file_upload'                   => true,
107 107
         );
108 108
 
109
-        foreach ( $ajax_events as $ajax_event => $nopriv ) {
110
-            add_action( 'wp_ajax_wpinv_' . $ajax_event, array( __CLASS__, $ajax_event ) );
111
-            add_action( 'wp_ajax_getpaid_' . $ajax_event, array( __CLASS__, $ajax_event ) );
109
+        foreach ($ajax_events as $ajax_event => $nopriv) {
110
+            add_action('wp_ajax_wpinv_' . $ajax_event, array(__CLASS__, $ajax_event));
111
+            add_action('wp_ajax_getpaid_' . $ajax_event, array(__CLASS__, $ajax_event));
112 112
 
113
-            if ( $nopriv ) {
114
-                add_action( 'wp_ajax_nopriv_wpinv_' . $ajax_event, array( __CLASS__, $ajax_event ) );
115
-                add_action( 'wp_ajax_nopriv_getpaid_' . $ajax_event, array( __CLASS__, $ajax_event ) );
116
-                add_action( 'wpinv_ajax_' . $ajax_event, array( __CLASS__, $ajax_event ) );
113
+            if ($nopriv) {
114
+                add_action('wp_ajax_nopriv_wpinv_' . $ajax_event, array(__CLASS__, $ajax_event));
115
+                add_action('wp_ajax_nopriv_getpaid_' . $ajax_event, array(__CLASS__, $ajax_event));
116
+                add_action('wpinv_ajax_' . $ajax_event, array(__CLASS__, $ajax_event));
117 117
             }
118 118
         }
119 119
     }
120 120
 
121 121
     public static function add_note() {
122
-        check_ajax_referer( 'add-invoice-note', '_nonce' );
122
+        check_ajax_referer('add-invoice-note', '_nonce');
123 123
 
124
-        $post_id   = absint( $_POST['post_id'] );
125
-        $note      = wp_kses_post( trim( stripslashes( $_POST['note'] ) ) );
126
-        $note_type = sanitize_text_field( $_POST['note_type'] );
124
+        $post_id   = absint($_POST['post_id']);
125
+        $note      = wp_kses_post(trim(stripslashes($_POST['note'])));
126
+        $note_type = sanitize_text_field($_POST['note_type']);
127 127
 
128
-        if ( ! wpinv_current_user_can( 'invoice_add_note', array( 'invoice_id' => $post_id, 'note_type' => $note_type ) ) ) {
128
+        if (!wpinv_current_user_can('invoice_add_note', array('invoice_id' => $post_id, 'note_type' => $note_type))) {
129 129
             die( -1 );
130 130
         }
131 131
 
132 132
         $is_customer_note = $note_type == 'customer' ? 1 : 0;
133 133
 
134
-        if ( $post_id > 0 ) {
135
-            $note_id = wpinv_insert_payment_note( $post_id, $note, $is_customer_note );
134
+        if ($post_id > 0) {
135
+            $note_id = wpinv_insert_payment_note($post_id, $note, $is_customer_note);
136 136
 
137
-            if ( $note_id > 0 && ! is_wp_error( $note_id ) ) {
138
-                wpinv_get_invoice_note_line_item( $note_id );
137
+            if ($note_id > 0 && !is_wp_error($note_id)) {
138
+                wpinv_get_invoice_note_line_item($note_id);
139 139
             }
140 140
         }
141 141
 
@@ -143,16 +143,16 @@  discard block
 block discarded – undo
143 143
     }
144 144
 
145 145
     public static function delete_note() {
146
-        check_ajax_referer( 'delete-invoice-note', '_nonce' );
146
+        check_ajax_referer('delete-invoice-note', '_nonce');
147 147
 
148
-        $note_id = (int)$_POST['note_id'];
148
+        $note_id = (int) $_POST['note_id'];
149 149
 
150
-        if ( ! wpinv_current_user_can( 'invoice_delete_note', array( 'note_id' => $note_id ) ) ) {
150
+        if (!wpinv_current_user_can('invoice_delete_note', array('note_id' => $note_id))) {
151 151
             die( -1 );
152 152
         }
153 153
 
154
-        if ( $note_id > 0 ) {
155
-            wp_delete_comment( $note_id, true );
154
+        if ($note_id > 0) {
155
+            wp_delete_comment($note_id, true);
156 156
         }
157 157
 
158 158
         die();
@@ -169,35 +169,35 @@  discard block
 block discarded – undo
169 169
      */
170 170
     public static function get_billing_details() {
171 171
         // Verify nonce.
172
-        check_ajax_referer( 'wpinv-nonce' );
172
+        check_ajax_referer('wpinv-nonce');
173 173
 
174 174
         // Do we have a user id?
175 175
         $user_id = (int) $_GET['user_id'];
176
-        $invoice_id = ! empty( $_REQUEST['post_id'] ) ? (int) $_REQUEST['post_id'] : 0;
176
+        $invoice_id = !empty($_REQUEST['post_id']) ? (int) $_REQUEST['post_id'] : 0;
177 177
 
178
-        if ( empty( $user_id ) || ! is_numeric( $user_id ) ) {
178
+        if (empty($user_id) || !is_numeric($user_id)) {
179 179
             die( -1 );
180 180
         }
181 181
 
182 182
         // Can the user manage the plugin?
183
-        if ( ! wpinv_current_user_can( 'invoice_get_billing_details', array( 'user_id' => $user_id, 'invoice_id' => $invoice_id ) ) ) {
183
+        if (!wpinv_current_user_can('invoice_get_billing_details', array('user_id' => $user_id, 'invoice_id' => $invoice_id))) {
184 184
             die( -1 );
185 185
         }
186 186
 
187 187
         // Fetch the billing details.
188
-        $billing_details    = wpinv_get_user_address( $user_id );
189
-        $billing_details    = apply_filters( 'wpinv_ajax_billing_details', $billing_details, $user_id );
188
+        $billing_details    = wpinv_get_user_address($user_id);
189
+        $billing_details    = apply_filters('wpinv_ajax_billing_details', $billing_details, $user_id);
190 190
 
191 191
         // unset the user id and email.
192
-        $to_ignore = array( 'user_id', 'email' );
192
+        $to_ignore = array('user_id', 'email');
193 193
 
194
-        foreach ( $to_ignore as $key ) {
195
-            if ( isset( $billing_details[ $key ] ) ) {
196
-                unset( $billing_details[ $key ] );
194
+        foreach ($to_ignore as $key) {
195
+            if (isset($billing_details[$key])) {
196
+                unset($billing_details[$key]);
197 197
             }
198 198
         }
199 199
 
200
-        wp_send_json_success( $billing_details );
200
+        wp_send_json_success($billing_details);
201 201
 
202 202
     }
203 203
 
@@ -206,54 +206,54 @@  discard block
 block discarded – undo
206 206
      */
207 207
     public static function check_new_user_email() {
208 208
         // Verify nonce.
209
-        check_ajax_referer( 'wpinv-nonce' );
209
+        check_ajax_referer('wpinv-nonce');
210 210
 
211
-        $invoice_id = ! empty( $_REQUEST['post_id'] ) ? absint( $_REQUEST['post_id'] ) : 0;
211
+        $invoice_id = !empty($_REQUEST['post_id']) ? absint($_REQUEST['post_id']) : 0;
212 212
 
213
-        if ( empty( $invoice_id ) ) {
213
+        if (empty($invoice_id)) {
214 214
             die( -1 );
215 215
         }
216 216
 
217 217
         // Can the user manage the plugin?
218
-        if ( ! wpinv_current_user_can( 'invoice_check_new_user_email', array( 'invoice_id' => $invoice_id ) ) ) {
218
+        if (!wpinv_current_user_can('invoice_check_new_user_email', array('invoice_id' => $invoice_id))) {
219 219
             die( -1 );
220 220
         }
221 221
 
222 222
         // We need an email address.
223
-        if ( empty( $_GET['email'] ) ) {
224
-            esc_html_e( "Provide the new user's email address", 'invoicing' );
223
+        if (empty($_GET['email'])) {
224
+            esc_html_e("Provide the new user's email address", 'invoicing');
225 225
             exit;
226 226
         }
227 227
 
228 228
         // Ensure the email is valid.
229
-        $email = sanitize_email( $_GET['email'] );
230
-        if ( ! is_email( $email ) ) {
231
-            esc_html_e( 'Invalid email address', 'invoicing' );
229
+        $email = sanitize_email($_GET['email']);
230
+        if (!is_email($email)) {
231
+            esc_html_e('Invalid email address', 'invoicing');
232 232
             exit;
233 233
         }
234 234
 
235 235
         // And it does not exist.
236
-        $id = email_exists( $email );
237
-        if ( $id ) {
238
-            wp_send_json_success( compact( 'id' ) );
236
+        $id = email_exists($email);
237
+        if ($id) {
238
+            wp_send_json_success(compact('id'));
239 239
         }
240 240
 
241
-        wp_send_json_success( true );
241
+        wp_send_json_success(true);
242 242
     }
243 243
 
244 244
     public static function run_tool() {
245
-        check_ajax_referer( 'wpinv-nonce', '_nonce' );
245
+        check_ajax_referer('wpinv-nonce', '_nonce');
246 246
 
247
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
247
+        if (!wpinv_current_user_can_manage_invoicing()) {
248 248
             die( -1 );
249 249
         }
250 250
 
251
-        $tool = sanitize_text_field( $_POST['tool'] );
251
+        $tool = sanitize_text_field($_POST['tool']);
252 252
 
253
-        do_action( 'wpinv_run_tool' );
253
+        do_action('wpinv_run_tool');
254 254
 
255
-        if ( ! empty( $tool ) ) {
256
-            do_action( 'wpinv_tool_' . $tool );
255
+        if (!empty($tool)) {
256
+            do_action('wpinv_tool_' . $tool);
257 257
         }
258 258
     }
259 259
 
@@ -264,11 +264,11 @@  discard block
 block discarded – undo
264 264
         global $getpaid_force_checkbox;
265 265
 
266 266
         // Is the request set up correctly?
267
-		if ( empty( $_GET['form'] ) && empty( $_GET['item'] ) && empty( $_GET['invoice'] ) ) {
267
+		if (empty($_GET['form']) && empty($_GET['item']) && empty($_GET['invoice'])) {
268 268
 			aui()->alert(
269 269
 				array(
270 270
 					'type'    => 'warning',
271
-					'content' => __( 'No payment form or item provided', 'invoicing' ),
271
+					'content' => __('No payment form or item provided', 'invoicing'),
272 272
                 ),
273 273
                 true
274 274
             );
@@ -276,29 +276,29 @@  discard block
 block discarded – undo
276 276
         }
277 277
 
278 278
         // Payment form or button?
279
-		if ( ! empty( $_GET['form'] ) ) {
280
-            $form = sanitize_text_field( urldecode( $_GET['form'] ) );
279
+		if (!empty($_GET['form'])) {
280
+            $form = sanitize_text_field(urldecode($_GET['form']));
281 281
 
282
-            if ( false !== strpos( $form, '|' ) ) {
283
-                $form_pos = strpos( $form, '|' );
284
-                $_items   = getpaid_convert_items_to_array( substr( $form, $form_pos + 1 ) );
285
-                $form     = substr( $form, 0, $form_pos );
282
+            if (false !== strpos($form, '|')) {
283
+                $form_pos = strpos($form, '|');
284
+                $_items   = getpaid_convert_items_to_array(substr($form, $form_pos + 1));
285
+                $form     = substr($form, 0, $form_pos);
286 286
 
287 287
                 // Retrieve appropriate payment form.
288
-                $payment_form = new GetPaid_Payment_Form( $form );
289
-                $payment_form = $payment_form->exists() ? $payment_form : new GetPaid_Payment_Form( wpinv_get_default_payment_form() );
288
+                $payment_form = new GetPaid_Payment_Form($form);
289
+                $payment_form = $payment_form->exists() ? $payment_form : new GetPaid_Payment_Form(wpinv_get_default_payment_form());
290 290
 
291 291
                 $items    = array();
292 292
                 $item_ids = array();
293 293
 
294
-                foreach ( $_items as $item_id => $qty ) {
295
-                    if ( ! in_array( $item_id, $item_ids ) ) {
296
-                        $item = new GetPaid_Form_Item( $item_id );
297
-                        $item->set_quantity( $qty );
294
+                foreach ($_items as $item_id => $qty) {
295
+                    if (!in_array($item_id, $item_ids)) {
296
+                        $item = new GetPaid_Form_Item($item_id);
297
+                        $item->set_quantity($qty);
298 298
 
299
-                        if ( 0 == $qty ) {
300
-                            $item->set_allow_quantities( true );
301
-                            $item->set_is_required( false );
299
+                        if (0 == $qty) {
300
+                            $item->set_allow_quantities(true);
301
+                            $item->set_is_required(false);
302 302
                             $getpaid_force_checkbox = true;
303 303
                         }
304 304
 
@@ -307,32 +307,32 @@  discard block
 block discarded – undo
307 307
                     }
308 308
                 }
309 309
 
310
-                if ( ! $payment_form->is_default() ) {
310
+                if (!$payment_form->is_default()) {
311 311
 
312
-                    foreach ( $payment_form->get_items() as $item ) {
313
-                        if ( ! in_array( $item->get_id(), $item_ids ) ) {
312
+                    foreach ($payment_form->get_items() as $item) {
313
+                        if (!in_array($item->get_id(), $item_ids)) {
314 314
                             $item_ids[] = $item->get_id();
315 315
                             $items[]    = $item;
316 316
                         }
317 317
                     }
318 318
                 }
319 319
 
320
-                $payment_form->set_items( $items );
321
-                $extra_items     = esc_attr( getpaid_convert_items_to_string( $_items ) );
322
-                $extra_items_key = md5( NONCE_KEY . AUTH_KEY . $extra_items );
320
+                $payment_form->set_items($items);
321
+                $extra_items     = esc_attr(getpaid_convert_items_to_string($_items));
322
+                $extra_items_key = md5(NONCE_KEY . AUTH_KEY . $extra_items);
323 323
                 $extra_items     = "<input type='hidden' name='getpaid-form-items' value='$extra_items' />";
324 324
                 $extra_items    .= "<input type='hidden' name='getpaid-form-items-key' value='$extra_items_key' />";
325
-                $payment_form->display( $extra_items );
325
+                $payment_form->display($extra_items);
326 326
                 $getpaid_force_checkbox = false;
327 327
 
328 328
             } else {
329
-                getpaid_display_payment_form( $form );
329
+                getpaid_display_payment_form($form);
330 330
             }
331
-} elseif ( ! empty( $_GET['invoice'] ) ) {
332
-		    getpaid_display_invoice_payment_form( (int) urldecode( $_GET['invoice'] ) );
331
+} elseif (!empty($_GET['invoice'])) {
332
+		    getpaid_display_invoice_payment_form((int) urldecode($_GET['invoice']));
333 333
         } else {
334
-			$items = getpaid_convert_items_to_array( sanitize_text_field( urldecode( $_GET['item'] ) ) );
335
-		    getpaid_display_item_payment_form( $items );
334
+			$items = getpaid_convert_items_to_array(sanitize_text_field(urldecode($_GET['item'])));
335
+		    getpaid_display_item_payment_form($items);
336 336
         }
337 337
 
338 338
         exit;
@@ -347,14 +347,14 @@  discard block
 block discarded – undo
347 347
     public static function payment_form() {
348 348
 
349 349
         // ... form fields...
350
-        if ( empty( $_POST['getpaid_payment_form_submission'] ) ) {
351
-            esc_html_e( 'Error: Reload the page and try again.', 'invoicing' );
350
+        if (empty($_POST['getpaid_payment_form_submission'])) {
351
+            esc_html_e('Error: Reload the page and try again.', 'invoicing');
352 352
             exit;
353 353
         }
354 354
 
355 355
         // Process the payment form.
356
-        $checkout_class = apply_filters( 'getpaid_checkout_class', 'GetPaid_Checkout' );
357
-        $checkout       = new $checkout_class( new GetPaid_Payment_Form_Submission() );
356
+        $checkout_class = apply_filters('getpaid_checkout_class', 'GetPaid_Checkout');
357
+        $checkout       = new $checkout_class(new GetPaid_Payment_Form_Submission());
358 358
         $checkout->process_checkout();
359 359
 
360 360
         exit;
@@ -367,55 +367,55 @@  discard block
 block discarded – undo
367 367
      */
368 368
     public static function get_payment_form_states_field() {
369 369
 
370
-        if ( empty( $_GET['country'] ) || empty( $_GET['form'] ) ) {
370
+        if (empty($_GET['country']) || empty($_GET['form'])) {
371 371
             exit;
372 372
         }
373 373
 
374
-        $elements = getpaid_get_payment_form_elements( (int) $_GET['form'] );
374
+        $elements = getpaid_get_payment_form_elements((int) $_GET['form']);
375 375
 
376
-        if ( empty( $elements ) ) {
376
+        if (empty($elements)) {
377 377
             exit;
378 378
         }
379 379
 
380 380
         $address_fields = array();
381
-        foreach ( $elements as $element ) {
382
-            if ( 'address' === $element['type'] ) {
381
+        foreach ($elements as $element) {
382
+            if ('address' === $element['type']) {
383 383
                 $address_fields = $element;
384 384
                 break;
385 385
             }
386 386
         }
387 387
 
388
-        if ( empty( $address_fields ) ) {
388
+        if (empty($address_fields)) {
389 389
             exit;
390 390
         }
391 391
 
392
-        foreach ( $address_fields['fields'] as $address_field ) {
392
+        foreach ($address_fields['fields'] as $address_field) {
393 393
 
394
-            if ( 'wpinv_state' == $address_field['name'] ) {
394
+            if ('wpinv_state' == $address_field['name']) {
395 395
 
396
-                $wrap_class  = getpaid_get_form_element_grid_class( $address_field );
397
-                $wrap_class  = esc_attr( "$wrap_class getpaid-address-field-wrapper" );
398
-                $placeholder = empty( $address_field['placeholder'] ) ? '' : esc_attr( $address_field['placeholder'] );
399
-                $description = empty( $address_field['description'] ) ? '' : wp_kses_post( $address_field['description'] );
400
-                $value       = is_user_logged_in() ? get_user_meta( get_current_user_id(), '_wpinv_state', true ) : '';
401
-                $label       = empty( $address_field['label'] ) ? '' : wp_kses_post( $address_field['label'] );
396
+                $wrap_class  = getpaid_get_form_element_grid_class($address_field);
397
+                $wrap_class  = esc_attr("$wrap_class getpaid-address-field-wrapper");
398
+                $placeholder = empty($address_field['placeholder']) ? '' : esc_attr($address_field['placeholder']);
399
+                $description = empty($address_field['description']) ? '' : wp_kses_post($address_field['description']);
400
+                $value       = is_user_logged_in() ? get_user_meta(get_current_user_id(), '_wpinv_state', true) : '';
401
+                $label       = empty($address_field['label']) ? '' : wp_kses_post($address_field['label']);
402 402
 
403
-                if ( ! empty( $address_field['required'] ) ) {
403
+                if (!empty($address_field['required'])) {
404 404
                     $label .= "<span class='text-danger'> *</span>";
405 405
                 }
406 406
 
407 407
                 $html = getpaid_get_states_select_markup(
408
-                    sanitize_text_field( $_GET['country'] ),
408
+                    sanitize_text_field($_GET['country']),
409 409
                     $value,
410 410
                     $placeholder,
411 411
                     $label,
412 412
                     $description,
413
-                    ! empty( $address_field['required'] ),
413
+                    !empty($address_field['required']),
414 414
                     $wrap_class,
415
-                    sanitize_text_field( $_GET['name'] )
415
+                    sanitize_text_field($_GET['name'])
416 416
                 );
417 417
 
418
-                wp_send_json_success( $html );
418
+                wp_send_json_success($html);
419 419
                 exit;
420 420
 
421 421
             }
@@ -429,68 +429,68 @@  discard block
 block discarded – undo
429 429
      */
430 430
     public static function recalculate_invoice_totals() {
431 431
         // Verify nonce.
432
-        check_ajax_referer( 'wpinv-nonce' );
432
+        check_ajax_referer('wpinv-nonce');
433 433
 
434
-        $invoice_id = ! empty( $_POST['post_id'] ) ? absint( $_POST['post_id'] ) : 0;
434
+        $invoice_id = !empty($_POST['post_id']) ? absint($_POST['post_id']) : 0;
435 435
 
436
-        if ( empty( $invoice_id ) ) {
436
+        if (empty($invoice_id)) {
437 437
             die( -1 );
438 438
         }
439 439
 
440 440
         // Can the user manage the plugin?
441
-        if ( ! wpinv_current_user_can( 'invoice_recalculate_totals', array( 'invoice_id' => $invoice_id ) ) ) {
441
+        if (!wpinv_current_user_can('invoice_recalculate_totals', array('invoice_id' => $invoice_id))) {
442 442
             die( -1 );
443 443
         }
444 444
 
445 445
         // Fetch the invoice.
446
-        $invoice = new WPInv_Invoice( $invoice_id );
446
+        $invoice = new WPInv_Invoice($invoice_id);
447 447
 
448 448
         // Ensure it exists.
449
-        if ( ! $invoice->get_id() ) {
449
+        if (!$invoice->get_id()) {
450 450
             exit;
451 451
         }
452 452
 
453 453
         // Maybe set the country, state, currency.
454
-        foreach ( array( 'country', 'state', 'currency', 'vat_number', 'discount_code' ) as $key ) {
455
-            if ( isset( $_POST[ $key ] ) ) {
454
+        foreach (array('country', 'state', 'currency', 'vat_number', 'discount_code') as $key) {
455
+            if (isset($_POST[$key])) {
456 456
                 $method = "set_$key";
457
-                $invoice->$method( sanitize_text_field( $_POST[ $key ] ) );
457
+                $invoice->$method(sanitize_text_field($_POST[$key]));
458 458
             }
459 459
         }
460 460
 
461 461
         // Maybe disable taxes.
462
-        $invoice->set_disable_taxes( ! empty( $_POST['taxes'] ) );
462
+        $invoice->set_disable_taxes(!empty($_POST['taxes']));
463 463
 
464 464
         // Discount code.
465
-        if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) {
466
-            $discount = new WPInv_Discount( $invoice->get_discount_code() );
467
-            if ( $discount->exists() ) {
468
-                $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
465
+        if (!$invoice->is_paid() && !$invoice->is_refunded()) {
466
+            $discount = new WPInv_Discount($invoice->get_discount_code());
467
+            if ($discount->exists()) {
468
+                $invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount));
469 469
             } else {
470
-                $invoice->remove_discount( 'discount_code' );
470
+                $invoice->remove_discount('discount_code');
471 471
             }
472 472
         }
473 473
 
474 474
         // Recalculate totals.
475 475
         $invoice->recalculate_total();
476 476
 
477
-        $total        = wpinv_price( $invoice->get_total(), $invoice->get_currency() );
478
-        $suscriptions = getpaid_get_invoice_subscriptions( $invoice );
479
-        if ( is_a( $suscriptions, 'WPInv_Subscription' ) && $invoice->is_recurring() && $invoice->is_parent() && $invoice->get_total() != $invoice->get_recurring_total() ) {
480
-            $recurring_total = wpinv_price( $invoice->get_recurring_total(), $invoice->get_currency() );
481
-            $total          .= '<small class="form-text text-muted">' . sprintf( __( 'Recurring Price: %s', 'invoicing' ), $recurring_total ) . '</small>';
477
+        $total        = wpinv_price($invoice->get_total(), $invoice->get_currency());
478
+        $suscriptions = getpaid_get_invoice_subscriptions($invoice);
479
+        if (is_a($suscriptions, 'WPInv_Subscription') && $invoice->is_recurring() && $invoice->is_parent() && $invoice->get_total() != $invoice->get_recurring_total()) {
480
+            $recurring_total = wpinv_price($invoice->get_recurring_total(), $invoice->get_currency());
481
+            $total          .= '<small class="form-text text-muted">' . sprintf(__('Recurring Price: %s', 'invoicing'), $recurring_total) . '</small>';
482 482
         }
483 483
 
484 484
         $totals = array(
485
-            'subtotal' => wpinv_price( $invoice->get_subtotal(), $invoice->get_currency() ),
486
-            'discount' => wpinv_price( $invoice->get_total_discount(), $invoice->get_currency() ),
487
-            'tax'      => wpinv_price( $invoice->get_total_tax(), $invoice->get_currency() ),
485
+            'subtotal' => wpinv_price($invoice->get_subtotal(), $invoice->get_currency()),
486
+            'discount' => wpinv_price($invoice->get_total_discount(), $invoice->get_currency()),
487
+            'tax'      => wpinv_price($invoice->get_total_tax(), $invoice->get_currency()),
488 488
             'total'    => $total,
489 489
         );
490 490
 
491
-        $totals = apply_filters( 'getpaid_invoice_totals', $totals, $invoice );
491
+        $totals = apply_filters('getpaid_invoice_totals', $totals, $invoice);
492 492
 
493
-        wp_send_json_success( compact( 'totals' ) );
493
+        wp_send_json_success(compact('totals'));
494 494
     }
495 495
 
496 496
     /**
@@ -498,35 +498,35 @@  discard block
 block discarded – undo
498 498
      */
499 499
     public static function get_invoice_items() {
500 500
         // Verify nonce.
501
-        check_ajax_referer( 'wpinv-nonce' );
501
+        check_ajax_referer('wpinv-nonce');
502 502
 
503
-        $invoice_id = ! empty( $_POST['post_id'] ) ? absint( $_POST['post_id'] ) : 0;
503
+        $invoice_id = !empty($_POST['post_id']) ? absint($_POST['post_id']) : 0;
504 504
 
505
-        if ( empty( $invoice_id ) ) {
505
+        if (empty($invoice_id)) {
506 506
             exit;
507 507
         }
508 508
 
509 509
         // Can the user manage the plugin?
510
-        if ( ! wpinv_current_user_can( 'invoice_get_items', array( 'invoice_id' => $invoice_id ) ) ) {
510
+        if (!wpinv_current_user_can('invoice_get_items', array('invoice_id' => $invoice_id))) {
511 511
             exit;
512 512
         }
513 513
 
514 514
         // Fetch the invoice.
515
-        $invoice = new WPInv_Invoice( $invoice_id );
515
+        $invoice = new WPInv_Invoice($invoice_id);
516 516
 
517 517
         // Ensure it exists.
518
-        if ( ! $invoice->get_id() ) {
518
+        if (!$invoice->get_id()) {
519 519
             exit;
520 520
         }
521 521
 
522 522
         // Return an array of invoice items.
523 523
         $items = array();
524 524
 
525
-        foreach ( $invoice->get_items() as $item ) {
526
-            $items[] = $item->prepare_data_for_invoice_edit_ajax( $invoice->get_currency(), $invoice->is_renewal() );
525
+        foreach ($invoice->get_items() as $item) {
526
+            $items[] = $item->prepare_data_for_invoice_edit_ajax($invoice->get_currency(), $invoice->is_renewal());
527 527
         }
528 528
 
529
-        wp_send_json_success( compact( 'items' ) );
529
+        wp_send_json_success(compact('items'));
530 530
     }
531 531
 
532 532
     /**
@@ -534,57 +534,57 @@  discard block
 block discarded – undo
534 534
      */
535 535
     public static function edit_invoice_item() {
536 536
         // Verify nonce.
537
-        check_ajax_referer( 'wpinv-nonce' );
537
+        check_ajax_referer('wpinv-nonce');
538 538
 
539 539
         // We need an invoice and item details.
540
-        if ( empty( $_POST['post_id'] ) || empty( $_POST['data'] ) ) {
540
+        if (empty($_POST['post_id']) || empty($_POST['data'])) {
541 541
             exit;
542 542
         }
543 543
 
544
-        $invoice_id = absint( $_POST['post_id'] );
544
+        $invoice_id = absint($_POST['post_id']);
545 545
 
546
-        if ( empty( $invoice_id ) ) {
546
+        if (empty($invoice_id)) {
547 547
             exit;
548 548
         }
549 549
 
550 550
         // Can the user manage the plugin?
551
-        if ( ! wpinv_current_user_can( 'invoice_edit_item', array( 'invoice_id' => $invoice_id ) ) ) {
551
+        if (!wpinv_current_user_can('invoice_edit_item', array('invoice_id' => $invoice_id))) {
552 552
             exit;
553 553
         }
554 554
 
555 555
         // Fetch the invoice.
556
-        $invoice = new WPInv_Invoice( $invoice_id );
556
+        $invoice = new WPInv_Invoice($invoice_id);
557 557
 
558 558
         // Ensure it exists and its not been paid for.
559
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
559
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
560 560
             exit;
561 561
         }
562 562
 
563 563
         // Format the data.
564
-        $data = wp_kses_post_deep( wp_unslash( wp_list_pluck( $_POST['data'], 'value', 'field' ) ) );
564
+        $data = wp_kses_post_deep(wp_unslash(wp_list_pluck($_POST['data'], 'value', 'field')));
565 565
 
566 566
         // Ensure that we have an item id.
567
-        if ( empty( $data['id'] ) ) {
567
+        if (empty($data['id'])) {
568 568
             exit;
569 569
         }
570 570
 
571 571
         // Abort if the invoice does not have the specified item.
572
-        $item = $invoice->get_item( (int) $data['id'] );
572
+        $item = $invoice->get_item((int) $data['id']);
573 573
 
574
-        if ( empty( $item ) ) {
574
+        if (empty($item)) {
575 575
             exit;
576 576
         }
577 577
 
578 578
         // Update the item.
579
-        $item->set_price( getpaid_standardize_amount( $data['price'] ) );
580
-        $item->set_name( sanitize_text_field( $data['name'] ) );
581
-        $item->set_description( wp_kses_post( $data['description'] ) );
582
-        $item->set_quantity( floatval( $data['quantity'] ) );
579
+        $item->set_price(getpaid_standardize_amount($data['price']));
580
+        $item->set_name(sanitize_text_field($data['name']));
581
+        $item->set_description(wp_kses_post($data['description']));
582
+        $item->set_quantity(floatval($data['quantity']));
583 583
 
584 584
         // Add it to the invoice.
585
-        $error = $invoice->add_item( $item );
585
+        $error = $invoice->add_item($item);
586 586
         $alert = false;
587
-        if ( is_wp_error( $error ) ) {
587
+        if (is_wp_error($error)) {
588 588
             $alert = $error->get_error_message();
589 589
         }
590 590
 
@@ -597,11 +597,11 @@  discard block
 block discarded – undo
597 597
         // Return an array of invoice items.
598 598
         $items = array();
599 599
 
600
-        foreach ( $invoice->get_items() as $item ) {
601
-            $items[] = $item->prepare_data_for_invoice_edit_ajax( $invoice->get_currency() );
600
+        foreach ($invoice->get_items() as $item) {
601
+            $items[] = $item->prepare_data_for_invoice_edit_ajax($invoice->get_currency());
602 602
         }
603 603
 
604
-        wp_send_json_success( compact( 'items', 'alert' ) );
604
+        wp_send_json_success(compact('items', 'alert'));
605 605
     }
606 606
 
607 607
     /**
@@ -609,63 +609,63 @@  discard block
 block discarded – undo
609 609
      */
610 610
     public static function create_invoice_item() {
611 611
         // Verify nonce.
612
-        check_ajax_referer( 'wpinv-nonce' );
612
+        check_ajax_referer('wpinv-nonce');
613 613
 
614 614
         // We need an invoice and item details.
615
-        if ( empty( $_POST['invoice_id'] ) || empty( $_POST['_wpinv_quick'] ) ) {
615
+        if (empty($_POST['invoice_id']) || empty($_POST['_wpinv_quick'])) {
616 616
             exit;
617 617
         }
618 618
 
619
-        $invoice_id = absint( $_POST['invoice_id'] );
619
+        $invoice_id = absint($_POST['invoice_id']);
620 620
 
621
-        if ( empty( $invoice_id ) ) {
621
+        if (empty($invoice_id)) {
622 622
             exit;
623 623
         }
624 624
 
625
-        if ( ! wpinv_current_user_can( 'invoice_create_item', array( 'invoice_id' => $invoice_id ) ) ) {
625
+        if (!wpinv_current_user_can('invoice_create_item', array('invoice_id' => $invoice_id))) {
626 626
             exit;
627 627
         }
628 628
 
629 629
         // Fetch the invoice.
630
-        $invoice = new WPInv_Invoice( $invoice_id );
630
+        $invoice = new WPInv_Invoice($invoice_id);
631 631
 
632 632
         // Ensure it exists and its not been paid for.
633
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
633
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
634 634
             exit;
635 635
         }
636 636
 
637 637
         // Format the data.
638
-        $data = wp_kses_post_deep( wp_unslash( $_POST['_wpinv_quick'] ) );
638
+        $data = wp_kses_post_deep(wp_unslash($_POST['_wpinv_quick']));
639 639
 
640 640
         $item = new WPInv_Item();
641
-        $item->set_price( getpaid_standardize_amount( $data['price'] ) );
642
-        $item->set_name( sanitize_text_field( $data['name'] ) );
643
-        $item->set_description( wp_kses_post( $data['description'] ) );
644
-        $item->set_type( sanitize_text_field( $data['type'] ) );
645
-        $item->set_vat_rule( sanitize_text_field( $data['vat_rule'] ) );
646
-        $item->set_vat_class( sanitize_text_field( $data['vat_class'] ) );
647
-        $item->set_status( 'publish' );
641
+        $item->set_price(getpaid_standardize_amount($data['price']));
642
+        $item->set_name(sanitize_text_field($data['name']));
643
+        $item->set_description(wp_kses_post($data['description']));
644
+        $item->set_type(sanitize_text_field($data['type']));
645
+        $item->set_vat_rule(sanitize_text_field($data['vat_rule']));
646
+        $item->set_vat_class(sanitize_text_field($data['vat_class']));
647
+        $item->set_status('publish');
648 648
         $item->save();
649 649
 
650
-        if ( ! $item->exists() ) {
651
-            $alert = __( 'Could not create invoice item. Please try again.', 'invoicing' );
652
-            wp_send_json_success( compact( 'alert' ) );
650
+        if (!$item->exists()) {
651
+            $alert = __('Could not create invoice item. Please try again.', 'invoicing');
652
+            wp_send_json_success(compact('alert'));
653 653
         }
654 654
 
655
-        if ( ! empty( $data['one-time'] ) ) {
656
-            update_post_meta( $item->get_id(), '_wpinv_one_time', 'yes' );
655
+        if (!empty($data['one-time'])) {
656
+            update_post_meta($item->get_id(), '_wpinv_one_time', 'yes');
657 657
         }
658 658
 
659
-        $item = new GetPaid_Form_Item( $item->get_id() );
660
-        $item->set_quantity( floatval( $data['qty'] ) );
659
+        $item = new GetPaid_Form_Item($item->get_id());
660
+        $item->set_quantity(floatval($data['qty']));
661 661
 
662 662
         // Add it to the invoice.
663
-        $error = $invoice->add_item( $item );
663
+        $error = $invoice->add_item($item);
664 664
         $alert = false;
665 665
 
666
-        if ( is_wp_error( $error ) ) {
666
+        if (is_wp_error($error)) {
667 667
             $alert = $error->get_error_message();
668
-            wp_send_json_success( compact( 'alert' ) );
668
+            wp_send_json_success(compact('alert'));
669 669
          }
670 670
 
671 671
         // Update totals.
@@ -678,9 +678,9 @@  discard block
 block discarded – undo
678 678
         $invoice->recalculate_total();
679 679
         $invoice->save();
680 680
         ob_start();
681
-        GetPaid_Meta_Box_Invoice_Items::output_row( GetPaid_Meta_Box_Invoice_Items::get_columns( $invoice ), $item, $invoice );
681
+        GetPaid_Meta_Box_Invoice_Items::output_row(GetPaid_Meta_Box_Invoice_Items::get_columns($invoice), $item, $invoice);
682 682
         $row = ob_get_clean();
683
-        wp_send_json_success( compact( 'row' ) );
683
+        wp_send_json_success(compact('row'));
684 684
     }
685 685
 
686 686
     /**
@@ -688,37 +688,37 @@  discard block
 block discarded – undo
688 688
      */
689 689
     public static function remove_invoice_item() {
690 690
         // Verify nonce.
691
-        check_ajax_referer( 'wpinv-nonce' );
691
+        check_ajax_referer('wpinv-nonce');
692 692
 
693 693
         // We need an invoice and item.
694
-        $invoice_id = ! empty( $_POST['post_id'] ) ? absint( $_POST['post_id'] ) : 0;
695
-        $item_id = ! empty( $_POST['item_id'] ) ? absint( $_POST['item_id'] ) : 0;
694
+        $invoice_id = !empty($_POST['post_id']) ? absint($_POST['post_id']) : 0;
695
+        $item_id = !empty($_POST['item_id']) ? absint($_POST['item_id']) : 0;
696 696
 
697
-        if ( empty( $invoice_id ) || empty( $item_id ) ) {
697
+        if (empty($invoice_id) || empty($item_id)) {
698 698
             exit;
699 699
         }
700 700
 
701 701
         // Can the user manage the plugin?
702
-        if ( ! wpinv_current_user_can( 'invoice_remove_item', array( 'invoice_id' => $invoice_id, 'item_id' => $item_id ) ) ) {
702
+        if (!wpinv_current_user_can('invoice_remove_item', array('invoice_id' => $invoice_id, 'item_id' => $item_id))) {
703 703
             exit;
704 704
         }
705 705
 
706 706
         // Fetch the invoice.
707
-        $invoice = new WPInv_Invoice( $invoice_id );
707
+        $invoice = new WPInv_Invoice($invoice_id);
708 708
 
709 709
         // Ensure it exists and its not been paid for.
710
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
710
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
711 711
             exit;
712 712
         }
713 713
 
714 714
         // Abort if the invoice does not have the specified item.
715
-        $item = $invoice->get_item( $item_id );
715
+        $item = $invoice->get_item($item_id);
716 716
 
717
-        if ( empty( $item ) ) {
717
+        if (empty($item)) {
718 718
             exit;
719 719
         }
720 720
 
721
-        $invoice->remove_item( $item_id );
721
+        $invoice->remove_item($item_id);
722 722
 
723 723
         // Update totals.
724 724
         $invoice->recalculate_total();
@@ -729,11 +729,11 @@  discard block
 block discarded – undo
729 729
         // Return an array of invoice items.
730 730
         $items = array();
731 731
 
732
-        foreach ( $invoice->get_items() as $item ) {
733
-            $items[] = $item->prepare_data_for_invoice_edit_ajax( $invoice->get_currency() );
732
+        foreach ($invoice->get_items() as $item) {
733
+            $items[] = $item->prepare_data_for_invoice_edit_ajax($invoice->get_currency());
734 734
         }
735 735
 
736
-        wp_send_json_success( compact( 'items' ) );
736
+        wp_send_json_success(compact('items'));
737 737
     }
738 738
 
739 739
     /**
@@ -741,69 +741,69 @@  discard block
 block discarded – undo
741 741
      */
742 742
     public static function recalculate_full_prices() {
743 743
         // Verify nonce.
744
-        check_ajax_referer( 'wpinv-nonce' );
744
+        check_ajax_referer('wpinv-nonce');
745 745
 
746
-        $invoice_id = ! empty( $_POST['post_id'] ) ? absint( $_POST['post_id'] ) : 0;
746
+        $invoice_id = !empty($_POST['post_id']) ? absint($_POST['post_id']) : 0;
747 747
 
748
-        if ( empty( $invoice_id ) ) {
748
+        if (empty($invoice_id)) {
749 749
             exit;
750 750
         }
751 751
 
752
-        if ( ! wpinv_current_user_can( 'invoice_recalculate_full_prices', array( 'invoice_id' => $invoice_id ) ) ) {
752
+        if (!wpinv_current_user_can('invoice_recalculate_full_prices', array('invoice_id' => $invoice_id))) {
753 753
             exit;
754 754
         }
755 755
 
756 756
         // Fetch the invoice.
757
-        $invoice = new WPInv_Invoice( $invoice_id );
757
+        $invoice = new WPInv_Invoice($invoice_id);
758 758
         $alert   = false;
759 759
 
760 760
         // Ensure it exists and its not been paid for.
761
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
761
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
762 762
             exit;
763 763
         }
764 764
 
765
-        $invoice->set_items( array() );
765
+        $invoice->set_items(array());
766 766
 
767
-        if ( ! empty( $_POST['getpaid_items'] ) ) {
767
+        if (!empty($_POST['getpaid_items'])) {
768 768
 
769
-            foreach ( wp_kses_post_deep( wp_unslash( $_POST['getpaid_items'] ) ) as $item_id => $args ) {
770
-                $item = new GetPaid_Form_Item( $item_id );
769
+            foreach (wp_kses_post_deep(wp_unslash($_POST['getpaid_items'])) as $item_id => $args) {
770
+                $item = new GetPaid_Form_Item($item_id);
771 771
 
772
-                if ( $item->exists() ) {
773
-                    $item->set_price( getpaid_standardize_amount( $args['price'] ) );
774
-                    $item->set_quantity( floatval( $args['quantity'] ) );
775
-                    $item->set_name( sanitize_text_field( $args['name'] ) );
776
-                    $item->set_description( wp_kses_post( $args['description'] ) );
777
-                    $invoice->add_item( $item );
772
+                if ($item->exists()) {
773
+                    $item->set_price(getpaid_standardize_amount($args['price']));
774
+                    $item->set_quantity(floatval($args['quantity']));
775
+                    $item->set_name(sanitize_text_field($args['name']));
776
+                    $item->set_description(wp_kses_post($args['description']));
777
+                    $invoice->add_item($item);
778 778
                 }
779 779
             }
780 780
         }
781 781
 
782
-        $invoice->set_disable_taxes( ! empty( $_POST['disable_taxes'] ) );
782
+        $invoice->set_disable_taxes(!empty($_POST['disable_taxes']));
783 783
 
784 784
         // Maybe set the country, state, currency.
785
-        foreach ( array( 'wpinv_country', 'wpinv_state', 'wpinv_currency', 'wpinv_vat_number', 'wpinv_discount_code' ) as $key ) {
786
-            if ( isset( $_POST[ $key ] ) ) {
787
-                $_key   = str_replace( 'wpinv_', '', $key );
785
+        foreach (array('wpinv_country', 'wpinv_state', 'wpinv_currency', 'wpinv_vat_number', 'wpinv_discount_code') as $key) {
786
+            if (isset($_POST[$key])) {
787
+                $_key   = str_replace('wpinv_', '', $key);
788 788
                 $method = "set_$_key";
789
-                $invoice->$method( sanitize_text_field( $_POST[ $key ] ) );
789
+                $invoice->$method(sanitize_text_field($_POST[$key]));
790 790
             }
791 791
         }
792 792
 
793
-        $discount = new WPInv_Discount( $invoice->get_discount_code() );
794
-        if ( $discount->exists() ) {
795
-            $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
793
+        $discount = new WPInv_Discount($invoice->get_discount_code());
794
+        if ($discount->exists()) {
795
+            $invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount));
796 796
         } else {
797
-            $invoice->remove_discount( 'discount_code' );
797
+            $invoice->remove_discount('discount_code');
798 798
         }
799 799
 
800 800
         // Save the invoice.
801 801
         $invoice->recalculate_total();
802 802
         $invoice->save();
803 803
         ob_start();
804
-        GetPaid_Meta_Box_Invoice_Items::output( get_post( $invoice->get_id() ), $invoice );
804
+        GetPaid_Meta_Box_Invoice_Items::output(get_post($invoice->get_id()), $invoice);
805 805
         $table = ob_get_clean();
806
-        wp_send_json_success( compact( 'table' ) );
806
+        wp_send_json_success(compact('table'));
807 807
     }
808 808
 
809 809
     /**
@@ -811,47 +811,47 @@  discard block
 block discarded – undo
811 811
      */
812 812
     public static function admin_add_invoice_item() {
813 813
         // Verify nonce.
814
-        check_ajax_referer( 'wpinv-nonce' );
814
+        check_ajax_referer('wpinv-nonce');
815 815
 
816 816
         // We need an invoice and item.
817
-        $invoice_id = ! empty( $_POST['post_id'] ) ? absint( $_POST['post_id'] ) : 0;
818
-        $item_id = ! empty( $_POST['item_id'] ) ? absint( $_POST['item_id'] ) : 0;
817
+        $invoice_id = !empty($_POST['post_id']) ? absint($_POST['post_id']) : 0;
818
+        $item_id = !empty($_POST['item_id']) ? absint($_POST['item_id']) : 0;
819 819
 
820
-        if ( empty( $invoice_id ) || empty( $item_id ) ) {
820
+        if (empty($invoice_id) || empty($item_id)) {
821 821
             exit;
822 822
         }
823 823
 
824 824
         // Can the user manage the plugin?
825
-        if ( ! wpinv_current_user_can( 'invoice_add_item', array( 'invoice_id' => $invoice_id, 'item_id' => $item_id ) ) ) {
825
+        if (!wpinv_current_user_can('invoice_add_item', array('invoice_id' => $invoice_id, 'item_id' => $item_id))) {
826 826
             exit;
827 827
         }
828 828
 
829 829
         // Fetch the invoice.
830
-        $invoice = new WPInv_Invoice( $invoice_id );
830
+        $invoice = new WPInv_Invoice($invoice_id);
831 831
         $alert   = false;
832 832
 
833 833
         // Ensure it exists and its not been paid for.
834
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
834
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
835 835
             exit;
836 836
         }
837 837
 
838 838
         // Add the item.
839
-        $item  = new GetPaid_Form_Item( $item_id );
839
+        $item  = new GetPaid_Form_Item($item_id);
840 840
 
841
-        $error = $invoice->add_item( $item );
841
+        $error = $invoice->add_item($item);
842 842
 
843
-        if ( is_wp_error( $error ) ) {
843
+        if (is_wp_error($error)) {
844 844
             $alert = $error->get_error_message();
845
-            wp_send_json_success( compact( 'alert' ) );
845
+            wp_send_json_success(compact('alert'));
846 846
         }
847 847
 
848 848
         // Save the invoice.
849 849
         $invoice->recalculate_total();
850 850
         $invoice->save();
851 851
         ob_start();
852
-        GetPaid_Meta_Box_Invoice_Items::output_row( GetPaid_Meta_Box_Invoice_Items::get_columns( $invoice ), $item, $invoice );
852
+        GetPaid_Meta_Box_Invoice_Items::output_row(GetPaid_Meta_Box_Invoice_Items::get_columns($invoice), $item, $invoice);
853 853
         $row = ob_get_clean();
854
-        wp_send_json_success( compact( 'row' ) );
854
+        wp_send_json_success(compact('row'));
855 855
     }
856 856
 
857 857
     /**
@@ -859,42 +859,42 @@  discard block
 block discarded – undo
859 859
      */
860 860
     public static function add_invoice_items() {
861 861
         // Verify nonce.
862
-        check_ajax_referer( 'wpinv-nonce' );
862
+        check_ajax_referer('wpinv-nonce');
863 863
 
864
-        $invoice_id = ! empty( $_POST['post_id'] ) ? absint( $_POST['post_id'] ) : 0;
864
+        $invoice_id = !empty($_POST['post_id']) ? absint($_POST['post_id']) : 0;
865 865
 
866 866
         // We need an invoice and items.
867
-        if ( empty( $invoice_id ) || empty( $_POST['items'] ) ) {
867
+        if (empty($invoice_id) || empty($_POST['items'])) {
868 868
             exit;
869 869
         }
870 870
 
871 871
         // Can the user manage the plugin?
872
-        if ( ! wpinv_current_user_can( 'invoice_add_items', array( 'invoice_id' => $invoice_id ) ) ) {
872
+        if (!wpinv_current_user_can('invoice_add_items', array('invoice_id' => $invoice_id))) {
873 873
             exit;
874 874
         }
875 875
 
876 876
         // Fetch the invoice.
877
-        $invoice = new WPInv_Invoice( $invoice_id );
877
+        $invoice = new WPInv_Invoice($invoice_id);
878 878
         $alert   = false;
879 879
 
880 880
         // Ensure it exists and its not been paid for.
881
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
881
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
882 882
             exit;
883 883
         }
884 884
 
885 885
         // Add the items.
886
-        foreach ( wp_kses_post_deep( wp_unslash( $_POST['items'] ) ) as $data ) {
886
+        foreach (wp_kses_post_deep(wp_unslash($_POST['items'])) as $data) {
887 887
 
888
-            $item = new GetPaid_Form_Item( (int) $data['id'] );
888
+            $item = new GetPaid_Form_Item((int) $data['id']);
889 889
 
890
-            if ( is_numeric( $data['qty'] ) && (float) $data['qty'] > 0 ) {
891
-                $item->set_quantity( floatval( $data['qty'] ) );
890
+            if (is_numeric($data['qty']) && (float) $data['qty'] > 0) {
891
+                $item->set_quantity(floatval($data['qty']));
892 892
             }
893 893
 
894
-            if ( $item->get_id() > 0 ) {
895
-                $error = $invoice->add_item( $item );
894
+            if ($item->get_id() > 0) {
895
+                $error = $invoice->add_item($item);
896 896
 
897
-                if ( is_wp_error( $error ) ) {
897
+                if (is_wp_error($error)) {
898 898
                     $alert = $error->get_error_message();
899 899
                 }
900 900
 }
@@ -907,11 +907,11 @@  discard block
 block discarded – undo
907 907
         // Return an array of invoice items.
908 908
         $items = array();
909 909
 
910
-        foreach ( $invoice->get_items() as $item ) {
911
-            $items[] = $item->prepare_data_for_invoice_edit_ajax( $invoice->get_currency() );
910
+        foreach ($invoice->get_items() as $item) {
911
+            $items[] = $item->prepare_data_for_invoice_edit_ajax($invoice->get_currency());
912 912
         }
913 913
 
914
-        wp_send_json_success( compact( 'items', 'alert' ) );
914
+        wp_send_json_success(compact('items', 'alert'));
915 915
     }
916 916
 
917 917
     /**
@@ -919,16 +919,16 @@  discard block
 block discarded – undo
919 919
      */
920 920
     public static function get_invoicing_items() {
921 921
         // Verify nonce.
922
-        check_ajax_referer( 'wpinv-nonce' );
922
+        check_ajax_referer('wpinv-nonce');
923 923
 
924 924
         // Can the user manage the plugin?
925
-        if ( ! wpinv_current_user_can( 'get_invoicing_items' ) ) {
925
+        if (!wpinv_current_user_can('get_invoicing_items')) {
926 926
             exit;
927 927
         }
928 928
 
929 929
         // We need a search term.
930
-        if ( empty( $_GET['search'] ) ) {
931
-            wp_send_json_success( array() );
930
+        if (empty($_GET['search'])) {
931
+            wp_send_json_success(array());
932 932
         }
933 933
 
934 934
         // Retrieve items.
@@ -937,8 +937,8 @@  discard block
 block discarded – undo
937 937
             'orderby'        => 'title',
938 938
             'order'          => 'ASC',
939 939
             'posts_per_page' => -1,
940
-            'post_status'    => array( 'publish' ),
941
-            's'              => sanitize_text_field( urldecode( $_GET['search'] ) ),
940
+            'post_status'    => array('publish'),
941
+            's'              => sanitize_text_field(urldecode($_GET['search'])),
942 942
             'meta_query'     => array(
943 943
                 array(
944 944
                     'key'     => '_wpinv_type',
@@ -952,25 +952,25 @@  discard block
 block discarded – undo
952 952
             ),
953 953
         );
954 954
 
955
-        if ( ! empty( $_GET['ignore'] ) ) {
956
-            $item_args['exclude'] = wp_parse_id_list( sanitize_text_field( $_GET['ignore'] ) );
955
+        if (!empty($_GET['ignore'])) {
956
+            $item_args['exclude'] = wp_parse_id_list(sanitize_text_field($_GET['ignore']));
957 957
         }
958 958
 
959
-        $items = get_posts( apply_filters( 'getpaid_ajax_invoice_items_query_args', $item_args ) );
959
+        $items = get_posts(apply_filters('getpaid_ajax_invoice_items_query_args', $item_args));
960 960
         $data  = array();
961 961
 
962
-        $is_payment_form = ( ! empty( $_GET['post_id'] ) && 'wpi_payment_form' == get_post_type( (int) $_GET['post_id'] ) );
962
+        $is_payment_form = (!empty($_GET['post_id']) && 'wpi_payment_form' == get_post_type((int) $_GET['post_id']));
963 963
 
964
-        foreach ( $items as $item ) {
965
-            $item      = new GetPaid_Form_Item( $item );
964
+        foreach ($items as $item) {
965
+            $item = new GetPaid_Form_Item($item);
966 966
             $data[] = array(
967 967
                 'id'        => (int) $item->get_id(),
968
-                'text'      => strip_tags( $item->get_name() ),
969
-                'form_data' => $is_payment_form ? $item->prepare_data_for_use( false ) : '',
968
+                'text'      => strip_tags($item->get_name()),
969
+                'form_data' => $is_payment_form ? $item->prepare_data_for_use(false) : '',
970 970
             );
971 971
         }
972 972
 
973
-        wp_send_json_success( $data );
973
+        wp_send_json_success($data);
974 974
 
975 975
     }
976 976
 
@@ -979,40 +979,40 @@  discard block
 block discarded – undo
979 979
      */
980 980
     public static function get_customers() {
981 981
         // Verify nonce.
982
-        check_ajax_referer( 'wpinv-nonce' );
982
+        check_ajax_referer('wpinv-nonce');
983 983
 
984
-        $invoice_id = ! empty( $_REQUEST['post_id'] ) ? (int) $_REQUEST['post_id'] : 0;
984
+        $invoice_id = !empty($_REQUEST['post_id']) ? (int) $_REQUEST['post_id'] : 0;
985 985
 
986 986
         // Can the user manage the plugin?
987
-        if ( ! wpinv_current_user_can( 'invoice_get_customers', array( 'invoice_id' => $invoice_id ) ) ) {
987
+        if (!wpinv_current_user_can('invoice_get_customers', array('invoice_id' => $invoice_id))) {
988 988
             die( -1 );
989 989
         }
990 990
 
991 991
         // We need a search term.
992
-        if ( empty( $_GET['search'] ) ) {
993
-            wp_send_json_success( array() );
992
+        if (empty($_GET['search'])) {
993
+            wp_send_json_success(array());
994 994
         }
995 995
 
996 996
         // Retrieve customers.
997 997
 
998 998
         $customer_args = array(
999
-            'fields'         => array( 'ID', 'user_email', 'display_name' ),
999
+            'fields'         => array('ID', 'user_email', 'display_name'),
1000 1000
             'orderby'        => 'display_name',
1001
-            'search'         => '*' . sanitize_text_field( $_GET['search'] ) . '*',
1002
-            'search_columns' => array( 'user_login', 'user_email', 'display_name' ),
1001
+            'search'         => '*' . sanitize_text_field($_GET['search']) . '*',
1002
+            'search_columns' => array('user_login', 'user_email', 'display_name'),
1003 1003
         );
1004 1004
 
1005
-        $customers = get_users( apply_filters( 'getpaid_ajax_invoice_customers_query_args', $customer_args ) );
1005
+        $customers = get_users(apply_filters('getpaid_ajax_invoice_customers_query_args', $customer_args));
1006 1006
         $data      = array();
1007 1007
 
1008
-        foreach ( $customers as $customer ) {
1008
+        foreach ($customers as $customer) {
1009 1009
             $data[] = array(
1010 1010
                 'id'   => (int) $customer->ID,
1011
-                'text' => strip_tags( sprintf( _x( '%1$s (%2$s)', 'user dropdown', 'invoicing' ), $customer->display_name, $customer->user_email ) ),
1011
+                'text' => strip_tags(sprintf(_x('%1$s (%2$s)', 'user dropdown', 'invoicing'), $customer->display_name, $customer->user_email)),
1012 1012
             );
1013 1013
         }
1014 1014
 
1015
-        wp_send_json_success( $data );
1015
+        wp_send_json_success($data);
1016 1016
 
1017 1017
     }
1018 1018
 
@@ -1022,25 +1022,25 @@  discard block
 block discarded – undo
1022 1022
     public static function get_aui_states_field() {
1023 1023
 
1024 1024
         // We need a country.
1025
-        if ( empty( $_GET['country'] ) ) {
1025
+        if (empty($_GET['country'])) {
1026 1026
             exit;
1027 1027
         }
1028 1028
 
1029
-        $states = wpinv_get_country_states( sanitize_text_field( $_GET['country'] ) );
1030
-        $state  = isset( $_GET['state'] ) ? sanitize_text_field( $_GET['state'] ) : wpinv_get_default_state();
1031
-        $name   = isset( $_GET['name'] ) ? sanitize_text_field( $_GET['name'] ) : 'wpinv_state';
1032
-        $class  = isset( $_GET['class'] ) ? sanitize_text_field( $_GET['class'] ) : 'form-control-sm';
1029
+        $states = wpinv_get_country_states(sanitize_text_field($_GET['country']));
1030
+        $state  = isset($_GET['state']) ? sanitize_text_field($_GET['state']) : wpinv_get_default_state();
1031
+        $name   = isset($_GET['name']) ? sanitize_text_field($_GET['name']) : 'wpinv_state';
1032
+        $class  = isset($_GET['class']) ? sanitize_text_field($_GET['class']) : 'form-control-sm';
1033 1033
 
1034
-        if ( empty( $states ) ) {
1034
+        if (empty($states)) {
1035 1035
 
1036 1036
             $html = aui()->input(
1037 1037
                 array(
1038 1038
                     'type'        => 'text',
1039 1039
                     'id'          => 'wpinv_state',
1040 1040
                     'name'        => $name,
1041
-                    'label'       => __( 'State', 'invoicing' ),
1041
+                    'label'       => __('State', 'invoicing'),
1042 1042
                     'label_type'  => 'vertical',
1043
-                    'placeholder' => __( 'State', 'invoicing' ),
1043
+                    'placeholder' => __('State', 'invoicing'),
1044 1044
                     'class'       => $class,
1045 1045
                     'value'       => $state,
1046 1046
                 )
@@ -1052,9 +1052,9 @@  discard block
 block discarded – undo
1052 1052
                 array(
1053 1053
                     'id'               => 'wpinv_state',
1054 1054
                     'name'             => $name,
1055
-                    'label'            => __( 'State', 'invoicing' ),
1055
+                    'label'            => __('State', 'invoicing'),
1056 1056
                     'label_type'       => 'vertical',
1057
-                    'placeholder'      => __( 'Select a state', 'invoicing' ),
1057
+                    'placeholder'      => __('Select a state', 'invoicing'),
1058 1058
                     'class'            => $class,
1059 1059
                     'value'            => $state,
1060 1060
                     'options'          => $states,
@@ -1068,7 +1068,7 @@  discard block
 block discarded – undo
1068 1068
         wp_send_json_success(
1069 1069
             array(
1070 1070
                 'html'   => $html,
1071
-                'select' => ! empty( $states ),
1071
+                'select' => !empty($states),
1072 1072
             )
1073 1073
         );
1074 1074
 
@@ -1082,8 +1082,8 @@  discard block
 block discarded – undo
1082 1082
     public static function payment_form_refresh_prices() {
1083 1083
 
1084 1084
         // ... form fields...
1085
-        if ( empty( $_POST['getpaid_payment_form_submission'] ) ) {
1086
-            esc_html_e( 'Error: Reload the page and try again.', 'invoicing' );
1085
+        if (empty($_POST['getpaid_payment_form_submission'])) {
1086
+            esc_html_e('Error: Reload the page and try again.', 'invoicing');
1087 1087
             exit;
1088 1088
         }
1089 1089
 
@@ -1091,7 +1091,7 @@  discard block
 block discarded – undo
1091 1091
         $submission = new GetPaid_Payment_Form_Submission();
1092 1092
 
1093 1093
         // Do we have an error?
1094
-        if ( ! empty( $submission->last_error ) ) {
1094
+        if (!empty($submission->last_error)) {
1095 1095
             wp_send_json_error(
1096 1096
                 array(
1097 1097
                     'code'  => $submission->last_error_code,
@@ -1101,12 +1101,12 @@  discard block
 block discarded – undo
1101 1101
         }
1102 1102
 
1103 1103
         // Prepare the response.
1104
-        $response = new GetPaid_Payment_Form_Submission_Refresh_Prices( $submission );
1104
+        $response = new GetPaid_Payment_Form_Submission_Refresh_Prices($submission);
1105 1105
 
1106 1106
         // Filter the response.
1107
-        $response = apply_filters( 'getpaid_payment_form_ajax_refresh_prices', $response->response, $submission );
1107
+        $response = apply_filters('getpaid_payment_form_ajax_refresh_prices', $response->response, $submission);
1108 1108
 
1109
-        wp_send_json_success( $response );
1109
+        wp_send_json_success($response);
1110 1110
     }
1111 1111
 
1112 1112
     /**
@@ -1118,63 +1118,63 @@  discard block
 block discarded – undo
1118 1118
 	public static function file_upload() {
1119 1119
 
1120 1120
         // Check nonce.
1121
-        check_ajax_referer( 'getpaid_form_nonce' );
1121
+        check_ajax_referer('getpaid_form_nonce');
1122 1122
 
1123
-        if ( empty( $_POST['form_id'] ) || empty( $_POST['field_name'] ) || empty( $_FILES['file'] ) ) {
1124
-            wp_die( esc_html_e( 'Bad Request', 'invoicing' ), 400 );
1123
+        if (empty($_POST['form_id']) || empty($_POST['field_name']) || empty($_FILES['file'])) {
1124
+            wp_die(esc_html_e('Bad Request', 'invoicing'), 400);
1125 1125
         }
1126 1126
 
1127 1127
         // Fetch form.
1128
-        $form = new GetPaid_Payment_Form( intval( $_POST['form_id'] ) );
1128
+        $form = new GetPaid_Payment_Form(intval($_POST['form_id']));
1129 1129
 
1130
-        if ( ! $form->is_active() ) {
1131
-            wp_send_json_error( __( 'Payment form not active', 'invoicing' ) );
1130
+        if (!$form->is_active()) {
1131
+            wp_send_json_error(__('Payment form not active', 'invoicing'));
1132 1132
         }
1133 1133
 
1134 1134
         // Fetch appropriate field.
1135
-        $upload_field = current( wp_list_filter( $form->get_elements(), array( 'id' => sanitize_text_field( $_POST['field_name'] ) ) ) );
1136
-        if ( empty( $upload_field ) ) {
1137
-            wp_send_json_error( __( 'Invalid upload field.', 'invoicing' ) );
1135
+        $upload_field = current(wp_list_filter($form->get_elements(), array('id' => sanitize_text_field($_POST['field_name']))));
1136
+        if (empty($upload_field)) {
1137
+            wp_send_json_error(__('Invalid upload field.', 'invoicing'));
1138 1138
         }
1139 1139
 
1140 1140
         // Prepare allowed file types.
1141
-        $file_types = isset( $upload_field['file_types'] ) ? $upload_field['file_types'] : array( 'jpg|jpeg|jpe', 'gif', 'png' );
1141
+        $file_types = isset($upload_field['file_types']) ? $upload_field['file_types'] : array('jpg|jpeg|jpe', 'gif', 'png');
1142 1142
         $all_types  = getpaid_get_allowed_mime_types();
1143 1143
         $mime_types = array();
1144 1144
 
1145
-        foreach ( $file_types as $file_type ) {
1146
-            if ( isset( $all_types[ $file_type ] ) ) {
1147
-                $mime_types[] = $all_types[ $file_type ];
1145
+        foreach ($file_types as $file_type) {
1146
+            if (isset($all_types[$file_type])) {
1147
+                $mime_types[] = $all_types[$file_type];
1148 1148
             }
1149 1149
         }
1150 1150
 
1151
-        if ( ! in_array( $_FILES['file']['type'], $mime_types ) ) {
1152
-            wp_send_json_error( __( 'Unsupported file type.', 'invoicing' ) );
1151
+        if (!in_array($_FILES['file']['type'], $mime_types)) {
1152
+            wp_send_json_error(__('Unsupported file type.', 'invoicing'));
1153 1153
         }
1154 1154
 
1155 1155
         // Upload file.
1156
-        $file_name = explode( '.', strtolower( $_FILES['file']['name'] ) );
1157
-        $file_name = uniqid( 'getpaid-' ) . '.' . array_pop( $file_name );
1156
+        $file_name = explode('.', strtolower($_FILES['file']['name']));
1157
+        $file_name = uniqid('getpaid-') . '.' . array_pop($file_name);
1158 1158
 
1159 1159
         $uploaded = wp_upload_bits(
1160 1160
             $file_name,
1161 1161
             null,
1162
-            file_get_contents( $_FILES['file']['tmp_name'] )
1162
+            file_get_contents($_FILES['file']['tmp_name'])
1163 1163
         );
1164 1164
 
1165
-        if ( ! empty( $uploaded['error'] ) ) {
1166
-            wp_send_json_error( $uploaded['error'] );
1165
+        if (!empty($uploaded['error'])) {
1166
+            wp_send_json_error($uploaded['error']);
1167 1167
         }
1168 1168
 
1169 1169
         // Retrieve response.
1170 1170
         $response = sprintf(
1171 1171
             '<input type="hidden" name="%s[%s]" value="%s" />',
1172
-            esc_attr( sanitize_text_field( $_POST['field_name'] ) ),
1173
-            esc_url( $uploaded['url'] ),
1174
-            esc_attr( sanitize_text_field( strtolower( $_FILES['file']['name'] ) ) )
1172
+            esc_attr(sanitize_text_field($_POST['field_name'])),
1173
+            esc_url($uploaded['url']),
1174
+            esc_attr(sanitize_text_field(strtolower($_FILES['file']['name'])))
1175 1175
         );
1176 1176
 
1177
-        wp_send_json_success( $response );
1177
+        wp_send_json_success($response);
1178 1178
 
1179 1179
 	}
1180 1180
 
Please login to merge, or discard this patch.
includes/class-wpinv-session-handler.php 2 patches
Indentation   +274 added lines, -274 removed lines patch added patch discarded remove patch
@@ -14,125 +14,125 @@  discard block
 block discarded – undo
14 14
  */
15 15
 class WPInv_Session_Handler extends WPInv_Session {
16 16
 
17
-	/**
18
-	 * Cookie name used for the session.
19
-	 *
20
-	 * @var string cookie name
21
-	 */
22
-	protected $_cookie;
23
-
24
-	/**
25
-	 * Stores session expiry.
26
-	 *
27
-	 * @var int session due to expire timestamp
28
-	 */
29
-	protected $_session_expiring;
30
-
31
-	/**
32
-	 * Stores session due to expire timestamp.
33
-	 *
34
-	 * @var string session expiration timestamp
35
-	 */
36
-	protected $_session_expiration;
37
-
38
-	/**
39
-	 * True when the cookie exists.
40
-	 *
41
-	 * @var bool Based on whether a cookie exists.
42
-	 */
43
-	protected $_has_cookie = false;
44
-
45
-	/**
46
-	 * Table name for session data.
47
-	 *
48
-	 * @var string Custom session table name
49
-	 */
50
-	protected $_table;
51
-
52
-	/**
53
-	 * Constructor for the session class.
54
-	 */
55
-	public function old__construct() {
56
-
57
-	    $this->_cookie = apply_filters( 'wpinv_cookie', 'wpinv_session_' . COOKIEHASH );
17
+    /**
18
+     * Cookie name used for the session.
19
+     *
20
+     * @var string cookie name
21
+     */
22
+    protected $_cookie;
23
+
24
+    /**
25
+     * Stores session expiry.
26
+     *
27
+     * @var int session due to expire timestamp
28
+     */
29
+    protected $_session_expiring;
30
+
31
+    /**
32
+     * Stores session due to expire timestamp.
33
+     *
34
+     * @var string session expiration timestamp
35
+     */
36
+    protected $_session_expiration;
37
+
38
+    /**
39
+     * True when the cookie exists.
40
+     *
41
+     * @var bool Based on whether a cookie exists.
42
+     */
43
+    protected $_has_cookie = false;
44
+
45
+    /**
46
+     * Table name for session data.
47
+     *
48
+     * @var string Custom session table name
49
+     */
50
+    protected $_table;
51
+
52
+    /**
53
+     * Constructor for the session class.
54
+     */
55
+    public function old__construct() {
56
+
57
+        $this->_cookie = apply_filters( 'wpinv_cookie', 'wpinv_session_' . COOKIEHASH );
58 58
         add_action( 'init', array( $this, 'init' ), -1 );
59
-		add_action( 'wp_logout', array( $this, 'destroy_session' ) );
60
-		add_action( 'wp', array( $this, 'set_customer_session_cookie' ), 10 );
61
-		add_action( 'shutdown', array( $this, 'save_data' ), 20 );
62
-
63
-	}
64
-
65
-	/**
66
-	 * Init hooks and session data.
67
-	 *
68
-	 * @since 3.3.0
69
-	 */
70
-	public function init() {
71
-		$this->init_session_cookie();
72
-
73
-		if ( ! is_user_logged_in() ) {
74
-			add_filter( 'nonce_user_logged_out', array( $this, 'nonce_user_logged_out' ), 10, 2 );
75
-		}
76
-	}
77
-
78
-	/**
79
-	 * Setup cookie and customer ID.
80
-	 *
81
-	 * @since 3.6.0
82
-	 */
83
-	public function init_session_cookie() {
84
-		$cookie = $this->get_session_cookie();
85
-
86
-		if ( $cookie ) {
87
-			$this->_customer_id        = $cookie[0];
88
-			$this->_session_expiration = $cookie[1];
89
-			$this->_session_expiring   = $cookie[2];
90
-			$this->_has_cookie         = true;
91
-			$this->_data               = $this->get_session_data();
92
-
93
-			// If the user logs in, update session.
94
-			if ( is_user_logged_in() && get_current_user_id() != $this->_customer_id ) {
95
-				$this->_customer_id = get_current_user_id();
96
-				$this->_dirty       = true;
97
-				$this->save_data();
98
-				$this->set_customer_session_cookie( true );
99
-			}
100
-
101
-			// Update session if its close to expiring.
102
-			if ( time() > $this->_session_expiring ) {
103
-				$this->set_session_expiration();
104
-				$this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
105
-			}
106
-		} else {
107
-			$this->set_session_expiration();
108
-			$this->_customer_id = $this->generate_customer_id();
109
-			$this->_data        = $this->get_session_data();
110
-		}
111
-	}
112
-
113
-	/**
114
-	 * Sets the session cookie on-demand (usually after adding an item to the cart).
115
-	 *
116
-	 * Since the cookie name (as of 2.1) is prepended with wp, cache systems like batcache will not cache pages when set.
117
-	 *
118
-	 * Warning: Cookies will only be set if this is called before the headers are sent.
119
-	 *
120
-	 * @param bool $set Should the session cookie be set.
121
-	 */
122
-	public function set_customer_session_cookie( $set ) {
123
-		if ( $set ) {
124
-			$to_hash           = $this->_customer_id . '|' . $this->_session_expiration;
125
-			$cookie_hash       = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
126
-			$cookie_value      = $this->_customer_id . '||' . $this->_session_expiration . '||' . $this->_session_expiring . '||' . $cookie_hash;
127
-			$this->_has_cookie = true;
128
-
129
-			if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
130
-				$this->setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true );
131
-			}
132
-		}
133
-	}
134
-
135
-	public function setcookie( $name, $value, $expire = 0, $secure = false, $httponly = false ) {
59
+        add_action( 'wp_logout', array( $this, 'destroy_session' ) );
60
+        add_action( 'wp', array( $this, 'set_customer_session_cookie' ), 10 );
61
+        add_action( 'shutdown', array( $this, 'save_data' ), 20 );
62
+
63
+    }
64
+
65
+    /**
66
+     * Init hooks and session data.
67
+     *
68
+     * @since 3.3.0
69
+     */
70
+    public function init() {
71
+        $this->init_session_cookie();
72
+
73
+        if ( ! is_user_logged_in() ) {
74
+            add_filter( 'nonce_user_logged_out', array( $this, 'nonce_user_logged_out' ), 10, 2 );
75
+        }
76
+    }
77
+
78
+    /**
79
+     * Setup cookie and customer ID.
80
+     *
81
+     * @since 3.6.0
82
+     */
83
+    public function init_session_cookie() {
84
+        $cookie = $this->get_session_cookie();
85
+
86
+        if ( $cookie ) {
87
+            $this->_customer_id        = $cookie[0];
88
+            $this->_session_expiration = $cookie[1];
89
+            $this->_session_expiring   = $cookie[2];
90
+            $this->_has_cookie         = true;
91
+            $this->_data               = $this->get_session_data();
92
+
93
+            // If the user logs in, update session.
94
+            if ( is_user_logged_in() && get_current_user_id() != $this->_customer_id ) {
95
+                $this->_customer_id = get_current_user_id();
96
+                $this->_dirty       = true;
97
+                $this->save_data();
98
+                $this->set_customer_session_cookie( true );
99
+            }
100
+
101
+            // Update session if its close to expiring.
102
+            if ( time() > $this->_session_expiring ) {
103
+                $this->set_session_expiration();
104
+                $this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
105
+            }
106
+        } else {
107
+            $this->set_session_expiration();
108
+            $this->_customer_id = $this->generate_customer_id();
109
+            $this->_data        = $this->get_session_data();
110
+        }
111
+    }
112
+
113
+    /**
114
+     * Sets the session cookie on-demand (usually after adding an item to the cart).
115
+     *
116
+     * Since the cookie name (as of 2.1) is prepended with wp, cache systems like batcache will not cache pages when set.
117
+     *
118
+     * Warning: Cookies will only be set if this is called before the headers are sent.
119
+     *
120
+     * @param bool $set Should the session cookie be set.
121
+     */
122
+    public function set_customer_session_cookie( $set ) {
123
+        if ( $set ) {
124
+            $to_hash           = $this->_customer_id . '|' . $this->_session_expiration;
125
+            $cookie_hash       = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
126
+            $cookie_value      = $this->_customer_id . '||' . $this->_session_expiration . '||' . $this->_session_expiring . '||' . $cookie_hash;
127
+            $this->_has_cookie = true;
128
+
129
+            if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
130
+                $this->setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true );
131
+            }
132
+        }
133
+    }
134
+
135
+    public function setcookie( $name, $value, $expire = 0, $secure = false, $httponly = false ) {
136 136
         if ( ! headers_sent() ) {
137 137
             setcookie( $name, $value, $expire, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN, $secure, apply_filters( 'wpinv_cookie_httponly', $httponly, $name, $value, $expire, $secure ) );
138 138
         } elseif ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
@@ -141,86 +141,86 @@  discard block
 block discarded – undo
141 141
         }
142 142
     }
143 143
 
144
-	/**
145
-	 * Should the session cookie be secure?
146
-	 *
147
-	 * @since 3.6.0
148
-	 * @return bool
149
-	 */
150
-	protected function use_secure_cookie() {
144
+    /**
145
+     * Should the session cookie be secure?
146
+     *
147
+     * @since 3.6.0
148
+     * @return bool
149
+     */
150
+    protected function use_secure_cookie() {
151 151
         $is_https = false !== strstr( get_option( 'home' ), 'https:' );
152
-		return apply_filters( 'wpinv_session_use_secure_cookie', $is_https && is_ssl() );
153
-	}
154
-
155
-	/**
156
-	 * Return true if the current user has an active session, i.e. a cookie to retrieve values.
157
-	 *
158
-	 * @return bool
159
-	 */
160
-	public function has_session() {
161
-		return isset( $_COOKIE[ $this->_cookie ] ) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
162
-	}
163
-
164
-	/**
165
-	 * Set session expiration.
166
-	 */
167
-	public function set_session_expiration() {
168
-		$this->_session_expiring   = time() + intval( apply_filters( 'wpinv_session_expiring', 60 * 60 * 47 ) ); // 47 Hours.
169
-		$this->_session_expiration = time() + intval( apply_filters( 'wpinv_session_expiration', 60 * 60 * 48 ) ); // 48 Hours.
170
-	}
171
-
172
-	/**
173
-	 * Generates session ids.
174
-	 *
175
-	 * @return string
176
-	 */
177
-	public function generate_customer_id() {
178
-		require_once ABSPATH . 'wp-includes/class-phpass.php';
179
-		$hasher      = new PasswordHash( 8, false );
180
-		return md5( $hasher->get_random_bytes( 32 ) );
181
-	}
182
-
183
-	/**
184
-	 * Get the session cookie, if set. Otherwise return false.
185
-	 *
186
-	 * Session cookies without a customer ID are invalid.
187
-	 *
188
-	 * @return bool|array
189
-	 */
190
-	public function get_session_cookie() {
191
-		$cookie_value = isset( $_COOKIE[ $this->_cookie ] ) ? wp_unslash( $_COOKIE[ $this->_cookie ] ) : false; // @codingStandardsIgnoreLine.
192
-
193
-		if ( empty( $cookie_value ) || ! is_string( $cookie_value ) ) {
194
-			return false;
195
-		}
196
-
197
-		list( $customer_id, $session_expiration, $session_expiring, $cookie_hash ) = explode( '||', $cookie_value );
198
-
199
-		if ( empty( $customer_id ) ) {
200
-			return false;
201
-		}
202
-
203
-		// Validate hash.
204
-		$to_hash = $customer_id . '|' . $session_expiration;
205
-		$hash    = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
206
-
207
-		if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
208
-			return false;
209
-		}
210
-
211
-		return array( $customer_id, $session_expiration, $session_expiring, $cookie_hash );
212
-	}
213
-
214
-	/**
215
-	 * Get session data.
216
-	 *
217
-	 * @return array
218
-	 */
219
-	public function get_session_data() {
220
-		return $this->has_session() ? (array) $this->get_session( $this->_customer_id ) : array();
221
-	}
222
-
223
-	public function generate_key( $customer_id ) {
152
+        return apply_filters( 'wpinv_session_use_secure_cookie', $is_https && is_ssl() );
153
+    }
154
+
155
+    /**
156
+     * Return true if the current user has an active session, i.e. a cookie to retrieve values.
157
+     *
158
+     * @return bool
159
+     */
160
+    public function has_session() {
161
+        return isset( $_COOKIE[ $this->_cookie ] ) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
162
+    }
163
+
164
+    /**
165
+     * Set session expiration.
166
+     */
167
+    public function set_session_expiration() {
168
+        $this->_session_expiring   = time() + intval( apply_filters( 'wpinv_session_expiring', 60 * 60 * 47 ) ); // 47 Hours.
169
+        $this->_session_expiration = time() + intval( apply_filters( 'wpinv_session_expiration', 60 * 60 * 48 ) ); // 48 Hours.
170
+    }
171
+
172
+    /**
173
+     * Generates session ids.
174
+     *
175
+     * @return string
176
+     */
177
+    public function generate_customer_id() {
178
+        require_once ABSPATH . 'wp-includes/class-phpass.php';
179
+        $hasher      = new PasswordHash( 8, false );
180
+        return md5( $hasher->get_random_bytes( 32 ) );
181
+    }
182
+
183
+    /**
184
+     * Get the session cookie, if set. Otherwise return false.
185
+     *
186
+     * Session cookies without a customer ID are invalid.
187
+     *
188
+     * @return bool|array
189
+     */
190
+    public function get_session_cookie() {
191
+        $cookie_value = isset( $_COOKIE[ $this->_cookie ] ) ? wp_unslash( $_COOKIE[ $this->_cookie ] ) : false; // @codingStandardsIgnoreLine.
192
+
193
+        if ( empty( $cookie_value ) || ! is_string( $cookie_value ) ) {
194
+            return false;
195
+        }
196
+
197
+        list( $customer_id, $session_expiration, $session_expiring, $cookie_hash ) = explode( '||', $cookie_value );
198
+
199
+        if ( empty( $customer_id ) ) {
200
+            return false;
201
+        }
202
+
203
+        // Validate hash.
204
+        $to_hash = $customer_id . '|' . $session_expiration;
205
+        $hash    = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
206
+
207
+        if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
208
+            return false;
209
+        }
210
+
211
+        return array( $customer_id, $session_expiration, $session_expiring, $cookie_hash );
212
+    }
213
+
214
+    /**
215
+     * Get session data.
216
+     *
217
+     * @return array
218
+     */
219
+    public function get_session_data() {
220
+        return $this->has_session() ? (array) $this->get_session( $this->_customer_id ) : array();
221
+    }
222
+
223
+    public function generate_key( $customer_id ) {
224 224
         if ( ! $customer_id ) {
225 225
             return;
226 226
         }
@@ -228,68 +228,68 @@  discard block
 block discarded – undo
228 228
         return 'wpi_trans_' . $customer_id;
229 229
     }
230 230
 
231
-	/**
232
-	 * Save data.
233
-	 */
234
-	public function save_data() {
235
-		// Dirty if something changed - prevents saving nothing new.
236
-		if ( $this->_dirty && $this->has_session() ) {
231
+    /**
232
+     * Save data.
233
+     */
234
+    public function save_data() {
235
+        // Dirty if something changed - prevents saving nothing new.
236
+        if ( $this->_dirty && $this->has_session() ) {
237 237
 
238 238
             set_transient( $this->generate_key( $this->_customer_id ), $this->_data, $this->_session_expiration );
239 239
 
240
-			$this->_dirty = false;
241
-		}
242
-	}
243
-
244
-	/**
245
-	 * Destroy all session data.
246
-	 */
247
-	public function destroy_session() {
248
-		$this->delete_session( $this->_customer_id );
249
-		$this->forget_session();
250
-	}
251
-
252
-	/**
253
-	 * Forget all session data without destroying it.
254
-	 */
255
-	public function forget_session() {
256
-		$this->setcookie( $this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true );
257
-
258
-		wpinv_empty_cart();
259
-
260
-		$this->_data        = array();
261
-		$this->_dirty       = false;
262
-		$this->_customer_id = $this->generate_customer_id();
263
-	}
264
-
265
-	/**
266
-	 * When a user is logged out, ensure they have a unique nonce by using the customer/session ID.
267
-	 *
268
-	 * @param int $uid User ID.
269
-	 * @return string
270
-	 */
271
-	public function nonce_user_logged_out( $uid ) {
272
-
273
-		// Check if one of our nonces.
274
-		if ( substr( $uid, 0, 5 ) === 'wpinv' || substr( $uid, 0, 7 ) === 'getpaid' ) {
275
-			return $this->has_session() && $this->_customer_id ? $this->_customer_id : $uid;
276
-		}
277
-
278
-		return $uid;
279
-	}
280
-
281
-	/**
282
-	 * Returns the session.
283
-	 *
284
-	 * @param string $customer_id Customer ID.
285
-	 * @param mixed  $default Default session value.
286
-	 * @return string|array
287
-	 */
288
-	public function get_session( $customer_id, $default = false ) {
289
-
290
-		if ( defined( 'WP_SETUP_CONFIG' ) ) {
291
-			return array();
292
-		}
240
+            $this->_dirty = false;
241
+        }
242
+    }
243
+
244
+    /**
245
+     * Destroy all session data.
246
+     */
247
+    public function destroy_session() {
248
+        $this->delete_session( $this->_customer_id );
249
+        $this->forget_session();
250
+    }
251
+
252
+    /**
253
+     * Forget all session data without destroying it.
254
+     */
255
+    public function forget_session() {
256
+        $this->setcookie( $this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true );
257
+
258
+        wpinv_empty_cart();
259
+
260
+        $this->_data        = array();
261
+        $this->_dirty       = false;
262
+        $this->_customer_id = $this->generate_customer_id();
263
+    }
264
+
265
+    /**
266
+     * When a user is logged out, ensure they have a unique nonce by using the customer/session ID.
267
+     *
268
+     * @param int $uid User ID.
269
+     * @return string
270
+     */
271
+    public function nonce_user_logged_out( $uid ) {
272
+
273
+        // Check if one of our nonces.
274
+        if ( substr( $uid, 0, 5 ) === 'wpinv' || substr( $uid, 0, 7 ) === 'getpaid' ) {
275
+            return $this->has_session() && $this->_customer_id ? $this->_customer_id : $uid;
276
+        }
277
+
278
+        return $uid;
279
+    }
280
+
281
+    /**
282
+     * Returns the session.
283
+     *
284
+     * @param string $customer_id Customer ID.
285
+     * @param mixed  $default Default session value.
286
+     * @return string|array
287
+     */
288
+    public function get_session( $customer_id, $default = false ) {
289
+
290
+        if ( defined( 'WP_SETUP_CONFIG' ) ) {
291
+            return array();
292
+        }
293 293
 
294 294
         $key = $this->generate_key( $customer_id );
295 295
         $value = get_transient( $key );
@@ -298,30 +298,30 @@  discard block
 block discarded – undo
298 298
             $value = $default;
299 299
         }
300 300
 
301
-		return maybe_unserialize( $value );
302
-	}
301
+        return maybe_unserialize( $value );
302
+    }
303 303
 
304
-	/**
305
-	 * Delete the session from the cache and database.
306
-	 *
307
-	 * @param int $customer_id Customer ID.
308
-	 */
309
-	public function delete_session( $customer_id ) {
304
+    /**
305
+     * Delete the session from the cache and database.
306
+     *
307
+     * @param int $customer_id Customer ID.
308
+     */
309
+    public function delete_session( $customer_id ) {
310 310
 
311 311
         $key = $this->generate_key( $customer_id );
312 312
 
313
-		delete_transient( $key );
314
-	}
313
+        delete_transient( $key );
314
+    }
315 315
 
316
-	/**
317
-	 * Update the session expiry timestamp.
318
-	 *
319
-	 * @param string $customer_id Customer ID.
320
-	 * @param int    $timestamp Timestamp to expire the cookie.
321
-	 */
322
-	public function update_session_timestamp( $customer_id, $timestamp ) {
316
+    /**
317
+     * Update the session expiry timestamp.
318
+     *
319
+     * @param string $customer_id Customer ID.
320
+     * @param int    $timestamp Timestamp to expire the cookie.
321
+     */
322
+    public function update_session_timestamp( $customer_id, $timestamp ) {
323 323
 
324 324
         set_transient( $this->generate_key( $customer_id ), maybe_serialize( $this->_data ), $timestamp );
325 325
 
326
-	}
326
+    }
327 327
 }
Please login to merge, or discard this patch.
Spacing   +58 added lines, -58 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  *
6 6
  */
7 7
 
8
-defined( 'ABSPATH' ) || exit;
8
+defined('ABSPATH') || exit;
9 9
 
10 10
 /**
11 11
  * Session handler class.
@@ -54,11 +54,11 @@  discard block
 block discarded – undo
54 54
 	 */
55 55
 	public function old__construct() {
56 56
 
57
-	    $this->_cookie = apply_filters( 'wpinv_cookie', 'wpinv_session_' . COOKIEHASH );
58
-        add_action( 'init', array( $this, 'init' ), -1 );
59
-		add_action( 'wp_logout', array( $this, 'destroy_session' ) );
60
-		add_action( 'wp', array( $this, 'set_customer_session_cookie' ), 10 );
61
-		add_action( 'shutdown', array( $this, 'save_data' ), 20 );
57
+	    $this->_cookie = apply_filters('wpinv_cookie', 'wpinv_session_' . COOKIEHASH);
58
+        add_action('init', array($this, 'init'), -1);
59
+		add_action('wp_logout', array($this, 'destroy_session'));
60
+		add_action('wp', array($this, 'set_customer_session_cookie'), 10);
61
+		add_action('shutdown', array($this, 'save_data'), 20);
62 62
 
63 63
 	}
64 64
 
@@ -70,8 +70,8 @@  discard block
 block discarded – undo
70 70
 	public function init() {
71 71
 		$this->init_session_cookie();
72 72
 
73
-		if ( ! is_user_logged_in() ) {
74
-			add_filter( 'nonce_user_logged_out', array( $this, 'nonce_user_logged_out' ), 10, 2 );
73
+		if (!is_user_logged_in()) {
74
+			add_filter('nonce_user_logged_out', array($this, 'nonce_user_logged_out'), 10, 2);
75 75
 		}
76 76
 	}
77 77
 
@@ -83,7 +83,7 @@  discard block
 block discarded – undo
83 83
 	public function init_session_cookie() {
84 84
 		$cookie = $this->get_session_cookie();
85 85
 
86
-		if ( $cookie ) {
86
+		if ($cookie) {
87 87
 			$this->_customer_id        = $cookie[0];
88 88
 			$this->_session_expiration = $cookie[1];
89 89
 			$this->_session_expiring   = $cookie[2];
@@ -91,17 +91,17 @@  discard block
 block discarded – undo
91 91
 			$this->_data               = $this->get_session_data();
92 92
 
93 93
 			// If the user logs in, update session.
94
-			if ( is_user_logged_in() && get_current_user_id() != $this->_customer_id ) {
94
+			if (is_user_logged_in() && get_current_user_id() != $this->_customer_id) {
95 95
 				$this->_customer_id = get_current_user_id();
96 96
 				$this->_dirty       = true;
97 97
 				$this->save_data();
98
-				$this->set_customer_session_cookie( true );
98
+				$this->set_customer_session_cookie(true);
99 99
 			}
100 100
 
101 101
 			// Update session if its close to expiring.
102
-			if ( time() > $this->_session_expiring ) {
102
+			if (time() > $this->_session_expiring) {
103 103
 				$this->set_session_expiration();
104
-				$this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
104
+				$this->update_session_timestamp($this->_customer_id, $this->_session_expiration);
105 105
 			}
106 106
 		} else {
107 107
 			$this->set_session_expiration();
@@ -119,25 +119,25 @@  discard block
 block discarded – undo
119 119
 	 *
120 120
 	 * @param bool $set Should the session cookie be set.
121 121
 	 */
122
-	public function set_customer_session_cookie( $set ) {
123
-		if ( $set ) {
122
+	public function set_customer_session_cookie($set) {
123
+		if ($set) {
124 124
 			$to_hash           = $this->_customer_id . '|' . $this->_session_expiration;
125
-			$cookie_hash       = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
125
+			$cookie_hash       = hash_hmac('md5', $to_hash, wp_hash($to_hash));
126 126
 			$cookie_value      = $this->_customer_id . '||' . $this->_session_expiration . '||' . $this->_session_expiring . '||' . $cookie_hash;
127 127
 			$this->_has_cookie = true;
128 128
 
129
-			if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
130
-				$this->setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true );
129
+			if (!isset($_COOKIE[$this->_cookie]) || $_COOKIE[$this->_cookie] !== $cookie_value) {
130
+				$this->setcookie($this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true);
131 131
 			}
132 132
 		}
133 133
 	}
134 134
 
135
-	public function setcookie( $name, $value, $expire = 0, $secure = false, $httponly = false ) {
136
-        if ( ! headers_sent() ) {
137
-            setcookie( $name, $value, $expire, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN, $secure, apply_filters( 'wpinv_cookie_httponly', $httponly, $name, $value, $expire, $secure ) );
138
-        } elseif ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
139
-            headers_sent( $file, $line );
140
-            trigger_error( "{$name} cookie cannot be set - headers already sent by {$file} on line {$line}", E_USER_NOTICE ); // @codingStandardsIgnoreLine
135
+	public function setcookie($name, $value, $expire = 0, $secure = false, $httponly = false) {
136
+        if (!headers_sent()) {
137
+            setcookie($name, $value, $expire, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN, $secure, apply_filters('wpinv_cookie_httponly', $httponly, $name, $value, $expire, $secure));
138
+        } elseif (defined('WP_DEBUG') && WP_DEBUG) {
139
+            headers_sent($file, $line);
140
+            trigger_error("{$name} cookie cannot be set - headers already sent by {$file} on line {$line}", E_USER_NOTICE); // @codingStandardsIgnoreLine
141 141
         }
142 142
     }
143 143
 
@@ -148,8 +148,8 @@  discard block
 block discarded – undo
148 148
 	 * @return bool
149 149
 	 */
150 150
 	protected function use_secure_cookie() {
151
-        $is_https = false !== strstr( get_option( 'home' ), 'https:' );
152
-		return apply_filters( 'wpinv_session_use_secure_cookie', $is_https && is_ssl() );
151
+        $is_https = false !== strstr(get_option('home'), 'https:');
152
+		return apply_filters('wpinv_session_use_secure_cookie', $is_https && is_ssl());
153 153
 	}
154 154
 
155 155
 	/**
@@ -158,15 +158,15 @@  discard block
 block discarded – undo
158 158
 	 * @return bool
159 159
 	 */
160 160
 	public function has_session() {
161
-		return isset( $_COOKIE[ $this->_cookie ] ) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
161
+		return isset($_COOKIE[$this->_cookie]) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
162 162
 	}
163 163
 
164 164
 	/**
165 165
 	 * Set session expiration.
166 166
 	 */
167 167
 	public function set_session_expiration() {
168
-		$this->_session_expiring   = time() + intval( apply_filters( 'wpinv_session_expiring', 60 * 60 * 47 ) ); // 47 Hours.
169
-		$this->_session_expiration = time() + intval( apply_filters( 'wpinv_session_expiration', 60 * 60 * 48 ) ); // 48 Hours.
168
+		$this->_session_expiring   = time() + intval(apply_filters('wpinv_session_expiring', 60 * 60 * 47)); // 47 Hours.
169
+		$this->_session_expiration = time() + intval(apply_filters('wpinv_session_expiration', 60 * 60 * 48)); // 48 Hours.
170 170
 	}
171 171
 
172 172
 	/**
@@ -176,8 +176,8 @@  discard block
 block discarded – undo
176 176
 	 */
177 177
 	public function generate_customer_id() {
178 178
 		require_once ABSPATH . 'wp-includes/class-phpass.php';
179
-		$hasher      = new PasswordHash( 8, false );
180
-		return md5( $hasher->get_random_bytes( 32 ) );
179
+		$hasher = new PasswordHash(8, false);
180
+		return md5($hasher->get_random_bytes(32));
181 181
 	}
182 182
 
183 183
 	/**
@@ -188,27 +188,27 @@  discard block
 block discarded – undo
188 188
 	 * @return bool|array
189 189
 	 */
190 190
 	public function get_session_cookie() {
191
-		$cookie_value = isset( $_COOKIE[ $this->_cookie ] ) ? wp_unslash( $_COOKIE[ $this->_cookie ] ) : false; // @codingStandardsIgnoreLine.
191
+		$cookie_value = isset($_COOKIE[$this->_cookie]) ? wp_unslash($_COOKIE[$this->_cookie]) : false; // @codingStandardsIgnoreLine.
192 192
 
193
-		if ( empty( $cookie_value ) || ! is_string( $cookie_value ) ) {
193
+		if (empty($cookie_value) || !is_string($cookie_value)) {
194 194
 			return false;
195 195
 		}
196 196
 
197
-		list( $customer_id, $session_expiration, $session_expiring, $cookie_hash ) = explode( '||', $cookie_value );
197
+		list($customer_id, $session_expiration, $session_expiring, $cookie_hash) = explode('||', $cookie_value);
198 198
 
199
-		if ( empty( $customer_id ) ) {
199
+		if (empty($customer_id)) {
200 200
 			return false;
201 201
 		}
202 202
 
203 203
 		// Validate hash.
204 204
 		$to_hash = $customer_id . '|' . $session_expiration;
205
-		$hash    = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
205
+		$hash    = hash_hmac('md5', $to_hash, wp_hash($to_hash));
206 206
 
207
-		if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
207
+		if (empty($cookie_hash) || !hash_equals($hash, $cookie_hash)) {
208 208
 			return false;
209 209
 		}
210 210
 
211
-		return array( $customer_id, $session_expiration, $session_expiring, $cookie_hash );
211
+		return array($customer_id, $session_expiration, $session_expiring, $cookie_hash);
212 212
 	}
213 213
 
214 214
 	/**
@@ -217,11 +217,11 @@  discard block
 block discarded – undo
217 217
 	 * @return array
218 218
 	 */
219 219
 	public function get_session_data() {
220
-		return $this->has_session() ? (array) $this->get_session( $this->_customer_id ) : array();
220
+		return $this->has_session() ? (array) $this->get_session($this->_customer_id) : array();
221 221
 	}
222 222
 
223
-	public function generate_key( $customer_id ) {
224
-        if ( ! $customer_id ) {
223
+	public function generate_key($customer_id) {
224
+        if (!$customer_id) {
225 225
             return;
226 226
         }
227 227
 
@@ -233,9 +233,9 @@  discard block
 block discarded – undo
233 233
 	 */
234 234
 	public function save_data() {
235 235
 		// Dirty if something changed - prevents saving nothing new.
236
-		if ( $this->_dirty && $this->has_session() ) {
236
+		if ($this->_dirty && $this->has_session()) {
237 237
 
238
-            set_transient( $this->generate_key( $this->_customer_id ), $this->_data, $this->_session_expiration );
238
+            set_transient($this->generate_key($this->_customer_id), $this->_data, $this->_session_expiration);
239 239
 
240 240
 			$this->_dirty = false;
241 241
 		}
@@ -245,7 +245,7 @@  discard block
 block discarded – undo
245 245
 	 * Destroy all session data.
246 246
 	 */
247 247
 	public function destroy_session() {
248
-		$this->delete_session( $this->_customer_id );
248
+		$this->delete_session($this->_customer_id);
249 249
 		$this->forget_session();
250 250
 	}
251 251
 
@@ -253,7 +253,7 @@  discard block
 block discarded – undo
253 253
 	 * Forget all session data without destroying it.
254 254
 	 */
255 255
 	public function forget_session() {
256
-		$this->setcookie( $this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true );
256
+		$this->setcookie($this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true);
257 257
 
258 258
 		wpinv_empty_cart();
259 259
 
@@ -268,10 +268,10 @@  discard block
 block discarded – undo
268 268
 	 * @param int $uid User ID.
269 269
 	 * @return string
270 270
 	 */
271
-	public function nonce_user_logged_out( $uid ) {
271
+	public function nonce_user_logged_out($uid) {
272 272
 
273 273
 		// Check if one of our nonces.
274
-		if ( substr( $uid, 0, 5 ) === 'wpinv' || substr( $uid, 0, 7 ) === 'getpaid' ) {
274
+		if (substr($uid, 0, 5) === 'wpinv' || substr($uid, 0, 7) === 'getpaid') {
275 275
 			return $this->has_session() && $this->_customer_id ? $this->_customer_id : $uid;
276 276
 		}
277 277
 
@@ -285,20 +285,20 @@  discard block
 block discarded – undo
285 285
 	 * @param mixed  $default Default session value.
286 286
 	 * @return string|array
287 287
 	 */
288
-	public function get_session( $customer_id, $default = false ) {
288
+	public function get_session($customer_id, $default = false) {
289 289
 
290
-		if ( defined( 'WP_SETUP_CONFIG' ) ) {
290
+		if (defined('WP_SETUP_CONFIG')) {
291 291
 			return array();
292 292
 		}
293 293
 
294
-        $key = $this->generate_key( $customer_id );
295
-        $value = get_transient( $key );
294
+        $key = $this->generate_key($customer_id);
295
+        $value = get_transient($key);
296 296
 
297
-        if ( ! $value ) {
297
+        if (!$value) {
298 298
             $value = $default;
299 299
         }
300 300
 
301
-		return maybe_unserialize( $value );
301
+		return maybe_unserialize($value);
302 302
 	}
303 303
 
304 304
 	/**
@@ -306,11 +306,11 @@  discard block
 block discarded – undo
306 306
 	 *
307 307
 	 * @param int $customer_id Customer ID.
308 308
 	 */
309
-	public function delete_session( $customer_id ) {
309
+	public function delete_session($customer_id) {
310 310
 
311
-        $key = $this->generate_key( $customer_id );
311
+        $key = $this->generate_key($customer_id);
312 312
 
313
-		delete_transient( $key );
313
+		delete_transient($key);
314 314
 	}
315 315
 
316 316
 	/**
@@ -319,9 +319,9 @@  discard block
 block discarded – undo
319 319
 	 * @param string $customer_id Customer ID.
320 320
 	 * @param int    $timestamp Timestamp to expire the cookie.
321 321
 	 */
322
-	public function update_session_timestamp( $customer_id, $timestamp ) {
322
+	public function update_session_timestamp($customer_id, $timestamp) {
323 323
 
324
-        set_transient( $this->generate_key( $customer_id ), maybe_serialize( $this->_data ), $timestamp );
324
+        set_transient($this->generate_key($customer_id), maybe_serialize($this->_data), $timestamp);
325 325
 
326 326
 	}
327 327
 }
Please login to merge, or discard this patch.
includes/admin/class-getpaid-metaboxes.php 2 patches
Indentation   +243 added lines, -243 removed lines patch added patch discarded remove patch
@@ -12,280 +12,280 @@
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Metaboxes {
14 14
 
15
-	/**
16
-	 * Only save metaboxes once.
17
-	 *
18
-	 * @var boolean
19
-	 */
20
-	private static $saved_meta_boxes = false;
15
+    /**
16
+     * Only save metaboxes once.
17
+     *
18
+     * @var boolean
19
+     */
20
+    private static $saved_meta_boxes = false;
21 21
 
22 22
     /**
23
-	 * Hook in methods.
24
-	 */
25
-	public static function init() {
23
+     * Hook in methods.
24
+     */
25
+    public static function init() {
26 26
 
27
-		// Register metaboxes.
28
-		add_action( 'add_meta_boxes', 'GetPaid_Metaboxes::add_meta_boxes', 50, 2 );
27
+        // Register metaboxes.
28
+        add_action( 'add_meta_boxes', 'GetPaid_Metaboxes::add_meta_boxes', 50, 2 );
29 29
 
30
-		// Remove metaboxes.
31
-		add_action( 'add_meta_boxes', 'GetPaid_Metaboxes::remove_meta_boxes', 30 );
30
+        // Remove metaboxes.
31
+        add_action( 'add_meta_boxes', 'GetPaid_Metaboxes::remove_meta_boxes', 30 );
32 32
 
33
-		// Rename metaboxes.
34
-		add_action( 'add_meta_boxes', 'GetPaid_Metaboxes::rename_meta_boxes', 45 );
33
+        // Rename metaboxes.
34
+        add_action( 'add_meta_boxes', 'GetPaid_Metaboxes::rename_meta_boxes', 45 );
35 35
 
36
-		// Save metaboxes.
37
-		add_action( 'save_post', 'GetPaid_Metaboxes::save_meta_boxes', 1, 2 );
38
-	}
36
+        // Save metaboxes.
37
+        add_action( 'save_post', 'GetPaid_Metaboxes::save_meta_boxes', 1, 2 );
38
+    }
39 39
 
40
-	/**
41
-	 * Register core metaboxes.
42
-	 */
43
-	public static function add_meta_boxes( $post_type, $post ) {
40
+    /**
41
+     * Register core metaboxes.
42
+     */
43
+    public static function add_meta_boxes( $post_type, $post ) {
44 44
 
45
-		// For invoices.
46
-		self::add_invoice_meta_boxes( $post_type, $post );
45
+        // For invoices.
46
+        self::add_invoice_meta_boxes( $post_type, $post );
47 47
 
48
-		// For payment forms.
49
-		self::add_payment_form_meta_boxes( $post_type, $post );
48
+        // For payment forms.
49
+        self::add_payment_form_meta_boxes( $post_type, $post );
50 50
 
51
-		// For invoice items.
52
-		self::add_item_meta_boxes( $post_type );
51
+        // For invoice items.
52
+        self::add_item_meta_boxes( $post_type );
53 53
 
54
-		// For invoice discounts.
55
-		if ( 'wpi_discount' === $post_type ) {
56
-			add_meta_box( 'wpinv_discount_details', __( 'Discount Details', 'invoicing' ), 'GetPaid_Meta_Box_Discount_Details::output', 'wpi_discount', 'normal', 'high' );
57
-		}
54
+        // For invoice discounts.
55
+        if ( 'wpi_discount' === $post_type ) {
56
+            add_meta_box( 'wpinv_discount_details', __( 'Discount Details', 'invoicing' ), 'GetPaid_Meta_Box_Discount_Details::output', 'wpi_discount', 'normal', 'high' );
57
+        }
58 58
 
59
-	}
59
+    }
60 60
 
61
-	/**
62
-	 * Register core metaboxes.
63
-	 */
64
-	protected static function add_payment_form_meta_boxes( $post_type, $post ) {
61
+    /**
62
+     * Register core metaboxes.
63
+     */
64
+    protected static function add_payment_form_meta_boxes( $post_type, $post ) {
65 65
 
66
-		// For payment forms.
67
-		if ( 'wpi_payment_form' === $post_type ) {
66
+        // For payment forms.
67
+        if ( 'wpi_payment_form' === $post_type ) {
68 68
 
69
-			// Design payment form.
70
-			add_meta_box( 'wpinv-payment-form-design', __( 'Payment Form', 'invoicing' ), 'GetPaid_Meta_Box_Payment_Form::output', 'wpi_payment_form', 'normal' );
69
+            // Design payment form.
70
+            add_meta_box( 'wpinv-payment-form-design', __( 'Payment Form', 'invoicing' ), 'GetPaid_Meta_Box_Payment_Form::output', 'wpi_payment_form', 'normal' );
71 71
 
72
-			// Payment form information.
73
-			if ( wpinv_get_default_payment_form() !== $post->ID ) {
74
-				add_meta_box( 'wpinv-payment-form-info', __( 'Details', 'invoicing' ), 'GetPaid_Meta_Box_Payment_Form_Info::output', 'wpi_payment_form', 'side' );
75
-			}
72
+            // Payment form information.
73
+            if ( wpinv_get_default_payment_form() !== $post->ID ) {
74
+                add_meta_box( 'wpinv-payment-form-info', __( 'Details', 'invoicing' ), 'GetPaid_Meta_Box_Payment_Form_Info::output', 'wpi_payment_form', 'side' );
75
+            }
76 76
 }
77 77
 
78
-	}
79
-
80
-	/**
81
-	 * Register core metaboxes.
82
-	 */
83
-	protected static function add_item_meta_boxes( $post_type ) {
78
+    }
84 79
 
85
-		if ( 'wpi_item' === $post_type ) {
86
-
87
-			// Item details.
88
-			add_meta_box( 'wpinv_item_details', __( 'Item Details', 'invoicing' ), 'GetPaid_Meta_Box_Item_Details::output', 'wpi_item', 'normal', 'high' );
89
-
90
-			// If taxes are enabled, register the tax metabox.
91
-			if ( wpinv_use_taxes() ) {
92
-				add_meta_box( 'wpinv_item_vat', __( 'Tax', 'invoicing' ), 'GetPaid_Meta_Box_Item_VAT::output', 'wpi_item', 'normal', 'high' );
93
-			}
80
+    /**
81
+     * Register core metaboxes.
82
+     */
83
+    protected static function add_item_meta_boxes( $post_type ) {
94 84
 
95
-			// Item info.
96
-			add_meta_box( 'wpinv_field_item_info', __( 'Item info', 'invoicing' ), 'GetPaid_Meta_Box_Item_Info::output', 'wpi_item', 'side', 'core' );
85
+        if ( 'wpi_item' === $post_type ) {
97 86
 
98
-			// Item description.
99
-			add_meta_box( 'postexcerpt', __( 'Item Description', 'invoicing' ), 'GetPaid_Meta_Box_Description::output', 'wpi_item', 'normal' );
100
-		}
87
+            // Item details.
88
+            add_meta_box( 'wpinv_item_details', __( 'Item Details', 'invoicing' ), 'GetPaid_Meta_Box_Item_Details::output', 'wpi_item', 'normal', 'high' );
101 89
 
102
-	}
90
+            // If taxes are enabled, register the tax metabox.
91
+            if ( wpinv_use_taxes() ) {
92
+                add_meta_box( 'wpinv_item_vat', __( 'Tax', 'invoicing' ), 'GetPaid_Meta_Box_Item_VAT::output', 'wpi_item', 'normal', 'high' );
93
+            }
103 94
 
104
-	/**
105
-	 * Register invoice metaboxes.
106
-	 */
107
-	protected static function add_invoice_meta_boxes( $post_type, $post ) {
95
+            // Item info.
96
+            add_meta_box( 'wpinv_field_item_info', __( 'Item info', 'invoicing' ), 'GetPaid_Meta_Box_Item_Info::output', 'wpi_item', 'side', 'core' );
108 97
 
109
-		// For invoices...
110
-		if ( getpaid_is_invoice_post_type( $post_type ) ) {
111
-			$invoice = new WPInv_Invoice( $post );
98
+            // Item description.
99
+            add_meta_box( 'postexcerpt', __( 'Item Description', 'invoicing' ), 'GetPaid_Meta_Box_Description::output', 'wpi_item', 'normal' );
100
+        }
112 101
 
113
-			// Resend invoice.
114
-			if ( ! $invoice->is_draft() ) {
102
+    }
115 103
 
116
-				add_meta_box(
117
-					'wpinv-mb-resend-invoice',
118
-					sprintf(
119
-						// translators: %s is the invoice type.
120
-						__( 'Resend %s', 'invoicing' ),
121
-						ucfirst( $invoice->get_invoice_quote_type() )
122
-					),
123
-					'GetPaid_Meta_Box_Resend_Invoice::output',
124
-					$post_type,
125
-					'side',
126
-					'low'
127
-				);
104
+    /**
105
+     * Register invoice metaboxes.
106
+     */
107
+    protected static function add_invoice_meta_boxes( $post_type, $post ) {
108
+
109
+        // For invoices...
110
+        if ( getpaid_is_invoice_post_type( $post_type ) ) {
111
+            $invoice = new WPInv_Invoice( $post );
112
+
113
+            // Resend invoice.
114
+            if ( ! $invoice->is_draft() ) {
115
+
116
+                add_meta_box(
117
+                    'wpinv-mb-resend-invoice',
118
+                    sprintf(
119
+                        // translators: %s is the invoice type.
120
+                        __( 'Resend %s', 'invoicing' ),
121
+                        ucfirst( $invoice->get_invoice_quote_type() )
122
+                    ),
123
+                    'GetPaid_Meta_Box_Resend_Invoice::output',
124
+                    $post_type,
125
+                    'side',
126
+                    'low'
127
+                );
128
+
129
+            }
130
+
131
+            // Subscriptions.
132
+            $subscriptions = getpaid_get_invoice_subscriptions( $invoice );
133
+            if ( ! empty( $subscriptions ) ) {
134
+
135
+                if ( is_array( $subscriptions ) ) {
136
+                    add_meta_box( 'wpinv-mb-subscriptions', __( 'Related Subscriptions', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Subscription::output_related', $post_type, 'advanced' );
137
+                } else {
138
+                    add_meta_box( 'wpinv-mb-subscriptions', __( 'Subscription Details', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Subscription::output', $post_type, 'advanced' );
139
+                }
140
+
141
+                if ( getpaid_count_subscription_invoices( $invoice->is_renewal() ? $invoice->get_parent_id() : $invoice->get_id() ) > 1 ) {
142
+                    add_meta_box( 'wpinv-mb-subscription-invoices', __( 'Related Payments', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Subscription::output_invoices', $post_type, 'advanced' );
143
+                }
144
+}
128 145
 
129
-			}
146
+            // Invoice details.
147
+            add_meta_box(
148
+                'wpinv-details',
149
+                sprintf(
150
+                    // translators: %s is the invoice type.
151
+                    __( '%s Details', 'invoicing' ),
152
+                    ucfirst( $invoice->get_invoice_quote_type() )
153
+                ),
154
+                'GetPaid_Meta_Box_Invoice_Details::output',
155
+                $post_type,
156
+                'side'
157
+            );
158
+
159
+            // Payment details.
160
+            add_meta_box( 'wpinv-payment-meta', __( 'Payment Meta', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Payment_Meta::output', $post_type, 'side', 'default' );
161
+
162
+            // Billing details.
163
+            add_meta_box( 'wpinv-address', __( 'Billing Details', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Address::output', $post_type, 'normal', 'high' );
164
+
165
+            // Invoice items.
166
+            add_meta_box(
167
+                'wpinv-items',
168
+                sprintf(
169
+                    // translators: %s is the invoice type.
170
+                    __( '%s Items', 'invoicing' ),
171
+                    ucfirst( $invoice->get_invoice_quote_type() )
172
+                ),
173
+                'GetPaid_Meta_Box_Invoice_Items::output',
174
+                $post_type,
175
+                'normal',
176
+                'high'
177
+            );
178
+
179
+            // Invoice notes.
180
+            add_meta_box(
181
+                'wpinv-notes',
182
+                sprintf(
183
+                    // translators: %s is the invoice type.
184
+                    __( '%s Notes', 'invoicing' ),
185
+                    ucfirst( $invoice->get_invoice_quote_type() )
186
+                ),
187
+                'WPInv_Meta_Box_Notes::output',
188
+                $post_type,
189
+                'side',
190
+                'low'
191
+            );
192
+
193
+            // Shipping Address.
194
+            if ( get_post_meta( $invoice->get_id(), 'shipping_address', true ) ) {
195
+                add_meta_box( 'wpinv-invoice-shipping-details', __( 'Shipping Address', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Shipping_Address::output', $post_type, 'side', 'high' );
196
+            }
197
+
198
+            // Payment form information.
199
+            if ( get_post_meta( $invoice->get_id(), 'payment_form_data', true ) ) {
200
+                add_meta_box( 'wpinv-invoice-payment-form-details', __( 'Payment Form Details', 'invoicing' ), 'WPInv_Meta_Box_Payment_Form::output_details', $post_type, 'side', 'high' );
201
+            }
202
+}
130 203
 
131
-			// Subscriptions.
132
-			$subscriptions = getpaid_get_invoice_subscriptions( $invoice );
133
-			if ( ! empty( $subscriptions ) ) {
204
+    }
134 205
 
135
-				if ( is_array( $subscriptions ) ) {
136
-					add_meta_box( 'wpinv-mb-subscriptions', __( 'Related Subscriptions', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Subscription::output_related', $post_type, 'advanced' );
137
-				} else {
138
-					add_meta_box( 'wpinv-mb-subscriptions', __( 'Subscription Details', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Subscription::output', $post_type, 'advanced' );
139
-				}
206
+    /**
207
+     * Remove some metaboxes.
208
+     */
209
+    public static function remove_meta_boxes() {
210
+        remove_meta_box( 'wpseo_meta', 'wpi_invoice', 'normal' );
211
+        remove_meta_box( 'postexcerpt', 'wpi_item', 'normal' );
212
+    }
140 213
 
141
-				if ( getpaid_count_subscription_invoices( $invoice->is_renewal() ? $invoice->get_parent_id() : $invoice->get_id() ) > 1 ) {
142
-					add_meta_box( 'wpinv-mb-subscription-invoices', __( 'Related Payments', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Subscription::output_invoices', $post_type, 'advanced' );
143
-				}
144
-}
214
+    /**
215
+     * Rename other metaboxes.
216
+     */
217
+    public static function rename_meta_boxes() {
145 218
 
146
-			// Invoice details.
147
-			add_meta_box(
148
-				'wpinv-details',
149
-				sprintf(
150
-					// translators: %s is the invoice type.
151
-					__( '%s Details', 'invoicing' ),
152
-					ucfirst( $invoice->get_invoice_quote_type() )
153
-				),
154
-				'GetPaid_Meta_Box_Invoice_Details::output',
155
-				$post_type,
156
-				'side'
157
-			);
158
-
159
-			// Payment details.
160
-			add_meta_box( 'wpinv-payment-meta', __( 'Payment Meta', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Payment_Meta::output', $post_type, 'side', 'default' );
161
-
162
-			// Billing details.
163
-			add_meta_box( 'wpinv-address', __( 'Billing Details', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Address::output', $post_type, 'normal', 'high' );
164
-
165
-			// Invoice items.
166
-			add_meta_box(
167
-				'wpinv-items',
168
-				sprintf(
169
-					// translators: %s is the invoice type.
170
-					__( '%s Items', 'invoicing' ),
171
-					ucfirst( $invoice->get_invoice_quote_type() )
172
-				),
173
-				'GetPaid_Meta_Box_Invoice_Items::output',
174
-				$post_type,
175
-				'normal',
176
-				'high'
177
-			);
178
-
179
-			// Invoice notes.
180
-			add_meta_box(
181
-				'wpinv-notes',
182
-				sprintf(
183
-					// translators: %s is the invoice type.
184
-					__( '%s Notes', 'invoicing' ),
185
-					ucfirst( $invoice->get_invoice_quote_type() )
186
-				),
187
-				'WPInv_Meta_Box_Notes::output',
188
-				$post_type,
189
-				'side',
190
-				'low'
191
-			);
192
-
193
-			// Shipping Address.
194
-			if ( get_post_meta( $invoice->get_id(), 'shipping_address', true ) ) {
195
-				add_meta_box( 'wpinv-invoice-shipping-details', __( 'Shipping Address', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Shipping_Address::output', $post_type, 'side', 'high' );
196
-			}
197
-
198
-			// Payment form information.
199
-			if ( get_post_meta( $invoice->get_id(), 'payment_form_data', true ) ) {
200
-				add_meta_box( 'wpinv-invoice-payment-form-details', __( 'Payment Form Details', 'invoicing' ), 'WPInv_Meta_Box_Payment_Form::output_details', $post_type, 'side', 'high' );
201
-			}
202
-}
219
+    }
203 220
 
204
-	}
205
-
206
-	/**
207
-	 * Remove some metaboxes.
208
-	 */
209
-	public static function remove_meta_boxes() {
210
-		remove_meta_box( 'wpseo_meta', 'wpi_invoice', 'normal' );
211
-		remove_meta_box( 'postexcerpt', 'wpi_item', 'normal' );
212
-	}
213
-
214
-	/**
215
-	 * Rename other metaboxes.
216
-	 */
217
-	public static function rename_meta_boxes() {
218
-
219
-	}
220
-
221
-	/**
222
-	 * Check if we're saving, then trigger an action based on the post type.
223
-	 *
224
-	 * @param  int    $post_id Post ID.
225
-	 * @param  object $post Post object.
226
-	 */
227
-	public static function save_meta_boxes( $post_id, $post ) {
228
-		$post_id = absint( $post_id );
229
-		$data    = wp_kses_post_deep( wp_unslash( $_POST ) );
230
-
231
-		// Do not save for ajax requests.
232
-		if ( ( defined( 'DOING_AJAX' ) && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) {
233
-			return;
234
-		}
235
-
236
-		// $post_id and $post are required
237
-		if ( empty( $post_id ) || empty( $post ) || self::$saved_meta_boxes ) {
238
-			return;
239
-		}
240
-
241
-		// Dont' save meta boxes for revisions or autosaves.
242
-		if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || is_int( wp_is_post_revision( $post ) ) || is_int( wp_is_post_autosave( $post ) ) ) {
243
-			return;
244
-		}
245
-
246
-		// Check the nonce.
247
-		if ( empty( $data['getpaid_meta_nonce'] ) || ! wp_verify_nonce( $data['getpaid_meta_nonce'], 'getpaid_meta_nonce' ) ) {
248
-			return;
249
-		}
250
-
251
-		// Check the post being saved == the $post_id to prevent triggering this call for other save_post events.
252
-		if ( empty( $data['post_ID'] ) || absint( $data['post_ID'] ) !== $post_id ) {
253
-			return;
254
-		}
255
-
256
-		// Check user has permission to edit.
257
-		if ( ! current_user_can( 'edit_post', $post_id ) ) {
258
-			return;
259
-		}
260
-
261
-		if ( getpaid_is_invoice_post_type( $post->post_type ) ) {
262
-
263
-			// We need this save event to run once to avoid potential endless loops.
264
-			self::$saved_meta_boxes = true;
265
-
266
-			return GetPaid_Meta_Box_Invoice_Address::save( $post_id, wp_kses_post_deep( $_POST ) );
267
-
268
-		}
269
-
270
-		// Ensure this is our post type.
271
-		$post_types_map = array(
272
-			'wpi_item'         => 'GetPaid_Meta_Box_Item_Details',
273
-			'wpi_payment_form' => 'GetPaid_Meta_Box_Payment_Form',
274
-			'wpi_discount'     => 'GetPaid_Meta_Box_Discount_Details',
275
-		);
276
-
277
-		// Is this our post type?
278
-		if ( ! isset( $post_types_map[ $post->post_type ] ) ) {
279
-			return;
280
-		}
281
-
282
-		// We need this save event to run once to avoid potential endless loops.
283
-		self::$saved_meta_boxes = true;
284
-
285
-		// Save the post.
286
-		$class = $post_types_map[ $post->post_type ];
287
-		$class::save( $post_id, wp_kses_post_deep( $_POST ), $post );
288
-
289
-	}
221
+    /**
222
+     * Check if we're saving, then trigger an action based on the post type.
223
+     *
224
+     * @param  int    $post_id Post ID.
225
+     * @param  object $post Post object.
226
+     */
227
+    public static function save_meta_boxes( $post_id, $post ) {
228
+        $post_id = absint( $post_id );
229
+        $data    = wp_kses_post_deep( wp_unslash( $_POST ) );
230
+
231
+        // Do not save for ajax requests.
232
+        if ( ( defined( 'DOING_AJAX' ) && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) {
233
+            return;
234
+        }
235
+
236
+        // $post_id and $post are required
237
+        if ( empty( $post_id ) || empty( $post ) || self::$saved_meta_boxes ) {
238
+            return;
239
+        }
240
+
241
+        // Dont' save meta boxes for revisions or autosaves.
242
+        if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || is_int( wp_is_post_revision( $post ) ) || is_int( wp_is_post_autosave( $post ) ) ) {
243
+            return;
244
+        }
245
+
246
+        // Check the nonce.
247
+        if ( empty( $data['getpaid_meta_nonce'] ) || ! wp_verify_nonce( $data['getpaid_meta_nonce'], 'getpaid_meta_nonce' ) ) {
248
+            return;
249
+        }
250
+
251
+        // Check the post being saved == the $post_id to prevent triggering this call for other save_post events.
252
+        if ( empty( $data['post_ID'] ) || absint( $data['post_ID'] ) !== $post_id ) {
253
+            return;
254
+        }
255
+
256
+        // Check user has permission to edit.
257
+        if ( ! current_user_can( 'edit_post', $post_id ) ) {
258
+            return;
259
+        }
260
+
261
+        if ( getpaid_is_invoice_post_type( $post->post_type ) ) {
262
+
263
+            // We need this save event to run once to avoid potential endless loops.
264
+            self::$saved_meta_boxes = true;
265
+
266
+            return GetPaid_Meta_Box_Invoice_Address::save( $post_id, wp_kses_post_deep( $_POST ) );
267
+
268
+        }
269
+
270
+        // Ensure this is our post type.
271
+        $post_types_map = array(
272
+            'wpi_item'         => 'GetPaid_Meta_Box_Item_Details',
273
+            'wpi_payment_form' => 'GetPaid_Meta_Box_Payment_Form',
274
+            'wpi_discount'     => 'GetPaid_Meta_Box_Discount_Details',
275
+        );
276
+
277
+        // Is this our post type?
278
+        if ( ! isset( $post_types_map[ $post->post_type ] ) ) {
279
+            return;
280
+        }
281
+
282
+        // We need this save event to run once to avoid potential endless loops.
283
+        self::$saved_meta_boxes = true;
284
+
285
+        // Save the post.
286
+        $class = $post_types_map[ $post->post_type ];
287
+        $class::save( $post_id, wp_kses_post_deep( $_POST ), $post );
288
+
289
+    }
290 290
 
291 291
 }
Please login to merge, or discard this patch.
Spacing   +64 added lines, -64 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 
9 9
 /**
10 10
  * Metaboxes Admin Class
@@ -25,35 +25,35 @@  discard block
 block discarded – undo
25 25
 	public static function init() {
26 26
 
27 27
 		// Register metaboxes.
28
-		add_action( 'add_meta_boxes', 'GetPaid_Metaboxes::add_meta_boxes', 50, 2 );
28
+		add_action('add_meta_boxes', 'GetPaid_Metaboxes::add_meta_boxes', 50, 2);
29 29
 
30 30
 		// Remove metaboxes.
31
-		add_action( 'add_meta_boxes', 'GetPaid_Metaboxes::remove_meta_boxes', 30 );
31
+		add_action('add_meta_boxes', 'GetPaid_Metaboxes::remove_meta_boxes', 30);
32 32
 
33 33
 		// Rename metaboxes.
34
-		add_action( 'add_meta_boxes', 'GetPaid_Metaboxes::rename_meta_boxes', 45 );
34
+		add_action('add_meta_boxes', 'GetPaid_Metaboxes::rename_meta_boxes', 45);
35 35
 
36 36
 		// Save metaboxes.
37
-		add_action( 'save_post', 'GetPaid_Metaboxes::save_meta_boxes', 1, 2 );
37
+		add_action('save_post', 'GetPaid_Metaboxes::save_meta_boxes', 1, 2);
38 38
 	}
39 39
 
40 40
 	/**
41 41
 	 * Register core metaboxes.
42 42
 	 */
43
-	public static function add_meta_boxes( $post_type, $post ) {
43
+	public static function add_meta_boxes($post_type, $post) {
44 44
 
45 45
 		// For invoices.
46
-		self::add_invoice_meta_boxes( $post_type, $post );
46
+		self::add_invoice_meta_boxes($post_type, $post);
47 47
 
48 48
 		// For payment forms.
49
-		self::add_payment_form_meta_boxes( $post_type, $post );
49
+		self::add_payment_form_meta_boxes($post_type, $post);
50 50
 
51 51
 		// For invoice items.
52
-		self::add_item_meta_boxes( $post_type );
52
+		self::add_item_meta_boxes($post_type);
53 53
 
54 54
 		// For invoice discounts.
55
-		if ( 'wpi_discount' === $post_type ) {
56
-			add_meta_box( 'wpinv_discount_details', __( 'Discount Details', 'invoicing' ), 'GetPaid_Meta_Box_Discount_Details::output', 'wpi_discount', 'normal', 'high' );
55
+		if ('wpi_discount' === $post_type) {
56
+			add_meta_box('wpinv_discount_details', __('Discount Details', 'invoicing'), 'GetPaid_Meta_Box_Discount_Details::output', 'wpi_discount', 'normal', 'high');
57 57
 		}
58 58
 
59 59
 	}
@@ -61,17 +61,17 @@  discard block
 block discarded – undo
61 61
 	/**
62 62
 	 * Register core metaboxes.
63 63
 	 */
64
-	protected static function add_payment_form_meta_boxes( $post_type, $post ) {
64
+	protected static function add_payment_form_meta_boxes($post_type, $post) {
65 65
 
66 66
 		// For payment forms.
67
-		if ( 'wpi_payment_form' === $post_type ) {
67
+		if ('wpi_payment_form' === $post_type) {
68 68
 
69 69
 			// Design payment form.
70
-			add_meta_box( 'wpinv-payment-form-design', __( 'Payment Form', 'invoicing' ), 'GetPaid_Meta_Box_Payment_Form::output', 'wpi_payment_form', 'normal' );
70
+			add_meta_box('wpinv-payment-form-design', __('Payment Form', 'invoicing'), 'GetPaid_Meta_Box_Payment_Form::output', 'wpi_payment_form', 'normal');
71 71
 
72 72
 			// Payment form information.
73
-			if ( wpinv_get_default_payment_form() !== $post->ID ) {
74
-				add_meta_box( 'wpinv-payment-form-info', __( 'Details', 'invoicing' ), 'GetPaid_Meta_Box_Payment_Form_Info::output', 'wpi_payment_form', 'side' );
73
+			if (wpinv_get_default_payment_form() !== $post->ID) {
74
+				add_meta_box('wpinv-payment-form-info', __('Details', 'invoicing'), 'GetPaid_Meta_Box_Payment_Form_Info::output', 'wpi_payment_form', 'side');
75 75
 			}
76 76
 }
77 77
 
@@ -80,23 +80,23 @@  discard block
 block discarded – undo
80 80
 	/**
81 81
 	 * Register core metaboxes.
82 82
 	 */
83
-	protected static function add_item_meta_boxes( $post_type ) {
83
+	protected static function add_item_meta_boxes($post_type) {
84 84
 
85
-		if ( 'wpi_item' === $post_type ) {
85
+		if ('wpi_item' === $post_type) {
86 86
 
87 87
 			// Item details.
88
-			add_meta_box( 'wpinv_item_details', __( 'Item Details', 'invoicing' ), 'GetPaid_Meta_Box_Item_Details::output', 'wpi_item', 'normal', 'high' );
88
+			add_meta_box('wpinv_item_details', __('Item Details', 'invoicing'), 'GetPaid_Meta_Box_Item_Details::output', 'wpi_item', 'normal', 'high');
89 89
 
90 90
 			// If taxes are enabled, register the tax metabox.
91
-			if ( wpinv_use_taxes() ) {
92
-				add_meta_box( 'wpinv_item_vat', __( 'Tax', 'invoicing' ), 'GetPaid_Meta_Box_Item_VAT::output', 'wpi_item', 'normal', 'high' );
91
+			if (wpinv_use_taxes()) {
92
+				add_meta_box('wpinv_item_vat', __('Tax', 'invoicing'), 'GetPaid_Meta_Box_Item_VAT::output', 'wpi_item', 'normal', 'high');
93 93
 			}
94 94
 
95 95
 			// Item info.
96
-			add_meta_box( 'wpinv_field_item_info', __( 'Item info', 'invoicing' ), 'GetPaid_Meta_Box_Item_Info::output', 'wpi_item', 'side', 'core' );
96
+			add_meta_box('wpinv_field_item_info', __('Item info', 'invoicing'), 'GetPaid_Meta_Box_Item_Info::output', 'wpi_item', 'side', 'core');
97 97
 
98 98
 			// Item description.
99
-			add_meta_box( 'postexcerpt', __( 'Item Description', 'invoicing' ), 'GetPaid_Meta_Box_Description::output', 'wpi_item', 'normal' );
99
+			add_meta_box('postexcerpt', __('Item Description', 'invoicing'), 'GetPaid_Meta_Box_Description::output', 'wpi_item', 'normal');
100 100
 		}
101 101
 
102 102
 	}
@@ -104,21 +104,21 @@  discard block
 block discarded – undo
104 104
 	/**
105 105
 	 * Register invoice metaboxes.
106 106
 	 */
107
-	protected static function add_invoice_meta_boxes( $post_type, $post ) {
107
+	protected static function add_invoice_meta_boxes($post_type, $post) {
108 108
 
109 109
 		// For invoices...
110
-		if ( getpaid_is_invoice_post_type( $post_type ) ) {
111
-			$invoice = new WPInv_Invoice( $post );
110
+		if (getpaid_is_invoice_post_type($post_type)) {
111
+			$invoice = new WPInv_Invoice($post);
112 112
 
113 113
 			// Resend invoice.
114
-			if ( ! $invoice->is_draft() ) {
114
+			if (!$invoice->is_draft()) {
115 115
 
116 116
 				add_meta_box(
117 117
 					'wpinv-mb-resend-invoice',
118 118
 					sprintf(
119 119
 						// translators: %s is the invoice type.
120
-						__( 'Resend %s', 'invoicing' ),
121
-						ucfirst( $invoice->get_invoice_quote_type() )
120
+						__('Resend %s', 'invoicing'),
121
+						ucfirst($invoice->get_invoice_quote_type())
122 122
 					),
123 123
 					'GetPaid_Meta_Box_Resend_Invoice::output',
124 124
 					$post_type,
@@ -129,17 +129,17 @@  discard block
 block discarded – undo
129 129
 			}
130 130
 
131 131
 			// Subscriptions.
132
-			$subscriptions = getpaid_get_invoice_subscriptions( $invoice );
133
-			if ( ! empty( $subscriptions ) ) {
132
+			$subscriptions = getpaid_get_invoice_subscriptions($invoice);
133
+			if (!empty($subscriptions)) {
134 134
 
135
-				if ( is_array( $subscriptions ) ) {
136
-					add_meta_box( 'wpinv-mb-subscriptions', __( 'Related Subscriptions', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Subscription::output_related', $post_type, 'advanced' );
135
+				if (is_array($subscriptions)) {
136
+					add_meta_box('wpinv-mb-subscriptions', __('Related Subscriptions', 'invoicing'), 'GetPaid_Meta_Box_Invoice_Subscription::output_related', $post_type, 'advanced');
137 137
 				} else {
138
-					add_meta_box( 'wpinv-mb-subscriptions', __( 'Subscription Details', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Subscription::output', $post_type, 'advanced' );
138
+					add_meta_box('wpinv-mb-subscriptions', __('Subscription Details', 'invoicing'), 'GetPaid_Meta_Box_Invoice_Subscription::output', $post_type, 'advanced');
139 139
 				}
140 140
 
141
-				if ( getpaid_count_subscription_invoices( $invoice->is_renewal() ? $invoice->get_parent_id() : $invoice->get_id() ) > 1 ) {
142
-					add_meta_box( 'wpinv-mb-subscription-invoices', __( 'Related Payments', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Subscription::output_invoices', $post_type, 'advanced' );
141
+				if (getpaid_count_subscription_invoices($invoice->is_renewal() ? $invoice->get_parent_id() : $invoice->get_id()) > 1) {
142
+					add_meta_box('wpinv-mb-subscription-invoices', __('Related Payments', 'invoicing'), 'GetPaid_Meta_Box_Invoice_Subscription::output_invoices', $post_type, 'advanced');
143 143
 				}
144 144
 }
145 145
 
@@ -148,8 +148,8 @@  discard block
 block discarded – undo
148 148
 				'wpinv-details',
149 149
 				sprintf(
150 150
 					// translators: %s is the invoice type.
151
-					__( '%s Details', 'invoicing' ),
152
-					ucfirst( $invoice->get_invoice_quote_type() )
151
+					__('%s Details', 'invoicing'),
152
+					ucfirst($invoice->get_invoice_quote_type())
153 153
 				),
154 154
 				'GetPaid_Meta_Box_Invoice_Details::output',
155 155
 				$post_type,
@@ -157,18 +157,18 @@  discard block
 block discarded – undo
157 157
 			);
158 158
 
159 159
 			// Payment details.
160
-			add_meta_box( 'wpinv-payment-meta', __( 'Payment Meta', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Payment_Meta::output', $post_type, 'side', 'default' );
160
+			add_meta_box('wpinv-payment-meta', __('Payment Meta', 'invoicing'), 'GetPaid_Meta_Box_Invoice_Payment_Meta::output', $post_type, 'side', 'default');
161 161
 
162 162
 			// Billing details.
163
-			add_meta_box( 'wpinv-address', __( 'Billing Details', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Address::output', $post_type, 'normal', 'high' );
163
+			add_meta_box('wpinv-address', __('Billing Details', 'invoicing'), 'GetPaid_Meta_Box_Invoice_Address::output', $post_type, 'normal', 'high');
164 164
 
165 165
 			// Invoice items.
166 166
 			add_meta_box(
167 167
 				'wpinv-items',
168 168
 				sprintf(
169 169
 					// translators: %s is the invoice type.
170
-					__( '%s Items', 'invoicing' ),
171
-					ucfirst( $invoice->get_invoice_quote_type() )
170
+					__('%s Items', 'invoicing'),
171
+					ucfirst($invoice->get_invoice_quote_type())
172 172
 				),
173 173
 				'GetPaid_Meta_Box_Invoice_Items::output',
174 174
 				$post_type,
@@ -181,8 +181,8 @@  discard block
 block discarded – undo
181 181
 				'wpinv-notes',
182 182
 				sprintf(
183 183
 					// translators: %s is the invoice type.
184
-					__( '%s Notes', 'invoicing' ),
185
-					ucfirst( $invoice->get_invoice_quote_type() )
184
+					__('%s Notes', 'invoicing'),
185
+					ucfirst($invoice->get_invoice_quote_type())
186 186
 				),
187 187
 				'WPInv_Meta_Box_Notes::output',
188 188
 				$post_type,
@@ -191,13 +191,13 @@  discard block
 block discarded – undo
191 191
 			);
192 192
 
193 193
 			// Shipping Address.
194
-			if ( get_post_meta( $invoice->get_id(), 'shipping_address', true ) ) {
195
-				add_meta_box( 'wpinv-invoice-shipping-details', __( 'Shipping Address', 'invoicing' ), 'GetPaid_Meta_Box_Invoice_Shipping_Address::output', $post_type, 'side', 'high' );
194
+			if (get_post_meta($invoice->get_id(), 'shipping_address', true)) {
195
+				add_meta_box('wpinv-invoice-shipping-details', __('Shipping Address', 'invoicing'), 'GetPaid_Meta_Box_Invoice_Shipping_Address::output', $post_type, 'side', 'high');
196 196
 			}
197 197
 
198 198
 			// Payment form information.
199
-			if ( get_post_meta( $invoice->get_id(), 'payment_form_data', true ) ) {
200
-				add_meta_box( 'wpinv-invoice-payment-form-details', __( 'Payment Form Details', 'invoicing' ), 'WPInv_Meta_Box_Payment_Form::output_details', $post_type, 'side', 'high' );
199
+			if (get_post_meta($invoice->get_id(), 'payment_form_data', true)) {
200
+				add_meta_box('wpinv-invoice-payment-form-details', __('Payment Form Details', 'invoicing'), 'WPInv_Meta_Box_Payment_Form::output_details', $post_type, 'side', 'high');
201 201
 			}
202 202
 }
203 203
 
@@ -207,8 +207,8 @@  discard block
 block discarded – undo
207 207
 	 * Remove some metaboxes.
208 208
 	 */
209 209
 	public static function remove_meta_boxes() {
210
-		remove_meta_box( 'wpseo_meta', 'wpi_invoice', 'normal' );
211
-		remove_meta_box( 'postexcerpt', 'wpi_item', 'normal' );
210
+		remove_meta_box('wpseo_meta', 'wpi_invoice', 'normal');
211
+		remove_meta_box('postexcerpt', 'wpi_item', 'normal');
212 212
 	}
213 213
 
214 214
 	/**
@@ -224,46 +224,46 @@  discard block
 block discarded – undo
224 224
 	 * @param  int    $post_id Post ID.
225 225
 	 * @param  object $post Post object.
226 226
 	 */
227
-	public static function save_meta_boxes( $post_id, $post ) {
228
-		$post_id = absint( $post_id );
229
-		$data    = wp_kses_post_deep( wp_unslash( $_POST ) );
227
+	public static function save_meta_boxes($post_id, $post) {
228
+		$post_id = absint($post_id);
229
+		$data    = wp_kses_post_deep(wp_unslash($_POST));
230 230
 
231 231
 		// Do not save for ajax requests.
232
-		if ( ( defined( 'DOING_AJAX' ) && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) {
232
+		if ((defined('DOING_AJAX') && DOING_AJAX) || isset($_REQUEST['bulk_edit'])) {
233 233
 			return;
234 234
 		}
235 235
 
236 236
 		// $post_id and $post are required
237
-		if ( empty( $post_id ) || empty( $post ) || self::$saved_meta_boxes ) {
237
+		if (empty($post_id) || empty($post) || self::$saved_meta_boxes) {
238 238
 			return;
239 239
 		}
240 240
 
241 241
 		// Dont' save meta boxes for revisions or autosaves.
242
-		if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || is_int( wp_is_post_revision( $post ) ) || is_int( wp_is_post_autosave( $post ) ) ) {
242
+		if ((defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) || is_int(wp_is_post_revision($post)) || is_int(wp_is_post_autosave($post))) {
243 243
 			return;
244 244
 		}
245 245
 
246 246
 		// Check the nonce.
247
-		if ( empty( $data['getpaid_meta_nonce'] ) || ! wp_verify_nonce( $data['getpaid_meta_nonce'], 'getpaid_meta_nonce' ) ) {
247
+		if (empty($data['getpaid_meta_nonce']) || !wp_verify_nonce($data['getpaid_meta_nonce'], 'getpaid_meta_nonce')) {
248 248
 			return;
249 249
 		}
250 250
 
251 251
 		// Check the post being saved == the $post_id to prevent triggering this call for other save_post events.
252
-		if ( empty( $data['post_ID'] ) || absint( $data['post_ID'] ) !== $post_id ) {
252
+		if (empty($data['post_ID']) || absint($data['post_ID']) !== $post_id) {
253 253
 			return;
254 254
 		}
255 255
 
256 256
 		// Check user has permission to edit.
257
-		if ( ! current_user_can( 'edit_post', $post_id ) ) {
257
+		if (!current_user_can('edit_post', $post_id)) {
258 258
 			return;
259 259
 		}
260 260
 
261
-		if ( getpaid_is_invoice_post_type( $post->post_type ) ) {
261
+		if (getpaid_is_invoice_post_type($post->post_type)) {
262 262
 
263 263
 			// We need this save event to run once to avoid potential endless loops.
264 264
 			self::$saved_meta_boxes = true;
265 265
 
266
-			return GetPaid_Meta_Box_Invoice_Address::save( $post_id, wp_kses_post_deep( $_POST ) );
266
+			return GetPaid_Meta_Box_Invoice_Address::save($post_id, wp_kses_post_deep($_POST));
267 267
 
268 268
 		}
269 269
 
@@ -275,7 +275,7 @@  discard block
 block discarded – undo
275 275
 		);
276 276
 
277 277
 		// Is this our post type?
278
-		if ( ! isset( $post_types_map[ $post->post_type ] ) ) {
278
+		if (!isset($post_types_map[$post->post_type])) {
279 279
 			return;
280 280
 		}
281 281
 
@@ -283,8 +283,8 @@  discard block
 block discarded – undo
283 283
 		self::$saved_meta_boxes = true;
284 284
 
285 285
 		// Save the post.
286
-		$class = $post_types_map[ $post->post_type ];
287
-		$class::save( $post_id, wp_kses_post_deep( $_POST ), $post );
286
+		$class = $post_types_map[$post->post_type];
287
+		$class::save($post_id, wp_kses_post_deep($_POST), $post);
288 288
 
289 289
 	}
290 290
 
Please login to merge, or discard this patch.
ayecode/wp-ayecode-ui/includes/components/class-aui-component-alert.php 3 patches
Indentation   +83 added lines, -83 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 if ( ! defined( 'ABSPATH' ) ) {
4
-	exit; // Exit if accessed directly
4
+    exit; // Exit if accessed directly
5 5
 }
6 6
 
7 7
 /**
@@ -11,87 +11,87 @@  discard block
 block discarded – undo
11 11
  */
12 12
 class AUI_Component_Alert {
13 13
 
14
-	/**
15
-	 * Build the component.
16
-	 * 
17
-	 * @param array $args
18
-	 *
19
-	 * @return string The rendered component.
20
-	 */
21
-	public static function get($args = array()){
22
-		global $aui_bs5;
23
-		$defaults = array(
24
-			'type'       => 'info',
25
-			'class'      => '',
26
-			'icon' => '',
27
-			'heading'    => '',
28
-			'content'    => '',
29
-			'footer'     => '',
30
-			'dismissible'=> false,
31
-			'data'       => '',
32
-		);
33
-
34
-		/**
35
-		 * Parse incoming $args into an array and merge it with $defaults
36
-		 */
37
-		$args   = wp_parse_args( $args, $defaults );
38
-		$output = '';
39
-		if ( ! empty( $args['content'] ) ) {
40
-			$type = sanitize_html_class( $args['type'] );
41
-			if($type=='error'){$type='danger';}
42
-			$icon = !empty($args['icon']) ? "<i class='".esc_attr($args['icon'])."'></i>" : '';
43
-
44
-			// set default icon
45
-			if(!$icon && $args['icon']!==false && $type){
46
-				if($type=='danger'){$icon = '<i class="fas fa-exclamation-circle"></i>';}
47
-				elseif($type=='warning'){$icon = '<i class="fas fa-exclamation-triangle"></i>';}
48
-				elseif($type=='success'){$icon = '<i class="fas fa-check-circle"></i>';}
49
-				elseif($type=='info'){$icon = '<i class="fas fa-info-circle"></i>';}
50
-			}
51
-
52
-			$data = '';
53
-			$class = !empty($args['class']) ? esc_attr($args['class']) : '';
54
-			if($args['dismissible']){$class .= " alert-dismissible fade show";}
55
-
56
-			// open
57
-			$output .= '<div class="alert alert-' . $type . ' '.$class.'" role="alert" '.$data.'>';
58
-
59
-			// heading
60
-			if ( ! empty( $args['heading'] ) ) {
61
-				$output .= '<h4 class="alert-heading">' . $args['heading'] . '</h4>';
62
-			}
63
-
64
-			// icon
65
-			if ( ! empty( $icon) ) {
66
-				$output .= $icon." ";
67
-			}
68
-
69
-			// content
70
-			$output .= $args['content'];
71
-
72
-			// dismissible
73
-			if($args['dismissible']){
74
-
75
-				if ( $aui_bs5 ) {
76
-					$output .= '<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>';
77
-				}else{
78
-					$output .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close">';
79
-					$output .= '<span aria-hidden="true">&times;</span>';
80
-					$output .= '</button>';
81
-				}
82
-			}
83
-
84
-			// footer
85
-			if ( ! empty( $args['footer'] ) ) {
86
-				$output .= '<hr>';
87
-				$output .= '<p class="mb-0">' . $args['footer'] . '</p>';
88
-			}
89
-
90
-			// close
91
-			$output .= '</div>';
92
-		}
93
-
94
-		return $output;
95
-	}
14
+    /**
15
+     * Build the component.
16
+     * 
17
+     * @param array $args
18
+     *
19
+     * @return string The rendered component.
20
+     */
21
+    public static function get($args = array()){
22
+        global $aui_bs5;
23
+        $defaults = array(
24
+            'type'       => 'info',
25
+            'class'      => '',
26
+            'icon' => '',
27
+            'heading'    => '',
28
+            'content'    => '',
29
+            'footer'     => '',
30
+            'dismissible'=> false,
31
+            'data'       => '',
32
+        );
33
+
34
+        /**
35
+         * Parse incoming $args into an array and merge it with $defaults
36
+         */
37
+        $args   = wp_parse_args( $args, $defaults );
38
+        $output = '';
39
+        if ( ! empty( $args['content'] ) ) {
40
+            $type = sanitize_html_class( $args['type'] );
41
+            if($type=='error'){$type='danger';}
42
+            $icon = !empty($args['icon']) ? "<i class='".esc_attr($args['icon'])."'></i>" : '';
43
+
44
+            // set default icon
45
+            if(!$icon && $args['icon']!==false && $type){
46
+                if($type=='danger'){$icon = '<i class="fas fa-exclamation-circle"></i>';}
47
+                elseif($type=='warning'){$icon = '<i class="fas fa-exclamation-triangle"></i>';}
48
+                elseif($type=='success'){$icon = '<i class="fas fa-check-circle"></i>';}
49
+                elseif($type=='info'){$icon = '<i class="fas fa-info-circle"></i>';}
50
+            }
51
+
52
+            $data = '';
53
+            $class = !empty($args['class']) ? esc_attr($args['class']) : '';
54
+            if($args['dismissible']){$class .= " alert-dismissible fade show";}
55
+
56
+            // open
57
+            $output .= '<div class="alert alert-' . $type . ' '.$class.'" role="alert" '.$data.'>';
58
+
59
+            // heading
60
+            if ( ! empty( $args['heading'] ) ) {
61
+                $output .= '<h4 class="alert-heading">' . $args['heading'] . '</h4>';
62
+            }
63
+
64
+            // icon
65
+            if ( ! empty( $icon) ) {
66
+                $output .= $icon." ";
67
+            }
68
+
69
+            // content
70
+            $output .= $args['content'];
71
+
72
+            // dismissible
73
+            if($args['dismissible']){
74
+
75
+                if ( $aui_bs5 ) {
76
+                    $output .= '<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>';
77
+                }else{
78
+                    $output .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close">';
79
+                    $output .= '<span aria-hidden="true">&times;</span>';
80
+                    $output .= '</button>';
81
+                }
82
+            }
83
+
84
+            // footer
85
+            if ( ! empty( $args['footer'] ) ) {
86
+                $output .= '<hr>';
87
+                $output .= '<p class="mb-0">' . $args['footer'] . '</p>';
88
+            }
89
+
90
+            // close
91
+            $output .= '</div>';
92
+        }
93
+
94
+        return $output;
95
+    }
96 96
 
97 97
 }
98 98
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3
-if ( ! defined( 'ABSPATH' ) ) {
3
+if (!defined('ABSPATH')) {
4 4
 	exit; // Exit if accessed directly
5 5
 }
6 6
 
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
 	 *
19 19
 	 * @return string The rendered component.
20 20
 	 */
21
-	public static function get($args = array()){
21
+	public static function get($args = array()) {
22 22
 		global $aui_bs5;
23 23
 		$defaults = array(
24 24
 			'type'       => 'info',
@@ -34,47 +34,47 @@  discard block
 block discarded – undo
34 34
 		/**
35 35
 		 * Parse incoming $args into an array and merge it with $defaults
36 36
 		 */
37
-		$args   = wp_parse_args( $args, $defaults );
37
+		$args   = wp_parse_args($args, $defaults);
38 38
 		$output = '';
39
-		if ( ! empty( $args['content'] ) ) {
40
-			$type = sanitize_html_class( $args['type'] );
41
-			if($type=='error'){$type='danger';}
42
-			$icon = !empty($args['icon']) ? "<i class='".esc_attr($args['icon'])."'></i>" : '';
39
+		if (!empty($args['content'])) {
40
+			$type = sanitize_html_class($args['type']);
41
+			if ($type == 'error') {$type = 'danger'; }
42
+			$icon = !empty($args['icon']) ? "<i class='" . esc_attr($args['icon']) . "'></i>" : '';
43 43
 
44 44
 			// set default icon
45
-			if(!$icon && $args['icon']!==false && $type){
46
-				if($type=='danger'){$icon = '<i class="fas fa-exclamation-circle"></i>';}
47
-				elseif($type=='warning'){$icon = '<i class="fas fa-exclamation-triangle"></i>';}
48
-				elseif($type=='success'){$icon = '<i class="fas fa-check-circle"></i>';}
49
-				elseif($type=='info'){$icon = '<i class="fas fa-info-circle"></i>';}
45
+			if (!$icon && $args['icon'] !== false && $type) {
46
+				if ($type == 'danger') {$icon = '<i class="fas fa-exclamation-circle"></i>'; }
47
+				elseif ($type == 'warning') {$icon = '<i class="fas fa-exclamation-triangle"></i>'; }
48
+				elseif ($type == 'success') {$icon = '<i class="fas fa-check-circle"></i>'; }
49
+				elseif ($type == 'info') {$icon = '<i class="fas fa-info-circle"></i>'; }
50 50
 			}
51 51
 
52 52
 			$data = '';
53 53
 			$class = !empty($args['class']) ? esc_attr($args['class']) : '';
54
-			if($args['dismissible']){$class .= " alert-dismissible fade show";}
54
+			if ($args['dismissible']) {$class .= " alert-dismissible fade show"; }
55 55
 
56 56
 			// open
57
-			$output .= '<div class="alert alert-' . $type . ' '.$class.'" role="alert" '.$data.'>';
57
+			$output .= '<div class="alert alert-' . $type . ' ' . $class . '" role="alert" ' . $data . '>';
58 58
 
59 59
 			// heading
60
-			if ( ! empty( $args['heading'] ) ) {
60
+			if (!empty($args['heading'])) {
61 61
 				$output .= '<h4 class="alert-heading">' . $args['heading'] . '</h4>';
62 62
 			}
63 63
 
64 64
 			// icon
65
-			if ( ! empty( $icon) ) {
66
-				$output .= $icon." ";
65
+			if (!empty($icon)) {
66
+				$output .= $icon . " ";
67 67
 			}
68 68
 
69 69
 			// content
70 70
 			$output .= $args['content'];
71 71
 
72 72
 			// dismissible
73
-			if($args['dismissible']){
73
+			if ($args['dismissible']) {
74 74
 
75
-				if ( $aui_bs5 ) {
75
+				if ($aui_bs5) {
76 76
 					$output .= '<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>';
77
-				}else{
77
+				} else {
78 78
 					$output .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close">';
79 79
 					$output .= '<span aria-hidden="true">&times;</span>';
80 80
 					$output .= '</button>';
@@ -82,7 +82,7 @@  discard block
 block discarded – undo
82 82
 			}
83 83
 
84 84
 			// footer
85
-			if ( ! empty( $args['footer'] ) ) {
85
+			if (!empty($args['footer'])) {
86 86
 				$output .= '<hr>';
87 87
 				$output .= '<p class="mb-0">' . $args['footer'] . '</p>';
88 88
 			}
Please login to merge, or discard this patch.
Braces   +2 added lines, -5 removed lines patch added patch discarded remove patch
@@ -43,10 +43,7 @@  discard block
 block discarded – undo
43 43
 
44 44
 			// set default icon
45 45
 			if(!$icon && $args['icon']!==false && $type){
46
-				if($type=='danger'){$icon = '<i class="fas fa-exclamation-circle"></i>';}
47
-				elseif($type=='warning'){$icon = '<i class="fas fa-exclamation-triangle"></i>';}
48
-				elseif($type=='success'){$icon = '<i class="fas fa-check-circle"></i>';}
49
-				elseif($type=='info'){$icon = '<i class="fas fa-info-circle"></i>';}
46
+				if($type=='danger'){$icon = '<i class="fas fa-exclamation-circle"></i>';} elseif($type=='warning'){$icon = '<i class="fas fa-exclamation-triangle"></i>';} elseif($type=='success'){$icon = '<i class="fas fa-check-circle"></i>';} elseif($type=='info'){$icon = '<i class="fas fa-info-circle"></i>';}
50 47
 			}
51 48
 
52 49
 			$data = '';
@@ -74,7 +71,7 @@  discard block
 block discarded – undo
74 71
 
75 72
 				if ( $aui_bs5 ) {
76 73
 					$output .= '<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>';
77
-				}else{
74
+				} else{
78 75
 					$output .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close">';
79 76
 					$output .= '<span aria-hidden="true">&times;</span>';
80 77
 					$output .= '</button>';
Please login to merge, or discard this patch.
ayecode/wp-ayecode-ui/includes/components/class-aui-component-input.php 3 patches
Braces   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -99,7 +99,7 @@  discard block
 block discarded – undo
99 99
 			if ( $args['size'] == 'lg' || $args['size'] == 'large' ) {
100 100
 				$size = 'lg';
101 101
 				$args['class'] .= ' form-control-lg';
102
-			}elseif ( $args['size'] == 'sm' || $args['size'] == 'small' ) {
102
+			} elseif ( $args['size'] == 'sm' || $args['size'] == 'small' ) {
103 103
 				$size = 'sm';
104 104
 				$args['class'] .= ' form-control-sm';
105 105
 			}
@@ -248,7 +248,7 @@  discard block
 block discarded – undo
248 248
 						$help_text = '';
249 249
 						//$label_args['class'] .= ' d-inline ';
250 250
 						$args['wrap_class'] .= ' align-items-center ';
251
-					}else{
251
+					} else{
252 252
 
253 253
 					}
254 254
 
@@ -282,7 +282,7 @@  discard block
 block discarded – undo
282 282
 				$switch_size_class = $args['switch'] && !is_bool( $args['switch'] ) ? ' custom-switch-'.esc_attr( $args['switch'] ) : '';
283 283
 				if ( $aui_bs5 ) {
284 284
 					$wrap_class = $args['switch'] ? 'form-check form-switch' . $switch_size_class : 'form-check';
285
-				}else{
285
+				} else{
286 286
 					$wrap_class = $args['switch'] ? 'custom-switch' . $switch_size_class :  'custom-checkbox' ;
287 287
 				}
288 288
 				if ( ! empty( $args['label_force_left'] ) ) {
@@ -356,7 +356,7 @@  discard block
 block discarded – undo
356 356
 			if ( ! $args['no_wrap'] ) {
357 357
 				if ( ! empty( $args['form_group_class'] ) ) {
358 358
 					$fg_class = esc_attr( $args['form_group_class'] );
359
-				}else{
359
+				} else{
360 360
 					$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
361 361
 				}
362 362
 				$form_group_class = $args['label_type'] == 'floating' && $type != 'checkbox' ? 'form-label-group' : $fg_class;
@@ -759,7 +759,7 @@  discard block
 block discarded – undo
759 759
 		if ( ! $args['no_wrap'] ) {
760 760
 			if ( ! empty( $args['form_group_class'] ) ) {
761 761
 				$fg_class = esc_attr( $args['form_group_class'] );
762
-			}else{
762
+			} else{
763 763
 				$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
764 764
 			}
765 765
 			$form_group_class = $args['label_type'] == 'floating' ? 'form-label-group' : $fg_class;
@@ -1051,7 +1051,7 @@  discard block
 block discarded – undo
1051 1051
 		if ( ! $args['no_wrap'] ) {
1052 1052
 			if ( ! empty( $args['form_group_class'] ) ) {
1053 1053
 				$fg_class = esc_attr( $args['form_group_class'] );
1054
-			}else{
1054
+			} else{
1055 1055
 				$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1056 1056
 			}
1057 1057
 			$wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
Please login to merge, or discard this patch.
Indentation   +1284 added lines, -1284 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 if ( ! defined( 'ABSPATH' ) ) {
4
-	exit; // Exit if accessed directly
4
+    exit; // Exit if accessed directly
5 5
 }
6 6
 
7 7
 /**
@@ -11,1303 +11,1303 @@  discard block
 block discarded – undo
11 11
  */
12 12
 class AUI_Component_Input {
13 13
 
14
-	/**
15
-	 * Build the component.
16
-	 *
17
-	 * @param array $args
18
-	 *
19
-	 * @return string The rendered component.
20
-	 */
21
-	public static function input( $args = array() ) {
22
-		global $aui_bs5;
23
-
24
-		$defaults = array(
25
-			'type'                     => 'text',
26
-			'name'                     => '',
27
-			'class'                    => '',
28
-			'wrap_class'               => '',
29
-			'id'                       => '',
30
-			'placeholder'              => '',
31
-			'title'                    => '',
32
-			'value'                    => '',
33
-			'required'                 => false,
34
-			'size'                     => '', // sm, lg, small, large
35
-			'clear_icon'               => '', // true will show a clear icon, can't be used with input_group_right
36
-			'with_hidden'              => false, // Append hidden field for single checkbox.
37
-			'label'                    => '',
38
-			'label_after'              => false,
39
-			'label_class'              => '',
40
-			'label_col'                => '2',
41
-			'label_type'               => '', // top, horizontal, empty = hidden
42
-			'label_force_left'         => false, // used to force checkbox label left when using horizontal
43
-			// sets the label type, default: hidden. Options: hidden, top, horizontal, floating
44
-			'help_text'                => '',
45
-			'validation_text'          => '',
46
-			'validation_pattern'       => '',
47
-			'no_wrap'                  => false,
48
-			'input_group_right'        => '',
49
-			'input_group_left'         => '',
50
-			'input_group_right_inside' => false,
51
-			// forces the input group inside the input
52
-			'input_group_left_inside'  => false,
53
-			// forces the input group inside the input
54
-			'form_group_class'         => '',
55
-			'step'                     => '',
56
-			'switch'                   => false,
57
-			// to show checkbox as a switch
58
-			'checked'                  => false,
59
-			// set a checkbox or radio as selected
60
-			'password_toggle'          => true,
61
-			// toggle view/hide password
62
-			'element_require'          => '',
63
-			// [%element_id%] == "1"
64
-			'extra_attributes'         => array(),
65
-			// an array of extra attributes
66
-			'wrap_attributes'          => array()
67
-		);
68
-
69
-		/**
70
-		 * Parse incoming $args into an array and merge it with $defaults
71
-		 */
72
-		$args   = wp_parse_args( $args, $defaults );
73
-		$output = '';
74
-		if ( ! empty( $args['type'] ) ) {
75
-			// hidden label option needs to be empty
76
-			$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
77
-
78
-			$type = sanitize_html_class( $args['type'] );
79
-
80
-			$help_text   = '';
81
-			$label       = '';
82
-			$label_after = $args['label_after'];
83
-			$label_args  = array(
84
-				'title'      => $args['label'],
85
-				'for'        => $args['id'],
86
-				'class'      => $args['label_class'] . " ",
87
-				'label_type' => $args['label_type'],
88
-				'label_col'  => $args['label_col']
89
-			);
90
-
91
-			// floating labels need label after
92
-			if ( $args['label_type'] == 'floating' && $type != 'checkbox' ) {
93
-				$label_after         = true;
94
-				$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
95
-			}
96
-
97
-			// size
98
-			$size = '';
99
-			if ( $args['size'] == 'lg' || $args['size'] == 'large' ) {
100
-				$size = 'lg';
101
-				$args['class'] .= ' form-control-lg';
102
-			}elseif ( $args['size'] == 'sm' || $args['size'] == 'small' ) {
103
-				$size = 'sm';
104
-				$args['class'] .= ' form-control-sm';
105
-			}
106
-
107
-			// clear function
108
-			$clear_function = 'jQuery(this).parent().parent().find(\'input\').val(\'\');';
109
-
110
-			// Some special sauce for files
111
-			if ( $type == 'file' ) {
112
-				$label_after = true; // if type file we need the label after
113
-				$args['class'] .= ' custom-file-input ';
114
-			} elseif ( $type == 'checkbox' ) {
115
-				$label_after = true; // if type file we need the label after
116
-				$args['class'] .= $aui_bs5 ? ' form-check-input c-pointer ' : ' custom-control-input c-pointer ';
117
-			} elseif ( $type == 'datepicker' || $type == 'timepicker' ) {
118
-				$orig_type = $type;
119
-				$type = 'text';
120
-				$args['class'] .= ' bg-initial '; // @todo not sure why we have this?
121
-				$clear_function .= "jQuery(this).parent().parent().find('input[name=\'" . esc_attr( $args['name'] ) . "\']').trigger('change');";
122
-
123
-				$args['extra_attributes']['data-aui-init'] = 'flatpickr';
124
-
125
-				// Disable native datetime inputs.
126
-				$disable_mobile_attr = isset( $args['extra_attributes']['data-disable-mobile'] ) ? $args['extra_attributes']['data-disable-mobile'] : 'true';
127
-				$disable_mobile_attr = apply_filters( 'aui_flatpickr_disable_disable_mobile_attr', $disable_mobile_attr, $args );
128
-
129
-				$args['extra_attributes']['data-disable-mobile'] = $disable_mobile_attr;
130
-
131
-				// set a way to clear field if empty
132
-				if ( $args['input_group_right'] === '' && $args['clear_icon'] !== false ) {
133
-					$args['input_group_right_inside'] = true;
134
-					$args['clear_icon'] = true;
135
-				}
136
-
137
-				// enqueue the script
138
-				$aui_settings = AyeCode_UI_Settings::instance();
139
-				$aui_settings->enqueue_flatpickr();
140
-			} else if ( $type == 'iconpicker' ) {
141
-				$type = 'text';
142
-
143
-				// Validate FA icon.
144
-				$args['value'] = AUI_Component_Helper::sanitize_fa_icon( $args['value'], $args );
145
-
146
-				$args['extra_attributes']['data-aui-init'] = 'iconpicker';
147
-				$args['extra_attributes']['data-placement'] = 'bottomRight';
148
-
149
-				$args['input_group_right'] = '<span class="input-group-addon input-group-text c-pointer"></span>';
150
-
151
-				// Enqueue the script
152
-				$aui_settings = AyeCode_UI_Settings::instance();
153
-				$aui_settings->enqueue_iconpicker();
154
-			}
155
-
156
-			if ( $type == 'checkbox' && ( ( ! empty( $args['name'] ) && strpos( $args['name'], '[' ) === false ) || ! empty( $args['with_hidden'] ) ) ) {
157
-				$output .= '<input type="hidden" name="' . esc_attr( $args['name'] ) . '" value="0" />';
158
-			}
159
-
160
-			// allow clear icon
161
-			if ( $args['input_group_right'] === '' && $args['clear_icon'] ) {
162
-				$font_size = $size == 'sm' ? '1.3' : ( $size == 'lg' ? '1.65' : '1.5' );
163
-				$args['input_group_right_inside'] = true;
164
-				$align_class = $aui_bs5 ? ' h-100 py-0' : '';
165
-				$args['input_group_right'] = '<span class="input-group-text aui-clear-input c-pointer bg-initial border-0 px-2 d-none ' . $align_class . '" onclick="' . $clear_function . '"><span style="font-size: ' . $font_size . 'rem" aria-hidden="true" class="' . ( $aui_bs5 ? 'btn-close' : 'close' ) . '">' . ( $aui_bs5 ? '' : '&times;' ) . '</span></span>';
166
-			}
167
-
168
-			// open/type
169
-			$output .= '<input type="' . $type . '" ';
170
-
171
-			// name
172
-			if ( ! empty( $args['name'] ) ) {
173
-				$output .= ' name="' . esc_attr( $args['name'] ) . '" ';
174
-			}
175
-
176
-			// id
177
-			if ( ! empty( $args['id'] ) ) {
178
-				$output .= ' id="' . sanitize_html_class( $args['id'] ) . '" ';
179
-			}
180
-
181
-			// placeholder
182
-			if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] ) {
183
-				$output .= ' placeholder="' . esc_attr( $args['placeholder'] ) . '" ';
184
-			}
185
-
186
-			// title
187
-			if ( ! empty( $args['title'] ) ) {
188
-				$output .= ' title="' . esc_attr( $args['title'] ) . '" ';
189
-			}
190
-
191
-			// value
192
-			if ( ! empty( $args['value'] ) ) {
193
-				$output .= AUI_Component_Helper::value( $args['value'] );
194
-			}
195
-
196
-			// checked, for radio and checkboxes
197
-			if ( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ) {
198
-				$output .= ' checked ';
199
-			}
200
-
201
-			// validation text
202
-			if ( ! empty( $args['validation_text'] ) ) {
203
-				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr( addslashes( $args['validation_text'] ) ) . '\')" ';
204
-				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
205
-			}
206
-
207
-			// validation_pattern
208
-			if ( ! empty( $args['validation_pattern'] ) ) {
209
-				$output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
210
-			}
211
-
212
-			// step (for numbers)
213
-			if ( ! empty( $args['step'] ) ) {
214
-				$output .= ' step="' . $args['step'] . '" ';
215
-			}
216
-
217
-			// required
218
-			if ( ! empty( $args['required'] ) ) {
219
-				$output .= ' required ';
220
-			}
221
-
222
-			// class
223
-			$class = ! empty( $args['class'] ) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
224
-			$output .= $aui_bs5 &&  $type == 'checkbox' ? ' class="' . $class . '" ' : ' class="form-control ' . $class . '" ';
225
-
226
-			// data-attributes
227
-			$output .= AUI_Component_Helper::data_attributes( $args );
228
-
229
-			// extra attributes
230
-			if ( ! empty( $args['extra_attributes'] ) ) {
231
-				$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
232
-			}
233
-
234
-			// close
235
-			$output .= '>';
236
-
237
-			// help text
238
-			if ( ! empty( $args['help_text'] ) ) {
239
-				$help_text = AUI_Component_Helper::help_text( $args['help_text'] );
240
-			}
241
-
242
-			// label
243
-			if ( ! empty( $args['label'] ) ) {
244
-				$label_base_class = '';
245
-				if ( $type == 'file' ) {
246
-					$label_base_class = ' custom-file-label';
247
-				} elseif ( $type == 'checkbox' ) {
248
-					if ( ! empty( $args['label_force_left'] ) ) {
249
-						$label_args['title'] = wp_kses_post( $args['help_text'] );
250
-						$help_text = '';
251
-						//$label_args['class'] .= ' d-inline ';
252
-						$args['wrap_class'] .= ' align-items-center ';
253
-					}else{
254
-
255
-					}
256
-
257
-					$label_base_class = $aui_bs5 ? ' form-check-label' : ' custom-control-label';
258
-				}
259
-				$label_args['class'] .= $label_base_class;
260
-				$temp_label_args = $label_args;
261
-				if(! empty( $args['label_force_left'] )){$temp_label_args['class'] = $label_base_class." text-muted";}
262
-				$label = self::label( $temp_label_args, $type );
263
-			}
264
-
265
-
266
-
267
-
268
-			// set help text in the correct position
269
-			if ( $label_after ) {
270
-				$output .= $label . $help_text;
271
-			}
272
-
273
-			// some input types need a separate wrap
274
-			if ( $type == 'file' ) {
275
-				$output = self::wrap( array(
276
-					'content' => $output,
277
-					'class'   => $aui_bs5 ? 'mb-3 custom-file' : 'form-group custom-file'
278
-				) );
279
-			} elseif ( $type == 'checkbox' ) {
280
-
281
-				$label_args['title'] = $args['label'];
282
-				$label_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'label' );
283
-				$label = !empty( $args['label_force_left'] ) ? self::label( $label_args, 'cb' ) : '<div class="' . $label_col . ' col-form-label"></div>';
284
-				$switch_size_class = $args['switch'] && !is_bool( $args['switch'] ) ? ' custom-switch-'.esc_attr( $args['switch'] ) : '';
285
-				if ( $aui_bs5 ) {
286
-					$wrap_class = $args['switch'] ? 'form-check form-switch' . $switch_size_class : 'form-check';
287
-				}else{
288
-					$wrap_class = $args['switch'] ? 'custom-switch' . $switch_size_class :  'custom-checkbox' ;
289
-				}
290
-				if ( ! empty( $args['label_force_left'] ) ) {
291
-					$wrap_class .= $aui_bs5 ? '' : ' d-flex align-content-center';
292
-					$label = str_replace(array("form-check-label","custom-control-label"),"", self::label( $label_args, 'cb' ) );
293
-				}
294
-				$output     = self::wrap( array(
295
-					'content' => $output,
296
-					'class'   => $aui_bs5 ? $wrap_class : 'custom-control ' . $wrap_class
297
-				) );
298
-
299
-				if ( $args['label_type'] == 'horizontal' ) {
300
-					$input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
301
-					$output    = $label . '<div class="' . $input_col . '">' . $output . '</div>';
302
-				}
303
-			} elseif ( $type == 'password' && $args['password_toggle'] && ! $args['input_group_right'] ) {
304
-
305
-
306
-				// allow password field to toggle view
307
-				$args['input_group_right'] = '<span class="input-group-text c-pointer px-3" 
14
+    /**
15
+     * Build the component.
16
+     *
17
+     * @param array $args
18
+     *
19
+     * @return string The rendered component.
20
+     */
21
+    public static function input( $args = array() ) {
22
+        global $aui_bs5;
23
+
24
+        $defaults = array(
25
+            'type'                     => 'text',
26
+            'name'                     => '',
27
+            'class'                    => '',
28
+            'wrap_class'               => '',
29
+            'id'                       => '',
30
+            'placeholder'              => '',
31
+            'title'                    => '',
32
+            'value'                    => '',
33
+            'required'                 => false,
34
+            'size'                     => '', // sm, lg, small, large
35
+            'clear_icon'               => '', // true will show a clear icon, can't be used with input_group_right
36
+            'with_hidden'              => false, // Append hidden field for single checkbox.
37
+            'label'                    => '',
38
+            'label_after'              => false,
39
+            'label_class'              => '',
40
+            'label_col'                => '2',
41
+            'label_type'               => '', // top, horizontal, empty = hidden
42
+            'label_force_left'         => false, // used to force checkbox label left when using horizontal
43
+            // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
44
+            'help_text'                => '',
45
+            'validation_text'          => '',
46
+            'validation_pattern'       => '',
47
+            'no_wrap'                  => false,
48
+            'input_group_right'        => '',
49
+            'input_group_left'         => '',
50
+            'input_group_right_inside' => false,
51
+            // forces the input group inside the input
52
+            'input_group_left_inside'  => false,
53
+            // forces the input group inside the input
54
+            'form_group_class'         => '',
55
+            'step'                     => '',
56
+            'switch'                   => false,
57
+            // to show checkbox as a switch
58
+            'checked'                  => false,
59
+            // set a checkbox or radio as selected
60
+            'password_toggle'          => true,
61
+            // toggle view/hide password
62
+            'element_require'          => '',
63
+            // [%element_id%] == "1"
64
+            'extra_attributes'         => array(),
65
+            // an array of extra attributes
66
+            'wrap_attributes'          => array()
67
+        );
68
+
69
+        /**
70
+         * Parse incoming $args into an array and merge it with $defaults
71
+         */
72
+        $args   = wp_parse_args( $args, $defaults );
73
+        $output = '';
74
+        if ( ! empty( $args['type'] ) ) {
75
+            // hidden label option needs to be empty
76
+            $args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
77
+
78
+            $type = sanitize_html_class( $args['type'] );
79
+
80
+            $help_text   = '';
81
+            $label       = '';
82
+            $label_after = $args['label_after'];
83
+            $label_args  = array(
84
+                'title'      => $args['label'],
85
+                'for'        => $args['id'],
86
+                'class'      => $args['label_class'] . " ",
87
+                'label_type' => $args['label_type'],
88
+                'label_col'  => $args['label_col']
89
+            );
90
+
91
+            // floating labels need label after
92
+            if ( $args['label_type'] == 'floating' && $type != 'checkbox' ) {
93
+                $label_after         = true;
94
+                $args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
95
+            }
96
+
97
+            // size
98
+            $size = '';
99
+            if ( $args['size'] == 'lg' || $args['size'] == 'large' ) {
100
+                $size = 'lg';
101
+                $args['class'] .= ' form-control-lg';
102
+            }elseif ( $args['size'] == 'sm' || $args['size'] == 'small' ) {
103
+                $size = 'sm';
104
+                $args['class'] .= ' form-control-sm';
105
+            }
106
+
107
+            // clear function
108
+            $clear_function = 'jQuery(this).parent().parent().find(\'input\').val(\'\');';
109
+
110
+            // Some special sauce for files
111
+            if ( $type == 'file' ) {
112
+                $label_after = true; // if type file we need the label after
113
+                $args['class'] .= ' custom-file-input ';
114
+            } elseif ( $type == 'checkbox' ) {
115
+                $label_after = true; // if type file we need the label after
116
+                $args['class'] .= $aui_bs5 ? ' form-check-input c-pointer ' : ' custom-control-input c-pointer ';
117
+            } elseif ( $type == 'datepicker' || $type == 'timepicker' ) {
118
+                $orig_type = $type;
119
+                $type = 'text';
120
+                $args['class'] .= ' bg-initial '; // @todo not sure why we have this?
121
+                $clear_function .= "jQuery(this).parent().parent().find('input[name=\'" . esc_attr( $args['name'] ) . "\']').trigger('change');";
122
+
123
+                $args['extra_attributes']['data-aui-init'] = 'flatpickr';
124
+
125
+                // Disable native datetime inputs.
126
+                $disable_mobile_attr = isset( $args['extra_attributes']['data-disable-mobile'] ) ? $args['extra_attributes']['data-disable-mobile'] : 'true';
127
+                $disable_mobile_attr = apply_filters( 'aui_flatpickr_disable_disable_mobile_attr', $disable_mobile_attr, $args );
128
+
129
+                $args['extra_attributes']['data-disable-mobile'] = $disable_mobile_attr;
130
+
131
+                // set a way to clear field if empty
132
+                if ( $args['input_group_right'] === '' && $args['clear_icon'] !== false ) {
133
+                    $args['input_group_right_inside'] = true;
134
+                    $args['clear_icon'] = true;
135
+                }
136
+
137
+                // enqueue the script
138
+                $aui_settings = AyeCode_UI_Settings::instance();
139
+                $aui_settings->enqueue_flatpickr();
140
+            } else if ( $type == 'iconpicker' ) {
141
+                $type = 'text';
142
+
143
+                // Validate FA icon.
144
+                $args['value'] = AUI_Component_Helper::sanitize_fa_icon( $args['value'], $args );
145
+
146
+                $args['extra_attributes']['data-aui-init'] = 'iconpicker';
147
+                $args['extra_attributes']['data-placement'] = 'bottomRight';
148
+
149
+                $args['input_group_right'] = '<span class="input-group-addon input-group-text c-pointer"></span>';
150
+
151
+                // Enqueue the script
152
+                $aui_settings = AyeCode_UI_Settings::instance();
153
+                $aui_settings->enqueue_iconpicker();
154
+            }
155
+
156
+            if ( $type == 'checkbox' && ( ( ! empty( $args['name'] ) && strpos( $args['name'], '[' ) === false ) || ! empty( $args['with_hidden'] ) ) ) {
157
+                $output .= '<input type="hidden" name="' . esc_attr( $args['name'] ) . '" value="0" />';
158
+            }
159
+
160
+            // allow clear icon
161
+            if ( $args['input_group_right'] === '' && $args['clear_icon'] ) {
162
+                $font_size = $size == 'sm' ? '1.3' : ( $size == 'lg' ? '1.65' : '1.5' );
163
+                $args['input_group_right_inside'] = true;
164
+                $align_class = $aui_bs5 ? ' h-100 py-0' : '';
165
+                $args['input_group_right'] = '<span class="input-group-text aui-clear-input c-pointer bg-initial border-0 px-2 d-none ' . $align_class . '" onclick="' . $clear_function . '"><span style="font-size: ' . $font_size . 'rem" aria-hidden="true" class="' . ( $aui_bs5 ? 'btn-close' : 'close' ) . '">' . ( $aui_bs5 ? '' : '&times;' ) . '</span></span>';
166
+            }
167
+
168
+            // open/type
169
+            $output .= '<input type="' . $type . '" ';
170
+
171
+            // name
172
+            if ( ! empty( $args['name'] ) ) {
173
+                $output .= ' name="' . esc_attr( $args['name'] ) . '" ';
174
+            }
175
+
176
+            // id
177
+            if ( ! empty( $args['id'] ) ) {
178
+                $output .= ' id="' . sanitize_html_class( $args['id'] ) . '" ';
179
+            }
180
+
181
+            // placeholder
182
+            if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] ) {
183
+                $output .= ' placeholder="' . esc_attr( $args['placeholder'] ) . '" ';
184
+            }
185
+
186
+            // title
187
+            if ( ! empty( $args['title'] ) ) {
188
+                $output .= ' title="' . esc_attr( $args['title'] ) . '" ';
189
+            }
190
+
191
+            // value
192
+            if ( ! empty( $args['value'] ) ) {
193
+                $output .= AUI_Component_Helper::value( $args['value'] );
194
+            }
195
+
196
+            // checked, for radio and checkboxes
197
+            if ( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ) {
198
+                $output .= ' checked ';
199
+            }
200
+
201
+            // validation text
202
+            if ( ! empty( $args['validation_text'] ) ) {
203
+                $output .= ' oninvalid="setCustomValidity(\'' . esc_attr( addslashes( $args['validation_text'] ) ) . '\')" ';
204
+                $output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
205
+            }
206
+
207
+            // validation_pattern
208
+            if ( ! empty( $args['validation_pattern'] ) ) {
209
+                $output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
210
+            }
211
+
212
+            // step (for numbers)
213
+            if ( ! empty( $args['step'] ) ) {
214
+                $output .= ' step="' . $args['step'] . '" ';
215
+            }
216
+
217
+            // required
218
+            if ( ! empty( $args['required'] ) ) {
219
+                $output .= ' required ';
220
+            }
221
+
222
+            // class
223
+            $class = ! empty( $args['class'] ) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
224
+            $output .= $aui_bs5 &&  $type == 'checkbox' ? ' class="' . $class . '" ' : ' class="form-control ' . $class . '" ';
225
+
226
+            // data-attributes
227
+            $output .= AUI_Component_Helper::data_attributes( $args );
228
+
229
+            // extra attributes
230
+            if ( ! empty( $args['extra_attributes'] ) ) {
231
+                $output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
232
+            }
233
+
234
+            // close
235
+            $output .= '>';
236
+
237
+            // help text
238
+            if ( ! empty( $args['help_text'] ) ) {
239
+                $help_text = AUI_Component_Helper::help_text( $args['help_text'] );
240
+            }
241
+
242
+            // label
243
+            if ( ! empty( $args['label'] ) ) {
244
+                $label_base_class = '';
245
+                if ( $type == 'file' ) {
246
+                    $label_base_class = ' custom-file-label';
247
+                } elseif ( $type == 'checkbox' ) {
248
+                    if ( ! empty( $args['label_force_left'] ) ) {
249
+                        $label_args['title'] = wp_kses_post( $args['help_text'] );
250
+                        $help_text = '';
251
+                        //$label_args['class'] .= ' d-inline ';
252
+                        $args['wrap_class'] .= ' align-items-center ';
253
+                    }else{
254
+
255
+                    }
256
+
257
+                    $label_base_class = $aui_bs5 ? ' form-check-label' : ' custom-control-label';
258
+                }
259
+                $label_args['class'] .= $label_base_class;
260
+                $temp_label_args = $label_args;
261
+                if(! empty( $args['label_force_left'] )){$temp_label_args['class'] = $label_base_class." text-muted";}
262
+                $label = self::label( $temp_label_args, $type );
263
+            }
264
+
265
+
266
+
267
+
268
+            // set help text in the correct position
269
+            if ( $label_after ) {
270
+                $output .= $label . $help_text;
271
+            }
272
+
273
+            // some input types need a separate wrap
274
+            if ( $type == 'file' ) {
275
+                $output = self::wrap( array(
276
+                    'content' => $output,
277
+                    'class'   => $aui_bs5 ? 'mb-3 custom-file' : 'form-group custom-file'
278
+                ) );
279
+            } elseif ( $type == 'checkbox' ) {
280
+
281
+                $label_args['title'] = $args['label'];
282
+                $label_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'label' );
283
+                $label = !empty( $args['label_force_left'] ) ? self::label( $label_args, 'cb' ) : '<div class="' . $label_col . ' col-form-label"></div>';
284
+                $switch_size_class = $args['switch'] && !is_bool( $args['switch'] ) ? ' custom-switch-'.esc_attr( $args['switch'] ) : '';
285
+                if ( $aui_bs5 ) {
286
+                    $wrap_class = $args['switch'] ? 'form-check form-switch' . $switch_size_class : 'form-check';
287
+                }else{
288
+                    $wrap_class = $args['switch'] ? 'custom-switch' . $switch_size_class :  'custom-checkbox' ;
289
+                }
290
+                if ( ! empty( $args['label_force_left'] ) ) {
291
+                    $wrap_class .= $aui_bs5 ? '' : ' d-flex align-content-center';
292
+                    $label = str_replace(array("form-check-label","custom-control-label"),"", self::label( $label_args, 'cb' ) );
293
+                }
294
+                $output     = self::wrap( array(
295
+                    'content' => $output,
296
+                    'class'   => $aui_bs5 ? $wrap_class : 'custom-control ' . $wrap_class
297
+                ) );
298
+
299
+                if ( $args['label_type'] == 'horizontal' ) {
300
+                    $input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
301
+                    $output    = $label . '<div class="' . $input_col . '">' . $output . '</div>';
302
+                }
303
+            } elseif ( $type == 'password' && $args['password_toggle'] && ! $args['input_group_right'] ) {
304
+
305
+
306
+                // allow password field to toggle view
307
+                $args['input_group_right'] = '<span class="input-group-text c-pointer px-3" 
308 308
 onclick="var $el = jQuery(this).find(\'i\');$el.toggleClass(\'fa-eye fa-eye-slash\');
309 309
 var $eli = jQuery(this).parent().parent().find(\'input\');
310 310
 if($el.hasClass(\'fa-eye\'))
311 311
 {$eli.attr(\'type\',\'text\');}
312 312
 else{$eli.attr(\'type\',\'password\');}"
313 313
 ><i class="far fa-fw fa-eye-slash"></i></span>';
314
-			}
315
-
316
-			// input group wraps
317
-			if ( $args['input_group_left'] || $args['input_group_right'] ) {
318
-				$w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
319
-				$group_size = $size == 'lg' ? ' input-group-lg' : '';
320
-				$group_size = !$group_size && $size == 'sm' ? ' input-group-sm' : $group_size;
321
-
322
-				if ( $args['input_group_left'] ) {
323
-					$output = self::wrap( array(
324
-						'content'                 => $output,
325
-						'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 . $group_size : 'input-group' . $group_size,
326
-						'input_group_left'        => $args['input_group_left'],
327
-						'input_group_left_inside' => $args['input_group_left_inside']
328
-					) );
329
-				}
330
-				if ( $args['input_group_right'] ) {
331
-					$output = self::wrap( array(
332
-						'content'                  => $output,
333
-						'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 . $group_size : 'input-group' . $group_size,
334
-						'input_group_right'        => $args['input_group_right'],
335
-						'input_group_right_inside' => $args['input_group_right_inside']
336
-					) );
337
-				}
338
-
339
-			}
340
-
341
-			if ( ! $label_after ) {
342
-				$output .= $help_text;
343
-			}
344
-
345
-
346
-			if ( $args['label_type'] == 'horizontal' && $type != 'checkbox' ) {
347
-				$output = self::wrap( array(
348
-					'content' => $output,
349
-					'class'   => AUI_Component_Helper::get_column_class( $args['label_col'], 'input' )
350
-				) );
351
-			}
352
-
353
-			if ( ! $label_after ) {
354
-				$output = $label . $output;
355
-			}
356
-
357
-			// wrap
358
-			if ( ! $args['no_wrap'] ) {
359
-				if ( ! empty( $args['form_group_class'] ) ) {
360
-					$fg_class = esc_attr( $args['form_group_class'] );
361
-				}else{
362
-					$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
363
-				}
364
-				$form_group_class = $args['label_type'] == 'floating' && $type != 'checkbox' ? 'form-label-group' : $fg_class;
365
-				$wrap_class       = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
366
-				$wrap_class       = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
367
-				$output           = self::wrap( array(
368
-					'content'         => $output,
369
-					'class'           => $wrap_class,
370
-					'element_require' => $args['element_require'],
371
-					'argument_id'     => $args['id'],
372
-					'wrap_attributes' => $args['wrap_attributes'],
373
-				) );
374
-			}
375
-		}
376
-
377
-		return $output;
378
-	}
379
-
380
-	public static function label( $args = array(), $type = '' ) {
381
-		global $aui_bs5;
382
-
383
-		$defaults = array(
384
-			'title'      => 'div',
385
-			'for'        => '',
386
-			'class'      => '',
387
-			'label_type' => '', // empty = hidden, top, horizontal
388
-			'label_col'  => '',
389
-		);
390
-
391
-		/**
392
-		 * Parse incoming $args into an array and merge it with $defaults
393
-		 */
394
-		$args   = wp_parse_args( $args, $defaults );
395
-		$output = '';
396
-
397
-		if ( $args['title'] ) {
398
-			// maybe hide labels //@todo set a global option for visibility class
399
-			if ( $type == 'file' || $type == 'checkbox' || $type == 'radio' || ! empty( $args['label_type'] ) ) {
400
-				$class = $args['class'];
401
-			} else {
402
-				$class = 'sr-only ' . ( $aui_bs5 ? 'visually-hidden ' : '' ) . $args['class'];
403
-			}
404
-
405
-			// maybe horizontal
406
-			if ( $args['label_type'] == 'horizontal' && $type != 'checkbox' ) {
407
-				$class .= ' ' . AUI_Component_Helper::get_column_class( $args['label_col'], 'label' ) . ' col-form-label ' . $type;
408
-			}
409
-
410
-			if ( $aui_bs5 ) {
411
-				$class .= ' form-label';
412
-			}
413
-
414
-			// open
415
-			$output .= '<label';
416
-
417
-			// for
418
-			if ( ! empty( $args['for'] ) ) {
419
-				$output .= ' for="' . esc_attr( $args['for'] ) . '"';
420
-			}
421
-
422
-			// class
423
-			$class = $class ? AUI_Component_Helper::esc_classes( $class ) : '';
424
-			$output .= $class != "" ? ' class="' . $class . '"' : '';
425
-
426
-			// close
427
-			$output .= '>';
428
-
429
-			// title, don't escape fully as can contain html
430
-			if ( ! empty( $args['title'] ) ) {
431
-				$output .= wp_kses_post( $args['title'] );
432
-			}
433
-
434
-			// close wrap
435
-			$output .= '</label>';
436
-		}
437
-
438
-		return $output;
439
-	}
440
-
441
-	/**
442
-	 * Wrap some content in a HTML wrapper.
443
-	 *
444
-	 * @param array $args
445
-	 *
446
-	 * @return string
447
-	 */
448
-	public static function wrap( $args = array() ) {
449
-		global $aui_bs5;
450
-		$defaults = array(
451
-			'type'                     => 'div',
452
-			'class'                    => $aui_bs5 ? 'mb-3' : 'form-group',
453
-			'content'                  => '',
454
-			'input_group_left'         => '',
455
-			'input_group_right'        => '',
456
-			'input_group_left_inside'  => false,
457
-			'input_group_right_inside' => false,
458
-			'element_require'          => '',
459
-			'argument_id'              => '',
460
-			'wrap_attributes'          => array()
461
-		);
462
-
463
-		/**
464
-		 * Parse incoming $args into an array and merge it with $defaults
465
-		 */
466
-		$args   = wp_parse_args( $args, $defaults );
467
-		$output = '';
468
-		if ( $args['type'] ) {
469
-
470
-			// open
471
-			$output .= '<' . sanitize_html_class( $args['type'] );
472
-
473
-			// element require
474
-			if ( ! empty( $args['element_require'] ) ) {
475
-				$output .= AUI_Component_Helper::element_require( $args['element_require'] );
476
-				$args['class'] .= " aui-conditional-field";
477
-			}
478
-
479
-			// argument_id
480
-			if ( ! empty( $args['argument_id'] ) ) {
481
-				$output .= ' data-argument="' . esc_attr( $args['argument_id'] ) . '"';
482
-			}
483
-
484
-			// class
485
-			$class = ! empty( $args['class'] ) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
486
-			$output .= ' class="' . $class . '" ';
487
-
488
-			// Attributes
489
-			if ( ! empty( $args['wrap_attributes'] ) ) {
490
-				$output .= AUI_Component_Helper::extra_attributes( $args['wrap_attributes'] );
491
-			}
492
-
493
-			// close wrap
494
-			$output .= '>';
495
-
496
-
497
-			// Input group left
498
-			if ( ! empty( $args['input_group_left'] ) ) {
499
-				$position_class   = ! empty( $args['input_group_left_inside'] ) ? 'position-absolute h-100' : '';
500
-				$input_group_left = strpos( $args['input_group_left'], '<' ) !== false ? $args['input_group_left'] : '<span class="input-group-text">' . $args['input_group_left'] . '</span>';
501
-				$output .= $aui_bs5 ? $input_group_left : '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
314
+            }
315
+
316
+            // input group wraps
317
+            if ( $args['input_group_left'] || $args['input_group_right'] ) {
318
+                $w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
319
+                $group_size = $size == 'lg' ? ' input-group-lg' : '';
320
+                $group_size = !$group_size && $size == 'sm' ? ' input-group-sm' : $group_size;
321
+
322
+                if ( $args['input_group_left'] ) {
323
+                    $output = self::wrap( array(
324
+                        'content'                 => $output,
325
+                        'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 . $group_size : 'input-group' . $group_size,
326
+                        'input_group_left'        => $args['input_group_left'],
327
+                        'input_group_left_inside' => $args['input_group_left_inside']
328
+                    ) );
329
+                }
330
+                if ( $args['input_group_right'] ) {
331
+                    $output = self::wrap( array(
332
+                        'content'                  => $output,
333
+                        'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 . $group_size : 'input-group' . $group_size,
334
+                        'input_group_right'        => $args['input_group_right'],
335
+                        'input_group_right_inside' => $args['input_group_right_inside']
336
+                    ) );
337
+                }
338
+
339
+            }
340
+
341
+            if ( ! $label_after ) {
342
+                $output .= $help_text;
343
+            }
344
+
345
+
346
+            if ( $args['label_type'] == 'horizontal' && $type != 'checkbox' ) {
347
+                $output = self::wrap( array(
348
+                    'content' => $output,
349
+                    'class'   => AUI_Component_Helper::get_column_class( $args['label_col'], 'input' )
350
+                ) );
351
+            }
352
+
353
+            if ( ! $label_after ) {
354
+                $output = $label . $output;
355
+            }
356
+
357
+            // wrap
358
+            if ( ! $args['no_wrap'] ) {
359
+                if ( ! empty( $args['form_group_class'] ) ) {
360
+                    $fg_class = esc_attr( $args['form_group_class'] );
361
+                }else{
362
+                    $fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
363
+                }
364
+                $form_group_class = $args['label_type'] == 'floating' && $type != 'checkbox' ? 'form-label-group' : $fg_class;
365
+                $wrap_class       = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
366
+                $wrap_class       = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
367
+                $output           = self::wrap( array(
368
+                    'content'         => $output,
369
+                    'class'           => $wrap_class,
370
+                    'element_require' => $args['element_require'],
371
+                    'argument_id'     => $args['id'],
372
+                    'wrap_attributes' => $args['wrap_attributes'],
373
+                ) );
374
+            }
375
+        }
376
+
377
+        return $output;
378
+    }
379
+
380
+    public static function label( $args = array(), $type = '' ) {
381
+        global $aui_bs5;
382
+
383
+        $defaults = array(
384
+            'title'      => 'div',
385
+            'for'        => '',
386
+            'class'      => '',
387
+            'label_type' => '', // empty = hidden, top, horizontal
388
+            'label_col'  => '',
389
+        );
390
+
391
+        /**
392
+         * Parse incoming $args into an array and merge it with $defaults
393
+         */
394
+        $args   = wp_parse_args( $args, $defaults );
395
+        $output = '';
396
+
397
+        if ( $args['title'] ) {
398
+            // maybe hide labels //@todo set a global option for visibility class
399
+            if ( $type == 'file' || $type == 'checkbox' || $type == 'radio' || ! empty( $args['label_type'] ) ) {
400
+                $class = $args['class'];
401
+            } else {
402
+                $class = 'sr-only ' . ( $aui_bs5 ? 'visually-hidden ' : '' ) . $args['class'];
403
+            }
404
+
405
+            // maybe horizontal
406
+            if ( $args['label_type'] == 'horizontal' && $type != 'checkbox' ) {
407
+                $class .= ' ' . AUI_Component_Helper::get_column_class( $args['label_col'], 'label' ) . ' col-form-label ' . $type;
408
+            }
409
+
410
+            if ( $aui_bs5 ) {
411
+                $class .= ' form-label';
412
+            }
413
+
414
+            // open
415
+            $output .= '<label';
416
+
417
+            // for
418
+            if ( ! empty( $args['for'] ) ) {
419
+                $output .= ' for="' . esc_attr( $args['for'] ) . '"';
420
+            }
421
+
422
+            // class
423
+            $class = $class ? AUI_Component_Helper::esc_classes( $class ) : '';
424
+            $output .= $class != "" ? ' class="' . $class . '"' : '';
425
+
426
+            // close
427
+            $output .= '>';
428
+
429
+            // title, don't escape fully as can contain html
430
+            if ( ! empty( $args['title'] ) ) {
431
+                $output .= wp_kses_post( $args['title'] );
432
+            }
433
+
434
+            // close wrap
435
+            $output .= '</label>';
436
+        }
437
+
438
+        return $output;
439
+    }
440
+
441
+    /**
442
+     * Wrap some content in a HTML wrapper.
443
+     *
444
+     * @param array $args
445
+     *
446
+     * @return string
447
+     */
448
+    public static function wrap( $args = array() ) {
449
+        global $aui_bs5;
450
+        $defaults = array(
451
+            'type'                     => 'div',
452
+            'class'                    => $aui_bs5 ? 'mb-3' : 'form-group',
453
+            'content'                  => '',
454
+            'input_group_left'         => '',
455
+            'input_group_right'        => '',
456
+            'input_group_left_inside'  => false,
457
+            'input_group_right_inside' => false,
458
+            'element_require'          => '',
459
+            'argument_id'              => '',
460
+            'wrap_attributes'          => array()
461
+        );
462
+
463
+        /**
464
+         * Parse incoming $args into an array and merge it with $defaults
465
+         */
466
+        $args   = wp_parse_args( $args, $defaults );
467
+        $output = '';
468
+        if ( $args['type'] ) {
469
+
470
+            // open
471
+            $output .= '<' . sanitize_html_class( $args['type'] );
472
+
473
+            // element require
474
+            if ( ! empty( $args['element_require'] ) ) {
475
+                $output .= AUI_Component_Helper::element_require( $args['element_require'] );
476
+                $args['class'] .= " aui-conditional-field";
477
+            }
478
+
479
+            // argument_id
480
+            if ( ! empty( $args['argument_id'] ) ) {
481
+                $output .= ' data-argument="' . esc_attr( $args['argument_id'] ) . '"';
482
+            }
483
+
484
+            // class
485
+            $class = ! empty( $args['class'] ) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
486
+            $output .= ' class="' . $class . '" ';
487
+
488
+            // Attributes
489
+            if ( ! empty( $args['wrap_attributes'] ) ) {
490
+                $output .= AUI_Component_Helper::extra_attributes( $args['wrap_attributes'] );
491
+            }
492
+
493
+            // close wrap
494
+            $output .= '>';
495
+
496
+
497
+            // Input group left
498
+            if ( ! empty( $args['input_group_left'] ) ) {
499
+                $position_class   = ! empty( $args['input_group_left_inside'] ) ? 'position-absolute h-100' : '';
500
+                $input_group_left = strpos( $args['input_group_left'], '<' ) !== false ? $args['input_group_left'] : '<span class="input-group-text">' . $args['input_group_left'] . '</span>';
501
+                $output .= $aui_bs5 ? $input_group_left : '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
502 502
 //				$output .= '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
503
-			}
503
+            }
504 504
 
505
-			// content
506
-			$output .= $args['content'];
505
+            // content
506
+            $output .= $args['content'];
507 507
 
508
-			// Input group right
509
-			if ( ! empty( $args['input_group_right'] ) ) {
510
-				$position_class    = ! empty( $args['input_group_right_inside'] ) ? 'position-absolute h-100' : '';
511
-				$input_group_right = strpos( $args['input_group_right'], '<' ) !== false ? $args['input_group_right'] : '<span class="input-group-text">' . $args['input_group_right'] . '</span>';
512
-				$output .= $aui_bs5 ? str_replace( 'input-group-text','input-group-text top-0 end-0', $input_group_right ) : '<div class="input-group-append ' . $position_class . '" style="top:0;right:0;">' . $input_group_right . '</div>';
508
+            // Input group right
509
+            if ( ! empty( $args['input_group_right'] ) ) {
510
+                $position_class    = ! empty( $args['input_group_right_inside'] ) ? 'position-absolute h-100' : '';
511
+                $input_group_right = strpos( $args['input_group_right'], '<' ) !== false ? $args['input_group_right'] : '<span class="input-group-text">' . $args['input_group_right'] . '</span>';
512
+                $output .= $aui_bs5 ? str_replace( 'input-group-text','input-group-text top-0 end-0', $input_group_right ) : '<div class="input-group-append ' . $position_class . '" style="top:0;right:0;">' . $input_group_right . '</div>';
513 513
 //				$output .= '<div class="input-group-append ' . $position_class . '" style="top:0;right:0;">' . $input_group_right . '</div>';
514
-			}
515
-
516
-
517
-			// close wrap
518
-			$output .= '</' . sanitize_html_class( $args['type'] ) . '>';
519
-
520
-
521
-		} else {
522
-			$output = $args['content'];
523
-		}
524
-
525
-		return $output;
526
-	}
527
-
528
-	/**
529
-	 * Build the component.
530
-	 *
531
-	 * @param array $args
532
-	 *
533
-	 * @return string The rendered component.
534
-	 */
535
-	public static function textarea( $args = array() ) {
536
-		global $aui_bs5;
537
-
538
-		$defaults = array(
539
-			'name'               => '',
540
-			'class'              => '',
541
-			'wrap_class'         => '',
542
-			'id'                 => '',
543
-			'placeholder'        => '',
544
-			'title'              => '',
545
-			'value'              => '',
546
-			'required'           => false,
547
-			'label'              => '',
548
-			'label_after'        => false,
549
-			'label_class'        => '',
550
-			'label_type'         => '',
551
-			'label_col'          => '',
552
-			// sets the label type, default: hidden. Options: hidden, top, horizontal, floating
553
-			'input_group_right'        => '',
554
-			'input_group_left'         => '',
555
-			'input_group_right_inside' => false,
556
-			'form_group_class'      => '',
557
-			'help_text'          => '',
558
-			'validation_text'    => '',
559
-			'validation_pattern' => '',
560
-			'no_wrap'            => false,
561
-			'rows'               => '',
562
-			'wysiwyg'            => false,
563
-			'allow_tags'         => false,
564
-			// Allow HTML tags
565
-			'element_require'    => '',
566
-			// [%element_id%] == "1"
567
-			'extra_attributes'   => array(),
568
-			// an array of extra attributes
569
-			'wrap_attributes'    => array(),
570
-		);
571
-
572
-		/**
573
-		 * Parse incoming $args into an array and merge it with $defaults
574
-		 */
575
-		$args   = wp_parse_args( $args, $defaults );
576
-		$output = '';
577
-		$label = '';
578
-
579
-		// hidden label option needs to be empty
580
-		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
581
-
582
-		// floating labels don't work with wysiwyg so set it as top
583
-		if ( $args['label_type'] == 'floating' && ! empty( $args['wysiwyg'] ) ) {
584
-			$args['label_type'] = 'top';
585
-		}
586
-
587
-		$label_after = $args['label_after'];
588
-
589
-		// floating labels need label after
590
-		if ( $args['label_type'] == 'floating' && empty( $args['wysiwyg'] ) ) {
591
-			$label_after         = true;
592
-			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
593
-		}
594
-
595
-		// label
596
-		if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
597
-		} elseif ( ! empty( $args['label'] ) && ! $label_after ) {
598
-			$label_args = array(
599
-				'title'      => $args['label'],
600
-				'for'        => $args['id'],
601
-				'class'      => $args['label_class'] . " ",
602
-				'label_type' => $args['label_type'],
603
-				'label_col'  => $args['label_col']
604
-			);
605
-			$label .= self::label( $label_args );
606
-		}
607
-
608
-		// maybe horizontal label
609
-		if ( $args['label_type'] == 'horizontal' ) {
610
-			$input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
611
-			$label .= '<div class="' . $input_col . '">';
612
-		}
613
-
614
-		if ( ! empty( $args['wysiwyg'] ) ) {
615
-			ob_start();
616
-			$content   = $args['value'];
617
-			$editor_id = ! empty( $args['id'] ) ? sanitize_html_class( $args['id'] ) : 'wp_editor';
618
-			$settings  = array(
619
-				'textarea_rows' => ! empty( absint( $args['rows'] ) ) ? absint( $args['rows'] ) : 4,
620
-				'quicktags'     => false,
621
-				'media_buttons' => false,
622
-				'editor_class'  => 'form-control',
623
-				'textarea_name' => ! empty( $args['name'] ) ? sanitize_html_class( $args['name'] ) : sanitize_html_class( $args['id'] ),
624
-				'teeny'         => true,
625
-			);
626
-
627
-			// maybe set settings if array
628
-			if ( is_array( $args['wysiwyg'] ) ) {
629
-				$settings = wp_parse_args( $args['wysiwyg'], $settings );
630
-			}
631
-
632
-			wp_editor( $content, $editor_id, $settings );
633
-			$output .= ob_get_clean();
634
-		} else {
635
-
636
-			// open
637
-			$output .= '<textarea ';
638
-
639
-			// name
640
-			if ( ! empty( $args['name'] ) ) {
641
-				$output .= ' name="' . esc_attr( $args['name'] ) . '" ';
642
-			}
643
-
644
-			// id
645
-			if ( ! empty( $args['id'] ) ) {
646
-				$output .= ' id="' . sanitize_html_class( $args['id'] ) . '" ';
647
-			}
648
-
649
-			// placeholder
650
-			if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] ) {
651
-				$output .= ' placeholder="' . esc_attr( $args['placeholder'] ) . '" ';
652
-			}
653
-
654
-			// title
655
-			if ( ! empty( $args['title'] ) ) {
656
-				$output .= ' title="' . esc_attr( $args['title'] ) . '" ';
657
-			}
658
-
659
-			// validation text
660
-			if ( ! empty( $args['validation_text'] ) ) {
661
-				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr( addslashes( $args['validation_text'] ) ) . '\')" ';
662
-				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
663
-			}
664
-
665
-			// validation_pattern
666
-			if ( ! empty( $args['validation_pattern'] ) ) {
667
-				$output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
668
-			}
669
-
670
-			// required
671
-			if ( ! empty( $args['required'] ) ) {
672
-				$output .= ' required ';
673
-			}
674
-
675
-			// rows
676
-			if ( ! empty( $args['rows'] ) ) {
677
-				$output .= ' rows="' . absint( $args['rows'] ) . '" ';
678
-			}
679
-
680
-
681
-			// class
682
-			$class = ! empty( $args['class'] ) ? $args['class'] : '';
683
-			$output .= ' class="form-control ' . $class . '" ';
684
-
685
-			// extra attributes
686
-			if ( ! empty( $args['extra_attributes'] ) ) {
687
-				$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
688
-			}
689
-
690
-			// close tag
691
-			$output .= '>';
692
-
693
-			// value
694
-			if ( ! empty( $args['value'] ) ) {
695
-				if ( ! empty( $args['allow_tags'] ) ) {
696
-					$output .= AUI_Component_Helper::sanitize_html_field( $args['value'], $args ); // Sanitize HTML.
697
-				} else {
698
-					$output .= AUI_Component_Helper::sanitize_textarea_field( $args['value'] );
699
-				}
700
-			}
701
-
702
-			// closing tag
703
-			$output .= '</textarea>';
704
-
705
-
706
-			// input group wraps
707
-			if ( $args['input_group_left'] || $args['input_group_right'] ) {
708
-				$w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
709
-				if ( $args['input_group_left'] ) {
710
-					$output = self::wrap( array(
711
-						'content'                 => $output,
712
-						'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
713
-						'input_group_left'        => $args['input_group_left'],
714
-						'input_group_left_inside' => $args['input_group_left_inside']
715
-					) );
716
-				}
717
-				if ( $args['input_group_right'] ) {
718
-					$output = self::wrap( array(
719
-						'content'                  => $output,
720
-						'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
721
-						'input_group_right'        => $args['input_group_right'],
722
-						'input_group_right_inside' => $args['input_group_right_inside']
723
-					) );
724
-				}
725
-
726
-			}
727
-
728
-
729
-		}
730
-
731
-		if ( ! empty( $args['label'] ) && $label_after ) {
732
-			$label_args = array(
733
-				'title'      => $args['label'],
734
-				'for'        => $args['id'],
735
-				'class'      => $args['label_class'] . " ",
736
-				'label_type' => $args['label_type'],
737
-				'label_col'  => $args['label_col']
738
-			);
739
-			$output .= self::label( $label_args );
740
-		}
741
-
742
-		// help text
743
-		if ( ! empty( $args['help_text'] ) ) {
744
-			$output .= AUI_Component_Helper::help_text( $args['help_text'] );
745
-		}
746
-
747
-		if ( ! $label_after ) {
748
-			$output = $label . $output;
749
-		}
750
-
751
-		// maybe horizontal label
752
-		if ( $args['label_type'] == 'horizontal' ) {
753
-			$output .= '</div>';
754
-		}
755
-
756
-
757
-		// wrap
758
-		if ( ! $args['no_wrap'] ) {
759
-			if ( ! empty( $args['form_group_class'] ) ) {
760
-				$fg_class = esc_attr( $args['form_group_class'] );
761
-			}else{
762
-				$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
763
-			}
764
-			$form_group_class = $args['label_type'] == 'floating' ? 'form-label-group' : $fg_class;
765
-			$wrap_class       = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
766
-			$wrap_class       = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
767
-			$output           = self::wrap( array(
768
-				'content'         => $output,
769
-				'class'           => $wrap_class,
770
-				'element_require' => $args['element_require'],
771
-				'argument_id'     => $args['id'],
772
-				'wrap_attributes' => $args['wrap_attributes'],
773
-			) );
774
-		}
775
-
776
-
777
-		return $output;
778
-	}
779
-
780
-	/**
781
-	 * Build the component.
782
-	 *
783
-	 * @param array $args
784
-	 *
785
-	 * @return string The rendered component.
786
-	 */
787
-	public static function select( $args = array() ) {
788
-		global $aui_bs5, $aui_has_select2, $aui_select2_enqueued;
789
-
790
-		$defaults = array(
791
-			'class'            => '',
792
-			'wrap_class'       => '',
793
-			'id'               => '',
794
-			'title'            => '',
795
-			'value'            => '',
796
-			// can be an array or a string
797
-			'required'         => false,
798
-			'label'            => '',
799
-			'label_after'      => false,
800
-			'label_type'       => '',
801
-			'label_col'        => '',
802
-			// sets the label type, default: hidden. Options: hidden, top, horizontal, floating
803
-			'label_class'      => '',
804
-			'help_text'        => '',
805
-			'placeholder'      => '',
806
-			'options'          => array(),
807
-			// array or string
808
-			'icon'             => '',
809
-			'multiple'         => false,
810
-			'select2'          => false,
811
-			'no_wrap'          => false,
812
-			'input_group_right' => '',
813
-			'input_group_left' => '',
814
-			'input_group_right_inside' => false, // forces the input group inside the input
815
-			'input_group_left_inside' => false, // forces the input group inside the input
816
-			'form_group_class'  => '',
817
-			'element_require'  => '',
818
-			// [%element_id%] == "1"
819
-			'extra_attributes' => array(),
820
-			// an array of extra attributes
821
-			'wrap_attributes'  => array(),
822
-		);
823
-
824
-		/**
825
-		 * Parse incoming $args into an array and merge it with $defaults
826
-		 */
827
-		$args   = wp_parse_args( $args, $defaults );
828
-		$output = '';
829
-
830
-		// for now lets hide floating labels
831
-		if ( $args['label_type'] == 'floating' ) {
832
-			$args['label_type'] = 'hidden';
833
-		}
834
-
835
-		// hidden label option needs to be empty
836
-		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
837
-
838
-
839
-		$label_after = $args['label_after'];
840
-
841
-		// floating labels need label after
842
-		if ( $args['label_type'] == 'floating' ) {
843
-			$label_after         = true;
844
-			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
845
-		}
846
-
847
-		// Maybe setup select2
848
-		$is_select2 = false;
849
-		if ( ! empty( $args['select2'] ) ) {
850
-			$args['class'] .= ' aui-select2';
851
-			$is_select2 = true;
852
-		} elseif ( strpos( $args['class'], 'aui-select2' ) !== false ) {
853
-			$is_select2 = true;
854
-		}
855
-
856
-		if ( $is_select2 && ! $aui_has_select2 ) {
857
-			$aui_has_select2 = true;
858
-			$conditional_select2 = apply_filters( 'aui_is_conditional_select2', true );
859
-
860
-			// Enqueue the script,
861
-			if ( empty( $aui_select2_enqueued ) && $conditional_select2 === true ) {
862
-				$aui_select2_enqueued = true;
863
-
864
-				$aui_settings = AyeCode_UI_Settings::instance();
865
-				$aui_settings->enqueue_select2();
866
-			}
867
-		}
868
-
869
-		// select2 tags
870
-		if ( ! empty( $args['select2'] ) && $args['select2'] === 'tags' ) { // triple equals needed here for some reason
871
-			$args['data-tags']             = 'true';
872
-			$args['data-token-separators'] = "[',']";
873
-			$args['multiple']              = true;
874
-		}
875
-
876
-		// select2 placeholder
877
-		if ( $is_select2 && isset( $args['placeholder'] ) && '' != $args['placeholder'] && empty( $args['data-placeholder'] ) ) {
878
-			$args['data-placeholder'] = esc_attr( $args['placeholder'] );
879
-			$args['data-allow-clear'] = isset( $args['data-allow-clear'] ) ? (bool) $args['data-allow-clear'] : true;
880
-		}
881
-
882
-		// Set hidden input to save empty value for multiselect.
883
-		if ( ! empty( $args['multiple'] ) && ! empty( $args['name'] ) ) {
884
-			$output .= '<input type="hidden" ' . AUI_Component_Helper::name( $args['name'] ) . ' value="" data-ignore-rule/>';
885
-		}
886
-
887
-		// open/type
888
-		$output .= '<select ';
889
-
890
-		// style
891
-		if ( $is_select2 && !($args['input_group_left'] || $args['input_group_right'])) {
892
-			$output .= " style='width:100%;' ";
893
-		}
894
-
895
-		// element require
896
-		if ( ! empty( $args['element_require'] ) ) {
897
-			$output .= AUI_Component_Helper::element_require( $args['element_require'] );
898
-			$args['class'] .= " aui-conditional-field";
899
-		}
900
-
901
-		// class
902
-		$class = ! empty( $args['class'] ) ? $args['class'] : '';
903
-		$select_class = $aui_bs5 ? 'form-select ' : 'custom-select ';
904
-		$output .= AUI_Component_Helper::class_attr( $select_class . $class );
905
-
906
-		// name
907
-		if ( ! empty( $args['name'] ) ) {
908
-			$output .= AUI_Component_Helper::name( $args['name'], $args['multiple'] );
909
-		}
910
-
911
-		// id
912
-		if ( ! empty( $args['id'] ) ) {
913
-			$output .= AUI_Component_Helper::id( $args['id'] );
914
-		}
915
-
916
-		// title
917
-		if ( ! empty( $args['title'] ) ) {
918
-			$output .= AUI_Component_Helper::title( $args['title'] );
919
-		}
920
-
921
-		// data-attributes
922
-		$output .= AUI_Component_Helper::data_attributes( $args );
923
-
924
-		// aria-attributes
925
-		$output .= AUI_Component_Helper::aria_attributes( $args );
926
-
927
-		// extra attributes
928
-		if ( ! empty( $args['extra_attributes'] ) ) {
929
-			$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
930
-		}
931
-
932
-		// required
933
-		if ( ! empty( $args['required'] ) ) {
934
-			$output .= ' required';
935
-		}
936
-
937
-		// multiple
938
-		if ( ! empty( $args['multiple'] ) ) {
939
-			$output .= ' multiple';
940
-		}
941
-
942
-		// close opening tag
943
-		$output .= '>';
944
-
945
-		// placeholder
946
-		if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] && ! $is_select2 ) {
947
-			$output .= '<option value="" disabled selected hidden>' . esc_attr( $args['placeholder'] ) . '</option>';
948
-		} elseif ( $is_select2 && ! empty( $args['placeholder'] ) ) {
949
-			$output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
950
-		}
951
-
952
-		// Options
953
-		if ( ! empty( $args['options'] ) ) {
954
-
955
-			if ( ! is_array( $args['options'] ) ) {
956
-				$output .= $args['options']; // not the preferred way but an option
957
-			} else {
958
-				foreach ( $args['options'] as $val => $name ) {
959
-					$selected = '';
960
-					if ( is_array( $name ) ) {
961
-						if ( isset( $name['optgroup'] ) && ( $name['optgroup'] == 'start' || $name['optgroup'] == 'end' ) ) {
962
-							$option_label = isset( $name['label'] ) ? $name['label'] : '';
963
-
964
-							$output .= $name['optgroup'] == 'start' ? '<optgroup label="' . esc_attr( $option_label ) . '">' : '</optgroup>';
965
-						} else {
966
-							$option_label = isset( $name['label'] ) ? $name['label'] : '';
967
-							$option_value = isset( $name['value'] ) ? $name['value'] : '';
968
-							$extra_attributes = !empty($name['extra_attributes']) ? AUI_Component_Helper::extra_attributes( $name['extra_attributes'] ) : '';
969
-							if ( ! empty( $args['multiple'] ) && ! empty( $args['value'] ) && is_array( $args['value'] ) ) {
970
-								$selected = in_array( $option_value, stripslashes_deep( $args['value'] ) ) ? "selected" : "";
971
-							} elseif ( ! empty( $args['value'] ) ) {
972
-								$selected = selected( $option_value, stripslashes_deep( $args['value'] ), false );
973
-							} elseif ( empty( $args['value'] ) && $args['value'] === $option_value ) {
974
-								$selected = selected( $option_value, $args['value'], false );
975
-							}
976
-
977
-							$output .= '<option value="' . esc_attr( $option_value ) . '" ' . $selected . ' '.$extra_attributes .'>' . $option_label . '</option>';
978
-						}
979
-					} else {
980
-						if ( ! empty( $args['value'] ) ) {
981
-							if ( is_array( $args['value'] ) ) {
982
-								$selected = in_array( $val, $args['value'] ) ? 'selected="selected"' : '';
983
-							} elseif ( ! empty( $args['value'] ) ) {
984
-								$selected = selected( $args['value'], $val, false );
985
-							}
986
-						} elseif ( $args['value'] === $val ) {
987
-							$selected = selected( $args['value'], $val, false );
988
-						}
989
-						$output .= '<option value="' . esc_attr( $val ) . '" ' . $selected . '>' . esc_attr( $name ) . '</option>';
990
-					}
991
-				}
992
-			}
993
-
994
-		}
995
-
996
-		// closing tag
997
-		$output .= '</select>';
998
-
999
-		$label = '';
1000
-		$help_text = '';
1001
-		// label
1002
-		if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
1003
-		} elseif ( ! empty( $args['label'] ) && ! $label_after ) {
1004
-			$label_args = array(
1005
-				'title'      => $args['label'],
1006
-				'for'        => $args['id'],
1007
-				'class'      => $args['label_class'] . " ",
1008
-				'label_type' => $args['label_type'],
1009
-				'label_col'  => $args['label_col']
1010
-			);
1011
-			$label = self::label( $label_args );
1012
-		}
1013
-
1014
-		// help text
1015
-		if ( ! empty( $args['help_text'] ) ) {
1016
-			$help_text = AUI_Component_Helper::help_text( $args['help_text'] );
1017
-		}
1018
-
1019
-		// input group wraps
1020
-		if ( $args['input_group_left'] || $args['input_group_right'] ) {
1021
-			$w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
1022
-			if ( $args['input_group_left'] ) {
1023
-				$output = self::wrap( array(
1024
-					'content'                 => $output,
1025
-					'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
1026
-					'input_group_left'        => $args['input_group_left'],
1027
-					'input_group_left_inside' => $args['input_group_left_inside']
1028
-				) );
1029
-			}
1030
-			if ( $args['input_group_right'] ) {
1031
-				$output = self::wrap( array(
1032
-					'content'                  => $output,
1033
-					'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
1034
-					'input_group_right'        => $args['input_group_right'],
1035
-					'input_group_right_inside' => $args['input_group_right_inside']
1036
-				) );
1037
-			}
1038
-
1039
-		}
1040
-
1041
-		if ( ! $label_after ) {
1042
-			$output .= $help_text;
1043
-		}
1044
-
1045
-
1046
-		if ( $args['label_type'] == 'horizontal' ) {
1047
-			$output = self::wrap( array(
1048
-				'content' => $output,
1049
-				'class'   => AUI_Component_Helper::get_column_class( $args['label_col'], 'input' )
1050
-			) );
1051
-		}
1052
-
1053
-		if ( ! $label_after ) {
1054
-			$output = $label . $output;
1055
-		}
1056
-
1057
-		// maybe horizontal label
514
+            }
515
+
516
+
517
+            // close wrap
518
+            $output .= '</' . sanitize_html_class( $args['type'] ) . '>';
519
+
520
+
521
+        } else {
522
+            $output = $args['content'];
523
+        }
524
+
525
+        return $output;
526
+    }
527
+
528
+    /**
529
+     * Build the component.
530
+     *
531
+     * @param array $args
532
+     *
533
+     * @return string The rendered component.
534
+     */
535
+    public static function textarea( $args = array() ) {
536
+        global $aui_bs5;
537
+
538
+        $defaults = array(
539
+            'name'               => '',
540
+            'class'              => '',
541
+            'wrap_class'         => '',
542
+            'id'                 => '',
543
+            'placeholder'        => '',
544
+            'title'              => '',
545
+            'value'              => '',
546
+            'required'           => false,
547
+            'label'              => '',
548
+            'label_after'        => false,
549
+            'label_class'        => '',
550
+            'label_type'         => '',
551
+            'label_col'          => '',
552
+            // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
553
+            'input_group_right'        => '',
554
+            'input_group_left'         => '',
555
+            'input_group_right_inside' => false,
556
+            'form_group_class'      => '',
557
+            'help_text'          => '',
558
+            'validation_text'    => '',
559
+            'validation_pattern' => '',
560
+            'no_wrap'            => false,
561
+            'rows'               => '',
562
+            'wysiwyg'            => false,
563
+            'allow_tags'         => false,
564
+            // Allow HTML tags
565
+            'element_require'    => '',
566
+            // [%element_id%] == "1"
567
+            'extra_attributes'   => array(),
568
+            // an array of extra attributes
569
+            'wrap_attributes'    => array(),
570
+        );
571
+
572
+        /**
573
+         * Parse incoming $args into an array and merge it with $defaults
574
+         */
575
+        $args   = wp_parse_args( $args, $defaults );
576
+        $output = '';
577
+        $label = '';
578
+
579
+        // hidden label option needs to be empty
580
+        $args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
581
+
582
+        // floating labels don't work with wysiwyg so set it as top
583
+        if ( $args['label_type'] == 'floating' && ! empty( $args['wysiwyg'] ) ) {
584
+            $args['label_type'] = 'top';
585
+        }
586
+
587
+        $label_after = $args['label_after'];
588
+
589
+        // floating labels need label after
590
+        if ( $args['label_type'] == 'floating' && empty( $args['wysiwyg'] ) ) {
591
+            $label_after         = true;
592
+            $args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
593
+        }
594
+
595
+        // label
596
+        if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
597
+        } elseif ( ! empty( $args['label'] ) && ! $label_after ) {
598
+            $label_args = array(
599
+                'title'      => $args['label'],
600
+                'for'        => $args['id'],
601
+                'class'      => $args['label_class'] . " ",
602
+                'label_type' => $args['label_type'],
603
+                'label_col'  => $args['label_col']
604
+            );
605
+            $label .= self::label( $label_args );
606
+        }
607
+
608
+        // maybe horizontal label
609
+        if ( $args['label_type'] == 'horizontal' ) {
610
+            $input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
611
+            $label .= '<div class="' . $input_col . '">';
612
+        }
613
+
614
+        if ( ! empty( $args['wysiwyg'] ) ) {
615
+            ob_start();
616
+            $content   = $args['value'];
617
+            $editor_id = ! empty( $args['id'] ) ? sanitize_html_class( $args['id'] ) : 'wp_editor';
618
+            $settings  = array(
619
+                'textarea_rows' => ! empty( absint( $args['rows'] ) ) ? absint( $args['rows'] ) : 4,
620
+                'quicktags'     => false,
621
+                'media_buttons' => false,
622
+                'editor_class'  => 'form-control',
623
+                'textarea_name' => ! empty( $args['name'] ) ? sanitize_html_class( $args['name'] ) : sanitize_html_class( $args['id'] ),
624
+                'teeny'         => true,
625
+            );
626
+
627
+            // maybe set settings if array
628
+            if ( is_array( $args['wysiwyg'] ) ) {
629
+                $settings = wp_parse_args( $args['wysiwyg'], $settings );
630
+            }
631
+
632
+            wp_editor( $content, $editor_id, $settings );
633
+            $output .= ob_get_clean();
634
+        } else {
635
+
636
+            // open
637
+            $output .= '<textarea ';
638
+
639
+            // name
640
+            if ( ! empty( $args['name'] ) ) {
641
+                $output .= ' name="' . esc_attr( $args['name'] ) . '" ';
642
+            }
643
+
644
+            // id
645
+            if ( ! empty( $args['id'] ) ) {
646
+                $output .= ' id="' . sanitize_html_class( $args['id'] ) . '" ';
647
+            }
648
+
649
+            // placeholder
650
+            if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] ) {
651
+                $output .= ' placeholder="' . esc_attr( $args['placeholder'] ) . '" ';
652
+            }
653
+
654
+            // title
655
+            if ( ! empty( $args['title'] ) ) {
656
+                $output .= ' title="' . esc_attr( $args['title'] ) . '" ';
657
+            }
658
+
659
+            // validation text
660
+            if ( ! empty( $args['validation_text'] ) ) {
661
+                $output .= ' oninvalid="setCustomValidity(\'' . esc_attr( addslashes( $args['validation_text'] ) ) . '\')" ';
662
+                $output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
663
+            }
664
+
665
+            // validation_pattern
666
+            if ( ! empty( $args['validation_pattern'] ) ) {
667
+                $output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
668
+            }
669
+
670
+            // required
671
+            if ( ! empty( $args['required'] ) ) {
672
+                $output .= ' required ';
673
+            }
674
+
675
+            // rows
676
+            if ( ! empty( $args['rows'] ) ) {
677
+                $output .= ' rows="' . absint( $args['rows'] ) . '" ';
678
+            }
679
+
680
+
681
+            // class
682
+            $class = ! empty( $args['class'] ) ? $args['class'] : '';
683
+            $output .= ' class="form-control ' . $class . '" ';
684
+
685
+            // extra attributes
686
+            if ( ! empty( $args['extra_attributes'] ) ) {
687
+                $output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
688
+            }
689
+
690
+            // close tag
691
+            $output .= '>';
692
+
693
+            // value
694
+            if ( ! empty( $args['value'] ) ) {
695
+                if ( ! empty( $args['allow_tags'] ) ) {
696
+                    $output .= AUI_Component_Helper::sanitize_html_field( $args['value'], $args ); // Sanitize HTML.
697
+                } else {
698
+                    $output .= AUI_Component_Helper::sanitize_textarea_field( $args['value'] );
699
+                }
700
+            }
701
+
702
+            // closing tag
703
+            $output .= '</textarea>';
704
+
705
+
706
+            // input group wraps
707
+            if ( $args['input_group_left'] || $args['input_group_right'] ) {
708
+                $w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
709
+                if ( $args['input_group_left'] ) {
710
+                    $output = self::wrap( array(
711
+                        'content'                 => $output,
712
+                        'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
713
+                        'input_group_left'        => $args['input_group_left'],
714
+                        'input_group_left_inside' => $args['input_group_left_inside']
715
+                    ) );
716
+                }
717
+                if ( $args['input_group_right'] ) {
718
+                    $output = self::wrap( array(
719
+                        'content'                  => $output,
720
+                        'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
721
+                        'input_group_right'        => $args['input_group_right'],
722
+                        'input_group_right_inside' => $args['input_group_right_inside']
723
+                    ) );
724
+                }
725
+
726
+            }
727
+
728
+
729
+        }
730
+
731
+        if ( ! empty( $args['label'] ) && $label_after ) {
732
+            $label_args = array(
733
+                'title'      => $args['label'],
734
+                'for'        => $args['id'],
735
+                'class'      => $args['label_class'] . " ",
736
+                'label_type' => $args['label_type'],
737
+                'label_col'  => $args['label_col']
738
+            );
739
+            $output .= self::label( $label_args );
740
+        }
741
+
742
+        // help text
743
+        if ( ! empty( $args['help_text'] ) ) {
744
+            $output .= AUI_Component_Helper::help_text( $args['help_text'] );
745
+        }
746
+
747
+        if ( ! $label_after ) {
748
+            $output = $label . $output;
749
+        }
750
+
751
+        // maybe horizontal label
752
+        if ( $args['label_type'] == 'horizontal' ) {
753
+            $output .= '</div>';
754
+        }
755
+
756
+
757
+        // wrap
758
+        if ( ! $args['no_wrap'] ) {
759
+            if ( ! empty( $args['form_group_class'] ) ) {
760
+                $fg_class = esc_attr( $args['form_group_class'] );
761
+            }else{
762
+                $fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
763
+            }
764
+            $form_group_class = $args['label_type'] == 'floating' ? 'form-label-group' : $fg_class;
765
+            $wrap_class       = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
766
+            $wrap_class       = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
767
+            $output           = self::wrap( array(
768
+                'content'         => $output,
769
+                'class'           => $wrap_class,
770
+                'element_require' => $args['element_require'],
771
+                'argument_id'     => $args['id'],
772
+                'wrap_attributes' => $args['wrap_attributes'],
773
+            ) );
774
+        }
775
+
776
+
777
+        return $output;
778
+    }
779
+
780
+    /**
781
+     * Build the component.
782
+     *
783
+     * @param array $args
784
+     *
785
+     * @return string The rendered component.
786
+     */
787
+    public static function select( $args = array() ) {
788
+        global $aui_bs5, $aui_has_select2, $aui_select2_enqueued;
789
+
790
+        $defaults = array(
791
+            'class'            => '',
792
+            'wrap_class'       => '',
793
+            'id'               => '',
794
+            'title'            => '',
795
+            'value'            => '',
796
+            // can be an array or a string
797
+            'required'         => false,
798
+            'label'            => '',
799
+            'label_after'      => false,
800
+            'label_type'       => '',
801
+            'label_col'        => '',
802
+            // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
803
+            'label_class'      => '',
804
+            'help_text'        => '',
805
+            'placeholder'      => '',
806
+            'options'          => array(),
807
+            // array or string
808
+            'icon'             => '',
809
+            'multiple'         => false,
810
+            'select2'          => false,
811
+            'no_wrap'          => false,
812
+            'input_group_right' => '',
813
+            'input_group_left' => '',
814
+            'input_group_right_inside' => false, // forces the input group inside the input
815
+            'input_group_left_inside' => false, // forces the input group inside the input
816
+            'form_group_class'  => '',
817
+            'element_require'  => '',
818
+            // [%element_id%] == "1"
819
+            'extra_attributes' => array(),
820
+            // an array of extra attributes
821
+            'wrap_attributes'  => array(),
822
+        );
823
+
824
+        /**
825
+         * Parse incoming $args into an array and merge it with $defaults
826
+         */
827
+        $args   = wp_parse_args( $args, $defaults );
828
+        $output = '';
829
+
830
+        // for now lets hide floating labels
831
+        if ( $args['label_type'] == 'floating' ) {
832
+            $args['label_type'] = 'hidden';
833
+        }
834
+
835
+        // hidden label option needs to be empty
836
+        $args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
837
+
838
+
839
+        $label_after = $args['label_after'];
840
+
841
+        // floating labels need label after
842
+        if ( $args['label_type'] == 'floating' ) {
843
+            $label_after         = true;
844
+            $args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
845
+        }
846
+
847
+        // Maybe setup select2
848
+        $is_select2 = false;
849
+        if ( ! empty( $args['select2'] ) ) {
850
+            $args['class'] .= ' aui-select2';
851
+            $is_select2 = true;
852
+        } elseif ( strpos( $args['class'], 'aui-select2' ) !== false ) {
853
+            $is_select2 = true;
854
+        }
855
+
856
+        if ( $is_select2 && ! $aui_has_select2 ) {
857
+            $aui_has_select2 = true;
858
+            $conditional_select2 = apply_filters( 'aui_is_conditional_select2', true );
859
+
860
+            // Enqueue the script,
861
+            if ( empty( $aui_select2_enqueued ) && $conditional_select2 === true ) {
862
+                $aui_select2_enqueued = true;
863
+
864
+                $aui_settings = AyeCode_UI_Settings::instance();
865
+                $aui_settings->enqueue_select2();
866
+            }
867
+        }
868
+
869
+        // select2 tags
870
+        if ( ! empty( $args['select2'] ) && $args['select2'] === 'tags' ) { // triple equals needed here for some reason
871
+            $args['data-tags']             = 'true';
872
+            $args['data-token-separators'] = "[',']";
873
+            $args['multiple']              = true;
874
+        }
875
+
876
+        // select2 placeholder
877
+        if ( $is_select2 && isset( $args['placeholder'] ) && '' != $args['placeholder'] && empty( $args['data-placeholder'] ) ) {
878
+            $args['data-placeholder'] = esc_attr( $args['placeholder'] );
879
+            $args['data-allow-clear'] = isset( $args['data-allow-clear'] ) ? (bool) $args['data-allow-clear'] : true;
880
+        }
881
+
882
+        // Set hidden input to save empty value for multiselect.
883
+        if ( ! empty( $args['multiple'] ) && ! empty( $args['name'] ) ) {
884
+            $output .= '<input type="hidden" ' . AUI_Component_Helper::name( $args['name'] ) . ' value="" data-ignore-rule/>';
885
+        }
886
+
887
+        // open/type
888
+        $output .= '<select ';
889
+
890
+        // style
891
+        if ( $is_select2 && !($args['input_group_left'] || $args['input_group_right'])) {
892
+            $output .= " style='width:100%;' ";
893
+        }
894
+
895
+        // element require
896
+        if ( ! empty( $args['element_require'] ) ) {
897
+            $output .= AUI_Component_Helper::element_require( $args['element_require'] );
898
+            $args['class'] .= " aui-conditional-field";
899
+        }
900
+
901
+        // class
902
+        $class = ! empty( $args['class'] ) ? $args['class'] : '';
903
+        $select_class = $aui_bs5 ? 'form-select ' : 'custom-select ';
904
+        $output .= AUI_Component_Helper::class_attr( $select_class . $class );
905
+
906
+        // name
907
+        if ( ! empty( $args['name'] ) ) {
908
+            $output .= AUI_Component_Helper::name( $args['name'], $args['multiple'] );
909
+        }
910
+
911
+        // id
912
+        if ( ! empty( $args['id'] ) ) {
913
+            $output .= AUI_Component_Helper::id( $args['id'] );
914
+        }
915
+
916
+        // title
917
+        if ( ! empty( $args['title'] ) ) {
918
+            $output .= AUI_Component_Helper::title( $args['title'] );
919
+        }
920
+
921
+        // data-attributes
922
+        $output .= AUI_Component_Helper::data_attributes( $args );
923
+
924
+        // aria-attributes
925
+        $output .= AUI_Component_Helper::aria_attributes( $args );
926
+
927
+        // extra attributes
928
+        if ( ! empty( $args['extra_attributes'] ) ) {
929
+            $output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
930
+        }
931
+
932
+        // required
933
+        if ( ! empty( $args['required'] ) ) {
934
+            $output .= ' required';
935
+        }
936
+
937
+        // multiple
938
+        if ( ! empty( $args['multiple'] ) ) {
939
+            $output .= ' multiple';
940
+        }
941
+
942
+        // close opening tag
943
+        $output .= '>';
944
+
945
+        // placeholder
946
+        if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] && ! $is_select2 ) {
947
+            $output .= '<option value="" disabled selected hidden>' . esc_attr( $args['placeholder'] ) . '</option>';
948
+        } elseif ( $is_select2 && ! empty( $args['placeholder'] ) ) {
949
+            $output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
950
+        }
951
+
952
+        // Options
953
+        if ( ! empty( $args['options'] ) ) {
954
+
955
+            if ( ! is_array( $args['options'] ) ) {
956
+                $output .= $args['options']; // not the preferred way but an option
957
+            } else {
958
+                foreach ( $args['options'] as $val => $name ) {
959
+                    $selected = '';
960
+                    if ( is_array( $name ) ) {
961
+                        if ( isset( $name['optgroup'] ) && ( $name['optgroup'] == 'start' || $name['optgroup'] == 'end' ) ) {
962
+                            $option_label = isset( $name['label'] ) ? $name['label'] : '';
963
+
964
+                            $output .= $name['optgroup'] == 'start' ? '<optgroup label="' . esc_attr( $option_label ) . '">' : '</optgroup>';
965
+                        } else {
966
+                            $option_label = isset( $name['label'] ) ? $name['label'] : '';
967
+                            $option_value = isset( $name['value'] ) ? $name['value'] : '';
968
+                            $extra_attributes = !empty($name['extra_attributes']) ? AUI_Component_Helper::extra_attributes( $name['extra_attributes'] ) : '';
969
+                            if ( ! empty( $args['multiple'] ) && ! empty( $args['value'] ) && is_array( $args['value'] ) ) {
970
+                                $selected = in_array( $option_value, stripslashes_deep( $args['value'] ) ) ? "selected" : "";
971
+                            } elseif ( ! empty( $args['value'] ) ) {
972
+                                $selected = selected( $option_value, stripslashes_deep( $args['value'] ), false );
973
+                            } elseif ( empty( $args['value'] ) && $args['value'] === $option_value ) {
974
+                                $selected = selected( $option_value, $args['value'], false );
975
+                            }
976
+
977
+                            $output .= '<option value="' . esc_attr( $option_value ) . '" ' . $selected . ' '.$extra_attributes .'>' . $option_label . '</option>';
978
+                        }
979
+                    } else {
980
+                        if ( ! empty( $args['value'] ) ) {
981
+                            if ( is_array( $args['value'] ) ) {
982
+                                $selected = in_array( $val, $args['value'] ) ? 'selected="selected"' : '';
983
+                            } elseif ( ! empty( $args['value'] ) ) {
984
+                                $selected = selected( $args['value'], $val, false );
985
+                            }
986
+                        } elseif ( $args['value'] === $val ) {
987
+                            $selected = selected( $args['value'], $val, false );
988
+                        }
989
+                        $output .= '<option value="' . esc_attr( $val ) . '" ' . $selected . '>' . esc_attr( $name ) . '</option>';
990
+                    }
991
+                }
992
+            }
993
+
994
+        }
995
+
996
+        // closing tag
997
+        $output .= '</select>';
998
+
999
+        $label = '';
1000
+        $help_text = '';
1001
+        // label
1002
+        if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
1003
+        } elseif ( ! empty( $args['label'] ) && ! $label_after ) {
1004
+            $label_args = array(
1005
+                'title'      => $args['label'],
1006
+                'for'        => $args['id'],
1007
+                'class'      => $args['label_class'] . " ",
1008
+                'label_type' => $args['label_type'],
1009
+                'label_col'  => $args['label_col']
1010
+            );
1011
+            $label = self::label( $label_args );
1012
+        }
1013
+
1014
+        // help text
1015
+        if ( ! empty( $args['help_text'] ) ) {
1016
+            $help_text = AUI_Component_Helper::help_text( $args['help_text'] );
1017
+        }
1018
+
1019
+        // input group wraps
1020
+        if ( $args['input_group_left'] || $args['input_group_right'] ) {
1021
+            $w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
1022
+            if ( $args['input_group_left'] ) {
1023
+                $output = self::wrap( array(
1024
+                    'content'                 => $output,
1025
+                    'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
1026
+                    'input_group_left'        => $args['input_group_left'],
1027
+                    'input_group_left_inside' => $args['input_group_left_inside']
1028
+                ) );
1029
+            }
1030
+            if ( $args['input_group_right'] ) {
1031
+                $output = self::wrap( array(
1032
+                    'content'                  => $output,
1033
+                    'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
1034
+                    'input_group_right'        => $args['input_group_right'],
1035
+                    'input_group_right_inside' => $args['input_group_right_inside']
1036
+                ) );
1037
+            }
1038
+
1039
+        }
1040
+
1041
+        if ( ! $label_after ) {
1042
+            $output .= $help_text;
1043
+        }
1044
+
1045
+
1046
+        if ( $args['label_type'] == 'horizontal' ) {
1047
+            $output = self::wrap( array(
1048
+                'content' => $output,
1049
+                'class'   => AUI_Component_Helper::get_column_class( $args['label_col'], 'input' )
1050
+            ) );
1051
+        }
1052
+
1053
+        if ( ! $label_after ) {
1054
+            $output = $label . $output;
1055
+        }
1056
+
1057
+        // maybe horizontal label
1058 1058
 //		if ( $args['label_type'] == 'horizontal' ) {
1059 1059
 //			$output .= '</div>';
1060 1060
 //		}
1061 1061
 
1062 1062
 
1063
-		// wrap
1064
-		if ( ! $args['no_wrap'] ) {
1065
-			if ( ! empty( $args['form_group_class'] ) ) {
1066
-				$fg_class = esc_attr( $args['form_group_class'] );
1067
-			}else{
1068
-				$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1069
-			}
1070
-			$wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
1071
-			$wrap_class = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1072
-			$output     = self::wrap( array(
1073
-				'content'         => $output,
1074
-				'class'           => $wrap_class,
1075
-				'element_require' => $args['element_require'],
1076
-				'argument_id'     => $args['id'],
1077
-				'wrap_attributes' => $args['wrap_attributes'],
1078
-			) );
1079
-		}
1080
-
1081
-
1082
-		return $output;
1083
-	}
1084
-
1085
-	/**
1086
-	 * Build the component.
1087
-	 *
1088
-	 * @param array $args
1089
-	 *
1090
-	 * @return string The rendered component.
1091
-	 */
1092
-	public static function radio( $args = array() ) {
1093
-		global $aui_bs5;
1094
-
1095
-		$defaults = array(
1096
-			'class'            => '',
1097
-			'wrap_class'       => '',
1098
-			'id'               => '',
1099
-			'title'            => '',
1100
-			'horizontal'       => false,
1101
-			// sets the lable horizontal
1102
-			'value'            => '',
1103
-			'label'            => '',
1104
-			'label_class'      => '',
1105
-			'label_type'       => '',
1106
-			'label_col'        => '',
1107
-			// sets the label type, default: hidden. Options: hidden, top, horizontal, floating
1108
-			'help_text'        => '',
1109
-			'inline'           => true,
1110
-			'required'         => false,
1111
-			'options'          => array(),
1112
-			'icon'             => '',
1113
-			'no_wrap'          => false,
1114
-			'element_require'  => '',
1115
-			// [%element_id%] == "1"
1116
-			'extra_attributes' => array(),
1117
-			// an array of extra attributes
1118
-			'wrap_attributes'  => array()
1119
-		);
1120
-
1121
-		/**
1122
-		 * Parse incoming $args into an array and merge it with $defaults
1123
-		 */
1124
-		$args = wp_parse_args( $args, $defaults );
1125
-
1126
-		// for now lets use horizontal for floating
1127
-		if ( $args['label_type'] == 'floating' ) {
1128
-			$args['label_type'] = 'horizontal';
1129
-		}
1130
-
1131
-		$label_args = array(
1132
-			'title'      => $args['label'],
1133
-			'class'      => $args['label_class'] . " pt-0 ",
1134
-			'label_type' => $args['label_type'],
1135
-			'label_col'  => $args['label_col']
1136
-		);
1137
-
1138
-		if ( $args['label_type'] == 'top' || $args['label_type'] == 'hidden' ) {
1139
-			$label_args['class'] .= 'd-block ';
1140
-
1141
-			if ( $args['label_type'] == 'hidden' ) {
1142
-				$label_args['class'] .= 'sr-only ' . ( $aui_bs5 ? 'visually-hidden ' : '' );
1143
-			}
1144
-		}
1145
-
1146
-		$output = '';
1147
-
1148
-		// label before
1149
-		if ( ! empty( $args['label'] ) ) {
1150
-			$output .= self::label( $label_args, 'radio' );
1151
-		}
1152
-
1153
-		// maybe horizontal label
1154
-		if ( $args['label_type'] == 'horizontal' ) {
1155
-			$input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
1156
-			$output .= '<div class="' . $input_col . '">';
1157
-		}
1158
-
1159
-		if ( ! empty( $args['options'] ) ) {
1160
-			$count = 0;
1161
-			foreach ( $args['options'] as $value => $label ) {
1162
-				$option_args            = $args;
1163
-				$option_args['value']   = $value;
1164
-				$option_args['label']   = $label;
1165
-				$option_args['checked'] = $value == $args['value'] ? true : false;
1166
-				$output .= self::radio_option( $option_args, $count );
1167
-				$count ++;
1168
-			}
1169
-		}
1170
-
1171
-		// help text
1172
-		$help_text = ! empty( $args['help_text'] ) ? AUI_Component_Helper::help_text( $args['help_text'] ) : '';
1173
-		$output .= $help_text;
1174
-
1175
-		// maybe horizontal label
1176
-		if ( $args['label_type'] == 'horizontal' ) {
1177
-			$output .= '</div>';
1178
-		}
1179
-
1180
-		// wrap
1181
-		$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1182
-		$wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
1183
-		$wrap_class = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1184
-		$output     = self::wrap( array(
1185
-			'content'         => $output,
1186
-			'class'           => $wrap_class,
1187
-			'element_require' => $args['element_require'],
1188
-			'argument_id'     => $args['id'],
1189
-			'wrap_attributes' => $args['wrap_attributes'],
1190
-		) );
1191
-
1192
-
1193
-		return $output;
1194
-	}
1195
-
1196
-	/**
1197
-	 * Build the component.
1198
-	 *
1199
-	 * @param array $args
1200
-	 *
1201
-	 * @return string The rendered component.
1202
-	 */
1203
-	public static function radio_option( $args = array(), $count = '' ) {
1204
-		$defaults = array(
1205
-			'class'            => '',
1206
-			'id'               => '',
1207
-			'title'            => '',
1208
-			'value'            => '',
1209
-			'required'         => false,
1210
-			'inline'           => true,
1211
-			'label'            => '',
1212
-			'options'          => array(),
1213
-			'icon'             => '',
1214
-			'no_wrap'          => false,
1215
-			'extra_attributes' => array() // an array of extra attributes
1216
-		);
1217
-
1218
-		/**
1219
-		 * Parse incoming $args into an array and merge it with $defaults
1220
-		 */
1221
-		$args = wp_parse_args( $args, $defaults );
1222
-
1223
-		$output = '';
1224
-
1225
-		// open/type
1226
-		$output .= '<input type="radio"';
1227
-
1228
-		// class
1229
-		$output .= ' class="form-check-input" ';
1230
-
1231
-		// name
1232
-		if ( ! empty( $args['name'] ) ) {
1233
-			$output .= AUI_Component_Helper::name( $args['name'] );
1234
-		}
1235
-
1236
-		// id
1237
-		if ( ! empty( $args['id'] ) ) {
1238
-			$output .= AUI_Component_Helper::id( $args['id'] . $count );
1239
-		}
1240
-
1241
-		// title
1242
-		if ( ! empty( $args['title'] ) ) {
1243
-			$output .= AUI_Component_Helper::title( $args['title'] );
1244
-		}
1245
-
1246
-		// value
1247
-		if ( isset( $args['value'] ) ) {
1248
-			$output .= AUI_Component_Helper::value( $args['value'] );
1249
-		}
1250
-
1251
-		// checked, for radio and checkboxes
1252
-		if ( $args['checked'] ) {
1253
-			$output .= ' checked ';
1254
-		}
1255
-
1256
-		// data-attributes
1257
-		$output .= AUI_Component_Helper::data_attributes( $args );
1258
-
1259
-		// aria-attributes
1260
-		$output .= AUI_Component_Helper::aria_attributes( $args );
1261
-
1262
-		// extra attributes
1263
-		if ( ! empty( $args['extra_attributes'] ) ) {
1264
-			$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
1265
-		}
1266
-
1267
-		// required
1268
-		if ( ! empty( $args['required'] ) ) {
1269
-			$output .= ' required';
1270
-		}
1271
-
1272
-		// close opening tag
1273
-		$output .= '>';
1274
-
1275
-		// label
1276
-		if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
1277
-		} elseif ( ! empty( $args['label'] ) ) {
1278
-			$output .= self::label( array(
1279
-				'title' => $args['label'],
1280
-				'for'   => $args['id'] . $count,
1281
-				'class' => 'form-check-label'
1282
-			), 'radio' );
1283
-		}
1284
-
1285
-		// wrap
1286
-		if ( ! $args['no_wrap'] ) {
1287
-			$wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1288
-
1289
-			// Unique wrap class
1290
-			$uniq_class = 'fwrap';
1291
-			if ( ! empty( $args['name'] ) ) {
1292
-				$uniq_class .= '-' . $args['name'];
1293
-			} else if ( ! empty( $args['id'] ) ) {
1294
-				$uniq_class .= '-' . $args['id'];
1295
-			}
1296
-
1297
-			if ( isset( $args['value'] ) || $args['value'] !== "" ) {
1298
-				$uniq_class .= '-' . $args['value'];
1299
-			} else {
1300
-				$uniq_class .= '-' . $count;
1301
-			}
1302
-			$wrap_class .= ' ' . sanitize_html_class( $uniq_class );
1303
-
1304
-			$output = self::wrap( array(
1305
-				'content' => $output,
1306
-				'class'   => $wrap_class
1307
-			) );
1308
-		}
1309
-
1310
-		return $output;
1311
-	}
1063
+        // wrap
1064
+        if ( ! $args['no_wrap'] ) {
1065
+            if ( ! empty( $args['form_group_class'] ) ) {
1066
+                $fg_class = esc_attr( $args['form_group_class'] );
1067
+            }else{
1068
+                $fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1069
+            }
1070
+            $wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
1071
+            $wrap_class = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1072
+            $output     = self::wrap( array(
1073
+                'content'         => $output,
1074
+                'class'           => $wrap_class,
1075
+                'element_require' => $args['element_require'],
1076
+                'argument_id'     => $args['id'],
1077
+                'wrap_attributes' => $args['wrap_attributes'],
1078
+            ) );
1079
+        }
1080
+
1081
+
1082
+        return $output;
1083
+    }
1084
+
1085
+    /**
1086
+     * Build the component.
1087
+     *
1088
+     * @param array $args
1089
+     *
1090
+     * @return string The rendered component.
1091
+     */
1092
+    public static function radio( $args = array() ) {
1093
+        global $aui_bs5;
1094
+
1095
+        $defaults = array(
1096
+            'class'            => '',
1097
+            'wrap_class'       => '',
1098
+            'id'               => '',
1099
+            'title'            => '',
1100
+            'horizontal'       => false,
1101
+            // sets the lable horizontal
1102
+            'value'            => '',
1103
+            'label'            => '',
1104
+            'label_class'      => '',
1105
+            'label_type'       => '',
1106
+            'label_col'        => '',
1107
+            // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
1108
+            'help_text'        => '',
1109
+            'inline'           => true,
1110
+            'required'         => false,
1111
+            'options'          => array(),
1112
+            'icon'             => '',
1113
+            'no_wrap'          => false,
1114
+            'element_require'  => '',
1115
+            // [%element_id%] == "1"
1116
+            'extra_attributes' => array(),
1117
+            // an array of extra attributes
1118
+            'wrap_attributes'  => array()
1119
+        );
1120
+
1121
+        /**
1122
+         * Parse incoming $args into an array and merge it with $defaults
1123
+         */
1124
+        $args = wp_parse_args( $args, $defaults );
1125
+
1126
+        // for now lets use horizontal for floating
1127
+        if ( $args['label_type'] == 'floating' ) {
1128
+            $args['label_type'] = 'horizontal';
1129
+        }
1130
+
1131
+        $label_args = array(
1132
+            'title'      => $args['label'],
1133
+            'class'      => $args['label_class'] . " pt-0 ",
1134
+            'label_type' => $args['label_type'],
1135
+            'label_col'  => $args['label_col']
1136
+        );
1137
+
1138
+        if ( $args['label_type'] == 'top' || $args['label_type'] == 'hidden' ) {
1139
+            $label_args['class'] .= 'd-block ';
1140
+
1141
+            if ( $args['label_type'] == 'hidden' ) {
1142
+                $label_args['class'] .= 'sr-only ' . ( $aui_bs5 ? 'visually-hidden ' : '' );
1143
+            }
1144
+        }
1145
+
1146
+        $output = '';
1147
+
1148
+        // label before
1149
+        if ( ! empty( $args['label'] ) ) {
1150
+            $output .= self::label( $label_args, 'radio' );
1151
+        }
1152
+
1153
+        // maybe horizontal label
1154
+        if ( $args['label_type'] == 'horizontal' ) {
1155
+            $input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
1156
+            $output .= '<div class="' . $input_col . '">';
1157
+        }
1158
+
1159
+        if ( ! empty( $args['options'] ) ) {
1160
+            $count = 0;
1161
+            foreach ( $args['options'] as $value => $label ) {
1162
+                $option_args            = $args;
1163
+                $option_args['value']   = $value;
1164
+                $option_args['label']   = $label;
1165
+                $option_args['checked'] = $value == $args['value'] ? true : false;
1166
+                $output .= self::radio_option( $option_args, $count );
1167
+                $count ++;
1168
+            }
1169
+        }
1170
+
1171
+        // help text
1172
+        $help_text = ! empty( $args['help_text'] ) ? AUI_Component_Helper::help_text( $args['help_text'] ) : '';
1173
+        $output .= $help_text;
1174
+
1175
+        // maybe horizontal label
1176
+        if ( $args['label_type'] == 'horizontal' ) {
1177
+            $output .= '</div>';
1178
+        }
1179
+
1180
+        // wrap
1181
+        $fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1182
+        $wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
1183
+        $wrap_class = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1184
+        $output     = self::wrap( array(
1185
+            'content'         => $output,
1186
+            'class'           => $wrap_class,
1187
+            'element_require' => $args['element_require'],
1188
+            'argument_id'     => $args['id'],
1189
+            'wrap_attributes' => $args['wrap_attributes'],
1190
+        ) );
1191
+
1192
+
1193
+        return $output;
1194
+    }
1195
+
1196
+    /**
1197
+     * Build the component.
1198
+     *
1199
+     * @param array $args
1200
+     *
1201
+     * @return string The rendered component.
1202
+     */
1203
+    public static function radio_option( $args = array(), $count = '' ) {
1204
+        $defaults = array(
1205
+            'class'            => '',
1206
+            'id'               => '',
1207
+            'title'            => '',
1208
+            'value'            => '',
1209
+            'required'         => false,
1210
+            'inline'           => true,
1211
+            'label'            => '',
1212
+            'options'          => array(),
1213
+            'icon'             => '',
1214
+            'no_wrap'          => false,
1215
+            'extra_attributes' => array() // an array of extra attributes
1216
+        );
1217
+
1218
+        /**
1219
+         * Parse incoming $args into an array and merge it with $defaults
1220
+         */
1221
+        $args = wp_parse_args( $args, $defaults );
1222
+
1223
+        $output = '';
1224
+
1225
+        // open/type
1226
+        $output .= '<input type="radio"';
1227
+
1228
+        // class
1229
+        $output .= ' class="form-check-input" ';
1230
+
1231
+        // name
1232
+        if ( ! empty( $args['name'] ) ) {
1233
+            $output .= AUI_Component_Helper::name( $args['name'] );
1234
+        }
1235
+
1236
+        // id
1237
+        if ( ! empty( $args['id'] ) ) {
1238
+            $output .= AUI_Component_Helper::id( $args['id'] . $count );
1239
+        }
1240
+
1241
+        // title
1242
+        if ( ! empty( $args['title'] ) ) {
1243
+            $output .= AUI_Component_Helper::title( $args['title'] );
1244
+        }
1245
+
1246
+        // value
1247
+        if ( isset( $args['value'] ) ) {
1248
+            $output .= AUI_Component_Helper::value( $args['value'] );
1249
+        }
1250
+
1251
+        // checked, for radio and checkboxes
1252
+        if ( $args['checked'] ) {
1253
+            $output .= ' checked ';
1254
+        }
1255
+
1256
+        // data-attributes
1257
+        $output .= AUI_Component_Helper::data_attributes( $args );
1258
+
1259
+        // aria-attributes
1260
+        $output .= AUI_Component_Helper::aria_attributes( $args );
1261
+
1262
+        // extra attributes
1263
+        if ( ! empty( $args['extra_attributes'] ) ) {
1264
+            $output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
1265
+        }
1266
+
1267
+        // required
1268
+        if ( ! empty( $args['required'] ) ) {
1269
+            $output .= ' required';
1270
+        }
1271
+
1272
+        // close opening tag
1273
+        $output .= '>';
1274
+
1275
+        // label
1276
+        if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
1277
+        } elseif ( ! empty( $args['label'] ) ) {
1278
+            $output .= self::label( array(
1279
+                'title' => $args['label'],
1280
+                'for'   => $args['id'] . $count,
1281
+                'class' => 'form-check-label'
1282
+            ), 'radio' );
1283
+        }
1284
+
1285
+        // wrap
1286
+        if ( ! $args['no_wrap'] ) {
1287
+            $wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1288
+
1289
+            // Unique wrap class
1290
+            $uniq_class = 'fwrap';
1291
+            if ( ! empty( $args['name'] ) ) {
1292
+                $uniq_class .= '-' . $args['name'];
1293
+            } else if ( ! empty( $args['id'] ) ) {
1294
+                $uniq_class .= '-' . $args['id'];
1295
+            }
1296
+
1297
+            if ( isset( $args['value'] ) || $args['value'] !== "" ) {
1298
+                $uniq_class .= '-' . $args['value'];
1299
+            } else {
1300
+                $uniq_class .= '-' . $count;
1301
+            }
1302
+            $wrap_class .= ' ' . sanitize_html_class( $uniq_class );
1303
+
1304
+            $output = self::wrap( array(
1305
+                'content' => $output,
1306
+                'class'   => $wrap_class
1307
+            ) );
1308
+        }
1309
+
1310
+        return $output;
1311
+    }
1312 1312
 
1313 1313
 }
1314 1314
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +316 added lines, -316 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3
-if ( ! defined( 'ABSPATH' ) ) {
3
+if (!defined('ABSPATH')) {
4 4
 	exit; // Exit if accessed directly
5 5
 }
6 6
 
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
 	 *
19 19
 	 * @return string The rendered component.
20 20
 	 */
21
-	public static function input( $args = array() ) {
21
+	public static function input($args = array()) {
22 22
 		global $aui_bs5;
23 23
 
24 24
 		$defaults = array(
@@ -69,13 +69,13 @@  discard block
 block discarded – undo
69 69
 		/**
70 70
 		 * Parse incoming $args into an array and merge it with $defaults
71 71
 		 */
72
-		$args   = wp_parse_args( $args, $defaults );
72
+		$args   = wp_parse_args($args, $defaults);
73 73
 		$output = '';
74
-		if ( ! empty( $args['type'] ) ) {
74
+		if (!empty($args['type'])) {
75 75
 			// hidden label option needs to be empty
76 76
 			$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
77 77
 
78
-			$type = sanitize_html_class( $args['type'] );
78
+			$type = sanitize_html_class($args['type']);
79 79
 
80 80
 			$help_text   = '';
81 81
 			$label       = '';
@@ -89,17 +89,17 @@  discard block
 block discarded – undo
89 89
 			);
90 90
 
91 91
 			// floating labels need label after
92
-			if ( $args['label_type'] == 'floating' && $type != 'checkbox' ) {
92
+			if ($args['label_type'] == 'floating' && $type != 'checkbox') {
93 93
 				$label_after         = true;
94 94
 				$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
95 95
 			}
96 96
 
97 97
 			// size
98 98
 			$size = '';
99
-			if ( $args['size'] == 'lg' || $args['size'] == 'large' ) {
99
+			if ($args['size'] == 'lg' || $args['size'] == 'large') {
100 100
 				$size = 'lg';
101 101
 				$args['class'] .= ' form-control-lg';
102
-			}elseif ( $args['size'] == 'sm' || $args['size'] == 'small' ) {
102
+			}elseif ($args['size'] == 'sm' || $args['size'] == 'small') {
103 103
 				$size = 'sm';
104 104
 				$args['class'] .= ' form-control-sm';
105 105
 			}
@@ -108,28 +108,28 @@  discard block
 block discarded – undo
108 108
 			$clear_function = 'jQuery(this).parent().parent().find(\'input\').val(\'\');';
109 109
 
110 110
 			// Some special sauce for files
111
-			if ( $type == 'file' ) {
111
+			if ($type == 'file') {
112 112
 				$label_after = true; // if type file we need the label after
113 113
 				$args['class'] .= ' custom-file-input ';
114
-			} elseif ( $type == 'checkbox' ) {
114
+			} elseif ($type == 'checkbox') {
115 115
 				$label_after = true; // if type file we need the label after
116 116
 				$args['class'] .= $aui_bs5 ? ' form-check-input c-pointer ' : ' custom-control-input c-pointer ';
117
-			} elseif ( $type == 'datepicker' || $type == 'timepicker' ) {
117
+			} elseif ($type == 'datepicker' || $type == 'timepicker') {
118 118
 				$orig_type = $type;
119 119
 				$type = 'text';
120 120
 				$args['class'] .= ' bg-initial '; // @todo not sure why we have this?
121
-				$clear_function .= "jQuery(this).parent().parent().find('input[name=\'" . esc_attr( $args['name'] ) . "\']').trigger('change');";
121
+				$clear_function .= "jQuery(this).parent().parent().find('input[name=\'" . esc_attr($args['name']) . "\']').trigger('change');";
122 122
 
123 123
 				$args['extra_attributes']['data-aui-init'] = 'flatpickr';
124 124
 
125 125
 				// Disable native datetime inputs.
126
-				$disable_mobile_attr = isset( $args['extra_attributes']['data-disable-mobile'] ) ? $args['extra_attributes']['data-disable-mobile'] : 'true';
127
-				$disable_mobile_attr = apply_filters( 'aui_flatpickr_disable_disable_mobile_attr', $disable_mobile_attr, $args );
126
+				$disable_mobile_attr = isset($args['extra_attributes']['data-disable-mobile']) ? $args['extra_attributes']['data-disable-mobile'] : 'true';
127
+				$disable_mobile_attr = apply_filters('aui_flatpickr_disable_disable_mobile_attr', $disable_mobile_attr, $args);
128 128
 
129 129
 				$args['extra_attributes']['data-disable-mobile'] = $disable_mobile_attr;
130 130
 
131 131
 				// set a way to clear field if empty
132
-				if ( $args['input_group_right'] === '' && $args['clear_icon'] !== false ) {
132
+				if ($args['input_group_right'] === '' && $args['clear_icon'] !== false) {
133 133
 					$args['input_group_right_inside'] = true;
134 134
 					$args['clear_icon'] = true;
135 135
 				}
@@ -137,11 +137,11 @@  discard block
 block discarded – undo
137 137
 				// enqueue the script
138 138
 				$aui_settings = AyeCode_UI_Settings::instance();
139 139
 				$aui_settings->enqueue_flatpickr();
140
-			} else if ( $type == 'iconpicker' ) {
140
+			} else if ($type == 'iconpicker') {
141 141
 				$type = 'text';
142 142
 
143 143
 				// Validate FA icon.
144
-				$args['value'] = AUI_Component_Helper::sanitize_fa_icon( $args['value'], $args );
144
+				$args['value'] = AUI_Component_Helper::sanitize_fa_icon($args['value'], $args);
145 145
 
146 146
 				$args['extra_attributes']['data-aui-init'] = 'iconpicker';
147 147
 				$args['extra_attributes']['data-placement'] = 'bottomRight';
@@ -153,104 +153,104 @@  discard block
 block discarded – undo
153 153
 				$aui_settings->enqueue_iconpicker();
154 154
 			}
155 155
 
156
-			if ( $type == 'checkbox' && ( ( ! empty( $args['name'] ) && strpos( $args['name'], '[' ) === false ) || ! empty( $args['with_hidden'] ) ) ) {
157
-				$output .= '<input type="hidden" name="' . esc_attr( $args['name'] ) . '" value="0" />';
156
+			if ($type == 'checkbox' && ((!empty($args['name']) && strpos($args['name'], '[') === false) || !empty($args['with_hidden']))) {
157
+				$output .= '<input type="hidden" name="' . esc_attr($args['name']) . '" value="0" />';
158 158
 			}
159 159
 
160 160
 			// allow clear icon
161
-			if ( $args['input_group_right'] === '' && $args['clear_icon'] ) {
162
-				$font_size = $size == 'sm' ? '1.3' : ( $size == 'lg' ? '1.65' : '1.5' );
161
+			if ($args['input_group_right'] === '' && $args['clear_icon']) {
162
+				$font_size = $size == 'sm' ? '1.3' : ($size == 'lg' ? '1.65' : '1.5');
163 163
 				$args['input_group_right_inside'] = true;
164 164
 				$align_class = $aui_bs5 ? ' h-100 py-0' : '';
165
-				$args['input_group_right'] = '<span class="input-group-text aui-clear-input c-pointer bg-initial border-0 px-2 d-none ' . $align_class . '" onclick="' . $clear_function . '"><span style="font-size: ' . $font_size . 'rem" aria-hidden="true" class="' . ( $aui_bs5 ? 'btn-close' : 'close' ) . '">' . ( $aui_bs5 ? '' : '&times;' ) . '</span></span>';
165
+				$args['input_group_right'] = '<span class="input-group-text aui-clear-input c-pointer bg-initial border-0 px-2 d-none ' . $align_class . '" onclick="' . $clear_function . '"><span style="font-size: ' . $font_size . 'rem" aria-hidden="true" class="' . ($aui_bs5 ? 'btn-close' : 'close') . '">' . ($aui_bs5 ? '' : '&times;') . '</span></span>';
166 166
 			}
167 167
 
168 168
 			// open/type
169 169
 			$output .= '<input type="' . $type . '" ';
170 170
 
171 171
 			// name
172
-			if ( ! empty( $args['name'] ) ) {
173
-				$output .= ' name="' . esc_attr( $args['name'] ) . '" ';
172
+			if (!empty($args['name'])) {
173
+				$output .= ' name="' . esc_attr($args['name']) . '" ';
174 174
 			}
175 175
 
176 176
 			// id
177
-			if ( ! empty( $args['id'] ) ) {
178
-				$output .= ' id="' . sanitize_html_class( $args['id'] ) . '" ';
177
+			if (!empty($args['id'])) {
178
+				$output .= ' id="' . sanitize_html_class($args['id']) . '" ';
179 179
 			}
180 180
 
181 181
 			// placeholder
182
-			if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] ) {
183
-				$output .= ' placeholder="' . esc_attr( $args['placeholder'] ) . '" ';
182
+			if (isset($args['placeholder']) && '' != $args['placeholder']) {
183
+				$output .= ' placeholder="' . esc_attr($args['placeholder']) . '" ';
184 184
 			}
185 185
 
186 186
 			// title
187
-			if ( ! empty( $args['title'] ) ) {
188
-				$output .= ' title="' . esc_attr( $args['title'] ) . '" ';
187
+			if (!empty($args['title'])) {
188
+				$output .= ' title="' . esc_attr($args['title']) . '" ';
189 189
 			}
190 190
 
191 191
 			// value
192
-			if ( ! empty( $args['value'] ) ) {
193
-				$output .= AUI_Component_Helper::value( $args['value'] );
192
+			if (!empty($args['value'])) {
193
+				$output .= AUI_Component_Helper::value($args['value']);
194 194
 			}
195 195
 
196 196
 			// checked, for radio and checkboxes
197
-			if ( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ) {
197
+			if (($type == 'checkbox' || $type == 'radio') && $args['checked']) {
198 198
 				$output .= ' checked ';
199 199
 			}
200 200
 
201 201
 			// validation text
202
-			if ( ! empty( $args['validation_text'] ) ) {
203
-				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr( addslashes( $args['validation_text'] ) ) . '\')" ';
202
+			if (!empty($args['validation_text'])) {
203
+				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr(addslashes($args['validation_text'])) . '\')" ';
204 204
 				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
205 205
 			}
206 206
 
207 207
 			// validation_pattern
208
-			if ( ! empty( $args['validation_pattern'] ) ) {
209
-				$output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
208
+			if (!empty($args['validation_pattern'])) {
209
+				$output .= ' pattern="' . esc_attr($args['validation_pattern']) . '" ';
210 210
 			}
211 211
 
212 212
 			// step (for numbers)
213
-			if ( ! empty( $args['step'] ) ) {
213
+			if (!empty($args['step'])) {
214 214
 				$output .= ' step="' . $args['step'] . '" ';
215 215
 			}
216 216
 
217 217
 			// required
218
-			if ( ! empty( $args['required'] ) ) {
218
+			if (!empty($args['required'])) {
219 219
 				$output .= ' required ';
220 220
 			}
221 221
 
222 222
 			// class
223
-			$class = ! empty( $args['class'] ) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
224
-			$output .= $aui_bs5 &&  $type == 'checkbox' ? ' class="' . $class . '" ' : ' class="form-control ' . $class . '" ';
223
+			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes($args['class']) : '';
224
+			$output .= $aui_bs5 && $type == 'checkbox' ? ' class="' . $class . '" ' : ' class="form-control ' . $class . '" ';
225 225
 
226 226
 			// data-attributes
227
-			$output .= AUI_Component_Helper::data_attributes( $args );
227
+			$output .= AUI_Component_Helper::data_attributes($args);
228 228
 
229 229
 			// extra attributes
230
-			if ( ! empty( $args['extra_attributes'] ) ) {
231
-				$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
230
+			if (!empty($args['extra_attributes'])) {
231
+				$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
232 232
 			}
233 233
 
234 234
 			// close
235 235
 			$output .= '>';
236 236
 
237 237
 			// help text
238
-			if ( ! empty( $args['help_text'] ) ) {
239
-				$help_text = AUI_Component_Helper::help_text( $args['help_text'] );
238
+			if (!empty($args['help_text'])) {
239
+				$help_text = AUI_Component_Helper::help_text($args['help_text']);
240 240
 			}
241 241
 
242 242
 			// label
243
-			if ( ! empty( $args['label'] ) ) {
243
+			if (!empty($args['label'])) {
244 244
 				$label_base_class = '';
245
-				if ( $type == 'file' ) {
245
+				if ($type == 'file') {
246 246
 					$label_base_class = ' custom-file-label';
247
-				} elseif ( $type == 'checkbox' ) {
248
-					if ( ! empty( $args['label_force_left'] ) ) {
249
-						$label_args['title'] = wp_kses_post( $args['help_text'] );
247
+				} elseif ($type == 'checkbox') {
248
+					if (!empty($args['label_force_left'])) {
249
+						$label_args['title'] = wp_kses_post($args['help_text']);
250 250
 						$help_text = '';
251 251
 						//$label_args['class'] .= ' d-inline ';
252 252
 						$args['wrap_class'] .= ' align-items-center ';
253
-					}else{
253
+					} else {
254 254
 
255 255
 					}
256 256
 
@@ -258,49 +258,49 @@  discard block
 block discarded – undo
258 258
 				}
259 259
 				$label_args['class'] .= $label_base_class;
260 260
 				$temp_label_args = $label_args;
261
-				if(! empty( $args['label_force_left'] )){$temp_label_args['class'] = $label_base_class." text-muted";}
262
-				$label = self::label( $temp_label_args, $type );
261
+				if (!empty($args['label_force_left'])) {$temp_label_args['class'] = $label_base_class . " text-muted"; }
262
+				$label = self::label($temp_label_args, $type);
263 263
 			}
264 264
 
265 265
 
266 266
 
267 267
 
268 268
 			// set help text in the correct position
269
-			if ( $label_after ) {
269
+			if ($label_after) {
270 270
 				$output .= $label . $help_text;
271 271
 			}
272 272
 
273 273
 			// some input types need a separate wrap
274
-			if ( $type == 'file' ) {
275
-				$output = self::wrap( array(
274
+			if ($type == 'file') {
275
+				$output = self::wrap(array(
276 276
 					'content' => $output,
277 277
 					'class'   => $aui_bs5 ? 'mb-3 custom-file' : 'form-group custom-file'
278
-				) );
279
-			} elseif ( $type == 'checkbox' ) {
278
+				));
279
+			} elseif ($type == 'checkbox') {
280 280
 
281 281
 				$label_args['title'] = $args['label'];
282
-				$label_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'label' );
283
-				$label = !empty( $args['label_force_left'] ) ? self::label( $label_args, 'cb' ) : '<div class="' . $label_col . ' col-form-label"></div>';
284
-				$switch_size_class = $args['switch'] && !is_bool( $args['switch'] ) ? ' custom-switch-'.esc_attr( $args['switch'] ) : '';
285
-				if ( $aui_bs5 ) {
282
+				$label_col = AUI_Component_Helper::get_column_class($args['label_col'], 'label');
283
+				$label = !empty($args['label_force_left']) ? self::label($label_args, 'cb') : '<div class="' . $label_col . ' col-form-label"></div>';
284
+				$switch_size_class = $args['switch'] && !is_bool($args['switch']) ? ' custom-switch-' . esc_attr($args['switch']) : '';
285
+				if ($aui_bs5) {
286 286
 					$wrap_class = $args['switch'] ? 'form-check form-switch' . $switch_size_class : 'form-check';
287
-				}else{
288
-					$wrap_class = $args['switch'] ? 'custom-switch' . $switch_size_class :  'custom-checkbox' ;
287
+				} else {
288
+					$wrap_class = $args['switch'] ? 'custom-switch' . $switch_size_class : 'custom-checkbox';
289 289
 				}
290
-				if ( ! empty( $args['label_force_left'] ) ) {
290
+				if (!empty($args['label_force_left'])) {
291 291
 					$wrap_class .= $aui_bs5 ? '' : ' d-flex align-content-center';
292
-					$label = str_replace(array("form-check-label","custom-control-label"),"", self::label( $label_args, 'cb' ) );
292
+					$label = str_replace(array("form-check-label", "custom-control-label"), "", self::label($label_args, 'cb'));
293 293
 				}
294
-				$output     = self::wrap( array(
294
+				$output = self::wrap(array(
295 295
 					'content' => $output,
296 296
 					'class'   => $aui_bs5 ? $wrap_class : 'custom-control ' . $wrap_class
297
-				) );
297
+				));
298 298
 
299
-				if ( $args['label_type'] == 'horizontal' ) {
300
-					$input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
299
+				if ($args['label_type'] == 'horizontal') {
300
+					$input_col = AUI_Component_Helper::get_column_class($args['label_col'], 'input');
301 301
 					$output    = $label . '<div class="' . $input_col . '">' . $output . '</div>';
302 302
 				}
303
-			} elseif ( $type == 'password' && $args['password_toggle'] && ! $args['input_group_right'] ) {
303
+			} elseif ($type == 'password' && $args['password_toggle'] && !$args['input_group_right']) {
304 304
 
305 305
 
306 306
 				// allow password field to toggle view
@@ -314,70 +314,70 @@  discard block
 block discarded – undo
314 314
 			}
315 315
 
316 316
 			// input group wraps
317
-			if ( $args['input_group_left'] || $args['input_group_right'] ) {
318
-				$w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
317
+			if ($args['input_group_left'] || $args['input_group_right']) {
318
+				$w100 = strpos($args['class'], 'w-100') !== false ? ' w-100' : '';
319 319
 				$group_size = $size == 'lg' ? ' input-group-lg' : '';
320 320
 				$group_size = !$group_size && $size == 'sm' ? ' input-group-sm' : $group_size;
321 321
 
322
-				if ( $args['input_group_left'] ) {
323
-					$output = self::wrap( array(
322
+				if ($args['input_group_left']) {
323
+					$output = self::wrap(array(
324 324
 						'content'                 => $output,
325 325
 						'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 . $group_size : 'input-group' . $group_size,
326 326
 						'input_group_left'        => $args['input_group_left'],
327 327
 						'input_group_left_inside' => $args['input_group_left_inside']
328
-					) );
328
+					));
329 329
 				}
330
-				if ( $args['input_group_right'] ) {
331
-					$output = self::wrap( array(
330
+				if ($args['input_group_right']) {
331
+					$output = self::wrap(array(
332 332
 						'content'                  => $output,
333 333
 						'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 . $group_size : 'input-group' . $group_size,
334 334
 						'input_group_right'        => $args['input_group_right'],
335 335
 						'input_group_right_inside' => $args['input_group_right_inside']
336
-					) );
336
+					));
337 337
 				}
338 338
 
339 339
 			}
340 340
 
341
-			if ( ! $label_after ) {
341
+			if (!$label_after) {
342 342
 				$output .= $help_text;
343 343
 			}
344 344
 
345 345
 
346
-			if ( $args['label_type'] == 'horizontal' && $type != 'checkbox' ) {
347
-				$output = self::wrap( array(
346
+			if ($args['label_type'] == 'horizontal' && $type != 'checkbox') {
347
+				$output = self::wrap(array(
348 348
 					'content' => $output,
349
-					'class'   => AUI_Component_Helper::get_column_class( $args['label_col'], 'input' )
350
-				) );
349
+					'class'   => AUI_Component_Helper::get_column_class($args['label_col'], 'input')
350
+				));
351 351
 			}
352 352
 
353
-			if ( ! $label_after ) {
353
+			if (!$label_after) {
354 354
 				$output = $label . $output;
355 355
 			}
356 356
 
357 357
 			// wrap
358
-			if ( ! $args['no_wrap'] ) {
359
-				if ( ! empty( $args['form_group_class'] ) ) {
360
-					$fg_class = esc_attr( $args['form_group_class'] );
361
-				}else{
358
+			if (!$args['no_wrap']) {
359
+				if (!empty($args['form_group_class'])) {
360
+					$fg_class = esc_attr($args['form_group_class']);
361
+				} else {
362 362
 					$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
363 363
 				}
364 364
 				$form_group_class = $args['label_type'] == 'floating' && $type != 'checkbox' ? 'form-label-group' : $fg_class;
365 365
 				$wrap_class       = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
366
-				$wrap_class       = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
367
-				$output           = self::wrap( array(
366
+				$wrap_class       = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
367
+				$output           = self::wrap(array(
368 368
 					'content'         => $output,
369 369
 					'class'           => $wrap_class,
370 370
 					'element_require' => $args['element_require'],
371 371
 					'argument_id'     => $args['id'],
372 372
 					'wrap_attributes' => $args['wrap_attributes'],
373
-				) );
373
+				));
374 374
 			}
375 375
 		}
376 376
 
377 377
 		return $output;
378 378
 	}
379 379
 
380
-	public static function label( $args = array(), $type = '' ) {
380
+	public static function label($args = array(), $type = '') {
381 381
 		global $aui_bs5;
382 382
 
383 383
 		$defaults = array(
@@ -391,23 +391,23 @@  discard block
 block discarded – undo
391 391
 		/**
392 392
 		 * Parse incoming $args into an array and merge it with $defaults
393 393
 		 */
394
-		$args   = wp_parse_args( $args, $defaults );
394
+		$args   = wp_parse_args($args, $defaults);
395 395
 		$output = '';
396 396
 
397
-		if ( $args['title'] ) {
397
+		if ($args['title']) {
398 398
 			// maybe hide labels //@todo set a global option for visibility class
399
-			if ( $type == 'file' || $type == 'checkbox' || $type == 'radio' || ! empty( $args['label_type'] ) ) {
399
+			if ($type == 'file' || $type == 'checkbox' || $type == 'radio' || !empty($args['label_type'])) {
400 400
 				$class = $args['class'];
401 401
 			} else {
402
-				$class = 'sr-only ' . ( $aui_bs5 ? 'visually-hidden ' : '' ) . $args['class'];
402
+				$class = 'sr-only ' . ($aui_bs5 ? 'visually-hidden ' : '') . $args['class'];
403 403
 			}
404 404
 
405 405
 			// maybe horizontal
406
-			if ( $args['label_type'] == 'horizontal' && $type != 'checkbox' ) {
407
-				$class .= ' ' . AUI_Component_Helper::get_column_class( $args['label_col'], 'label' ) . ' col-form-label ' . $type;
406
+			if ($args['label_type'] == 'horizontal' && $type != 'checkbox') {
407
+				$class .= ' ' . AUI_Component_Helper::get_column_class($args['label_col'], 'label') . ' col-form-label ' . $type;
408 408
 			}
409 409
 
410
-			if ( $aui_bs5 ) {
410
+			if ($aui_bs5) {
411 411
 				$class .= ' form-label';
412 412
 			}
413 413
 
@@ -415,20 +415,20 @@  discard block
 block discarded – undo
415 415
 			$output .= '<label';
416 416
 
417 417
 			// for
418
-			if ( ! empty( $args['for'] ) ) {
419
-				$output .= ' for="' . esc_attr( $args['for'] ) . '"';
418
+			if (!empty($args['for'])) {
419
+				$output .= ' for="' . esc_attr($args['for']) . '"';
420 420
 			}
421 421
 
422 422
 			// class
423
-			$class = $class ? AUI_Component_Helper::esc_classes( $class ) : '';
423
+			$class = $class ? AUI_Component_Helper::esc_classes($class) : '';
424 424
 			$output .= $class != "" ? ' class="' . $class . '"' : '';
425 425
 
426 426
 			// close
427 427
 			$output .= '>';
428 428
 
429 429
 			// title, don't escape fully as can contain html
430
-			if ( ! empty( $args['title'] ) ) {
431
-				$output .= wp_kses_post( $args['title'] );
430
+			if (!empty($args['title'])) {
431
+				$output .= wp_kses_post($args['title']);
432 432
 			}
433 433
 
434 434
 			// close wrap
@@ -445,7 +445,7 @@  discard block
 block discarded – undo
445 445
 	 *
446 446
 	 * @return string
447 447
 	 */
448
-	public static function wrap( $args = array() ) {
448
+	public static function wrap($args = array()) {
449 449
 		global $aui_bs5;
450 450
 		$defaults = array(
451 451
 			'type'                     => 'div',
@@ -463,31 +463,31 @@  discard block
 block discarded – undo
463 463
 		/**
464 464
 		 * Parse incoming $args into an array and merge it with $defaults
465 465
 		 */
466
-		$args   = wp_parse_args( $args, $defaults );
466
+		$args   = wp_parse_args($args, $defaults);
467 467
 		$output = '';
468
-		if ( $args['type'] ) {
468
+		if ($args['type']) {
469 469
 
470 470
 			// open
471
-			$output .= '<' . sanitize_html_class( $args['type'] );
471
+			$output .= '<' . sanitize_html_class($args['type']);
472 472
 
473 473
 			// element require
474
-			if ( ! empty( $args['element_require'] ) ) {
475
-				$output .= AUI_Component_Helper::element_require( $args['element_require'] );
474
+			if (!empty($args['element_require'])) {
475
+				$output .= AUI_Component_Helper::element_require($args['element_require']);
476 476
 				$args['class'] .= " aui-conditional-field";
477 477
 			}
478 478
 
479 479
 			// argument_id
480
-			if ( ! empty( $args['argument_id'] ) ) {
481
-				$output .= ' data-argument="' . esc_attr( $args['argument_id'] ) . '"';
480
+			if (!empty($args['argument_id'])) {
481
+				$output .= ' data-argument="' . esc_attr($args['argument_id']) . '"';
482 482
 			}
483 483
 
484 484
 			// class
485
-			$class = ! empty( $args['class'] ) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
485
+			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes($args['class']) : '';
486 486
 			$output .= ' class="' . $class . '" ';
487 487
 
488 488
 			// Attributes
489
-			if ( ! empty( $args['wrap_attributes'] ) ) {
490
-				$output .= AUI_Component_Helper::extra_attributes( $args['wrap_attributes'] );
489
+			if (!empty($args['wrap_attributes'])) {
490
+				$output .= AUI_Component_Helper::extra_attributes($args['wrap_attributes']);
491 491
 			}
492 492
 
493 493
 			// close wrap
@@ -495,9 +495,9 @@  discard block
 block discarded – undo
495 495
 
496 496
 
497 497
 			// Input group left
498
-			if ( ! empty( $args['input_group_left'] ) ) {
499
-				$position_class   = ! empty( $args['input_group_left_inside'] ) ? 'position-absolute h-100' : '';
500
-				$input_group_left = strpos( $args['input_group_left'], '<' ) !== false ? $args['input_group_left'] : '<span class="input-group-text">' . $args['input_group_left'] . '</span>';
498
+			if (!empty($args['input_group_left'])) {
499
+				$position_class   = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
500
+				$input_group_left = strpos($args['input_group_left'], '<') !== false ? $args['input_group_left'] : '<span class="input-group-text">' . $args['input_group_left'] . '</span>';
501 501
 				$output .= $aui_bs5 ? $input_group_left : '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
502 502
 //				$output .= '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
503 503
 			}
@@ -506,16 +506,16 @@  discard block
 block discarded – undo
506 506
 			$output .= $args['content'];
507 507
 
508 508
 			// Input group right
509
-			if ( ! empty( $args['input_group_right'] ) ) {
510
-				$position_class    = ! empty( $args['input_group_right_inside'] ) ? 'position-absolute h-100' : '';
511
-				$input_group_right = strpos( $args['input_group_right'], '<' ) !== false ? $args['input_group_right'] : '<span class="input-group-text">' . $args['input_group_right'] . '</span>';
512
-				$output .= $aui_bs5 ? str_replace( 'input-group-text','input-group-text top-0 end-0', $input_group_right ) : '<div class="input-group-append ' . $position_class . '" style="top:0;right:0;">' . $input_group_right . '</div>';
509
+			if (!empty($args['input_group_right'])) {
510
+				$position_class    = !empty($args['input_group_right_inside']) ? 'position-absolute h-100' : '';
511
+				$input_group_right = strpos($args['input_group_right'], '<') !== false ? $args['input_group_right'] : '<span class="input-group-text">' . $args['input_group_right'] . '</span>';
512
+				$output .= $aui_bs5 ? str_replace('input-group-text', 'input-group-text top-0 end-0', $input_group_right) : '<div class="input-group-append ' . $position_class . '" style="top:0;right:0;">' . $input_group_right . '</div>';
513 513
 //				$output .= '<div class="input-group-append ' . $position_class . '" style="top:0;right:0;">' . $input_group_right . '</div>';
514 514
 			}
515 515
 
516 516
 
517 517
 			// close wrap
518
-			$output .= '</' . sanitize_html_class( $args['type'] ) . '>';
518
+			$output .= '</' . sanitize_html_class($args['type']) . '>';
519 519
 
520 520
 
521 521
 		} else {
@@ -532,7 +532,7 @@  discard block
 block discarded – undo
532 532
 	 *
533 533
 	 * @return string The rendered component.
534 534
 	 */
535
-	public static function textarea( $args = array() ) {
535
+	public static function textarea($args = array()) {
536 536
 		global $aui_bs5;
537 537
 
538 538
 		$defaults = array(
@@ -572,7 +572,7 @@  discard block
 block discarded – undo
572 572
 		/**
573 573
 		 * Parse incoming $args into an array and merge it with $defaults
574 574
 		 */
575
-		$args   = wp_parse_args( $args, $defaults );
575
+		$args   = wp_parse_args($args, $defaults);
576 576
 		$output = '';
577 577
 		$label = '';
578 578
 
@@ -580,21 +580,21 @@  discard block
 block discarded – undo
580 580
 		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
581 581
 
582 582
 		// floating labels don't work with wysiwyg so set it as top
583
-		if ( $args['label_type'] == 'floating' && ! empty( $args['wysiwyg'] ) ) {
583
+		if ($args['label_type'] == 'floating' && !empty($args['wysiwyg'])) {
584 584
 			$args['label_type'] = 'top';
585 585
 		}
586 586
 
587 587
 		$label_after = $args['label_after'];
588 588
 
589 589
 		// floating labels need label after
590
-		if ( $args['label_type'] == 'floating' && empty( $args['wysiwyg'] ) ) {
590
+		if ($args['label_type'] == 'floating' && empty($args['wysiwyg'])) {
591 591
 			$label_after         = true;
592 592
 			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
593 593
 		}
594 594
 
595 595
 		// label
596
-		if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
597
-		} elseif ( ! empty( $args['label'] ) && ! $label_after ) {
596
+		if (!empty($args['label']) && is_array($args['label'])) {
597
+		} elseif (!empty($args['label']) && !$label_after) {
598 598
 			$label_args = array(
599 599
 				'title'      => $args['label'],
600 600
 				'for'        => $args['id'],
@@ -602,34 +602,34 @@  discard block
 block discarded – undo
602 602
 				'label_type' => $args['label_type'],
603 603
 				'label_col'  => $args['label_col']
604 604
 			);
605
-			$label .= self::label( $label_args );
605
+			$label .= self::label($label_args);
606 606
 		}
607 607
 
608 608
 		// maybe horizontal label
609
-		if ( $args['label_type'] == 'horizontal' ) {
610
-			$input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
609
+		if ($args['label_type'] == 'horizontal') {
610
+			$input_col = AUI_Component_Helper::get_column_class($args['label_col'], 'input');
611 611
 			$label .= '<div class="' . $input_col . '">';
612 612
 		}
613 613
 
614
-		if ( ! empty( $args['wysiwyg'] ) ) {
614
+		if (!empty($args['wysiwyg'])) {
615 615
 			ob_start();
616 616
 			$content   = $args['value'];
617
-			$editor_id = ! empty( $args['id'] ) ? sanitize_html_class( $args['id'] ) : 'wp_editor';
617
+			$editor_id = !empty($args['id']) ? sanitize_html_class($args['id']) : 'wp_editor';
618 618
 			$settings  = array(
619
-				'textarea_rows' => ! empty( absint( $args['rows'] ) ) ? absint( $args['rows'] ) : 4,
619
+				'textarea_rows' => !empty(absint($args['rows'])) ? absint($args['rows']) : 4,
620 620
 				'quicktags'     => false,
621 621
 				'media_buttons' => false,
622 622
 				'editor_class'  => 'form-control',
623
-				'textarea_name' => ! empty( $args['name'] ) ? sanitize_html_class( $args['name'] ) : sanitize_html_class( $args['id'] ),
623
+				'textarea_name' => !empty($args['name']) ? sanitize_html_class($args['name']) : sanitize_html_class($args['id']),
624 624
 				'teeny'         => true,
625 625
 			);
626 626
 
627 627
 			// maybe set settings if array
628
-			if ( is_array( $args['wysiwyg'] ) ) {
629
-				$settings = wp_parse_args( $args['wysiwyg'], $settings );
628
+			if (is_array($args['wysiwyg'])) {
629
+				$settings = wp_parse_args($args['wysiwyg'], $settings);
630 630
 			}
631 631
 
632
-			wp_editor( $content, $editor_id, $settings );
632
+			wp_editor($content, $editor_id, $settings);
633 633
 			$output .= ob_get_clean();
634 634
 		} else {
635 635
 
@@ -637,65 +637,65 @@  discard block
 block discarded – undo
637 637
 			$output .= '<textarea ';
638 638
 
639 639
 			// name
640
-			if ( ! empty( $args['name'] ) ) {
641
-				$output .= ' name="' . esc_attr( $args['name'] ) . '" ';
640
+			if (!empty($args['name'])) {
641
+				$output .= ' name="' . esc_attr($args['name']) . '" ';
642 642
 			}
643 643
 
644 644
 			// id
645
-			if ( ! empty( $args['id'] ) ) {
646
-				$output .= ' id="' . sanitize_html_class( $args['id'] ) . '" ';
645
+			if (!empty($args['id'])) {
646
+				$output .= ' id="' . sanitize_html_class($args['id']) . '" ';
647 647
 			}
648 648
 
649 649
 			// placeholder
650
-			if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] ) {
651
-				$output .= ' placeholder="' . esc_attr( $args['placeholder'] ) . '" ';
650
+			if (isset($args['placeholder']) && '' != $args['placeholder']) {
651
+				$output .= ' placeholder="' . esc_attr($args['placeholder']) . '" ';
652 652
 			}
653 653
 
654 654
 			// title
655
-			if ( ! empty( $args['title'] ) ) {
656
-				$output .= ' title="' . esc_attr( $args['title'] ) . '" ';
655
+			if (!empty($args['title'])) {
656
+				$output .= ' title="' . esc_attr($args['title']) . '" ';
657 657
 			}
658 658
 
659 659
 			// validation text
660
-			if ( ! empty( $args['validation_text'] ) ) {
661
-				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr( addslashes( $args['validation_text'] ) ) . '\')" ';
660
+			if (!empty($args['validation_text'])) {
661
+				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr(addslashes($args['validation_text'])) . '\')" ';
662 662
 				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
663 663
 			}
664 664
 
665 665
 			// validation_pattern
666
-			if ( ! empty( $args['validation_pattern'] ) ) {
667
-				$output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
666
+			if (!empty($args['validation_pattern'])) {
667
+				$output .= ' pattern="' . esc_attr($args['validation_pattern']) . '" ';
668 668
 			}
669 669
 
670 670
 			// required
671
-			if ( ! empty( $args['required'] ) ) {
671
+			if (!empty($args['required'])) {
672 672
 				$output .= ' required ';
673 673
 			}
674 674
 
675 675
 			// rows
676
-			if ( ! empty( $args['rows'] ) ) {
677
-				$output .= ' rows="' . absint( $args['rows'] ) . '" ';
676
+			if (!empty($args['rows'])) {
677
+				$output .= ' rows="' . absint($args['rows']) . '" ';
678 678
 			}
679 679
 
680 680
 
681 681
 			// class
682
-			$class = ! empty( $args['class'] ) ? $args['class'] : '';
682
+			$class = !empty($args['class']) ? $args['class'] : '';
683 683
 			$output .= ' class="form-control ' . $class . '" ';
684 684
 
685 685
 			// extra attributes
686
-			if ( ! empty( $args['extra_attributes'] ) ) {
687
-				$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
686
+			if (!empty($args['extra_attributes'])) {
687
+				$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
688 688
 			}
689 689
 
690 690
 			// close tag
691 691
 			$output .= '>';
692 692
 
693 693
 			// value
694
-			if ( ! empty( $args['value'] ) ) {
695
-				if ( ! empty( $args['allow_tags'] ) ) {
696
-					$output .= AUI_Component_Helper::sanitize_html_field( $args['value'], $args ); // Sanitize HTML.
694
+			if (!empty($args['value'])) {
695
+				if (!empty($args['allow_tags'])) {
696
+					$output .= AUI_Component_Helper::sanitize_html_field($args['value'], $args); // Sanitize HTML.
697 697
 				} else {
698
-					$output .= AUI_Component_Helper::sanitize_textarea_field( $args['value'] );
698
+					$output .= AUI_Component_Helper::sanitize_textarea_field($args['value']);
699 699
 				}
700 700
 			}
701 701
 
@@ -704,23 +704,23 @@  discard block
 block discarded – undo
704 704
 
705 705
 
706 706
 			// input group wraps
707
-			if ( $args['input_group_left'] || $args['input_group_right'] ) {
708
-				$w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
709
-				if ( $args['input_group_left'] ) {
710
-					$output = self::wrap( array(
707
+			if ($args['input_group_left'] || $args['input_group_right']) {
708
+				$w100 = strpos($args['class'], 'w-100') !== false ? ' w-100' : '';
709
+				if ($args['input_group_left']) {
710
+					$output = self::wrap(array(
711 711
 						'content'                 => $output,
712 712
 						'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
713 713
 						'input_group_left'        => $args['input_group_left'],
714 714
 						'input_group_left_inside' => $args['input_group_left_inside']
715
-					) );
715
+					));
716 716
 				}
717
-				if ( $args['input_group_right'] ) {
718
-					$output = self::wrap( array(
717
+				if ($args['input_group_right']) {
718
+					$output = self::wrap(array(
719 719
 						'content'                  => $output,
720 720
 						'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
721 721
 						'input_group_right'        => $args['input_group_right'],
722 722
 						'input_group_right_inside' => $args['input_group_right_inside']
723
-					) );
723
+					));
724 724
 				}
725 725
 
726 726
 			}
@@ -728,7 +728,7 @@  discard block
 block discarded – undo
728 728
 
729 729
 		}
730 730
 
731
-		if ( ! empty( $args['label'] ) && $label_after ) {
731
+		if (!empty($args['label']) && $label_after) {
732 732
 			$label_args = array(
733 733
 				'title'      => $args['label'],
734 734
 				'for'        => $args['id'],
@@ -736,41 +736,41 @@  discard block
 block discarded – undo
736 736
 				'label_type' => $args['label_type'],
737 737
 				'label_col'  => $args['label_col']
738 738
 			);
739
-			$output .= self::label( $label_args );
739
+			$output .= self::label($label_args);
740 740
 		}
741 741
 
742 742
 		// help text
743
-		if ( ! empty( $args['help_text'] ) ) {
744
-			$output .= AUI_Component_Helper::help_text( $args['help_text'] );
743
+		if (!empty($args['help_text'])) {
744
+			$output .= AUI_Component_Helper::help_text($args['help_text']);
745 745
 		}
746 746
 
747
-		if ( ! $label_after ) {
747
+		if (!$label_after) {
748 748
 			$output = $label . $output;
749 749
 		}
750 750
 
751 751
 		// maybe horizontal label
752
-		if ( $args['label_type'] == 'horizontal' ) {
752
+		if ($args['label_type'] == 'horizontal') {
753 753
 			$output .= '</div>';
754 754
 		}
755 755
 
756 756
 
757 757
 		// wrap
758
-		if ( ! $args['no_wrap'] ) {
759
-			if ( ! empty( $args['form_group_class'] ) ) {
760
-				$fg_class = esc_attr( $args['form_group_class'] );
761
-			}else{
758
+		if (!$args['no_wrap']) {
759
+			if (!empty($args['form_group_class'])) {
760
+				$fg_class = esc_attr($args['form_group_class']);
761
+			} else {
762 762
 				$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
763 763
 			}
764 764
 			$form_group_class = $args['label_type'] == 'floating' ? 'form-label-group' : $fg_class;
765 765
 			$wrap_class       = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
766
-			$wrap_class       = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
767
-			$output           = self::wrap( array(
766
+			$wrap_class       = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
767
+			$output           = self::wrap(array(
768 768
 				'content'         => $output,
769 769
 				'class'           => $wrap_class,
770 770
 				'element_require' => $args['element_require'],
771 771
 				'argument_id'     => $args['id'],
772 772
 				'wrap_attributes' => $args['wrap_attributes'],
773
-			) );
773
+			));
774 774
 		}
775 775
 
776 776
 
@@ -784,7 +784,7 @@  discard block
 block discarded – undo
784 784
 	 *
785 785
 	 * @return string The rendered component.
786 786
 	 */
787
-	public static function select( $args = array() ) {
787
+	public static function select($args = array()) {
788 788
 		global $aui_bs5, $aui_has_select2, $aui_select2_enqueued;
789 789
 
790 790
 		$defaults = array(
@@ -824,11 +824,11 @@  discard block
 block discarded – undo
824 824
 		/**
825 825
 		 * Parse incoming $args into an array and merge it with $defaults
826 826
 		 */
827
-		$args   = wp_parse_args( $args, $defaults );
827
+		$args   = wp_parse_args($args, $defaults);
828 828
 		$output = '';
829 829
 
830 830
 		// for now lets hide floating labels
831
-		if ( $args['label_type'] == 'floating' ) {
831
+		if ($args['label_type'] == 'floating') {
832 832
 			$args['label_type'] = 'hidden';
833 833
 		}
834 834
 
@@ -839,26 +839,26 @@  discard block
 block discarded – undo
839 839
 		$label_after = $args['label_after'];
840 840
 
841 841
 		// floating labels need label after
842
-		if ( $args['label_type'] == 'floating' ) {
842
+		if ($args['label_type'] == 'floating') {
843 843
 			$label_after         = true;
844 844
 			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
845 845
 		}
846 846
 
847 847
 		// Maybe setup select2
848 848
 		$is_select2 = false;
849
-		if ( ! empty( $args['select2'] ) ) {
849
+		if (!empty($args['select2'])) {
850 850
 			$args['class'] .= ' aui-select2';
851 851
 			$is_select2 = true;
852
-		} elseif ( strpos( $args['class'], 'aui-select2' ) !== false ) {
852
+		} elseif (strpos($args['class'], 'aui-select2') !== false) {
853 853
 			$is_select2 = true;
854 854
 		}
855 855
 
856
-		if ( $is_select2 && ! $aui_has_select2 ) {
856
+		if ($is_select2 && !$aui_has_select2) {
857 857
 			$aui_has_select2 = true;
858
-			$conditional_select2 = apply_filters( 'aui_is_conditional_select2', true );
858
+			$conditional_select2 = apply_filters('aui_is_conditional_select2', true);
859 859
 
860 860
 			// Enqueue the script,
861
-			if ( empty( $aui_select2_enqueued ) && $conditional_select2 === true ) {
861
+			if (empty($aui_select2_enqueued) && $conditional_select2 === true) {
862 862
 				$aui_select2_enqueued = true;
863 863
 
864 864
 				$aui_settings = AyeCode_UI_Settings::instance();
@@ -867,75 +867,75 @@  discard block
 block discarded – undo
867 867
 		}
868 868
 
869 869
 		// select2 tags
870
-		if ( ! empty( $args['select2'] ) && $args['select2'] === 'tags' ) { // triple equals needed here for some reason
870
+		if (!empty($args['select2']) && $args['select2'] === 'tags') { // triple equals needed here for some reason
871 871
 			$args['data-tags']             = 'true';
872 872
 			$args['data-token-separators'] = "[',']";
873 873
 			$args['multiple']              = true;
874 874
 		}
875 875
 
876 876
 		// select2 placeholder
877
-		if ( $is_select2 && isset( $args['placeholder'] ) && '' != $args['placeholder'] && empty( $args['data-placeholder'] ) ) {
878
-			$args['data-placeholder'] = esc_attr( $args['placeholder'] );
879
-			$args['data-allow-clear'] = isset( $args['data-allow-clear'] ) ? (bool) $args['data-allow-clear'] : true;
877
+		if ($is_select2 && isset($args['placeholder']) && '' != $args['placeholder'] && empty($args['data-placeholder'])) {
878
+			$args['data-placeholder'] = esc_attr($args['placeholder']);
879
+			$args['data-allow-clear'] = isset($args['data-allow-clear']) ? (bool) $args['data-allow-clear'] : true;
880 880
 		}
881 881
 
882 882
 		// Set hidden input to save empty value for multiselect.
883
-		if ( ! empty( $args['multiple'] ) && ! empty( $args['name'] ) ) {
884
-			$output .= '<input type="hidden" ' . AUI_Component_Helper::name( $args['name'] ) . ' value="" data-ignore-rule/>';
883
+		if (!empty($args['multiple']) && !empty($args['name'])) {
884
+			$output .= '<input type="hidden" ' . AUI_Component_Helper::name($args['name']) . ' value="" data-ignore-rule/>';
885 885
 		}
886 886
 
887 887
 		// open/type
888 888
 		$output .= '<select ';
889 889
 
890 890
 		// style
891
-		if ( $is_select2 && !($args['input_group_left'] || $args['input_group_right'])) {
891
+		if ($is_select2 && !($args['input_group_left'] || $args['input_group_right'])) {
892 892
 			$output .= " style='width:100%;' ";
893 893
 		}
894 894
 
895 895
 		// element require
896
-		if ( ! empty( $args['element_require'] ) ) {
897
-			$output .= AUI_Component_Helper::element_require( $args['element_require'] );
896
+		if (!empty($args['element_require'])) {
897
+			$output .= AUI_Component_Helper::element_require($args['element_require']);
898 898
 			$args['class'] .= " aui-conditional-field";
899 899
 		}
900 900
 
901 901
 		// class
902
-		$class = ! empty( $args['class'] ) ? $args['class'] : '';
902
+		$class = !empty($args['class']) ? $args['class'] : '';
903 903
 		$select_class = $aui_bs5 ? 'form-select ' : 'custom-select ';
904
-		$output .= AUI_Component_Helper::class_attr( $select_class . $class );
904
+		$output .= AUI_Component_Helper::class_attr($select_class . $class);
905 905
 
906 906
 		// name
907
-		if ( ! empty( $args['name'] ) ) {
908
-			$output .= AUI_Component_Helper::name( $args['name'], $args['multiple'] );
907
+		if (!empty($args['name'])) {
908
+			$output .= AUI_Component_Helper::name($args['name'], $args['multiple']);
909 909
 		}
910 910
 
911 911
 		// id
912
-		if ( ! empty( $args['id'] ) ) {
913
-			$output .= AUI_Component_Helper::id( $args['id'] );
912
+		if (!empty($args['id'])) {
913
+			$output .= AUI_Component_Helper::id($args['id']);
914 914
 		}
915 915
 
916 916
 		// title
917
-		if ( ! empty( $args['title'] ) ) {
918
-			$output .= AUI_Component_Helper::title( $args['title'] );
917
+		if (!empty($args['title'])) {
918
+			$output .= AUI_Component_Helper::title($args['title']);
919 919
 		}
920 920
 
921 921
 		// data-attributes
922
-		$output .= AUI_Component_Helper::data_attributes( $args );
922
+		$output .= AUI_Component_Helper::data_attributes($args);
923 923
 
924 924
 		// aria-attributes
925
-		$output .= AUI_Component_Helper::aria_attributes( $args );
925
+		$output .= AUI_Component_Helper::aria_attributes($args);
926 926
 
927 927
 		// extra attributes
928
-		if ( ! empty( $args['extra_attributes'] ) ) {
929
-			$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
928
+		if (!empty($args['extra_attributes'])) {
929
+			$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
930 930
 		}
931 931
 
932 932
 		// required
933
-		if ( ! empty( $args['required'] ) ) {
933
+		if (!empty($args['required'])) {
934 934
 			$output .= ' required';
935 935
 		}
936 936
 
937 937
 		// multiple
938
-		if ( ! empty( $args['multiple'] ) ) {
938
+		if (!empty($args['multiple'])) {
939 939
 			$output .= ' multiple';
940 940
 		}
941 941
 
@@ -943,50 +943,50 @@  discard block
 block discarded – undo
943 943
 		$output .= '>';
944 944
 
945 945
 		// placeholder
946
-		if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] && ! $is_select2 ) {
947
-			$output .= '<option value="" disabled selected hidden>' . esc_attr( $args['placeholder'] ) . '</option>';
948
-		} elseif ( $is_select2 && ! empty( $args['placeholder'] ) ) {
946
+		if (isset($args['placeholder']) && '' != $args['placeholder'] && !$is_select2) {
947
+			$output .= '<option value="" disabled selected hidden>' . esc_attr($args['placeholder']) . '</option>';
948
+		} elseif ($is_select2 && !empty($args['placeholder'])) {
949 949
 			$output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
950 950
 		}
951 951
 
952 952
 		// Options
953
-		if ( ! empty( $args['options'] ) ) {
953
+		if (!empty($args['options'])) {
954 954
 
955
-			if ( ! is_array( $args['options'] ) ) {
955
+			if (!is_array($args['options'])) {
956 956
 				$output .= $args['options']; // not the preferred way but an option
957 957
 			} else {
958
-				foreach ( $args['options'] as $val => $name ) {
958
+				foreach ($args['options'] as $val => $name) {
959 959
 					$selected = '';
960
-					if ( is_array( $name ) ) {
961
-						if ( isset( $name['optgroup'] ) && ( $name['optgroup'] == 'start' || $name['optgroup'] == 'end' ) ) {
962
-							$option_label = isset( $name['label'] ) ? $name['label'] : '';
960
+					if (is_array($name)) {
961
+						if (isset($name['optgroup']) && ($name['optgroup'] == 'start' || $name['optgroup'] == 'end')) {
962
+							$option_label = isset($name['label']) ? $name['label'] : '';
963 963
 
964
-							$output .= $name['optgroup'] == 'start' ? '<optgroup label="' . esc_attr( $option_label ) . '">' : '</optgroup>';
964
+							$output .= $name['optgroup'] == 'start' ? '<optgroup label="' . esc_attr($option_label) . '">' : '</optgroup>';
965 965
 						} else {
966
-							$option_label = isset( $name['label'] ) ? $name['label'] : '';
967
-							$option_value = isset( $name['value'] ) ? $name['value'] : '';
968
-							$extra_attributes = !empty($name['extra_attributes']) ? AUI_Component_Helper::extra_attributes( $name['extra_attributes'] ) : '';
969
-							if ( ! empty( $args['multiple'] ) && ! empty( $args['value'] ) && is_array( $args['value'] ) ) {
970
-								$selected = in_array( $option_value, stripslashes_deep( $args['value'] ) ) ? "selected" : "";
971
-							} elseif ( ! empty( $args['value'] ) ) {
972
-								$selected = selected( $option_value, stripslashes_deep( $args['value'] ), false );
973
-							} elseif ( empty( $args['value'] ) && $args['value'] === $option_value ) {
974
-								$selected = selected( $option_value, $args['value'], false );
966
+							$option_label = isset($name['label']) ? $name['label'] : '';
967
+							$option_value = isset($name['value']) ? $name['value'] : '';
968
+							$extra_attributes = !empty($name['extra_attributes']) ? AUI_Component_Helper::extra_attributes($name['extra_attributes']) : '';
969
+							if (!empty($args['multiple']) && !empty($args['value']) && is_array($args['value'])) {
970
+								$selected = in_array($option_value, stripslashes_deep($args['value'])) ? "selected" : "";
971
+							} elseif (!empty($args['value'])) {
972
+								$selected = selected($option_value, stripslashes_deep($args['value']), false);
973
+							} elseif (empty($args['value']) && $args['value'] === $option_value) {
974
+								$selected = selected($option_value, $args['value'], false);
975 975
 							}
976 976
 
977
-							$output .= '<option value="' . esc_attr( $option_value ) . '" ' . $selected . ' '.$extra_attributes .'>' . $option_label . '</option>';
977
+							$output .= '<option value="' . esc_attr($option_value) . '" ' . $selected . ' ' . $extra_attributes . '>' . $option_label . '</option>';
978 978
 						}
979 979
 					} else {
980
-						if ( ! empty( $args['value'] ) ) {
981
-							if ( is_array( $args['value'] ) ) {
982
-								$selected = in_array( $val, $args['value'] ) ? 'selected="selected"' : '';
983
-							} elseif ( ! empty( $args['value'] ) ) {
984
-								$selected = selected( $args['value'], $val, false );
980
+						if (!empty($args['value'])) {
981
+							if (is_array($args['value'])) {
982
+								$selected = in_array($val, $args['value']) ? 'selected="selected"' : '';
983
+							} elseif (!empty($args['value'])) {
984
+								$selected = selected($args['value'], $val, false);
985 985
 							}
986
-						} elseif ( $args['value'] === $val ) {
987
-							$selected = selected( $args['value'], $val, false );
986
+						} elseif ($args['value'] === $val) {
987
+							$selected = selected($args['value'], $val, false);
988 988
 						}
989
-						$output .= '<option value="' . esc_attr( $val ) . '" ' . $selected . '>' . esc_attr( $name ) . '</option>';
989
+						$output .= '<option value="' . esc_attr($val) . '" ' . $selected . '>' . esc_attr($name) . '</option>';
990 990
 					}
991 991
 				}
992 992
 			}
@@ -999,8 +999,8 @@  discard block
 block discarded – undo
999 999
 		$label = '';
1000 1000
 		$help_text = '';
1001 1001
 		// label
1002
-		if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
1003
-		} elseif ( ! empty( $args['label'] ) && ! $label_after ) {
1002
+		if (!empty($args['label']) && is_array($args['label'])) {
1003
+		} elseif (!empty($args['label']) && !$label_after) {
1004 1004
 			$label_args = array(
1005 1005
 				'title'      => $args['label'],
1006 1006
 				'for'        => $args['id'],
@@ -1008,49 +1008,49 @@  discard block
 block discarded – undo
1008 1008
 				'label_type' => $args['label_type'],
1009 1009
 				'label_col'  => $args['label_col']
1010 1010
 			);
1011
-			$label = self::label( $label_args );
1011
+			$label = self::label($label_args);
1012 1012
 		}
1013 1013
 
1014 1014
 		// help text
1015
-		if ( ! empty( $args['help_text'] ) ) {
1016
-			$help_text = AUI_Component_Helper::help_text( $args['help_text'] );
1015
+		if (!empty($args['help_text'])) {
1016
+			$help_text = AUI_Component_Helper::help_text($args['help_text']);
1017 1017
 		}
1018 1018
 
1019 1019
 		// input group wraps
1020
-		if ( $args['input_group_left'] || $args['input_group_right'] ) {
1021
-			$w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
1022
-			if ( $args['input_group_left'] ) {
1023
-				$output = self::wrap( array(
1020
+		if ($args['input_group_left'] || $args['input_group_right']) {
1021
+			$w100 = strpos($args['class'], 'w-100') !== false ? ' w-100' : '';
1022
+			if ($args['input_group_left']) {
1023
+				$output = self::wrap(array(
1024 1024
 					'content'                 => $output,
1025 1025
 					'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
1026 1026
 					'input_group_left'        => $args['input_group_left'],
1027 1027
 					'input_group_left_inside' => $args['input_group_left_inside']
1028
-				) );
1028
+				));
1029 1029
 			}
1030
-			if ( $args['input_group_right'] ) {
1031
-				$output = self::wrap( array(
1030
+			if ($args['input_group_right']) {
1031
+				$output = self::wrap(array(
1032 1032
 					'content'                  => $output,
1033 1033
 					'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
1034 1034
 					'input_group_right'        => $args['input_group_right'],
1035 1035
 					'input_group_right_inside' => $args['input_group_right_inside']
1036
-				) );
1036
+				));
1037 1037
 			}
1038 1038
 
1039 1039
 		}
1040 1040
 
1041
-		if ( ! $label_after ) {
1041
+		if (!$label_after) {
1042 1042
 			$output .= $help_text;
1043 1043
 		}
1044 1044
 
1045 1045
 
1046
-		if ( $args['label_type'] == 'horizontal' ) {
1047
-			$output = self::wrap( array(
1046
+		if ($args['label_type'] == 'horizontal') {
1047
+			$output = self::wrap(array(
1048 1048
 				'content' => $output,
1049
-				'class'   => AUI_Component_Helper::get_column_class( $args['label_col'], 'input' )
1050
-			) );
1049
+				'class'   => AUI_Component_Helper::get_column_class($args['label_col'], 'input')
1050
+			));
1051 1051
 		}
1052 1052
 
1053
-		if ( ! $label_after ) {
1053
+		if (!$label_after) {
1054 1054
 			$output = $label . $output;
1055 1055
 		}
1056 1056
 
@@ -1061,21 +1061,21 @@  discard block
 block discarded – undo
1061 1061
 
1062 1062
 
1063 1063
 		// wrap
1064
-		if ( ! $args['no_wrap'] ) {
1065
-			if ( ! empty( $args['form_group_class'] ) ) {
1066
-				$fg_class = esc_attr( $args['form_group_class'] );
1067
-			}else{
1064
+		if (!$args['no_wrap']) {
1065
+			if (!empty($args['form_group_class'])) {
1066
+				$fg_class = esc_attr($args['form_group_class']);
1067
+			} else {
1068 1068
 				$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1069 1069
 			}
1070 1070
 			$wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
1071
-			$wrap_class = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1072
-			$output     = self::wrap( array(
1071
+			$wrap_class = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1072
+			$output     = self::wrap(array(
1073 1073
 				'content'         => $output,
1074 1074
 				'class'           => $wrap_class,
1075 1075
 				'element_require' => $args['element_require'],
1076 1076
 				'argument_id'     => $args['id'],
1077 1077
 				'wrap_attributes' => $args['wrap_attributes'],
1078
-			) );
1078
+			));
1079 1079
 		}
1080 1080
 
1081 1081
 
@@ -1089,7 +1089,7 @@  discard block
 block discarded – undo
1089 1089
 	 *
1090 1090
 	 * @return string The rendered component.
1091 1091
 	 */
1092
-	public static function radio( $args = array() ) {
1092
+	public static function radio($args = array()) {
1093 1093
 		global $aui_bs5;
1094 1094
 
1095 1095
 		$defaults = array(
@@ -1121,10 +1121,10 @@  discard block
 block discarded – undo
1121 1121
 		/**
1122 1122
 		 * Parse incoming $args into an array and merge it with $defaults
1123 1123
 		 */
1124
-		$args = wp_parse_args( $args, $defaults );
1124
+		$args = wp_parse_args($args, $defaults);
1125 1125
 
1126 1126
 		// for now lets use horizontal for floating
1127
-		if ( $args['label_type'] == 'floating' ) {
1127
+		if ($args['label_type'] == 'floating') {
1128 1128
 			$args['label_type'] = 'horizontal';
1129 1129
 		}
1130 1130
 
@@ -1135,59 +1135,59 @@  discard block
 block discarded – undo
1135 1135
 			'label_col'  => $args['label_col']
1136 1136
 		);
1137 1137
 
1138
-		if ( $args['label_type'] == 'top' || $args['label_type'] == 'hidden' ) {
1138
+		if ($args['label_type'] == 'top' || $args['label_type'] == 'hidden') {
1139 1139
 			$label_args['class'] .= 'd-block ';
1140 1140
 
1141
-			if ( $args['label_type'] == 'hidden' ) {
1142
-				$label_args['class'] .= 'sr-only ' . ( $aui_bs5 ? 'visually-hidden ' : '' );
1141
+			if ($args['label_type'] == 'hidden') {
1142
+				$label_args['class'] .= 'sr-only ' . ($aui_bs5 ? 'visually-hidden ' : '');
1143 1143
 			}
1144 1144
 		}
1145 1145
 
1146 1146
 		$output = '';
1147 1147
 
1148 1148
 		// label before
1149
-		if ( ! empty( $args['label'] ) ) {
1150
-			$output .= self::label( $label_args, 'radio' );
1149
+		if (!empty($args['label'])) {
1150
+			$output .= self::label($label_args, 'radio');
1151 1151
 		}
1152 1152
 
1153 1153
 		// maybe horizontal label
1154
-		if ( $args['label_type'] == 'horizontal' ) {
1155
-			$input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
1154
+		if ($args['label_type'] == 'horizontal') {
1155
+			$input_col = AUI_Component_Helper::get_column_class($args['label_col'], 'input');
1156 1156
 			$output .= '<div class="' . $input_col . '">';
1157 1157
 		}
1158 1158
 
1159
-		if ( ! empty( $args['options'] ) ) {
1159
+		if (!empty($args['options'])) {
1160 1160
 			$count = 0;
1161
-			foreach ( $args['options'] as $value => $label ) {
1161
+			foreach ($args['options'] as $value => $label) {
1162 1162
 				$option_args            = $args;
1163 1163
 				$option_args['value']   = $value;
1164 1164
 				$option_args['label']   = $label;
1165 1165
 				$option_args['checked'] = $value == $args['value'] ? true : false;
1166
-				$output .= self::radio_option( $option_args, $count );
1167
-				$count ++;
1166
+				$output .= self::radio_option($option_args, $count);
1167
+				$count++;
1168 1168
 			}
1169 1169
 		}
1170 1170
 
1171 1171
 		// help text
1172
-		$help_text = ! empty( $args['help_text'] ) ? AUI_Component_Helper::help_text( $args['help_text'] ) : '';
1172
+		$help_text = !empty($args['help_text']) ? AUI_Component_Helper::help_text($args['help_text']) : '';
1173 1173
 		$output .= $help_text;
1174 1174
 
1175 1175
 		// maybe horizontal label
1176
-		if ( $args['label_type'] == 'horizontal' ) {
1176
+		if ($args['label_type'] == 'horizontal') {
1177 1177
 			$output .= '</div>';
1178 1178
 		}
1179 1179
 
1180 1180
 		// wrap
1181 1181
 		$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1182 1182
 		$wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
1183
-		$wrap_class = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1184
-		$output     = self::wrap( array(
1183
+		$wrap_class = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1184
+		$output     = self::wrap(array(
1185 1185
 			'content'         => $output,
1186 1186
 			'class'           => $wrap_class,
1187 1187
 			'element_require' => $args['element_require'],
1188 1188
 			'argument_id'     => $args['id'],
1189 1189
 			'wrap_attributes' => $args['wrap_attributes'],
1190
-		) );
1190
+		));
1191 1191
 
1192 1192
 
1193 1193
 		return $output;
@@ -1200,7 +1200,7 @@  discard block
 block discarded – undo
1200 1200
 	 *
1201 1201
 	 * @return string The rendered component.
1202 1202
 	 */
1203
-	public static function radio_option( $args = array(), $count = '' ) {
1203
+	public static function radio_option($args = array(), $count = '') {
1204 1204
 		$defaults = array(
1205 1205
 			'class'            => '',
1206 1206
 			'id'               => '',
@@ -1218,7 +1218,7 @@  discard block
 block discarded – undo
1218 1218
 		/**
1219 1219
 		 * Parse incoming $args into an array and merge it with $defaults
1220 1220
 		 */
1221
-		$args = wp_parse_args( $args, $defaults );
1221
+		$args = wp_parse_args($args, $defaults);
1222 1222
 
1223 1223
 		$output = '';
1224 1224
 
@@ -1229,43 +1229,43 @@  discard block
 block discarded – undo
1229 1229
 		$output .= ' class="form-check-input" ';
1230 1230
 
1231 1231
 		// name
1232
-		if ( ! empty( $args['name'] ) ) {
1233
-			$output .= AUI_Component_Helper::name( $args['name'] );
1232
+		if (!empty($args['name'])) {
1233
+			$output .= AUI_Component_Helper::name($args['name']);
1234 1234
 		}
1235 1235
 
1236 1236
 		// id
1237
-		if ( ! empty( $args['id'] ) ) {
1238
-			$output .= AUI_Component_Helper::id( $args['id'] . $count );
1237
+		if (!empty($args['id'])) {
1238
+			$output .= AUI_Component_Helper::id($args['id'] . $count);
1239 1239
 		}
1240 1240
 
1241 1241
 		// title
1242
-		if ( ! empty( $args['title'] ) ) {
1243
-			$output .= AUI_Component_Helper::title( $args['title'] );
1242
+		if (!empty($args['title'])) {
1243
+			$output .= AUI_Component_Helper::title($args['title']);
1244 1244
 		}
1245 1245
 
1246 1246
 		// value
1247
-		if ( isset( $args['value'] ) ) {
1248
-			$output .= AUI_Component_Helper::value( $args['value'] );
1247
+		if (isset($args['value'])) {
1248
+			$output .= AUI_Component_Helper::value($args['value']);
1249 1249
 		}
1250 1250
 
1251 1251
 		// checked, for radio and checkboxes
1252
-		if ( $args['checked'] ) {
1252
+		if ($args['checked']) {
1253 1253
 			$output .= ' checked ';
1254 1254
 		}
1255 1255
 
1256 1256
 		// data-attributes
1257
-		$output .= AUI_Component_Helper::data_attributes( $args );
1257
+		$output .= AUI_Component_Helper::data_attributes($args);
1258 1258
 
1259 1259
 		// aria-attributes
1260
-		$output .= AUI_Component_Helper::aria_attributes( $args );
1260
+		$output .= AUI_Component_Helper::aria_attributes($args);
1261 1261
 
1262 1262
 		// extra attributes
1263
-		if ( ! empty( $args['extra_attributes'] ) ) {
1264
-			$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
1263
+		if (!empty($args['extra_attributes'])) {
1264
+			$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
1265 1265
 		}
1266 1266
 
1267 1267
 		// required
1268
-		if ( ! empty( $args['required'] ) ) {
1268
+		if (!empty($args['required'])) {
1269 1269
 			$output .= ' required';
1270 1270
 		}
1271 1271
 
@@ -1273,38 +1273,38 @@  discard block
 block discarded – undo
1273 1273
 		$output .= '>';
1274 1274
 
1275 1275
 		// label
1276
-		if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
1277
-		} elseif ( ! empty( $args['label'] ) ) {
1278
-			$output .= self::label( array(
1276
+		if (!empty($args['label']) && is_array($args['label'])) {
1277
+		} elseif (!empty($args['label'])) {
1278
+			$output .= self::label(array(
1279 1279
 				'title' => $args['label'],
1280 1280
 				'for'   => $args['id'] . $count,
1281 1281
 				'class' => 'form-check-label'
1282
-			), 'radio' );
1282
+			), 'radio');
1283 1283
 		}
1284 1284
 
1285 1285
 		// wrap
1286
-		if ( ! $args['no_wrap'] ) {
1286
+		if (!$args['no_wrap']) {
1287 1287
 			$wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1288 1288
 
1289 1289
 			// Unique wrap class
1290 1290
 			$uniq_class = 'fwrap';
1291
-			if ( ! empty( $args['name'] ) ) {
1291
+			if (!empty($args['name'])) {
1292 1292
 				$uniq_class .= '-' . $args['name'];
1293
-			} else if ( ! empty( $args['id'] ) ) {
1293
+			} else if (!empty($args['id'])) {
1294 1294
 				$uniq_class .= '-' . $args['id'];
1295 1295
 			}
1296 1296
 
1297
-			if ( isset( $args['value'] ) || $args['value'] !== "" ) {
1297
+			if (isset($args['value']) || $args['value'] !== "") {
1298 1298
 				$uniq_class .= '-' . $args['value'];
1299 1299
 			} else {
1300 1300
 				$uniq_class .= '-' . $count;
1301 1301
 			}
1302
-			$wrap_class .= ' ' . sanitize_html_class( $uniq_class );
1302
+			$wrap_class .= ' ' . sanitize_html_class($uniq_class);
1303 1303
 
1304
-			$output = self::wrap( array(
1304
+			$output = self::wrap(array(
1305 1305
 				'content' => $output,
1306 1306
 				'class'   => $wrap_class
1307
-			) );
1307
+			));
1308 1308
 		}
1309 1309
 
1310 1310
 		return $output;
Please login to merge, or discard this patch.