Completed
Push — master ( 04a827...87ad6d )
by Kiran
32s queued 28s
created
includes/gateways/class-getpaid-bank-transfer-gateway.php 2 patches
Indentation   +282 added lines, -282 removed lines patch added patch discarded remove patch
@@ -13,47 +13,47 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Bank_Transfer_Gateway extends GetPaid_Payment_Gateway {
14 14
 
15 15
     /**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20 20
     public $id = 'bank_transfer';
21 21
 
22
-	/**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
27
-	protected $supports = array(
28
-		'subscription',
29
-		'addons',
30
-		'single_subscription_group',
31
-		'multiple_subscription_groups',
32
-		'subscription_date_change',
33
-		'subscription_bill_times_change',
34
-	);
22
+    /**
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27
+    protected $supports = array(
28
+        'subscription',
29
+        'addons',
30
+        'single_subscription_group',
31
+        'multiple_subscription_groups',
32
+        'subscription_date_change',
33
+        'subscription_bill_times_change',
34
+    );
35
+
36
+    /**
37
+     * Payment method order.
38
+     *
39
+     * @var int
40
+     */
41
+    public $order = 8;
35 42
 
36 43
     /**
37
-	 * Payment method order.
38
-	 *
39
-	 * @var int
40
-	 */
41
-	public $order = 8;
42
-
43
-	/**
44
-	 * Bank transfer instructions.
45
-	 */
46
-	public $instructions;
47
-
48
-	/**
49
-	 * Locale array.
50
-	 */
51
-	public $locale;
44
+     * Bank transfer instructions.
45
+     */
46
+    public $instructions;
52 47
 
53 48
     /**
54
-	 * Class constructor.
55
-	 */
56
-	public function __construct() {
49
+     * Locale array.
50
+     */
51
+    public $locale;
52
+
53
+    /**
54
+     * Class constructor.
55
+     */
56
+    public function __construct() {
57 57
         parent::__construct();
58 58
 
59 59
         $this->title                = __( 'Direct bank transfer', 'invoicing' );
@@ -61,24 +61,24 @@  discard block
 block discarded – undo
61 61
         $this->checkout_button_text = __( 'Proceed', 'invoicing' );
62 62
         $this->instructions         = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) );
63 63
 
64
-		add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
65
-		add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
66
-		add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
67
-		add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
68
-		add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ), 12, 2 );
69
-		add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 );
64
+        add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
65
+        add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
66
+        add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
67
+        add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
68
+        add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ), 12, 2 );
69
+        add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 );
70 70
 
71 71
     }
72 72
 
73 73
     /**
74
-	 * Process Payment.
75
-	 *
76
-	 * @param WPInv_Invoice $invoice Invoice.
77
-	 * @param array $submission_data Posted checkout fields.
78
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
79
-	 * @return array
80
-	 */
81
-	public function process_payment( $invoice, $submission_data, $submission ) {
74
+     * Process Payment.
75
+     *
76
+     * @param WPInv_Invoice $invoice Invoice.
77
+     * @param array $submission_data Posted checkout fields.
78
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
79
+     * @return array
80
+     */
81
+    public function process_payment( $invoice, $submission_data, $submission ) {
82 82
 
83 83
         // Add a transaction id.
84 84
         $invoice->set_transaction_id( $invoice->generate_key( 'bt_' ) );
@@ -99,66 +99,66 @@  discard block
 block discarded – undo
99 99
     }
100 100
 
101 101
     /**
102
-	 * Output for the order received page.
103
-	 *
104
-	 * @param WPInv_Invoice $invoice Invoice.
105
-	 */
106
-	public function thankyou_page( $invoice ) {
102
+     * Output for the order received page.
103
+     *
104
+     * @param WPInv_Invoice $invoice Invoice.
105
+     */
106
+    public function thankyou_page( $invoice ) {
107 107
 
108 108
         if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
109 109
 
110
-			echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
110
+            echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
111 111
 
112 112
             if ( ! empty( $this->instructions ) ) {
113 113
                 echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) );
114
-			}
114
+            }
115 115
 
116
-			$this->bank_details( $invoice );
116
+            $this->bank_details( $invoice );
117 117
 
118
-			echo '</div>';
118
+            echo '</div>';
119 119
 
120 120
         }
121 121
 
122
-	}
122
+    }
123 123
 
124 124
     /**
125
-	 * Add content to the WPI emails.
126
-	 *
127
-	 * @param WPInv_Invoice $invoice Invoice.
128
-	 * @param string     $email_type Email format: plain text or HTML.
129
-	 * @param bool     $sent_to_admin Sent to admin.
130
-	 */
131
-	public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
125
+     * Add content to the WPI emails.
126
+     *
127
+     * @param WPInv_Invoice $invoice Invoice.
128
+     * @param string     $email_type Email format: plain text or HTML.
129
+     * @param bool     $sent_to_admin Sent to admin.
130
+     */
131
+    public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
132 132
 
133
-		if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
133
+        if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
134 134
 
135
-			echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
135
+            echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
136 136
 
137
-			if ( $this->instructions ) {
138
-				echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
137
+            if ( $this->instructions ) {
138
+                echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
139 139
             }
140 140
 
141
-			$this->bank_details( $invoice );
141
+            $this->bank_details( $invoice );
142 142
 
143
-			echo '</div>';
143
+            echo '</div>';
144 144
 
145
-		}
145
+        }
146 146
 
147 147
     }
148 148
 
149 149
     /**
150
-	 * Get bank details and place into a list format.
151
-	 *
152
-	 * @param WPInv_Invoice $invoice Invoice.
153
-	 */
154
-	protected function bank_details( $invoice ) {
150
+     * Get bank details and place into a list format.
151
+     *
152
+     * @param WPInv_Invoice $invoice Invoice.
153
+     */
154
+    protected function bank_details( $invoice ) {
155 155
 
156
-		// Get the invoice country and country $locale.
157
-		$country = $invoice->get_country();
158
-		$locale  = $this->get_country_locale();
156
+        // Get the invoice country and country $locale.
157
+        $country = $invoice->get_country();
158
+        $locale  = $this->get_country_locale();
159 159
 
160
-		// Get shortcode label in the $locale array and use appropriate one.
161
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
160
+        // Get shortcode label in the $locale array and use appropriate one.
161
+        $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
162 162
 
163 163
         $bank_fields = array(
164 164
             'ac_name'   => __( 'Account Name', 'invoicing' ),
@@ -177,11 +177,11 @@  discard block
 block discarded – undo
177 177
 
178 178
             if ( ! empty( $value ) ) {
179 179
                 $bank_info[ $field ] = array(
180
-					'label' => $label,
181
-					'value' => $value,
182
-				);
180
+                    'label' => $label,
181
+                    'value' => $value,
182
+                );
183 183
             }
184
-		}
184
+        }
185 185
 
186 186
         $bank_info = apply_filters( 'wpinv_bank_info', $bank_info, $invoice );
187 187
 
@@ -189,139 +189,139 @@  discard block
 block discarded – undo
189 189
             return;
190 190
         }
191 191
 
192
-		echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL;
192
+        echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL;
193 193
 
194
-		echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
194
+        echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
195 195
 
196
-		foreach ( $bank_info as $key => $data ) {
197
-			echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL;
198
-		}
196
+        foreach ( $bank_info as $key => $data ) {
197
+            echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL;
198
+        }
199 199
 
200
-		echo '</table>';
200
+        echo '</table>';
201 201
 
202 202
     }
203 203
 
204 204
     /**
205
-	 * Get country locale if localized.
206
-	 *
207
-	 * @return array
208
-	 */
209
-	public function get_country_locale() {
210
-
211
-		if ( empty( $this->locale ) ) {
212
-
213
-			// Locale information to be used - only those that are not 'Sort Code'.
214
-			$this->locale = apply_filters(
215
-				'getpaid_get_bank_transfer_locale',
216
-				array(
217
-					'AU' => array(
218
-						'sortcode' => array(
219
-							'label' => __( 'BSB', 'invoicing' ),
220
-						),
221
-					),
222
-					'CA' => array(
223
-						'sortcode' => array(
224
-							'label' => __( 'Bank transit number', 'invoicing' ),
225
-						),
226
-					),
227
-					'IN' => array(
228
-						'sortcode' => array(
229
-							'label' => __( 'IFSC', 'invoicing' ),
230
-						),
231
-					),
232
-					'IT' => array(
233
-						'sortcode' => array(
234
-							'label' => __( 'Branch sort', 'invoicing' ),
235
-						),
236
-					),
237
-					'NZ' => array(
238
-						'sortcode' => array(
239
-							'label' => __( 'Bank code', 'invoicing' ),
240
-						),
241
-					),
242
-					'SE' => array(
243
-						'sortcode' => array(
244
-							'label' => __( 'Bank code', 'invoicing' ),
245
-						),
246
-					),
247
-					'US' => array(
248
-						'sortcode' => array(
249
-							'label' => __( 'Routing number', 'invoicing' ),
250
-						),
251
-					),
252
-					'ZA' => array(
253
-						'sortcode' => array(
254
-							'label' => __( 'Branch code', 'invoicing' ),
255
-						),
256
-					),
257
-				)
258
-			);
259
-
260
-		}
261
-
262
-		return $this->locale;
263
-
264
-	}
265
-
266
-	/**
267
-	 * Filters the gateway settings.
268
-	 *
269
-	 * @param array $admin_settings
270
-	 */
271
-	public function admin_settings( $admin_settings ) {
205
+     * Get country locale if localized.
206
+     *
207
+     * @return array
208
+     */
209
+    public function get_country_locale() {
210
+
211
+        if ( empty( $this->locale ) ) {
212
+
213
+            // Locale information to be used - only those that are not 'Sort Code'.
214
+            $this->locale = apply_filters(
215
+                'getpaid_get_bank_transfer_locale',
216
+                array(
217
+                    'AU' => array(
218
+                        'sortcode' => array(
219
+                            'label' => __( 'BSB', 'invoicing' ),
220
+                        ),
221
+                    ),
222
+                    'CA' => array(
223
+                        'sortcode' => array(
224
+                            'label' => __( 'Bank transit number', 'invoicing' ),
225
+                        ),
226
+                    ),
227
+                    'IN' => array(
228
+                        'sortcode' => array(
229
+                            'label' => __( 'IFSC', 'invoicing' ),
230
+                        ),
231
+                    ),
232
+                    'IT' => array(
233
+                        'sortcode' => array(
234
+                            'label' => __( 'Branch sort', 'invoicing' ),
235
+                        ),
236
+                    ),
237
+                    'NZ' => array(
238
+                        'sortcode' => array(
239
+                            'label' => __( 'Bank code', 'invoicing' ),
240
+                        ),
241
+                    ),
242
+                    'SE' => array(
243
+                        'sortcode' => array(
244
+                            'label' => __( 'Bank code', 'invoicing' ),
245
+                        ),
246
+                    ),
247
+                    'US' => array(
248
+                        'sortcode' => array(
249
+                            'label' => __( 'Routing number', 'invoicing' ),
250
+                        ),
251
+                    ),
252
+                    'ZA' => array(
253
+                        'sortcode' => array(
254
+                            'label' => __( 'Branch code', 'invoicing' ),
255
+                        ),
256
+                    ),
257
+                )
258
+            );
259
+
260
+        }
261
+
262
+        return $this->locale;
263
+
264
+    }
265
+
266
+    /**
267
+     * Filters the gateway settings.
268
+     *
269
+     * @param array $admin_settings
270
+     */
271
+    public function admin_settings( $admin_settings ) {
272 272
 
273 273
         $admin_settings['bank_transfer_desc']['std']    = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' );
274
-		$admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
274
+        $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
275 275
 
276
-		$locale  = $this->get_country_locale();
276
+        $locale  = $this->get_country_locale();
277 277
 
278
-		// Get sortcode label in the $locale array and use appropriate one.
279
-		$country  = wpinv_default_billing_country();
280
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
278
+        // Get sortcode label in the $locale array and use appropriate one.
279
+        $country  = wpinv_default_billing_country();
280
+        $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
281 281
 
282
-		$admin_settings['bank_transfer_ac_name'] = array(
282
+        $admin_settings['bank_transfer_ac_name'] = array(
283 283
             'type' => 'text',
284 284
             'id'   => 'bank_transfer_ac_name',
285 285
             'name' => __( 'Account Name', 'invoicing' ),
286
-		);
286
+        );
287 287
 
288
-		$admin_settings['bank_transfer_ac_no'] = array(
288
+        $admin_settings['bank_transfer_ac_no'] = array(
289 289
             'type' => 'text',
290 290
             'id'   => 'bank_transfer_ac_no',
291 291
             'name' => __( 'Account Number', 'invoicing' ),
292
-		);
292
+        );
293 293
 
294
-		$admin_settings['bank_transfer_bank_name'] = array(
294
+        $admin_settings['bank_transfer_bank_name'] = array(
295 295
             'type' => 'text',
296 296
             'id'   => 'bank_transfer_bank_name',
297 297
             'name' => __( 'Bank Name', 'invoicing' ),
298
-		);
298
+        );
299 299
 
300
-		$admin_settings['bank_transfer_ifsc'] = array(
300
+        $admin_settings['bank_transfer_ifsc'] = array(
301 301
             'type' => 'text',
302 302
             'id'   => 'bank_transfer_ifsc',
303 303
             'name' => __( 'IFSC Code', 'invoicing' ),
304
-		);
304
+        );
305 305
 
306
-		$admin_settings['bank_transfer_iban'] = array(
306
+        $admin_settings['bank_transfer_iban'] = array(
307 307
             'type' => 'text',
308 308
             'id'   => 'bank_transfer_iban',
309 309
             'name' => __( 'IBAN', 'invoicing' ),
310
-		);
310
+        );
311 311
 
312
-		$admin_settings['bank_transfer_bic'] = array(
312
+        $admin_settings['bank_transfer_bic'] = array(
313 313
             'type' => 'text',
314 314
             'id'   => 'bank_transfer_bic',
315 315
             'name' => __( 'BIC/Swift Code', 'invoicing' ),
316
-		);
316
+        );
317 317
 
318
-		$admin_settings['bank_transfer_sort_code'] = array(
319
-			'type' => 'text',
320
-			'id'   => 'bank_transfer_sort_code',
321
-			'name' => $sortcode,
322
-		);
318
+        $admin_settings['bank_transfer_sort_code'] = array(
319
+            'type' => 'text',
320
+            'id'   => 'bank_transfer_sort_code',
321
+            'name' => $sortcode,
322
+        );
323 323
 
324
-		$admin_settings['bank_transfer_info'] = array(
324
+        $admin_settings['bank_transfer_info'] = array(
325 325
             'id'   => 'bank_transfer_info',
326 326
             'name' => __( 'Instructions', 'invoicing' ),
327 327
             'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ),
@@ -331,17 +331,17 @@  discard block
 block discarded – undo
331 331
             'rows' => 5,
332 332
         );
333 333
 
334
-		return $admin_settings;
335
-	}
334
+        return $admin_settings;
335
+    }
336 336
 
337
-	/**
338
-	 * Processes invoice addons.
339
-	 *
340
-	 * @param WPInv_Invoice $invoice
341
-	 * @param GetPaid_Form_Item[] $items
342
-	 * @return WPInv_Invoice
343
-	 */
344
-	public function process_addons( $invoice, $items ) {
337
+    /**
338
+     * Processes invoice addons.
339
+     *
340
+     * @param WPInv_Invoice $invoice
341
+     * @param GetPaid_Form_Item[] $items
342
+     * @return WPInv_Invoice
343
+     */
344
+    public function process_addons( $invoice, $items ) {
345 345
 
346 346
         foreach ( $items as $item ) {
347 347
             $invoice->add_item( $item );
@@ -349,98 +349,98 @@  discard block
 block discarded – undo
349 349
 
350 350
         $invoice->recalculate_total();
351 351
         $invoice->save();
352
-	}
353
-
354
-	/**
355
-	 * (Maybe) renews a bank transfer subscription profile.
356
-	 *
357
-	 *
358
-	 * @param WPInv_Subscription $subscription
359
-	 */
360
-	public function maybe_renew_subscription( $subscription, $parent_invoice ) {
361
-		// Ensure its our subscription && it's active.
362
-		if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
363
-			add_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 );
364
-
365
-			$invoice = $subscription->create_payment();
366
-
367
-			if ( ! empty( $invoice ) ) {
368
-				$is_logged_in = is_user_logged_in();
369
-
370
-				// Cron run.
371
-				if ( ! $is_logged_in ) {
372
-					$note = wp_sprintf( __( 'Renewal %1$s created with the status "%2$s".', 'invoicing' ), $invoice->get_invoice_quote_type(), wpinv_status_nicename( $invoice->get_status(), $invoice ) );
373
-
374
-					$invoice->add_note( $note, false, $is_logged_in, ! $is_logged_in );
375
-				}
376
-			}
377
-
378
-			remove_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 );
379
-		}
380
-	}
381
-
382
-	/**
383
-	 * Process a bank transfer payment.
384
-	 *
385
-	 *
352
+    }
353
+
354
+    /**
355
+     * (Maybe) renews a bank transfer subscription profile.
356
+     *
357
+     *
358
+     * @param WPInv_Subscription $subscription
359
+     */
360
+    public function maybe_renew_subscription( $subscription, $parent_invoice ) {
361
+        // Ensure its our subscription && it's active.
362
+        if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
363
+            add_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 );
364
+
365
+            $invoice = $subscription->create_payment();
366
+
367
+            if ( ! empty( $invoice ) ) {
368
+                $is_logged_in = is_user_logged_in();
369
+
370
+                // Cron run.
371
+                if ( ! $is_logged_in ) {
372
+                    $note = wp_sprintf( __( 'Renewal %1$s created with the status "%2$s".', 'invoicing' ), $invoice->get_invoice_quote_type(), wpinv_status_nicename( $invoice->get_status(), $invoice ) );
373
+
374
+                    $invoice->add_note( $note, false, $is_logged_in, ! $is_logged_in );
375
+                }
376
+            }
377
+
378
+            remove_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 );
379
+        }
380
+    }
381
+
382
+    /**
383
+     * Process a bank transfer payment.
384
+     *
385
+     *
386 386
      * @param WPInv_Invoice $invoice
387
-	 */
388
-	public function invoice_paid( $invoice ) {
389
-
390
-		// Abort if not paid by bank transfer.
391
-		if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) {
392
-			return;
393
-		}
394
-
395
-		// Is it a parent payment?
396
-		if ( 0 == $invoice->get_parent_id() ) {
397
-
398
-			// (Maybe) activate subscriptions.
399
-			$subscriptions = getpaid_get_invoice_subscriptions( $invoice );
400
-
401
-			if ( ! empty( $subscriptions ) ) {
402
-				$subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
403
-
404
-				foreach ( $subscriptions as $subscription ) {
405
-					if ( $subscription->exists() ) {
406
-						$duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
407
-						$expiry   = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
408
-
409
-						$subscription->set_next_renewal_date( $expiry );
410
-						$subscription->set_date_created( current_time( 'mysql' ) );
411
-						$subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() );
412
-						$subscription->activate();
413
-					}
414
-				}
415
-			}
416
-		} else {
417
-
418
-			$subscription = getpaid_get_subscription( $invoice->get_subscription_id() );
419
-
420
-			// Renew the subscription.
421
-			if ( $subscription && $subscription->exists() ) {
422
-				$subscription->add_payment( array(), $invoice );
423
-				$subscription->renew( strtotime( $invoice->get_date_created() ) );
424
-			}
425
-		}
387
+     */
388
+    public function invoice_paid( $invoice ) {
389
+
390
+        // Abort if not paid by bank transfer.
391
+        if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) {
392
+            return;
393
+        }
394
+
395
+        // Is it a parent payment?
396
+        if ( 0 == $invoice->get_parent_id() ) {
397
+
398
+            // (Maybe) activate subscriptions.
399
+            $subscriptions = getpaid_get_invoice_subscriptions( $invoice );
400
+
401
+            if ( ! empty( $subscriptions ) ) {
402
+                $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
403
+
404
+                foreach ( $subscriptions as $subscription ) {
405
+                    if ( $subscription->exists() ) {
406
+                        $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
407
+                        $expiry   = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
408
+
409
+                        $subscription->set_next_renewal_date( $expiry );
410
+                        $subscription->set_date_created( current_time( 'mysql' ) );
411
+                        $subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() );
412
+                        $subscription->activate();
413
+                    }
414
+                }
415
+            }
416
+        } else {
417
+
418
+            $subscription = getpaid_get_subscription( $invoice->get_subscription_id() );
419
+
420
+            // Renew the subscription.
421
+            if ( $subscription && $subscription->exists() ) {
422
+                $subscription->add_payment( array(), $invoice );
423
+                $subscription->renew( strtotime( $invoice->get_date_created() ) );
424
+            }
425
+        }
426 426
 
427 427
     }
428 428
 
429
-	/**
430
-	 * Force created from payment false to allow email for auto renewal generation invoice.
431
-	 *
432
-	 * @since 2.8.11
433
-	 *
434
-	 * @param bool $is_payment_form_invoice True when invoice created via payment form else false.
435
-	 * @param int  $invoice Invoice ID.
436
-	 * @return bool True when invoice created via payment form else false.
437
-	 */
438
-	public function force_is_payment_form_invoice( $is_payment_form_invoice, $invoice ) {
439
-		if ( $is_payment_form_invoice ) {
440
-			$is_payment_form_invoice = false;
441
-		}
442
-
443
-		return $is_payment_form_invoice;
444
-	}
429
+    /**
430
+     * Force created from payment false to allow email for auto renewal generation invoice.
431
+     *
432
+     * @since 2.8.11
433
+     *
434
+     * @param bool $is_payment_form_invoice True when invoice created via payment form else false.
435
+     * @param int  $invoice Invoice ID.
436
+     * @return bool True when invoice created via payment form else false.
437
+     */
438
+    public function force_is_payment_form_invoice( $is_payment_form_invoice, $invoice ) {
439
+        if ( $is_payment_form_invoice ) {
440
+            $is_payment_form_invoice = false;
441
+        }
442
+
443
+        return $is_payment_form_invoice;
444
+    }
445 445
 
446 446
 }
Please login to merge, or discard this patch.
Spacing   +97 added lines, -97 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
  * Bank transfer Payment Gateway class.
@@ -56,17 +56,17 @@  discard block
 block discarded – undo
56 56
 	public function __construct() {
57 57
         parent::__construct();
58 58
 
59
-        $this->title                = __( 'Direct bank transfer', 'invoicing' );
60
-        $this->method_title         = __( 'Bank transfer', 'invoicing' );
61
-        $this->checkout_button_text = __( 'Proceed', 'invoicing' );
62
-        $this->instructions         = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) );
59
+        $this->title                = __('Direct bank transfer', 'invoicing');
60
+        $this->method_title         = __('Bank transfer', 'invoicing');
61
+        $this->checkout_button_text = __('Proceed', 'invoicing');
62
+        $this->instructions         = apply_filters('wpinv_bank_instructions', $this->get_option('info'));
63 63
 
64
-		add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
65
-		add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
66
-		add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
67
-		add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
68
-		add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ), 12, 2 );
69
-		add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 );
64
+		add_action('wpinv_receipt_end', array($this, 'thankyou_page'));
65
+		add_action('getpaid_invoice_line_items', array($this, 'thankyou_page'), 40);
66
+		add_action('wpinv_pdf_content_billing', array($this, 'thankyou_page'), 11);
67
+		add_action('wpinv_email_invoice_details', array($this, 'email_instructions'), 10, 3);
68
+		add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription'), 12, 2);
69
+		add_action('getpaid_invoice_status_publish', array($this, 'invoice_paid'), 20);
70 70
 
71 71
     }
72 72
 
@@ -78,23 +78,23 @@  discard block
 block discarded – undo
78 78
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
79 79
 	 * @return array
80 80
 	 */
81
-	public function process_payment( $invoice, $submission_data, $submission ) {
81
+	public function process_payment($invoice, $submission_data, $submission) {
82 82
 
83 83
         // Add a transaction id.
84
-        $invoice->set_transaction_id( $invoice->generate_key( 'bt_' ) );
84
+        $invoice->set_transaction_id($invoice->generate_key('bt_'));
85 85
 
86 86
         // Set it as pending payment.
87
-        if ( ! $invoice->needs_payment() ) {
87
+        if (!$invoice->needs_payment()) {
88 88
             $invoice->mark_paid();
89
-        } elseif ( ! $invoice->is_paid() ) {
90
-            $invoice->set_status( 'wpi-onhold' );
89
+        } elseif (!$invoice->is_paid()) {
90
+            $invoice->set_status('wpi-onhold');
91 91
         }
92 92
 
93 93
         // Save it.
94 94
         $invoice->save();
95 95
 
96 96
         // Send to the success page.
97
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
97
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
98 98
 
99 99
     }
100 100
 
@@ -103,17 +103,17 @@  discard block
 block discarded – undo
103 103
 	 *
104 104
 	 * @param WPInv_Invoice $invoice Invoice.
105 105
 	 */
106
-	public function thankyou_page( $invoice ) {
106
+	public function thankyou_page($invoice) {
107 107
 
108
-        if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
108
+        if ('bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) {
109 109
 
110 110
 			echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
111 111
 
112
-            if ( ! empty( $this->instructions ) ) {
113
-                echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) );
112
+            if (!empty($this->instructions)) {
113
+                echo wp_kses_post(wpautop(wptexturize($this->instructions)));
114 114
 			}
115 115
 
116
-			$this->bank_details( $invoice );
116
+			$this->bank_details($invoice);
117 117
 
118 118
 			echo '</div>';
119 119
 
@@ -128,17 +128,17 @@  discard block
 block discarded – undo
128 128
 	 * @param string     $email_type Email format: plain text or HTML.
129 129
 	 * @param bool     $sent_to_admin Sent to admin.
130 130
 	 */
131
-	public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
131
+	public function email_instructions($invoice, $email_type, $sent_to_admin) {
132 132
 
133
-		if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
133
+		if (!$sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) {
134 134
 
135 135
 			echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
136 136
 
137
-			if ( $this->instructions ) {
138
-				echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
137
+			if ($this->instructions) {
138
+				echo wp_kses_post(wpautop(wptexturize($this->instructions)) . PHP_EOL);
139 139
             }
140 140
 
141
-			$this->bank_details( $invoice );
141
+			$this->bank_details($invoice);
142 142
 
143 143
 			echo '</div>';
144 144
 
@@ -151,50 +151,50 @@  discard block
 block discarded – undo
151 151
 	 *
152 152
 	 * @param WPInv_Invoice $invoice Invoice.
153 153
 	 */
154
-	protected function bank_details( $invoice ) {
154
+	protected function bank_details($invoice) {
155 155
 
156 156
 		// Get the invoice country and country $locale.
157 157
 		$country = $invoice->get_country();
158 158
 		$locale  = $this->get_country_locale();
159 159
 
160 160
 		// Get shortcode label in the $locale array and use appropriate one.
161
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
161
+		$sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing');
162 162
 
163 163
         $bank_fields = array(
164
-            'ac_name'   => __( 'Account Name', 'invoicing' ),
165
-            'ac_no'     => __( 'Account Number', 'invoicing' ),
166
-            'bank_name' => __( 'Bank Name', 'invoicing' ),
167
-            'ifsc'      => __( 'IFSC code', 'invoicing' ),
168
-            'iban'      => __( 'IBAN', 'invoicing' ),
169
-            'bic'       => __( 'BIC/Swift code', 'invoicing' ),
164
+            'ac_name'   => __('Account Name', 'invoicing'),
165
+            'ac_no'     => __('Account Number', 'invoicing'),
166
+            'bank_name' => __('Bank Name', 'invoicing'),
167
+            'ifsc'      => __('IFSC code', 'invoicing'),
168
+            'iban'      => __('IBAN', 'invoicing'),
169
+            'bic'       => __('BIC/Swift code', 'invoicing'),
170 170
             'sort_code' => $sortcode,
171 171
         );
172 172
 
173 173
         $bank_info = array();
174 174
 
175
-        foreach ( $bank_fields as $field => $label ) {
176
-            $value = $this->get_option( $field );
175
+        foreach ($bank_fields as $field => $label) {
176
+            $value = $this->get_option($field);
177 177
 
178
-            if ( ! empty( $value ) ) {
179
-                $bank_info[ $field ] = array(
178
+            if (!empty($value)) {
179
+                $bank_info[$field] = array(
180 180
 					'label' => $label,
181 181
 					'value' => $value,
182 182
 				);
183 183
             }
184 184
 		}
185 185
 
186
-        $bank_info = apply_filters( 'wpinv_bank_info', $bank_info, $invoice );
186
+        $bank_info = apply_filters('wpinv_bank_info', $bank_info, $invoice);
187 187
 
188
-        if ( empty( $bank_info ) ) {
188
+        if (empty($bank_info)) {
189 189
             return;
190 190
         }
191 191
 
192
-		echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL;
192
+		echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html(apply_filters('wpinv_receipt_bank_details_title', __('Bank Details', 'invoicing'), $invoice)) . '</h3>' . PHP_EOL;
193 193
 
194 194
 		echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
195 195
 
196
-		foreach ( $bank_info as $key => $data ) {
197
-			echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL;
196
+		foreach ($bank_info as $key => $data) {
197
+			echo "<tr class='getpaid-bank-transfer-" . esc_attr($key) . "'><th class='font-weight-bold'>" . wp_kses_post($data['label']) . "</th><td class='w-75'>" . wp_kses_post(wptexturize($data['value'])) . '</td></tr>' . PHP_EOL;
198 198
 		}
199 199
 
200 200
 		echo '</table>';
@@ -208,7 +208,7 @@  discard block
 block discarded – undo
208 208
 	 */
209 209
 	public function get_country_locale() {
210 210
 
211
-		if ( empty( $this->locale ) ) {
211
+		if (empty($this->locale)) {
212 212
 
213 213
 			// Locale information to be used - only those that are not 'Sort Code'.
214 214
 			$this->locale = apply_filters(
@@ -216,42 +216,42 @@  discard block
 block discarded – undo
216 216
 				array(
217 217
 					'AU' => array(
218 218
 						'sortcode' => array(
219
-							'label' => __( 'BSB', 'invoicing' ),
219
+							'label' => __('BSB', 'invoicing'),
220 220
 						),
221 221
 					),
222 222
 					'CA' => array(
223 223
 						'sortcode' => array(
224
-							'label' => __( 'Bank transit number', 'invoicing' ),
224
+							'label' => __('Bank transit number', 'invoicing'),
225 225
 						),
226 226
 					),
227 227
 					'IN' => array(
228 228
 						'sortcode' => array(
229
-							'label' => __( 'IFSC', 'invoicing' ),
229
+							'label' => __('IFSC', 'invoicing'),
230 230
 						),
231 231
 					),
232 232
 					'IT' => array(
233 233
 						'sortcode' => array(
234
-							'label' => __( 'Branch sort', 'invoicing' ),
234
+							'label' => __('Branch sort', 'invoicing'),
235 235
 						),
236 236
 					),
237 237
 					'NZ' => array(
238 238
 						'sortcode' => array(
239
-							'label' => __( 'Bank code', 'invoicing' ),
239
+							'label' => __('Bank code', 'invoicing'),
240 240
 						),
241 241
 					),
242 242
 					'SE' => array(
243 243
 						'sortcode' => array(
244
-							'label' => __( 'Bank code', 'invoicing' ),
244
+							'label' => __('Bank code', 'invoicing'),
245 245
 						),
246 246
 					),
247 247
 					'US' => array(
248 248
 						'sortcode' => array(
249
-							'label' => __( 'Routing number', 'invoicing' ),
249
+							'label' => __('Routing number', 'invoicing'),
250 250
 						),
251 251
 					),
252 252
 					'ZA' => array(
253 253
 						'sortcode' => array(
254
-							'label' => __( 'Branch code', 'invoicing' ),
254
+							'label' => __('Branch code', 'invoicing'),
255 255
 						),
256 256
 					),
257 257
 				)
@@ -268,51 +268,51 @@  discard block
 block discarded – undo
268 268
 	 *
269 269
 	 * @param array $admin_settings
270 270
 	 */
271
-	public function admin_settings( $admin_settings ) {
271
+	public function admin_settings($admin_settings) {
272 272
 
273
-        $admin_settings['bank_transfer_desc']['std']    = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' );
274
-		$admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
273
+        $admin_settings['bank_transfer_desc']['std'] = __("Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing');
274
+		$admin_settings['bank_transfer_active']['desc'] = __('Enable bank transfer', 'invoicing');
275 275
 
276
-		$locale  = $this->get_country_locale();
276
+		$locale = $this->get_country_locale();
277 277
 
278 278
 		// Get sortcode label in the $locale array and use appropriate one.
279 279
 		$country  = wpinv_default_billing_country();
280
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
280
+		$sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing');
281 281
 
282 282
 		$admin_settings['bank_transfer_ac_name'] = array(
283 283
             'type' => 'text',
284 284
             'id'   => 'bank_transfer_ac_name',
285
-            'name' => __( 'Account Name', 'invoicing' ),
285
+            'name' => __('Account Name', 'invoicing'),
286 286
 		);
287 287
 
288 288
 		$admin_settings['bank_transfer_ac_no'] = array(
289 289
             'type' => 'text',
290 290
             'id'   => 'bank_transfer_ac_no',
291
-            'name' => __( 'Account Number', 'invoicing' ),
291
+            'name' => __('Account Number', 'invoicing'),
292 292
 		);
293 293
 
294 294
 		$admin_settings['bank_transfer_bank_name'] = array(
295 295
             'type' => 'text',
296 296
             'id'   => 'bank_transfer_bank_name',
297
-            'name' => __( 'Bank Name', 'invoicing' ),
297
+            'name' => __('Bank Name', 'invoicing'),
298 298
 		);
299 299
 
300 300
 		$admin_settings['bank_transfer_ifsc'] = array(
301 301
             'type' => 'text',
302 302
             'id'   => 'bank_transfer_ifsc',
303
-            'name' => __( 'IFSC Code', 'invoicing' ),
303
+            'name' => __('IFSC Code', 'invoicing'),
304 304
 		);
305 305
 
306 306
 		$admin_settings['bank_transfer_iban'] = array(
307 307
             'type' => 'text',
308 308
             'id'   => 'bank_transfer_iban',
309
-            'name' => __( 'IBAN', 'invoicing' ),
309
+            'name' => __('IBAN', 'invoicing'),
310 310
 		);
311 311
 
312 312
 		$admin_settings['bank_transfer_bic'] = array(
313 313
             'type' => 'text',
314 314
             'id'   => 'bank_transfer_bic',
315
-            'name' => __( 'BIC/Swift Code', 'invoicing' ),
315
+            'name' => __('BIC/Swift Code', 'invoicing'),
316 316
 		);
317 317
 
318 318
 		$admin_settings['bank_transfer_sort_code'] = array(
@@ -323,10 +323,10 @@  discard block
 block discarded – undo
323 323
 
324 324
 		$admin_settings['bank_transfer_info'] = array(
325 325
             'id'   => 'bank_transfer_info',
326
-            'name' => __( 'Instructions', 'invoicing' ),
327
-            'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ),
326
+            'name' => __('Instructions', 'invoicing'),
327
+            'desc' => __('Instructions that will be added to the thank you page and emails.', 'invoicing'),
328 328
             'type' => 'textarea',
329
-            'std'  => __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' ),
329
+            'std'  => __("Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing'),
330 330
             'cols' => 50,
331 331
             'rows' => 5,
332 332
         );
@@ -341,10 +341,10 @@  discard block
 block discarded – undo
341 341
 	 * @param GetPaid_Form_Item[] $items
342 342
 	 * @return WPInv_Invoice
343 343
 	 */
344
-	public function process_addons( $invoice, $items ) {
344
+	public function process_addons($invoice, $items) {
345 345
 
346
-        foreach ( $items as $item ) {
347
-            $invoice->add_item( $item );
346
+        foreach ($items as $item) {
347
+            $invoice->add_item($item);
348 348
         }
349 349
 
350 350
         $invoice->recalculate_total();
@@ -357,25 +357,25 @@  discard block
 block discarded – undo
357 357
 	 *
358 358
 	 * @param WPInv_Subscription $subscription
359 359
 	 */
360
-	public function maybe_renew_subscription( $subscription, $parent_invoice ) {
360
+	public function maybe_renew_subscription($subscription, $parent_invoice) {
361 361
 		// Ensure its our subscription && it's active.
362
-		if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
363
-			add_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 );
362
+		if (!empty($parent_invoice) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status('active trialling')) {
363
+			add_filter('getpaid_invoice_notifications_is_payment_form_invoice', array($this, 'force_is_payment_form_invoice'), 10, 2);
364 364
 
365 365
 			$invoice = $subscription->create_payment();
366 366
 
367
-			if ( ! empty( $invoice ) ) {
367
+			if (!empty($invoice)) {
368 368
 				$is_logged_in = is_user_logged_in();
369 369
 
370 370
 				// Cron run.
371
-				if ( ! $is_logged_in ) {
372
-					$note = wp_sprintf( __( 'Renewal %1$s created with the status "%2$s".', 'invoicing' ), $invoice->get_invoice_quote_type(), wpinv_status_nicename( $invoice->get_status(), $invoice ) );
371
+				if (!$is_logged_in) {
372
+					$note = wp_sprintf(__('Renewal %1$s created with the status "%2$s".', 'invoicing'), $invoice->get_invoice_quote_type(), wpinv_status_nicename($invoice->get_status(), $invoice));
373 373
 
374
-					$invoice->add_note( $note, false, $is_logged_in, ! $is_logged_in );
374
+					$invoice->add_note($note, false, $is_logged_in, !$is_logged_in);
375 375
 				}
376 376
 			}
377 377
 
378
-			remove_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 );
378
+			remove_filter('getpaid_invoice_notifications_is_payment_form_invoice', array($this, 'force_is_payment_form_invoice'), 10, 2);
379 379
 		}
380 380
 	}
381 381
 
@@ -385,42 +385,42 @@  discard block
 block discarded – undo
385 385
 	 *
386 386
      * @param WPInv_Invoice $invoice
387 387
 	 */
388
-	public function invoice_paid( $invoice ) {
388
+	public function invoice_paid($invoice) {
389 389
 
390 390
 		// Abort if not paid by bank transfer.
391
-		if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) {
391
+		if ($this->id !== $invoice->get_gateway() || !$invoice->is_recurring()) {
392 392
 			return;
393 393
 		}
394 394
 
395 395
 		// Is it a parent payment?
396
-		if ( 0 == $invoice->get_parent_id() ) {
396
+		if (0 == $invoice->get_parent_id()) {
397 397
 
398 398
 			// (Maybe) activate subscriptions.
399
-			$subscriptions = getpaid_get_invoice_subscriptions( $invoice );
399
+			$subscriptions = getpaid_get_invoice_subscriptions($invoice);
400 400
 
401
-			if ( ! empty( $subscriptions ) ) {
402
-				$subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
401
+			if (!empty($subscriptions)) {
402
+				$subscriptions = is_array($subscriptions) ? $subscriptions : array($subscriptions);
403 403
 
404
-				foreach ( $subscriptions as $subscription ) {
405
-					if ( $subscription->exists() ) {
406
-						$duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
407
-						$expiry   = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
404
+				foreach ($subscriptions as $subscription) {
405
+					if ($subscription->exists()) {
406
+						$duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created());
407
+						$expiry   = gmdate('Y-m-d H:i:s', (current_time('timestamp') + $duration));
408 408
 
409
-						$subscription->set_next_renewal_date( $expiry );
410
-						$subscription->set_date_created( current_time( 'mysql' ) );
411
-						$subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() );
409
+						$subscription->set_next_renewal_date($expiry);
410
+						$subscription->set_date_created(current_time('mysql'));
411
+						$subscription->set_profile_id('bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id());
412 412
 						$subscription->activate();
413 413
 					}
414 414
 				}
415 415
 			}
416 416
 		} else {
417 417
 
418
-			$subscription = getpaid_get_subscription( $invoice->get_subscription_id() );
418
+			$subscription = getpaid_get_subscription($invoice->get_subscription_id());
419 419
 
420 420
 			// Renew the subscription.
421
-			if ( $subscription && $subscription->exists() ) {
422
-				$subscription->add_payment( array(), $invoice );
423
-				$subscription->renew( strtotime( $invoice->get_date_created() ) );
421
+			if ($subscription && $subscription->exists()) {
422
+				$subscription->add_payment(array(), $invoice);
423
+				$subscription->renew(strtotime($invoice->get_date_created()));
424 424
 			}
425 425
 		}
426 426
 
@@ -435,8 +435,8 @@  discard block
 block discarded – undo
435 435
 	 * @param int  $invoice Invoice ID.
436 436
 	 * @return bool True when invoice created via payment form else false.
437 437
 	 */
438
-	public function force_is_payment_form_invoice( $is_payment_form_invoice, $invoice ) {
439
-		if ( $is_payment_form_invoice ) {
438
+	public function force_is_payment_form_invoice($is_payment_form_invoice, $invoice) {
439
+		if ($is_payment_form_invoice) {
440 440
 			$is_payment_form_invoice = false;
441 441
 		}
442 442
 
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-manual-gateway.php 2 patches
Indentation   +52 added lines, -52 removed lines patch added patch discarded remove patch
@@ -13,17 +13,17 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Manual_Gateway extends GetPaid_Payment_Gateway {
14 14
 
15 15
     /**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20 20
     public $id = 'manual';
21 21
 
22 22
     /**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27 27
     protected $supports = array(
28 28
         'subscription',
29 29
         'addons',
@@ -34,16 +34,16 @@  discard block
 block discarded – undo
34 34
     );
35 35
 
36 36
     /**
37
-	 * Payment method order.
38
-	 *
39
-	 * @var int
40
-	 */
41
-	public $order = 11;
37
+     * Payment method order.
38
+     *
39
+     * @var int
40
+     */
41
+    public $order = 11;
42 42
 
43 43
     /**
44
-	 * Class constructor.
45
-	 */
46
-	public function __construct() {
44
+     * Class constructor.
45
+     */
46
+    public function __construct() {
47 47
         parent::__construct();
48 48
 
49 49
         $this->title        = __( 'Test Gateway', 'invoicing' );
@@ -53,15 +53,15 @@  discard block
 block discarded – undo
53 53
     }
54 54
 
55 55
     /**
56
-	 * Process Payment.
57
-	 *
58
-	 *
59
-	 * @param WPInv_Invoice $invoice Invoice.
60
-	 * @param array $submission_data Posted checkout fields.
61
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
62
-	 * @return array
63
-	 */
64
-	public function process_payment( $invoice, $submission_data, $submission ) {
56
+     * Process Payment.
57
+     *
58
+     *
59
+     * @param WPInv_Invoice $invoice Invoice.
60
+     * @param array $submission_data Posted checkout fields.
61
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
62
+     * @return array
63
+     */
64
+    public function process_payment( $invoice, $submission_data, $submission ) {
65 65
 
66 66
         // Mark it as paid.
67 67
         $invoice->mark_paid();
@@ -90,35 +90,35 @@  discard block
 block discarded – undo
90 90
 
91 91
     }
92 92
 
93
-	/**
94
-	 * (Maybe) renews a manual subscription profile.
95
-	 *
96
-	 *
97
-	 * @param WPInv_Subscription $subscription
98
-	 */
99
-	public function maybe_renew_subscription( $subscription, $parent_invoice ) {
100
-		// Ensure its our subscription && it's active.
101
-		if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
102
-			// Renew the subscription.
103
-			$subscription->add_payment(
104
-				array(
105
-					'transaction_id' => $subscription->get_parent_payment()->generate_key(),
106
-					'gateway'        => $this->id,
107
-				)
108
-			);
109
-
110
-			$subscription->renew();
111
-		}
112
-	}
93
+    /**
94
+     * (Maybe) renews a manual subscription profile.
95
+     *
96
+     *
97
+     * @param WPInv_Subscription $subscription
98
+     */
99
+    public function maybe_renew_subscription( $subscription, $parent_invoice ) {
100
+        // Ensure its our subscription && it's active.
101
+        if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
102
+            // Renew the subscription.
103
+            $subscription->add_payment(
104
+                array(
105
+                    'transaction_id' => $subscription->get_parent_payment()->generate_key(),
106
+                    'gateway'        => $this->id,
107
+                )
108
+            );
109
+
110
+            $subscription->renew();
111
+        }
112
+    }
113 113
 
114 114
     /**
115
-	 * Processes invoice addons.
116
-	 *
117
-	 * @param WPInv_Invoice $invoice
118
-	 * @param GetPaid_Form_Item[] $items
119
-	 * @return WPInv_Invoice
120
-	 */
121
-	public function process_addons( $invoice, $items ) {
115
+     * Processes invoice addons.
116
+     *
117
+     * @param WPInv_Invoice $invoice
118
+     * @param GetPaid_Form_Item[] $items
119
+     * @return WPInv_Invoice
120
+     */
121
+    public function process_addons( $invoice, $items ) {
122 122
 
123 123
         foreach ( $items as $item ) {
124 124
             $invoice->add_item( $item );
Please login to merge, or discard this patch.
Spacing   +21 added lines, -21 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
  * Manual Payment Gateway class.
@@ -46,10 +46,10 @@  discard block
 block discarded – undo
46 46
 	public function __construct() {
47 47
         parent::__construct();
48 48
 
49
-        $this->title        = __( 'Test Gateway', 'invoicing' );
50
-        $this->method_title = __( 'Test Gateway', 'invoicing' );
49
+        $this->title        = __('Test Gateway', 'invoicing');
50
+        $this->method_title = __('Test Gateway', 'invoicing');
51 51
 
52
-        add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ), 10, 2 );
52
+        add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription'), 10, 2);
53 53
     }
54 54
 
55 55
     /**
@@ -61,32 +61,32 @@  discard block
 block discarded – undo
61 61
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
62 62
 	 * @return array
63 63
 	 */
64
-	public function process_payment( $invoice, $submission_data, $submission ) {
64
+	public function process_payment($invoice, $submission_data, $submission) {
65 65
 
66 66
         // Mark it as paid.
67 67
         $invoice->mark_paid();
68 68
 
69 69
         // (Maybe) activate subscriptions.
70
-        $subscriptions = getpaid_get_invoice_subscriptions( $invoice );
70
+        $subscriptions = getpaid_get_invoice_subscriptions($invoice);
71 71
 
72
-        if ( ! empty( $subscriptions ) ) {
73
-            $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
72
+        if (!empty($subscriptions)) {
73
+            $subscriptions = is_array($subscriptions) ? $subscriptions : array($subscriptions);
74 74
 
75
-            foreach ( $subscriptions as $subscription ) {
76
-                if ( $subscription->exists() ) {
77
-                    $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
78
-                    $expiry   = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
75
+            foreach ($subscriptions as $subscription) {
76
+                if ($subscription->exists()) {
77
+                    $duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created());
78
+                    $expiry   = gmdate('Y-m-d H:i:s', (current_time('timestamp') + $duration));
79 79
 
80
-                    $subscription->set_next_renewal_date( $expiry );
81
-                    $subscription->set_date_created( current_time( 'mysql' ) );
82
-                    $subscription->set_profile_id( $invoice->generate_key( 'manual_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ) );
80
+                    $subscription->set_next_renewal_date($expiry);
81
+                    $subscription->set_date_created(current_time('mysql'));
82
+                    $subscription->set_profile_id($invoice->generate_key('manual_sub_' . $invoice->get_id() . '_' . $subscription->get_id()));
83 83
                     $subscription->activate();
84 84
                 }
85 85
             }
86 86
         }
87 87
 
88 88
         // Send to the success page.
89
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
89
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
90 90
 
91 91
     }
92 92
 
@@ -96,9 +96,9 @@  discard block
 block discarded – undo
96 96
 	 *
97 97
 	 * @param WPInv_Subscription $subscription
98 98
 	 */
99
-	public function maybe_renew_subscription( $subscription, $parent_invoice ) {
99
+	public function maybe_renew_subscription($subscription, $parent_invoice) {
100 100
 		// Ensure its our subscription && it's active.
101
-		if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
101
+		if (!empty($parent_invoice) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status('active trialling')) {
102 102
 			// Renew the subscription.
103 103
 			$subscription->add_payment(
104 104
 				array(
@@ -118,10 +118,10 @@  discard block
 block discarded – undo
118 118
 	 * @param GetPaid_Form_Item[] $items
119 119
 	 * @return WPInv_Invoice
120 120
 	 */
121
-	public function process_addons( $invoice, $items ) {
121
+	public function process_addons($invoice, $items) {
122 122
 
123
-        foreach ( $items as $item ) {
124
-            $invoice->add_item( $item );
123
+        foreach ($items as $item) {
124
+            $invoice->add_item($item);
125 125
         }
126 126
 
127 127
         $invoice->recalculate_total();
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-authorize-net-gateway.php 2 patches
Indentation   +237 added lines, -237 removed lines patch added patch discarded remove patch
@@ -13,17 +13,17 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Authorize_Net_Gateway extends GetPaid_Authorize_Net_Legacy_Gateway {
14 14
 
15 15
     /**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20 20
     public $id = 'authorizenet';
21 21
 
22 22
     /**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27 27
     protected $supports = array(
28 28
         'subscription',
29 29
         'sandbox',
@@ -36,44 +36,44 @@  discard block
 block discarded – undo
36 36
     );
37 37
 
38 38
     /**
39
-	 * Payment method order.
40
-	 *
41
-	 * @var int
42
-	 */
39
+     * Payment method order.
40
+     *
41
+     * @var int
42
+     */
43 43
     public $order = 4;
44 44
 
45 45
     /**
46
-	 * Endpoint for requests from Authorize.net.
47
-	 *
48
-	 * @var string
49
-	 */
50
-	protected $notify_url;
51
-
52
-	/**
53
-	 * Endpoint for requests to Authorize.net.
54
-	 *
55
-	 * @var string
56
-	 */
46
+     * Endpoint for requests from Authorize.net.
47
+     *
48
+     * @var string
49
+     */
50
+    protected $notify_url;
51
+
52
+    /**
53
+     * Endpoint for requests to Authorize.net.
54
+     *
55
+     * @var string
56
+     */
57 57
     protected $endpoint;
58 58
 
59 59
     /**
60
-	 * Currencies this gateway is allowed for.
61
-	 *
62
-	 * @var array
63
-	 */
64
-	public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
60
+     * Currencies this gateway is allowed for.
61
+     *
62
+     * @var array
63
+     */
64
+    public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
65 65
 
66 66
     /**
67
-	 * URL to view a transaction.
68
-	 *
69
-	 * @var string
70
-	 */
67
+     * URL to view a transaction.
68
+     *
69
+     * @var string
70
+     */
71 71
     public $view_transaction_url = 'https://{sandbox}authorize.net/ui/themes/sandbox/Transaction/TransactionReceipt.aspx?transid=%s';
72 72
 
73 73
     /**
74
-	 * Class constructor.
75
-	 */
76
-	public function __construct() {
74
+     * Class constructor.
75
+     */
76
+    public function __construct() {
77 77
 
78 78
         $this->title                = __( 'Credit Card / Debit Card', 'invoicing' );
79 79
         $this->method_title         = __( 'Authorize.Net', 'invoicing' );
@@ -85,11 +85,11 @@  discard block
 block discarded – undo
85 85
     }
86 86
 
87 87
     /**
88
-	 * Displays the payment method select field.
89
-	 *
90
-	 * @param int $invoice_id 0 or invoice id.
91
-	 * @param GetPaid_Payment_Form $form Current payment form.
92
-	 */
88
+     * Displays the payment method select field.
89
+     *
90
+     * @param int $invoice_id 0 or invoice id.
91
+     * @param GetPaid_Payment_Form $form Current payment form.
92
+     */
93 93
     public function payment_fields( $invoice_id, $form ) {
94 94
 
95 95
         // Let the user select a payment method.
@@ -100,16 +100,16 @@  discard block
 block discarded – undo
100 100
     }
101 101
 
102 102
     /**
103
-	 * Creates a customer profile.
104
-	 *
105
-	 *
106
-	 * @param WPInv_Invoice $invoice Invoice.
103
+     * Creates a customer profile.
104
+     *
105
+     *
106
+     * @param WPInv_Invoice $invoice Invoice.
107 107
      * @param array $submission_data Posted checkout fields.
108 108
      * @param bool $save Whether or not to save the payment as a token.
109 109
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
110
-	 * @return string|WP_Error Payment profile id.
111
-	 */
112
-	public function create_customer_profile( $invoice, $submission_data, $save = true ) {
110
+     * @return string|WP_Error Payment profile id.
111
+     */
112
+    public function create_customer_profile( $invoice, $submission_data, $save = true ) {
113 113
 
114 114
         // Remove non-digits from the number
115 115
         $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
@@ -191,14 +191,14 @@  discard block
 block discarded – undo
191 191
     }
192 192
 
193 193
     /**
194
-	 * Retrieves a customer profile.
195
-	 *
196
-	 *
197
-	 * @param string $profile_id profile id.
198
-	 * @return string|WP_Error Profile id.
194
+     * Retrieves a customer profile.
195
+     *
196
+     *
197
+     * @param string $profile_id profile id.
198
+     * @return string|WP_Error Profile id.
199 199
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile
200
-	 */
201
-	public function get_customer_profile( $profile_id ) {
200
+     */
201
+    public function get_customer_profile( $profile_id ) {
202 202
 
203 203
         // Generate args.
204 204
         $args = array(
@@ -213,17 +213,17 @@  discard block
 block discarded – undo
213 213
     }
214 214
 
215 215
     /**
216
-	 * Creates a customer profile.
217
-	 *
218
-	 *
216
+     * Creates a customer profile.
217
+     *
218
+     *
219 219
      * @param string $profile_id profile id.
220
-	 * @param WPInv_Invoice $invoice Invoice.
220
+     * @param WPInv_Invoice $invoice Invoice.
221 221
      * @param array $submission_data Posted checkout fields.
222 222
      * @param bool $save Whether or not to save the payment as a token.
223 223
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
224
-	 * @return string|WP_Error Profile id.
225
-	 */
226
-	public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
224
+     * @return string|WP_Error Profile id.
225
+     */
226
+    public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
227 227
 
228 228
         // Remove non-digits from the number
229 229
         $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
@@ -311,13 +311,13 @@  discard block
 block discarded – undo
311 311
     }
312 312
 
313 313
     /**
314
-	 * Retrieves payment details from cache.
315
-	 *
316
-	 *
314
+     * Retrieves payment details from cache.
315
+     *
316
+     *
317 317
      * @param array $payment_details.
318
-	 * @return array|false Profile id.
319
-	 */
320
-	public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
318
+     * @return array|false Profile id.
319
+     */
320
+    public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
321 321
 
322 322
         $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
323 323
         $payment_details    = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY );
@@ -342,13 +342,13 @@  discard block
 block discarded – undo
342 342
     }
343 343
 
344 344
     /**
345
-	 * Securely adds payment details to cache.
346
-	 *
347
-	 *
345
+     * Securely adds payment details to cache.
346
+     *
347
+     *
348 348
      * @param array $payment_details.
349 349
      * @param string $payment_profile_id.
350
-	 */
351
-	public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
350
+     */
351
+    public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
352 352
 
353 353
         $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
354 354
         $cached_information = is_array( $cached_information ) ? $cached_information : array();
@@ -360,15 +360,15 @@  discard block
 block discarded – undo
360 360
     }
361 361
 
362 362
     /**
363
-	 * Retrieves a customer payment profile.
364
-	 *
365
-	 *
366
-	 * @param string $customer_profile_id customer profile id.
363
+     * Retrieves a customer payment profile.
364
+     *
365
+     *
366
+     * @param string $customer_profile_id customer profile id.
367 367
      * @param string $payment_profile_id payment profile id.
368
-	 * @return string|WP_Error Profile id.
368
+     * @return string|WP_Error Profile id.
369 369
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile
370
-	 */
371
-	public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
370
+     */
371
+    public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
372 372
 
373 373
         // Generate args.
374 374
         $args = array(
@@ -384,15 +384,15 @@  discard block
 block discarded – undo
384 384
     }
385 385
 
386 386
     /**
387
-	 * Charges a customer payment profile.
388
-	 *
387
+     * Charges a customer payment profile.
388
+     *
389 389
      * @param string $customer_profile_id customer profile id.
390 390
      * @param string $payment_profile_id payment profile id.
391
-	 * @param WPInv_Invoice $invoice Invoice.
391
+     * @param WPInv_Invoice $invoice Invoice.
392 392
      * @link https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-customer-profile
393
-	 * @return WP_Error|object
394
-	 */
395
-	public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
393
+     * @return WP_Error|object
394
+     */
395
+    public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
396 396
 
397 397
         // Generate args.
398 398
         $args = array(
@@ -438,43 +438,43 @@  discard block
 block discarded – undo
438 438
     }
439 439
 
440 440
     /**
441
-	 * Processes a customer charge.
442
-	 *
441
+     * Processes a customer charge.
442
+     *
443 443
      * @param stdClass $result Api response.
444
-	 * @param WPInv_Invoice $invoice Invoice.
445
-	 */
446
-	public function process_charge_response( $result, $invoice ) {
444
+     * @param WPInv_Invoice $invoice Invoice.
445
+     */
446
+    public function process_charge_response( $result, $invoice ) {
447 447
 
448 448
         wpinv_clear_errors();
449
-		$response_code = (int) $result->transactionResponse->responseCode;
449
+        $response_code = (int) $result->transactionResponse->responseCode;
450 450
 
451 451
         $invoice->add_note( 'Transaction Response: ' . print_r( $result->transactionResponse, true ), false, false, true );
452 452
 
453
-		// Succeeded.
454
-		if ( 1 == $response_code || 4 == $response_code ) {
453
+        // Succeeded.
454
+        if ( 1 == $response_code || 4 == $response_code ) {
455 455
 
456
-			// Maybe set a transaction id.
457
-			if ( ! empty( $result->transactionResponse->transId ) ) {
458
-				$invoice->set_transaction_id( $result->transactionResponse->transId );
459
-			}
456
+            // Maybe set a transaction id.
457
+            if ( ! empty( $result->transactionResponse->transId ) ) {
458
+                $invoice->set_transaction_id( $result->transactionResponse->transId );
459
+            }
460 460
 
461
-			$invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
461
+            $invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
462 462
 
463
-			if ( 1 == $response_code ) {
464
-				return $invoice->mark_paid();
465
-			}
463
+            if ( 1 == $response_code ) {
464
+                return $invoice->mark_paid();
465
+            }
466 466
 
467
-			$invoice->set_status( 'wpi-onhold' );
468
-        	$invoice->add_note(
467
+            $invoice->set_status( 'wpi-onhold' );
468
+            $invoice->add_note(
469 469
                 sprintf(
470 470
                     __( 'Held for review: %s', 'invoicing' ),
471 471
                     $result->transactionResponse->messages->message[0]->description
472 472
                 )
473
-			);
473
+            );
474 474
 
475
-			return $invoice->save();
475
+            return $invoice->save();
476 476
 
477
-		}
477
+        }
478 478
 
479 479
         wpinv_set_error( 'card_declined' );
480 480
 
@@ -486,13 +486,13 @@  discard block
 block discarded – undo
486 486
     }
487 487
 
488 488
     /**
489
-	 * Returns payment information.
490
-	 *
491
-	 *
492
-	 * @param array $card Card details.
493
-	 * @return array
494
-	 */
495
-	public function get_payment_information( $card ) {
489
+     * Returns payment information.
490
+     *
491
+     *
492
+     * @param array $card Card details.
493
+     * @return array
494
+     */
495
+    public function get_payment_information( $card ) {
496 496
         return array(
497 497
 
498 498
             'creditCard' => array(
@@ -505,25 +505,25 @@  discard block
 block discarded – undo
505 505
     }
506 506
 
507 507
     /**
508
-	 * Returns the customer profile meta name.
509
-	 *
510
-	 *
511
-	 * @param WPInv_Invoice $invoice Invoice.
512
-	 * @return string
513
-	 */
514
-	public function get_customer_profile_meta_name( $invoice ) {
508
+     * Returns the customer profile meta name.
509
+     *
510
+     *
511
+     * @param WPInv_Invoice $invoice Invoice.
512
+     * @return string
513
+     */
514
+    public function get_customer_profile_meta_name( $invoice ) {
515 515
         return $this->is_sandbox( $invoice ) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id';
516 516
     }
517 517
 
518 518
     /**
519
-	 * Validates the submitted data.
520
-	 *
521
-	 *
522
-	 * @param array $submission_data Posted checkout fields.
519
+     * Validates the submitted data.
520
+     *
521
+     *
522
+     * @param array $submission_data Posted checkout fields.
523 523
      * @param WPInv_Invoice $invoice
524
-	 * @return WP_Error|string The payment profile id
525
-	 */
526
-	public function validate_submission_data( $submission_data, $invoice ) {
524
+     * @return WP_Error|string The payment profile id
525
+     */
526
+    public function validate_submission_data( $submission_data, $invoice ) {
527 527
 
528 528
         // Validate authentication details.
529 529
         $auth = $this->get_auth_params();
@@ -555,13 +555,13 @@  discard block
 block discarded – undo
555 555
     }
556 556
 
557 557
     /**
558
-	 * Returns invoice line items.
559
-	 *
560
-	 *
561
-	 * @param WPInv_Invoice $invoice Invoice.
562
-	 * @return array
563
-	 */
564
-	public function get_line_items( $invoice ) {
558
+     * Returns invoice line items.
559
+     *
560
+     *
561
+     * @param WPInv_Invoice $invoice Invoice.
562
+     * @return array
563
+     */
564
+    public function get_line_items( $invoice ) {
565 565
         $items = array();
566 566
 
567 567
         foreach ( $invoice->get_items() as $item ) {
@@ -598,15 +598,15 @@  discard block
 block discarded – undo
598 598
     }
599 599
 
600 600
     /**
601
-	 * Process Payment.
602
-	 *
603
-	 *
604
-	 * @param WPInv_Invoice $invoice Invoice.
605
-	 * @param array $submission_data Posted checkout fields.
606
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
607
-	 * @return array
608
-	 */
609
-	public function process_payment( $invoice, $submission_data, $submission ) {
601
+     * Process Payment.
602
+     *
603
+     *
604
+     * @param WPInv_Invoice $invoice Invoice.
605
+     * @param array $submission_data Posted checkout fields.
606
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
607
+     * @return array
608
+     */
609
+    public function process_payment( $invoice, $submission_data, $submission ) {
610 610
 
611 611
         // Validate the submitted data.
612 612
         $payment_profile_id = $this->validate_submission_data( $submission_data, $invoice );
@@ -639,45 +639,45 @@  discard block
 block discarded – undo
639 639
 
640 640
         exit;
641 641
 
642
-	}
642
+    }
643 643
 
644
-	/**
645
-	 * Processes the initial payment.
646
-	 *
644
+    /**
645
+     * Processes the initial payment.
646
+     *
647 647
      * @param WPInv_Invoice $invoice Invoice.
648
-	 */
649
-	protected function process_initial_payment( $invoice ) {
648
+     */
649
+    protected function process_initial_payment( $invoice ) {
650 650
 
651
-		$payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
651
+        $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
652 652
         $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
653
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
653
+        $result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
654 654
 
655
-		// Do we have an error?
656
-		if ( is_wp_error( $result ) ) {
657
-			wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
658
-			wpinv_send_back_to_checkout( $invoice );
659
-		}
655
+        // Do we have an error?
656
+        if ( is_wp_error( $result ) ) {
657
+            wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
658
+            wpinv_send_back_to_checkout( $invoice );
659
+        }
660 660
 
661
-		// Process the response.
662
-		$this->process_charge_response( $result, $invoice );
661
+        // Process the response.
662
+        $this->process_charge_response( $result, $invoice );
663 663
 
664
-		if ( wpinv_get_errors() ) {
665
-			wpinv_send_back_to_checkout( $invoice );
666
-		}
664
+        if ( wpinv_get_errors() ) {
665
+            wpinv_send_back_to_checkout( $invoice );
666
+        }
667 667
 
668
-	}
668
+    }
669 669
 
670 670
     /**
671
-	 * Processes recurring payments.
672
-	 *
671
+     * Processes recurring payments.
672
+     *
673 673
      * @param WPInv_Invoice $invoice Invoice.
674 674
      * @param WPInv_Subscription[]|WPInv_Subscription $subscriptions Subscriptions.
675
-	 */
676
-	public function process_subscription( $invoice, $subscriptions ) {
675
+     */
676
+    public function process_subscription( $invoice, $subscriptions ) {
677 677
 
678 678
         // Check if there is an initial amount to charge.
679 679
         if ( (float) $invoice->get_total() > 0 ) {
680
-			$this->process_initial_payment( $invoice );
680
+            $this->process_initial_payment( $invoice );
681 681
         }
682 682
 
683 683
         // Activate the subscriptions.
@@ -695,34 +695,34 @@  discard block
 block discarded – undo
695 695
             }
696 696
         }
697 697
 
698
-		// Redirect to the success page.
698
+        // Redirect to the success page.
699 699
         wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
700 700
 
701 701
     }
702 702
 
703
-	/**
704
-	 * (Maybe) renews an authorize.net subscription profile.
705
-	 *
706
-	 *
707
-	 * @param WPInv_Subscription $subscription
708
-	 */
709
-	public function maybe_renew_subscription( $subscription, $parent_invoice ) {
710
-		// Ensure its our subscription && it's active.
711
-		if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
712
-			$this->renew_subscription( $subscription );
713
-		}
714
-	}
703
+    /**
704
+     * (Maybe) renews an authorize.net subscription profile.
705
+     *
706
+     *
707
+     * @param WPInv_Subscription $subscription
708
+     */
709
+    public function maybe_renew_subscription( $subscription, $parent_invoice ) {
710
+        // Ensure its our subscription && it's active.
711
+        if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
712
+            $this->renew_subscription( $subscription );
713
+        }
714
+    }
715 715
 
716 716
     /**
717
-	 * Renews a subscription.
718
-	 *
717
+     * Renews a subscription.
718
+     *
719 719
      * @param WPInv_Subscription $subscription
720
-	 */
721
-	public function renew_subscription( $subscription ) {
720
+     */
721
+    public function renew_subscription( $subscription ) {
722 722
 
723
-		// Generate the renewal invoice.
724
-		$new_invoice = $subscription->create_payment();
725
-		$old_invoice = $subscription->get_parent_payment();
723
+        // Generate the renewal invoice.
724
+        $new_invoice = $subscription->create_payment();
725
+        $old_invoice = $subscription->get_parent_payment();
726 726
 
727 727
         if ( empty( $new_invoice ) ) {
728 728
             $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false );
@@ -731,37 +731,37 @@  discard block
 block discarded – undo
731 731
         }
732 732
 
733 733
         // Charge the payment method.
734
-		$payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
735
-		$customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
736
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
737
-
738
-		// Do we have an error?
739
-		if ( is_wp_error( $result ) ) {
740
-
741
-			$old_invoice->add_note(
742
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
743
-				true,
744
-				false,
745
-				true
746
-			);
747
-			$subscription->failing();
748
-			return;
749
-
750
-		}
751
-
752
-		// Process the response.
753
-		$this->process_charge_response( $result, $new_invoice );
754
-
755
-		if ( wpinv_get_errors() ) {
756
-
757
-			$old_invoice->add_note(
758
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
759
-				true,
760
-				false,
761
-				true
762
-			);
763
-			$subscription->failing();
764
-			return;
734
+        $payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
735
+        $customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
736
+        $result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
737
+
738
+        // Do we have an error?
739
+        if ( is_wp_error( $result ) ) {
740
+
741
+            $old_invoice->add_note(
742
+                sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
743
+                true,
744
+                false,
745
+                true
746
+            );
747
+            $subscription->failing();
748
+            return;
749
+
750
+        }
751
+
752
+        // Process the response.
753
+        $this->process_charge_response( $result, $new_invoice );
754
+
755
+        if ( wpinv_get_errors() ) {
756
+
757
+            $old_invoice->add_note(
758
+                sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
759
+                true,
760
+                false,
761
+                true
762
+            );
763
+            $subscription->failing();
764
+            return;
765 765
 
766 766
         }
767 767
 
@@ -774,13 +774,13 @@  discard block
 block discarded – undo
774 774
     }
775 775
 
776 776
     /**
777
-	 * Processes invoice addons.
778
-	 *
779
-	 * @param WPInv_Invoice $invoice
780
-	 * @param GetPaid_Form_Item[] $items
781
-	 * @return WPInv_Invoice
782
-	 */
783
-	public function process_addons( $invoice, $items ) {
777
+     * Processes invoice addons.
778
+     *
779
+     * @param WPInv_Invoice $invoice
780
+     * @param GetPaid_Form_Item[] $items
781
+     * @return WPInv_Invoice
782
+     */
783
+    public function process_addons( $invoice, $items ) {
784 784
 
785 785
         global $getpaid_authorize_addons;
786 786
 
@@ -799,7 +799,7 @@  discard block
 block discarded – undo
799 799
         $invoice->recalculate_total();
800 800
 
801 801
         $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
802
-		$customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
802
+        $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
803 803
 
804 804
         add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 );
805 805
         $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
@@ -814,11 +814,11 @@  discard block
 block discarded – undo
814 814
     }
815 815
 
816 816
     /**
817
-	 * Processes invoice addons.
818
-	 *
817
+     * Processes invoice addons.
818
+     *
819 819
      * @param array $args
820
-	 * @return array
821
-	 */
820
+     * @return array
821
+     */
822 822
     public function filter_addons_request( $args ) {
823 823
 
824 824
         global $getpaid_authorize_addons;
@@ -852,11 +852,11 @@  discard block
 block discarded – undo
852 852
     }
853 853
 
854 854
     /**
855
-	 * Filters the gateway settings.
856
-	 *
857
-	 * @param array $admin_settings
858
-	 */
859
-	public function admin_settings( $admin_settings ) {
855
+     * Filters the gateway settings.
856
+     *
857
+     * @param array $admin_settings
858
+     */
859
+    public function admin_settings( $admin_settings ) {
860 860
 
861 861
         $currencies = sprintf(
862 862
             __( 'Supported Currencies: %s', 'invoicing' ),
@@ -896,7 +896,7 @@  discard block
 block discarded – undo
896 896
             'readonly' => true,
897 897
         );
898 898
 
899
-		return $admin_settings;
900
-	}
899
+        return $admin_settings;
900
+    }
901 901
 
902 902
 }
Please login to merge, or discard this patch.
Spacing   +206 added lines, -206 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
  * Authorize.net Payment Gateway class.
@@ -61,7 +61,7 @@  discard block
 block discarded – undo
61 61
 	 *
62 62
 	 * @var array
63 63
 	 */
64
-	public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
64
+	public $currencies = array('USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD');
65 65
 
66 66
     /**
67 67
 	 * URL to view a transaction.
@@ -75,12 +75,12 @@  discard block
 block discarded – undo
75 75
 	 */
76 76
 	public function __construct() {
77 77
 
78
-        $this->title                = __( 'Credit Card / Debit Card', 'invoicing' );
79
-        $this->method_title         = __( 'Authorize.Net', 'invoicing' );
80
-        $this->notify_url           = getpaid_get_non_query_string_ipn_url( $this->id );
78
+        $this->title                = __('Credit Card / Debit Card', 'invoicing');
79
+        $this->method_title         = __('Authorize.Net', 'invoicing');
80
+        $this->notify_url           = getpaid_get_non_query_string_ipn_url($this->id);
81 81
 
82
-        add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ), 11, 2 );
83
-        add_filter( 'getpaid_authorizenet_sandbox_notice', array( $this, 'sandbox_notice' ) );
82
+        add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription'), 11, 2);
83
+        add_filter('getpaid_authorizenet_sandbox_notice', array($this, 'sandbox_notice'));
84 84
         parent::__construct();
85 85
     }
86 86
 
@@ -90,13 +90,13 @@  discard block
 block discarded – undo
90 90
 	 * @param int $invoice_id 0 or invoice id.
91 91
 	 * @param GetPaid_Payment_Form $form Current payment form.
92 92
 	 */
93
-    public function payment_fields( $invoice_id, $form ) {
93
+    public function payment_fields($invoice_id, $form) {
94 94
 
95 95
         // Let the user select a payment method.
96 96
         $this->saved_payment_methods();
97 97
 
98 98
         // Show the credit card entry form.
99
-        $this->new_payment_method_entry( $this->get_cc_form( true ) );
99
+        $this->new_payment_method_entry($this->get_cc_form(true));
100 100
     }
101 101
 
102 102
     /**
@@ -109,79 +109,79 @@  discard block
 block discarded – undo
109 109
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
110 110
 	 * @return string|WP_Error Payment profile id.
111 111
 	 */
112
-	public function create_customer_profile( $invoice, $submission_data, $save = true ) {
112
+	public function create_customer_profile($invoice, $submission_data, $save = true) {
113 113
 
114 114
         // Remove non-digits from the number
115
-        $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
115
+        $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number']);
116 116
 
117 117
         // Generate args.
118 118
         $args = array(
119 119
             'createCustomerProfileRequest' => array(
120 120
                 'merchantAuthentication' => $this->get_auth_params(),
121 121
                 'profile'                => array(
122
-                    'merchantCustomerId' => getpaid_limit_length( $invoice->get_user_id(), 20 ),
123
-                    'description'        => getpaid_limit_length( $invoice->get_full_name(), 255 ),
124
-                    'email'              => getpaid_limit_length( $invoice->get_email(), 255 ),
122
+                    'merchantCustomerId' => getpaid_limit_length($invoice->get_user_id(), 20),
123
+                    'description'        => getpaid_limit_length($invoice->get_full_name(), 255),
124
+                    'email'              => getpaid_limit_length($invoice->get_email(), 255),
125 125
                     'paymentProfiles'    => array(
126 126
                         'customerType' => 'individual',
127 127
 
128 128
                         // Billing information.
129 129
                         'billTo'       => array(
130
-                            'firstName' => getpaid_limit_length( $invoice->get_first_name(), 50 ),
131
-                            'lastName'  => getpaid_limit_length( $invoice->get_last_name(), 50 ),
132
-                            'address'   => getpaid_limit_length( $invoice->get_address(), 60 ),
133
-                            'city'      => getpaid_limit_length( $invoice->get_city(), 40 ),
134
-                            'state'     => getpaid_limit_length( $invoice->get_state(), 40 ),
135
-                            'zip'       => getpaid_limit_length( $invoice->get_zip(), 20 ),
136
-                            'country'   => getpaid_limit_length( $invoice->get_country(), 60 ),
130
+                            'firstName' => getpaid_limit_length($invoice->get_first_name(), 50),
131
+                            'lastName'  => getpaid_limit_length($invoice->get_last_name(), 50),
132
+                            'address'   => getpaid_limit_length($invoice->get_address(), 60),
133
+                            'city'      => getpaid_limit_length($invoice->get_city(), 40),
134
+                            'state'     => getpaid_limit_length($invoice->get_state(), 40),
135
+                            'zip'       => getpaid_limit_length($invoice->get_zip(), 20),
136
+                            'country'   => getpaid_limit_length($invoice->get_country(), 60),
137 137
                         ),
138 138
 
139 139
                         // Payment information.
140
-                        'payment'      => $this->get_payment_information( $submission_data['authorizenet'] ),
140
+                        'payment'      => $this->get_payment_information($submission_data['authorizenet']),
141 141
                     ),
142 142
                 ),
143
-                'validationMode'         => $this->is_sandbox( $invoice ) ? 'testMode' : 'liveMode',
143
+                'validationMode'         => $this->is_sandbox($invoice) ? 'testMode' : 'liveMode',
144 144
             ),
145 145
         );
146 146
 
147
-        $response = $this->post( apply_filters( 'getpaid_authorizenet_customer_profile_args', $args, $invoice ), $invoice );
147
+        $response = $this->post(apply_filters('getpaid_authorizenet_customer_profile_args', $args, $invoice), $invoice);
148 148
 
149
-        if ( is_wp_error( $response ) ) {
149
+        if (is_wp_error($response)) {
150 150
 
151 151
             // In case the payment profile already exists remotely.
152
-            if ( 'dup_payment_profile' === $response->get_error_code() ) {
153
-                $customer_profile_id = strtok( $response->get_error_message(), '.' );
154
-                update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile_id );
155
-                return strtok( '.' );
152
+            if ('dup_payment_profile' === $response->get_error_code()) {
153
+                $customer_profile_id = strtok($response->get_error_message(), '.');
154
+                update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile_id);
155
+                return strtok('.');
156 156
             }
157 157
 
158 158
             // In case the customer profile already exists remotely.
159
-            if ( 'E00039' === $response->get_error_code() ) {
160
-                $customer_profile_id = str_replace( 'A duplicate record with ID ', '', $response->get_error_message() );
161
-                $customer_profile_id = str_replace( ' already exists.', '', $customer_profile_id );
162
-                return $this->create_customer_payment_profile( trim( $customer_profile_id ), $invoice, $submission_data, $save );
159
+            if ('E00039' === $response->get_error_code()) {
160
+                $customer_profile_id = str_replace('A duplicate record with ID ', '', $response->get_error_message());
161
+                $customer_profile_id = str_replace(' already exists.', '', $customer_profile_id);
162
+                return $this->create_customer_payment_profile(trim($customer_profile_id), $invoice, $submission_data, $save);
163 163
             }
164 164
 
165 165
             return $response;
166 166
         }
167 167
 
168
-        update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $response->customerProfileId );
168
+        update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $response->customerProfileId);
169 169
 
170 170
         // Save the payment token.
171
-        if ( $save ) {
171
+        if ($save) {
172 172
             $this->save_token(
173 173
                 array(
174 174
                     'id'      => $response->customerPaymentProfileIdList[0],
175
-                    'name'    => getpaid_get_card_name( $submission_data['authorizenet']['cc_number'] ) . '&middot;&middot;&middot;&middot;' . substr( $submission_data['authorizenet']['cc_number'], -4 ),
175
+                    'name'    => getpaid_get_card_name($submission_data['authorizenet']['cc_number']) . '&middot;&middot;&middot;&middot;' . substr($submission_data['authorizenet']['cc_number'], -4),
176 176
                     'default' => true,
177
-                    'type'    => $this->is_sandbox( $invoice ) ? 'sandbox' : 'live',
177
+                    'type'    => $this->is_sandbox($invoice) ? 'sandbox' : 'live',
178 178
                 )
179 179
             );
180 180
         }
181 181
 
182 182
         // Add a note about the validation response.
183 183
         $invoice->add_note(
184
-            sprintf( __( 'Created Authorize.NET customer profile: %s', 'invoicing' ), $response->validationDirectResponseList[0] ),
184
+            sprintf(__('Created Authorize.NET customer profile: %s', 'invoicing'), $response->validationDirectResponseList[0]),
185 185
             false,
186 186
             false,
187 187
             true
@@ -198,7 +198,7 @@  discard block
 block discarded – undo
198 198
 	 * @return string|WP_Error Profile id.
199 199
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile
200 200
 	 */
201
-	public function get_customer_profile( $profile_id ) {
201
+	public function get_customer_profile($profile_id) {
202 202
 
203 203
         // Generate args.
204 204
         $args = array(
@@ -208,7 +208,7 @@  discard block
 block discarded – undo
208 208
             ),
209 209
         );
210 210
 
211
-        return $this->post( $args, false );
211
+        return $this->post($args, false);
212 212
 
213 213
     }
214 214
 
@@ -223,18 +223,18 @@  discard block
 block discarded – undo
223 223
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
224 224
 	 * @return string|WP_Error Profile id.
225 225
 	 */
226
-	public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
226
+	public function create_customer_payment_profile($customer_profile, $invoice, $submission_data, $save) {
227 227
 
228 228
         // Remove non-digits from the number
229
-        $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
229
+        $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number']);
230 230
 
231 231
         // Prepare card details.
232
-        $payment_information                          = $this->get_payment_information( $submission_data['authorizenet'] );
232
+        $payment_information                          = $this->get_payment_information($submission_data['authorizenet']);
233 233
 
234 234
         // Authorize.NET does not support saving the same card twice.
235
-        $cached_information                           = $this->retrieve_payment_profile_from_cache( $payment_information, $customer_profile, $invoice );
235
+        $cached_information                           = $this->retrieve_payment_profile_from_cache($payment_information, $customer_profile, $invoice);
236 236
 
237
-        if ( $cached_information ) {
237
+        if ($cached_information) {
238 238
             return $cached_information;
239 239
         }
240 240
 
@@ -247,34 +247,34 @@  discard block
 block discarded – undo
247 247
 
248 248
                     // Billing information.
249 249
                     'billTo'  => array(
250
-                        'firstName' => getpaid_limit_length( $invoice->get_first_name(), 50 ),
251
-                        'lastName'  => getpaid_limit_length( $invoice->get_last_name(), 50 ),
252
-                        'address'   => getpaid_limit_length( $invoice->get_address(), 60 ),
253
-                        'city'      => getpaid_limit_length( $invoice->get_city(), 40 ),
254
-                        'state'     => getpaid_limit_length( $invoice->get_state(), 40 ),
255
-                        'zip'       => getpaid_limit_length( $invoice->get_zip(), 20 ),
256
-                        'country'   => getpaid_limit_length( $invoice->get_country(), 60 ),
250
+                        'firstName' => getpaid_limit_length($invoice->get_first_name(), 50),
251
+                        'lastName'  => getpaid_limit_length($invoice->get_last_name(), 50),
252
+                        'address'   => getpaid_limit_length($invoice->get_address(), 60),
253
+                        'city'      => getpaid_limit_length($invoice->get_city(), 40),
254
+                        'state'     => getpaid_limit_length($invoice->get_state(), 40),
255
+                        'zip'       => getpaid_limit_length($invoice->get_zip(), 20),
256
+                        'country'   => getpaid_limit_length($invoice->get_country(), 60),
257 257
                     ),
258 258
 
259 259
                     // Payment information.
260 260
                     'payment' => $payment_information,
261 261
                 ),
262
-                'validationMode'         => $this->is_sandbox( $invoice ) ? 'testMode' : 'liveMode',
262
+                'validationMode'         => $this->is_sandbox($invoice) ? 'testMode' : 'liveMode',
263 263
             ),
264 264
         );
265 265
 
266
-        $response = $this->post( apply_filters( 'getpaid_authorizenet_create_customer_payment_profile_args', $args, $invoice ), $invoice );
266
+        $response = $this->post(apply_filters('getpaid_authorizenet_create_customer_payment_profile_args', $args, $invoice), $invoice);
267 267
 
268
-        if ( is_wp_error( $response ) ) {
268
+        if (is_wp_error($response)) {
269 269
 
270 270
             // In case the payment profile already exists remotely.
271
-            if ( 'dup_payment_profile' == $response->get_error_code() ) {
272
-                $customer_profile_id = strtok( $response->get_error_message(), '.' );
273
-                $payment_profile_id  = strtok( '.' );
274
-                update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile_id );
271
+            if ('dup_payment_profile' == $response->get_error_code()) {
272
+                $customer_profile_id = strtok($response->get_error_message(), '.');
273
+                $payment_profile_id  = strtok('.');
274
+                update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile_id);
275 275
 
276 276
                 // Cache payment profile id.
277
-                $this->add_payment_profile_to_cache( $payment_information, $payment_profile_id );
277
+                $this->add_payment_profile_to_cache($payment_information, $payment_profile_id);
278 278
 
279 279
                 return $payment_profile_id;
280 280
             }
@@ -283,29 +283,29 @@  discard block
 block discarded – undo
283 283
         }
284 284
 
285 285
         // Save the payment token.
286
-        if ( $save ) {
286
+        if ($save) {
287 287
             $this->save_token(
288 288
                 array(
289 289
                     'id'      => $response->customerPaymentProfileId,
290
-                    'name'    => getpaid_get_card_name( $submission_data['authorizenet']['cc_number'] ) . ' &middot;&middot;&middot;&middot; ' . substr( $submission_data['authorizenet']['cc_number'], -4 ),
290
+                    'name'    => getpaid_get_card_name($submission_data['authorizenet']['cc_number']) . ' &middot;&middot;&middot;&middot; ' . substr($submission_data['authorizenet']['cc_number'], -4),
291 291
                     'default' => true,
292
-                    'type'    => $this->is_sandbox( $invoice ) ? 'sandbox' : 'live',
292
+                    'type'    => $this->is_sandbox($invoice) ? 'sandbox' : 'live',
293 293
                 )
294 294
             );
295 295
         }
296 296
 
297 297
         // Cache payment profile id.
298
-        $this->add_payment_profile_to_cache( $payment_information, $response->customerPaymentProfileId );
298
+        $this->add_payment_profile_to_cache($payment_information, $response->customerPaymentProfileId);
299 299
 
300 300
         // Add a note about the validation response.
301 301
         $invoice->add_note(
302
-            sprintf( __( 'Saved Authorize.NET payment profile: %s', 'invoicing' ), $response->validationDirectResponse ),
302
+            sprintf(__('Saved Authorize.NET payment profile: %s', 'invoicing'), $response->validationDirectResponse),
303 303
             false,
304 304
             false,
305 305
             true
306 306
         );
307 307
 
308
-        update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile );
308
+        update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile);
309 309
 
310 310
         return $response->customerPaymentProfileId;
311 311
     }
@@ -317,12 +317,12 @@  discard block
 block discarded – undo
317 317
      * @param array $payment_details.
318 318
 	 * @return array|false Profile id.
319 319
 	 */
320
-	public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
320
+	public function retrieve_payment_profile_from_cache($payment_details, $customer_profile, $invoice) {
321 321
 
322
-        $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
323
-        $payment_details    = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY );
322
+        $cached_information = get_option('getpaid_authorize_net_cached_profiles', array());
323
+        $payment_details    = hash_hmac('sha256', json_encode($payment_details), SECURE_AUTH_KEY);
324 324
 
325
-        if ( ! is_array( $cached_information ) || ! array_key_exists( $payment_details, $cached_information ) ) {
325
+        if (!is_array($cached_information) || !array_key_exists($payment_details, $cached_information)) {
326 326
             return false;
327 327
         }
328 328
 
@@ -331,13 +331,13 @@  discard block
 block discarded – undo
331 331
             'getCustomerPaymentProfileRequest' => array(
332 332
                 'merchantAuthentication'   => $this->get_auth_params(),
333 333
                 'customerProfileId'        => $customer_profile,
334
-                'customerPaymentProfileId' => $cached_information[ $payment_details ],
334
+                'customerPaymentProfileId' => $cached_information[$payment_details],
335 335
             ),
336 336
         );
337 337
 
338
-        $response = $this->post( $args, $invoice );
338
+        $response = $this->post($args, $invoice);
339 339
 
340
-        return is_wp_error( $response ) ? false : $cached_information[ $payment_details ];
340
+        return is_wp_error($response) ? false : $cached_information[$payment_details];
341 341
 
342 342
     }
343 343
 
@@ -348,14 +348,14 @@  discard block
 block discarded – undo
348 348
      * @param array $payment_details.
349 349
      * @param string $payment_profile_id.
350 350
 	 */
351
-	public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
351
+	public function add_payment_profile_to_cache($payment_details, $payment_profile_id) {
352 352
 
353
-        $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
354
-        $cached_information = is_array( $cached_information ) ? $cached_information : array();
355
-        $payment_details    = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY );
353
+        $cached_information = get_option('getpaid_authorize_net_cached_profiles', array());
354
+        $cached_information = is_array($cached_information) ? $cached_information : array();
355
+        $payment_details    = hash_hmac('sha256', json_encode($payment_details), SECURE_AUTH_KEY);
356 356
 
357
-        $cached_information[ $payment_details ] = $payment_profile_id;
358
-        update_option( 'getpaid_authorize_net_cached_profiles', $cached_information );
357
+        $cached_information[$payment_details] = $payment_profile_id;
358
+        update_option('getpaid_authorize_net_cached_profiles', $cached_information);
359 359
 
360 360
     }
361 361
 
@@ -368,7 +368,7 @@  discard block
 block discarded – undo
368 368
 	 * @return string|WP_Error Profile id.
369 369
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile
370 370
 	 */
371
-	public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
371
+	public function get_customer_payment_profile($customer_profile_id, $payment_profile_id) {
372 372
 
373 373
         // Generate args.
374 374
         $args = array(
@@ -379,7 +379,7 @@  discard block
 block discarded – undo
379 379
             ),
380 380
         );
381 381
 
382
-        return $this->post( $args, false );
382
+        return $this->post($args, false);
383 383
 
384 384
     }
385 385
 
@@ -392,7 +392,7 @@  discard block
 block discarded – undo
392 392
      * @link https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-customer-profile
393 393
 	 * @return WP_Error|object
394 394
 	 */
395
-	public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
395
+	public function charge_customer_payment_profile($customer_profile_id, $payment_profile_id, $invoice) {
396 396
 
397 397
         // Generate args.
398 398
         $args = array(
@@ -412,28 +412,28 @@  discard block
 block discarded – undo
412 412
                         ),
413 413
                     ),
414 414
                     'order'           => array(
415
-                        'invoiceNumber' => getpaid_limit_length( $invoice->get_number(), 20 ),
415
+                        'invoiceNumber' => getpaid_limit_length($invoice->get_number(), 20),
416 416
                     ),
417
-                    'lineItems'       => array( 'lineItem' => $this->get_line_items( $invoice ) ),
417
+                    'lineItems'       => array('lineItem' => $this->get_line_items($invoice)),
418 418
                     'tax'             => array(
419 419
                         'amount' => $invoice->get_total_tax(),
420
-                        'name'   => __( 'TAX', 'invoicing' ),
420
+                        'name'   => __('TAX', 'invoicing'),
421 421
                     ),
422
-                    'poNumber'        => getpaid_limit_length( $invoice->get_number(), 25 ),
422
+                    'poNumber'        => getpaid_limit_length($invoice->get_number(), 25),
423 423
                     'customer'        => array(
424
-                        'id'    => getpaid_limit_length( $invoice->get_user_id(), 25 ),
425
-                        'email' => getpaid_limit_length( $invoice->get_email(), 25 ),
424
+                        'id'    => getpaid_limit_length($invoice->get_user_id(), 25),
425
+                        'email' => getpaid_limit_length($invoice->get_email(), 25),
426 426
                     ),
427 427
                     'customerIP'      => $invoice->get_ip(),
428 428
                 ),
429 429
             ),
430 430
         );
431 431
 
432
-        if ( 0 == $invoice->get_total_tax() ) {
433
-            unset( $args['createTransactionRequest']['transactionRequest']['tax'] );
432
+        if (0 == $invoice->get_total_tax()) {
433
+            unset($args['createTransactionRequest']['transactionRequest']['tax']);
434 434
         }
435 435
 
436
-        return $this->post( apply_filters( 'getpaid_authorizenet_charge_customer_payment_profile_args', $args, $invoice ), $invoice );
436
+        return $this->post(apply_filters('getpaid_authorizenet_charge_customer_payment_profile_args', $args, $invoice), $invoice);
437 437
 
438 438
     }
439 439
 
@@ -443,31 +443,31 @@  discard block
 block discarded – undo
443 443
      * @param stdClass $result Api response.
444 444
 	 * @param WPInv_Invoice $invoice Invoice.
445 445
 	 */
446
-	public function process_charge_response( $result, $invoice ) {
446
+	public function process_charge_response($result, $invoice) {
447 447
 
448 448
         wpinv_clear_errors();
449 449
 		$response_code = (int) $result->transactionResponse->responseCode;
450 450
 
451
-        $invoice->add_note( 'Transaction Response: ' . print_r( $result->transactionResponse, true ), false, false, true );
451
+        $invoice->add_note('Transaction Response: ' . print_r($result->transactionResponse, true), false, false, true);
452 452
 
453 453
 		// Succeeded.
454
-		if ( 1 == $response_code || 4 == $response_code ) {
454
+		if (1 == $response_code || 4 == $response_code) {
455 455
 
456 456
 			// Maybe set a transaction id.
457
-			if ( ! empty( $result->transactionResponse->transId ) ) {
458
-				$invoice->set_transaction_id( $result->transactionResponse->transId );
457
+			if (!empty($result->transactionResponse->transId)) {
458
+				$invoice->set_transaction_id($result->transactionResponse->transId);
459 459
 			}
460 460
 
461
-			$invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
461
+			$invoice->add_note(sprintf(__('Authentication code: %1$s (%2$s).', 'invoicing'), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber), false, false, true);
462 462
 
463
-			if ( 1 == $response_code ) {
463
+			if (1 == $response_code) {
464 464
 				return $invoice->mark_paid();
465 465
 			}
466 466
 
467
-			$invoice->set_status( 'wpi-onhold' );
467
+			$invoice->set_status('wpi-onhold');
468 468
         	$invoice->add_note(
469 469
                 sprintf(
470
-                    __( 'Held for review: %s', 'invoicing' ),
470
+                    __('Held for review: %s', 'invoicing'),
471 471
                     $result->transactionResponse->messages->message[0]->description
472 472
                 )
473 473
 			);
@@ -476,11 +476,11 @@  discard block
 block discarded – undo
476 476
 
477 477
 		}
478 478
 
479
-        wpinv_set_error( 'card_declined' );
479
+        wpinv_set_error('card_declined');
480 480
 
481
-        if ( ! empty( $result->transactionResponse->errors ) ) {
481
+        if (!empty($result->transactionResponse->errors)) {
482 482
             $errors = (object) $result->transactionResponse->errors;
483
-            wpinv_set_error( $errors->error[0]->errorCode, esc_html( $errors->error[0]->errorText ) );
483
+            wpinv_set_error($errors->error[0]->errorCode, esc_html($errors->error[0]->errorText));
484 484
         }
485 485
 
486 486
     }
@@ -492,7 +492,7 @@  discard block
 block discarded – undo
492 492
 	 * @param array $card Card details.
493 493
 	 * @return array
494 494
 	 */
495
-	public function get_payment_information( $card ) {
495
+	public function get_payment_information($card) {
496 496
         return array(
497 497
 
498 498
             'creditCard' => array(
@@ -511,8 +511,8 @@  discard block
 block discarded – undo
511 511
 	 * @param WPInv_Invoice $invoice Invoice.
512 512
 	 * @return string
513 513
 	 */
514
-	public function get_customer_profile_meta_name( $invoice ) {
515
-        return $this->is_sandbox( $invoice ) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id';
514
+	public function get_customer_profile_meta_name($invoice) {
515
+        return $this->is_sandbox($invoice) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id';
516 516
     }
517 517
 
518 518
     /**
@@ -523,34 +523,34 @@  discard block
 block discarded – undo
523 523
      * @param WPInv_Invoice $invoice
524 524
 	 * @return WP_Error|string The payment profile id
525 525
 	 */
526
-	public function validate_submission_data( $submission_data, $invoice ) {
526
+	public function validate_submission_data($submission_data, $invoice) {
527 527
 
528 528
         // Validate authentication details.
529 529
         $auth = $this->get_auth_params();
530 530
 
531
-        if ( empty( $auth['name'] ) || empty( $auth['transactionKey'] ) ) {
532
-            return new WP_Error( 'invalid_settings', __( 'Please set-up your login id and transaction key before using this gateway.', 'invoicing' ) );
531
+        if (empty($auth['name']) || empty($auth['transactionKey'])) {
532
+            return new WP_Error('invalid_settings', __('Please set-up your login id and transaction key before using this gateway.', 'invoicing'));
533 533
         }
534 534
 
535 535
         // Validate the payment method.
536
-        if ( empty( $submission_data['getpaid-authorizenet-payment-method'] ) ) {
537
-            return new WP_Error( 'invalid_payment_method', __( 'Please select a different payment method or add a new card.', 'invoicing' ) );
536
+        if (empty($submission_data['getpaid-authorizenet-payment-method'])) {
537
+            return new WP_Error('invalid_payment_method', __('Please select a different payment method or add a new card.', 'invoicing'));
538 538
         }
539 539
 
540 540
         // Are we adding a new payment method?
541
-        if ( 'new' != $submission_data['getpaid-authorizenet-payment-method'] ) {
541
+        if ('new' != $submission_data['getpaid-authorizenet-payment-method']) {
542 542
             return $submission_data['getpaid-authorizenet-payment-method'];
543 543
         }
544 544
 
545 545
         // Retrieve the customer profile id.
546
-        $profile_id = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
546
+        $profile_id = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true);
547 547
 
548 548
         // Create payment method.
549
-        if ( empty( $profile_id ) ) {
550
-            return $this->create_customer_profile( $invoice, $submission_data, ! empty( $submission_data['getpaid-authorizenet-new-payment-method'] ) );
549
+        if (empty($profile_id)) {
550
+            return $this->create_customer_profile($invoice, $submission_data, !empty($submission_data['getpaid-authorizenet-new-payment-method']));
551 551
         }
552 552
 
553
-        return $this->create_customer_payment_profile( $profile_id, $invoice, $submission_data, ! empty( $submission_data['getpaid-authorizenet-new-payment-method'] ) );
553
+        return $this->create_customer_payment_profile($profile_id, $invoice, $submission_data, !empty($submission_data['getpaid-authorizenet-new-payment-method']));
554 554
 
555 555
     }
556 556
 
@@ -561,32 +561,32 @@  discard block
 block discarded – undo
561 561
 	 * @param WPInv_Invoice $invoice Invoice.
562 562
 	 * @return array
563 563
 	 */
564
-	public function get_line_items( $invoice ) {
564
+	public function get_line_items($invoice) {
565 565
         $items = array();
566 566
 
567
-        foreach ( $invoice->get_items() as $item ) {
567
+        foreach ($invoice->get_items() as $item) {
568 568
 
569 569
             $amount  = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
570 570
             $items[] = array(
571
-                'itemId'      => getpaid_limit_length( $item->get_id(), 31 ),
572
-                'name'        => getpaid_limit_length( $item->get_raw_name(), 31 ),
573
-                'description' => getpaid_limit_length( $item->get_description(), 255 ),
574
-                'quantity'    => (string) ( $invoice->get_template() == 'amount' ? 1 : $item->get_quantity() ),
571
+                'itemId'      => getpaid_limit_length($item->get_id(), 31),
572
+                'name'        => getpaid_limit_length($item->get_raw_name(), 31),
573
+                'description' => getpaid_limit_length($item->get_description(), 255),
574
+                'quantity'    => (string) ($invoice->get_template() == 'amount' ? 1 : $item->get_quantity()),
575 575
                 'unitPrice'   => (float) $amount,
576 576
                 'taxable'     => wpinv_use_taxes() && $invoice->is_taxable() && 'tax-exempt' != $item->get_vat_rule(),
577 577
             );
578 578
 
579 579
         }
580 580
 
581
-        foreach ( $invoice->get_fees() as $fee_name => $fee ) {
581
+        foreach ($invoice->get_fees() as $fee_name => $fee) {
582 582
 
583
-            $amount  = $invoice->is_renewal() ? $fee['recurring_fee'] : $fee['initial_fee'];
583
+            $amount = $invoice->is_renewal() ? $fee['recurring_fee'] : $fee['initial_fee'];
584 584
 
585
-            if ( $amount > 0 ) {
585
+            if ($amount > 0) {
586 586
                 $items[] = array(
587
-                    'itemId'      => getpaid_limit_length( $fee_name, 31 ),
588
-                    'name'        => getpaid_limit_length( $fee_name, 31 ),
589
-                    'description' => getpaid_limit_length( $fee_name, 255 ),
587
+                    'itemId'      => getpaid_limit_length($fee_name, 31),
588
+                    'name'        => getpaid_limit_length($fee_name, 31),
589
+                    'description' => getpaid_limit_length($fee_name, 255),
590 590
                     'quantity'    => '1',
591 591
                     'unitPrice'   => (float) $amount,
592 592
                     'taxable'     => false,
@@ -606,36 +606,36 @@  discard block
 block discarded – undo
606 606
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
607 607
 	 * @return array
608 608
 	 */
609
-	public function process_payment( $invoice, $submission_data, $submission ) {
609
+	public function process_payment($invoice, $submission_data, $submission) {
610 610
 
611 611
         // Validate the submitted data.
612
-        $payment_profile_id = $this->validate_submission_data( $submission_data, $invoice );
612
+        $payment_profile_id = $this->validate_submission_data($submission_data, $invoice);
613 613
 
614 614
         // Do we have an error?
615
-        if ( is_wp_error( $payment_profile_id ) ) {
616
-            wpinv_set_error( $payment_profile_id->get_error_code(), $payment_profile_id->get_error_message() );
617
-            wpinv_send_back_to_checkout( $invoice );
615
+        if (is_wp_error($payment_profile_id)) {
616
+            wpinv_set_error($payment_profile_id->get_error_code(), $payment_profile_id->get_error_message());
617
+            wpinv_send_back_to_checkout($invoice);
618 618
         }
619 619
 
620 620
         // Save the payment method to the order.
621
-        update_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', $payment_profile_id );
621
+        update_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', $payment_profile_id);
622 622
 
623 623
         // Check if this is a subscription or not.
624
-        $subscriptions = getpaid_get_invoice_subscriptions( $invoice );
625
-        if ( ! empty( $subscriptions ) ) {
626
-            $this->process_subscription( $invoice, $subscriptions );
624
+        $subscriptions = getpaid_get_invoice_subscriptions($invoice);
625
+        if (!empty($subscriptions)) {
626
+            $this->process_subscription($invoice, $subscriptions);
627 627
         }
628 628
 
629 629
         // If it is free, send to the success page.
630
-        if ( ! $invoice->needs_payment() ) {
630
+        if (!$invoice->needs_payment()) {
631 631
             $invoice->mark_paid();
632
-            wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
632
+            wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
633 633
         }
634 634
 
635 635
         // Charge the payment profile.
636
-        $this->process_initial_payment( $invoice );
636
+        $this->process_initial_payment($invoice);
637 637
 
638
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
638
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
639 639
 
640 640
         exit;
641 641
 
@@ -646,23 +646,23 @@  discard block
 block discarded – undo
646 646
 	 *
647 647
      * @param WPInv_Invoice $invoice Invoice.
648 648
 	 */
649
-	protected function process_initial_payment( $invoice ) {
649
+	protected function process_initial_payment($invoice) {
650 650
 
651
-		$payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
652
-        $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
653
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
651
+		$payment_profile_id = get_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
652
+        $customer_profile = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true);
653
+		$result             = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $invoice);
654 654
 
655 655
 		// Do we have an error?
656
-		if ( is_wp_error( $result ) ) {
657
-			wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
658
-			wpinv_send_back_to_checkout( $invoice );
656
+		if (is_wp_error($result)) {
657
+			wpinv_set_error($result->get_error_code(), $result->get_error_message());
658
+			wpinv_send_back_to_checkout($invoice);
659 659
 		}
660 660
 
661 661
 		// Process the response.
662
-		$this->process_charge_response( $result, $invoice );
662
+		$this->process_charge_response($result, $invoice);
663 663
 
664
-		if ( wpinv_get_errors() ) {
665
-			wpinv_send_back_to_checkout( $invoice );
664
+		if (wpinv_get_errors()) {
665
+			wpinv_send_back_to_checkout($invoice);
666 666
 		}
667 667
 
668 668
 	}
@@ -673,30 +673,30 @@  discard block
 block discarded – undo
673 673
      * @param WPInv_Invoice $invoice Invoice.
674 674
      * @param WPInv_Subscription[]|WPInv_Subscription $subscriptions Subscriptions.
675 675
 	 */
676
-	public function process_subscription( $invoice, $subscriptions ) {
676
+	public function process_subscription($invoice, $subscriptions) {
677 677
 
678 678
         // Check if there is an initial amount to charge.
679
-        if ( (float) $invoice->get_total() > 0 ) {
680
-			$this->process_initial_payment( $invoice );
679
+        if ((float) $invoice->get_total() > 0) {
680
+			$this->process_initial_payment($invoice);
681 681
         }
682 682
 
683 683
         // Activate the subscriptions.
684
-        $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
684
+        $subscriptions = is_array($subscriptions) ? $subscriptions : array($subscriptions);
685 685
 
686
-        foreach ( $subscriptions as $subscription ) {
687
-            if ( $subscription->exists() ) {
688
-                $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
689
-                $expiry   = date( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
686
+        foreach ($subscriptions as $subscription) {
687
+            if ($subscription->exists()) {
688
+                $duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created());
689
+                $expiry   = date('Y-m-d H:i:s', (current_time('timestamp') + $duration));
690 690
 
691
-                $subscription->set_next_renewal_date( $expiry );
692
-                $subscription->set_date_created( current_time( 'mysql' ) );
693
-                $subscription->set_profile_id( $invoice->generate_key( 'authnet_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ) );
691
+                $subscription->set_next_renewal_date($expiry);
692
+                $subscription->set_date_created(current_time('mysql'));
693
+                $subscription->set_profile_id($invoice->generate_key('authnet_sub_' . $invoice->get_id() . '_' . $subscription->get_id()));
694 694
                 $subscription->activate();
695 695
             }
696 696
         }
697 697
 
698 698
 		// Redirect to the success page.
699
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
699
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
700 700
 
701 701
     }
702 702
 
@@ -706,10 +706,10 @@  discard block
 block discarded – undo
706 706
 	 *
707 707
 	 * @param WPInv_Subscription $subscription
708 708
 	 */
709
-	public function maybe_renew_subscription( $subscription, $parent_invoice ) {
709
+	public function maybe_renew_subscription($subscription, $parent_invoice) {
710 710
 		// Ensure its our subscription && it's active.
711
-		if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
712
-			$this->renew_subscription( $subscription );
711
+		if (!empty($parent_invoice) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status('active trialling')) {
712
+			$this->renew_subscription($subscription);
713 713
 		}
714 714
 	}
715 715
 
@@ -718,28 +718,28 @@  discard block
 block discarded – undo
718 718
 	 *
719 719
      * @param WPInv_Subscription $subscription
720 720
 	 */
721
-	public function renew_subscription( $subscription ) {
721
+	public function renew_subscription($subscription) {
722 722
 
723 723
 		// Generate the renewal invoice.
724 724
 		$new_invoice = $subscription->create_payment();
725 725
 		$old_invoice = $subscription->get_parent_payment();
726 726
 
727
-        if ( empty( $new_invoice ) ) {
728
-            $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false );
727
+        if (empty($new_invoice)) {
728
+            $old_invoice->add_note(__('Error generating a renewal invoice.', 'invoicing'), false, false, false);
729 729
             $subscription->failing();
730 730
             return;
731 731
         }
732 732
 
733 733
         // Charge the payment method.
734
-		$payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
735
-		$customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
736
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
734
+		$payment_profile_id = get_post_meta($old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
735
+		$customer_profile   = get_user_meta($old_invoice->get_user_id(), $this->get_customer_profile_meta_name($old_invoice), true);
736
+		$result             = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $new_invoice);
737 737
 
738 738
 		// Do we have an error?
739
-		if ( is_wp_error( $result ) ) {
739
+		if (is_wp_error($result)) {
740 740
 
741 741
 			$old_invoice->add_note(
742
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
742
+				sprintf(__('Error renewing subscription : ( %s ).', 'invoicing'), $result->get_error_message()),
743 743
 				true,
744 744
 				false,
745 745
 				true
@@ -750,12 +750,12 @@  discard block
 block discarded – undo
750 750
 		}
751 751
 
752 752
 		// Process the response.
753
-		$this->process_charge_response( $result, $new_invoice );
753
+		$this->process_charge_response($result, $new_invoice);
754 754
 
755
-		if ( wpinv_get_errors() ) {
755
+		if (wpinv_get_errors()) {
756 756
 
757 757
 			$old_invoice->add_note(
758
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
758
+				sprintf(__('Error renewing subscription : ( %s ).', 'invoicing'), getpaid_get_errors_html()),
759 759
 				true,
760 760
 				false,
761 761
 				true
@@ -765,9 +765,9 @@  discard block
 block discarded – undo
765 765
 
766 766
         }
767 767
 
768
-        if ( ! $new_invoice->needs_payment() ) {
768
+        if (!$new_invoice->needs_payment()) {
769 769
             $subscription->renew();
770
-            $subscription->after_add_payment( $new_invoice );
770
+            $subscription->after_add_payment($new_invoice);
771 771
         } else {
772 772
             $subscription->failing();
773 773
         }
@@ -780,33 +780,33 @@  discard block
 block discarded – undo
780 780
 	 * @param GetPaid_Form_Item[] $items
781 781
 	 * @return WPInv_Invoice
782 782
 	 */
783
-	public function process_addons( $invoice, $items ) {
783
+	public function process_addons($invoice, $items) {
784 784
 
785 785
         global $getpaid_authorize_addons;
786 786
 
787 787
         $getpaid_authorize_addons = array();
788
-        foreach ( $items as $item ) {
788
+        foreach ($items as $item) {
789 789
 
790
-            if ( is_null( $invoice->get_item( $item->get_id() ) ) && ! is_wp_error( $invoice->add_item( $item ) ) ) {
790
+            if (is_null($invoice->get_item($item->get_id())) && !is_wp_error($invoice->add_item($item))) {
791 791
                 $getpaid_authorize_addons[] = $item;
792 792
             }
793 793
 }
794 794
 
795
-        if ( empty( $getpaid_authorize_addons ) ) {
795
+        if (empty($getpaid_authorize_addons)) {
796 796
             return;
797 797
         }
798 798
 
799 799
         $invoice->recalculate_total();
800 800
 
801
-        $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
802
-		$customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
801
+        $payment_profile_id = get_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
802
+		$customer_profile = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true);
803 803
 
804
-        add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 );
805
-        $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
806
-        remove_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ) );
804
+        add_filter('getpaid_authorizenet_charge_customer_payment_profile_args', array($this, 'filter_addons_request'), 10, 2);
805
+        $result = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $invoice);
806
+        remove_filter('getpaid_authorizenet_charge_customer_payment_profile_args', array($this, 'filter_addons_request'));
807 807
 
808
-        if ( is_wp_error( $result ) ) {
809
-            wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
808
+        if (is_wp_error($result)) {
809
+            wpinv_set_error($result->get_error_code(), $result->get_error_message());
810 810
             return;
811 811
         }
812 812
 
@@ -819,19 +819,19 @@  discard block
 block discarded – undo
819 819
      * @param array $args
820 820
 	 * @return array
821 821
 	 */
822
-    public function filter_addons_request( $args ) {
822
+    public function filter_addons_request($args) {
823 823
 
824 824
         global $getpaid_authorize_addons;
825 825
         $total = 0;
826 826
 
827
-        foreach ( $getpaid_authorize_addons as $addon ) {
827
+        foreach ($getpaid_authorize_addons as $addon) {
828 828
             $total += $addon->get_sub_total();
829 829
         }
830 830
 
831 831
         $args['createTransactionRequest']['transactionRequest']['amount'] = $total;
832 832
 
833
-        if ( isset( $args['createTransactionRequest']['transactionRequest']['tax'] ) ) {
834
-            unset( $args['createTransactionRequest']['transactionRequest']['tax'] );
833
+        if (isset($args['createTransactionRequest']['transactionRequest']['tax'])) {
834
+            unset($args['createTransactionRequest']['transactionRequest']['tax']);
835 835
         }
836 836
 
837 837
         return $args;
@@ -844,7 +844,7 @@  discard block
 block discarded – undo
844 844
     public function sandbox_notice() {
845 845
 
846 846
         return sprintf(
847
-            __( 'SANDBOX ENABLED. You can use sandbox testing details only. See the %1$sAuthorize.NET Sandbox Testing Guide%2$s for more details.', 'invoicing' ),
847
+            __('SANDBOX ENABLED. You can use sandbox testing details only. See the %1$sAuthorize.NET Sandbox Testing Guide%2$s for more details.', 'invoicing'),
848 848
             '<a href="https://developer.authorize.net/hello_world/testing_guide.html">',
849 849
             '</a>'
850 850
         );
@@ -856,42 +856,42 @@  discard block
 block discarded – undo
856 856
 	 *
857 857
 	 * @param array $admin_settings
858 858
 	 */
859
-	public function admin_settings( $admin_settings ) {
859
+	public function admin_settings($admin_settings) {
860 860
 
861 861
         $currencies = sprintf(
862
-            __( 'Supported Currencies: %s', 'invoicing' ),
863
-            implode( ', ', $this->currencies )
862
+            __('Supported Currencies: %s', 'invoicing'),
863
+            implode(', ', $this->currencies)
864 864
         );
865 865
 
866 866
         $admin_settings['authorizenet_active']['desc'] .= " ($currencies)";
867
-        $admin_settings['authorizenet_desc']['std']     = __( 'Pay securely using your credit or debit card.', 'invoicing' );
867
+        $admin_settings['authorizenet_desc']['std']     = __('Pay securely using your credit or debit card.', 'invoicing');
868 868
 
869 869
         $admin_settings['authorizenet_login_id'] = array(
870 870
             'type' => 'text',
871 871
             'id'   => 'authorizenet_login_id',
872
-            'name' => __( 'API Login ID', 'invoicing' ),
873
-            'desc' => '<a href="https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001271"><em>' . __( 'How do I obtain my API Login ID and Transaction Key?', 'invoicing' ) . '</em></a>',
872
+            'name' => __('API Login ID', 'invoicing'),
873
+            'desc' => '<a href="https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001271"><em>' . __('How do I obtain my API Login ID and Transaction Key?', 'invoicing') . '</em></a>',
874 874
         );
875 875
 
876 876
         $admin_settings['authorizenet_transaction_key'] = array(
877 877
             'type' => 'text',
878 878
             'id'   => 'authorizenet_transaction_key',
879
-            'name' => __( 'Transaction Key', 'invoicing' ),
879
+            'name' => __('Transaction Key', 'invoicing'),
880 880
         );
881 881
 
882 882
         $admin_settings['authorizenet_signature_key'] = array(
883 883
             'type' => 'text',
884 884
             'id'   => 'authorizenet_signature_key',
885
-            'name' => __( 'Signature Key', 'invoicing' ),
886
-            'desc' => '<a href="https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001271"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>',
885
+            'name' => __('Signature Key', 'invoicing'),
886
+            'desc' => '<a href="https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001271"><em>' . __('Learn more.', 'invoicing') . '</em></a>',
887 887
         );
888 888
 
889 889
         $admin_settings['authorizenet_ipn_url'] = array(
890 890
             'type'     => 'ipn_url',
891 891
             'id'       => 'authorizenet_ipn_url',
892
-            'name'     => __( 'Webhook URL', 'invoicing' ),
892
+            'name'     => __('Webhook URL', 'invoicing'),
893 893
             'std'      => $this->notify_url,
894
-            'desc'     => __( 'Create a new webhook using this URL as the endpoint URL and set it to receive all payment events.', 'invoicing' ) . ' <a href="https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001542"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>',
894
+            'desc'     => __('Create a new webhook using this URL as the endpoint URL and set it to receive all payment events.', 'invoicing') . ' <a href="https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001542"><em>' . __('Learn more.', 'invoicing') . '</em></a>',
895 895
             'custom'   => 'authorizenet',
896 896
             'readonly' => true,
897 897
         );
Please login to merge, or discard this patch.
templates/emails/invoice-item.php 2 patches
Indentation   +46 added lines, -46 removed lines patch added patch discarded remove patch
@@ -18,63 +18,63 @@
 block discarded – undo
18 18
 	<?php foreach ( array_keys( $columns ) as $column ) : ?>
19 19
 	<td class="<?php echo 'name' == $column ? 'text-left' : 'text-right'; ?> wpinv_cart_item_<?php echo esc_attr( $column ); ?>">
20 20
 		<?php
21
-		// Fires before printing a line item column.
22
-		do_action( "getpaid_email_line_item_before_$column", $item, $invoice );
21
+        // Fires before printing a line item column.
22
+        do_action( "getpaid_email_line_item_before_$column", $item, $invoice );
23 23
 
24
-		// Item name.
25
-		if ( 'name' == $column ) {
26
-			$has_featured_image = has_post_thumbnail( $item->get_id() );
24
+        // Item name.
25
+        if ( 'name' == $column ) {
26
+            $has_featured_image = has_post_thumbnail( $item->get_id() );
27 27
 
28
-			if ( $has_featured_image ) {
29
-				echo '<div class="getpaid-email-item-image-wrap" style="min-height:80px">';
30
-					echo '<div class="getpaid-email-image-wrap" style="display:inline-block;width:80px;height:80px;">';
31
-						echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'wpinv-email-item-image' ) );
32
-					echo '</div>';
33
-					echo '<div class="getpaid-email-item-name-wrap" style="display:inline-block;vertical-align:top;max-width:360px;">';
34
-			}
28
+            if ( $has_featured_image ) {
29
+                echo '<div class="getpaid-email-item-image-wrap" style="min-height:80px">';
30
+                    echo '<div class="getpaid-email-image-wrap" style="display:inline-block;width:80px;height:80px;">';
31
+                        echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'wpinv-email-item-image' ) );
32
+                    echo '</div>';
33
+                    echo '<div class="getpaid-email-item-name-wrap" style="display:inline-block;vertical-align:top;max-width:360px;">';
34
+            }
35 35
 
36
-			// Display the name.
37
-			echo '<div class="wpinv_email_cart_item_title">' . esc_html( $item->get_name() ) . '</div>';
36
+            // Display the name.
37
+            echo '<div class="wpinv_email_cart_item_title">' . esc_html( $item->get_name() ) . '</div>';
38 38
 
39
-			// And an optional description.
40
-			$description = $item->get_description();
39
+            // And an optional description.
40
+            $description = $item->get_description();
41 41
 
42
-			if ( ! empty( $description ) ) {
43
-				echo "<p class='small'>" . wp_kses_post( $description ) . "</p>";
44
-			}
42
+            if ( ! empty( $description ) ) {
43
+                echo "<p class='small'>" . wp_kses_post( $description ) . "</p>";
44
+            }
45 45
 
46
-			if ( $has_featured_image ) {
47
-					echo '</div>';
48
-				echo '</div>';
49
-			}
50
-		}
46
+            if ( $has_featured_image ) {
47
+                    echo '</div>';
48
+                echo '</div>';
49
+            }
50
+        }
51 51
 
52
-		// Item price.
53
-		if ( 'price' == $column ) {
54
-			// Display the item price (or recurring price if this is a renewal invoice)
55
-			$price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
56
-			wpinv_the_price( $price, $invoice->get_currency() );
57
-		}
52
+        // Item price.
53
+        if ( 'price' == $column ) {
54
+            // Display the item price (or recurring price if this is a renewal invoice)
55
+            $price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
56
+            wpinv_the_price( $price, $invoice->get_currency() );
57
+        }
58 58
 
59
-		// Item quantity.
60
-		if ( 'quantity' == $column ) {
61
-			echo (float) $item->get_quantity();
62
-		}
59
+        // Item quantity.
60
+        if ( 'quantity' == $column ) {
61
+            echo (float) $item->get_quantity();
62
+        }
63 63
 
64
-		// Tax rate.
65
-		if ( 'tax_rate' == $column ) {
66
-			echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
67
-		}
64
+        // Tax rate.
65
+        if ( 'tax_rate' == $column ) {
66
+            echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
67
+        }
68 68
 
69
-		// Item sub total.
70
-		if ( 'subtotal' == $column ) {
71
-			$subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
72
-			wpinv_the_price( $subtotal, $invoice->get_currency() );
73
-		}
69
+        // Item sub total.
70
+        if ( 'subtotal' == $column ) {
71
+            $subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
72
+            wpinv_the_price( $subtotal, $invoice->get_currency() );
73
+        }
74 74
 
75
-		// Fires when printing a line item column.
76
-		do_action( "getpaid_email_line_item_$column", $item, $invoice );
77
-		?>
75
+        // Fires when printing a line item column.
76
+        do_action( "getpaid_email_line_item_$column", $item, $invoice );
77
+        ?>
78 78
 	</td>
79 79
 	<?php endforeach; ?>
80 80
 </tr>
Please login to merge, or discard this patch.
Spacing   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -10,73 +10,73 @@
 block discarded – undo
10 10
  * @var array $columns
11 11
  */
12 12
 
13
-defined( 'ABSPATH' ) || exit;
13
+defined('ABSPATH') || exit;
14 14
 
15
-do_action( 'getpaid_before_email_line_item', $invoice, $item );
15
+do_action('getpaid_before_email_line_item', $invoice, $item);
16 16
 ?>
17
-<tr class="wpinv_cart_item item-type-<?php echo esc_attr( $item->get_type() ); ?>">
18
-	<?php foreach ( array_keys( $columns ) as $column ) : ?>
19
-	<td class="<?php echo 'name' == $column ? 'text-left' : 'text-right'; ?> wpinv_cart_item_<?php echo esc_attr( $column ); ?>">
17
+<tr class="wpinv_cart_item item-type-<?php echo esc_attr($item->get_type()); ?>">
18
+	<?php foreach (array_keys($columns) as $column) : ?>
19
+	<td class="<?php echo 'name' == $column ? 'text-left' : 'text-right'; ?> wpinv_cart_item_<?php echo esc_attr($column); ?>">
20 20
 		<?php
21 21
 		// Fires before printing a line item column.
22
-		do_action( "getpaid_email_line_item_before_$column", $item, $invoice );
22
+		do_action("getpaid_email_line_item_before_$column", $item, $invoice);
23 23
 
24 24
 		// Item name.
25
-		if ( 'name' == $column ) {
26
-			$has_featured_image = has_post_thumbnail( $item->get_id() );
25
+		if ('name' == $column) {
26
+			$has_featured_image = has_post_thumbnail($item->get_id());
27 27
 
28
-			if ( $has_featured_image ) {
28
+			if ($has_featured_image) {
29 29
 				echo '<div class="getpaid-email-item-image-wrap" style="min-height:80px">';
30 30
 					echo '<div class="getpaid-email-image-wrap" style="display:inline-block;width:80px;height:80px;">';
31
-						echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'wpinv-email-item-image' ) );
31
+						echo get_the_post_thumbnail($item->get_id(), array(75, 75), array('class' => 'wpinv-email-item-image'));
32 32
 					echo '</div>';
33 33
 					echo '<div class="getpaid-email-item-name-wrap" style="display:inline-block;vertical-align:top;max-width:360px;">';
34 34
 			}
35 35
 
36 36
 			// Display the name.
37
-			echo '<div class="wpinv_email_cart_item_title">' . esc_html( $item->get_name() ) . '</div>';
37
+			echo '<div class="wpinv_email_cart_item_title">' . esc_html($item->get_name()) . '</div>';
38 38
 
39 39
 			// And an optional description.
40 40
 			$description = $item->get_description();
41 41
 
42
-			if ( ! empty( $description ) ) {
43
-				echo "<p class='small'>" . wp_kses_post( $description ) . "</p>";
42
+			if (!empty($description)) {
43
+				echo "<p class='small'>" . wp_kses_post($description) . "</p>";
44 44
 			}
45 45
 
46
-			if ( $has_featured_image ) {
46
+			if ($has_featured_image) {
47 47
 					echo '</div>';
48 48
 				echo '</div>';
49 49
 			}
50 50
 		}
51 51
 
52 52
 		// Item price.
53
-		if ( 'price' == $column ) {
53
+		if ('price' == $column) {
54 54
 			// Display the item price (or recurring price if this is a renewal invoice)
55 55
 			$price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
56
-			wpinv_the_price( $price, $invoice->get_currency() );
56
+			wpinv_the_price($price, $invoice->get_currency());
57 57
 		}
58 58
 
59 59
 		// Item quantity.
60
-		if ( 'quantity' == $column ) {
60
+		if ('quantity' == $column) {
61 61
 			echo (float) $item->get_quantity();
62 62
 		}
63 63
 
64 64
 		// Tax rate.
65
-		if ( 'tax_rate' == $column ) {
66
-			echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
65
+		if ('tax_rate' == $column) {
66
+			echo floatval(round(getpaid_get_invoice_tax_rate($invoice, $item), 2)) . '%';
67 67
 		}
68 68
 
69 69
 		// Item sub total.
70
-		if ( 'subtotal' == $column ) {
70
+		if ('subtotal' == $column) {
71 71
 			$subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
72
-			wpinv_the_price( $subtotal, $invoice->get_currency() );
72
+			wpinv_the_price($subtotal, $invoice->get_currency());
73 73
 		}
74 74
 
75 75
 		// Fires when printing a line item column.
76
-		do_action( "getpaid_email_line_item_$column", $item, $invoice );
76
+		do_action("getpaid_email_line_item_$column", $item, $invoice);
77 77
 		?>
78 78
 	</td>
79 79
 	<?php endforeach; ?>
80 80
 </tr>
81 81
 
82
-<?php do_action( 'getpaid_after_email_line_item', $invoice, $item ); ?>
82
+<?php do_action('getpaid_after_email_line_item', $invoice, $item); ?>
Please login to merge, or discard this patch.
templates/invoice/line-item.php 2 patches
Indentation   +62 added lines, -62 removed lines patch added patch discarded remove patch
@@ -26,90 +26,90 @@
 block discarded – undo
26 26
 
27 27
 				<?php
28 28
 
29
-					// Fires before printing a line item column.
30
-					do_action( "getpaid_invoice_line_item_before_$column", $item, $invoice );
29
+                    // Fires before printing a line item column.
30
+                    do_action( "getpaid_invoice_line_item_before_$column", $item, $invoice );
31 31
 
32
-					// Item name.
33
-					if ( 'name' === $column ) {
32
+                    // Item name.
33
+                    if ( 'name' === $column ) {
34 34
 
35
-						$has_featured_image = has_post_thumbnail( $item->get_id() );
35
+                        $has_featured_image = has_post_thumbnail( $item->get_id() );
36 36
 
37
-						if ( $has_featured_image ) {
38
-							echo '<div class="d-flex align-items-center getpaid-form-item-has-featured-image">';
39
-							echo '<div class="getpaid-form-item-image-container mr-2" style="width:85px;">';
40
-							echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'getpaid-form-item-image mb-0' ) );
41
-							echo '</div>';
42
-							echo '<div class="getpaid-form-item-name-container">';
43
-						}
37
+                        if ( $has_featured_image ) {
38
+                            echo '<div class="d-flex align-items-center getpaid-form-item-has-featured-image">';
39
+                            echo '<div class="getpaid-form-item-image-container mr-2" style="width:85px;">';
40
+                            echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'getpaid-form-item-image mb-0' ) );
41
+                            echo '</div>';
42
+                            echo '<div class="getpaid-form-item-name-container">';
43
+                        }
44 44
 
45
-						// Display the name.
46
-						echo '<div class="mb-1">' . esc_html( $item->get_name() ) . '</div>';
45
+                        // Display the name.
46
+                        echo '<div class="mb-1">' . esc_html( $item->get_name() ) . '</div>';
47 47
 
48
-						// And an optional description.
49
-						$description = $item->get_description();
48
+                        // And an optional description.
49
+                        $description = $item->get_description();
50 50
 
51
-						if ( ! empty( $description ) ) {
52
-							echo "<small class='form-text text-muted pr-2 m-0'>" . wp_kses_post( $description ) . '</small>';
53
-						}
51
+                        if ( ! empty( $description ) ) {
52
+                            echo "<small class='form-text text-muted pr-2 m-0'>" . wp_kses_post( $description ) . '</small>';
53
+                        }
54 54
 
55
-						// Fires before printing the line item actions.
56
-						do_action( 'getpaid_before_invoice_line_item_actions', $item, $invoice );
55
+                        // Fires before printing the line item actions.
56
+                        do_action( 'getpaid_before_invoice_line_item_actions', $item, $invoice );
57 57
 
58
-						$actions = apply_filters( 'getpaid-invoice-page-line-item-actions', array(), $item, $invoice );
58
+                        $actions = apply_filters( 'getpaid-invoice-page-line-item-actions', array(), $item, $invoice );
59 59
 
60
-						if ( ! empty( $actions ) ) {
60
+                        if ( ! empty( $actions ) ) {
61 61
 
62
-							$sanitized  = array();
63
-							foreach ( $actions as $key => $item_action ) {
64
-								$key         = sanitize_html_class( $key );
65
-								$item_action = wp_kses_post( $item_action );
66
-								$sanitized[] = "<span class='$key'>$item_action</span>";
67
-							}
62
+                            $sanitized  = array();
63
+                            foreach ( $actions as $key => $item_action ) {
64
+                                $key         = sanitize_html_class( $key );
65
+                                $item_action = wp_kses_post( $item_action );
66
+                                $sanitized[] = "<span class='$key'>$item_action</span>";
67
+                            }
68 68
 
69
-							echo "<small class='form-text getpaid-line-item-actions'>";
70
-							echo wp_kses_post( implode( ' | ', $sanitized ) );
71
-							echo '</small>';
69
+                            echo "<small class='form-text getpaid-line-item-actions'>";
70
+                            echo wp_kses_post( implode( ' | ', $sanitized ) );
71
+                            echo '</small>';
72 72
 
73
-						}
73
+                        }
74 74
 
75
-						if ( $has_featured_image ) {
76
-							echo '</div>';
77
-							echo '</div>';
78
-						}
79
-					}
75
+                        if ( $has_featured_image ) {
76
+                            echo '</div>';
77
+                            echo '</div>';
78
+                        }
79
+                    }
80 80
 
81
-					// Item price.
82
-					if ( 'price' === $column ) {
81
+                    // Item price.
82
+                    if ( 'price' === $column ) {
83 83
 
84
-					// Display the item price (or recurring price if this is a renewal invoice)
85
-					$price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
86
-					wpinv_the_price( $price, $invoice->get_currency() );
84
+                    // Display the item price (or recurring price if this is a renewal invoice)
85
+                    $price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
86
+                    wpinv_the_price( $price, $invoice->get_currency() );
87 87
 
88
-					}
88
+                    }
89 89
 
90
-					// Tax rate.
91
-					if ( 'tax_rate' === $column ) {
92
-					echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
93
-					}
90
+                    // Tax rate.
91
+                    if ( 'tax_rate' === $column ) {
92
+                    echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
93
+                    }
94 94
 
95
-					// Item quantity.
96
-					if ( 'quantity' === $column ) {
97
-					echo (float) $item->get_quantity();
98
-					}
95
+                    // Item quantity.
96
+                    if ( 'quantity' === $column ) {
97
+                    echo (float) $item->get_quantity();
98
+                    }
99 99
 
100
-					// Item sub total.
101
-					if ( 'subtotal' === $column ) {
102
-					$subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
103
-					wpinv_the_price( $subtotal, $invoice->get_currency() );
104
-					}
100
+                    // Item sub total.
101
+                    if ( 'subtotal' === $column ) {
102
+                    $subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
103
+                    wpinv_the_price( $subtotal, $invoice->get_currency() );
104
+                    }
105 105
 
106
-					// Fires when printing a line item column.
107
-					do_action( "getpaid_invoice_line_item_$column", $item, $invoice );
106
+                    // Fires when printing a line item column.
107
+                    do_action( "getpaid_invoice_line_item_$column", $item, $invoice );
108 108
 
109
-					// Fires after printing a line item column.
110
-					do_action( "getpaid_invoice_line_item_after_$column", $item, $invoice );
109
+                    // Fires after printing a line item column.
110
+                    do_action( "getpaid_invoice_line_item_after_$column", $item, $invoice );
111 111
 
112
-				?>
112
+                ?>
113 113
 
114 114
 			</div>
115 115
 
Please login to merge, or discard this patch.
Spacing   +31 added lines, -31 removed lines patch added patch discarded remove patch
@@ -10,104 +10,104 @@
 block discarded – undo
10 10
  * @var array $columns
11 11
  */
12 12
 
13
-defined( 'ABSPATH' ) || exit;
13
+defined('ABSPATH') || exit;
14 14
 
15
-do_action( 'getpaid_before_invoice_line_item', $invoice, $item );
15
+do_action('getpaid_before_invoice_line_item', $invoice, $item);
16 16
 
17 17
 ?>
18 18
 
19
-<div class='getpaid-invoice-item item-<?php echo (int) $item->get_id(); ?> item-type-<?php echo esc_attr( $item->get_type() ); ?> border-bottom'>
19
+<div class='getpaid-invoice-item item-<?php echo (int) $item->get_id(); ?> item-type-<?php echo esc_attr($item->get_type()); ?> border-bottom'>
20 20
 
21 21
 	<div class="form-row row align-items-center">
22 22
 
23
-		<?php foreach ( array_keys( $columns ) as $column ) : ?>
23
+		<?php foreach (array_keys($columns) as $column) : ?>
24 24
 
25
-			<div class="<?php echo 'name' === $column ? 'col-12 col-sm-6' : 'col-12 col-sm'; ?> getpaid-invoice-item-<?php echo esc_attr( $column ); ?>">
25
+			<div class="<?php echo 'name' === $column ? 'col-12 col-sm-6' : 'col-12 col-sm'; ?> getpaid-invoice-item-<?php echo esc_attr($column); ?>">
26 26
 
27 27
 				<?php
28 28
 
29 29
 					// Fires before printing a line item column.
30
-					do_action( "getpaid_invoice_line_item_before_$column", $item, $invoice );
30
+					do_action("getpaid_invoice_line_item_before_$column", $item, $invoice);
31 31
 
32 32
 					// Item name.
33
-					if ( 'name' === $column ) {
33
+					if ('name' === $column) {
34 34
 
35
-						$has_featured_image = has_post_thumbnail( $item->get_id() );
35
+						$has_featured_image = has_post_thumbnail($item->get_id());
36 36
 
37
-						if ( $has_featured_image ) {
37
+						if ($has_featured_image) {
38 38
 							echo '<div class="d-flex align-items-center getpaid-form-item-has-featured-image">';
39 39
 							echo '<div class="getpaid-form-item-image-container mr-2" style="width:85px;">';
40
-							echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'getpaid-form-item-image mb-0' ) );
40
+							echo get_the_post_thumbnail($item->get_id(), array(75, 75), array('class' => 'getpaid-form-item-image mb-0'));
41 41
 							echo '</div>';
42 42
 							echo '<div class="getpaid-form-item-name-container">';
43 43
 						}
44 44
 
45 45
 						// Display the name.
46
-						echo '<div class="mb-1">' . esc_html( $item->get_name() ) . '</div>';
46
+						echo '<div class="mb-1">' . esc_html($item->get_name()) . '</div>';
47 47
 
48 48
 						// And an optional description.
49 49
 						$description = $item->get_description();
50 50
 
51
-						if ( ! empty( $description ) ) {
52
-							echo "<small class='form-text text-muted pr-2 m-0'>" . wp_kses_post( $description ) . '</small>';
51
+						if (!empty($description)) {
52
+							echo "<small class='form-text text-muted pr-2 m-0'>" . wp_kses_post($description) . '</small>';
53 53
 						}
54 54
 
55 55
 						// Fires before printing the line item actions.
56
-						do_action( 'getpaid_before_invoice_line_item_actions', $item, $invoice );
56
+						do_action('getpaid_before_invoice_line_item_actions', $item, $invoice);
57 57
 
58
-						$actions = apply_filters( 'getpaid-invoice-page-line-item-actions', array(), $item, $invoice );
58
+						$actions = apply_filters('getpaid-invoice-page-line-item-actions', array(), $item, $invoice);
59 59
 
60
-						if ( ! empty( $actions ) ) {
60
+						if (!empty($actions)) {
61 61
 
62
-							$sanitized  = array();
63
-							foreach ( $actions as $key => $item_action ) {
64
-								$key         = sanitize_html_class( $key );
65
-								$item_action = wp_kses_post( $item_action );
62
+							$sanitized = array();
63
+							foreach ($actions as $key => $item_action) {
64
+								$key         = sanitize_html_class($key);
65
+								$item_action = wp_kses_post($item_action);
66 66
 								$sanitized[] = "<span class='$key'>$item_action</span>";
67 67
 							}
68 68
 
69 69
 							echo "<small class='form-text getpaid-line-item-actions'>";
70
-							echo wp_kses_post( implode( ' | ', $sanitized ) );
70
+							echo wp_kses_post(implode(' | ', $sanitized));
71 71
 							echo '</small>';
72 72
 
73 73
 						}
74 74
 
75
-						if ( $has_featured_image ) {
75
+						if ($has_featured_image) {
76 76
 							echo '</div>';
77 77
 							echo '</div>';
78 78
 						}
79 79
 					}
80 80
 
81 81
 					// Item price.
82
-					if ( 'price' === $column ) {
82
+					if ('price' === $column) {
83 83
 
84 84
 					// Display the item price (or recurring price if this is a renewal invoice)
85 85
 					$price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
86
-					wpinv_the_price( $price, $invoice->get_currency() );
86
+					wpinv_the_price($price, $invoice->get_currency());
87 87
 
88 88
 					}
89 89
 
90 90
 					// Tax rate.
91
-					if ( 'tax_rate' === $column ) {
92
-					echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
91
+					if ('tax_rate' === $column) {
92
+					echo floatval(round(getpaid_get_invoice_tax_rate($invoice, $item), 2)) . '%';
93 93
 					}
94 94
 
95 95
 					// Item quantity.
96
-					if ( 'quantity' === $column ) {
96
+					if ('quantity' === $column) {
97 97
 					echo (float) $item->get_quantity();
98 98
 					}
99 99
 
100 100
 					// Item sub total.
101
-					if ( 'subtotal' === $column ) {
101
+					if ('subtotal' === $column) {
102 102
 					$subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
103
-					wpinv_the_price( $subtotal, $invoice->get_currency() );
103
+					wpinv_the_price($subtotal, $invoice->get_currency());
104 104
 					}
105 105
 
106 106
 					// Fires when printing a line item column.
107
-					do_action( "getpaid_invoice_line_item_$column", $item, $invoice );
107
+					do_action("getpaid_invoice_line_item_$column", $item, $invoice);
108 108
 
109 109
 					// Fires after printing a line item column.
110
-					do_action( "getpaid_invoice_line_item_after_$column", $item, $invoice );
110
+					do_action("getpaid_invoice_line_item_after_$column", $item, $invoice);
111 111
 
112 112
 				?>
113 113
 
Please login to merge, or discard this patch.
vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php 3 patches
Braces   +13 added lines, -9 removed lines patch added patch discarded remove patch
@@ -538,7 +538,7 @@  discard block
 block discarded – undo
538 538
 					// custom changes
539 539
 					if ( $load_fse ) {
540 540
 						wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility, true) );
541
-					}else{
541
+					} else{
542 542
 						wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
543 543
 					}
544 544
 				}
@@ -558,7 +558,7 @@  discard block
 block discarded – undo
558 558
 			ob_start();
559 559
 			if ( $aui_bs5 ) {
560 560
 				include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
561
-			}else{
561
+			} else{
562 562
 				include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
563 563
             }
564 564
 
@@ -642,7 +642,7 @@  discard block
 block discarded – undo
642 642
 				// iconpicker
643 643
 				if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
644 644
 					wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
645
-				}else{
645
+				} else{
646 646
 					wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
647 647
 				}
648 648
 
@@ -1371,9 +1371,9 @@  discard block
 block discarded – undo
1371 1371
 
1372 1372
 			if($compatibility===true || $compatibility===1){
1373 1373
 				$compatibility = '.bsui';
1374
-			}elseif(!$compatibility){
1374
+			} elseif(!$compatibility){
1375 1375
 				$compatibility = '';
1376
-			}else{
1376
+			} else{
1377 1377
 				$compatibility = esc_attr($compatibility);
1378 1378
 			}
1379 1379
 
@@ -1659,9 +1659,9 @@  discard block
 block discarded – undo
1659 1659
 
1660 1660
 			if($compatibility===true || $compatibility===1){
1661 1661
 				$compatibility = '.bsui';
1662
-			}elseif(!$compatibility){
1662
+			} elseif(!$compatibility){
1663 1663
 				$compatibility = '';
1664
-			}else{
1664
+			} else{
1665 1665
 				$compatibility = esc_attr($compatibility);
1666 1666
 			}
1667 1667
 
@@ -2531,7 +2531,9 @@  discard block
 block discarded – undo
2531 2531
 		 * @return mixed
2532 2532
 		 */
2533 2533
 		public static function minify_js($input) {
2534
-			if(trim($input) === "") return $input;
2534
+			if(trim($input) === "") {
2535
+			    return $input;
2536
+			}
2535 2537
 			return preg_replace(
2536 2538
 				array(
2537 2539
 					// Remove comment(s)
@@ -2563,7 +2565,9 @@  discard block
 block discarded – undo
2563 2565
 		 * @return mixed
2564 2566
 		 */
2565 2567
 		public static function minify_css($input) {
2566
-			if(trim($input) === "") return $input;
2568
+			if(trim($input) === "") {
2569
+			    return $input;
2570
+			}
2567 2571
 			return preg_replace(
2568 2572
 				array(
2569 2573
 					// Remove comment(s)
Please login to merge, or discard this patch.
Indentation   +2337 added lines, -2337 removed lines patch added patch discarded remove patch
@@ -13,7 +13,7 @@  discard block
 block discarded – undo
13 13
  * Bail if we are not in WP.
14 14
  */
15 15
 if ( ! defined( 'ABSPATH' ) ) {
16
-	exit;
16
+    exit;
17 17
 }
18 18
 
19 19
 /**
@@ -21,472 +21,472 @@  discard block
 block discarded – undo
21 21
  */
22 22
 if ( ! class_exists( 'AyeCode_UI_Settings' ) ) {
23 23
 
24
-	/**
25
-	 * A Class to be able to change settings for Font Awesome.
26
-	 *
27
-	 * Class AyeCode_UI_Settings
28
-	 * @ver 1.0.0
29
-	 * @todo decide how to implement textdomain
30
-	 */
31
-	class AyeCode_UI_Settings {
32
-
33
-		/**
34
-		 * Class version version.
35
-		 *
36
-		 * @var string
37
-		 */
38
-		public $version = '0.2.31';
39
-
40
-		/**
41
-		 * Class textdomain.
42
-		 *
43
-		 * @var string
44
-		 */
45
-		public $textdomain = 'aui';
46
-
47
-		/**
48
-		 * Latest version of Bootstrap at time of publish published.
49
-		 *
50
-		 * @var string
51
-		 */
52
-		public $latest = "5.2.2";
53
-
54
-		/**
55
-		 * Current version of select2 being used.
56
-		 *
57
-		 * @var string
58
-		 */
59
-		public $select2_version = "4.0.11";
60
-
61
-		/**
62
-		 * The title.
63
-		 *
64
-		 * @var string
65
-		 */
66
-		public $name = 'AyeCode UI';
67
-
68
-		/**
69
-		 * The relative url to the assets.
70
-		 *
71
-		 * @var string
72
-		 */
73
-		public $url = '';
74
-
75
-		/**
76
-		 * Holds the settings values.
77
-		 *
78
-		 * @var array
79
-		 */
80
-		private $settings;
81
-
82
-		/**
83
-		 * AyeCode_UI_Settings instance.
84
-		 *
85
-		 * @access private
86
-		 * @since  1.0.0
87
-		 * @var    AyeCode_UI_Settings There can be only one!
88
-		 */
89
-		private static $instance = null;
90
-
91
-
92
-		/**
93
-		 * Main AyeCode_UI_Settings Instance.
94
-		 *
95
-		 * Ensures only one instance of AyeCode_UI_Settings is loaded or can be loaded.
96
-		 *
97
-		 * @since 1.0.0
98
-		 * @static
99
-		 * @return AyeCode_UI_Settings - Main instance.
100
-		 */
101
-		public static function instance() {
102
-			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
103
-
104
-				self::$instance = new AyeCode_UI_Settings;
105
-
106
-				add_action( 'init', array( self::$instance, 'init' ) ); // set settings
107
-
108
-				if ( is_admin() ) {
109
-					add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
110
-					add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
111
-
112
-					// Maybe show example page
113
-					add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) );
114
-
115
-					if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
116
-						add_filter( 'sd_aui_colors', array( self::$instance,'sd_aui_colors' ), 10, 3 );
117
-					}
118
-				}
24
+    /**
25
+     * A Class to be able to change settings for Font Awesome.
26
+     *
27
+     * Class AyeCode_UI_Settings
28
+     * @ver 1.0.0
29
+     * @todo decide how to implement textdomain
30
+     */
31
+    class AyeCode_UI_Settings {
32
+
33
+        /**
34
+         * Class version version.
35
+         *
36
+         * @var string
37
+         */
38
+        public $version = '0.2.31';
39
+
40
+        /**
41
+         * Class textdomain.
42
+         *
43
+         * @var string
44
+         */
45
+        public $textdomain = 'aui';
46
+
47
+        /**
48
+         * Latest version of Bootstrap at time of publish published.
49
+         *
50
+         * @var string
51
+         */
52
+        public $latest = "5.2.2";
53
+
54
+        /**
55
+         * Current version of select2 being used.
56
+         *
57
+         * @var string
58
+         */
59
+        public $select2_version = "4.0.11";
119 60
 
120
-				add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
61
+        /**
62
+         * The title.
63
+         *
64
+         * @var string
65
+         */
66
+        public $name = 'AyeCode UI';
121 67
 
122
-				do_action( 'ayecode_ui_settings_loaded' );
123
-			}
68
+        /**
69
+         * The relative url to the assets.
70
+         *
71
+         * @var string
72
+         */
73
+        public $url = '';
124 74
 
125
-			return self::$instance;
126
-		}
75
+        /**
76
+         * Holds the settings values.
77
+         *
78
+         * @var array
79
+         */
80
+        private $settings;
127 81
 
128
-		/**
129
-		 * Add custom colors to the color selector.
130
-		 *
131
-		 * @param $theme_colors
132
-		 * @param $include_outlines
133
-		 * @param $include_branding
134
-		 *
135
-		 * @return mixed
136
-		 */
137
-		public function sd_aui_colors( $theme_colors, $include_outlines, $include_branding ){
82
+        /**
83
+         * AyeCode_UI_Settings instance.
84
+         *
85
+         * @access private
86
+         * @since  1.0.0
87
+         * @var    AyeCode_UI_Settings There can be only one!
88
+         */
89
+        private static $instance = null;
138 90
 
139 91
 
140
-			$setting = wp_get_global_settings();
92
+        /**
93
+         * Main AyeCode_UI_Settings Instance.
94
+         *
95
+         * Ensures only one instance of AyeCode_UI_Settings is loaded or can be loaded.
96
+         *
97
+         * @since 1.0.0
98
+         * @static
99
+         * @return AyeCode_UI_Settings - Main instance.
100
+         */
101
+        public static function instance() {
102
+            if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
141 103
 
142
-			if(!empty($setting['color']['palette']['custom'])){
143
-				foreach($setting['color']['palette']['custom'] as $color){
144
-					$theme_colors[$color['slug']] = esc_attr($color['name']);
145
-				}
146
-			}
147
-
148
-			return $theme_colors;
149
-		}
150
-
151
-		/**
152
-		 * Setup some constants.
153
-		 */
154
-		public function constants(){
155
-			define( 'AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be" );
156
-			define( 'AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d' );
157
-			define( 'AUI_INFO_COLOR_ORIGINAL', '#17a2b8' );
158
-			define( 'AUI_WARNING_COLOR_ORIGINAL', '#ffc107' );
159
-			define( 'AUI_DANGER_COLOR_ORIGINAL', '#dc3545' );
160
-			define( 'AUI_SUCCESS_COLOR_ORIGINAL', '#44c553' );
161
-			define( 'AUI_LIGHT_COLOR_ORIGINAL', '#f8f9fa' );
162
-			define( 'AUI_DARK_COLOR_ORIGINAL', '#343a40' );
163
-			define( 'AUI_WHITE_COLOR_ORIGINAL', '#fff' );
164
-			define( 'AUI_PURPLE_COLOR_ORIGINAL', '#ad6edd' );
165
-			define( 'AUI_SALMON_COLOR_ORIGINAL', '#ff977a' );
166
-			define( 'AUI_CYAN_COLOR_ORIGINAL', '#35bdff' );
167
-			define( 'AUI_GRAY_COLOR_ORIGINAL', '#ced4da' );
168
-			define( 'AUI_INDIGO_COLOR_ORIGINAL', '#502c6c' );
169
-			define( 'AUI_ORANGE_COLOR_ORIGINAL', '#orange' );
170
-			define( 'AUI_BLACK_COLOR_ORIGINAL', '#000' );
171
-
172
-			if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
173
-				define( 'AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL );
174
-			}
175
-			if ( ! defined( 'AUI_SECONDARY_COLOR' ) ) {
176
-				define( 'AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL );
177
-			}
178
-			if ( ! defined( 'AUI_INFO_COLOR' ) ) {
179
-				define( 'AUI_INFO_COLOR', AUI_INFO_COLOR_ORIGINAL );
180
-			}
181
-			if ( ! defined( 'AUI_WARNING_COLOR' ) ) {
182
-				define( 'AUI_WARNING_COLOR', AUI_WARNING_COLOR_ORIGINAL );
183
-			}
184
-			if ( ! defined( 'AUI_DANGER_COLOR' ) ) {
185
-				define( 'AUI_DANGER_COLOR', AUI_DANGER_COLOR_ORIGINAL );
186
-			}
187
-			if ( ! defined( 'AUI_SUCCESS_COLOR' ) ) {
188
-				define( 'AUI_SUCCESS_COLOR', AUI_SUCCESS_COLOR_ORIGINAL );
189
-			}
190
-			if ( ! defined( 'AUI_LIGHT_COLOR' ) ) {
191
-				define( 'AUI_LIGHT_COLOR', AUI_LIGHT_COLOR_ORIGINAL );
192
-			}
193
-			if ( ! defined( 'AUI_DARK_COLOR' ) ) {
194
-				define( 'AUI_DARK_COLOR', AUI_DARK_COLOR_ORIGINAL );
195
-			}
196
-			if ( ! defined( 'AUI_WHITE_COLOR' ) ) {
197
-				define( 'AUI_WHITE_COLOR', AUI_WHITE_COLOR_ORIGINAL );
198
-			}
199
-			if ( ! defined( 'AUI_PURPLE_COLOR' ) ) {
200
-				define( 'AUI_PURPLE_COLOR', AUI_PURPLE_COLOR_ORIGINAL );
201
-			}
202
-			if ( ! defined( 'AUI_SALMON_COLOR' ) ) {
203
-				define( 'AUI_SALMON_COLOR', AUI_SALMON_COLOR_ORIGINAL );
204
-			}
205
-			if ( ! defined( 'AUI_CYAN_COLOR' ) ) {
206
-				define( 'AUI_CYAN_COLOR', AUI_CYAN_COLOR_ORIGINAL );
207
-			}
208
-			if ( ! defined( 'AUI_GRAY_COLOR' ) ) {
209
-				define( 'AUI_GRAY_COLOR', AUI_GRAY_COLOR_ORIGINAL );
210
-			}
211
-			if ( ! defined( 'AUI_INDIGO_COLOR' ) ) {
212
-				define( 'AUI_INDIGO_COLOR', AUI_INDIGO_COLOR_ORIGINAL );
213
-			}
214
-			if ( ! defined( 'AUI_ORANGE_COLOR' ) ) {
215
-				define( 'AUI_ORANGE_COLOR', AUI_ORANGE_COLOR_ORIGINAL );
216
-			}
217
-			if ( ! defined( 'AUI_BLACK_COLOR' ) ) {
218
-				define( 'AUI_BLACK_COLOR', AUI_BLACK_COLOR_ORIGINAL );
219
-			}
220
-
221
-		}
222
-
223
-		public static function get_colors( $original = false){
224
-
225
-			if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
226
-				return array();
227
-			}
228
-			if ( $original ) {
229
-				return array(
230
-					'primary'   => AUI_PRIMARY_COLOR_ORIGINAL,
231
-					'secondary' => AUI_SECONDARY_COLOR_ORIGINAL,
232
-					'info'      => AUI_INFO_COLOR_ORIGINAL,
233
-					'warning'   => AUI_WARNING_COLOR_ORIGINAL,
234
-					'danger'    => AUI_DANGER_COLOR_ORIGINAL,
235
-					'success'   => AUI_SUCCESS_COLOR_ORIGINAL,
236
-					'light'     => AUI_LIGHT_COLOR_ORIGINAL,
237
-					'dark'      => AUI_DARK_COLOR_ORIGINAL,
238
-					'white'     => AUI_WHITE_COLOR_ORIGINAL,
239
-					'purple'    => AUI_PURPLE_COLOR_ORIGINAL,
240
-					'salmon'    => AUI_SALMON_COLOR_ORIGINAL,
241
-					'cyan'      => AUI_CYAN_COLOR_ORIGINAL,
242
-					'gray'      => AUI_GRAY_COLOR_ORIGINAL,
243
-					'indigo'    => AUI_INDIGO_COLOR_ORIGINAL,
244
-					'orange'    => AUI_ORANGE_COLOR_ORIGINAL,
245
-					'black'     => AUI_BLACK_COLOR_ORIGINAL,
246
-				);
247
-			}
248
-
249
-			return array(
250
-				'primary'   => AUI_PRIMARY_COLOR,
251
-				'secondary' => AUI_SECONDARY_COLOR,
252
-				'info'      => AUI_INFO_COLOR,
253
-				'warning'   => AUI_WARNING_COLOR,
254
-				'danger'    => AUI_DANGER_COLOR,
255
-				'success'   => AUI_SUCCESS_COLOR,
256
-				'light'     => AUI_LIGHT_COLOR,
257
-				'dark'      => AUI_DARK_COLOR,
258
-				'white'     => AUI_WHITE_COLOR,
259
-				'purple'    => AUI_PURPLE_COLOR,
260
-				'salmon'    => AUI_SALMON_COLOR,
261
-				'cyan'      => AUI_CYAN_COLOR,
262
-				'gray'      => AUI_GRAY_COLOR,
263
-				'indigo'    => AUI_INDIGO_COLOR,
264
-				'orange'    => AUI_ORANGE_COLOR,
265
-				'black'     => AUI_BLACK_COLOR,
266
-			);
267
-		}
268
-
269
-		/**
270
-		 * Add admin body class to show when BS5 is active.
271
-		 *
272
-		 * @param $classes
273
-		 *
274
-		 * @return mixed
275
-		 */
276
-		public function add_bs5_admin_body_class( $classes = '' ) {
277
-			$classes .= ' aui_bs5';
278
-
279
-			return $classes;
280
-		}
281
-
282
-		/**
283
-		 * Add a body class to show when BS5 is active.
284
-		 *
285
-		 * @param $classes
286
-		 *
287
-		 * @return mixed
288
-		 */
289
-		public function add_bs5_body_class( $classes ) {
290
-			$classes[] = 'aui_bs5';
291
-
292
-			return $classes;
293
-		}
294
-
295
-		/**
296
-		 * Initiate the settings and add the required action hooks.
297
-		 */
298
-		public function init() {
104
+                self::$instance = new AyeCode_UI_Settings;
105
+
106
+                add_action( 'init', array( self::$instance, 'init' ) ); // set settings
107
+
108
+                if ( is_admin() ) {
109
+                    add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
110
+                    add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
111
+
112
+                    // Maybe show example page
113
+                    add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) );
114
+
115
+                    if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
116
+                        add_filter( 'sd_aui_colors', array( self::$instance,'sd_aui_colors' ), 10, 3 );
117
+                    }
118
+                }
119
+
120
+                add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
121
+
122
+                do_action( 'ayecode_ui_settings_loaded' );
123
+            }
124
+
125
+            return self::$instance;
126
+        }
127
+
128
+        /**
129
+         * Add custom colors to the color selector.
130
+         *
131
+         * @param $theme_colors
132
+         * @param $include_outlines
133
+         * @param $include_branding
134
+         *
135
+         * @return mixed
136
+         */
137
+        public function sd_aui_colors( $theme_colors, $include_outlines, $include_branding ){
138
+
139
+
140
+            $setting = wp_get_global_settings();
141
+
142
+            if(!empty($setting['color']['palette']['custom'])){
143
+                foreach($setting['color']['palette']['custom'] as $color){
144
+                    $theme_colors[$color['slug']] = esc_attr($color['name']);
145
+                }
146
+            }
147
+
148
+            return $theme_colors;
149
+        }
150
+
151
+        /**
152
+         * Setup some constants.
153
+         */
154
+        public function constants(){
155
+            define( 'AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be" );
156
+            define( 'AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d' );
157
+            define( 'AUI_INFO_COLOR_ORIGINAL', '#17a2b8' );
158
+            define( 'AUI_WARNING_COLOR_ORIGINAL', '#ffc107' );
159
+            define( 'AUI_DANGER_COLOR_ORIGINAL', '#dc3545' );
160
+            define( 'AUI_SUCCESS_COLOR_ORIGINAL', '#44c553' );
161
+            define( 'AUI_LIGHT_COLOR_ORIGINAL', '#f8f9fa' );
162
+            define( 'AUI_DARK_COLOR_ORIGINAL', '#343a40' );
163
+            define( 'AUI_WHITE_COLOR_ORIGINAL', '#fff' );
164
+            define( 'AUI_PURPLE_COLOR_ORIGINAL', '#ad6edd' );
165
+            define( 'AUI_SALMON_COLOR_ORIGINAL', '#ff977a' );
166
+            define( 'AUI_CYAN_COLOR_ORIGINAL', '#35bdff' );
167
+            define( 'AUI_GRAY_COLOR_ORIGINAL', '#ced4da' );
168
+            define( 'AUI_INDIGO_COLOR_ORIGINAL', '#502c6c' );
169
+            define( 'AUI_ORANGE_COLOR_ORIGINAL', '#orange' );
170
+            define( 'AUI_BLACK_COLOR_ORIGINAL', '#000' );
171
+
172
+            if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
173
+                define( 'AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL );
174
+            }
175
+            if ( ! defined( 'AUI_SECONDARY_COLOR' ) ) {
176
+                define( 'AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL );
177
+            }
178
+            if ( ! defined( 'AUI_INFO_COLOR' ) ) {
179
+                define( 'AUI_INFO_COLOR', AUI_INFO_COLOR_ORIGINAL );
180
+            }
181
+            if ( ! defined( 'AUI_WARNING_COLOR' ) ) {
182
+                define( 'AUI_WARNING_COLOR', AUI_WARNING_COLOR_ORIGINAL );
183
+            }
184
+            if ( ! defined( 'AUI_DANGER_COLOR' ) ) {
185
+                define( 'AUI_DANGER_COLOR', AUI_DANGER_COLOR_ORIGINAL );
186
+            }
187
+            if ( ! defined( 'AUI_SUCCESS_COLOR' ) ) {
188
+                define( 'AUI_SUCCESS_COLOR', AUI_SUCCESS_COLOR_ORIGINAL );
189
+            }
190
+            if ( ! defined( 'AUI_LIGHT_COLOR' ) ) {
191
+                define( 'AUI_LIGHT_COLOR', AUI_LIGHT_COLOR_ORIGINAL );
192
+            }
193
+            if ( ! defined( 'AUI_DARK_COLOR' ) ) {
194
+                define( 'AUI_DARK_COLOR', AUI_DARK_COLOR_ORIGINAL );
195
+            }
196
+            if ( ! defined( 'AUI_WHITE_COLOR' ) ) {
197
+                define( 'AUI_WHITE_COLOR', AUI_WHITE_COLOR_ORIGINAL );
198
+            }
199
+            if ( ! defined( 'AUI_PURPLE_COLOR' ) ) {
200
+                define( 'AUI_PURPLE_COLOR', AUI_PURPLE_COLOR_ORIGINAL );
201
+            }
202
+            if ( ! defined( 'AUI_SALMON_COLOR' ) ) {
203
+                define( 'AUI_SALMON_COLOR', AUI_SALMON_COLOR_ORIGINAL );
204
+            }
205
+            if ( ! defined( 'AUI_CYAN_COLOR' ) ) {
206
+                define( 'AUI_CYAN_COLOR', AUI_CYAN_COLOR_ORIGINAL );
207
+            }
208
+            if ( ! defined( 'AUI_GRAY_COLOR' ) ) {
209
+                define( 'AUI_GRAY_COLOR', AUI_GRAY_COLOR_ORIGINAL );
210
+            }
211
+            if ( ! defined( 'AUI_INDIGO_COLOR' ) ) {
212
+                define( 'AUI_INDIGO_COLOR', AUI_INDIGO_COLOR_ORIGINAL );
213
+            }
214
+            if ( ! defined( 'AUI_ORANGE_COLOR' ) ) {
215
+                define( 'AUI_ORANGE_COLOR', AUI_ORANGE_COLOR_ORIGINAL );
216
+            }
217
+            if ( ! defined( 'AUI_BLACK_COLOR' ) ) {
218
+                define( 'AUI_BLACK_COLOR', AUI_BLACK_COLOR_ORIGINAL );
219
+            }
220
+
221
+        }
222
+
223
+        public static function get_colors( $original = false){
224
+
225
+            if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
226
+                return array();
227
+            }
228
+            if ( $original ) {
229
+                return array(
230
+                    'primary'   => AUI_PRIMARY_COLOR_ORIGINAL,
231
+                    'secondary' => AUI_SECONDARY_COLOR_ORIGINAL,
232
+                    'info'      => AUI_INFO_COLOR_ORIGINAL,
233
+                    'warning'   => AUI_WARNING_COLOR_ORIGINAL,
234
+                    'danger'    => AUI_DANGER_COLOR_ORIGINAL,
235
+                    'success'   => AUI_SUCCESS_COLOR_ORIGINAL,
236
+                    'light'     => AUI_LIGHT_COLOR_ORIGINAL,
237
+                    'dark'      => AUI_DARK_COLOR_ORIGINAL,
238
+                    'white'     => AUI_WHITE_COLOR_ORIGINAL,
239
+                    'purple'    => AUI_PURPLE_COLOR_ORIGINAL,
240
+                    'salmon'    => AUI_SALMON_COLOR_ORIGINAL,
241
+                    'cyan'      => AUI_CYAN_COLOR_ORIGINAL,
242
+                    'gray'      => AUI_GRAY_COLOR_ORIGINAL,
243
+                    'indigo'    => AUI_INDIGO_COLOR_ORIGINAL,
244
+                    'orange'    => AUI_ORANGE_COLOR_ORIGINAL,
245
+                    'black'     => AUI_BLACK_COLOR_ORIGINAL,
246
+                );
247
+            }
248
+
249
+            return array(
250
+                'primary'   => AUI_PRIMARY_COLOR,
251
+                'secondary' => AUI_SECONDARY_COLOR,
252
+                'info'      => AUI_INFO_COLOR,
253
+                'warning'   => AUI_WARNING_COLOR,
254
+                'danger'    => AUI_DANGER_COLOR,
255
+                'success'   => AUI_SUCCESS_COLOR,
256
+                'light'     => AUI_LIGHT_COLOR,
257
+                'dark'      => AUI_DARK_COLOR,
258
+                'white'     => AUI_WHITE_COLOR,
259
+                'purple'    => AUI_PURPLE_COLOR,
260
+                'salmon'    => AUI_SALMON_COLOR,
261
+                'cyan'      => AUI_CYAN_COLOR,
262
+                'gray'      => AUI_GRAY_COLOR,
263
+                'indigo'    => AUI_INDIGO_COLOR,
264
+                'orange'    => AUI_ORANGE_COLOR,
265
+                'black'     => AUI_BLACK_COLOR,
266
+            );
267
+        }
268
+
269
+        /**
270
+         * Add admin body class to show when BS5 is active.
271
+         *
272
+         * @param $classes
273
+         *
274
+         * @return mixed
275
+         */
276
+        public function add_bs5_admin_body_class( $classes = '' ) {
277
+            $classes .= ' aui_bs5';
278
+
279
+            return $classes;
280
+        }
281
+
282
+        /**
283
+         * Add a body class to show when BS5 is active.
284
+         *
285
+         * @param $classes
286
+         *
287
+         * @return mixed
288
+         */
289
+        public function add_bs5_body_class( $classes ) {
290
+            $classes[] = 'aui_bs5';
291
+
292
+            return $classes;
293
+        }
294
+
295
+        /**
296
+         * Initiate the settings and add the required action hooks.
297
+         */
298
+        public function init() {
299 299
             global $aui_bs5;
300 300
 
301
-			// Maybe fix settings
302
-			if ( ! empty( $_REQUEST['aui-fix-admin'] ) && !empty($_REQUEST['nonce']) && wp_verify_nonce( $_REQUEST['nonce'], "aui-fix-admin" ) ) {
303
-				$db_settings = get_option( 'ayecode-ui-settings' );
304
-				if ( ! empty( $db_settings ) ) {
305
-					$db_settings['css_backend'] = 'compatibility';
306
-					$db_settings['js_backend'] = 'core-popper';
307
-					update_option( 'ayecode-ui-settings', $db_settings );
308
-					wp_safe_redirect(admin_url("options-general.php?page=ayecode-ui-settings&updated=true"));
309
-				}
310
-			}
301
+            // Maybe fix settings
302
+            if ( ! empty( $_REQUEST['aui-fix-admin'] ) && !empty($_REQUEST['nonce']) && wp_verify_nonce( $_REQUEST['nonce'], "aui-fix-admin" ) ) {
303
+                $db_settings = get_option( 'ayecode-ui-settings' );
304
+                if ( ! empty( $db_settings ) ) {
305
+                    $db_settings['css_backend'] = 'compatibility';
306
+                    $db_settings['js_backend'] = 'core-popper';
307
+                    update_option( 'ayecode-ui-settings', $db_settings );
308
+                    wp_safe_redirect(admin_url("options-general.php?page=ayecode-ui-settings&updated=true"));
309
+                }
310
+            }
311 311
 
312
-			$this->constants();
313
-			$this->settings = $this->get_settings();
314
-			$this->url = $this->get_url();
312
+            $this->constants();
313
+            $this->settings = $this->get_settings();
314
+            $this->url = $this->get_url();
315 315
 
316 316
             // define the version
317
-			$aui_bs5 = $this->settings['bs_ver'] === '5';
318
-
319
-			if ( $aui_bs5 ) {
320
-				include_once( dirname( __FILE__ ) . '/inc/bs-conversion.php' );
321
-				add_filter( 'admin_body_class', array( $this, 'add_bs5_admin_body_class' ), 99, 1 );
322
-				add_filter( 'body_class', array( $this, 'add_bs5_body_class' ) );
323
-			}
324
-
325
-			/**
326
-			 * Maybe load CSS
327
-			 *
328
-			 * We load super early in case there is a theme version that might change the colors
329
-			 */
330
-			if ( $this->settings['css'] ) {
331
-				$priority = $this->is_bs3_compat() ? 100 : 1;
317
+            $aui_bs5 = $this->settings['bs_ver'] === '5';
318
+
319
+            if ( $aui_bs5 ) {
320
+                include_once( dirname( __FILE__ ) . '/inc/bs-conversion.php' );
321
+                add_filter( 'admin_body_class', array( $this, 'add_bs5_admin_body_class' ), 99, 1 );
322
+                add_filter( 'body_class', array( $this, 'add_bs5_body_class' ) );
323
+            }
324
+
325
+            /**
326
+             * Maybe load CSS
327
+             *
328
+             * We load super early in case there is a theme version that might change the colors
329
+             */
330
+            if ( $this->settings['css'] ) {
331
+                $priority = $this->is_bs3_compat() ? 100 : 1;
332 332
                 $priority = $aui_bs5 ? 10 : $priority;
333
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), $priority );
334
-			}
335
-			if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) {
336
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
337
-			}
338
-
339
-			// maybe load JS
340
-			if ( $this->settings['js'] ) {
341
-				$priority = $this->is_bs3_compat() ? 100 : 1;
342
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority );
343
-			}
344
-			if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) {
345
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 );
346
-			}
347
-
348
-			// Maybe set the HTML font size
349
-			if ( $this->settings['html_font_size'] ) {
350
-				add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 );
351
-			}
352
-
353
-			// Maybe show backend style error
354
-			if( $this->settings['css_backend'] != 'compatibility' || $this->settings['js_backend'] != 'core-popper' ){
355
-				add_action( 'admin_notices', array( $this, 'show_admin_style_notice' ) );
356
-			}
357
-
358
-		}
359
-
360
-		/**
361
-		 * Show admin notice if backend scripts not loaded.
362
-		 */
363
-		public function show_admin_style_notice(){
364
-			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings&aui-fix-admin=true&nonce=".wp_create_nonce('aui-fix-admin'));
365
-			$button = '<a href="'.esc_url($fix_url).'" class="button-primary">Fix Now</a>';
366
-			$message = __( '<b>Style Issue:</b> AyeCode UI is disable or set wrong.')." " .$button;
367
-			echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
368
-		}
369
-
370
-		/**
371
-		 * Check if we should load the admin scripts or not.
372
-		 *
373
-		 * @return bool
374
-		 */
375
-		public function load_admin_scripts(){
376
-			$result = true;
377
-
378
-			// check if specifically disabled
379
-			if(!empty($this->settings['disable_admin'])){
380
-				$url_parts = explode("\n",$this->settings['disable_admin']);
381
-				foreach($url_parts as $part){
382
-					if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){
383
-						return false; // return early, no point checking further
384
-					}
385
-				}
386
-			}
387
-
388
-			return $result;
389
-		}
390
-
391
-		/**
392
-		 * Add a html font size to the footer.
393
-		 */
394
-		public function html_font_size(){
395
-			$this->settings = $this->get_settings();
396
-			echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>";
397
-		}
398
-
399
-		/**
400
-		 * Check if the current admin screen should load scripts.
401
-		 *
402
-		 * @return bool
403
-		 */
404
-		public function is_aui_screen(){
333
+                add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), $priority );
334
+            }
335
+            if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) {
336
+                add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
337
+            }
338
+
339
+            // maybe load JS
340
+            if ( $this->settings['js'] ) {
341
+                $priority = $this->is_bs3_compat() ? 100 : 1;
342
+                add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority );
343
+            }
344
+            if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) {
345
+                add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 );
346
+            }
347
+
348
+            // Maybe set the HTML font size
349
+            if ( $this->settings['html_font_size'] ) {
350
+                add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 );
351
+            }
352
+
353
+            // Maybe show backend style error
354
+            if( $this->settings['css_backend'] != 'compatibility' || $this->settings['js_backend'] != 'core-popper' ){
355
+                add_action( 'admin_notices', array( $this, 'show_admin_style_notice' ) );
356
+            }
357
+
358
+        }
359
+
360
+        /**
361
+         * Show admin notice if backend scripts not loaded.
362
+         */
363
+        public function show_admin_style_notice(){
364
+            $fix_url = admin_url("options-general.php?page=ayecode-ui-settings&aui-fix-admin=true&nonce=".wp_create_nonce('aui-fix-admin'));
365
+            $button = '<a href="'.esc_url($fix_url).'" class="button-primary">Fix Now</a>';
366
+            $message = __( '<b>Style Issue:</b> AyeCode UI is disable or set wrong.')." " .$button;
367
+            echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
368
+        }
369
+
370
+        /**
371
+         * Check if we should load the admin scripts or not.
372
+         *
373
+         * @return bool
374
+         */
375
+        public function load_admin_scripts(){
376
+            $result = true;
377
+
378
+            // check if specifically disabled
379
+            if(!empty($this->settings['disable_admin'])){
380
+                $url_parts = explode("\n",$this->settings['disable_admin']);
381
+                foreach($url_parts as $part){
382
+                    if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){
383
+                        return false; // return early, no point checking further
384
+                    }
385
+                }
386
+            }
387
+
388
+            return $result;
389
+        }
390
+
391
+        /**
392
+         * Add a html font size to the footer.
393
+         */
394
+        public function html_font_size(){
395
+            $this->settings = $this->get_settings();
396
+            echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>";
397
+        }
398
+
399
+        /**
400
+         * Check if the current admin screen should load scripts.
401
+         *
402
+         * @return bool
403
+         */
404
+        public function is_aui_screen(){
405 405
 //			echo '###';exit;
406
-			$load = false;
407
-			// check if we should load or not
408
-			if ( is_admin() ) {
409
-				// Only enable on set pages
410
-				$aui_screens = array(
411
-					'page',
406
+            $load = false;
407
+            // check if we should load or not
408
+            if ( is_admin() ) {
409
+                // Only enable on set pages
410
+                $aui_screens = array(
411
+                    'page',
412 412
                     //'docs',
413
-					'post',
414
-					'settings_page_ayecode-ui-settings',
415
-					'appearance_page_gutenberg-widgets',
416
-					'widgets',
417
-					'ayecode-ui-settings',
418
-					'site-editor'
419
-				);
420
-				$screen_ids = apply_filters( 'aui_screen_ids', $aui_screens );
413
+                    'post',
414
+                    'settings_page_ayecode-ui-settings',
415
+                    'appearance_page_gutenberg-widgets',
416
+                    'widgets',
417
+                    'ayecode-ui-settings',
418
+                    'site-editor'
419
+                );
420
+                $screen_ids = apply_filters( 'aui_screen_ids', $aui_screens );
421 421
 
422
-				$screen = get_current_screen();
422
+                $screen = get_current_screen();
423 423
 
424 424
 //				echo '###'.$screen->id;
425 425
 
426
-				// check if we are on a AUI screen
427
-				if ( $screen && in_array( $screen->id, $screen_ids ) ) {
428
-					$load = true;
429
-				}
426
+                // check if we are on a AUI screen
427
+                if ( $screen && in_array( $screen->id, $screen_ids ) ) {
428
+                    $load = true;
429
+                }
430 430
 
431
-				//load for widget previews in WP 5.8
432
-				if( !empty($_REQUEST['legacy-widget-preview'])){
433
-					$load = true;
434
-				}
435
-			}
431
+                //load for widget previews in WP 5.8
432
+                if( !empty($_REQUEST['legacy-widget-preview'])){
433
+                    $load = true;
434
+                }
435
+            }
436 436
 
437 437
 
438 438
 
439
-			return apply_filters( 'aui_load_on_admin' , $load );
440
-		}
439
+            return apply_filters( 'aui_load_on_admin' , $load );
440
+        }
441 441
 
442
-		/**
443
-		 * Check if the current theme is a block theme.
444
-		 *
445
-		 * @return bool
446
-		 */
447
-		public static function is_block_theme() {
448
-			if ( function_exists( 'wp_is_block_theme' && wp_is_block_theme() ) ) {
449
-				return true;
450
-			}
442
+        /**
443
+         * Check if the current theme is a block theme.
444
+         *
445
+         * @return bool
446
+         */
447
+        public static function is_block_theme() {
448
+            if ( function_exists( 'wp_is_block_theme' && wp_is_block_theme() ) ) {
449
+                return true;
450
+            }
451 451
 
452
-			return false;
453
-		}
452
+            return false;
453
+        }
454 454
 
455
-		/**
456
-		 * Adds the styles.
457
-		 */
458
-		public function enqueue_style() {
455
+        /**
456
+         * Adds the styles.
457
+         */
458
+        public function enqueue_style() {
459 459
             global $aui_bs5;
460 460
 
461 461
             $load_fse = false;
462 462
 
463
-			if ( is_admin() && ! $this->is_aui_screen() ) {
464
-				// Don't add wp-admin scripts if not requested to.
465
-			} else {
466
-				$css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
467
-				$rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
463
+            if ( is_admin() && ! $this->is_aui_screen() ) {
464
+                // Don't add wp-admin scripts if not requested to.
465
+            } else {
466
+                $css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
467
+                $rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
468 468
                 $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
469 469
 
470
-				if ( $this->settings[ $css_setting ] ) {
471
-					$compatibility = $this->settings[$css_setting]=='core' ? false : true;
472
-					$url = $this->settings[$css_setting]=='core' ? $this->url.'assets'.$bs_ver.'/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets'.$bs_ver.'/css/ayecode-ui-compatibility'.$rtl.'.css';
470
+                if ( $this->settings[ $css_setting ] ) {
471
+                    $compatibility = $this->settings[$css_setting]=='core' ? false : true;
472
+                    $url = $this->settings[$css_setting]=='core' ? $this->url.'assets'.$bs_ver.'/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets'.$bs_ver.'/css/ayecode-ui-compatibility'.$rtl.'.css';
473 473
 
474
-					wp_register_style( 'ayecode-ui', $url, array(), $this->version );
475
-					wp_enqueue_style( 'ayecode-ui' );
474
+                    wp_register_style( 'ayecode-ui', $url, array(), $this->version );
475
+                    wp_enqueue_style( 'ayecode-ui' );
476 476
 
477
-					if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
478
-						$url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
479
-						wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
480
-						wp_enqueue_style( 'ayecode-ui-fse' );
481
-						$load_fse = true;
482
-					}
477
+                    if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
478
+                        $url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
479
+                        wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
480
+                        wp_enqueue_style( 'ayecode-ui-fse' );
481
+                        $load_fse = true;
482
+                    }
483 483
 
484
-					// flatpickr
485
-					wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
484
+                    // flatpickr
485
+                    wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
486 486
 
487
-					// fix some wp-admin issues
488
-					if(is_admin()){
489
-						$custom_css = "
487
+                    // fix some wp-admin issues
488
+                    if(is_admin()){
489
+                        $custom_css = "
490 490
                 body{
491 491
                     background-color: #f1f1f1;
492 492
                     font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;
@@ -526,63 +526,63 @@  discard block
 block discarded – undo
526 526
 				}
527 527
                 ";
528 528
 
529
-						// @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
530
-						$custom_css .= "
529
+                        // @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
530
+                        $custom_css .= "
531 531
 						.edit-post-sidebar input[type=color].components-text-control__input{
532 532
 						    padding: 0;
533 533
 						}
534 534
 					";
535
-						wp_add_inline_style( 'ayecode-ui', $custom_css );
536
-					}
537
-
538
-					// custom changes
539
-					if ( $load_fse ) {
540
-						wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility, true) );
541
-					}else{
542
-						wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
543
-					}
544
-				}
545
-			}
546
-		}
547
-
548
-		/**
549
-		 * Get inline script used if bootstrap enqueued
550
-		 *
551
-		 * If this remains small then its best to use this than to add another JS file.
552
-		 */
553
-		public function inline_script() {
554
-            global $aui_bs5;
555
-			// Flatpickr calendar locale
556
-			$flatpickr_locale = self::flatpickr_locale();
535
+                        wp_add_inline_style( 'ayecode-ui', $custom_css );
536
+                    }
557 537
 
558
-			ob_start();
559
-			if ( $aui_bs5 ) {
560
-				include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
561
-			}else{
562
-				include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
538
+                    // custom changes
539
+                    if ( $load_fse ) {
540
+                        wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility, true) );
541
+                    }else{
542
+                        wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
543
+                    }
544
+                }
545
+            }
546
+        }
547
+
548
+        /**
549
+         * Get inline script used if bootstrap enqueued
550
+         *
551
+         * If this remains small then its best to use this than to add another JS file.
552
+         */
553
+        public function inline_script() {
554
+            global $aui_bs5;
555
+            // Flatpickr calendar locale
556
+            $flatpickr_locale = self::flatpickr_locale();
557
+
558
+            ob_start();
559
+            if ( $aui_bs5 ) {
560
+                include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
561
+            }else{
562
+                include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
563 563
             }
564 564
 
565
-			$output = ob_get_clean();
565
+            $output = ob_get_clean();
566 566
 
567
-			/*
567
+            /*
568 568
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
569 569
 			 */
570
-			return str_replace( array(
571
-				'<script>',
572
-				'</script>'
573
-			), '', self::minify_js($output) );
574
-		}
575
-
576
-
577
-		/**
578
-		 * JS to help with conflict issues with other plugins and themes using bootstrap v3.
579
-		 *
580
-		 * @TODO we may need this when other conflicts arrise.
581
-		 * @return mixed
582
-		 */
583
-		public static function bs3_compat_js() {
584
-			ob_start();
585
-			?>
570
+            return str_replace( array(
571
+                '<script>',
572
+                '</script>'
573
+            ), '', self::minify_js($output) );
574
+        }
575
+
576
+
577
+        /**
578
+         * JS to help with conflict issues with other plugins and themes using bootstrap v3.
579
+         *
580
+         * @TODO we may need this when other conflicts arrise.
581
+         * @return mixed
582
+         */
583
+        public static function bs3_compat_js() {
584
+            ob_start();
585
+            ?>
586 586
             <script>
587 587
 				<?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
588 588
                 /* With Avada builder */
@@ -590,20 +590,20 @@  discard block
 block discarded – undo
590 590
 				<?php } ?>
591 591
             </script>
592 592
 			<?php
593
-			return str_replace( array(
594
-				'<script>',
595
-				'</script>'
596
-			), '', ob_get_clean());
597
-		}
598
-
599
-		/**
600
-		 * Get inline script used if bootstrap file browser enqueued.
601
-		 *
602
-		 * If this remains small then its best to use this than to add another JS file.
603
-		 */
604
-		public function inline_script_file_browser(){
605
-			ob_start();
606
-			?>
593
+            return str_replace( array(
594
+                '<script>',
595
+                '</script>'
596
+            ), '', ob_get_clean());
597
+        }
598
+
599
+        /**
600
+         * Get inline script used if bootstrap file browser enqueued.
601
+         *
602
+         * If this remains small then its best to use this than to add another JS file.
603
+         */
604
+        public function inline_script_file_browser(){
605
+            ob_start();
606
+            ?>
607 607
             <script>
608 608
                 // run on doc ready
609 609
                 jQuery(document).ready(function () {
@@ -611,127 +611,127 @@  discard block
 block discarded – undo
611 611
                 });
612 612
             </script>
613 613
 			<?php
614
-			$output = ob_get_clean();
614
+            $output = ob_get_clean();
615 615
 
616
-			/*
616
+            /*
617 617
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
618 618
 			 */
619
-			return str_replace( array(
620
-				'<script>',
621
-				'</script>'
622
-			), '', $output );
623
-		}
624
-
625
-		/**
626
-		 * Adds the Font Awesome JS.
627
-		 */
628
-		public function enqueue_scripts() {
629
-			if( is_admin() && !$this->is_aui_screen()){
630
-				// Don't add wp-admin scripts if not requested to.
631
-			} else {
632
-				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
633
-
634
-				$bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
635
-
636
-				// select2
637
-				wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
638
-
639
-				// flatpickr
640
-				wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
641
-
642
-				// iconpicker
643
-				if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
644
-					wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
645
-				}else{
646
-					wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
647
-				}
619
+            return str_replace( array(
620
+                '<script>',
621
+                '</script>'
622
+            ), '', $output );
623
+        }
648 624
 
649
-				// Bootstrap file browser
650
-				wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
651
-				wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
625
+        /**
626
+         * Adds the Font Awesome JS.
627
+         */
628
+        public function enqueue_scripts() {
629
+            if( is_admin() && !$this->is_aui_screen()){
630
+                // Don't add wp-admin scripts if not requested to.
631
+            } else {
632
+                $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
652 633
 
653
-				$load_inline = false;
634
+                $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
654 635
 
655
-				// Load select2 only when required.
656
-				if ( $this->force_load_select2() ) {
657
-					$dependency = array( 'select2', 'jquery' );
658
-				} else {
659
-					$dependency = array( 'jquery' );
660
-				}
636
+                // select2
637
+                wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
661 638
 
662
-				if ( $this->settings[ $js_setting ] == 'core-popper' ) {
663
-					// Bootstrap bundle
664
-					$url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
665
-					wp_register_script( 'bootstrap-js-bundle', $url, $dependency, $this->version, $this->is_bs3_compat() );
666
-
667
-					// If in admin then add to footer for compatibility.
668
-					is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
669
-
670
-					$script = $this->inline_script();
671
-					wp_add_inline_script( 'bootstrap-js-bundle', $script );
672
-				} elseif ( $this->settings[ $js_setting ] == 'popper' ) {
673
-					$url = $this->url . 'assets/js/popper.min.js'; // @todo we need to update this to bs5
674
-					wp_register_script( 'bootstrap-js-popper', $url, $dependency, $this->version );
675
-					wp_enqueue_script( 'bootstrap-js-popper' );
676
-					$load_inline = true;
677
-				} else {
678
-					$load_inline = true;
679
-				}
639
+                // flatpickr
640
+                wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
641
+
642
+                // iconpicker
643
+                if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
644
+                    wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
645
+                }else{
646
+                    wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
647
+                }
680 648
 
681
-				// Load needed inline scripts by faking the loading of a script if the main script is not being loaded
682
-				if ( $load_inline ) {
683
-					wp_register_script( 'bootstrap-dummy', '', $dependency );
684
-					wp_enqueue_script( 'bootstrap-dummy' );
649
+                // Bootstrap file browser
650
+                wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
651
+                wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
685 652
 
686
-					$script = $this->inline_script();
687
-					wp_add_inline_script( 'bootstrap-dummy', $script );
688
-				}
689
-			}
690
-		}
691
-
692
-		/**
693
-		 * Enqueue select2 if called.
694
-		 *
695
-		 * @since 0.2.29
696
-		 */
697
-		public function force_load_select2() {
698
-			global $aui_select2_enqueued;
699
-
700
-			$conditional_select2 = apply_filters( 'aui_is_conditional_select2', true );
701
-
702
-			if ( $conditional_select2 !== true ) {
703
-				return true;
704
-			}
705
-
706
-			$load = is_admin() && ! $aui_select2_enqueued;
707
-
708
-			return apply_filters( 'aui_force_load_select2', $load );
709
-		}
710
-
711
-		/**
712
-		 * Enqueue select2 if called.
713
-		 *
714
-		 * @since 0.2.29
715
-		 */
716
-		public function enqueue_select2() {
717
-			wp_enqueue_script( 'select2' );
718
-		}
719
-
720
-		/**
721
-		 * Enqueue flatpickr if called.
722
-		 */
723
-		public function enqueue_flatpickr(){
724
-			wp_enqueue_style( 'flatpickr' );
725
-			wp_enqueue_script( 'flatpickr' );
726
-		}
727
-
728
-		/**
729
-		 * Enqueue iconpicker if called.
730
-		 */
731
-		public function enqueue_iconpicker(){
732
-			wp_enqueue_style( 'iconpicker' );
733
-			wp_enqueue_script( 'iconpicker' );
734
-		}
653
+                $load_inline = false;
654
+
655
+                // Load select2 only when required.
656
+                if ( $this->force_load_select2() ) {
657
+                    $dependency = array( 'select2', 'jquery' );
658
+                } else {
659
+                    $dependency = array( 'jquery' );
660
+                }
661
+
662
+                if ( $this->settings[ $js_setting ] == 'core-popper' ) {
663
+                    // Bootstrap bundle
664
+                    $url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
665
+                    wp_register_script( 'bootstrap-js-bundle', $url, $dependency, $this->version, $this->is_bs3_compat() );
666
+
667
+                    // If in admin then add to footer for compatibility.
668
+                    is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
669
+
670
+                    $script = $this->inline_script();
671
+                    wp_add_inline_script( 'bootstrap-js-bundle', $script );
672
+                } elseif ( $this->settings[ $js_setting ] == 'popper' ) {
673
+                    $url = $this->url . 'assets/js/popper.min.js'; // @todo we need to update this to bs5
674
+                    wp_register_script( 'bootstrap-js-popper', $url, $dependency, $this->version );
675
+                    wp_enqueue_script( 'bootstrap-js-popper' );
676
+                    $load_inline = true;
677
+                } else {
678
+                    $load_inline = true;
679
+                }
680
+
681
+                // Load needed inline scripts by faking the loading of a script if the main script is not being loaded
682
+                if ( $load_inline ) {
683
+                    wp_register_script( 'bootstrap-dummy', '', $dependency );
684
+                    wp_enqueue_script( 'bootstrap-dummy' );
685
+
686
+                    $script = $this->inline_script();
687
+                    wp_add_inline_script( 'bootstrap-dummy', $script );
688
+                }
689
+            }
690
+        }
691
+
692
+        /**
693
+         * Enqueue select2 if called.
694
+         *
695
+         * @since 0.2.29
696
+         */
697
+        public function force_load_select2() {
698
+            global $aui_select2_enqueued;
699
+
700
+            $conditional_select2 = apply_filters( 'aui_is_conditional_select2', true );
701
+
702
+            if ( $conditional_select2 !== true ) {
703
+                return true;
704
+            }
705
+
706
+            $load = is_admin() && ! $aui_select2_enqueued;
707
+
708
+            return apply_filters( 'aui_force_load_select2', $load );
709
+        }
710
+
711
+        /**
712
+         * Enqueue select2 if called.
713
+         *
714
+         * @since 0.2.29
715
+         */
716
+        public function enqueue_select2() {
717
+            wp_enqueue_script( 'select2' );
718
+        }
719
+
720
+        /**
721
+         * Enqueue flatpickr if called.
722
+         */
723
+        public function enqueue_flatpickr(){
724
+            wp_enqueue_style( 'flatpickr' );
725
+            wp_enqueue_script( 'flatpickr' );
726
+        }
727
+
728
+        /**
729
+         * Enqueue iconpicker if called.
730
+         */
731
+        public function enqueue_iconpicker(){
732
+            wp_enqueue_style( 'iconpicker' );
733
+            wp_enqueue_script( 'iconpicker' );
734
+        }
735 735
 
736 736
         /**
737 737
          * Get the url path to the current folder.
@@ -763,171 +763,171 @@  discard block
 block discarded – undo
763 763
             return trailingslashit($url);
764 764
         }
765 765
 
766
-		/**
767
-		 * Get the url path to the current folder.
768
-		 * @todo remove
769
-		 * @return string
770
-		 */
771
-		public function get_url_old() {
772
-
773
-			$url = '';
774
-			// check if we are inside a plugin
775
-			$file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
776
-
777
-			// add check in-case user has changed wp-content dir name.
778
-			$wp_content_folder_name = basename(WP_CONTENT_DIR);
779
-			$dir_parts = explode("/$wp_content_folder_name/",$file_dir);
780
-			$url_parts = explode("/$wp_content_folder_name/",plugins_url());
781
-
782
-			if(!empty($url_parts[0]) && !empty($dir_parts[1])){
783
-				$url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
784
-			}
785
-
786
-			return $url;
787
-		}
788
-
789
-		/**
790
-		 * Register the database settings with WordPress.
791
-		 */
792
-		public function register_settings() {
793
-			register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
794
-		}
795
-
796
-		/**
797
-		 * Add the WordPress settings menu item.
798
-		 * @since 1.0.10 Calling function name direct will fail theme check so we don't.
799
-		 */
800
-		public function menu_item() {
801
-			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
802
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
803
-				$this,
804
-				'settings_page'
805
-			) );
806
-		}
807
-
808
-		/**
809
-		 * Get a list of themes and their default JS settings.
810
-		 *
811
-		 * @return array
812
-		 */
813
-		public function theme_js_settings(){
814
-			return array(
815
-				'ayetheme' => 'popper',
816
-				'listimia' => 'required',
817
-				'listimia_backend' => 'core-popper',
818
-				//'avada'    => 'required', // removed as we now add compatibility
819
-			);
820
-		}
821
-
822
-		/**
766
+        /**
767
+         * Get the url path to the current folder.
768
+         * @todo remove
769
+         * @return string
770
+         */
771
+        public function get_url_old() {
772
+
773
+            $url = '';
774
+            // check if we are inside a plugin
775
+            $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
776
+
777
+            // add check in-case user has changed wp-content dir name.
778
+            $wp_content_folder_name = basename(WP_CONTENT_DIR);
779
+            $dir_parts = explode("/$wp_content_folder_name/",$file_dir);
780
+            $url_parts = explode("/$wp_content_folder_name/",plugins_url());
781
+
782
+            if(!empty($url_parts[0]) && !empty($dir_parts[1])){
783
+                $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
784
+            }
785
+
786
+            return $url;
787
+        }
788
+
789
+        /**
790
+         * Register the database settings with WordPress.
791
+         */
792
+        public function register_settings() {
793
+            register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
794
+        }
795
+
796
+        /**
797
+         * Add the WordPress settings menu item.
798
+         * @since 1.0.10 Calling function name direct will fail theme check so we don't.
799
+         */
800
+        public function menu_item() {
801
+            $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
802
+            call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
803
+                $this,
804
+                'settings_page'
805
+            ) );
806
+        }
807
+
808
+        /**
809
+         * Get a list of themes and their default JS settings.
810
+         *
811
+         * @return array
812
+         */
813
+        public function theme_js_settings(){
814
+            return array(
815
+                'ayetheme' => 'popper',
816
+                'listimia' => 'required',
817
+                'listimia_backend' => 'core-popper',
818
+                //'avada'    => 'required', // removed as we now add compatibility
819
+            );
820
+        }
821
+
822
+        /**
823 823
          * Get the date the site was installed.
824 824
          *
825
-		 * @return false|string
826
-		 */
825
+         * @return false|string
826
+         */
827 827
         public function get_site_install_date() {
828
-	        global $wpdb; // This gives you access to the WordPress database object
828
+            global $wpdb; // This gives you access to the WordPress database object
829 829
 
830
-	        // Prepare the SQL query to get the oldest registration date
831
-	        $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}";
830
+            // Prepare the SQL query to get the oldest registration date
831
+            $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}";
832 832
 
833
-	        // Execute the query
834
-	        $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
833
+            // Execute the query
834
+            $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
835 835
 
836
-	        return $date ? $date : false;
836
+            return $date ? $date : false;
837 837
         }
838 838
 
839
-		/**
840
-		 * Show admin notice if backend scripts not loaded.
841
-		 */
842
-		public function show_admin_version_notice(){
843
-			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings" );
844
-			$button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>';
845
-			$message = __( '<b>Style Issue:</b> AyeCode UI has changed its default version from v4 to v5, if you notice unwanted style changes, please revert to v4 (saving the settings page will remove this notice)')." " .$button;
846
-			echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
847
-		}
848
-
849
-		/**
850
-		 * Get the current Font Awesome output settings.
851
-		 *
852
-		 * @return array The array of settings.
853
-		 */
854
-		public function get_settings() {
855
-
856
-			$db_settings = get_option( 'ayecode-ui-settings' );
839
+        /**
840
+         * Show admin notice if backend scripts not loaded.
841
+         */
842
+        public function show_admin_version_notice(){
843
+            $fix_url = admin_url("options-general.php?page=ayecode-ui-settings" );
844
+            $button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>';
845
+            $message = __( '<b>Style Issue:</b> AyeCode UI has changed its default version from v4 to v5, if you notice unwanted style changes, please revert to v4 (saving the settings page will remove this notice)')." " .$button;
846
+            echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
847
+        }
848
+
849
+        /**
850
+         * Get the current Font Awesome output settings.
851
+         *
852
+         * @return array The array of settings.
853
+         */
854
+        public function get_settings() {
855
+
856
+            $db_settings = get_option( 'ayecode-ui-settings' );
857 857
 
858 858
             // Maybe show default version notice
859
-			$site_install_date = new DateTime( self::get_site_install_date() );
860
-			$switch_over_date = new DateTime("2024-02-01");
861
-			if ( empty( $db_settings ) && $site_install_date < $switch_over_date ) {
862
-				add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) );
863
-			}
864
-
865
-			$js_default = 'core-popper';
866
-			$js_default_backend = $js_default;
867
-
868
-			// maybe set defaults (if no settings set)
869
-			if(empty($db_settings)){
870
-				$active_theme = strtolower( get_template() ); // active parent theme.
871
-				$theme_js_settings = self::theme_js_settings();
872
-				if(isset($theme_js_settings[$active_theme])){
873
-					$js_default = $theme_js_settings[$active_theme];
874
-					$js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
875
-				}
876
-			}
859
+            $site_install_date = new DateTime( self::get_site_install_date() );
860
+            $switch_over_date = new DateTime("2024-02-01");
861
+            if ( empty( $db_settings ) && $site_install_date < $switch_over_date ) {
862
+                add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) );
863
+            }
877 864
 
878
-			/**
879
-			 * Filter the default settings.
880
-			 */
881
-			$defaults = apply_filters( 'ayecode-ui-default-settings', array(
882
-				'css'            => 'compatibility', // core, compatibility
883
-				'js'             => $js_default, // js to load, core-popper, popper
884
-				'html_font_size' => '16', // js to load, core-popper, popper
885
-				'css_backend'    => 'compatibility', // core, compatibility
886
-				'js_backend'     => $js_default_backend, // js to load, core-popper, popper
887
-				'disable_admin'  => '', // URL snippets to disable loading on admin
865
+            $js_default = 'core-popper';
866
+            $js_default_backend = $js_default;
867
+
868
+            // maybe set defaults (if no settings set)
869
+            if(empty($db_settings)){
870
+                $active_theme = strtolower( get_template() ); // active parent theme.
871
+                $theme_js_settings = self::theme_js_settings();
872
+                if(isset($theme_js_settings[$active_theme])){
873
+                    $js_default = $theme_js_settings[$active_theme];
874
+                    $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
875
+                }
876
+            }
877
+
878
+            /**
879
+             * Filter the default settings.
880
+             */
881
+            $defaults = apply_filters( 'ayecode-ui-default-settings', array(
882
+                'css'            => 'compatibility', // core, compatibility
883
+                'js'             => $js_default, // js to load, core-popper, popper
884
+                'html_font_size' => '16', // js to load, core-popper, popper
885
+                'css_backend'    => 'compatibility', // core, compatibility
886
+                'js_backend'     => $js_default_backend, // js to load, core-popper, popper
887
+                'disable_admin'  => '', // URL snippets to disable loading on admin
888 888
                 'bs_ver'         => '5', // The default bootstrap version to sue by default
889
-			), $db_settings );
889
+            ), $db_settings );
890 890
 
891
-			$settings = wp_parse_args( $db_settings, $defaults );
891
+            $settings = wp_parse_args( $db_settings, $defaults );
892 892
 
893
-			/**
894
-			 * Filter the Bootstrap settings.
895
-			 *
896
-			 * @todo if we add this filer people might use it and then it defeats the purpose of this class :/
897
-			 */
898
-			return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
899
-		}
893
+            /**
894
+             * Filter the Bootstrap settings.
895
+             *
896
+             * @todo if we add this filer people might use it and then it defeats the purpose of this class :/
897
+             */
898
+            return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
899
+        }
900 900
 
901 901
 
902
-		/**
903
-		 * The settings page html output.
904
-		 */
905
-		public function settings_page() {
906
-			if ( ! current_user_can( 'manage_options' ) ) {
907
-				wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) );
908
-			}
902
+        /**
903
+         * The settings page html output.
904
+         */
905
+        public function settings_page() {
906
+            if ( ! current_user_can( 'manage_options' ) ) {
907
+                wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) );
908
+            }
909 909
             $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() );
910 910
 
911
-			?>
911
+            ?>
912 912
             <div class="wrap">
913 913
                 <h1><?php echo esc_attr( $this->name ); ?></h1>
914 914
                 <p><?php echo esc_html( apply_filters( 'ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.", 'ayecode-connect' ) ) );?></p>
915 915
                 <form method="post" action="options.php">
916 916
 					<?php
917
-					settings_fields( 'ayecode-ui-settings' );
918
-					do_settings_sections( 'ayecode-ui-settings' );
919
-					?>
917
+                    settings_fields( 'ayecode-ui-settings' );
918
+                    do_settings_sections( 'ayecode-ui-settings' );
919
+                    ?>
920 920
 
921 921
                     <h2><?php esc_html_e( 'BootStrap Version', 'ayecode-connect' ); ?></h2>
922 922
                     <p><?php echo esc_html( apply_filters( 'ayecode-ui-version-settings-message', __("V5 is recommended, however if you have another plugin installed using v4, you may need to use v4 also.", 'ayecode-connect' ) ) );?></p>
923 923
 	                <div class="bsui"><?php
924
-	                if ( ! empty( $overrides ) ) {
925
-		                echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
926
-			                'type'=> 'info',
927
-			                'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' )
928
-		                ));
929
-	                }
930
-	                ?>
924
+                    if ( ! empty( $overrides ) ) {
925
+                        echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
926
+                            'type'=> 'info',
927
+                            'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' )
928
+                        ));
929
+                    }
930
+                    ?>
931 931
                     </div>
932 932
                     <table class="form-table wpbs-table-version-settings">
933 933
                         <tr valign="top">
@@ -1011,77 +1011,77 @@  discard block
 block discarded – undo
1011 1011
                     </table>
1012 1012
 
1013 1013
 					<?php
1014
-					submit_button();
1015
-					?>
1014
+                    submit_button();
1015
+                    ?>
1016 1016
                 </form>
1017 1017
                 <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo esc_html( $this->version ); ?></div>
1018 1018
             </div>
1019 1019
 			<?php
1020
-		}
1020
+        }
1021 1021
 
1022 1022
         public function get_load_source(){
1023
-	        $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
1024
-	        $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
1025
-
1026
-	        // Find source plugin/theme of SD
1027
-	        $source = array();
1028
-	        if ( strpos( $file, $plugins_dir ) !== false ) {
1029
-		        $source = explode( "/", plugin_basename( $file ) );
1030
-	        } else if ( function_exists( 'get_theme_root' ) ) {
1031
-		        $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
1032
-
1033
-		        if ( strpos( $file, $themes_dir ) !== false ) {
1034
-			        $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
1035
-		        }
1036
-	        }
1023
+            $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
1024
+            $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
1025
+
1026
+            // Find source plugin/theme of SD
1027
+            $source = array();
1028
+            if ( strpos( $file, $plugins_dir ) !== false ) {
1029
+                $source = explode( "/", plugin_basename( $file ) );
1030
+            } else if ( function_exists( 'get_theme_root' ) ) {
1031
+                $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
1032
+
1033
+                if ( strpos( $file, $themes_dir ) !== false ) {
1034
+                    $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
1035
+                }
1036
+            }
1037 1037
 
1038 1038
             return isset($source[0]) ? esc_attr($source[0]) : '';
1039 1039
         }
1040 1040
 
1041
-		public function customizer_settings($wp_customize){
1042
-			$wp_customize->add_section('aui_settings', array(
1043
-				'title'    => __('AyeCode UI', 'ayecode-connect' ),
1044
-				'priority' => 120,
1045
-			));
1046
-
1047
-			//  =============================
1048
-			//  = Color Picker              =
1049
-			//  =============================
1050
-			$wp_customize->add_setting('aui_options[color_primary]', array(
1051
-				'default'           => AUI_PRIMARY_COLOR,
1052
-				'sanitize_callback' => 'sanitize_hex_color',
1053
-				'capability'        => 'edit_theme_options',
1054
-				'type'              => 'option',
1055
-				'transport'         => 'refresh',
1056
-			));
1057
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1058
-				'label'    => __('Primary Color', 'ayecode-connect' ),
1059
-				'section'  => 'aui_settings',
1060
-				'settings' => 'aui_options[color_primary]',
1061
-			)));
1062
-
1063
-			$wp_customize->add_setting('aui_options[color_secondary]', array(
1064
-				'default'           => '#6c757d',
1065
-				'sanitize_callback' => 'sanitize_hex_color',
1066
-				'capability'        => 'edit_theme_options',
1067
-				'type'              => 'option',
1068
-				'transport'         => 'refresh',
1069
-			));
1070
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1071
-				'label'    => __('Secondary Color', 'ayecode-connect' ),
1072
-				'section'  => 'aui_settings',
1073
-				'settings' => 'aui_options[color_secondary]',
1074
-			)));
1075
-		}
1076
-
1077
-		/**
1078
-		 * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1079
-		 *
1080
-		 * @return mixed
1081
-		 */
1082
-		public static function bs3_compat_css() {
1083
-			ob_start();
1084
-			?>
1041
+        public function customizer_settings($wp_customize){
1042
+            $wp_customize->add_section('aui_settings', array(
1043
+                'title'    => __('AyeCode UI', 'ayecode-connect' ),
1044
+                'priority' => 120,
1045
+            ));
1046
+
1047
+            //  =============================
1048
+            //  = Color Picker              =
1049
+            //  =============================
1050
+            $wp_customize->add_setting('aui_options[color_primary]', array(
1051
+                'default'           => AUI_PRIMARY_COLOR,
1052
+                'sanitize_callback' => 'sanitize_hex_color',
1053
+                'capability'        => 'edit_theme_options',
1054
+                'type'              => 'option',
1055
+                'transport'         => 'refresh',
1056
+            ));
1057
+            $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1058
+                'label'    => __('Primary Color', 'ayecode-connect' ),
1059
+                'section'  => 'aui_settings',
1060
+                'settings' => 'aui_options[color_primary]',
1061
+            )));
1062
+
1063
+            $wp_customize->add_setting('aui_options[color_secondary]', array(
1064
+                'default'           => '#6c757d',
1065
+                'sanitize_callback' => 'sanitize_hex_color',
1066
+                'capability'        => 'edit_theme_options',
1067
+                'type'              => 'option',
1068
+                'transport'         => 'refresh',
1069
+            ));
1070
+            $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1071
+                'label'    => __('Secondary Color', 'ayecode-connect' ),
1072
+                'section'  => 'aui_settings',
1073
+                'settings' => 'aui_options[color_secondary]',
1074
+            )));
1075
+        }
1076
+
1077
+        /**
1078
+         * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1079
+         *
1080
+         * @return mixed
1081
+         */
1082
+        public static function bs3_compat_css() {
1083
+            ob_start();
1084
+            ?>
1085 1085
             <style>
1086 1086
                 /* Bootstrap 3 compatibility */
1087 1087
                 body.modal-open .modal-backdrop.show:not(.in) {opacity:0.5;}
@@ -1110,368 +1110,368 @@  discard block
 block discarded – undo
1110 1110
                 <?php } ?>
1111 1111
             </style>
1112 1112
 			<?php
1113
-			return str_replace( array(
1114
-				'<style>',
1115
-				'</style>'
1116
-			), '', self::minify_css( ob_get_clean() ) );
1117
-		}
1113
+            return str_replace( array(
1114
+                '<style>',
1115
+                '</style>'
1116
+            ), '', self::minify_css( ob_get_clean() ) );
1117
+        }
1118 1118
 
1119
-		public static function custom_css( $compatibility = true, $is_fse = false ) {
1120
-			global $aui_bs5;
1119
+        public static function custom_css( $compatibility = true, $is_fse = false ) {
1120
+            global $aui_bs5;
1121 1121
 
1122
-			$colors = array();
1122
+            $colors = array();
1123 1123
 
1124
-			if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1125
-				$setting = wp_get_global_settings();
1124
+            if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1125
+                $setting = wp_get_global_settings();
1126 1126
 
1127
-				if ( ! empty( $setting['color']['palette']['theme'] ) ) {
1128
-					foreach ( $setting['color']['palette']['theme'] as $color ) {
1129
-						$colors[$color['slug']] = esc_attr( $color['color'] );
1130
-					}
1131
-				}
1127
+                if ( ! empty( $setting['color']['palette']['theme'] ) ) {
1128
+                    foreach ( $setting['color']['palette']['theme'] as $color ) {
1129
+                        $colors[$color['slug']] = esc_attr( $color['color'] );
1130
+                    }
1131
+                }
1132 1132
 
1133
-				if ( ! empty( $setting['color']['palette']['custom'] ) ) {
1134
-					foreach ( $setting['color']['palette']['custom'] as $color ) {
1135
-						$colors[$color['slug']] = esc_attr( $color['color'] );
1136
-					}
1137
-				}
1138
-			} else {
1139
-				$settings = get_option( 'aui_options' );
1140
-
1141
-				$colors = array(
1142
-					'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1143
-					'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1144
-				);
1145
-			}
1146
-
1147
-			ob_start();
1148
-			?><style><?php
1149
-			// BS v3 compat
1150
-			if( self::is_bs3_compat() ){
1151
-				echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1152
-			}
1153
-
1154
-			//$is_fse = false;
1155
-			//if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
1156
-				//$is_fse = true;
1157
-			//}
1158
-
1159
-			$custom_front = ! is_admin() ? true : apply_filters('ayecode_ui_custom_front', false );
1160
-			$custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false );
1133
+                if ( ! empty( $setting['color']['palette']['custom'] ) ) {
1134
+                    foreach ( $setting['color']['palette']['custom'] as $color ) {
1135
+                        $colors[$color['slug']] = esc_attr( $color['color'] );
1136
+                    }
1137
+                }
1138
+            } else {
1139
+                $settings = get_option( 'aui_options' );
1140
+
1141
+                $colors = array(
1142
+                    'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1143
+                    'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1144
+                );
1145
+            }
1146
+
1147
+            ob_start();
1148
+            ?><style><?php
1149
+            // BS v3 compat
1150
+            if( self::is_bs3_compat() ){
1151
+                echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1152
+            }
1153
+
1154
+            //$is_fse = false;
1155
+            //if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
1156
+                //$is_fse = true;
1157
+            //}
1158
+
1159
+            $custom_front = ! is_admin() ? true : apply_filters('ayecode_ui_custom_front', false );
1160
+            $custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false );
1161 1161
             $bs_custom_css = apply_filters( 'ayecode_ui_bs_custom_css', $custom_admin || $custom_front );
1162
-			//$bs_custom_css = true; // Force true to fix any color issue.
1162
+            //$bs_custom_css = true; // Force true to fix any color issue.
1163 1163
 
1164
-			$colors_css = '';
1165
-			if ( ! empty( $colors ) && $bs_custom_css ) {
1166
-				$d_colors = self::get_colors(true);
1164
+            $colors_css = '';
1165
+            if ( ! empty( $colors ) && $bs_custom_css ) {
1166
+                $d_colors = self::get_colors(true);
1167 1167
 
1168
-				foreach ( $colors as $key => $color ) {
1169
-					if ( ( empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) {
1170
-						$var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1171
-						$compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1168
+                foreach ( $colors as $key => $color ) {
1169
+                    if ( ( empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) {
1170
+                        $var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1171
+                        $compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1172 1172
 
1173
-						$colors_css .= $aui_bs5 ? self::css_overwrite_bs5( $key,$var, $compat, $color ) : self::css_overwrite( $key, $var, $compat, $color );
1174
-					}
1175
-				}
1176
-			}
1173
+                        $colors_css .= $aui_bs5 ? self::css_overwrite_bs5( $key,$var, $compat, $color ) : self::css_overwrite( $key, $var, $compat, $color );
1174
+                    }
1175
+                }
1176
+            }
1177 1177
 
1178
-			if ( $colors_css ) {
1179
-				echo $colors_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1180
-			}
1178
+            if ( $colors_css ) {
1179
+                echo $colors_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1180
+            }
1181 1181
 
1182
-			// Set admin bar z-index lower when modal is open.
1183
-			echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1182
+            // Set admin bar z-index lower when modal is open.
1183
+            echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1184 1184
 
1185
-			if ( is_admin() ) {
1186
-				echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1187
-			}
1185
+            if ( is_admin() ) {
1186
+                echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1187
+            }
1188 1188
 
1189
-			$custom_css = '';
1189
+            $custom_css = '';
1190 1190
 
1191
-			if ( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) && $bs_custom_css ) {
1192
-				$css = '';
1193
-				$theme_settings = wp_get_global_styles();
1191
+            if ( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) && $bs_custom_css ) {
1192
+                $css = '';
1193
+                $theme_settings = wp_get_global_styles();
1194 1194
 
1195
-				// Font face
1196
-				if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1197
-					$t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1198
-					$css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1199
-				}
1195
+                // Font face
1196
+                if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1197
+                    $t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1198
+                    $css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1199
+                }
1200 1200
 
1201
-				// font size
1202
-				if( !empty( $theme_settings['typography']['fontSize'] ) ){
1203
-					$css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;';
1204
-				}
1201
+                // font size
1202
+                if( !empty( $theme_settings['typography']['fontSize'] ) ){
1203
+                    $css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;';
1204
+                }
1205 1205
 
1206
-				// line height
1207
-				 if( !empty( $theme_settings['typography']['lineHeight'] ) ){
1208
-					$css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';';
1209
-				}
1206
+                // line height
1207
+                    if( !empty( $theme_settings['typography']['lineHeight'] ) ){
1208
+                    $css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';';
1209
+                }
1210 1210
 
1211 1211
 
1212
-				   // font weight
1213
-				 if( !empty( $theme_settings['typography']['fontWeight'] ) ){
1214
-					$css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';';
1215
-				}
1212
+                    // font weight
1213
+                    if( !empty( $theme_settings['typography']['fontWeight'] ) ){
1214
+                    $css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';';
1215
+                }
1216 1216
 
1217
-				// Background
1218
-				 if( !empty( $theme_settings['color']['background'] ) ){
1219
-					$css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';';
1220
-				}
1217
+                // Background
1218
+                    if( !empty( $theme_settings['color']['background'] ) ){
1219
+                    $css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';';
1220
+                }
1221 1221
 
1222
-				 // Background Gradient
1223
-				 if( !empty( $theme_settings['color']['gradient'] ) ){
1224
-					$css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1225
-				}
1222
+                    // Background Gradient
1223
+                    if( !empty( $theme_settings['color']['gradient'] ) ){
1224
+                    $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1225
+                }
1226 1226
 
1227
-				   // Background Gradient
1228
-				 if( !empty( $theme_settings['color']['gradient'] ) ){
1229
-					$css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1230
-				}
1227
+                    // Background Gradient
1228
+                    if( !empty( $theme_settings['color']['gradient'] ) ){
1229
+                    $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1230
+                }
1231 1231
 
1232
-				// text color
1233
-				if( !empty( $theme_settings['color']['text'] ) ){
1234
-					$css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';';
1235
-				}
1232
+                // text color
1233
+                if( !empty( $theme_settings['color']['text'] ) ){
1234
+                    $css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';';
1235
+                }
1236 1236
 
1237 1237
 
1238
-				// link colors
1239
-				if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){
1240
-					$css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';';
1241
-				}
1242
-				if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){
1243
-					$css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';';
1244
-				}
1238
+                // link colors
1239
+                if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){
1240
+                    $css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';';
1241
+                }
1242
+                if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){
1243
+                    $css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';';
1244
+                }
1245 1245
 
1246
-				if($css){
1247
-					$custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}';
1248
-				}
1246
+                if($css){
1247
+                    $custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}';
1248
+                }
1249 1249
 
1250
-				$bep = $is_fse ? 'body.editor-styles-wrapper ' : '';
1250
+                $bep = $is_fse ? 'body.editor-styles-wrapper ' : '';
1251 1251
 
1252
-				// Headings
1253
-				$headings_css = '';
1254
-				if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){
1255
-					$headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";";
1256
-				}
1252
+                // Headings
1253
+                $headings_css = '';
1254
+                if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){
1255
+                    $headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";";
1256
+                }
1257 1257
 
1258
-				// heading background
1259
-				if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){
1260
-					$headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';';
1261
-				}
1258
+                // heading background
1259
+                if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){
1260
+                    $headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';';
1261
+                }
1262 1262
 
1263
-				 // heading font family
1264
-				if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){
1265
-					$headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily']  ) . ';';
1266
-				}
1263
+                    // heading font family
1264
+                if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){
1265
+                    $headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily']  ) . ';';
1266
+                }
1267 1267
 
1268
-				if( $headings_css ){
1269
-					$custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}";
1270
-				}
1268
+                if( $headings_css ){
1269
+                    $custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}";
1270
+                }
1271 1271
 
1272
-				$hs = array('h1','h2','h3','h4','h5','h6');
1272
+                $hs = array('h1','h2','h3','h4','h5','h6');
1273 1273
 
1274
-				foreach($hs as $hn){
1275
-					$h_css = '';
1276
-					 if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){
1277
-						$h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';';
1278
-					 }
1274
+                foreach($hs as $hn){
1275
+                    $h_css = '';
1276
+                        if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){
1277
+                        $h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';';
1278
+                        }
1279 1279
 
1280
-					  if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){
1281
-						$h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize']  ) . ';';
1282
-					 }
1280
+                        if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){
1281
+                        $h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize']  ) . ';';
1282
+                        }
1283 1283
 
1284
-					  if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){
1285
-						$h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily']  ) . ';';
1286
-					 }
1284
+                        if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){
1285
+                        $h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily']  ) . ';';
1286
+                        }
1287 1287
 
1288
-					 if($h_css){
1289
-						$custom_css .= esc_attr( $bep  . $hn ) . '{'.esc_attr( $h_css ).'}';
1290
-					 }
1291
-				}
1292
-			}
1288
+                        if($h_css){
1289
+                        $custom_css .= esc_attr( $bep  . $hn ) . '{'.esc_attr( $h_css ).'}';
1290
+                        }
1291
+                }
1292
+            }
1293 1293
 			
1294
-			if ( $custom_css ) {
1295
-				echo $custom_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1296
-			}
1297
-
1298
-			// Pagination on Hello Elementor theme.
1299
-			if ( function_exists( 'hello_elementor_setup' ) ) {
1300
-				echo '.aui-nav-links .pagination{justify-content:inherit}';
1301
-			}
1302
-			?></style><?php
1303
-			$custom_css = ob_get_clean();
1304
-
1305
-			/*
1294
+            if ( $custom_css ) {
1295
+                echo $custom_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1296
+            }
1297
+
1298
+            // Pagination on Hello Elementor theme.
1299
+            if ( function_exists( 'hello_elementor_setup' ) ) {
1300
+                echo '.aui-nav-links .pagination{justify-content:inherit}';
1301
+            }
1302
+            ?></style><?php
1303
+            $custom_css = ob_get_clean();
1304
+
1305
+            /*
1306 1306
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1307 1307
 			 */
1308
-			return str_replace( array(
1309
-				'<style>',
1310
-				'</style>'
1311
-			), '', self::minify_css( $custom_css ) );
1312
-		}
1313
-
1314
-		/**
1315
-		 * Check if we should add booststrap 3 compatibility changes.
1316
-		 *
1317
-		 * @return bool
1318
-		 */
1319
-		public static function is_bs3_compat(){
1320
-			return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1321
-		}
1322
-
1323
-		public static function hex_to_rgb( $hex ) {
1324
-			// Remove '#' if present
1325
-			$hex = str_replace( '#', '', $hex );
1326
-
1327
-			// Check if input is RGB
1328
-			if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) {
1329
-				$_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) );
1330
-
1331
-				$rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ',';
1332
-				$rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ',';
1333
-				$rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' );
1334
-
1335
-				return $rgb;
1336
-			}
1337
-
1338
-			// Convert 3-digit hex to 6-digit hex
1339
-			if ( strlen( $hex ) == 3 ) {
1340
-				$hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
1341
-			}
1342
-
1343
-			// Convert hex to RGB
1344
-			$r = hexdec( substr( $hex, 0, 2 ) );
1345
-			$g = hexdec( substr( $hex, 2, 2 ) );
1346
-			$b = hexdec( substr( $hex, 4, 2 ) );
1347
-
1348
-			// Return RGB values as an array
1349
-			return $r . ',' . $g . ',' . $b;
1350
-		}
1351
-
1352
-		/**
1353
-		 * Build the CSS to overwrite a bootstrap color variable.
1354
-		 *
1355
-		 * @param $type
1356
-		 * @param $color_code
1357
-		 * @param $compatibility
1358
-		 *
1359
-		 * @return string
1360
-		 */
1361
-		public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1362
-			global $aui_bs5;
1363
-
1364
-			$is_var = false;
1365
-			$is_custom = strpos($type, 'custom-') !== false ? true : false;
1366
-			if(!$color_code){return '';}
1367
-			if(strpos($color_code, 'var') !== false){
1368
-				//if(!sanitize_hex_color($color_code)){
1369
-				$color_code = esc_attr($color_code);
1370
-				$is_var = true;
1308
+            return str_replace( array(
1309
+                '<style>',
1310
+                '</style>'
1311
+            ), '', self::minify_css( $custom_css ) );
1312
+        }
1313
+
1314
+        /**
1315
+         * Check if we should add booststrap 3 compatibility changes.
1316
+         *
1317
+         * @return bool
1318
+         */
1319
+        public static function is_bs3_compat(){
1320
+            return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1321
+        }
1322
+
1323
+        public static function hex_to_rgb( $hex ) {
1324
+            // Remove '#' if present
1325
+            $hex = str_replace( '#', '', $hex );
1326
+
1327
+            // Check if input is RGB
1328
+            if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) {
1329
+                $_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) );
1330
+
1331
+                $rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ',';
1332
+                $rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ',';
1333
+                $rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' );
1334
+
1335
+                return $rgb;
1336
+            }
1337
+
1338
+            // Convert 3-digit hex to 6-digit hex
1339
+            if ( strlen( $hex ) == 3 ) {
1340
+                $hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
1341
+            }
1342
+
1343
+            // Convert hex to RGB
1344
+            $r = hexdec( substr( $hex, 0, 2 ) );
1345
+            $g = hexdec( substr( $hex, 2, 2 ) );
1346
+            $b = hexdec( substr( $hex, 4, 2 ) );
1347
+
1348
+            // Return RGB values as an array
1349
+            return $r . ',' . $g . ',' . $b;
1350
+        }
1351
+
1352
+        /**
1353
+         * Build the CSS to overwrite a bootstrap color variable.
1354
+         *
1355
+         * @param $type
1356
+         * @param $color_code
1357
+         * @param $compatibility
1358
+         *
1359
+         * @return string
1360
+         */
1361
+        public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1362
+            global $aui_bs5;
1363
+
1364
+            $is_var = false;
1365
+            $is_custom = strpos($type, 'custom-') !== false ? true : false;
1366
+            if(!$color_code){return '';}
1367
+            if(strpos($color_code, 'var') !== false){
1368
+                //if(!sanitize_hex_color($color_code)){
1369
+                $color_code = esc_attr($color_code);
1370
+                $is_var = true;
1371 1371
 //				$color_code = "rgba($color_code, 0.5)";
1372 1372
 //                echo '###1'.$color_code.'###';//exit;
1373
-			}
1373
+            }
1374 1374
 
1375 1375
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1376 1376
 
1377
-			if(!$color_code){return '';}
1377
+            if(!$color_code){return '';}
1378 1378
 
1379
-			$rgb = self::hex_to_rgb($hex);
1379
+            $rgb = self::hex_to_rgb($hex);
1380 1380
 
1381
-			if($compatibility===true || $compatibility===1){
1382
-				$compatibility = '.bsui';
1383
-			}elseif(!$compatibility){
1384
-				$compatibility = '';
1385
-			}else{
1386
-				$compatibility = esc_attr($compatibility);
1387
-			}
1381
+            if($compatibility===true || $compatibility===1){
1382
+                $compatibility = '.bsui';
1383
+            }elseif(!$compatibility){
1384
+                $compatibility = '';
1385
+            }else{
1386
+                $compatibility = esc_attr($compatibility);
1387
+            }
1388 1388
 
1389
-			$prefix = $compatibility ? $compatibility . " " : "";
1389
+            $prefix = $compatibility ? $compatibility . " " : "";
1390 1390
 
1391 1391
 
1392 1392
             $output = '';
1393 1393
 
1394 1394
 //            echo '####'.$color_code;exit;
1395 1395
 
1396
-			$type = sanitize_html_class($type);
1396
+            $type = sanitize_html_class($type);
1397
+
1398
+            /**
1399
+             * c = color, b = background color, o = border-color, f = fill
1400
+             */
1401
+            $selectors = array(
1402
+                ".btn-{$type}"                                              => array( 'b', 'o' ),
1403
+                ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1404
+                ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1405
+                ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1406
+                ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1407
+                ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1408
+                ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1409
+                ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1410
+                ".badge-{$type}"                                            => array( 'b' ),
1411
+                ".alert-{$type}"                                            => array( 'b', 'o' ),
1412
+                ".bg-{$type}"                                               => array( 'b', 'f' ),
1413
+                ".btn-link.btn-{$type}"                                     => array( 'c' ),
1414
+                ".text-{$type}"                                     => array( 'c' ),
1415
+            );
1416
+
1417
+            if ( $aui_bs5 ) {
1418
+                unset($selectors[".alert-{$type}" ]);
1419
+            }
1397 1420
 
1398
-			/**
1399
-			 * c = color, b = background color, o = border-color, f = fill
1400
-			 */
1401
-			$selectors = array(
1402
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1403
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1404
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1405
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1406
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1407
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1408
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1409
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1410
-				".badge-{$type}"                                            => array( 'b' ),
1411
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1412
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1413
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1414
-				".text-{$type}"                                     => array( 'c' ),
1415
-			);
1416
-
1417
-			if ( $aui_bs5 ) {
1418
-				unset($selectors[".alert-{$type}" ]);
1419
-			}
1420
-
1421
-			if ( $type == 'primary' ) {
1422
-				$selectors = $selectors + array(
1423
-						'a'                                                                                                    => array( 'c' ),
1424
-						'.btn-link'                                                                                            => array( 'c' ),
1425
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1426
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1427
-							'b',
1428
-							'o'
1429
-						),
1430
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1431
-							'b',
1432
-							'o'
1433
-						),
1434
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1435
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1436
-						'.page-link'                                                                                           => array( 'c' ),
1437
-						'.page-item.active .page-link'                                                                         => array(
1438
-							'b',
1439
-							'o'
1440
-						),
1441
-						'.progress-bar'                                                                                        => array( 'b' ),
1442
-						'.list-group-item.active'                                                                              => array(
1443
-							'b',
1444
-							'o'
1445
-						),
1446
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1447
-					);
1448
-			}
1421
+            if ( $type == 'primary' ) {
1422
+                $selectors = $selectors + array(
1423
+                        'a'                                                                                                    => array( 'c' ),
1424
+                        '.btn-link'                                                                                            => array( 'c' ),
1425
+                        '.dropdown-item.active'                                                                                => array( 'b' ),
1426
+                        '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1427
+                            'b',
1428
+                            'o'
1429
+                        ),
1430
+                        '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1431
+                            'b',
1432
+                            'o'
1433
+                        ),
1434
+                        '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1435
+                        '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1436
+                        '.page-link'                                                                                           => array( 'c' ),
1437
+                        '.page-item.active .page-link'                                                                         => array(
1438
+                            'b',
1439
+                            'o'
1440
+                        ),
1441
+                        '.progress-bar'                                                                                        => array( 'b' ),
1442
+                        '.list-group-item.active'                                                                              => array(
1443
+                            'b',
1444
+                            'o'
1445
+                        ),
1446
+                        '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1447
+                    );
1448
+            }
1449 1449
 
1450 1450
 
1451 1451
 
1452 1452
             // link
1453
-			if ( $type === 'primary' ) {
1454
-				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1455
-				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1456
-				$output .= $prefix . ' .navbar { --bs-nav-link-hover-color: '.esc_attr($color_code).'; --bs-navbar-hover-color: '.esc_attr($color_code).'; --bs-navbar-active-color: '.esc_attr($color_code).'; }';
1453
+            if ( $type === 'primary' ) {
1454
+                $output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1455
+                $output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1456
+                $output .= $prefix . ' .navbar { --bs-nav-link-hover-color: '.esc_attr($color_code).'; --bs-navbar-hover-color: '.esc_attr($color_code).'; --bs-navbar-active-color: '.esc_attr($color_code).'; }';
1457 1457
 
1458
-				$output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1459
-				$output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1458
+                $output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1459
+                $output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1460 1460
 
1461 1461
                 // dropdown
1462
-				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1462
+                $output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1463 1463
 
1464 1464
                 // pagination
1465
-				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1465
+                $output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1466 1466
 
1467
-			}
1467
+            }
1468 1468
 
1469
-			$output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1470
-			$output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1469
+            $output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1470
+            $output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1471 1471
 
1472
-			//  buttons
1473
-			$output .= $prefix . ' .btn-'.esc_attr($type).'{';
1474
-			$output .= ' 
1472
+            //  buttons
1473
+            $output .= $prefix . ' .btn-'.esc_attr($type).'{';
1474
+            $output .= ' 
1475 1475
             --bs-btn-bg: '.esc_attr($color_code).';
1476 1476
             --bs-btn-border-color: '.esc_attr($color_code).';
1477 1477
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1489,11 +1489,11 @@  discard block
 block discarded – undo
1489 1489
 //			--bs-btn-active-color: #fff;
1490 1490
 //			--bs-btn-disabled-color: #fff;
1491 1491
 //            ';
1492
-			$output .= '}';
1492
+            $output .= '}';
1493 1493
 
1494
-			//  buttons outline
1495
-			$output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1496
-			$output .= ' 
1494
+            //  buttons outline
1495
+            $output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1496
+            $output .= ' 
1497 1497
 			--bs-btn-color: '.esc_attr($color_code).';
1498 1498
             --bs-btn-border-color: '.esc_attr($color_code).';
1499 1499
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1511,37 +1511,37 @@  discard block
 block discarded – undo
1511 1511
 //			--bs-btn-active-color: #fff;
1512 1512
 //			--bs-btn-disabled-color: #fff;
1513 1513
 //            ';
1514
-			$output .= '}';
1514
+            $output .= '}';
1515 1515
 
1516 1516
 
1517 1517
             // button hover
1518
-			$output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1519
-			$output .= ' 
1518
+            $output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1519
+            $output .= ' 
1520 1520
             box-shadow: 0 0.25rem 0.25rem 0.125rem rgb(var(--bs-'.esc_attr($type).'-rgb), .1), 0 0.375rem 0.75rem -0.125rem rgb(var(--bs-'.esc_attr($type).'-rgb) , .4);
1521 1521
             }
1522 1522
             ';
1523 1523
 
1524 1524
 
1525
-			if ( $aui_bs5 ) {
1525
+            if ( $aui_bs5 ) {
1526 1526
 //				$output .= $is_var ? 'html body {--bs-'.esc_attr($type).'-rgb: '.$color_code.'; }' : 'html body {--bs-'.esc_attr($type).'-rgb: '.self::hex_to_rgb($color_code).'; }';
1527
-				$output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1528
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1529
-			}
1527
+                $output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1528
+                $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1529
+            }
1530 1530
 
1531 1531
 
1532
-			if ( $is_custom ) {
1532
+            if ( $is_custom ) {
1533 1533
 
1534 1534
 //				echo '###'.$type;exit;
1535 1535
 
1536
-				// build rules into each type
1537
-				foreach($selectors as $selector => $types){
1538
-					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1539
-					$types = array_combine($types,$types);
1540
-					if(isset($types['c'])){$color[] = $selector;}
1541
-					if(isset($types['b'])){$background[] = $selector;}
1542
-					if(isset($types['o'])){$border[] = $selector;}
1543
-					if(isset($types['f'])){$fill[] = $selector;}
1544
-				}
1536
+                // build rules into each type
1537
+                foreach($selectors as $selector => $types){
1538
+                    $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1539
+                    $types = array_combine($types,$types);
1540
+                    if(isset($types['c'])){$color[] = $selector;}
1541
+                    if(isset($types['b'])){$background[] = $selector;}
1542
+                    if(isset($types['o'])){$border[] = $selector;}
1543
+                    if(isset($types['f'])){$fill[] = $selector;}
1544
+                }
1545 1545
 
1546 1546
 //				// build rules into each type
1547 1547
 //				foreach($important_selectors as $selector => $types){
@@ -1553,853 +1553,853 @@  discard block
 block discarded – undo
1553 1553
 //					if(isset($types['f'])){$fill_i[] = $selector;}
1554 1554
 //				}
1555 1555
 
1556
-				// add any color rules
1557
-				if(!empty($color)){
1558
-					$output .= implode(",",$color) . "{color: $color_code;} ";
1559
-				}
1560
-				if(!empty($color_i)){
1561
-					$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1562
-				}
1556
+                // add any color rules
1557
+                if(!empty($color)){
1558
+                    $output .= implode(",",$color) . "{color: $color_code;} ";
1559
+                }
1560
+                if(!empty($color_i)){
1561
+                    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1562
+                }
1563
+
1564
+                // add any background color rules
1565
+                if(!empty($background)){
1566
+                    $output .= implode(",",$background) . "{background-color: $color_code;} ";
1567
+                }
1568
+                if(!empty($background_i)){
1569
+                    $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1570
+//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1571
+                }
1572
+
1573
+                // add any border color rules
1574
+                if(!empty($border)){
1575
+                    $output .= implode(",",$border) . "{border-color: $color_code;} ";
1576
+                }
1577
+                if(!empty($border_i)){
1578
+                    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1579
+                }
1580
+
1581
+                // add any fill color rules
1582
+                if(!empty($fill)){
1583
+                    $output .= implode(",",$fill) . "{fill: $color_code;} ";
1584
+                }
1585
+                if(!empty($fill_i)){
1586
+                    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1587
+                }
1588
+
1589
+            }
1590
+
1591
+
1592
+
1593
+
1594
+            $transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : '';
1595
+            // darken
1596
+            $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1597
+            $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1598
+            $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1599
+            $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1600
+
1601
+            // lighten
1602
+            $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1603
+
1604
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1605
+            $op_25 = $color_code."40"; // 25% opacity
1606
+
1607
+
1608
+            // button states
1609
+            $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1610
+            $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1611
+//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1612
+            $output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1613
+            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1614
+            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1615
+            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled):focus {box-shadow: 0 0.25rem 0.25rem 0.125rem rgba(var(--bs-{$type}-rgb), 0.1), 0 0.375rem 0.75rem -0.125rem rgba(var(--bs-{$type}-rgb), 0.4);} ";
1616
+
1617
+            // text
1618
+//			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
1619
+
1620
+
1621
+//			if ( $type == 'primary' ) {
1622
+//				// dropdown's
1623
+//				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1624
+//
1625
+//				// input states
1626
+//				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1627
+//
1628
+//				// page link
1629
+//				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1630
+//			}
1631
+
1632
+            // alerts
1633
+            if ( $aui_bs5 ) {
1634
+//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1635
+                $output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1636
+            }
1637
+
1638
+            return $output;
1639
+        }
1640
+
1641
+        /**
1642
+         * Build the CSS to overwrite a bootstrap color variable.
1643
+         *
1644
+         * @param $type
1645
+         * @param $color_code
1646
+         * @param $compatibility
1647
+         *
1648
+         * @return string
1649
+         */
1650
+        public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1651
+            global $aui_bs5;
1652
+
1653
+            $is_var = false;
1654
+            if(!$color_code){return '';}
1655
+            if(strpos($color_code, 'var') !== false){
1656
+                //if(!sanitize_hex_color($color_code)){
1657
+                $color_code = esc_attr($color_code);
1658
+                $is_var = true;
1659
+//				$color_code = "rgba($color_code, 0.5)";
1660
+//                echo '###1'.$color_code.'###';//exit;
1661
+            }
1662
+
1663
+//            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1664
+
1665
+            if(!$color_code){return '';}
1666
+
1667
+            $rgb = self::hex_to_rgb($hex);
1668
+
1669
+            if($compatibility===true || $compatibility===1){
1670
+                $compatibility = '.bsui';
1671
+            }elseif(!$compatibility){
1672
+                $compatibility = '';
1673
+            }else{
1674
+                $compatibility = esc_attr($compatibility);
1675
+            }
1676
+
1677
+
1678
+
1679
+//            echo '####'.$color_code;exit;
1680
+
1681
+            $type = sanitize_html_class($type);
1682
+
1683
+            /**
1684
+             * c = color, b = background color, o = border-color, f = fill
1685
+             */
1686
+            $selectors = array(
1687
+                ".btn-{$type}"                                              => array( 'b', 'o' ),
1688
+                ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1689
+                ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1690
+                ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1691
+                ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1692
+                ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1693
+                ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1694
+                ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1695
+                ".badge-{$type}"                                            => array( 'b' ),
1696
+                ".alert-{$type}"                                            => array( 'b', 'o' ),
1697
+                ".bg-{$type}"                                               => array( 'b', 'f' ),
1698
+                ".btn-link.btn-{$type}"                                     => array( 'c' ),
1699
+            );
1700
+
1701
+            if ( $aui_bs5 ) {
1702
+                unset($selectors[".alert-{$type}" ]);
1703
+            }
1704
+
1705
+            if ( $type == 'primary' ) {
1706
+                $selectors = $selectors + array(
1707
+                        'a'                                                                                                    => array( 'c' ),
1708
+                        '.btn-link'                                                                                            => array( 'c' ),
1709
+                        '.dropdown-item.active'                                                                                => array( 'b' ),
1710
+                        '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1711
+                            'b',
1712
+                            'o'
1713
+                        ),
1714
+                        '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1715
+                            'b',
1716
+                            'o'
1717
+                        ),
1718
+                        '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1719
+                        '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1720
+                        '.page-link'                                                                                           => array( 'c' ),
1721
+                        '.page-item.active .page-link'                                                                         => array(
1722
+                            'b',
1723
+                            'o'
1724
+                        ),
1725
+                        '.progress-bar'                                                                                        => array( 'b' ),
1726
+                        '.list-group-item.active'                                                                              => array(
1727
+                            'b',
1728
+                            'o'
1729
+                        ),
1730
+                        '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1731
+//				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1732
+//				    '.custom-range::-moz-range-thumb' => array('b'),
1733
+//				    '.custom-range::-ms-thumb' => array('b'),
1734
+                    );
1735
+            }
1736
+
1737
+            $important_selectors = array(
1738
+                ".bg-{$type}" => array('b','f'),
1739
+                ".border-{$type}" => array('o'),
1740
+                ".text-{$type}" => array('c'),
1741
+            );
1742
+
1743
+            $color = array();
1744
+            $color_i = array();
1745
+            $background = array();
1746
+            $background_i = array();
1747
+            $border = array();
1748
+            $border_i = array();
1749
+            $fill = array();
1750
+            $fill_i = array();
1751
+
1752
+            $output = '';
1753
+
1754
+            if ( $aui_bs5 ) {
1755
+//				$output .= $is_var ? 'html body {--bs-'.esc_attr($type).'-rgb: '.$color_code.'; }' : 'html body {--bs-'.esc_attr($type).'-rgb: '.self::hex_to_rgb($color_code).'; }';
1756
+                $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1757
+            }
1758
+
1759
+            // build rules into each type
1760
+            foreach($selectors as $selector => $types){
1761
+                $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1762
+                $types = array_combine($types,$types);
1763
+                if(isset($types['c'])){$color[] = $selector;}
1764
+                if(isset($types['b'])){$background[] = $selector;}
1765
+                if(isset($types['o'])){$border[] = $selector;}
1766
+                if(isset($types['f'])){$fill[] = $selector;}
1767
+            }
1768
+
1769
+            // build rules into each type
1770
+            foreach($important_selectors as $selector => $types){
1771
+                $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1772
+                $types = array_combine($types,$types);
1773
+                if(isset($types['c'])){$color_i[] = $selector;}
1774
+                if(isset($types['b'])){$background_i[] = $selector;}
1775
+                if(isset($types['o'])){$border_i[] = $selector;}
1776
+                if(isset($types['f'])){$fill_i[] = $selector;}
1777
+            }
1778
+
1779
+            // add any color rules
1780
+            if(!empty($color)){
1781
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1782
+            }
1783
+            if(!empty($color_i)){
1784
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1785
+            }
1786
+
1787
+            // add any background color rules
1788
+            if(!empty($background)){
1789
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1790
+            }
1791
+            if(!empty($background_i)){
1792
+                $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1793
+//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1794
+            }
1795
+
1796
+            // add any border color rules
1797
+            if(!empty($border)){
1798
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1799
+            }
1800
+            if(!empty($border_i)){
1801
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1802
+            }
1803
+
1804
+            // add any fill color rules
1805
+            if(!empty($fill)){
1806
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1807
+            }
1808
+            if(!empty($fill_i)){
1809
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1810
+            }
1811
+
1812
+
1813
+            $prefix = $compatibility ? $compatibility . " " : "";
1814
+
1815
+            $transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : '';
1816
+            // darken
1817
+            $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1818
+            $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1819
+            $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1820
+            $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1821
+
1822
+            // lighten
1823
+            $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1824
+
1825
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1826
+            $op_25 = $color_code."40"; // 25% opacity
1827
+
1828
+
1829
+            // button states
1830
+            $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1831
+            $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1832
+//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1833
+            $output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1834
+            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1835
+            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1836
+
1837
+            if ( $type == 'primary' ) {
1838
+                // dropdown's
1839
+                $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1840
+
1841
+                // input states
1842
+                $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1843
+
1844
+                // page link
1845
+                $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1846
+            }
1847
+
1848
+            // alerts
1849
+            if ( $aui_bs5 ) {
1850
+//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1851
+                $output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1852
+            }
1853
+
1854
+            return $output;
1855
+        }
1856
+
1857
+        /**
1858
+         *
1859
+         * @deprecated 0.1.76 Use css_overwrite()
1860
+         *
1861
+         * @param $color_code
1862
+         * @param $compatibility
1863
+         * @param $use_variable
1864
+         *
1865
+         * @return string
1866
+         */
1867
+        public static function css_primary($color_code,$compatibility, $use_variable = false){
1868
+
1869
+            if(!$use_variable){
1870
+                $color_code = sanitize_hex_color($color_code);
1871
+                if(!$color_code){return '';}
1872
+            }
1873
+
1874
+            /**
1875
+             * c = color, b = background color, o = border-color, f = fill
1876
+             */
1877
+            $selectors = array(
1878
+                'a' => array('c'),
1879
+                '.btn-primary' => array('b','o'),
1880
+                '.btn-primary.disabled' => array('b','o'),
1881
+                '.btn-primary:disabled' => array('b','o'),
1882
+                '.btn-outline-primary' => array('c','o'),
1883
+                '.btn-outline-primary:hover' => array('b','o'),
1884
+                '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1885
+                '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1886
+                '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1887
+                '.btn-link' => array('c'),
1888
+                '.dropdown-item.active' => array('b'),
1889
+                '.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1890
+                '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1891
+//				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1892
+//				'.custom-range::-moz-range-thumb' => array('b'),
1893
+//				'.custom-range::-ms-thumb' => array('b'),
1894
+                '.nav-pills .nav-link.active' => array('b'),
1895
+                '.nav-pills .show>.nav-link' => array('b'),
1896
+                '.page-link' => array('c'),
1897
+                '.page-item.active .page-link' => array('b','o'),
1898
+                '.badge-primary' => array('b'),
1899
+                '.alert-primary' => array('b','o'),
1900
+                '.progress-bar' => array('b'),
1901
+                '.list-group-item.active' => array('b','o'),
1902
+                '.bg-primary' => array('b','f'),
1903
+                '.btn-link.btn-primary' => array('c'),
1904
+                '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1905
+            );
1906
+
1907
+            $important_selectors = array(
1908
+                '.bg-primary' => array('b','f'),
1909
+                '.border-primary' => array('o'),
1910
+                '.text-primary' => array('c'),
1911
+            );
1912
+
1913
+            $color = array();
1914
+            $color_i = array();
1915
+            $background = array();
1916
+            $background_i = array();
1917
+            $border = array();
1918
+            $border_i = array();
1919
+            $fill = array();
1920
+            $fill_i = array();
1921
+
1922
+            $output = '';
1923
+
1924
+            // build rules into each type
1925
+            foreach($selectors as $selector => $types){
1926
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1927
+                $types = array_combine($types,$types);
1928
+                if(isset($types['c'])){$color[] = $selector;}
1929
+                if(isset($types['b'])){$background[] = $selector;}
1930
+                if(isset($types['o'])){$border[] = $selector;}
1931
+                if(isset($types['f'])){$fill[] = $selector;}
1932
+            }
1933
+
1934
+            // build rules into each type
1935
+            foreach($important_selectors as $selector => $types){
1936
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1937
+                $types = array_combine($types,$types);
1938
+                if(isset($types['c'])){$color_i[] = $selector;}
1939
+                if(isset($types['b'])){$background_i[] = $selector;}
1940
+                if(isset($types['o'])){$border_i[] = $selector;}
1941
+                if(isset($types['f'])){$fill_i[] = $selector;}
1942
+            }
1943
+
1944
+            // add any color rules
1945
+            if(!empty($color)){
1946
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1947
+            }
1948
+            if(!empty($color_i)){
1949
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1950
+            }
1951
+
1952
+            // add any background color rules
1953
+            if(!empty($background)){
1954
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1955
+            }
1956
+            if(!empty($background_i)){
1957
+                $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1958
+            }
1959
+
1960
+            // add any border color rules
1961
+            if(!empty($border)){
1962
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1963
+            }
1964
+            if(!empty($border_i)){
1965
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1966
+            }
1967
+
1968
+            // add any fill color rules
1969
+            if(!empty($fill)){
1970
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1971
+            }
1972
+            if(!empty($fill_i)){
1973
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1974
+            }
1975
+
1563 1976
 
1564
-				// add any background color rules
1565
-				if(!empty($background)){
1566
-					$output .= implode(",",$background) . "{background-color: $color_code;} ";
1567
-				}
1568
-				if(!empty($background_i)){
1569
-					$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1570
-//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1571
-				}
1977
+            $prefix = $compatibility ? ".bsui " : "";
1572 1978
 
1573
-				// add any border color rules
1574
-				if(!empty($border)){
1575
-					$output .= implode(",",$border) . "{border-color: $color_code;} ";
1576
-				}
1577
-				if(!empty($border_i)){
1578
-					$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1579
-				}
1979
+            // darken
1980
+            $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1981
+            $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1982
+            $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1580 1983
 
1581
-				// add any fill color rules
1582
-				if(!empty($fill)){
1583
-					$output .= implode(",",$fill) . "{fill: $color_code;} ";
1584
-				}
1585
-				if(!empty($fill_i)){
1586
-					$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1587
-				}
1984
+            // lighten
1985
+            $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1588 1986
 
1589
-			}
1987
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1988
+            $op_25 = $color_code."40"; // 25% opacity
1590 1989
 
1591 1990
 
1991
+            // button states
1992
+            $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1993
+            $output .= $prefix ." .btn-outline-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-primary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1994
+            $output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active, $prefix .btn-primary:not(:disabled):not(.disabled).active, .show>$prefix .btn-primary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1995
+            $output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-primary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1592 1996
 
1593 1997
 
1594
-			$transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : '';
1595
-			// darken
1596
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1597
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1598
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1599
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1998
+            // dropdown's
1999
+            $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1600 2000
 
1601
-			// lighten
1602
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1603 2001
 
1604
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1605
-			$op_25 = $color_code."40"; // 25% opacity
2002
+            // input states
2003
+            $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1606 2004
 
2005
+            // page link
2006
+            $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1607 2007
 
1608
-			// button states
1609
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1610
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1611
-//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1612
-			$output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1613
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1614
-            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1615
-            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled):focus {box-shadow: 0 0.25rem 0.25rem 0.125rem rgba(var(--bs-{$type}-rgb), 0.1), 0 0.375rem 0.75rem -0.125rem rgba(var(--bs-{$type}-rgb), 0.4);} ";
2008
+            return $output;
2009
+        }
1616 2010
 
1617
-			// text
1618
-//			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
2011
+        /**
2012
+         *
2013
+         * @deprecated 0.1.76 Use css_overwrite()
2014
+         *
2015
+         * @param $color_code
2016
+         * @param $compatibility
2017
+         *
2018
+         * @return string
2019
+         */
2020
+        public static function css_secondary($color_code,$compatibility){;
2021
+            $color_code = sanitize_hex_color($color_code);
2022
+            if(!$color_code){return '';}
2023
+            /**
2024
+             * c = color, b = background color, o = border-color, f = fill
2025
+             */
2026
+            $selectors = array(
2027
+                '.btn-secondary' => array('b','o'),
2028
+                '.btn-secondary.disabled' => array('b','o'),
2029
+                '.btn-secondary:disabled' => array('b','o'),
2030
+                '.btn-outline-secondary' => array('c','o'),
2031
+                '.btn-outline-secondary:hover' => array('b','o'),
2032
+                '.btn-outline-secondary.disabled' => array('c'),
2033
+                '.btn-outline-secondary:disabled' => array('c'),
2034
+                '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2035
+                '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2036
+                '.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2037
+                '.badge-secondary' => array('b'),
2038
+                '.alert-secondary' => array('b','o'),
2039
+                '.btn-link.btn-secondary' => array('c'),
2040
+            );
2041
+
2042
+            $important_selectors = array(
2043
+                '.bg-secondary' => array('b','f'),
2044
+                '.border-secondary' => array('o'),
2045
+                '.text-secondary' => array('c'),
2046
+            );
2047
+
2048
+            $color = array();
2049
+            $color_i = array();
2050
+            $background = array();
2051
+            $background_i = array();
2052
+            $border = array();
2053
+            $border_i = array();
2054
+            $fill = array();
2055
+            $fill_i = array();
1619 2056
 
2057
+            $output = '';
1620 2058
 
1621
-//			if ( $type == 'primary' ) {
1622
-//				// dropdown's
1623
-//				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1624
-//
1625
-//				// input states
1626
-//				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1627
-//
1628
-//				// page link
1629
-//				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1630
-//			}
2059
+            // build rules into each type
2060
+            foreach($selectors as $selector => $types){
2061
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
2062
+                $types = array_combine($types,$types);
2063
+                if(isset($types['c'])){$color[] = $selector;}
2064
+                if(isset($types['b'])){$background[] = $selector;}
2065
+                if(isset($types['o'])){$border[] = $selector;}
2066
+                if(isset($types['f'])){$fill[] = $selector;}
2067
+            }
1631 2068
 
1632
-			// alerts
1633
-			if ( $aui_bs5 ) {
1634
-//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1635
-				$output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1636
-			}
1637
-
1638
-			return $output;
1639
-		}
1640
-
1641
-		/**
1642
-		 * Build the CSS to overwrite a bootstrap color variable.
1643
-		 *
1644
-		 * @param $type
1645
-		 * @param $color_code
1646
-		 * @param $compatibility
1647
-		 *
1648
-		 * @return string
1649
-		 */
1650
-		public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1651
-            global $aui_bs5;
2069
+            // build rules into each type
2070
+            foreach($important_selectors as $selector => $types){
2071
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
2072
+                $types = array_combine($types,$types);
2073
+                if(isset($types['c'])){$color_i[] = $selector;}
2074
+                if(isset($types['b'])){$background_i[] = $selector;}
2075
+                if(isset($types['o'])){$border_i[] = $selector;}
2076
+                if(isset($types['f'])){$fill_i[] = $selector;}
2077
+            }
1652 2078
 
1653
-			$is_var = false;
1654
-			if(!$color_code){return '';}
1655
-			if(strpos($color_code, 'var') !== false){
1656
-				//if(!sanitize_hex_color($color_code)){
1657
-				$color_code = esc_attr($color_code);
1658
-				$is_var = true;
1659
-//				$color_code = "rgba($color_code, 0.5)";
1660
-//                echo '###1'.$color_code.'###';//exit;
1661
-			}
2079
+            // add any color rules
2080
+            if(!empty($color)){
2081
+                $output .= implode(",",$color) . "{color: $color_code;} ";
2082
+            }
2083
+            if(!empty($color_i)){
2084
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2085
+            }
1662 2086
 
1663
-//            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
2087
+            // add any background color rules
2088
+            if(!empty($background)){
2089
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
2090
+            }
2091
+            if(!empty($background_i)){
2092
+                $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2093
+            }
1664 2094
 
1665
-			if(!$color_code){return '';}
2095
+            // add any border color rules
2096
+            if(!empty($border)){
2097
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
2098
+            }
2099
+            if(!empty($border_i)){
2100
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2101
+            }
1666 2102
 
1667
-            $rgb = self::hex_to_rgb($hex);
2103
+            // add any fill color rules
2104
+            if(!empty($fill)){
2105
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
2106
+            }
2107
+            if(!empty($fill_i)){
2108
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2109
+            }
1668 2110
 
1669
-			if($compatibility===true || $compatibility===1){
1670
-				$compatibility = '.bsui';
1671
-			}elseif(!$compatibility){
1672
-				$compatibility = '';
1673
-			}else{
1674
-				$compatibility = esc_attr($compatibility);
1675
-			}
1676 2111
 
2112
+            $prefix = $compatibility ? ".bsui " : "";
1677 2113
 
2114
+            // darken
2115
+            $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2116
+            $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2117
+            $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1678 2118
 
1679
-//            echo '####'.$color_code;exit;
2119
+            // lighten
2120
+            $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1680 2121
 
1681
-			$type = sanitize_html_class($type);
2122
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
2123
+            $op_25 = $color_code."40"; // 25% opacity
1682 2124
 
1683
-			/**
1684
-			 * c = color, b = background color, o = border-color, f = fill
1685
-			 */
1686
-			$selectors = array(
1687
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1688
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1689
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1690
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1691
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1692
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1693
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1694
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1695
-				".badge-{$type}"                                            => array( 'b' ),
1696
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1697
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1698
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1699
-			);
1700
-
1701
-			if ( $aui_bs5 ) {
1702
-                unset($selectors[".alert-{$type}" ]);
1703
-			}
1704
-
1705
-			if ( $type == 'primary' ) {
1706
-				$selectors = $selectors + array(
1707
-						'a'                                                                                                    => array( 'c' ),
1708
-						'.btn-link'                                                                                            => array( 'c' ),
1709
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1710
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1711
-							'b',
1712
-							'o'
1713
-						),
1714
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1715
-							'b',
1716
-							'o'
1717
-						),
1718
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1719
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1720
-						'.page-link'                                                                                           => array( 'c' ),
1721
-						'.page-item.active .page-link'                                                                         => array(
1722
-							'b',
1723
-							'o'
1724
-						),
1725
-						'.progress-bar'                                                                                        => array( 'b' ),
1726
-						'.list-group-item.active'                                                                              => array(
1727
-							'b',
1728
-							'o'
1729
-						),
1730
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1731
-//				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1732
-//				    '.custom-range::-moz-range-thumb' => array('b'),
1733
-//				    '.custom-range::-ms-thumb' => array('b'),
1734
-					);
1735
-			}
1736
-
1737
-			$important_selectors = array(
1738
-				".bg-{$type}" => array('b','f'),
1739
-				".border-{$type}" => array('o'),
1740
-				".text-{$type}" => array('c'),
1741
-			);
1742
-
1743
-			$color = array();
1744
-			$color_i = array();
1745
-			$background = array();
1746
-			$background_i = array();
1747
-			$border = array();
1748
-			$border_i = array();
1749
-			$fill = array();
1750
-			$fill_i = array();
1751
-
1752
-			$output = '';
1753
-
1754
-			if ( $aui_bs5 ) {
1755
-//				$output .= $is_var ? 'html body {--bs-'.esc_attr($type).'-rgb: '.$color_code.'; }' : 'html body {--bs-'.esc_attr($type).'-rgb: '.self::hex_to_rgb($color_code).'; }';
1756
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1757
-			}
1758
-
1759
-			// build rules into each type
1760
-			foreach($selectors as $selector => $types){
1761
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1762
-				$types = array_combine($types,$types);
1763
-				if(isset($types['c'])){$color[] = $selector;}
1764
-				if(isset($types['b'])){$background[] = $selector;}
1765
-				if(isset($types['o'])){$border[] = $selector;}
1766
-				if(isset($types['f'])){$fill[] = $selector;}
1767
-			}
1768
-
1769
-			// build rules into each type
1770
-			foreach($important_selectors as $selector => $types){
1771
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1772
-				$types = array_combine($types,$types);
1773
-				if(isset($types['c'])){$color_i[] = $selector;}
1774
-				if(isset($types['b'])){$background_i[] = $selector;}
1775
-				if(isset($types['o'])){$border_i[] = $selector;}
1776
-				if(isset($types['f'])){$fill_i[] = $selector;}
1777
-			}
1778
-
1779
-			// add any color rules
1780
-			if(!empty($color)){
1781
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1782
-			}
1783
-			if(!empty($color_i)){
1784
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1785
-			}
1786
-
1787
-			// add any background color rules
1788
-			if(!empty($background)){
1789
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1790
-			}
1791
-			if(!empty($background_i)){
1792
-				$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1793
-//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1794
-			}
1795 2125
 
1796
-			// add any border color rules
1797
-			if(!empty($border)){
1798
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1799
-			}
1800
-			if(!empty($border_i)){
1801
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1802
-			}
2126
+            // button states
2127
+            $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2128
+            $output .= $prefix ." .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-secondary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2129
+            $output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active, $prefix .btn-secondary:not(:disabled):not(.disabled).active, .show>$prefix .btn-secondary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
2130
+            $output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-secondary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1803 2131
 
1804
-			// add any fill color rules
1805
-			if(!empty($fill)){
1806
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1807
-			}
1808
-			if(!empty($fill_i)){
1809
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1810
-			}
1811 2132
 
2133
+            return $output;
2134
+        }
1812 2135
 
1813
-			$prefix = $compatibility ? $compatibility . " " : "";
2136
+        /**
2137
+         * Increases or decreases the brightness of a color by a percentage of the current brightness.
2138
+         *
2139
+         * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
2140
+         * @param   float   $adjustPercent  A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker.
2141
+         *
2142
+         * @return  string
2143
+         */
2144
+        public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2145
+            $hexCode = ltrim($hexCode, '#');
1814 2146
 
1815
-			$transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : '';
1816
-			// darken
1817
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1818
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1819
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1820
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
2147
+            if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2148
+                return $hexCode;
2149
+            }
1821 2150
 
1822
-			// lighten
1823
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
2151
+            if (strlen($hexCode) == 3) {
2152
+                $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
2153
+            }
1824 2154
 
1825
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1826
-			$op_25 = $color_code."40"; // 25% opacity
2155
+            $hexCode = array_map('hexdec', str_split($hexCode, 2));
1827 2156
 
2157
+            foreach ($hexCode as & $color) {
2158
+                $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2159
+                $adjustAmount = ceil($adjustableLimit * $adjustPercent);
1828 2160
 
1829
-			// button states
1830
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1831
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1832
-//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1833
-			$output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1834
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1835
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
2161
+                $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2162
+            }
1836 2163
 
1837
-			if ( $type == 'primary' ) {
1838
-				// dropdown's
1839
-				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2164
+            return '#' . implode($hexCode);
2165
+        }
1840 2166
 
1841
-				// input states
1842
-				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
2167
+        /**
2168
+         * Check if we should display examples.
2169
+         */
2170
+        public function maybe_show_examples(){
2171
+            if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2172
+                echo "<head>";
2173
+                wp_head();
2174
+                echo "</head>";
2175
+                echo "<body>";
2176
+                echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2177
+                echo "</body>";
2178
+                exit;
2179
+            }
2180
+        }
1843 2181
 
1844
-				// page link
1845
-				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1846
-			}
2182
+        /**
2183
+         * Get developer examples.
2184
+         *
2185
+         * @return string
2186
+         */
2187
+        public function get_examples(){
2188
+            $output = '';
1847 2189
 
1848
-            // alerts
1849
-			if ( $aui_bs5 ) {
1850
-//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1851
-				$output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1852
-			}
1853
-
1854
-			return $output;
1855
-		}
1856
-
1857
-		/**
1858
-		 *
1859
-		 * @deprecated 0.1.76 Use css_overwrite()
1860
-		 *
1861
-		 * @param $color_code
1862
-		 * @param $compatibility
1863
-		 * @param $use_variable
1864
-		 *
1865
-		 * @return string
1866
-		 */
1867
-		public static function css_primary($color_code,$compatibility, $use_variable = false){
1868
-
1869
-			if(!$use_variable){
1870
-				$color_code = sanitize_hex_color($color_code);
1871
-				if(!$color_code){return '';}
1872
-			}
1873
-
1874
-			/**
1875
-			 * c = color, b = background color, o = border-color, f = fill
1876
-			 */
1877
-			$selectors = array(
1878
-				'a' => array('c'),
1879
-				'.btn-primary' => array('b','o'),
1880
-				'.btn-primary.disabled' => array('b','o'),
1881
-				'.btn-primary:disabled' => array('b','o'),
1882
-				'.btn-outline-primary' => array('c','o'),
1883
-				'.btn-outline-primary:hover' => array('b','o'),
1884
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1885
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1886
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1887
-				'.btn-link' => array('c'),
1888
-				'.dropdown-item.active' => array('b'),
1889
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1890
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1891
-//				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1892
-//				'.custom-range::-moz-range-thumb' => array('b'),
1893
-//				'.custom-range::-ms-thumb' => array('b'),
1894
-				'.nav-pills .nav-link.active' => array('b'),
1895
-				'.nav-pills .show>.nav-link' => array('b'),
1896
-				'.page-link' => array('c'),
1897
-				'.page-item.active .page-link' => array('b','o'),
1898
-				'.badge-primary' => array('b'),
1899
-				'.alert-primary' => array('b','o'),
1900
-				'.progress-bar' => array('b'),
1901
-				'.list-group-item.active' => array('b','o'),
1902
-				'.bg-primary' => array('b','f'),
1903
-				'.btn-link.btn-primary' => array('c'),
1904
-				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1905
-			);
1906
-
1907
-			$important_selectors = array(
1908
-				'.bg-primary' => array('b','f'),
1909
-				'.border-primary' => array('o'),
1910
-				'.text-primary' => array('c'),
1911
-			);
1912
-
1913
-			$color = array();
1914
-			$color_i = array();
1915
-			$background = array();
1916
-			$background_i = array();
1917
-			$border = array();
1918
-			$border_i = array();
1919
-			$fill = array();
1920
-			$fill_i = array();
1921
-
1922
-			$output = '';
1923
-
1924
-			// build rules into each type
1925
-			foreach($selectors as $selector => $types){
1926
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1927
-				$types = array_combine($types,$types);
1928
-				if(isset($types['c'])){$color[] = $selector;}
1929
-				if(isset($types['b'])){$background[] = $selector;}
1930
-				if(isset($types['o'])){$border[] = $selector;}
1931
-				if(isset($types['f'])){$fill[] = $selector;}
1932
-			}
1933
-
1934
-			// build rules into each type
1935
-			foreach($important_selectors as $selector => $types){
1936
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1937
-				$types = array_combine($types,$types);
1938
-				if(isset($types['c'])){$color_i[] = $selector;}
1939
-				if(isset($types['b'])){$background_i[] = $selector;}
1940
-				if(isset($types['o'])){$border_i[] = $selector;}
1941
-				if(isset($types['f'])){$fill_i[] = $selector;}
1942
-			}
1943
-
1944
-			// add any color rules
1945
-			if(!empty($color)){
1946
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1947
-			}
1948
-			if(!empty($color_i)){
1949
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1950
-			}
1951
-
1952
-			// add any background color rules
1953
-			if(!empty($background)){
1954
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1955
-			}
1956
-			if(!empty($background_i)){
1957
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1958
-			}
1959
-
1960
-			// add any border color rules
1961
-			if(!empty($border)){
1962
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1963
-			}
1964
-			if(!empty($border_i)){
1965
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1966
-			}
1967
-
1968
-			// add any fill color rules
1969
-			if(!empty($fill)){
1970
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1971
-			}
1972
-			if(!empty($fill_i)){
1973
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1974
-			}
1975
-
1976
-
1977
-			$prefix = $compatibility ? ".bsui " : "";
1978
-
1979
-			// darken
1980
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1981
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1982
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1983
-
1984
-			// lighten
1985
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1986
-
1987
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1988
-			$op_25 = $color_code."40"; // 25% opacity
1989
-
1990
-
1991
-			// button states
1992
-			$output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1993
-			$output .= $prefix ." .btn-outline-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-primary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1994
-			$output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active, $prefix .btn-primary:not(:disabled):not(.disabled).active, .show>$prefix .btn-primary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1995
-			$output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-primary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1996
-
1997
-
1998
-			// dropdown's
1999
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2000
-
2001
-
2002
-			// input states
2003
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
2004
-
2005
-			// page link
2006
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2007
-
2008
-			return $output;
2009
-		}
2010
-
2011
-		/**
2012
-		 *
2013
-		 * @deprecated 0.1.76 Use css_overwrite()
2014
-		 *
2015
-		 * @param $color_code
2016
-		 * @param $compatibility
2017
-		 *
2018
-		 * @return string
2019
-		 */
2020
-		public static function css_secondary($color_code,$compatibility){;
2021
-			$color_code = sanitize_hex_color($color_code);
2022
-			if(!$color_code){return '';}
2023
-			/**
2024
-			 * c = color, b = background color, o = border-color, f = fill
2025
-			 */
2026
-			$selectors = array(
2027
-				'.btn-secondary' => array('b','o'),
2028
-				'.btn-secondary.disabled' => array('b','o'),
2029
-				'.btn-secondary:disabled' => array('b','o'),
2030
-				'.btn-outline-secondary' => array('c','o'),
2031
-				'.btn-outline-secondary:hover' => array('b','o'),
2032
-				'.btn-outline-secondary.disabled' => array('c'),
2033
-				'.btn-outline-secondary:disabled' => array('c'),
2034
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2035
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2036
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2037
-				'.badge-secondary' => array('b'),
2038
-				'.alert-secondary' => array('b','o'),
2039
-				'.btn-link.btn-secondary' => array('c'),
2040
-			);
2041
-
2042
-			$important_selectors = array(
2043
-				'.bg-secondary' => array('b','f'),
2044
-				'.border-secondary' => array('o'),
2045
-				'.text-secondary' => array('c'),
2046
-			);
2047
-
2048
-			$color = array();
2049
-			$color_i = array();
2050
-			$background = array();
2051
-			$background_i = array();
2052
-			$border = array();
2053
-			$border_i = array();
2054
-			$fill = array();
2055
-			$fill_i = array();
2056
-
2057
-			$output = '';
2058
-
2059
-			// build rules into each type
2060
-			foreach($selectors as $selector => $types){
2061
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2062
-				$types = array_combine($types,$types);
2063
-				if(isset($types['c'])){$color[] = $selector;}
2064
-				if(isset($types['b'])){$background[] = $selector;}
2065
-				if(isset($types['o'])){$border[] = $selector;}
2066
-				if(isset($types['f'])){$fill[] = $selector;}
2067
-			}
2068
-
2069
-			// build rules into each type
2070
-			foreach($important_selectors as $selector => $types){
2071
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2072
-				$types = array_combine($types,$types);
2073
-				if(isset($types['c'])){$color_i[] = $selector;}
2074
-				if(isset($types['b'])){$background_i[] = $selector;}
2075
-				if(isset($types['o'])){$border_i[] = $selector;}
2076
-				if(isset($types['f'])){$fill_i[] = $selector;}
2077
-			}
2078
-
2079
-			// add any color rules
2080
-			if(!empty($color)){
2081
-				$output .= implode(",",$color) . "{color: $color_code;} ";
2082
-			}
2083
-			if(!empty($color_i)){
2084
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2085
-			}
2086
-
2087
-			// add any background color rules
2088
-			if(!empty($background)){
2089
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
2090
-			}
2091
-			if(!empty($background_i)){
2092
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2093
-			}
2094
-
2095
-			// add any border color rules
2096
-			if(!empty($border)){
2097
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
2098
-			}
2099
-			if(!empty($border_i)){
2100
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2101
-			}
2102
-
2103
-			// add any fill color rules
2104
-			if(!empty($fill)){
2105
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
2106
-			}
2107
-			if(!empty($fill_i)){
2108
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2109
-			}
2110
-
2111
-
2112
-			$prefix = $compatibility ? ".bsui " : "";
2113
-
2114
-			// darken
2115
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2116
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2117
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2118
-
2119
-			// lighten
2120
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2121
-
2122
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
2123
-			$op_25 = $color_code."40"; // 25% opacity
2124
-
2125
-
2126
-			// button states
2127
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2128
-			$output .= $prefix ." .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-secondary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2129
-			$output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active, $prefix .btn-secondary:not(:disabled):not(.disabled).active, .show>$prefix .btn-secondary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
2130
-			$output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-secondary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
2131
-
2132
-
2133
-			return $output;
2134
-		}
2135
-
2136
-		/**
2137
-		 * Increases or decreases the brightness of a color by a percentage of the current brightness.
2138
-		 *
2139
-		 * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
2140
-		 * @param   float   $adjustPercent  A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker.
2141
-		 *
2142
-		 * @return  string
2143
-		 */
2144
-		public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2145
-			$hexCode = ltrim($hexCode, '#');
2146
-
2147
-			if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2148
-				return $hexCode;
2149
-			}
2150
-
2151
-			if (strlen($hexCode) == 3) {
2152
-				$hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
2153
-			}
2154
-
2155
-			$hexCode = array_map('hexdec', str_split($hexCode, 2));
2156
-
2157
-			foreach ($hexCode as & $color) {
2158
-				$adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2159
-				$adjustAmount = ceil($adjustableLimit * $adjustPercent);
2160
-
2161
-				$color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2162
-			}
2163
-
2164
-			return '#' . implode($hexCode);
2165
-		}
2166
-
2167
-		/**
2168
-		 * Check if we should display examples.
2169
-		 */
2170
-		public function maybe_show_examples(){
2171
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2172
-				echo "<head>";
2173
-				wp_head();
2174
-				echo "</head>";
2175
-				echo "<body>";
2176
-				echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2177
-				echo "</body>";
2178
-				exit;
2179
-			}
2180
-		}
2181
-
2182
-		/**
2183
-		 * Get developer examples.
2184
-		 *
2185
-		 * @return string
2186
-		 */
2187
-		public function get_examples(){
2188
-			$output = '';
2189
-
2190
-
2191
-			// open form
2192
-			$output .= "<form class='p-5 m-5 border rounded'>";
2193
-
2194
-			// input example
2195
-			$output .= aui()->input(array(
2196
-				'type'  =>  'text',
2197
-				'id'    =>  'text-example',
2198
-				'name'    =>  'text-example',
2199
-				'placeholder'   => 'text placeholder',
2200
-				'title'   => 'Text input example',
2201
-				'value' =>  '',
2202
-				'required'  => false,
2203
-				'help_text' => 'help text',
2204
-				'label' => 'Text input example label'
2205
-			));
2206
-
2207
-			// input example
2208
-			$output .= aui()->input(array(
2209
-				'type'  =>  'url',
2210
-				'id'    =>  'text-example2',
2211
-				'name'    =>  'text-example',
2212
-				'placeholder'   => 'url placeholder',
2213
-				'title'   => 'Text input example',
2214
-				'value' =>  '',
2215
-				'required'  => false,
2216
-				'help_text' => 'help text',
2217
-				'label' => 'Text input example label'
2218
-			));
2219
-
2220
-			// checkbox example
2221
-			$output .= aui()->input(array(
2222
-				'type'  =>  'checkbox',
2223
-				'id'    =>  'checkbox-example',
2224
-				'name'    =>  'checkbox-example',
2225
-				'placeholder'   => 'checkbox-example',
2226
-				'title'   => 'Checkbox example',
2227
-				'value' =>  '1',
2228
-				'checked'   => true,
2229
-				'required'  => false,
2230
-				'help_text' => 'help text',
2231
-				'label' => 'Checkbox checked'
2232
-			));
2233
-
2234
-			// checkbox example
2235
-			$output .= aui()->input(array(
2236
-				'type'  =>  'checkbox',
2237
-				'id'    =>  'checkbox-example2',
2238
-				'name'    =>  'checkbox-example2',
2239
-				'placeholder'   => 'checkbox-example',
2240
-				'title'   => 'Checkbox example',
2241
-				'value' =>  '1',
2242
-				'checked'   => false,
2243
-				'required'  => false,
2244
-				'help_text' => 'help text',
2245
-				'label' => 'Checkbox un-checked'
2246
-			));
2247
-
2248
-			// switch example
2249
-			$output .= aui()->input(array(
2250
-				'type'  =>  'checkbox',
2251
-				'id'    =>  'switch-example',
2252
-				'name'    =>  'switch-example',
2253
-				'placeholder'   => 'checkbox-example',
2254
-				'title'   => 'Switch example',
2255
-				'value' =>  '1',
2256
-				'checked'   => true,
2257
-				'switch'    => true,
2258
-				'required'  => false,
2259
-				'help_text' => 'help text',
2260
-				'label' => 'Switch on'
2261
-			));
2262
-
2263
-			// switch example
2264
-			$output .= aui()->input(array(
2265
-				'type'  =>  'checkbox',
2266
-				'id'    =>  'switch-example2',
2267
-				'name'    =>  'switch-example2',
2268
-				'placeholder'   => 'checkbox-example',
2269
-				'title'   => 'Switch example',
2270
-				'value' =>  '1',
2271
-				'checked'   => false,
2272
-				'switch'    => true,
2273
-				'required'  => false,
2274
-				'help_text' => 'help text',
2275
-				'label' => 'Switch off'
2276
-			));
2277
-
2278
-			// close form
2279
-			$output .= "</form>";
2280
-
2281
-			return $output;
2282
-		}
2283
-
2284
-		/**
2285
-		 * Calendar params.
2286
-		 *
2287
-		 * @since 0.1.44
2288
-		 *
2289
-		 * @return array Calendar params.
2290
-		 */
2291
-		public static function calendar_params() {
2292
-			$params = array(
2293
-				'month_long_1' => __( 'January', 'ayecode-connect' ),
2294
-				'month_long_2' => __( 'February', 'ayecode-connect' ),
2295
-				'month_long_3' => __( 'March', 'ayecode-connect' ),
2296
-				'month_long_4' => __( 'April', 'ayecode-connect' ),
2297
-				'month_long_5' => __( 'May', 'ayecode-connect' ),
2298
-				'month_long_6' => __( 'June', 'ayecode-connect' ),
2299
-				'month_long_7' => __( 'July', 'ayecode-connect' ),
2300
-				'month_long_8' => __( 'August', 'ayecode-connect' ),
2301
-				'month_long_9' => __( 'September', 'ayecode-connect' ),
2302
-				'month_long_10' => __( 'October', 'ayecode-connect' ),
2303
-				'month_long_11' => __( 'November', 'ayecode-connect' ),
2304
-				'month_long_12' => __( 'December', 'ayecode-connect' ),
2305
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2306
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2307
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2308
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2309
-				'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2310
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2311
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2312
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2313
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2314
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2315
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2316
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2317
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2318
-				'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2319
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2320
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2321
-				'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2322
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2323
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2324
-				'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2325
-				'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2326
-				'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2327
-				'day_s2_4' => __( 'We', 'ayecode-connect' ),
2328
-				'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2329
-				'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2330
-				'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2331
-				'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2332
-				'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2333
-				'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2334
-				'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2335
-				'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2336
-				'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2337
-				'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2338
-				'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2339
-				'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2340
-				'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2341
-				'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2342
-				'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2343
-				'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2344
-				'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2345
-				'am_lower' => __( 'am', 'ayecode-connect' ),
2346
-				'pm_lower' => __( 'pm', 'ayecode-connect' ),
2347
-				'am_upper' => __( 'AM', 'ayecode-connect' ),
2348
-				'pm_upper' => __( 'PM', 'ayecode-connect' ),
2349
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2350
-				'time_24hr' => false,
2351
-				'year' => __( 'Year', 'ayecode-connect' ),
2352
-				'hour' => __( 'Hour', 'ayecode-connect' ),
2353
-				'minute' => __( 'Minute', 'ayecode-connect' ),
2354
-				'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2355
-				'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2356
-				'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2357
-				'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2358
-			);
2359
-
2360
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
2361
-		}
2362
-
2363
-		/**
2364
-		 * Flatpickr calendar localize.
2365
-		 *
2366
-		 * @since 0.1.44
2367
-		 *
2368
-		 * @return string Calendar locale.
2369
-		 */
2370
-		public static function flatpickr_locale() {
2371
-			$params = self::calendar_params();
2372
-
2373
-			if ( is_string( $params ) ) {
2374
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2375
-			} else {
2376
-				foreach ( (array) $params as $key => $value ) {
2377
-					if ( ! is_scalar( $value ) ) {
2378
-						continue;
2379
-					}
2380
-
2381
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2382
-				}
2383
-			}
2384 2190
 
2385
-			$day_s3 = array();
2386
-			$day_s5 = array();
2191
+            // open form
2192
+            $output .= "<form class='p-5 m-5 border rounded'>";
2193
+
2194
+            // input example
2195
+            $output .= aui()->input(array(
2196
+                'type'  =>  'text',
2197
+                'id'    =>  'text-example',
2198
+                'name'    =>  'text-example',
2199
+                'placeholder'   => 'text placeholder',
2200
+                'title'   => 'Text input example',
2201
+                'value' =>  '',
2202
+                'required'  => false,
2203
+                'help_text' => 'help text',
2204
+                'label' => 'Text input example label'
2205
+            ));
2206
+
2207
+            // input example
2208
+            $output .= aui()->input(array(
2209
+                'type'  =>  'url',
2210
+                'id'    =>  'text-example2',
2211
+                'name'    =>  'text-example',
2212
+                'placeholder'   => 'url placeholder',
2213
+                'title'   => 'Text input example',
2214
+                'value' =>  '',
2215
+                'required'  => false,
2216
+                'help_text' => 'help text',
2217
+                'label' => 'Text input example label'
2218
+            ));
2219
+
2220
+            // checkbox example
2221
+            $output .= aui()->input(array(
2222
+                'type'  =>  'checkbox',
2223
+                'id'    =>  'checkbox-example',
2224
+                'name'    =>  'checkbox-example',
2225
+                'placeholder'   => 'checkbox-example',
2226
+                'title'   => 'Checkbox example',
2227
+                'value' =>  '1',
2228
+                'checked'   => true,
2229
+                'required'  => false,
2230
+                'help_text' => 'help text',
2231
+                'label' => 'Checkbox checked'
2232
+            ));
2233
+
2234
+            // checkbox example
2235
+            $output .= aui()->input(array(
2236
+                'type'  =>  'checkbox',
2237
+                'id'    =>  'checkbox-example2',
2238
+                'name'    =>  'checkbox-example2',
2239
+                'placeholder'   => 'checkbox-example',
2240
+                'title'   => 'Checkbox example',
2241
+                'value' =>  '1',
2242
+                'checked'   => false,
2243
+                'required'  => false,
2244
+                'help_text' => 'help text',
2245
+                'label' => 'Checkbox un-checked'
2246
+            ));
2247
+
2248
+            // switch example
2249
+            $output .= aui()->input(array(
2250
+                'type'  =>  'checkbox',
2251
+                'id'    =>  'switch-example',
2252
+                'name'    =>  'switch-example',
2253
+                'placeholder'   => 'checkbox-example',
2254
+                'title'   => 'Switch example',
2255
+                'value' =>  '1',
2256
+                'checked'   => true,
2257
+                'switch'    => true,
2258
+                'required'  => false,
2259
+                'help_text' => 'help text',
2260
+                'label' => 'Switch on'
2261
+            ));
2262
+
2263
+            // switch example
2264
+            $output .= aui()->input(array(
2265
+                'type'  =>  'checkbox',
2266
+                'id'    =>  'switch-example2',
2267
+                'name'    =>  'switch-example2',
2268
+                'placeholder'   => 'checkbox-example',
2269
+                'title'   => 'Switch example',
2270
+                'value' =>  '1',
2271
+                'checked'   => false,
2272
+                'switch'    => true,
2273
+                'required'  => false,
2274
+                'help_text' => 'help text',
2275
+                'label' => 'Switch off'
2276
+            ));
2277
+
2278
+            // close form
2279
+            $output .= "</form>";
2280
+
2281
+            return $output;
2282
+        }
2283
+
2284
+        /**
2285
+         * Calendar params.
2286
+         *
2287
+         * @since 0.1.44
2288
+         *
2289
+         * @return array Calendar params.
2290
+         */
2291
+        public static function calendar_params() {
2292
+            $params = array(
2293
+                'month_long_1' => __( 'January', 'ayecode-connect' ),
2294
+                'month_long_2' => __( 'February', 'ayecode-connect' ),
2295
+                'month_long_3' => __( 'March', 'ayecode-connect' ),
2296
+                'month_long_4' => __( 'April', 'ayecode-connect' ),
2297
+                'month_long_5' => __( 'May', 'ayecode-connect' ),
2298
+                'month_long_6' => __( 'June', 'ayecode-connect' ),
2299
+                'month_long_7' => __( 'July', 'ayecode-connect' ),
2300
+                'month_long_8' => __( 'August', 'ayecode-connect' ),
2301
+                'month_long_9' => __( 'September', 'ayecode-connect' ),
2302
+                'month_long_10' => __( 'October', 'ayecode-connect' ),
2303
+                'month_long_11' => __( 'November', 'ayecode-connect' ),
2304
+                'month_long_12' => __( 'December', 'ayecode-connect' ),
2305
+                'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2306
+                'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2307
+                'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2308
+                'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2309
+                'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2310
+                'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2311
+                'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2312
+                'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2313
+                'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2314
+                'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2315
+                'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2316
+                'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2317
+                'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2318
+                'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2319
+                'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2320
+                'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2321
+                'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2322
+                'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2323
+                'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2324
+                'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2325
+                'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2326
+                'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2327
+                'day_s2_4' => __( 'We', 'ayecode-connect' ),
2328
+                'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2329
+                'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2330
+                'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2331
+                'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2332
+                'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2333
+                'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2334
+                'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2335
+                'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2336
+                'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2337
+                'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2338
+                'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2339
+                'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2340
+                'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2341
+                'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2342
+                'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2343
+                'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2344
+                'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2345
+                'am_lower' => __( 'am', 'ayecode-connect' ),
2346
+                'pm_lower' => __( 'pm', 'ayecode-connect' ),
2347
+                'am_upper' => __( 'AM', 'ayecode-connect' ),
2348
+                'pm_upper' => __( 'PM', 'ayecode-connect' ),
2349
+                'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2350
+                'time_24hr' => false,
2351
+                'year' => __( 'Year', 'ayecode-connect' ),
2352
+                'hour' => __( 'Hour', 'ayecode-connect' ),
2353
+                'minute' => __( 'Minute', 'ayecode-connect' ),
2354
+                'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2355
+                'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2356
+                'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2357
+                'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2358
+            );
2359
+
2360
+            return apply_filters( 'ayecode_ui_calendar_params', $params );
2361
+        }
2362
+
2363
+        /**
2364
+         * Flatpickr calendar localize.
2365
+         *
2366
+         * @since 0.1.44
2367
+         *
2368
+         * @return string Calendar locale.
2369
+         */
2370
+        public static function flatpickr_locale() {
2371
+            $params = self::calendar_params();
2372
+
2373
+            if ( is_string( $params ) ) {
2374
+                $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2375
+            } else {
2376
+                foreach ( (array) $params as $key => $value ) {
2377
+                    if ( ! is_scalar( $value ) ) {
2378
+                        continue;
2379
+                    }
2380
+
2381
+                    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2382
+                }
2383
+            }
2387 2384
 
2388
-			for ( $i = 1; $i <= 7; $i ++ ) {
2389
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2390
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2391
-			}
2385
+            $day_s3 = array();
2386
+            $day_s5 = array();
2387
+
2388
+            for ( $i = 1; $i <= 7; $i ++ ) {
2389
+                $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2390
+                $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2391
+            }
2392 2392
 
2393
-			$month_s = array();
2394
-			$month_long = array();
2393
+            $month_s = array();
2394
+            $month_long = array();
2395 2395
 
2396
-			for ( $i = 1; $i <= 12; $i ++ ) {
2397
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2398
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2399
-			}
2396
+            for ( $i = 1; $i <= 12; $i ++ ) {
2397
+                $month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2398
+                $month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2399
+            }
2400 2400
 
2401
-			ob_start();
2402
-		if ( 0 ) { ?><script><?php } ?>
2401
+            ob_start();
2402
+        if ( 0 ) { ?><script><?php } ?>
2403 2403
                 {
2404 2404
                     weekdays: {
2405 2405
                         shorthand: ['<?php echo implode( "','", $day_s3 ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
@@ -2438,189 +2438,189 @@  discard block
 block discarded – undo
2438 2438
                 }
2439 2439
 				<?php if ( 0 ) { ?></script><?php } ?>
2440 2440
 			<?php
2441
-			$locale = ob_get_clean();
2442
-
2443
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2444
-		}
2445
-
2446
-		/**
2447
-		 * Select2 JS params.
2448
-		 *
2449
-		 * @since 0.1.44
2450
-		 *
2451
-		 * @return array Select2 JS params.
2452
-		 */
2453
-		public static function select2_params() {
2454
-			$params = array(
2455
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2456
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2457
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2458
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2459
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2460
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2461
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2462
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2463
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2464
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2465
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2466
-			);
2467
-
2468
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2469
-		}
2470
-
2471
-		/**
2472
-		 * Select2 JS localize.
2473
-		 *
2474
-		 * @since 0.1.44
2475
-		 *
2476
-		 * @return string Select2 JS locale.
2477
-		 */
2478
-		public static function select2_locale() {
2479
-			$params = self::select2_params();
2480
-
2481
-			foreach ( (array) $params as $key => $value ) {
2482
-				if ( ! is_scalar( $value ) ) {
2483
-					continue;
2484
-				}
2441
+            $locale = ob_get_clean();
2485 2442
 
2486
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2487
-			}
2488
-
2489
-			$locale = json_encode( $params );
2490
-
2491
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2492
-		}
2493
-
2494
-		/**
2495
-		 * Time ago JS localize.
2496
-		 *
2497
-		 * @since 0.1.47
2498
-		 *
2499
-		 * @return string Time ago JS locale.
2500
-		 */
2501
-		public static function timeago_locale() {
2502
-			$params = array(
2503
-				'prefix_ago' => '',
2504
-				'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2505
-				'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2506
-				'suffix_after' => '',
2507
-				'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2508
-				'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2509
-				'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2510
-				'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2511
-				'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2512
-				'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2513
-				'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2514
-				'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2515
-				'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2516
-				'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2517
-				'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2518
-			);
2519
-
2520
-			$params = apply_filters( 'ayecode_ui_timeago_params', $params );
2521
-
2522
-			foreach ( (array) $params as $key => $value ) {
2523
-				if ( ! is_scalar( $value ) ) {
2524
-					continue;
2525
-				}
2443
+            return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2444
+        }
2445
+
2446
+        /**
2447
+         * Select2 JS params.
2448
+         *
2449
+         * @since 0.1.44
2450
+         *
2451
+         * @return array Select2 JS params.
2452
+         */
2453
+        public static function select2_params() {
2454
+            $params = array(
2455
+                'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2456
+                'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2457
+                'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2458
+                'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2459
+                'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2460
+                'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2461
+                'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2462
+                'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2463
+                'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2464
+                'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2465
+                'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2466
+            );
2467
+
2468
+            return apply_filters( 'ayecode_ui_select2_params', $params );
2469
+        }
2470
+
2471
+        /**
2472
+         * Select2 JS localize.
2473
+         *
2474
+         * @since 0.1.44
2475
+         *
2476
+         * @return string Select2 JS locale.
2477
+         */
2478
+        public static function select2_locale() {
2479
+            $params = self::select2_params();
2480
+
2481
+            foreach ( (array) $params as $key => $value ) {
2482
+                if ( ! is_scalar( $value ) ) {
2483
+                    continue;
2484
+                }
2485
+
2486
+                $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2487
+            }
2488
+
2489
+            $locale = json_encode( $params );
2490
+
2491
+            return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2492
+        }
2493
+
2494
+        /**
2495
+         * Time ago JS localize.
2496
+         *
2497
+         * @since 0.1.47
2498
+         *
2499
+         * @return string Time ago JS locale.
2500
+         */
2501
+        public static function timeago_locale() {
2502
+            $params = array(
2503
+                'prefix_ago' => '',
2504
+                'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2505
+                'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2506
+                'suffix_after' => '',
2507
+                'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2508
+                'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2509
+                'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2510
+                'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2511
+                'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2512
+                'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2513
+                'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2514
+                'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2515
+                'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2516
+                'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2517
+                'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2518
+            );
2519
+
2520
+            $params = apply_filters( 'ayecode_ui_timeago_params', $params );
2521
+
2522
+            foreach ( (array) $params as $key => $value ) {
2523
+                if ( ! is_scalar( $value ) ) {
2524
+                    continue;
2525
+                }
2526 2526
 
2527
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2528
-			}
2529
-
2530
-			$locale = json_encode( $params );
2531
-
2532
-			return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2533
-		}
2534
-
2535
-		/**
2536
-		 * JavaScript Minifier
2537
-		 *
2538
-		 * @param $input
2539
-		 *
2540
-		 * @return mixed
2541
-		 */
2542
-		public static function minify_js($input) {
2543
-			if(trim($input) === "") return $input;
2544
-			return preg_replace(
2545
-				array(
2546
-					// Remove comment(s)
2547
-					'#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2548
-					// Remove white-space(s) outside the string and regex
2549
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2550
-					// Remove the last semicolon
2551
-					'#;+\}#',
2552
-					// Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2553
-					'#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2554
-					// --ibid. From `foo['bar']` to `foo.bar`
2555
-					'#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2556
-				),
2557
-				array(
2558
-					'$1',
2559
-					'$1$2',
2560
-					'}',
2561
-					'$1$3',
2562
-					'$1.$3'
2563
-				),
2564
-				$input);
2565
-		}
2566
-
2567
-		/**
2568
-		 * Minify CSS
2569
-		 *
2570
-		 * @param $input
2571
-		 *
2572
-		 * @return mixed
2573
-		 */
2574
-		public static function minify_css($input) {
2575
-			if(trim($input) === "") return $input;
2576
-			return preg_replace(
2577
-				array(
2578
-					// Remove comment(s)
2579
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2580
-					// Remove unused white-space(s)
2581
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2582
-					// Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2583
-					'#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2584
-					// Replace `:0 0 0 0` with `:0`
2585
-					'#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2586
-					// Replace `background-position:0` with `background-position:0 0`
2587
-					'#(background-position):0(?=[;\}])#si',
2588
-					// Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2589
-					'#(?<=[\s:,\-])0+\.(\d+)#s',
2590
-					// Minify string value
2591
-					'#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2592
-					'#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2593
-					// Minify HEX color code
2594
-					'#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2595
-					// Replace `(border|outline):none` with `(border|outline):0`
2596
-					'#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2597
-					// Remove empty selector(s)
2598
-					'#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2599
-				),
2600
-				array(
2601
-					'$1',
2602
-					'$1$2$3$4$5$6$7',
2603
-					'$1',
2604
-					':0',
2605
-					'$1:0 0',
2606
-					'.$1',
2607
-					'$1$3',
2608
-					'$1$2$4$5',
2609
-					'$1$2$3',
2610
-					'$1:0',
2611
-					'$1$2'
2612
-				),
2613
-				$input);
2614
-		}
2615
-
2616
-		/**
2617
-		 * Get the conditional fields JavaScript.
2618
-		 *
2619
-		 * @return mixed
2620
-		 */
2621
-		public function conditional_fields_js() {
2622
-			ob_start();
2623
-			?>
2527
+                $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2528
+            }
2529
+
2530
+            $locale = json_encode( $params );
2531
+
2532
+            return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2533
+        }
2534
+
2535
+        /**
2536
+         * JavaScript Minifier
2537
+         *
2538
+         * @param $input
2539
+         *
2540
+         * @return mixed
2541
+         */
2542
+        public static function minify_js($input) {
2543
+            if(trim($input) === "") return $input;
2544
+            return preg_replace(
2545
+                array(
2546
+                    // Remove comment(s)
2547
+                    '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2548
+                    // Remove white-space(s) outside the string and regex
2549
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2550
+                    // Remove the last semicolon
2551
+                    '#;+\}#',
2552
+                    // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2553
+                    '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2554
+                    // --ibid. From `foo['bar']` to `foo.bar`
2555
+                    '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2556
+                ),
2557
+                array(
2558
+                    '$1',
2559
+                    '$1$2',
2560
+                    '}',
2561
+                    '$1$3',
2562
+                    '$1.$3'
2563
+                ),
2564
+                $input);
2565
+        }
2566
+
2567
+        /**
2568
+         * Minify CSS
2569
+         *
2570
+         * @param $input
2571
+         *
2572
+         * @return mixed
2573
+         */
2574
+        public static function minify_css($input) {
2575
+            if(trim($input) === "") return $input;
2576
+            return preg_replace(
2577
+                array(
2578
+                    // Remove comment(s)
2579
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2580
+                    // Remove unused white-space(s)
2581
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2582
+                    // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2583
+                    '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2584
+                    // Replace `:0 0 0 0` with `:0`
2585
+                    '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2586
+                    // Replace `background-position:0` with `background-position:0 0`
2587
+                    '#(background-position):0(?=[;\}])#si',
2588
+                    // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2589
+                    '#(?<=[\s:,\-])0+\.(\d+)#s',
2590
+                    // Minify string value
2591
+                    '#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2592
+                    '#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2593
+                    // Minify HEX color code
2594
+                    '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2595
+                    // Replace `(border|outline):none` with `(border|outline):0`
2596
+                    '#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2597
+                    // Remove empty selector(s)
2598
+                    '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2599
+                ),
2600
+                array(
2601
+                    '$1',
2602
+                    '$1$2$3$4$5$6$7',
2603
+                    '$1',
2604
+                    ':0',
2605
+                    '$1:0 0',
2606
+                    '.$1',
2607
+                    '$1$3',
2608
+                    '$1$2$4$5',
2609
+                    '$1$2$3',
2610
+                    '$1:0',
2611
+                    '$1$2'
2612
+                ),
2613
+                $input);
2614
+        }
2615
+
2616
+        /**
2617
+         * Get the conditional fields JavaScript.
2618
+         *
2619
+         * @return mixed
2620
+         */
2621
+        public function conditional_fields_js() {
2622
+            ob_start();
2623
+            ?>
2624 2624
             <script>
2625 2625
                 /**
2626 2626
                  * Conditional Fields
@@ -3155,237 +3155,237 @@  discard block
 block discarded – undo
3155 3155
 				<?php do_action( 'aui_conditional_fields_js', $this ); ?>
3156 3156
             </script>
3157 3157
 			<?php
3158
-			$output = ob_get_clean();
3159
-
3160
-			return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3161
-		}
3162
-
3163
-		/**
3164
-		 * Check if block editor page.
3165
-		 *
3166
-		 * @since 0.2.27
3167
-		 *
3168
-		 * @return bool
3169
-		 */
3170
-		public static function is_block_editor() {
3171
-			if ( is_admin() ) {
3172
-				$current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array();
3173
-
3174
-				if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) {
3175
-					return true;
3176
-				}
3177
-			}
3178
-
3179
-			return false;
3180
-		}
3181
-
3182
-		/**
3183
-		 * Checks if the current call is a ajax call to get the block content.
3184
-		 *
3185
-		 * This can be used in your widget to return different content as the block content.
3186
-		 *
3187
-		 * @since 0.2.27
3188
-		 *
3189
-		 * @return bool
3190
-		 */
3191
-		public static function is_block_content_call() {
3192
-			$result = false;
3193
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3194
-				$result = true;
3195
-			}
3196
-
3197
-			return $result;
3198
-		}
3199
-
3200
-		/**
3201
-		 * Tests if the current output is inside a Divi preview.
3202
-		 *
3203
-		 * @since 0.2.27
3204
-		 *
3205
-		 * @return bool
3206
-		 */
3207
-		public static function is_divi_preview() {
3208
-			$result = false;
3209
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
3210
-				$result = true;
3211
-			}
3212
-
3213
-			return $result;
3214
-		}
3215
-
3216
-		/**
3217
-		 * Tests if the current output is inside a elementor preview.
3218
-		 *
3219
-		 *
3220
-		 * @since 0.2.27
3221
-		 *
3222
-		 * @return bool
3223
-		 */
3224
-		public static function is_elementor_preview() {
3225
-			$result = false;
3226
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
3227
-				$result = true;
3228
-			}
3229
-
3230
-			return $result;
3231
-		}
3232
-
3233
-		/**
3234
-		 * Tests if the current output is inside a Beaver builder preview.
3235
-		 *
3236
-		 * @since 0.2.27
3237
-		 *
3238
-		 * @return bool
3239
-		 */
3240
-		public static function is_beaver_preview() {
3241
-			$result = false;
3242
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
3243
-				$result = true;
3244
-			}
3245
-
3246
-			return $result;
3247
-		}
3248
-
3249
-		/**
3250
-		 * Tests if the current output is inside a siteorigin builder preview.
3251
-		 *
3252
-		 * @since 0.2.27
3253
-		 *
3254
-		 * @return bool
3255
-		 */
3256
-		public static function is_siteorigin_preview() {
3257
-			$result = false;
3258
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
3259
-				$result = true;
3260
-			}
3261
-
3262
-			return $result;
3263
-		}
3264
-
3265
-		/**
3266
-		 * Tests if the current output is inside a cornerstone builder preview.
3267
-		 *
3268
-		 * @since 0.2.27
3269
-		 *
3270
-		 * @return bool
3271
-		 */
3272
-		public static function is_cornerstone_preview() {
3273
-			$result = false;
3274
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
3275
-				$result = true;
3276
-			}
3277
-
3278
-			return $result;
3279
-		}
3280
-
3281
-		/**
3282
-		 * Tests if the current output is inside a fusion builder preview.
3283
-		 *
3284
-		 * @return bool
3285
-		 *@since 1.1.0
3286
-		 */
3287
-		public static function is_fusion_preview() {
3288
-			$result = false;
3289
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
3290
-				$result = true;
3291
-			}
3292
-
3293
-			return $result;
3294
-		}
3295
-
3296
-		/**
3297
-		 * Tests if the current output is inside a Oxygen builder preview.
3298
-		 *
3299
-		 * @return bool
3300
-		 *@since 1.0.18
3301
-		 */
3302
-		public static function is_oxygen_preview() {
3303
-			$result = false;
3304
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
3305
-				$result = true;
3306
-			}
3307
-
3308
-			return $result;
3309
-		}
3310
-
3311
-		/**
3312
-		 * Check for Kallyas theme Zion builder preview.
3313
-		 *
3314
-		 * @since 0.2.27
3315
-		 *
3316
-		 * @return bool
3317
-		 */
3318
-		public static function is_kallyas_zion_preview() {
3319
-			$result = false;
3320
-
3321
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
3322
-				$result = true;
3323
-			}
3324
-
3325
-			return $result;
3326
-		}
3327
-
3328
-		/**
3329
-		 * Check for Bricks theme builder preview.
3330
-		 *
3331
-		 * @since 0.2.27
3332
-		 *
3333
-		 * @return bool
3334
-		 */
3335
-		public static function is_bricks_preview() {
3336
-			$result = false;
3337
-
3338
-			if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
3339
-				$result = true;
3340
-			}
3341
-
3342
-			return $result;
3343
-		}
3344
-
3345
-		/**
3346
-		 * General function to check if we are in a preview situation.
3347
-		 *
3348
-		 * @since 0.2.27
3349
-		 *
3350
-		 * @return bool
3351
-		 */
3352
-		public static function is_preview() {
3353
-			$preview = false;
3354
-
3355
-			if ( self::is_block_editor() ) {
3356
-				return true;
3357
-			}
3358
-
3359
-			if( self::is_block_content_call() ) {
3360
-				$preview = true;
3361
-			} elseif ( self::is_divi_preview() ) {
3362
-				$preview = true;
3363
-			} elseif ( self::is_elementor_preview() ) {
3364
-				$preview = true;
3365
-			} elseif ( self::is_beaver_preview() ) {
3366
-				$preview = true;
3367
-			} elseif ( self::is_siteorigin_preview() ) {
3368
-				$preview = true;
3369
-			} elseif ( self::is_cornerstone_preview() ) {
3370
-				$preview = true;
3371
-			} elseif ( self::is_fusion_preview() ) {
3372
-				$preview = true;
3373
-			} elseif ( self::is_oxygen_preview() ) {
3374
-				$preview = true;
3375
-			} elseif( self::is_kallyas_zion_preview() ) {
3376
-				$preview = true;
3377
-			} elseif( self::is_bricks_preview() ) {
3378
-				$preview = true;
3379
-			}
3380
-
3381
-			return $preview;
3382
-		}
3383
-	}
3384
-
3385
-	global $ayecode_ui_settings;
3386
-
3387
-	/**
3388
-	 * Run the class if found.
3389
-	 */
3390
-	$ayecode_ui_settings = AyeCode_UI_Settings::instance();
3158
+            $output = ob_get_clean();
3159
+
3160
+            return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3161
+        }
3162
+
3163
+        /**
3164
+         * Check if block editor page.
3165
+         *
3166
+         * @since 0.2.27
3167
+         *
3168
+         * @return bool
3169
+         */
3170
+        public static function is_block_editor() {
3171
+            if ( is_admin() ) {
3172
+                $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array();
3173
+
3174
+                if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) {
3175
+                    return true;
3176
+                }
3177
+            }
3178
+
3179
+            return false;
3180
+        }
3181
+
3182
+        /**
3183
+         * Checks if the current call is a ajax call to get the block content.
3184
+         *
3185
+         * This can be used in your widget to return different content as the block content.
3186
+         *
3187
+         * @since 0.2.27
3188
+         *
3189
+         * @return bool
3190
+         */
3191
+        public static function is_block_content_call() {
3192
+            $result = false;
3193
+            if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3194
+                $result = true;
3195
+            }
3196
+
3197
+            return $result;
3198
+        }
3199
+
3200
+        /**
3201
+         * Tests if the current output is inside a Divi preview.
3202
+         *
3203
+         * @since 0.2.27
3204
+         *
3205
+         * @return bool
3206
+         */
3207
+        public static function is_divi_preview() {
3208
+            $result = false;
3209
+            if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
3210
+                $result = true;
3211
+            }
3212
+
3213
+            return $result;
3214
+        }
3215
+
3216
+        /**
3217
+         * Tests if the current output is inside a elementor preview.
3218
+         *
3219
+         *
3220
+         * @since 0.2.27
3221
+         *
3222
+         * @return bool
3223
+         */
3224
+        public static function is_elementor_preview() {
3225
+            $result = false;
3226
+            if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
3227
+                $result = true;
3228
+            }
3229
+
3230
+            return $result;
3231
+        }
3232
+
3233
+        /**
3234
+         * Tests if the current output is inside a Beaver builder preview.
3235
+         *
3236
+         * @since 0.2.27
3237
+         *
3238
+         * @return bool
3239
+         */
3240
+        public static function is_beaver_preview() {
3241
+            $result = false;
3242
+            if ( isset( $_REQUEST['fl_builder'] ) ) {
3243
+                $result = true;
3244
+            }
3245
+
3246
+            return $result;
3247
+        }
3248
+
3249
+        /**
3250
+         * Tests if the current output is inside a siteorigin builder preview.
3251
+         *
3252
+         * @since 0.2.27
3253
+         *
3254
+         * @return bool
3255
+         */
3256
+        public static function is_siteorigin_preview() {
3257
+            $result = false;
3258
+            if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
3259
+                $result = true;
3260
+            }
3261
+
3262
+            return $result;
3263
+        }
3264
+
3265
+        /**
3266
+         * Tests if the current output is inside a cornerstone builder preview.
3267
+         *
3268
+         * @since 0.2.27
3269
+         *
3270
+         * @return bool
3271
+         */
3272
+        public static function is_cornerstone_preview() {
3273
+            $result = false;
3274
+            if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
3275
+                $result = true;
3276
+            }
3277
+
3278
+            return $result;
3279
+        }
3280
+
3281
+        /**
3282
+         * Tests if the current output is inside a fusion builder preview.
3283
+         *
3284
+         * @return bool
3285
+         *@since 1.1.0
3286
+         */
3287
+        public static function is_fusion_preview() {
3288
+            $result = false;
3289
+            if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
3290
+                $result = true;
3291
+            }
3292
+
3293
+            return $result;
3294
+        }
3295
+
3296
+        /**
3297
+         * Tests if the current output is inside a Oxygen builder preview.
3298
+         *
3299
+         * @return bool
3300
+         *@since 1.0.18
3301
+         */
3302
+        public static function is_oxygen_preview() {
3303
+            $result = false;
3304
+            if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
3305
+                $result = true;
3306
+            }
3307
+
3308
+            return $result;
3309
+        }
3310
+
3311
+        /**
3312
+         * Check for Kallyas theme Zion builder preview.
3313
+         *
3314
+         * @since 0.2.27
3315
+         *
3316
+         * @return bool
3317
+         */
3318
+        public static function is_kallyas_zion_preview() {
3319
+            $result = false;
3320
+
3321
+            if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
3322
+                $result = true;
3323
+            }
3324
+
3325
+            return $result;
3326
+        }
3327
+
3328
+        /**
3329
+         * Check for Bricks theme builder preview.
3330
+         *
3331
+         * @since 0.2.27
3332
+         *
3333
+         * @return bool
3334
+         */
3335
+        public static function is_bricks_preview() {
3336
+            $result = false;
3337
+
3338
+            if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
3339
+                $result = true;
3340
+            }
3341
+
3342
+            return $result;
3343
+        }
3344
+
3345
+        /**
3346
+         * General function to check if we are in a preview situation.
3347
+         *
3348
+         * @since 0.2.27
3349
+         *
3350
+         * @return bool
3351
+         */
3352
+        public static function is_preview() {
3353
+            $preview = false;
3354
+
3355
+            if ( self::is_block_editor() ) {
3356
+                return true;
3357
+            }
3358
+
3359
+            if( self::is_block_content_call() ) {
3360
+                $preview = true;
3361
+            } elseif ( self::is_divi_preview() ) {
3362
+                $preview = true;
3363
+            } elseif ( self::is_elementor_preview() ) {
3364
+                $preview = true;
3365
+            } elseif ( self::is_beaver_preview() ) {
3366
+                $preview = true;
3367
+            } elseif ( self::is_siteorigin_preview() ) {
3368
+                $preview = true;
3369
+            } elseif ( self::is_cornerstone_preview() ) {
3370
+                $preview = true;
3371
+            } elseif ( self::is_fusion_preview() ) {
3372
+                $preview = true;
3373
+            } elseif ( self::is_oxygen_preview() ) {
3374
+                $preview = true;
3375
+            } elseif( self::is_kallyas_zion_preview() ) {
3376
+                $preview = true;
3377
+            } elseif( self::is_bricks_preview() ) {
3378
+                $preview = true;
3379
+            }
3380
+
3381
+            return $preview;
3382
+        }
3383
+    }
3384
+
3385
+    global $ayecode_ui_settings;
3386
+
3387
+    /**
3388
+     * Run the class if found.
3389
+     */
3390
+    $ayecode_ui_settings = AyeCode_UI_Settings::instance();
3391 3391
 }
3392 3392
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +795 added lines, -795 removed lines patch added patch discarded remove patch
@@ -12,14 +12,14 @@  discard block
 block discarded – undo
12 12
 /**
13 13
  * Bail if we are not in WP.
14 14
  */
15
-if ( ! defined( 'ABSPATH' ) ) {
15
+if (!defined('ABSPATH')) {
16 16
 	exit;
17 17
 }
18 18
 
19 19
 /**
20 20
  * Only add if the class does not already exist.
21 21
  */
22
-if ( ! class_exists( 'AyeCode_UI_Settings' ) ) {
22
+if (!class_exists('AyeCode_UI_Settings')) {
23 23
 
24 24
 	/**
25 25
 	 * A Class to be able to change settings for Font Awesome.
@@ -99,27 +99,27 @@  discard block
 block discarded – undo
99 99
 		 * @return AyeCode_UI_Settings - Main instance.
100 100
 		 */
101 101
 		public static function instance() {
102
-			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
102
+			if (!isset(self::$instance) && !(self::$instance instanceof AyeCode_UI_Settings)) {
103 103
 
104 104
 				self::$instance = new AyeCode_UI_Settings;
105 105
 
106
-				add_action( 'init', array( self::$instance, 'init' ) ); // set settings
106
+				add_action('init', array(self::$instance, 'init')); // set settings
107 107
 
108
-				if ( is_admin() ) {
109
-					add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
110
-					add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
108
+				if (is_admin()) {
109
+					add_action('admin_menu', array(self::$instance, 'menu_item'));
110
+					add_action('admin_init', array(self::$instance, 'register_settings'));
111 111
 
112 112
 					// Maybe show example page
113
-					add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) );
113
+					add_action('template_redirect', array(self::$instance, 'maybe_show_examples'));
114 114
 
115
-					if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
116
-						add_filter( 'sd_aui_colors', array( self::$instance,'sd_aui_colors' ), 10, 3 );
115
+					if (defined('BLOCKSTRAP_VERSION')) {
116
+						add_filter('sd_aui_colors', array(self::$instance, 'sd_aui_colors'), 10, 3);
117 117
 					}
118 118
 				}
119 119
 
120
-				add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
120
+				add_action('customize_register', array(self::$instance, 'customizer_settings'));
121 121
 
122
-				do_action( 'ayecode_ui_settings_loaded' );
122
+				do_action('ayecode_ui_settings_loaded');
123 123
 			}
124 124
 
125 125
 			return self::$instance;
@@ -134,13 +134,13 @@  discard block
 block discarded – undo
134 134
 		 *
135 135
 		 * @return mixed
136 136
 		 */
137
-		public function sd_aui_colors( $theme_colors, $include_outlines, $include_branding ){
137
+		public function sd_aui_colors($theme_colors, $include_outlines, $include_branding) {
138 138
 
139 139
 
140 140
 			$setting = wp_get_global_settings();
141 141
 
142
-			if(!empty($setting['color']['palette']['custom'])){
143
-				foreach($setting['color']['palette']['custom'] as $color){
142
+			if (!empty($setting['color']['palette']['custom'])) {
143
+				foreach ($setting['color']['palette']['custom'] as $color) {
144 144
 					$theme_colors[$color['slug']] = esc_attr($color['name']);
145 145
 				}
146 146
 			}
@@ -151,81 +151,81 @@  discard block
 block discarded – undo
151 151
 		/**
152 152
 		 * Setup some constants.
153 153
 		 */
154
-		public function constants(){
155
-			define( 'AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be" );
156
-			define( 'AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d' );
157
-			define( 'AUI_INFO_COLOR_ORIGINAL', '#17a2b8' );
158
-			define( 'AUI_WARNING_COLOR_ORIGINAL', '#ffc107' );
159
-			define( 'AUI_DANGER_COLOR_ORIGINAL', '#dc3545' );
160
-			define( 'AUI_SUCCESS_COLOR_ORIGINAL', '#44c553' );
161
-			define( 'AUI_LIGHT_COLOR_ORIGINAL', '#f8f9fa' );
162
-			define( 'AUI_DARK_COLOR_ORIGINAL', '#343a40' );
163
-			define( 'AUI_WHITE_COLOR_ORIGINAL', '#fff' );
164
-			define( 'AUI_PURPLE_COLOR_ORIGINAL', '#ad6edd' );
165
-			define( 'AUI_SALMON_COLOR_ORIGINAL', '#ff977a' );
166
-			define( 'AUI_CYAN_COLOR_ORIGINAL', '#35bdff' );
167
-			define( 'AUI_GRAY_COLOR_ORIGINAL', '#ced4da' );
168
-			define( 'AUI_INDIGO_COLOR_ORIGINAL', '#502c6c' );
169
-			define( 'AUI_ORANGE_COLOR_ORIGINAL', '#orange' );
170
-			define( 'AUI_BLACK_COLOR_ORIGINAL', '#000' );
154
+		public function constants() {
155
+			define('AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be");
156
+			define('AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d');
157
+			define('AUI_INFO_COLOR_ORIGINAL', '#17a2b8');
158
+			define('AUI_WARNING_COLOR_ORIGINAL', '#ffc107');
159
+			define('AUI_DANGER_COLOR_ORIGINAL', '#dc3545');
160
+			define('AUI_SUCCESS_COLOR_ORIGINAL', '#44c553');
161
+			define('AUI_LIGHT_COLOR_ORIGINAL', '#f8f9fa');
162
+			define('AUI_DARK_COLOR_ORIGINAL', '#343a40');
163
+			define('AUI_WHITE_COLOR_ORIGINAL', '#fff');
164
+			define('AUI_PURPLE_COLOR_ORIGINAL', '#ad6edd');
165
+			define('AUI_SALMON_COLOR_ORIGINAL', '#ff977a');
166
+			define('AUI_CYAN_COLOR_ORIGINAL', '#35bdff');
167
+			define('AUI_GRAY_COLOR_ORIGINAL', '#ced4da');
168
+			define('AUI_INDIGO_COLOR_ORIGINAL', '#502c6c');
169
+			define('AUI_ORANGE_COLOR_ORIGINAL', '#orange');
170
+			define('AUI_BLACK_COLOR_ORIGINAL', '#000');
171 171
 
172
-			if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
173
-				define( 'AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL );
172
+			if (!defined('AUI_PRIMARY_COLOR')) {
173
+				define('AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL);
174 174
 			}
175
-			if ( ! defined( 'AUI_SECONDARY_COLOR' ) ) {
176
-				define( 'AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL );
175
+			if (!defined('AUI_SECONDARY_COLOR')) {
176
+				define('AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL);
177 177
 			}
178
-			if ( ! defined( 'AUI_INFO_COLOR' ) ) {
179
-				define( 'AUI_INFO_COLOR', AUI_INFO_COLOR_ORIGINAL );
178
+			if (!defined('AUI_INFO_COLOR')) {
179
+				define('AUI_INFO_COLOR', AUI_INFO_COLOR_ORIGINAL);
180 180
 			}
181
-			if ( ! defined( 'AUI_WARNING_COLOR' ) ) {
182
-				define( 'AUI_WARNING_COLOR', AUI_WARNING_COLOR_ORIGINAL );
181
+			if (!defined('AUI_WARNING_COLOR')) {
182
+				define('AUI_WARNING_COLOR', AUI_WARNING_COLOR_ORIGINAL);
183 183
 			}
184
-			if ( ! defined( 'AUI_DANGER_COLOR' ) ) {
185
-				define( 'AUI_DANGER_COLOR', AUI_DANGER_COLOR_ORIGINAL );
184
+			if (!defined('AUI_DANGER_COLOR')) {
185
+				define('AUI_DANGER_COLOR', AUI_DANGER_COLOR_ORIGINAL);
186 186
 			}
187
-			if ( ! defined( 'AUI_SUCCESS_COLOR' ) ) {
188
-				define( 'AUI_SUCCESS_COLOR', AUI_SUCCESS_COLOR_ORIGINAL );
187
+			if (!defined('AUI_SUCCESS_COLOR')) {
188
+				define('AUI_SUCCESS_COLOR', AUI_SUCCESS_COLOR_ORIGINAL);
189 189
 			}
190
-			if ( ! defined( 'AUI_LIGHT_COLOR' ) ) {
191
-				define( 'AUI_LIGHT_COLOR', AUI_LIGHT_COLOR_ORIGINAL );
190
+			if (!defined('AUI_LIGHT_COLOR')) {
191
+				define('AUI_LIGHT_COLOR', AUI_LIGHT_COLOR_ORIGINAL);
192 192
 			}
193
-			if ( ! defined( 'AUI_DARK_COLOR' ) ) {
194
-				define( 'AUI_DARK_COLOR', AUI_DARK_COLOR_ORIGINAL );
193
+			if (!defined('AUI_DARK_COLOR')) {
194
+				define('AUI_DARK_COLOR', AUI_DARK_COLOR_ORIGINAL);
195 195
 			}
196
-			if ( ! defined( 'AUI_WHITE_COLOR' ) ) {
197
-				define( 'AUI_WHITE_COLOR', AUI_WHITE_COLOR_ORIGINAL );
196
+			if (!defined('AUI_WHITE_COLOR')) {
197
+				define('AUI_WHITE_COLOR', AUI_WHITE_COLOR_ORIGINAL);
198 198
 			}
199
-			if ( ! defined( 'AUI_PURPLE_COLOR' ) ) {
200
-				define( 'AUI_PURPLE_COLOR', AUI_PURPLE_COLOR_ORIGINAL );
199
+			if (!defined('AUI_PURPLE_COLOR')) {
200
+				define('AUI_PURPLE_COLOR', AUI_PURPLE_COLOR_ORIGINAL);
201 201
 			}
202
-			if ( ! defined( 'AUI_SALMON_COLOR' ) ) {
203
-				define( 'AUI_SALMON_COLOR', AUI_SALMON_COLOR_ORIGINAL );
202
+			if (!defined('AUI_SALMON_COLOR')) {
203
+				define('AUI_SALMON_COLOR', AUI_SALMON_COLOR_ORIGINAL);
204 204
 			}
205
-			if ( ! defined( 'AUI_CYAN_COLOR' ) ) {
206
-				define( 'AUI_CYAN_COLOR', AUI_CYAN_COLOR_ORIGINAL );
205
+			if (!defined('AUI_CYAN_COLOR')) {
206
+				define('AUI_CYAN_COLOR', AUI_CYAN_COLOR_ORIGINAL);
207 207
 			}
208
-			if ( ! defined( 'AUI_GRAY_COLOR' ) ) {
209
-				define( 'AUI_GRAY_COLOR', AUI_GRAY_COLOR_ORIGINAL );
208
+			if (!defined('AUI_GRAY_COLOR')) {
209
+				define('AUI_GRAY_COLOR', AUI_GRAY_COLOR_ORIGINAL);
210 210
 			}
211
-			if ( ! defined( 'AUI_INDIGO_COLOR' ) ) {
212
-				define( 'AUI_INDIGO_COLOR', AUI_INDIGO_COLOR_ORIGINAL );
211
+			if (!defined('AUI_INDIGO_COLOR')) {
212
+				define('AUI_INDIGO_COLOR', AUI_INDIGO_COLOR_ORIGINAL);
213 213
 			}
214
-			if ( ! defined( 'AUI_ORANGE_COLOR' ) ) {
215
-				define( 'AUI_ORANGE_COLOR', AUI_ORANGE_COLOR_ORIGINAL );
214
+			if (!defined('AUI_ORANGE_COLOR')) {
215
+				define('AUI_ORANGE_COLOR', AUI_ORANGE_COLOR_ORIGINAL);
216 216
 			}
217
-			if ( ! defined( 'AUI_BLACK_COLOR' ) ) {
218
-				define( 'AUI_BLACK_COLOR', AUI_BLACK_COLOR_ORIGINAL );
217
+			if (!defined('AUI_BLACK_COLOR')) {
218
+				define('AUI_BLACK_COLOR', AUI_BLACK_COLOR_ORIGINAL);
219 219
 			}
220 220
 
221 221
 		}
222 222
 
223
-		public static function get_colors( $original = false){
223
+		public static function get_colors($original = false) {
224 224
 
225
-			if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
225
+			if (!defined('AUI_PRIMARY_COLOR')) {
226 226
 				return array();
227 227
 			}
228
-			if ( $original ) {
228
+			if ($original) {
229 229
 				return array(
230 230
 					'primary'   => AUI_PRIMARY_COLOR_ORIGINAL,
231 231
 					'secondary' => AUI_SECONDARY_COLOR_ORIGINAL,
@@ -273,7 +273,7 @@  discard block
 block discarded – undo
273 273
 		 *
274 274
 		 * @return mixed
275 275
 		 */
276
-		public function add_bs5_admin_body_class( $classes = '' ) {
276
+		public function add_bs5_admin_body_class($classes = '') {
277 277
 			$classes .= ' aui_bs5';
278 278
 
279 279
 			return $classes;
@@ -286,7 +286,7 @@  discard block
 block discarded – undo
286 286
 		 *
287 287
 		 * @return mixed
288 288
 		 */
289
-		public function add_bs5_body_class( $classes ) {
289
+		public function add_bs5_body_class($classes) {
290 290
 			$classes[] = 'aui_bs5';
291 291
 
292 292
 			return $classes;
@@ -299,12 +299,12 @@  discard block
 block discarded – undo
299 299
             global $aui_bs5;
300 300
 
301 301
 			// Maybe fix settings
302
-			if ( ! empty( $_REQUEST['aui-fix-admin'] ) && !empty($_REQUEST['nonce']) && wp_verify_nonce( $_REQUEST['nonce'], "aui-fix-admin" ) ) {
303
-				$db_settings = get_option( 'ayecode-ui-settings' );
304
-				if ( ! empty( $db_settings ) ) {
302
+			if (!empty($_REQUEST['aui-fix-admin']) && !empty($_REQUEST['nonce']) && wp_verify_nonce($_REQUEST['nonce'], "aui-fix-admin")) {
303
+				$db_settings = get_option('ayecode-ui-settings');
304
+				if (!empty($db_settings)) {
305 305
 					$db_settings['css_backend'] = 'compatibility';
306 306
 					$db_settings['js_backend'] = 'core-popper';
307
-					update_option( 'ayecode-ui-settings', $db_settings );
307
+					update_option('ayecode-ui-settings', $db_settings);
308 308
 					wp_safe_redirect(admin_url("options-general.php?page=ayecode-ui-settings&updated=true"));
309 309
 				}
310 310
 			}
@@ -316,10 +316,10 @@  discard block
 block discarded – undo
316 316
             // define the version
317 317
 			$aui_bs5 = $this->settings['bs_ver'] === '5';
318 318
 
319
-			if ( $aui_bs5 ) {
320
-				include_once( dirname( __FILE__ ) . '/inc/bs-conversion.php' );
321
-				add_filter( 'admin_body_class', array( $this, 'add_bs5_admin_body_class' ), 99, 1 );
322
-				add_filter( 'body_class', array( $this, 'add_bs5_body_class' ) );
319
+			if ($aui_bs5) {
320
+				include_once(dirname(__FILE__) . '/inc/bs-conversion.php');
321
+				add_filter('admin_body_class', array($this, 'add_bs5_admin_body_class'), 99, 1);
322
+				add_filter('body_class', array($this, 'add_bs5_body_class'));
323 323
 			}
324 324
 
325 325
 			/**
@@ -327,32 +327,32 @@  discard block
 block discarded – undo
327 327
 			 *
328 328
 			 * We load super early in case there is a theme version that might change the colors
329 329
 			 */
330
-			if ( $this->settings['css'] ) {
330
+			if ($this->settings['css']) {
331 331
 				$priority = $this->is_bs3_compat() ? 100 : 1;
332 332
                 $priority = $aui_bs5 ? 10 : $priority;
333
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), $priority );
333
+				add_action('wp_enqueue_scripts', array($this, 'enqueue_style'), $priority);
334 334
 			}
335
-			if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) {
336
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
335
+			if ($this->settings['css_backend'] && $this->load_admin_scripts()) {
336
+				add_action('admin_enqueue_scripts', array($this, 'enqueue_style'), 1);
337 337
 			}
338 338
 
339 339
 			// maybe load JS
340
-			if ( $this->settings['js'] ) {
340
+			if ($this->settings['js']) {
341 341
 				$priority = $this->is_bs3_compat() ? 100 : 1;
342
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority );
342
+				add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), $priority);
343 343
 			}
344
-			if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) {
345
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 );
344
+			if ($this->settings['js_backend'] && $this->load_admin_scripts()) {
345
+				add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'), 1);
346 346
 			}
347 347
 
348 348
 			// Maybe set the HTML font size
349
-			if ( $this->settings['html_font_size'] ) {
350
-				add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 );
349
+			if ($this->settings['html_font_size']) {
350
+				add_action('wp_footer', array($this, 'html_font_size'), 10);
351 351
 			}
352 352
 
353 353
 			// Maybe show backend style error
354
-			if( $this->settings['css_backend'] != 'compatibility' || $this->settings['js_backend'] != 'core-popper' ){
355
-				add_action( 'admin_notices', array( $this, 'show_admin_style_notice' ) );
354
+			if ($this->settings['css_backend'] != 'compatibility' || $this->settings['js_backend'] != 'core-popper') {
355
+				add_action('admin_notices', array($this, 'show_admin_style_notice'));
356 356
 			}
357 357
 
358 358
 		}
@@ -360,11 +360,11 @@  discard block
 block discarded – undo
360 360
 		/**
361 361
 		 * Show admin notice if backend scripts not loaded.
362 362
 		 */
363
-		public function show_admin_style_notice(){
364
-			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings&aui-fix-admin=true&nonce=".wp_create_nonce('aui-fix-admin'));
365
-			$button = '<a href="'.esc_url($fix_url).'" class="button-primary">Fix Now</a>';
366
-			$message = __( '<b>Style Issue:</b> AyeCode UI is disable or set wrong.')." " .$button;
367
-			echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
363
+		public function show_admin_style_notice() {
364
+			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings&aui-fix-admin=true&nonce=" . wp_create_nonce('aui-fix-admin'));
365
+			$button = '<a href="' . esc_url($fix_url) . '" class="button-primary">Fix Now</a>';
366
+			$message = __('<b>Style Issue:</b> AyeCode UI is disable or set wrong.') . " " . $button;
367
+			echo '<div class="notice notice-error aui-settings-error-notice"><p>' . wp_kses_post($message) . '</p></div>';
368 368
 		}
369 369
 
370 370
 		/**
@@ -372,14 +372,14 @@  discard block
 block discarded – undo
372 372
 		 *
373 373
 		 * @return bool
374 374
 		 */
375
-		public function load_admin_scripts(){
375
+		public function load_admin_scripts() {
376 376
 			$result = true;
377 377
 
378 378
 			// check if specifically disabled
379
-			if(!empty($this->settings['disable_admin'])){
380
-				$url_parts = explode("\n",$this->settings['disable_admin']);
381
-				foreach($url_parts as $part){
382
-					if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){
379
+			if (!empty($this->settings['disable_admin'])) {
380
+				$url_parts = explode("\n", $this->settings['disable_admin']);
381
+				foreach ($url_parts as $part) {
382
+					if (strpos($_SERVER['REQUEST_URI'], trim($part)) !== false) {
383 383
 						return false; // return early, no point checking further
384 384
 					}
385 385
 				}
@@ -391,9 +391,9 @@  discard block
 block discarded – undo
391 391
 		/**
392 392
 		 * Add a html font size to the footer.
393 393
 		 */
394
-		public function html_font_size(){
394
+		public function html_font_size() {
395 395
 			$this->settings = $this->get_settings();
396
-			echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>";
396
+			echo "<style>html{font-size:" . absint($this->settings['html_font_size']) . "px;}</style>";
397 397
 		}
398 398
 
399 399
 		/**
@@ -401,11 +401,11 @@  discard block
 block discarded – undo
401 401
 		 *
402 402
 		 * @return bool
403 403
 		 */
404
-		public function is_aui_screen(){
404
+		public function is_aui_screen() {
405 405
 //			echo '###';exit;
406 406
 			$load = false;
407 407
 			// check if we should load or not
408
-			if ( is_admin() ) {
408
+			if (is_admin()) {
409 409
 				// Only enable on set pages
410 410
 				$aui_screens = array(
411 411
 					'page',
@@ -417,26 +417,26 @@  discard block
 block discarded – undo
417 417
 					'ayecode-ui-settings',
418 418
 					'site-editor'
419 419
 				);
420
-				$screen_ids = apply_filters( 'aui_screen_ids', $aui_screens );
420
+				$screen_ids = apply_filters('aui_screen_ids', $aui_screens);
421 421
 
422 422
 				$screen = get_current_screen();
423 423
 
424 424
 //				echo '###'.$screen->id;
425 425
 
426 426
 				// check if we are on a AUI screen
427
-				if ( $screen && in_array( $screen->id, $screen_ids ) ) {
427
+				if ($screen && in_array($screen->id, $screen_ids)) {
428 428
 					$load = true;
429 429
 				}
430 430
 
431 431
 				//load for widget previews in WP 5.8
432
-				if( !empty($_REQUEST['legacy-widget-preview'])){
432
+				if (!empty($_REQUEST['legacy-widget-preview'])) {
433 433
 					$load = true;
434 434
 				}
435 435
 			}
436 436
 
437 437
 
438 438
 
439
-			return apply_filters( 'aui_load_on_admin' , $load );
439
+			return apply_filters('aui_load_on_admin', $load);
440 440
 		}
441 441
 
442 442
 		/**
@@ -445,7 +445,7 @@  discard block
 block discarded – undo
445 445
 		 * @return bool
446 446
 		 */
447 447
 		public static function is_block_theme() {
448
-			if ( function_exists( 'wp_is_block_theme' && wp_is_block_theme() ) ) {
448
+			if (function_exists('wp_is_block_theme' && wp_is_block_theme())) {
449 449
 				return true;
450 450
 			}
451 451
 
@@ -460,32 +460,32 @@  discard block
 block discarded – undo
460 460
 
461 461
             $load_fse = false;
462 462
 
463
-			if ( is_admin() && ! $this->is_aui_screen() ) {
463
+			if (is_admin() && !$this->is_aui_screen()) {
464 464
 				// Don't add wp-admin scripts if not requested to.
465 465
 			} else {
466 466
 				$css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
467
-				$rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
467
+				$rtl = is_rtl() && !$aui_bs5 ? '-rtl' : '';
468 468
                 $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
469 469
 
470
-				if ( $this->settings[ $css_setting ] ) {
471
-					$compatibility = $this->settings[$css_setting]=='core' ? false : true;
472
-					$url = $this->settings[$css_setting]=='core' ? $this->url.'assets'.$bs_ver.'/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets'.$bs_ver.'/css/ayecode-ui-compatibility'.$rtl.'.css';
470
+				if ($this->settings[$css_setting]) {
471
+					$compatibility = $this->settings[$css_setting] == 'core' ? false : true;
472
+					$url = $this->settings[$css_setting] == 'core' ? $this->url . 'assets' . $bs_ver . '/css/ayecode-ui' . $rtl . '.css' : $this->url . 'assets' . $bs_ver . '/css/ayecode-ui-compatibility' . $rtl . '.css';
473 473
 
474
-					wp_register_style( 'ayecode-ui', $url, array(), $this->version );
475
-					wp_enqueue_style( 'ayecode-ui' );
474
+					wp_register_style('ayecode-ui', $url, array(), $this->version);
475
+					wp_enqueue_style('ayecode-ui');
476 476
 
477
-					if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
478
-						$url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
479
-						wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
480
-						wp_enqueue_style( 'ayecode-ui-fse' );
477
+					if (is_admin() && (!empty($_REQUEST['postType']) || self::is_block_editor()) && (defined('BLOCKSTRAP_VERSION') || defined('AUI_FSE'))) {
478
+						$url = $this->url . 'assets' . $bs_ver . '/css/ayecode-ui-fse.css';
479
+						wp_register_style('ayecode-ui-fse', $url, array(), $this->version);
480
+						wp_enqueue_style('ayecode-ui-fse');
481 481
 						$load_fse = true;
482 482
 					}
483 483
 
484 484
 					// flatpickr
485
-					wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
485
+					wp_register_style('flatpickr', $this->url . 'assets' . $bs_ver . '/css/flatpickr.min.css', array(), $this->version);
486 486
 
487 487
 					// fix some wp-admin issues
488
-					if(is_admin()){
488
+					if (is_admin()) {
489 489
 						$custom_css = "
490 490
                 body{
491 491
                     background-color: #f1f1f1;
@@ -532,14 +532,14 @@  discard block
 block discarded – undo
532 532
 						    padding: 0;
533 533
 						}
534 534
 					";
535
-						wp_add_inline_style( 'ayecode-ui', $custom_css );
535
+						wp_add_inline_style('ayecode-ui', $custom_css);
536 536
 					}
537 537
 
538 538
 					// custom changes
539
-					if ( $load_fse ) {
540
-						wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility, true) );
541
-					}else{
542
-						wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
539
+					if ($load_fse) {
540
+						wp_add_inline_style('ayecode-ui-fse', self::custom_css($compatibility, true));
541
+					} else {
542
+						wp_add_inline_style('ayecode-ui', self::custom_css($compatibility));
543 543
 					}
544 544
 				}
545 545
 			}
@@ -556,10 +556,10 @@  discard block
 block discarded – undo
556 556
 			$flatpickr_locale = self::flatpickr_locale();
557 557
 
558 558
 			ob_start();
559
-			if ( $aui_bs5 ) {
560
-				include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
561
-			}else{
562
-				include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
559
+			if ($aui_bs5) {
560
+				include_once(dirname(__FILE__) . '/inc/bs5-js.php');
561
+			} else {
562
+				include_once(dirname(__FILE__) . '/inc/bs4-js.php');
563 563
             }
564 564
 
565 565
 			$output = ob_get_clean();
@@ -567,10 +567,10 @@  discard block
 block discarded – undo
567 567
 			/*
568 568
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
569 569
 			 */
570
-			return str_replace( array(
570
+			return str_replace(array(
571 571
 				'<script>',
572 572
 				'</script>'
573
-			), '', self::minify_js($output) );
573
+			), '', self::minify_js($output));
574 574
 		}
575 575
 
576 576
 
@@ -584,13 +584,13 @@  discard block
 block discarded – undo
584 584
 			ob_start();
585 585
 			?>
586 586
             <script>
587
-				<?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
587
+				<?php if (defined('FUSION_BUILDER_VERSION')) { ?>
588 588
                 /* With Avada builder */
589 589
 
590 590
 				<?php } ?>
591 591
             </script>
592 592
 			<?php
593
-			return str_replace( array(
593
+			return str_replace(array(
594 594
 				'<script>',
595 595
 				'</script>'
596 596
 			), '', ob_get_clean());
@@ -601,7 +601,7 @@  discard block
 block discarded – undo
601 601
 		 *
602 602
 		 * If this remains small then its best to use this than to add another JS file.
603 603
 		 */
604
-		public function inline_script_file_browser(){
604
+		public function inline_script_file_browser() {
605 605
 			ob_start();
606 606
 			?>
607 607
             <script>
@@ -616,17 +616,17 @@  discard block
 block discarded – undo
616 616
 			/*
617 617
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
618 618
 			 */
619
-			return str_replace( array(
619
+			return str_replace(array(
620 620
 				'<script>',
621 621
 				'</script>'
622
-			), '', $output );
622
+			), '', $output);
623 623
 		}
624 624
 
625 625
 		/**
626 626
 		 * Adds the Font Awesome JS.
627 627
 		 */
628 628
 		public function enqueue_scripts() {
629
-			if( is_admin() && !$this->is_aui_screen()){
629
+			if (is_admin() && !$this->is_aui_screen()) {
630 630
 				// Don't add wp-admin scripts if not requested to.
631 631
 			} else {
632 632
 				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
@@ -634,57 +634,57 @@  discard block
 block discarded – undo
634 634
 				$bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
635 635
 
636 636
 				// select2
637
-				wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
637
+				wp_register_script('select2', $this->url . 'assets/js/select2.min.js', array('jquery'), $this->select2_version);
638 638
 
639 639
 				// flatpickr
640
-				wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
640
+				wp_register_script('flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version);
641 641
 
642 642
 				// iconpicker
643
-				if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
644
-					wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
645
-				}else{
646
-					wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
643
+				if (defined('FAS_ICONPICKER_JS_URL')) {
644
+					wp_register_script('iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version);
645
+				} else {
646
+					wp_register_script('iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version);
647 647
 				}
648 648
 
649 649
 				// Bootstrap file browser
650
-				wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
651
-				wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
650
+				wp_register_script('aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array('jquery'), $this->select2_version);
651
+				wp_add_inline_script('aui-custom-file-input', $this->inline_script_file_browser());
652 652
 
653 653
 				$load_inline = false;
654 654
 
655 655
 				// Load select2 only when required.
656
-				if ( $this->force_load_select2() ) {
657
-					$dependency = array( 'select2', 'jquery' );
656
+				if ($this->force_load_select2()) {
657
+					$dependency = array('select2', 'jquery');
658 658
 				} else {
659
-					$dependency = array( 'jquery' );
659
+					$dependency = array('jquery');
660 660
 				}
661 661
 
662
-				if ( $this->settings[ $js_setting ] == 'core-popper' ) {
662
+				if ($this->settings[$js_setting] == 'core-popper') {
663 663
 					// Bootstrap bundle
664 664
 					$url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
665
-					wp_register_script( 'bootstrap-js-bundle', $url, $dependency, $this->version, $this->is_bs3_compat() );
665
+					wp_register_script('bootstrap-js-bundle', $url, $dependency, $this->version, $this->is_bs3_compat());
666 666
 
667 667
 					// If in admin then add to footer for compatibility.
668
-					is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
668
+					is_admin() ? wp_enqueue_script('bootstrap-js-bundle', '', null, null, true) : wp_enqueue_script('bootstrap-js-bundle');
669 669
 
670 670
 					$script = $this->inline_script();
671
-					wp_add_inline_script( 'bootstrap-js-bundle', $script );
672
-				} elseif ( $this->settings[ $js_setting ] == 'popper' ) {
671
+					wp_add_inline_script('bootstrap-js-bundle', $script);
672
+				} elseif ($this->settings[$js_setting] == 'popper') {
673 673
 					$url = $this->url . 'assets/js/popper.min.js'; // @todo we need to update this to bs5
674
-					wp_register_script( 'bootstrap-js-popper', $url, $dependency, $this->version );
675
-					wp_enqueue_script( 'bootstrap-js-popper' );
674
+					wp_register_script('bootstrap-js-popper', $url, $dependency, $this->version);
675
+					wp_enqueue_script('bootstrap-js-popper');
676 676
 					$load_inline = true;
677 677
 				} else {
678 678
 					$load_inline = true;
679 679
 				}
680 680
 
681 681
 				// Load needed inline scripts by faking the loading of a script if the main script is not being loaded
682
-				if ( $load_inline ) {
683
-					wp_register_script( 'bootstrap-dummy', '', $dependency );
684
-					wp_enqueue_script( 'bootstrap-dummy' );
682
+				if ($load_inline) {
683
+					wp_register_script('bootstrap-dummy', '', $dependency);
684
+					wp_enqueue_script('bootstrap-dummy');
685 685
 
686 686
 					$script = $this->inline_script();
687
-					wp_add_inline_script( 'bootstrap-dummy', $script );
687
+					wp_add_inline_script('bootstrap-dummy', $script);
688 688
 				}
689 689
 			}
690 690
 		}
@@ -697,15 +697,15 @@  discard block
 block discarded – undo
697 697
 		public function force_load_select2() {
698 698
 			global $aui_select2_enqueued;
699 699
 
700
-			$conditional_select2 = apply_filters( 'aui_is_conditional_select2', true );
700
+			$conditional_select2 = apply_filters('aui_is_conditional_select2', true);
701 701
 
702
-			if ( $conditional_select2 !== true ) {
702
+			if ($conditional_select2 !== true) {
703 703
 				return true;
704 704
 			}
705 705
 
706
-			$load = is_admin() && ! $aui_select2_enqueued;
706
+			$load = is_admin() && !$aui_select2_enqueued;
707 707
 
708
-			return apply_filters( 'aui_force_load_select2', $load );
708
+			return apply_filters('aui_force_load_select2', $load);
709 709
 		}
710 710
 
711 711
 		/**
@@ -714,23 +714,23 @@  discard block
 block discarded – undo
714 714
 		 * @since 0.2.29
715 715
 		 */
716 716
 		public function enqueue_select2() {
717
-			wp_enqueue_script( 'select2' );
717
+			wp_enqueue_script('select2');
718 718
 		}
719 719
 
720 720
 		/**
721 721
 		 * Enqueue flatpickr if called.
722 722
 		 */
723
-		public function enqueue_flatpickr(){
724
-			wp_enqueue_style( 'flatpickr' );
725
-			wp_enqueue_script( 'flatpickr' );
723
+		public function enqueue_flatpickr() {
724
+			wp_enqueue_style('flatpickr');
725
+			wp_enqueue_script('flatpickr');
726 726
 		}
727 727
 
728 728
 		/**
729 729
 		 * Enqueue iconpicker if called.
730 730
 		 */
731
-		public function enqueue_iconpicker(){
732
-			wp_enqueue_style( 'iconpicker' );
733
-			wp_enqueue_script( 'iconpicker' );
731
+		public function enqueue_iconpicker() {
732
+			wp_enqueue_style('iconpicker');
733
+			wp_enqueue_script('iconpicker');
734 734
 		}
735 735
 
736 736
         /**
@@ -742,17 +742,17 @@  discard block
 block discarded – undo
742 742
          * @return string
743 743
          */
744 744
         public function get_url() {
745
-            $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
746
-            $content_url = untrailingslashit( WP_CONTENT_URL );
745
+            $content_dir = wp_normalize_path(untrailingslashit(WP_CONTENT_DIR));
746
+            $content_url = untrailingslashit(WP_CONTENT_URL);
747 747
 
748 748
             // maybe Replace http:// to https://.
749
-            if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
750
-                $content_url = str_replace( 'http://', 'https://', $content_url );
749
+            if (strpos($content_url, 'http://') === 0 && strpos(plugins_url(), 'https://') === 0) {
750
+                $content_url = str_replace('http://', 'https://', $content_url);
751 751
             }
752 752
 
753 753
             // First find where in the path our content directory starts
754 754
             $content_basename = basename($content_dir);
755
-            $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
755
+            $file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__)));
756 756
 
757 757
             // Find the relative path by matching from content directory name
758 758
             $after_content = substr($file_dir, strpos($file_dir, '/' . $content_basename . '/') + strlen('/' . $content_basename . '/'));
@@ -772,15 +772,15 @@  discard block
 block discarded – undo
772 772
 
773 773
 			$url = '';
774 774
 			// check if we are inside a plugin
775
-			$file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
775
+			$file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__)));
776 776
 
777 777
 			// add check in-case user has changed wp-content dir name.
778 778
 			$wp_content_folder_name = basename(WP_CONTENT_DIR);
779
-			$dir_parts = explode("/$wp_content_folder_name/",$file_dir);
780
-			$url_parts = explode("/$wp_content_folder_name/",plugins_url());
779
+			$dir_parts = explode("/$wp_content_folder_name/", $file_dir);
780
+			$url_parts = explode("/$wp_content_folder_name/", plugins_url());
781 781
 
782
-			if(!empty($url_parts[0]) && !empty($dir_parts[1])){
783
-				$url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
782
+			if (!empty($url_parts[0]) && !empty($dir_parts[1])) {
783
+				$url = trailingslashit($url_parts[0] . "/$wp_content_folder_name/" . $dir_parts[1]);
784 784
 			}
785 785
 
786 786
 			return $url;
@@ -790,7 +790,7 @@  discard block
 block discarded – undo
790 790
 		 * Register the database settings with WordPress.
791 791
 		 */
792 792
 		public function register_settings() {
793
-			register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
793
+			register_setting('ayecode-ui-settings', 'ayecode-ui-settings');
794 794
 		}
795 795
 
796 796
 		/**
@@ -799,10 +799,10 @@  discard block
 block discarded – undo
799 799
 		 */
800 800
 		public function menu_item() {
801 801
 			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
802
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
802
+			call_user_func($menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
803 803
 				$this,
804 804
 				'settings_page'
805
-			) );
805
+			));
806 806
 		}
807 807
 
808 808
 		/**
@@ -810,7 +810,7 @@  discard block
 block discarded – undo
810 810
 		 *
811 811
 		 * @return array
812 812
 		 */
813
-		public function theme_js_settings(){
813
+		public function theme_js_settings() {
814 814
 			return array(
815 815
 				'ayetheme' => 'popper',
816 816
 				'listimia' => 'required',
@@ -831,7 +831,7 @@  discard block
 block discarded – undo
831 831
 	        $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}";
832 832
 
833 833
 	        // Execute the query
834
-	        $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
834
+	        $date = $wpdb->get_var($query); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
835 835
 
836 836
 	        return $date ? $date : false;
837 837
         }
@@ -839,11 +839,11 @@  discard block
 block discarded – undo
839 839
 		/**
840 840
 		 * Show admin notice if backend scripts not loaded.
841 841
 		 */
842
-		public function show_admin_version_notice(){
843
-			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings" );
844
-			$button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>';
845
-			$message = __( '<b>Style Issue:</b> AyeCode UI has changed its default version from v4 to v5, if you notice unwanted style changes, please revert to v4 (saving the settings page will remove this notice)')." " .$button;
846
-			echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
842
+		public function show_admin_version_notice() {
843
+			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings");
844
+			$button = '<a href="' . esc_url($fix_url) . '" class="button-primary">View Settings</a>';
845
+			$message = __('<b>Style Issue:</b> AyeCode UI has changed its default version from v4 to v5, if you notice unwanted style changes, please revert to v4 (saving the settings page will remove this notice)') . " " . $button;
846
+			echo '<div class="notice notice-error aui-settings-error-notice"><p>' . wp_kses_post($message) . '</p></div>';
847 847
 		}
848 848
 
849 849
 		/**
@@ -853,32 +853,32 @@  discard block
 block discarded – undo
853 853
 		 */
854 854
 		public function get_settings() {
855 855
 
856
-			$db_settings = get_option( 'ayecode-ui-settings' );
856
+			$db_settings = get_option('ayecode-ui-settings');
857 857
 
858 858
             // Maybe show default version notice
859
-			$site_install_date = new DateTime( self::get_site_install_date() );
859
+			$site_install_date = new DateTime(self::get_site_install_date());
860 860
 			$switch_over_date = new DateTime("2024-02-01");
861
-			if ( empty( $db_settings ) && $site_install_date < $switch_over_date ) {
862
-				add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) );
861
+			if (empty($db_settings) && $site_install_date < $switch_over_date) {
862
+				add_action('admin_notices', array($this, 'show_admin_version_notice'));
863 863
 			}
864 864
 
865 865
 			$js_default = 'core-popper';
866 866
 			$js_default_backend = $js_default;
867 867
 
868 868
 			// maybe set defaults (if no settings set)
869
-			if(empty($db_settings)){
870
-				$active_theme = strtolower( get_template() ); // active parent theme.
869
+			if (empty($db_settings)) {
870
+				$active_theme = strtolower(get_template()); // active parent theme.
871 871
 				$theme_js_settings = self::theme_js_settings();
872
-				if(isset($theme_js_settings[$active_theme])){
872
+				if (isset($theme_js_settings[$active_theme])) {
873 873
 					$js_default = $theme_js_settings[$active_theme];
874
-					$js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
874
+					$js_default_backend = isset($theme_js_settings[$active_theme . "_backend"]) ? $theme_js_settings[$active_theme . "_backend"] : $js_default;
875 875
 				}
876 876
 			}
877 877
 
878 878
 			/**
879 879
 			 * Filter the default settings.
880 880
 			 */
881
-			$defaults = apply_filters( 'ayecode-ui-default-settings', array(
881
+			$defaults = apply_filters('ayecode-ui-default-settings', array(
882 882
 				'css'            => 'compatibility', // core, compatibility
883 883
 				'js'             => $js_default, // js to load, core-popper, popper
884 884
 				'html_font_size' => '16', // js to load, core-popper, popper
@@ -886,16 +886,16 @@  discard block
 block discarded – undo
886 886
 				'js_backend'     => $js_default_backend, // js to load, core-popper, popper
887 887
 				'disable_admin'  => '', // URL snippets to disable loading on admin
888 888
                 'bs_ver'         => '5', // The default bootstrap version to sue by default
889
-			), $db_settings );
889
+			), $db_settings);
890 890
 
891
-			$settings = wp_parse_args( $db_settings, $defaults );
891
+			$settings = wp_parse_args($db_settings, $defaults);
892 892
 
893 893
 			/**
894 894
 			 * Filter the Bootstrap settings.
895 895
 			 *
896 896
 			 * @todo if we add this filer people might use it and then it defeats the purpose of this class :/
897 897
 			 */
898
-			return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
898
+			return $this->settings = apply_filters('ayecode-ui-settings', $settings, $db_settings, $defaults);
899 899
 		}
900 900
 
901 901
 
@@ -903,109 +903,109 @@  discard block
 block discarded – undo
903 903
 		 * The settings page html output.
904 904
 		 */
905 905
 		public function settings_page() {
906
-			if ( ! current_user_can( 'manage_options' ) ) {
907
-				wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) );
906
+			if (!current_user_can('manage_options')) {
907
+				wp_die(esc_attr__('You do not have sufficient permissions to access this page.', 'ayecode-connect'));
908 908
 			}
909
-            $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() );
909
+            $overrides = apply_filters('ayecode-ui-settings', array(), array(), array());
910 910
 
911 911
 			?>
912 912
             <div class="wrap">
913
-                <h1><?php echo esc_attr( $this->name ); ?></h1>
914
-                <p><?php echo esc_html( apply_filters( 'ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.", 'ayecode-connect' ) ) );?></p>
913
+                <h1><?php echo esc_attr($this->name); ?></h1>
914
+                <p><?php echo esc_html(apply_filters('ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.", 'ayecode-connect'))); ?></p>
915 915
                 <form method="post" action="options.php">
916 916
 					<?php
917
-					settings_fields( 'ayecode-ui-settings' );
918
-					do_settings_sections( 'ayecode-ui-settings' );
917
+					settings_fields('ayecode-ui-settings');
918
+					do_settings_sections('ayecode-ui-settings');
919 919
 					?>
920 920
 
921
-                    <h2><?php esc_html_e( 'BootStrap Version', 'ayecode-connect' ); ?></h2>
922
-                    <p><?php echo esc_html( apply_filters( 'ayecode-ui-version-settings-message', __("V5 is recommended, however if you have another plugin installed using v4, you may need to use v4 also.", 'ayecode-connect' ) ) );?></p>
921
+                    <h2><?php esc_html_e('BootStrap Version', 'ayecode-connect'); ?></h2>
922
+                    <p><?php echo esc_html(apply_filters('ayecode-ui-version-settings-message', __("V5 is recommended, however if you have another plugin installed using v4, you may need to use v4 also.", 'ayecode-connect'))); ?></p>
923 923
 	                <div class="bsui"><?php
924
-	                if ( ! empty( $overrides ) ) {
924
+	                if (!empty($overrides)) {
925 925
 		                echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
926 926
 			                'type'=> 'info',
927
-			                'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' )
927
+			                'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect')
928 928
 		                ));
929 929
 	                }
930 930
 	                ?>
931 931
                     </div>
932 932
                     <table class="form-table wpbs-table-version-settings">
933 933
                         <tr valign="top">
934
-                            <th scope="row"><label for="wpbs-css"><?php esc_html_e( 'Version', 'ayecode-connect' ); ?></label></th>
934
+                            <th scope="row"><label for="wpbs-css"><?php esc_html_e('Version', 'ayecode-connect'); ?></label></th>
935 935
                             <td>
936 936
                                 <select name="ayecode-ui-settings[bs_ver]" id="wpbs-css" <?php echo !empty($overrides['bs_ver']) ? 'disabled' : ''; ?>>
937
-                                    <option	value="5" <?php selected( $this->settings['bs_ver'], '5' ); ?>><?php esc_html_e( 'v5 (recommended)', 'ayecode-connect' ); ?></option>
938
-                                    <option value="4" <?php selected( $this->settings['bs_ver'], '4' ); ?>><?php esc_html_e( 'v4 (legacy)', 'ayecode-connect' ); ?></option>
937
+                                    <option	value="5" <?php selected($this->settings['bs_ver'], '5'); ?>><?php esc_html_e('v5 (recommended)', 'ayecode-connect'); ?></option>
938
+                                    <option value="4" <?php selected($this->settings['bs_ver'], '4'); ?>><?php esc_html_e('v4 (legacy)', 'ayecode-connect'); ?></option>
939 939
                                 </select>
940 940
                             </td>
941 941
                         </tr>
942 942
                     </table>
943 943
 
944
-                    <h2><?php esc_html_e( 'Frontend', 'ayecode-connect' ); ?></h2>
944
+                    <h2><?php esc_html_e('Frontend', 'ayecode-connect'); ?></h2>
945 945
                     <table class="form-table wpbs-table-settings">
946 946
                         <tr valign="top">
947
-                            <th scope="row"><label for="wpbs-css"><?php esc_html_e( 'Load CSS', 'ayecode-connect' ); ?></label></th>
947
+                            <th scope="row"><label for="wpbs-css"><?php esc_html_e('Load CSS', 'ayecode-connect'); ?></label></th>
948 948
                             <td>
949 949
                                 <select name="ayecode-ui-settings[css]" id="wpbs-css" <?php echo !empty($overrides['css']) ? 'disabled' : ''; ?>>
950
-                                    <option	value="compatibility" <?php selected( $this->settings['css'], 'compatibility' ); ?>><?php esc_html_e( 'Compatibility Mode (default)', 'ayecode-connect' ); ?></option>
951
-                                    <option value="core" <?php selected( $this->settings['css'], 'core' ); ?>><?php esc_html_e( 'Full Mode', 'ayecode-connect' ); ?></option>
952
-                                    <option	value="" <?php selected( $this->settings['css'], '' ); ?>><?php esc_html_e( 'Disabled', 'ayecode-connect' ); ?></option>
950
+                                    <option	value="compatibility" <?php selected($this->settings['css'], 'compatibility'); ?>><?php esc_html_e('Compatibility Mode (default)', 'ayecode-connect'); ?></option>
951
+                                    <option value="core" <?php selected($this->settings['css'], 'core'); ?>><?php esc_html_e('Full Mode', 'ayecode-connect'); ?></option>
952
+                                    <option	value="" <?php selected($this->settings['css'], ''); ?>><?php esc_html_e('Disabled', 'ayecode-connect'); ?></option>
953 953
                                 </select>
954 954
                             </td>
955 955
                         </tr>
956 956
 
957 957
                         <tr valign="top">
958
-                            <th scope="row"><label for="wpbs-js"><?php esc_html_e( 'Load JS', 'ayecode-connect' ); ?></label></th>
958
+                            <th scope="row"><label for="wpbs-js"><?php esc_html_e('Load JS', 'ayecode-connect'); ?></label></th>
959 959
                             <td>
960 960
                                 <select name="ayecode-ui-settings[js]" id="wpbs-js" <?php echo !empty($overrides['js']) ? 'disabled' : ''; ?>>
961
-                                    <option	value="core-popper" <?php selected( $this->settings['js'], 'core-popper' ); ?>><?php esc_html_e( 'Core + Popper (default)', 'ayecode-connect' ); ?></option>
962
-                                    <option value="popper" <?php selected( $this->settings['js'], 'popper' ); ?>><?php esc_html_e( 'Popper', 'ayecode-connect' ); ?></option>
963
-                                    <option value="required" <?php selected( $this->settings['js'], 'required' ); ?>><?php esc_html_e( 'Required functions only', 'ayecode-connect' ); ?></option>
964
-                                    <option	value="" <?php selected( $this->settings['js'], '' ); ?>><?php esc_html_e( 'Disabled (not recommended)', 'ayecode-connect' ); ?></option>
961
+                                    <option	value="core-popper" <?php selected($this->settings['js'], 'core-popper'); ?>><?php esc_html_e('Core + Popper (default)', 'ayecode-connect'); ?></option>
962
+                                    <option value="popper" <?php selected($this->settings['js'], 'popper'); ?>><?php esc_html_e('Popper', 'ayecode-connect'); ?></option>
963
+                                    <option value="required" <?php selected($this->settings['js'], 'required'); ?>><?php esc_html_e('Required functions only', 'ayecode-connect'); ?></option>
964
+                                    <option	value="" <?php selected($this->settings['js'], ''); ?>><?php esc_html_e('Disabled (not recommended)', 'ayecode-connect'); ?></option>
965 965
                                 </select>
966 966
                             </td>
967 967
                         </tr>
968 968
 
969 969
                         <tr valign="top">
970
-                            <th scope="row"><label for="wpbs-font_size"><?php esc_html_e( 'HTML Font Size (px)', 'ayecode-connect' ); ?></label></th>
970
+                            <th scope="row"><label for="wpbs-font_size"><?php esc_html_e('HTML Font Size (px)', 'ayecode-connect'); ?></label></th>
971 971
                             <td>
972
-                                <input type="number" name="ayecode-ui-settings[html_font_size]" id="wpbs-font_size" value="<?php echo absint( $this->settings['html_font_size']); ?>" placeholder="16" <?php echo !empty($overrides['html_font_size']) ? 'disabled' : ''; ?> />
973
-                                <p class="description" ><?php esc_html_e("Our font sizing is rem (responsive based) here you can set the html font size in-case your theme is setting it too low.", 'ayecode-connect' );?></p>
972
+                                <input type="number" name="ayecode-ui-settings[html_font_size]" id="wpbs-font_size" value="<?php echo absint($this->settings['html_font_size']); ?>" placeholder="16" <?php echo !empty($overrides['html_font_size']) ? 'disabled' : ''; ?> />
973
+                                <p class="description" ><?php esc_html_e("Our font sizing is rem (responsive based) here you can set the html font size in-case your theme is setting it too low.", 'ayecode-connect'); ?></p>
974 974
                             </td>
975 975
                         </tr>
976 976
 
977 977
                     </table>
978 978
 
979
-                    <h2><?php esc_html_e( 'Backend', 'ayecode-connect' ); ?> (wp-admin)</h2>
979
+                    <h2><?php esc_html_e('Backend', 'ayecode-connect'); ?> (wp-admin)</h2>
980 980
                     <table class="form-table wpbs-table-settings">
981 981
                         <tr valign="top">
982
-                            <th scope="row"><label for="wpbs-css-admin"><?php esc_html_e( 'Load CSS', 'ayecode-connect' ); ?></label></th>
982
+                            <th scope="row"><label for="wpbs-css-admin"><?php esc_html_e('Load CSS', 'ayecode-connect'); ?></label></th>
983 983
                             <td>
984 984
                                 <select name="ayecode-ui-settings[css_backend]" id="wpbs-css-admin" <?php echo !empty($overrides['css_backend']) ? 'disabled' : ''; ?>>
985
-                                    <option	value="compatibility" <?php selected( $this->settings['css_backend'], 'compatibility' ); ?>><?php esc_html_e( 'Compatibility Mode (default)', 'ayecode-connect' ); ?></option>
986
-                                    <option value="core" <?php selected( $this->settings['css_backend'], 'core' ); ?>><?php esc_html_e( 'Full Mode (will cause style issues)', 'ayecode-connect' ); ?></option>
987
-                                    <option	value="" <?php selected( $this->settings['css_backend'], '' ); ?>><?php esc_html_e( 'Disabled', 'ayecode-connect' ); ?></option>
985
+                                    <option	value="compatibility" <?php selected($this->settings['css_backend'], 'compatibility'); ?>><?php esc_html_e('Compatibility Mode (default)', 'ayecode-connect'); ?></option>
986
+                                    <option value="core" <?php selected($this->settings['css_backend'], 'core'); ?>><?php esc_html_e('Full Mode (will cause style issues)', 'ayecode-connect'); ?></option>
987
+                                    <option	value="" <?php selected($this->settings['css_backend'], ''); ?>><?php esc_html_e('Disabled', 'ayecode-connect'); ?></option>
988 988
                                 </select>
989 989
                             </td>
990 990
                         </tr>
991 991
 
992 992
                         <tr valign="top">
993
-                            <th scope="row"><label for="wpbs-js-admin"><?php esc_html_e( 'Load JS', 'ayecode-connect' ); ?></label></th>
993
+                            <th scope="row"><label for="wpbs-js-admin"><?php esc_html_e('Load JS', 'ayecode-connect'); ?></label></th>
994 994
                             <td>
995 995
                                 <select name="ayecode-ui-settings[js_backend]" id="wpbs-js-admin" <?php echo !empty($overrides['js_backend']) ? 'disabled' : ''; ?>>
996
-                                    <option	value="core-popper" <?php selected( $this->settings['js_backend'], 'core-popper' ); ?>><?php esc_html_e( 'Core + Popper (default)', 'ayecode-connect' ); ?></option>
997
-                                    <option value="popper" <?php selected( $this->settings['js_backend'], 'popper' ); ?>><?php esc_html_e( 'Popper', 'ayecode-connect' ); ?></option>
998
-                                    <option value="required" <?php selected( $this->settings['js_backend'], 'required' ); ?>><?php esc_html_e( 'Required functions only', 'ayecode-connect' ); ?></option>
999
-                                    <option	value="" <?php selected( $this->settings['js_backend'], '' ); ?>><?php esc_html_e( 'Disabled (not recommended)', 'ayecode-connect' ); ?></option>
996
+                                    <option	value="core-popper" <?php selected($this->settings['js_backend'], 'core-popper'); ?>><?php esc_html_e('Core + Popper (default)', 'ayecode-connect'); ?></option>
997
+                                    <option value="popper" <?php selected($this->settings['js_backend'], 'popper'); ?>><?php esc_html_e('Popper', 'ayecode-connect'); ?></option>
998
+                                    <option value="required" <?php selected($this->settings['js_backend'], 'required'); ?>><?php esc_html_e('Required functions only', 'ayecode-connect'); ?></option>
999
+                                    <option	value="" <?php selected($this->settings['js_backend'], ''); ?>><?php esc_html_e('Disabled (not recommended)', 'ayecode-connect'); ?></option>
1000 1000
                                 </select>
1001 1001
                             </td>
1002 1002
                         </tr>
1003 1003
 
1004 1004
                         <tr valign="top">
1005
-                            <th scope="row"><label for="wpbs-disable-admin"><?php esc_html_e( 'Disable load on URL', 'ayecode-connect' ); ?></label></th>
1005
+                            <th scope="row"><label for="wpbs-disable-admin"><?php esc_html_e('Disable load on URL', 'ayecode-connect'); ?></label></th>
1006 1006
                             <td>
1007
-                                <p><?php esc_html_e( 'If you have backend conflict you can enter a partial URL argument that will disable the loading of AUI on those pages. Add each argument on a new line.', 'ayecode-connect' ); ?></p>
1008
-                                <textarea name="ayecode-ui-settings[disable_admin]" rows="10" cols="50" id="wpbs-disable-admin" class="large-text code" spellcheck="false" placeholder="myplugin.php &#10;action=go"><?php echo esc_textarea( $this->settings['disable_admin'] );?></textarea>
1007
+                                <p><?php esc_html_e('If you have backend conflict you can enter a partial URL argument that will disable the loading of AUI on those pages. Add each argument on a new line.', 'ayecode-connect'); ?></p>
1008
+                                <textarea name="ayecode-ui-settings[disable_admin]" rows="10" cols="50" id="wpbs-disable-admin" class="large-text code" spellcheck="false" placeholder="myplugin.php &#10;action=go"><?php echo esc_textarea($this->settings['disable_admin']); ?></textarea>
1009 1009
                             </td>
1010 1010
                         </tr>
1011 1011
                     </table>
@@ -1014,33 +1014,33 @@  discard block
 block discarded – undo
1014 1014
 					submit_button();
1015 1015
 					?>
1016 1016
                 </form>
1017
-                <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo esc_html( $this->version ); ?></div>
1017
+                <div id="wpbs-version" data-aui-source="<?php echo esc_attr($this->get_load_source()); ?>"><?php echo esc_html($this->version); ?></div>
1018 1018
             </div>
1019 1019
 			<?php
1020 1020
 		}
1021 1021
 
1022
-        public function get_load_source(){
1023
-	        $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
1024
-	        $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
1022
+        public function get_load_source() {
1023
+	        $file = str_replace(array("/", "\\"), "/", realpath(__FILE__));
1024
+	        $plugins_dir = str_replace(array("/", "\\"), "/", realpath(WP_PLUGIN_DIR));
1025 1025
 
1026 1026
 	        // Find source plugin/theme of SD
1027 1027
 	        $source = array();
1028
-	        if ( strpos( $file, $plugins_dir ) !== false ) {
1029
-		        $source = explode( "/", plugin_basename( $file ) );
1030
-	        } else if ( function_exists( 'get_theme_root' ) ) {
1031
-		        $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
1028
+	        if (strpos($file, $plugins_dir) !== false) {
1029
+		        $source = explode("/", plugin_basename($file));
1030
+	        } else if (function_exists('get_theme_root')) {
1031
+		        $themes_dir = str_replace(array("/", "\\"), "/", realpath(get_theme_root()));
1032 1032
 
1033
-		        if ( strpos( $file, $themes_dir ) !== false ) {
1034
-			        $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
1033
+		        if (strpos($file, $themes_dir) !== false) {
1034
+			        $source = explode("/", ltrim(str_replace($themes_dir, "", $file), "/"));
1035 1035
 		        }
1036 1036
 	        }
1037 1037
 
1038 1038
             return isset($source[0]) ? esc_attr($source[0]) : '';
1039 1039
         }
1040 1040
 
1041
-		public function customizer_settings($wp_customize){
1041
+		public function customizer_settings($wp_customize) {
1042 1042
 			$wp_customize->add_section('aui_settings', array(
1043
-				'title'    => __('AyeCode UI', 'ayecode-connect' ),
1043
+				'title'    => __('AyeCode UI', 'ayecode-connect'),
1044 1044
 				'priority' => 120,
1045 1045
 			));
1046 1046
 
@@ -1054,8 +1054,8 @@  discard block
 block discarded – undo
1054 1054
 				'type'              => 'option',
1055 1055
 				'transport'         => 'refresh',
1056 1056
 			));
1057
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1058
-				'label'    => __('Primary Color', 'ayecode-connect' ),
1057
+			$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1058
+				'label'    => __('Primary Color', 'ayecode-connect'),
1059 1059
 				'section'  => 'aui_settings',
1060 1060
 				'settings' => 'aui_options[color_primary]',
1061 1061
 			)));
@@ -1067,8 +1067,8 @@  discard block
 block discarded – undo
1067 1067
 				'type'              => 'option',
1068 1068
 				'transport'         => 'refresh',
1069 1069
 			));
1070
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1071
-				'label'    => __('Secondary Color', 'ayecode-connect' ),
1070
+			$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1071
+				'label'    => __('Secondary Color', 'ayecode-connect'),
1072 1072
 				'section'  => 'aui_settings',
1073 1073
 				'settings' => 'aui_options[color_secondary]',
1074 1074
 			)));
@@ -1094,12 +1094,12 @@  discard block
 block discarded – undo
1094 1094
                 .collapse.show:not(.in){display: inherit;}
1095 1095
                 .fade.show{opacity: 1;}
1096 1096
 
1097
-                <?php if( defined( 'SVQ_THEME_VERSION' ) ){ ?>
1097
+                <?php if (defined('SVQ_THEME_VERSION')) { ?>
1098 1098
                 /* KLEO theme specific */
1099 1099
                 .kleo-main-header .navbar-collapse.collapse.show:not(.in){display: block !important;}
1100 1100
                 <?php } ?>
1101 1101
 
1102
-                <?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
1102
+                <?php if (defined('FUSION_BUILDER_VERSION')) { ?>
1103 1103
                 /* With Avada builder */
1104 1104
                 body.modal-open .modal.in  {opacity:1;z-index: 99999}
1105 1105
                 body.modal-open .modal.bsui.in .modal-content  {box-shadow: none;}
@@ -1110,44 +1110,44 @@  discard block
 block discarded – undo
1110 1110
                 <?php } ?>
1111 1111
             </style>
1112 1112
 			<?php
1113
-			return str_replace( array(
1113
+			return str_replace(array(
1114 1114
 				'<style>',
1115 1115
 				'</style>'
1116
-			), '', self::minify_css( ob_get_clean() ) );
1116
+			), '', self::minify_css(ob_get_clean()));
1117 1117
 		}
1118 1118
 
1119
-		public static function custom_css( $compatibility = true, $is_fse = false ) {
1119
+		public static function custom_css($compatibility = true, $is_fse = false) {
1120 1120
 			global $aui_bs5;
1121 1121
 
1122 1122
 			$colors = array();
1123 1123
 
1124
-			if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1124
+			if (defined('BLOCKSTRAP_VERSION')) {
1125 1125
 				$setting = wp_get_global_settings();
1126 1126
 
1127
-				if ( ! empty( $setting['color']['palette']['theme'] ) ) {
1128
-					foreach ( $setting['color']['palette']['theme'] as $color ) {
1129
-						$colors[$color['slug']] = esc_attr( $color['color'] );
1127
+				if (!empty($setting['color']['palette']['theme'])) {
1128
+					foreach ($setting['color']['palette']['theme'] as $color) {
1129
+						$colors[$color['slug']] = esc_attr($color['color']);
1130 1130
 					}
1131 1131
 				}
1132 1132
 
1133
-				if ( ! empty( $setting['color']['palette']['custom'] ) ) {
1134
-					foreach ( $setting['color']['palette']['custom'] as $color ) {
1135
-						$colors[$color['slug']] = esc_attr( $color['color'] );
1133
+				if (!empty($setting['color']['palette']['custom'])) {
1134
+					foreach ($setting['color']['palette']['custom'] as $color) {
1135
+						$colors[$color['slug']] = esc_attr($color['color']);
1136 1136
 					}
1137 1137
 				}
1138 1138
 			} else {
1139
-				$settings = get_option( 'aui_options' );
1139
+				$settings = get_option('aui_options');
1140 1140
 
1141 1141
 				$colors = array(
1142
-					'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1143
-					'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1142
+					'primary'   => !empty($settings['color_primary']) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1143
+					'secondary' => !empty($settings['color_secondary']) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1144 1144
 				);
1145 1145
 			}
1146 1146
 
1147 1147
 			ob_start();
1148 1148
 			?><style><?php
1149 1149
 			// BS v3 compat
1150
-			if( self::is_bs3_compat() ){
1150
+			if (self::is_bs3_compat()) {
1151 1151
 				echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1152 1152
 			}
1153 1153
 
@@ -1156,147 +1156,147 @@  discard block
 block discarded – undo
1156 1156
 				//$is_fse = true;
1157 1157
 			//}
1158 1158
 
1159
-			$custom_front = ! is_admin() ? true : apply_filters('ayecode_ui_custom_front', false );
1160
-			$custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false );
1161
-            $bs_custom_css = apply_filters( 'ayecode_ui_bs_custom_css', $custom_admin || $custom_front );
1159
+			$custom_front = !is_admin() ? true : apply_filters('ayecode_ui_custom_front', false);
1160
+			$custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false);
1161
+            $bs_custom_css = apply_filters('ayecode_ui_bs_custom_css', $custom_admin || $custom_front);
1162 1162
 			//$bs_custom_css = true; // Force true to fix any color issue.
1163 1163
 
1164 1164
 			$colors_css = '';
1165
-			if ( ! empty( $colors ) && $bs_custom_css ) {
1165
+			if (!empty($colors) && $bs_custom_css) {
1166 1166
 				$d_colors = self::get_colors(true);
1167 1167
 
1168
-				foreach ( $colors as $key => $color ) {
1169
-					if ( ( empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) {
1168
+				foreach ($colors as $key => $color) {
1169
+					if ((empty($d_colors[$key]) || $d_colors[$key] != $color) || $is_fse) {
1170 1170
 						$var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1171 1171
 						$compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1172 1172
 
1173
-						$colors_css .= $aui_bs5 ? self::css_overwrite_bs5( $key,$var, $compat, $color ) : self::css_overwrite( $key, $var, $compat, $color );
1173
+						$colors_css .= $aui_bs5 ? self::css_overwrite_bs5($key, $var, $compat, $color) : self::css_overwrite($key, $var, $compat, $color);
1174 1174
 					}
1175 1175
 				}
1176 1176
 			}
1177 1177
 
1178
-			if ( $colors_css ) {
1178
+			if ($colors_css) {
1179 1179
 				echo $colors_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1180 1180
 			}
1181 1181
 
1182 1182
 			// Set admin bar z-index lower when modal is open.
1183 1183
 			echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1184 1184
 
1185
-			if ( is_admin() ) {
1185
+			if (is_admin()) {
1186 1186
 				echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1187 1187
 			}
1188 1188
 
1189 1189
 			$custom_css = '';
1190 1190
 
1191
-			if ( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) && $bs_custom_css ) {
1191
+			if ($aui_bs5 && defined('BLOCKSTRAP_VERSION') && $bs_custom_css) {
1192 1192
 				$css = '';
1193 1193
 				$theme_settings = wp_get_global_styles();
1194 1194
 
1195 1195
 				// Font face
1196
-				if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1197
-					$t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1196
+				if (!empty($theme_settings['typography']['fontFamily'])) {
1197
+					$t_fontface = str_replace(array('var:preset|', 'font-family|'), array('--wp--preset--', 'font-family--'), $theme_settings['typography']['fontFamily']); //var(--wp--preset--font-family--poppins)
1198 1198
 					$css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1199 1199
 				}
1200 1200
 
1201 1201
 				// font size
1202
-				if( !empty( $theme_settings['typography']['fontSize'] ) ){
1203
-					$css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;';
1202
+				if (!empty($theme_settings['typography']['fontSize'])) {
1203
+					$css .= '--bs-body-font-size: ' . esc_attr($theme_settings['typography']['fontSize']) . ' ;';
1204 1204
 				}
1205 1205
 
1206 1206
 				// line height
1207
-				 if( !empty( $theme_settings['typography']['lineHeight'] ) ){
1208
-					$css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';';
1207
+				 if (!empty($theme_settings['typography']['lineHeight'])) {
1208
+					$css .= '--bs-body-line-height: ' . esc_attr($theme_settings['typography']['lineHeight']) . ';';
1209 1209
 				}
1210 1210
 
1211 1211
 
1212 1212
 				   // font weight
1213
-				 if( !empty( $theme_settings['typography']['fontWeight'] ) ){
1214
-					$css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';';
1213
+				 if (!empty($theme_settings['typography']['fontWeight'])) {
1214
+					$css .= '--bs-body-font-weight: ' . esc_attr($theme_settings['typography']['fontWeight']) . ';';
1215 1215
 				}
1216 1216
 
1217 1217
 				// Background
1218
-				 if( !empty( $theme_settings['color']['background'] ) ){
1219
-					$css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';';
1218
+				 if (!empty($theme_settings['color']['background'])) {
1219
+					$css .= '--bs-body-bg: ' . esc_attr($theme_settings['color']['background']) . ';';
1220 1220
 				}
1221 1221
 
1222 1222
 				 // Background Gradient
1223
-				 if( !empty( $theme_settings['color']['gradient'] ) ){
1224
-					$css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1223
+				 if (!empty($theme_settings['color']['gradient'])) {
1224
+					$css .= 'background: ' . esc_attr($theme_settings['color']['gradient']) . ';';
1225 1225
 				}
1226 1226
 
1227 1227
 				   // Background Gradient
1228
-				 if( !empty( $theme_settings['color']['gradient'] ) ){
1229
-					$css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1228
+				 if (!empty($theme_settings['color']['gradient'])) {
1229
+					$css .= 'background: ' . esc_attr($theme_settings['color']['gradient']) . ';';
1230 1230
 				}
1231 1231
 
1232 1232
 				// text color
1233
-				if( !empty( $theme_settings['color']['text'] ) ){
1234
-					$css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';';
1233
+				if (!empty($theme_settings['color']['text'])) {
1234
+					$css .= '--bs-body-color: ' . esc_attr($theme_settings['color']['text']) . ';';
1235 1235
 				}
1236 1236
 
1237 1237
 
1238 1238
 				// link colors
1239
-				if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){
1240
-					$css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';';
1239
+				if (!empty($theme_settings['elements']['link']['color']['text'])) {
1240
+					$css .= '--bs-link-color: ' . esc_attr($theme_settings['elements']['link']['color']['text']) . ';';
1241 1241
 				}
1242
-				if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){
1243
-					$css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';';
1242
+				if (!empty($theme_settings['elements']['link'][':hover']['color']['text'])) {
1243
+					$css .= '--bs-link-hover-color: ' . esc_attr($theme_settings['elements']['link'][':hover']['color']['text']) . ';';
1244 1244
 				}
1245 1245
 
1246
-				if($css){
1247
-					$custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}';
1246
+				if ($css) {
1247
+					$custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr($css) . '}' : 'body{' . esc_attr($css) . '}';
1248 1248
 				}
1249 1249
 
1250 1250
 				$bep = $is_fse ? 'body.editor-styles-wrapper ' : '';
1251 1251
 
1252 1252
 				// Headings
1253 1253
 				$headings_css = '';
1254
-				if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){
1255
-					$headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";";
1254
+				if (!empty($theme_settings['elements']['heading']['color']['text'])) {
1255
+					$headings_css .= "color: " . esc_attr($theme_settings['elements']['heading']['color']['text']) . ";";
1256 1256
 				}
1257 1257
 
1258 1258
 				// heading background
1259
-				if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){
1260
-					$headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';';
1259
+				if (!empty($theme_settings['elements']['heading']['color']['background'])) {
1260
+					$headings_css .= 'background: ' . esc_attr($theme_settings['elements']['heading']['color']['background']) . ';';
1261 1261
 				}
1262 1262
 
1263 1263
 				 // heading font family
1264
-				if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){
1265
-					$headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily']  ) . ';';
1264
+				if (!empty($theme_settings['elements']['heading']['typography']['fontFamily'])) {
1265
+					$headings_css .= 'font-family: ' . esc_attr($theme_settings['elements']['heading']['typography']['fontFamily']) . ';';
1266 1266
 				}
1267 1267
 
1268
-				if( $headings_css ){
1269
-					$custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}";
1268
+				if ($headings_css) {
1269
+					$custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr($headings_css) . "}";
1270 1270
 				}
1271 1271
 
1272
-				$hs = array('h1','h2','h3','h4','h5','h6');
1272
+				$hs = array('h1', 'h2', 'h3', 'h4', 'h5', 'h6');
1273 1273
 
1274
-				foreach($hs as $hn){
1274
+				foreach ($hs as $hn) {
1275 1275
 					$h_css = '';
1276
-					 if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){
1277
-						$h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';';
1276
+					 if (!empty($theme_settings['elements'][$hn]['color']['text'])) {
1277
+						$h_css .= 'color: ' . esc_attr($theme_settings['elements'][$hn]['color']['text']) . ';';
1278 1278
 					 }
1279 1279
 
1280
-					  if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){
1281
-						$h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize']  ) . ';';
1280
+					  if (!empty($theme_settings['elements'][$hn]['typography']['fontSize'])) {
1281
+						$h_css .= 'font-size: ' . esc_attr($theme_settings['elements'][$hn]['typography']['fontSize']) . ';';
1282 1282
 					 }
1283 1283
 
1284
-					  if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){
1285
-						$h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily']  ) . ';';
1284
+					  if (!empty($theme_settings['elements'][$hn]['typography']['fontFamily'])) {
1285
+						$h_css .= 'font-family: ' . esc_attr($theme_settings['elements'][$hn]['typography']['fontFamily']) . ';';
1286 1286
 					 }
1287 1287
 
1288
-					 if($h_css){
1289
-						$custom_css .= esc_attr( $bep  . $hn ) . '{'.esc_attr( $h_css ).'}';
1288
+					 if ($h_css) {
1289
+						$custom_css .= esc_attr($bep . $hn) . '{' . esc_attr($h_css) . '}';
1290 1290
 					 }
1291 1291
 				}
1292 1292
 			}
1293 1293
 			
1294
-			if ( $custom_css ) {
1294
+			if ($custom_css) {
1295 1295
 				echo $custom_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1296 1296
 			}
1297 1297
 
1298 1298
 			// Pagination on Hello Elementor theme.
1299
-			if ( function_exists( 'hello_elementor_setup' ) ) {
1299
+			if (function_exists('hello_elementor_setup')) {
1300 1300
 				echo '.aui-nav-links .pagination{justify-content:inherit}';
1301 1301
 			}
1302 1302
 			?></style><?php
@@ -1305,10 +1305,10 @@  discard block
 block discarded – undo
1305 1305
 			/*
1306 1306
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1307 1307
 			 */
1308
-			return str_replace( array(
1308
+			return str_replace(array(
1309 1309
 				'<style>',
1310 1310
 				'</style>'
1311
-			), '', self::minify_css( $custom_css ) );
1311
+			), '', self::minify_css($custom_css));
1312 1312
 		}
1313 1313
 
1314 1314
 		/**
@@ -1316,34 +1316,34 @@  discard block
 block discarded – undo
1316 1316
 		 *
1317 1317
 		 * @return bool
1318 1318
 		 */
1319
-		public static function is_bs3_compat(){
1319
+		public static function is_bs3_compat() {
1320 1320
 			return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1321 1321
 		}
1322 1322
 
1323
-		public static function hex_to_rgb( $hex ) {
1323
+		public static function hex_to_rgb($hex) {
1324 1324
 			// Remove '#' if present
1325
-			$hex = str_replace( '#', '', $hex );
1325
+			$hex = str_replace('#', '', $hex);
1326 1326
 
1327 1327
 			// Check if input is RGB
1328
-			if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) {
1329
-				$_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) );
1328
+			if (strpos($hex, 'rgba(') === 0 || strpos($hex, 'rgb(') === 0) {
1329
+				$_rgb = explode(',', str_replace(array('rgba(', 'rgb(', ')'), '', $hex));
1330 1330
 
1331
-				$rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ',';
1332
-				$rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ',';
1333
-				$rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' );
1331
+				$rgb = (isset($_rgb[0]) ? (int) trim($_rgb[0]) : '0') . ',';
1332
+				$rgb .= (isset($_rgb[1]) ? (int) trim($_rgb[1]) : '0') . ',';
1333
+				$rgb .= (isset($_rgb[2]) ? (int) trim($_rgb[2]) : '0');
1334 1334
 
1335 1335
 				return $rgb;
1336 1336
 			}
1337 1337
 
1338 1338
 			// Convert 3-digit hex to 6-digit hex
1339
-			if ( strlen( $hex ) == 3 ) {
1340
-				$hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
1339
+			if (strlen($hex) == 3) {
1340
+				$hex = str_repeat(substr($hex, 0, 1), 2) . str_repeat(substr($hex, 1, 1), 2) . str_repeat(substr($hex, 2, 1), 2);
1341 1341
 			}
1342 1342
 
1343 1343
 			// Convert hex to RGB
1344
-			$r = hexdec( substr( $hex, 0, 2 ) );
1345
-			$g = hexdec( substr( $hex, 2, 2 ) );
1346
-			$b = hexdec( substr( $hex, 4, 2 ) );
1344
+			$r = hexdec(substr($hex, 0, 2));
1345
+			$g = hexdec(substr($hex, 2, 2));
1346
+			$b = hexdec(substr($hex, 4, 2));
1347 1347
 
1348 1348
 			// Return RGB values as an array
1349 1349
 			return $r . ',' . $g . ',' . $b;
@@ -1358,13 +1358,13 @@  discard block
 block discarded – undo
1358 1358
 		 *
1359 1359
 		 * @return string
1360 1360
 		 */
1361
-		public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1361
+		public static function css_overwrite_bs5($type, $color_code, $compatibility, $hex = '') {
1362 1362
 			global $aui_bs5;
1363 1363
 
1364 1364
 			$is_var = false;
1365 1365
 			$is_custom = strpos($type, 'custom-') !== false ? true : false;
1366
-			if(!$color_code){return '';}
1367
-			if(strpos($color_code, 'var') !== false){
1366
+			if (!$color_code) {return ''; }
1367
+			if (strpos($color_code, 'var') !== false) {
1368 1368
 				//if(!sanitize_hex_color($color_code)){
1369 1369
 				$color_code = esc_attr($color_code);
1370 1370
 				$is_var = true;
@@ -1374,15 +1374,15 @@  discard block
 block discarded – undo
1374 1374
 
1375 1375
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1376 1376
 
1377
-			if(!$color_code){return '';}
1377
+			if (!$color_code) {return ''; }
1378 1378
 
1379 1379
 			$rgb = self::hex_to_rgb($hex);
1380 1380
 
1381
-			if($compatibility===true || $compatibility===1){
1381
+			if ($compatibility === true || $compatibility === 1) {
1382 1382
 				$compatibility = '.bsui';
1383
-			}elseif(!$compatibility){
1383
+			}elseif (!$compatibility) {
1384 1384
 				$compatibility = '';
1385
-			}else{
1385
+			} else {
1386 1386
 				$compatibility = esc_attr($compatibility);
1387 1387
 			}
1388 1388
 
@@ -1399,30 +1399,30 @@  discard block
 block discarded – undo
1399 1399
 			 * c = color, b = background color, o = border-color, f = fill
1400 1400
 			 */
1401 1401
 			$selectors = array(
1402
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1403
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1404
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1405
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1406
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1407
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1408
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1409
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1410
-				".badge-{$type}"                                            => array( 'b' ),
1411
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1412
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1413
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1414
-				".text-{$type}"                                     => array( 'c' ),
1402
+				".btn-{$type}"                                              => array('b', 'o'),
1403
+				".btn-{$type}.disabled"                                     => array('b', 'o'),
1404
+				".btn-{$type}:disabled"                                     => array('b', 'o'),
1405
+				".btn-outline-{$type}"                                      => array('c', 'o'),
1406
+				".btn-outline-{$type}:hover"                                => array('b', 'o'),
1407
+				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array('b', 'o'),
1408
+				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array('b', 'o'),
1409
+				".show>.btn-outline-{$type}.dropdown-toggle"                => array('b', 'o'),
1410
+				".badge-{$type}"                                            => array('b'),
1411
+				".alert-{$type}"                                            => array('b', 'o'),
1412
+				".bg-{$type}"                                               => array('b', 'f'),
1413
+				".btn-link.btn-{$type}"                                     => array('c'),
1414
+				".text-{$type}"                                     => array('c'),
1415 1415
 			);
1416 1416
 
1417
-			if ( $aui_bs5 ) {
1418
-				unset($selectors[".alert-{$type}" ]);
1417
+			if ($aui_bs5) {
1418
+				unset($selectors[".alert-{$type}"]);
1419 1419
 			}
1420 1420
 
1421
-			if ( $type == 'primary' ) {
1421
+			if ($type == 'primary') {
1422 1422
 				$selectors = $selectors + array(
1423
-						'a'                                                                                                    => array( 'c' ),
1424
-						'.btn-link'                                                                                            => array( 'c' ),
1425
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1423
+						'a'                                                                                                    => array('c'),
1424
+						'.btn-link'                                                                                            => array('c'),
1425
+						'.dropdown-item.active'                                                                                => array('b'),
1426 1426
 						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1427 1427
 							'b',
1428 1428
 							'o'
@@ -1431,57 +1431,57 @@  discard block
 block discarded – undo
1431 1431
 							'b',
1432 1432
 							'o'
1433 1433
 						),
1434
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1435
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1436
-						'.page-link'                                                                                           => array( 'c' ),
1434
+						'.nav-pills .nav-link.active'                                                                          => array('b'),
1435
+						'.nav-pills .show>.nav-link'                                                                           => array('b'),
1436
+						'.page-link'                                                                                           => array('c'),
1437 1437
 						'.page-item.active .page-link'                                                                         => array(
1438 1438
 							'b',
1439 1439
 							'o'
1440 1440
 						),
1441
-						'.progress-bar'                                                                                        => array( 'b' ),
1441
+						'.progress-bar'                                                                                        => array('b'),
1442 1442
 						'.list-group-item.active'                                                                              => array(
1443 1443
 							'b',
1444 1444
 							'o'
1445 1445
 						),
1446
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1446
+						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1447 1447
 					);
1448 1448
 			}
1449 1449
 
1450 1450
 
1451 1451
 
1452 1452
             // link
1453
-			if ( $type === 'primary' ) {
1454
-				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1455
-				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1456
-				$output .= $prefix . ' .navbar { --bs-nav-link-hover-color: '.esc_attr($color_code).'; --bs-navbar-hover-color: '.esc_attr($color_code).'; --bs-navbar-active-color: '.esc_attr($color_code).'; }';
1453
+			if ($type === 'primary') {
1454
+				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-' . esc_attr($type) . '-rgb), .75); --bs-link-color: var(--bs-' . esc_attr($type) . '); }';
1455
+				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: ' . esc_attr($color_code) . ';  }';
1456
+				$output .= $prefix . ' .navbar { --bs-nav-link-hover-color: ' . esc_attr($color_code) . '; --bs-navbar-hover-color: ' . esc_attr($color_code) . '; --bs-navbar-active-color: ' . esc_attr($color_code) . '; }';
1457 1457
 
1458
-				$output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1459
-				$output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1458
+				$output .= $prefix . ' a{color: var(--bs-' . esc_attr($type) . ');}';
1459
+				$output .= $prefix . ' .text-primary{color: var(--bs-' . esc_attr($type) . ') !important;}';
1460 1460
 
1461 1461
                 // dropdown
1462
-				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1462
+				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-' . esc_attr($type) . '); --bs-dropdown-link-active-color: var(--bs-' . esc_attr($type) . ');}';
1463 1463
 
1464 1464
                 // pagination
1465
-				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1465
+				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-' . esc_attr($type) . '); --bs-pagination-active-bg: var(--bs-' . esc_attr($type) . ');}';
1466 1466
 
1467 1467
 			}
1468 1468
 
1469
-			$output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1470
-			$output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1469
+			$output .= $prefix . ' .link-' . esc_attr($type) . ' {color: var(--bs-' . esc_attr($type) . '-rgb) !important;}';
1470
+			$output .= $prefix . ' .link-' . esc_attr($type) . ':hover {color: rgba(var(--bs-' . esc_attr($type) . '-rgb), .8) !important;}';
1471 1471
 
1472 1472
 			//  buttons
1473
-			$output .= $prefix . ' .btn-'.esc_attr($type).'{';
1473
+			$output .= $prefix . ' .btn-' . esc_attr($type) . '{';
1474 1474
 			$output .= ' 
1475
-            --bs-btn-bg: '.esc_attr($color_code).';
1476
-            --bs-btn-border-color: '.esc_attr($color_code).';
1477
-            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1478
-            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1479
-            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type).'-rgb;
1480
-            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1481
-            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1475
+            --bs-btn-bg: '.esc_attr($color_code) . ';
1476
+            --bs-btn-border-color: '.esc_attr($color_code) . ';
1477
+            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1478
+            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1479
+            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type) . '-rgb;
1480
+            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1481
+            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1482 1482
             --bs-btn-active-shadow: unset;
1483
-            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1484
-            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1483
+            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .5);
1484
+            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .1);
1485 1485
             ';
1486 1486
 //			$output .= '
1487 1487
 //		    --bs-btn-color: #fff;
@@ -1492,18 +1492,18 @@  discard block
 block discarded – undo
1492 1492
 			$output .= '}';
1493 1493
 
1494 1494
 			//  buttons outline
1495
-			$output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1495
+			$output .= $prefix . ' .btn-outline-' . esc_attr($type) . '{';
1496 1496
 			$output .= ' 
1497
-			--bs-btn-color: '.esc_attr($color_code).';
1498
-            --bs-btn-border-color: '.esc_attr($color_code).';
1499
-            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1500
-            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1501
-            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type).'-rgb;
1502
-            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1503
-            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1497
+			--bs-btn-color: '.esc_attr($color_code) . ';
1498
+            --bs-btn-border-color: '.esc_attr($color_code) . ';
1499
+            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1500
+            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1501
+            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type) . '-rgb;
1502
+            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1503
+            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1504 1504
             --bs-btn-active-shadow: unset;
1505
-            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1506
-            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1505
+            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .5);
1506
+            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .1);
1507 1507
             ';
1508 1508
 //			$output .= '
1509 1509
 //		    --bs-btn-color: #fff;
@@ -1515,32 +1515,32 @@  discard block
 block discarded – undo
1515 1515
 
1516 1516
 
1517 1517
             // button hover
1518
-			$output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1518
+			$output .= $prefix . ' .btn-' . esc_attr($type) . ':hover{';
1519 1519
 			$output .= ' 
1520
-            box-shadow: 0 0.25rem 0.25rem 0.125rem rgb(var(--bs-'.esc_attr($type).'-rgb), .1), 0 0.375rem 0.75rem -0.125rem rgb(var(--bs-'.esc_attr($type).'-rgb) , .4);
1520
+            box-shadow: 0 0.25rem 0.25rem 0.125rem rgb(var(--bs-'.esc_attr($type) . '-rgb), .1), 0 0.375rem 0.75rem -0.125rem rgb(var(--bs-' . esc_attr($type) . '-rgb) , .4);
1521 1521
             }
1522 1522
             ';
1523 1523
 
1524 1524
 
1525
-			if ( $aui_bs5 ) {
1525
+			if ($aui_bs5) {
1526 1526
 //				$output .= $is_var ? 'html body {--bs-'.esc_attr($type).'-rgb: '.$color_code.'; }' : 'html body {--bs-'.esc_attr($type).'-rgb: '.self::hex_to_rgb($color_code).'; }';
1527
-				$output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1528
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1527
+				$output .= 'html body {--bs-' . esc_attr($type) . ': ' . esc_attr($color_code) . '; }';
1528
+				$output .= 'html body {--bs-' . esc_attr($type) . '-rgb: ' . $rgb . '; }';
1529 1529
 			}
1530 1530
 
1531 1531
 
1532
-			if ( $is_custom ) {
1532
+			if ($is_custom) {
1533 1533
 
1534 1534
 //				echo '###'.$type;exit;
1535 1535
 
1536 1536
 				// build rules into each type
1537
-				foreach($selectors as $selector => $types){
1538
-					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1539
-					$types = array_combine($types,$types);
1540
-					if(isset($types['c'])){$color[] = $selector;}
1541
-					if(isset($types['b'])){$background[] = $selector;}
1542
-					if(isset($types['o'])){$border[] = $selector;}
1543
-					if(isset($types['f'])){$fill[] = $selector;}
1537
+				foreach ($selectors as $selector => $types) {
1538
+					$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1539
+					$types = array_combine($types, $types);
1540
+					if (isset($types['c'])) {$color[] = $selector; }
1541
+					if (isset($types['b'])) {$background[] = $selector; }
1542
+					if (isset($types['o'])) {$border[] = $selector; }
1543
+					if (isset($types['f'])) {$fill[] = $selector; }
1544 1544
 				}
1545 1545
 
1546 1546
 //				// build rules into each type
@@ -1554,36 +1554,36 @@  discard block
 block discarded – undo
1554 1554
 //				}
1555 1555
 
1556 1556
 				// add any color rules
1557
-				if(!empty($color)){
1558
-					$output .= implode(",",$color) . "{color: $color_code;} ";
1557
+				if (!empty($color)) {
1558
+					$output .= implode(",", $color) . "{color: $color_code;} ";
1559 1559
 				}
1560
-				if(!empty($color_i)){
1561
-					$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1560
+				if (!empty($color_i)) {
1561
+					$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1562 1562
 				}
1563 1563
 
1564 1564
 				// add any background color rules
1565
-				if(!empty($background)){
1566
-					$output .= implode(",",$background) . "{background-color: $color_code;} ";
1565
+				if (!empty($background)) {
1566
+					$output .= implode(",", $background) . "{background-color: $color_code;} ";
1567 1567
 				}
1568
-				if(!empty($background_i)){
1569
-					$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1568
+				if (!empty($background_i)) {
1569
+					$output .= $aui_bs5 ? '' : implode(",", $background_i) . "{background-color: $color_code !important;} ";
1570 1570
 //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1571 1571
 				}
1572 1572
 
1573 1573
 				// add any border color rules
1574
-				if(!empty($border)){
1575
-					$output .= implode(",",$border) . "{border-color: $color_code;} ";
1574
+				if (!empty($border)) {
1575
+					$output .= implode(",", $border) . "{border-color: $color_code;} ";
1576 1576
 				}
1577
-				if(!empty($border_i)){
1578
-					$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1577
+				if (!empty($border_i)) {
1578
+					$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1579 1579
 				}
1580 1580
 
1581 1581
 				// add any fill color rules
1582
-				if(!empty($fill)){
1583
-					$output .= implode(",",$fill) . "{fill: $color_code;} ";
1582
+				if (!empty($fill)) {
1583
+					$output .= implode(",", $fill) . "{fill: $color_code;} ";
1584 1584
 				}
1585
-				if(!empty($fill_i)){
1586
-					$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1585
+				if (!empty($fill_i)) {
1586
+					$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1587 1587
 				}
1588 1588
 
1589 1589
 			}
@@ -1593,26 +1593,26 @@  discard block
 block discarded – undo
1593 1593
 
1594 1594
 			$transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : '';
1595 1595
 			// darken
1596
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1597
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1598
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1599
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1596
+			$darker_075 = $is_var ? $color_code . ';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code, "-0.075");
1597
+			$darker_10 = $is_var ? $color_code . ';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code, "-0.10");
1598
+			$darker_125 = $is_var ? $color_code . ';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code, "-0.125");
1599
+			$darker_40 = $is_var ? $color_code . ';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code, "-0.4");
1600 1600
 
1601 1601
 			// lighten
1602
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1602
+			$lighten_25 = $is_var ? $color_code . ';filter:brightness(1.25)' : self::css_hex_lighten_darken($color_code, "0.25");
1603 1603
 
1604 1604
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1605
-			$op_25 = $color_code."40"; // 25% opacity
1605
+			$op_25 = $color_code . "40"; // 25% opacity
1606 1606
 
1607 1607
 
1608 1608
 			// button states
1609
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1610
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1609
+			$output .= $is_var ? $prefix . " .btn-{$type}{{$transition }} " : '';
1610
+			$output .= $prefix . " .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1611 1611
 //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1612
-			$output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1613
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1614
-            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1615
-            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled):focus {box-shadow: 0 0.25rem 0.25rem 0.125rem rgba(var(--bs-{$type}-rgb), 0.1), 0 0.375rem 0.75rem -0.125rem rgba(var(--bs-{$type}-rgb), 0.4);} ";
1612
+			$output .= $prefix . " .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1613
+			$output .= $prefix . " .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: " . $darker_10 . ";    border-color: " . $darker_125 . ";} ";
1614
+            $output .= $prefix . " .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1615
+            $output .= $prefix . " .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled):focus {box-shadow: 0 0.25rem 0.25rem 0.125rem rgba(var(--bs-{$type}-rgb), 0.1), 0 0.375rem 0.75rem -0.125rem rgba(var(--bs-{$type}-rgb), 0.4);} ";
1616 1616
 
1617 1617
 			// text
1618 1618
 //			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
@@ -1630,9 +1630,9 @@  discard block
 block discarded – undo
1630 1630
 //			}
1631 1631
 
1632 1632
 			// alerts
1633
-			if ( $aui_bs5 ) {
1633
+			if ($aui_bs5) {
1634 1634
 //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1635
-				$output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1635
+				$output .= $prefix . " .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1636 1636
 			}
1637 1637
 
1638 1638
 			return $output;
@@ -1647,12 +1647,12 @@  discard block
 block discarded – undo
1647 1647
 		 *
1648 1648
 		 * @return string
1649 1649
 		 */
1650
-		public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1650
+		public static function css_overwrite($type, $color_code, $compatibility, $hex = '') {
1651 1651
             global $aui_bs5;
1652 1652
 
1653 1653
 			$is_var = false;
1654
-			if(!$color_code){return '';}
1655
-			if(strpos($color_code, 'var') !== false){
1654
+			if (!$color_code) {return ''; }
1655
+			if (strpos($color_code, 'var') !== false) {
1656 1656
 				//if(!sanitize_hex_color($color_code)){
1657 1657
 				$color_code = esc_attr($color_code);
1658 1658
 				$is_var = true;
@@ -1662,15 +1662,15 @@  discard block
 block discarded – undo
1662 1662
 
1663 1663
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1664 1664
 
1665
-			if(!$color_code){return '';}
1665
+			if (!$color_code) {return ''; }
1666 1666
 
1667 1667
             $rgb = self::hex_to_rgb($hex);
1668 1668
 
1669
-			if($compatibility===true || $compatibility===1){
1669
+			if ($compatibility === true || $compatibility === 1) {
1670 1670
 				$compatibility = '.bsui';
1671
-			}elseif(!$compatibility){
1671
+			}elseif (!$compatibility) {
1672 1672
 				$compatibility = '';
1673
-			}else{
1673
+			} else {
1674 1674
 				$compatibility = esc_attr($compatibility);
1675 1675
 			}
1676 1676
 
@@ -1684,29 +1684,29 @@  discard block
 block discarded – undo
1684 1684
 			 * c = color, b = background color, o = border-color, f = fill
1685 1685
 			 */
1686 1686
 			$selectors = array(
1687
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1688
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1689
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1690
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1691
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1692
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1693
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1694
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1695
-				".badge-{$type}"                                            => array( 'b' ),
1696
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1697
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1698
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1687
+				".btn-{$type}"                                              => array('b', 'o'),
1688
+				".btn-{$type}.disabled"                                     => array('b', 'o'),
1689
+				".btn-{$type}:disabled"                                     => array('b', 'o'),
1690
+				".btn-outline-{$type}"                                      => array('c', 'o'),
1691
+				".btn-outline-{$type}:hover"                                => array('b', 'o'),
1692
+				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array('b', 'o'),
1693
+				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array('b', 'o'),
1694
+				".show>.btn-outline-{$type}.dropdown-toggle"                => array('b', 'o'),
1695
+				".badge-{$type}"                                            => array('b'),
1696
+				".alert-{$type}"                                            => array('b', 'o'),
1697
+				".bg-{$type}"                                               => array('b', 'f'),
1698
+				".btn-link.btn-{$type}"                                     => array('c'),
1699 1699
 			);
1700 1700
 
1701
-			if ( $aui_bs5 ) {
1702
-                unset($selectors[".alert-{$type}" ]);
1701
+			if ($aui_bs5) {
1702
+                unset($selectors[".alert-{$type}"]);
1703 1703
 			}
1704 1704
 
1705
-			if ( $type == 'primary' ) {
1705
+			if ($type == 'primary') {
1706 1706
 				$selectors = $selectors + array(
1707
-						'a'                                                                                                    => array( 'c' ),
1708
-						'.btn-link'                                                                                            => array( 'c' ),
1709
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1707
+						'a'                                                                                                    => array('c'),
1708
+						'.btn-link'                                                                                            => array('c'),
1709
+						'.dropdown-item.active'                                                                                => array('b'),
1710 1710
 						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1711 1711
 							'b',
1712 1712
 							'o'
@@ -1715,19 +1715,19 @@  discard block
 block discarded – undo
1715 1715
 							'b',
1716 1716
 							'o'
1717 1717
 						),
1718
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1719
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1720
-						'.page-link'                                                                                           => array( 'c' ),
1718
+						'.nav-pills .nav-link.active'                                                                          => array('b'),
1719
+						'.nav-pills .show>.nav-link'                                                                           => array('b'),
1720
+						'.page-link'                                                                                           => array('c'),
1721 1721
 						'.page-item.active .page-link'                                                                         => array(
1722 1722
 							'b',
1723 1723
 							'o'
1724 1724
 						),
1725
-						'.progress-bar'                                                                                        => array( 'b' ),
1725
+						'.progress-bar'                                                                                        => array('b'),
1726 1726
 						'.list-group-item.active'                                                                              => array(
1727 1727
 							'b',
1728 1728
 							'o'
1729 1729
 						),
1730
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1730
+						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1731 1731
 //				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1732 1732
 //				    '.custom-range::-moz-range-thumb' => array('b'),
1733 1733
 //				    '.custom-range::-ms-thumb' => array('b'),
@@ -1735,7 +1735,7 @@  discard block
 block discarded – undo
1735 1735
 			}
1736 1736
 
1737 1737
 			$important_selectors = array(
1738
-				".bg-{$type}" => array('b','f'),
1738
+				".bg-{$type}" => array('b', 'f'),
1739 1739
 				".border-{$type}" => array('o'),
1740 1740
 				".text-{$type}" => array('c'),
1741 1741
 			);
@@ -1751,62 +1751,62 @@  discard block
 block discarded – undo
1751 1751
 
1752 1752
 			$output = '';
1753 1753
 
1754
-			if ( $aui_bs5 ) {
1754
+			if ($aui_bs5) {
1755 1755
 //				$output .= $is_var ? 'html body {--bs-'.esc_attr($type).'-rgb: '.$color_code.'; }' : 'html body {--bs-'.esc_attr($type).'-rgb: '.self::hex_to_rgb($color_code).'; }';
1756
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1756
+				$output .= 'html body {--bs-' . esc_attr($type) . '-rgb: ' . $rgb . '; }';
1757 1757
 			}
1758 1758
 
1759 1759
 			// build rules into each type
1760
-			foreach($selectors as $selector => $types){
1761
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1762
-				$types = array_combine($types,$types);
1763
-				if(isset($types['c'])){$color[] = $selector;}
1764
-				if(isset($types['b'])){$background[] = $selector;}
1765
-				if(isset($types['o'])){$border[] = $selector;}
1766
-				if(isset($types['f'])){$fill[] = $selector;}
1760
+			foreach ($selectors as $selector => $types) {
1761
+				$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1762
+				$types = array_combine($types, $types);
1763
+				if (isset($types['c'])) {$color[] = $selector; }
1764
+				if (isset($types['b'])) {$background[] = $selector; }
1765
+				if (isset($types['o'])) {$border[] = $selector; }
1766
+				if (isset($types['f'])) {$fill[] = $selector; }
1767 1767
 			}
1768 1768
 
1769 1769
 			// build rules into each type
1770
-			foreach($important_selectors as $selector => $types){
1771
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1772
-				$types = array_combine($types,$types);
1773
-				if(isset($types['c'])){$color_i[] = $selector;}
1774
-				if(isset($types['b'])){$background_i[] = $selector;}
1775
-				if(isset($types['o'])){$border_i[] = $selector;}
1776
-				if(isset($types['f'])){$fill_i[] = $selector;}
1770
+			foreach ($important_selectors as $selector => $types) {
1771
+				$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1772
+				$types = array_combine($types, $types);
1773
+				if (isset($types['c'])) {$color_i[] = $selector; }
1774
+				if (isset($types['b'])) {$background_i[] = $selector; }
1775
+				if (isset($types['o'])) {$border_i[] = $selector; }
1776
+				if (isset($types['f'])) {$fill_i[] = $selector; }
1777 1777
 			}
1778 1778
 
1779 1779
 			// add any color rules
1780
-			if(!empty($color)){
1781
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1780
+			if (!empty($color)) {
1781
+				$output .= implode(",", $color) . "{color: $color_code;} ";
1782 1782
 			}
1783
-			if(!empty($color_i)){
1784
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1783
+			if (!empty($color_i)) {
1784
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1785 1785
 			}
1786 1786
 
1787 1787
 			// add any background color rules
1788
-			if(!empty($background)){
1789
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1788
+			if (!empty($background)) {
1789
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
1790 1790
 			}
1791
-			if(!empty($background_i)){
1792
-				$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1791
+			if (!empty($background_i)) {
1792
+				$output .= $aui_bs5 ? '' : implode(",", $background_i) . "{background-color: $color_code !important;} ";
1793 1793
 //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1794 1794
 			}
1795 1795
 
1796 1796
 			// add any border color rules
1797
-			if(!empty($border)){
1798
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1797
+			if (!empty($border)) {
1798
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
1799 1799
 			}
1800
-			if(!empty($border_i)){
1801
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1800
+			if (!empty($border_i)) {
1801
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1802 1802
 			}
1803 1803
 
1804 1804
 			// add any fill color rules
1805
-			if(!empty($fill)){
1806
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1805
+			if (!empty($fill)) {
1806
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
1807 1807
 			}
1808
-			if(!empty($fill_i)){
1809
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1808
+			if (!empty($fill_i)) {
1809
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1810 1810
 			}
1811 1811
 
1812 1812
 
@@ -1814,27 +1814,27 @@  discard block
 block discarded – undo
1814 1814
 
1815 1815
 			$transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : '';
1816 1816
 			// darken
1817
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1818
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1819
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1820
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1817
+			$darker_075 = $is_var ? $color_code . ';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code, "-0.075");
1818
+			$darker_10 = $is_var ? $color_code . ';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code, "-0.10");
1819
+			$darker_125 = $is_var ? $color_code . ';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code, "-0.125");
1820
+			$darker_40 = $is_var ? $color_code . ';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code, "-0.4");
1821 1821
 
1822 1822
 			// lighten
1823
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1823
+			$lighten_25 = $is_var ? $color_code . ';filter:brightness(1.25)' : self::css_hex_lighten_darken($color_code, "0.25");
1824 1824
 
1825 1825
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1826
-			$op_25 = $color_code."40"; // 25% opacity
1826
+			$op_25 = $color_code . "40"; // 25% opacity
1827 1827
 
1828 1828
 
1829 1829
 			// button states
1830
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1831
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1830
+			$output .= $is_var ? $prefix . " .btn-{$type}{{$transition }} " : '';
1831
+			$output .= $prefix . " .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1832 1832
 //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1833
-			$output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1834
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1835
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1833
+			$output .= $prefix . " .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1834
+			$output .= $prefix . " .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: " . $darker_10 . ";    border-color: " . $darker_125 . ";} ";
1835
+			$output .= $prefix . " .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1836 1836
 
1837
-			if ( $type == 'primary' ) {
1837
+			if ($type == 'primary') {
1838 1838
 				// dropdown's
1839 1839
 				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1840 1840
 
@@ -1846,9 +1846,9 @@  discard block
 block discarded – undo
1846 1846
 			}
1847 1847
 
1848 1848
             // alerts
1849
-			if ( $aui_bs5 ) {
1849
+			if ($aui_bs5) {
1850 1850
 //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1851
-				$output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1851
+				$output .= $prefix . " .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1852 1852
 			}
1853 1853
 
1854 1854
 			return $output;
@@ -1864,11 +1864,11 @@  discard block
 block discarded – undo
1864 1864
 		 *
1865 1865
 		 * @return string
1866 1866
 		 */
1867
-		public static function css_primary($color_code,$compatibility, $use_variable = false){
1867
+		public static function css_primary($color_code, $compatibility, $use_variable = false) {
1868 1868
 
1869
-			if(!$use_variable){
1869
+			if (!$use_variable) {
1870 1870
 				$color_code = sanitize_hex_color($color_code);
1871
-				if(!$color_code){return '';}
1871
+				if (!$color_code) {return ''; }
1872 1872
 			}
1873 1873
 
1874 1874
 			/**
@@ -1876,36 +1876,36 @@  discard block
 block discarded – undo
1876 1876
 			 */
1877 1877
 			$selectors = array(
1878 1878
 				'a' => array('c'),
1879
-				'.btn-primary' => array('b','o'),
1880
-				'.btn-primary.disabled' => array('b','o'),
1881
-				'.btn-primary:disabled' => array('b','o'),
1882
-				'.btn-outline-primary' => array('c','o'),
1883
-				'.btn-outline-primary:hover' => array('b','o'),
1884
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1885
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1886
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1879
+				'.btn-primary' => array('b', 'o'),
1880
+				'.btn-primary.disabled' => array('b', 'o'),
1881
+				'.btn-primary:disabled' => array('b', 'o'),
1882
+				'.btn-outline-primary' => array('c', 'o'),
1883
+				'.btn-outline-primary:hover' => array('b', 'o'),
1884
+				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b', 'o'),
1885
+				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b', 'o'),
1886
+				'.show>.btn-outline-primary.dropdown-toggle' => array('b', 'o'),
1887 1887
 				'.btn-link' => array('c'),
1888 1888
 				'.dropdown-item.active' => array('b'),
1889
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1890
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1889
+				'.custom-control-input:checked~.custom-control-label::before' => array('b', 'o'),
1890
+				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b', 'o'),
1891 1891
 //				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1892 1892
 //				'.custom-range::-moz-range-thumb' => array('b'),
1893 1893
 //				'.custom-range::-ms-thumb' => array('b'),
1894 1894
 				'.nav-pills .nav-link.active' => array('b'),
1895 1895
 				'.nav-pills .show>.nav-link' => array('b'),
1896 1896
 				'.page-link' => array('c'),
1897
-				'.page-item.active .page-link' => array('b','o'),
1897
+				'.page-item.active .page-link' => array('b', 'o'),
1898 1898
 				'.badge-primary' => array('b'),
1899
-				'.alert-primary' => array('b','o'),
1899
+				'.alert-primary' => array('b', 'o'),
1900 1900
 				'.progress-bar' => array('b'),
1901
-				'.list-group-item.active' => array('b','o'),
1902
-				'.bg-primary' => array('b','f'),
1901
+				'.list-group-item.active' => array('b', 'o'),
1902
+				'.bg-primary' => array('b', 'f'),
1903 1903
 				'.btn-link.btn-primary' => array('c'),
1904 1904
 				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1905 1905
 			);
1906 1906
 
1907 1907
 			$important_selectors = array(
1908
-				'.bg-primary' => array('b','f'),
1908
+				'.bg-primary' => array('b', 'f'),
1909 1909
 				'.border-primary' => array('o'),
1910 1910
 				'.text-primary' => array('c'),
1911 1911
 			);
@@ -1922,88 +1922,88 @@  discard block
 block discarded – undo
1922 1922
 			$output = '';
1923 1923
 
1924 1924
 			// build rules into each type
1925
-			foreach($selectors as $selector => $types){
1926
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1927
-				$types = array_combine($types,$types);
1928
-				if(isset($types['c'])){$color[] = $selector;}
1929
-				if(isset($types['b'])){$background[] = $selector;}
1930
-				if(isset($types['o'])){$border[] = $selector;}
1931
-				if(isset($types['f'])){$fill[] = $selector;}
1925
+			foreach ($selectors as $selector => $types) {
1926
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1927
+				$types = array_combine($types, $types);
1928
+				if (isset($types['c'])) {$color[] = $selector; }
1929
+				if (isset($types['b'])) {$background[] = $selector; }
1930
+				if (isset($types['o'])) {$border[] = $selector; }
1931
+				if (isset($types['f'])) {$fill[] = $selector; }
1932 1932
 			}
1933 1933
 
1934 1934
 			// build rules into each type
1935
-			foreach($important_selectors as $selector => $types){
1936
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1937
-				$types = array_combine($types,$types);
1938
-				if(isset($types['c'])){$color_i[] = $selector;}
1939
-				if(isset($types['b'])){$background_i[] = $selector;}
1940
-				if(isset($types['o'])){$border_i[] = $selector;}
1941
-				if(isset($types['f'])){$fill_i[] = $selector;}
1935
+			foreach ($important_selectors as $selector => $types) {
1936
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1937
+				$types = array_combine($types, $types);
1938
+				if (isset($types['c'])) {$color_i[] = $selector; }
1939
+				if (isset($types['b'])) {$background_i[] = $selector; }
1940
+				if (isset($types['o'])) {$border_i[] = $selector; }
1941
+				if (isset($types['f'])) {$fill_i[] = $selector; }
1942 1942
 			}
1943 1943
 
1944 1944
 			// add any color rules
1945
-			if(!empty($color)){
1946
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1945
+			if (!empty($color)) {
1946
+				$output .= implode(",", $color) . "{color: $color_code;} ";
1947 1947
 			}
1948
-			if(!empty($color_i)){
1949
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1948
+			if (!empty($color_i)) {
1949
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1950 1950
 			}
1951 1951
 
1952 1952
 			// add any background color rules
1953
-			if(!empty($background)){
1954
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1953
+			if (!empty($background)) {
1954
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
1955 1955
 			}
1956
-			if(!empty($background_i)){
1957
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1956
+			if (!empty($background_i)) {
1957
+				$output .= implode(",", $background_i) . "{background-color: $color_code !important;} ";
1958 1958
 			}
1959 1959
 
1960 1960
 			// add any border color rules
1961
-			if(!empty($border)){
1962
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1961
+			if (!empty($border)) {
1962
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
1963 1963
 			}
1964
-			if(!empty($border_i)){
1965
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1964
+			if (!empty($border_i)) {
1965
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1966 1966
 			}
1967 1967
 
1968 1968
 			// add any fill color rules
1969
-			if(!empty($fill)){
1970
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1969
+			if (!empty($fill)) {
1970
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
1971 1971
 			}
1972
-			if(!empty($fill_i)){
1973
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1972
+			if (!empty($fill_i)) {
1973
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1974 1974
 			}
1975 1975
 
1976 1976
 
1977 1977
 			$prefix = $compatibility ? ".bsui " : "";
1978 1978
 
1979 1979
 			// darken
1980
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1981
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1982
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1980
+			$darker_075 = self::css_hex_lighten_darken($color_code, "-0.075");
1981
+			$darker_10 = self::css_hex_lighten_darken($color_code, "-0.10");
1982
+			$darker_125 = self::css_hex_lighten_darken($color_code, "-0.125");
1983 1983
 
1984 1984
 			// lighten
1985
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1985
+			$lighten_25 = self::css_hex_lighten_darken($color_code, "0.25");
1986 1986
 
1987 1987
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1988
-			$op_25 = $color_code."40"; // 25% opacity
1988
+			$op_25 = $color_code . "40"; // 25% opacity
1989 1989
 
1990 1990
 
1991 1991
 			// button states
1992
-			$output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1993
-			$output .= $prefix ." .btn-outline-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-primary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1994
-			$output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active, $prefix .btn-primary:not(:disabled):not(.disabled).active, .show>$prefix .btn-primary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1995
-			$output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-primary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1992
+			$output .= $prefix . " .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1993
+			$output .= $prefix . " .btn-outline-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-primary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1994
+			$output .= $prefix . " .btn-primary:not(:disabled):not(.disabled):active, $prefix .btn-primary:not(:disabled):not(.disabled).active, .show>$prefix .btn-primary.dropdown-toggle{background-color: " . $darker_10 . ";    border-color: " . $darker_125 . ";} ";
1995
+			$output .= $prefix . " .btn-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-primary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1996 1996
 
1997 1997
 
1998 1998
 			// dropdown's
1999
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1999
+			$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2000 2000
 
2001 2001
 
2002 2002
 			// input states
2003
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
2003
+			$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
2004 2004
 
2005 2005
 			// page link
2006
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2006
+			$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2007 2007
 
2008 2008
 			return $output;
2009 2009
 		}
@@ -2017,30 +2017,30 @@  discard block
 block discarded – undo
2017 2017
 		 *
2018 2018
 		 * @return string
2019 2019
 		 */
2020
-		public static function css_secondary($color_code,$compatibility){;
2020
+		public static function css_secondary($color_code, $compatibility) {;
2021 2021
 			$color_code = sanitize_hex_color($color_code);
2022
-			if(!$color_code){return '';}
2022
+			if (!$color_code) {return ''; }
2023 2023
 			/**
2024 2024
 			 * c = color, b = background color, o = border-color, f = fill
2025 2025
 			 */
2026 2026
 			$selectors = array(
2027
-				'.btn-secondary' => array('b','o'),
2028
-				'.btn-secondary.disabled' => array('b','o'),
2029
-				'.btn-secondary:disabled' => array('b','o'),
2030
-				'.btn-outline-secondary' => array('c','o'),
2031
-				'.btn-outline-secondary:hover' => array('b','o'),
2027
+				'.btn-secondary' => array('b', 'o'),
2028
+				'.btn-secondary.disabled' => array('b', 'o'),
2029
+				'.btn-secondary:disabled' => array('b', 'o'),
2030
+				'.btn-outline-secondary' => array('c', 'o'),
2031
+				'.btn-outline-secondary:hover' => array('b', 'o'),
2032 2032
 				'.btn-outline-secondary.disabled' => array('c'),
2033 2033
 				'.btn-outline-secondary:disabled' => array('c'),
2034
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2035
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2036
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2034
+				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b', 'o'),
2035
+				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b', 'o'),
2036
+				'.btn-outline-secondary.dropdown-toggle' => array('b', 'o'),
2037 2037
 				'.badge-secondary' => array('b'),
2038
-				'.alert-secondary' => array('b','o'),
2038
+				'.alert-secondary' => array('b', 'o'),
2039 2039
 				'.btn-link.btn-secondary' => array('c'),
2040 2040
 			);
2041 2041
 
2042 2042
 			$important_selectors = array(
2043
-				'.bg-secondary' => array('b','f'),
2043
+				'.bg-secondary' => array('b', 'f'),
2044 2044
 				'.border-secondary' => array('o'),
2045 2045
 				'.text-secondary' => array('c'),
2046 2046
 			);
@@ -2057,77 +2057,77 @@  discard block
 block discarded – undo
2057 2057
 			$output = '';
2058 2058
 
2059 2059
 			// build rules into each type
2060
-			foreach($selectors as $selector => $types){
2061
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2062
-				$types = array_combine($types,$types);
2063
-				if(isset($types['c'])){$color[] = $selector;}
2064
-				if(isset($types['b'])){$background[] = $selector;}
2065
-				if(isset($types['o'])){$border[] = $selector;}
2066
-				if(isset($types['f'])){$fill[] = $selector;}
2060
+			foreach ($selectors as $selector => $types) {
2061
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
2062
+				$types = array_combine($types, $types);
2063
+				if (isset($types['c'])) {$color[] = $selector; }
2064
+				if (isset($types['b'])) {$background[] = $selector; }
2065
+				if (isset($types['o'])) {$border[] = $selector; }
2066
+				if (isset($types['f'])) {$fill[] = $selector; }
2067 2067
 			}
2068 2068
 
2069 2069
 			// build rules into each type
2070
-			foreach($important_selectors as $selector => $types){
2071
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2072
-				$types = array_combine($types,$types);
2073
-				if(isset($types['c'])){$color_i[] = $selector;}
2074
-				if(isset($types['b'])){$background_i[] = $selector;}
2075
-				if(isset($types['o'])){$border_i[] = $selector;}
2076
-				if(isset($types['f'])){$fill_i[] = $selector;}
2070
+			foreach ($important_selectors as $selector => $types) {
2071
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
2072
+				$types = array_combine($types, $types);
2073
+				if (isset($types['c'])) {$color_i[] = $selector; }
2074
+				if (isset($types['b'])) {$background_i[] = $selector; }
2075
+				if (isset($types['o'])) {$border_i[] = $selector; }
2076
+				if (isset($types['f'])) {$fill_i[] = $selector; }
2077 2077
 			}
2078 2078
 
2079 2079
 			// add any color rules
2080
-			if(!empty($color)){
2081
-				$output .= implode(",",$color) . "{color: $color_code;} ";
2080
+			if (!empty($color)) {
2081
+				$output .= implode(",", $color) . "{color: $color_code;} ";
2082 2082
 			}
2083
-			if(!empty($color_i)){
2084
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2083
+			if (!empty($color_i)) {
2084
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
2085 2085
 			}
2086 2086
 
2087 2087
 			// add any background color rules
2088
-			if(!empty($background)){
2089
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
2088
+			if (!empty($background)) {
2089
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
2090 2090
 			}
2091
-			if(!empty($background_i)){
2092
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2091
+			if (!empty($background_i)) {
2092
+				$output .= implode(",", $background_i) . "{background-color: $color_code !important;} ";
2093 2093
 			}
2094 2094
 
2095 2095
 			// add any border color rules
2096
-			if(!empty($border)){
2097
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
2096
+			if (!empty($border)) {
2097
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
2098 2098
 			}
2099
-			if(!empty($border_i)){
2100
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2099
+			if (!empty($border_i)) {
2100
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
2101 2101
 			}
2102 2102
 
2103 2103
 			// add any fill color rules
2104
-			if(!empty($fill)){
2105
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
2104
+			if (!empty($fill)) {
2105
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
2106 2106
 			}
2107
-			if(!empty($fill_i)){
2108
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2107
+			if (!empty($fill_i)) {
2108
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
2109 2109
 			}
2110 2110
 
2111 2111
 
2112 2112
 			$prefix = $compatibility ? ".bsui " : "";
2113 2113
 
2114 2114
 			// darken
2115
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2116
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2117
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2115
+			$darker_075 = self::css_hex_lighten_darken($color_code, "-0.075");
2116
+			$darker_10 = self::css_hex_lighten_darken($color_code, "-0.10");
2117
+			$darker_125 = self::css_hex_lighten_darken($color_code, "-0.125");
2118 2118
 
2119 2119
 			// lighten
2120
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2120
+			$lighten_25 = self::css_hex_lighten_darken($color_code, "0.25");
2121 2121
 
2122 2122
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
2123
-			$op_25 = $color_code."40"; // 25% opacity
2123
+			$op_25 = $color_code . "40"; // 25% opacity
2124 2124
 
2125 2125
 
2126 2126
 			// button states
2127
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2128
-			$output .= $prefix ." .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-secondary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2129
-			$output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active, $prefix .btn-secondary:not(:disabled):not(.disabled).active, .show>$prefix .btn-secondary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
2130
-			$output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-secondary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
2127
+			$output .= $prefix . " .btn-secondary:hover{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
2128
+			$output .= $prefix . " .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-secondary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2129
+			$output .= $prefix . " .btn-secondary:not(:disabled):not(.disabled):active, $prefix .btn-secondary:not(:disabled):not(.disabled).active, .show>$prefix .btn-secondary.dropdown-toggle{background-color: " . $darker_10 . ";    border-color: " . $darker_125 . ";} ";
2130
+			$output .= $prefix . " .btn-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-secondary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
2131 2131
 
2132 2132
 
2133 2133
 			return $output;
@@ -2144,7 +2144,7 @@  discard block
 block discarded – undo
2144 2144
 		public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2145 2145
 			$hexCode = ltrim($hexCode, '#');
2146 2146
 
2147
-			if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2147
+			if (strpos($hexCode, 'rgba(') !== false || strpos($hexCode, 'rgb(') !== false) {
2148 2148
 				return $hexCode;
2149 2149
 			}
2150 2150
 
@@ -2167,8 +2167,8 @@  discard block
 block discarded – undo
2167 2167
 		/**
2168 2168
 		 * Check if we should display examples.
2169 2169
 		 */
2170
-		public function maybe_show_examples(){
2171
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2170
+		public function maybe_show_examples() {
2171
+			if (current_user_can('manage_options') && isset($_REQUEST['preview-aui'])) {
2172 2172
 				echo "<head>";
2173 2173
 				wp_head();
2174 2174
 				echo "</head>";
@@ -2184,7 +2184,7 @@  discard block
 block discarded – undo
2184 2184
 		 *
2185 2185
 		 * @return string
2186 2186
 		 */
2187
-		public function get_examples(){
2187
+		public function get_examples() {
2188 2188
 			$output = '';
2189 2189
 
2190 2190
 
@@ -2290,74 +2290,74 @@  discard block
 block discarded – undo
2290 2290
 		 */
2291 2291
 		public static function calendar_params() {
2292 2292
 			$params = array(
2293
-				'month_long_1' => __( 'January', 'ayecode-connect' ),
2294
-				'month_long_2' => __( 'February', 'ayecode-connect' ),
2295
-				'month_long_3' => __( 'March', 'ayecode-connect' ),
2296
-				'month_long_4' => __( 'April', 'ayecode-connect' ),
2297
-				'month_long_5' => __( 'May', 'ayecode-connect' ),
2298
-				'month_long_6' => __( 'June', 'ayecode-connect' ),
2299
-				'month_long_7' => __( 'July', 'ayecode-connect' ),
2300
-				'month_long_8' => __( 'August', 'ayecode-connect' ),
2301
-				'month_long_9' => __( 'September', 'ayecode-connect' ),
2302
-				'month_long_10' => __( 'October', 'ayecode-connect' ),
2303
-				'month_long_11' => __( 'November', 'ayecode-connect' ),
2304
-				'month_long_12' => __( 'December', 'ayecode-connect' ),
2305
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2306
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2307
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2308
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2309
-				'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2310
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2311
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2312
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2313
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2314
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2315
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2316
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2317
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2318
-				'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2319
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2320
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2321
-				'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2322
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2323
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2324
-				'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2325
-				'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2326
-				'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2327
-				'day_s2_4' => __( 'We', 'ayecode-connect' ),
2328
-				'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2329
-				'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2330
-				'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2331
-				'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2332
-				'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2333
-				'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2334
-				'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2335
-				'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2336
-				'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2337
-				'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2338
-				'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2339
-				'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2340
-				'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2341
-				'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2342
-				'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2343
-				'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2344
-				'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2345
-				'am_lower' => __( 'am', 'ayecode-connect' ),
2346
-				'pm_lower' => __( 'pm', 'ayecode-connect' ),
2347
-				'am_upper' => __( 'AM', 'ayecode-connect' ),
2348
-				'pm_upper' => __( 'PM', 'ayecode-connect' ),
2349
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2293
+				'month_long_1' => __('January', 'ayecode-connect'),
2294
+				'month_long_2' => __('February', 'ayecode-connect'),
2295
+				'month_long_3' => __('March', 'ayecode-connect'),
2296
+				'month_long_4' => __('April', 'ayecode-connect'),
2297
+				'month_long_5' => __('May', 'ayecode-connect'),
2298
+				'month_long_6' => __('June', 'ayecode-connect'),
2299
+				'month_long_7' => __('July', 'ayecode-connect'),
2300
+				'month_long_8' => __('August', 'ayecode-connect'),
2301
+				'month_long_9' => __('September', 'ayecode-connect'),
2302
+				'month_long_10' => __('October', 'ayecode-connect'),
2303
+				'month_long_11' => __('November', 'ayecode-connect'),
2304
+				'month_long_12' => __('December', 'ayecode-connect'),
2305
+				'month_s_1' => _x('Jan', 'January abbreviation', 'ayecode-connect'),
2306
+				'month_s_2' => _x('Feb', 'February abbreviation', 'ayecode-connect'),
2307
+				'month_s_3' => _x('Mar', 'March abbreviation', 'ayecode-connect'),
2308
+				'month_s_4' => _x('Apr', 'April abbreviation', 'ayecode-connect'),
2309
+				'month_s_5' => _x('May', 'May abbreviation', 'ayecode-connect'),
2310
+				'month_s_6' => _x('Jun', 'June abbreviation', 'ayecode-connect'),
2311
+				'month_s_7' => _x('Jul', 'July abbreviation', 'ayecode-connect'),
2312
+				'month_s_8' => _x('Aug', 'August abbreviation', 'ayecode-connect'),
2313
+				'month_s_9' => _x('Sep', 'September abbreviation', 'ayecode-connect'),
2314
+				'month_s_10' => _x('Oct', 'October abbreviation', 'ayecode-connect'),
2315
+				'month_s_11' => _x('Nov', 'November abbreviation', 'ayecode-connect'),
2316
+				'month_s_12' => _x('Dec', 'December abbreviation', 'ayecode-connect'),
2317
+				'day_s1_1' => _x('S', 'Sunday initial', 'ayecode-connect'),
2318
+				'day_s1_2' => _x('M', 'Monday initial', 'ayecode-connect'),
2319
+				'day_s1_3' => _x('T', 'Tuesday initial', 'ayecode-connect'),
2320
+				'day_s1_4' => _x('W', 'Wednesday initial', 'ayecode-connect'),
2321
+				'day_s1_5' => _x('T', 'Friday initial', 'ayecode-connect'),
2322
+				'day_s1_6' => _x('F', 'Thursday initial', 'ayecode-connect'),
2323
+				'day_s1_7' => _x('S', 'Saturday initial', 'ayecode-connect'),
2324
+				'day_s2_1' => __('Su', 'ayecode-connect'),
2325
+				'day_s2_2' => __('Mo', 'ayecode-connect'),
2326
+				'day_s2_3' => __('Tu', 'ayecode-connect'),
2327
+				'day_s2_4' => __('We', 'ayecode-connect'),
2328
+				'day_s2_5' => __('Th', 'ayecode-connect'),
2329
+				'day_s2_6' => __('Fr', 'ayecode-connect'),
2330
+				'day_s2_7' => __('Sa', 'ayecode-connect'),
2331
+				'day_s3_1' => __('Sun', 'ayecode-connect'),
2332
+				'day_s3_2' => __('Mon', 'ayecode-connect'),
2333
+				'day_s3_3' => __('Tue', 'ayecode-connect'),
2334
+				'day_s3_4' => __('Wed', 'ayecode-connect'),
2335
+				'day_s3_5' => __('Thu', 'ayecode-connect'),
2336
+				'day_s3_6' => __('Fri', 'ayecode-connect'),
2337
+				'day_s3_7' => __('Sat', 'ayecode-connect'),
2338
+				'day_s5_1' => __('Sunday', 'ayecode-connect'),
2339
+				'day_s5_2' => __('Monday', 'ayecode-connect'),
2340
+				'day_s5_3' => __('Tuesday', 'ayecode-connect'),
2341
+				'day_s5_4' => __('Wednesday', 'ayecode-connect'),
2342
+				'day_s5_5' => __('Thursday', 'ayecode-connect'),
2343
+				'day_s5_6' => __('Friday', 'ayecode-connect'),
2344
+				'day_s5_7' => __('Saturday', 'ayecode-connect'),
2345
+				'am_lower' => __('am', 'ayecode-connect'),
2346
+				'pm_lower' => __('pm', 'ayecode-connect'),
2347
+				'am_upper' => __('AM', 'ayecode-connect'),
2348
+				'pm_upper' => __('PM', 'ayecode-connect'),
2349
+				'firstDayOfWeek' => (int) get_option('start_of_week'),
2350 2350
 				'time_24hr' => false,
2351
-				'year' => __( 'Year', 'ayecode-connect' ),
2352
-				'hour' => __( 'Hour', 'ayecode-connect' ),
2353
-				'minute' => __( 'Minute', 'ayecode-connect' ),
2354
-				'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2355
-				'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2356
-				'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2357
-				'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2351
+				'year' => __('Year', 'ayecode-connect'),
2352
+				'hour' => __('Hour', 'ayecode-connect'),
2353
+				'minute' => __('Minute', 'ayecode-connect'),
2354
+				'weekAbbreviation' => __('Wk', 'ayecode-connect'),
2355
+				'rangeSeparator' => __(' to ', 'ayecode-connect'),
2356
+				'scrollTitle' => __('Scroll to increment', 'ayecode-connect'),
2357
+				'toggleTitle' => __('Click to toggle', 'ayecode-connect')
2358 2358
 			);
2359 2359
 
2360
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
2360
+			return apply_filters('ayecode_ui_calendar_params', $params);
2361 2361
 		}
2362 2362
 
2363 2363
 		/**
@@ -2370,47 +2370,47 @@  discard block
 block discarded – undo
2370 2370
 		public static function flatpickr_locale() {
2371 2371
 			$params = self::calendar_params();
2372 2372
 
2373
-			if ( is_string( $params ) ) {
2374
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2373
+			if (is_string($params)) {
2374
+				$params = html_entity_decode($params, ENT_QUOTES, 'UTF-8');
2375 2375
 			} else {
2376
-				foreach ( (array) $params as $key => $value ) {
2377
-					if ( ! is_scalar( $value ) ) {
2376
+				foreach ((array) $params as $key => $value) {
2377
+					if (!is_scalar($value)) {
2378 2378
 						continue;
2379 2379
 					}
2380 2380
 
2381
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2381
+					$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2382 2382
 				}
2383 2383
 			}
2384 2384
 
2385 2385
 			$day_s3 = array();
2386 2386
 			$day_s5 = array();
2387 2387
 
2388
-			for ( $i = 1; $i <= 7; $i ++ ) {
2389
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2390
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2388
+			for ($i = 1; $i <= 7; $i++) {
2389
+				$day_s3[] = addslashes($params['day_s3_' . $i]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2390
+				$day_s5[] = addslashes($params['day_s3_' . $i]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2391 2391
 			}
2392 2392
 
2393 2393
 			$month_s = array();
2394 2394
 			$month_long = array();
2395 2395
 
2396
-			for ( $i = 1; $i <= 12; $i ++ ) {
2397
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2398
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2396
+			for ($i = 1; $i <= 12; $i++) {
2397
+				$month_s[] = addslashes($params['month_s_' . $i]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2398
+				$month_long[] = addslashes($params['month_long_' . $i]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2399 2399
 			}
2400 2400
 
2401 2401
 			ob_start();
2402
-		if ( 0 ) { ?><script><?php } ?>
2402
+		if (0) { ?><script><?php } ?>
2403 2403
                 {
2404 2404
                     weekdays: {
2405
-                        shorthand: ['<?php echo implode( "','", $day_s3 ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2406
-                            longhand: ['<?php echo implode( "','", $day_s5 ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2405
+                        shorthand: ['<?php echo implode("','", $day_s3); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2406
+                            longhand: ['<?php echo implode("','", $day_s5); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2407 2407
                     },
2408 2408
                     months: {
2409
-                        shorthand: ['<?php echo implode( "','", $month_s ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2410
-                            longhand: ['<?php echo implode( "','", $month_long ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2409
+                        shorthand: ['<?php echo implode("','", $month_s); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2410
+                            longhand: ['<?php echo implode("','", $month_long); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2411 2411
                     },
2412 2412
                     daysInMonth: [31,28,31,30,31,30,31,31,30,31,30,31],
2413
-                        firstDayOfWeek: <?php echo (int) $params[ 'firstDayOfWeek' ]; ?>,
2413
+                        firstDayOfWeek: <?php echo (int) $params['firstDayOfWeek']; ?>,
2414 2414
                     ordinal: function (nth) {
2415 2415
                         var s = nth % 100;
2416 2416
                         if (s > 3 && s < 21)
@@ -2426,21 +2426,21 @@  discard block
 block discarded – undo
2426 2426
                                 return "th";
2427 2427
                         }
2428 2428
                     },
2429
-                    rangeSeparator: '<?php echo esc_attr( $params[ 'rangeSeparator' ] ); ?>',
2430
-                        weekAbbreviation: '<?php echo esc_attr( $params[ 'weekAbbreviation' ] ); ?>',
2431
-                    scrollTitle: '<?php echo esc_attr( $params[ 'scrollTitle' ] ); ?>',
2432
-                    toggleTitle: '<?php echo esc_attr( $params[ 'toggleTitle' ] ); ?>',
2433
-                    amPM: ['<?php echo esc_attr( $params[ 'am_upper' ] ); ?>','<?php echo esc_attr( $params[ 'pm_upper' ] ); ?>'],
2434
-                    yearAriaLabel: '<?php echo esc_attr( $params[ 'year' ] ); ?>',
2435
-                    hourAriaLabel: '<?php echo esc_attr( $params[ 'hour' ] ); ?>',
2436
-                    minuteAriaLabel: '<?php echo esc_attr( $params[ 'minute' ] ); ?>',
2437
-                    time_24hr: <?php echo ( $params[ 'time_24hr' ] ? 'true' : 'false' ) ; ?>
2429
+                    rangeSeparator: '<?php echo esc_attr($params['rangeSeparator']); ?>',
2430
+                        weekAbbreviation: '<?php echo esc_attr($params['weekAbbreviation']); ?>',
2431
+                    scrollTitle: '<?php echo esc_attr($params['scrollTitle']); ?>',
2432
+                    toggleTitle: '<?php echo esc_attr($params['toggleTitle']); ?>',
2433
+                    amPM: ['<?php echo esc_attr($params['am_upper']); ?>','<?php echo esc_attr($params['pm_upper']); ?>'],
2434
+                    yearAriaLabel: '<?php echo esc_attr($params['year']); ?>',
2435
+                    hourAriaLabel: '<?php echo esc_attr($params['hour']); ?>',
2436
+                    minuteAriaLabel: '<?php echo esc_attr($params['minute']); ?>',
2437
+                    time_24hr: <?php echo ($params['time_24hr'] ? 'true' : 'false'); ?>
2438 2438
                 }
2439
-				<?php if ( 0 ) { ?></script><?php } ?>
2439
+				<?php if (0) { ?></script><?php } ?>
2440 2440
 			<?php
2441 2441
 			$locale = ob_get_clean();
2442 2442
 
2443
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2443
+			return apply_filters('ayecode_ui_flatpickr_locale', trim($locale));
2444 2444
 		}
2445 2445
 
2446 2446
 		/**
@@ -2452,20 +2452,20 @@  discard block
 block discarded – undo
2452 2452
 		 */
2453 2453
 		public static function select2_params() {
2454 2454
 			$params = array(
2455
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2456
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2457
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2458
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2459
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2460
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2461
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2462
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2463
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2464
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2465
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2455
+				'i18n_select_state_text'    => esc_attr__('Select an option&hellip;', 'ayecode-connect'),
2456
+				'i18n_no_matches'           => _x('No matches found', 'enhanced select', 'ayecode-connect'),
2457
+				'i18n_ajax_error'           => _x('Loading failed', 'enhanced select', 'ayecode-connect'),
2458
+				'i18n_input_too_short_1'    => _x('Please enter 1 or more characters', 'enhanced select', 'ayecode-connect'),
2459
+				'i18n_input_too_short_n'    => _x('Please enter %item% or more characters', 'enhanced select', 'ayecode-connect'),
2460
+				'i18n_input_too_long_1'     => _x('Please delete 1 character', 'enhanced select', 'ayecode-connect'),
2461
+				'i18n_input_too_long_n'     => _x('Please delete %item% characters', 'enhanced select', 'ayecode-connect'),
2462
+				'i18n_selection_too_long_1' => _x('You can only select 1 item', 'enhanced select', 'ayecode-connect'),
2463
+				'i18n_selection_too_long_n' => _x('You can only select %item% items', 'enhanced select', 'ayecode-connect'),
2464
+				'i18n_load_more'            => _x('Loading more results&hellip;', 'enhanced select', 'ayecode-connect'),
2465
+				'i18n_searching'            => _x('Searching&hellip;', 'enhanced select', 'ayecode-connect')
2466 2466
 			);
2467 2467
 
2468
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2468
+			return apply_filters('ayecode_ui_select2_params', $params);
2469 2469
 		}
2470 2470
 
2471 2471
 		/**
@@ -2478,17 +2478,17 @@  discard block
 block discarded – undo
2478 2478
 		public static function select2_locale() {
2479 2479
 			$params = self::select2_params();
2480 2480
 
2481
-			foreach ( (array) $params as $key => $value ) {
2482
-				if ( ! is_scalar( $value ) ) {
2481
+			foreach ((array) $params as $key => $value) {
2482
+				if (!is_scalar($value)) {
2483 2483
 					continue;
2484 2484
 				}
2485 2485
 
2486
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2486
+				$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2487 2487
 			}
2488 2488
 
2489
-			$locale = json_encode( $params );
2489
+			$locale = json_encode($params);
2490 2490
 
2491
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2491
+			return apply_filters('ayecode_ui_select2_locale', trim($locale));
2492 2492
 		}
2493 2493
 
2494 2494
 		/**
@@ -2501,35 +2501,35 @@  discard block
 block discarded – undo
2501 2501
 		public static function timeago_locale() {
2502 2502
 			$params = array(
2503 2503
 				'prefix_ago' => '',
2504
-				'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2505
-				'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2504
+				'suffix_ago' => ' ' . _x('ago', 'time ago', 'ayecode-connect'),
2505
+				'prefix_after' => _x('after', 'time ago', 'ayecode-connect') . ' ',
2506 2506
 				'suffix_after' => '',
2507
-				'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2508
-				'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2509
-				'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2510
-				'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2511
-				'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2512
-				'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2513
-				'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2514
-				'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2515
-				'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2516
-				'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2517
-				'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2507
+				'seconds' => _x('less than a minute', 'time ago', 'ayecode-connect'),
2508
+				'minute' => _x('about a minute', 'time ago', 'ayecode-connect'),
2509
+				'minutes' => _x('%d minutes', 'time ago', 'ayecode-connect'),
2510
+				'hour' => _x('about an hour', 'time ago', 'ayecode-connect'),
2511
+				'hours' => _x('about %d hours', 'time ago', 'ayecode-connect'),
2512
+				'day' => _x('a day', 'time ago', 'ayecode-connect'),
2513
+				'days' => _x('%d days', 'time ago', 'ayecode-connect'),
2514
+				'month' => _x('about a month', 'time ago', 'ayecode-connect'),
2515
+				'months' => _x('%d months', 'time ago', 'ayecode-connect'),
2516
+				'year' => _x('about a year', 'time ago', 'ayecode-connect'),
2517
+				'years' => _x('%d years', 'time ago', 'ayecode-connect'),
2518 2518
 			);
2519 2519
 
2520
-			$params = apply_filters( 'ayecode_ui_timeago_params', $params );
2520
+			$params = apply_filters('ayecode_ui_timeago_params', $params);
2521 2521
 
2522
-			foreach ( (array) $params as $key => $value ) {
2523
-				if ( ! is_scalar( $value ) ) {
2522
+			foreach ((array) $params as $key => $value) {
2523
+				if (!is_scalar($value)) {
2524 2524
 					continue;
2525 2525
 				}
2526 2526
 
2527
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2527
+				$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2528 2528
 			}
2529 2529
 
2530
-			$locale = json_encode( $params );
2530
+			$locale = json_encode($params);
2531 2531
 
2532
-			return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2532
+			return apply_filters('ayecode_ui_timeago_locale', trim($locale));
2533 2533
 		}
2534 2534
 
2535 2535
 		/**
@@ -2540,7 +2540,7 @@  discard block
 block discarded – undo
2540 2540
 		 * @return mixed
2541 2541
 		 */
2542 2542
 		public static function minify_js($input) {
2543
-			if(trim($input) === "") return $input;
2543
+			if (trim($input) === "") return $input;
2544 2544
 			return preg_replace(
2545 2545
 				array(
2546 2546
 					// Remove comment(s)
@@ -2572,7 +2572,7 @@  discard block
 block discarded – undo
2572 2572
 		 * @return mixed
2573 2573
 		 */
2574 2574
 		public static function minify_css($input) {
2575
-			if(trim($input) === "") return $input;
2575
+			if (trim($input) === "") return $input;
2576 2576
 			return preg_replace(
2577 2577
 				array(
2578 2578
 					// Remove comment(s)
@@ -3152,12 +3152,12 @@  discard block
 block discarded – undo
3152 3152
                         });
3153 3153
                     }
3154 3154
                 }
3155
-				<?php do_action( 'aui_conditional_fields_js', $this ); ?>
3155
+				<?php do_action('aui_conditional_fields_js', $this); ?>
3156 3156
             </script>
3157 3157
 			<?php
3158 3158
 			$output = ob_get_clean();
3159 3159
 
3160
-			return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3160
+			return str_replace(array('<script>', '</script>'), '', self::minify_js($output));
3161 3161
 		}
3162 3162
 
3163 3163
 		/**
@@ -3168,10 +3168,10 @@  discard block
 block discarded – undo
3168 3168
 		 * @return bool
3169 3169
 		 */
3170 3170
 		public static function is_block_editor() {
3171
-			if ( is_admin() ) {
3172
-				$current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array();
3171
+			if (is_admin()) {
3172
+				$current_screen = function_exists('get_current_screen') ? get_current_screen() : array();
3173 3173
 
3174
-				if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) {
3174
+				if (!empty($current_screen) && $current_screen->is_block_editor()) {
3175 3175
 					return true;
3176 3176
 				}
3177 3177
 			}
@@ -3190,7 +3190,7 @@  discard block
 block discarded – undo
3190 3190
 		 */
3191 3191
 		public static function is_block_content_call() {
3192 3192
 			$result = false;
3193
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3193
+			if (wp_doing_ajax() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'super_duper_output_shortcode') {
3194 3194
 				$result = true;
3195 3195
 			}
3196 3196
 
@@ -3206,7 +3206,7 @@  discard block
 block discarded – undo
3206 3206
 		 */
3207 3207
 		public static function is_divi_preview() {
3208 3208
 			$result = false;
3209
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
3209
+			if (isset($_REQUEST['et_fb']) || isset($_REQUEST['et_pb_preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor')) {
3210 3210
 				$result = true;
3211 3211
 			}
3212 3212
 
@@ -3223,7 +3223,7 @@  discard block
 block discarded – undo
3223 3223
 		 */
3224 3224
 		public static function is_elementor_preview() {
3225 3225
 			$result = false;
3226
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
3226
+			if (isset($_REQUEST['elementor-preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') || (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor_ajax')) {
3227 3227
 				$result = true;
3228 3228
 			}
3229 3229
 
@@ -3239,7 +3239,7 @@  discard block
 block discarded – undo
3239 3239
 		 */
3240 3240
 		public static function is_beaver_preview() {
3241 3241
 			$result = false;
3242
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
3242
+			if (isset($_REQUEST['fl_builder'])) {
3243 3243
 				$result = true;
3244 3244
 			}
3245 3245
 
@@ -3255,7 +3255,7 @@  discard block
 block discarded – undo
3255 3255
 		 */
3256 3256
 		public static function is_siteorigin_preview() {
3257 3257
 			$result = false;
3258
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
3258
+			if (!empty($_REQUEST['siteorigin_panels_live_editor'])) {
3259 3259
 				$result = true;
3260 3260
 			}
3261 3261
 
@@ -3271,7 +3271,7 @@  discard block
 block discarded – undo
3271 3271
 		 */
3272 3272
 		public static function is_cornerstone_preview() {
3273 3273
 			$result = false;
3274
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
3274
+			if (!empty($_REQUEST['cornerstone_preview']) || basename($_SERVER['REQUEST_URI']) == 'cornerstone-endpoint') {
3275 3275
 				$result = true;
3276 3276
 			}
3277 3277
 
@@ -3286,7 +3286,7 @@  discard block
 block discarded – undo
3286 3286
 		 */
3287 3287
 		public static function is_fusion_preview() {
3288 3288
 			$result = false;
3289
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
3289
+			if (!empty($_REQUEST['fb-edit']) || !empty($_REQUEST['fusion_load_nonce'])) {
3290 3290
 				$result = true;
3291 3291
 			}
3292 3292
 
@@ -3301,7 +3301,7 @@  discard block
 block discarded – undo
3301 3301
 		 */
3302 3302
 		public static function is_oxygen_preview() {
3303 3303
 			$result = false;
3304
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
3304
+			if (!empty($_REQUEST['ct_builder']) || (!empty($_REQUEST['action']) && (substr($_REQUEST['action'], 0, 11) === "oxy_render_" || substr($_REQUEST['action'], 0, 10) === "ct_render_"))) {
3305 3305
 				$result = true;
3306 3306
 			}
3307 3307
 
@@ -3318,7 +3318,7 @@  discard block
 block discarded – undo
3318 3318
 		public static function is_kallyas_zion_preview() {
3319 3319
 			$result = false;
3320 3320
 
3321
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
3321
+			if (function_exists('znhg_kallyas_theme_config') && !empty($_REQUEST['zn_pb_edit'])) {
3322 3322
 				$result = true;
3323 3323
 			}
3324 3324
 
@@ -3335,7 +3335,7 @@  discard block
 block discarded – undo
3335 3335
 		public static function is_bricks_preview() {
3336 3336
 			$result = false;
3337 3337
 
3338
-			if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
3338
+			if (function_exists('bricks_is_builder') && (bricks_is_builder() || bricks_is_builder_call())) {
3339 3339
 				$result = true;
3340 3340
 			}
3341 3341
 
@@ -3352,29 +3352,29 @@  discard block
 block discarded – undo
3352 3352
 		public static function is_preview() {
3353 3353
 			$preview = false;
3354 3354
 
3355
-			if ( self::is_block_editor() ) {
3355
+			if (self::is_block_editor()) {
3356 3356
 				return true;
3357 3357
 			}
3358 3358
 
3359
-			if( self::is_block_content_call() ) {
3359
+			if (self::is_block_content_call()) {
3360 3360
 				$preview = true;
3361
-			} elseif ( self::is_divi_preview() ) {
3361
+			} elseif (self::is_divi_preview()) {
3362 3362
 				$preview = true;
3363
-			} elseif ( self::is_elementor_preview() ) {
3363
+			} elseif (self::is_elementor_preview()) {
3364 3364
 				$preview = true;
3365
-			} elseif ( self::is_beaver_preview() ) {
3365
+			} elseif (self::is_beaver_preview()) {
3366 3366
 				$preview = true;
3367
-			} elseif ( self::is_siteorigin_preview() ) {
3367
+			} elseif (self::is_siteorigin_preview()) {
3368 3368
 				$preview = true;
3369
-			} elseif ( self::is_cornerstone_preview() ) {
3369
+			} elseif (self::is_cornerstone_preview()) {
3370 3370
 				$preview = true;
3371
-			} elseif ( self::is_fusion_preview() ) {
3371
+			} elseif (self::is_fusion_preview()) {
3372 3372
 				$preview = true;
3373
-			} elseif ( self::is_oxygen_preview() ) {
3373
+			} elseif (self::is_oxygen_preview()) {
3374 3374
 				$preview = true;
3375
-			} elseif( self::is_kallyas_zion_preview() ) {
3375
+			} elseif (self::is_kallyas_zion_preview()) {
3376 3376
 				$preview = true;
3377
-			} elseif( self::is_bricks_preview() ) {
3377
+			} elseif (self::is_bricks_preview()) {
3378 3378
 				$preview = true;
3379 3379
 			}
3380 3380
 
Please login to merge, or discard this patch.
vendor/ayecode/wp-super-duper/includes/class-super-duper-bricks-element.php 3 patches
Braces   +4 added lines, -1 removed lines patch added patch discarded remove patch
@@ -1,7 +1,10 @@
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 
4
-if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
4
+if ( ! defined( 'ABSPATH' ) ) {
5
+    exit;
6
+}
7
+// Exit if accessed directly
5 8
 
6 9
 
7 10
 class Super_Duper_Bricks_Element extends \Bricks\Element {
Please login to merge, or discard this patch.
Indentation   +248 added lines, -248 removed lines patch added patch discarded remove patch
@@ -6,246 +6,246 @@  discard block
 block discarded – undo
6 6
 
7 7
 class Super_Duper_Bricks_Element extends \Bricks\Element {
8 8
 
9
-	public $widget;
10
-
11
-	public function __construct( $element = null ) {
12
-
13
-
14
-		$block_icon = !empty($this->widget->options['block-icon']) ? $this->widget->options['block-icon'] : '';
15
-
16
-
17
-		$this->category = !empty($this->widget->options['textdomain']) ? esc_attr( $this->widget->options['textdomain'] ) : 'Super Duper';
18
-		$this->name     = $this->widget->id_base;
19
-		$this->icon     = (strpos($block_icon, 'fa') === 0) ? esc_attr($this->widget->options['block-icon']) : 'fas fa-globe-americas';
20
-
21
-		parent::__construct($element);
22
-	}
23
-
24
-	/**
25
-	 * Set the element name.
26
-	 *
27
-	 * @return array|string|string[]|null
28
-	 */
29
-	public function get_label() {
30
-		$escaped_text = esc_attr( $this->widget->name );
31
-		return str_replace( ' &gt; ', ' > ', $escaped_text ); // keep our > but have it safe
32
-	}
33
-
34
-	/**
35
-	 * Bricks function to set the controls
36
-	 *
37
-	 * @return void
38
-	 */
39
-	public function set_controls() {
40
-		$args = $this->sd_convert_arguments($this->widget);
41
-
42
-		if (!empty($args)) {
43
-			$this->controls = $this->controls + $args;
44
-		}
45
-
46
-	}
47
-
48
-	/**
49
-	 * Set the bricks control groups from the GD ones.
50
-	 *
51
-	 * @return void
52
-	 */
53
-	public function set_control_groups() {
54
-		$args = $this->sd_get_arguments();
55
-
56
-		$groups = array();
57
-		if(!empty($args)) {
58
-			foreach ($args as $k => $v) {
59
-				$g_slug = !empty($v['group']) ? sanitize_title( $v['group'] ) : '';
60
-				if($g_slug && empty($groups[$g_slug])) {
61
-					$groups[$g_slug] = array(
62
-						'title' => esc_html( $v['group'] ),
63
-						'tab' => 'content',
64
-					);
65
-				}
66
-			}
67
-		}
68
-
69
-		if(!empty($groups)) {
70
-			$this->control_groups = $this->control_groups + $groups;
71
-		}
72
-
73
-	}
74
-
75
-	/**
76
-	 * Get the setting input arguments.
77
-	 *
78
-	 * @return mixed
79
-	 */
80
-	public function sd_get_arguments() {
81
-		$args = $this->widget->set_arguments();
82
-		$arg_keys_subtract = $this->sd_remove_arguments();
83
-
84
-		if ( ! empty( $arg_keys_subtract ) ) {
85
-			foreach($arg_keys_subtract as $key ){
86
-				unset($args[$key]);
87
-			}
88
-		}
89
-
90
-		return $args;
91
-	}
92
-
93
-
94
-	/**
95
-	 * Simply use our own render function for the output.
96
-	 *
97
-	 * @return void
98
-	 */
99
-	public function render() {
100
-		$settings   = $this->sd_maybe_convert_values( $this->settings );
101
-
102
-
103
-		// set the AyeCode UI calss on the wrapper
104
-		$this->set_attribute( '_root', 'class', 'bsui' );
105
-
106
-		// we might need to add a placeholder here for previews.
107
-
108
-		// add the bricks attributes to wrapper
109
-		echo "<div {$this->render_attributes( '_root' )}>";
110
-		echo $this->widget->output($settings);
111
-		echo '</div>';
112
-	}
113
-
114
-	/**
115
-	 * Values can never be arrays so convert if bricks setting make it an array.
116
-	 *
117
-	 * @param $settings
118
-	 * @return mixed
119
-	 */
120
-	public function sd_maybe_convert_values( $settings ) {
121
-
122
-
123
-		if (!empty($settings)) {
124
-			foreach( $settings as $k => $v ) {
125
-				if(is_array($v)) {
126
-					$value = '';
127
-					// is color
128
-					if (isset($v['hex'])) {
129
-						$value = $v['hex'];
130
-					} elseif (isset($v['icon'])) {
131
-						$value = $v['icon'];
132
-					}
133
-
134
-
135
-					// set the value
136
-					$settings[$k] = $value;
137
-				}
138
-
139
-			}
140
-		}
141
-
142
-		return $settings;
143
-	}
144
-
145
-	/**
146
-	 * Convert SD arguments to Bricks arguments.
147
-	 *
148
-	 * @param $widget
149
-	 *
150
-	 * @return array
151
-	 */
152
-	public function sd_convert_arguments()
153
-	{
154
-		$bricks_args = array();
155
-
156
-		$args = $this->sd_get_arguments();
157
-
158
-		if (!empty($args)) {
159
-			foreach ($args as $key => $arg) {
160
-
161
-				// convert title
162
-				if (!empty($arg['title'])) {
163
-					$arg['label'] = $arg['title'];
164
-					unset($arg['title']);
165
-				}
166
-
167
-				// set fields not to use dynamic data
168
-				$arg['hasDynamicData'] = false;
169
-
170
-				if (!empty($arg['group'])) {
171
-					$arg['group'] =  sanitize_title($arg['group']);
172
-				}
173
-
174
-				$arg['rerender'] = true;
175
-
176
-				// required
177
-				if(!empty($arg['element_require'])) {
178
-					$arg['required'] = $this->sd_convert_required($arg['element_require']);
179
-					unset($arg['element_require']);
180
-				}
181
-
182
-				// icons
183
-				if ('icon' === $key) {
184
-					$arg['type'] = 'icon';
185
-				}
186
-
187
-				$bricks_args[$key] = $arg;
188
-
189
-			}
190
-
191
-		}
192
-
193
-		return $bricks_args;
194
-
195
-	}
196
-
197
-	/**
198
-	 * Convert the SD element_required to the Bricks required syntax.
199
-	 *
200
-	 * @param $element_require
201
-	 * @return array
202
-	 */
203
-	public function sd_convert_required($element_require) {
204
-		$bricks_required = [];
205
-
206
-		// Handle logical OR (||) for multiple values
207
-		if (strpos($element_require, '||') !== false) {
208
-			preg_match('/\[%(.+?)%\] *== *"(.*?)"/', $element_require, $matches);
209
-			if ($matches) {
210
-				$control_id = $matches[1];
211
-				preg_match_all('/\[%.*?%\] *== *"(.*?)"/', $element_require, $value_matches);
212
-				$values = $value_matches[1];
213
-				$bricks_required[] = [$control_id, '=', $values];
214
-			}
215
-			return $bricks_required;
216
-		}
217
-
218
-		// Match individual conditions
219
-		preg_match_all('/(!)?\[%(.*?)%\](?:\s*([!=<>]=?)\s*(".*?"|\'.*?\'|\d+))?/', $element_require, $matches, PREG_SET_ORDER);
220
-
221
-		foreach ($matches as $match) {
222
-			$is_negation = isset($match[1]) && $match[1] === '!';
223
-			$control_id = $match[2];
224
-			$operator = isset($match[3]) ? str_replace('==', '=', $match[3]) : ($is_negation ? '=' : '!=');
225
-			$value = isset($match[4]) ? trim($match[4], '"\'') : ($is_negation ? '' : '');
226
-
227
-			// Adjust for negation without explicit operator
228
-			if ($is_negation && !isset($match[3])) {
229
-				$operator = '=';
230
-				$value = '';
231
-			}
232
-
233
-			$bricks_required[] = [$control_id, $operator, $value];
234
-		}
235
-
236
-		return $bricks_required;
237
-	}
238
-
239
-
240
-	/**
241
-	 * A way to remove some settings by keys.
242
-	 *
243
-	 * @return array
244
-	 */
245
-	public function sd_remove_arguments()
246
-	{
247
-		return array();
248
-	}
9
+    public $widget;
10
+
11
+    public function __construct( $element = null ) {
12
+
13
+
14
+        $block_icon = !empty($this->widget->options['block-icon']) ? $this->widget->options['block-icon'] : '';
15
+
16
+
17
+        $this->category = !empty($this->widget->options['textdomain']) ? esc_attr( $this->widget->options['textdomain'] ) : 'Super Duper';
18
+        $this->name     = $this->widget->id_base;
19
+        $this->icon     = (strpos($block_icon, 'fa') === 0) ? esc_attr($this->widget->options['block-icon']) : 'fas fa-globe-americas';
20
+
21
+        parent::__construct($element);
22
+    }
23
+
24
+    /**
25
+     * Set the element name.
26
+     *
27
+     * @return array|string|string[]|null
28
+     */
29
+    public function get_label() {
30
+        $escaped_text = esc_attr( $this->widget->name );
31
+        return str_replace( ' &gt; ', ' > ', $escaped_text ); // keep our > but have it safe
32
+    }
33
+
34
+    /**
35
+     * Bricks function to set the controls
36
+     *
37
+     * @return void
38
+     */
39
+    public function set_controls() {
40
+        $args = $this->sd_convert_arguments($this->widget);
41
+
42
+        if (!empty($args)) {
43
+            $this->controls = $this->controls + $args;
44
+        }
45
+
46
+    }
47
+
48
+    /**
49
+     * Set the bricks control groups from the GD ones.
50
+     *
51
+     * @return void
52
+     */
53
+    public function set_control_groups() {
54
+        $args = $this->sd_get_arguments();
55
+
56
+        $groups = array();
57
+        if(!empty($args)) {
58
+            foreach ($args as $k => $v) {
59
+                $g_slug = !empty($v['group']) ? sanitize_title( $v['group'] ) : '';
60
+                if($g_slug && empty($groups[$g_slug])) {
61
+                    $groups[$g_slug] = array(
62
+                        'title' => esc_html( $v['group'] ),
63
+                        'tab' => 'content',
64
+                    );
65
+                }
66
+            }
67
+        }
68
+
69
+        if(!empty($groups)) {
70
+            $this->control_groups = $this->control_groups + $groups;
71
+        }
72
+
73
+    }
74
+
75
+    /**
76
+     * Get the setting input arguments.
77
+     *
78
+     * @return mixed
79
+     */
80
+    public function sd_get_arguments() {
81
+        $args = $this->widget->set_arguments();
82
+        $arg_keys_subtract = $this->sd_remove_arguments();
83
+
84
+        if ( ! empty( $arg_keys_subtract ) ) {
85
+            foreach($arg_keys_subtract as $key ){
86
+                unset($args[$key]);
87
+            }
88
+        }
89
+
90
+        return $args;
91
+    }
92
+
93
+
94
+    /**
95
+     * Simply use our own render function for the output.
96
+     *
97
+     * @return void
98
+     */
99
+    public function render() {
100
+        $settings   = $this->sd_maybe_convert_values( $this->settings );
101
+
102
+
103
+        // set the AyeCode UI calss on the wrapper
104
+        $this->set_attribute( '_root', 'class', 'bsui' );
105
+
106
+        // we might need to add a placeholder here for previews.
107
+
108
+        // add the bricks attributes to wrapper
109
+        echo "<div {$this->render_attributes( '_root' )}>";
110
+        echo $this->widget->output($settings);
111
+        echo '</div>';
112
+    }
113
+
114
+    /**
115
+     * Values can never be arrays so convert if bricks setting make it an array.
116
+     *
117
+     * @param $settings
118
+     * @return mixed
119
+     */
120
+    public function sd_maybe_convert_values( $settings ) {
121
+
122
+
123
+        if (!empty($settings)) {
124
+            foreach( $settings as $k => $v ) {
125
+                if(is_array($v)) {
126
+                    $value = '';
127
+                    // is color
128
+                    if (isset($v['hex'])) {
129
+                        $value = $v['hex'];
130
+                    } elseif (isset($v['icon'])) {
131
+                        $value = $v['icon'];
132
+                    }
133
+
134
+
135
+                    // set the value
136
+                    $settings[$k] = $value;
137
+                }
138
+
139
+            }
140
+        }
141
+
142
+        return $settings;
143
+    }
144
+
145
+    /**
146
+     * Convert SD arguments to Bricks arguments.
147
+     *
148
+     * @param $widget
149
+     *
150
+     * @return array
151
+     */
152
+    public function sd_convert_arguments()
153
+    {
154
+        $bricks_args = array();
155
+
156
+        $args = $this->sd_get_arguments();
157
+
158
+        if (!empty($args)) {
159
+            foreach ($args as $key => $arg) {
160
+
161
+                // convert title
162
+                if (!empty($arg['title'])) {
163
+                    $arg['label'] = $arg['title'];
164
+                    unset($arg['title']);
165
+                }
166
+
167
+                // set fields not to use dynamic data
168
+                $arg['hasDynamicData'] = false;
169
+
170
+                if (!empty($arg['group'])) {
171
+                    $arg['group'] =  sanitize_title($arg['group']);
172
+                }
173
+
174
+                $arg['rerender'] = true;
175
+
176
+                // required
177
+                if(!empty($arg['element_require'])) {
178
+                    $arg['required'] = $this->sd_convert_required($arg['element_require']);
179
+                    unset($arg['element_require']);
180
+                }
181
+
182
+                // icons
183
+                if ('icon' === $key) {
184
+                    $arg['type'] = 'icon';
185
+                }
186
+
187
+                $bricks_args[$key] = $arg;
188
+
189
+            }
190
+
191
+        }
192
+
193
+        return $bricks_args;
194
+
195
+    }
196
+
197
+    /**
198
+     * Convert the SD element_required to the Bricks required syntax.
199
+     *
200
+     * @param $element_require
201
+     * @return array
202
+     */
203
+    public function sd_convert_required($element_require) {
204
+        $bricks_required = [];
205
+
206
+        // Handle logical OR (||) for multiple values
207
+        if (strpos($element_require, '||') !== false) {
208
+            preg_match('/\[%(.+?)%\] *== *"(.*?)"/', $element_require, $matches);
209
+            if ($matches) {
210
+                $control_id = $matches[1];
211
+                preg_match_all('/\[%.*?%\] *== *"(.*?)"/', $element_require, $value_matches);
212
+                $values = $value_matches[1];
213
+                $bricks_required[] = [$control_id, '=', $values];
214
+            }
215
+            return $bricks_required;
216
+        }
217
+
218
+        // Match individual conditions
219
+        preg_match_all('/(!)?\[%(.*?)%\](?:\s*([!=<>]=?)\s*(".*?"|\'.*?\'|\d+))?/', $element_require, $matches, PREG_SET_ORDER);
220
+
221
+        foreach ($matches as $match) {
222
+            $is_negation = isset($match[1]) && $match[1] === '!';
223
+            $control_id = $match[2];
224
+            $operator = isset($match[3]) ? str_replace('==', '=', $match[3]) : ($is_negation ? '=' : '!=');
225
+            $value = isset($match[4]) ? trim($match[4], '"\'') : ($is_negation ? '' : '');
226
+
227
+            // Adjust for negation without explicit operator
228
+            if ($is_negation && !isset($match[3])) {
229
+                $operator = '=';
230
+                $value = '';
231
+            }
232
+
233
+            $bricks_required[] = [$control_id, $operator, $value];
234
+        }
235
+
236
+        return $bricks_required;
237
+    }
238
+
239
+
240
+    /**
241
+     * A way to remove some settings by keys.
242
+     *
243
+     * @return array
244
+     */
245
+    public function sd_remove_arguments()
246
+    {
247
+        return array();
248
+    }
249 249
 
250 250
 }
251 251
 
@@ -255,12 +255,12 @@  discard block
 block discarded – undo
255 255
  */
256 256
 add_action( 'wp_enqueue_scripts', function() {
257 257
 
258
-	// Check if we're in the Bricks Editor
259
-	if ( isset( $_GET['bricks'] ) && $_GET['bricks'] && bricks_is_builder_main() ) {
260
-		// Add inline script to the 'bricks-builder' script
261
-		wp_add_inline_script(
262
-			'bricks-builder',
263
-			"
258
+    // Check if we're in the Bricks Editor
259
+    if ( isset( $_GET['bricks'] ) && $_GET['bricks'] && bricks_is_builder_main() ) {
260
+        // Add inline script to the 'bricks-builder' script
261
+        wp_add_inline_script(
262
+            'bricks-builder',
263
+            "
264 264
 
265 265
 (function () {
266 266
     // Function to get the current breakpoint from the #bricks-preview class
@@ -467,6 +467,6 @@  discard block
 block discarded – undo
467 467
     addIconsToLabels();
468 468
 })();
469 469
 "
470
-		);
471
-	}
470
+        );
471
+    }
472 472
 });
Please login to merge, or discard this patch.
Spacing   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -1,20 +1,20 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 
4
-if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
4
+if (!defined('ABSPATH')) exit; // Exit if accessed directly
5 5
 
6 6
 
7 7
 class Super_Duper_Bricks_Element extends \Bricks\Element {
8 8
 
9 9
 	public $widget;
10 10
 
11
-	public function __construct( $element = null ) {
11
+	public function __construct($element = null) {
12 12
 
13 13
 
14 14
 		$block_icon = !empty($this->widget->options['block-icon']) ? $this->widget->options['block-icon'] : '';
15 15
 
16 16
 
17
-		$this->category = !empty($this->widget->options['textdomain']) ? esc_attr( $this->widget->options['textdomain'] ) : 'Super Duper';
17
+		$this->category = !empty($this->widget->options['textdomain']) ? esc_attr($this->widget->options['textdomain']) : 'Super Duper';
18 18
 		$this->name     = $this->widget->id_base;
19 19
 		$this->icon     = (strpos($block_icon, 'fa') === 0) ? esc_attr($this->widget->options['block-icon']) : 'fas fa-globe-americas';
20 20
 
@@ -27,8 +27,8 @@  discard block
 block discarded – undo
27 27
 	 * @return array|string|string[]|null
28 28
 	 */
29 29
 	public function get_label() {
30
-		$escaped_text = esc_attr( $this->widget->name );
31
-		return str_replace( ' &gt; ', ' > ', $escaped_text ); // keep our > but have it safe
30
+		$escaped_text = esc_attr($this->widget->name);
31
+		return str_replace(' &gt; ', ' > ', $escaped_text); // keep our > but have it safe
32 32
 	}
33 33
 
34 34
 	/**
@@ -54,19 +54,19 @@  discard block
 block discarded – undo
54 54
 		$args = $this->sd_get_arguments();
55 55
 
56 56
 		$groups = array();
57
-		if(!empty($args)) {
57
+		if (!empty($args)) {
58 58
 			foreach ($args as $k => $v) {
59
-				$g_slug = !empty($v['group']) ? sanitize_title( $v['group'] ) : '';
60
-				if($g_slug && empty($groups[$g_slug])) {
59
+				$g_slug = !empty($v['group']) ? sanitize_title($v['group']) : '';
60
+				if ($g_slug && empty($groups[$g_slug])) {
61 61
 					$groups[$g_slug] = array(
62
-						'title' => esc_html( $v['group'] ),
62
+						'title' => esc_html($v['group']),
63 63
 						'tab' => 'content',
64 64
 					);
65 65
 				}
66 66
 			}
67 67
 		}
68 68
 
69
-		if(!empty($groups)) {
69
+		if (!empty($groups)) {
70 70
 			$this->control_groups = $this->control_groups + $groups;
71 71
 		}
72 72
 
@@ -81,8 +81,8 @@  discard block
 block discarded – undo
81 81
 		$args = $this->widget->set_arguments();
82 82
 		$arg_keys_subtract = $this->sd_remove_arguments();
83 83
 
84
-		if ( ! empty( $arg_keys_subtract ) ) {
85
-			foreach($arg_keys_subtract as $key ){
84
+		if (!empty($arg_keys_subtract)) {
85
+			foreach ($arg_keys_subtract as $key) {
86 86
 				unset($args[$key]);
87 87
 			}
88 88
 		}
@@ -97,16 +97,16 @@  discard block
 block discarded – undo
97 97
 	 * @return void
98 98
 	 */
99 99
 	public function render() {
100
-		$settings   = $this->sd_maybe_convert_values( $this->settings );
100
+		$settings = $this->sd_maybe_convert_values($this->settings);
101 101
 
102 102
 
103 103
 		// set the AyeCode UI calss on the wrapper
104
-		$this->set_attribute( '_root', 'class', 'bsui' );
104
+		$this->set_attribute('_root', 'class', 'bsui');
105 105
 
106 106
 		// we might need to add a placeholder here for previews.
107 107
 
108 108
 		// add the bricks attributes to wrapper
109
-		echo "<div {$this->render_attributes( '_root' )}>";
109
+		echo "<div {$this->render_attributes('_root')}>";
110 110
 		echo $this->widget->output($settings);
111 111
 		echo '</div>';
112 112
 	}
@@ -117,12 +117,12 @@  discard block
 block discarded – undo
117 117
 	 * @param $settings
118 118
 	 * @return mixed
119 119
 	 */
120
-	public function sd_maybe_convert_values( $settings ) {
120
+	public function sd_maybe_convert_values($settings) {
121 121
 
122 122
 
123 123
 		if (!empty($settings)) {
124
-			foreach( $settings as $k => $v ) {
125
-				if(is_array($v)) {
124
+			foreach ($settings as $k => $v) {
125
+				if (is_array($v)) {
126 126
 					$value = '';
127 127
 					// is color
128 128
 					if (isset($v['hex'])) {
@@ -168,13 +168,13 @@  discard block
 block discarded – undo
168 168
 				$arg['hasDynamicData'] = false;
169 169
 
170 170
 				if (!empty($arg['group'])) {
171
-					$arg['group'] =  sanitize_title($arg['group']);
171
+					$arg['group'] = sanitize_title($arg['group']);
172 172
 				}
173 173
 
174 174
 				$arg['rerender'] = true;
175 175
 
176 176
 				// required
177
-				if(!empty($arg['element_require'])) {
177
+				if (!empty($arg['element_require'])) {
178 178
 					$arg['required'] = $this->sd_convert_required($arg['element_require']);
179 179
 					unset($arg['element_require']);
180 180
 				}
@@ -253,10 +253,10 @@  discard block
 block discarded – undo
253 253
 /**
254 254
  * This implements the desktop, tablet and mobile breakpoints views with our fields that are hidden on these types and adda the icon after the label to show which it applies to.
255 255
  */
256
-add_action( 'wp_enqueue_scripts', function() {
256
+add_action('wp_enqueue_scripts', function() {
257 257
 
258 258
 	// Check if we're in the Bricks Editor
259
-	if ( isset( $_GET['bricks'] ) && $_GET['bricks'] && bricks_is_builder_main() ) {
259
+	if (isset($_GET['bricks']) && $_GET['bricks'] && bricks_is_builder_main()) {
260 260
 		// Add inline script to the 'bricks-builder' script
261 261
 		wp_add_inline_script(
262 262
 			'bricks-builder',
Please login to merge, or discard this patch.
includes/admin/class-getpaid-admin.php 2 patches
Indentation   +619 added lines, -619 removed lines patch added patch discarded remove patch
@@ -14,94 +14,94 @@  discard block
 block discarded – undo
14 14
 class GetPaid_Admin {
15 15
 
16 16
     /**
17
-	 * Local path to this plugins admin directory
18
-	 *
19
-	 * @var         string
20
-	 */
21
-	public $admin_path;
22
-
23
-	/**
24
-	 * Web path to this plugins admin directory
25
-	 *
26
-	 * @var         string
27
-	 */
28
-	public $admin_url;
29
-
30
-	/**
31
-	 * Reports components.
32
-	 *
33
-	 * @var GetPaid_Reports
34
-	 */
17
+     * Local path to this plugins admin directory
18
+     *
19
+     * @var         string
20
+     */
21
+    public $admin_path;
22
+
23
+    /**
24
+     * Web path to this plugins admin directory
25
+     *
26
+     * @var         string
27
+     */
28
+    public $admin_url;
29
+
30
+    /**
31
+     * Reports components.
32
+     *
33
+     * @var GetPaid_Reports
34
+     */
35 35
     public $reports;
36 36
 
37 37
     /**
38
-	 * Class constructor.
39
-	 */
40
-	public function __construct() {
38
+     * Class constructor.
39
+     */
40
+    public function __construct() {
41 41
 
42 42
         $this->admin_path  = plugin_dir_path( __FILE__ );
43
-		$this->admin_url   = plugins_url( '/', __FILE__ );
44
-		$this->reports     = new GetPaid_Reports();
43
+        $this->admin_url   = plugins_url( '/', __FILE__ );
44
+        $this->reports     = new GetPaid_Reports();
45 45
 
46 46
         if ( is_admin() ) {
47
-			$this->init_admin_hooks();
47
+            $this->init_admin_hooks();
48 48
         }
49 49
 
50 50
     }
51 51
 
52 52
     /**
53
-	 * Init action and filter hooks
54
-	 *
55
-	 */
56
-	private function init_admin_hooks() {
53
+     * Init action and filter hooks
54
+     *
55
+     */
56
+    private function init_admin_hooks() {
57 57
         add_action( 'admin_enqueue_scripts', array( $this, 'enqeue_scripts' ), 9 );
58 58
         add_filter( 'admin_body_class', array( $this, 'admin_body_class' ) );
59 59
         add_action( 'admin_init', array( $this, 'init_ayecode_connect_helper' ) );
60 60
         add_action( 'admin_init', array( $this, 'activation_redirect' ) );
61 61
         add_action( 'admin_init', array( $this, 'maybe_do_admin_action' ) );
62
-		add_action( 'admin_notices', array( $this, 'show_notices' ) );
63
-		add_action( 'getpaid_authenticated_admin_action_rate_plugin', array( $this, 'redirect_to_wordpress_rating_page' ) );
64
-		add_action( 'getpaid_authenticated_admin_action_duplicate_form', array( $this, 'duplicate_payment_form' ) );
65
-		add_action( 'getpaid_authenticated_admin_action_reset_form_stats', array( $this, 'reset_form_stats' ) );
66
-		add_action( 'getpaid_authenticated_admin_action_duplicate_invoice', array( $this, 'duplicate_invoice' ) );
67
-		add_action( 'getpaid_authenticated_admin_action_refund_invoice', array( $this, 'refund_invoice' ) );
68
-		add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) );
69
-		add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) );
62
+        add_action( 'admin_notices', array( $this, 'show_notices' ) );
63
+        add_action( 'getpaid_authenticated_admin_action_rate_plugin', array( $this, 'redirect_to_wordpress_rating_page' ) );
64
+        add_action( 'getpaid_authenticated_admin_action_duplicate_form', array( $this, 'duplicate_payment_form' ) );
65
+        add_action( 'getpaid_authenticated_admin_action_reset_form_stats', array( $this, 'reset_form_stats' ) );
66
+        add_action( 'getpaid_authenticated_admin_action_duplicate_invoice', array( $this, 'duplicate_invoice' ) );
67
+        add_action( 'getpaid_authenticated_admin_action_refund_invoice', array( $this, 'refund_invoice' ) );
68
+        add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) );
69
+        add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) );
70 70
         add_action( 'getpaid_authenticated_admin_action_reset_tax_rates', array( $this, 'admin_reset_tax_rates' ) );
71
-		add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) );
72
-		add_action( 'getpaid_authenticated_admin_action_refresh_permalinks', array( $this, 'admin_refresh_permalinks' ) );
73
-		add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) );
74
-		add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) );
75
-		add_action( 'getpaid_authenticated_admin_action_download_customers', array( $this, 'admin_download_customers' ) );
76
-		add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) );
77
-		add_action( 'getpaid_authenticated_admin_action_install_plugin', array( $this, 'admin_install_plugin' ) );
78
-		add_action( 'getpaid_authenticated_admin_action_connect_gateway', array( $this, 'admin_connect_gateway' ) );
79
-		add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) );
80
-		do_action( 'getpaid_init_admin_hooks', $this );
81
-
82
-		// Setup/welcome
83
-		if ( ! empty( $_GET['page'] ) ) {
84
-			switch ( sanitize_text_field( $_GET['page'] ) ) {
85
-				case 'gp-setup':
86
-					include_once dirname( __FILE__ ) . '/class-getpaid-admin-setup-wizard.php';
87
-					break;
88
-			}
89
-		}
90
-
91
-    }
92
-
93
-    /**
94
-	 * Register admin scripts
95
-	 *
96
-	 */
97
-	public function enqeue_scripts() {
71
+        add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) );
72
+        add_action( 'getpaid_authenticated_admin_action_refresh_permalinks', array( $this, 'admin_refresh_permalinks' ) );
73
+        add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) );
74
+        add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) );
75
+        add_action( 'getpaid_authenticated_admin_action_download_customers', array( $this, 'admin_download_customers' ) );
76
+        add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) );
77
+        add_action( 'getpaid_authenticated_admin_action_install_plugin', array( $this, 'admin_install_plugin' ) );
78
+        add_action( 'getpaid_authenticated_admin_action_connect_gateway', array( $this, 'admin_connect_gateway' ) );
79
+        add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) );
80
+        do_action( 'getpaid_init_admin_hooks', $this );
81
+
82
+        // Setup/welcome
83
+        if ( ! empty( $_GET['page'] ) ) {
84
+            switch ( sanitize_text_field( $_GET['page'] ) ) {
85
+                case 'gp-setup':
86
+                    include_once dirname( __FILE__ ) . '/class-getpaid-admin-setup-wizard.php';
87
+                    break;
88
+            }
89
+        }
90
+
91
+    }
92
+
93
+    /**
94
+     * Register admin scripts
95
+     *
96
+     */
97
+    public function enqeue_scripts() {
98 98
         global $current_screen, $pagenow;
99 99
 
100
-		$page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
101
-		$editing = $pagenow == 'post.php' || $pagenow == 'post-new.php';
100
+        $page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
101
+        $editing = $pagenow == 'post.php' || $pagenow == 'post-new.php';
102 102
 
103 103
         if ( ! empty( $current_screen->post_type ) ) {
104
-			$page = $current_screen->post_type;
104
+            $page = $current_screen->post_type;
105 105
         }
106 106
 
107 107
         // General styles.
@@ -122,53 +122,53 @@  discard block
 block discarded – undo
122 122
         }
123 123
 
124 124
         // Payment form scripts.
125
-		if ( 'wpi_payment_form' == $page && $editing ) {
125
+        if ( 'wpi_payment_form' == $page && $editing ) {
126 126
             $this->load_payment_form_scripts();
127 127
         }
128 128
 
129
-		if ( $page == 'wpinv-subscriptions' ) {
130
-			wp_enqueue_script( 'postbox' );
131
-		}
129
+        if ( $page == 'wpinv-subscriptions' ) {
130
+            wp_enqueue_script( 'postbox' );
131
+        }
132 132
 
133 133
     }
134 134
 
135 135
     /**
136
-	 * Returns admin js translations.
137
-	 *
138
-	 */
139
-	protected function get_admin_i18() {
136
+     * Returns admin js translations.
137
+     *
138
+     */
139
+    protected function get_admin_i18() {
140 140
         global $post;
141 141
 
142
-		$date_range = array(
143
-			'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days',
144
-		);
142
+        $date_range = array(
143
+            'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days',
144
+        );
145 145
 
146
-		if ( $date_range['period'] == 'custom' ) {
146
+        if ( $date_range['period'] == 'custom' ) {
147 147
 
148
-			if ( isset( $_GET['from'] ) ) {
149
-				$date_range['after'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS );
150
-			}
148
+            if ( isset( $_GET['from'] ) ) {
149
+                $date_range['after'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS );
150
+            }
151 151
 
152
-			if ( isset( $_GET['to'] ) ) {
153
-				$date_range['before'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS );
154
-			}
152
+            if ( isset( $_GET['to'] ) ) {
153
+                $date_range['before'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS );
154
+            }
155 155
 }
156 156
 
157 157
         $i18n = array(
158 158
             'ajax_url'                  => admin_url( 'admin-ajax.php' ),
159 159
             'post_ID'                   => isset( $post->ID ) ? $post->ID : '',
160
-			'wpinv_nonce'               => wp_create_nonce( 'wpinv-nonce' ),
161
-			'rest_nonce'                => wp_create_nonce( 'wp_rest' ),
162
-			'rest_root'                 => esc_url_raw( rest_url() ),
163
-			'date_range'                => $date_range,
160
+            'wpinv_nonce'               => wp_create_nonce( 'wpinv-nonce' ),
161
+            'rest_nonce'                => wp_create_nonce( 'wp_rest' ),
162
+            'rest_root'                 => esc_url_raw( rest_url() ),
163
+            'date_range'                => $date_range,
164 164
             'add_invoice_note_nonce'    => wp_create_nonce( 'add-invoice-note' ),
165 165
             'delete_invoice_note_nonce' => wp_create_nonce( 'delete-invoice-note' ),
166 166
             'invoice_item_nonce'        => wp_create_nonce( 'invoice-item' ),
167 167
             'billing_details_nonce'     => wp_create_nonce( 'get-billing-details' ),
168 168
             'tax'                       => wpinv_tax_amount(),
169 169
             'discount'                  => 0,
170
-			'currency_symbol'           => wpinv_currency_symbol(),
171
-			'currency'                  => wpinv_get_currency(),
170
+            'currency_symbol'           => wpinv_currency_symbol(),
171
+            'currency'                  => wpinv_get_currency(),
172 172
             'currency_pos'              => wpinv_currency_position(),
173 173
             'thousand_sep'              => wpinv_thousands_separator(),
174 174
             'decimal_sep'               => wpinv_decimal_separator(),
@@ -188,117 +188,117 @@  discard block
 block discarded – undo
188 188
             'item_description'          => __( 'Item Description', 'invoicing' ),
189 189
             'invoice_description'       => __( 'Invoice Description', 'invoicing' ),
190 190
             'discount_description'      => __( 'Discount Description', 'invoicing' ),
191
-			'searching'                 => __( 'Searching', 'invoicing' ),
192
-			'loading'                   => __( 'Loading...', 'invoicing' ),
193
-			'search_customers'          => __( 'Enter customer name or email', 'invoicing' ),
194
-			'search_items'              => __( 'Enter item name', 'invoicing' ),
195
-			'graphs'                    => array_merge( array( 'refunded_fees', 'refunded_items', 'refunded_subtotal', 'refunded_tax' ), array_keys( wpinv_get_report_graphs() ) ),
191
+            'searching'                 => __( 'Searching', 'invoicing' ),
192
+            'loading'                   => __( 'Loading...', 'invoicing' ),
193
+            'search_customers'          => __( 'Enter customer name or email', 'invoicing' ),
194
+            'search_items'              => __( 'Enter item name', 'invoicing' ),
195
+            'graphs'                    => array_merge( array( 'refunded_fees', 'refunded_items', 'refunded_subtotal', 'refunded_tax' ), array_keys( wpinv_get_report_graphs() ) ),
196 196
         );
197 197
 
198
-		if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) {
198
+        if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) {
199 199
 
200
-			$invoice              = new WPInv_Invoice( $post );
201
-			$i18n['save_invoice'] = sprintf(
202
-				__( 'Save %s', 'invoicing' ),
203
-				ucfirst( $invoice->get_invoice_quote_type() )
204
-			);
200
+            $invoice              = new WPInv_Invoice( $post );
201
+            $i18n['save_invoice'] = sprintf(
202
+                __( 'Save %s', 'invoicing' ),
203
+                ucfirst( $invoice->get_invoice_quote_type() )
204
+            );
205 205
 
206
-			$i18n['invoice_description'] = sprintf(
207
-				__( '%s Description', 'invoicing' ),
208
-				ucfirst( $invoice->get_invoice_quote_type() )
209
-			);
206
+            $i18n['invoice_description'] = sprintf(
207
+                __( '%s Description', 'invoicing' ),
208
+                ucfirst( $invoice->get_invoice_quote_type() )
209
+            );
210 210
 
211
-		}
212
-		return $i18n;
213
-	}
211
+        }
212
+        return $i18n;
213
+    }
214 214
 
215
-	/**
216
-	 * Change the admin footer text on GetPaid admin pages.
217
-	 *
218
-	 * @since  2.0.0
219
-	 * @param  string $footer_text
220
-	 * @return string
221
-	 */
222
-	public function admin_footer_text( $footer_text ) {
223
-		global $current_screen;
215
+    /**
216
+     * Change the admin footer text on GetPaid admin pages.
217
+     *
218
+     * @since  2.0.0
219
+     * @param  string $footer_text
220
+     * @return string
221
+     */
222
+    public function admin_footer_text( $footer_text ) {
223
+        global $current_screen;
224 224
 
225
-		$page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
225
+        $page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
226 226
 
227 227
         if ( ! empty( $current_screen->post_type ) ) {
228
-			$page = $current_screen->post_type;
228
+            $page = $current_screen->post_type;
229 229
         }
230 230
 
231 231
         // General styles.
232 232
         if ( apply_filters( 'getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing() ) && false !== stripos( $page, 'wpi' ) ) {
233 233
 
234
-			// Change the footer text
235
-			if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) {
234
+            // Change the footer text
235
+            if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) {
236 236
 
237
-				$rating_url  = esc_url(
238
-					wp_nonce_url(
239
-						admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ),
240
-						'getpaid-nonce',
241
-						'getpaid-nonce'
237
+                $rating_url  = esc_url(
238
+                    wp_nonce_url(
239
+                        admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ),
240
+                        'getpaid-nonce',
241
+                        'getpaid-nonce'
242 242
                     )
243
-				);
243
+                );
244 244
 
245
-				$footer_text = sprintf(
246
-					/* translators: %s: five stars */
247
-					__( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ),
248
-					"<a href='$rating_url'>&#9733;&#9733;&#9733;&#9733;&#9733;</a>"
249
-				);
245
+                $footer_text = sprintf(
246
+                    /* translators: %s: five stars */
247
+                    __( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ),
248
+                    "<a href='$rating_url'>&#9733;&#9733;&#9733;&#9733;&#9733;</a>"
249
+                );
250 250
 
251
-			} else {
251
+            } else {
252 252
 
253
-				$footer_text = sprintf(
254
-					/* translators: %s: GetPaid */
255
-					__( 'Thank you for using %s!', 'invoicing' ),
256
-					"<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>"
257
-				);
253
+                $footer_text = sprintf(
254
+                    /* translators: %s: GetPaid */
255
+                    __( 'Thank you for using %s!', 'invoicing' ),
256
+                    "<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>"
257
+                );
258 258
 
259
-			}
259
+            }
260 260
 }
261 261
 
262
-		return $footer_text;
263
-	}
264
-
265
-	/**
266
-	 * Redirects to wp.org to rate the plugin.
267
-	 *
268
-	 * @since  2.0.0
269
-	 */
270
-	public function redirect_to_wordpress_rating_page() {
271
-		update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 );
272
-		wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' );
273
-		exit;
274
-	}
275
-
276
-    /**
277
-	 * Loads payment form js.
278
-	 *
279
-	 */
280
-	protected function load_payment_form_scripts() {
262
+        return $footer_text;
263
+    }
264
+
265
+    /**
266
+     * Redirects to wp.org to rate the plugin.
267
+     *
268
+     * @since  2.0.0
269
+     */
270
+    public function redirect_to_wordpress_rating_page() {
271
+        update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 );
272
+        wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' );
273
+        exit;
274
+    }
275
+
276
+    /**
277
+     * Loads payment form js.
278
+     *
279
+     */
280
+    protected function load_payment_form_scripts() {
281 281
         global $post;
282 282
 
283 283
         wp_enqueue_script( 'vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.min.js', array(), WPINV_VERSION );
284
-		wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION );
285
-		wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION );
284
+        wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION );
285
+        wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION );
286 286
 
287
-		wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.min.js', array( 'wpinv-admin-script', 'vue_draggable', 'wp-hooks' ), WPINV_VERSION );
287
+        wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.min.js', array( 'wpinv-admin-script', 'vue_draggable', 'wp-hooks' ), WPINV_VERSION );
288 288
 
289
-		wp_localize_script(
289
+        wp_localize_script(
290 290
             'wpinv-admin-payment-form-script',
291 291
             'wpinvPaymentFormAdmin',
292 292
             array(
293
-				'elements'      => wpinv_get_data( 'payment-form-elements' ),
294
-				'form_elements' => getpaid_get_payment_form_elements( $post->ID ),
295
-				'currency'      => wpinv_currency_symbol(),
296
-				'position'      => wpinv_currency_position(),
297
-				'decimals'      => (int) wpinv_decimals(),
298
-				'thousands_sep' => wpinv_thousands_separator(),
299
-				'decimals_sep'  => wpinv_decimal_separator(),
300
-				'form_items'    => gepaid_get_form_items( $post->ID ),
301
-				'is_default'    => $post->ID == wpinv_get_default_payment_form(),
293
+                'elements'      => wpinv_get_data( 'payment-form-elements' ),
294
+                'form_elements' => getpaid_get_payment_form_elements( $post->ID ),
295
+                'currency'      => wpinv_currency_symbol(),
296
+                'position'      => wpinv_currency_position(),
297
+                'decimals'      => (int) wpinv_decimals(),
298
+                'thousands_sep' => wpinv_thousands_separator(),
299
+                'decimals_sep'  => wpinv_decimal_separator(),
300
+                'form_items'    => gepaid_get_form_items( $post->ID ),
301
+                'is_default'    => $post->ID == wpinv_get_default_payment_form(),
302 302
             )
303 303
         );
304 304
 
@@ -307,19 +307,19 @@  discard block
 block discarded – undo
307 307
     }
308 308
 
309 309
     /**
310
-	 * Add our classes to admin pages.
310
+     * Add our classes to admin pages.
311 311
      *
312 312
      * @param string $classes
313 313
      * @return string
314
-	 *
315
-	 */
314
+     *
315
+     */
316 316
     public function admin_body_class( $classes ) {
317
-		global $pagenow, $post, $current_screen;
317
+        global $pagenow, $post, $current_screen;
318 318
 
319 319
         $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
320 320
 
321 321
         if ( ! empty( $current_screen->post_type ) ) {
322
-			$page = $current_screen->post_type;
322
+            $page = $current_screen->post_type;
323 323
         }
324 324
 
325 325
         if ( false !== stripos( $page, 'wpi' ) ) {
@@ -328,70 +328,70 @@  discard block
 block discarded – undo
328 328
 
329 329
         if ( in_array( $page, wpinv_parse_list( 'wpi_invoice wpi_payment_form wpi_quote' ) ) ) {
330 330
             $classes .= ' wpinv-cpt wpinv';
331
-		}
331
+        }
332 332
 
333
-		if ( getpaid_is_invoice_post_type( $page ) ) {
333
+        if ( getpaid_is_invoice_post_type( $page ) ) {
334 334
             $classes .= ' getpaid-is-invoice-cpt';
335 335
         }
336 336
 
337
-		return $classes;
337
+        return $classes;
338 338
     }
339 339
 
340 340
     /**
341
-	 * Maybe show the AyeCode Connect Notice.
342
-	 */
343
-	public function init_ayecode_connect_helper() {
341
+     * Maybe show the AyeCode Connect Notice.
342
+     */
343
+    public function init_ayecode_connect_helper() {
344 344
 
345
-		// Register with the deactivation survey class.
346
-		AyeCode_Deactivation_Survey::instance(
345
+        // Register with the deactivation survey class.
346
+        AyeCode_Deactivation_Survey::instance(
347 347
             array(
348
-				'slug'              => 'invoicing',
349
-				'version'           => WPINV_VERSION,
350
-				'support_url'       => 'https://wpgetpaid.com/support/',
351
-				'documentation_url' => 'https://docs.wpgetpaid.com/',
352
-				'activated'         => (int) get_option( 'gepaid_installed_on' ),
348
+                'slug'              => 'invoicing',
349
+                'version'           => WPINV_VERSION,
350
+                'support_url'       => 'https://wpgetpaid.com/support/',
351
+                'documentation_url' => 'https://docs.wpgetpaid.com/',
352
+                'activated'         => (int) get_option( 'gepaid_installed_on' ),
353 353
             )
354 354
         );
355 355
 
356 356
         new AyeCode_Connect_Helper(
357 357
             array(
358
-				'connect_title'     => __( 'WP Invoicing - an AyeCode product!', 'invoicing' ),
359
-				'connect_external'  => __( 'Please confirm you wish to connect your site?', 'invoicing' ),
360
-				'connect'           => sprintf( __( '<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %1$slearn more%2$s', 'invoicing' ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", '</a>' ),
361
-				'connect_button'    => __( 'Connect Site', 'invoicing' ),
362
-				'connecting_button' => __( 'Connecting...', 'invoicing' ),
363
-				'error_localhost'   => __( 'This service will only work with a live domain, not a localhost.', 'invoicing' ),
364
-				'error'             => __( 'Something went wrong, please refresh and try again.', 'invoicing' ),
358
+                'connect_title'     => __( 'WP Invoicing - an AyeCode product!', 'invoicing' ),
359
+                'connect_external'  => __( 'Please confirm you wish to connect your site?', 'invoicing' ),
360
+                'connect'           => sprintf( __( '<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %1$slearn more%2$s', 'invoicing' ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", '</a>' ),
361
+                'connect_button'    => __( 'Connect Site', 'invoicing' ),
362
+                'connecting_button' => __( 'Connecting...', 'invoicing' ),
363
+                'error_localhost'   => __( 'This service will only work with a live domain, not a localhost.', 'invoicing' ),
364
+                'error'             => __( 'Something went wrong, please refresh and try again.', 'invoicing' ),
365 365
             ),
366 366
             array( 'wpi-addons' )
367 367
         );
368 368
 
369 369
     }
370 370
 
371
-	/**
372
-	 * Redirect users to settings on activation.
373
-	 *
374
-	 * @return void
375
-	 */
376
-	public function activation_redirect() {
371
+    /**
372
+     * Redirect users to settings on activation.
373
+     *
374
+     * @return void
375
+     */
376
+    public function activation_redirect() {
377 377
 
378
-		$redirected = get_option( 'wpinv_redirected_to_settings' );
378
+        $redirected = get_option( 'wpinv_redirected_to_settings' );
379 379
 
380
-		if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) {
381
-			return;
382
-		}
380
+        if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) {
381
+            return;
382
+        }
383 383
 
384
-		// Bail if activating from network, or bulk
385
-		if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
386
-			return;
387
-		}
384
+        // Bail if activating from network, or bulk
385
+        if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
386
+            return;
387
+        }
388 388
 
389
-	    update_option( 'wpinv_redirected_to_settings', 1 );
389
+        update_option( 'wpinv_redirected_to_settings', 1 );
390 390
 
391 391
         wp_safe_redirect( admin_url( 'index.php?page=gp-setup' ) );
392 392
         exit;
393 393
 
394
-	}
394
+    }
395 395
 
396 396
     /**
397 397
      * Fires an admin action after verifying that a user can fire them.
@@ -404,555 +404,555 @@  discard block
 block discarded – undo
404 404
         }
405 405
     }
406 406
 
407
-	/**
407
+    /**
408 408
      * Duplicate invoice.
409
-	 *
410
-	 * @param array $args
409
+     *
410
+     * @param array $args
411 411
      */
412 412
     public function duplicate_invoice( $args ) {
413 413
 
414
-		if ( empty( $args['invoice_id'] ) ) {
415
-			return;
416
-		}
414
+        if ( empty( $args['invoice_id'] ) ) {
415
+            return;
416
+        }
417 417
 
418
-		$invoice = new WPInv_Invoice( (int) $args['invoice_id'] );
418
+        $invoice = new WPInv_Invoice( (int) $args['invoice_id'] );
419 419
 
420
-		if ( ! $invoice->exists() ) {
421
-			return;
422
-		}
420
+        if ( ! $invoice->exists() ) {
421
+            return;
422
+        }
423 423
 
424
-		$new_invoice = getpaid_duplicate_invoice( $invoice );
425
-		$new_invoice->save();
424
+        $new_invoice = getpaid_duplicate_invoice( $invoice );
425
+        $new_invoice->save();
426 426
 
427
-		if ( $new_invoice->exists() ) {
427
+        if ( $new_invoice->exists() ) {
428 428
 
429
-			getpaid_admin()->show_success( __( 'Invoice duplicated successfully.', 'invoicing' ) );
429
+            getpaid_admin()->show_success( __( 'Invoice duplicated successfully.', 'invoicing' ) );
430 430
 
431
-			wp_safe_redirect(
432
-				add_query_arg(
433
-					array(
434
-						'action' => 'edit',
435
-						'post'   => $new_invoice->get_id(),
436
-					),
437
-					admin_url( 'post.php' )
438
-				)
439
-			);
440
-			exit;
431
+            wp_safe_redirect(
432
+                add_query_arg(
433
+                    array(
434
+                        'action' => 'edit',
435
+                        'post'   => $new_invoice->get_id(),
436
+                    ),
437
+                    admin_url( 'post.php' )
438
+                )
439
+            );
440
+            exit;
441 441
 
442
-		}
442
+        }
443 443
 
444
-		getpaid_admin()->show_error( __( 'There was an error duplicating this invoice. Please try again.', 'invoicing' ) );
444
+        getpaid_admin()->show_error( __( 'There was an error duplicating this invoice. Please try again.', 'invoicing' ) );
445 445
 
446
-	}
446
+    }
447 447
 
448
-	/**
448
+    /**
449 449
      * Refund an invoice.
450
-	 *
451
-	 * @param array $args
450
+     *
451
+     * @param array $args
452 452
      */
453 453
     public function refund_invoice( $args ) {
454 454
 
455
-		if ( empty( $args['invoice_id'] ) ) {
456
-			return;
457
-		}
458
-
459
-		$invoice = new WPInv_Invoice( (int) $args['invoice_id'] );
460
-
461
-		if ( ! $invoice->exists() || $invoice->is_refunded() ) {
462
-			return;
463
-		}
464
-
465
-		$invoice->refund();
466
-
467
-		// Refund remotely.
468
-		if ( getpaid_payment_gateway_supports( $invoice->get_gateway(), 'refunds' ) && ! empty( $args['getpaid_refund_remote'] ) ) {
469
-			do_action( 'getpaid_refund_invoice_remotely', $invoice );
470
-		}
471
-
472
-		// Cancel subscriptions.
473
-		if ( ! empty( $args['getpaid_cancel_subscription'] ) ) {
474
-			$subscriptions = getpaid_get_invoice_subscriptions( $invoice );
475
-
476
-			if ( ! empty( $subscriptions ) ) {
477
-				if ( ! is_array( $subscriptions ) ) {
478
-					$subscriptions = array( $subscriptions );
479
-				}
480
-
481
-				foreach ( $subscriptions as $subscription ) {
482
-					$subscription->cancel();
483
-					$invoice->add_system_note(
484
-						sprintf(
485
-							// translators: %s: subscription ID.
486
-							__( 'Subscription #%s cancelled', 'invoicing' ),
487
-							$subscription->get_id()
488
-						)
489
-					);
490
-				}
491
-			}
492
-		}
493
-
494
-		// Add notice.
495
-		$this->show_success( __( 'Invoice refunded successfully.', 'invoicing' ) );
496
-
497
-		// Redirect.
498
-		wp_safe_redirect(
499
-			remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id', 'getpaid_cancel_subscription', 'getpaid_refund_remote' ) )
500
-		);
501
-	}
502
-
503
-	/**
455
+        if ( empty( $args['invoice_id'] ) ) {
456
+            return;
457
+        }
458
+
459
+        $invoice = new WPInv_Invoice( (int) $args['invoice_id'] );
460
+
461
+        if ( ! $invoice->exists() || $invoice->is_refunded() ) {
462
+            return;
463
+        }
464
+
465
+        $invoice->refund();
466
+
467
+        // Refund remotely.
468
+        if ( getpaid_payment_gateway_supports( $invoice->get_gateway(), 'refunds' ) && ! empty( $args['getpaid_refund_remote'] ) ) {
469
+            do_action( 'getpaid_refund_invoice_remotely', $invoice );
470
+        }
471
+
472
+        // Cancel subscriptions.
473
+        if ( ! empty( $args['getpaid_cancel_subscription'] ) ) {
474
+            $subscriptions = getpaid_get_invoice_subscriptions( $invoice );
475
+
476
+            if ( ! empty( $subscriptions ) ) {
477
+                if ( ! is_array( $subscriptions ) ) {
478
+                    $subscriptions = array( $subscriptions );
479
+                }
480
+
481
+                foreach ( $subscriptions as $subscription ) {
482
+                    $subscription->cancel();
483
+                    $invoice->add_system_note(
484
+                        sprintf(
485
+                            // translators: %s: subscription ID.
486
+                            __( 'Subscription #%s cancelled', 'invoicing' ),
487
+                            $subscription->get_id()
488
+                        )
489
+                    );
490
+                }
491
+            }
492
+        }
493
+
494
+        // Add notice.
495
+        $this->show_success( __( 'Invoice refunded successfully.', 'invoicing' ) );
496
+
497
+        // Redirect.
498
+        wp_safe_redirect(
499
+            remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id', 'getpaid_cancel_subscription', 'getpaid_refund_remote' ) )
500
+        );
501
+    }
502
+
503
+    /**
504 504
      * Sends a payment reminder to a customer.
505
-	 *
506
-	 * @param array $args
505
+     *
506
+     * @param array $args
507 507
      */
508 508
     public function duplicate_payment_form( $args ) {
509 509
 
510
-		if ( empty( $args['form_id'] ) ) {
511
-			return;
512
-		}
513
-
514
-		$form = new GetPaid_Payment_Form( (int) $args['form_id'] );
510
+        if ( empty( $args['form_id'] ) ) {
511
+            return;
512
+        }
515 513
 
516
-		if ( ! $form->exists() ) {
517
-			return;
518
-		}
514
+        $form = new GetPaid_Payment_Form( (int) $args['form_id'] );
519 515
 
520
-		$new_form = new GetPaid_Payment_Form();
521
-		$new_form->set_author( $form->get_author( 'edit' ) );
522
-		$new_form->set_name( $form->get_name( 'edit' ) . __( '(copy)', 'invoicing' ) );
523
-		$new_form->set_elements( $form->get_elements( 'edit' ) );
524
-		$new_form->set_items( $form->get_items( 'edit' ) );
525
-		$new_form->save();
516
+        if ( ! $form->exists() ) {
517
+            return;
518
+        }
526 519
 
527
-		if ( $new_form->exists() ) {
528
-			$this->show_success( __( 'Form duplicated successfully', 'invoicing' ) );
529
-			$url = get_edit_post_link( $new_form->get_id(), 'edit' );
530
-		} else {
531
-			$this->show_error( __( 'Unable to duplicate form', 'invoicing' ) );
532
-			$url = remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) );
533
-		}
520
+        $new_form = new GetPaid_Payment_Form();
521
+        $new_form->set_author( $form->get_author( 'edit' ) );
522
+        $new_form->set_name( $form->get_name( 'edit' ) . __( '(copy)', 'invoicing' ) );
523
+        $new_form->set_elements( $form->get_elements( 'edit' ) );
524
+        $new_form->set_items( $form->get_items( 'edit' ) );
525
+        $new_form->save();
526
+
527
+        if ( $new_form->exists() ) {
528
+            $this->show_success( __( 'Form duplicated successfully', 'invoicing' ) );
529
+            $url = get_edit_post_link( $new_form->get_id(), 'edit' );
530
+        } else {
531
+            $this->show_error( __( 'Unable to duplicate form', 'invoicing' ) );
532
+            $url = remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) );
533
+        }
534 534
 
535
-		wp_redirect( $url );
536
-		exit;
537
-	}
535
+        wp_redirect( $url );
536
+        exit;
537
+    }
538 538
 
539
-	/**
539
+    /**
540 540
      * Resets form stats.
541
-	 *
542
-	 * @param array $args
541
+     *
542
+     * @param array $args
543 543
      */
544 544
     public function reset_form_stats( $args ) {
545 545
 
546
-		if ( empty( $args['form_id'] ) ) {
547
-			return;
548
-		}
546
+        if ( empty( $args['form_id'] ) ) {
547
+            return;
548
+        }
549 549
 
550
-		$form = new GetPaid_Payment_Form( (int) $args['form_id'] );
550
+        $form = new GetPaid_Payment_Form( (int) $args['form_id'] );
551 551
 
552
-		if ( ! $form->exists() ) {
553
-			return;
554
-		}
552
+        if ( ! $form->exists() ) {
553
+            return;
554
+        }
555 555
 
556
-		$form->set_earned( 0 );
557
-		$form->set_refunded( 0 );
558
-		$form->set_cancelled( 0 );
559
-		$form->set_failed( 0 );
560
-		$form->save();
556
+        $form->set_earned( 0 );
557
+        $form->set_refunded( 0 );
558
+        $form->set_cancelled( 0 );
559
+        $form->set_failed( 0 );
560
+        $form->save();
561 561
 
562
-		$this->show_success( __( 'Form stats reset successfully', 'invoicing' ) );
562
+        $this->show_success( __( 'Form stats reset successfully', 'invoicing' ) );
563 563
 
564
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) ) );
565
-		exit;
566
-	}
564
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) ) );
565
+        exit;
566
+    }
567 567
 
568
-	/**
568
+    /**
569 569
      * Sends a payment reminder to a customer.
570
-	 *
571
-	 * @param array $args
570
+     *
571
+     * @param array $args
572 572
      */
573 573
     public function send_customer_invoice( $args ) {
574
-		getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true );
575
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
576
-		exit;
577
-	}
574
+        getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true );
575
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
576
+        exit;
577
+    }
578 578
 
579
-	/**
579
+    /**
580 580
      * Sends a payment reminder to a customer.
581
-	 *
582
-	 * @param array $args
581
+     *
582
+     * @param array $args
583 583
      */
584 584
     public function send_customer_payment_reminder( $args ) {
585
-		$sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) );
585
+        $sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) );
586 586
 
587
-		if ( $sent ) {
588
-			$this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) );
589
-		} else {
590
-			$this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) );
591
-		}
587
+        if ( $sent ) {
588
+            $this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) );
589
+        } else {
590
+            $this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) );
591
+        }
592 592
 
593
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
594
-		exit;
595
-	}
593
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
594
+        exit;
595
+    }
596 596
 
597
-	/**
597
+    /**
598 598
      * Resets tax rates.
599
-	 *
599
+     *
600 600
      */
601 601
     public function admin_reset_tax_rates() {
602 602
 
603
-		update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
604
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
605
-		exit;
603
+        update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
604
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
605
+        exit;
606 606
 
607
-	}
607
+    }
608 608
 
609
-	/**
609
+    /**
610 610
      * Resets admin pages.
611
-	 *
611
+     *
612 612
      */
613 613
     public function admin_create_missing_pages() {
614
-		$installer = new GetPaid_Installer();
615
-		$installer->create_pages();
616
-		$this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) );
617
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
618
-		exit;
619
-	}
620
-
621
-	/**
622
-	 * Refreshes the permalinks.
623
-	 */
624
-	public function admin_refresh_permalinks() {
625
-		flush_rewrite_rules();
626
-		$this->show_success( __( 'Permalinks refreshed.', 'invoicing' ) );
627
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
628
-		exit;
629
-	}
630
-
631
-	/**
614
+        $installer = new GetPaid_Installer();
615
+        $installer->create_pages();
616
+        $this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) );
617
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
618
+        exit;
619
+    }
620
+
621
+    /**
622
+     * Refreshes the permalinks.
623
+     */
624
+    public function admin_refresh_permalinks() {
625
+        flush_rewrite_rules();
626
+        $this->show_success( __( 'Permalinks refreshed.', 'invoicing' ) );
627
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
628
+        exit;
629
+    }
630
+
631
+    /**
632 632
      * Creates missing admin tables.
633
-	 *
633
+     *
634 634
      */
635 635
     public function admin_create_missing_tables() {
636
-		global $wpdb;
636
+        global $wpdb;
637 637
 
638
-		GetPaid_Installer::create_db_tables();
639
-		GetPaid_Installer::migrate_old_customers();
638
+        GetPaid_Installer::create_db_tables();
639
+        GetPaid_Installer::migrate_old_customers();
640 640
 
641
-		if ( '' !== $wpdb->last_error ) {
642
-			$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
643
-		} else {
644
-			$this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) );
645
-		}
641
+        if ( '' !== $wpdb->last_error ) {
642
+            $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
643
+        } else {
644
+            $this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) );
645
+        }
646 646
 
647
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
648
-		exit;
649
-	}
647
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
648
+        exit;
649
+    }
650 650
 
651
-	/**
651
+    /**
652 652
      * Migrates old invoices to the new database tables.
653
-	 *
653
+     *
654 654
      */
655 655
     public function admin_migrate_old_invoices() {
656 656
 
657
-		// Migrate the invoices.
658
-		$installer = new GetPaid_Installer();
659
-		$installer->migrate_old_invoices();
657
+        // Migrate the invoices.
658
+        $installer = new GetPaid_Installer();
659
+        $installer->migrate_old_invoices();
660 660
 
661
-		// Show an admin message.
662
-		$this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) );
661
+        // Show an admin message.
662
+        $this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) );
663 663
 
664
-		// Redirect the admin.
665
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
666
-		exit;
664
+        // Redirect the admin.
665
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
666
+        exit;
667 667
 
668
-	}
668
+    }
669 669
 
670
-	/**
670
+    /**
671 671
      * Download customers.
672
-	 *
672
+     *
673 673
      */
674 674
     public function admin_download_customers() {
675 675
 
676
-		$output = fopen( 'php://output', 'w' );
676
+        $output = fopen( 'php://output', 'w' );
677 677
 
678
-		if ( false === $output ) {
679
-			wp_die( esc_html__( 'Unsupported server', 'invoicing' ), 500 );
680
-		}
678
+        if ( false === $output ) {
679
+            wp_die( esc_html__( 'Unsupported server', 'invoicing' ), 500 );
680
+        }
681 681
 
682
-		header( 'Content-Type:text/csv' );
683
-		header( 'Content-Disposition:attachment;filename=customers.csv' );
682
+        header( 'Content-Type:text/csv' );
683
+        header( 'Content-Disposition:attachment;filename=customers.csv' );
684 684
 
685
-		/** @var GetPaid_Customer[] $customers */
686
-		$customers = getpaid_get_customers( array( 'number' => -1 ) );
687
-		$columns   = array_keys( GetPaid_Customer_Data_Store::get_database_fields() );
685
+        /** @var GetPaid_Customer[] $customers */
686
+        $customers = getpaid_get_customers( array( 'number' => -1 ) );
687
+        $columns   = array_keys( GetPaid_Customer_Data_Store::get_database_fields() );
688 688
 
689
-		// Output the csv column headers.
690
-		fputcsv( $output, $columns );
689
+        // Output the csv column headers.
690
+        fputcsv( $output, $columns );
691 691
 
692
-		// Loop through
693
-		foreach ( $customers as $customer ) {
692
+        // Loop through
693
+        foreach ( $customers as $customer ) {
694 694
 
695
-			$row  = array();
695
+            $row  = array();
696 696
 
697
-			foreach ( $columns as $column ) {
698
-				$row[]  = (string) maybe_serialize( $customer->get( $column, 'edit' ) );
699
-			}
697
+            foreach ( $columns as $column ) {
698
+                $row[]  = (string) maybe_serialize( $customer->get( $column, 'edit' ) );
699
+            }
700 700
 
701
-			fputcsv( $output, $row );
702
-		}
701
+            fputcsv( $output, $row );
702
+        }
703 703
 
704
-		fclose( $output );
705
-		exit;
704
+        fclose( $output );
705
+        exit;
706 706
 
707
-	}
707
+    }
708 708
 
709
-	/**
709
+    /**
710 710
      * Installs a plugin.
711
-	 *
712
-	 * @param array $data
711
+     *
712
+     * @param array $data
713 713
      */
714 714
     public function admin_install_plugin( $data ) {
715 715
 
716
-		if ( ! empty( $data['plugins'] ) ) {
717
-			include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
718
-			wp_cache_flush();
716
+        if ( ! empty( $data['plugins'] ) ) {
717
+            include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
718
+            wp_cache_flush();
719 719
 
720
-			foreach ( $data['plugins'] as $slug => $file ) {
721
-				$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' );
722
-				$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
723
-				$installed  = $upgrader->install( $plugin_zip );
720
+            foreach ( $data['plugins'] as $slug => $file ) {
721
+                $plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' );
722
+                $upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
723
+                $installed  = $upgrader->install( $plugin_zip );
724 724
 
725
-				if ( ! is_wp_error( $installed ) && $installed ) {
726
-					activate_plugin( $file, '', false, true );
727
-				} else {
728
-					wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false );
729
-				}
725
+                if ( ! is_wp_error( $installed ) && $installed ) {
726
+                    activate_plugin( $file, '', false, true );
727
+                } else {
728
+                    wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false );
729
+                }
730 730
 }
731 731
 }
732 732
 
733
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' );
734
-		wp_safe_redirect( $redirect );
735
-		exit;
733
+        $redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' );
734
+        wp_safe_redirect( $redirect );
735
+        exit;
736 736
 
737
-	}
737
+    }
738 738
 
739
-	/**
739
+    /**
740 740
      * Connects a gateway.
741
-	 *
742
-	 * @param array $data
741
+     *
742
+     * @param array $data
743 743
      */
744 744
     public function admin_connect_gateway( $data ) {
745 745
 
746
-		if ( ! empty( $data['plugin'] ) ) {
746
+        if ( ! empty( $data['plugin'] ) ) {
747 747
 
748
-			$gateway     = sanitize_key( $data['plugin'] );
749
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
748
+            $gateway     = sanitize_key( $data['plugin'] );
749
+            $connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
750 750
 
751
-			if ( ! empty( $connect_url ) ) {
752
-				wp_redirect( $connect_url );
753
-				exit;
754
-			}
751
+            if ( ! empty( $connect_url ) ) {
752
+                wp_redirect( $connect_url );
753
+                exit;
754
+            }
755 755
 
756
-			if ( 'stripe' == $data['plugin'] ) {
757
-				require_once ABSPATH . 'wp-admin/includes/plugin.php';
758
-				include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
759
-				wp_cache_flush();
756
+            if ( 'stripe' == $data['plugin'] ) {
757
+                require_once ABSPATH . 'wp-admin/includes/plugin.php';
758
+                include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
759
+                wp_cache_flush();
760 760
 
761
-				if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) {
762
-					$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' );
763
-					$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
764
-					$upgrader->install( $plugin_zip );
765
-				}
761
+                if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) {
762
+                    $plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' );
763
+                    $upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
764
+                    $upgrader->install( $plugin_zip );
765
+                }
766 766
 
767
-				activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true );
768
-			}
767
+                activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true );
768
+            }
769 769
 
770
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
771
-			if ( ! empty( $connect_url ) ) {
772
-				wp_redirect( $connect_url );
773
-				exit;
774
-			}
770
+            $connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
771
+            if ( ! empty( $connect_url ) ) {
772
+                wp_redirect( $connect_url );
773
+                exit;
774
+            }
775 775
 }
776 776
 
777
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' );
778
-		wp_safe_redirect( $redirect );
779
-		exit;
777
+        $redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' );
778
+        wp_safe_redirect( $redirect );
779
+        exit;
780 780
 
781
-	}
781
+    }
782 782
 
783
-	/**
783
+    /**
784 784
      * Recalculates discounts.
785
-	 *
785
+     *
786 786
      */
787 787
     public function admin_recalculate_discounts() {
788
-		global $wpdb;
788
+        global $wpdb;
789 789
 
790
-		// Fetch all invoices that have discount codes.
791
-		$table    = $wpdb->prefix . 'getpaid_invoices';
792
-		$invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" );
790
+        // Fetch all invoices that have discount codes.
791
+        $table    = $wpdb->prefix . 'getpaid_invoices';
792
+        $invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" );
793 793
 
794
-		foreach ( $invoices as $invoice ) {
794
+        foreach ( $invoices as $invoice ) {
795 795
 
796
-			$invoice = new WPInv_Invoice( $invoice );
796
+            $invoice = new WPInv_Invoice( $invoice );
797 797
 
798
-			if ( ! $invoice->exists() ) {
799
-				continue;
800
-			}
798
+            if ( ! $invoice->exists() ) {
799
+                continue;
800
+            }
801 801
 
802
-			// Abort if the discount does not exist or does not apply here.
803
-			$discount = new WPInv_Discount( $invoice->get_discount_code() );
804
-			if ( ! $discount->exists() ) {
805
-				continue;
806
-			}
802
+            // Abort if the discount does not exist or does not apply here.
803
+            $discount = new WPInv_Discount( $invoice->get_discount_code() );
804
+            if ( ! $discount->exists() ) {
805
+                continue;
806
+            }
807 807
 
808
-			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
809
-			$invoice->recalculate_total();
808
+            $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
809
+            $invoice->recalculate_total();
810 810
 
811
-			if ( $invoice->get_total_discount() > 0 ) {
812
-				$invoice->save();
813
-			}
811
+            if ( $invoice->get_total_discount() > 0 ) {
812
+                $invoice->save();
813
+            }
814 814
 }
815 815
 
816
-		// Show an admin message.
817
-		$this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) );
816
+        // Show an admin message.
817
+        $this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) );
818 818
 
819
-		// Redirect the admin.
820
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
821
-		exit;
819
+        // Redirect the admin.
820
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
821
+        exit;
822 822
 
823
-	}
823
+    }
824 824
 
825 825
     /**
826
-	 * Returns an array of admin notices.
827
-	 *
828
-	 * @since       1.0.19
826
+     * Returns an array of admin notices.
827
+     *
828
+     * @since       1.0.19
829 829
      * @return array
830
-	 */
831
-	public function get_notices() {
832
-		$notices = get_option( 'wpinv_admin_notices' );
830
+     */
831
+    public function get_notices() {
832
+        $notices = get_option( 'wpinv_admin_notices' );
833 833
         return is_array( $notices ) ? $notices : array();
834
-	}
834
+    }
835 835
 
836
-	/**
837
-	 * Checks if we have any admin notices.
838
-	 *
839
-	 * @since       2.0.4
836
+    /**
837
+     * Checks if we have any admin notices.
838
+     *
839
+     * @since       2.0.4
840 840
      * @return array
841
-	 */
842
-	public function has_notices() {
843
-		return count( $this->get_notices() ) > 0;
844
-	}
845
-
846
-	/**
847
-	 * Clears all admin notices
848
-	 *
849
-	 * @access      public
850
-	 * @since       1.0.19
851
-	 */
852
-	public function clear_notices() {
853
-		delete_option( 'wpinv_admin_notices' );
854
-	}
855
-
856
-	/**
857
-	 * Saves a new admin notice
858
-	 *
859
-	 * @access      public
860
-	 * @since       1.0.19
861
-	 */
862
-	public function save_notice( $type, $message ) {
863
-		$notices = $this->get_notices();
864
-
865
-		if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ] ) ) {
866
-			$notices[ $type ] = array();
867
-		}
868
-
869
-		$notices[ $type ][] = $message;
870
-
871
-		update_option( 'wpinv_admin_notices', $notices );
872
-	}
873
-
874
-	/**
875
-	 * Displays a success notice
876
-	 *
877
-	 * @param       string $msg The message to qeue.
878
-	 * @access      public
879
-	 * @since       1.0.19
880
-	 */
881
-	public function show_success( $msg ) {
882
-		$this->save_notice( 'success', $msg );
883
-	}
884
-
885
-	/**
886
-	 * Displays a error notice
887
-	 *
888
-	 * @access      public
889
-	 * @param       string $msg The message to qeue.
890
-	 * @since       1.0.19
891
-	 */
892
-	public function show_error( $msg ) {
893
-		$this->save_notice( 'error', $msg );
894
-	}
895
-
896
-	/**
897
-	 * Displays a warning notice
898
-	 *
899
-	 * @access      public
900
-	 * @param       string $msg The message to qeue.
901
-	 * @since       1.0.19
902
-	 */
903
-	public function show_warning( $msg ) {
904
-		$this->save_notice( 'warning', $msg );
905
-	}
906
-
907
-	/**
908
-	 * Displays a info notice
909
-	 *
910
-	 * @access      public
911
-	 * @param       string $msg The message to qeue.
912
-	 * @since       1.0.19
913
-	 */
914
-	public function show_info( $msg ) {
915
-		$this->save_notice( 'info', $msg );
916
-	}
917
-
918
-	/**
919
-	 * Show notices
920
-	 *
921
-	 * @access      public
922
-	 * @since       1.0.19
923
-	 */
924
-	public function show_notices() {
841
+     */
842
+    public function has_notices() {
843
+        return count( $this->get_notices() ) > 0;
844
+    }
845
+
846
+    /**
847
+     * Clears all admin notices
848
+     *
849
+     * @access      public
850
+     * @since       1.0.19
851
+     */
852
+    public function clear_notices() {
853
+        delete_option( 'wpinv_admin_notices' );
854
+    }
855
+
856
+    /**
857
+     * Saves a new admin notice
858
+     *
859
+     * @access      public
860
+     * @since       1.0.19
861
+     */
862
+    public function save_notice( $type, $message ) {
863
+        $notices = $this->get_notices();
864
+
865
+        if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ] ) ) {
866
+            $notices[ $type ] = array();
867
+        }
868
+
869
+        $notices[ $type ][] = $message;
870
+
871
+        update_option( 'wpinv_admin_notices', $notices );
872
+    }
873
+
874
+    /**
875
+     * Displays a success notice
876
+     *
877
+     * @param       string $msg The message to qeue.
878
+     * @access      public
879
+     * @since       1.0.19
880
+     */
881
+    public function show_success( $msg ) {
882
+        $this->save_notice( 'success', $msg );
883
+    }
884
+
885
+    /**
886
+     * Displays a error notice
887
+     *
888
+     * @access      public
889
+     * @param       string $msg The message to qeue.
890
+     * @since       1.0.19
891
+     */
892
+    public function show_error( $msg ) {
893
+        $this->save_notice( 'error', $msg );
894
+    }
895
+
896
+    /**
897
+     * Displays a warning notice
898
+     *
899
+     * @access      public
900
+     * @param       string $msg The message to qeue.
901
+     * @since       1.0.19
902
+     */
903
+    public function show_warning( $msg ) {
904
+        $this->save_notice( 'warning', $msg );
905
+    }
906
+
907
+    /**
908
+     * Displays a info notice
909
+     *
910
+     * @access      public
911
+     * @param       string $msg The message to qeue.
912
+     * @since       1.0.19
913
+     */
914
+    public function show_info( $msg ) {
915
+        $this->save_notice( 'info', $msg );
916
+    }
917
+
918
+    /**
919
+     * Show notices
920
+     *
921
+     * @access      public
922
+     * @since       1.0.19
923
+     */
924
+    public function show_notices() {
925 925
 
926 926
         $notices = $this->get_notices();
927 927
         $this->clear_notices();
928 928
 
929
-		foreach ( $notices as $type => $messages ) {
929
+        foreach ( $notices as $type => $messages ) {
930 930
 
931
-			if ( ! is_array( $messages ) ) {
932
-				continue;
933
-			}
931
+            if ( ! is_array( $messages ) ) {
932
+                continue;
933
+            }
934 934
 
935 935
             $type  = esc_attr( $type );
936
-			foreach ( $messages as $message ) {
937
-				echo wp_kses_post( "<div class='notice notice-$type is-dismissible'><p>$message</p></div>" );
936
+            foreach ( $messages as $message ) {
937
+                echo wp_kses_post( "<div class='notice notice-$type is-dismissible'><p>$message</p></div>" );
938 938
             }
939 939
 }
940 940
 
941
-		foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) {
942
-
943
-			if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) {
944
-				$url     = wp_nonce_url(
945
-					add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
946
-					'getpaid-nonce',
947
-					'getpaid-nonce'
948
-				);
949
-				$message  = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' );
950
-				$message2 = __( 'Generate Pages', 'invoicing' );
951
-				echo wp_kses_post( "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>" );
952
-				break;
953
-			}
941
+        foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) {
942
+
943
+            if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) {
944
+                $url     = wp_nonce_url(
945
+                    add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
946
+                    'getpaid-nonce',
947
+                    'getpaid-nonce'
948
+                );
949
+                $message  = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' );
950
+                $message2 = __( 'Generate Pages', 'invoicing' );
951
+                echo wp_kses_post( "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>" );
952
+                break;
953
+            }
954 954
 }
955 955
 
956
-	}
956
+    }
957 957
 
958 958
 }
Please login to merge, or discard this patch.
Spacing   +278 added lines, -278 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
  * The main admin class.
@@ -39,11 +39,11 @@  discard block
 block discarded – undo
39 39
 	 */
40 40
 	public function __construct() {
41 41
 
42
-        $this->admin_path  = plugin_dir_path( __FILE__ );
43
-		$this->admin_url   = plugins_url( '/', __FILE__ );
42
+        $this->admin_path = plugin_dir_path(__FILE__);
43
+		$this->admin_url   = plugins_url('/', __FILE__);
44 44
 		$this->reports     = new GetPaid_Reports();
45 45
 
46
-        if ( is_admin() ) {
46
+        if (is_admin()) {
47 47
 			$this->init_admin_hooks();
48 48
         }
49 49
 
@@ -54,36 +54,36 @@  discard block
 block discarded – undo
54 54
 	 *
55 55
 	 */
56 56
 	private function init_admin_hooks() {
57
-        add_action( 'admin_enqueue_scripts', array( $this, 'enqeue_scripts' ), 9 );
58
-        add_filter( 'admin_body_class', array( $this, 'admin_body_class' ) );
59
-        add_action( 'admin_init', array( $this, 'init_ayecode_connect_helper' ) );
60
-        add_action( 'admin_init', array( $this, 'activation_redirect' ) );
61
-        add_action( 'admin_init', array( $this, 'maybe_do_admin_action' ) );
62
-		add_action( 'admin_notices', array( $this, 'show_notices' ) );
63
-		add_action( 'getpaid_authenticated_admin_action_rate_plugin', array( $this, 'redirect_to_wordpress_rating_page' ) );
64
-		add_action( 'getpaid_authenticated_admin_action_duplicate_form', array( $this, 'duplicate_payment_form' ) );
65
-		add_action( 'getpaid_authenticated_admin_action_reset_form_stats', array( $this, 'reset_form_stats' ) );
66
-		add_action( 'getpaid_authenticated_admin_action_duplicate_invoice', array( $this, 'duplicate_invoice' ) );
67
-		add_action( 'getpaid_authenticated_admin_action_refund_invoice', array( $this, 'refund_invoice' ) );
68
-		add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) );
69
-		add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) );
70
-        add_action( 'getpaid_authenticated_admin_action_reset_tax_rates', array( $this, 'admin_reset_tax_rates' ) );
71
-		add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) );
72
-		add_action( 'getpaid_authenticated_admin_action_refresh_permalinks', array( $this, 'admin_refresh_permalinks' ) );
73
-		add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) );
74
-		add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) );
75
-		add_action( 'getpaid_authenticated_admin_action_download_customers', array( $this, 'admin_download_customers' ) );
76
-		add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) );
77
-		add_action( 'getpaid_authenticated_admin_action_install_plugin', array( $this, 'admin_install_plugin' ) );
78
-		add_action( 'getpaid_authenticated_admin_action_connect_gateway', array( $this, 'admin_connect_gateway' ) );
79
-		add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) );
80
-		do_action( 'getpaid_init_admin_hooks', $this );
57
+        add_action('admin_enqueue_scripts', array($this, 'enqeue_scripts'), 9);
58
+        add_filter('admin_body_class', array($this, 'admin_body_class'));
59
+        add_action('admin_init', array($this, 'init_ayecode_connect_helper'));
60
+        add_action('admin_init', array($this, 'activation_redirect'));
61
+        add_action('admin_init', array($this, 'maybe_do_admin_action'));
62
+		add_action('admin_notices', array($this, 'show_notices'));
63
+		add_action('getpaid_authenticated_admin_action_rate_plugin', array($this, 'redirect_to_wordpress_rating_page'));
64
+		add_action('getpaid_authenticated_admin_action_duplicate_form', array($this, 'duplicate_payment_form'));
65
+		add_action('getpaid_authenticated_admin_action_reset_form_stats', array($this, 'reset_form_stats'));
66
+		add_action('getpaid_authenticated_admin_action_duplicate_invoice', array($this, 'duplicate_invoice'));
67
+		add_action('getpaid_authenticated_admin_action_refund_invoice', array($this, 'refund_invoice'));
68
+		add_action('getpaid_authenticated_admin_action_send_invoice', array($this, 'send_customer_invoice'));
69
+		add_action('getpaid_authenticated_admin_action_send_invoice_reminder', array($this, 'send_customer_payment_reminder'));
70
+        add_action('getpaid_authenticated_admin_action_reset_tax_rates', array($this, 'admin_reset_tax_rates'));
71
+		add_action('getpaid_authenticated_admin_action_create_missing_pages', array($this, 'admin_create_missing_pages'));
72
+		add_action('getpaid_authenticated_admin_action_refresh_permalinks', array($this, 'admin_refresh_permalinks'));
73
+		add_action('getpaid_authenticated_admin_action_create_missing_tables', array($this, 'admin_create_missing_tables'));
74
+		add_action('getpaid_authenticated_admin_action_migrate_old_invoices', array($this, 'admin_migrate_old_invoices'));
75
+		add_action('getpaid_authenticated_admin_action_download_customers', array($this, 'admin_download_customers'));
76
+		add_action('getpaid_authenticated_admin_action_recalculate_discounts', array($this, 'admin_recalculate_discounts'));
77
+		add_action('getpaid_authenticated_admin_action_install_plugin', array($this, 'admin_install_plugin'));
78
+		add_action('getpaid_authenticated_admin_action_connect_gateway', array($this, 'admin_connect_gateway'));
79
+		add_filter('admin_footer_text', array($this, 'admin_footer_text'));
80
+		do_action('getpaid_init_admin_hooks', $this);
81 81
 
82 82
 		// Setup/welcome
83
-		if ( ! empty( $_GET['page'] ) ) {
84
-			switch ( sanitize_text_field( $_GET['page'] ) ) {
83
+		if (!empty($_GET['page'])) {
84
+			switch (sanitize_text_field($_GET['page'])) {
85 85
 				case 'gp-setup':
86
-					include_once dirname( __FILE__ ) . '/class-getpaid-admin-setup-wizard.php';
86
+					include_once dirname(__FILE__) . '/class-getpaid-admin-setup-wizard.php';
87 87
 					break;
88 88
 			}
89 89
 		}
@@ -97,37 +97,37 @@  discard block
 block discarded – undo
97 97
 	public function enqeue_scripts() {
98 98
         global $current_screen, $pagenow;
99 99
 
100
-		$page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
100
+		$page    = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : '';
101 101
 		$editing = $pagenow == 'post.php' || $pagenow == 'post-new.php';
102 102
 
103
-        if ( ! empty( $current_screen->post_type ) ) {
103
+        if (!empty($current_screen->post_type)) {
104 104
 			$page = $current_screen->post_type;
105 105
         }
106 106
 
107 107
         // General styles.
108
-        if ( false !== stripos( $page, 'wpi' ) || false !== stripos( $page, 'getpaid' ) || 'gp-setup' == $page || false !== stripos( $page, 'geodir-tickets' ) ) {
108
+        if (false !== stripos($page, 'wpi') || false !== stripos($page, 'getpaid') || 'gp-setup' == $page || false !== stripos($page, 'geodir-tickets')) {
109 109
 
110 110
             // Styles.
111
-            $version = filemtime( WPINV_PLUGIN_DIR . 'assets/css/admin.css' );
112
-            wp_enqueue_style( 'wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array( 'wp-color-picker' ), $version );
113
-            wp_enqueue_style( 'select2', WPINV_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), '4.0.13', 'all' );
111
+            $version = filemtime(WPINV_PLUGIN_DIR . 'assets/css/admin.css');
112
+            wp_enqueue_style('wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array('wp-color-picker'), $version);
113
+            wp_enqueue_style('select2', WPINV_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), '4.0.13', 'all');
114 114
 
115 115
             // Scripts.
116
-            wp_enqueue_script( 'select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full.min.js', array( 'jquery' ), WPINV_VERSION );
116
+            wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full.min.js', array('jquery'), WPINV_VERSION);
117 117
 
118
-            $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin.js' );
119
-            wp_enqueue_script( 'wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array( 'jquery', 'wp-color-picker', 'jquery-ui-tooltip' ), $version );
120
-            wp_localize_script( 'wpinv-admin-script', 'WPInv_Admin', apply_filters( 'wpinv_admin_js_localize', $this->get_admin_i18() ) );
118
+            $version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/admin.js');
119
+            wp_enqueue_script('wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array('jquery', 'wp-color-picker', 'jquery-ui-tooltip'), $version);
120
+            wp_localize_script('wpinv-admin-script', 'WPInv_Admin', apply_filters('wpinv_admin_js_localize', $this->get_admin_i18()));
121 121
 
122 122
         }
123 123
 
124 124
         // Payment form scripts.
125
-		if ( 'wpi_payment_form' == $page && $editing ) {
125
+		if ('wpi_payment_form' == $page && $editing) {
126 126
             $this->load_payment_form_scripts();
127 127
         }
128 128
 
129
-		if ( $page == 'wpinv-subscriptions' ) {
130
-			wp_enqueue_script( 'postbox' );
129
+		if ($page == 'wpinv-subscriptions') {
130
+			wp_enqueue_script('postbox');
131 131
 		}
132 132
 
133 133
     }
@@ -140,31 +140,31 @@  discard block
 block discarded – undo
140 140
         global $post;
141 141
 
142 142
 		$date_range = array(
143
-			'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days',
143
+			'period' => isset($_GET['date_range']) ? sanitize_text_field($_GET['date_range']) : '7_days',
144 144
 		);
145 145
 
146
-		if ( $date_range['period'] == 'custom' ) {
146
+		if ($date_range['period'] == 'custom') {
147 147
 
148
-			if ( isset( $_GET['from'] ) ) {
149
-				$date_range['after'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS );
148
+			if (isset($_GET['from'])) {
149
+				$date_range['after'] = date('Y-m-d', strtotime(sanitize_text_field($_GET['from']), current_time('timestamp')) - DAY_IN_SECONDS);
150 150
 			}
151 151
 
152
-			if ( isset( $_GET['to'] ) ) {
153
-				$date_range['before'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS );
152
+			if (isset($_GET['to'])) {
153
+				$date_range['before'] = date('Y-m-d', strtotime(sanitize_text_field($_GET['to']), current_time('timestamp')) + DAY_IN_SECONDS);
154 154
 			}
155 155
 }
156 156
 
157 157
         $i18n = array(
158
-            'ajax_url'                  => admin_url( 'admin-ajax.php' ),
159
-            'post_ID'                   => isset( $post->ID ) ? $post->ID : '',
160
-			'wpinv_nonce'               => wp_create_nonce( 'wpinv-nonce' ),
161
-			'rest_nonce'                => wp_create_nonce( 'wp_rest' ),
162
-			'rest_root'                 => esc_url_raw( rest_url() ),
158
+            'ajax_url'                  => admin_url('admin-ajax.php'),
159
+            'post_ID'                   => isset($post->ID) ? $post->ID : '',
160
+			'wpinv_nonce'               => wp_create_nonce('wpinv-nonce'),
161
+			'rest_nonce'                => wp_create_nonce('wp_rest'),
162
+			'rest_root'                 => esc_url_raw(rest_url()),
163 163
 			'date_range'                => $date_range,
164
-            'add_invoice_note_nonce'    => wp_create_nonce( 'add-invoice-note' ),
165
-            'delete_invoice_note_nonce' => wp_create_nonce( 'delete-invoice-note' ),
166
-            'invoice_item_nonce'        => wp_create_nonce( 'invoice-item' ),
167
-            'billing_details_nonce'     => wp_create_nonce( 'get-billing-details' ),
164
+            'add_invoice_note_nonce'    => wp_create_nonce('add-invoice-note'),
165
+            'delete_invoice_note_nonce' => wp_create_nonce('delete-invoice-note'),
166
+            'invoice_item_nonce'        => wp_create_nonce('invoice-item'),
167
+            'billing_details_nonce'     => wp_create_nonce('get-billing-details'),
168 168
             'tax'                       => wpinv_tax_amount(),
169 169
             'discount'                  => 0,
170 170
 			'currency_symbol'           => wpinv_currency_symbol(),
@@ -173,39 +173,39 @@  discard block
 block discarded – undo
173 173
             'thousand_sep'              => wpinv_thousands_separator(),
174 174
             'decimal_sep'               => wpinv_decimal_separator(),
175 175
             'decimals'                  => wpinv_decimals(),
176
-            'save_invoice'              => __( 'Save Invoice', 'invoicing' ),
177
-            'status_publish'            => wpinv_status_nicename( 'publish' ),
178
-            'status_pending'            => wpinv_status_nicename( 'wpi-pending' ),
179
-            'delete_tax_rate'           => __( 'Are you sure you wish to delete this tax rate?', 'invoicing' ),
180
-            'status_pending'            => wpinv_status_nicename( 'wpi-pending' ),
181
-            'FillBillingDetails'        => __( 'Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing' ),
182
-            'confirmCalcTotals'         => __( 'Recalculate totals? This will recalculate totals based on the user billing country. If no billing country is set it will use the base country.', 'invoicing' ),
183
-            'AreYouSure'                => __( 'Are you sure?', 'invoicing' ),
184
-            'errDeleteItem'             => __( 'This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing' ),
185
-            'delete_subscription'       => __( 'Are you sure you want to delete this subscription?', 'invoicing' ),
186
-            'action_edit'               => __( 'Edit', 'invoicing' ),
187
-            'action_cancel'             => __( 'Cancel', 'invoicing' ),
188
-            'item_description'          => __( 'Item Description', 'invoicing' ),
189
-            'invoice_description'       => __( 'Invoice Description', 'invoicing' ),
190
-            'discount_description'      => __( 'Discount Description', 'invoicing' ),
191
-			'searching'                 => __( 'Searching', 'invoicing' ),
192
-			'loading'                   => __( 'Loading...', 'invoicing' ),
193
-			'search_customers'          => __( 'Enter customer name or email', 'invoicing' ),
194
-			'search_items'              => __( 'Enter item name', 'invoicing' ),
195
-			'graphs'                    => array_merge( array( 'refunded_fees', 'refunded_items', 'refunded_subtotal', 'refunded_tax' ), array_keys( wpinv_get_report_graphs() ) ),
176
+            'save_invoice'              => __('Save Invoice', 'invoicing'),
177
+            'status_publish'            => wpinv_status_nicename('publish'),
178
+            'status_pending'            => wpinv_status_nicename('wpi-pending'),
179
+            'delete_tax_rate'           => __('Are you sure you wish to delete this tax rate?', 'invoicing'),
180
+            'status_pending'            => wpinv_status_nicename('wpi-pending'),
181
+            'FillBillingDetails'        => __('Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing'),
182
+            'confirmCalcTotals'         => __('Recalculate totals? This will recalculate totals based on the user billing country. If no billing country is set it will use the base country.', 'invoicing'),
183
+            'AreYouSure'                => __('Are you sure?', 'invoicing'),
184
+            'errDeleteItem'             => __('This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing'),
185
+            'delete_subscription'       => __('Are you sure you want to delete this subscription?', 'invoicing'),
186
+            'action_edit'               => __('Edit', 'invoicing'),
187
+            'action_cancel'             => __('Cancel', 'invoicing'),
188
+            'item_description'          => __('Item Description', 'invoicing'),
189
+            'invoice_description'       => __('Invoice Description', 'invoicing'),
190
+            'discount_description'      => __('Discount Description', 'invoicing'),
191
+			'searching'                 => __('Searching', 'invoicing'),
192
+			'loading'                   => __('Loading...', 'invoicing'),
193
+			'search_customers'          => __('Enter customer name or email', 'invoicing'),
194
+			'search_items'              => __('Enter item name', 'invoicing'),
195
+			'graphs'                    => array_merge(array('refunded_fees', 'refunded_items', 'refunded_subtotal', 'refunded_tax'), array_keys(wpinv_get_report_graphs())),
196 196
         );
197 197
 
198
-		if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) {
198
+		if (!empty($post) && getpaid_is_invoice_post_type($post->post_type)) {
199 199
 
200
-			$invoice              = new WPInv_Invoice( $post );
200
+			$invoice              = new WPInv_Invoice($post);
201 201
 			$i18n['save_invoice'] = sprintf(
202
-				__( 'Save %s', 'invoicing' ),
203
-				ucfirst( $invoice->get_invoice_quote_type() )
202
+				__('Save %s', 'invoicing'),
203
+				ucfirst($invoice->get_invoice_quote_type())
204 204
 			);
205 205
 
206 206
 			$i18n['invoice_description'] = sprintf(
207
-				__( '%s Description', 'invoicing' ),
208
-				ucfirst( $invoice->get_invoice_quote_type() )
207
+				__('%s Description', 'invoicing'),
208
+				ucfirst($invoice->get_invoice_quote_type())
209 209
 			);
210 210
 
211 211
 		}
@@ -219,24 +219,24 @@  discard block
 block discarded – undo
219 219
 	 * @param  string $footer_text
220 220
 	 * @return string
221 221
 	 */
222
-	public function admin_footer_text( $footer_text ) {
222
+	public function admin_footer_text($footer_text) {
223 223
 		global $current_screen;
224 224
 
225
-		$page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
225
+		$page = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : '';
226 226
 
227
-        if ( ! empty( $current_screen->post_type ) ) {
227
+        if (!empty($current_screen->post_type)) {
228 228
 			$page = $current_screen->post_type;
229 229
         }
230 230
 
231 231
         // General styles.
232
-        if ( apply_filters( 'getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing() ) && false !== stripos( $page, 'wpi' ) ) {
232
+        if (apply_filters('getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing()) && false !== stripos($page, 'wpi')) {
233 233
 
234 234
 			// Change the footer text
235
-			if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) {
235
+			if (!get_user_meta(get_current_user_id(), 'getpaid_admin_footer_text_rated', true)) {
236 236
 
237
-				$rating_url  = esc_url(
237
+				$rating_url = esc_url(
238 238
 					wp_nonce_url(
239
-						admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ),
239
+						admin_url('admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin'),
240 240
 						'getpaid-nonce',
241 241
 						'getpaid-nonce'
242 242
                     )
@@ -244,7 +244,7 @@  discard block
 block discarded – undo
244 244
 
245 245
 				$footer_text = sprintf(
246 246
 					/* translators: %s: five stars */
247
-					__( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ),
247
+					__('If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing'),
248 248
 					"<a href='$rating_url'>&#9733;&#9733;&#9733;&#9733;&#9733;</a>"
249 249
 				);
250 250
 
@@ -252,7 +252,7 @@  discard block
 block discarded – undo
252 252
 
253 253
 				$footer_text = sprintf(
254 254
 					/* translators: %s: GetPaid */
255
-					__( 'Thank you for using %s!', 'invoicing' ),
255
+					__('Thank you for using %s!', 'invoicing'),
256 256
 					"<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>"
257 257
 				);
258 258
 
@@ -268,8 +268,8 @@  discard block
 block discarded – undo
268 268
 	 * @since  2.0.0
269 269
 	 */
270 270
 	public function redirect_to_wordpress_rating_page() {
271
-		update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 );
272
-		wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' );
271
+		update_user_meta(get_current_user_id(), 'getpaid_admin_footer_text_rated', 1);
272
+		wp_redirect('https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post');
273 273
 		exit;
274 274
 	}
275 275
 
@@ -280,29 +280,29 @@  discard block
 block discarded – undo
280 280
 	protected function load_payment_form_scripts() {
281 281
         global $post;
282 282
 
283
-        wp_enqueue_script( 'vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.min.js', array(), WPINV_VERSION );
284
-		wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION );
285
-		wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION );
283
+        wp_enqueue_script('vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.min.js', array(), WPINV_VERSION);
284
+		wp_enqueue_script('sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION);
285
+		wp_enqueue_script('vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array('sortable', 'vue'), WPINV_VERSION);
286 286
 
287
-		wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.min.js', array( 'wpinv-admin-script', 'vue_draggable', 'wp-hooks' ), WPINV_VERSION );
287
+		wp_register_script('wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.min.js', array('wpinv-admin-script', 'vue_draggable', 'wp-hooks'), WPINV_VERSION);
288 288
 
289 289
 		wp_localize_script(
290 290
             'wpinv-admin-payment-form-script',
291 291
             'wpinvPaymentFormAdmin',
292 292
             array(
293
-				'elements'      => wpinv_get_data( 'payment-form-elements' ),
294
-				'form_elements' => getpaid_get_payment_form_elements( $post->ID ),
293
+				'elements'      => wpinv_get_data('payment-form-elements'),
294
+				'form_elements' => getpaid_get_payment_form_elements($post->ID),
295 295
 				'currency'      => wpinv_currency_symbol(),
296 296
 				'position'      => wpinv_currency_position(),
297 297
 				'decimals'      => (int) wpinv_decimals(),
298 298
 				'thousands_sep' => wpinv_thousands_separator(),
299 299
 				'decimals_sep'  => wpinv_decimal_separator(),
300
-				'form_items'    => gepaid_get_form_items( $post->ID ),
300
+				'form_items'    => gepaid_get_form_items($post->ID),
301 301
 				'is_default'    => $post->ID == wpinv_get_default_payment_form(),
302 302
             )
303 303
         );
304 304
 
305
-        wp_enqueue_script( 'wpinv-admin-payment-form-script' );
305
+        wp_enqueue_script('wpinv-admin-payment-form-script');
306 306
 
307 307
     }
308 308
 
@@ -313,24 +313,24 @@  discard block
 block discarded – undo
313 313
      * @return string
314 314
 	 *
315 315
 	 */
316
-    public function admin_body_class( $classes ) {
316
+    public function admin_body_class($classes) {
317 317
 		global $pagenow, $post, $current_screen;
318 318
 
319
-        $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
319
+        $page = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : '';
320 320
 
321
-        if ( ! empty( $current_screen->post_type ) ) {
321
+        if (!empty($current_screen->post_type)) {
322 322
 			$page = $current_screen->post_type;
323 323
         }
324 324
 
325
-        if ( false !== stripos( $page, 'wpi' ) ) {
326
-            $classes .= ' wpi-' . sanitize_key( $page );
325
+        if (false !== stripos($page, 'wpi')) {
326
+            $classes .= ' wpi-' . sanitize_key($page);
327 327
         }
328 328
 
329
-        if ( in_array( $page, wpinv_parse_list( 'wpi_invoice wpi_payment_form wpi_quote' ) ) ) {
329
+        if (in_array($page, wpinv_parse_list('wpi_invoice wpi_payment_form wpi_quote'))) {
330 330
             $classes .= ' wpinv-cpt wpinv';
331 331
 		}
332 332
 
333
-		if ( getpaid_is_invoice_post_type( $page ) ) {
333
+		if (getpaid_is_invoice_post_type($page)) {
334 334
             $classes .= ' getpaid-is-invoice-cpt';
335 335
         }
336 336
 
@@ -349,21 +349,21 @@  discard block
 block discarded – undo
349 349
 				'version'           => WPINV_VERSION,
350 350
 				'support_url'       => 'https://wpgetpaid.com/support/',
351 351
 				'documentation_url' => 'https://docs.wpgetpaid.com/',
352
-				'activated'         => (int) get_option( 'gepaid_installed_on' ),
352
+				'activated'         => (int) get_option('gepaid_installed_on'),
353 353
             )
354 354
         );
355 355
 
356 356
         new AyeCode_Connect_Helper(
357 357
             array(
358
-				'connect_title'     => __( 'WP Invoicing - an AyeCode product!', 'invoicing' ),
359
-				'connect_external'  => __( 'Please confirm you wish to connect your site?', 'invoicing' ),
360
-				'connect'           => sprintf( __( '<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %1$slearn more%2$s', 'invoicing' ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", '</a>' ),
361
-				'connect_button'    => __( 'Connect Site', 'invoicing' ),
362
-				'connecting_button' => __( 'Connecting...', 'invoicing' ),
363
-				'error_localhost'   => __( 'This service will only work with a live domain, not a localhost.', 'invoicing' ),
364
-				'error'             => __( 'Something went wrong, please refresh and try again.', 'invoicing' ),
358
+				'connect_title'     => __('WP Invoicing - an AyeCode product!', 'invoicing'),
359
+				'connect_external'  => __('Please confirm you wish to connect your site?', 'invoicing'),
360
+				'connect'           => sprintf(__('<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %1$slearn more%2$s', 'invoicing'), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", '</a>'),
361
+				'connect_button'    => __('Connect Site', 'invoicing'),
362
+				'connecting_button' => __('Connecting...', 'invoicing'),
363
+				'error_localhost'   => __('This service will only work with a live domain, not a localhost.', 'invoicing'),
364
+				'error'             => __('Something went wrong, please refresh and try again.', 'invoicing'),
365 365
             ),
366
-            array( 'wpi-addons' )
366
+            array('wpi-addons')
367 367
         );
368 368
 
369 369
     }
@@ -375,20 +375,20 @@  discard block
 block discarded – undo
375 375
 	 */
376 376
 	public function activation_redirect() {
377 377
 
378
-		$redirected = get_option( 'wpinv_redirected_to_settings' );
378
+		$redirected = get_option('wpinv_redirected_to_settings');
379 379
 
380
-		if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) {
380
+		if (!empty($redirected) || wp_doing_ajax() || !current_user_can('manage_options')) {
381 381
 			return;
382 382
 		}
383 383
 
384 384
 		// Bail if activating from network, or bulk
385
-		if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
385
+		if (is_network_admin() || isset($_GET['activate-multi'])) {
386 386
 			return;
387 387
 		}
388 388
 
389
-	    update_option( 'wpinv_redirected_to_settings', 1 );
389
+	    update_option('wpinv_redirected_to_settings', 1);
390 390
 
391
-        wp_safe_redirect( admin_url( 'index.php?page=gp-setup' ) );
391
+        wp_safe_redirect(admin_url('index.php?page=gp-setup'));
392 392
         exit;
393 393
 
394 394
 	}
@@ -397,10 +397,10 @@  discard block
 block discarded – undo
397 397
      * Fires an admin action after verifying that a user can fire them.
398 398
      */
399 399
     public function maybe_do_admin_action() {
400
-        if ( isset( $_REQUEST['getpaid-admin-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) && wpinv_current_user_can( sanitize_text_field( $_REQUEST['getpaid-admin-action'] ), $_REQUEST ) ) {
401
-            $key = sanitize_key( $_REQUEST['getpaid-admin-action'] );
400
+        if (isset($_REQUEST['getpaid-admin-action']) && isset($_REQUEST['getpaid-nonce']) && wp_verify_nonce($_REQUEST['getpaid-nonce'], 'getpaid-nonce') && wpinv_current_user_can(sanitize_text_field($_REQUEST['getpaid-admin-action']), $_REQUEST)) {
401
+            $key = sanitize_key($_REQUEST['getpaid-admin-action']);
402 402
 
403
-            do_action( "getpaid_authenticated_admin_action_$key", $_REQUEST );
403
+            do_action("getpaid_authenticated_admin_action_$key", $_REQUEST);
404 404
         }
405 405
     }
406 406
 
@@ -409,24 +409,24 @@  discard block
 block discarded – undo
409 409
 	 *
410 410
 	 * @param array $args
411 411
      */
412
-    public function duplicate_invoice( $args ) {
412
+    public function duplicate_invoice($args) {
413 413
 
414
-		if ( empty( $args['invoice_id'] ) ) {
414
+		if (empty($args['invoice_id'])) {
415 415
 			return;
416 416
 		}
417 417
 
418
-		$invoice = new WPInv_Invoice( (int) $args['invoice_id'] );
418
+		$invoice = new WPInv_Invoice((int) $args['invoice_id']);
419 419
 
420
-		if ( ! $invoice->exists() ) {
420
+		if (!$invoice->exists()) {
421 421
 			return;
422 422
 		}
423 423
 
424
-		$new_invoice = getpaid_duplicate_invoice( $invoice );
424
+		$new_invoice = getpaid_duplicate_invoice($invoice);
425 425
 		$new_invoice->save();
426 426
 
427
-		if ( $new_invoice->exists() ) {
427
+		if ($new_invoice->exists()) {
428 428
 
429
-			getpaid_admin()->show_success( __( 'Invoice duplicated successfully.', 'invoicing' ) );
429
+			getpaid_admin()->show_success(__('Invoice duplicated successfully.', 'invoicing'));
430 430
 
431 431
 			wp_safe_redirect(
432 432
 				add_query_arg(
@@ -434,14 +434,14 @@  discard block
 block discarded – undo
434 434
 						'action' => 'edit',
435 435
 						'post'   => $new_invoice->get_id(),
436 436
 					),
437
-					admin_url( 'post.php' )
437
+					admin_url('post.php')
438 438
 				)
439 439
 			);
440 440
 			exit;
441 441
 
442 442
 		}
443 443
 
444
-		getpaid_admin()->show_error( __( 'There was an error duplicating this invoice. Please try again.', 'invoicing' ) );
444
+		getpaid_admin()->show_error(__('There was an error duplicating this invoice. Please try again.', 'invoicing'));
445 445
 
446 446
 	}
447 447
 
@@ -450,40 +450,40 @@  discard block
 block discarded – undo
450 450
 	 *
451 451
 	 * @param array $args
452 452
      */
453
-    public function refund_invoice( $args ) {
453
+    public function refund_invoice($args) {
454 454
 
455
-		if ( empty( $args['invoice_id'] ) ) {
455
+		if (empty($args['invoice_id'])) {
456 456
 			return;
457 457
 		}
458 458
 
459
-		$invoice = new WPInv_Invoice( (int) $args['invoice_id'] );
459
+		$invoice = new WPInv_Invoice((int) $args['invoice_id']);
460 460
 
461
-		if ( ! $invoice->exists() || $invoice->is_refunded() ) {
461
+		if (!$invoice->exists() || $invoice->is_refunded()) {
462 462
 			return;
463 463
 		}
464 464
 
465 465
 		$invoice->refund();
466 466
 
467 467
 		// Refund remotely.
468
-		if ( getpaid_payment_gateway_supports( $invoice->get_gateway(), 'refunds' ) && ! empty( $args['getpaid_refund_remote'] ) ) {
469
-			do_action( 'getpaid_refund_invoice_remotely', $invoice );
468
+		if (getpaid_payment_gateway_supports($invoice->get_gateway(), 'refunds') && !empty($args['getpaid_refund_remote'])) {
469
+			do_action('getpaid_refund_invoice_remotely', $invoice);
470 470
 		}
471 471
 
472 472
 		// Cancel subscriptions.
473
-		if ( ! empty( $args['getpaid_cancel_subscription'] ) ) {
474
-			$subscriptions = getpaid_get_invoice_subscriptions( $invoice );
473
+		if (!empty($args['getpaid_cancel_subscription'])) {
474
+			$subscriptions = getpaid_get_invoice_subscriptions($invoice);
475 475
 
476
-			if ( ! empty( $subscriptions ) ) {
477
-				if ( ! is_array( $subscriptions ) ) {
478
-					$subscriptions = array( $subscriptions );
476
+			if (!empty($subscriptions)) {
477
+				if (!is_array($subscriptions)) {
478
+					$subscriptions = array($subscriptions);
479 479
 				}
480 480
 
481
-				foreach ( $subscriptions as $subscription ) {
481
+				foreach ($subscriptions as $subscription) {
482 482
 					$subscription->cancel();
483 483
 					$invoice->add_system_note(
484 484
 						sprintf(
485 485
 							// translators: %s: subscription ID.
486
-							__( 'Subscription #%s cancelled', 'invoicing' ),
486
+							__('Subscription #%s cancelled', 'invoicing'),
487 487
 							$subscription->get_id()
488 488
 						)
489 489
 					);
@@ -492,11 +492,11 @@  discard block
 block discarded – undo
492 492
 		}
493 493
 
494 494
 		// Add notice.
495
-		$this->show_success( __( 'Invoice refunded successfully.', 'invoicing' ) );
495
+		$this->show_success(__('Invoice refunded successfully.', 'invoicing'));
496 496
 
497 497
 		// Redirect.
498 498
 		wp_safe_redirect(
499
-			remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id', 'getpaid_cancel_subscription', 'getpaid_refund_remote' ) )
499
+			remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce', 'invoice_id', 'getpaid_cancel_subscription', 'getpaid_refund_remote'))
500 500
 		);
501 501
 	}
502 502
 
@@ -505,34 +505,34 @@  discard block
 block discarded – undo
505 505
 	 *
506 506
 	 * @param array $args
507 507
      */
508
-    public function duplicate_payment_form( $args ) {
508
+    public function duplicate_payment_form($args) {
509 509
 
510
-		if ( empty( $args['form_id'] ) ) {
510
+		if (empty($args['form_id'])) {
511 511
 			return;
512 512
 		}
513 513
 
514
-		$form = new GetPaid_Payment_Form( (int) $args['form_id'] );
514
+		$form = new GetPaid_Payment_Form((int) $args['form_id']);
515 515
 
516
-		if ( ! $form->exists() ) {
516
+		if (!$form->exists()) {
517 517
 			return;
518 518
 		}
519 519
 
520 520
 		$new_form = new GetPaid_Payment_Form();
521
-		$new_form->set_author( $form->get_author( 'edit' ) );
522
-		$new_form->set_name( $form->get_name( 'edit' ) . __( '(copy)', 'invoicing' ) );
523
-		$new_form->set_elements( $form->get_elements( 'edit' ) );
524
-		$new_form->set_items( $form->get_items( 'edit' ) );
521
+		$new_form->set_author($form->get_author('edit'));
522
+		$new_form->set_name($form->get_name('edit') . __('(copy)', 'invoicing'));
523
+		$new_form->set_elements($form->get_elements('edit'));
524
+		$new_form->set_items($form->get_items('edit'));
525 525
 		$new_form->save();
526 526
 
527
-		if ( $new_form->exists() ) {
528
-			$this->show_success( __( 'Form duplicated successfully', 'invoicing' ) );
529
-			$url = get_edit_post_link( $new_form->get_id(), 'edit' );
527
+		if ($new_form->exists()) {
528
+			$this->show_success(__('Form duplicated successfully', 'invoicing'));
529
+			$url = get_edit_post_link($new_form->get_id(), 'edit');
530 530
 		} else {
531
-			$this->show_error( __( 'Unable to duplicate form', 'invoicing' ) );
532
-			$url = remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) );
531
+			$this->show_error(__('Unable to duplicate form', 'invoicing'));
532
+			$url = remove_query_arg(array('getpaid-admin-action', 'form_id', 'getpaid-nonce'));
533 533
 		}
534 534
 
535
-		wp_redirect( $url );
535
+		wp_redirect($url);
536 536
 		exit;
537 537
 	}
538 538
 
@@ -541,27 +541,27 @@  discard block
 block discarded – undo
541 541
 	 *
542 542
 	 * @param array $args
543 543
      */
544
-    public function reset_form_stats( $args ) {
544
+    public function reset_form_stats($args) {
545 545
 
546
-		if ( empty( $args['form_id'] ) ) {
546
+		if (empty($args['form_id'])) {
547 547
 			return;
548 548
 		}
549 549
 
550
-		$form = new GetPaid_Payment_Form( (int) $args['form_id'] );
550
+		$form = new GetPaid_Payment_Form((int) $args['form_id']);
551 551
 
552
-		if ( ! $form->exists() ) {
552
+		if (!$form->exists()) {
553 553
 			return;
554 554
 		}
555 555
 
556
-		$form->set_earned( 0 );
557
-		$form->set_refunded( 0 );
558
-		$form->set_cancelled( 0 );
559
-		$form->set_failed( 0 );
556
+		$form->set_earned(0);
557
+		$form->set_refunded(0);
558
+		$form->set_cancelled(0);
559
+		$form->set_failed(0);
560 560
 		$form->save();
561 561
 
562
-		$this->show_success( __( 'Form stats reset successfully', 'invoicing' ) );
562
+		$this->show_success(__('Form stats reset successfully', 'invoicing'));
563 563
 
564
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) ) );
564
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'form_id', 'getpaid-nonce')));
565 565
 		exit;
566 566
 	}
567 567
 
@@ -570,9 +570,9 @@  discard block
 block discarded – undo
570 570
 	 *
571 571
 	 * @param array $args
572 572
      */
573
-    public function send_customer_invoice( $args ) {
574
-		getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true );
575
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
573
+    public function send_customer_invoice($args) {
574
+		getpaid()->get('invoice_emails')->user_invoice(new WPInv_Invoice($args['invoice_id']), true);
575
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce', 'invoice_id')));
576 576
 		exit;
577 577
 	}
578 578
 
@@ -581,16 +581,16 @@  discard block
 block discarded – undo
581 581
 	 *
582 582
 	 * @param array $args
583 583
      */
584
-    public function send_customer_payment_reminder( $args ) {
585
-		$sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) );
584
+    public function send_customer_payment_reminder($args) {
585
+		$sent = getpaid()->get('invoice_emails')->force_send_overdue_notice(new WPInv_Invoice($args['invoice_id']));
586 586
 
587
-		if ( $sent ) {
588
-			$this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) );
587
+		if ($sent) {
588
+			$this->show_success(__('Payment reminder was successfully sent to the customer', 'invoicing'));
589 589
 		} else {
590
-			$this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) );
590
+			$this->show_error(__('Could not sent payment reminder to the customer', 'invoicing'));
591 591
 		}
592 592
 
593
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
593
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce', 'invoice_id')));
594 594
 		exit;
595 595
 	}
596 596
 
@@ -600,8 +600,8 @@  discard block
 block discarded – undo
600 600
      */
601 601
     public function admin_reset_tax_rates() {
602 602
 
603
-		update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
604
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
603
+		update_option('wpinv_tax_rates', wpinv_get_data('tax-rates'));
604
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
605 605
 		exit;
606 606
 
607 607
 	}
@@ -613,8 +613,8 @@  discard block
 block discarded – undo
613 613
     public function admin_create_missing_pages() {
614 614
 		$installer = new GetPaid_Installer();
615 615
 		$installer->create_pages();
616
-		$this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) );
617
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
616
+		$this->show_success(__('GetPaid pages updated.', 'invoicing'));
617
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
618 618
 		exit;
619 619
 	}
620 620
 
@@ -623,8 +623,8 @@  discard block
 block discarded – undo
623 623
 	 */
624 624
 	public function admin_refresh_permalinks() {
625 625
 		flush_rewrite_rules();
626
-		$this->show_success( __( 'Permalinks refreshed.', 'invoicing' ) );
627
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
626
+		$this->show_success(__('Permalinks refreshed.', 'invoicing'));
627
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
628 628
 		exit;
629 629
 	}
630 630
 
@@ -638,13 +638,13 @@  discard block
 block discarded – undo
638 638
 		GetPaid_Installer::create_db_tables();
639 639
 		GetPaid_Installer::migrate_old_customers();
640 640
 
641
-		if ( '' !== $wpdb->last_error ) {
642
-			$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
641
+		if ('' !== $wpdb->last_error) {
642
+			$this->show_error(__('Your GetPaid tables have been updated:', 'invoicing') . ' ' . $wpdb->last_error);
643 643
 		} else {
644
-			$this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) );
644
+			$this->show_success(__('Your GetPaid tables have been updated.', 'invoicing'));
645 645
 		}
646 646
 
647
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
647
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
648 648
 		exit;
649 649
 	}
650 650
 
@@ -659,10 +659,10 @@  discard block
 block discarded – undo
659 659
 		$installer->migrate_old_invoices();
660 660
 
661 661
 		// Show an admin message.
662
-		$this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) );
662
+		$this->show_success(__('Your invoices have been migrated.', 'invoicing'));
663 663
 
664 664
 		// Redirect the admin.
665
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
665
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
666 666
 		exit;
667 667
 
668 668
 	}
@@ -673,35 +673,35 @@  discard block
 block discarded – undo
673 673
      */
674 674
     public function admin_download_customers() {
675 675
 
676
-		$output = fopen( 'php://output', 'w' );
676
+		$output = fopen('php://output', 'w');
677 677
 
678
-		if ( false === $output ) {
679
-			wp_die( esc_html__( 'Unsupported server', 'invoicing' ), 500 );
678
+		if (false === $output) {
679
+			wp_die(esc_html__('Unsupported server', 'invoicing'), 500);
680 680
 		}
681 681
 
682
-		header( 'Content-Type:text/csv' );
683
-		header( 'Content-Disposition:attachment;filename=customers.csv' );
682
+		header('Content-Type:text/csv');
683
+		header('Content-Disposition:attachment;filename=customers.csv');
684 684
 
685 685
 		/** @var GetPaid_Customer[] $customers */
686
-		$customers = getpaid_get_customers( array( 'number' => -1 ) );
687
-		$columns   = array_keys( GetPaid_Customer_Data_Store::get_database_fields() );
686
+		$customers = getpaid_get_customers(array('number' => -1));
687
+		$columns   = array_keys(GetPaid_Customer_Data_Store::get_database_fields());
688 688
 
689 689
 		// Output the csv column headers.
690
-		fputcsv( $output, $columns );
690
+		fputcsv($output, $columns);
691 691
 
692 692
 		// Loop through
693
-		foreach ( $customers as $customer ) {
693
+		foreach ($customers as $customer) {
694 694
 
695
-			$row  = array();
695
+			$row = array();
696 696
 
697
-			foreach ( $columns as $column ) {
698
-				$row[]  = (string) maybe_serialize( $customer->get( $column, 'edit' ) );
697
+			foreach ($columns as $column) {
698
+				$row[] = (string) maybe_serialize($customer->get($column, 'edit'));
699 699
 			}
700 700
 
701
-			fputcsv( $output, $row );
701
+			fputcsv($output, $row);
702 702
 		}
703 703
 
704
-		fclose( $output );
704
+		fclose($output);
705 705
 		exit;
706 706
 
707 707
 	}
@@ -711,27 +711,27 @@  discard block
 block discarded – undo
711 711
 	 *
712 712
 	 * @param array $data
713 713
      */
714
-    public function admin_install_plugin( $data ) {
714
+    public function admin_install_plugin($data) {
715 715
 
716
-		if ( ! empty( $data['plugins'] ) ) {
716
+		if (!empty($data['plugins'])) {
717 717
 			include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
718 718
 			wp_cache_flush();
719 719
 
720
-			foreach ( $data['plugins'] as $slug => $file ) {
721
-				$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' );
722
-				$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
723
-				$installed  = $upgrader->install( $plugin_zip );
720
+			foreach ($data['plugins'] as $slug => $file) {
721
+				$plugin_zip = esc_url('https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip');
722
+				$upgrader   = new Plugin_Upgrader(new Automatic_Upgrader_Skin());
723
+				$installed  = $upgrader->install($plugin_zip);
724 724
 
725
-				if ( ! is_wp_error( $installed ) && $installed ) {
726
-					activate_plugin( $file, '', false, true );
725
+				if (!is_wp_error($installed) && $installed) {
726
+					activate_plugin($file, '', false, true);
727 727
 				} else {
728
-					wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false );
728
+					wpinv_error_log($upgrader->skin->get_upgrade_messages(), false);
729 729
 				}
730 730
 }
731 731
 }
732 732
 
733
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' );
734
-		wp_safe_redirect( $redirect );
733
+		$redirect = isset($data['redirect']) ? esc_url_raw($data['redirect']) : admin_url('plugins.php');
734
+		wp_safe_redirect($redirect);
735 735
 		exit;
736 736
 
737 737
 	}
@@ -741,41 +741,41 @@  discard block
 block discarded – undo
741 741
 	 *
742 742
 	 * @param array $data
743 743
      */
744
-    public function admin_connect_gateway( $data ) {
744
+    public function admin_connect_gateway($data) {
745 745
 
746
-		if ( ! empty( $data['plugin'] ) ) {
746
+		if (!empty($data['plugin'])) {
747 747
 
748
-			$gateway     = sanitize_key( $data['plugin'] );
749
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
748
+			$gateway     = sanitize_key($data['plugin']);
749
+			$connect_url = apply_filters("getpaid_get_{$gateway}_connect_url", false, $data);
750 750
 
751
-			if ( ! empty( $connect_url ) ) {
752
-				wp_redirect( $connect_url );
751
+			if (!empty($connect_url)) {
752
+				wp_redirect($connect_url);
753 753
 				exit;
754 754
 			}
755 755
 
756
-			if ( 'stripe' == $data['plugin'] ) {
756
+			if ('stripe' == $data['plugin']) {
757 757
 				require_once ABSPATH . 'wp-admin/includes/plugin.php';
758 758
 				include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
759 759
 				wp_cache_flush();
760 760
 
761
-				if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) {
762
-					$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' );
763
-					$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
764
-					$upgrader->install( $plugin_zip );
761
+				if (!array_key_exists('getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins())) {
762
+					$plugin_zip = esc_url('https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip');
763
+					$upgrader   = new Plugin_Upgrader(new Automatic_Upgrader_Skin());
764
+					$upgrader->install($plugin_zip);
765 765
 				}
766 766
 
767
-				activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true );
767
+				activate_plugin('getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true);
768 768
 			}
769 769
 
770
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
771
-			if ( ! empty( $connect_url ) ) {
772
-				wp_redirect( $connect_url );
770
+			$connect_url = apply_filters("getpaid_get_{$gateway}_connect_url", false, $data);
771
+			if (!empty($connect_url)) {
772
+				wp_redirect($connect_url);
773 773
 				exit;
774 774
 			}
775 775
 }
776 776
 
777
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' );
778
-		wp_safe_redirect( $redirect );
777
+		$redirect = isset($data['redirect']) ? esc_url_raw(urldecode($data['redirect'])) : admin_url('admin.php?page=wpinv-settings&tab=gateways');
778
+		wp_safe_redirect($redirect);
779 779
 		exit;
780 780
 
781 781
 	}
@@ -789,35 +789,35 @@  discard block
 block discarded – undo
789 789
 
790 790
 		// Fetch all invoices that have discount codes.
791 791
 		$table    = $wpdb->prefix . 'getpaid_invoices';
792
-		$invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" );
792
+		$invoices = $wpdb->get_col("SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''");
793 793
 
794
-		foreach ( $invoices as $invoice ) {
794
+		foreach ($invoices as $invoice) {
795 795
 
796
-			$invoice = new WPInv_Invoice( $invoice );
796
+			$invoice = new WPInv_Invoice($invoice);
797 797
 
798
-			if ( ! $invoice->exists() ) {
798
+			if (!$invoice->exists()) {
799 799
 				continue;
800 800
 			}
801 801
 
802 802
 			// Abort if the discount does not exist or does not apply here.
803
-			$discount = new WPInv_Discount( $invoice->get_discount_code() );
804
-			if ( ! $discount->exists() ) {
803
+			$discount = new WPInv_Discount($invoice->get_discount_code());
804
+			if (!$discount->exists()) {
805 805
 				continue;
806 806
 			}
807 807
 
808
-			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
808
+			$invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount));
809 809
 			$invoice->recalculate_total();
810 810
 
811
-			if ( $invoice->get_total_discount() > 0 ) {
811
+			if ($invoice->get_total_discount() > 0) {
812 812
 				$invoice->save();
813 813
 			}
814 814
 }
815 815
 
816 816
 		// Show an admin message.
817
-		$this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) );
817
+		$this->show_success(__('Discounts have been recalculated.', 'invoicing'));
818 818
 
819 819
 		// Redirect the admin.
820
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
820
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
821 821
 		exit;
822 822
 
823 823
 	}
@@ -829,8 +829,8 @@  discard block
 block discarded – undo
829 829
      * @return array
830 830
 	 */
831 831
 	public function get_notices() {
832
-		$notices = get_option( 'wpinv_admin_notices' );
833
-        return is_array( $notices ) ? $notices : array();
832
+		$notices = get_option('wpinv_admin_notices');
833
+        return is_array($notices) ? $notices : array();
834 834
 	}
835 835
 
836 836
 	/**
@@ -840,7 +840,7 @@  discard block
 block discarded – undo
840 840
      * @return array
841 841
 	 */
842 842
 	public function has_notices() {
843
-		return count( $this->get_notices() ) > 0;
843
+		return count($this->get_notices()) > 0;
844 844
 	}
845 845
 
846 846
 	/**
@@ -850,7 +850,7 @@  discard block
 block discarded – undo
850 850
 	 * @since       1.0.19
851 851
 	 */
852 852
 	public function clear_notices() {
853
-		delete_option( 'wpinv_admin_notices' );
853
+		delete_option('wpinv_admin_notices');
854 854
 	}
855 855
 
856 856
 	/**
@@ -859,16 +859,16 @@  discard block
 block discarded – undo
859 859
 	 * @access      public
860 860
 	 * @since       1.0.19
861 861
 	 */
862
-	public function save_notice( $type, $message ) {
862
+	public function save_notice($type, $message) {
863 863
 		$notices = $this->get_notices();
864 864
 
865
-		if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ] ) ) {
866
-			$notices[ $type ] = array();
865
+		if (empty($notices[$type]) || !is_array($notices[$type])) {
866
+			$notices[$type] = array();
867 867
 		}
868 868
 
869
-		$notices[ $type ][] = $message;
869
+		$notices[$type][] = $message;
870 870
 
871
-		update_option( 'wpinv_admin_notices', $notices );
871
+		update_option('wpinv_admin_notices', $notices);
872 872
 	}
873 873
 
874 874
 	/**
@@ -878,8 +878,8 @@  discard block
 block discarded – undo
878 878
 	 * @access      public
879 879
 	 * @since       1.0.19
880 880
 	 */
881
-	public function show_success( $msg ) {
882
-		$this->save_notice( 'success', $msg );
881
+	public function show_success($msg) {
882
+		$this->save_notice('success', $msg);
883 883
 	}
884 884
 
885 885
 	/**
@@ -889,8 +889,8 @@  discard block
 block discarded – undo
889 889
 	 * @param       string $msg The message to qeue.
890 890
 	 * @since       1.0.19
891 891
 	 */
892
-	public function show_error( $msg ) {
893
-		$this->save_notice( 'error', $msg );
892
+	public function show_error($msg) {
893
+		$this->save_notice('error', $msg);
894 894
 	}
895 895
 
896 896
 	/**
@@ -900,8 +900,8 @@  discard block
 block discarded – undo
900 900
 	 * @param       string $msg The message to qeue.
901 901
 	 * @since       1.0.19
902 902
 	 */
903
-	public function show_warning( $msg ) {
904
-		$this->save_notice( 'warning', $msg );
903
+	public function show_warning($msg) {
904
+		$this->save_notice('warning', $msg);
905 905
 	}
906 906
 
907 907
 	/**
@@ -911,8 +911,8 @@  discard block
 block discarded – undo
911 911
 	 * @param       string $msg The message to qeue.
912 912
 	 * @since       1.0.19
913 913
 	 */
914
-	public function show_info( $msg ) {
915
-		$this->save_notice( 'info', $msg );
914
+	public function show_info($msg) {
915
+		$this->save_notice('info', $msg);
916 916
 	}
917 917
 
918 918
 	/**
@@ -926,29 +926,29 @@  discard block
 block discarded – undo
926 926
         $notices = $this->get_notices();
927 927
         $this->clear_notices();
928 928
 
929
-		foreach ( $notices as $type => $messages ) {
929
+		foreach ($notices as $type => $messages) {
930 930
 
931
-			if ( ! is_array( $messages ) ) {
931
+			if (!is_array($messages)) {
932 932
 				continue;
933 933
 			}
934 934
 
935
-            $type  = esc_attr( $type );
936
-			foreach ( $messages as $message ) {
937
-				echo wp_kses_post( "<div class='notice notice-$type is-dismissible'><p>$message</p></div>" );
935
+            $type = esc_attr($type);
936
+			foreach ($messages as $message) {
937
+				echo wp_kses_post("<div class='notice notice-$type is-dismissible'><p>$message</p></div>");
938 938
             }
939 939
 }
940 940
 
941
-		foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) {
941
+		foreach (array('checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page') as $page) {
942 942
 
943
-			if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) {
944
-				$url     = wp_nonce_url(
945
-					add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
943
+			if (!is_numeric(wpinv_get_option($page, false))) {
944
+				$url = wp_nonce_url(
945
+					add_query_arg('getpaid-admin-action', 'create_missing_pages'),
946 946
 					'getpaid-nonce',
947 947
 					'getpaid-nonce'
948 948
 				);
949
-				$message  = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' );
950
-				$message2 = __( 'Generate Pages', 'invoicing' );
951
-				echo wp_kses_post( "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>" );
949
+				$message  = __('Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing');
950
+				$message2 = __('Generate Pages', 'invoicing');
951
+				echo wp_kses_post("<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>");
952 952
 				break;
953 953
 			}
954 954
 }
Please login to merge, or discard this patch.
includes/class-wpinv-privacy-exporters.php 1 patch
Spacing   +61 added lines, -61 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Personal data exporters.
4 4
  */
5 5
 
6
-defined( 'ABSPATH' ) || exit;
6
+defined('ABSPATH') || exit;
7 7
 
8 8
 /**
9 9
  * WPInv_Privacy_Exporters Class.
@@ -17,39 +17,39 @@  discard block
 block discarded – undo
17 17
      * @param int    $page  Page.
18 18
      * @return array An array of invoice data in name value pairs
19 19
      */
20
-    public static function customer_invoice_data_exporter( $email_address, $page ) {
20
+    public static function customer_invoice_data_exporter($email_address, $page) {
21 21
         $done           = false;
22 22
         $page           = (int) $page;
23 23
         $data_to_export = array();
24 24
 
25
-        $user           = get_user_by( 'email', $email_address );
26
-        if ( ! $user instanceof WP_User ) {
25
+        $user           = get_user_by('email', $email_address);
26
+        if (!$user instanceof WP_User) {
27 27
             return array(
28 28
                 'data' => $data_to_export,
29 29
                 'done' => true,
30 30
             );
31 31
         }
32 32
 
33
-        $args    = array(
34
-            'limit'    => get_option( 'posts_per_page' ),
33
+        $args = array(
34
+            'limit'    => get_option('posts_per_page'),
35 35
             'page'     => $page,
36 36
             'user'     => $user->ID,
37 37
             'paginate' => false,
38 38
         );
39 39
 
40
-        $invoices = wpinv_get_invoices( $args );
40
+        $invoices = wpinv_get_invoices($args);
41 41
 
42
-        if ( 0 < count( $invoices ) ) {
43
-            foreach ( $invoices as $invoice ) {
42
+        if (0 < count($invoices)) {
43
+            foreach ($invoices as $invoice) {
44 44
                 $data_to_export[] = array(
45 45
                     'group_id'          => 'customer_invoices',
46
-                    'group_label'       => __( 'GetPaid: Invoices', 'invoicing' ),
47
-                    'group_description' => __( 'Customer invoices.', 'invoicing' ),
46
+                    'group_label'       => __('GetPaid: Invoices', 'invoicing'),
47
+                    'group_description' => __('Customer invoices.', 'invoicing'),
48 48
                     'item_id'           => "wpinv-{$invoice->get_id()}",
49
-                    'data'              => self::get_customer_invoice_data( $invoice ),
49
+                    'data'              => self::get_customer_invoice_data($invoice),
50 50
                 );
51 51
             }
52
-            $done = get_option( 'posts_per_page' ) > count( $invoices );
52
+            $done = get_option('posts_per_page') > count($invoices);
53 53
         } else {
54 54
             $done = true;
55 55
         }
@@ -67,122 +67,122 @@  discard block
 block discarded – undo
67 67
      * @param WPInv_Invoice $invoice invoice object.
68 68
      * @return array
69 69
      */
70
-    public static function get_customer_invoice_data( $invoice ) {
70
+    public static function get_customer_invoice_data($invoice) {
71 71
 
72 72
         // Prepare basic properties.
73 73
         $props_to_export = array(
74 74
             'number'       => array(
75
-                'name'  => __( 'Invoice Number', 'invoicing' ),
75
+                'name'  => __('Invoice Number', 'invoicing'),
76 76
                 'value' => $invoice->get_number(),
77 77
             ),
78 78
             'created_date' => array(
79
-                'name'  => __( 'Created Date', 'invoicing' ),
79
+                'name'  => __('Created Date', 'invoicing'),
80 80
                 'value' => $invoice->get_date_created(),
81 81
             ),
82 82
             'due_date'     => array(
83
-                'name'  => __( 'Due Date', 'invoicing' ),
83
+                'name'  => __('Due Date', 'invoicing'),
84 84
                 'value' => $invoice->get_due_date(),
85 85
             ),
86 86
             'items'        => array(
87
-                'name'  => __( 'Invoice Items', 'invoicing' ),
88
-                'value' => self::process_invoice_items( $invoice ),
87
+                'name'  => __('Invoice Items', 'invoicing'),
88
+                'value' => self::process_invoice_items($invoice),
89 89
             ),
90 90
             'discount'     => array(
91
-                'name'  => __( 'Invoice Discount', 'invoicing' ),
92
-                'value' => wpinv_price( $invoice->get_total_discount(), $invoice->get_currency() ),
91
+                'name'  => __('Invoice Discount', 'invoicing'),
92
+                'value' => wpinv_price($invoice->get_total_discount(), $invoice->get_currency()),
93 93
             ),
94 94
             'total'        => array(
95
-                'name'  => __( 'Invoice Total', 'invoicing' ),
96
-                'value' => wpinv_price( $invoice->get_total(), $invoice->get_currency() ),
95
+                'name'  => __('Invoice Total', 'invoicing'),
96
+                'value' => wpinv_price($invoice->get_total(), $invoice->get_currency()),
97 97
             ),
98 98
             'status'       => array(
99
-                'name'  => __( 'Invoice Status', 'invoicing' ),
99
+                'name'  => __('Invoice Status', 'invoicing'),
100 100
                 'value' => $invoice->get_status_nicename(),
101 101
             ),
102 102
             'first_name'   => array(
103
-                'name'  => __( 'First Name', 'invoicing' ),
103
+                'name'  => __('First Name', 'invoicing'),
104 104
                 'value' => $invoice->get_first_name(),
105 105
             ),
106 106
             'last_name'    => array(
107
-                'name'  => __( 'Last Name', 'invoicing' ),
107
+                'name'  => __('Last Name', 'invoicing'),
108 108
                 'value' => $invoice->get_last_name(),
109 109
             ),
110 110
             'email'        => array(
111
-                'name'  => __( 'Email Address', 'invoicing' ),
111
+                'name'  => __('Email Address', 'invoicing'),
112 112
                 'value' => $invoice->get_email(),
113 113
             ),
114 114
             'company'      => array(
115
-                'name'  => __( 'Company', 'invoicing' ),
115
+                'name'  => __('Company', 'invoicing'),
116 116
                 'value' => $invoice->get_company(),
117 117
             ),
118 118
             'phone'        => array(
119
-                'name'  => __( 'Phone Number', 'invoicing' ),
119
+                'name'  => __('Phone Number', 'invoicing'),
120 120
                 'value' => $invoice->get_phone(),
121 121
             ),
122 122
             'address'      => array(
123
-                'name'  => __( 'Address', 'invoicing' ),
123
+                'name'  => __('Address', 'invoicing'),
124 124
                 'value' => $invoice->get_address(),
125 125
             ),
126 126
             'city'         => array(
127
-                'name'  => __( 'City', 'invoicing' ),
127
+                'name'  => __('City', 'invoicing'),
128 128
                 'value' => $invoice->get_city(),
129 129
             ),
130 130
             'state'        => array(
131
-                'name'  => __( 'State', 'invoicing' ),
131
+                'name'  => __('State', 'invoicing'),
132 132
                 'value' => $invoice->get_state(),
133 133
             ),
134 134
             'zip'          => array(
135
-                'name'  => __( 'Zip', 'invoicing' ),
135
+                'name'  => __('Zip', 'invoicing'),
136 136
                 'value' => $invoice->get_zip(),
137 137
             ),
138 138
             'vat_number'   => array(
139
-                'name'  => __( 'VAT Number', 'invoicing' ),
139
+                'name'  => __('VAT Number', 'invoicing'),
140 140
                 'value' => $invoice->get_vat_number(),
141 141
             ),
142 142
             'description'  => array(
143
-                'name'  => __( 'Description', 'invoicing' ),
143
+                'name'  => __('Description', 'invoicing'),
144 144
                 'value' => $invoice->get_description(),
145 145
             ),
146 146
         );
147 147
 
148 148
         // In case the invoice is paid, add the payment date and gateway.
149
-        if ( $invoice->is_paid() ) {
149
+        if ($invoice->is_paid()) {
150 150
 
151 151
             $props_to_export['completed_date'] = array(
152
-                'name'  => __( 'Completed Date', 'invoicing' ),
152
+                'name'  => __('Completed Date', 'invoicing'),
153 153
                 'value' => $invoice->get_completed_date(),
154 154
             );
155 155
 
156 156
             $props_to_export['gateway'] = array(
157
-                'name'  => __( 'Paid Via', 'invoicing' ),
157
+                'name'  => __('Paid Via', 'invoicing'),
158 158
                 'value' => $invoice->get_gateway(),
159 159
             );
160 160
 
161 161
         }
162 162
 
163 163
         // Maybe add subscription details.
164
-        $props_to_export = self::process_subscription( $invoice, $props_to_export );
164
+        $props_to_export = self::process_subscription($invoice, $props_to_export);
165 165
 
166 166
         // Add the ip address.
167 167
         $props_to_export['ip'] = array(
168
-            'name'  => __( 'IP Address', 'invoicing' ),
168
+            'name'  => __('IP Address', 'invoicing'),
169 169
             'value' => $invoice->get_ip(),
170 170
         );
171 171
 
172 172
         // Add the invoice url.
173 173
         $props_to_export['view_url'] = array(
174
-            'name'  => __( 'Invoice URL', 'invoicing' ),
174
+            'name'  => __('Invoice URL', 'invoicing'),
175 175
             'value' => $invoice->get_view_url(),
176 176
         );
177 177
 
178 178
         // Return the values.
179
-        $items = apply_filters( 'getpaid_privacy_export_invoice_personal_data', array_values( $props_to_export ), $invoice );
179
+        $items = apply_filters('getpaid_privacy_export_invoice_personal_data', array_values($props_to_export), $invoice);
180 180
 
181 181
         $data = array();
182 182
 
183 183
         // Unset null values to prevent PHP deprecated notice.
184
-        foreach ( $items as $item ) {
185
-            if ( isset( $item['value'] ) && ! is_null( $item['value'] ) ) {
184
+        foreach ($items as $item) {
185
+            if (isset($item['value']) && !is_null($item['value'])) {
186 186
                 $data[] = $item;
187 187
             }
188 188
         }
@@ -198,40 +198,40 @@  discard block
 block discarded – undo
198 198
      * @param array $props invoice props.
199 199
      * @return array
200 200
      */
201
-    public static function process_subscription( $invoice, $props ) {
201
+    public static function process_subscription($invoice, $props) {
202 202
 
203
-        $subscription = wpinv_get_subscription( $invoice );
204
-        if ( ! empty( $subscription ) ) {
203
+        $subscription = wpinv_get_subscription($invoice);
204
+        if (!empty($subscription)) {
205 205
 
206
-            $frequency    = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency() );
207
-            $period       = wpinv_price( $subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency() ) . ' / ' . $frequency;
208
-            $initial_amt  = wpinv_price( $subscription->get_initial_amount(), $subscription->get_parent_payment()->get_currency() );
209
-            $bill_times   = $subscription->get_times_billed() . ' / ' . ( ( $subscription->get_bill_times() == 0 ) ? __( 'Until Cancelled', 'invoicing' ) : $subscription->get_bill_times() );
210
-            $renewal_date = getpaid_format_date_value( $subscription->get_expiration() );
206
+            $frequency    = getpaid_get_subscription_period_label($subscription->get_period(), $subscription->get_frequency());
207
+            $period       = wpinv_price($subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency()) . ' / ' . $frequency;
208
+            $initial_amt  = wpinv_price($subscription->get_initial_amount(), $subscription->get_parent_payment()->get_currency());
209
+            $bill_times   = $subscription->get_times_billed() . ' / ' . (($subscription->get_bill_times() == 0) ? __('Until Cancelled', 'invoicing') : $subscription->get_bill_times());
210
+            $renewal_date = getpaid_format_date_value($subscription->get_expiration());
211 211
 
212 212
             // Billing cycle.
213 213
             $props['period'] = array(
214
-                'name'  => __( 'Billing Cycle', 'invoicing' ),
214
+                'name'  => __('Billing Cycle', 'invoicing'),
215 215
                 'value' => $period,
216 216
             );
217 217
 
218 218
             // Initial amount.
219 219
             $props['initial_amount'] = array(
220
-                'name'  => __( 'Initial Amount', 'invoicing' ),
220
+                'name'  => __('Initial Amount', 'invoicing'),
221 221
                 'value' => $initial_amt,
222 222
             );
223 223
 
224 224
             // Bill times.
225 225
             $props['bill_times'] = array(
226
-                'name'  => __( 'Times Billed', 'invoicing' ),
226
+                'name'  => __('Times Billed', 'invoicing'),
227 227
                 'value' => $bill_times,
228 228
             );
229 229
 
230 230
             // Add expiry date.
231
-            if ( $subscription->is_active() ) {
231
+            if ($subscription->is_active()) {
232 232
 
233 233
                 $props['renewal_date'] = array(
234
-                    'name'  => __( 'Expires', 'invoicing' ),
234
+                    'name'  => __('Expires', 'invoicing'),
235 235
                     'value' => $renewal_date,
236 236
                 );
237 237
 
@@ -249,19 +249,19 @@  discard block
 block discarded – undo
249 249
      * @param WPInv_Invoice $invoice invoice object.
250 250
      * @return array
251 251
      */
252
-    public static function process_invoice_items( $invoice ) {
252
+    public static function process_invoice_items($invoice) {
253 253
 
254 254
         $item_names = array();
255
-        foreach ( $invoice->get_items() as $cart_item ) {
255
+        foreach ($invoice->get_items() as $cart_item) {
256 256
             $item_names[] = sprintf(
257 257
                 '%s x %s - %s',
258 258
                 $cart_item->get_name(),
259 259
                 $cart_item->get_quantity(),
260
-                wpinv_price( $invoice->is_renewal() ? $cart_item->get_recurring_sub_total() : $cart_item->get_sub_total(), $invoice->get_currency() )
260
+                wpinv_price($invoice->is_renewal() ? $cart_item->get_recurring_sub_total() : $cart_item->get_sub_total(), $invoice->get_currency())
261 261
             );
262 262
         }
263 263
 
264
-        return implode( ', ', $item_names );
264
+        return implode(', ', $item_names);
265 265
 
266 266
     }
267 267
 
Please login to merge, or discard this patch.