Passed
Push — master ( 31f474...7d7341 )
by Kiran
10:27 queued 05:04
created
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 4 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.
Switch Indentation   +78 added lines, -78 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1
-<?php
1
+    <?php
2 2
 
3
-if ( ! defined( 'ABSPATH' ) ) {
4
-	exit; // Exit if accessed directly
3
+    if ( ! defined( 'ABSPATH' ) ) {
4
+	    exit; // Exit if accessed directly
5 5
 }
6 6
 
7 7
 /**
@@ -9,89 +9,89 @@  discard block
 block discarded – undo
9 9
  *
10 10
  * @since 1.0.0
11 11
  */
12
-class AUI_Component_Alert {
12
+    class AUI_Component_Alert {
13 13
 
14
-	/**
14
+	    /**
15 15
 	 * Build the component.
16 16
 	 * 
17 17
 	 * @param array $args
18 18
 	 *
19 19
 	 * @return string The rendered component.
20 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
-		/**
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 35
 		 * Parse incoming $args into an array and merge it with $defaults
36 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
-	}
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.
ayecode/wp-ayecode-ui/includes/components/class-aui-component-helper.php 3 patches
Indentation   +467 added lines, -467 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,470 +11,470 @@  discard block
 block discarded – undo
11 11
  */
12 12
 class AUI_Component_Helper {
13 13
 
14
-	/**
15
-	 * A component helper for generating a input name.
16
-	 *
17
-	 * @param $text
18
-	 * @param $multiple bool If the name is set to be multiple but no brackets found then we add some.
19
-	 *
20
-	 * @return string
21
-	 */
22
-	public static function name( $text, $multiple = false ) {
23
-		$output = '';
24
-
25
-		if ( $text ) {
26
-			$is_multiple = strpos( $text, '[' ) === false && $multiple ? '[]' : '';
27
-			$output      = ' name="' . esc_attr( $text ) . $is_multiple . '" ';
28
-		}
29
-
30
-		return $output;
31
-	}
32
-
33
-	/**
34
-	 * A component helper for generating a item id.
35
-	 *
36
-	 * @param $text string The text to be used as the value.
37
-	 *
38
-	 * @return string The sanitized item.
39
-	 */
40
-	public static function id( $text ) {
41
-		$output = '';
42
-
43
-		if ( $text ) {
44
-			$output = ' id="' . sanitize_html_class( $text ) . '" ';
45
-		}
46
-
47
-		return $output;
48
-	}
49
-
50
-	/**
51
-	 * A component helper for generating a item title.
52
-	 *
53
-	 * @param $text string The text to be used as the value.
54
-	 *
55
-	 * @return string The sanitized item.
56
-	 */
57
-	public static function title( $text ) {
58
-		$output = '';
59
-
60
-		if ( $text ) {
61
-			$output = ' title="' . esc_attr( $text ) . '" ';
62
-		}
63
-
64
-		return $output;
65
-	}
66
-
67
-	/**
68
-	 * A component helper for generating a item value.
69
-	 *
70
-	 * @param $text string The text to be used as the value.
71
-	 *
72
-	 * @return string The sanitized item.
73
-	 */
74
-	public static function value( $text ) {
75
-		$output = '';
76
-
77
-		if ( $text !== null && $text !== false ) {
78
-			$output = ' value="' . esc_attr( wp_unslash( $text ) ) . '" ';
79
-		}
80
-
81
-		return $output;
82
-	}
83
-
84
-	/**
85
-	 * A component helper for generating a item class attribute.
86
-	 *
87
-	 * @param $text string The text to be used as the value.
88
-	 *
89
-	 * @return string The sanitized item.
90
-	 */
91
-	public static function class_attr( $text ) {
92
-		$output = '';
93
-
94
-		if ( $text ) {
95
-			$classes = self::esc_classes( $text );
96
-			if ( ! empty( $classes ) ) {
97
-				$output = ' class="' . $classes . '" ';
98
-			}
99
-		}
100
-
101
-		return $output;
102
-	}
103
-
104
-	/**
105
-	 * Escape a string of classes.
106
-	 *
107
-	 * @param $text
108
-	 *
109
-	 * @return string
110
-	 */
111
-	public static function esc_classes( $text ) {
112
-		$output = '';
113
-
114
-		if ( $text ) {
115
-			$classes = explode( " ", $text );
116
-			$classes = array_map( "trim", $classes );
117
-			$classes = array_map( "sanitize_html_class", $classes );
118
-			if ( ! empty( $classes ) ) {
119
-				$output = implode( " ", $classes );
120
-			}
121
-		}
122
-
123
-		return $output;
124
-
125
-	}
126
-
127
-	/**
128
-	 * @param $args
129
-	 *
130
-	 * @return string
131
-	 */
132
-	public static function data_attributes( $args ) {
133
-		$output = '';
134
-
135
-		if ( ! empty( $args ) ) {
136
-
137
-			foreach ( $args as $key => $val ) {
138
-				if ( substr( $key, 0, 5 ) === "data-" ) {
139
-					$output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
140
-				}
141
-			}
142
-		}
143
-
144
-		return $output;
145
-	}
146
-
147
-	/**
148
-	 * @param $args
149
-	 *
150
-	 * @return string
151
-	 */
152
-	public static function aria_attributes( $args ) {
153
-		$output = '';
154
-
155
-		if ( ! empty( $args ) ) {
156
-
157
-			foreach ( $args as $key => $val ) {
158
-				if ( substr( $key, 0, 5 ) === "aria-" ) {
159
-					$output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
160
-				}
161
-			}
162
-		}
163
-
164
-		return $output;
165
-	}
166
-
167
-	/**
168
-	 * Build a font awesome icon from a class.
169
-	 *
170
-	 * @param $class
171
-	 * @param bool $space_after
172
-	 * @param array $extra_attributes An array of extra attributes.
173
-	 *
174
-	 * @return string
175
-	 */
176
-	public static function icon( $class, $space_after = false, $extra_attributes = array() ) {
177
-		$output = '';
178
-
179
-		if ( $class ) {
180
-			$classes = self::esc_classes( $class );
181
-			if ( ! empty( $classes ) ) {
182
-				$output = '<i class="' . $classes . '" ';
183
-				// extra attributes
184
-				if ( ! empty( $extra_attributes ) ) {
185
-					$output .= AUI_Component_Helper::extra_attributes( $extra_attributes );
186
-				}
187
-				$output .= '></i>';
188
-				if ( $space_after ) {
189
-					$output .= " ";
190
-				}
191
-			}
192
-		}
193
-
194
-		return $output;
195
-	}
196
-
197
-	/**
198
-	 * @param $args
199
-	 *
200
-	 * @return string
201
-	 */
202
-	public static function extra_attributes( $args ) {
203
-		$output = '';
204
-
205
-		if ( ! empty( $args ) ) {
206
-
207
-			if ( is_array( $args ) ) {
208
-				foreach ( $args as $key => $val ) {
209
-					$output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
210
-				}
211
-			} else {
212
-				$output .= ' ' . $args . ' ';
213
-			}
214
-
215
-		}
216
-
217
-		return $output;
218
-	}
219
-
220
-	/**
221
-	 * @param $args
222
-	 *
223
-	 * @return string
224
-	 */
225
-	public static function help_text( $text ) {
226
-		$output = '';
227
-
228
-		if ( $text ) {
229
-			$output .= '<small class="form-text text-muted d-block">' . wp_kses_post( $text ) . '</small>';
230
-		}
231
-
232
-
233
-		return $output;
234
-	}
235
-
236
-	/**
237
-	 * Replace element require context with JS.
238
-	 *
239
-	 * @param $input
240
-	 *
241
-	 * @return string|void
242
-	 */
243
-	public static function element_require( $input ) {
244
-
245
-		$input = str_replace( "'", '"', $input );// we only want double quotes
246
-
247
-		$output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
248
-			"jQuery(form).find('[data-argument=\"",
249
-			"\"]').find('input,select,textarea').val()",
250
-			"\"]').find('input:checked').val()",
251
-		), $input ) );
252
-
253
-		if ( $output ) {
254
-			$output = ' data-element-require="' . $output . '" ';
255
-		}
256
-
257
-		return $output;
258
-	}
259
-
260
-	/**
261
-	 * Navigates through an array, object, or scalar, and removes slashes from the values.
262
-	 *
263
-	 * @since 0.1.41
264
-	 *
265
-	 * @param mixed $value The value to be stripped.
266
-	 * @param array $input Input Field.
267
-	 *
268
-	 * @return mixed Stripped value.
269
-	 */
270
-	public static function sanitize_html_field( $value, $input = array() ) {
271
-		$original = $value;
272
-
273
-		if ( is_array( $value ) ) {
274
-			foreach ( $value as $index => $item ) {
275
-				$value[ $index ] = self::_sanitize_html_field( $value, $input );
276
-			}
277
-		} elseif ( is_object( $value ) ) {
278
-			$object_vars = get_object_vars( $value );
279
-
280
-			foreach ( $object_vars as $property_name => $property_value ) {
281
-				$value->$property_name = self::_sanitize_html_field( $property_value, $input );
282
-			}
283
-		} else {
284
-			$value = self::_sanitize_html_field( $value, $input );
285
-		}
286
-
287
-		/**
288
-		 * Filters content and keeps only allowable HTML elements.
289
-		 *
290
-		 * @since 0.1.41
291
-		 *
292
-		 * @param string|array $value Content to filter through kses.
293
-		 * @param string|array $value Original content without filter.
294
-		 * @param array $input Input Field.
295
-		 */
296
-		return apply_filters( 'ayecode_ui_sanitize_html_field', $value, $original, $input );
297
-	}
298
-
299
-	/**
300
-	 * Filters content and keeps only allowable HTML elements.
301
-	 *
302
-	 * This function makes sure that only the allowed HTML element names, attribute
303
-	 * names and attribute values plus only sane HTML entities will occur in
304
-	 * $string. You have to remove any slashes from PHP's magic quotes before you
305
-	 * call this function.
306
-	 *
307
-	 * The default allowed protocols are 'http', 'https', 'ftp', 'mailto', 'news',
308
-	 * 'irc', 'gopher', 'nntp', 'feed', 'telnet, 'mms', 'rtsp' and 'svn'. This
309
-	 * covers all common link protocols, except for 'javascript' which should not
310
-	 * be allowed for untrusted users.
311
-	 *
312
-	 * @since 0.1.41
313
-	 *
314
-	 * @param string|array $value Content to filter through kses.
315
-	 * @param array $input Input Field.
316
-	 *
317
-	 * @return string Filtered content with only allowed HTML elements.
318
-	 */
319
-	public static function _sanitize_html_field( $value, $input = array() ) {
320
-		if ( $value === '' ) {
321
-			return $value;
322
-		}
323
-
324
-		$allowed_html = self::kses_allowed_html( 'post', $input );
325
-
326
-		if ( ! is_array( $allowed_html ) ) {
327
-			$allowed_html = wp_kses_allowed_html( 'post' );
328
-		}
329
-
330
-		$filtered = trim( wp_unslash( $value ) );
331
-		$filtered = wp_kses( $filtered, $allowed_html );
332
-		$filtered = balanceTags( $filtered ); // Balances tags
333
-
334
-		return $filtered;
335
-	}
336
-
337
-	/**
338
-	 * Returns an array of allowed HTML tags and attributes for a given context.
339
-	 *
340
-	 * @since 0.1.41
341
-	 *
342
-	 * @param string|array $context The context for which to retrieve tags. Allowed values are 'post',
343
-	 *                              'strip', 'data', 'entities', or the name of a field filter such as
344
-	 *                              'pre_user_description'.
345
-	 * @param array $input Input.
346
-	 *
347
-	 * @return array Array of allowed HTML tags and their allowed attributes.
348
-	 */
349
-	public static function kses_allowed_html( $context = 'post', $input = array() ) {
350
-		$allowed_html = wp_kses_allowed_html( $context );
351
-
352
-		if ( is_array( $allowed_html ) ) {
353
-			// <iframe>
354
-			if ( ! isset( $allowed_html['iframe'] ) && $context == 'post' ) {
355
-				$allowed_html['iframe'] = array(
356
-					'class'           => true,
357
-					'id'              => true,
358
-					'src'             => true,
359
-					'width'           => true,
360
-					'height'          => true,
361
-					'frameborder'     => true,
362
-					'marginwidth'     => true,
363
-					'marginheight'    => true,
364
-					'scrolling'       => true,
365
-					'style'           => true,
366
-					'title'           => true,
367
-					'allow'           => true,
368
-					'allowfullscreen' => true,
369
-					'data-*'          => true,
370
-				);
371
-			}
372
-		}
373
-
374
-		/**
375
-		 * Filters the allowed html tags.
376
-		 *
377
-		 * @since 0.1.41
378
-		 *
379
-		 * @param array[]|string $allowed_html Allowed html tags.
380
-		 * @param @param string|array $context The context for which to retrieve tags.
381
-		 * @param array $input Input field.
382
-		 */
383
-		return apply_filters( 'ayecode_ui_kses_allowed_html', $allowed_html, $context, $input );
384
-	}
385
-
386
-	public static function get_column_class( $label_number = 2, $type = 'label' ) {
387
-
388
-		$class = '';
389
-
390
-		// set default if empty
391
-		if( $label_number === '' ){
392
-			$label_number = 2;
393
-		}
394
-
395
-		if ( $label_number && $label_number < 12 && $label_number > 0 ) {
396
-			if ( $type == 'label' ) {
397
-				$class = 'col-sm-' . absint( $label_number );
398
-			} elseif ( $type == 'input' ) {
399
-				$class = 'col-sm-' . ( 12 - absint( $label_number ) );
400
-			}
401
-		}
402
-
403
-		return $class;
404
-	}
405
-
406
-	/**
407
-	 * Sanitizes a multiline string from user input or from the database.
408
-	 *
409
-	 * Emulate the WP native sanitize_textarea_field function in a %%variable%% safe way.
410
-	 *
411
-	 * @see   https://core.trac.wordpress.org/browser/trunk/src/wp-includes/formatting.php for the original
412
-	 *
413
-	 * @since 0.1.66
414
-	 *
415
-	 * @param string $str String to sanitize.
416
-	 * @return string Sanitized string.
417
-	 */
418
-	public static function sanitize_textarea_field( $str ) {
419
-		$filtered = self::_sanitize_text_fields( $str, true );
420
-
421
-		/**
422
-		 * Filters a sanitized textarea field string.
423
-		 *
424
-		 * @see https://core.trac.wordpress.org/browser/trunk/src/wp-includes/formatting.php
425
-		 *
426
-		 * @param string $filtered The sanitized string.
427
-		 * @param string $str      The string prior to being sanitized.
428
-		 */
429
-		return apply_filters( 'sanitize_textarea_field', $filtered, $str );
430
-	}
431
-
432
-	/**
433
-	 * Internal helper function to sanitize a string from user input or from the db.
434
-	 *
435
-	 * @since 0.1.66
436
-	 * @access private
437
-	 *
438
-	 * @param string $str           String to sanitize.
439
-	 * @param bool   $keep_newlines Optional. Whether to keep newlines. Default: false.
440
-	 * @return string Sanitized string.
441
-	 */
442
-	public static function _sanitize_text_fields( $str, $keep_newlines = false ) {
443
-		if ( is_object( $str ) || is_array( $str ) ) {
444
-			return '';
445
-		}
446
-
447
-		$str = (string) $str;
448
-
449
-		$filtered = wp_check_invalid_utf8( $str );
450
-
451
-		if ( strpos( $filtered, '<' ) !== false ) {
452
-			$filtered = wp_pre_kses_less_than( $filtered );
453
-			// This will strip extra whitespace for us.
454
-			$filtered = wp_strip_all_tags( $filtered, false );
455
-
456
-			// Use HTML entities in a special case to make sure no later
457
-			// newline stripping stage could lead to a functional tag.
458
-			$filtered = str_replace( "<\n", "&lt;\n", $filtered );
459
-		}
460
-
461
-		if ( ! $keep_newlines ) {
462
-			$filtered = preg_replace( '/[\r\n\t ]+/', ' ', $filtered );
463
-		}
464
-		$filtered = trim( $filtered );
465
-
466
-		$found = false;
467
-		while ( preg_match( '`[^%](%[a-f0-9]{2})`i', $filtered, $match ) ) {
468
-			$filtered = str_replace( $match[1], '', $filtered );
469
-			$found = true;
470
-		}
471
-		unset( $match );
472
-
473
-		if ( $found ) {
474
-			// Strip out the whitespace that may now exist after removing the octets.
475
-			$filtered = trim( preg_replace( '` +`', ' ', $filtered ) );
476
-		}
477
-
478
-		return $filtered;
479
-	}
14
+    /**
15
+     * A component helper for generating a input name.
16
+     *
17
+     * @param $text
18
+     * @param $multiple bool If the name is set to be multiple but no brackets found then we add some.
19
+     *
20
+     * @return string
21
+     */
22
+    public static function name( $text, $multiple = false ) {
23
+        $output = '';
24
+
25
+        if ( $text ) {
26
+            $is_multiple = strpos( $text, '[' ) === false && $multiple ? '[]' : '';
27
+            $output      = ' name="' . esc_attr( $text ) . $is_multiple . '" ';
28
+        }
29
+
30
+        return $output;
31
+    }
32
+
33
+    /**
34
+     * A component helper for generating a item id.
35
+     *
36
+     * @param $text string The text to be used as the value.
37
+     *
38
+     * @return string The sanitized item.
39
+     */
40
+    public static function id( $text ) {
41
+        $output = '';
42
+
43
+        if ( $text ) {
44
+            $output = ' id="' . sanitize_html_class( $text ) . '" ';
45
+        }
46
+
47
+        return $output;
48
+    }
49
+
50
+    /**
51
+     * A component helper for generating a item title.
52
+     *
53
+     * @param $text string The text to be used as the value.
54
+     *
55
+     * @return string The sanitized item.
56
+     */
57
+    public static function title( $text ) {
58
+        $output = '';
59
+
60
+        if ( $text ) {
61
+            $output = ' title="' . esc_attr( $text ) . '" ';
62
+        }
63
+
64
+        return $output;
65
+    }
66
+
67
+    /**
68
+     * A component helper for generating a item value.
69
+     *
70
+     * @param $text string The text to be used as the value.
71
+     *
72
+     * @return string The sanitized item.
73
+     */
74
+    public static function value( $text ) {
75
+        $output = '';
76
+
77
+        if ( $text !== null && $text !== false ) {
78
+            $output = ' value="' . esc_attr( wp_unslash( $text ) ) . '" ';
79
+        }
80
+
81
+        return $output;
82
+    }
83
+
84
+    /**
85
+     * A component helper for generating a item class attribute.
86
+     *
87
+     * @param $text string The text to be used as the value.
88
+     *
89
+     * @return string The sanitized item.
90
+     */
91
+    public static function class_attr( $text ) {
92
+        $output = '';
93
+
94
+        if ( $text ) {
95
+            $classes = self::esc_classes( $text );
96
+            if ( ! empty( $classes ) ) {
97
+                $output = ' class="' . $classes . '" ';
98
+            }
99
+        }
100
+
101
+        return $output;
102
+    }
103
+
104
+    /**
105
+     * Escape a string of classes.
106
+     *
107
+     * @param $text
108
+     *
109
+     * @return string
110
+     */
111
+    public static function esc_classes( $text ) {
112
+        $output = '';
113
+
114
+        if ( $text ) {
115
+            $classes = explode( " ", $text );
116
+            $classes = array_map( "trim", $classes );
117
+            $classes = array_map( "sanitize_html_class", $classes );
118
+            if ( ! empty( $classes ) ) {
119
+                $output = implode( " ", $classes );
120
+            }
121
+        }
122
+
123
+        return $output;
124
+
125
+    }
126
+
127
+    /**
128
+     * @param $args
129
+     *
130
+     * @return string
131
+     */
132
+    public static function data_attributes( $args ) {
133
+        $output = '';
134
+
135
+        if ( ! empty( $args ) ) {
136
+
137
+            foreach ( $args as $key => $val ) {
138
+                if ( substr( $key, 0, 5 ) === "data-" ) {
139
+                    $output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
140
+                }
141
+            }
142
+        }
143
+
144
+        return $output;
145
+    }
146
+
147
+    /**
148
+     * @param $args
149
+     *
150
+     * @return string
151
+     */
152
+    public static function aria_attributes( $args ) {
153
+        $output = '';
154
+
155
+        if ( ! empty( $args ) ) {
156
+
157
+            foreach ( $args as $key => $val ) {
158
+                if ( substr( $key, 0, 5 ) === "aria-" ) {
159
+                    $output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
160
+                }
161
+            }
162
+        }
163
+
164
+        return $output;
165
+    }
166
+
167
+    /**
168
+     * Build a font awesome icon from a class.
169
+     *
170
+     * @param $class
171
+     * @param bool $space_after
172
+     * @param array $extra_attributes An array of extra attributes.
173
+     *
174
+     * @return string
175
+     */
176
+    public static function icon( $class, $space_after = false, $extra_attributes = array() ) {
177
+        $output = '';
178
+
179
+        if ( $class ) {
180
+            $classes = self::esc_classes( $class );
181
+            if ( ! empty( $classes ) ) {
182
+                $output = '<i class="' . $classes . '" ';
183
+                // extra attributes
184
+                if ( ! empty( $extra_attributes ) ) {
185
+                    $output .= AUI_Component_Helper::extra_attributes( $extra_attributes );
186
+                }
187
+                $output .= '></i>';
188
+                if ( $space_after ) {
189
+                    $output .= " ";
190
+                }
191
+            }
192
+        }
193
+
194
+        return $output;
195
+    }
196
+
197
+    /**
198
+     * @param $args
199
+     *
200
+     * @return string
201
+     */
202
+    public static function extra_attributes( $args ) {
203
+        $output = '';
204
+
205
+        if ( ! empty( $args ) ) {
206
+
207
+            if ( is_array( $args ) ) {
208
+                foreach ( $args as $key => $val ) {
209
+                    $output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
210
+                }
211
+            } else {
212
+                $output .= ' ' . $args . ' ';
213
+            }
214
+
215
+        }
216
+
217
+        return $output;
218
+    }
219
+
220
+    /**
221
+     * @param $args
222
+     *
223
+     * @return string
224
+     */
225
+    public static function help_text( $text ) {
226
+        $output = '';
227
+
228
+        if ( $text ) {
229
+            $output .= '<small class="form-text text-muted d-block">' . wp_kses_post( $text ) . '</small>';
230
+        }
231
+
232
+
233
+        return $output;
234
+    }
235
+
236
+    /**
237
+     * Replace element require context with JS.
238
+     *
239
+     * @param $input
240
+     *
241
+     * @return string|void
242
+     */
243
+    public static function element_require( $input ) {
244
+
245
+        $input = str_replace( "'", '"', $input );// we only want double quotes
246
+
247
+        $output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
248
+            "jQuery(form).find('[data-argument=\"",
249
+            "\"]').find('input,select,textarea').val()",
250
+            "\"]').find('input:checked').val()",
251
+        ), $input ) );
252
+
253
+        if ( $output ) {
254
+            $output = ' data-element-require="' . $output . '" ';
255
+        }
256
+
257
+        return $output;
258
+    }
259
+
260
+    /**
261
+     * Navigates through an array, object, or scalar, and removes slashes from the values.
262
+     *
263
+     * @since 0.1.41
264
+     *
265
+     * @param mixed $value The value to be stripped.
266
+     * @param array $input Input Field.
267
+     *
268
+     * @return mixed Stripped value.
269
+     */
270
+    public static function sanitize_html_field( $value, $input = array() ) {
271
+        $original = $value;
272
+
273
+        if ( is_array( $value ) ) {
274
+            foreach ( $value as $index => $item ) {
275
+                $value[ $index ] = self::_sanitize_html_field( $value, $input );
276
+            }
277
+        } elseif ( is_object( $value ) ) {
278
+            $object_vars = get_object_vars( $value );
279
+
280
+            foreach ( $object_vars as $property_name => $property_value ) {
281
+                $value->$property_name = self::_sanitize_html_field( $property_value, $input );
282
+            }
283
+        } else {
284
+            $value = self::_sanitize_html_field( $value, $input );
285
+        }
286
+
287
+        /**
288
+         * Filters content and keeps only allowable HTML elements.
289
+         *
290
+         * @since 0.1.41
291
+         *
292
+         * @param string|array $value Content to filter through kses.
293
+         * @param string|array $value Original content without filter.
294
+         * @param array $input Input Field.
295
+         */
296
+        return apply_filters( 'ayecode_ui_sanitize_html_field', $value, $original, $input );
297
+    }
298
+
299
+    /**
300
+     * Filters content and keeps only allowable HTML elements.
301
+     *
302
+     * This function makes sure that only the allowed HTML element names, attribute
303
+     * names and attribute values plus only sane HTML entities will occur in
304
+     * $string. You have to remove any slashes from PHP's magic quotes before you
305
+     * call this function.
306
+     *
307
+     * The default allowed protocols are 'http', 'https', 'ftp', 'mailto', 'news',
308
+     * 'irc', 'gopher', 'nntp', 'feed', 'telnet, 'mms', 'rtsp' and 'svn'. This
309
+     * covers all common link protocols, except for 'javascript' which should not
310
+     * be allowed for untrusted users.
311
+     *
312
+     * @since 0.1.41
313
+     *
314
+     * @param string|array $value Content to filter through kses.
315
+     * @param array $input Input Field.
316
+     *
317
+     * @return string Filtered content with only allowed HTML elements.
318
+     */
319
+    public static function _sanitize_html_field( $value, $input = array() ) {
320
+        if ( $value === '' ) {
321
+            return $value;
322
+        }
323
+
324
+        $allowed_html = self::kses_allowed_html( 'post', $input );
325
+
326
+        if ( ! is_array( $allowed_html ) ) {
327
+            $allowed_html = wp_kses_allowed_html( 'post' );
328
+        }
329
+
330
+        $filtered = trim( wp_unslash( $value ) );
331
+        $filtered = wp_kses( $filtered, $allowed_html );
332
+        $filtered = balanceTags( $filtered ); // Balances tags
333
+
334
+        return $filtered;
335
+    }
336
+
337
+    /**
338
+     * Returns an array of allowed HTML tags and attributes for a given context.
339
+     *
340
+     * @since 0.1.41
341
+     *
342
+     * @param string|array $context The context for which to retrieve tags. Allowed values are 'post',
343
+     *                              'strip', 'data', 'entities', or the name of a field filter such as
344
+     *                              'pre_user_description'.
345
+     * @param array $input Input.
346
+     *
347
+     * @return array Array of allowed HTML tags and their allowed attributes.
348
+     */
349
+    public static function kses_allowed_html( $context = 'post', $input = array() ) {
350
+        $allowed_html = wp_kses_allowed_html( $context );
351
+
352
+        if ( is_array( $allowed_html ) ) {
353
+            // <iframe>
354
+            if ( ! isset( $allowed_html['iframe'] ) && $context == 'post' ) {
355
+                $allowed_html['iframe'] = array(
356
+                    'class'           => true,
357
+                    'id'              => true,
358
+                    'src'             => true,
359
+                    'width'           => true,
360
+                    'height'          => true,
361
+                    'frameborder'     => true,
362
+                    'marginwidth'     => true,
363
+                    'marginheight'    => true,
364
+                    'scrolling'       => true,
365
+                    'style'           => true,
366
+                    'title'           => true,
367
+                    'allow'           => true,
368
+                    'allowfullscreen' => true,
369
+                    'data-*'          => true,
370
+                );
371
+            }
372
+        }
373
+
374
+        /**
375
+         * Filters the allowed html tags.
376
+         *
377
+         * @since 0.1.41
378
+         *
379
+         * @param array[]|string $allowed_html Allowed html tags.
380
+         * @param @param string|array $context The context for which to retrieve tags.
381
+         * @param array $input Input field.
382
+         */
383
+        return apply_filters( 'ayecode_ui_kses_allowed_html', $allowed_html, $context, $input );
384
+    }
385
+
386
+    public static function get_column_class( $label_number = 2, $type = 'label' ) {
387
+
388
+        $class = '';
389
+
390
+        // set default if empty
391
+        if( $label_number === '' ){
392
+            $label_number = 2;
393
+        }
394
+
395
+        if ( $label_number && $label_number < 12 && $label_number > 0 ) {
396
+            if ( $type == 'label' ) {
397
+                $class = 'col-sm-' . absint( $label_number );
398
+            } elseif ( $type == 'input' ) {
399
+                $class = 'col-sm-' . ( 12 - absint( $label_number ) );
400
+            }
401
+        }
402
+
403
+        return $class;
404
+    }
405
+
406
+    /**
407
+     * Sanitizes a multiline string from user input or from the database.
408
+     *
409
+     * Emulate the WP native sanitize_textarea_field function in a %%variable%% safe way.
410
+     *
411
+     * @see   https://core.trac.wordpress.org/browser/trunk/src/wp-includes/formatting.php for the original
412
+     *
413
+     * @since 0.1.66
414
+     *
415
+     * @param string $str String to sanitize.
416
+     * @return string Sanitized string.
417
+     */
418
+    public static function sanitize_textarea_field( $str ) {
419
+        $filtered = self::_sanitize_text_fields( $str, true );
420
+
421
+        /**
422
+         * Filters a sanitized textarea field string.
423
+         *
424
+         * @see https://core.trac.wordpress.org/browser/trunk/src/wp-includes/formatting.php
425
+         *
426
+         * @param string $filtered The sanitized string.
427
+         * @param string $str      The string prior to being sanitized.
428
+         */
429
+        return apply_filters( 'sanitize_textarea_field', $filtered, $str );
430
+    }
431
+
432
+    /**
433
+     * Internal helper function to sanitize a string from user input or from the db.
434
+     *
435
+     * @since 0.1.66
436
+     * @access private
437
+     *
438
+     * @param string $str           String to sanitize.
439
+     * @param bool   $keep_newlines Optional. Whether to keep newlines. Default: false.
440
+     * @return string Sanitized string.
441
+     */
442
+    public static function _sanitize_text_fields( $str, $keep_newlines = false ) {
443
+        if ( is_object( $str ) || is_array( $str ) ) {
444
+            return '';
445
+        }
446
+
447
+        $str = (string) $str;
448
+
449
+        $filtered = wp_check_invalid_utf8( $str );
450
+
451
+        if ( strpos( $filtered, '<' ) !== false ) {
452
+            $filtered = wp_pre_kses_less_than( $filtered );
453
+            // This will strip extra whitespace for us.
454
+            $filtered = wp_strip_all_tags( $filtered, false );
455
+
456
+            // Use HTML entities in a special case to make sure no later
457
+            // newline stripping stage could lead to a functional tag.
458
+            $filtered = str_replace( "<\n", "&lt;\n", $filtered );
459
+        }
460
+
461
+        if ( ! $keep_newlines ) {
462
+            $filtered = preg_replace( '/[\r\n\t ]+/', ' ', $filtered );
463
+        }
464
+        $filtered = trim( $filtered );
465
+
466
+        $found = false;
467
+        while ( preg_match( '`[^%](%[a-f0-9]{2})`i', $filtered, $match ) ) {
468
+            $filtered = str_replace( $match[1], '', $filtered );
469
+            $found = true;
470
+        }
471
+        unset( $match );
472
+
473
+        if ( $found ) {
474
+            // Strip out the whitespace that may now exist after removing the octets.
475
+            $filtered = trim( preg_replace( '` +`', ' ', $filtered ) );
476
+        }
477
+
478
+        return $filtered;
479
+    }
480 480
 }
481 481
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +103 added lines, -103 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
 
@@ -19,12 +19,12 @@  discard block
 block discarded – undo
19 19
 	 *
20 20
 	 * @return string
21 21
 	 */
22
-	public static function name( $text, $multiple = false ) {
22
+	public static function name($text, $multiple = false) {
23 23
 		$output = '';
24 24
 
25
-		if ( $text ) {
26
-			$is_multiple = strpos( $text, '[' ) === false && $multiple ? '[]' : '';
27
-			$output      = ' name="' . esc_attr( $text ) . $is_multiple . '" ';
25
+		if ($text) {
26
+			$is_multiple = strpos($text, '[') === false && $multiple ? '[]' : '';
27
+			$output      = ' name="' . esc_attr($text) . $is_multiple . '" ';
28 28
 		}
29 29
 
30 30
 		return $output;
@@ -37,11 +37,11 @@  discard block
 block discarded – undo
37 37
 	 *
38 38
 	 * @return string The sanitized item.
39 39
 	 */
40
-	public static function id( $text ) {
40
+	public static function id($text) {
41 41
 		$output = '';
42 42
 
43
-		if ( $text ) {
44
-			$output = ' id="' . sanitize_html_class( $text ) . '" ';
43
+		if ($text) {
44
+			$output = ' id="' . sanitize_html_class($text) . '" ';
45 45
 		}
46 46
 
47 47
 		return $output;
@@ -54,11 +54,11 @@  discard block
 block discarded – undo
54 54
 	 *
55 55
 	 * @return string The sanitized item.
56 56
 	 */
57
-	public static function title( $text ) {
57
+	public static function title($text) {
58 58
 		$output = '';
59 59
 
60
-		if ( $text ) {
61
-			$output = ' title="' . esc_attr( $text ) . '" ';
60
+		if ($text) {
61
+			$output = ' title="' . esc_attr($text) . '" ';
62 62
 		}
63 63
 
64 64
 		return $output;
@@ -71,11 +71,11 @@  discard block
 block discarded – undo
71 71
 	 *
72 72
 	 * @return string The sanitized item.
73 73
 	 */
74
-	public static function value( $text ) {
74
+	public static function value($text) {
75 75
 		$output = '';
76 76
 
77
-		if ( $text !== null && $text !== false ) {
78
-			$output = ' value="' . esc_attr( wp_unslash( $text ) ) . '" ';
77
+		if ($text !== null && $text !== false) {
78
+			$output = ' value="' . esc_attr(wp_unslash($text)) . '" ';
79 79
 		}
80 80
 
81 81
 		return $output;
@@ -88,12 +88,12 @@  discard block
 block discarded – undo
88 88
 	 *
89 89
 	 * @return string The sanitized item.
90 90
 	 */
91
-	public static function class_attr( $text ) {
91
+	public static function class_attr($text) {
92 92
 		$output = '';
93 93
 
94
-		if ( $text ) {
95
-			$classes = self::esc_classes( $text );
96
-			if ( ! empty( $classes ) ) {
94
+		if ($text) {
95
+			$classes = self::esc_classes($text);
96
+			if (!empty($classes)) {
97 97
 				$output = ' class="' . $classes . '" ';
98 98
 			}
99 99
 		}
@@ -108,15 +108,15 @@  discard block
 block discarded – undo
108 108
 	 *
109 109
 	 * @return string
110 110
 	 */
111
-	public static function esc_classes( $text ) {
111
+	public static function esc_classes($text) {
112 112
 		$output = '';
113 113
 
114
-		if ( $text ) {
115
-			$classes = explode( " ", $text );
116
-			$classes = array_map( "trim", $classes );
117
-			$classes = array_map( "sanitize_html_class", $classes );
118
-			if ( ! empty( $classes ) ) {
119
-				$output = implode( " ", $classes );
114
+		if ($text) {
115
+			$classes = explode(" ", $text);
116
+			$classes = array_map("trim", $classes);
117
+			$classes = array_map("sanitize_html_class", $classes);
118
+			if (!empty($classes)) {
119
+				$output = implode(" ", $classes);
120 120
 			}
121 121
 		}
122 122
 
@@ -129,14 +129,14 @@  discard block
 block discarded – undo
129 129
 	 *
130 130
 	 * @return string
131 131
 	 */
132
-	public static function data_attributes( $args ) {
132
+	public static function data_attributes($args) {
133 133
 		$output = '';
134 134
 
135
-		if ( ! empty( $args ) ) {
135
+		if (!empty($args)) {
136 136
 
137
-			foreach ( $args as $key => $val ) {
138
-				if ( substr( $key, 0, 5 ) === "data-" ) {
139
-					$output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
137
+			foreach ($args as $key => $val) {
138
+				if (substr($key, 0, 5) === "data-") {
139
+					$output .= ' ' . sanitize_html_class($key) . '="' . esc_attr($val) . '" ';
140 140
 				}
141 141
 			}
142 142
 		}
@@ -149,14 +149,14 @@  discard block
 block discarded – undo
149 149
 	 *
150 150
 	 * @return string
151 151
 	 */
152
-	public static function aria_attributes( $args ) {
152
+	public static function aria_attributes($args) {
153 153
 		$output = '';
154 154
 
155
-		if ( ! empty( $args ) ) {
155
+		if (!empty($args)) {
156 156
 
157
-			foreach ( $args as $key => $val ) {
158
-				if ( substr( $key, 0, 5 ) === "aria-" ) {
159
-					$output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
157
+			foreach ($args as $key => $val) {
158
+				if (substr($key, 0, 5) === "aria-") {
159
+					$output .= ' ' . sanitize_html_class($key) . '="' . esc_attr($val) . '" ';
160 160
 				}
161 161
 			}
162 162
 		}
@@ -173,19 +173,19 @@  discard block
 block discarded – undo
173 173
 	 *
174 174
 	 * @return string
175 175
 	 */
176
-	public static function icon( $class, $space_after = false, $extra_attributes = array() ) {
176
+	public static function icon($class, $space_after = false, $extra_attributes = array()) {
177 177
 		$output = '';
178 178
 
179
-		if ( $class ) {
180
-			$classes = self::esc_classes( $class );
181
-			if ( ! empty( $classes ) ) {
179
+		if ($class) {
180
+			$classes = self::esc_classes($class);
181
+			if (!empty($classes)) {
182 182
 				$output = '<i class="' . $classes . '" ';
183 183
 				// extra attributes
184
-				if ( ! empty( $extra_attributes ) ) {
185
-					$output .= AUI_Component_Helper::extra_attributes( $extra_attributes );
184
+				if (!empty($extra_attributes)) {
185
+					$output .= AUI_Component_Helper::extra_attributes($extra_attributes);
186 186
 				}
187 187
 				$output .= '></i>';
188
-				if ( $space_after ) {
188
+				if ($space_after) {
189 189
 					$output .= " ";
190 190
 				}
191 191
 			}
@@ -199,14 +199,14 @@  discard block
 block discarded – undo
199 199
 	 *
200 200
 	 * @return string
201 201
 	 */
202
-	public static function extra_attributes( $args ) {
202
+	public static function extra_attributes($args) {
203 203
 		$output = '';
204 204
 
205
-		if ( ! empty( $args ) ) {
205
+		if (!empty($args)) {
206 206
 
207
-			if ( is_array( $args ) ) {
208
-				foreach ( $args as $key => $val ) {
209
-					$output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
207
+			if (is_array($args)) {
208
+				foreach ($args as $key => $val) {
209
+					$output .= ' ' . sanitize_html_class($key) . '="' . esc_attr($val) . '" ';
210 210
 				}
211 211
 			} else {
212 212
 				$output .= ' ' . $args . ' ';
@@ -222,11 +222,11 @@  discard block
 block discarded – undo
222 222
 	 *
223 223
 	 * @return string
224 224
 	 */
225
-	public static function help_text( $text ) {
225
+	public static function help_text($text) {
226 226
 		$output = '';
227 227
 
228
-		if ( $text ) {
229
-			$output .= '<small class="form-text text-muted d-block">' . wp_kses_post( $text ) . '</small>';
228
+		if ($text) {
229
+			$output .= '<small class="form-text text-muted d-block">' . wp_kses_post($text) . '</small>';
230 230
 		}
231 231
 
232 232
 
@@ -240,17 +240,17 @@  discard block
 block discarded – undo
240 240
 	 *
241 241
 	 * @return string|void
242 242
 	 */
243
-	public static function element_require( $input ) {
243
+	public static function element_require($input) {
244 244
 
245
-		$input = str_replace( "'", '"', $input );// we only want double quotes
245
+		$input = str_replace("'", '"', $input); // we only want double quotes
246 246
 
247
-		$output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
247
+		$output = esc_attr(str_replace(array("[%", "%]", "%:checked]"), array(
248 248
 			"jQuery(form).find('[data-argument=\"",
249 249
 			"\"]').find('input,select,textarea').val()",
250 250
 			"\"]').find('input:checked').val()",
251
-		), $input ) );
251
+		), $input));
252 252
 
253
-		if ( $output ) {
253
+		if ($output) {
254 254
 			$output = ' data-element-require="' . $output . '" ';
255 255
 		}
256 256
 
@@ -267,21 +267,21 @@  discard block
 block discarded – undo
267 267
 	 *
268 268
 	 * @return mixed Stripped value.
269 269
 	 */
270
-	public static function sanitize_html_field( $value, $input = array() ) {
270
+	public static function sanitize_html_field($value, $input = array()) {
271 271
 		$original = $value;
272 272
 
273
-		if ( is_array( $value ) ) {
274
-			foreach ( $value as $index => $item ) {
275
-				$value[ $index ] = self::_sanitize_html_field( $value, $input );
273
+		if (is_array($value)) {
274
+			foreach ($value as $index => $item) {
275
+				$value[$index] = self::_sanitize_html_field($value, $input);
276 276
 			}
277
-		} elseif ( is_object( $value ) ) {
278
-			$object_vars = get_object_vars( $value );
277
+		} elseif (is_object($value)) {
278
+			$object_vars = get_object_vars($value);
279 279
 
280
-			foreach ( $object_vars as $property_name => $property_value ) {
281
-				$value->$property_name = self::_sanitize_html_field( $property_value, $input );
280
+			foreach ($object_vars as $property_name => $property_value) {
281
+				$value->$property_name = self::_sanitize_html_field($property_value, $input);
282 282
 			}
283 283
 		} else {
284
-			$value = self::_sanitize_html_field( $value, $input );
284
+			$value = self::_sanitize_html_field($value, $input);
285 285
 		}
286 286
 
287 287
 		/**
@@ -293,7 +293,7 @@  discard block
 block discarded – undo
293 293
 		 * @param string|array $value Original content without filter.
294 294
 		 * @param array $input Input Field.
295 295
 		 */
296
-		return apply_filters( 'ayecode_ui_sanitize_html_field', $value, $original, $input );
296
+		return apply_filters('ayecode_ui_sanitize_html_field', $value, $original, $input);
297 297
 	}
298 298
 
299 299
 	/**
@@ -316,20 +316,20 @@  discard block
 block discarded – undo
316 316
 	 *
317 317
 	 * @return string Filtered content with only allowed HTML elements.
318 318
 	 */
319
-	public static function _sanitize_html_field( $value, $input = array() ) {
320
-		if ( $value === '' ) {
319
+	public static function _sanitize_html_field($value, $input = array()) {
320
+		if ($value === '') {
321 321
 			return $value;
322 322
 		}
323 323
 
324
-		$allowed_html = self::kses_allowed_html( 'post', $input );
324
+		$allowed_html = self::kses_allowed_html('post', $input);
325 325
 
326
-		if ( ! is_array( $allowed_html ) ) {
327
-			$allowed_html = wp_kses_allowed_html( 'post' );
326
+		if (!is_array($allowed_html)) {
327
+			$allowed_html = wp_kses_allowed_html('post');
328 328
 		}
329 329
 
330
-		$filtered = trim( wp_unslash( $value ) );
331
-		$filtered = wp_kses( $filtered, $allowed_html );
332
-		$filtered = balanceTags( $filtered ); // Balances tags
330
+		$filtered = trim(wp_unslash($value));
331
+		$filtered = wp_kses($filtered, $allowed_html);
332
+		$filtered = balanceTags($filtered); // Balances tags
333 333
 
334 334
 		return $filtered;
335 335
 	}
@@ -346,12 +346,12 @@  discard block
 block discarded – undo
346 346
 	 *
347 347
 	 * @return array Array of allowed HTML tags and their allowed attributes.
348 348
 	 */
349
-	public static function kses_allowed_html( $context = 'post', $input = array() ) {
350
-		$allowed_html = wp_kses_allowed_html( $context );
349
+	public static function kses_allowed_html($context = 'post', $input = array()) {
350
+		$allowed_html = wp_kses_allowed_html($context);
351 351
 
352
-		if ( is_array( $allowed_html ) ) {
352
+		if (is_array($allowed_html)) {
353 353
 			// <iframe>
354
-			if ( ! isset( $allowed_html['iframe'] ) && $context == 'post' ) {
354
+			if (!isset($allowed_html['iframe']) && $context == 'post') {
355 355
 				$allowed_html['iframe'] = array(
356 356
 					'class'           => true,
357 357
 					'id'              => true,
@@ -380,23 +380,23 @@  discard block
 block discarded – undo
380 380
 		 * @param @param string|array $context The context for which to retrieve tags.
381 381
 		 * @param array $input Input field.
382 382
 		 */
383
-		return apply_filters( 'ayecode_ui_kses_allowed_html', $allowed_html, $context, $input );
383
+		return apply_filters('ayecode_ui_kses_allowed_html', $allowed_html, $context, $input);
384 384
 	}
385 385
 
386
-	public static function get_column_class( $label_number = 2, $type = 'label' ) {
386
+	public static function get_column_class($label_number = 2, $type = 'label') {
387 387
 
388 388
 		$class = '';
389 389
 
390 390
 		// set default if empty
391
-		if( $label_number === '' ){
391
+		if ($label_number === '') {
392 392
 			$label_number = 2;
393 393
 		}
394 394
 
395
-		if ( $label_number && $label_number < 12 && $label_number > 0 ) {
396
-			if ( $type == 'label' ) {
397
-				$class = 'col-sm-' . absint( $label_number );
398
-			} elseif ( $type == 'input' ) {
399
-				$class = 'col-sm-' . ( 12 - absint( $label_number ) );
395
+		if ($label_number && $label_number < 12 && $label_number > 0) {
396
+			if ($type == 'label') {
397
+				$class = 'col-sm-' . absint($label_number);
398
+			} elseif ($type == 'input') {
399
+				$class = 'col-sm-' . (12 - absint($label_number));
400 400
 			}
401 401
 		}
402 402
 
@@ -415,8 +415,8 @@  discard block
 block discarded – undo
415 415
 	 * @param string $str String to sanitize.
416 416
 	 * @return string Sanitized string.
417 417
 	 */
418
-	public static function sanitize_textarea_field( $str ) {
419
-		$filtered = self::_sanitize_text_fields( $str, true );
418
+	public static function sanitize_textarea_field($str) {
419
+		$filtered = self::_sanitize_text_fields($str, true);
420 420
 
421 421
 		/**
422 422
 		 * Filters a sanitized textarea field string.
@@ -426,7 +426,7 @@  discard block
 block discarded – undo
426 426
 		 * @param string $filtered The sanitized string.
427 427
 		 * @param string $str      The string prior to being sanitized.
428 428
 		 */
429
-		return apply_filters( 'sanitize_textarea_field', $filtered, $str );
429
+		return apply_filters('sanitize_textarea_field', $filtered, $str);
430 430
 	}
431 431
 
432 432
 	/**
@@ -439,40 +439,40 @@  discard block
 block discarded – undo
439 439
 	 * @param bool   $keep_newlines Optional. Whether to keep newlines. Default: false.
440 440
 	 * @return string Sanitized string.
441 441
 	 */
442
-	public static function _sanitize_text_fields( $str, $keep_newlines = false ) {
443
-		if ( is_object( $str ) || is_array( $str ) ) {
442
+	public static function _sanitize_text_fields($str, $keep_newlines = false) {
443
+		if (is_object($str) || is_array($str)) {
444 444
 			return '';
445 445
 		}
446 446
 
447 447
 		$str = (string) $str;
448 448
 
449
-		$filtered = wp_check_invalid_utf8( $str );
449
+		$filtered = wp_check_invalid_utf8($str);
450 450
 
451
-		if ( strpos( $filtered, '<' ) !== false ) {
452
-			$filtered = wp_pre_kses_less_than( $filtered );
451
+		if (strpos($filtered, '<') !== false) {
452
+			$filtered = wp_pre_kses_less_than($filtered);
453 453
 			// This will strip extra whitespace for us.
454
-			$filtered = wp_strip_all_tags( $filtered, false );
454
+			$filtered = wp_strip_all_tags($filtered, false);
455 455
 
456 456
 			// Use HTML entities in a special case to make sure no later
457 457
 			// newline stripping stage could lead to a functional tag.
458
-			$filtered = str_replace( "<\n", "&lt;\n", $filtered );
458
+			$filtered = str_replace("<\n", "&lt;\n", $filtered);
459 459
 		}
460 460
 
461
-		if ( ! $keep_newlines ) {
462
-			$filtered = preg_replace( '/[\r\n\t ]+/', ' ', $filtered );
461
+		if (!$keep_newlines) {
462
+			$filtered = preg_replace('/[\r\n\t ]+/', ' ', $filtered);
463 463
 		}
464
-		$filtered = trim( $filtered );
464
+		$filtered = trim($filtered);
465 465
 
466 466
 		$found = false;
467
-		while ( preg_match( '`[^%](%[a-f0-9]{2})`i', $filtered, $match ) ) {
468
-			$filtered = str_replace( $match[1], '', $filtered );
467
+		while (preg_match('`[^%](%[a-f0-9]{2})`i', $filtered, $match)) {
468
+			$filtered = str_replace($match[1], '', $filtered);
469 469
 			$found = true;
470 470
 		}
471
-		unset( $match );
471
+		unset($match);
472 472
 
473
-		if ( $found ) {
473
+		if ($found) {
474 474
 			// Strip out the whitespace that may now exist after removing the octets.
475
-			$filtered = trim( preg_replace( '` +`', ' ', $filtered ) );
475
+			$filtered = trim(preg_replace('` +`', ' ', $filtered));
476 476
 		}
477 477
 
478 478
 		return $filtered;
Please login to merge, or discard this patch.
Switch Indentation   +266 added lines, -266 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1
-<?php
1
+    <?php
2 2
 
3
-if ( ! defined( 'ABSPATH' ) ) {
4
-	exit; // Exit if accessed directly
3
+    if ( ! defined( 'ABSPATH' ) ) {
4
+	    exit; // Exit if accessed directly
5 5
 }
6 6
 
7 7
 /**
@@ -9,9 +9,9 @@  discard block
 block discarded – undo
9 9
  *
10 10
  * @since 1.0.0
11 11
  */
12
-class AUI_Component_Helper {
12
+    class AUI_Component_Helper {
13 13
 
14
-	/**
14
+	    /**
15 15
 	 * A component helper for generating a input name.
16 16
 	 *
17 17
 	 * @param $text
@@ -19,152 +19,152 @@  discard block
 block discarded – undo
19 19
 	 *
20 20
 	 * @return string
21 21
 	 */
22
-	public static function name( $text, $multiple = false ) {
23
-		$output = '';
22
+	    public static function name( $text, $multiple = false ) {
23
+		    $output = '';
24 24
 
25
-		if ( $text ) {
26
-			$is_multiple = strpos( $text, '[' ) === false && $multiple ? '[]' : '';
27
-			$output      = ' name="' . esc_attr( $text ) . $is_multiple . '" ';
28
-		}
25
+		    if ( $text ) {
26
+			    $is_multiple = strpos( $text, '[' ) === false && $multiple ? '[]' : '';
27
+			    $output      = ' name="' . esc_attr( $text ) . $is_multiple . '" ';
28
+		    }
29 29
 
30
-		return $output;
31
-	}
30
+		    return $output;
31
+	    }
32 32
 
33
-	/**
33
+	    /**
34 34
 	 * A component helper for generating a item id.
35 35
 	 *
36 36
 	 * @param $text string The text to be used as the value.
37 37
 	 *
38 38
 	 * @return string The sanitized item.
39 39
 	 */
40
-	public static function id( $text ) {
41
-		$output = '';
40
+	    public static function id( $text ) {
41
+		    $output = '';
42 42
 
43
-		if ( $text ) {
44
-			$output = ' id="' . sanitize_html_class( $text ) . '" ';
45
-		}
43
+		    if ( $text ) {
44
+			    $output = ' id="' . sanitize_html_class( $text ) . '" ';
45
+		    }
46 46
 
47
-		return $output;
48
-	}
47
+		    return $output;
48
+	    }
49 49
 
50
-	/**
50
+	    /**
51 51
 	 * A component helper for generating a item title.
52 52
 	 *
53 53
 	 * @param $text string The text to be used as the value.
54 54
 	 *
55 55
 	 * @return string The sanitized item.
56 56
 	 */
57
-	public static function title( $text ) {
58
-		$output = '';
57
+	    public static function title( $text ) {
58
+		    $output = '';
59 59
 
60
-		if ( $text ) {
61
-			$output = ' title="' . esc_attr( $text ) . '" ';
62
-		}
60
+		    if ( $text ) {
61
+			    $output = ' title="' . esc_attr( $text ) . '" ';
62
+		    }
63 63
 
64
-		return $output;
65
-	}
64
+		    return $output;
65
+	    }
66 66
 
67
-	/**
67
+	    /**
68 68
 	 * A component helper for generating a item value.
69 69
 	 *
70 70
 	 * @param $text string The text to be used as the value.
71 71
 	 *
72 72
 	 * @return string The sanitized item.
73 73
 	 */
74
-	public static function value( $text ) {
75
-		$output = '';
74
+	    public static function value( $text ) {
75
+		    $output = '';
76 76
 
77
-		if ( $text !== null && $text !== false ) {
78
-			$output = ' value="' . esc_attr( wp_unslash( $text ) ) . '" ';
79
-		}
77
+		    if ( $text !== null && $text !== false ) {
78
+			    $output = ' value="' . esc_attr( wp_unslash( $text ) ) . '" ';
79
+		    }
80 80
 
81
-		return $output;
82
-	}
81
+		    return $output;
82
+	    }
83 83
 
84
-	/**
84
+	    /**
85 85
 	 * A component helper for generating a item class attribute.
86 86
 	 *
87 87
 	 * @param $text string The text to be used as the value.
88 88
 	 *
89 89
 	 * @return string The sanitized item.
90 90
 	 */
91
-	public static function class_attr( $text ) {
92
-		$output = '';
91
+	    public static function class_attr( $text ) {
92
+		    $output = '';
93 93
 
94
-		if ( $text ) {
95
-			$classes = self::esc_classes( $text );
96
-			if ( ! empty( $classes ) ) {
97
-				$output = ' class="' . $classes . '" ';
98
-			}
99
-		}
94
+		    if ( $text ) {
95
+			    $classes = self::esc_classes( $text );
96
+			    if ( ! empty( $classes ) ) {
97
+				    $output = ' class="' . $classes . '" ';
98
+			    }
99
+		    }
100 100
 
101
-		return $output;
102
-	}
101
+		    return $output;
102
+	    }
103 103
 
104
-	/**
104
+	    /**
105 105
 	 * Escape a string of classes.
106 106
 	 *
107 107
 	 * @param $text
108 108
 	 *
109 109
 	 * @return string
110 110
 	 */
111
-	public static function esc_classes( $text ) {
112
-		$output = '';
111
+	    public static function esc_classes( $text ) {
112
+		    $output = '';
113 113
 
114
-		if ( $text ) {
115
-			$classes = explode( " ", $text );
116
-			$classes = array_map( "trim", $classes );
117
-			$classes = array_map( "sanitize_html_class", $classes );
118
-			if ( ! empty( $classes ) ) {
119
-				$output = implode( " ", $classes );
120
-			}
121
-		}
114
+		    if ( $text ) {
115
+			    $classes = explode( " ", $text );
116
+			    $classes = array_map( "trim", $classes );
117
+			    $classes = array_map( "sanitize_html_class", $classes );
118
+			    if ( ! empty( $classes ) ) {
119
+				    $output = implode( " ", $classes );
120
+			    }
121
+		    }
122 122
 
123
-		return $output;
123
+		    return $output;
124 124
 
125
-	}
125
+	    }
126 126
 
127
-	/**
127
+	    /**
128 128
 	 * @param $args
129 129
 	 *
130 130
 	 * @return string
131 131
 	 */
132
-	public static function data_attributes( $args ) {
133
-		$output = '';
132
+	    public static function data_attributes( $args ) {
133
+		    $output = '';
134 134
 
135
-		if ( ! empty( $args ) ) {
135
+		    if ( ! empty( $args ) ) {
136 136
 
137
-			foreach ( $args as $key => $val ) {
138
-				if ( substr( $key, 0, 5 ) === "data-" ) {
139
-					$output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
140
-				}
141
-			}
142
-		}
137
+			    foreach ( $args as $key => $val ) {
138
+				    if ( substr( $key, 0, 5 ) === "data-" ) {
139
+					    $output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
140
+				    }
141
+			    }
142
+		    }
143 143
 
144
-		return $output;
145
-	}
144
+		    return $output;
145
+	    }
146 146
 
147
-	/**
147
+	    /**
148 148
 	 * @param $args
149 149
 	 *
150 150
 	 * @return string
151 151
 	 */
152
-	public static function aria_attributes( $args ) {
153
-		$output = '';
152
+	    public static function aria_attributes( $args ) {
153
+		    $output = '';
154 154
 
155
-		if ( ! empty( $args ) ) {
155
+		    if ( ! empty( $args ) ) {
156 156
 
157
-			foreach ( $args as $key => $val ) {
158
-				if ( substr( $key, 0, 5 ) === "aria-" ) {
159
-					$output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
160
-				}
161
-			}
162
-		}
157
+			    foreach ( $args as $key => $val ) {
158
+				    if ( substr( $key, 0, 5 ) === "aria-" ) {
159
+					    $output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
160
+				    }
161
+			    }
162
+		    }
163 163
 
164
-		return $output;
165
-	}
164
+		    return $output;
165
+	    }
166 166
 
167
-	/**
167
+	    /**
168 168
 	 * Build a font awesome icon from a class.
169 169
 	 *
170 170
 	 * @param $class
@@ -173,91 +173,91 @@  discard block
 block discarded – undo
173 173
 	 *
174 174
 	 * @return string
175 175
 	 */
176
-	public static function icon( $class, $space_after = false, $extra_attributes = array() ) {
177
-		$output = '';
178
-
179
-		if ( $class ) {
180
-			$classes = self::esc_classes( $class );
181
-			if ( ! empty( $classes ) ) {
182
-				$output = '<i class="' . $classes . '" ';
183
-				// extra attributes
184
-				if ( ! empty( $extra_attributes ) ) {
185
-					$output .= AUI_Component_Helper::extra_attributes( $extra_attributes );
186
-				}
187
-				$output .= '></i>';
188
-				if ( $space_after ) {
189
-					$output .= " ";
190
-				}
191
-			}
192
-		}
193
-
194
-		return $output;
195
-	}
196
-
197
-	/**
176
+	    public static function icon( $class, $space_after = false, $extra_attributes = array() ) {
177
+		    $output = '';
178
+
179
+		    if ( $class ) {
180
+			    $classes = self::esc_classes( $class );
181
+			    if ( ! empty( $classes ) ) {
182
+				    $output = '<i class="' . $classes . '" ';
183
+				    // extra attributes
184
+				    if ( ! empty( $extra_attributes ) ) {
185
+					    $output .= AUI_Component_Helper::extra_attributes( $extra_attributes );
186
+				    }
187
+				    $output .= '></i>';
188
+				    if ( $space_after ) {
189
+					    $output .= " ";
190
+				    }
191
+			    }
192
+		    }
193
+
194
+		    return $output;
195
+	    }
196
+
197
+	    /**
198 198
 	 * @param $args
199 199
 	 *
200 200
 	 * @return string
201 201
 	 */
202
-	public static function extra_attributes( $args ) {
203
-		$output = '';
202
+	    public static function extra_attributes( $args ) {
203
+		    $output = '';
204 204
 
205
-		if ( ! empty( $args ) ) {
205
+		    if ( ! empty( $args ) ) {
206 206
 
207
-			if ( is_array( $args ) ) {
208
-				foreach ( $args as $key => $val ) {
209
-					$output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
210
-				}
211
-			} else {
212
-				$output .= ' ' . $args . ' ';
213
-			}
207
+			    if ( is_array( $args ) ) {
208
+				    foreach ( $args as $key => $val ) {
209
+					    $output .= ' ' . sanitize_html_class( $key ) . '="' . esc_attr( $val ) . '" ';
210
+				    }
211
+			    } else {
212
+				    $output .= ' ' . $args . ' ';
213
+			    }
214 214
 
215
-		}
215
+		    }
216 216
 
217
-		return $output;
218
-	}
217
+		    return $output;
218
+	    }
219 219
 
220
-	/**
220
+	    /**
221 221
 	 * @param $args
222 222
 	 *
223 223
 	 * @return string
224 224
 	 */
225
-	public static function help_text( $text ) {
226
-		$output = '';
225
+	    public static function help_text( $text ) {
226
+		    $output = '';
227 227
 
228
-		if ( $text ) {
229
-			$output .= '<small class="form-text text-muted d-block">' . wp_kses_post( $text ) . '</small>';
230
-		}
228
+		    if ( $text ) {
229
+			    $output .= '<small class="form-text text-muted d-block">' . wp_kses_post( $text ) . '</small>';
230
+		    }
231 231
 
232 232
 
233
-		return $output;
234
-	}
233
+		    return $output;
234
+	    }
235 235
 
236
-	/**
236
+	    /**
237 237
 	 * Replace element require context with JS.
238 238
 	 *
239 239
 	 * @param $input
240 240
 	 *
241 241
 	 * @return string|void
242 242
 	 */
243
-	public static function element_require( $input ) {
243
+	    public static function element_require( $input ) {
244 244
 
245
-		$input = str_replace( "'", '"', $input );// we only want double quotes
245
+		    $input = str_replace( "'", '"', $input );// we only want double quotes
246 246
 
247
-		$output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
248
-			"jQuery(form).find('[data-argument=\"",
249
-			"\"]').find('input,select,textarea').val()",
250
-			"\"]').find('input:checked').val()",
251
-		), $input ) );
247
+		    $output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
248
+			    "jQuery(form).find('[data-argument=\"",
249
+			    "\"]').find('input,select,textarea').val()",
250
+			    "\"]').find('input:checked').val()",
251
+		    ), $input ) );
252 252
 
253
-		if ( $output ) {
254
-			$output = ' data-element-require="' . $output . '" ';
255
-		}
253
+		    if ( $output ) {
254
+			    $output = ' data-element-require="' . $output . '" ';
255
+		    }
256 256
 
257
-		return $output;
258
-	}
257
+		    return $output;
258
+	    }
259 259
 
260
-	/**
260
+	    /**
261 261
 	 * Navigates through an array, object, or scalar, and removes slashes from the values.
262 262
 	 *
263 263
 	 * @since 0.1.41
@@ -267,24 +267,24 @@  discard block
 block discarded – undo
267 267
 	 *
268 268
 	 * @return mixed Stripped value.
269 269
 	 */
270
-	public static function sanitize_html_field( $value, $input = array() ) {
271
-		$original = $value;
272
-
273
-		if ( is_array( $value ) ) {
274
-			foreach ( $value as $index => $item ) {
275
-				$value[ $index ] = self::_sanitize_html_field( $value, $input );
276
-			}
277
-		} elseif ( is_object( $value ) ) {
278
-			$object_vars = get_object_vars( $value );
279
-
280
-			foreach ( $object_vars as $property_name => $property_value ) {
281
-				$value->$property_name = self::_sanitize_html_field( $property_value, $input );
282
-			}
283
-		} else {
284
-			$value = self::_sanitize_html_field( $value, $input );
285
-		}
286
-
287
-		/**
270
+	    public static function sanitize_html_field( $value, $input = array() ) {
271
+		    $original = $value;
272
+
273
+		    if ( is_array( $value ) ) {
274
+			    foreach ( $value as $index => $item ) {
275
+				    $value[ $index ] = self::_sanitize_html_field( $value, $input );
276
+			    }
277
+		    } elseif ( is_object( $value ) ) {
278
+			    $object_vars = get_object_vars( $value );
279
+
280
+			    foreach ( $object_vars as $property_name => $property_value ) {
281
+				    $value->$property_name = self::_sanitize_html_field( $property_value, $input );
282
+			    }
283
+		    } else {
284
+			    $value = self::_sanitize_html_field( $value, $input );
285
+		    }
286
+
287
+		    /**
288 288
 		 * Filters content and keeps only allowable HTML elements.
289 289
 		 *
290 290
 		 * @since 0.1.41
@@ -293,10 +293,10 @@  discard block
 block discarded – undo
293 293
 		 * @param string|array $value Original content without filter.
294 294
 		 * @param array $input Input Field.
295 295
 		 */
296
-		return apply_filters( 'ayecode_ui_sanitize_html_field', $value, $original, $input );
297
-	}
296
+		    return apply_filters( 'ayecode_ui_sanitize_html_field', $value, $original, $input );
297
+	    }
298 298
 
299
-	/**
299
+	    /**
300 300
 	 * Filters content and keeps only allowable HTML elements.
301 301
 	 *
302 302
 	 * This function makes sure that only the allowed HTML element names, attribute
@@ -316,25 +316,25 @@  discard block
 block discarded – undo
316 316
 	 *
317 317
 	 * @return string Filtered content with only allowed HTML elements.
318 318
 	 */
319
-	public static function _sanitize_html_field( $value, $input = array() ) {
320
-		if ( $value === '' ) {
321
-			return $value;
322
-		}
319
+	    public static function _sanitize_html_field( $value, $input = array() ) {
320
+		    if ( $value === '' ) {
321
+			    return $value;
322
+		    }
323 323
 
324
-		$allowed_html = self::kses_allowed_html( 'post', $input );
324
+		    $allowed_html = self::kses_allowed_html( 'post', $input );
325 325
 
326
-		if ( ! is_array( $allowed_html ) ) {
327
-			$allowed_html = wp_kses_allowed_html( 'post' );
328
-		}
326
+		    if ( ! is_array( $allowed_html ) ) {
327
+			    $allowed_html = wp_kses_allowed_html( 'post' );
328
+		    }
329 329
 
330
-		$filtered = trim( wp_unslash( $value ) );
331
-		$filtered = wp_kses( $filtered, $allowed_html );
332
-		$filtered = balanceTags( $filtered ); // Balances tags
330
+		    $filtered = trim( wp_unslash( $value ) );
331
+		    $filtered = wp_kses( $filtered, $allowed_html );
332
+		    $filtered = balanceTags( $filtered ); // Balances tags
333 333
 
334
-		return $filtered;
335
-	}
334
+		    return $filtered;
335
+	    }
336 336
 
337
-	/**
337
+	    /**
338 338
 	 * Returns an array of allowed HTML tags and attributes for a given context.
339 339
 	 *
340 340
 	 * @since 0.1.41
@@ -346,32 +346,32 @@  discard block
 block discarded – undo
346 346
 	 *
347 347
 	 * @return array Array of allowed HTML tags and their allowed attributes.
348 348
 	 */
349
-	public static function kses_allowed_html( $context = 'post', $input = array() ) {
350
-		$allowed_html = wp_kses_allowed_html( $context );
351
-
352
-		if ( is_array( $allowed_html ) ) {
353
-			// <iframe>
354
-			if ( ! isset( $allowed_html['iframe'] ) && $context == 'post' ) {
355
-				$allowed_html['iframe'] = array(
356
-					'class'           => true,
357
-					'id'              => true,
358
-					'src'             => true,
359
-					'width'           => true,
360
-					'height'          => true,
361
-					'frameborder'     => true,
362
-					'marginwidth'     => true,
363
-					'marginheight'    => true,
364
-					'scrolling'       => true,
365
-					'style'           => true,
366
-					'title'           => true,
367
-					'allow'           => true,
368
-					'allowfullscreen' => true,
369
-					'data-*'          => true,
370
-				);
371
-			}
372
-		}
373
-
374
-		/**
349
+	    public static function kses_allowed_html( $context = 'post', $input = array() ) {
350
+		    $allowed_html = wp_kses_allowed_html( $context );
351
+
352
+		    if ( is_array( $allowed_html ) ) {
353
+			    // <iframe>
354
+			    if ( ! isset( $allowed_html['iframe'] ) && $context == 'post' ) {
355
+				    $allowed_html['iframe'] = array(
356
+					    'class'           => true,
357
+					    'id'              => true,
358
+					    'src'             => true,
359
+					    'width'           => true,
360
+					    'height'          => true,
361
+					    'frameborder'     => true,
362
+					    'marginwidth'     => true,
363
+					    'marginheight'    => true,
364
+					    'scrolling'       => true,
365
+					    'style'           => true,
366
+					    'title'           => true,
367
+					    'allow'           => true,
368
+					    'allowfullscreen' => true,
369
+					    'data-*'          => true,
370
+				    );
371
+			    }
372
+		    }
373
+
374
+		    /**
375 375
 		 * Filters the allowed html tags.
376 376
 		 *
377 377
 		 * @since 0.1.41
@@ -380,30 +380,30 @@  discard block
 block discarded – undo
380 380
 		 * @param @param string|array $context The context for which to retrieve tags.
381 381
 		 * @param array $input Input field.
382 382
 		 */
383
-		return apply_filters( 'ayecode_ui_kses_allowed_html', $allowed_html, $context, $input );
384
-	}
383
+		    return apply_filters( 'ayecode_ui_kses_allowed_html', $allowed_html, $context, $input );
384
+	    }
385 385
 
386
-	public static function get_column_class( $label_number = 2, $type = 'label' ) {
386
+	    public static function get_column_class( $label_number = 2, $type = 'label' ) {
387 387
 
388
-		$class = '';
388
+		    $class = '';
389 389
 
390
-		// set default if empty
391
-		if( $label_number === '' ){
392
-			$label_number = 2;
393
-		}
390
+		    // set default if empty
391
+		    if( $label_number === '' ){
392
+			    $label_number = 2;
393
+		    }
394 394
 
395
-		if ( $label_number && $label_number < 12 && $label_number > 0 ) {
396
-			if ( $type == 'label' ) {
397
-				$class = 'col-sm-' . absint( $label_number );
398
-			} elseif ( $type == 'input' ) {
399
-				$class = 'col-sm-' . ( 12 - absint( $label_number ) );
400
-			}
401
-		}
395
+		    if ( $label_number && $label_number < 12 && $label_number > 0 ) {
396
+			    if ( $type == 'label' ) {
397
+				    $class = 'col-sm-' . absint( $label_number );
398
+			    } elseif ( $type == 'input' ) {
399
+				    $class = 'col-sm-' . ( 12 - absint( $label_number ) );
400
+			    }
401
+		    }
402 402
 
403
-		return $class;
404
-	}
403
+		    return $class;
404
+	    }
405 405
 
406
-	/**
406
+	    /**
407 407
 	 * Sanitizes a multiline string from user input or from the database.
408 408
 	 *
409 409
 	 * Emulate the WP native sanitize_textarea_field function in a %%variable%% safe way.
@@ -415,10 +415,10 @@  discard block
 block discarded – undo
415 415
 	 * @param string $str String to sanitize.
416 416
 	 * @return string Sanitized string.
417 417
 	 */
418
-	public static function sanitize_textarea_field( $str ) {
419
-		$filtered = self::_sanitize_text_fields( $str, true );
418
+	    public static function sanitize_textarea_field( $str ) {
419
+		    $filtered = self::_sanitize_text_fields( $str, true );
420 420
 
421
-		/**
421
+		    /**
422 422
 		 * Filters a sanitized textarea field string.
423 423
 		 *
424 424
 		 * @see https://core.trac.wordpress.org/browser/trunk/src/wp-includes/formatting.php
@@ -426,10 +426,10 @@  discard block
 block discarded – undo
426 426
 		 * @param string $filtered The sanitized string.
427 427
 		 * @param string $str      The string prior to being sanitized.
428 428
 		 */
429
-		return apply_filters( 'sanitize_textarea_field', $filtered, $str );
430
-	}
429
+		    return apply_filters( 'sanitize_textarea_field', $filtered, $str );
430
+	    }
431 431
 
432
-	/**
432
+	    /**
433 433
 	 * Internal helper function to sanitize a string from user input or from the db.
434 434
 	 *
435 435
 	 * @since 0.1.66
@@ -439,42 +439,42 @@  discard block
 block discarded – undo
439 439
 	 * @param bool   $keep_newlines Optional. Whether to keep newlines. Default: false.
440 440
 	 * @return string Sanitized string.
441 441
 	 */
442
-	public static function _sanitize_text_fields( $str, $keep_newlines = false ) {
443
-		if ( is_object( $str ) || is_array( $str ) ) {
444
-			return '';
445
-		}
446
-
447
-		$str = (string) $str;
448
-
449
-		$filtered = wp_check_invalid_utf8( $str );
450
-
451
-		if ( strpos( $filtered, '<' ) !== false ) {
452
-			$filtered = wp_pre_kses_less_than( $filtered );
453
-			// This will strip extra whitespace for us.
454
-			$filtered = wp_strip_all_tags( $filtered, false );
455
-
456
-			// Use HTML entities in a special case to make sure no later
457
-			// newline stripping stage could lead to a functional tag.
458
-			$filtered = str_replace( "<\n", "&lt;\n", $filtered );
459
-		}
460
-
461
-		if ( ! $keep_newlines ) {
462
-			$filtered = preg_replace( '/[\r\n\t ]+/', ' ', $filtered );
463
-		}
464
-		$filtered = trim( $filtered );
465
-
466
-		$found = false;
467
-		while ( preg_match( '`[^%](%[a-f0-9]{2})`i', $filtered, $match ) ) {
468
-			$filtered = str_replace( $match[1], '', $filtered );
469
-			$found = true;
470
-		}
471
-		unset( $match );
472
-
473
-		if ( $found ) {
474
-			// Strip out the whitespace that may now exist after removing the octets.
475
-			$filtered = trim( preg_replace( '` +`', ' ', $filtered ) );
476
-		}
477
-
478
-		return $filtered;
479
-	}
442
+	    public static function _sanitize_text_fields( $str, $keep_newlines = false ) {
443
+		    if ( is_object( $str ) || is_array( $str ) ) {
444
+			    return '';
445
+		    }
446
+
447
+		    $str = (string) $str;
448
+
449
+		    $filtered = wp_check_invalid_utf8( $str );
450
+
451
+		    if ( strpos( $filtered, '<' ) !== false ) {
452
+			    $filtered = wp_pre_kses_less_than( $filtered );
453
+			    // This will strip extra whitespace for us.
454
+			    $filtered = wp_strip_all_tags( $filtered, false );
455
+
456
+			    // Use HTML entities in a special case to make sure no later
457
+			    // newline stripping stage could lead to a functional tag.
458
+			    $filtered = str_replace( "<\n", "&lt;\n", $filtered );
459
+		    }
460
+
461
+		    if ( ! $keep_newlines ) {
462
+			    $filtered = preg_replace( '/[\r\n\t ]+/', ' ', $filtered );
463
+		    }
464
+		    $filtered = trim( $filtered );
465
+
466
+		    $found = false;
467
+		    while ( preg_match( '`[^%](%[a-f0-9]{2})`i', $filtered, $match ) ) {
468
+			    $filtered = str_replace( $match[1], '', $filtered );
469
+			    $found = true;
470
+		    }
471
+		    unset( $match );
472
+
473
+		    if ( $found ) {
474
+			    // Strip out the whitespace that may now exist after removing the octets.
475
+			    $filtered = trim( preg_replace( '` +`', ' ', $filtered ) );
476
+		    }
477
+
478
+		    return $filtered;
479
+	    }
480 480
 }
481 481
\ No newline at end of file
Please login to merge, or discard this patch.
ayecode/wp-ayecode-ui/includes/components/class-aui-component-input.php 4 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   +1282 added lines, -1282 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,1305 +11,1305 @@  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
-			} elseif ( $type == 'iconpicker' ) {
141
-				$type = 'text';
142
-				//$args['class'] .= ' aui-flatpickr bg-initial ';
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
+            } elseif ( $type == 'iconpicker' ) {
141
+                $type = 'text';
142
+                //$args['class'] .= ' aui-flatpickr bg-initial ';
143 143
 //				$args['class'] .= ' bg-initial ';
144 144
 
145
-				$args['extra_attributes']['data-aui-init'] = 'iconpicker';
146
-				$args['extra_attributes']['data-placement'] = 'bottomRight';
145
+                $args['extra_attributes']['data-aui-init'] = 'iconpicker';
146
+                $args['extra_attributes']['data-placement'] = 'bottomRight';
147 147
 
148
-				$args['input_group_right'] = '<span class="input-group-addon input-group-text c-pointer"></span>';
148
+                $args['input_group_right'] = '<span class="input-group-addon input-group-text c-pointer"></span>';
149 149
 //				$args['input_group_right_inside'] = true;
150
-				// enqueue the script
151
-				$aui_settings = AyeCode_UI_Settings::instance();
152
-				$aui_settings->enqueue_iconpicker();
153
-			}
154
-
155
-			if ( $type == 'checkbox' && ( ( ! empty( $args['name'] ) && strpos( $args['name'], '[' ) === false ) || ! empty( $args['with_hidden'] ) ) ) {
156
-				$output .= '<input type="hidden" name="' . esc_attr( $args['name'] ) . '" value="0" />';
157
-			}
158
-
159
-			// allow clear icon
160
-			if ( $args['input_group_right'] === '' && $args['clear_icon'] ) {
161
-				$font_size = $size == 'sm' ? '1.3' : ( $size == 'lg' ? '1.65' : '1.5' );
162
-				$args['input_group_right_inside'] = true;
163
-				$align_class = $aui_bs5 ? ' h-100 py-0' : '';
164
-				$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
-			}
166
-
167
-			// open/type
168
-			$output .= '<input type="' . $type . '" ';
169
-
170
-			// name
171
-			if ( ! empty( $args['name'] ) ) {
172
-				$output .= ' name="' . esc_attr( $args['name'] ) . '" ';
173
-			}
174
-
175
-			// id
176
-			if ( ! empty( $args['id'] ) ) {
177
-				$output .= ' id="' . sanitize_html_class( $args['id'] ) . '" ';
178
-			}
179
-
180
-			// placeholder
181
-			if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] ) {
182
-				$output .= ' placeholder="' . esc_attr( $args['placeholder'] ) . '" ';
183
-			}
184
-
185
-			// title
186
-			if ( ! empty( $args['title'] ) ) {
187
-				$output .= ' title="' . esc_attr( $args['title'] ) . '" ';
188
-			}
189
-
190
-			// value
191
-			if ( ! empty( $args['value'] ) ) {
192
-				$output .= AUI_Component_Helper::value( $args['value'] );
193
-			}
194
-
195
-			// checked, for radio and checkboxes
196
-			if ( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ) {
197
-				$output .= ' checked ';
198
-			}
199
-
200
-			// validation text
201
-			if ( ! empty( $args['validation_text'] ) ) {
202
-				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr( addslashes( $args['validation_text'] ) ) . '\')" ';
203
-				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
204
-			}
205
-
206
-			// validation_pattern
207
-			if ( ! empty( $args['validation_pattern'] ) ) {
208
-				$output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
209
-			}
210
-
211
-			// step (for numbers)
212
-			if ( ! empty( $args['step'] ) ) {
213
-				$output .= ' step="' . $args['step'] . '" ';
214
-			}
215
-
216
-			// required
217
-			if ( ! empty( $args['required'] ) ) {
218
-				$output .= ' required ';
219
-			}
220
-
221
-			// class
222
-			$class = ! empty( $args['class'] ) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
223
-			$output .= $aui_bs5 &&  $type == 'checkbox' ? ' class="' . $class . '" ' : ' class="form-control ' . $class . '" ';
224
-
225
-			// data-attributes
226
-			$output .= AUI_Component_Helper::data_attributes( $args );
227
-
228
-			// extra attributes
229
-			if ( ! empty( $args['extra_attributes'] ) ) {
230
-				$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
231
-			}
232
-
233
-			// close
234
-			$output .= ' >';
235
-
236
-			// help text
237
-			if ( ! empty( $args['help_text'] ) ) {
238
-				$help_text = AUI_Component_Helper::help_text( $args['help_text'] );
239
-			}
240
-
241
-			// label
242
-			if ( ! empty( $args['label'] ) ) {
243
-				$label_base_class = '';
244
-				if ( $type == 'file' ) {
245
-					$label_base_class = ' custom-file-label';
246
-				} elseif ( $type == 'checkbox' ) {
247
-					if ( ! empty( $args['label_force_left'] ) ) {
248
-						$label_args['title'] = wp_kses_post( $args['help_text'] );
249
-						$help_text = '';
250
-						//$label_args['class'] .= ' d-inline ';
251
-						$args['wrap_class'] .= ' align-items-center ';
252
-					}else{
253
-
254
-					}
255
-
256
-					$label_base_class = $aui_bs5 ? ' form-check-label' : ' custom-control-label';
257
-				}
258
-				$label_args['class'] .= $label_base_class;
259
-				$temp_label_args = $label_args;
260
-				if(! empty( $args['label_force_left'] )){$temp_label_args['class'] = $label_base_class." text-muted";}
261
-				$label = self::label( $temp_label_args, $type );
262
-			}
263
-
264
-
265
-
266
-
267
-			// set help text in the correct position
268
-			if ( $label_after ) {
269
-				$output .= $label . $help_text;
270
-			}
271
-
272
-			// some input types need a separate wrap
273
-			if ( $type == 'file' ) {
274
-				$output = self::wrap( array(
275
-					'content' => $output,
276
-					'class'   => $aui_bs5 ? 'mb-3 custom-file' : 'form-group custom-file'
277
-				) );
278
-			} elseif ( $type == 'checkbox' ) {
279
-
280
-				$label_args['title'] = $args['label'];
281
-				$label_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'label' );
282
-				$label = !empty( $args['label_force_left'] ) ? self::label( $label_args, 'cb' ) : '<div class="' . $label_col . ' col-form-label"></div>';
283
-				$switch_size_class = $args['switch'] && !is_bool( $args['switch'] ) ? ' custom-switch-'.esc_attr( $args['switch'] ) : '';
284
-				if ( $aui_bs5 ) {
285
-					$wrap_class = $args['switch'] ? 'form-check form-switch' . $switch_size_class : 'form-check';
286
-				}else{
287
-					$wrap_class = $args['switch'] ? 'custom-switch' . $switch_size_class :  'custom-checkbox' ;
288
-				}
289
-				if ( ! empty( $args['label_force_left'] ) ) {
290
-					$wrap_class .= $aui_bs5 ? '' : ' d-flex align-content-center';
291
-					$label = str_replace(array("form-check-label","custom-control-label"),"", self::label( $label_args, 'cb' ) );
292
-				}
293
-				$output     = self::wrap( array(
294
-					'content' => $output,
295
-					'class'   => $aui_bs5 ? $wrap_class : 'custom-control ' . $wrap_class
296
-				) );
297
-
298
-				if ( $args['label_type'] == 'horizontal' ) {
299
-					$input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
300
-					$output    = $label . '<div class="' . $input_col . '">' . $output . '</div>';
301
-				}
302
-			} elseif ( $type == 'password' && $args['password_toggle'] && ! $args['input_group_right'] ) {
303
-
304
-
305
-				// allow password field to toggle view
306
-				$args['input_group_right'] = '<span class="input-group-text c-pointer px-3" 
150
+                // enqueue the script
151
+                $aui_settings = AyeCode_UI_Settings::instance();
152
+                $aui_settings->enqueue_iconpicker();
153
+            }
154
+
155
+            if ( $type == 'checkbox' && ( ( ! empty( $args['name'] ) && strpos( $args['name'], '[' ) === false ) || ! empty( $args['with_hidden'] ) ) ) {
156
+                $output .= '<input type="hidden" name="' . esc_attr( $args['name'] ) . '" value="0" />';
157
+            }
158
+
159
+            // allow clear icon
160
+            if ( $args['input_group_right'] === '' && $args['clear_icon'] ) {
161
+                $font_size = $size == 'sm' ? '1.3' : ( $size == 'lg' ? '1.65' : '1.5' );
162
+                $args['input_group_right_inside'] = true;
163
+                $align_class = $aui_bs5 ? ' h-100 py-0' : '';
164
+                $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
+            }
166
+
167
+            // open/type
168
+            $output .= '<input type="' . $type . '" ';
169
+
170
+            // name
171
+            if ( ! empty( $args['name'] ) ) {
172
+                $output .= ' name="' . esc_attr( $args['name'] ) . '" ';
173
+            }
174
+
175
+            // id
176
+            if ( ! empty( $args['id'] ) ) {
177
+                $output .= ' id="' . sanitize_html_class( $args['id'] ) . '" ';
178
+            }
179
+
180
+            // placeholder
181
+            if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] ) {
182
+                $output .= ' placeholder="' . esc_attr( $args['placeholder'] ) . '" ';
183
+            }
184
+
185
+            // title
186
+            if ( ! empty( $args['title'] ) ) {
187
+                $output .= ' title="' . esc_attr( $args['title'] ) . '" ';
188
+            }
189
+
190
+            // value
191
+            if ( ! empty( $args['value'] ) ) {
192
+                $output .= AUI_Component_Helper::value( $args['value'] );
193
+            }
194
+
195
+            // checked, for radio and checkboxes
196
+            if ( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ) {
197
+                $output .= ' checked ';
198
+            }
199
+
200
+            // validation text
201
+            if ( ! empty( $args['validation_text'] ) ) {
202
+                $output .= ' oninvalid="setCustomValidity(\'' . esc_attr( addslashes( $args['validation_text'] ) ) . '\')" ';
203
+                $output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
204
+            }
205
+
206
+            // validation_pattern
207
+            if ( ! empty( $args['validation_pattern'] ) ) {
208
+                $output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
209
+            }
210
+
211
+            // step (for numbers)
212
+            if ( ! empty( $args['step'] ) ) {
213
+                $output .= ' step="' . $args['step'] . '" ';
214
+            }
215
+
216
+            // required
217
+            if ( ! empty( $args['required'] ) ) {
218
+                $output .= ' required ';
219
+            }
220
+
221
+            // class
222
+            $class = ! empty( $args['class'] ) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
223
+            $output .= $aui_bs5 &&  $type == 'checkbox' ? ' class="' . $class . '" ' : ' class="form-control ' . $class . '" ';
224
+
225
+            // data-attributes
226
+            $output .= AUI_Component_Helper::data_attributes( $args );
227
+
228
+            // extra attributes
229
+            if ( ! empty( $args['extra_attributes'] ) ) {
230
+                $output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
231
+            }
232
+
233
+            // close
234
+            $output .= ' >';
235
+
236
+            // help text
237
+            if ( ! empty( $args['help_text'] ) ) {
238
+                $help_text = AUI_Component_Helper::help_text( $args['help_text'] );
239
+            }
240
+
241
+            // label
242
+            if ( ! empty( $args['label'] ) ) {
243
+                $label_base_class = '';
244
+                if ( $type == 'file' ) {
245
+                    $label_base_class = ' custom-file-label';
246
+                } elseif ( $type == 'checkbox' ) {
247
+                    if ( ! empty( $args['label_force_left'] ) ) {
248
+                        $label_args['title'] = wp_kses_post( $args['help_text'] );
249
+                        $help_text = '';
250
+                        //$label_args['class'] .= ' d-inline ';
251
+                        $args['wrap_class'] .= ' align-items-center ';
252
+                    }else{
253
+
254
+                    }
255
+
256
+                    $label_base_class = $aui_bs5 ? ' form-check-label' : ' custom-control-label';
257
+                }
258
+                $label_args['class'] .= $label_base_class;
259
+                $temp_label_args = $label_args;
260
+                if(! empty( $args['label_force_left'] )){$temp_label_args['class'] = $label_base_class." text-muted";}
261
+                $label = self::label( $temp_label_args, $type );
262
+            }
263
+
264
+
265
+
266
+
267
+            // set help text in the correct position
268
+            if ( $label_after ) {
269
+                $output .= $label . $help_text;
270
+            }
271
+
272
+            // some input types need a separate wrap
273
+            if ( $type == 'file' ) {
274
+                $output = self::wrap( array(
275
+                    'content' => $output,
276
+                    'class'   => $aui_bs5 ? 'mb-3 custom-file' : 'form-group custom-file'
277
+                ) );
278
+            } elseif ( $type == 'checkbox' ) {
279
+
280
+                $label_args['title'] = $args['label'];
281
+                $label_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'label' );
282
+                $label = !empty( $args['label_force_left'] ) ? self::label( $label_args, 'cb' ) : '<div class="' . $label_col . ' col-form-label"></div>';
283
+                $switch_size_class = $args['switch'] && !is_bool( $args['switch'] ) ? ' custom-switch-'.esc_attr( $args['switch'] ) : '';
284
+                if ( $aui_bs5 ) {
285
+                    $wrap_class = $args['switch'] ? 'form-check form-switch' . $switch_size_class : 'form-check';
286
+                }else{
287
+                    $wrap_class = $args['switch'] ? 'custom-switch' . $switch_size_class :  'custom-checkbox' ;
288
+                }
289
+                if ( ! empty( $args['label_force_left'] ) ) {
290
+                    $wrap_class .= $aui_bs5 ? '' : ' d-flex align-content-center';
291
+                    $label = str_replace(array("form-check-label","custom-control-label"),"", self::label( $label_args, 'cb' ) );
292
+                }
293
+                $output     = self::wrap( array(
294
+                    'content' => $output,
295
+                    'class'   => $aui_bs5 ? $wrap_class : 'custom-control ' . $wrap_class
296
+                ) );
297
+
298
+                if ( $args['label_type'] == 'horizontal' ) {
299
+                    $input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
300
+                    $output    = $label . '<div class="' . $input_col . '">' . $output . '</div>';
301
+                }
302
+            } elseif ( $type == 'password' && $args['password_toggle'] && ! $args['input_group_right'] ) {
303
+
304
+
305
+                // allow password field to toggle view
306
+                $args['input_group_right'] = '<span class="input-group-text c-pointer px-3" 
307 307
 onclick="var $el = jQuery(this).find(\'i\');$el.toggleClass(\'fa-eye fa-eye-slash\');
308 308
 var $eli = jQuery(this).parent().parent().find(\'input\');
309 309
 if($el.hasClass(\'fa-eye\'))
310 310
 {$eli.attr(\'type\',\'text\');}
311 311
 else{$eli.attr(\'type\',\'password\');}"
312 312
 ><i class="far fa-fw fa-eye-slash"></i></span>';
313
-			}
314
-
315
-			// input group wraps
316
-			if ( $args['input_group_left'] || $args['input_group_right'] ) {
317
-				$w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
318
-				$group_size = $size == 'lg' ? ' input-group-lg' : '';
319
-				$group_size = !$group_size && $size == 'sm' ? ' input-group-sm' : $group_size;
320
-
321
-				if ( $args['input_group_left'] ) {
322
-					$output = self::wrap( array(
323
-						'content'                 => $output,
324
-						'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 . $group_size : 'input-group' . $group_size,
325
-						'input_group_left'        => $args['input_group_left'],
326
-						'input_group_left_inside' => $args['input_group_left_inside']
327
-					) );
328
-				}
329
-				if ( $args['input_group_right'] ) {
330
-					$output = self::wrap( array(
331
-						'content'                  => $output,
332
-						'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 . $group_size : 'input-group' . $group_size,
333
-						'input_group_right'        => $args['input_group_right'],
334
-						'input_group_right_inside' => $args['input_group_right_inside']
335
-					) );
336
-				}
337
-
338
-			}
339
-
340
-			if ( ! $label_after ) {
341
-				$output .= $help_text;
342
-			}
343
-
344
-
345
-			if ( $args['label_type'] == 'horizontal' && $type != 'checkbox' ) {
346
-				$output = self::wrap( array(
347
-					'content' => $output,
348
-					'class'   => AUI_Component_Helper::get_column_class( $args['label_col'], 'input' )
349
-				) );
350
-			}
351
-
352
-			if ( ! $label_after ) {
353
-				$output = $label . $output;
354
-			}
355
-
356
-			// wrap
357
-			if ( ! $args['no_wrap'] ) {
358
-				if ( ! empty( $args['form_group_class'] ) ) {
359
-					$fg_class = esc_attr( $args['form_group_class'] );
360
-				}else{
361
-					$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
362
-				}
363
-				$form_group_class = $args['label_type'] == 'floating' && $type != 'checkbox' ? 'form-label-group' : $fg_class;
364
-				$wrap_class       = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
365
-				$wrap_class       = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
366
-				$output           = self::wrap( array(
367
-					'content'         => $output,
368
-					'class'           => $wrap_class,
369
-					'element_require' => $args['element_require'],
370
-					'argument_id'     => $args['id'],
371
-					'wrap_attributes' => $args['wrap_attributes'],
372
-				) );
373
-			}
374
-		}
375
-
376
-		return $output;
377
-	}
378
-
379
-	public static function label( $args = array(), $type = '' ) {
380
-		global $aui_bs5;
381
-		//<label for="exampleInputEmail1">Email address</label>
382
-		$defaults = array(
383
-			'title'      => 'div',
384
-			'for'        => '',
385
-			'class'      => '',
386
-			'label_type' => '', // empty = hidden, top, horizontal
387
-			'label_col'  => '',
388
-		);
389
-
390
-		/**
391
-		 * Parse incoming $args into an array and merge it with $defaults
392
-		 */
393
-		$args   = wp_parse_args( $args, $defaults );
394
-		$output = '';
395
-
396
-		if ( $args['title'] ) {
397
-
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 ' . $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 ){ $class .= ' form-label'; }
411
-
412
-			// open
413
-			$output .= '<label ';
414
-
415
-			// for
416
-			if ( ! empty( $args['for'] ) ) {
417
-				$output .= ' for="' . esc_attr( $args['for'] ) . '" ';
418
-			}
419
-
420
-			// class
421
-			$class = $class ? AUI_Component_Helper::esc_classes( $class ) : '';
422
-			$output .= ' class="' . $class . '" ';
423
-
424
-			// close
425
-			$output .= '>';
426
-
427
-
428
-			// title, don't escape fully as can contain html
429
-			if ( ! empty( $args['title'] ) ) {
430
-				$output .= wp_kses_post( $args['title'] );
431
-			}
432
-
433
-			// close wrap
434
-			$output .= '</label>';
435
-
436
-
437
-		}
438
-
439
-
440
-		return $output;
441
-	}
442
-
443
-	/**
444
-	 * Wrap some content in a HTML wrapper.
445
-	 *
446
-	 * @param array $args
447
-	 *
448
-	 * @return string
449
-	 */
450
-	public static function wrap( $args = array() ) {
451
-		global $aui_bs5;
452
-		$defaults = array(
453
-			'type'                     => 'div',
454
-			'class'                    => $aui_bs5 ? 'mb-3' : 'form-group',
455
-			'content'                  => '',
456
-			'input_group_left'         => '',
457
-			'input_group_right'        => '',
458
-			'input_group_left_inside'  => false,
459
-			'input_group_right_inside' => false,
460
-			'element_require'          => '',
461
-			'argument_id'              => '',
462
-			'wrap_attributes'          => array()
463
-		);
464
-
465
-		/**
466
-		 * Parse incoming $args into an array and merge it with $defaults
467
-		 */
468
-		$args   = wp_parse_args( $args, $defaults );
469
-		$output = '';
470
-		if ( $args['type'] ) {
471
-
472
-			// open
473
-			$output .= '<' . sanitize_html_class( $args['type'] );
474
-
475
-			// element require
476
-			if ( ! empty( $args['element_require'] ) ) {
477
-				$output .= AUI_Component_Helper::element_require( $args['element_require'] );
478
-				$args['class'] .= " aui-conditional-field";
479
-			}
480
-
481
-			// argument_id
482
-			if ( ! empty( $args['argument_id'] ) ) {
483
-				$output .= ' data-argument="' . esc_attr( $args['argument_id'] ) . '"';
484
-			}
485
-
486
-			// class
487
-			$class = ! empty( $args['class'] ) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
488
-			$output .= ' class="' . $class . '" ';
489
-
490
-			// Attributes
491
-			if ( ! empty( $args['wrap_attributes'] ) ) {
492
-				$output .= AUI_Component_Helper::extra_attributes( $args['wrap_attributes'] );
493
-			}
494
-
495
-			// close wrap
496
-			$output .= ' >';
497
-
498
-
499
-			// Input group left
500
-			if ( ! empty( $args['input_group_left'] ) ) {
501
-				$position_class   = ! empty( $args['input_group_left_inside'] ) ? 'position-absolute h-100' : '';
502
-				$input_group_left = strpos( $args['input_group_left'], '<' ) !== false ? $args['input_group_left'] : '<span class="input-group-text">' . $args['input_group_left'] . '</span>';
503
-				$output .= $aui_bs5 ? $input_group_left : '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
313
+            }
314
+
315
+            // input group wraps
316
+            if ( $args['input_group_left'] || $args['input_group_right'] ) {
317
+                $w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
318
+                $group_size = $size == 'lg' ? ' input-group-lg' : '';
319
+                $group_size = !$group_size && $size == 'sm' ? ' input-group-sm' : $group_size;
320
+
321
+                if ( $args['input_group_left'] ) {
322
+                    $output = self::wrap( array(
323
+                        'content'                 => $output,
324
+                        'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 . $group_size : 'input-group' . $group_size,
325
+                        'input_group_left'        => $args['input_group_left'],
326
+                        'input_group_left_inside' => $args['input_group_left_inside']
327
+                    ) );
328
+                }
329
+                if ( $args['input_group_right'] ) {
330
+                    $output = self::wrap( array(
331
+                        'content'                  => $output,
332
+                        'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 . $group_size : 'input-group' . $group_size,
333
+                        'input_group_right'        => $args['input_group_right'],
334
+                        'input_group_right_inside' => $args['input_group_right_inside']
335
+                    ) );
336
+                }
337
+
338
+            }
339
+
340
+            if ( ! $label_after ) {
341
+                $output .= $help_text;
342
+            }
343
+
344
+
345
+            if ( $args['label_type'] == 'horizontal' && $type != 'checkbox' ) {
346
+                $output = self::wrap( array(
347
+                    'content' => $output,
348
+                    'class'   => AUI_Component_Helper::get_column_class( $args['label_col'], 'input' )
349
+                ) );
350
+            }
351
+
352
+            if ( ! $label_after ) {
353
+                $output = $label . $output;
354
+            }
355
+
356
+            // wrap
357
+            if ( ! $args['no_wrap'] ) {
358
+                if ( ! empty( $args['form_group_class'] ) ) {
359
+                    $fg_class = esc_attr( $args['form_group_class'] );
360
+                }else{
361
+                    $fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
362
+                }
363
+                $form_group_class = $args['label_type'] == 'floating' && $type != 'checkbox' ? 'form-label-group' : $fg_class;
364
+                $wrap_class       = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
365
+                $wrap_class       = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
366
+                $output           = self::wrap( array(
367
+                    'content'         => $output,
368
+                    'class'           => $wrap_class,
369
+                    'element_require' => $args['element_require'],
370
+                    'argument_id'     => $args['id'],
371
+                    'wrap_attributes' => $args['wrap_attributes'],
372
+                ) );
373
+            }
374
+        }
375
+
376
+        return $output;
377
+    }
378
+
379
+    public static function label( $args = array(), $type = '' ) {
380
+        global $aui_bs5;
381
+        //<label for="exampleInputEmail1">Email address</label>
382
+        $defaults = array(
383
+            'title'      => 'div',
384
+            'for'        => '',
385
+            'class'      => '',
386
+            'label_type' => '', // empty = hidden, top, horizontal
387
+            'label_col'  => '',
388
+        );
389
+
390
+        /**
391
+         * Parse incoming $args into an array and merge it with $defaults
392
+         */
393
+        $args   = wp_parse_args( $args, $defaults );
394
+        $output = '';
395
+
396
+        if ( $args['title'] ) {
397
+
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 ' . $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 ){ $class .= ' form-label'; }
411
+
412
+            // open
413
+            $output .= '<label ';
414
+
415
+            // for
416
+            if ( ! empty( $args['for'] ) ) {
417
+                $output .= ' for="' . esc_attr( $args['for'] ) . '" ';
418
+            }
419
+
420
+            // class
421
+            $class = $class ? AUI_Component_Helper::esc_classes( $class ) : '';
422
+            $output .= ' class="' . $class . '" ';
423
+
424
+            // close
425
+            $output .= '>';
426
+
427
+
428
+            // title, don't escape fully as can contain html
429
+            if ( ! empty( $args['title'] ) ) {
430
+                $output .= wp_kses_post( $args['title'] );
431
+            }
432
+
433
+            // close wrap
434
+            $output .= '</label>';
435
+
436
+
437
+        }
438
+
439
+
440
+        return $output;
441
+    }
442
+
443
+    /**
444
+     * Wrap some content in a HTML wrapper.
445
+     *
446
+     * @param array $args
447
+     *
448
+     * @return string
449
+     */
450
+    public static function wrap( $args = array() ) {
451
+        global $aui_bs5;
452
+        $defaults = array(
453
+            'type'                     => 'div',
454
+            'class'                    => $aui_bs5 ? 'mb-3' : 'form-group',
455
+            'content'                  => '',
456
+            'input_group_left'         => '',
457
+            'input_group_right'        => '',
458
+            'input_group_left_inside'  => false,
459
+            'input_group_right_inside' => false,
460
+            'element_require'          => '',
461
+            'argument_id'              => '',
462
+            'wrap_attributes'          => array()
463
+        );
464
+
465
+        /**
466
+         * Parse incoming $args into an array and merge it with $defaults
467
+         */
468
+        $args   = wp_parse_args( $args, $defaults );
469
+        $output = '';
470
+        if ( $args['type'] ) {
471
+
472
+            // open
473
+            $output .= '<' . sanitize_html_class( $args['type'] );
474
+
475
+            // element require
476
+            if ( ! empty( $args['element_require'] ) ) {
477
+                $output .= AUI_Component_Helper::element_require( $args['element_require'] );
478
+                $args['class'] .= " aui-conditional-field";
479
+            }
480
+
481
+            // argument_id
482
+            if ( ! empty( $args['argument_id'] ) ) {
483
+                $output .= ' data-argument="' . esc_attr( $args['argument_id'] ) . '"';
484
+            }
485
+
486
+            // class
487
+            $class = ! empty( $args['class'] ) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
488
+            $output .= ' class="' . $class . '" ';
489
+
490
+            // Attributes
491
+            if ( ! empty( $args['wrap_attributes'] ) ) {
492
+                $output .= AUI_Component_Helper::extra_attributes( $args['wrap_attributes'] );
493
+            }
494
+
495
+            // close wrap
496
+            $output .= ' >';
497
+
498
+
499
+            // Input group left
500
+            if ( ! empty( $args['input_group_left'] ) ) {
501
+                $position_class   = ! empty( $args['input_group_left_inside'] ) ? 'position-absolute h-100' : '';
502
+                $input_group_left = strpos( $args['input_group_left'], '<' ) !== false ? $args['input_group_left'] : '<span class="input-group-text">' . $args['input_group_left'] . '</span>';
503
+                $output .= $aui_bs5 ? $input_group_left : '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
504 504
 //				$output .= '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
505
-			}
505
+            }
506 506
 
507
-			// content
508
-			$output .= $args['content'];
507
+            // content
508
+            $output .= $args['content'];
509 509
 
510
-			// Input group right
511
-			if ( ! empty( $args['input_group_right'] ) ) {
512
-				$position_class    = ! empty( $args['input_group_right_inside'] ) ? 'position-absolute h-100' : '';
513
-				$input_group_right = strpos( $args['input_group_right'], '<' ) !== false ? $args['input_group_right'] : '<span class="input-group-text">' . $args['input_group_right'] . '</span>';
514
-				$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>';
510
+            // Input group right
511
+            if ( ! empty( $args['input_group_right'] ) ) {
512
+                $position_class    = ! empty( $args['input_group_right_inside'] ) ? 'position-absolute h-100' : '';
513
+                $input_group_right = strpos( $args['input_group_right'], '<' ) !== false ? $args['input_group_right'] : '<span class="input-group-text">' . $args['input_group_right'] . '</span>';
514
+                $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>';
515 515
 //				$output .= '<div class="input-group-append ' . $position_class . '" style="top:0;right:0;">' . $input_group_right . '</div>';
516
-			}
517
-
518
-
519
-			// close wrap
520
-			$output .= '</' . sanitize_html_class( $args['type'] ) . '>';
521
-
522
-
523
-		} else {
524
-			$output = $args['content'];
525
-		}
526
-
527
-		return $output;
528
-	}
529
-
530
-	/**
531
-	 * Build the component.
532
-	 *
533
-	 * @param array $args
534
-	 *
535
-	 * @return string The rendered component.
536
-	 */
537
-	public static function textarea( $args = array() ) {
538
-		global $aui_bs5;
539
-
540
-		$defaults = array(
541
-			'name'               => '',
542
-			'class'              => '',
543
-			'wrap_class'         => '',
544
-			'id'                 => '',
545
-			'placeholder'        => '',
546
-			'title'              => '',
547
-			'value'              => '',
548
-			'required'           => false,
549
-			'label'              => '',
550
-			'label_after'        => false,
551
-			'label_class'        => '',
552
-			'label_type'         => '',
553
-			'label_col'          => '',
554
-			// sets the label type, default: hidden. Options: hidden, top, horizontal, floating
555
-			'input_group_right'        => '',
556
-			'input_group_left'         => '',
557
-			'input_group_right_inside' => false,
558
-			'form_group_class'      => '',
559
-			'help_text'          => '',
560
-			'validation_text'    => '',
561
-			'validation_pattern' => '',
562
-			'no_wrap'            => false,
563
-			'rows'               => '',
564
-			'wysiwyg'            => false,
565
-			'allow_tags'         => false,
566
-			// Allow HTML tags
567
-			'element_require'    => '',
568
-			// [%element_id%] == "1"
569
-			'extra_attributes'   => array(),
570
-			// an array of extra attributes
571
-			'wrap_attributes'    => array(),
572
-		);
573
-
574
-		/**
575
-		 * Parse incoming $args into an array and merge it with $defaults
576
-		 */
577
-		$args   = wp_parse_args( $args, $defaults );
578
-		$output = '';
579
-		$label = '';
580
-
581
-		// hidden label option needs to be empty
582
-		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
583
-
584
-		// floating labels don't work with wysiwyg so set it as top
585
-		if ( $args['label_type'] == 'floating' && ! empty( $args['wysiwyg'] ) ) {
586
-			$args['label_type'] = 'top';
587
-		}
588
-
589
-		$label_after = $args['label_after'];
590
-
591
-		// floating labels need label after
592
-		if ( $args['label_type'] == 'floating' && empty( $args['wysiwyg'] ) ) {
593
-			$label_after         = true;
594
-			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
595
-		}
596
-
597
-		// label
598
-		if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
599
-		} elseif ( ! empty( $args['label'] ) && ! $label_after ) {
600
-			$label_args = array(
601
-				'title'      => $args['label'],
602
-				'for'        => $args['id'],
603
-				'class'      => $args['label_class'] . " ",
604
-				'label_type' => $args['label_type'],
605
-				'label_col'  => $args['label_col']
606
-			);
607
-			$label .= self::label( $label_args );
608
-		}
609
-
610
-		// maybe horizontal label
611
-		if ( $args['label_type'] == 'horizontal' ) {
612
-			$input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
613
-			$label .= '<div class="' . $input_col . '">';
614
-		}
615
-
616
-		if ( ! empty( $args['wysiwyg'] ) ) {
617
-			ob_start();
618
-			$content   = $args['value'];
619
-			$editor_id = ! empty( $args['id'] ) ? sanitize_html_class( $args['id'] ) : 'wp_editor';
620
-			$settings  = array(
621
-				'textarea_rows' => ! empty( absint( $args['rows'] ) ) ? absint( $args['rows'] ) : 4,
622
-				'quicktags'     => false,
623
-				'media_buttons' => false,
624
-				'editor_class'  => 'form-control',
625
-				'textarea_name' => ! empty( $args['name'] ) ? sanitize_html_class( $args['name'] ) : sanitize_html_class( $args['id'] ),
626
-				'teeny'         => true,
627
-			);
628
-
629
-			// maybe set settings if array
630
-			if ( is_array( $args['wysiwyg'] ) ) {
631
-				$settings = wp_parse_args( $args['wysiwyg'], $settings );
632
-			}
633
-
634
-			wp_editor( $content, $editor_id, $settings );
635
-			$output .= ob_get_clean();
636
-		} else {
637
-
638
-			// open
639
-			$output .= '<textarea ';
640
-
641
-			// name
642
-			if ( ! empty( $args['name'] ) ) {
643
-				$output .= ' name="' . esc_attr( $args['name'] ) . '" ';
644
-			}
645
-
646
-			// id
647
-			if ( ! empty( $args['id'] ) ) {
648
-				$output .= ' id="' . sanitize_html_class( $args['id'] ) . '" ';
649
-			}
650
-
651
-			// placeholder
652
-			if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] ) {
653
-				$output .= ' placeholder="' . esc_attr( $args['placeholder'] ) . '" ';
654
-			}
655
-
656
-			// title
657
-			if ( ! empty( $args['title'] ) ) {
658
-				$output .= ' title="' . esc_attr( $args['title'] ) . '" ';
659
-			}
660
-
661
-			// validation text
662
-			if ( ! empty( $args['validation_text'] ) ) {
663
-				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr( addslashes( $args['validation_text'] ) ) . '\')" ';
664
-				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
665
-			}
666
-
667
-			// validation_pattern
668
-			if ( ! empty( $args['validation_pattern'] ) ) {
669
-				$output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
670
-			}
671
-
672
-			// required
673
-			if ( ! empty( $args['required'] ) ) {
674
-				$output .= ' required ';
675
-			}
676
-
677
-			// rows
678
-			if ( ! empty( $args['rows'] ) ) {
679
-				$output .= ' rows="' . absint( $args['rows'] ) . '" ';
680
-			}
681
-
682
-
683
-			// class
684
-			$class = ! empty( $args['class'] ) ? $args['class'] : '';
685
-			$output .= ' class="form-control ' . $class . '" ';
686
-
687
-			// extra attributes
688
-			if ( ! empty( $args['extra_attributes'] ) ) {
689
-				$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
690
-			}
691
-
692
-			// close tag
693
-			$output .= ' >';
694
-
695
-			// value
696
-			if ( ! empty( $args['value'] ) ) {
697
-				if ( ! empty( $args['allow_tags'] ) ) {
698
-					$output .= AUI_Component_Helper::sanitize_html_field( $args['value'], $args ); // Sanitize HTML.
699
-				} else {
700
-					$output .= AUI_Component_Helper::sanitize_textarea_field( $args['value'] );
701
-				}
702
-			}
703
-
704
-			// closing tag
705
-			$output .= '</textarea>';
706
-
707
-
708
-			// input group wraps
709
-			if ( $args['input_group_left'] || $args['input_group_right'] ) {
710
-				$w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
711
-				if ( $args['input_group_left'] ) {
712
-					$output = self::wrap( array(
713
-						'content'                 => $output,
714
-						'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
715
-						'input_group_left'        => $args['input_group_left'],
716
-						'input_group_left_inside' => $args['input_group_left_inside']
717
-					) );
718
-				}
719
-				if ( $args['input_group_right'] ) {
720
-					$output = self::wrap( array(
721
-						'content'                  => $output,
722
-						'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
723
-						'input_group_right'        => $args['input_group_right'],
724
-						'input_group_right_inside' => $args['input_group_right_inside']
725
-					) );
726
-				}
727
-
728
-			}
729
-
730
-
731
-		}
732
-
733
-		if ( ! empty( $args['label'] ) && $label_after ) {
734
-			$label_args = array(
735
-				'title'      => $args['label'],
736
-				'for'        => $args['id'],
737
-				'class'      => $args['label_class'] . " ",
738
-				'label_type' => $args['label_type'],
739
-				'label_col'  => $args['label_col']
740
-			);
741
-			$output .= self::label( $label_args );
742
-		}
743
-
744
-		// help text
745
-		if ( ! empty( $args['help_text'] ) ) {
746
-			$output .= AUI_Component_Helper::help_text( $args['help_text'] );
747
-		}
748
-
749
-		if ( ! $label_after ) {
750
-			$output = $label . $output;
751
-		}
752
-
753
-		// maybe horizontal label
754
-		if ( $args['label_type'] == 'horizontal' ) {
755
-			$output .= '</div>';
756
-		}
757
-
758
-
759
-		// wrap
760
-		if ( ! $args['no_wrap'] ) {
761
-			if ( ! empty( $args['form_group_class'] ) ) {
762
-				$fg_class = esc_attr( $args['form_group_class'] );
763
-			}else{
764
-				$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
765
-			}
766
-			$form_group_class = $args['label_type'] == 'floating' ? 'form-label-group' : $fg_class;
767
-			$wrap_class       = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
768
-			$wrap_class       = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
769
-			$output           = self::wrap( array(
770
-				'content'         => $output,
771
-				'class'           => $wrap_class,
772
-				'element_require' => $args['element_require'],
773
-				'argument_id'     => $args['id'],
774
-				'wrap_attributes' => $args['wrap_attributes'],
775
-			) );
776
-		}
777
-
778
-
779
-		return $output;
780
-	}
781
-
782
-	/**
783
-	 * Build the component.
784
-	 *
785
-	 * @param array $args
786
-	 *
787
-	 * @return string The rendered component.
788
-	 */
789
-	public static function select( $args = array() ) {
790
-		global $aui_bs5, $aui_has_select2, $aui_select2_enqueued;
791
-
792
-		$defaults = array(
793
-			'class'            => '',
794
-			'wrap_class'       => '',
795
-			'id'               => '',
796
-			'title'            => '',
797
-			'value'            => '',
798
-			// can be an array or a string
799
-			'required'         => false,
800
-			'label'            => '',
801
-			'label_after'      => false,
802
-			'label_type'       => '',
803
-			'label_col'        => '',
804
-			// sets the label type, default: hidden. Options: hidden, top, horizontal, floating
805
-			'label_class'      => '',
806
-			'help_text'        => '',
807
-			'placeholder'      => '',
808
-			'options'          => array(),
809
-			// array or string
810
-			'icon'             => '',
811
-			'multiple'         => false,
812
-			'select2'          => false,
813
-			'no_wrap'          => false,
814
-			'input_group_right' => '',
815
-			'input_group_left' => '',
816
-			'input_group_right_inside' => false, // forces the input group inside the input
817
-			'input_group_left_inside' => false, // forces the input group inside the input
818
-			'form_group_class'  => '',
819
-			'element_require'  => '',
820
-			// [%element_id%] == "1"
821
-			'extra_attributes' => array(),
822
-			// an array of extra attributes
823
-			'wrap_attributes'  => array(),
824
-		);
825
-
826
-		/**
827
-		 * Parse incoming $args into an array and merge it with $defaults
828
-		 */
829
-		$args   = wp_parse_args( $args, $defaults );
830
-		$output = '';
831
-
832
-		// for now lets hide floating labels
833
-		if ( $args['label_type'] == 'floating' ) {
834
-			$args['label_type'] = 'hidden';
835
-		}
836
-
837
-		// hidden label option needs to be empty
838
-		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
839
-
840
-
841
-		$label_after = $args['label_after'];
842
-
843
-		// floating labels need label after
844
-		if ( $args['label_type'] == 'floating' ) {
845
-			$label_after         = true;
846
-			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
847
-		}
848
-
849
-		// Maybe setup select2
850
-		$is_select2 = false;
851
-		if ( ! empty( $args['select2'] ) ) {
852
-			$args['class'] .= ' aui-select2';
853
-			$is_select2 = true;
854
-		} elseif ( strpos( $args['class'], 'aui-select2' ) !== false ) {
855
-			$is_select2 = true;
856
-		}
857
-
858
-		if ( $is_select2 && ! $aui_has_select2 ) {
859
-			$aui_has_select2 = true;
860
-			$conditional_select2 = apply_filters( 'aui_is_conditional_select2', true );
861
-
862
-			// Enqueue the script,
863
-			if ( empty( $aui_select2_enqueued ) && $conditional_select2 === true ) {
864
-				$aui_select2_enqueued = true;
865
-
866
-				$aui_settings = AyeCode_UI_Settings::instance();
867
-				$aui_settings->enqueue_select2();
868
-			}
869
-		}
870
-
871
-		// select2 tags
872
-		if ( ! empty( $args['select2'] ) && $args['select2'] === 'tags' ) { // triple equals needed here for some reason
873
-			$args['data-tags']             = 'true';
874
-			$args['data-token-separators'] = "[',']";
875
-			$args['multiple']              = true;
876
-		}
877
-
878
-		// select2 placeholder
879
-		if ( $is_select2 && isset( $args['placeholder'] ) && '' != $args['placeholder'] && empty( $args['data-placeholder'] ) ) {
880
-			$args['data-placeholder'] = esc_attr( $args['placeholder'] );
881
-			$args['data-allow-clear'] = isset( $args['data-allow-clear'] ) ? (bool) $args['data-allow-clear'] : true;
882
-		}
883
-
884
-		// Set hidden input to save empty value for multiselect.
885
-		if ( ! empty( $args['multiple'] ) && ! empty( $args['name'] ) ) {
886
-			$output .= '<input type="hidden" ' . AUI_Component_Helper::name( $args['name'] ) . ' value="" data-ignore-rule/>';
887
-		}
888
-
889
-		// open/type
890
-		$output .= '<select ';
891
-
892
-		// style
893
-		if ( $is_select2 && !($args['input_group_left'] || $args['input_group_right'])) {
894
-			$output .= " style='width:100%;' ";
895
-		}
896
-
897
-		// element require
898
-		if ( ! empty( $args['element_require'] ) ) {
899
-			$output .= AUI_Component_Helper::element_require( $args['element_require'] );
900
-			$args['class'] .= " aui-conditional-field";
901
-		}
902
-
903
-		// class
904
-		$class = ! empty( $args['class'] ) ? $args['class'] : '';
905
-		$select_class = $aui_bs5 ? 'form-select ' : 'custom-select ';
906
-		$output .= AUI_Component_Helper::class_attr( $select_class . $class );
907
-
908
-		// name
909
-		if ( ! empty( $args['name'] ) ) {
910
-			$output .= AUI_Component_Helper::name( $args['name'], $args['multiple'] );
911
-		}
912
-
913
-		// id
914
-		if ( ! empty( $args['id'] ) ) {
915
-			$output .= AUI_Component_Helper::id( $args['id'] );
916
-		}
917
-
918
-		// title
919
-		if ( ! empty( $args['title'] ) ) {
920
-			$output .= AUI_Component_Helper::title( $args['title'] );
921
-		}
922
-
923
-		// data-attributes
924
-		$output .= AUI_Component_Helper::data_attributes( $args );
925
-
926
-		// aria-attributes
927
-		$output .= AUI_Component_Helper::aria_attributes( $args );
928
-
929
-		// extra attributes
930
-		if ( ! empty( $args['extra_attributes'] ) ) {
931
-			$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
932
-		}
933
-
934
-		// required
935
-		if ( ! empty( $args['required'] ) ) {
936
-			$output .= ' required ';
937
-		}
938
-
939
-		// multiple
940
-		if ( ! empty( $args['multiple'] ) ) {
941
-			$output .= ' multiple ';
942
-		}
943
-
944
-		// close opening tag
945
-		$output .= ' >';
946
-
947
-		// placeholder
948
-		if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] && ! $is_select2 ) {
949
-			$output .= '<option value="" disabled selected hidden>' . esc_attr( $args['placeholder'] ) . '</option>';
950
-		} elseif ( $is_select2 && ! empty( $args['placeholder'] ) ) {
951
-			$output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
952
-		}
953
-
954
-		// Options
955
-		if ( ! empty( $args['options'] ) ) {
956
-
957
-			if ( ! is_array( $args['options'] ) ) {
958
-				$output .= $args['options']; // not the preferred way but an option
959
-			} else {
960
-				foreach ( $args['options'] as $val => $name ) {
961
-					$selected = '';
962
-					if ( is_array( $name ) ) {
963
-						if ( isset( $name['optgroup'] ) && ( $name['optgroup'] == 'start' || $name['optgroup'] == 'end' ) ) {
964
-							$option_label = isset( $name['label'] ) ? $name['label'] : '';
965
-
966
-							$output .= $name['optgroup'] == 'start' ? '<optgroup label="' . esc_attr( $option_label ) . '">' : '</optgroup>';
967
-						} else {
968
-							$option_label = isset( $name['label'] ) ? $name['label'] : '';
969
-							$option_value = isset( $name['value'] ) ? $name['value'] : '';
970
-							$extra_attributes = !empty($name['extra_attributes']) ? AUI_Component_Helper::extra_attributes( $name['extra_attributes'] ) : '';
971
-							if ( ! empty( $args['multiple'] ) && ! empty( $args['value'] ) && is_array( $args['value'] ) ) {
972
-								$selected = in_array( $option_value, stripslashes_deep( $args['value'] ) ) ? "selected" : "";
973
-							} elseif ( ! empty( $args['value'] ) ) {
974
-								$selected = selected( $option_value, stripslashes_deep( $args['value'] ), false );
975
-							} elseif ( empty( $args['value'] ) && $args['value'] === $option_value ) {
976
-								$selected = selected( $option_value, $args['value'], false );
977
-							}
978
-
979
-							$output .= '<option value="' . esc_attr( $option_value ) . '" ' . $selected . ' '.$extra_attributes .'>' . $option_label . '</option>';
980
-						}
981
-					} else {
982
-						if ( ! empty( $args['value'] ) ) {
983
-							if ( is_array( $args['value'] ) ) {
984
-								$selected = in_array( $val, $args['value'] ) ? 'selected="selected"' : '';
985
-							} elseif ( ! empty( $args['value'] ) ) {
986
-								$selected = selected( $args['value'], $val, false );
987
-							}
988
-						} elseif ( $args['value'] === $val ) {
989
-							$selected = selected( $args['value'], $val, false );
990
-						}
991
-						$output .= '<option value="' . esc_attr( $val ) . '" ' . $selected . '>' . esc_attr( $name ) . '</option>';
992
-					}
993
-				}
994
-			}
995
-
996
-		}
997
-
998
-		// closing tag
999
-		$output .= '</select>';
1000
-
1001
-		$label = '';
1002
-		$help_text = '';
1003
-		// label
1004
-		if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
1005
-		} elseif ( ! empty( $args['label'] ) && ! $label_after ) {
1006
-			$label_args = array(
1007
-				'title'      => $args['label'],
1008
-				'for'        => $args['id'],
1009
-				'class'      => $args['label_class'] . " ",
1010
-				'label_type' => $args['label_type'],
1011
-				'label_col'  => $args['label_col']
1012
-			);
1013
-			$label = self::label( $label_args );
1014
-		}
1015
-
1016
-		// help text
1017
-		if ( ! empty( $args['help_text'] ) ) {
1018
-			$help_text = AUI_Component_Helper::help_text( $args['help_text'] );
1019
-		}
1020
-
1021
-		// input group wraps
1022
-		if ( $args['input_group_left'] || $args['input_group_right'] ) {
1023
-			$w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
1024
-			if ( $args['input_group_left'] ) {
1025
-				$output = self::wrap( array(
1026
-					'content'                 => $output,
1027
-					'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
1028
-					'input_group_left'        => $args['input_group_left'],
1029
-					'input_group_left_inside' => $args['input_group_left_inside']
1030
-				) );
1031
-			}
1032
-			if ( $args['input_group_right'] ) {
1033
-				$output = self::wrap( array(
1034
-					'content'                  => $output,
1035
-					'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
1036
-					'input_group_right'        => $args['input_group_right'],
1037
-					'input_group_right_inside' => $args['input_group_right_inside']
1038
-				) );
1039
-			}
1040
-
1041
-		}
1042
-
1043
-		if ( ! $label_after ) {
1044
-			$output .= $help_text;
1045
-		}
1046
-
1047
-
1048
-		if ( $args['label_type'] == 'horizontal' ) {
1049
-			$output = self::wrap( array(
1050
-				'content' => $output,
1051
-				'class'   => AUI_Component_Helper::get_column_class( $args['label_col'], 'input' )
1052
-			) );
1053
-		}
1054
-
1055
-		if ( ! $label_after ) {
1056
-			$output = $label . $output;
1057
-		}
1058
-
1059
-		// maybe horizontal label
516
+            }
517
+
518
+
519
+            // close wrap
520
+            $output .= '</' . sanitize_html_class( $args['type'] ) . '>';
521
+
522
+
523
+        } else {
524
+            $output = $args['content'];
525
+        }
526
+
527
+        return $output;
528
+    }
529
+
530
+    /**
531
+     * Build the component.
532
+     *
533
+     * @param array $args
534
+     *
535
+     * @return string The rendered component.
536
+     */
537
+    public static function textarea( $args = array() ) {
538
+        global $aui_bs5;
539
+
540
+        $defaults = array(
541
+            'name'               => '',
542
+            'class'              => '',
543
+            'wrap_class'         => '',
544
+            'id'                 => '',
545
+            'placeholder'        => '',
546
+            'title'              => '',
547
+            'value'              => '',
548
+            'required'           => false,
549
+            'label'              => '',
550
+            'label_after'        => false,
551
+            'label_class'        => '',
552
+            'label_type'         => '',
553
+            'label_col'          => '',
554
+            // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
555
+            'input_group_right'        => '',
556
+            'input_group_left'         => '',
557
+            'input_group_right_inside' => false,
558
+            'form_group_class'      => '',
559
+            'help_text'          => '',
560
+            'validation_text'    => '',
561
+            'validation_pattern' => '',
562
+            'no_wrap'            => false,
563
+            'rows'               => '',
564
+            'wysiwyg'            => false,
565
+            'allow_tags'         => false,
566
+            // Allow HTML tags
567
+            'element_require'    => '',
568
+            // [%element_id%] == "1"
569
+            'extra_attributes'   => array(),
570
+            // an array of extra attributes
571
+            'wrap_attributes'    => array(),
572
+        );
573
+
574
+        /**
575
+         * Parse incoming $args into an array and merge it with $defaults
576
+         */
577
+        $args   = wp_parse_args( $args, $defaults );
578
+        $output = '';
579
+        $label = '';
580
+
581
+        // hidden label option needs to be empty
582
+        $args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
583
+
584
+        // floating labels don't work with wysiwyg so set it as top
585
+        if ( $args['label_type'] == 'floating' && ! empty( $args['wysiwyg'] ) ) {
586
+            $args['label_type'] = 'top';
587
+        }
588
+
589
+        $label_after = $args['label_after'];
590
+
591
+        // floating labels need label after
592
+        if ( $args['label_type'] == 'floating' && empty( $args['wysiwyg'] ) ) {
593
+            $label_after         = true;
594
+            $args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
595
+        }
596
+
597
+        // label
598
+        if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
599
+        } elseif ( ! empty( $args['label'] ) && ! $label_after ) {
600
+            $label_args = array(
601
+                'title'      => $args['label'],
602
+                'for'        => $args['id'],
603
+                'class'      => $args['label_class'] . " ",
604
+                'label_type' => $args['label_type'],
605
+                'label_col'  => $args['label_col']
606
+            );
607
+            $label .= self::label( $label_args );
608
+        }
609
+
610
+        // maybe horizontal label
611
+        if ( $args['label_type'] == 'horizontal' ) {
612
+            $input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
613
+            $label .= '<div class="' . $input_col . '">';
614
+        }
615
+
616
+        if ( ! empty( $args['wysiwyg'] ) ) {
617
+            ob_start();
618
+            $content   = $args['value'];
619
+            $editor_id = ! empty( $args['id'] ) ? sanitize_html_class( $args['id'] ) : 'wp_editor';
620
+            $settings  = array(
621
+                'textarea_rows' => ! empty( absint( $args['rows'] ) ) ? absint( $args['rows'] ) : 4,
622
+                'quicktags'     => false,
623
+                'media_buttons' => false,
624
+                'editor_class'  => 'form-control',
625
+                'textarea_name' => ! empty( $args['name'] ) ? sanitize_html_class( $args['name'] ) : sanitize_html_class( $args['id'] ),
626
+                'teeny'         => true,
627
+            );
628
+
629
+            // maybe set settings if array
630
+            if ( is_array( $args['wysiwyg'] ) ) {
631
+                $settings = wp_parse_args( $args['wysiwyg'], $settings );
632
+            }
633
+
634
+            wp_editor( $content, $editor_id, $settings );
635
+            $output .= ob_get_clean();
636
+        } else {
637
+
638
+            // open
639
+            $output .= '<textarea ';
640
+
641
+            // name
642
+            if ( ! empty( $args['name'] ) ) {
643
+                $output .= ' name="' . esc_attr( $args['name'] ) . '" ';
644
+            }
645
+
646
+            // id
647
+            if ( ! empty( $args['id'] ) ) {
648
+                $output .= ' id="' . sanitize_html_class( $args['id'] ) . '" ';
649
+            }
650
+
651
+            // placeholder
652
+            if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] ) {
653
+                $output .= ' placeholder="' . esc_attr( $args['placeholder'] ) . '" ';
654
+            }
655
+
656
+            // title
657
+            if ( ! empty( $args['title'] ) ) {
658
+                $output .= ' title="' . esc_attr( $args['title'] ) . '" ';
659
+            }
660
+
661
+            // validation text
662
+            if ( ! empty( $args['validation_text'] ) ) {
663
+                $output .= ' oninvalid="setCustomValidity(\'' . esc_attr( addslashes( $args['validation_text'] ) ) . '\')" ';
664
+                $output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
665
+            }
666
+
667
+            // validation_pattern
668
+            if ( ! empty( $args['validation_pattern'] ) ) {
669
+                $output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
670
+            }
671
+
672
+            // required
673
+            if ( ! empty( $args['required'] ) ) {
674
+                $output .= ' required ';
675
+            }
676
+
677
+            // rows
678
+            if ( ! empty( $args['rows'] ) ) {
679
+                $output .= ' rows="' . absint( $args['rows'] ) . '" ';
680
+            }
681
+
682
+
683
+            // class
684
+            $class = ! empty( $args['class'] ) ? $args['class'] : '';
685
+            $output .= ' class="form-control ' . $class . '" ';
686
+
687
+            // extra attributes
688
+            if ( ! empty( $args['extra_attributes'] ) ) {
689
+                $output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
690
+            }
691
+
692
+            // close tag
693
+            $output .= ' >';
694
+
695
+            // value
696
+            if ( ! empty( $args['value'] ) ) {
697
+                if ( ! empty( $args['allow_tags'] ) ) {
698
+                    $output .= AUI_Component_Helper::sanitize_html_field( $args['value'], $args ); // Sanitize HTML.
699
+                } else {
700
+                    $output .= AUI_Component_Helper::sanitize_textarea_field( $args['value'] );
701
+                }
702
+            }
703
+
704
+            // closing tag
705
+            $output .= '</textarea>';
706
+
707
+
708
+            // input group wraps
709
+            if ( $args['input_group_left'] || $args['input_group_right'] ) {
710
+                $w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
711
+                if ( $args['input_group_left'] ) {
712
+                    $output = self::wrap( array(
713
+                        'content'                 => $output,
714
+                        'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
715
+                        'input_group_left'        => $args['input_group_left'],
716
+                        'input_group_left_inside' => $args['input_group_left_inside']
717
+                    ) );
718
+                }
719
+                if ( $args['input_group_right'] ) {
720
+                    $output = self::wrap( array(
721
+                        'content'                  => $output,
722
+                        'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
723
+                        'input_group_right'        => $args['input_group_right'],
724
+                        'input_group_right_inside' => $args['input_group_right_inside']
725
+                    ) );
726
+                }
727
+
728
+            }
729
+
730
+
731
+        }
732
+
733
+        if ( ! empty( $args['label'] ) && $label_after ) {
734
+            $label_args = array(
735
+                'title'      => $args['label'],
736
+                'for'        => $args['id'],
737
+                'class'      => $args['label_class'] . " ",
738
+                'label_type' => $args['label_type'],
739
+                'label_col'  => $args['label_col']
740
+            );
741
+            $output .= self::label( $label_args );
742
+        }
743
+
744
+        // help text
745
+        if ( ! empty( $args['help_text'] ) ) {
746
+            $output .= AUI_Component_Helper::help_text( $args['help_text'] );
747
+        }
748
+
749
+        if ( ! $label_after ) {
750
+            $output = $label . $output;
751
+        }
752
+
753
+        // maybe horizontal label
754
+        if ( $args['label_type'] == 'horizontal' ) {
755
+            $output .= '</div>';
756
+        }
757
+
758
+
759
+        // wrap
760
+        if ( ! $args['no_wrap'] ) {
761
+            if ( ! empty( $args['form_group_class'] ) ) {
762
+                $fg_class = esc_attr( $args['form_group_class'] );
763
+            }else{
764
+                $fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
765
+            }
766
+            $form_group_class = $args['label_type'] == 'floating' ? 'form-label-group' : $fg_class;
767
+            $wrap_class       = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
768
+            $wrap_class       = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
769
+            $output           = self::wrap( array(
770
+                'content'         => $output,
771
+                'class'           => $wrap_class,
772
+                'element_require' => $args['element_require'],
773
+                'argument_id'     => $args['id'],
774
+                'wrap_attributes' => $args['wrap_attributes'],
775
+            ) );
776
+        }
777
+
778
+
779
+        return $output;
780
+    }
781
+
782
+    /**
783
+     * Build the component.
784
+     *
785
+     * @param array $args
786
+     *
787
+     * @return string The rendered component.
788
+     */
789
+    public static function select( $args = array() ) {
790
+        global $aui_bs5, $aui_has_select2, $aui_select2_enqueued;
791
+
792
+        $defaults = array(
793
+            'class'            => '',
794
+            'wrap_class'       => '',
795
+            'id'               => '',
796
+            'title'            => '',
797
+            'value'            => '',
798
+            // can be an array or a string
799
+            'required'         => false,
800
+            'label'            => '',
801
+            'label_after'      => false,
802
+            'label_type'       => '',
803
+            'label_col'        => '',
804
+            // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
805
+            'label_class'      => '',
806
+            'help_text'        => '',
807
+            'placeholder'      => '',
808
+            'options'          => array(),
809
+            // array or string
810
+            'icon'             => '',
811
+            'multiple'         => false,
812
+            'select2'          => false,
813
+            'no_wrap'          => false,
814
+            'input_group_right' => '',
815
+            'input_group_left' => '',
816
+            'input_group_right_inside' => false, // forces the input group inside the input
817
+            'input_group_left_inside' => false, // forces the input group inside the input
818
+            'form_group_class'  => '',
819
+            'element_require'  => '',
820
+            // [%element_id%] == "1"
821
+            'extra_attributes' => array(),
822
+            // an array of extra attributes
823
+            'wrap_attributes'  => array(),
824
+        );
825
+
826
+        /**
827
+         * Parse incoming $args into an array and merge it with $defaults
828
+         */
829
+        $args   = wp_parse_args( $args, $defaults );
830
+        $output = '';
831
+
832
+        // for now lets hide floating labels
833
+        if ( $args['label_type'] == 'floating' ) {
834
+            $args['label_type'] = 'hidden';
835
+        }
836
+
837
+        // hidden label option needs to be empty
838
+        $args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
839
+
840
+
841
+        $label_after = $args['label_after'];
842
+
843
+        // floating labels need label after
844
+        if ( $args['label_type'] == 'floating' ) {
845
+            $label_after         = true;
846
+            $args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
847
+        }
848
+
849
+        // Maybe setup select2
850
+        $is_select2 = false;
851
+        if ( ! empty( $args['select2'] ) ) {
852
+            $args['class'] .= ' aui-select2';
853
+            $is_select2 = true;
854
+        } elseif ( strpos( $args['class'], 'aui-select2' ) !== false ) {
855
+            $is_select2 = true;
856
+        }
857
+
858
+        if ( $is_select2 && ! $aui_has_select2 ) {
859
+            $aui_has_select2 = true;
860
+            $conditional_select2 = apply_filters( 'aui_is_conditional_select2', true );
861
+
862
+            // Enqueue the script,
863
+            if ( empty( $aui_select2_enqueued ) && $conditional_select2 === true ) {
864
+                $aui_select2_enqueued = true;
865
+
866
+                $aui_settings = AyeCode_UI_Settings::instance();
867
+                $aui_settings->enqueue_select2();
868
+            }
869
+        }
870
+
871
+        // select2 tags
872
+        if ( ! empty( $args['select2'] ) && $args['select2'] === 'tags' ) { // triple equals needed here for some reason
873
+            $args['data-tags']             = 'true';
874
+            $args['data-token-separators'] = "[',']";
875
+            $args['multiple']              = true;
876
+        }
877
+
878
+        // select2 placeholder
879
+        if ( $is_select2 && isset( $args['placeholder'] ) && '' != $args['placeholder'] && empty( $args['data-placeholder'] ) ) {
880
+            $args['data-placeholder'] = esc_attr( $args['placeholder'] );
881
+            $args['data-allow-clear'] = isset( $args['data-allow-clear'] ) ? (bool) $args['data-allow-clear'] : true;
882
+        }
883
+
884
+        // Set hidden input to save empty value for multiselect.
885
+        if ( ! empty( $args['multiple'] ) && ! empty( $args['name'] ) ) {
886
+            $output .= '<input type="hidden" ' . AUI_Component_Helper::name( $args['name'] ) . ' value="" data-ignore-rule/>';
887
+        }
888
+
889
+        // open/type
890
+        $output .= '<select ';
891
+
892
+        // style
893
+        if ( $is_select2 && !($args['input_group_left'] || $args['input_group_right'])) {
894
+            $output .= " style='width:100%;' ";
895
+        }
896
+
897
+        // element require
898
+        if ( ! empty( $args['element_require'] ) ) {
899
+            $output .= AUI_Component_Helper::element_require( $args['element_require'] );
900
+            $args['class'] .= " aui-conditional-field";
901
+        }
902
+
903
+        // class
904
+        $class = ! empty( $args['class'] ) ? $args['class'] : '';
905
+        $select_class = $aui_bs5 ? 'form-select ' : 'custom-select ';
906
+        $output .= AUI_Component_Helper::class_attr( $select_class . $class );
907
+
908
+        // name
909
+        if ( ! empty( $args['name'] ) ) {
910
+            $output .= AUI_Component_Helper::name( $args['name'], $args['multiple'] );
911
+        }
912
+
913
+        // id
914
+        if ( ! empty( $args['id'] ) ) {
915
+            $output .= AUI_Component_Helper::id( $args['id'] );
916
+        }
917
+
918
+        // title
919
+        if ( ! empty( $args['title'] ) ) {
920
+            $output .= AUI_Component_Helper::title( $args['title'] );
921
+        }
922
+
923
+        // data-attributes
924
+        $output .= AUI_Component_Helper::data_attributes( $args );
925
+
926
+        // aria-attributes
927
+        $output .= AUI_Component_Helper::aria_attributes( $args );
928
+
929
+        // extra attributes
930
+        if ( ! empty( $args['extra_attributes'] ) ) {
931
+            $output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
932
+        }
933
+
934
+        // required
935
+        if ( ! empty( $args['required'] ) ) {
936
+            $output .= ' required ';
937
+        }
938
+
939
+        // multiple
940
+        if ( ! empty( $args['multiple'] ) ) {
941
+            $output .= ' multiple ';
942
+        }
943
+
944
+        // close opening tag
945
+        $output .= ' >';
946
+
947
+        // placeholder
948
+        if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] && ! $is_select2 ) {
949
+            $output .= '<option value="" disabled selected hidden>' . esc_attr( $args['placeholder'] ) . '</option>';
950
+        } elseif ( $is_select2 && ! empty( $args['placeholder'] ) ) {
951
+            $output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
952
+        }
953
+
954
+        // Options
955
+        if ( ! empty( $args['options'] ) ) {
956
+
957
+            if ( ! is_array( $args['options'] ) ) {
958
+                $output .= $args['options']; // not the preferred way but an option
959
+            } else {
960
+                foreach ( $args['options'] as $val => $name ) {
961
+                    $selected = '';
962
+                    if ( is_array( $name ) ) {
963
+                        if ( isset( $name['optgroup'] ) && ( $name['optgroup'] == 'start' || $name['optgroup'] == 'end' ) ) {
964
+                            $option_label = isset( $name['label'] ) ? $name['label'] : '';
965
+
966
+                            $output .= $name['optgroup'] == 'start' ? '<optgroup label="' . esc_attr( $option_label ) . '">' : '</optgroup>';
967
+                        } else {
968
+                            $option_label = isset( $name['label'] ) ? $name['label'] : '';
969
+                            $option_value = isset( $name['value'] ) ? $name['value'] : '';
970
+                            $extra_attributes = !empty($name['extra_attributes']) ? AUI_Component_Helper::extra_attributes( $name['extra_attributes'] ) : '';
971
+                            if ( ! empty( $args['multiple'] ) && ! empty( $args['value'] ) && is_array( $args['value'] ) ) {
972
+                                $selected = in_array( $option_value, stripslashes_deep( $args['value'] ) ) ? "selected" : "";
973
+                            } elseif ( ! empty( $args['value'] ) ) {
974
+                                $selected = selected( $option_value, stripslashes_deep( $args['value'] ), false );
975
+                            } elseif ( empty( $args['value'] ) && $args['value'] === $option_value ) {
976
+                                $selected = selected( $option_value, $args['value'], false );
977
+                            }
978
+
979
+                            $output .= '<option value="' . esc_attr( $option_value ) . '" ' . $selected . ' '.$extra_attributes .'>' . $option_label . '</option>';
980
+                        }
981
+                    } else {
982
+                        if ( ! empty( $args['value'] ) ) {
983
+                            if ( is_array( $args['value'] ) ) {
984
+                                $selected = in_array( $val, $args['value'] ) ? 'selected="selected"' : '';
985
+                            } elseif ( ! empty( $args['value'] ) ) {
986
+                                $selected = selected( $args['value'], $val, false );
987
+                            }
988
+                        } elseif ( $args['value'] === $val ) {
989
+                            $selected = selected( $args['value'], $val, false );
990
+                        }
991
+                        $output .= '<option value="' . esc_attr( $val ) . '" ' . $selected . '>' . esc_attr( $name ) . '</option>';
992
+                    }
993
+                }
994
+            }
995
+
996
+        }
997
+
998
+        // closing tag
999
+        $output .= '</select>';
1000
+
1001
+        $label = '';
1002
+        $help_text = '';
1003
+        // label
1004
+        if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
1005
+        } elseif ( ! empty( $args['label'] ) && ! $label_after ) {
1006
+            $label_args = array(
1007
+                'title'      => $args['label'],
1008
+                'for'        => $args['id'],
1009
+                'class'      => $args['label_class'] . " ",
1010
+                'label_type' => $args['label_type'],
1011
+                'label_col'  => $args['label_col']
1012
+            );
1013
+            $label = self::label( $label_args );
1014
+        }
1015
+
1016
+        // help text
1017
+        if ( ! empty( $args['help_text'] ) ) {
1018
+            $help_text = AUI_Component_Helper::help_text( $args['help_text'] );
1019
+        }
1020
+
1021
+        // input group wraps
1022
+        if ( $args['input_group_left'] || $args['input_group_right'] ) {
1023
+            $w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
1024
+            if ( $args['input_group_left'] ) {
1025
+                $output = self::wrap( array(
1026
+                    'content'                 => $output,
1027
+                    'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
1028
+                    'input_group_left'        => $args['input_group_left'],
1029
+                    'input_group_left_inside' => $args['input_group_left_inside']
1030
+                ) );
1031
+            }
1032
+            if ( $args['input_group_right'] ) {
1033
+                $output = self::wrap( array(
1034
+                    'content'                  => $output,
1035
+                    'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
1036
+                    'input_group_right'        => $args['input_group_right'],
1037
+                    'input_group_right_inside' => $args['input_group_right_inside']
1038
+                ) );
1039
+            }
1040
+
1041
+        }
1042
+
1043
+        if ( ! $label_after ) {
1044
+            $output .= $help_text;
1045
+        }
1046
+
1047
+
1048
+        if ( $args['label_type'] == 'horizontal' ) {
1049
+            $output = self::wrap( array(
1050
+                'content' => $output,
1051
+                'class'   => AUI_Component_Helper::get_column_class( $args['label_col'], 'input' )
1052
+            ) );
1053
+        }
1054
+
1055
+        if ( ! $label_after ) {
1056
+            $output = $label . $output;
1057
+        }
1058
+
1059
+        // maybe horizontal label
1060 1060
 //		if ( $args['label_type'] == 'horizontal' ) {
1061 1061
 //			$output .= '</div>';
1062 1062
 //		}
1063 1063
 
1064 1064
 
1065
-		// wrap
1066
-		if ( ! $args['no_wrap'] ) {
1067
-			if ( ! empty( $args['form_group_class'] ) ) {
1068
-				$fg_class = esc_attr( $args['form_group_class'] );
1069
-			}else{
1070
-				$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1071
-			}
1072
-			$wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
1073
-			$wrap_class = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1074
-			$output     = self::wrap( array(
1075
-				'content'         => $output,
1076
-				'class'           => $wrap_class,
1077
-				'element_require' => $args['element_require'],
1078
-				'argument_id'     => $args['id'],
1079
-				'wrap_attributes' => $args['wrap_attributes'],
1080
-			) );
1081
-		}
1082
-
1083
-
1084
-		return $output;
1085
-	}
1086
-
1087
-	/**
1088
-	 * Build the component.
1089
-	 *
1090
-	 * @param array $args
1091
-	 *
1092
-	 * @return string The rendered component.
1093
-	 */
1094
-	public static function radio( $args = array() ) {
1095
-		global $aui_bs5;
1096
-
1097
-		$defaults = array(
1098
-			'class'            => '',
1099
-			'wrap_class'       => '',
1100
-			'id'               => '',
1101
-			'title'            => '',
1102
-			'horizontal'       => false,
1103
-			// sets the lable horizontal
1104
-			'value'            => '',
1105
-			'label'            => '',
1106
-			'label_class'      => '',
1107
-			'label_type'       => '',
1108
-			'label_col'        => '',
1109
-			// sets the label type, default: hidden. Options: hidden, top, horizontal, floating
1110
-			'help_text'        => '',
1111
-			'inline'           => true,
1112
-			'required'         => false,
1113
-			'options'          => array(),
1114
-			'icon'             => '',
1115
-			'no_wrap'          => false,
1116
-			'element_require'  => '',
1117
-			// [%element_id%] == "1"
1118
-			'extra_attributes' => array(),
1119
-			// an array of extra attributes
1120
-			'wrap_attributes'  => array()
1121
-		);
1122
-
1123
-		/**
1124
-		 * Parse incoming $args into an array and merge it with $defaults
1125
-		 */
1126
-		$args = wp_parse_args( $args, $defaults );
1127
-
1128
-		// for now lets use horizontal for floating
1129
-		if ( $args['label_type'] == 'floating' ) {
1130
-			$args['label_type'] = 'horizontal';
1131
-		}
1132
-
1133
-		$label_args = array(
1134
-			'title'      => $args['label'],
1135
-			'class'      => $args['label_class'] . " pt-0 ",
1136
-			'label_type' => $args['label_type'],
1137
-			'label_col'  => $args['label_col']
1138
-		);
1139
-
1140
-		if ( $args['label_type'] == 'top' || $args['label_type'] == 'hidden' ) {
1141
-			$label_args['class'] .= 'd-block ';
1142
-
1143
-			if ( $args['label_type'] == 'hidden' ) {
1144
-				$label_args['class'] .= 'sr-only ';
1145
-			}
1146
-		}
1147
-
1148
-		$output = '';
1149
-
1150
-		// label before
1151
-		if ( ! empty( $args['label'] ) ) {
1152
-			$output .= self::label( $label_args, 'radio' );
1153
-		}
1154
-
1155
-		// maybe horizontal label
1156
-		if ( $args['label_type'] == 'horizontal' ) {
1157
-			$input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
1158
-			$output .= '<div class="' . $input_col . '">';
1159
-		}
1160
-
1161
-		if ( ! empty( $args['options'] ) ) {
1162
-			$count = 0;
1163
-			foreach ( $args['options'] as $value => $label ) {
1164
-				$option_args            = $args;
1165
-				$option_args['value']   = $value;
1166
-				$option_args['label']   = $label;
1167
-				$option_args['checked'] = $value == $args['value'] ? true : false;
1168
-				$output .= self::radio_option( $option_args, $count );
1169
-				$count ++;
1170
-			}
1171
-		}
1172
-
1173
-		// help text
1174
-		$help_text = ! empty( $args['help_text'] ) ? AUI_Component_Helper::help_text( $args['help_text'] ) : '';
1175
-		$output .= $help_text;
1176
-
1177
-		// maybe horizontal label
1178
-		if ( $args['label_type'] == 'horizontal' ) {
1179
-			$output .= '</div>';
1180
-		}
1181
-
1182
-		// wrap
1183
-		$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1184
-		$wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
1185
-		$wrap_class = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1186
-		$output     = self::wrap( array(
1187
-			'content'         => $output,
1188
-			'class'           => $wrap_class,
1189
-			'element_require' => $args['element_require'],
1190
-			'argument_id'     => $args['id'],
1191
-			'wrap_attributes' => $args['wrap_attributes'],
1192
-		) );
1193
-
1194
-
1195
-		return $output;
1196
-	}
1197
-
1198
-	/**
1199
-	 * Build the component.
1200
-	 *
1201
-	 * @param array $args
1202
-	 *
1203
-	 * @return string The rendered component.
1204
-	 */
1205
-	public static function radio_option( $args = array(), $count = '' ) {
1206
-		$defaults = array(
1207
-			'class'            => '',
1208
-			'id'               => '',
1209
-			'title'            => '',
1210
-			'value'            => '',
1211
-			'required'         => false,
1212
-			'inline'           => true,
1213
-			'label'            => '',
1214
-			'options'          => array(),
1215
-			'icon'             => '',
1216
-			'no_wrap'          => false,
1217
-			'extra_attributes' => array() // an array of extra attributes
1218
-		);
1219
-
1220
-		/**
1221
-		 * Parse incoming $args into an array and merge it with $defaults
1222
-		 */
1223
-		$args = wp_parse_args( $args, $defaults );
1224
-
1225
-		$output = '';
1226
-
1227
-		// open/type
1228
-		$output .= '<input type="radio"';
1229
-
1230
-		// class
1231
-		$output .= ' class="form-check-input" ';
1232
-
1233
-		// name
1234
-		if ( ! empty( $args['name'] ) ) {
1235
-			$output .= AUI_Component_Helper::name( $args['name'] );
1236
-		}
1237
-
1238
-		// id
1239
-		if ( ! empty( $args['id'] ) ) {
1240
-			$output .= AUI_Component_Helper::id( $args['id'] . $count );
1241
-		}
1242
-
1243
-		// title
1244
-		if ( ! empty( $args['title'] ) ) {
1245
-			$output .= AUI_Component_Helper::title( $args['title'] );
1246
-		}
1247
-
1248
-		// value
1249
-		if ( isset( $args['value'] ) ) {
1250
-			$output .= AUI_Component_Helper::value( $args['value'] );
1251
-		}
1252
-
1253
-		// checked, for radio and checkboxes
1254
-		if ( $args['checked'] ) {
1255
-			$output .= ' checked ';
1256
-		}
1257
-
1258
-		// data-attributes
1259
-		$output .= AUI_Component_Helper::data_attributes( $args );
1260
-
1261
-		// aria-attributes
1262
-		$output .= AUI_Component_Helper::aria_attributes( $args );
1263
-
1264
-		// extra attributes
1265
-		if ( ! empty( $args['extra_attributes'] ) ) {
1266
-			$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
1267
-		}
1268
-
1269
-		// required
1270
-		if ( ! empty( $args['required'] ) ) {
1271
-			$output .= ' required ';
1272
-		}
1273
-
1274
-		// close opening tag
1275
-		$output .= ' >';
1276
-
1277
-		// label
1278
-		if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
1279
-		} elseif ( ! empty( $args['label'] ) ) {
1280
-			$output .= self::label( array(
1281
-				'title' => $args['label'],
1282
-				'for'   => $args['id'] . $count,
1283
-				'class' => 'form-check-label'
1284
-			), 'radio' );
1285
-		}
1286
-
1287
-		// wrap
1288
-		if ( ! $args['no_wrap'] ) {
1289
-			$wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1290
-
1291
-			// Unique wrap class
1292
-			$uniq_class = 'fwrap';
1293
-			if ( ! empty( $args['name'] ) ) {
1294
-				$uniq_class .= '-' . $args['name'];
1295
-			} else if ( ! empty( $args['id'] ) ) {
1296
-				$uniq_class .= '-' . $args['id'];
1297
-			}
1298
-
1299
-			if ( isset( $args['value'] ) || $args['value'] !== "" ) {
1300
-				$uniq_class .= '-' . $args['value'];
1301
-			} else {
1302
-				$uniq_class .= '-' . $count;
1303
-			}
1304
-			$wrap_class .= ' ' . sanitize_html_class( $uniq_class );
1305
-
1306
-			$output = self::wrap( array(
1307
-				'content' => $output,
1308
-				'class'   => $wrap_class
1309
-			) );
1310
-		}
1311
-
1312
-		return $output;
1313
-	}
1065
+        // wrap
1066
+        if ( ! $args['no_wrap'] ) {
1067
+            if ( ! empty( $args['form_group_class'] ) ) {
1068
+                $fg_class = esc_attr( $args['form_group_class'] );
1069
+            }else{
1070
+                $fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1071
+            }
1072
+            $wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
1073
+            $wrap_class = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1074
+            $output     = self::wrap( array(
1075
+                'content'         => $output,
1076
+                'class'           => $wrap_class,
1077
+                'element_require' => $args['element_require'],
1078
+                'argument_id'     => $args['id'],
1079
+                'wrap_attributes' => $args['wrap_attributes'],
1080
+            ) );
1081
+        }
1082
+
1083
+
1084
+        return $output;
1085
+    }
1086
+
1087
+    /**
1088
+     * Build the component.
1089
+     *
1090
+     * @param array $args
1091
+     *
1092
+     * @return string The rendered component.
1093
+     */
1094
+    public static function radio( $args = array() ) {
1095
+        global $aui_bs5;
1096
+
1097
+        $defaults = array(
1098
+            'class'            => '',
1099
+            'wrap_class'       => '',
1100
+            'id'               => '',
1101
+            'title'            => '',
1102
+            'horizontal'       => false,
1103
+            // sets the lable horizontal
1104
+            'value'            => '',
1105
+            'label'            => '',
1106
+            'label_class'      => '',
1107
+            'label_type'       => '',
1108
+            'label_col'        => '',
1109
+            // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
1110
+            'help_text'        => '',
1111
+            'inline'           => true,
1112
+            'required'         => false,
1113
+            'options'          => array(),
1114
+            'icon'             => '',
1115
+            'no_wrap'          => false,
1116
+            'element_require'  => '',
1117
+            // [%element_id%] == "1"
1118
+            'extra_attributes' => array(),
1119
+            // an array of extra attributes
1120
+            'wrap_attributes'  => array()
1121
+        );
1122
+
1123
+        /**
1124
+         * Parse incoming $args into an array and merge it with $defaults
1125
+         */
1126
+        $args = wp_parse_args( $args, $defaults );
1127
+
1128
+        // for now lets use horizontal for floating
1129
+        if ( $args['label_type'] == 'floating' ) {
1130
+            $args['label_type'] = 'horizontal';
1131
+        }
1132
+
1133
+        $label_args = array(
1134
+            'title'      => $args['label'],
1135
+            'class'      => $args['label_class'] . " pt-0 ",
1136
+            'label_type' => $args['label_type'],
1137
+            'label_col'  => $args['label_col']
1138
+        );
1139
+
1140
+        if ( $args['label_type'] == 'top' || $args['label_type'] == 'hidden' ) {
1141
+            $label_args['class'] .= 'd-block ';
1142
+
1143
+            if ( $args['label_type'] == 'hidden' ) {
1144
+                $label_args['class'] .= 'sr-only ';
1145
+            }
1146
+        }
1147
+
1148
+        $output = '';
1149
+
1150
+        // label before
1151
+        if ( ! empty( $args['label'] ) ) {
1152
+            $output .= self::label( $label_args, 'radio' );
1153
+        }
1154
+
1155
+        // maybe horizontal label
1156
+        if ( $args['label_type'] == 'horizontal' ) {
1157
+            $input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
1158
+            $output .= '<div class="' . $input_col . '">';
1159
+        }
1160
+
1161
+        if ( ! empty( $args['options'] ) ) {
1162
+            $count = 0;
1163
+            foreach ( $args['options'] as $value => $label ) {
1164
+                $option_args            = $args;
1165
+                $option_args['value']   = $value;
1166
+                $option_args['label']   = $label;
1167
+                $option_args['checked'] = $value == $args['value'] ? true : false;
1168
+                $output .= self::radio_option( $option_args, $count );
1169
+                $count ++;
1170
+            }
1171
+        }
1172
+
1173
+        // help text
1174
+        $help_text = ! empty( $args['help_text'] ) ? AUI_Component_Helper::help_text( $args['help_text'] ) : '';
1175
+        $output .= $help_text;
1176
+
1177
+        // maybe horizontal label
1178
+        if ( $args['label_type'] == 'horizontal' ) {
1179
+            $output .= '</div>';
1180
+        }
1181
+
1182
+        // wrap
1183
+        $fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1184
+        $wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
1185
+        $wrap_class = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1186
+        $output     = self::wrap( array(
1187
+            'content'         => $output,
1188
+            'class'           => $wrap_class,
1189
+            'element_require' => $args['element_require'],
1190
+            'argument_id'     => $args['id'],
1191
+            'wrap_attributes' => $args['wrap_attributes'],
1192
+        ) );
1193
+
1194
+
1195
+        return $output;
1196
+    }
1197
+
1198
+    /**
1199
+     * Build the component.
1200
+     *
1201
+     * @param array $args
1202
+     *
1203
+     * @return string The rendered component.
1204
+     */
1205
+    public static function radio_option( $args = array(), $count = '' ) {
1206
+        $defaults = array(
1207
+            'class'            => '',
1208
+            'id'               => '',
1209
+            'title'            => '',
1210
+            'value'            => '',
1211
+            'required'         => false,
1212
+            'inline'           => true,
1213
+            'label'            => '',
1214
+            'options'          => array(),
1215
+            'icon'             => '',
1216
+            'no_wrap'          => false,
1217
+            'extra_attributes' => array() // an array of extra attributes
1218
+        );
1219
+
1220
+        /**
1221
+         * Parse incoming $args into an array and merge it with $defaults
1222
+         */
1223
+        $args = wp_parse_args( $args, $defaults );
1224
+
1225
+        $output = '';
1226
+
1227
+        // open/type
1228
+        $output .= '<input type="radio"';
1229
+
1230
+        // class
1231
+        $output .= ' class="form-check-input" ';
1232
+
1233
+        // name
1234
+        if ( ! empty( $args['name'] ) ) {
1235
+            $output .= AUI_Component_Helper::name( $args['name'] );
1236
+        }
1237
+
1238
+        // id
1239
+        if ( ! empty( $args['id'] ) ) {
1240
+            $output .= AUI_Component_Helper::id( $args['id'] . $count );
1241
+        }
1242
+
1243
+        // title
1244
+        if ( ! empty( $args['title'] ) ) {
1245
+            $output .= AUI_Component_Helper::title( $args['title'] );
1246
+        }
1247
+
1248
+        // value
1249
+        if ( isset( $args['value'] ) ) {
1250
+            $output .= AUI_Component_Helper::value( $args['value'] );
1251
+        }
1252
+
1253
+        // checked, for radio and checkboxes
1254
+        if ( $args['checked'] ) {
1255
+            $output .= ' checked ';
1256
+        }
1257
+
1258
+        // data-attributes
1259
+        $output .= AUI_Component_Helper::data_attributes( $args );
1260
+
1261
+        // aria-attributes
1262
+        $output .= AUI_Component_Helper::aria_attributes( $args );
1263
+
1264
+        // extra attributes
1265
+        if ( ! empty( $args['extra_attributes'] ) ) {
1266
+            $output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
1267
+        }
1268
+
1269
+        // required
1270
+        if ( ! empty( $args['required'] ) ) {
1271
+            $output .= ' required ';
1272
+        }
1273
+
1274
+        // close opening tag
1275
+        $output .= ' >';
1276
+
1277
+        // label
1278
+        if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
1279
+        } elseif ( ! empty( $args['label'] ) ) {
1280
+            $output .= self::label( array(
1281
+                'title' => $args['label'],
1282
+                'for'   => $args['id'] . $count,
1283
+                'class' => 'form-check-label'
1284
+            ), 'radio' );
1285
+        }
1286
+
1287
+        // wrap
1288
+        if ( ! $args['no_wrap'] ) {
1289
+            $wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1290
+
1291
+            // Unique wrap class
1292
+            $uniq_class = 'fwrap';
1293
+            if ( ! empty( $args['name'] ) ) {
1294
+                $uniq_class .= '-' . $args['name'];
1295
+            } else if ( ! empty( $args['id'] ) ) {
1296
+                $uniq_class .= '-' . $args['id'];
1297
+            }
1298
+
1299
+            if ( isset( $args['value'] ) || $args['value'] !== "" ) {
1300
+                $uniq_class .= '-' . $args['value'];
1301
+            } else {
1302
+                $uniq_class .= '-' . $count;
1303
+            }
1304
+            $wrap_class .= ' ' . sanitize_html_class( $uniq_class );
1305
+
1306
+            $output = self::wrap( array(
1307
+                'content' => $output,
1308
+                'class'   => $wrap_class
1309
+            ) );
1310
+        }
1311
+
1312
+        return $output;
1313
+    }
1314 1314
 
1315 1315
 }
1316 1316
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +313 added lines, -313 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,7 +137,7 @@  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
-			} elseif ( $type == 'iconpicker' ) {
140
+			} elseif ($type == 'iconpicker') {
141 141
 				$type = 'text';
142 142
 				//$args['class'] .= ' aui-flatpickr bg-initial ';
143 143
 //				$args['class'] .= ' bg-initial ';
@@ -152,104 +152,104 @@  discard block
 block discarded – undo
152 152
 				$aui_settings->enqueue_iconpicker();
153 153
 			}
154 154
 
155
-			if ( $type == 'checkbox' && ( ( ! empty( $args['name'] ) && strpos( $args['name'], '[' ) === false ) || ! empty( $args['with_hidden'] ) ) ) {
156
-				$output .= '<input type="hidden" name="' . esc_attr( $args['name'] ) . '" value="0" />';
155
+			if ($type == 'checkbox' && ((!empty($args['name']) && strpos($args['name'], '[') === false) || !empty($args['with_hidden']))) {
156
+				$output .= '<input type="hidden" name="' . esc_attr($args['name']) . '" value="0" />';
157 157
 			}
158 158
 
159 159
 			// allow clear icon
160
-			if ( $args['input_group_right'] === '' && $args['clear_icon'] ) {
161
-				$font_size = $size == 'sm' ? '1.3' : ( $size == 'lg' ? '1.65' : '1.5' );
160
+			if ($args['input_group_right'] === '' && $args['clear_icon']) {
161
+				$font_size = $size == 'sm' ? '1.3' : ($size == 'lg' ? '1.65' : '1.5');
162 162
 				$args['input_group_right_inside'] = true;
163 163
 				$align_class = $aui_bs5 ? ' h-100 py-0' : '';
164
-				$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>';
164
+				$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 165
 			}
166 166
 
167 167
 			// open/type
168 168
 			$output .= '<input type="' . $type . '" ';
169 169
 
170 170
 			// name
171
-			if ( ! empty( $args['name'] ) ) {
172
-				$output .= ' name="' . esc_attr( $args['name'] ) . '" ';
171
+			if (!empty($args['name'])) {
172
+				$output .= ' name="' . esc_attr($args['name']) . '" ';
173 173
 			}
174 174
 
175 175
 			// id
176
-			if ( ! empty( $args['id'] ) ) {
177
-				$output .= ' id="' . sanitize_html_class( $args['id'] ) . '" ';
176
+			if (!empty($args['id'])) {
177
+				$output .= ' id="' . sanitize_html_class($args['id']) . '" ';
178 178
 			}
179 179
 
180 180
 			// placeholder
181
-			if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] ) {
182
-				$output .= ' placeholder="' . esc_attr( $args['placeholder'] ) . '" ';
181
+			if (isset($args['placeholder']) && '' != $args['placeholder']) {
182
+				$output .= ' placeholder="' . esc_attr($args['placeholder']) . '" ';
183 183
 			}
184 184
 
185 185
 			// title
186
-			if ( ! empty( $args['title'] ) ) {
187
-				$output .= ' title="' . esc_attr( $args['title'] ) . '" ';
186
+			if (!empty($args['title'])) {
187
+				$output .= ' title="' . esc_attr($args['title']) . '" ';
188 188
 			}
189 189
 
190 190
 			// value
191
-			if ( ! empty( $args['value'] ) ) {
192
-				$output .= AUI_Component_Helper::value( $args['value'] );
191
+			if (!empty($args['value'])) {
192
+				$output .= AUI_Component_Helper::value($args['value']);
193 193
 			}
194 194
 
195 195
 			// checked, for radio and checkboxes
196
-			if ( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ) {
196
+			if (($type == 'checkbox' || $type == 'radio') && $args['checked']) {
197 197
 				$output .= ' checked ';
198 198
 			}
199 199
 
200 200
 			// validation text
201
-			if ( ! empty( $args['validation_text'] ) ) {
202
-				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr( addslashes( $args['validation_text'] ) ) . '\')" ';
201
+			if (!empty($args['validation_text'])) {
202
+				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr(addslashes($args['validation_text'])) . '\')" ';
203 203
 				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
204 204
 			}
205 205
 
206 206
 			// validation_pattern
207
-			if ( ! empty( $args['validation_pattern'] ) ) {
208
-				$output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
207
+			if (!empty($args['validation_pattern'])) {
208
+				$output .= ' pattern="' . esc_attr($args['validation_pattern']) . '" ';
209 209
 			}
210 210
 
211 211
 			// step (for numbers)
212
-			if ( ! empty( $args['step'] ) ) {
212
+			if (!empty($args['step'])) {
213 213
 				$output .= ' step="' . $args['step'] . '" ';
214 214
 			}
215 215
 
216 216
 			// required
217
-			if ( ! empty( $args['required'] ) ) {
217
+			if (!empty($args['required'])) {
218 218
 				$output .= ' required ';
219 219
 			}
220 220
 
221 221
 			// class
222
-			$class = ! empty( $args['class'] ) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
223
-			$output .= $aui_bs5 &&  $type == 'checkbox' ? ' class="' . $class . '" ' : ' class="form-control ' . $class . '" ';
222
+			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes($args['class']) : '';
223
+			$output .= $aui_bs5 && $type == 'checkbox' ? ' class="' . $class . '" ' : ' class="form-control ' . $class . '" ';
224 224
 
225 225
 			// data-attributes
226
-			$output .= AUI_Component_Helper::data_attributes( $args );
226
+			$output .= AUI_Component_Helper::data_attributes($args);
227 227
 
228 228
 			// extra attributes
229
-			if ( ! empty( $args['extra_attributes'] ) ) {
230
-				$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
229
+			if (!empty($args['extra_attributes'])) {
230
+				$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
231 231
 			}
232 232
 
233 233
 			// close
234 234
 			$output .= ' >';
235 235
 
236 236
 			// help text
237
-			if ( ! empty( $args['help_text'] ) ) {
238
-				$help_text = AUI_Component_Helper::help_text( $args['help_text'] );
237
+			if (!empty($args['help_text'])) {
238
+				$help_text = AUI_Component_Helper::help_text($args['help_text']);
239 239
 			}
240 240
 
241 241
 			// label
242
-			if ( ! empty( $args['label'] ) ) {
242
+			if (!empty($args['label'])) {
243 243
 				$label_base_class = '';
244
-				if ( $type == 'file' ) {
244
+				if ($type == 'file') {
245 245
 					$label_base_class = ' custom-file-label';
246
-				} elseif ( $type == 'checkbox' ) {
247
-					if ( ! empty( $args['label_force_left'] ) ) {
248
-						$label_args['title'] = wp_kses_post( $args['help_text'] );
246
+				} elseif ($type == 'checkbox') {
247
+					if (!empty($args['label_force_left'])) {
248
+						$label_args['title'] = wp_kses_post($args['help_text']);
249 249
 						$help_text = '';
250 250
 						//$label_args['class'] .= ' d-inline ';
251 251
 						$args['wrap_class'] .= ' align-items-center ';
252
-					}else{
252
+					} else {
253 253
 
254 254
 					}
255 255
 
@@ -257,49 +257,49 @@  discard block
 block discarded – undo
257 257
 				}
258 258
 				$label_args['class'] .= $label_base_class;
259 259
 				$temp_label_args = $label_args;
260
-				if(! empty( $args['label_force_left'] )){$temp_label_args['class'] = $label_base_class." text-muted";}
261
-				$label = self::label( $temp_label_args, $type );
260
+				if (!empty($args['label_force_left'])) {$temp_label_args['class'] = $label_base_class . " text-muted"; }
261
+				$label = self::label($temp_label_args, $type);
262 262
 			}
263 263
 
264 264
 
265 265
 
266 266
 
267 267
 			// set help text in the correct position
268
-			if ( $label_after ) {
268
+			if ($label_after) {
269 269
 				$output .= $label . $help_text;
270 270
 			}
271 271
 
272 272
 			// some input types need a separate wrap
273
-			if ( $type == 'file' ) {
274
-				$output = self::wrap( array(
273
+			if ($type == 'file') {
274
+				$output = self::wrap(array(
275 275
 					'content' => $output,
276 276
 					'class'   => $aui_bs5 ? 'mb-3 custom-file' : 'form-group custom-file'
277
-				) );
278
-			} elseif ( $type == 'checkbox' ) {
277
+				));
278
+			} elseif ($type == 'checkbox') {
279 279
 
280 280
 				$label_args['title'] = $args['label'];
281
-				$label_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'label' );
282
-				$label = !empty( $args['label_force_left'] ) ? self::label( $label_args, 'cb' ) : '<div class="' . $label_col . ' col-form-label"></div>';
283
-				$switch_size_class = $args['switch'] && !is_bool( $args['switch'] ) ? ' custom-switch-'.esc_attr( $args['switch'] ) : '';
284
-				if ( $aui_bs5 ) {
281
+				$label_col = AUI_Component_Helper::get_column_class($args['label_col'], 'label');
282
+				$label = !empty($args['label_force_left']) ? self::label($label_args, 'cb') : '<div class="' . $label_col . ' col-form-label"></div>';
283
+				$switch_size_class = $args['switch'] && !is_bool($args['switch']) ? ' custom-switch-' . esc_attr($args['switch']) : '';
284
+				if ($aui_bs5) {
285 285
 					$wrap_class = $args['switch'] ? 'form-check form-switch' . $switch_size_class : 'form-check';
286
-				}else{
287
-					$wrap_class = $args['switch'] ? 'custom-switch' . $switch_size_class :  'custom-checkbox' ;
286
+				} else {
287
+					$wrap_class = $args['switch'] ? 'custom-switch' . $switch_size_class : 'custom-checkbox';
288 288
 				}
289
-				if ( ! empty( $args['label_force_left'] ) ) {
289
+				if (!empty($args['label_force_left'])) {
290 290
 					$wrap_class .= $aui_bs5 ? '' : ' d-flex align-content-center';
291
-					$label = str_replace(array("form-check-label","custom-control-label"),"", self::label( $label_args, 'cb' ) );
291
+					$label = str_replace(array("form-check-label", "custom-control-label"), "", self::label($label_args, 'cb'));
292 292
 				}
293
-				$output     = self::wrap( array(
293
+				$output = self::wrap(array(
294 294
 					'content' => $output,
295 295
 					'class'   => $aui_bs5 ? $wrap_class : 'custom-control ' . $wrap_class
296
-				) );
296
+				));
297 297
 
298
-				if ( $args['label_type'] == 'horizontal' ) {
299
-					$input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
298
+				if ($args['label_type'] == 'horizontal') {
299
+					$input_col = AUI_Component_Helper::get_column_class($args['label_col'], 'input');
300 300
 					$output    = $label . '<div class="' . $input_col . '">' . $output . '</div>';
301 301
 				}
302
-			} elseif ( $type == 'password' && $args['password_toggle'] && ! $args['input_group_right'] ) {
302
+			} elseif ($type == 'password' && $args['password_toggle'] && !$args['input_group_right']) {
303 303
 
304 304
 
305 305
 				// allow password field to toggle view
@@ -313,70 +313,70 @@  discard block
 block discarded – undo
313 313
 			}
314 314
 
315 315
 			// input group wraps
316
-			if ( $args['input_group_left'] || $args['input_group_right'] ) {
317
-				$w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
316
+			if ($args['input_group_left'] || $args['input_group_right']) {
317
+				$w100 = strpos($args['class'], 'w-100') !== false ? ' w-100' : '';
318 318
 				$group_size = $size == 'lg' ? ' input-group-lg' : '';
319 319
 				$group_size = !$group_size && $size == 'sm' ? ' input-group-sm' : $group_size;
320 320
 
321
-				if ( $args['input_group_left'] ) {
322
-					$output = self::wrap( array(
321
+				if ($args['input_group_left']) {
322
+					$output = self::wrap(array(
323 323
 						'content'                 => $output,
324 324
 						'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 . $group_size : 'input-group' . $group_size,
325 325
 						'input_group_left'        => $args['input_group_left'],
326 326
 						'input_group_left_inside' => $args['input_group_left_inside']
327
-					) );
327
+					));
328 328
 				}
329
-				if ( $args['input_group_right'] ) {
330
-					$output = self::wrap( array(
329
+				if ($args['input_group_right']) {
330
+					$output = self::wrap(array(
331 331
 						'content'                  => $output,
332 332
 						'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 . $group_size : 'input-group' . $group_size,
333 333
 						'input_group_right'        => $args['input_group_right'],
334 334
 						'input_group_right_inside' => $args['input_group_right_inside']
335
-					) );
335
+					));
336 336
 				}
337 337
 
338 338
 			}
339 339
 
340
-			if ( ! $label_after ) {
340
+			if (!$label_after) {
341 341
 				$output .= $help_text;
342 342
 			}
343 343
 
344 344
 
345
-			if ( $args['label_type'] == 'horizontal' && $type != 'checkbox' ) {
346
-				$output = self::wrap( array(
345
+			if ($args['label_type'] == 'horizontal' && $type != 'checkbox') {
346
+				$output = self::wrap(array(
347 347
 					'content' => $output,
348
-					'class'   => AUI_Component_Helper::get_column_class( $args['label_col'], 'input' )
349
-				) );
348
+					'class'   => AUI_Component_Helper::get_column_class($args['label_col'], 'input')
349
+				));
350 350
 			}
351 351
 
352
-			if ( ! $label_after ) {
352
+			if (!$label_after) {
353 353
 				$output = $label . $output;
354 354
 			}
355 355
 
356 356
 			// wrap
357
-			if ( ! $args['no_wrap'] ) {
358
-				if ( ! empty( $args['form_group_class'] ) ) {
359
-					$fg_class = esc_attr( $args['form_group_class'] );
360
-				}else{
357
+			if (!$args['no_wrap']) {
358
+				if (!empty($args['form_group_class'])) {
359
+					$fg_class = esc_attr($args['form_group_class']);
360
+				} else {
361 361
 					$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
362 362
 				}
363 363
 				$form_group_class = $args['label_type'] == 'floating' && $type != 'checkbox' ? 'form-label-group' : $fg_class;
364 364
 				$wrap_class       = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
365
-				$wrap_class       = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
366
-				$output           = self::wrap( array(
365
+				$wrap_class       = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
366
+				$output           = self::wrap(array(
367 367
 					'content'         => $output,
368 368
 					'class'           => $wrap_class,
369 369
 					'element_require' => $args['element_require'],
370 370
 					'argument_id'     => $args['id'],
371 371
 					'wrap_attributes' => $args['wrap_attributes'],
372
-				) );
372
+				));
373 373
 			}
374 374
 		}
375 375
 
376 376
 		return $output;
377 377
 	}
378 378
 
379
-	public static function label( $args = array(), $type = '' ) {
379
+	public static function label($args = array(), $type = '') {
380 380
 		global $aui_bs5;
381 381
 		//<label for="exampleInputEmail1">Email address</label>
382 382
 		$defaults = array(
@@ -390,35 +390,35 @@  discard block
 block discarded – undo
390 390
 		/**
391 391
 		 * Parse incoming $args into an array and merge it with $defaults
392 392
 		 */
393
-		$args   = wp_parse_args( $args, $defaults );
393
+		$args   = wp_parse_args($args, $defaults);
394 394
 		$output = '';
395 395
 
396
-		if ( $args['title'] ) {
396
+		if ($args['title']) {
397 397
 
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 402
 				$class = 'sr-only ' . $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 ){ $class .= ' form-label'; }
410
+			if ($aui_bs5) { $class .= ' form-label'; }
411 411
 
412 412
 			// open
413 413
 			$output .= '<label ';
414 414
 
415 415
 			// for
416
-			if ( ! empty( $args['for'] ) ) {
417
-				$output .= ' for="' . esc_attr( $args['for'] ) . '" ';
416
+			if (!empty($args['for'])) {
417
+				$output .= ' for="' . esc_attr($args['for']) . '" ';
418 418
 			}
419 419
 
420 420
 			// class
421
-			$class = $class ? AUI_Component_Helper::esc_classes( $class ) : '';
421
+			$class = $class ? AUI_Component_Helper::esc_classes($class) : '';
422 422
 			$output .= ' class="' . $class . '" ';
423 423
 
424 424
 			// close
@@ -426,8 +426,8 @@  discard block
 block discarded – undo
426 426
 
427 427
 
428 428
 			// title, don't escape fully as can contain html
429
-			if ( ! empty( $args['title'] ) ) {
430
-				$output .= wp_kses_post( $args['title'] );
429
+			if (!empty($args['title'])) {
430
+				$output .= wp_kses_post($args['title']);
431 431
 			}
432 432
 
433 433
 			// close wrap
@@ -447,7 +447,7 @@  discard block
 block discarded – undo
447 447
 	 *
448 448
 	 * @return string
449 449
 	 */
450
-	public static function wrap( $args = array() ) {
450
+	public static function wrap($args = array()) {
451 451
 		global $aui_bs5;
452 452
 		$defaults = array(
453 453
 			'type'                     => 'div',
@@ -465,31 +465,31 @@  discard block
 block discarded – undo
465 465
 		/**
466 466
 		 * Parse incoming $args into an array and merge it with $defaults
467 467
 		 */
468
-		$args   = wp_parse_args( $args, $defaults );
468
+		$args   = wp_parse_args($args, $defaults);
469 469
 		$output = '';
470
-		if ( $args['type'] ) {
470
+		if ($args['type']) {
471 471
 
472 472
 			// open
473
-			$output .= '<' . sanitize_html_class( $args['type'] );
473
+			$output .= '<' . sanitize_html_class($args['type']);
474 474
 
475 475
 			// element require
476
-			if ( ! empty( $args['element_require'] ) ) {
477
-				$output .= AUI_Component_Helper::element_require( $args['element_require'] );
476
+			if (!empty($args['element_require'])) {
477
+				$output .= AUI_Component_Helper::element_require($args['element_require']);
478 478
 				$args['class'] .= " aui-conditional-field";
479 479
 			}
480 480
 
481 481
 			// argument_id
482
-			if ( ! empty( $args['argument_id'] ) ) {
483
-				$output .= ' data-argument="' . esc_attr( $args['argument_id'] ) . '"';
482
+			if (!empty($args['argument_id'])) {
483
+				$output .= ' data-argument="' . esc_attr($args['argument_id']) . '"';
484 484
 			}
485 485
 
486 486
 			// class
487
-			$class = ! empty( $args['class'] ) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
487
+			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes($args['class']) : '';
488 488
 			$output .= ' class="' . $class . '" ';
489 489
 
490 490
 			// Attributes
491
-			if ( ! empty( $args['wrap_attributes'] ) ) {
492
-				$output .= AUI_Component_Helper::extra_attributes( $args['wrap_attributes'] );
491
+			if (!empty($args['wrap_attributes'])) {
492
+				$output .= AUI_Component_Helper::extra_attributes($args['wrap_attributes']);
493 493
 			}
494 494
 
495 495
 			// close wrap
@@ -497,9 +497,9 @@  discard block
 block discarded – undo
497 497
 
498 498
 
499 499
 			// Input group left
500
-			if ( ! empty( $args['input_group_left'] ) ) {
501
-				$position_class   = ! empty( $args['input_group_left_inside'] ) ? 'position-absolute h-100' : '';
502
-				$input_group_left = strpos( $args['input_group_left'], '<' ) !== false ? $args['input_group_left'] : '<span class="input-group-text">' . $args['input_group_left'] . '</span>';
500
+			if (!empty($args['input_group_left'])) {
501
+				$position_class   = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
502
+				$input_group_left = strpos($args['input_group_left'], '<') !== false ? $args['input_group_left'] : '<span class="input-group-text">' . $args['input_group_left'] . '</span>';
503 503
 				$output .= $aui_bs5 ? $input_group_left : '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
504 504
 //				$output .= '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
505 505
 			}
@@ -508,16 +508,16 @@  discard block
 block discarded – undo
508 508
 			$output .= $args['content'];
509 509
 
510 510
 			// Input group right
511
-			if ( ! empty( $args['input_group_right'] ) ) {
512
-				$position_class    = ! empty( $args['input_group_right_inside'] ) ? 'position-absolute h-100' : '';
513
-				$input_group_right = strpos( $args['input_group_right'], '<' ) !== false ? $args['input_group_right'] : '<span class="input-group-text">' . $args['input_group_right'] . '</span>';
514
-				$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>';
511
+			if (!empty($args['input_group_right'])) {
512
+				$position_class    = !empty($args['input_group_right_inside']) ? 'position-absolute h-100' : '';
513
+				$input_group_right = strpos($args['input_group_right'], '<') !== false ? $args['input_group_right'] : '<span class="input-group-text">' . $args['input_group_right'] . '</span>';
514
+				$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>';
515 515
 //				$output .= '<div class="input-group-append ' . $position_class . '" style="top:0;right:0;">' . $input_group_right . '</div>';
516 516
 			}
517 517
 
518 518
 
519 519
 			// close wrap
520
-			$output .= '</' . sanitize_html_class( $args['type'] ) . '>';
520
+			$output .= '</' . sanitize_html_class($args['type']) . '>';
521 521
 
522 522
 
523 523
 		} else {
@@ -534,7 +534,7 @@  discard block
 block discarded – undo
534 534
 	 *
535 535
 	 * @return string The rendered component.
536 536
 	 */
537
-	public static function textarea( $args = array() ) {
537
+	public static function textarea($args = array()) {
538 538
 		global $aui_bs5;
539 539
 
540 540
 		$defaults = array(
@@ -574,7 +574,7 @@  discard block
 block discarded – undo
574 574
 		/**
575 575
 		 * Parse incoming $args into an array and merge it with $defaults
576 576
 		 */
577
-		$args   = wp_parse_args( $args, $defaults );
577
+		$args   = wp_parse_args($args, $defaults);
578 578
 		$output = '';
579 579
 		$label = '';
580 580
 
@@ -582,21 +582,21 @@  discard block
 block discarded – undo
582 582
 		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
583 583
 
584 584
 		// floating labels don't work with wysiwyg so set it as top
585
-		if ( $args['label_type'] == 'floating' && ! empty( $args['wysiwyg'] ) ) {
585
+		if ($args['label_type'] == 'floating' && !empty($args['wysiwyg'])) {
586 586
 			$args['label_type'] = 'top';
587 587
 		}
588 588
 
589 589
 		$label_after = $args['label_after'];
590 590
 
591 591
 		// floating labels need label after
592
-		if ( $args['label_type'] == 'floating' && empty( $args['wysiwyg'] ) ) {
592
+		if ($args['label_type'] == 'floating' && empty($args['wysiwyg'])) {
593 593
 			$label_after         = true;
594 594
 			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
595 595
 		}
596 596
 
597 597
 		// label
598
-		if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
599
-		} elseif ( ! empty( $args['label'] ) && ! $label_after ) {
598
+		if (!empty($args['label']) && is_array($args['label'])) {
599
+		} elseif (!empty($args['label']) && !$label_after) {
600 600
 			$label_args = array(
601 601
 				'title'      => $args['label'],
602 602
 				'for'        => $args['id'],
@@ -604,34 +604,34 @@  discard block
 block discarded – undo
604 604
 				'label_type' => $args['label_type'],
605 605
 				'label_col'  => $args['label_col']
606 606
 			);
607
-			$label .= self::label( $label_args );
607
+			$label .= self::label($label_args);
608 608
 		}
609 609
 
610 610
 		// maybe horizontal label
611
-		if ( $args['label_type'] == 'horizontal' ) {
612
-			$input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
611
+		if ($args['label_type'] == 'horizontal') {
612
+			$input_col = AUI_Component_Helper::get_column_class($args['label_col'], 'input');
613 613
 			$label .= '<div class="' . $input_col . '">';
614 614
 		}
615 615
 
616
-		if ( ! empty( $args['wysiwyg'] ) ) {
616
+		if (!empty($args['wysiwyg'])) {
617 617
 			ob_start();
618 618
 			$content   = $args['value'];
619
-			$editor_id = ! empty( $args['id'] ) ? sanitize_html_class( $args['id'] ) : 'wp_editor';
619
+			$editor_id = !empty($args['id']) ? sanitize_html_class($args['id']) : 'wp_editor';
620 620
 			$settings  = array(
621
-				'textarea_rows' => ! empty( absint( $args['rows'] ) ) ? absint( $args['rows'] ) : 4,
621
+				'textarea_rows' => !empty(absint($args['rows'])) ? absint($args['rows']) : 4,
622 622
 				'quicktags'     => false,
623 623
 				'media_buttons' => false,
624 624
 				'editor_class'  => 'form-control',
625
-				'textarea_name' => ! empty( $args['name'] ) ? sanitize_html_class( $args['name'] ) : sanitize_html_class( $args['id'] ),
625
+				'textarea_name' => !empty($args['name']) ? sanitize_html_class($args['name']) : sanitize_html_class($args['id']),
626 626
 				'teeny'         => true,
627 627
 			);
628 628
 
629 629
 			// maybe set settings if array
630
-			if ( is_array( $args['wysiwyg'] ) ) {
631
-				$settings = wp_parse_args( $args['wysiwyg'], $settings );
630
+			if (is_array($args['wysiwyg'])) {
631
+				$settings = wp_parse_args($args['wysiwyg'], $settings);
632 632
 			}
633 633
 
634
-			wp_editor( $content, $editor_id, $settings );
634
+			wp_editor($content, $editor_id, $settings);
635 635
 			$output .= ob_get_clean();
636 636
 		} else {
637 637
 
@@ -639,65 +639,65 @@  discard block
 block discarded – undo
639 639
 			$output .= '<textarea ';
640 640
 
641 641
 			// name
642
-			if ( ! empty( $args['name'] ) ) {
643
-				$output .= ' name="' . esc_attr( $args['name'] ) . '" ';
642
+			if (!empty($args['name'])) {
643
+				$output .= ' name="' . esc_attr($args['name']) . '" ';
644 644
 			}
645 645
 
646 646
 			// id
647
-			if ( ! empty( $args['id'] ) ) {
648
-				$output .= ' id="' . sanitize_html_class( $args['id'] ) . '" ';
647
+			if (!empty($args['id'])) {
648
+				$output .= ' id="' . sanitize_html_class($args['id']) . '" ';
649 649
 			}
650 650
 
651 651
 			// placeholder
652
-			if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] ) {
653
-				$output .= ' placeholder="' . esc_attr( $args['placeholder'] ) . '" ';
652
+			if (isset($args['placeholder']) && '' != $args['placeholder']) {
653
+				$output .= ' placeholder="' . esc_attr($args['placeholder']) . '" ';
654 654
 			}
655 655
 
656 656
 			// title
657
-			if ( ! empty( $args['title'] ) ) {
658
-				$output .= ' title="' . esc_attr( $args['title'] ) . '" ';
657
+			if (!empty($args['title'])) {
658
+				$output .= ' title="' . esc_attr($args['title']) . '" ';
659 659
 			}
660 660
 
661 661
 			// validation text
662
-			if ( ! empty( $args['validation_text'] ) ) {
663
-				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr( addslashes( $args['validation_text'] ) ) . '\')" ';
662
+			if (!empty($args['validation_text'])) {
663
+				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr(addslashes($args['validation_text'])) . '\')" ';
664 664
 				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
665 665
 			}
666 666
 
667 667
 			// validation_pattern
668
-			if ( ! empty( $args['validation_pattern'] ) ) {
669
-				$output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
668
+			if (!empty($args['validation_pattern'])) {
669
+				$output .= ' pattern="' . esc_attr($args['validation_pattern']) . '" ';
670 670
 			}
671 671
 
672 672
 			// required
673
-			if ( ! empty( $args['required'] ) ) {
673
+			if (!empty($args['required'])) {
674 674
 				$output .= ' required ';
675 675
 			}
676 676
 
677 677
 			// rows
678
-			if ( ! empty( $args['rows'] ) ) {
679
-				$output .= ' rows="' . absint( $args['rows'] ) . '" ';
678
+			if (!empty($args['rows'])) {
679
+				$output .= ' rows="' . absint($args['rows']) . '" ';
680 680
 			}
681 681
 
682 682
 
683 683
 			// class
684
-			$class = ! empty( $args['class'] ) ? $args['class'] : '';
684
+			$class = !empty($args['class']) ? $args['class'] : '';
685 685
 			$output .= ' class="form-control ' . $class . '" ';
686 686
 
687 687
 			// extra attributes
688
-			if ( ! empty( $args['extra_attributes'] ) ) {
689
-				$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
688
+			if (!empty($args['extra_attributes'])) {
689
+				$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
690 690
 			}
691 691
 
692 692
 			// close tag
693 693
 			$output .= ' >';
694 694
 
695 695
 			// value
696
-			if ( ! empty( $args['value'] ) ) {
697
-				if ( ! empty( $args['allow_tags'] ) ) {
698
-					$output .= AUI_Component_Helper::sanitize_html_field( $args['value'], $args ); // Sanitize HTML.
696
+			if (!empty($args['value'])) {
697
+				if (!empty($args['allow_tags'])) {
698
+					$output .= AUI_Component_Helper::sanitize_html_field($args['value'], $args); // Sanitize HTML.
699 699
 				} else {
700
-					$output .= AUI_Component_Helper::sanitize_textarea_field( $args['value'] );
700
+					$output .= AUI_Component_Helper::sanitize_textarea_field($args['value']);
701 701
 				}
702 702
 			}
703 703
 
@@ -706,23 +706,23 @@  discard block
 block discarded – undo
706 706
 
707 707
 
708 708
 			// input group wraps
709
-			if ( $args['input_group_left'] || $args['input_group_right'] ) {
710
-				$w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
711
-				if ( $args['input_group_left'] ) {
712
-					$output = self::wrap( array(
709
+			if ($args['input_group_left'] || $args['input_group_right']) {
710
+				$w100 = strpos($args['class'], 'w-100') !== false ? ' w-100' : '';
711
+				if ($args['input_group_left']) {
712
+					$output = self::wrap(array(
713 713
 						'content'                 => $output,
714 714
 						'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
715 715
 						'input_group_left'        => $args['input_group_left'],
716 716
 						'input_group_left_inside' => $args['input_group_left_inside']
717
-					) );
717
+					));
718 718
 				}
719
-				if ( $args['input_group_right'] ) {
720
-					$output = self::wrap( array(
719
+				if ($args['input_group_right']) {
720
+					$output = self::wrap(array(
721 721
 						'content'                  => $output,
722 722
 						'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
723 723
 						'input_group_right'        => $args['input_group_right'],
724 724
 						'input_group_right_inside' => $args['input_group_right_inside']
725
-					) );
725
+					));
726 726
 				}
727 727
 
728 728
 			}
@@ -730,7 +730,7 @@  discard block
 block discarded – undo
730 730
 
731 731
 		}
732 732
 
733
-		if ( ! empty( $args['label'] ) && $label_after ) {
733
+		if (!empty($args['label']) && $label_after) {
734 734
 			$label_args = array(
735 735
 				'title'      => $args['label'],
736 736
 				'for'        => $args['id'],
@@ -738,41 +738,41 @@  discard block
 block discarded – undo
738 738
 				'label_type' => $args['label_type'],
739 739
 				'label_col'  => $args['label_col']
740 740
 			);
741
-			$output .= self::label( $label_args );
741
+			$output .= self::label($label_args);
742 742
 		}
743 743
 
744 744
 		// help text
745
-		if ( ! empty( $args['help_text'] ) ) {
746
-			$output .= AUI_Component_Helper::help_text( $args['help_text'] );
745
+		if (!empty($args['help_text'])) {
746
+			$output .= AUI_Component_Helper::help_text($args['help_text']);
747 747
 		}
748 748
 
749
-		if ( ! $label_after ) {
749
+		if (!$label_after) {
750 750
 			$output = $label . $output;
751 751
 		}
752 752
 
753 753
 		// maybe horizontal label
754
-		if ( $args['label_type'] == 'horizontal' ) {
754
+		if ($args['label_type'] == 'horizontal') {
755 755
 			$output .= '</div>';
756 756
 		}
757 757
 
758 758
 
759 759
 		// wrap
760
-		if ( ! $args['no_wrap'] ) {
761
-			if ( ! empty( $args['form_group_class'] ) ) {
762
-				$fg_class = esc_attr( $args['form_group_class'] );
763
-			}else{
760
+		if (!$args['no_wrap']) {
761
+			if (!empty($args['form_group_class'])) {
762
+				$fg_class = esc_attr($args['form_group_class']);
763
+			} else {
764 764
 				$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
765 765
 			}
766 766
 			$form_group_class = $args['label_type'] == 'floating' ? 'form-label-group' : $fg_class;
767 767
 			$wrap_class       = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
768
-			$wrap_class       = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
769
-			$output           = self::wrap( array(
768
+			$wrap_class       = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
769
+			$output           = self::wrap(array(
770 770
 				'content'         => $output,
771 771
 				'class'           => $wrap_class,
772 772
 				'element_require' => $args['element_require'],
773 773
 				'argument_id'     => $args['id'],
774 774
 				'wrap_attributes' => $args['wrap_attributes'],
775
-			) );
775
+			));
776 776
 		}
777 777
 
778 778
 
@@ -786,7 +786,7 @@  discard block
 block discarded – undo
786 786
 	 *
787 787
 	 * @return string The rendered component.
788 788
 	 */
789
-	public static function select( $args = array() ) {
789
+	public static function select($args = array()) {
790 790
 		global $aui_bs5, $aui_has_select2, $aui_select2_enqueued;
791 791
 
792 792
 		$defaults = array(
@@ -826,11 +826,11 @@  discard block
 block discarded – undo
826 826
 		/**
827 827
 		 * Parse incoming $args into an array and merge it with $defaults
828 828
 		 */
829
-		$args   = wp_parse_args( $args, $defaults );
829
+		$args   = wp_parse_args($args, $defaults);
830 830
 		$output = '';
831 831
 
832 832
 		// for now lets hide floating labels
833
-		if ( $args['label_type'] == 'floating' ) {
833
+		if ($args['label_type'] == 'floating') {
834 834
 			$args['label_type'] = 'hidden';
835 835
 		}
836 836
 
@@ -841,26 +841,26 @@  discard block
 block discarded – undo
841 841
 		$label_after = $args['label_after'];
842 842
 
843 843
 		// floating labels need label after
844
-		if ( $args['label_type'] == 'floating' ) {
844
+		if ($args['label_type'] == 'floating') {
845 845
 			$label_after         = true;
846 846
 			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
847 847
 		}
848 848
 
849 849
 		// Maybe setup select2
850 850
 		$is_select2 = false;
851
-		if ( ! empty( $args['select2'] ) ) {
851
+		if (!empty($args['select2'])) {
852 852
 			$args['class'] .= ' aui-select2';
853 853
 			$is_select2 = true;
854
-		} elseif ( strpos( $args['class'], 'aui-select2' ) !== false ) {
854
+		} elseif (strpos($args['class'], 'aui-select2') !== false) {
855 855
 			$is_select2 = true;
856 856
 		}
857 857
 
858
-		if ( $is_select2 && ! $aui_has_select2 ) {
858
+		if ($is_select2 && !$aui_has_select2) {
859 859
 			$aui_has_select2 = true;
860
-			$conditional_select2 = apply_filters( 'aui_is_conditional_select2', true );
860
+			$conditional_select2 = apply_filters('aui_is_conditional_select2', true);
861 861
 
862 862
 			// Enqueue the script,
863
-			if ( empty( $aui_select2_enqueued ) && $conditional_select2 === true ) {
863
+			if (empty($aui_select2_enqueued) && $conditional_select2 === true) {
864 864
 				$aui_select2_enqueued = true;
865 865
 
866 866
 				$aui_settings = AyeCode_UI_Settings::instance();
@@ -869,75 +869,75 @@  discard block
 block discarded – undo
869 869
 		}
870 870
 
871 871
 		// select2 tags
872
-		if ( ! empty( $args['select2'] ) && $args['select2'] === 'tags' ) { // triple equals needed here for some reason
872
+		if (!empty($args['select2']) && $args['select2'] === 'tags') { // triple equals needed here for some reason
873 873
 			$args['data-tags']             = 'true';
874 874
 			$args['data-token-separators'] = "[',']";
875 875
 			$args['multiple']              = true;
876 876
 		}
877 877
 
878 878
 		// select2 placeholder
879
-		if ( $is_select2 && isset( $args['placeholder'] ) && '' != $args['placeholder'] && empty( $args['data-placeholder'] ) ) {
880
-			$args['data-placeholder'] = esc_attr( $args['placeholder'] );
881
-			$args['data-allow-clear'] = isset( $args['data-allow-clear'] ) ? (bool) $args['data-allow-clear'] : true;
879
+		if ($is_select2 && isset($args['placeholder']) && '' != $args['placeholder'] && empty($args['data-placeholder'])) {
880
+			$args['data-placeholder'] = esc_attr($args['placeholder']);
881
+			$args['data-allow-clear'] = isset($args['data-allow-clear']) ? (bool) $args['data-allow-clear'] : true;
882 882
 		}
883 883
 
884 884
 		// Set hidden input to save empty value for multiselect.
885
-		if ( ! empty( $args['multiple'] ) && ! empty( $args['name'] ) ) {
886
-			$output .= '<input type="hidden" ' . AUI_Component_Helper::name( $args['name'] ) . ' value="" data-ignore-rule/>';
885
+		if (!empty($args['multiple']) && !empty($args['name'])) {
886
+			$output .= '<input type="hidden" ' . AUI_Component_Helper::name($args['name']) . ' value="" data-ignore-rule/>';
887 887
 		}
888 888
 
889 889
 		// open/type
890 890
 		$output .= '<select ';
891 891
 
892 892
 		// style
893
-		if ( $is_select2 && !($args['input_group_left'] || $args['input_group_right'])) {
893
+		if ($is_select2 && !($args['input_group_left'] || $args['input_group_right'])) {
894 894
 			$output .= " style='width:100%;' ";
895 895
 		}
896 896
 
897 897
 		// element require
898
-		if ( ! empty( $args['element_require'] ) ) {
899
-			$output .= AUI_Component_Helper::element_require( $args['element_require'] );
898
+		if (!empty($args['element_require'])) {
899
+			$output .= AUI_Component_Helper::element_require($args['element_require']);
900 900
 			$args['class'] .= " aui-conditional-field";
901 901
 		}
902 902
 
903 903
 		// class
904
-		$class = ! empty( $args['class'] ) ? $args['class'] : '';
904
+		$class = !empty($args['class']) ? $args['class'] : '';
905 905
 		$select_class = $aui_bs5 ? 'form-select ' : 'custom-select ';
906
-		$output .= AUI_Component_Helper::class_attr( $select_class . $class );
906
+		$output .= AUI_Component_Helper::class_attr($select_class . $class);
907 907
 
908 908
 		// name
909
-		if ( ! empty( $args['name'] ) ) {
910
-			$output .= AUI_Component_Helper::name( $args['name'], $args['multiple'] );
909
+		if (!empty($args['name'])) {
910
+			$output .= AUI_Component_Helper::name($args['name'], $args['multiple']);
911 911
 		}
912 912
 
913 913
 		// id
914
-		if ( ! empty( $args['id'] ) ) {
915
-			$output .= AUI_Component_Helper::id( $args['id'] );
914
+		if (!empty($args['id'])) {
915
+			$output .= AUI_Component_Helper::id($args['id']);
916 916
 		}
917 917
 
918 918
 		// title
919
-		if ( ! empty( $args['title'] ) ) {
920
-			$output .= AUI_Component_Helper::title( $args['title'] );
919
+		if (!empty($args['title'])) {
920
+			$output .= AUI_Component_Helper::title($args['title']);
921 921
 		}
922 922
 
923 923
 		// data-attributes
924
-		$output .= AUI_Component_Helper::data_attributes( $args );
924
+		$output .= AUI_Component_Helper::data_attributes($args);
925 925
 
926 926
 		// aria-attributes
927
-		$output .= AUI_Component_Helper::aria_attributes( $args );
927
+		$output .= AUI_Component_Helper::aria_attributes($args);
928 928
 
929 929
 		// extra attributes
930
-		if ( ! empty( $args['extra_attributes'] ) ) {
931
-			$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
930
+		if (!empty($args['extra_attributes'])) {
931
+			$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
932 932
 		}
933 933
 
934 934
 		// required
935
-		if ( ! empty( $args['required'] ) ) {
935
+		if (!empty($args['required'])) {
936 936
 			$output .= ' required ';
937 937
 		}
938 938
 
939 939
 		// multiple
940
-		if ( ! empty( $args['multiple'] ) ) {
940
+		if (!empty($args['multiple'])) {
941 941
 			$output .= ' multiple ';
942 942
 		}
943 943
 
@@ -945,50 +945,50 @@  discard block
 block discarded – undo
945 945
 		$output .= ' >';
946 946
 
947 947
 		// placeholder
948
-		if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] && ! $is_select2 ) {
949
-			$output .= '<option value="" disabled selected hidden>' . esc_attr( $args['placeholder'] ) . '</option>';
950
-		} elseif ( $is_select2 && ! empty( $args['placeholder'] ) ) {
948
+		if (isset($args['placeholder']) && '' != $args['placeholder'] && !$is_select2) {
949
+			$output .= '<option value="" disabled selected hidden>' . esc_attr($args['placeholder']) . '</option>';
950
+		} elseif ($is_select2 && !empty($args['placeholder'])) {
951 951
 			$output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
952 952
 		}
953 953
 
954 954
 		// Options
955
-		if ( ! empty( $args['options'] ) ) {
955
+		if (!empty($args['options'])) {
956 956
 
957
-			if ( ! is_array( $args['options'] ) ) {
957
+			if (!is_array($args['options'])) {
958 958
 				$output .= $args['options']; // not the preferred way but an option
959 959
 			} else {
960
-				foreach ( $args['options'] as $val => $name ) {
960
+				foreach ($args['options'] as $val => $name) {
961 961
 					$selected = '';
962
-					if ( is_array( $name ) ) {
963
-						if ( isset( $name['optgroup'] ) && ( $name['optgroup'] == 'start' || $name['optgroup'] == 'end' ) ) {
964
-							$option_label = isset( $name['label'] ) ? $name['label'] : '';
962
+					if (is_array($name)) {
963
+						if (isset($name['optgroup']) && ($name['optgroup'] == 'start' || $name['optgroup'] == 'end')) {
964
+							$option_label = isset($name['label']) ? $name['label'] : '';
965 965
 
966
-							$output .= $name['optgroup'] == 'start' ? '<optgroup label="' . esc_attr( $option_label ) . '">' : '</optgroup>';
966
+							$output .= $name['optgroup'] == 'start' ? '<optgroup label="' . esc_attr($option_label) . '">' : '</optgroup>';
967 967
 						} else {
968
-							$option_label = isset( $name['label'] ) ? $name['label'] : '';
969
-							$option_value = isset( $name['value'] ) ? $name['value'] : '';
970
-							$extra_attributes = !empty($name['extra_attributes']) ? AUI_Component_Helper::extra_attributes( $name['extra_attributes'] ) : '';
971
-							if ( ! empty( $args['multiple'] ) && ! empty( $args['value'] ) && is_array( $args['value'] ) ) {
972
-								$selected = in_array( $option_value, stripslashes_deep( $args['value'] ) ) ? "selected" : "";
973
-							} elseif ( ! empty( $args['value'] ) ) {
974
-								$selected = selected( $option_value, stripslashes_deep( $args['value'] ), false );
975
-							} elseif ( empty( $args['value'] ) && $args['value'] === $option_value ) {
976
-								$selected = selected( $option_value, $args['value'], false );
968
+							$option_label = isset($name['label']) ? $name['label'] : '';
969
+							$option_value = isset($name['value']) ? $name['value'] : '';
970
+							$extra_attributes = !empty($name['extra_attributes']) ? AUI_Component_Helper::extra_attributes($name['extra_attributes']) : '';
971
+							if (!empty($args['multiple']) && !empty($args['value']) && is_array($args['value'])) {
972
+								$selected = in_array($option_value, stripslashes_deep($args['value'])) ? "selected" : "";
973
+							} elseif (!empty($args['value'])) {
974
+								$selected = selected($option_value, stripslashes_deep($args['value']), false);
975
+							} elseif (empty($args['value']) && $args['value'] === $option_value) {
976
+								$selected = selected($option_value, $args['value'], false);
977 977
 							}
978 978
 
979
-							$output .= '<option value="' . esc_attr( $option_value ) . '" ' . $selected . ' '.$extra_attributes .'>' . $option_label . '</option>';
979
+							$output .= '<option value="' . esc_attr($option_value) . '" ' . $selected . ' ' . $extra_attributes . '>' . $option_label . '</option>';
980 980
 						}
981 981
 					} else {
982
-						if ( ! empty( $args['value'] ) ) {
983
-							if ( is_array( $args['value'] ) ) {
984
-								$selected = in_array( $val, $args['value'] ) ? 'selected="selected"' : '';
985
-							} elseif ( ! empty( $args['value'] ) ) {
986
-								$selected = selected( $args['value'], $val, false );
982
+						if (!empty($args['value'])) {
983
+							if (is_array($args['value'])) {
984
+								$selected = in_array($val, $args['value']) ? 'selected="selected"' : '';
985
+							} elseif (!empty($args['value'])) {
986
+								$selected = selected($args['value'], $val, false);
987 987
 							}
988
-						} elseif ( $args['value'] === $val ) {
989
-							$selected = selected( $args['value'], $val, false );
988
+						} elseif ($args['value'] === $val) {
989
+							$selected = selected($args['value'], $val, false);
990 990
 						}
991
-						$output .= '<option value="' . esc_attr( $val ) . '" ' . $selected . '>' . esc_attr( $name ) . '</option>';
991
+						$output .= '<option value="' . esc_attr($val) . '" ' . $selected . '>' . esc_attr($name) . '</option>';
992 992
 					}
993 993
 				}
994 994
 			}
@@ -1001,8 +1001,8 @@  discard block
 block discarded – undo
1001 1001
 		$label = '';
1002 1002
 		$help_text = '';
1003 1003
 		// label
1004
-		if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
1005
-		} elseif ( ! empty( $args['label'] ) && ! $label_after ) {
1004
+		if (!empty($args['label']) && is_array($args['label'])) {
1005
+		} elseif (!empty($args['label']) && !$label_after) {
1006 1006
 			$label_args = array(
1007 1007
 				'title'      => $args['label'],
1008 1008
 				'for'        => $args['id'],
@@ -1010,49 +1010,49 @@  discard block
 block discarded – undo
1010 1010
 				'label_type' => $args['label_type'],
1011 1011
 				'label_col'  => $args['label_col']
1012 1012
 			);
1013
-			$label = self::label( $label_args );
1013
+			$label = self::label($label_args);
1014 1014
 		}
1015 1015
 
1016 1016
 		// help text
1017
-		if ( ! empty( $args['help_text'] ) ) {
1018
-			$help_text = AUI_Component_Helper::help_text( $args['help_text'] );
1017
+		if (!empty($args['help_text'])) {
1018
+			$help_text = AUI_Component_Helper::help_text($args['help_text']);
1019 1019
 		}
1020 1020
 
1021 1021
 		// input group wraps
1022
-		if ( $args['input_group_left'] || $args['input_group_right'] ) {
1023
-			$w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
1024
-			if ( $args['input_group_left'] ) {
1025
-				$output = self::wrap( array(
1022
+		if ($args['input_group_left'] || $args['input_group_right']) {
1023
+			$w100 = strpos($args['class'], 'w-100') !== false ? ' w-100' : '';
1024
+			if ($args['input_group_left']) {
1025
+				$output = self::wrap(array(
1026 1026
 					'content'                 => $output,
1027 1027
 					'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
1028 1028
 					'input_group_left'        => $args['input_group_left'],
1029 1029
 					'input_group_left_inside' => $args['input_group_left_inside']
1030
-				) );
1030
+				));
1031 1031
 			}
1032
-			if ( $args['input_group_right'] ) {
1033
-				$output = self::wrap( array(
1032
+			if ($args['input_group_right']) {
1033
+				$output = self::wrap(array(
1034 1034
 					'content'                  => $output,
1035 1035
 					'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
1036 1036
 					'input_group_right'        => $args['input_group_right'],
1037 1037
 					'input_group_right_inside' => $args['input_group_right_inside']
1038
-				) );
1038
+				));
1039 1039
 			}
1040 1040
 
1041 1041
 		}
1042 1042
 
1043
-		if ( ! $label_after ) {
1043
+		if (!$label_after) {
1044 1044
 			$output .= $help_text;
1045 1045
 		}
1046 1046
 
1047 1047
 
1048
-		if ( $args['label_type'] == 'horizontal' ) {
1049
-			$output = self::wrap( array(
1048
+		if ($args['label_type'] == 'horizontal') {
1049
+			$output = self::wrap(array(
1050 1050
 				'content' => $output,
1051
-				'class'   => AUI_Component_Helper::get_column_class( $args['label_col'], 'input' )
1052
-			) );
1051
+				'class'   => AUI_Component_Helper::get_column_class($args['label_col'], 'input')
1052
+			));
1053 1053
 		}
1054 1054
 
1055
-		if ( ! $label_after ) {
1055
+		if (!$label_after) {
1056 1056
 			$output = $label . $output;
1057 1057
 		}
1058 1058
 
@@ -1063,21 +1063,21 @@  discard block
 block discarded – undo
1063 1063
 
1064 1064
 
1065 1065
 		// wrap
1066
-		if ( ! $args['no_wrap'] ) {
1067
-			if ( ! empty( $args['form_group_class'] ) ) {
1068
-				$fg_class = esc_attr( $args['form_group_class'] );
1069
-			}else{
1066
+		if (!$args['no_wrap']) {
1067
+			if (!empty($args['form_group_class'])) {
1068
+				$fg_class = esc_attr($args['form_group_class']);
1069
+			} else {
1070 1070
 				$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1071 1071
 			}
1072 1072
 			$wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
1073
-			$wrap_class = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1074
-			$output     = self::wrap( array(
1073
+			$wrap_class = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1074
+			$output     = self::wrap(array(
1075 1075
 				'content'         => $output,
1076 1076
 				'class'           => $wrap_class,
1077 1077
 				'element_require' => $args['element_require'],
1078 1078
 				'argument_id'     => $args['id'],
1079 1079
 				'wrap_attributes' => $args['wrap_attributes'],
1080
-			) );
1080
+			));
1081 1081
 		}
1082 1082
 
1083 1083
 
@@ -1091,7 +1091,7 @@  discard block
 block discarded – undo
1091 1091
 	 *
1092 1092
 	 * @return string The rendered component.
1093 1093
 	 */
1094
-	public static function radio( $args = array() ) {
1094
+	public static function radio($args = array()) {
1095 1095
 		global $aui_bs5;
1096 1096
 
1097 1097
 		$defaults = array(
@@ -1123,10 +1123,10 @@  discard block
 block discarded – undo
1123 1123
 		/**
1124 1124
 		 * Parse incoming $args into an array and merge it with $defaults
1125 1125
 		 */
1126
-		$args = wp_parse_args( $args, $defaults );
1126
+		$args = wp_parse_args($args, $defaults);
1127 1127
 
1128 1128
 		// for now lets use horizontal for floating
1129
-		if ( $args['label_type'] == 'floating' ) {
1129
+		if ($args['label_type'] == 'floating') {
1130 1130
 			$args['label_type'] = 'horizontal';
1131 1131
 		}
1132 1132
 
@@ -1137,10 +1137,10 @@  discard block
 block discarded – undo
1137 1137
 			'label_col'  => $args['label_col']
1138 1138
 		);
1139 1139
 
1140
-		if ( $args['label_type'] == 'top' || $args['label_type'] == 'hidden' ) {
1140
+		if ($args['label_type'] == 'top' || $args['label_type'] == 'hidden') {
1141 1141
 			$label_args['class'] .= 'd-block ';
1142 1142
 
1143
-			if ( $args['label_type'] == 'hidden' ) {
1143
+			if ($args['label_type'] == 'hidden') {
1144 1144
 				$label_args['class'] .= 'sr-only ';
1145 1145
 			}
1146 1146
 		}
@@ -1148,48 +1148,48 @@  discard block
 block discarded – undo
1148 1148
 		$output = '';
1149 1149
 
1150 1150
 		// label before
1151
-		if ( ! empty( $args['label'] ) ) {
1152
-			$output .= self::label( $label_args, 'radio' );
1151
+		if (!empty($args['label'])) {
1152
+			$output .= self::label($label_args, 'radio');
1153 1153
 		}
1154 1154
 
1155 1155
 		// maybe horizontal label
1156
-		if ( $args['label_type'] == 'horizontal' ) {
1157
-			$input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
1156
+		if ($args['label_type'] == 'horizontal') {
1157
+			$input_col = AUI_Component_Helper::get_column_class($args['label_col'], 'input');
1158 1158
 			$output .= '<div class="' . $input_col . '">';
1159 1159
 		}
1160 1160
 
1161
-		if ( ! empty( $args['options'] ) ) {
1161
+		if (!empty($args['options'])) {
1162 1162
 			$count = 0;
1163
-			foreach ( $args['options'] as $value => $label ) {
1163
+			foreach ($args['options'] as $value => $label) {
1164 1164
 				$option_args            = $args;
1165 1165
 				$option_args['value']   = $value;
1166 1166
 				$option_args['label']   = $label;
1167 1167
 				$option_args['checked'] = $value == $args['value'] ? true : false;
1168
-				$output .= self::radio_option( $option_args, $count );
1169
-				$count ++;
1168
+				$output .= self::radio_option($option_args, $count);
1169
+				$count++;
1170 1170
 			}
1171 1171
 		}
1172 1172
 
1173 1173
 		// help text
1174
-		$help_text = ! empty( $args['help_text'] ) ? AUI_Component_Helper::help_text( $args['help_text'] ) : '';
1174
+		$help_text = !empty($args['help_text']) ? AUI_Component_Helper::help_text($args['help_text']) : '';
1175 1175
 		$output .= $help_text;
1176 1176
 
1177 1177
 		// maybe horizontal label
1178
-		if ( $args['label_type'] == 'horizontal' ) {
1178
+		if ($args['label_type'] == 'horizontal') {
1179 1179
 			$output .= '</div>';
1180 1180
 		}
1181 1181
 
1182 1182
 		// wrap
1183 1183
 		$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1184 1184
 		$wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
1185
-		$wrap_class = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1186
-		$output     = self::wrap( array(
1185
+		$wrap_class = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1186
+		$output     = self::wrap(array(
1187 1187
 			'content'         => $output,
1188 1188
 			'class'           => $wrap_class,
1189 1189
 			'element_require' => $args['element_require'],
1190 1190
 			'argument_id'     => $args['id'],
1191 1191
 			'wrap_attributes' => $args['wrap_attributes'],
1192
-		) );
1192
+		));
1193 1193
 
1194 1194
 
1195 1195
 		return $output;
@@ -1202,7 +1202,7 @@  discard block
 block discarded – undo
1202 1202
 	 *
1203 1203
 	 * @return string The rendered component.
1204 1204
 	 */
1205
-	public static function radio_option( $args = array(), $count = '' ) {
1205
+	public static function radio_option($args = array(), $count = '') {
1206 1206
 		$defaults = array(
1207 1207
 			'class'            => '',
1208 1208
 			'id'               => '',
@@ -1220,7 +1220,7 @@  discard block
 block discarded – undo
1220 1220
 		/**
1221 1221
 		 * Parse incoming $args into an array and merge it with $defaults
1222 1222
 		 */
1223
-		$args = wp_parse_args( $args, $defaults );
1223
+		$args = wp_parse_args($args, $defaults);
1224 1224
 
1225 1225
 		$output = '';
1226 1226
 
@@ -1231,43 +1231,43 @@  discard block
 block discarded – undo
1231 1231
 		$output .= ' class="form-check-input" ';
1232 1232
 
1233 1233
 		// name
1234
-		if ( ! empty( $args['name'] ) ) {
1235
-			$output .= AUI_Component_Helper::name( $args['name'] );
1234
+		if (!empty($args['name'])) {
1235
+			$output .= AUI_Component_Helper::name($args['name']);
1236 1236
 		}
1237 1237
 
1238 1238
 		// id
1239
-		if ( ! empty( $args['id'] ) ) {
1240
-			$output .= AUI_Component_Helper::id( $args['id'] . $count );
1239
+		if (!empty($args['id'])) {
1240
+			$output .= AUI_Component_Helper::id($args['id'] . $count);
1241 1241
 		}
1242 1242
 
1243 1243
 		// title
1244
-		if ( ! empty( $args['title'] ) ) {
1245
-			$output .= AUI_Component_Helper::title( $args['title'] );
1244
+		if (!empty($args['title'])) {
1245
+			$output .= AUI_Component_Helper::title($args['title']);
1246 1246
 		}
1247 1247
 
1248 1248
 		// value
1249
-		if ( isset( $args['value'] ) ) {
1250
-			$output .= AUI_Component_Helper::value( $args['value'] );
1249
+		if (isset($args['value'])) {
1250
+			$output .= AUI_Component_Helper::value($args['value']);
1251 1251
 		}
1252 1252
 
1253 1253
 		// checked, for radio and checkboxes
1254
-		if ( $args['checked'] ) {
1254
+		if ($args['checked']) {
1255 1255
 			$output .= ' checked ';
1256 1256
 		}
1257 1257
 
1258 1258
 		// data-attributes
1259
-		$output .= AUI_Component_Helper::data_attributes( $args );
1259
+		$output .= AUI_Component_Helper::data_attributes($args);
1260 1260
 
1261 1261
 		// aria-attributes
1262
-		$output .= AUI_Component_Helper::aria_attributes( $args );
1262
+		$output .= AUI_Component_Helper::aria_attributes($args);
1263 1263
 
1264 1264
 		// extra attributes
1265
-		if ( ! empty( $args['extra_attributes'] ) ) {
1266
-			$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
1265
+		if (!empty($args['extra_attributes'])) {
1266
+			$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
1267 1267
 		}
1268 1268
 
1269 1269
 		// required
1270
-		if ( ! empty( $args['required'] ) ) {
1270
+		if (!empty($args['required'])) {
1271 1271
 			$output .= ' required ';
1272 1272
 		}
1273 1273
 
@@ -1275,38 +1275,38 @@  discard block
 block discarded – undo
1275 1275
 		$output .= ' >';
1276 1276
 
1277 1277
 		// label
1278
-		if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
1279
-		} elseif ( ! empty( $args['label'] ) ) {
1280
-			$output .= self::label( array(
1278
+		if (!empty($args['label']) && is_array($args['label'])) {
1279
+		} elseif (!empty($args['label'])) {
1280
+			$output .= self::label(array(
1281 1281
 				'title' => $args['label'],
1282 1282
 				'for'   => $args['id'] . $count,
1283 1283
 				'class' => 'form-check-label'
1284
-			), 'radio' );
1284
+			), 'radio');
1285 1285
 		}
1286 1286
 
1287 1287
 		// wrap
1288
-		if ( ! $args['no_wrap'] ) {
1288
+		if (!$args['no_wrap']) {
1289 1289
 			$wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1290 1290
 
1291 1291
 			// Unique wrap class
1292 1292
 			$uniq_class = 'fwrap';
1293
-			if ( ! empty( $args['name'] ) ) {
1293
+			if (!empty($args['name'])) {
1294 1294
 				$uniq_class .= '-' . $args['name'];
1295
-			} else if ( ! empty( $args['id'] ) ) {
1295
+			} else if (!empty($args['id'])) {
1296 1296
 				$uniq_class .= '-' . $args['id'];
1297 1297
 			}
1298 1298
 
1299
-			if ( isset( $args['value'] ) || $args['value'] !== "" ) {
1299
+			if (isset($args['value']) || $args['value'] !== "") {
1300 1300
 				$uniq_class .= '-' . $args['value'];
1301 1301
 			} else {
1302 1302
 				$uniq_class .= '-' . $count;
1303 1303
 			}
1304
-			$wrap_class .= ' ' . sanitize_html_class( $uniq_class );
1304
+			$wrap_class .= ' ' . sanitize_html_class($uniq_class);
1305 1305
 
1306
-			$output = self::wrap( array(
1306
+			$output = self::wrap(array(
1307 1307
 				'content' => $output,
1308 1308
 				'class'   => $wrap_class
1309
-			) );
1309
+			));
1310 1310
 		}
1311 1311
 
1312 1312
 		return $output;
Please login to merge, or discard this patch.
Switch Indentation   +1216 added lines, -1216 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1
-<?php
1
+    <?php
2 2
 
3
-if ( ! defined( 'ABSPATH' ) ) {
4
-	exit; // Exit if accessed directly
3
+    if ( ! defined( 'ABSPATH' ) ) {
4
+	    exit; // Exit if accessed directly
5 5
 }
6 6
 
7 7
 /**
@@ -9,1307 +9,1307 @@  discard block
 block discarded – undo
9 9
  *
10 10
  * @since 1.0.0
11 11
  */
12
-class AUI_Component_Input {
12
+    class AUI_Component_Input {
13 13
 
14
-	/**
14
+	    /**
15 15
 	 * Build the component.
16 16
 	 *
17 17
 	 * @param array $args
18 18
 	 *
19 19
 	 * @return string The rendered component.
20 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
-		/**
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 70
 		 * Parse incoming $args into an array and merge it with $defaults
71 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
-			} elseif ( $type == 'iconpicker' ) {
141
-				$type = 'text';
142
-				//$args['class'] .= ' aui-flatpickr bg-initial ';
143
-//				$args['class'] .= ' bg-initial ';
144
-
145
-				$args['extra_attributes']['data-aui-init'] = 'iconpicker';
146
-				$args['extra_attributes']['data-placement'] = 'bottomRight';
147
-
148
-				$args['input_group_right'] = '<span class="input-group-addon input-group-text c-pointer"></span>';
149
-//				$args['input_group_right_inside'] = true;
150
-				// enqueue the script
151
-				$aui_settings = AyeCode_UI_Settings::instance();
152
-				$aui_settings->enqueue_iconpicker();
153
-			}
154
-
155
-			if ( $type == 'checkbox' && ( ( ! empty( $args['name'] ) && strpos( $args['name'], '[' ) === false ) || ! empty( $args['with_hidden'] ) ) ) {
156
-				$output .= '<input type="hidden" name="' . esc_attr( $args['name'] ) . '" value="0" />';
157
-			}
158
-
159
-			// allow clear icon
160
-			if ( $args['input_group_right'] === '' && $args['clear_icon'] ) {
161
-				$font_size = $size == 'sm' ? '1.3' : ( $size == 'lg' ? '1.65' : '1.5' );
162
-				$args['input_group_right_inside'] = true;
163
-				$align_class = $aui_bs5 ? ' h-100 py-0' : '';
164
-				$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
-			}
166
-
167
-			// open/type
168
-			$output .= '<input type="' . $type . '" ';
169
-
170
-			// name
171
-			if ( ! empty( $args['name'] ) ) {
172
-				$output .= ' name="' . esc_attr( $args['name'] ) . '" ';
173
-			}
174
-
175
-			// id
176
-			if ( ! empty( $args['id'] ) ) {
177
-				$output .= ' id="' . sanitize_html_class( $args['id'] ) . '" ';
178
-			}
179
-
180
-			// placeholder
181
-			if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] ) {
182
-				$output .= ' placeholder="' . esc_attr( $args['placeholder'] ) . '" ';
183
-			}
184
-
185
-			// title
186
-			if ( ! empty( $args['title'] ) ) {
187
-				$output .= ' title="' . esc_attr( $args['title'] ) . '" ';
188
-			}
189
-
190
-			// value
191
-			if ( ! empty( $args['value'] ) ) {
192
-				$output .= AUI_Component_Helper::value( $args['value'] );
193
-			}
194
-
195
-			// checked, for radio and checkboxes
196
-			if ( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ) {
197
-				$output .= ' checked ';
198
-			}
199
-
200
-			// validation text
201
-			if ( ! empty( $args['validation_text'] ) ) {
202
-				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr( addslashes( $args['validation_text'] ) ) . '\')" ';
203
-				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
204
-			}
205
-
206
-			// validation_pattern
207
-			if ( ! empty( $args['validation_pattern'] ) ) {
208
-				$output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
209
-			}
210
-
211
-			// step (for numbers)
212
-			if ( ! empty( $args['step'] ) ) {
213
-				$output .= ' step="' . $args['step'] . '" ';
214
-			}
215
-
216
-			// required
217
-			if ( ! empty( $args['required'] ) ) {
218
-				$output .= ' required ';
219
-			}
220
-
221
-			// class
222
-			$class = ! empty( $args['class'] ) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
223
-			$output .= $aui_bs5 &&  $type == 'checkbox' ? ' class="' . $class . '" ' : ' class="form-control ' . $class . '" ';
224
-
225
-			// data-attributes
226
-			$output .= AUI_Component_Helper::data_attributes( $args );
227
-
228
-			// extra attributes
229
-			if ( ! empty( $args['extra_attributes'] ) ) {
230
-				$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
231
-			}
232
-
233
-			// close
234
-			$output .= ' >';
235
-
236
-			// help text
237
-			if ( ! empty( $args['help_text'] ) ) {
238
-				$help_text = AUI_Component_Helper::help_text( $args['help_text'] );
239
-			}
240
-
241
-			// label
242
-			if ( ! empty( $args['label'] ) ) {
243
-				$label_base_class = '';
244
-				if ( $type == 'file' ) {
245
-					$label_base_class = ' custom-file-label';
246
-				} elseif ( $type == 'checkbox' ) {
247
-					if ( ! empty( $args['label_force_left'] ) ) {
248
-						$label_args['title'] = wp_kses_post( $args['help_text'] );
249
-						$help_text = '';
250
-						//$label_args['class'] .= ' d-inline ';
251
-						$args['wrap_class'] .= ' align-items-center ';
252
-					}else{
253
-
254
-					}
255
-
256
-					$label_base_class = $aui_bs5 ? ' form-check-label' : ' custom-control-label';
257
-				}
258
-				$label_args['class'] .= $label_base_class;
259
-				$temp_label_args = $label_args;
260
-				if(! empty( $args['label_force_left'] )){$temp_label_args['class'] = $label_base_class." text-muted";}
261
-				$label = self::label( $temp_label_args, $type );
262
-			}
263
-
264
-
265
-
266
-
267
-			// set help text in the correct position
268
-			if ( $label_after ) {
269
-				$output .= $label . $help_text;
270
-			}
271
-
272
-			// some input types need a separate wrap
273
-			if ( $type == 'file' ) {
274
-				$output = self::wrap( array(
275
-					'content' => $output,
276
-					'class'   => $aui_bs5 ? 'mb-3 custom-file' : 'form-group custom-file'
277
-				) );
278
-			} elseif ( $type == 'checkbox' ) {
279
-
280
-				$label_args['title'] = $args['label'];
281
-				$label_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'label' );
282
-				$label = !empty( $args['label_force_left'] ) ? self::label( $label_args, 'cb' ) : '<div class="' . $label_col . ' col-form-label"></div>';
283
-				$switch_size_class = $args['switch'] && !is_bool( $args['switch'] ) ? ' custom-switch-'.esc_attr( $args['switch'] ) : '';
284
-				if ( $aui_bs5 ) {
285
-					$wrap_class = $args['switch'] ? 'form-check form-switch' . $switch_size_class : 'form-check';
286
-				}else{
287
-					$wrap_class = $args['switch'] ? 'custom-switch' . $switch_size_class :  'custom-checkbox' ;
288
-				}
289
-				if ( ! empty( $args['label_force_left'] ) ) {
290
-					$wrap_class .= $aui_bs5 ? '' : ' d-flex align-content-center';
291
-					$label = str_replace(array("form-check-label","custom-control-label"),"", self::label( $label_args, 'cb' ) );
292
-				}
293
-				$output     = self::wrap( array(
294
-					'content' => $output,
295
-					'class'   => $aui_bs5 ? $wrap_class : 'custom-control ' . $wrap_class
296
-				) );
297
-
298
-				if ( $args['label_type'] == 'horizontal' ) {
299
-					$input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
300
-					$output    = $label . '<div class="' . $input_col . '">' . $output . '</div>';
301
-				}
302
-			} elseif ( $type == 'password' && $args['password_toggle'] && ! $args['input_group_right'] ) {
303
-
304
-
305
-				// allow password field to toggle view
306
-				$args['input_group_right'] = '<span class="input-group-text c-pointer px-3" 
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
+			    } elseif ( $type == 'iconpicker' ) {
141
+				    $type = 'text';
142
+				    //$args['class'] .= ' aui-flatpickr bg-initial ';
143
+    //				$args['class'] .= ' bg-initial ';
144
+
145
+				    $args['extra_attributes']['data-aui-init'] = 'iconpicker';
146
+				    $args['extra_attributes']['data-placement'] = 'bottomRight';
147
+
148
+				    $args['input_group_right'] = '<span class="input-group-addon input-group-text c-pointer"></span>';
149
+    //				$args['input_group_right_inside'] = true;
150
+				    // enqueue the script
151
+				    $aui_settings = AyeCode_UI_Settings::instance();
152
+				    $aui_settings->enqueue_iconpicker();
153
+			    }
154
+
155
+			    if ( $type == 'checkbox' && ( ( ! empty( $args['name'] ) && strpos( $args['name'], '[' ) === false ) || ! empty( $args['with_hidden'] ) ) ) {
156
+				    $output .= '<input type="hidden" name="' . esc_attr( $args['name'] ) . '" value="0" />';
157
+			    }
158
+
159
+			    // allow clear icon
160
+			    if ( $args['input_group_right'] === '' && $args['clear_icon'] ) {
161
+				    $font_size = $size == 'sm' ? '1.3' : ( $size == 'lg' ? '1.65' : '1.5' );
162
+				    $args['input_group_right_inside'] = true;
163
+				    $align_class = $aui_bs5 ? ' h-100 py-0' : '';
164
+				    $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
+			    }
166
+
167
+			    // open/type
168
+			    $output .= '<input type="' . $type . '" ';
169
+
170
+			    // name
171
+			    if ( ! empty( $args['name'] ) ) {
172
+				    $output .= ' name="' . esc_attr( $args['name'] ) . '" ';
173
+			    }
174
+
175
+			    // id
176
+			    if ( ! empty( $args['id'] ) ) {
177
+				    $output .= ' id="' . sanitize_html_class( $args['id'] ) . '" ';
178
+			    }
179
+
180
+			    // placeholder
181
+			    if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] ) {
182
+				    $output .= ' placeholder="' . esc_attr( $args['placeholder'] ) . '" ';
183
+			    }
184
+
185
+			    // title
186
+			    if ( ! empty( $args['title'] ) ) {
187
+				    $output .= ' title="' . esc_attr( $args['title'] ) . '" ';
188
+			    }
189
+
190
+			    // value
191
+			    if ( ! empty( $args['value'] ) ) {
192
+				    $output .= AUI_Component_Helper::value( $args['value'] );
193
+			    }
194
+
195
+			    // checked, for radio and checkboxes
196
+			    if ( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ) {
197
+				    $output .= ' checked ';
198
+			    }
199
+
200
+			    // validation text
201
+			    if ( ! empty( $args['validation_text'] ) ) {
202
+				    $output .= ' oninvalid="setCustomValidity(\'' . esc_attr( addslashes( $args['validation_text'] ) ) . '\')" ';
203
+				    $output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
204
+			    }
205
+
206
+			    // validation_pattern
207
+			    if ( ! empty( $args['validation_pattern'] ) ) {
208
+				    $output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
209
+			    }
210
+
211
+			    // step (for numbers)
212
+			    if ( ! empty( $args['step'] ) ) {
213
+				    $output .= ' step="' . $args['step'] . '" ';
214
+			    }
215
+
216
+			    // required
217
+			    if ( ! empty( $args['required'] ) ) {
218
+				    $output .= ' required ';
219
+			    }
220
+
221
+			    // class
222
+			    $class = ! empty( $args['class'] ) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
223
+			    $output .= $aui_bs5 &&  $type == 'checkbox' ? ' class="' . $class . '" ' : ' class="form-control ' . $class . '" ';
224
+
225
+			    // data-attributes
226
+			    $output .= AUI_Component_Helper::data_attributes( $args );
227
+
228
+			    // extra attributes
229
+			    if ( ! empty( $args['extra_attributes'] ) ) {
230
+				    $output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
231
+			    }
232
+
233
+			    // close
234
+			    $output .= ' >';
235
+
236
+			    // help text
237
+			    if ( ! empty( $args['help_text'] ) ) {
238
+				    $help_text = AUI_Component_Helper::help_text( $args['help_text'] );
239
+			    }
240
+
241
+			    // label
242
+			    if ( ! empty( $args['label'] ) ) {
243
+				    $label_base_class = '';
244
+				    if ( $type == 'file' ) {
245
+					    $label_base_class = ' custom-file-label';
246
+				    } elseif ( $type == 'checkbox' ) {
247
+					    if ( ! empty( $args['label_force_left'] ) ) {
248
+						    $label_args['title'] = wp_kses_post( $args['help_text'] );
249
+						    $help_text = '';
250
+						    //$label_args['class'] .= ' d-inline ';
251
+						    $args['wrap_class'] .= ' align-items-center ';
252
+					    }else{
253
+
254
+					    }
255
+
256
+					    $label_base_class = $aui_bs5 ? ' form-check-label' : ' custom-control-label';
257
+				    }
258
+				    $label_args['class'] .= $label_base_class;
259
+				    $temp_label_args = $label_args;
260
+				    if(! empty( $args['label_force_left'] )){$temp_label_args['class'] = $label_base_class." text-muted";}
261
+				    $label = self::label( $temp_label_args, $type );
262
+			    }
263
+
264
+
265
+
266
+
267
+			    // set help text in the correct position
268
+			    if ( $label_after ) {
269
+				    $output .= $label . $help_text;
270
+			    }
271
+
272
+			    // some input types need a separate wrap
273
+			    if ( $type == 'file' ) {
274
+				    $output = self::wrap( array(
275
+					    'content' => $output,
276
+					    'class'   => $aui_bs5 ? 'mb-3 custom-file' : 'form-group custom-file'
277
+				    ) );
278
+			    } elseif ( $type == 'checkbox' ) {
279
+
280
+				    $label_args['title'] = $args['label'];
281
+				    $label_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'label' );
282
+				    $label = !empty( $args['label_force_left'] ) ? self::label( $label_args, 'cb' ) : '<div class="' . $label_col . ' col-form-label"></div>';
283
+				    $switch_size_class = $args['switch'] && !is_bool( $args['switch'] ) ? ' custom-switch-'.esc_attr( $args['switch'] ) : '';
284
+				    if ( $aui_bs5 ) {
285
+					    $wrap_class = $args['switch'] ? 'form-check form-switch' . $switch_size_class : 'form-check';
286
+				    }else{
287
+					    $wrap_class = $args['switch'] ? 'custom-switch' . $switch_size_class :  'custom-checkbox' ;
288
+				    }
289
+				    if ( ! empty( $args['label_force_left'] ) ) {
290
+					    $wrap_class .= $aui_bs5 ? '' : ' d-flex align-content-center';
291
+					    $label = str_replace(array("form-check-label","custom-control-label"),"", self::label( $label_args, 'cb' ) );
292
+				    }
293
+				    $output     = self::wrap( array(
294
+					    'content' => $output,
295
+					    'class'   => $aui_bs5 ? $wrap_class : 'custom-control ' . $wrap_class
296
+				    ) );
297
+
298
+				    if ( $args['label_type'] == 'horizontal' ) {
299
+					    $input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
300
+					    $output    = $label . '<div class="' . $input_col . '">' . $output . '</div>';
301
+				    }
302
+			    } elseif ( $type == 'password' && $args['password_toggle'] && ! $args['input_group_right'] ) {
303
+
304
+
305
+				    // allow password field to toggle view
306
+				    $args['input_group_right'] = '<span class="input-group-text c-pointer px-3" 
307 307
 onclick="var $el = jQuery(this).find(\'i\');$el.toggleClass(\'fa-eye fa-eye-slash\');
308 308
 var $eli = jQuery(this).parent().parent().find(\'input\');
309 309
 if($el.hasClass(\'fa-eye\'))
310 310
 {$eli.attr(\'type\',\'text\');}
311 311
 else{$eli.attr(\'type\',\'password\');}"
312 312
 ><i class="far fa-fw fa-eye-slash"></i></span>';
313
-			}
314
-
315
-			// input group wraps
316
-			if ( $args['input_group_left'] || $args['input_group_right'] ) {
317
-				$w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
318
-				$group_size = $size == 'lg' ? ' input-group-lg' : '';
319
-				$group_size = !$group_size && $size == 'sm' ? ' input-group-sm' : $group_size;
320
-
321
-				if ( $args['input_group_left'] ) {
322
-					$output = self::wrap( array(
323
-						'content'                 => $output,
324
-						'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 . $group_size : 'input-group' . $group_size,
325
-						'input_group_left'        => $args['input_group_left'],
326
-						'input_group_left_inside' => $args['input_group_left_inside']
327
-					) );
328
-				}
329
-				if ( $args['input_group_right'] ) {
330
-					$output = self::wrap( array(
331
-						'content'                  => $output,
332
-						'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 . $group_size : 'input-group' . $group_size,
333
-						'input_group_right'        => $args['input_group_right'],
334
-						'input_group_right_inside' => $args['input_group_right_inside']
335
-					) );
336
-				}
337
-
338
-			}
339
-
340
-			if ( ! $label_after ) {
341
-				$output .= $help_text;
342
-			}
343
-
344
-
345
-			if ( $args['label_type'] == 'horizontal' && $type != 'checkbox' ) {
346
-				$output = self::wrap( array(
347
-					'content' => $output,
348
-					'class'   => AUI_Component_Helper::get_column_class( $args['label_col'], 'input' )
349
-				) );
350
-			}
351
-
352
-			if ( ! $label_after ) {
353
-				$output = $label . $output;
354
-			}
355
-
356
-			// wrap
357
-			if ( ! $args['no_wrap'] ) {
358
-				if ( ! empty( $args['form_group_class'] ) ) {
359
-					$fg_class = esc_attr( $args['form_group_class'] );
360
-				}else{
361
-					$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
362
-				}
363
-				$form_group_class = $args['label_type'] == 'floating' && $type != 'checkbox' ? 'form-label-group' : $fg_class;
364
-				$wrap_class       = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
365
-				$wrap_class       = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
366
-				$output           = self::wrap( array(
367
-					'content'         => $output,
368
-					'class'           => $wrap_class,
369
-					'element_require' => $args['element_require'],
370
-					'argument_id'     => $args['id'],
371
-					'wrap_attributes' => $args['wrap_attributes'],
372
-				) );
373
-			}
374
-		}
375
-
376
-		return $output;
377
-	}
378
-
379
-	public static function label( $args = array(), $type = '' ) {
380
-		global $aui_bs5;
381
-		//<label for="exampleInputEmail1">Email address</label>
382
-		$defaults = array(
383
-			'title'      => 'div',
384
-			'for'        => '',
385
-			'class'      => '',
386
-			'label_type' => '', // empty = hidden, top, horizontal
387
-			'label_col'  => '',
388
-		);
389
-
390
-		/**
313
+			    }
314
+
315
+			    // input group wraps
316
+			    if ( $args['input_group_left'] || $args['input_group_right'] ) {
317
+				    $w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
318
+				    $group_size = $size == 'lg' ? ' input-group-lg' : '';
319
+				    $group_size = !$group_size && $size == 'sm' ? ' input-group-sm' : $group_size;
320
+
321
+				    if ( $args['input_group_left'] ) {
322
+					    $output = self::wrap( array(
323
+						    'content'                 => $output,
324
+						    'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 . $group_size : 'input-group' . $group_size,
325
+						    'input_group_left'        => $args['input_group_left'],
326
+						    'input_group_left_inside' => $args['input_group_left_inside']
327
+					    ) );
328
+				    }
329
+				    if ( $args['input_group_right'] ) {
330
+					    $output = self::wrap( array(
331
+						    'content'                  => $output,
332
+						    'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 . $group_size : 'input-group' . $group_size,
333
+						    'input_group_right'        => $args['input_group_right'],
334
+						    'input_group_right_inside' => $args['input_group_right_inside']
335
+					    ) );
336
+				    }
337
+
338
+			    }
339
+
340
+			    if ( ! $label_after ) {
341
+				    $output .= $help_text;
342
+			    }
343
+
344
+
345
+			    if ( $args['label_type'] == 'horizontal' && $type != 'checkbox' ) {
346
+				    $output = self::wrap( array(
347
+					    'content' => $output,
348
+					    'class'   => AUI_Component_Helper::get_column_class( $args['label_col'], 'input' )
349
+				    ) );
350
+			    }
351
+
352
+			    if ( ! $label_after ) {
353
+				    $output = $label . $output;
354
+			    }
355
+
356
+			    // wrap
357
+			    if ( ! $args['no_wrap'] ) {
358
+				    if ( ! empty( $args['form_group_class'] ) ) {
359
+					    $fg_class = esc_attr( $args['form_group_class'] );
360
+				    }else{
361
+					    $fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
362
+				    }
363
+				    $form_group_class = $args['label_type'] == 'floating' && $type != 'checkbox' ? 'form-label-group' : $fg_class;
364
+				    $wrap_class       = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
365
+				    $wrap_class       = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
366
+				    $output           = self::wrap( array(
367
+					    'content'         => $output,
368
+					    'class'           => $wrap_class,
369
+					    'element_require' => $args['element_require'],
370
+					    'argument_id'     => $args['id'],
371
+					    'wrap_attributes' => $args['wrap_attributes'],
372
+				    ) );
373
+			    }
374
+		    }
375
+
376
+		    return $output;
377
+	    }
378
+
379
+	    public static function label( $args = array(), $type = '' ) {
380
+		    global $aui_bs5;
381
+		    //<label for="exampleInputEmail1">Email address</label>
382
+		    $defaults = array(
383
+			    'title'      => 'div',
384
+			    'for'        => '',
385
+			    'class'      => '',
386
+			    'label_type' => '', // empty = hidden, top, horizontal
387
+			    'label_col'  => '',
388
+		    );
389
+
390
+		    /**
391 391
 		 * Parse incoming $args into an array and merge it with $defaults
392 392
 		 */
393
-		$args   = wp_parse_args( $args, $defaults );
394
-		$output = '';
393
+		    $args   = wp_parse_args( $args, $defaults );
394
+		    $output = '';
395 395
 
396
-		if ( $args['title'] ) {
396
+		    if ( $args['title'] ) {
397 397
 
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 ' . $args['class'];
403
-			}
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 ' . $args['class'];
403
+			    }
404 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
-			}
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 409
 
410
-			if( $aui_bs5 ){ $class .= ' form-label'; }
410
+			    if( $aui_bs5 ){ $class .= ' form-label'; }
411 411
 
412
-			// open
413
-			$output .= '<label ';
412
+			    // open
413
+			    $output .= '<label ';
414 414
 
415
-			// for
416
-			if ( ! empty( $args['for'] ) ) {
417
-				$output .= ' for="' . esc_attr( $args['for'] ) . '" ';
418
-			}
415
+			    // for
416
+			    if ( ! empty( $args['for'] ) ) {
417
+				    $output .= ' for="' . esc_attr( $args['for'] ) . '" ';
418
+			    }
419 419
 
420
-			// class
421
-			$class = $class ? AUI_Component_Helper::esc_classes( $class ) : '';
422
-			$output .= ' class="' . $class . '" ';
420
+			    // class
421
+			    $class = $class ? AUI_Component_Helper::esc_classes( $class ) : '';
422
+			    $output .= ' class="' . $class . '" ';
423 423
 
424
-			// close
425
-			$output .= '>';
424
+			    // close
425
+			    $output .= '>';
426 426
 
427 427
 
428
-			// title, don't escape fully as can contain html
429
-			if ( ! empty( $args['title'] ) ) {
430
-				$output .= wp_kses_post( $args['title'] );
431
-			}
428
+			    // title, don't escape fully as can contain html
429
+			    if ( ! empty( $args['title'] ) ) {
430
+				    $output .= wp_kses_post( $args['title'] );
431
+			    }
432 432
 
433
-			// close wrap
434
-			$output .= '</label>';
433
+			    // close wrap
434
+			    $output .= '</label>';
435 435
 
436 436
 
437
-		}
437
+		    }
438 438
 
439 439
 
440
-		return $output;
441
-	}
440
+		    return $output;
441
+	    }
442 442
 
443
-	/**
443
+	    /**
444 444
 	 * Wrap some content in a HTML wrapper.
445 445
 	 *
446 446
 	 * @param array $args
447 447
 	 *
448 448
 	 * @return string
449 449
 	 */
450
-	public static function wrap( $args = array() ) {
451
-		global $aui_bs5;
452
-		$defaults = array(
453
-			'type'                     => 'div',
454
-			'class'                    => $aui_bs5 ? 'mb-3' : 'form-group',
455
-			'content'                  => '',
456
-			'input_group_left'         => '',
457
-			'input_group_right'        => '',
458
-			'input_group_left_inside'  => false,
459
-			'input_group_right_inside' => false,
460
-			'element_require'          => '',
461
-			'argument_id'              => '',
462
-			'wrap_attributes'          => array()
463
-		);
464
-
465
-		/**
450
+	    public static function wrap( $args = array() ) {
451
+		    global $aui_bs5;
452
+		    $defaults = array(
453
+			    'type'                     => 'div',
454
+			    'class'                    => $aui_bs5 ? 'mb-3' : 'form-group',
455
+			    'content'                  => '',
456
+			    'input_group_left'         => '',
457
+			    'input_group_right'        => '',
458
+			    'input_group_left_inside'  => false,
459
+			    'input_group_right_inside' => false,
460
+			    'element_require'          => '',
461
+			    'argument_id'              => '',
462
+			    'wrap_attributes'          => array()
463
+		    );
464
+
465
+		    /**
466 466
 		 * Parse incoming $args into an array and merge it with $defaults
467 467
 		 */
468
-		$args   = wp_parse_args( $args, $defaults );
469
-		$output = '';
470
-		if ( $args['type'] ) {
468
+		    $args   = wp_parse_args( $args, $defaults );
469
+		    $output = '';
470
+		    if ( $args['type'] ) {
471 471
 
472
-			// open
473
-			$output .= '<' . sanitize_html_class( $args['type'] );
472
+			    // open
473
+			    $output .= '<' . sanitize_html_class( $args['type'] );
474 474
 
475
-			// element require
476
-			if ( ! empty( $args['element_require'] ) ) {
477
-				$output .= AUI_Component_Helper::element_require( $args['element_require'] );
478
-				$args['class'] .= " aui-conditional-field";
479
-			}
475
+			    // element require
476
+			    if ( ! empty( $args['element_require'] ) ) {
477
+				    $output .= AUI_Component_Helper::element_require( $args['element_require'] );
478
+				    $args['class'] .= " aui-conditional-field";
479
+			    }
480 480
 
481
-			// argument_id
482
-			if ( ! empty( $args['argument_id'] ) ) {
483
-				$output .= ' data-argument="' . esc_attr( $args['argument_id'] ) . '"';
484
-			}
481
+			    // argument_id
482
+			    if ( ! empty( $args['argument_id'] ) ) {
483
+				    $output .= ' data-argument="' . esc_attr( $args['argument_id'] ) . '"';
484
+			    }
485 485
 
486
-			// class
487
-			$class = ! empty( $args['class'] ) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
488
-			$output .= ' class="' . $class . '" ';
486
+			    // class
487
+			    $class = ! empty( $args['class'] ) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
488
+			    $output .= ' class="' . $class . '" ';
489 489
 
490
-			// Attributes
491
-			if ( ! empty( $args['wrap_attributes'] ) ) {
492
-				$output .= AUI_Component_Helper::extra_attributes( $args['wrap_attributes'] );
493
-			}
490
+			    // Attributes
491
+			    if ( ! empty( $args['wrap_attributes'] ) ) {
492
+				    $output .= AUI_Component_Helper::extra_attributes( $args['wrap_attributes'] );
493
+			    }
494 494
 
495
-			// close wrap
496
-			$output .= ' >';
495
+			    // close wrap
496
+			    $output .= ' >';
497 497
 
498 498
 
499
-			// Input group left
500
-			if ( ! empty( $args['input_group_left'] ) ) {
501
-				$position_class   = ! empty( $args['input_group_left_inside'] ) ? 'position-absolute h-100' : '';
502
-				$input_group_left = strpos( $args['input_group_left'], '<' ) !== false ? $args['input_group_left'] : '<span class="input-group-text">' . $args['input_group_left'] . '</span>';
503
-				$output .= $aui_bs5 ? $input_group_left : '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
504
-//				$output .= '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
505
-			}
499
+			    // Input group left
500
+			    if ( ! empty( $args['input_group_left'] ) ) {
501
+				    $position_class   = ! empty( $args['input_group_left_inside'] ) ? 'position-absolute h-100' : '';
502
+				    $input_group_left = strpos( $args['input_group_left'], '<' ) !== false ? $args['input_group_left'] : '<span class="input-group-text">' . $args['input_group_left'] . '</span>';
503
+				    $output .= $aui_bs5 ? $input_group_left : '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
504
+    //				$output .= '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
505
+			    }
506 506
 
507
-			// content
508
-			$output .= $args['content'];
507
+			    // content
508
+			    $output .= $args['content'];
509 509
 
510
-			// Input group right
511
-			if ( ! empty( $args['input_group_right'] ) ) {
512
-				$position_class    = ! empty( $args['input_group_right_inside'] ) ? 'position-absolute h-100' : '';
513
-				$input_group_right = strpos( $args['input_group_right'], '<' ) !== false ? $args['input_group_right'] : '<span class="input-group-text">' . $args['input_group_right'] . '</span>';
514
-				$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>';
515
-//				$output .= '<div class="input-group-append ' . $position_class . '" style="top:0;right:0;">' . $input_group_right . '</div>';
516
-			}
510
+			    // Input group right
511
+			    if ( ! empty( $args['input_group_right'] ) ) {
512
+				    $position_class    = ! empty( $args['input_group_right_inside'] ) ? 'position-absolute h-100' : '';
513
+				    $input_group_right = strpos( $args['input_group_right'], '<' ) !== false ? $args['input_group_right'] : '<span class="input-group-text">' . $args['input_group_right'] . '</span>';
514
+				    $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>';
515
+    //				$output .= '<div class="input-group-append ' . $position_class . '" style="top:0;right:0;">' . $input_group_right . '</div>';
516
+			    }
517 517
 
518 518
 
519
-			// close wrap
520
-			$output .= '</' . sanitize_html_class( $args['type'] ) . '>';
519
+			    // close wrap
520
+			    $output .= '</' . sanitize_html_class( $args['type'] ) . '>';
521 521
 
522 522
 
523
-		} else {
524
-			$output = $args['content'];
525
-		}
523
+		    } else {
524
+			    $output = $args['content'];
525
+		    }
526 526
 
527
-		return $output;
528
-	}
527
+		    return $output;
528
+	    }
529 529
 
530
-	/**
530
+	    /**
531 531
 	 * Build the component.
532 532
 	 *
533 533
 	 * @param array $args
534 534
 	 *
535 535
 	 * @return string The rendered component.
536 536
 	 */
537
-	public static function textarea( $args = array() ) {
538
-		global $aui_bs5;
539
-
540
-		$defaults = array(
541
-			'name'               => '',
542
-			'class'              => '',
543
-			'wrap_class'         => '',
544
-			'id'                 => '',
545
-			'placeholder'        => '',
546
-			'title'              => '',
547
-			'value'              => '',
548
-			'required'           => false,
549
-			'label'              => '',
550
-			'label_after'        => false,
551
-			'label_class'        => '',
552
-			'label_type'         => '',
553
-			'label_col'          => '',
554
-			// sets the label type, default: hidden. Options: hidden, top, horizontal, floating
555
-			'input_group_right'        => '',
556
-			'input_group_left'         => '',
557
-			'input_group_right_inside' => false,
558
-			'form_group_class'      => '',
559
-			'help_text'          => '',
560
-			'validation_text'    => '',
561
-			'validation_pattern' => '',
562
-			'no_wrap'            => false,
563
-			'rows'               => '',
564
-			'wysiwyg'            => false,
565
-			'allow_tags'         => false,
566
-			// Allow HTML tags
567
-			'element_require'    => '',
568
-			// [%element_id%] == "1"
569
-			'extra_attributes'   => array(),
570
-			// an array of extra attributes
571
-			'wrap_attributes'    => array(),
572
-		);
573
-
574
-		/**
537
+	    public static function textarea( $args = array() ) {
538
+		    global $aui_bs5;
539
+
540
+		    $defaults = array(
541
+			    'name'               => '',
542
+			    'class'              => '',
543
+			    'wrap_class'         => '',
544
+			    'id'                 => '',
545
+			    'placeholder'        => '',
546
+			    'title'              => '',
547
+			    'value'              => '',
548
+			    'required'           => false,
549
+			    'label'              => '',
550
+			    'label_after'        => false,
551
+			    'label_class'        => '',
552
+			    'label_type'         => '',
553
+			    'label_col'          => '',
554
+			    // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
555
+			    'input_group_right'        => '',
556
+			    'input_group_left'         => '',
557
+			    'input_group_right_inside' => false,
558
+			    'form_group_class'      => '',
559
+			    'help_text'          => '',
560
+			    'validation_text'    => '',
561
+			    'validation_pattern' => '',
562
+			    'no_wrap'            => false,
563
+			    'rows'               => '',
564
+			    'wysiwyg'            => false,
565
+			    'allow_tags'         => false,
566
+			    // Allow HTML tags
567
+			    'element_require'    => '',
568
+			    // [%element_id%] == "1"
569
+			    'extra_attributes'   => array(),
570
+			    // an array of extra attributes
571
+			    'wrap_attributes'    => array(),
572
+		    );
573
+
574
+		    /**
575 575
 		 * Parse incoming $args into an array and merge it with $defaults
576 576
 		 */
577
-		$args   = wp_parse_args( $args, $defaults );
578
-		$output = '';
579
-		$label = '';
580
-
581
-		// hidden label option needs to be empty
582
-		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
583
-
584
-		// floating labels don't work with wysiwyg so set it as top
585
-		if ( $args['label_type'] == 'floating' && ! empty( $args['wysiwyg'] ) ) {
586
-			$args['label_type'] = 'top';
587
-		}
588
-
589
-		$label_after = $args['label_after'];
590
-
591
-		// floating labels need label after
592
-		if ( $args['label_type'] == 'floating' && empty( $args['wysiwyg'] ) ) {
593
-			$label_after         = true;
594
-			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
595
-		}
596
-
597
-		// label
598
-		if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
599
-		} elseif ( ! empty( $args['label'] ) && ! $label_after ) {
600
-			$label_args = array(
601
-				'title'      => $args['label'],
602
-				'for'        => $args['id'],
603
-				'class'      => $args['label_class'] . " ",
604
-				'label_type' => $args['label_type'],
605
-				'label_col'  => $args['label_col']
606
-			);
607
-			$label .= self::label( $label_args );
608
-		}
609
-
610
-		// maybe horizontal label
611
-		if ( $args['label_type'] == 'horizontal' ) {
612
-			$input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
613
-			$label .= '<div class="' . $input_col . '">';
614
-		}
615
-
616
-		if ( ! empty( $args['wysiwyg'] ) ) {
617
-			ob_start();
618
-			$content   = $args['value'];
619
-			$editor_id = ! empty( $args['id'] ) ? sanitize_html_class( $args['id'] ) : 'wp_editor';
620
-			$settings  = array(
621
-				'textarea_rows' => ! empty( absint( $args['rows'] ) ) ? absint( $args['rows'] ) : 4,
622
-				'quicktags'     => false,
623
-				'media_buttons' => false,
624
-				'editor_class'  => 'form-control',
625
-				'textarea_name' => ! empty( $args['name'] ) ? sanitize_html_class( $args['name'] ) : sanitize_html_class( $args['id'] ),
626
-				'teeny'         => true,
627
-			);
628
-
629
-			// maybe set settings if array
630
-			if ( is_array( $args['wysiwyg'] ) ) {
631
-				$settings = wp_parse_args( $args['wysiwyg'], $settings );
632
-			}
633
-
634
-			wp_editor( $content, $editor_id, $settings );
635
-			$output .= ob_get_clean();
636
-		} else {
637
-
638
-			// open
639
-			$output .= '<textarea ';
640
-
641
-			// name
642
-			if ( ! empty( $args['name'] ) ) {
643
-				$output .= ' name="' . esc_attr( $args['name'] ) . '" ';
644
-			}
645
-
646
-			// id
647
-			if ( ! empty( $args['id'] ) ) {
648
-				$output .= ' id="' . sanitize_html_class( $args['id'] ) . '" ';
649
-			}
650
-
651
-			// placeholder
652
-			if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] ) {
653
-				$output .= ' placeholder="' . esc_attr( $args['placeholder'] ) . '" ';
654
-			}
655
-
656
-			// title
657
-			if ( ! empty( $args['title'] ) ) {
658
-				$output .= ' title="' . esc_attr( $args['title'] ) . '" ';
659
-			}
660
-
661
-			// validation text
662
-			if ( ! empty( $args['validation_text'] ) ) {
663
-				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr( addslashes( $args['validation_text'] ) ) . '\')" ';
664
-				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
665
-			}
666
-
667
-			// validation_pattern
668
-			if ( ! empty( $args['validation_pattern'] ) ) {
669
-				$output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
670
-			}
671
-
672
-			// required
673
-			if ( ! empty( $args['required'] ) ) {
674
-				$output .= ' required ';
675
-			}
676
-
677
-			// rows
678
-			if ( ! empty( $args['rows'] ) ) {
679
-				$output .= ' rows="' . absint( $args['rows'] ) . '" ';
680
-			}
681
-
682
-
683
-			// class
684
-			$class = ! empty( $args['class'] ) ? $args['class'] : '';
685
-			$output .= ' class="form-control ' . $class . '" ';
686
-
687
-			// extra attributes
688
-			if ( ! empty( $args['extra_attributes'] ) ) {
689
-				$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
690
-			}
691
-
692
-			// close tag
693
-			$output .= ' >';
694
-
695
-			// value
696
-			if ( ! empty( $args['value'] ) ) {
697
-				if ( ! empty( $args['allow_tags'] ) ) {
698
-					$output .= AUI_Component_Helper::sanitize_html_field( $args['value'], $args ); // Sanitize HTML.
699
-				} else {
700
-					$output .= AUI_Component_Helper::sanitize_textarea_field( $args['value'] );
701
-				}
702
-			}
703
-
704
-			// closing tag
705
-			$output .= '</textarea>';
706
-
707
-
708
-			// input group wraps
709
-			if ( $args['input_group_left'] || $args['input_group_right'] ) {
710
-				$w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
711
-				if ( $args['input_group_left'] ) {
712
-					$output = self::wrap( array(
713
-						'content'                 => $output,
714
-						'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
715
-						'input_group_left'        => $args['input_group_left'],
716
-						'input_group_left_inside' => $args['input_group_left_inside']
717
-					) );
718
-				}
719
-				if ( $args['input_group_right'] ) {
720
-					$output = self::wrap( array(
721
-						'content'                  => $output,
722
-						'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
723
-						'input_group_right'        => $args['input_group_right'],
724
-						'input_group_right_inside' => $args['input_group_right_inside']
725
-					) );
726
-				}
727
-
728
-			}
729
-
730
-
731
-		}
732
-
733
-		if ( ! empty( $args['label'] ) && $label_after ) {
734
-			$label_args = array(
735
-				'title'      => $args['label'],
736
-				'for'        => $args['id'],
737
-				'class'      => $args['label_class'] . " ",
738
-				'label_type' => $args['label_type'],
739
-				'label_col'  => $args['label_col']
740
-			);
741
-			$output .= self::label( $label_args );
742
-		}
743
-
744
-		// help text
745
-		if ( ! empty( $args['help_text'] ) ) {
746
-			$output .= AUI_Component_Helper::help_text( $args['help_text'] );
747
-		}
748
-
749
-		if ( ! $label_after ) {
750
-			$output = $label . $output;
751
-		}
752
-
753
-		// maybe horizontal label
754
-		if ( $args['label_type'] == 'horizontal' ) {
755
-			$output .= '</div>';
756
-		}
757
-
758
-
759
-		// wrap
760
-		if ( ! $args['no_wrap'] ) {
761
-			if ( ! empty( $args['form_group_class'] ) ) {
762
-				$fg_class = esc_attr( $args['form_group_class'] );
763
-			}else{
764
-				$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
765
-			}
766
-			$form_group_class = $args['label_type'] == 'floating' ? 'form-label-group' : $fg_class;
767
-			$wrap_class       = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
768
-			$wrap_class       = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
769
-			$output           = self::wrap( array(
770
-				'content'         => $output,
771
-				'class'           => $wrap_class,
772
-				'element_require' => $args['element_require'],
773
-				'argument_id'     => $args['id'],
774
-				'wrap_attributes' => $args['wrap_attributes'],
775
-			) );
776
-		}
777
-
778
-
779
-		return $output;
780
-	}
781
-
782
-	/**
577
+		    $args   = wp_parse_args( $args, $defaults );
578
+		    $output = '';
579
+		    $label = '';
580
+
581
+		    // hidden label option needs to be empty
582
+		    $args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
583
+
584
+		    // floating labels don't work with wysiwyg so set it as top
585
+		    if ( $args['label_type'] == 'floating' && ! empty( $args['wysiwyg'] ) ) {
586
+			    $args['label_type'] = 'top';
587
+		    }
588
+
589
+		    $label_after = $args['label_after'];
590
+
591
+		    // floating labels need label after
592
+		    if ( $args['label_type'] == 'floating' && empty( $args['wysiwyg'] ) ) {
593
+			    $label_after         = true;
594
+			    $args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
595
+		    }
596
+
597
+		    // label
598
+		    if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
599
+		    } elseif ( ! empty( $args['label'] ) && ! $label_after ) {
600
+			    $label_args = array(
601
+				    'title'      => $args['label'],
602
+				    'for'        => $args['id'],
603
+				    'class'      => $args['label_class'] . " ",
604
+				    'label_type' => $args['label_type'],
605
+				    'label_col'  => $args['label_col']
606
+			    );
607
+			    $label .= self::label( $label_args );
608
+		    }
609
+
610
+		    // maybe horizontal label
611
+		    if ( $args['label_type'] == 'horizontal' ) {
612
+			    $input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
613
+			    $label .= '<div class="' . $input_col . '">';
614
+		    }
615
+
616
+		    if ( ! empty( $args['wysiwyg'] ) ) {
617
+			    ob_start();
618
+			    $content   = $args['value'];
619
+			    $editor_id = ! empty( $args['id'] ) ? sanitize_html_class( $args['id'] ) : 'wp_editor';
620
+			    $settings  = array(
621
+				    'textarea_rows' => ! empty( absint( $args['rows'] ) ) ? absint( $args['rows'] ) : 4,
622
+				    'quicktags'     => false,
623
+				    'media_buttons' => false,
624
+				    'editor_class'  => 'form-control',
625
+				    'textarea_name' => ! empty( $args['name'] ) ? sanitize_html_class( $args['name'] ) : sanitize_html_class( $args['id'] ),
626
+				    'teeny'         => true,
627
+			    );
628
+
629
+			    // maybe set settings if array
630
+			    if ( is_array( $args['wysiwyg'] ) ) {
631
+				    $settings = wp_parse_args( $args['wysiwyg'], $settings );
632
+			    }
633
+
634
+			    wp_editor( $content, $editor_id, $settings );
635
+			    $output .= ob_get_clean();
636
+		    } else {
637
+
638
+			    // open
639
+			    $output .= '<textarea ';
640
+
641
+			    // name
642
+			    if ( ! empty( $args['name'] ) ) {
643
+				    $output .= ' name="' . esc_attr( $args['name'] ) . '" ';
644
+			    }
645
+
646
+			    // id
647
+			    if ( ! empty( $args['id'] ) ) {
648
+				    $output .= ' id="' . sanitize_html_class( $args['id'] ) . '" ';
649
+			    }
650
+
651
+			    // placeholder
652
+			    if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] ) {
653
+				    $output .= ' placeholder="' . esc_attr( $args['placeholder'] ) . '" ';
654
+			    }
655
+
656
+			    // title
657
+			    if ( ! empty( $args['title'] ) ) {
658
+				    $output .= ' title="' . esc_attr( $args['title'] ) . '" ';
659
+			    }
660
+
661
+			    // validation text
662
+			    if ( ! empty( $args['validation_text'] ) ) {
663
+				    $output .= ' oninvalid="setCustomValidity(\'' . esc_attr( addslashes( $args['validation_text'] ) ) . '\')" ';
664
+				    $output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
665
+			    }
666
+
667
+			    // validation_pattern
668
+			    if ( ! empty( $args['validation_pattern'] ) ) {
669
+				    $output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
670
+			    }
671
+
672
+			    // required
673
+			    if ( ! empty( $args['required'] ) ) {
674
+				    $output .= ' required ';
675
+			    }
676
+
677
+			    // rows
678
+			    if ( ! empty( $args['rows'] ) ) {
679
+				    $output .= ' rows="' . absint( $args['rows'] ) . '" ';
680
+			    }
681
+
682
+
683
+			    // class
684
+			    $class = ! empty( $args['class'] ) ? $args['class'] : '';
685
+			    $output .= ' class="form-control ' . $class . '" ';
686
+
687
+			    // extra attributes
688
+			    if ( ! empty( $args['extra_attributes'] ) ) {
689
+				    $output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
690
+			    }
691
+
692
+			    // close tag
693
+			    $output .= ' >';
694
+
695
+			    // value
696
+			    if ( ! empty( $args['value'] ) ) {
697
+				    if ( ! empty( $args['allow_tags'] ) ) {
698
+					    $output .= AUI_Component_Helper::sanitize_html_field( $args['value'], $args ); // Sanitize HTML.
699
+				    } else {
700
+					    $output .= AUI_Component_Helper::sanitize_textarea_field( $args['value'] );
701
+				    }
702
+			    }
703
+
704
+			    // closing tag
705
+			    $output .= '</textarea>';
706
+
707
+
708
+			    // input group wraps
709
+			    if ( $args['input_group_left'] || $args['input_group_right'] ) {
710
+				    $w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
711
+				    if ( $args['input_group_left'] ) {
712
+					    $output = self::wrap( array(
713
+						    'content'                 => $output,
714
+						    'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
715
+						    'input_group_left'        => $args['input_group_left'],
716
+						    'input_group_left_inside' => $args['input_group_left_inside']
717
+					    ) );
718
+				    }
719
+				    if ( $args['input_group_right'] ) {
720
+					    $output = self::wrap( array(
721
+						    'content'                  => $output,
722
+						    'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
723
+						    'input_group_right'        => $args['input_group_right'],
724
+						    'input_group_right_inside' => $args['input_group_right_inside']
725
+					    ) );
726
+				    }
727
+
728
+			    }
729
+
730
+
731
+		    }
732
+
733
+		    if ( ! empty( $args['label'] ) && $label_after ) {
734
+			    $label_args = array(
735
+				    'title'      => $args['label'],
736
+				    'for'        => $args['id'],
737
+				    'class'      => $args['label_class'] . " ",
738
+				    'label_type' => $args['label_type'],
739
+				    'label_col'  => $args['label_col']
740
+			    );
741
+			    $output .= self::label( $label_args );
742
+		    }
743
+
744
+		    // help text
745
+		    if ( ! empty( $args['help_text'] ) ) {
746
+			    $output .= AUI_Component_Helper::help_text( $args['help_text'] );
747
+		    }
748
+
749
+		    if ( ! $label_after ) {
750
+			    $output = $label . $output;
751
+		    }
752
+
753
+		    // maybe horizontal label
754
+		    if ( $args['label_type'] == 'horizontal' ) {
755
+			    $output .= '</div>';
756
+		    }
757
+
758
+
759
+		    // wrap
760
+		    if ( ! $args['no_wrap'] ) {
761
+			    if ( ! empty( $args['form_group_class'] ) ) {
762
+				    $fg_class = esc_attr( $args['form_group_class'] );
763
+			    }else{
764
+				    $fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
765
+			    }
766
+			    $form_group_class = $args['label_type'] == 'floating' ? 'form-label-group' : $fg_class;
767
+			    $wrap_class       = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
768
+			    $wrap_class       = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
769
+			    $output           = self::wrap( array(
770
+				    'content'         => $output,
771
+				    'class'           => $wrap_class,
772
+				    'element_require' => $args['element_require'],
773
+				    'argument_id'     => $args['id'],
774
+				    'wrap_attributes' => $args['wrap_attributes'],
775
+			    ) );
776
+		    }
777
+
778
+
779
+		    return $output;
780
+	    }
781
+
782
+	    /**
783 783
 	 * Build the component.
784 784
 	 *
785 785
 	 * @param array $args
786 786
 	 *
787 787
 	 * @return string The rendered component.
788 788
 	 */
789
-	public static function select( $args = array() ) {
790
-		global $aui_bs5, $aui_has_select2, $aui_select2_enqueued;
791
-
792
-		$defaults = array(
793
-			'class'            => '',
794
-			'wrap_class'       => '',
795
-			'id'               => '',
796
-			'title'            => '',
797
-			'value'            => '',
798
-			// can be an array or a string
799
-			'required'         => false,
800
-			'label'            => '',
801
-			'label_after'      => false,
802
-			'label_type'       => '',
803
-			'label_col'        => '',
804
-			// sets the label type, default: hidden. Options: hidden, top, horizontal, floating
805
-			'label_class'      => '',
806
-			'help_text'        => '',
807
-			'placeholder'      => '',
808
-			'options'          => array(),
809
-			// array or string
810
-			'icon'             => '',
811
-			'multiple'         => false,
812
-			'select2'          => false,
813
-			'no_wrap'          => false,
814
-			'input_group_right' => '',
815
-			'input_group_left' => '',
816
-			'input_group_right_inside' => false, // forces the input group inside the input
817
-			'input_group_left_inside' => false, // forces the input group inside the input
818
-			'form_group_class'  => '',
819
-			'element_require'  => '',
820
-			// [%element_id%] == "1"
821
-			'extra_attributes' => array(),
822
-			// an array of extra attributes
823
-			'wrap_attributes'  => array(),
824
-		);
825
-
826
-		/**
789
+	    public static function select( $args = array() ) {
790
+		    global $aui_bs5, $aui_has_select2, $aui_select2_enqueued;
791
+
792
+		    $defaults = array(
793
+			    'class'            => '',
794
+			    'wrap_class'       => '',
795
+			    'id'               => '',
796
+			    'title'            => '',
797
+			    'value'            => '',
798
+			    // can be an array or a string
799
+			    'required'         => false,
800
+			    'label'            => '',
801
+			    'label_after'      => false,
802
+			    'label_type'       => '',
803
+			    'label_col'        => '',
804
+			    // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
805
+			    'label_class'      => '',
806
+			    'help_text'        => '',
807
+			    'placeholder'      => '',
808
+			    'options'          => array(),
809
+			    // array or string
810
+			    'icon'             => '',
811
+			    'multiple'         => false,
812
+			    'select2'          => false,
813
+			    'no_wrap'          => false,
814
+			    'input_group_right' => '',
815
+			    'input_group_left' => '',
816
+			    'input_group_right_inside' => false, // forces the input group inside the input
817
+			    'input_group_left_inside' => false, // forces the input group inside the input
818
+			    'form_group_class'  => '',
819
+			    'element_require'  => '',
820
+			    // [%element_id%] == "1"
821
+			    'extra_attributes' => array(),
822
+			    // an array of extra attributes
823
+			    'wrap_attributes'  => array(),
824
+		    );
825
+
826
+		    /**
827 827
 		 * Parse incoming $args into an array and merge it with $defaults
828 828
 		 */
829
-		$args   = wp_parse_args( $args, $defaults );
830
-		$output = '';
831
-
832
-		// for now lets hide floating labels
833
-		if ( $args['label_type'] == 'floating' ) {
834
-			$args['label_type'] = 'hidden';
835
-		}
836
-
837
-		// hidden label option needs to be empty
838
-		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
839
-
840
-
841
-		$label_after = $args['label_after'];
842
-
843
-		// floating labels need label after
844
-		if ( $args['label_type'] == 'floating' ) {
845
-			$label_after         = true;
846
-			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
847
-		}
848
-
849
-		// Maybe setup select2
850
-		$is_select2 = false;
851
-		if ( ! empty( $args['select2'] ) ) {
852
-			$args['class'] .= ' aui-select2';
853
-			$is_select2 = true;
854
-		} elseif ( strpos( $args['class'], 'aui-select2' ) !== false ) {
855
-			$is_select2 = true;
856
-		}
857
-
858
-		if ( $is_select2 && ! $aui_has_select2 ) {
859
-			$aui_has_select2 = true;
860
-			$conditional_select2 = apply_filters( 'aui_is_conditional_select2', true );
861
-
862
-			// Enqueue the script,
863
-			if ( empty( $aui_select2_enqueued ) && $conditional_select2 === true ) {
864
-				$aui_select2_enqueued = true;
865
-
866
-				$aui_settings = AyeCode_UI_Settings::instance();
867
-				$aui_settings->enqueue_select2();
868
-			}
869
-		}
870
-
871
-		// select2 tags
872
-		if ( ! empty( $args['select2'] ) && $args['select2'] === 'tags' ) { // triple equals needed here for some reason
873
-			$args['data-tags']             = 'true';
874
-			$args['data-token-separators'] = "[',']";
875
-			$args['multiple']              = true;
876
-		}
877
-
878
-		// select2 placeholder
879
-		if ( $is_select2 && isset( $args['placeholder'] ) && '' != $args['placeholder'] && empty( $args['data-placeholder'] ) ) {
880
-			$args['data-placeholder'] = esc_attr( $args['placeholder'] );
881
-			$args['data-allow-clear'] = isset( $args['data-allow-clear'] ) ? (bool) $args['data-allow-clear'] : true;
882
-		}
883
-
884
-		// Set hidden input to save empty value for multiselect.
885
-		if ( ! empty( $args['multiple'] ) && ! empty( $args['name'] ) ) {
886
-			$output .= '<input type="hidden" ' . AUI_Component_Helper::name( $args['name'] ) . ' value="" data-ignore-rule/>';
887
-		}
888
-
889
-		// open/type
890
-		$output .= '<select ';
891
-
892
-		// style
893
-		if ( $is_select2 && !($args['input_group_left'] || $args['input_group_right'])) {
894
-			$output .= " style='width:100%;' ";
895
-		}
896
-
897
-		// element require
898
-		if ( ! empty( $args['element_require'] ) ) {
899
-			$output .= AUI_Component_Helper::element_require( $args['element_require'] );
900
-			$args['class'] .= " aui-conditional-field";
901
-		}
902
-
903
-		// class
904
-		$class = ! empty( $args['class'] ) ? $args['class'] : '';
905
-		$select_class = $aui_bs5 ? 'form-select ' : 'custom-select ';
906
-		$output .= AUI_Component_Helper::class_attr( $select_class . $class );
907
-
908
-		// name
909
-		if ( ! empty( $args['name'] ) ) {
910
-			$output .= AUI_Component_Helper::name( $args['name'], $args['multiple'] );
911
-		}
912
-
913
-		// id
914
-		if ( ! empty( $args['id'] ) ) {
915
-			$output .= AUI_Component_Helper::id( $args['id'] );
916
-		}
917
-
918
-		// title
919
-		if ( ! empty( $args['title'] ) ) {
920
-			$output .= AUI_Component_Helper::title( $args['title'] );
921
-		}
922
-
923
-		// data-attributes
924
-		$output .= AUI_Component_Helper::data_attributes( $args );
925
-
926
-		// aria-attributes
927
-		$output .= AUI_Component_Helper::aria_attributes( $args );
928
-
929
-		// extra attributes
930
-		if ( ! empty( $args['extra_attributes'] ) ) {
931
-			$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
932
-		}
933
-
934
-		// required
935
-		if ( ! empty( $args['required'] ) ) {
936
-			$output .= ' required ';
937
-		}
938
-
939
-		// multiple
940
-		if ( ! empty( $args['multiple'] ) ) {
941
-			$output .= ' multiple ';
942
-		}
943
-
944
-		// close opening tag
945
-		$output .= ' >';
946
-
947
-		// placeholder
948
-		if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] && ! $is_select2 ) {
949
-			$output .= '<option value="" disabled selected hidden>' . esc_attr( $args['placeholder'] ) . '</option>';
950
-		} elseif ( $is_select2 && ! empty( $args['placeholder'] ) ) {
951
-			$output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
952
-		}
953
-
954
-		// Options
955
-		if ( ! empty( $args['options'] ) ) {
956
-
957
-			if ( ! is_array( $args['options'] ) ) {
958
-				$output .= $args['options']; // not the preferred way but an option
959
-			} else {
960
-				foreach ( $args['options'] as $val => $name ) {
961
-					$selected = '';
962
-					if ( is_array( $name ) ) {
963
-						if ( isset( $name['optgroup'] ) && ( $name['optgroup'] == 'start' || $name['optgroup'] == 'end' ) ) {
964
-							$option_label = isset( $name['label'] ) ? $name['label'] : '';
965
-
966
-							$output .= $name['optgroup'] == 'start' ? '<optgroup label="' . esc_attr( $option_label ) . '">' : '</optgroup>';
967
-						} else {
968
-							$option_label = isset( $name['label'] ) ? $name['label'] : '';
969
-							$option_value = isset( $name['value'] ) ? $name['value'] : '';
970
-							$extra_attributes = !empty($name['extra_attributes']) ? AUI_Component_Helper::extra_attributes( $name['extra_attributes'] ) : '';
971
-							if ( ! empty( $args['multiple'] ) && ! empty( $args['value'] ) && is_array( $args['value'] ) ) {
972
-								$selected = in_array( $option_value, stripslashes_deep( $args['value'] ) ) ? "selected" : "";
973
-							} elseif ( ! empty( $args['value'] ) ) {
974
-								$selected = selected( $option_value, stripslashes_deep( $args['value'] ), false );
975
-							} elseif ( empty( $args['value'] ) && $args['value'] === $option_value ) {
976
-								$selected = selected( $option_value, $args['value'], false );
977
-							}
978
-
979
-							$output .= '<option value="' . esc_attr( $option_value ) . '" ' . $selected . ' '.$extra_attributes .'>' . $option_label . '</option>';
980
-						}
981
-					} else {
982
-						if ( ! empty( $args['value'] ) ) {
983
-							if ( is_array( $args['value'] ) ) {
984
-								$selected = in_array( $val, $args['value'] ) ? 'selected="selected"' : '';
985
-							} elseif ( ! empty( $args['value'] ) ) {
986
-								$selected = selected( $args['value'], $val, false );
987
-							}
988
-						} elseif ( $args['value'] === $val ) {
989
-							$selected = selected( $args['value'], $val, false );
990
-						}
991
-						$output .= '<option value="' . esc_attr( $val ) . '" ' . $selected . '>' . esc_attr( $name ) . '</option>';
992
-					}
993
-				}
994
-			}
995
-
996
-		}
997
-
998
-		// closing tag
999
-		$output .= '</select>';
1000
-
1001
-		$label = '';
1002
-		$help_text = '';
1003
-		// label
1004
-		if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
1005
-		} elseif ( ! empty( $args['label'] ) && ! $label_after ) {
1006
-			$label_args = array(
1007
-				'title'      => $args['label'],
1008
-				'for'        => $args['id'],
1009
-				'class'      => $args['label_class'] . " ",
1010
-				'label_type' => $args['label_type'],
1011
-				'label_col'  => $args['label_col']
1012
-			);
1013
-			$label = self::label( $label_args );
1014
-		}
1015
-
1016
-		// help text
1017
-		if ( ! empty( $args['help_text'] ) ) {
1018
-			$help_text = AUI_Component_Helper::help_text( $args['help_text'] );
1019
-		}
1020
-
1021
-		// input group wraps
1022
-		if ( $args['input_group_left'] || $args['input_group_right'] ) {
1023
-			$w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
1024
-			if ( $args['input_group_left'] ) {
1025
-				$output = self::wrap( array(
1026
-					'content'                 => $output,
1027
-					'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
1028
-					'input_group_left'        => $args['input_group_left'],
1029
-					'input_group_left_inside' => $args['input_group_left_inside']
1030
-				) );
1031
-			}
1032
-			if ( $args['input_group_right'] ) {
1033
-				$output = self::wrap( array(
1034
-					'content'                  => $output,
1035
-					'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
1036
-					'input_group_right'        => $args['input_group_right'],
1037
-					'input_group_right_inside' => $args['input_group_right_inside']
1038
-				) );
1039
-			}
1040
-
1041
-		}
1042
-
1043
-		if ( ! $label_after ) {
1044
-			$output .= $help_text;
1045
-		}
1046
-
1047
-
1048
-		if ( $args['label_type'] == 'horizontal' ) {
1049
-			$output = self::wrap( array(
1050
-				'content' => $output,
1051
-				'class'   => AUI_Component_Helper::get_column_class( $args['label_col'], 'input' )
1052
-			) );
1053
-		}
1054
-
1055
-		if ( ! $label_after ) {
1056
-			$output = $label . $output;
1057
-		}
1058
-
1059
-		// maybe horizontal label
1060
-//		if ( $args['label_type'] == 'horizontal' ) {
1061
-//			$output .= '</div>';
1062
-//		}
1063
-
1064
-
1065
-		// wrap
1066
-		if ( ! $args['no_wrap'] ) {
1067
-			if ( ! empty( $args['form_group_class'] ) ) {
1068
-				$fg_class = esc_attr( $args['form_group_class'] );
1069
-			}else{
1070
-				$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1071
-			}
1072
-			$wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
1073
-			$wrap_class = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1074
-			$output     = self::wrap( array(
1075
-				'content'         => $output,
1076
-				'class'           => $wrap_class,
1077
-				'element_require' => $args['element_require'],
1078
-				'argument_id'     => $args['id'],
1079
-				'wrap_attributes' => $args['wrap_attributes'],
1080
-			) );
1081
-		}
1082
-
1083
-
1084
-		return $output;
1085
-	}
1086
-
1087
-	/**
829
+		    $args   = wp_parse_args( $args, $defaults );
830
+		    $output = '';
831
+
832
+		    // for now lets hide floating labels
833
+		    if ( $args['label_type'] == 'floating' ) {
834
+			    $args['label_type'] = 'hidden';
835
+		    }
836
+
837
+		    // hidden label option needs to be empty
838
+		    $args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
839
+
840
+
841
+		    $label_after = $args['label_after'];
842
+
843
+		    // floating labels need label after
844
+		    if ( $args['label_type'] == 'floating' ) {
845
+			    $label_after         = true;
846
+			    $args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
847
+		    }
848
+
849
+		    // Maybe setup select2
850
+		    $is_select2 = false;
851
+		    if ( ! empty( $args['select2'] ) ) {
852
+			    $args['class'] .= ' aui-select2';
853
+			    $is_select2 = true;
854
+		    } elseif ( strpos( $args['class'], 'aui-select2' ) !== false ) {
855
+			    $is_select2 = true;
856
+		    }
857
+
858
+		    if ( $is_select2 && ! $aui_has_select2 ) {
859
+			    $aui_has_select2 = true;
860
+			    $conditional_select2 = apply_filters( 'aui_is_conditional_select2', true );
861
+
862
+			    // Enqueue the script,
863
+			    if ( empty( $aui_select2_enqueued ) && $conditional_select2 === true ) {
864
+				    $aui_select2_enqueued = true;
865
+
866
+				    $aui_settings = AyeCode_UI_Settings::instance();
867
+				    $aui_settings->enqueue_select2();
868
+			    }
869
+		    }
870
+
871
+		    // select2 tags
872
+		    if ( ! empty( $args['select2'] ) && $args['select2'] === 'tags' ) { // triple equals needed here for some reason
873
+			    $args['data-tags']             = 'true';
874
+			    $args['data-token-separators'] = "[',']";
875
+			    $args['multiple']              = true;
876
+		    }
877
+
878
+		    // select2 placeholder
879
+		    if ( $is_select2 && isset( $args['placeholder'] ) && '' != $args['placeholder'] && empty( $args['data-placeholder'] ) ) {
880
+			    $args['data-placeholder'] = esc_attr( $args['placeholder'] );
881
+			    $args['data-allow-clear'] = isset( $args['data-allow-clear'] ) ? (bool) $args['data-allow-clear'] : true;
882
+		    }
883
+
884
+		    // Set hidden input to save empty value for multiselect.
885
+		    if ( ! empty( $args['multiple'] ) && ! empty( $args['name'] ) ) {
886
+			    $output .= '<input type="hidden" ' . AUI_Component_Helper::name( $args['name'] ) . ' value="" data-ignore-rule/>';
887
+		    }
888
+
889
+		    // open/type
890
+		    $output .= '<select ';
891
+
892
+		    // style
893
+		    if ( $is_select2 && !($args['input_group_left'] || $args['input_group_right'])) {
894
+			    $output .= " style='width:100%;' ";
895
+		    }
896
+
897
+		    // element require
898
+		    if ( ! empty( $args['element_require'] ) ) {
899
+			    $output .= AUI_Component_Helper::element_require( $args['element_require'] );
900
+			    $args['class'] .= " aui-conditional-field";
901
+		    }
902
+
903
+		    // class
904
+		    $class = ! empty( $args['class'] ) ? $args['class'] : '';
905
+		    $select_class = $aui_bs5 ? 'form-select ' : 'custom-select ';
906
+		    $output .= AUI_Component_Helper::class_attr( $select_class . $class );
907
+
908
+		    // name
909
+		    if ( ! empty( $args['name'] ) ) {
910
+			    $output .= AUI_Component_Helper::name( $args['name'], $args['multiple'] );
911
+		    }
912
+
913
+		    // id
914
+		    if ( ! empty( $args['id'] ) ) {
915
+			    $output .= AUI_Component_Helper::id( $args['id'] );
916
+		    }
917
+
918
+		    // title
919
+		    if ( ! empty( $args['title'] ) ) {
920
+			    $output .= AUI_Component_Helper::title( $args['title'] );
921
+		    }
922
+
923
+		    // data-attributes
924
+		    $output .= AUI_Component_Helper::data_attributes( $args );
925
+
926
+		    // aria-attributes
927
+		    $output .= AUI_Component_Helper::aria_attributes( $args );
928
+
929
+		    // extra attributes
930
+		    if ( ! empty( $args['extra_attributes'] ) ) {
931
+			    $output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
932
+		    }
933
+
934
+		    // required
935
+		    if ( ! empty( $args['required'] ) ) {
936
+			    $output .= ' required ';
937
+		    }
938
+
939
+		    // multiple
940
+		    if ( ! empty( $args['multiple'] ) ) {
941
+			    $output .= ' multiple ';
942
+		    }
943
+
944
+		    // close opening tag
945
+		    $output .= ' >';
946
+
947
+		    // placeholder
948
+		    if ( isset( $args['placeholder'] ) && '' != $args['placeholder'] && ! $is_select2 ) {
949
+			    $output .= '<option value="" disabled selected hidden>' . esc_attr( $args['placeholder'] ) . '</option>';
950
+		    } elseif ( $is_select2 && ! empty( $args['placeholder'] ) ) {
951
+			    $output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
952
+		    }
953
+
954
+		    // Options
955
+		    if ( ! empty( $args['options'] ) ) {
956
+
957
+			    if ( ! is_array( $args['options'] ) ) {
958
+				    $output .= $args['options']; // not the preferred way but an option
959
+			    } else {
960
+				    foreach ( $args['options'] as $val => $name ) {
961
+					    $selected = '';
962
+					    if ( is_array( $name ) ) {
963
+						    if ( isset( $name['optgroup'] ) && ( $name['optgroup'] == 'start' || $name['optgroup'] == 'end' ) ) {
964
+							    $option_label = isset( $name['label'] ) ? $name['label'] : '';
965
+
966
+							    $output .= $name['optgroup'] == 'start' ? '<optgroup label="' . esc_attr( $option_label ) . '">' : '</optgroup>';
967
+						    } else {
968
+							    $option_label = isset( $name['label'] ) ? $name['label'] : '';
969
+							    $option_value = isset( $name['value'] ) ? $name['value'] : '';
970
+							    $extra_attributes = !empty($name['extra_attributes']) ? AUI_Component_Helper::extra_attributes( $name['extra_attributes'] ) : '';
971
+							    if ( ! empty( $args['multiple'] ) && ! empty( $args['value'] ) && is_array( $args['value'] ) ) {
972
+								    $selected = in_array( $option_value, stripslashes_deep( $args['value'] ) ) ? "selected" : "";
973
+							    } elseif ( ! empty( $args['value'] ) ) {
974
+								    $selected = selected( $option_value, stripslashes_deep( $args['value'] ), false );
975
+							    } elseif ( empty( $args['value'] ) && $args['value'] === $option_value ) {
976
+								    $selected = selected( $option_value, $args['value'], false );
977
+							    }
978
+
979
+							    $output .= '<option value="' . esc_attr( $option_value ) . '" ' . $selected . ' '.$extra_attributes .'>' . $option_label . '</option>';
980
+						    }
981
+					    } else {
982
+						    if ( ! empty( $args['value'] ) ) {
983
+							    if ( is_array( $args['value'] ) ) {
984
+								    $selected = in_array( $val, $args['value'] ) ? 'selected="selected"' : '';
985
+							    } elseif ( ! empty( $args['value'] ) ) {
986
+								    $selected = selected( $args['value'], $val, false );
987
+							    }
988
+						    } elseif ( $args['value'] === $val ) {
989
+							    $selected = selected( $args['value'], $val, false );
990
+						    }
991
+						    $output .= '<option value="' . esc_attr( $val ) . '" ' . $selected . '>' . esc_attr( $name ) . '</option>';
992
+					    }
993
+				    }
994
+			    }
995
+
996
+		    }
997
+
998
+		    // closing tag
999
+		    $output .= '</select>';
1000
+
1001
+		    $label = '';
1002
+		    $help_text = '';
1003
+		    // label
1004
+		    if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
1005
+		    } elseif ( ! empty( $args['label'] ) && ! $label_after ) {
1006
+			    $label_args = array(
1007
+				    'title'      => $args['label'],
1008
+				    'for'        => $args['id'],
1009
+				    'class'      => $args['label_class'] . " ",
1010
+				    'label_type' => $args['label_type'],
1011
+				    'label_col'  => $args['label_col']
1012
+			    );
1013
+			    $label = self::label( $label_args );
1014
+		    }
1015
+
1016
+		    // help text
1017
+		    if ( ! empty( $args['help_text'] ) ) {
1018
+			    $help_text = AUI_Component_Helper::help_text( $args['help_text'] );
1019
+		    }
1020
+
1021
+		    // input group wraps
1022
+		    if ( $args['input_group_left'] || $args['input_group_right'] ) {
1023
+			    $w100 = strpos( $args['class'], 'w-100' ) !== false ? ' w-100' : '';
1024
+			    if ( $args['input_group_left'] ) {
1025
+				    $output = self::wrap( array(
1026
+					    'content'                 => $output,
1027
+					    'class'                   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
1028
+					    'input_group_left'        => $args['input_group_left'],
1029
+					    'input_group_left_inside' => $args['input_group_left_inside']
1030
+				    ) );
1031
+			    }
1032
+			    if ( $args['input_group_right'] ) {
1033
+				    $output = self::wrap( array(
1034
+					    'content'                  => $output,
1035
+					    'class'                    => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
1036
+					    'input_group_right'        => $args['input_group_right'],
1037
+					    'input_group_right_inside' => $args['input_group_right_inside']
1038
+				    ) );
1039
+			    }
1040
+
1041
+		    }
1042
+
1043
+		    if ( ! $label_after ) {
1044
+			    $output .= $help_text;
1045
+		    }
1046
+
1047
+
1048
+		    if ( $args['label_type'] == 'horizontal' ) {
1049
+			    $output = self::wrap( array(
1050
+				    'content' => $output,
1051
+				    'class'   => AUI_Component_Helper::get_column_class( $args['label_col'], 'input' )
1052
+			    ) );
1053
+		    }
1054
+
1055
+		    if ( ! $label_after ) {
1056
+			    $output = $label . $output;
1057
+		    }
1058
+
1059
+		    // maybe horizontal label
1060
+    //		if ( $args['label_type'] == 'horizontal' ) {
1061
+    //			$output .= '</div>';
1062
+    //		}
1063
+
1064
+
1065
+		    // wrap
1066
+		    if ( ! $args['no_wrap'] ) {
1067
+			    if ( ! empty( $args['form_group_class'] ) ) {
1068
+				    $fg_class = esc_attr( $args['form_group_class'] );
1069
+			    }else{
1070
+				    $fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1071
+			    }
1072
+			    $wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
1073
+			    $wrap_class = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1074
+			    $output     = self::wrap( array(
1075
+				    'content'         => $output,
1076
+				    'class'           => $wrap_class,
1077
+				    'element_require' => $args['element_require'],
1078
+				    'argument_id'     => $args['id'],
1079
+				    'wrap_attributes' => $args['wrap_attributes'],
1080
+			    ) );
1081
+		    }
1082
+
1083
+
1084
+		    return $output;
1085
+	    }
1086
+
1087
+	    /**
1088 1088
 	 * Build the component.
1089 1089
 	 *
1090 1090
 	 * @param array $args
1091 1091
 	 *
1092 1092
 	 * @return string The rendered component.
1093 1093
 	 */
1094
-	public static function radio( $args = array() ) {
1095
-		global $aui_bs5;
1096
-
1097
-		$defaults = array(
1098
-			'class'            => '',
1099
-			'wrap_class'       => '',
1100
-			'id'               => '',
1101
-			'title'            => '',
1102
-			'horizontal'       => false,
1103
-			// sets the lable horizontal
1104
-			'value'            => '',
1105
-			'label'            => '',
1106
-			'label_class'      => '',
1107
-			'label_type'       => '',
1108
-			'label_col'        => '',
1109
-			// sets the label type, default: hidden. Options: hidden, top, horizontal, floating
1110
-			'help_text'        => '',
1111
-			'inline'           => true,
1112
-			'required'         => false,
1113
-			'options'          => array(),
1114
-			'icon'             => '',
1115
-			'no_wrap'          => false,
1116
-			'element_require'  => '',
1117
-			// [%element_id%] == "1"
1118
-			'extra_attributes' => array(),
1119
-			// an array of extra attributes
1120
-			'wrap_attributes'  => array()
1121
-		);
1122
-
1123
-		/**
1094
+	    public static function radio( $args = array() ) {
1095
+		    global $aui_bs5;
1096
+
1097
+		    $defaults = array(
1098
+			    'class'            => '',
1099
+			    'wrap_class'       => '',
1100
+			    'id'               => '',
1101
+			    'title'            => '',
1102
+			    'horizontal'       => false,
1103
+			    // sets the lable horizontal
1104
+			    'value'            => '',
1105
+			    'label'            => '',
1106
+			    'label_class'      => '',
1107
+			    'label_type'       => '',
1108
+			    'label_col'        => '',
1109
+			    // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
1110
+			    'help_text'        => '',
1111
+			    'inline'           => true,
1112
+			    'required'         => false,
1113
+			    'options'          => array(),
1114
+			    'icon'             => '',
1115
+			    'no_wrap'          => false,
1116
+			    'element_require'  => '',
1117
+			    // [%element_id%] == "1"
1118
+			    'extra_attributes' => array(),
1119
+			    // an array of extra attributes
1120
+			    'wrap_attributes'  => array()
1121
+		    );
1122
+
1123
+		    /**
1124 1124
 		 * Parse incoming $args into an array and merge it with $defaults
1125 1125
 		 */
1126
-		$args = wp_parse_args( $args, $defaults );
1127
-
1128
-		// for now lets use horizontal for floating
1129
-		if ( $args['label_type'] == 'floating' ) {
1130
-			$args['label_type'] = 'horizontal';
1131
-		}
1132
-
1133
-		$label_args = array(
1134
-			'title'      => $args['label'],
1135
-			'class'      => $args['label_class'] . " pt-0 ",
1136
-			'label_type' => $args['label_type'],
1137
-			'label_col'  => $args['label_col']
1138
-		);
1139
-
1140
-		if ( $args['label_type'] == 'top' || $args['label_type'] == 'hidden' ) {
1141
-			$label_args['class'] .= 'd-block ';
1142
-
1143
-			if ( $args['label_type'] == 'hidden' ) {
1144
-				$label_args['class'] .= 'sr-only ';
1145
-			}
1146
-		}
1147
-
1148
-		$output = '';
1149
-
1150
-		// label before
1151
-		if ( ! empty( $args['label'] ) ) {
1152
-			$output .= self::label( $label_args, 'radio' );
1153
-		}
1154
-
1155
-		// maybe horizontal label
1156
-		if ( $args['label_type'] == 'horizontal' ) {
1157
-			$input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
1158
-			$output .= '<div class="' . $input_col . '">';
1159
-		}
1160
-
1161
-		if ( ! empty( $args['options'] ) ) {
1162
-			$count = 0;
1163
-			foreach ( $args['options'] as $value => $label ) {
1164
-				$option_args            = $args;
1165
-				$option_args['value']   = $value;
1166
-				$option_args['label']   = $label;
1167
-				$option_args['checked'] = $value == $args['value'] ? true : false;
1168
-				$output .= self::radio_option( $option_args, $count );
1169
-				$count ++;
1170
-			}
1171
-		}
1172
-
1173
-		// help text
1174
-		$help_text = ! empty( $args['help_text'] ) ? AUI_Component_Helper::help_text( $args['help_text'] ) : '';
1175
-		$output .= $help_text;
1176
-
1177
-		// maybe horizontal label
1178
-		if ( $args['label_type'] == 'horizontal' ) {
1179
-			$output .= '</div>';
1180
-		}
1181
-
1182
-		// wrap
1183
-		$fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1184
-		$wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
1185
-		$wrap_class = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1186
-		$output     = self::wrap( array(
1187
-			'content'         => $output,
1188
-			'class'           => $wrap_class,
1189
-			'element_require' => $args['element_require'],
1190
-			'argument_id'     => $args['id'],
1191
-			'wrap_attributes' => $args['wrap_attributes'],
1192
-		) );
1193
-
1194
-
1195
-		return $output;
1196
-	}
1197
-
1198
-	/**
1126
+		    $args = wp_parse_args( $args, $defaults );
1127
+
1128
+		    // for now lets use horizontal for floating
1129
+		    if ( $args['label_type'] == 'floating' ) {
1130
+			    $args['label_type'] = 'horizontal';
1131
+		    }
1132
+
1133
+		    $label_args = array(
1134
+			    'title'      => $args['label'],
1135
+			    'class'      => $args['label_class'] . " pt-0 ",
1136
+			    'label_type' => $args['label_type'],
1137
+			    'label_col'  => $args['label_col']
1138
+		    );
1139
+
1140
+		    if ( $args['label_type'] == 'top' || $args['label_type'] == 'hidden' ) {
1141
+			    $label_args['class'] .= 'd-block ';
1142
+
1143
+			    if ( $args['label_type'] == 'hidden' ) {
1144
+				    $label_args['class'] .= 'sr-only ';
1145
+			    }
1146
+		    }
1147
+
1148
+		    $output = '';
1149
+
1150
+		    // label before
1151
+		    if ( ! empty( $args['label'] ) ) {
1152
+			    $output .= self::label( $label_args, 'radio' );
1153
+		    }
1154
+
1155
+		    // maybe horizontal label
1156
+		    if ( $args['label_type'] == 'horizontal' ) {
1157
+			    $input_col = AUI_Component_Helper::get_column_class( $args['label_col'], 'input' );
1158
+			    $output .= '<div class="' . $input_col . '">';
1159
+		    }
1160
+
1161
+		    if ( ! empty( $args['options'] ) ) {
1162
+			    $count = 0;
1163
+			    foreach ( $args['options'] as $value => $label ) {
1164
+				    $option_args            = $args;
1165
+				    $option_args['value']   = $value;
1166
+				    $option_args['label']   = $label;
1167
+				    $option_args['checked'] = $value == $args['value'] ? true : false;
1168
+				    $output .= self::radio_option( $option_args, $count );
1169
+				    $count ++;
1170
+			    }
1171
+		    }
1172
+
1173
+		    // help text
1174
+		    $help_text = ! empty( $args['help_text'] ) ? AUI_Component_Helper::help_text( $args['help_text'] ) : '';
1175
+		    $output .= $help_text;
1176
+
1177
+		    // maybe horizontal label
1178
+		    if ( $args['label_type'] == 'horizontal' ) {
1179
+			    $output .= '</div>';
1180
+		    }
1181
+
1182
+		    // wrap
1183
+		    $fg_class = $aui_bs5 ? 'mb-3' : 'form-group';
1184
+		    $wrap_class = $args['label_type'] == 'horizontal' ? $fg_class . ' row' : $fg_class;
1185
+		    $wrap_class = ! empty( $args['wrap_class'] ) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
1186
+		    $output     = self::wrap( array(
1187
+			    'content'         => $output,
1188
+			    'class'           => $wrap_class,
1189
+			    'element_require' => $args['element_require'],
1190
+			    'argument_id'     => $args['id'],
1191
+			    'wrap_attributes' => $args['wrap_attributes'],
1192
+		    ) );
1193
+
1194
+
1195
+		    return $output;
1196
+	    }
1197
+
1198
+	    /**
1199 1199
 	 * Build the component.
1200 1200
 	 *
1201 1201
 	 * @param array $args
1202 1202
 	 *
1203 1203
 	 * @return string The rendered component.
1204 1204
 	 */
1205
-	public static function radio_option( $args = array(), $count = '' ) {
1206
-		$defaults = array(
1207
-			'class'            => '',
1208
-			'id'               => '',
1209
-			'title'            => '',
1210
-			'value'            => '',
1211
-			'required'         => false,
1212
-			'inline'           => true,
1213
-			'label'            => '',
1214
-			'options'          => array(),
1215
-			'icon'             => '',
1216
-			'no_wrap'          => false,
1217
-			'extra_attributes' => array() // an array of extra attributes
1218
-		);
1219
-
1220
-		/**
1205
+	    public static function radio_option( $args = array(), $count = '' ) {
1206
+		    $defaults = array(
1207
+			    'class'            => '',
1208
+			    'id'               => '',
1209
+			    'title'            => '',
1210
+			    'value'            => '',
1211
+			    'required'         => false,
1212
+			    'inline'           => true,
1213
+			    'label'            => '',
1214
+			    'options'          => array(),
1215
+			    'icon'             => '',
1216
+			    'no_wrap'          => false,
1217
+			    'extra_attributes' => array() // an array of extra attributes
1218
+		    );
1219
+
1220
+		    /**
1221 1221
 		 * Parse incoming $args into an array and merge it with $defaults
1222 1222
 		 */
1223
-		$args = wp_parse_args( $args, $defaults );
1224
-
1225
-		$output = '';
1226
-
1227
-		// open/type
1228
-		$output .= '<input type="radio"';
1229
-
1230
-		// class
1231
-		$output .= ' class="form-check-input" ';
1232
-
1233
-		// name
1234
-		if ( ! empty( $args['name'] ) ) {
1235
-			$output .= AUI_Component_Helper::name( $args['name'] );
1236
-		}
1237
-
1238
-		// id
1239
-		if ( ! empty( $args['id'] ) ) {
1240
-			$output .= AUI_Component_Helper::id( $args['id'] . $count );
1241
-		}
1242
-
1243
-		// title
1244
-		if ( ! empty( $args['title'] ) ) {
1245
-			$output .= AUI_Component_Helper::title( $args['title'] );
1246
-		}
1247
-
1248
-		// value
1249
-		if ( isset( $args['value'] ) ) {
1250
-			$output .= AUI_Component_Helper::value( $args['value'] );
1251
-		}
1252
-
1253
-		// checked, for radio and checkboxes
1254
-		if ( $args['checked'] ) {
1255
-			$output .= ' checked ';
1256
-		}
1257
-
1258
-		// data-attributes
1259
-		$output .= AUI_Component_Helper::data_attributes( $args );
1260
-
1261
-		// aria-attributes
1262
-		$output .= AUI_Component_Helper::aria_attributes( $args );
1263
-
1264
-		// extra attributes
1265
-		if ( ! empty( $args['extra_attributes'] ) ) {
1266
-			$output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
1267
-		}
1268
-
1269
-		// required
1270
-		if ( ! empty( $args['required'] ) ) {
1271
-			$output .= ' required ';
1272
-		}
1273
-
1274
-		// close opening tag
1275
-		$output .= ' >';
1276
-
1277
-		// label
1278
-		if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
1279
-		} elseif ( ! empty( $args['label'] ) ) {
1280
-			$output .= self::label( array(
1281
-				'title' => $args['label'],
1282
-				'for'   => $args['id'] . $count,
1283
-				'class' => 'form-check-label'
1284
-			), 'radio' );
1285
-		}
1286
-
1287
-		// wrap
1288
-		if ( ! $args['no_wrap'] ) {
1289
-			$wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1290
-
1291
-			// Unique wrap class
1292
-			$uniq_class = 'fwrap';
1293
-			if ( ! empty( $args['name'] ) ) {
1294
-				$uniq_class .= '-' . $args['name'];
1295
-			} else if ( ! empty( $args['id'] ) ) {
1296
-				$uniq_class .= '-' . $args['id'];
1297
-			}
1298
-
1299
-			if ( isset( $args['value'] ) || $args['value'] !== "" ) {
1300
-				$uniq_class .= '-' . $args['value'];
1301
-			} else {
1302
-				$uniq_class .= '-' . $count;
1303
-			}
1304
-			$wrap_class .= ' ' . sanitize_html_class( $uniq_class );
1305
-
1306
-			$output = self::wrap( array(
1307
-				'content' => $output,
1308
-				'class'   => $wrap_class
1309
-			) );
1310
-		}
1311
-
1312
-		return $output;
1313
-	}
1223
+		    $args = wp_parse_args( $args, $defaults );
1224
+
1225
+		    $output = '';
1226
+
1227
+		    // open/type
1228
+		    $output .= '<input type="radio"';
1229
+
1230
+		    // class
1231
+		    $output .= ' class="form-check-input" ';
1232
+
1233
+		    // name
1234
+		    if ( ! empty( $args['name'] ) ) {
1235
+			    $output .= AUI_Component_Helper::name( $args['name'] );
1236
+		    }
1237
+
1238
+		    // id
1239
+		    if ( ! empty( $args['id'] ) ) {
1240
+			    $output .= AUI_Component_Helper::id( $args['id'] . $count );
1241
+		    }
1242
+
1243
+		    // title
1244
+		    if ( ! empty( $args['title'] ) ) {
1245
+			    $output .= AUI_Component_Helper::title( $args['title'] );
1246
+		    }
1247
+
1248
+		    // value
1249
+		    if ( isset( $args['value'] ) ) {
1250
+			    $output .= AUI_Component_Helper::value( $args['value'] );
1251
+		    }
1252
+
1253
+		    // checked, for radio and checkboxes
1254
+		    if ( $args['checked'] ) {
1255
+			    $output .= ' checked ';
1256
+		    }
1257
+
1258
+		    // data-attributes
1259
+		    $output .= AUI_Component_Helper::data_attributes( $args );
1260
+
1261
+		    // aria-attributes
1262
+		    $output .= AUI_Component_Helper::aria_attributes( $args );
1263
+
1264
+		    // extra attributes
1265
+		    if ( ! empty( $args['extra_attributes'] ) ) {
1266
+			    $output .= AUI_Component_Helper::extra_attributes( $args['extra_attributes'] );
1267
+		    }
1268
+
1269
+		    // required
1270
+		    if ( ! empty( $args['required'] ) ) {
1271
+			    $output .= ' required ';
1272
+		    }
1273
+
1274
+		    // close opening tag
1275
+		    $output .= ' >';
1276
+
1277
+		    // label
1278
+		    if ( ! empty( $args['label'] ) && is_array( $args['label'] ) ) {
1279
+		    } elseif ( ! empty( $args['label'] ) ) {
1280
+			    $output .= self::label( array(
1281
+				    'title' => $args['label'],
1282
+				    'for'   => $args['id'] . $count,
1283
+				    'class' => 'form-check-label'
1284
+			    ), 'radio' );
1285
+		    }
1286
+
1287
+		    // wrap
1288
+		    if ( ! $args['no_wrap'] ) {
1289
+			    $wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1290
+
1291
+			    // Unique wrap class
1292
+			    $uniq_class = 'fwrap';
1293
+			    if ( ! empty( $args['name'] ) ) {
1294
+				    $uniq_class .= '-' . $args['name'];
1295
+			    } else if ( ! empty( $args['id'] ) ) {
1296
+				    $uniq_class .= '-' . $args['id'];
1297
+			    }
1298
+
1299
+			    if ( isset( $args['value'] ) || $args['value'] !== "" ) {
1300
+				    $uniq_class .= '-' . $args['value'];
1301
+			    } else {
1302
+				    $uniq_class .= '-' . $count;
1303
+			    }
1304
+			    $wrap_class .= ' ' . sanitize_html_class( $uniq_class );
1305
+
1306
+			    $output = self::wrap( array(
1307
+				    'content' => $output,
1308
+				    'class'   => $wrap_class
1309
+			    ) );
1310
+		    }
1311
+
1312
+		    return $output;
1313
+	    }
1314 1314
 
1315 1315
 }
1316 1316
\ No newline at end of file
Please login to merge, or discard this patch.
vendor/ayecode/wp-ayecode-ui/example-plugin.php 3 patches
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
 */
16 16
 
17 17
 // If this file is called directly, abort.
18
-if ( ! defined( 'WPINC' ) ) {
18
+if (!defined('WPINC')) {
19 19
 	die;
20 20
 }
21 21
 
@@ -29,14 +29,14 @@  discard block
 block discarded – undo
29 29
 	public function __construct() {
30 30
 
31 31
 		// load AUI
32
-		require_once( dirname( __FILE__ ) . '/ayecode-ui-loader.php' );
32
+		require_once(dirname(__FILE__) . '/ayecode-ui-loader.php');
33 33
 
34 34
 		// Maybe show example page
35
-		add_action( 'template_redirect', array( $this,'maybe_show_examples' ) );
35
+		add_action('template_redirect', array($this, 'maybe_show_examples'));
36 36
 	}
37 37
 
38
-	public function maybe_show_examples(){
39
-		if ( current_user_can( 'manage_options' ) && isset( $_REQUEST['preview-aui'] ) ) {
38
+	public function maybe_show_examples() {
39
+		if (current_user_can('manage_options') && isset($_REQUEST['preview-aui'])) {
40 40
 			echo "<head>";
41 41
 			wp_head();
42 42
 			echo "</head>";
@@ -48,7 +48,7 @@  discard block
 block discarded – undo
48 48
 		}
49 49
 	}
50 50
 
51
-	public function get_examples(){
51
+	public function get_examples() {
52 52
 		$output = '';
53 53
 
54 54
 		// open form
Please login to merge, or discard this patch.
Indentation   +212 added lines, -212 removed lines patch added patch discarded remove patch
@@ -16,222 +16,222 @@
 block discarded – undo
16 16
 
17 17
 // If this file is called directly, abort.
18 18
 if ( ! defined( 'WPINC' ) ) {
19
-	die;
19
+    die;
20 20
 }
21 21
 
22 22
 class AyeCode_UI_Plugin {
23 23
 
24
-	/**
25
-	 * AUI Plugin constructor.
26
-	 *
27
-	 * @since 1.0.0
28
-	 */
29
-	public function __construct() {
30
-
31
-		// load AUI
32
-		require_once( dirname( __FILE__ ) . '/ayecode-ui-loader.php' );
33
-
34
-		// Maybe show example page
35
-		add_action( 'template_redirect', array( $this,'maybe_show_examples' ) );
36
-	}
37
-
38
-	public function maybe_show_examples(){
39
-		if ( current_user_can( 'manage_options' ) && isset( $_REQUEST['preview-aui'] ) ) {
40
-			echo "<head>";
41
-			wp_head();
42
-			echo "</head>";
43
-			echo "<body class='bsui'>";
44
-			echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
45
-			wp_footer();
46
-			echo "</body>";
47
-			exit;
48
-		}
49
-	}
50
-
51
-	public function get_examples(){
52
-		$output = '';
53
-
54
-		// open form
55
-		$output .= "<form class='p-5 m-5 border rounded bg-white'>";
56
-
57
-		$output .= aui()->input(
58
-			array(
59
-				'type'             => 'datepicker',
60
-				'id'               => 'date_example_sm',
61
-				'size'             => 'sm',
62
-				'name'             => 'date_example_sm',
63
-				'label'            => 'Date Input Label (small)',
64
-				'help_text'        => 'help text',
65
-				'label_type'       => 'top',
66
-				'placeholder'      => 'YYYY-MM-DD 00:00',
67
-				'value'            => '',
68
-				'extra_attributes' => array(
69
-					'data-enable-time' => 'true',
70
-					'data-time_24hr'   => 'true',
71
-					'data-allow-input' => 'true',
72
-				),
73
-			)
74
-		);
75
-
76
-		$output .= aui()->input(
77
-			array(
78
-				'type'             => 'datepicker',
79
-				'id'               => 'date_example',
80
-				//'size'             => 'smx',
81
-				'name'             => 'date_example',
82
-				'label'            => 'Date Input Label',
83
-				'help_text'        => 'help text',
84
-				'label_type'       => 'top',
85
-				'placeholder'      => 'YYYY-MM-DD 00:00',
86
-				'value'            => '',
87
-				'extra_attributes' => array(
88
-					'data-enable-time' => 'true',
89
-					'data-time_24hr'   => 'true',
90
-					'data-allow-input' => 'true',
91
-				),
92
-			)
93
-		);
94
-
95
-		$output .= aui()->input(
96
-			array(
97
-				'type'             => 'datepicker',
98
-				'id'               => 'date_example_lg',
99
-				'size'             => 'lg',
100
-				'name'             => 'date_example_lg',
101
-				'label'            => 'Date Input Label (large)',
102
-				'help_text'        => 'help text',
103
-				'label_type'       => 'top',
104
-				'placeholder'      => 'YYYY-MM-DD 00:00',
105
-				'value'            => '',
106
-				'extra_attributes' => array(
107
-					'data-enable-time' => 'true',
108
-					'data-time_24hr'   => 'true',
109
-					//'data-allow-input' => 'true',
110
-				),
111
-			)
112
-		);
113
-
114
-		// input example
115
-		$output .= aui()->input(
116
-			array(
117
-				'type'  =>  'text',
118
-				'id'    =>  'text-example',
119
-				'size'             => 'sm',
120
-				//'clear_icon'    => true,
121
-				'name'    =>  'text-example',
122
-				'placeholder'   => 'text placeholder',
123
-				'title'   => 'Text input example',
124
-				'value' =>  '',
125
-				'required'  => false,
126
-				'help_text' => 'help text',
127
-				'label' => 'Text input example label',
128
-				'label_type' => 'top'
129
-			)
130
-		);
131
-
132
-		$output .= aui()->input(
133
-			array(
134
-				'type'  =>  'search',
135
-				'id'    =>  'text-example',
136
-				'size'             => 'sm',
137
-				//'clear_icon'    => true,
138
-				'name'    =>  'text-example',
139
-				'placeholder'   => 'text placeholder',
140
-				'title'   => 'Text input example',
141
-				'value' =>  '',
142
-				'required'  => false,
143
-				'help_text' => 'help text',
144
-				'label' => 'Text input example label',
145
-				'label_type' => 'top'
146
-			)
147
-		);
148
-
149
-		// input example
150
-		$output .= aui()->input(
151
-			array(
152
-				'type'  =>  'url',
153
-				'id'    =>  'text-example2',
154
-				'name'    =>  'text-example',
155
-				'placeholder'   => 'url placeholder',
156
-				'title'   => 'Text input example',
157
-				'value' =>  '',
158
-				'required'  => false,
159
-				'help_text' => 'help text',
160
-				'label' => 'Text input example label'
161
-			)
162
-		);
163
-
164
-		// checkbox example
165
-		$output .= aui()->input(
166
-			array(
167
-				'type'  =>  'checkbox',
168
-				'id'    =>  'checkbox-example',
169
-				'name'    =>  'checkbox-example',
170
-				'placeholder'   => 'checkbox-example',
171
-				'title'   => 'Checkbox example',
172
-				'value' =>  '1',
173
-				'checked'   => true,
174
-				'required'  => false,
175
-				'help_text' => 'help text',
176
-				'label' => 'Checkbox checked'
177
-			)
178
-		);
179
-
180
-		// checkbox example
181
-		$output .= aui()->input(
182
-			array(
183
-				'type'  =>  'checkbox',
184
-				'id'    =>  'checkbox-example2',
185
-				'name'    =>  'checkbox-example2',
186
-				'placeholder'   => 'checkbox-example',
187
-				'title'   => 'Checkbox example',
188
-				'value' =>  '1',
189
-				'checked'   => false,
190
-				'required'  => false,
191
-				'help_text' => 'help text',
192
-				'label' => 'Checkbox un-checked'
193
-			)
194
-		);
195
-
196
-		// switch example
197
-		$output .= aui()->input(
198
-			array(
199
-				'type'  =>  'checkbox',
200
-				'id'    =>  'switch-example',
201
-				'name'    =>  'switch-example',
202
-				'placeholder'   => 'checkbox-example',
203
-				'title'   => 'Switch example',
204
-				'value' =>  '1',
205
-				'checked'   => true,
206
-				'switch'    => true,
207
-				'required'  => false,
208
-				'help_text' => 'help text',
209
-				'label' => 'Switch on'
210
-			)
211
-		);
212
-
213
-		// switch example
214
-		$output .= aui()->input(
215
-			array(
216
-				'type'  =>  'checkbox',
217
-				'id'    =>  'switch-example2',
218
-				'name'    =>  'switch-example2',
219
-				'placeholder'   => 'checkbox-example',
220
-				'title'   => 'Switch example',
221
-				'value' =>  '1',
222
-				'checked'   => false,
223
-				'switch'    => true,
224
-				'required'  => false,
225
-				'help_text' => 'help text',
226
-				'label' => 'Switch off'
227
-			)
228
-		);
229
-
230
-		// close form
231
-		$output .= "</form>";
232
-
233
-		return $output;
234
-	}
24
+    /**
25
+     * AUI Plugin constructor.
26
+     *
27
+     * @since 1.0.0
28
+     */
29
+    public function __construct() {
30
+
31
+        // load AUI
32
+        require_once( dirname( __FILE__ ) . '/ayecode-ui-loader.php' );
33
+
34
+        // Maybe show example page
35
+        add_action( 'template_redirect', array( $this,'maybe_show_examples' ) );
36
+    }
37
+
38
+    public function maybe_show_examples(){
39
+        if ( current_user_can( 'manage_options' ) && isset( $_REQUEST['preview-aui'] ) ) {
40
+            echo "<head>";
41
+            wp_head();
42
+            echo "</head>";
43
+            echo "<body class='bsui'>";
44
+            echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
45
+            wp_footer();
46
+            echo "</body>";
47
+            exit;
48
+        }
49
+    }
50
+
51
+    public function get_examples(){
52
+        $output = '';
53
+
54
+        // open form
55
+        $output .= "<form class='p-5 m-5 border rounded bg-white'>";
56
+
57
+        $output .= aui()->input(
58
+            array(
59
+                'type'             => 'datepicker',
60
+                'id'               => 'date_example_sm',
61
+                'size'             => 'sm',
62
+                'name'             => 'date_example_sm',
63
+                'label'            => 'Date Input Label (small)',
64
+                'help_text'        => 'help text',
65
+                'label_type'       => 'top',
66
+                'placeholder'      => 'YYYY-MM-DD 00:00',
67
+                'value'            => '',
68
+                'extra_attributes' => array(
69
+                    'data-enable-time' => 'true',
70
+                    'data-time_24hr'   => 'true',
71
+                    'data-allow-input' => 'true',
72
+                ),
73
+            )
74
+        );
75
+
76
+        $output .= aui()->input(
77
+            array(
78
+                'type'             => 'datepicker',
79
+                'id'               => 'date_example',
80
+                //'size'             => 'smx',
81
+                'name'             => 'date_example',
82
+                'label'            => 'Date Input Label',
83
+                'help_text'        => 'help text',
84
+                'label_type'       => 'top',
85
+                'placeholder'      => 'YYYY-MM-DD 00:00',
86
+                'value'            => '',
87
+                'extra_attributes' => array(
88
+                    'data-enable-time' => 'true',
89
+                    'data-time_24hr'   => 'true',
90
+                    'data-allow-input' => 'true',
91
+                ),
92
+            )
93
+        );
94
+
95
+        $output .= aui()->input(
96
+            array(
97
+                'type'             => 'datepicker',
98
+                'id'               => 'date_example_lg',
99
+                'size'             => 'lg',
100
+                'name'             => 'date_example_lg',
101
+                'label'            => 'Date Input Label (large)',
102
+                'help_text'        => 'help text',
103
+                'label_type'       => 'top',
104
+                'placeholder'      => 'YYYY-MM-DD 00:00',
105
+                'value'            => '',
106
+                'extra_attributes' => array(
107
+                    'data-enable-time' => 'true',
108
+                    'data-time_24hr'   => 'true',
109
+                    //'data-allow-input' => 'true',
110
+                ),
111
+            )
112
+        );
113
+
114
+        // input example
115
+        $output .= aui()->input(
116
+            array(
117
+                'type'  =>  'text',
118
+                'id'    =>  'text-example',
119
+                'size'             => 'sm',
120
+                //'clear_icon'    => true,
121
+                'name'    =>  'text-example',
122
+                'placeholder'   => 'text placeholder',
123
+                'title'   => 'Text input example',
124
+                'value' =>  '',
125
+                'required'  => false,
126
+                'help_text' => 'help text',
127
+                'label' => 'Text input example label',
128
+                'label_type' => 'top'
129
+            )
130
+        );
131
+
132
+        $output .= aui()->input(
133
+            array(
134
+                'type'  =>  'search',
135
+                'id'    =>  'text-example',
136
+                'size'             => 'sm',
137
+                //'clear_icon'    => true,
138
+                'name'    =>  'text-example',
139
+                'placeholder'   => 'text placeholder',
140
+                'title'   => 'Text input example',
141
+                'value' =>  '',
142
+                'required'  => false,
143
+                'help_text' => 'help text',
144
+                'label' => 'Text input example label',
145
+                'label_type' => 'top'
146
+            )
147
+        );
148
+
149
+        // input example
150
+        $output .= aui()->input(
151
+            array(
152
+                'type'  =>  'url',
153
+                'id'    =>  'text-example2',
154
+                'name'    =>  'text-example',
155
+                'placeholder'   => 'url placeholder',
156
+                'title'   => 'Text input example',
157
+                'value' =>  '',
158
+                'required'  => false,
159
+                'help_text' => 'help text',
160
+                'label' => 'Text input example label'
161
+            )
162
+        );
163
+
164
+        // checkbox example
165
+        $output .= aui()->input(
166
+            array(
167
+                'type'  =>  'checkbox',
168
+                'id'    =>  'checkbox-example',
169
+                'name'    =>  'checkbox-example',
170
+                'placeholder'   => 'checkbox-example',
171
+                'title'   => 'Checkbox example',
172
+                'value' =>  '1',
173
+                'checked'   => true,
174
+                'required'  => false,
175
+                'help_text' => 'help text',
176
+                'label' => 'Checkbox checked'
177
+            )
178
+        );
179
+
180
+        // checkbox example
181
+        $output .= aui()->input(
182
+            array(
183
+                'type'  =>  'checkbox',
184
+                'id'    =>  'checkbox-example2',
185
+                'name'    =>  'checkbox-example2',
186
+                'placeholder'   => 'checkbox-example',
187
+                'title'   => 'Checkbox example',
188
+                'value' =>  '1',
189
+                'checked'   => false,
190
+                'required'  => false,
191
+                'help_text' => 'help text',
192
+                'label' => 'Checkbox un-checked'
193
+            )
194
+        );
195
+
196
+        // switch example
197
+        $output .= aui()->input(
198
+            array(
199
+                'type'  =>  'checkbox',
200
+                'id'    =>  'switch-example',
201
+                'name'    =>  'switch-example',
202
+                'placeholder'   => 'checkbox-example',
203
+                'title'   => 'Switch example',
204
+                'value' =>  '1',
205
+                'checked'   => true,
206
+                'switch'    => true,
207
+                'required'  => false,
208
+                'help_text' => 'help text',
209
+                'label' => 'Switch on'
210
+            )
211
+        );
212
+
213
+        // switch example
214
+        $output .= aui()->input(
215
+            array(
216
+                'type'  =>  'checkbox',
217
+                'id'    =>  'switch-example2',
218
+                'name'    =>  'switch-example2',
219
+                'placeholder'   => 'checkbox-example',
220
+                'title'   => 'Switch example',
221
+                'value' =>  '1',
222
+                'checked'   => false,
223
+                'switch'    => true,
224
+                'required'  => false,
225
+                'help_text' => 'help text',
226
+                'label' => 'Switch off'
227
+            )
228
+        );
229
+
230
+        // close form
231
+        $output .= "</form>";
232
+
233
+        return $output;
234
+    }
235 235
 }
236 236
 
237 237
 new AyeCode_UI_Plugin();
238 238
\ No newline at end of file
Please login to merge, or discard this patch.
Switch Indentation   +213 added lines, -213 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@  discard block
 block discarded – undo
1
-<?php
1
+    <?php
2 2
 /*
3 3
 Plugin Name: AyeCode UI
4 4
 Plugin URI: https://ayecode.io/
@@ -14,224 +14,224 @@  discard block
 block discarded – undo
14 14
 Tested up to: 6.7
15 15
 */
16 16
 
17
-// If this file is called directly, abort.
18
-if ( ! defined( 'WPINC' ) ) {
19
-	die;
17
+    // If this file is called directly, abort.
18
+    if ( ! defined( 'WPINC' ) ) {
19
+	    die;
20 20
 }
21 21
 
22
-class AyeCode_UI_Plugin {
22
+    class AyeCode_UI_Plugin {
23 23
 
24
-	/**
24
+	    /**
25 25
 	 * AUI Plugin constructor.
26 26
 	 *
27 27
 	 * @since 1.0.0
28 28
 	 */
29
-	public function __construct() {
30
-
31
-		// load AUI
32
-		require_once( dirname( __FILE__ ) . '/ayecode-ui-loader.php' );
33
-
34
-		// Maybe show example page
35
-		add_action( 'template_redirect', array( $this,'maybe_show_examples' ) );
36
-	}
37
-
38
-	public function maybe_show_examples(){
39
-		if ( current_user_can( 'manage_options' ) && isset( $_REQUEST['preview-aui'] ) ) {
40
-			echo "<head>";
41
-			wp_head();
42
-			echo "</head>";
43
-			echo "<body class='bsui'>";
44
-			echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
45
-			wp_footer();
46
-			echo "</body>";
47
-			exit;
48
-		}
49
-	}
50
-
51
-	public function get_examples(){
52
-		$output = '';
53
-
54
-		// open form
55
-		$output .= "<form class='p-5 m-5 border rounded bg-white'>";
56
-
57
-		$output .= aui()->input(
58
-			array(
59
-				'type'             => 'datepicker',
60
-				'id'               => 'date_example_sm',
61
-				'size'             => 'sm',
62
-				'name'             => 'date_example_sm',
63
-				'label'            => 'Date Input Label (small)',
64
-				'help_text'        => 'help text',
65
-				'label_type'       => 'top',
66
-				'placeholder'      => 'YYYY-MM-DD 00:00',
67
-				'value'            => '',
68
-				'extra_attributes' => array(
69
-					'data-enable-time' => 'true',
70
-					'data-time_24hr'   => 'true',
71
-					'data-allow-input' => 'true',
72
-				),
73
-			)
74
-		);
75
-
76
-		$output .= aui()->input(
77
-			array(
78
-				'type'             => 'datepicker',
79
-				'id'               => 'date_example',
80
-				//'size'             => 'smx',
81
-				'name'             => 'date_example',
82
-				'label'            => 'Date Input Label',
83
-				'help_text'        => 'help text',
84
-				'label_type'       => 'top',
85
-				'placeholder'      => 'YYYY-MM-DD 00:00',
86
-				'value'            => '',
87
-				'extra_attributes' => array(
88
-					'data-enable-time' => 'true',
89
-					'data-time_24hr'   => 'true',
90
-					'data-allow-input' => 'true',
91
-				),
92
-			)
93
-		);
94
-
95
-		$output .= aui()->input(
96
-			array(
97
-				'type'             => 'datepicker',
98
-				'id'               => 'date_example_lg',
99
-				'size'             => 'lg',
100
-				'name'             => 'date_example_lg',
101
-				'label'            => 'Date Input Label (large)',
102
-				'help_text'        => 'help text',
103
-				'label_type'       => 'top',
104
-				'placeholder'      => 'YYYY-MM-DD 00:00',
105
-				'value'            => '',
106
-				'extra_attributes' => array(
107
-					'data-enable-time' => 'true',
108
-					'data-time_24hr'   => 'true',
109
-					//'data-allow-input' => 'true',
110
-				),
111
-			)
112
-		);
113
-
114
-		// input example
115
-		$output .= aui()->input(
116
-			array(
117
-				'type'  =>  'text',
118
-				'id'    =>  'text-example',
119
-				'size'             => 'sm',
120
-				//'clear_icon'    => true,
121
-				'name'    =>  'text-example',
122
-				'placeholder'   => 'text placeholder',
123
-				'title'   => 'Text input example',
124
-				'value' =>  '',
125
-				'required'  => false,
126
-				'help_text' => 'help text',
127
-				'label' => 'Text input example label',
128
-				'label_type' => 'top'
129
-			)
130
-		);
131
-
132
-		$output .= aui()->input(
133
-			array(
134
-				'type'  =>  'search',
135
-				'id'    =>  'text-example',
136
-				'size'             => 'sm',
137
-				//'clear_icon'    => true,
138
-				'name'    =>  'text-example',
139
-				'placeholder'   => 'text placeholder',
140
-				'title'   => 'Text input example',
141
-				'value' =>  '',
142
-				'required'  => false,
143
-				'help_text' => 'help text',
144
-				'label' => 'Text input example label',
145
-				'label_type' => 'top'
146
-			)
147
-		);
148
-
149
-		// input example
150
-		$output .= aui()->input(
151
-			array(
152
-				'type'  =>  'url',
153
-				'id'    =>  'text-example2',
154
-				'name'    =>  'text-example',
155
-				'placeholder'   => 'url placeholder',
156
-				'title'   => 'Text input example',
157
-				'value' =>  '',
158
-				'required'  => false,
159
-				'help_text' => 'help text',
160
-				'label' => 'Text input example label'
161
-			)
162
-		);
163
-
164
-		// checkbox example
165
-		$output .= aui()->input(
166
-			array(
167
-				'type'  =>  'checkbox',
168
-				'id'    =>  'checkbox-example',
169
-				'name'    =>  'checkbox-example',
170
-				'placeholder'   => 'checkbox-example',
171
-				'title'   => 'Checkbox example',
172
-				'value' =>  '1',
173
-				'checked'   => true,
174
-				'required'  => false,
175
-				'help_text' => 'help text',
176
-				'label' => 'Checkbox checked'
177
-			)
178
-		);
179
-
180
-		// checkbox example
181
-		$output .= aui()->input(
182
-			array(
183
-				'type'  =>  'checkbox',
184
-				'id'    =>  'checkbox-example2',
185
-				'name'    =>  'checkbox-example2',
186
-				'placeholder'   => 'checkbox-example',
187
-				'title'   => 'Checkbox example',
188
-				'value' =>  '1',
189
-				'checked'   => false,
190
-				'required'  => false,
191
-				'help_text' => 'help text',
192
-				'label' => 'Checkbox un-checked'
193
-			)
194
-		);
195
-
196
-		// switch example
197
-		$output .= aui()->input(
198
-			array(
199
-				'type'  =>  'checkbox',
200
-				'id'    =>  'switch-example',
201
-				'name'    =>  'switch-example',
202
-				'placeholder'   => 'checkbox-example',
203
-				'title'   => 'Switch example',
204
-				'value' =>  '1',
205
-				'checked'   => true,
206
-				'switch'    => true,
207
-				'required'  => false,
208
-				'help_text' => 'help text',
209
-				'label' => 'Switch on'
210
-			)
211
-		);
212
-
213
-		// switch example
214
-		$output .= aui()->input(
215
-			array(
216
-				'type'  =>  'checkbox',
217
-				'id'    =>  'switch-example2',
218
-				'name'    =>  'switch-example2',
219
-				'placeholder'   => 'checkbox-example',
220
-				'title'   => 'Switch example',
221
-				'value' =>  '1',
222
-				'checked'   => false,
223
-				'switch'    => true,
224
-				'required'  => false,
225
-				'help_text' => 'help text',
226
-				'label' => 'Switch off'
227
-			)
228
-		);
229
-
230
-		// close form
231
-		$output .= "</form>";
232
-
233
-		return $output;
234
-	}
29
+	    public function __construct() {
30
+
31
+		    // load AUI
32
+		    require_once( dirname( __FILE__ ) . '/ayecode-ui-loader.php' );
33
+
34
+		    // Maybe show example page
35
+		    add_action( 'template_redirect', array( $this,'maybe_show_examples' ) );
36
+	    }
37
+
38
+	    public function maybe_show_examples(){
39
+		    if ( current_user_can( 'manage_options' ) && isset( $_REQUEST['preview-aui'] ) ) {
40
+			    echo "<head>";
41
+			    wp_head();
42
+			    echo "</head>";
43
+			    echo "<body class='bsui'>";
44
+			    echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
45
+			    wp_footer();
46
+			    echo "</body>";
47
+			    exit;
48
+		    }
49
+	    }
50
+
51
+	    public function get_examples(){
52
+		    $output = '';
53
+
54
+		    // open form
55
+		    $output .= "<form class='p-5 m-5 border rounded bg-white'>";
56
+
57
+		    $output .= aui()->input(
58
+			    array(
59
+				    'type'             => 'datepicker',
60
+				    'id'               => 'date_example_sm',
61
+				    'size'             => 'sm',
62
+				    'name'             => 'date_example_sm',
63
+				    'label'            => 'Date Input Label (small)',
64
+				    'help_text'        => 'help text',
65
+				    'label_type'       => 'top',
66
+				    'placeholder'      => 'YYYY-MM-DD 00:00',
67
+				    'value'            => '',
68
+				    'extra_attributes' => array(
69
+					    'data-enable-time' => 'true',
70
+					    'data-time_24hr'   => 'true',
71
+					    'data-allow-input' => 'true',
72
+				    ),
73
+			    )
74
+		    );
75
+
76
+		    $output .= aui()->input(
77
+			    array(
78
+				    'type'             => 'datepicker',
79
+				    'id'               => 'date_example',
80
+				    //'size'             => 'smx',
81
+				    'name'             => 'date_example',
82
+				    'label'            => 'Date Input Label',
83
+				    'help_text'        => 'help text',
84
+				    'label_type'       => 'top',
85
+				    'placeholder'      => 'YYYY-MM-DD 00:00',
86
+				    'value'            => '',
87
+				    'extra_attributes' => array(
88
+					    'data-enable-time' => 'true',
89
+					    'data-time_24hr'   => 'true',
90
+					    'data-allow-input' => 'true',
91
+				    ),
92
+			    )
93
+		    );
94
+
95
+		    $output .= aui()->input(
96
+			    array(
97
+				    'type'             => 'datepicker',
98
+				    'id'               => 'date_example_lg',
99
+				    'size'             => 'lg',
100
+				    'name'             => 'date_example_lg',
101
+				    'label'            => 'Date Input Label (large)',
102
+				    'help_text'        => 'help text',
103
+				    'label_type'       => 'top',
104
+				    'placeholder'      => 'YYYY-MM-DD 00:00',
105
+				    'value'            => '',
106
+				    'extra_attributes' => array(
107
+					    'data-enable-time' => 'true',
108
+					    'data-time_24hr'   => 'true',
109
+					    //'data-allow-input' => 'true',
110
+				    ),
111
+			    )
112
+		    );
113
+
114
+		    // input example
115
+		    $output .= aui()->input(
116
+			    array(
117
+				    'type'  =>  'text',
118
+				    'id'    =>  'text-example',
119
+				    'size'             => 'sm',
120
+				    //'clear_icon'    => true,
121
+				    'name'    =>  'text-example',
122
+				    'placeholder'   => 'text placeholder',
123
+				    'title'   => 'Text input example',
124
+				    'value' =>  '',
125
+				    'required'  => false,
126
+				    'help_text' => 'help text',
127
+				    'label' => 'Text input example label',
128
+				    'label_type' => 'top'
129
+			    )
130
+		    );
131
+
132
+		    $output .= aui()->input(
133
+			    array(
134
+				    'type'  =>  'search',
135
+				    'id'    =>  'text-example',
136
+				    'size'             => 'sm',
137
+				    //'clear_icon'    => true,
138
+				    'name'    =>  'text-example',
139
+				    'placeholder'   => 'text placeholder',
140
+				    'title'   => 'Text input example',
141
+				    'value' =>  '',
142
+				    'required'  => false,
143
+				    'help_text' => 'help text',
144
+				    'label' => 'Text input example label',
145
+				    'label_type' => 'top'
146
+			    )
147
+		    );
148
+
149
+		    // input example
150
+		    $output .= aui()->input(
151
+			    array(
152
+				    'type'  =>  'url',
153
+				    'id'    =>  'text-example2',
154
+				    'name'    =>  'text-example',
155
+				    'placeholder'   => 'url placeholder',
156
+				    'title'   => 'Text input example',
157
+				    'value' =>  '',
158
+				    'required'  => false,
159
+				    'help_text' => 'help text',
160
+				    'label' => 'Text input example label'
161
+			    )
162
+		    );
163
+
164
+		    // checkbox example
165
+		    $output .= aui()->input(
166
+			    array(
167
+				    'type'  =>  'checkbox',
168
+				    'id'    =>  'checkbox-example',
169
+				    'name'    =>  'checkbox-example',
170
+				    'placeholder'   => 'checkbox-example',
171
+				    'title'   => 'Checkbox example',
172
+				    'value' =>  '1',
173
+				    'checked'   => true,
174
+				    'required'  => false,
175
+				    'help_text' => 'help text',
176
+				    'label' => 'Checkbox checked'
177
+			    )
178
+		    );
179
+
180
+		    // checkbox example
181
+		    $output .= aui()->input(
182
+			    array(
183
+				    'type'  =>  'checkbox',
184
+				    'id'    =>  'checkbox-example2',
185
+				    'name'    =>  'checkbox-example2',
186
+				    'placeholder'   => 'checkbox-example',
187
+				    'title'   => 'Checkbox example',
188
+				    'value' =>  '1',
189
+				    'checked'   => false,
190
+				    'required'  => false,
191
+				    'help_text' => 'help text',
192
+				    'label' => 'Checkbox un-checked'
193
+			    )
194
+		    );
195
+
196
+		    // switch example
197
+		    $output .= aui()->input(
198
+			    array(
199
+				    'type'  =>  'checkbox',
200
+				    'id'    =>  'switch-example',
201
+				    'name'    =>  'switch-example',
202
+				    'placeholder'   => 'checkbox-example',
203
+				    'title'   => 'Switch example',
204
+				    'value' =>  '1',
205
+				    'checked'   => true,
206
+				    'switch'    => true,
207
+				    'required'  => false,
208
+				    'help_text' => 'help text',
209
+				    'label' => 'Switch on'
210
+			    )
211
+		    );
212
+
213
+		    // switch example
214
+		    $output .= aui()->input(
215
+			    array(
216
+				    'type'  =>  'checkbox',
217
+				    'id'    =>  'switch-example2',
218
+				    'name'    =>  'switch-example2',
219
+				    'placeholder'   => 'checkbox-example',
220
+				    'title'   => 'Switch example',
221
+				    'value' =>  '1',
222
+				    'checked'   => false,
223
+				    'switch'    => true,
224
+				    'required'  => false,
225
+				    'help_text' => 'help text',
226
+				    'label' => 'Switch off'
227
+			    )
228
+		    );
229
+
230
+		    // close form
231
+		    $output .= "</form>";
232
+
233
+		    return $output;
234
+	    }
235 235
 }
236 236
 
237
-new AyeCode_UI_Plugin();
238 237
\ No newline at end of file
238
+    new AyeCode_UI_Plugin();
239 239
\ No newline at end of file
Please login to merge, or discard this patch.
vendor/ayecode/wp-ayecode-ui/includes/inc/bs4-js.php 3 patches
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -993,8 +993,8 @@
 block discarded – undo
993 993
     aui_flip_color_scheme_on_scroll();
994 994
 
995 995
 	<?php
996
-	// FSE tweaks.
997
-	if(!empty($_REQUEST['postType']) && $_REQUEST['postType']=='wp_template'){ ?>
996
+    // FSE tweaks.
997
+    if(!empty($_REQUEST['postType']) && $_REQUEST['postType']=='wp_template'){ ?>
998 998
     function aui_fse_set_data_scroll() {
999 999
         console.log('init scroll');
1000 1000
         let Iframe = document.getElementsByClassName("edit-site-visual-editor__editor-canvas");
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -242,7 +242,7 @@  discard block
 block discarded – undo
242 242
     function aui_init_flatpickr(){
243 243
         if ( typeof jQuery.fn.flatpickr === "function" && !$aui_doing_init_flatpickr) {
244 244
             $aui_doing_init_flatpickr = true;
245
-			<?php if ( ! empty( $flatpickr_locale ) ) { ?>try{flatpickr.localize(<?php echo $flatpickr_locale; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>);}catch(err){console.log(err.message);}<?php } ?>
245
+			<?php if (!empty($flatpickr_locale)) { ?>try{flatpickr.localize(<?php echo $flatpickr_locale; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>);}catch(err){console.log(err.message);}<?php } ?>
246 246
             jQuery('input[data-aui-init="flatpickr"]:not(.flatpickr-input)').flatpickr();
247 247
         }
248 248
         $aui_doing_init_flatpickr = false;
@@ -971,7 +971,7 @@  discard block
 block discarded – undo
971 971
 
972 972
 	<?php
973 973
 	// FSE tweaks.
974
-	if(!empty($_REQUEST['postType']) && $_REQUEST['postType']=='wp_template'){ ?>
974
+	if (!empty($_REQUEST['postType']) && $_REQUEST['postType'] == 'wp_template') { ?>
975 975
     function aui_fse_set_data_scroll() {
976 976
         console.log('init scroll');
977 977
         let Iframe = document.getElementsByClassName("edit-site-visual-editor__editor-canvas");
Please login to merge, or discard this patch.
Switch Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -962,8 +962,8 @@
 block discarded – undo
962 962
     aui_flip_color_scheme_on_scroll();
963 963
 
964 964
 	<?php
965
-	// FSE tweaks.
966
-	if(!empty($_REQUEST['postType']) && $_REQUEST['postType']=='wp_template'){ ?>
965
+	    // FSE tweaks.
966
+	    if(!empty($_REQUEST['postType']) && $_REQUEST['postType']=='wp_template'){ ?>
967 967
     function aui_fse_set_data_scroll() {
968 968
         console.log('init scroll');
969 969
         let Iframe = document.getElementsByClassName("edit-site-visual-editor__editor-canvas");
Please login to merge, or discard this patch.
includes/payments/class-getpaid-payment-form-submission-items.php 2 patches
Indentation   +90 added lines, -90 removed lines patch added patch discarded remove patch
@@ -12,51 +12,51 @@  discard block
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Payment_Form_Submission_Items {
14 14
 
15
-	/**
16
-	 * Submission items.
17
-	 * @var GetPaid_Form_Item[]
18
-	 */
19
-	public $items = array();
15
+    /**
16
+     * Submission items.
17
+     * @var GetPaid_Form_Item[]
18
+     */
19
+    public $items = array();
20 20
 
21 21
     /**
22
-	 * Class constructor
23
-	 *
24
-	 * @param GetPaid_Payment_Form_Submission $submission
25
-	 */
26
-	public function __construct( $submission ) {
27
-
28
-		$data         = $submission->get_data();
29
-		$payment_form = $submission->get_payment_form();
30
-		$invoice      = $submission->get_invoice();
31
-		$force_prices = array();
32
-
33
-		// Prepare the selected items.
34
-		$selected_items = array();
35
-		if ( ! empty( $data['getpaid-items'] ) ) {
36
-			$selected_items = wpinv_clean( $data['getpaid-items'] );
37
-
38
-			if ( ! empty( $invoice ) && $submission->is_initial_fetch() ) {
39
-				foreach ( $invoice->get_items() as $invoice_item ) {
40
-					if ( isset( $selected_items[ $invoice_item->get_id() ] ) ) {
41
-						$selected_items[ $invoice_item->get_id() ]['quantity'] = $invoice_item->get_quantity();
42
-						$selected_items[ $invoice_item->get_id() ]['price']    = $invoice_item->get_price();
43
-
44
-						$force_prices[ $invoice_item->get_id() ] = $invoice_item->get_price();
45
-					}
46
-				}
47
-			}
48
-		}
49
-
50
-		// (Maybe) set form items.
51
-		if ( isset( $data['getpaid-form-items'] ) ) {
52
-
53
-			// Confirm items key.
54
-			$form_items = wpinv_clean( $data['getpaid-form-items'] );
55
-			if ( ! isset( $data['getpaid-form-items-key'] ) || md5( NONCE_KEY . AUTH_KEY . $form_items ) !== $data['getpaid-form-items-key'] ) {
56
-				throw new Exception( __( 'We could not validate the form items. Please reload the page and try again.', 'invoicing' ) );
57
-			}
58
-
59
-			$items    = array();
22
+     * Class constructor
23
+     *
24
+     * @param GetPaid_Payment_Form_Submission $submission
25
+     */
26
+    public function __construct( $submission ) {
27
+
28
+        $data         = $submission->get_data();
29
+        $payment_form = $submission->get_payment_form();
30
+        $invoice      = $submission->get_invoice();
31
+        $force_prices = array();
32
+
33
+        // Prepare the selected items.
34
+        $selected_items = array();
35
+        if ( ! empty( $data['getpaid-items'] ) ) {
36
+            $selected_items = wpinv_clean( $data['getpaid-items'] );
37
+
38
+            if ( ! empty( $invoice ) && $submission->is_initial_fetch() ) {
39
+                foreach ( $invoice->get_items() as $invoice_item ) {
40
+                    if ( isset( $selected_items[ $invoice_item->get_id() ] ) ) {
41
+                        $selected_items[ $invoice_item->get_id() ]['quantity'] = $invoice_item->get_quantity();
42
+                        $selected_items[ $invoice_item->get_id() ]['price']    = $invoice_item->get_price();
43
+
44
+                        $force_prices[ $invoice_item->get_id() ] = $invoice_item->get_price();
45
+                    }
46
+                }
47
+            }
48
+        }
49
+
50
+        // (Maybe) set form items.
51
+        if ( isset( $data['getpaid-form-items'] ) ) {
52
+
53
+            // Confirm items key.
54
+            $form_items = wpinv_clean( $data['getpaid-form-items'] );
55
+            if ( ! isset( $data['getpaid-form-items-key'] ) || md5( NONCE_KEY . AUTH_KEY . $form_items ) !== $data['getpaid-form-items-key'] ) {
56
+                throw new Exception( __( 'We could not validate the form items. Please reload the page and try again.', 'invoicing' ) );
57
+            }
58
+
59
+            $items    = array();
60 60
             $item_ids = array();
61 61
 
62 62
             foreach ( getpaid_convert_items_to_array( $form_items ) as $item_id => $qty ) {
@@ -69,10 +69,10 @@  discard block
 block discarded – undo
69 69
                         $item->set_is_required( false );
70 70
                     }
71 71
 
72
-					if ( ! $item->user_can_set_their_price() && isset( $force_prices[ $item_id ] ) ) {
73
-						$item->set_is_dynamic_pricing( true );
74
-						$item->set_minimum_price( 0 );
75
-					}
72
+                    if ( ! $item->user_can_set_their_price() && isset( $force_prices[ $item_id ] ) ) {
73
+                        $item->set_is_dynamic_pricing( true );
74
+                        $item->set_minimum_price( 0 );
75
+                    }
76 76
 
77 77
                     $item_ids[] = $item->get_id();
78 78
                     $items[]    = $item;
@@ -87,61 +87,61 @@  discard block
 block discarded – undo
87 87
                         $items[]    = $item;
88 88
                     }
89 89
                 }
90
-			}
90
+            }
91 91
 
92 92
             $payment_form->set_items( $items );
93 93
 
94
-		}
95
-
96
-		// Process each individual item.
97
-		foreach ( $payment_form->get_items() as $item ) {
98
-			$this->process_item( $item, $selected_items, $submission );
99
-		}
100
-
101
-	}
102
-
103
-	/**
104
-	 * Process a single item.
105
-	 *
106
-	 * @param GetPaid_Form_Item $item
107
-	 * @param array $selected_items
108
-	 * @param GetPaid_Payment_Form_Submission $submission
109
-	 */
110
-	public function process_item( $item, $selected_items, $submission ) {
94
+        }
111 95
 
112
-		// Abort if this is an optional item and it has not been selected.
113
-		if ( ! $item->is_required() && ! isset( $selected_items[ $item->get_id() ] ) ) {
114
-			return;
115
-		}
96
+        // Process each individual item.
97
+        foreach ( $payment_form->get_items() as $item ) {
98
+            $this->process_item( $item, $selected_items, $submission );
99
+        }
116 100
 
117
-		// (maybe) let customers change the quantities and prices.
118
-		if ( isset( $selected_items[ $item->get_id() ] ) ) {
101
+    }
119 102
 
120
-			// Maybe change the quantities.
121
-			if ( $item->allows_quantities() ) {
122
-				$item->set_quantity( (float) $selected_items[ $item->get_id() ]['quantity'] );
123
-			}
103
+    /**
104
+     * Process a single item.
105
+     *
106
+     * @param GetPaid_Form_Item $item
107
+     * @param array $selected_items
108
+     * @param GetPaid_Payment_Form_Submission $submission
109
+     */
110
+    public function process_item( $item, $selected_items, $submission ) {
111
+
112
+        // Abort if this is an optional item and it has not been selected.
113
+        if ( ! $item->is_required() && ! isset( $selected_items[ $item->get_id() ] ) ) {
114
+            return;
115
+        }
116
+
117
+        // (maybe) let customers change the quantities and prices.
118
+        if ( isset( $selected_items[ $item->get_id() ] ) ) {
119
+
120
+            // Maybe change the quantities.
121
+            if ( $item->allows_quantities() ) {
122
+                $item->set_quantity( (float) $selected_items[ $item->get_id() ]['quantity'] );
123
+            }
124 124
 
125
-			// Maybe change the price.
126
-			if ( $item->user_can_set_their_price() ) {
127
-				$price = (float) wpinv_sanitize_amount( $selected_items[ $item->get_id() ]['price'] );
125
+            // Maybe change the price.
126
+            if ( $item->user_can_set_their_price() ) {
127
+                $price = (float) wpinv_sanitize_amount( $selected_items[ $item->get_id() ]['price'] );
128 128
 
129
-				if ( $item->get_minimum_price() > $price ) {
130
-					throw new Exception( sprintf( __( 'The minimum allowed amount is %s', 'invoicing' ), getpaid_unstandardize_amount( $item->get_minimum_price() ) ) );
131
-				}
129
+                if ( $item->get_minimum_price() > $price ) {
130
+                    throw new Exception( sprintf( __( 'The minimum allowed amount is %s', 'invoicing' ), getpaid_unstandardize_amount( $item->get_minimum_price() ) ) );
131
+                }
132 132
 
133
-				$item->set_price( $price );
133
+                $item->set_price( $price );
134 134
 
135
-			}
136
-		}
135
+            }
136
+        }
137 137
 
138
-		if ( 0 == $item->get_quantity() ) {
139
-			return;
140
-		}
138
+        if ( 0 == $item->get_quantity() ) {
139
+            return;
140
+        }
141 141
 
142
-		// Save the item.
143
-		$this->items[] = apply_filters( 'getpaid_payment_form_submission_processed_item', $item, $submission );
142
+        // Save the item.
143
+        $this->items[] = apply_filters( 'getpaid_payment_form_submission_processed_item', $item, $submission );
144 144
 
145
-	}
145
+    }
146 146
 
147 147
 }
Please login to merge, or discard this patch.
Spacing   +43 added lines, -43 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
  * Payment form submission itemss class
@@ -23,7 +23,7 @@  discard block
 block discarded – undo
23 23
 	 *
24 24
 	 * @param GetPaid_Payment_Form_Submission $submission
25 25
 	 */
26
-	public function __construct( $submission ) {
26
+	public function __construct($submission) {
27 27
 
28 28
 		$data         = $submission->get_data();
29 29
 		$payment_form = $submission->get_payment_form();
@@ -32,46 +32,46 @@  discard block
 block discarded – undo
32 32
 
33 33
 		// Prepare the selected items.
34 34
 		$selected_items = array();
35
-		if ( ! empty( $data['getpaid-items'] ) ) {
36
-			$selected_items = wpinv_clean( $data['getpaid-items'] );
35
+		if (!empty($data['getpaid-items'])) {
36
+			$selected_items = wpinv_clean($data['getpaid-items']);
37 37
 
38
-			if ( ! empty( $invoice ) && $submission->is_initial_fetch() ) {
39
-				foreach ( $invoice->get_items() as $invoice_item ) {
40
-					if ( isset( $selected_items[ $invoice_item->get_id() ] ) ) {
41
-						$selected_items[ $invoice_item->get_id() ]['quantity'] = $invoice_item->get_quantity();
42
-						$selected_items[ $invoice_item->get_id() ]['price']    = $invoice_item->get_price();
38
+			if (!empty($invoice) && $submission->is_initial_fetch()) {
39
+				foreach ($invoice->get_items() as $invoice_item) {
40
+					if (isset($selected_items[$invoice_item->get_id()])) {
41
+						$selected_items[$invoice_item->get_id()]['quantity'] = $invoice_item->get_quantity();
42
+						$selected_items[$invoice_item->get_id()]['price']    = $invoice_item->get_price();
43 43
 
44
-						$force_prices[ $invoice_item->get_id() ] = $invoice_item->get_price();
44
+						$force_prices[$invoice_item->get_id()] = $invoice_item->get_price();
45 45
 					}
46 46
 				}
47 47
 			}
48 48
 		}
49 49
 
50 50
 		// (Maybe) set form items.
51
-		if ( isset( $data['getpaid-form-items'] ) ) {
51
+		if (isset($data['getpaid-form-items'])) {
52 52
 
53 53
 			// Confirm items key.
54
-			$form_items = wpinv_clean( $data['getpaid-form-items'] );
55
-			if ( ! isset( $data['getpaid-form-items-key'] ) || md5( NONCE_KEY . AUTH_KEY . $form_items ) !== $data['getpaid-form-items-key'] ) {
56
-				throw new Exception( __( 'We could not validate the form items. Please reload the page and try again.', 'invoicing' ) );
54
+			$form_items = wpinv_clean($data['getpaid-form-items']);
55
+			if (!isset($data['getpaid-form-items-key']) || md5(NONCE_KEY . AUTH_KEY . $form_items) !== $data['getpaid-form-items-key']) {
56
+				throw new Exception(__('We could not validate the form items. Please reload the page and try again.', 'invoicing'));
57 57
 			}
58 58
 
59
-			$items    = array();
59
+			$items = array();
60 60
             $item_ids = array();
61 61
 
62
-            foreach ( getpaid_convert_items_to_array( $form_items ) as $item_id => $qty ) {
63
-                if ( ! in_array( $item_id, $item_ids ) ) {
64
-                    $item = new GetPaid_Form_Item( $item_id );
65
-                    $item->set_quantity( $qty );
62
+            foreach (getpaid_convert_items_to_array($form_items) as $item_id => $qty) {
63
+                if (!in_array($item_id, $item_ids)) {
64
+                    $item = new GetPaid_Form_Item($item_id);
65
+                    $item->set_quantity($qty);
66 66
 
67
-                    if ( empty( $qty ) ) {
68
-                        $item->set_allow_quantities( true );
69
-                        $item->set_is_required( false );
67
+                    if (empty($qty)) {
68
+                        $item->set_allow_quantities(true);
69
+                        $item->set_is_required(false);
70 70
                     }
71 71
 
72
-					if ( ! $item->user_can_set_their_price() && isset( $force_prices[ $item_id ] ) ) {
73
-						$item->set_is_dynamic_pricing( true );
74
-						$item->set_minimum_price( 0 );
72
+					if (!$item->user_can_set_their_price() && isset($force_prices[$item_id])) {
73
+						$item->set_is_dynamic_pricing(true);
74
+						$item->set_minimum_price(0);
75 75
 					}
76 76
 
77 77
                     $item_ids[] = $item->get_id();
@@ -79,23 +79,23 @@  discard block
 block discarded – undo
79 79
                 }
80 80
             }
81 81
 
82
-            if ( ! $payment_form->is_default() ) {
82
+            if (!$payment_form->is_default()) {
83 83
 
84
-                foreach ( $payment_form->get_items() as $item ) {
85
-                    if ( ! in_array( $item->get_id(), $item_ids ) ) {
84
+                foreach ($payment_form->get_items() as $item) {
85
+                    if (!in_array($item->get_id(), $item_ids)) {
86 86
                         $item_ids[] = $item->get_id();
87 87
                         $items[]    = $item;
88 88
                     }
89 89
                 }
90 90
 			}
91 91
 
92
-            $payment_form->set_items( $items );
92
+            $payment_form->set_items($items);
93 93
 
94 94
 		}
95 95
 
96 96
 		// Process each individual item.
97
-		foreach ( $payment_form->get_items() as $item ) {
98
-			$this->process_item( $item, $selected_items, $submission );
97
+		foreach ($payment_form->get_items() as $item) {
98
+			$this->process_item($item, $selected_items, $submission);
99 99
 		}
100 100
 
101 101
 	}
@@ -107,40 +107,40 @@  discard block
 block discarded – undo
107 107
 	 * @param array $selected_items
108 108
 	 * @param GetPaid_Payment_Form_Submission $submission
109 109
 	 */
110
-	public function process_item( $item, $selected_items, $submission ) {
110
+	public function process_item($item, $selected_items, $submission) {
111 111
 
112 112
 		// Abort if this is an optional item and it has not been selected.
113
-		if ( ! $item->is_required() && ! isset( $selected_items[ $item->get_id() ] ) ) {
113
+		if (!$item->is_required() && !isset($selected_items[$item->get_id()])) {
114 114
 			return;
115 115
 		}
116 116
 
117 117
 		// (maybe) let customers change the quantities and prices.
118
-		if ( isset( $selected_items[ $item->get_id() ] ) ) {
118
+		if (isset($selected_items[$item->get_id()])) {
119 119
 
120 120
 			// Maybe change the quantities.
121
-			if ( $item->allows_quantities() ) {
122
-				$item->set_quantity( (float) $selected_items[ $item->get_id() ]['quantity'] );
121
+			if ($item->allows_quantities()) {
122
+				$item->set_quantity((float) $selected_items[$item->get_id()]['quantity']);
123 123
 			}
124 124
 
125 125
 			// Maybe change the price.
126
-			if ( $item->user_can_set_their_price() ) {
127
-				$price = (float) wpinv_sanitize_amount( $selected_items[ $item->get_id() ]['price'] );
126
+			if ($item->user_can_set_their_price()) {
127
+				$price = (float) wpinv_sanitize_amount($selected_items[$item->get_id()]['price']);
128 128
 
129
-				if ( $item->get_minimum_price() > $price ) {
130
-					throw new Exception( sprintf( __( 'The minimum allowed amount is %s', 'invoicing' ), getpaid_unstandardize_amount( $item->get_minimum_price() ) ) );
129
+				if ($item->get_minimum_price() > $price) {
130
+					throw new Exception(sprintf(__('The minimum allowed amount is %s', 'invoicing'), getpaid_unstandardize_amount($item->get_minimum_price())));
131 131
 				}
132 132
 
133
-				$item->set_price( $price );
133
+				$item->set_price($price);
134 134
 
135 135
 			}
136 136
 		}
137 137
 
138
-		if ( 0 == $item->get_quantity() ) {
138
+		if (0 == $item->get_quantity()) {
139 139
 			return;
140 140
 		}
141 141
 
142 142
 		// Save the item.
143
-		$this->items[] = apply_filters( 'getpaid_payment_form_submission_processed_item', $item, $submission );
143
+		$this->items[] = apply_filters('getpaid_payment_form_submission_processed_item', $item, $submission);
144 144
 
145 145
 	}
146 146
 
Please login to merge, or discard this patch.
includes/payments/class-getpaid-form-item.php 2 patches
Indentation   +359 added lines, -359 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! defined( 'ABSPATH' ) ) {
3
-	exit;
3
+    exit;
4 4
 }
5 5
 
6 6
 /**
@@ -10,67 +10,67 @@  discard block
 block discarded – undo
10 10
 class GetPaid_Form_Item  extends WPInv_Item {
11 11
 
12 12
     /**
13
-	 * Stores a custom description for the item.
14
-	 *
15
-	 * @var string
16
-	 */
17
-	protected $custom_description = null;
18
-
19
-	/**
20
-	 * Stores the item quantity.
21
-	 *
22
-	 * @var float
23
-	 */
24
-	protected $quantity = 1;
25
-
26
-	/**
27
-	 * Stores the item meta.
28
-	 *
29
-	 * @var array
30
-	 */
31
-	protected $meta = array();
32
-
33
-	/**
34
-	 * Is this item required?
35
-	 *
36
-	 * @var int
37
-	 */
38
-	protected $is_required = true;
39
-
40
-	/**
41
-	 * Are quantities allowed?
42
-	 *
43
-	 * @var int
44
-	 */
45
-	protected $allow_quantities = false;
46
-
47
-	/**
48
-	 * Associated invoice.
49
-	 *
50
-	 * @var int
51
-	 */
52
-	public $invoice_id = 0;
53
-
54
-	/**
55
-	 * Item discount.
56
-	 *
57
-	 * @var float
58
-	 */
59
-	public $item_discount = 0;
60
-
61
-	/**
62
-	 * Recurring item discount.
63
-	 *
64
-	 * @var float
65
-	 */
66
-	public $recurring_item_discount = 0;
67
-
68
-	/**
69
-	 * Item tax.
70
-	 *
71
-	 * @var float
72
-	 */
73
-	public $item_tax = 0;
13
+     * Stores a custom description for the item.
14
+     *
15
+     * @var string
16
+     */
17
+    protected $custom_description = null;
18
+
19
+    /**
20
+     * Stores the item quantity.
21
+     *
22
+     * @var float
23
+     */
24
+    protected $quantity = 1;
25
+
26
+    /**
27
+     * Stores the item meta.
28
+     *
29
+     * @var array
30
+     */
31
+    protected $meta = array();
32
+
33
+    /**
34
+     * Is this item required?
35
+     *
36
+     * @var int
37
+     */
38
+    protected $is_required = true;
39
+
40
+    /**
41
+     * Are quantities allowed?
42
+     *
43
+     * @var int
44
+     */
45
+    protected $allow_quantities = false;
46
+
47
+    /**
48
+     * Associated invoice.
49
+     *
50
+     * @var int
51
+     */
52
+    public $invoice_id = 0;
53
+
54
+    /**
55
+     * Item discount.
56
+     *
57
+     * @var float
58
+     */
59
+    public $item_discount = 0;
60
+
61
+    /**
62
+     * Recurring item discount.
63
+     *
64
+     * @var float
65
+     */
66
+    public $recurring_item_discount = 0;
67
+
68
+    /**
69
+     * Item tax.
70
+     *
71
+     * @var float
72
+     */
73
+    public $item_tax = 0;
74 74
 
75 75
     /*
76 76
 	|--------------------------------------------------------------------------
@@ -88,230 +88,230 @@  discard block
 block discarded – undo
88 88
     */
89 89
 
90 90
     /**
91
-	 * Get the item name.
92
-	 *
93
-	 * @since 1.0.19
94
-	 * @param  string $context View or edit context.
95
-	 * @return string
96
-	 */
97
-	public function get_name( $context = 'view' ) {
98
-		$name = parent::get_name( $context );
99
-		return $name . wpinv_get_item_suffix( $this );
100
-	}
101
-
102
-	/**
103
-	 * Get the item name without a suffix.
104
-	 *
105
-	 * @since 1.0.19
106
-	 * @param  string $context View or edit context.
107
-	 * @return string
108
-	 */
109
-	public function get_raw_name( $context = 'view' ) {
110
-		return parent::get_name( $context );
111
-	}
112
-
113
-	/**
114
-	 * Get the item description.
115
-	 *
116
-	 * @since 1.0.19
117
-	 * @param  string $context View or edit context.
118
-	 * @return string
119
-	 */
120
-	public function get_description( $context = 'view' ) {
121
-
122
-		if ( isset( $this->custom_description ) ) {
123
-			return $this->custom_description;
124
-		}
125
-
126
-		return parent::get_description( $context );
127
-	}
128
-
129
-	/**
130
-	 * Returns the sub total.
131
-	 *
132
-	 * @since 1.0.19
133
-	 * @param  string $context View or edit context.
134
-	 * @return float
135
-	 */
136
-	public function get_sub_total( $context = 'view' ) {
137
-		return $this->get_quantity( $context ) * $this->get_initial_price( $context );
138
-	}
139
-
140
-	/**
141
-	 * Returns the recurring sub total.
142
-	 *
143
-	 * @since 1.0.19
144
-	 * @param  string $context View or edit context.
145
-	 * @return float
146
-	 */
147
-	public function get_recurring_sub_total( $context = 'view' ) {
148
-
149
-		if ( $this->is_recurring() ) {
150
-			return $this->get_quantity( $context ) * $this->get_price( $context );
151
-		}
152
-
153
-		return 0;
154
-	}
155
-
156
-	/**
157
-	 * @deprecated
158
-	 */
159
-	public function get_qantity( $context = 'view' ) {
160
-		return $this->get_quantity( $context );
161
-	}
162
-
163
-	/**
164
-	 * Get the item quantity.
165
-	 *
166
-	 * @since 1.0.19
167
-	 * @param  string $context View or edit context.
168
-	 * @return float
169
-	 */
170
-	public function get_quantity( $context = 'view' ) {
171
-		$quantity = (float) $this->quantity;
172
-
173
-		if ( 'view' === $context ) {
174
-			return apply_filters( 'getpaid_payment_form_item_quantity', $quantity, $this );
175
-		}
176
-
177
-		return $quantity;
178
-
179
-	}
180
-
181
-	/**
182
-	 * Get the item meta data.
183
-	 *
184
-	 * @since 1.0.19
185
-	 * @param  string $context View or edit context.
186
-	 * @return meta
187
-	 */
188
-	public function get_item_meta( $context = 'view' ) {
189
-		$meta = $this->meta;
190
-
191
-		if ( 'view' === $context ) {
192
-			return apply_filters( 'getpaid_payment_form_item_meta', $meta, $this );
193
-		}
194
-
195
-		return $meta;
196
-
197
-	}
198
-
199
-	/**
200
-	 * Returns whether or not customers can update the item quantity.
201
-	 *
202
-	 * @since 1.0.19
203
-	 * @param  string $context View or edit context.
204
-	 * @return bool
205
-	 */
206
-	public function get_allow_quantities( $context = 'view' ) {
207
-		$allow_quantities = (bool) $this->allow_quantities;
208
-
209
-		if ( 'view' === $context ) {
210
-			return apply_filters( 'getpaid_payment_form_item_allow_quantities', $allow_quantities, $this );
211
-		}
212
-
213
-		return $allow_quantities;
214
-
215
-	}
216
-
217
-	/**
218
-	 * Returns whether or not the item is required.
219
-	 *
220
-	 * @since 1.0.19
221
-	 * @param  string $context View or edit context.
222
-	 * @return bool
223
-	 */
224
-	public function get_is_required( $context = 'view' ) {
225
-		$is_required = (bool) $this->is_required;
226
-
227
-		if ( 'view' === $context ) {
228
-			return apply_filters( 'getpaid_payment_form_item_is_required', $is_required, $this );
229
-		}
230
-
231
-		return $is_required;
232
-
233
-	}
234
-
235
-	/**
236
-	 * Prepares form data for use.
237
-	 *
238
-	 * @since 1.0.19
239
-	 * @return array
240
-	 */
241
-	public function prepare_data_for_use( $required = null ) {
242
-
243
-		$required = is_null( $required ) ? $this->is_required() : $required;
244
-		return array(
245
-			'title'            => wp_strip_all_tags( $this->get_name() ),
246
-			'id'               => $this->get_id(),
247
-			'price'            => $this->get_price(),
248
-			'recurring'        => $this->is_recurring(),
249
-			'description'      => $this->get_description(),
250
-			'allow_quantities' => $this->allows_quantities(),
251
-			'required'         => $required,
252
-		);
253
-
254
-	}
255
-
256
-	/**
257
-	 * Prepares form data for ajax use.
258
-	 *
259
-	 * @since 1.0.19
260
-	 * @return array
261
-	 */
262
-	public function prepare_data_for_invoice_edit_ajax( $currency = '', $is_renewal = false ) {
263
-
264
-		$description = getpaid_item_recurring_price_help_text( $this, $currency );
265
-
266
-		if ( $description ) {
267
-			$description = "<div class='getpaid-subscription-help-text'>$description</div>";
268
-		}
269
-
270
-		$price    = ! $is_renewal ? $this->get_price() : $this->get_recurring_price();
271
-		$subtotal = ! $is_renewal ? $this->get_sub_total() : $this->get_recurring_sub_total();
272
-		return array(
273
-			'id'     => $this->get_id(),
274
-			'texts'  => array(
275
-				'item-name'        => sanitize_text_field( $this->get_name() ),
276
-				'item-description' => wp_kses_post( $this->get_description() ) . $description,
277
-				'item-quantity'    => floatval( $this->get_quantity() ),
278
-				'item-price'       => wpinv_price( $price, $currency ),
279
-				'item-total'       => wpinv_price( $subtotal, $currency ),
280
-			),
281
-			'inputs' => array(
282
-				'item-id'          => $this->get_id(),
283
-				'item-name'        => sanitize_text_field( $this->get_name() ),
284
-				'item-description' => wp_kses_post( $this->get_description() ),
285
-				'item-quantity'    => floatval( $this->get_quantity() ),
286
-				'item-price'       => $price,
287
-			),
288
-		);
289
-
290
-	}
291
-
292
-	/**
293
-	 * Prepares form data for saving (cart_details).
294
-	 *
295
-	 * @since 1.0.19
296
-	 * @return array
297
-	 */
298
-	public function prepare_data_for_saving() {
299
-
300
-		return array(
301
-			'post_id'          => $this->invoice_id,
302
-			'item_id'          => $this->get_id(),
303
-			'item_name'        => sanitize_text_field( $this->get_raw_name( 'edit' ) ),
304
-			'item_description' => $this->get_description( 'edit' ),
305
-			'tax'              => $this->item_tax,
306
-			'item_price'       => $this->get_price( 'edit' ),
307
-			'quantity'         => (float) $this->get_quantity( 'edit' ),
308
-			'discount'         => $this->item_discount,
309
-			'subtotal'         => $this->get_sub_total( 'edit' ),
310
-			'price'            => $this->get_sub_total( 'edit' ) + $this->item_tax - $this->item_discount,
311
-			'meta'             => $this->get_item_meta( 'edit' ),
312
-		);
313
-
314
-	}
91
+     * Get the item name.
92
+     *
93
+     * @since 1.0.19
94
+     * @param  string $context View or edit context.
95
+     * @return string
96
+     */
97
+    public function get_name( $context = 'view' ) {
98
+        $name = parent::get_name( $context );
99
+        return $name . wpinv_get_item_suffix( $this );
100
+    }
101
+
102
+    /**
103
+     * Get the item name without a suffix.
104
+     *
105
+     * @since 1.0.19
106
+     * @param  string $context View or edit context.
107
+     * @return string
108
+     */
109
+    public function get_raw_name( $context = 'view' ) {
110
+        return parent::get_name( $context );
111
+    }
112
+
113
+    /**
114
+     * Get the item description.
115
+     *
116
+     * @since 1.0.19
117
+     * @param  string $context View or edit context.
118
+     * @return string
119
+     */
120
+    public function get_description( $context = 'view' ) {
121
+
122
+        if ( isset( $this->custom_description ) ) {
123
+            return $this->custom_description;
124
+        }
125
+
126
+        return parent::get_description( $context );
127
+    }
128
+
129
+    /**
130
+     * Returns the sub total.
131
+     *
132
+     * @since 1.0.19
133
+     * @param  string $context View or edit context.
134
+     * @return float
135
+     */
136
+    public function get_sub_total( $context = 'view' ) {
137
+        return $this->get_quantity( $context ) * $this->get_initial_price( $context );
138
+    }
139
+
140
+    /**
141
+     * Returns the recurring sub total.
142
+     *
143
+     * @since 1.0.19
144
+     * @param  string $context View or edit context.
145
+     * @return float
146
+     */
147
+    public function get_recurring_sub_total( $context = 'view' ) {
148
+
149
+        if ( $this->is_recurring() ) {
150
+            return $this->get_quantity( $context ) * $this->get_price( $context );
151
+        }
152
+
153
+        return 0;
154
+    }
155
+
156
+    /**
157
+     * @deprecated
158
+     */
159
+    public function get_qantity( $context = 'view' ) {
160
+        return $this->get_quantity( $context );
161
+    }
162
+
163
+    /**
164
+     * Get the item quantity.
165
+     *
166
+     * @since 1.0.19
167
+     * @param  string $context View or edit context.
168
+     * @return float
169
+     */
170
+    public function get_quantity( $context = 'view' ) {
171
+        $quantity = (float) $this->quantity;
172
+
173
+        if ( 'view' === $context ) {
174
+            return apply_filters( 'getpaid_payment_form_item_quantity', $quantity, $this );
175
+        }
176
+
177
+        return $quantity;
178
+
179
+    }
180
+
181
+    /**
182
+     * Get the item meta data.
183
+     *
184
+     * @since 1.0.19
185
+     * @param  string $context View or edit context.
186
+     * @return meta
187
+     */
188
+    public function get_item_meta( $context = 'view' ) {
189
+        $meta = $this->meta;
190
+
191
+        if ( 'view' === $context ) {
192
+            return apply_filters( 'getpaid_payment_form_item_meta', $meta, $this );
193
+        }
194
+
195
+        return $meta;
196
+
197
+    }
198
+
199
+    /**
200
+     * Returns whether or not customers can update the item quantity.
201
+     *
202
+     * @since 1.0.19
203
+     * @param  string $context View or edit context.
204
+     * @return bool
205
+     */
206
+    public function get_allow_quantities( $context = 'view' ) {
207
+        $allow_quantities = (bool) $this->allow_quantities;
208
+
209
+        if ( 'view' === $context ) {
210
+            return apply_filters( 'getpaid_payment_form_item_allow_quantities', $allow_quantities, $this );
211
+        }
212
+
213
+        return $allow_quantities;
214
+
215
+    }
216
+
217
+    /**
218
+     * Returns whether or not the item is required.
219
+     *
220
+     * @since 1.0.19
221
+     * @param  string $context View or edit context.
222
+     * @return bool
223
+     */
224
+    public function get_is_required( $context = 'view' ) {
225
+        $is_required = (bool) $this->is_required;
226
+
227
+        if ( 'view' === $context ) {
228
+            return apply_filters( 'getpaid_payment_form_item_is_required', $is_required, $this );
229
+        }
230
+
231
+        return $is_required;
232
+
233
+    }
234
+
235
+    /**
236
+     * Prepares form data for use.
237
+     *
238
+     * @since 1.0.19
239
+     * @return array
240
+     */
241
+    public function prepare_data_for_use( $required = null ) {
242
+
243
+        $required = is_null( $required ) ? $this->is_required() : $required;
244
+        return array(
245
+            'title'            => wp_strip_all_tags( $this->get_name() ),
246
+            'id'               => $this->get_id(),
247
+            'price'            => $this->get_price(),
248
+            'recurring'        => $this->is_recurring(),
249
+            'description'      => $this->get_description(),
250
+            'allow_quantities' => $this->allows_quantities(),
251
+            'required'         => $required,
252
+        );
253
+
254
+    }
255
+
256
+    /**
257
+     * Prepares form data for ajax use.
258
+     *
259
+     * @since 1.0.19
260
+     * @return array
261
+     */
262
+    public function prepare_data_for_invoice_edit_ajax( $currency = '', $is_renewal = false ) {
263
+
264
+        $description = getpaid_item_recurring_price_help_text( $this, $currency );
265
+
266
+        if ( $description ) {
267
+            $description = "<div class='getpaid-subscription-help-text'>$description</div>";
268
+        }
269
+
270
+        $price    = ! $is_renewal ? $this->get_price() : $this->get_recurring_price();
271
+        $subtotal = ! $is_renewal ? $this->get_sub_total() : $this->get_recurring_sub_total();
272
+        return array(
273
+            'id'     => $this->get_id(),
274
+            'texts'  => array(
275
+                'item-name'        => sanitize_text_field( $this->get_name() ),
276
+                'item-description' => wp_kses_post( $this->get_description() ) . $description,
277
+                'item-quantity'    => floatval( $this->get_quantity() ),
278
+                'item-price'       => wpinv_price( $price, $currency ),
279
+                'item-total'       => wpinv_price( $subtotal, $currency ),
280
+            ),
281
+            'inputs' => array(
282
+                'item-id'          => $this->get_id(),
283
+                'item-name'        => sanitize_text_field( $this->get_name() ),
284
+                'item-description' => wp_kses_post( $this->get_description() ),
285
+                'item-quantity'    => floatval( $this->get_quantity() ),
286
+                'item-price'       => $price,
287
+            ),
288
+        );
289
+
290
+    }
291
+
292
+    /**
293
+     * Prepares form data for saving (cart_details).
294
+     *
295
+     * @since 1.0.19
296
+     * @return array
297
+     */
298
+    public function prepare_data_for_saving() {
299
+
300
+        return array(
301
+            'post_id'          => $this->invoice_id,
302
+            'item_id'          => $this->get_id(),
303
+            'item_name'        => sanitize_text_field( $this->get_raw_name( 'edit' ) ),
304
+            'item_description' => $this->get_description( 'edit' ),
305
+            'tax'              => $this->item_tax,
306
+            'item_price'       => $this->get_price( 'edit' ),
307
+            'quantity'         => (float) $this->get_quantity( 'edit' ),
308
+            'discount'         => $this->item_discount,
309
+            'subtotal'         => $this->get_sub_total( 'edit' ),
310
+            'price'            => $this->get_sub_total( 'edit' ) + $this->item_tax - $this->item_discount,
311
+            'meta'             => $this->get_item_meta( 'edit' ),
312
+        );
313
+
314
+    }
315 315
 
316 316
     /*
317 317
 	|--------------------------------------------------------------------------
@@ -323,70 +323,70 @@  discard block
 block discarded – undo
323 323
 	| object.
324 324
     */
325 325
 
326
-	/**
327
-	 * Set the item qantity.
328
-	 *
329
-	 * @since 1.0.19
330
-	 * @param  float $quantity The item quantity.
331
-	 */
332
-	public function set_quantity( $quantity ) {
333
-
334
-		if ( ! is_numeric( $quantity ) ) {
335
-			$quantity = 1;
336
-		}
337
-
338
-		$this->quantity = (float) $quantity;
339
-
340
-	}
341
-
342
-	/**
343
-	 * Set the item meta data.
344
-	 *
345
-	 * @since 1.0.19
346
-	 * @param  array $meta The item meta data.
347
-	 */
348
-	public function set_item_meta( $meta ) {
349
-		$this->meta = maybe_unserialize( $meta );
350
-	}
351
-
352
-	/**
353
-	 * Set whether or not the quantities are allowed.
354
-	 *
355
-	 * @since 1.0.19
356
-	 * @param  bool $allow_quantities
357
-	 */
358
-	public function set_allow_quantities( $allow_quantities ) {
359
-		$this->allow_quantities = (bool) $allow_quantities;
360
-	}
361
-
362
-	/**
363
-	 * Set whether or not the item is required.
364
-	 *
365
-	 * @since 1.0.19
366
-	 * @param  bool $is_required
367
-	 */
368
-	public function set_is_required( $is_required ) {
369
-		$this->is_required = (bool) $is_required;
370
-	}
371
-
372
-	/**
373
-	 * Sets the custom item description.
374
-	 *
375
-	 * @since 1.0.19
376
-	 * @param  string $description
377
-	 */
378
-	public function set_custom_description( $description ) {
379
-		$this->custom_description = $description;
380
-	}
326
+    /**
327
+     * Set the item qantity.
328
+     *
329
+     * @since 1.0.19
330
+     * @param  float $quantity The item quantity.
331
+     */
332
+    public function set_quantity( $quantity ) {
333
+
334
+        if ( ! is_numeric( $quantity ) ) {
335
+            $quantity = 1;
336
+        }
337
+
338
+        $this->quantity = (float) $quantity;
339
+
340
+    }
341
+
342
+    /**
343
+     * Set the item meta data.
344
+     *
345
+     * @since 1.0.19
346
+     * @param  array $meta The item meta data.
347
+     */
348
+    public function set_item_meta( $meta ) {
349
+        $this->meta = maybe_unserialize( $meta );
350
+    }
351
+
352
+    /**
353
+     * Set whether or not the quantities are allowed.
354
+     *
355
+     * @since 1.0.19
356
+     * @param  bool $allow_quantities
357
+     */
358
+    public function set_allow_quantities( $allow_quantities ) {
359
+        $this->allow_quantities = (bool) $allow_quantities;
360
+    }
361
+
362
+    /**
363
+     * Set whether or not the item is required.
364
+     *
365
+     * @since 1.0.19
366
+     * @param  bool $is_required
367
+     */
368
+    public function set_is_required( $is_required ) {
369
+        $this->is_required = (bool) $is_required;
370
+    }
371
+
372
+    /**
373
+     * Sets the custom item description.
374
+     *
375
+     * @since 1.0.19
376
+     * @param  string $description
377
+     */
378
+    public function set_custom_description( $description ) {
379
+        $this->custom_description = $description;
380
+    }
381 381
 
382 382
     /**
383 383
      * We do not want to save items to the database.
384 384
      *
385
-	 * @return int item id
385
+     * @return int item id
386 386
      */
387 387
     public function save( $data = array() ) {
388 388
         return $this->get_id();
389
-	}
389
+    }
390 390
 
391 391
     /*
392 392
 	|--------------------------------------------------------------------------
@@ -398,23 +398,23 @@  discard block
 block discarded – undo
398 398
 	*/
399 399
 
400 400
     /**
401
-	 * Checks whether the item has enabled dynamic pricing.
402
-	 *
403
-	 * @since 1.0.19
404
-	 * @return bool
405
-	 */
406
-	public function is_required() {
401
+     * Checks whether the item has enabled dynamic pricing.
402
+     *
403
+     * @since 1.0.19
404
+     * @return bool
405
+     */
406
+    public function is_required() {
407 407
         return (bool) $this->get_is_required();
408
-	}
409
-
410
-	/**
411
-	 * Checks whether users can edit the quantities.
412
-	 *
413
-	 * @since 1.0.19
414
-	 * @return bool
415
-	 */
416
-	public function allows_quantities() {
408
+    }
409
+
410
+    /**
411
+     * Checks whether users can edit the quantities.
412
+     *
413
+     * @since 1.0.19
414
+     * @return bool
415
+     */
416
+    public function allows_quantities() {
417 417
         return (bool) $this->get_allow_quantities();
418
-	}
418
+    }
419 419
 
420 420
 }
Please login to merge, or discard this patch.
Spacing   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if (!defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
@@ -94,9 +94,9 @@  discard block
 block discarded – undo
94 94
 	 * @param  string $context View or edit context.
95 95
 	 * @return string
96 96
 	 */
97
-	public function get_name( $context = 'view' ) {
98
-		$name = parent::get_name( $context );
99
-		return $name . wpinv_get_item_suffix( $this );
97
+	public function get_name($context = 'view') {
98
+		$name = parent::get_name($context);
99
+		return $name . wpinv_get_item_suffix($this);
100 100
 	}
101 101
 
102 102
 	/**
@@ -106,8 +106,8 @@  discard block
 block discarded – undo
106 106
 	 * @param  string $context View or edit context.
107 107
 	 * @return string
108 108
 	 */
109
-	public function get_raw_name( $context = 'view' ) {
110
-		return parent::get_name( $context );
109
+	public function get_raw_name($context = 'view') {
110
+		return parent::get_name($context);
111 111
 	}
112 112
 
113 113
 	/**
@@ -117,13 +117,13 @@  discard block
 block discarded – undo
117 117
 	 * @param  string $context View or edit context.
118 118
 	 * @return string
119 119
 	 */
120
-	public function get_description( $context = 'view' ) {
120
+	public function get_description($context = 'view') {
121 121
 
122
-		if ( isset( $this->custom_description ) ) {
122
+		if (isset($this->custom_description)) {
123 123
 			return $this->custom_description;
124 124
 		}
125 125
 
126
-		return parent::get_description( $context );
126
+		return parent::get_description($context);
127 127
 	}
128 128
 
129 129
 	/**
@@ -133,8 +133,8 @@  discard block
 block discarded – undo
133 133
 	 * @param  string $context View or edit context.
134 134
 	 * @return float
135 135
 	 */
136
-	public function get_sub_total( $context = 'view' ) {
137
-		return $this->get_quantity( $context ) * $this->get_initial_price( $context );
136
+	public function get_sub_total($context = 'view') {
137
+		return $this->get_quantity($context) * $this->get_initial_price($context);
138 138
 	}
139 139
 
140 140
 	/**
@@ -144,10 +144,10 @@  discard block
 block discarded – undo
144 144
 	 * @param  string $context View or edit context.
145 145
 	 * @return float
146 146
 	 */
147
-	public function get_recurring_sub_total( $context = 'view' ) {
147
+	public function get_recurring_sub_total($context = 'view') {
148 148
 
149
-		if ( $this->is_recurring() ) {
150
-			return $this->get_quantity( $context ) * $this->get_price( $context );
149
+		if ($this->is_recurring()) {
150
+			return $this->get_quantity($context) * $this->get_price($context);
151 151
 		}
152 152
 
153 153
 		return 0;
@@ -156,8 +156,8 @@  discard block
 block discarded – undo
156 156
 	/**
157 157
 	 * @deprecated
158 158
 	 */
159
-	public function get_qantity( $context = 'view' ) {
160
-		return $this->get_quantity( $context );
159
+	public function get_qantity($context = 'view') {
160
+		return $this->get_quantity($context);
161 161
 	}
162 162
 
163 163
 	/**
@@ -167,11 +167,11 @@  discard block
 block discarded – undo
167 167
 	 * @param  string $context View or edit context.
168 168
 	 * @return float
169 169
 	 */
170
-	public function get_quantity( $context = 'view' ) {
170
+	public function get_quantity($context = 'view') {
171 171
 		$quantity = (float) $this->quantity;
172 172
 
173
-		if ( 'view' === $context ) {
174
-			return apply_filters( 'getpaid_payment_form_item_quantity', $quantity, $this );
173
+		if ('view' === $context) {
174
+			return apply_filters('getpaid_payment_form_item_quantity', $quantity, $this);
175 175
 		}
176 176
 
177 177
 		return $quantity;
@@ -185,11 +185,11 @@  discard block
 block discarded – undo
185 185
 	 * @param  string $context View or edit context.
186 186
 	 * @return meta
187 187
 	 */
188
-	public function get_item_meta( $context = 'view' ) {
188
+	public function get_item_meta($context = 'view') {
189 189
 		$meta = $this->meta;
190 190
 
191
-		if ( 'view' === $context ) {
192
-			return apply_filters( 'getpaid_payment_form_item_meta', $meta, $this );
191
+		if ('view' === $context) {
192
+			return apply_filters('getpaid_payment_form_item_meta', $meta, $this);
193 193
 		}
194 194
 
195 195
 		return $meta;
@@ -203,11 +203,11 @@  discard block
 block discarded – undo
203 203
 	 * @param  string $context View or edit context.
204 204
 	 * @return bool
205 205
 	 */
206
-	public function get_allow_quantities( $context = 'view' ) {
206
+	public function get_allow_quantities($context = 'view') {
207 207
 		$allow_quantities = (bool) $this->allow_quantities;
208 208
 
209
-		if ( 'view' === $context ) {
210
-			return apply_filters( 'getpaid_payment_form_item_allow_quantities', $allow_quantities, $this );
209
+		if ('view' === $context) {
210
+			return apply_filters('getpaid_payment_form_item_allow_quantities', $allow_quantities, $this);
211 211
 		}
212 212
 
213 213
 		return $allow_quantities;
@@ -221,11 +221,11 @@  discard block
 block discarded – undo
221 221
 	 * @param  string $context View or edit context.
222 222
 	 * @return bool
223 223
 	 */
224
-	public function get_is_required( $context = 'view' ) {
224
+	public function get_is_required($context = 'view') {
225 225
 		$is_required = (bool) $this->is_required;
226 226
 
227
-		if ( 'view' === $context ) {
228
-			return apply_filters( 'getpaid_payment_form_item_is_required', $is_required, $this );
227
+		if ('view' === $context) {
228
+			return apply_filters('getpaid_payment_form_item_is_required', $is_required, $this);
229 229
 		}
230 230
 
231 231
 		return $is_required;
@@ -238,11 +238,11 @@  discard block
 block discarded – undo
238 238
 	 * @since 1.0.19
239 239
 	 * @return array
240 240
 	 */
241
-	public function prepare_data_for_use( $required = null ) {
241
+	public function prepare_data_for_use($required = null) {
242 242
 
243
-		$required = is_null( $required ) ? $this->is_required() : $required;
243
+		$required = is_null($required) ? $this->is_required() : $required;
244 244
 		return array(
245
-			'title'            => wp_strip_all_tags( $this->get_name() ),
245
+			'title'            => wp_strip_all_tags($this->get_name()),
246 246
 			'id'               => $this->get_id(),
247 247
 			'price'            => $this->get_price(),
248 248
 			'recurring'        => $this->is_recurring(),
@@ -259,30 +259,30 @@  discard block
 block discarded – undo
259 259
 	 * @since 1.0.19
260 260
 	 * @return array
261 261
 	 */
262
-	public function prepare_data_for_invoice_edit_ajax( $currency = '', $is_renewal = false ) {
262
+	public function prepare_data_for_invoice_edit_ajax($currency = '', $is_renewal = false) {
263 263
 
264
-		$description = getpaid_item_recurring_price_help_text( $this, $currency );
264
+		$description = getpaid_item_recurring_price_help_text($this, $currency);
265 265
 
266
-		if ( $description ) {
266
+		if ($description) {
267 267
 			$description = "<div class='getpaid-subscription-help-text'>$description</div>";
268 268
 		}
269 269
 
270
-		$price    = ! $is_renewal ? $this->get_price() : $this->get_recurring_price();
271
-		$subtotal = ! $is_renewal ? $this->get_sub_total() : $this->get_recurring_sub_total();
270
+		$price    = !$is_renewal ? $this->get_price() : $this->get_recurring_price();
271
+		$subtotal = !$is_renewal ? $this->get_sub_total() : $this->get_recurring_sub_total();
272 272
 		return array(
273 273
 			'id'     => $this->get_id(),
274 274
 			'texts'  => array(
275
-				'item-name'        => sanitize_text_field( $this->get_name() ),
276
-				'item-description' => wp_kses_post( $this->get_description() ) . $description,
277
-				'item-quantity'    => floatval( $this->get_quantity() ),
278
-				'item-price'       => wpinv_price( $price, $currency ),
279
-				'item-total'       => wpinv_price( $subtotal, $currency ),
275
+				'item-name'        => sanitize_text_field($this->get_name()),
276
+				'item-description' => wp_kses_post($this->get_description()) . $description,
277
+				'item-quantity'    => floatval($this->get_quantity()),
278
+				'item-price'       => wpinv_price($price, $currency),
279
+				'item-total'       => wpinv_price($subtotal, $currency),
280 280
 			),
281 281
 			'inputs' => array(
282 282
 				'item-id'          => $this->get_id(),
283
-				'item-name'        => sanitize_text_field( $this->get_name() ),
284
-				'item-description' => wp_kses_post( $this->get_description() ),
285
-				'item-quantity'    => floatval( $this->get_quantity() ),
283
+				'item-name'        => sanitize_text_field($this->get_name()),
284
+				'item-description' => wp_kses_post($this->get_description()),
285
+				'item-quantity'    => floatval($this->get_quantity()),
286 286
 				'item-price'       => $price,
287 287
 			),
288 288
 		);
@@ -300,15 +300,15 @@  discard block
 block discarded – undo
300 300
 		return array(
301 301
 			'post_id'          => $this->invoice_id,
302 302
 			'item_id'          => $this->get_id(),
303
-			'item_name'        => sanitize_text_field( $this->get_raw_name( 'edit' ) ),
304
-			'item_description' => $this->get_description( 'edit' ),
303
+			'item_name'        => sanitize_text_field($this->get_raw_name('edit')),
304
+			'item_description' => $this->get_description('edit'),
305 305
 			'tax'              => $this->item_tax,
306
-			'item_price'       => $this->get_price( 'edit' ),
307
-			'quantity'         => (float) $this->get_quantity( 'edit' ),
306
+			'item_price'       => $this->get_price('edit'),
307
+			'quantity'         => (float) $this->get_quantity('edit'),
308 308
 			'discount'         => $this->item_discount,
309
-			'subtotal'         => $this->get_sub_total( 'edit' ),
310
-			'price'            => $this->get_sub_total( 'edit' ) + $this->item_tax - $this->item_discount,
311
-			'meta'             => $this->get_item_meta( 'edit' ),
309
+			'subtotal'         => $this->get_sub_total('edit'),
310
+			'price'            => $this->get_sub_total('edit') + $this->item_tax - $this->item_discount,
311
+			'meta'             => $this->get_item_meta('edit'),
312 312
 		);
313 313
 
314 314
 	}
@@ -329,9 +329,9 @@  discard block
 block discarded – undo
329 329
 	 * @since 1.0.19
330 330
 	 * @param  float $quantity The item quantity.
331 331
 	 */
332
-	public function set_quantity( $quantity ) {
332
+	public function set_quantity($quantity) {
333 333
 
334
-		if ( ! is_numeric( $quantity ) ) {
334
+		if (!is_numeric($quantity)) {
335 335
 			$quantity = 1;
336 336
 		}
337 337
 
@@ -345,8 +345,8 @@  discard block
 block discarded – undo
345 345
 	 * @since 1.0.19
346 346
 	 * @param  array $meta The item meta data.
347 347
 	 */
348
-	public function set_item_meta( $meta ) {
349
-		$this->meta = maybe_unserialize( $meta );
348
+	public function set_item_meta($meta) {
349
+		$this->meta = maybe_unserialize($meta);
350 350
 	}
351 351
 
352 352
 	/**
@@ -355,7 +355,7 @@  discard block
 block discarded – undo
355 355
 	 * @since 1.0.19
356 356
 	 * @param  bool $allow_quantities
357 357
 	 */
358
-	public function set_allow_quantities( $allow_quantities ) {
358
+	public function set_allow_quantities($allow_quantities) {
359 359
 		$this->allow_quantities = (bool) $allow_quantities;
360 360
 	}
361 361
 
@@ -365,7 +365,7 @@  discard block
 block discarded – undo
365 365
 	 * @since 1.0.19
366 366
 	 * @param  bool $is_required
367 367
 	 */
368
-	public function set_is_required( $is_required ) {
368
+	public function set_is_required($is_required) {
369 369
 		$this->is_required = (bool) $is_required;
370 370
 	}
371 371
 
@@ -375,7 +375,7 @@  discard block
 block discarded – undo
375 375
 	 * @since 1.0.19
376 376
 	 * @param  string $description
377 377
 	 */
378
-	public function set_custom_description( $description ) {
378
+	public function set_custom_description($description) {
379 379
 		$this->custom_description = $description;
380 380
 	}
381 381
 
@@ -384,7 +384,7 @@  discard block
 block discarded – undo
384 384
      *
385 385
 	 * @return int item id
386 386
      */
387
-    public function save( $data = array() ) {
387
+    public function save($data = array()) {
388 388
         return $this->get_id();
389 389
 	}
390 390
 
Please login to merge, or discard this patch.
templates/payment-forms/form.php 2 patches
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -57,7 +57,7 @@  discard block
 block discarded – undo
57 57
 
58 58
         // And the optional invoice id.
59 59
         if ( ! empty( $form->invoice ) ) {
60
-		    getpaid_hidden_field( 'invoice_id', $form->invoice->get_id() );
60
+            getpaid_hidden_field( 'invoice_id', $form->invoice->get_id() );
61 61
         }
62 62
 
63 63
         // We also want to include the form id.
@@ -76,7 +76,7 @@  discard block
 block discarded – undo
76 76
                 <?php
77 77
 
78 78
                     foreach ( $form->get_elements() as $element ) {
79
-					    if ( isset( $element['type'] ) ) {
79
+                        if ( isset( $element['type'] ) ) {
80 80
                             $grid_class = getpaid_get_form_element_grid_class( $element );
81 81
                             do_action( 'getpaid_payment_form_element_before', $element, $form );
82 82
                             do_action( "getpaid_payment_form_element_before_{$element['type']}_template", $element, $form );
Please login to merge, or discard this patch.
Spacing   +32 added lines, -32 removed lines patch added patch discarded remove patch
@@ -7,17 +7,17 @@  discard block
 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
 // Standardize IDs.
13 13
 global $rendered_getpaid_forms;
14 14
 
15 15
 // Make sure that the form is active.
16
-if ( ! $form->is_active() ) {
16
+if (!$form->is_active()) {
17 17
     aui()->alert(
18 18
         array(
19 19
             'type'    => 'warning',
20
-            'content' => __( 'This payment form is no longer active', 'invoicing' ),
20
+            'content' => __('This payment form is no longer active', 'invoicing'),
21 21
         ),
22 22
         true
23 23
     );
@@ -25,12 +25,12 @@  discard block
 block discarded – undo
25 25
 }
26 26
 
27 27
 // Require login to checkout.
28
-if ( wpinv_require_login_to_checkout() && ! get_current_user_id() ) {
28
+if (wpinv_require_login_to_checkout() && !get_current_user_id()) {
29 29
 
30 30
     aui()->alert(
31 31
         array(
32 32
             'type'    => 'danger',
33
-            'content' => __( 'You must be logged in to checkout.', 'invoicing' ),
33
+            'content' => __('You must be logged in to checkout.', 'invoicing'),
34 34
         ),
35 35
         true
36 36
     );
@@ -38,36 +38,36 @@  discard block
 block discarded – undo
38 38
 
39 39
 }
40 40
 
41
-if ( ! is_array( $rendered_getpaid_forms ) ) {
41
+if (!is_array($rendered_getpaid_forms)) {
42 42
     $rendered_getpaid_forms = array();
43 43
 }
44 44
 
45
-$rendered_getpaid_forms[ $form->get_id() ] = isset( $rendered_getpaid_forms[ $form->get_id() ] ) ? $rendered_getpaid_forms[ $form->get_id() ] + 1 : 0;
45
+$rendered_getpaid_forms[$form->get_id()] = isset($rendered_getpaid_forms[$form->get_id()]) ? $rendered_getpaid_forms[$form->get_id()] + 1 : 0;
46 46
 
47 47
 // Fires before displaying a payment form.
48
-do_action( 'getpaid_before_payment_form', $form );
48
+do_action('getpaid_before_payment_form', $form);
49 49
 ?>
50 50
 
51
-<form class='getpaid-payment-form getpaid-payment-form-<?php echo absint( $form->get_id() ); ?> bsui position-relative' method='POST' data-key='<?php echo esc_attr( uniqid( 'gpf' ) ); ?>' data-currency='<?php echo esc_attr( empty( $form->invoice ) ? wpinv_get_currency() : $form->invoice->get_currency() ); ?>' novalidate>
51
+<form class='getpaid-payment-form getpaid-payment-form-<?php echo absint($form->get_id()); ?> bsui position-relative' method='POST' data-key='<?php echo esc_attr(uniqid('gpf')); ?>' data-currency='<?php echo esc_attr(empty($form->invoice) ? wpinv_get_currency() : $form->invoice->get_currency()); ?>' novalidate>
52 52
 
53 53
     <?php
54 54
 
55 55
         // Fires when printing the top of a payment form.
56
-        do_action( 'getpaid_payment_form_top', $form );
56
+        do_action('getpaid_payment_form_top', $form);
57 57
 
58 58
         // And the optional invoice id.
59
-        if ( ! empty( $form->invoice ) ) {
60
-		    getpaid_hidden_field( 'invoice_id', $form->invoice->get_id() );
59
+        if (!empty($form->invoice)) {
60
+		    getpaid_hidden_field('invoice_id', $form->invoice->get_id());
61 61
         }
62 62
 
63 63
         // We also want to include the form id.
64
-        getpaid_hidden_field( 'form_id', $form->get_id() );
64
+        getpaid_hidden_field('form_id', $form->get_id());
65 65
 
66 66
         // And an indication that this is a payment form submission.
67
-        getpaid_hidden_field( 'getpaid_payment_form_submission', '1' );
67
+        getpaid_hidden_field('getpaid_payment_form_submission', '1');
68 68
 
69 69
         // Fires before displaying payment form elements.
70
-        do_action( 'getpaid_payment_form_before_elements', $form );
70
+        do_action('getpaid_payment_form_before_elements', $form);
71 71
 
72 72
         // Display the elements.
73 73
         ?>
@@ -75,17 +75,17 @@  discard block
 block discarded – undo
75 75
             <div class="row">
76 76
                 <?php
77 77
 
78
-                    foreach ( $form->get_elements() as $element ) {
79
-					    if ( isset( $element['type'] ) ) {
80
-                            $grid_class = getpaid_get_form_element_grid_class( $element );
81
-                            do_action( 'getpaid_payment_form_element_before', $element, $form );
82
-                            do_action( "getpaid_payment_form_element_before_{$element['type']}_template", $element, $form );
83
-                            echo "<div class='" . esc_attr( $grid_class ) . "'>";
84
-                            do_action( 'getpaid_payment_form_element', $element, $form );
85
-                            do_action( "getpaid_payment_form_element_{$element['type']}_template", $element, $form );
78
+                    foreach ($form->get_elements() as $element) {
79
+					    if (isset($element['type'])) {
80
+                            $grid_class = getpaid_get_form_element_grid_class($element);
81
+                            do_action('getpaid_payment_form_element_before', $element, $form);
82
+                            do_action("getpaid_payment_form_element_before_{$element['type']}_template", $element, $form);
83
+                            echo "<div class='" . esc_attr($grid_class) . "'>";
84
+                            do_action('getpaid_payment_form_element', $element, $form);
85
+                            do_action("getpaid_payment_form_element_{$element['type']}_template", $element, $form);
86 86
                             echo '</div>';
87
-                            do_action( 'getpaid_payment_form_element_after', $element, $form );
88
-                            do_action( "getpaid_payment_form_element_after_{$element['type']}_template", $element, $form );
87
+                            do_action('getpaid_payment_form_element_after', $element, $form);
88
+                            do_action("getpaid_payment_form_element_after_{$element['type']}_template", $element, $form);
89 89
                         }
90 90
                     }
91 91
 
@@ -95,28 +95,28 @@  discard block
 block discarded – undo
95 95
 
96 96
         <?php
97 97
         // Fires after displaying payment form elements.
98
-        do_action( 'getpaid_payment_form_after_elements', $form );
98
+        do_action('getpaid_payment_form_after_elements', $form);
99 99
 
100 100
         echo "<div class='getpaid-payment-form-errors alert alert-danger d-none'></div>";
101 101
 
102
-        if ( wpinv_current_user_can_manage_invoicing() ) {
102
+        if (wpinv_current_user_can_manage_invoicing()) {
103 103
 
104 104
             edit_post_link(
105
-                __( 'Edit this form.', 'invoicing' ),
105
+                __('Edit this form.', 'invoicing'),
106 106
                 '<small class="form-text text-muted">',
107
-                '&nbsp;' . __( 'This is only visible to website administators.', 'invoicing' ) . '</small>',
107
+                '&nbsp;' . __('This is only visible to website administators.', 'invoicing') . '</small>',
108 108
                 $form->get_id(),
109 109
                 'text-danger'
110 110
             );
111 111
 
112 112
         }
113 113
 
114
-        echo wp_kses( $extra_markup, getpaid_allowed_html() );
114
+        echo wp_kses($extra_markup, getpaid_allowed_html());
115 115
     ?>
116 116
 
117 117
     <div class="loading_div overlay overlay-black position-absolute row m-0 rounded overflow-hidden" style="height: 100%;width: 100%;top: 0px;z-index: 2;display:none;">
118 118
         <div class="spinner-border mx-auto align-self-center text-white" role="status">
119
-            <span class="sr-only"><?php esc_html_e( 'Loading...', 'invoicing' ); ?></span>
119
+            <span class="sr-only"><?php esc_html_e('Loading...', 'invoicing'); ?></span>
120 120
         </div>
121 121
     </div>
122 122
 
@@ -125,4 +125,4 @@  discard block
 block discarded – undo
125 125
 <?php
126 126
 
127 127
 // Fires after displaying a payment form.
128
-do_action( 'getpaid_after_payment_form', $form );
128
+do_action('getpaid_after_payment_form', $form);
Please login to merge, or discard this patch.