Passed
Push — master ( fbd145...a5c159 )
by Kiran
14:08 queued 08:25
created
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'] ) . '····' . substr( $submission_data['authorizenet']['cc_number'], -4 ),
175
+                    'name'    => getpaid_get_card_name($submission_data['authorizenet']['cc_number']) . '····' . 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'] ) . ' ···· ' . substr( $submission_data['authorizenet']['cc_number'], -4 ),
290
+                    'name'    => getpaid_get_card_name($submission_data['authorizenet']['cc_number']) . ' ···· ' . 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.
vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php 4 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   +2346 added lines, -2346 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.41';
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.41';
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
+                }
563 545
             }
546
+        }
564 547
 
565
-			$output = ob_get_clean();
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
+            }
564
+
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 );
680 641
 
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' );
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
+                }
685 648
 
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
-		}
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() );
652
+
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.
@@ -766,173 +766,173 @@  discard block
 block discarded – undo
766 766
             return trailingslashit($url);
767 767
         }
768 768
 
769
-		/**
770
-		 * Get the url path to the current folder.
771
-		 * @todo remove
772
-		 * @return string
773
-		 */
774
-		public function get_url_old() {
775
-
776
-			$url = '';
777
-			// check if we are inside a plugin
778
-			$file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
779
-
780
-			// add check in-case user has changed wp-content dir name.
781
-			$wp_content_folder_name = basename(WP_CONTENT_DIR);
782
-			$dir_parts = explode("/$wp_content_folder_name/",$file_dir);
783
-			$url_parts = explode("/$wp_content_folder_name/",plugins_url());
784
-
785
-			if(!empty($url_parts[0]) && !empty($dir_parts[1])){
786
-				$url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
787
-			}
788
-
789
-			return $url;
790
-		}
791
-
792
-		/**
793
-		 * Register the database settings with WordPress.
794
-		 */
795
-		public function register_settings() {
796
-			register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
797
-		}
798
-
799
-		/**
800
-		 * Add the WordPress settings menu item.
801
-		 * @since 1.0.10 Calling function name direct will fail theme check so we don't.
802
-		 */
803
-		public function menu_item() {
804
-			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
805
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
806
-				$this,
807
-				'settings_page'
808
-			) );
809
-		}
810
-
811
-		/**
812
-		 * Get a list of themes and their default JS settings.
813
-		 *
814
-		 * @return array
815
-		 */
816
-		public function theme_js_settings(){
817
-			return array(
818
-				'ayetheme' => 'popper',
819
-				'listimia' => 'required',
820
-				'listimia_backend' => 'core-popper',
821
-				//'avada'    => 'required', // removed as we now add compatibility
822
-			);
823
-		}
824
-
825
-		/**
769
+        /**
770
+         * Get the url path to the current folder.
771
+         * @todo remove
772
+         * @return string
773
+         */
774
+        public function get_url_old() {
775
+
776
+            $url = '';
777
+            // check if we are inside a plugin
778
+            $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
779
+
780
+            // add check in-case user has changed wp-content dir name.
781
+            $wp_content_folder_name = basename(WP_CONTENT_DIR);
782
+            $dir_parts = explode("/$wp_content_folder_name/",$file_dir);
783
+            $url_parts = explode("/$wp_content_folder_name/",plugins_url());
784
+
785
+            if(!empty($url_parts[0]) && !empty($dir_parts[1])){
786
+                $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
787
+            }
788
+
789
+            return $url;
790
+        }
791
+
792
+        /**
793
+         * Register the database settings with WordPress.
794
+         */
795
+        public function register_settings() {
796
+            register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
797
+        }
798
+
799
+        /**
800
+         * Add the WordPress settings menu item.
801
+         * @since 1.0.10 Calling function name direct will fail theme check so we don't.
802
+         */
803
+        public function menu_item() {
804
+            $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
805
+            call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
806
+                $this,
807
+                'settings_page'
808
+            ) );
809
+        }
810
+
811
+        /**
812
+         * Get a list of themes and their default JS settings.
813
+         *
814
+         * @return array
815
+         */
816
+        public function theme_js_settings(){
817
+            return array(
818
+                'ayetheme' => 'popper',
819
+                'listimia' => 'required',
820
+                'listimia_backend' => 'core-popper',
821
+                //'avada'    => 'required', // removed as we now add compatibility
822
+            );
823
+        }
824
+
825
+        /**
826 826
          * Get the date the site was installed.
827 827
          *
828
-		 * @return false|string
829
-		 */
828
+         * @return false|string
829
+         */
830 830
         public function get_site_install_date() {
831
-	        global $wpdb; // This gives you access to the WordPress database object
831
+            global $wpdb; // This gives you access to the WordPress database object
832 832
 
833
-	        // Prepare the SQL query to get the oldest registration date
834
-	        $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}";
833
+            // Prepare the SQL query to get the oldest registration date
834
+            $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}";
835 835
 
836
-	        // Execute the query
837
-	        $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
836
+            // Execute the query
837
+            $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
838 838
 
839
-	        return $date ? $date : false;
839
+            return $date ? $date : false;
840 840
         }
841 841
 
842
-		/**
843
-		 * Show admin notice if backend scripts not loaded.
844
-		 */
845
-		public function show_admin_version_notice(){
846
-			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings" );
847
-			$button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>';
848
-			$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;
849
-			echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
850
-		}
851
-
852
-		/**
853
-		 * Get the current Font Awesome output settings.
854
-		 *
855
-		 * @return array The array of settings.
856
-		 */
857
-		public function get_settings() {
858
-			$db_settings = get_option( 'ayecode-ui-settings' );
859
-
860
-			// Maybe show default version notice
861
-			if ( empty( $db_settings ) ) {
862
-				$site_install_date = new DateTime( self::get_site_install_date() );
863
-				$switch_over_date = new DateTime( "2024-02-01" );
864
-
865
-				if ( $site_install_date < $switch_over_date ) {
866
-					add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) );
867
-				}
868
-			}
869
-
870
-			$js_default = 'core-popper';
871
-			$js_default_backend = $js_default;
872
-
873
-			// maybe set defaults (if no settings set)
874
-			if(empty($db_settings)){
875
-				$active_theme = strtolower( get_template() ); // active parent theme.
876
-				$theme_js_settings = self::theme_js_settings();
877
-				if(isset($theme_js_settings[$active_theme])){
878
-					$js_default = $theme_js_settings[$active_theme];
879
-					$js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
880
-				}
881
-			}
842
+        /**
843
+         * Show admin notice if backend scripts not loaded.
844
+         */
845
+        public function show_admin_version_notice(){
846
+            $fix_url = admin_url("options-general.php?page=ayecode-ui-settings" );
847
+            $button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>';
848
+            $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;
849
+            echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
850
+        }
882 851
 
883
-			/**
884
-			 * Filter the default settings.
885
-			 */
886
-			$defaults = apply_filters( 'ayecode-ui-default-settings', array(
887
-				'css'            => 'compatibility', // core, compatibility
888
-				'js'             => $js_default, // js to load, core-popper, popper
889
-				'html_font_size' => '16', // js to load, core-popper, popper
890
-				'css_backend'    => 'compatibility', // core, compatibility
891
-				'js_backend'     => $js_default_backend, // js to load, core-popper, popper
892
-				'disable_admin'  => '', // URL snippets to disable loading on admin
852
+        /**
853
+         * Get the current Font Awesome output settings.
854
+         *
855
+         * @return array The array of settings.
856
+         */
857
+        public function get_settings() {
858
+            $db_settings = get_option( 'ayecode-ui-settings' );
859
+
860
+            // Maybe show default version notice
861
+            if ( empty( $db_settings ) ) {
862
+                $site_install_date = new DateTime( self::get_site_install_date() );
863
+                $switch_over_date = new DateTime( "2024-02-01" );
864
+
865
+                if ( $site_install_date < $switch_over_date ) {
866
+                    add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) );
867
+                }
868
+            }
869
+
870
+            $js_default = 'core-popper';
871
+            $js_default_backend = $js_default;
872
+
873
+            // maybe set defaults (if no settings set)
874
+            if(empty($db_settings)){
875
+                $active_theme = strtolower( get_template() ); // active parent theme.
876
+                $theme_js_settings = self::theme_js_settings();
877
+                if(isset($theme_js_settings[$active_theme])){
878
+                    $js_default = $theme_js_settings[$active_theme];
879
+                    $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
880
+                }
881
+            }
882
+
883
+            /**
884
+             * Filter the default settings.
885
+             */
886
+            $defaults = apply_filters( 'ayecode-ui-default-settings', array(
887
+                'css'            => 'compatibility', // core, compatibility
888
+                'js'             => $js_default, // js to load, core-popper, popper
889
+                'html_font_size' => '16', // js to load, core-popper, popper
890
+                'css_backend'    => 'compatibility', // core, compatibility
891
+                'js_backend'     => $js_default_backend, // js to load, core-popper, popper
892
+                'disable_admin'  => '', // URL snippets to disable loading on admin
893 893
                 'bs_ver'         => '5', // The default bootstrap version to sue by default
894
-			), $db_settings );
894
+            ), $db_settings );
895 895
 
896
-			$settings = wp_parse_args( $db_settings, $defaults );
896
+            $settings = wp_parse_args( $db_settings, $defaults );
897 897
 
898
-			/**
899
-			 * Filter the Bootstrap settings.
900
-			 *
901
-			 * @todo if we add this filer people might use it and then it defeats the purpose of this class :/
902
-			 */
903
-			return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
904
-		}
898
+            /**
899
+             * Filter the Bootstrap settings.
900
+             *
901
+             * @todo if we add this filer people might use it and then it defeats the purpose of this class :/
902
+             */
903
+            return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
904
+        }
905 905
 
906 906
 
907
-		/**
908
-		 * The settings page html output.
909
-		 */
910
-		public function settings_page() {
911
-			if ( ! current_user_can( 'manage_options' ) ) {
912
-				wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) );
913
-			}
907
+        /**
908
+         * The settings page html output.
909
+         */
910
+        public function settings_page() {
911
+            if ( ! current_user_can( 'manage_options' ) ) {
912
+                wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) );
913
+            }
914 914
             $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() );
915 915
 
916
-			?>
916
+            ?>
917 917
             <div class="wrap">
918 918
                 <h1><?php echo esc_attr( $this->name ); ?></h1>
919 919
                 <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>
920 920
                 <form method="post" action="options.php">
921 921
 					<?php
922
-					settings_fields( 'ayecode-ui-settings' );
923
-					do_settings_sections( 'ayecode-ui-settings' );
924
-					?>
922
+                    settings_fields( 'ayecode-ui-settings' );
923
+                    do_settings_sections( 'ayecode-ui-settings' );
924
+                    ?>
925 925
 
926 926
                     <h2><?php esc_html_e( 'BootStrap Version', 'ayecode-connect' ); ?></h2>
927 927
                     <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>
928 928
 	                <div class="bsui"><?php
929
-	                if ( ! empty( $overrides ) ) {
930
-		                echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
931
-			                'type'=> 'info',
932
-			                'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' )
933
-		                ));
934
-	                }
935
-	                ?>
929
+                    if ( ! empty( $overrides ) ) {
930
+                        echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
931
+                            'type'=> 'info',
932
+                            'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' )
933
+                        ));
934
+                    }
935
+                    ?>
936 936
                     </div>
937 937
                     <table class="form-table wpbs-table-version-settings">
938 938
                         <tr valign="top">
@@ -1016,77 +1016,77 @@  discard block
 block discarded – undo
1016 1016
                     </table>
1017 1017
 
1018 1018
 					<?php
1019
-					submit_button();
1020
-					?>
1019
+                    submit_button();
1020
+                    ?>
1021 1021
                 </form>
1022 1022
                 <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo esc_html( $this->version ); ?></div>
1023 1023
             </div>
1024 1024
 			<?php
1025
-		}
1025
+        }
1026 1026
 
1027 1027
         public function get_load_source(){
1028
-	        $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
1029
-	        $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
1030
-
1031
-	        // Find source plugin/theme of SD
1032
-	        $source = array();
1033
-	        if ( strpos( $file, $plugins_dir ) !== false ) {
1034
-		        $source = explode( "/", plugin_basename( $file ) );
1035
-	        } else if ( function_exists( 'get_theme_root' ) ) {
1036
-		        $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
1037
-
1038
-		        if ( strpos( $file, $themes_dir ) !== false ) {
1039
-			        $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
1040
-		        }
1041
-	        }
1028
+            $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
1029
+            $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
1030
+
1031
+            // Find source plugin/theme of SD
1032
+            $source = array();
1033
+            if ( strpos( $file, $plugins_dir ) !== false ) {
1034
+                $source = explode( "/", plugin_basename( $file ) );
1035
+            } else if ( function_exists( 'get_theme_root' ) ) {
1036
+                $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
1037
+
1038
+                if ( strpos( $file, $themes_dir ) !== false ) {
1039
+                    $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
1040
+                }
1041
+            }
1042 1042
 
1043 1043
             return isset($source[0]) ? esc_attr($source[0]) : '';
1044 1044
         }
1045 1045
 
1046
-		public function customizer_settings($wp_customize){
1047
-			$wp_customize->add_section('aui_settings', array(
1048
-				'title'    => __('AyeCode UI', 'ayecode-connect' ),
1049
-				'priority' => 120,
1050
-			));
1051
-
1052
-			//  =============================
1053
-			//  = Color Picker              =
1054
-			//  =============================
1055
-			$wp_customize->add_setting('aui_options[color_primary]', array(
1056
-				'default'           => AUI_PRIMARY_COLOR,
1057
-				'sanitize_callback' => 'sanitize_hex_color',
1058
-				'capability'        => 'edit_theme_options',
1059
-				'type'              => 'option',
1060
-				'transport'         => 'refresh',
1061
-			));
1062
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1063
-				'label'    => __('Primary Color', 'ayecode-connect' ),
1064
-				'section'  => 'aui_settings',
1065
-				'settings' => 'aui_options[color_primary]',
1066
-			)));
1067
-
1068
-			$wp_customize->add_setting('aui_options[color_secondary]', array(
1069
-				'default'           => '#6c757d',
1070
-				'sanitize_callback' => 'sanitize_hex_color',
1071
-				'capability'        => 'edit_theme_options',
1072
-				'type'              => 'option',
1073
-				'transport'         => 'refresh',
1074
-			));
1075
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1076
-				'label'    => __('Secondary Color', 'ayecode-connect' ),
1077
-				'section'  => 'aui_settings',
1078
-				'settings' => 'aui_options[color_secondary]',
1079
-			)));
1080
-		}
1081
-
1082
-		/**
1083
-		 * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1084
-		 *
1085
-		 * @return mixed
1086
-		 */
1087
-		public static function bs3_compat_css() {
1088
-			ob_start();
1089
-			?>
1046
+        public function customizer_settings($wp_customize){
1047
+            $wp_customize->add_section('aui_settings', array(
1048
+                'title'    => __('AyeCode UI', 'ayecode-connect' ),
1049
+                'priority' => 120,
1050
+            ));
1051
+
1052
+            //  =============================
1053
+            //  = Color Picker              =
1054
+            //  =============================
1055
+            $wp_customize->add_setting('aui_options[color_primary]', array(
1056
+                'default'           => AUI_PRIMARY_COLOR,
1057
+                'sanitize_callback' => 'sanitize_hex_color',
1058
+                'capability'        => 'edit_theme_options',
1059
+                'type'              => 'option',
1060
+                'transport'         => 'refresh',
1061
+            ));
1062
+            $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1063
+                'label'    => __('Primary Color', 'ayecode-connect' ),
1064
+                'section'  => 'aui_settings',
1065
+                'settings' => 'aui_options[color_primary]',
1066
+            )));
1067
+
1068
+            $wp_customize->add_setting('aui_options[color_secondary]', array(
1069
+                'default'           => '#6c757d',
1070
+                'sanitize_callback' => 'sanitize_hex_color',
1071
+                'capability'        => 'edit_theme_options',
1072
+                'type'              => 'option',
1073
+                'transport'         => 'refresh',
1074
+            ));
1075
+            $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1076
+                'label'    => __('Secondary Color', 'ayecode-connect' ),
1077
+                'section'  => 'aui_settings',
1078
+                'settings' => 'aui_options[color_secondary]',
1079
+            )));
1080
+        }
1081
+
1082
+        /**
1083
+         * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1084
+         *
1085
+         * @return mixed
1086
+         */
1087
+        public static function bs3_compat_css() {
1088
+            ob_start();
1089
+            ?>
1090 1090
             <style>
1091 1091
                 /* Bootstrap 3 compatibility */
1092 1092
                 body.modal-open .modal-backdrop.show:not(.in) {opacity:0.5;}
@@ -1115,376 +1115,376 @@  discard block
 block discarded – undo
1115 1115
                 <?php } ?>
1116 1116
             </style>
1117 1117
 			<?php
1118
-			return str_replace( array(
1119
-				'<style>',
1120
-				'</style>'
1121
-			), '', self::minify_css( ob_get_clean() ) );
1122
-		}
1118
+            return str_replace( array(
1119
+                '<style>',
1120
+                '</style>'
1121
+            ), '', self::minify_css( ob_get_clean() ) );
1122
+        }
1123 1123
 
1124
-		public static function custom_css( $compatibility = true, $is_fse = false ) {
1125
-			global $aui_bs5;
1124
+        public static function custom_css( $compatibility = true, $is_fse = false ) {
1125
+            global $aui_bs5;
1126 1126
 
1127
-			$colors = array();
1127
+            $colors = array();
1128 1128
 
1129
-			if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1130
-				$setting = wp_get_global_settings();
1129
+            if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1130
+                $setting = wp_get_global_settings();
1131 1131
 
1132
-				if ( ! empty( $setting['color']['palette']['theme'] ) ) {
1133
-					foreach ( $setting['color']['palette']['theme'] as $color ) {
1134
-						$colors[$color['slug']] = esc_attr( $color['color'] );
1135
-					}
1136
-				}
1132
+                if ( ! empty( $setting['color']['palette']['theme'] ) ) {
1133
+                    foreach ( $setting['color']['palette']['theme'] as $color ) {
1134
+                        $colors[$color['slug']] = esc_attr( $color['color'] );
1135
+                    }
1136
+                }
1137 1137
 
1138
-				if ( ! empty( $setting['color']['palette']['custom'] ) ) {
1139
-					foreach ( $setting['color']['palette']['custom'] as $color ) {
1140
-						$colors[$color['slug']] = esc_attr( $color['color'] );
1141
-					}
1142
-				}
1143
-			} else {
1144
-				$settings = get_option( 'aui_options' );
1145
-
1146
-				$colors = array(
1147
-					'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1148
-					'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1149
-				);
1150
-			}
1151
-
1152
-			ob_start();
1153
-			?><style><?php
1154
-			// BS v3 compat
1155
-			if( self::is_bs3_compat() ){
1156
-				echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1157
-			}
1158
-
1159
-			//$is_fse = false;
1160
-			//if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
1161
-				//$is_fse = true;
1162
-			//}
1163
-
1164
-			$custom_front = ! is_admin() ? true : apply_filters('ayecode_ui_custom_front', false );
1165
-			$custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false );
1138
+                if ( ! empty( $setting['color']['palette']['custom'] ) ) {
1139
+                    foreach ( $setting['color']['palette']['custom'] as $color ) {
1140
+                        $colors[$color['slug']] = esc_attr( $color['color'] );
1141
+                    }
1142
+                }
1143
+            } else {
1144
+                $settings = get_option( 'aui_options' );
1145
+
1146
+                $colors = array(
1147
+                    'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1148
+                    'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1149
+                );
1150
+            }
1151
+
1152
+            ob_start();
1153
+            ?><style><?php
1154
+            // BS v3 compat
1155
+            if( self::is_bs3_compat() ){
1156
+                echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1157
+            }
1158
+
1159
+            //$is_fse = false;
1160
+            //if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
1161
+                //$is_fse = true;
1162
+            //}
1163
+
1164
+            $custom_front = ! is_admin() ? true : apply_filters('ayecode_ui_custom_front', false );
1165
+            $custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false );
1166 1166
             $bs_custom_css = apply_filters( 'ayecode_ui_bs_custom_css', $custom_admin || $custom_front );
1167
-			//$bs_custom_css = true; // Force true to fix any color issue.
1167
+            //$bs_custom_css = true; // Force true to fix any color issue.
1168 1168
 
1169
-			$colors_css = '';
1170
-			if ( ! empty( $colors ) && $bs_custom_css ) {
1171
-				$d_colors = self::get_colors(true);
1169
+            $colors_css = '';
1170
+            if ( ! empty( $colors ) && $bs_custom_css ) {
1171
+                $d_colors = self::get_colors(true);
1172 1172
 
1173
-				foreach ( $colors as $key => $color ) {
1174
-					if ( ( empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) {
1175
-						$var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1176
-						$compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1173
+                foreach ( $colors as $key => $color ) {
1174
+                    if ( ( empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) {
1175
+                        $var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1176
+                        $compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1177 1177
 
1178
-						$colors_css .= $aui_bs5 ? self::css_overwrite_bs5( $key,$var, $compat, $color ) : self::css_overwrite( $key, $var, $compat, $color );
1179
-					}
1180
-				}
1181
-			}
1178
+                        $colors_css .= $aui_bs5 ? self::css_overwrite_bs5( $key,$var, $compat, $color ) : self::css_overwrite( $key, $var, $compat, $color );
1179
+                    }
1180
+                }
1181
+            }
1182 1182
 
1183
-			if ( $colors_css ) {
1184
-				echo $colors_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1185
-			}
1183
+            if ( $colors_css ) {
1184
+                echo $colors_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1185
+            }
1186 1186
 
1187
-			// Set admin bar z-index lower when modal is open.
1188
-			echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1187
+            // Set admin bar z-index lower when modal is open.
1188
+            echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1189 1189
 
1190
-			if ( is_admin() ) {
1191
-				echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1192
-			}
1190
+            if ( is_admin() ) {
1191
+                echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1192
+            }
1193 1193
 
1194
-			$custom_css = '';
1194
+            $custom_css = '';
1195 1195
 
1196
-			if ( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) && $bs_custom_css ) {
1197
-				$css = '';
1198
-				$theme_settings = wp_get_global_styles();
1196
+            if ( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) && $bs_custom_css ) {
1197
+                $css = '';
1198
+                $theme_settings = wp_get_global_styles();
1199 1199
 
1200
-				// Font face
1201
-				if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1202
-					$t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1203
-					$css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1204
-				}
1200
+                // Font face
1201
+                if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1202
+                    $t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1203
+                    $css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1204
+                }
1205 1205
 
1206
-				// font size
1207
-				if( !empty( $theme_settings['typography']['fontSize'] ) ){
1208
-					$css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;';
1209
-				}
1206
+                // font size
1207
+                if( !empty( $theme_settings['typography']['fontSize'] ) ){
1208
+                    $css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;';
1209
+                }
1210 1210
 
1211
-				// line height
1212
-				 if( !empty( $theme_settings['typography']['lineHeight'] ) ){
1213
-					$css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';';
1214
-				}
1211
+                // line height
1212
+                    if( !empty( $theme_settings['typography']['lineHeight'] ) ){
1213
+                    $css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';';
1214
+                }
1215 1215
 
1216 1216
 
1217
-				   // font weight
1218
-				 if( !empty( $theme_settings['typography']['fontWeight'] ) ){
1219
-					$css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';';
1220
-				}
1217
+                    // font weight
1218
+                    if( !empty( $theme_settings['typography']['fontWeight'] ) ){
1219
+                    $css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';';
1220
+                }
1221 1221
 
1222
-				// Background
1223
-				 if( !empty( $theme_settings['color']['background'] ) ){
1224
-					$css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';';
1225
-				}
1222
+                // Background
1223
+                    if( !empty( $theme_settings['color']['background'] ) ){
1224
+                    $css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';';
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
-				   // Background Gradient
1233
-				 if( !empty( $theme_settings['color']['gradient'] ) ){
1234
-					$css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1235
-				}
1232
+                    // Background Gradient
1233
+                    if( !empty( $theme_settings['color']['gradient'] ) ){
1234
+                    $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1235
+                }
1236 1236
 
1237
-				// text color
1238
-				if( !empty( $theme_settings['color']['text'] ) ){
1239
-					$css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';';
1240
-				}
1237
+                // text color
1238
+                if( !empty( $theme_settings['color']['text'] ) ){
1239
+                    $css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';';
1240
+                }
1241 1241
 
1242 1242
 
1243
-				// link colors
1244
-				if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){
1245
-					$css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';';
1246
-				}
1247
-				if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){
1248
-					$css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';';
1249
-				}
1243
+                // link colors
1244
+                if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){
1245
+                    $css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';';
1246
+                }
1247
+                if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){
1248
+                    $css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';';
1249
+                }
1250 1250
 
1251
-				if($css){
1252
-					$custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}';
1253
-				}
1251
+                if($css){
1252
+                    $custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}';
1253
+                }
1254 1254
 
1255
-				$bep = $is_fse ? 'body.editor-styles-wrapper ' : '';
1255
+                $bep = $is_fse ? 'body.editor-styles-wrapper ' : '';
1256 1256
 
1257
-				// Headings
1258
-				$headings_css = '';
1259
-				if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){
1260
-					$headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";";
1261
-				}
1257
+                // Headings
1258
+                $headings_css = '';
1259
+                if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){
1260
+                    $headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";";
1261
+                }
1262 1262
 
1263
-				// heading background
1264
-				if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){
1265
-					$headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';';
1266
-				}
1263
+                // heading background
1264
+                if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){
1265
+                    $headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';';
1266
+                }
1267 1267
 
1268
-				 // heading font family
1269
-				if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){
1270
-					$headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily']  ) . ';';
1271
-				}
1268
+                    // heading font family
1269
+                if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){
1270
+                    $headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily']  ) . ';';
1271
+                }
1272 1272
 
1273
-				if( $headings_css ){
1274
-					$custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}";
1275
-				}
1273
+                if( $headings_css ){
1274
+                    $custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}";
1275
+                }
1276 1276
 
1277
-				$hs = array('h1','h2','h3','h4','h5','h6');
1277
+                $hs = array('h1','h2','h3','h4','h5','h6');
1278 1278
 
1279
-				foreach($hs as $hn){
1280
-					$h_css = '';
1281
-					 if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){
1282
-						$h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';';
1283
-					 }
1279
+                foreach($hs as $hn){
1280
+                    $h_css = '';
1281
+                        if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){
1282
+                        $h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';';
1283
+                        }
1284 1284
 
1285
-					  if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){
1286
-						$h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize']  ) . ';';
1287
-					 }
1285
+                        if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){
1286
+                        $h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize']  ) . ';';
1287
+                        }
1288 1288
 
1289
-					  if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){
1290
-						$h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily']  ) . ';';
1291
-					 }
1289
+                        if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){
1290
+                        $h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily']  ) . ';';
1291
+                        }
1292 1292
 
1293
-					 if($h_css){
1294
-						$custom_css .= esc_attr( $bep  . $hn ) . '{'.esc_attr( $h_css ).'}';
1295
-					 }
1296
-				}
1297
-			}
1293
+                        if($h_css){
1294
+                        $custom_css .= esc_attr( $bep  . $hn ) . '{'.esc_attr( $h_css ).'}';
1295
+                        }
1296
+                }
1297
+            }
1298 1298
 			
1299
-			if ( $custom_css ) {
1300
-				echo $custom_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1301
-			}
1299
+            if ( $custom_css ) {
1300
+                echo $custom_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1301
+            }
1302 1302
 
1303
-			// Pagination on Hello Elementor theme.
1304
-			if ( function_exists( 'hello_elementor_setup' ) ) {
1305
-				echo '.aui-nav-links .pagination{justify-content:inherit}';
1306
-			}
1303
+            // Pagination on Hello Elementor theme.
1304
+            if ( function_exists( 'hello_elementor_setup' ) ) {
1305
+                echo '.aui-nav-links .pagination{justify-content:inherit}';
1306
+            }
1307 1307
 
1308 1308
             // Astra theme - when woocommerce active they add compatibility CSS which breaks select2 in modals
1309 1309
             if( defined('ASTRA_THEME_VERSION')){
1310 1310
                 echo '.woocommerce-js.modal-open .select2-container .select2-dropdown, .woocommerce-js.modal-open .select2-container .select2-search__field, .woocommerce-page.modal-open .select2-container .select2-dropdown, .woocommerce-page.modal-open .select2-container .select2-search__field{z-index: 1056;}';
1311 1311
             }
1312 1312
 
1313
-			?></style><?php
1314
-			$custom_css = ob_get_clean();
1313
+            ?></style><?php
1314
+            $custom_css = ob_get_clean();
1315 1315
 
1316
-			/*
1316
+            /*
1317 1317
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1318 1318
 			 */
1319
-			return str_replace( array(
1320
-				'<style>',
1321
-				'</style>'
1322
-			), '', self::minify_css( $custom_css ) );
1323
-		}
1324
-
1325
-		/**
1326
-		 * Check if we should add booststrap 3 compatibility changes.
1327
-		 *
1328
-		 * @return bool
1329
-		 */
1330
-		public static function is_bs3_compat(){
1331
-			return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1332
-		}
1333
-
1334
-		public static function hex_to_rgb( $hex ) {
1335
-			// Remove '#' if present
1336
-			$hex = str_replace( '#', '', $hex );
1337
-
1338
-			// Check if input is RGB
1339
-			if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) {
1340
-				$_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) );
1341
-
1342
-				$rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ',';
1343
-				$rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ',';
1344
-				$rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' );
1345
-
1346
-				return $rgb;
1347
-			}
1348
-
1349
-			// Convert 3-digit hex to 6-digit hex
1350
-			if ( strlen( $hex ) == 3 ) {
1351
-				$hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
1352
-			}
1353
-
1354
-			// Convert hex to RGB
1355
-			$r = hexdec( substr( $hex, 0, 2 ) );
1356
-			$g = hexdec( substr( $hex, 2, 2 ) );
1357
-			$b = hexdec( substr( $hex, 4, 2 ) );
1358
-
1359
-			// Return RGB values as an array
1360
-			return $r . ',' . $g . ',' . $b;
1361
-		}
1362
-
1363
-		/**
1364
-		 * Build the CSS to overwrite a bootstrap color variable.
1365
-		 *
1366
-		 * @param $type
1367
-		 * @param $color_code
1368
-		 * @param $compatibility
1369
-		 *
1370
-		 * @return string
1371
-		 */
1372
-		public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1373
-			global $aui_bs5;
1374
-
1375
-			$is_var = false;
1376
-			$is_custom = strpos($type, 'custom-') !== false ? true : false;
1377
-			if(!$color_code){return '';}
1378
-			if(strpos($color_code, 'var') !== false){
1379
-				//if(!sanitize_hex_color($color_code)){
1380
-				$color_code = esc_attr($color_code);
1381
-				$is_var = true;
1319
+            return str_replace( array(
1320
+                '<style>',
1321
+                '</style>'
1322
+            ), '', self::minify_css( $custom_css ) );
1323
+        }
1324
+
1325
+        /**
1326
+         * Check if we should add booststrap 3 compatibility changes.
1327
+         *
1328
+         * @return bool
1329
+         */
1330
+        public static function is_bs3_compat(){
1331
+            return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1332
+        }
1333
+
1334
+        public static function hex_to_rgb( $hex ) {
1335
+            // Remove '#' if present
1336
+            $hex = str_replace( '#', '', $hex );
1337
+
1338
+            // Check if input is RGB
1339
+            if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) {
1340
+                $_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) );
1341
+
1342
+                $rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ',';
1343
+                $rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ',';
1344
+                $rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' );
1345
+
1346
+                return $rgb;
1347
+            }
1348
+
1349
+            // Convert 3-digit hex to 6-digit hex
1350
+            if ( strlen( $hex ) == 3 ) {
1351
+                $hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
1352
+            }
1353
+
1354
+            // Convert hex to RGB
1355
+            $r = hexdec( substr( $hex, 0, 2 ) );
1356
+            $g = hexdec( substr( $hex, 2, 2 ) );
1357
+            $b = hexdec( substr( $hex, 4, 2 ) );
1358
+
1359
+            // Return RGB values as an array
1360
+            return $r . ',' . $g . ',' . $b;
1361
+        }
1362
+
1363
+        /**
1364
+         * Build the CSS to overwrite a bootstrap color variable.
1365
+         *
1366
+         * @param $type
1367
+         * @param $color_code
1368
+         * @param $compatibility
1369
+         *
1370
+         * @return string
1371
+         */
1372
+        public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1373
+            global $aui_bs5;
1374
+
1375
+            $is_var = false;
1376
+            $is_custom = strpos($type, 'custom-') !== false ? true : false;
1377
+            if(!$color_code){return '';}
1378
+            if(strpos($color_code, 'var') !== false){
1379
+                //if(!sanitize_hex_color($color_code)){
1380
+                $color_code = esc_attr($color_code);
1381
+                $is_var = true;
1382 1382
 //				$color_code = "rgba($color_code, 0.5)";
1383 1383
 //                echo '###1'.$color_code.'###';//exit;
1384
-			}
1384
+            }
1385 1385
 
1386 1386
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1387 1387
 
1388
-			if(!$color_code){return '';}
1388
+            if(!$color_code){return '';}
1389 1389
 
1390
-			$rgb = self::hex_to_rgb($hex);
1390
+            $rgb = self::hex_to_rgb($hex);
1391 1391
 
1392
-			if($compatibility===true || $compatibility===1){
1393
-				$compatibility = '.bsui';
1394
-			}elseif(!$compatibility){
1395
-				$compatibility = '';
1396
-			}else{
1397
-				$compatibility = esc_attr($compatibility);
1398
-			}
1392
+            if($compatibility===true || $compatibility===1){
1393
+                $compatibility = '.bsui';
1394
+            }elseif(!$compatibility){
1395
+                $compatibility = '';
1396
+            }else{
1397
+                $compatibility = esc_attr($compatibility);
1398
+            }
1399 1399
 
1400
-			$prefix = $compatibility ? $compatibility . " " : "";
1400
+            $prefix = $compatibility ? $compatibility . " " : "";
1401 1401
 
1402 1402
 
1403 1403
             $output = '';
1404 1404
 
1405 1405
 //            echo '####'.$color_code;exit;
1406 1406
 
1407
-			$type = sanitize_html_class($type);
1407
+            $type = sanitize_html_class($type);
1408
+
1409
+            /**
1410
+             * c = color, b = background color, o = border-color, f = fill
1411
+             */
1412
+            $selectors = array(
1413
+                ".btn-{$type}"                                              => array( 'b', 'o' ),
1414
+                ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1415
+                ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1416
+                ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1417
+                ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1418
+                ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1419
+                ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1420
+                ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1421
+                ".badge-{$type}"                                            => array( 'b' ),
1422
+                ".alert-{$type}"                                            => array( 'b', 'o' ),
1423
+                ".bg-{$type}"                                               => array( 'b', 'f' ),
1424
+                ".btn-link.btn-{$type}"                                     => array( 'c' ),
1425
+                ".text-{$type}"                                     => array( 'c' ),
1426
+            );
1427
+
1428
+            if ( $aui_bs5 ) {
1429
+                unset($selectors[".alert-{$type}" ]);
1430
+            }
1408 1431
 
1409
-			/**
1410
-			 * c = color, b = background color, o = border-color, f = fill
1411
-			 */
1412
-			$selectors = array(
1413
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1414
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1415
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1416
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1417
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1418
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1419
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1420
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1421
-				".badge-{$type}"                                            => array( 'b' ),
1422
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1423
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1424
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1425
-				".text-{$type}"                                     => array( 'c' ),
1426
-			);
1427
-
1428
-			if ( $aui_bs5 ) {
1429
-				unset($selectors[".alert-{$type}" ]);
1430
-			}
1431
-
1432
-			if ( $type == 'primary' ) {
1433
-				$selectors = $selectors + array(
1434
-						'a'                                                                                                    => array( 'c' ),
1435
-						'.btn-link'                                                                                            => array( 'c' ),
1436
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1437
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1438
-							'b',
1439
-							'o'
1440
-						),
1441
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1442
-							'b',
1443
-							'o'
1444
-						),
1445
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1446
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1447
-						'.page-link'                                                                                           => array( 'c' ),
1448
-						'.page-item.active .page-link'                                                                         => array(
1449
-							'b',
1450
-							'o'
1451
-						),
1452
-						'.progress-bar'                                                                                        => array( 'b' ),
1453
-						'.list-group-item.active'                                                                              => array(
1454
-							'b',
1455
-							'o'
1456
-						),
1457
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1458
-					);
1459
-			}
1432
+            if ( $type == 'primary' ) {
1433
+                $selectors = $selectors + array(
1434
+                        'a'                                                                                                    => array( 'c' ),
1435
+                        '.btn-link'                                                                                            => array( 'c' ),
1436
+                        '.dropdown-item.active'                                                                                => array( 'b' ),
1437
+                        '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1438
+                            'b',
1439
+                            'o'
1440
+                        ),
1441
+                        '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1442
+                            'b',
1443
+                            'o'
1444
+                        ),
1445
+                        '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1446
+                        '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1447
+                        '.page-link'                                                                                           => array( 'c' ),
1448
+                        '.page-item.active .page-link'                                                                         => array(
1449
+                            'b',
1450
+                            'o'
1451
+                        ),
1452
+                        '.progress-bar'                                                                                        => array( 'b' ),
1453
+                        '.list-group-item.active'                                                                              => array(
1454
+                            'b',
1455
+                            'o'
1456
+                        ),
1457
+                        '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1458
+                    );
1459
+            }
1460 1460
 
1461 1461
 
1462 1462
 
1463 1463
             // link
1464
-			if ( $type === 'primary' ) {
1465
-				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1466
-				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1467
-				$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).'; }';
1464
+            if ( $type === 'primary' ) {
1465
+                $output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1466
+                $output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1467
+                $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).'; }';
1468 1468
 
1469
-				$output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1470
-				$output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1469
+                $output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1470
+                $output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1471 1471
 
1472 1472
                 // dropdown
1473
-				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1473
+                $output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1474 1474
 
1475 1475
                 // pagination
1476
-				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1476
+                $output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1477 1477
 
1478
-			} else if ( $aui_bs5 ) {
1479
-				$output .= $prefix . ' .text-' . sanitize_key( $type ) . '{color: var(--bs-' . sanitize_key( $type ) . ') !important;}';
1480
-			}
1478
+            } else if ( $aui_bs5 ) {
1479
+                $output .= $prefix . ' .text-' . sanitize_key( $type ) . '{color: var(--bs-' . sanitize_key( $type ) . ') !important;}';
1480
+            }
1481 1481
 
1482
-			$output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1483
-			$output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1482
+            $output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1483
+            $output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1484 1484
 
1485
-			//  buttons
1486
-			$output .= $prefix . ' .btn-'.esc_attr($type).'{';
1487
-			$output .= ' 
1485
+            //  buttons
1486
+            $output .= $prefix . ' .btn-'.esc_attr($type).'{';
1487
+            $output .= ' 
1488 1488
             --bs-btn-bg: '.esc_attr($color_code).';
1489 1489
             --bs-btn-border-color: '.esc_attr($color_code).';
1490 1490
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1502,11 +1502,11 @@  discard block
 block discarded – undo
1502 1502
 //			--bs-btn-active-color: #fff;
1503 1503
 //			--bs-btn-disabled-color: #fff;
1504 1504
 //            ';
1505
-			$output .= '}';
1505
+            $output .= '}';
1506 1506
 
1507
-			//  buttons outline
1508
-			$output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1509
-			$output .= ' 
1507
+            //  buttons outline
1508
+            $output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1509
+            $output .= ' 
1510 1510
 			--bs-btn-color: '.esc_attr($color_code).';
1511 1511
             --bs-btn-border-color: '.esc_attr($color_code).';
1512 1512
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1524,41 +1524,41 @@  discard block
 block discarded – undo
1524 1524
 //			--bs-btn-active-color: #fff;
1525 1525
 //			--bs-btn-disabled-color: #fff;
1526 1526
 //            ';
1527
-			$output .= '}';
1527
+            $output .= '}';
1528 1528
 
1529 1529
             // button hover
1530
-			$output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1531
-			$output .= ' 
1530
+            $output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1531
+            $output .= ' 
1532 1532
             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);
1533 1533
             }
1534 1534
             ';
1535 1535
 
1536
-			if ( $aui_bs5 ) {
1537
-				// translucent primary
1538
-				if ( $type == 'primary' ) {
1539
-					$output .= $prefix . ' .btn-translucent-primary{color:rgb(var(--bs-primary-rgb));}';
1540
-					$output .= $prefix . ' .btn-translucent-primary:hover,' . $prefix . ' .btn-translucent-primary:focus,' . $prefix . ' .btn-translucent-primary.focus{background-color: rgb(var(--bs-primary-rgb));}';
1541
-				}
1536
+            if ( $aui_bs5 ) {
1537
+                // translucent primary
1538
+                if ( $type == 'primary' ) {
1539
+                    $output .= $prefix . ' .btn-translucent-primary{color:rgb(var(--bs-primary-rgb));}';
1540
+                    $output .= $prefix . ' .btn-translucent-primary:hover,' . $prefix . ' .btn-translucent-primary:focus,' . $prefix . ' .btn-translucent-primary.focus{background-color: rgb(var(--bs-primary-rgb));}';
1541
+                }
1542 1542
 
1543 1543
 //				$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).'; }';
1544
-				$output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1545
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1546
-			}
1544
+                $output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1545
+                $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1546
+            }
1547 1547
 
1548 1548
 
1549
-			if ( $is_custom ) {
1549
+            if ( $is_custom ) {
1550 1550
 
1551 1551
 //				echo '###'.$type;exit;
1552 1552
 
1553
-				// build rules into each type
1554
-				foreach($selectors as $selector => $types){
1555
-					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1556
-					$types = array_combine($types,$types);
1557
-					if(isset($types['c'])){$color[] = $selector;}
1558
-					if(isset($types['b'])){$background[] = $selector;}
1559
-					if(isset($types['o'])){$border[] = $selector;}
1560
-					if(isset($types['f'])){$fill[] = $selector;}
1561
-				}
1553
+                // build rules into each type
1554
+                foreach($selectors as $selector => $types){
1555
+                    $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1556
+                    $types = array_combine($types,$types);
1557
+                    if(isset($types['c'])){$color[] = $selector;}
1558
+                    if(isset($types['b'])){$background[] = $selector;}
1559
+                    if(isset($types['o'])){$border[] = $selector;}
1560
+                    if(isset($types['f'])){$fill[] = $selector;}
1561
+                }
1562 1562
 
1563 1563
 //				// build rules into each type
1564 1564
 //				foreach($important_selectors as $selector => $types){
@@ -1570,853 +1570,853 @@  discard block
 block discarded – undo
1570 1570
 //					if(isset($types['f'])){$fill_i[] = $selector;}
1571 1571
 //				}
1572 1572
 
1573
-				// add any color rules
1574
-				if(!empty($color)){
1575
-					$output .= implode(",",$color) . "{color: $color_code;} ";
1576
-				}
1577
-				if(!empty($color_i)){
1578
-					$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1579
-				}
1573
+                // add any color rules
1574
+                if(!empty($color)){
1575
+                    $output .= implode(",",$color) . "{color: $color_code;} ";
1576
+                }
1577
+                if(!empty($color_i)){
1578
+                    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1579
+                }
1580
+
1581
+                // add any background color rules
1582
+                if(!empty($background)){
1583
+                    $output .= implode(",",$background) . "{background-color: $color_code;} ";
1584
+                }
1585
+                if(!empty($background_i)){
1586
+                    $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1587
+//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1588
+                }
1589
+
1590
+                // add any border color rules
1591
+                if(!empty($border)){
1592
+                    $output .= implode(",",$border) . "{border-color: $color_code;} ";
1593
+                }
1594
+                if(!empty($border_i)){
1595
+                    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1596
+                }
1597
+
1598
+                // add any fill color rules
1599
+                if(!empty($fill)){
1600
+                    $output .= implode(",",$fill) . "{fill: $color_code;} ";
1601
+                }
1602
+                if(!empty($fill_i)){
1603
+                    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1604
+                }
1605
+
1606
+            }
1607
+
1608
+
1609
+
1610
+
1611
+            $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;' : '';
1612
+            // darken
1613
+            $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1614
+            $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1615
+            $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1616
+            $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1617
+
1618
+            // lighten
1619
+            $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1620
+
1621
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1622
+            $op_25 = $color_code."40"; // 25% opacity
1623
+
1624
+
1625
+            // button states
1626
+            $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1627
+            $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1628
+//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1629
+            $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;} ";
1630
+            $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.";} ";
1631
+            $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;} ";
1632
+            $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);} ";
1633
+
1634
+            // text
1635
+//			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
1636
+
1637
+
1638
+//			if ( $type == 'primary' ) {
1639
+//				// dropdown's
1640
+//				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1641
+//
1642
+//				// input states
1643
+//				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1644
+//
1645
+//				// page link
1646
+//				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1647
+//			}
1648
+
1649
+            // alerts
1650
+            if ( $aui_bs5 ) {
1651
+//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1652
+                $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;} ";
1653
+            }
1654
+
1655
+            return $output;
1656
+        }
1657
+
1658
+        /**
1659
+         * Build the CSS to overwrite a bootstrap color variable.
1660
+         *
1661
+         * @param $type
1662
+         * @param $color_code
1663
+         * @param $compatibility
1664
+         *
1665
+         * @return string
1666
+         */
1667
+        public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1668
+            global $aui_bs5;
1669
+
1670
+            $is_var = false;
1671
+            if(!$color_code){return '';}
1672
+            if(strpos($color_code, 'var') !== false){
1673
+                //if(!sanitize_hex_color($color_code)){
1674
+                $color_code = esc_attr($color_code);
1675
+                $is_var = true;
1676
+//				$color_code = "rgba($color_code, 0.5)";
1677
+//                echo '###1'.$color_code.'###';//exit;
1678
+            }
1679
+
1680
+//            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1681
+
1682
+            if(!$color_code){return '';}
1683
+
1684
+            $rgb = self::hex_to_rgb($hex);
1685
+
1686
+            if($compatibility===true || $compatibility===1){
1687
+                $compatibility = '.bsui';
1688
+            }elseif(!$compatibility){
1689
+                $compatibility = '';
1690
+            }else{
1691
+                $compatibility = esc_attr($compatibility);
1692
+            }
1693
+
1694
+
1695
+
1696
+//            echo '####'.$color_code;exit;
1697
+
1698
+            $type = sanitize_html_class($type);
1699
+
1700
+            /**
1701
+             * c = color, b = background color, o = border-color, f = fill
1702
+             */
1703
+            $selectors = array(
1704
+                ".btn-{$type}"                                              => array( 'b', 'o' ),
1705
+                ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1706
+                ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1707
+                ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1708
+                ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1709
+                ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1710
+                ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1711
+                ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1712
+                ".badge-{$type}"                                            => array( 'b' ),
1713
+                ".alert-{$type}"                                            => array( 'b', 'o' ),
1714
+                ".bg-{$type}"                                               => array( 'b', 'f' ),
1715
+                ".btn-link.btn-{$type}"                                     => array( 'c' ),
1716
+            );
1717
+
1718
+            if ( $aui_bs5 ) {
1719
+                unset($selectors[".alert-{$type}" ]);
1720
+            }
1721
+
1722
+            if ( $type == 'primary' ) {
1723
+                $selectors = $selectors + array(
1724
+                        'a'                                                                                                    => array( 'c' ),
1725
+                        '.btn-link'                                                                                            => array( 'c' ),
1726
+                        '.dropdown-item.active'                                                                                => array( 'b' ),
1727
+                        '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1728
+                            'b',
1729
+                            'o'
1730
+                        ),
1731
+                        '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1732
+                            'b',
1733
+                            'o'
1734
+                        ),
1735
+                        '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1736
+                        '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1737
+                        '.page-link'                                                                                           => array( 'c' ),
1738
+                        '.page-item.active .page-link'                                                                         => array(
1739
+                            'b',
1740
+                            'o'
1741
+                        ),
1742
+                        '.progress-bar'                                                                                        => array( 'b' ),
1743
+                        '.list-group-item.active'                                                                              => array(
1744
+                            'b',
1745
+                            'o'
1746
+                        ),
1747
+                        '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1748
+//				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1749
+//				    '.custom-range::-moz-range-thumb' => array('b'),
1750
+//				    '.custom-range::-ms-thumb' => array('b'),
1751
+                    );
1752
+            }
1753
+
1754
+            $important_selectors = array(
1755
+                ".bg-{$type}" => array('b','f'),
1756
+                ".border-{$type}" => array('o'),
1757
+                ".text-{$type}" => array('c'),
1758
+            );
1759
+
1760
+            $color = array();
1761
+            $color_i = array();
1762
+            $background = array();
1763
+            $background_i = array();
1764
+            $border = array();
1765
+            $border_i = array();
1766
+            $fill = array();
1767
+            $fill_i = array();
1768
+
1769
+            $output = '';
1770
+
1771
+            if ( $aui_bs5 ) {
1772
+//				$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).'; }';
1773
+                $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1774
+            }
1775
+
1776
+            // build rules into each type
1777
+            foreach($selectors as $selector => $types){
1778
+                $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1779
+                $types = array_combine($types,$types);
1780
+                if(isset($types['c'])){$color[] = $selector;}
1781
+                if(isset($types['b'])){$background[] = $selector;}
1782
+                if(isset($types['o'])){$border[] = $selector;}
1783
+                if(isset($types['f'])){$fill[] = $selector;}
1784
+            }
1785
+
1786
+            // build rules into each type
1787
+            foreach($important_selectors as $selector => $types){
1788
+                $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1789
+                $types = array_combine($types,$types);
1790
+                if(isset($types['c'])){$color_i[] = $selector;}
1791
+                if(isset($types['b'])){$background_i[] = $selector;}
1792
+                if(isset($types['o'])){$border_i[] = $selector;}
1793
+                if(isset($types['f'])){$fill_i[] = $selector;}
1794
+            }
1795
+
1796
+            // add any color rules
1797
+            if(!empty($color)){
1798
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1799
+            }
1800
+            if(!empty($color_i)){
1801
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1802
+            }
1803
+
1804
+            // add any background color rules
1805
+            if(!empty($background)){
1806
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1807
+            }
1808
+            if(!empty($background_i)){
1809
+                $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1810
+//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1811
+            }
1812
+
1813
+            // add any border color rules
1814
+            if(!empty($border)){
1815
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1816
+            }
1817
+            if(!empty($border_i)){
1818
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1819
+            }
1820
+
1821
+            // add any fill color rules
1822
+            if(!empty($fill)){
1823
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1824
+            }
1825
+            if(!empty($fill_i)){
1826
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1827
+            }
1828
+
1829
+
1830
+            $prefix = $compatibility ? $compatibility . " " : "";
1831
+
1832
+            $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;' : '';
1833
+            // darken
1834
+            $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1835
+            $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1836
+            $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1837
+            $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1838
+
1839
+            // lighten
1840
+            $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1841
+
1842
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1843
+            $op_25 = $color_code."40"; // 25% opacity
1844
+
1845
+
1846
+            // button states
1847
+            $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1848
+            $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1849
+//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1850
+            $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;} ";
1851
+            $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.";} ";
1852
+            $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;} ";
1853
+
1854
+            if ( $type == 'primary' ) {
1855
+                // dropdown's
1856
+                $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1857
+
1858
+                // input states
1859
+                $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1860
+
1861
+                // page link
1862
+                $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1863
+            }
1864
+
1865
+            // alerts
1866
+            if ( $aui_bs5 ) {
1867
+//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1868
+                $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;} ";
1869
+            }
1870
+
1871
+            return $output;
1872
+        }
1873
+
1874
+        /**
1875
+         *
1876
+         * @deprecated 0.1.76 Use css_overwrite()
1877
+         *
1878
+         * @param $color_code
1879
+         * @param $compatibility
1880
+         * @param $use_variable
1881
+         *
1882
+         * @return string
1883
+         */
1884
+        public static function css_primary($color_code,$compatibility, $use_variable = false){
1885
+
1886
+            if(!$use_variable){
1887
+                $color_code = sanitize_hex_color($color_code);
1888
+                if(!$color_code){return '';}
1889
+            }
1890
+
1891
+            /**
1892
+             * c = color, b = background color, o = border-color, f = fill
1893
+             */
1894
+            $selectors = array(
1895
+                'a' => array('c'),
1896
+                '.btn-primary' => array('b','o'),
1897
+                '.btn-primary.disabled' => array('b','o'),
1898
+                '.btn-primary:disabled' => array('b','o'),
1899
+                '.btn-outline-primary' => array('c','o'),
1900
+                '.btn-outline-primary:hover' => array('b','o'),
1901
+                '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1902
+                '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1903
+                '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1904
+                '.btn-link' => array('c'),
1905
+                '.dropdown-item.active' => array('b'),
1906
+                '.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1907
+                '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1908
+//				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1909
+//				'.custom-range::-moz-range-thumb' => array('b'),
1910
+//				'.custom-range::-ms-thumb' => array('b'),
1911
+                '.nav-pills .nav-link.active' => array('b'),
1912
+                '.nav-pills .show>.nav-link' => array('b'),
1913
+                '.page-link' => array('c'),
1914
+                '.page-item.active .page-link' => array('b','o'),
1915
+                '.badge-primary' => array('b'),
1916
+                '.alert-primary' => array('b','o'),
1917
+                '.progress-bar' => array('b'),
1918
+                '.list-group-item.active' => array('b','o'),
1919
+                '.bg-primary' => array('b','f'),
1920
+                '.btn-link.btn-primary' => array('c'),
1921
+                '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1922
+            );
1923
+
1924
+            $important_selectors = array(
1925
+                '.bg-primary' => array('b','f'),
1926
+                '.border-primary' => array('o'),
1927
+                '.text-primary' => array('c'),
1928
+            );
1929
+
1930
+            $color = array();
1931
+            $color_i = array();
1932
+            $background = array();
1933
+            $background_i = array();
1934
+            $border = array();
1935
+            $border_i = array();
1936
+            $fill = array();
1937
+            $fill_i = array();
1938
+
1939
+            $output = '';
1940
+
1941
+            // build rules into each type
1942
+            foreach($selectors as $selector => $types){
1943
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1944
+                $types = array_combine($types,$types);
1945
+                if(isset($types['c'])){$color[] = $selector;}
1946
+                if(isset($types['b'])){$background[] = $selector;}
1947
+                if(isset($types['o'])){$border[] = $selector;}
1948
+                if(isset($types['f'])){$fill[] = $selector;}
1949
+            }
1950
+
1951
+            // build rules into each type
1952
+            foreach($important_selectors as $selector => $types){
1953
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1954
+                $types = array_combine($types,$types);
1955
+                if(isset($types['c'])){$color_i[] = $selector;}
1956
+                if(isset($types['b'])){$background_i[] = $selector;}
1957
+                if(isset($types['o'])){$border_i[] = $selector;}
1958
+                if(isset($types['f'])){$fill_i[] = $selector;}
1959
+            }
1960
+
1961
+            // add any color rules
1962
+            if(!empty($color)){
1963
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1964
+            }
1965
+            if(!empty($color_i)){
1966
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1967
+            }
1968
+
1969
+            // add any background color rules
1970
+            if(!empty($background)){
1971
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1972
+            }
1973
+            if(!empty($background_i)){
1974
+                $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1975
+            }
1976
+
1977
+            // add any border color rules
1978
+            if(!empty($border)){
1979
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1980
+            }
1981
+            if(!empty($border_i)){
1982
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1983
+            }
1984
+
1985
+            // add any fill color rules
1986
+            if(!empty($fill)){
1987
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1988
+            }
1989
+            if(!empty($fill_i)){
1990
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1991
+            }
1992
+
1580 1993
 
1581
-				// add any background color rules
1582
-				if(!empty($background)){
1583
-					$output .= implode(",",$background) . "{background-color: $color_code;} ";
1584
-				}
1585
-				if(!empty($background_i)){
1586
-					$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1587
-//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1588
-				}
1994
+            $prefix = $compatibility ? ".bsui " : "";
1589 1995
 
1590
-				// add any border color rules
1591
-				if(!empty($border)){
1592
-					$output .= implode(",",$border) . "{border-color: $color_code;} ";
1593
-				}
1594
-				if(!empty($border_i)){
1595
-					$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1596
-				}
1996
+            // darken
1997
+            $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1998
+            $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1999
+            $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1597 2000
 
1598
-				// add any fill color rules
1599
-				if(!empty($fill)){
1600
-					$output .= implode(",",$fill) . "{fill: $color_code;} ";
1601
-				}
1602
-				if(!empty($fill_i)){
1603
-					$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1604
-				}
2001
+            // lighten
2002
+            $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1605 2003
 
1606
-			}
2004
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
2005
+            $op_25 = $color_code."40"; // 25% opacity
1607 2006
 
1608 2007
 
2008
+            // button states
2009
+            $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2010
+            $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;} ";
2011
+            $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.";} ";
2012
+            $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;} ";
1609 2013
 
1610 2014
 
1611
-			$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;' : '';
1612
-			// darken
1613
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1614
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1615
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1616
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
2015
+            // dropdown's
2016
+            $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1617 2017
 
1618
-			// lighten
1619
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1620 2018
 
1621
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1622
-			$op_25 = $color_code."40"; // 25% opacity
2019
+            // input states
2020
+            $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1623 2021
 
2022
+            // page link
2023
+            $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1624 2024
 
1625
-			// button states
1626
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1627
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1628
-//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1629
-			$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;} ";
1630
-			$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.";} ";
1631
-            $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;} ";
1632
-            $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);} ";
2025
+            return $output;
2026
+        }
1633 2027
 
1634
-			// text
1635
-//			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
2028
+        /**
2029
+         *
2030
+         * @deprecated 0.1.76 Use css_overwrite()
2031
+         *
2032
+         * @param $color_code
2033
+         * @param $compatibility
2034
+         *
2035
+         * @return string
2036
+         */
2037
+        public static function css_secondary($color_code,$compatibility){;
2038
+            $color_code = sanitize_hex_color($color_code);
2039
+            if(!$color_code){return '';}
2040
+            /**
2041
+             * c = color, b = background color, o = border-color, f = fill
2042
+             */
2043
+            $selectors = array(
2044
+                '.btn-secondary' => array('b','o'),
2045
+                '.btn-secondary.disabled' => array('b','o'),
2046
+                '.btn-secondary:disabled' => array('b','o'),
2047
+                '.btn-outline-secondary' => array('c','o'),
2048
+                '.btn-outline-secondary:hover' => array('b','o'),
2049
+                '.btn-outline-secondary.disabled' => array('c'),
2050
+                '.btn-outline-secondary:disabled' => array('c'),
2051
+                '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2052
+                '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2053
+                '.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2054
+                '.badge-secondary' => array('b'),
2055
+                '.alert-secondary' => array('b','o'),
2056
+                '.btn-link.btn-secondary' => array('c'),
2057
+            );
2058
+
2059
+            $important_selectors = array(
2060
+                '.bg-secondary' => array('b','f'),
2061
+                '.border-secondary' => array('o'),
2062
+                '.text-secondary' => array('c'),
2063
+            );
2064
+
2065
+            $color = array();
2066
+            $color_i = array();
2067
+            $background = array();
2068
+            $background_i = array();
2069
+            $border = array();
2070
+            $border_i = array();
2071
+            $fill = array();
2072
+            $fill_i = array();
1636 2073
 
2074
+            $output = '';
1637 2075
 
1638
-//			if ( $type == 'primary' ) {
1639
-//				// dropdown's
1640
-//				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1641
-//
1642
-//				// input states
1643
-//				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1644
-//
1645
-//				// page link
1646
-//				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1647
-//			}
2076
+            // build rules into each type
2077
+            foreach($selectors as $selector => $types){
2078
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
2079
+                $types = array_combine($types,$types);
2080
+                if(isset($types['c'])){$color[] = $selector;}
2081
+                if(isset($types['b'])){$background[] = $selector;}
2082
+                if(isset($types['o'])){$border[] = $selector;}
2083
+                if(isset($types['f'])){$fill[] = $selector;}
2084
+            }
1648 2085
 
1649
-			// alerts
1650
-			if ( $aui_bs5 ) {
1651
-//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1652
-				$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;} ";
1653
-			}
1654
-
1655
-			return $output;
1656
-		}
1657
-
1658
-		/**
1659
-		 * Build the CSS to overwrite a bootstrap color variable.
1660
-		 *
1661
-		 * @param $type
1662
-		 * @param $color_code
1663
-		 * @param $compatibility
1664
-		 *
1665
-		 * @return string
1666
-		 */
1667
-		public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1668
-            global $aui_bs5;
2086
+            // build rules into each type
2087
+            foreach($important_selectors as $selector => $types){
2088
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
2089
+                $types = array_combine($types,$types);
2090
+                if(isset($types['c'])){$color_i[] = $selector;}
2091
+                if(isset($types['b'])){$background_i[] = $selector;}
2092
+                if(isset($types['o'])){$border_i[] = $selector;}
2093
+                if(isset($types['f'])){$fill_i[] = $selector;}
2094
+            }
1669 2095
 
1670
-			$is_var = false;
1671
-			if(!$color_code){return '';}
1672
-			if(strpos($color_code, 'var') !== false){
1673
-				//if(!sanitize_hex_color($color_code)){
1674
-				$color_code = esc_attr($color_code);
1675
-				$is_var = true;
1676
-//				$color_code = "rgba($color_code, 0.5)";
1677
-//                echo '###1'.$color_code.'###';//exit;
1678
-			}
2096
+            // add any color rules
2097
+            if(!empty($color)){
2098
+                $output .= implode(",",$color) . "{color: $color_code;} ";
2099
+            }
2100
+            if(!empty($color_i)){
2101
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2102
+            }
1679 2103
 
1680
-//            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
2104
+            // add any background color rules
2105
+            if(!empty($background)){
2106
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
2107
+            }
2108
+            if(!empty($background_i)){
2109
+                $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2110
+            }
1681 2111
 
1682
-			if(!$color_code){return '';}
2112
+            // add any border color rules
2113
+            if(!empty($border)){
2114
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
2115
+            }
2116
+            if(!empty($border_i)){
2117
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2118
+            }
1683 2119
 
1684
-            $rgb = self::hex_to_rgb($hex);
2120
+            // add any fill color rules
2121
+            if(!empty($fill)){
2122
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
2123
+            }
2124
+            if(!empty($fill_i)){
2125
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2126
+            }
1685 2127
 
1686
-			if($compatibility===true || $compatibility===1){
1687
-				$compatibility = '.bsui';
1688
-			}elseif(!$compatibility){
1689
-				$compatibility = '';
1690
-			}else{
1691
-				$compatibility = esc_attr($compatibility);
1692
-			}
1693 2128
 
2129
+            $prefix = $compatibility ? ".bsui " : "";
1694 2130
 
2131
+            // darken
2132
+            $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2133
+            $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2134
+            $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1695 2135
 
1696
-//            echo '####'.$color_code;exit;
2136
+            // lighten
2137
+            $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1697 2138
 
1698
-			$type = sanitize_html_class($type);
2139
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
2140
+            $op_25 = $color_code."40"; // 25% opacity
1699 2141
 
1700
-			/**
1701
-			 * c = color, b = background color, o = border-color, f = fill
1702
-			 */
1703
-			$selectors = array(
1704
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1705
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1706
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1707
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1708
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1709
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1710
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1711
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1712
-				".badge-{$type}"                                            => array( 'b' ),
1713
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1714
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1715
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1716
-			);
1717
-
1718
-			if ( $aui_bs5 ) {
1719
-                unset($selectors[".alert-{$type}" ]);
1720
-			}
1721
-
1722
-			if ( $type == 'primary' ) {
1723
-				$selectors = $selectors + array(
1724
-						'a'                                                                                                    => array( 'c' ),
1725
-						'.btn-link'                                                                                            => array( 'c' ),
1726
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1727
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1728
-							'b',
1729
-							'o'
1730
-						),
1731
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1732
-							'b',
1733
-							'o'
1734
-						),
1735
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1736
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1737
-						'.page-link'                                                                                           => array( 'c' ),
1738
-						'.page-item.active .page-link'                                                                         => array(
1739
-							'b',
1740
-							'o'
1741
-						),
1742
-						'.progress-bar'                                                                                        => array( 'b' ),
1743
-						'.list-group-item.active'                                                                              => array(
1744
-							'b',
1745
-							'o'
1746
-						),
1747
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1748
-//				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1749
-//				    '.custom-range::-moz-range-thumb' => array('b'),
1750
-//				    '.custom-range::-ms-thumb' => array('b'),
1751
-					);
1752
-			}
1753
-
1754
-			$important_selectors = array(
1755
-				".bg-{$type}" => array('b','f'),
1756
-				".border-{$type}" => array('o'),
1757
-				".text-{$type}" => array('c'),
1758
-			);
1759
-
1760
-			$color = array();
1761
-			$color_i = array();
1762
-			$background = array();
1763
-			$background_i = array();
1764
-			$border = array();
1765
-			$border_i = array();
1766
-			$fill = array();
1767
-			$fill_i = array();
1768
-
1769
-			$output = '';
1770
-
1771
-			if ( $aui_bs5 ) {
1772
-//				$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).'; }';
1773
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1774
-			}
1775
-
1776
-			// build rules into each type
1777
-			foreach($selectors as $selector => $types){
1778
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1779
-				$types = array_combine($types,$types);
1780
-				if(isset($types['c'])){$color[] = $selector;}
1781
-				if(isset($types['b'])){$background[] = $selector;}
1782
-				if(isset($types['o'])){$border[] = $selector;}
1783
-				if(isset($types['f'])){$fill[] = $selector;}
1784
-			}
1785
-
1786
-			// build rules into each type
1787
-			foreach($important_selectors as $selector => $types){
1788
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1789
-				$types = array_combine($types,$types);
1790
-				if(isset($types['c'])){$color_i[] = $selector;}
1791
-				if(isset($types['b'])){$background_i[] = $selector;}
1792
-				if(isset($types['o'])){$border_i[] = $selector;}
1793
-				if(isset($types['f'])){$fill_i[] = $selector;}
1794
-			}
1795
-
1796
-			// add any color rules
1797
-			if(!empty($color)){
1798
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1799
-			}
1800
-			if(!empty($color_i)){
1801
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1802
-			}
1803
-
1804
-			// add any background color rules
1805
-			if(!empty($background)){
1806
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1807
-			}
1808
-			if(!empty($background_i)){
1809
-				$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1810
-//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1811
-			}
1812 2142
 
1813
-			// add any border color rules
1814
-			if(!empty($border)){
1815
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1816
-			}
1817
-			if(!empty($border_i)){
1818
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1819
-			}
2143
+            // button states
2144
+            $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2145
+            $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;} ";
2146
+            $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.";} ";
2147
+            $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;} ";
1820 2148
 
1821
-			// add any fill color rules
1822
-			if(!empty($fill)){
1823
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1824
-			}
1825
-			if(!empty($fill_i)){
1826
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1827
-			}
1828 2149
 
2150
+            return $output;
2151
+        }
1829 2152
 
1830
-			$prefix = $compatibility ? $compatibility . " " : "";
2153
+        /**
2154
+         * Increases or decreases the brightness of a color by a percentage of the current brightness.
2155
+         *
2156
+         * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
2157
+         * @param   float   $adjustPercent  A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker.
2158
+         *
2159
+         * @return  string
2160
+         */
2161
+        public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2162
+            $hexCode = ltrim($hexCode, '#');
1831 2163
 
1832
-			$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;' : '';
1833
-			// darken
1834
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1835
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1836
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1837
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
2164
+            if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2165
+                return $hexCode;
2166
+            }
1838 2167
 
1839
-			// lighten
1840
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
2168
+            if (strlen($hexCode) == 3) {
2169
+                $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
2170
+            }
1841 2171
 
1842
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1843
-			$op_25 = $color_code."40"; // 25% opacity
2172
+            $hexCode = array_map('hexdec', str_split($hexCode, 2));
1844 2173
 
2174
+            foreach ($hexCode as & $color) {
2175
+                $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2176
+                $adjustAmount = ceil($adjustableLimit * $adjustPercent);
1845 2177
 
1846
-			// button states
1847
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1848
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1849
-//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1850
-			$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;} ";
1851
-			$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.";} ";
1852
-			$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;} ";
2178
+                $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2179
+            }
1853 2180
 
1854
-			if ( $type == 'primary' ) {
1855
-				// dropdown's
1856
-				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2181
+            return '#' . implode($hexCode);
2182
+        }
1857 2183
 
1858
-				// input states
1859
-				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
2184
+        /**
2185
+         * Check if we should display examples.
2186
+         */
2187
+        public function maybe_show_examples(){
2188
+            if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2189
+                echo "<head>";
2190
+                wp_head();
2191
+                echo "</head>";
2192
+                echo "<body>";
2193
+                echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2194
+                echo "</body>";
2195
+                exit;
2196
+            }
2197
+        }
1860 2198
 
1861
-				// page link
1862
-				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1863
-			}
2199
+        /**
2200
+         * Get developer examples.
2201
+         *
2202
+         * @return string
2203
+         */
2204
+        public function get_examples(){
2205
+            $output = '';
1864 2206
 
1865
-            // alerts
1866
-			if ( $aui_bs5 ) {
1867
-//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1868
-				$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;} ";
1869
-			}
1870
-
1871
-			return $output;
1872
-		}
1873
-
1874
-		/**
1875
-		 *
1876
-		 * @deprecated 0.1.76 Use css_overwrite()
1877
-		 *
1878
-		 * @param $color_code
1879
-		 * @param $compatibility
1880
-		 * @param $use_variable
1881
-		 *
1882
-		 * @return string
1883
-		 */
1884
-		public static function css_primary($color_code,$compatibility, $use_variable = false){
1885
-
1886
-			if(!$use_variable){
1887
-				$color_code = sanitize_hex_color($color_code);
1888
-				if(!$color_code){return '';}
1889
-			}
1890
-
1891
-			/**
1892
-			 * c = color, b = background color, o = border-color, f = fill
1893
-			 */
1894
-			$selectors = array(
1895
-				'a' => array('c'),
1896
-				'.btn-primary' => array('b','o'),
1897
-				'.btn-primary.disabled' => array('b','o'),
1898
-				'.btn-primary:disabled' => array('b','o'),
1899
-				'.btn-outline-primary' => array('c','o'),
1900
-				'.btn-outline-primary:hover' => array('b','o'),
1901
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1902
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1903
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1904
-				'.btn-link' => array('c'),
1905
-				'.dropdown-item.active' => array('b'),
1906
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1907
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1908
-//				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1909
-//				'.custom-range::-moz-range-thumb' => array('b'),
1910
-//				'.custom-range::-ms-thumb' => array('b'),
1911
-				'.nav-pills .nav-link.active' => array('b'),
1912
-				'.nav-pills .show>.nav-link' => array('b'),
1913
-				'.page-link' => array('c'),
1914
-				'.page-item.active .page-link' => array('b','o'),
1915
-				'.badge-primary' => array('b'),
1916
-				'.alert-primary' => array('b','o'),
1917
-				'.progress-bar' => array('b'),
1918
-				'.list-group-item.active' => array('b','o'),
1919
-				'.bg-primary' => array('b','f'),
1920
-				'.btn-link.btn-primary' => array('c'),
1921
-				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1922
-			);
1923
-
1924
-			$important_selectors = array(
1925
-				'.bg-primary' => array('b','f'),
1926
-				'.border-primary' => array('o'),
1927
-				'.text-primary' => array('c'),
1928
-			);
1929
-
1930
-			$color = array();
1931
-			$color_i = array();
1932
-			$background = array();
1933
-			$background_i = array();
1934
-			$border = array();
1935
-			$border_i = array();
1936
-			$fill = array();
1937
-			$fill_i = array();
1938
-
1939
-			$output = '';
1940
-
1941
-			// build rules into each type
1942
-			foreach($selectors as $selector => $types){
1943
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1944
-				$types = array_combine($types,$types);
1945
-				if(isset($types['c'])){$color[] = $selector;}
1946
-				if(isset($types['b'])){$background[] = $selector;}
1947
-				if(isset($types['o'])){$border[] = $selector;}
1948
-				if(isset($types['f'])){$fill[] = $selector;}
1949
-			}
1950
-
1951
-			// build rules into each type
1952
-			foreach($important_selectors as $selector => $types){
1953
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1954
-				$types = array_combine($types,$types);
1955
-				if(isset($types['c'])){$color_i[] = $selector;}
1956
-				if(isset($types['b'])){$background_i[] = $selector;}
1957
-				if(isset($types['o'])){$border_i[] = $selector;}
1958
-				if(isset($types['f'])){$fill_i[] = $selector;}
1959
-			}
1960
-
1961
-			// add any color rules
1962
-			if(!empty($color)){
1963
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1964
-			}
1965
-			if(!empty($color_i)){
1966
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1967
-			}
1968
-
1969
-			// add any background color rules
1970
-			if(!empty($background)){
1971
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1972
-			}
1973
-			if(!empty($background_i)){
1974
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1975
-			}
1976
-
1977
-			// add any border color rules
1978
-			if(!empty($border)){
1979
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1980
-			}
1981
-			if(!empty($border_i)){
1982
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1983
-			}
1984
-
1985
-			// add any fill color rules
1986
-			if(!empty($fill)){
1987
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1988
-			}
1989
-			if(!empty($fill_i)){
1990
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1991
-			}
1992
-
1993
-
1994
-			$prefix = $compatibility ? ".bsui " : "";
1995
-
1996
-			// darken
1997
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1998
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1999
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2000
-
2001
-			// lighten
2002
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2003
-
2004
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
2005
-			$op_25 = $color_code."40"; // 25% opacity
2006
-
2007
-
2008
-			// button states
2009
-			$output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2010
-			$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;} ";
2011
-			$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.";} ";
2012
-			$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;} ";
2013
-
2014
-
2015
-			// dropdown's
2016
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2017
-
2018
-
2019
-			// input states
2020
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
2021
-
2022
-			// page link
2023
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2024
-
2025
-			return $output;
2026
-		}
2027
-
2028
-		/**
2029
-		 *
2030
-		 * @deprecated 0.1.76 Use css_overwrite()
2031
-		 *
2032
-		 * @param $color_code
2033
-		 * @param $compatibility
2034
-		 *
2035
-		 * @return string
2036
-		 */
2037
-		public static function css_secondary($color_code,$compatibility){;
2038
-			$color_code = sanitize_hex_color($color_code);
2039
-			if(!$color_code){return '';}
2040
-			/**
2041
-			 * c = color, b = background color, o = border-color, f = fill
2042
-			 */
2043
-			$selectors = array(
2044
-				'.btn-secondary' => array('b','o'),
2045
-				'.btn-secondary.disabled' => array('b','o'),
2046
-				'.btn-secondary:disabled' => array('b','o'),
2047
-				'.btn-outline-secondary' => array('c','o'),
2048
-				'.btn-outline-secondary:hover' => array('b','o'),
2049
-				'.btn-outline-secondary.disabled' => array('c'),
2050
-				'.btn-outline-secondary:disabled' => array('c'),
2051
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2052
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2053
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2054
-				'.badge-secondary' => array('b'),
2055
-				'.alert-secondary' => array('b','o'),
2056
-				'.btn-link.btn-secondary' => array('c'),
2057
-			);
2058
-
2059
-			$important_selectors = array(
2060
-				'.bg-secondary' => array('b','f'),
2061
-				'.border-secondary' => array('o'),
2062
-				'.text-secondary' => array('c'),
2063
-			);
2064
-
2065
-			$color = array();
2066
-			$color_i = array();
2067
-			$background = array();
2068
-			$background_i = array();
2069
-			$border = array();
2070
-			$border_i = array();
2071
-			$fill = array();
2072
-			$fill_i = array();
2073
-
2074
-			$output = '';
2075
-
2076
-			// build rules into each type
2077
-			foreach($selectors as $selector => $types){
2078
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2079
-				$types = array_combine($types,$types);
2080
-				if(isset($types['c'])){$color[] = $selector;}
2081
-				if(isset($types['b'])){$background[] = $selector;}
2082
-				if(isset($types['o'])){$border[] = $selector;}
2083
-				if(isset($types['f'])){$fill[] = $selector;}
2084
-			}
2085
-
2086
-			// build rules into each type
2087
-			foreach($important_selectors as $selector => $types){
2088
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2089
-				$types = array_combine($types,$types);
2090
-				if(isset($types['c'])){$color_i[] = $selector;}
2091
-				if(isset($types['b'])){$background_i[] = $selector;}
2092
-				if(isset($types['o'])){$border_i[] = $selector;}
2093
-				if(isset($types['f'])){$fill_i[] = $selector;}
2094
-			}
2095
-
2096
-			// add any color rules
2097
-			if(!empty($color)){
2098
-				$output .= implode(",",$color) . "{color: $color_code;} ";
2099
-			}
2100
-			if(!empty($color_i)){
2101
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2102
-			}
2103
-
2104
-			// add any background color rules
2105
-			if(!empty($background)){
2106
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
2107
-			}
2108
-			if(!empty($background_i)){
2109
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2110
-			}
2111
-
2112
-			// add any border color rules
2113
-			if(!empty($border)){
2114
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
2115
-			}
2116
-			if(!empty($border_i)){
2117
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2118
-			}
2119
-
2120
-			// add any fill color rules
2121
-			if(!empty($fill)){
2122
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
2123
-			}
2124
-			if(!empty($fill_i)){
2125
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2126
-			}
2127
-
2128
-
2129
-			$prefix = $compatibility ? ".bsui " : "";
2130
-
2131
-			// darken
2132
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2133
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2134
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2135
-
2136
-			// lighten
2137
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2138
-
2139
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
2140
-			$op_25 = $color_code."40"; // 25% opacity
2141
-
2142
-
2143
-			// button states
2144
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2145
-			$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;} ";
2146
-			$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.";} ";
2147
-			$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;} ";
2148
-
2149
-
2150
-			return $output;
2151
-		}
2152
-
2153
-		/**
2154
-		 * Increases or decreases the brightness of a color by a percentage of the current brightness.
2155
-		 *
2156
-		 * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
2157
-		 * @param   float   $adjustPercent  A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker.
2158
-		 *
2159
-		 * @return  string
2160
-		 */
2161
-		public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2162
-			$hexCode = ltrim($hexCode, '#');
2163
-
2164
-			if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2165
-				return $hexCode;
2166
-			}
2167
-
2168
-			if (strlen($hexCode) == 3) {
2169
-				$hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
2170
-			}
2171
-
2172
-			$hexCode = array_map('hexdec', str_split($hexCode, 2));
2173
-
2174
-			foreach ($hexCode as & $color) {
2175
-				$adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2176
-				$adjustAmount = ceil($adjustableLimit * $adjustPercent);
2177
-
2178
-				$color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2179
-			}
2180
-
2181
-			return '#' . implode($hexCode);
2182
-		}
2183
-
2184
-		/**
2185
-		 * Check if we should display examples.
2186
-		 */
2187
-		public function maybe_show_examples(){
2188
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2189
-				echo "<head>";
2190
-				wp_head();
2191
-				echo "</head>";
2192
-				echo "<body>";
2193
-				echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2194
-				echo "</body>";
2195
-				exit;
2196
-			}
2197
-		}
2198
-
2199
-		/**
2200
-		 * Get developer examples.
2201
-		 *
2202
-		 * @return string
2203
-		 */
2204
-		public function get_examples(){
2205
-			$output = '';
2206
-
2207
-
2208
-			// open form
2209
-			$output .= "<form class='p-5 m-5 border rounded'>";
2210
-
2211
-			// input example
2212
-			$output .= aui()->input(array(
2213
-				'type'  =>  'text',
2214
-				'id'    =>  'text-example',
2215
-				'name'    =>  'text-example',
2216
-				'placeholder'   => 'text placeholder',
2217
-				'title'   => 'Text input example',
2218
-				'value' =>  '',
2219
-				'required'  => false,
2220
-				'help_text' => 'help text',
2221
-				'label' => 'Text input example label'
2222
-			));
2223
-
2224
-			// input example
2225
-			$output .= aui()->input(array(
2226
-				'type'  =>  'url',
2227
-				'id'    =>  'text-example2',
2228
-				'name'    =>  'text-example',
2229
-				'placeholder'   => 'url placeholder',
2230
-				'title'   => 'Text input example',
2231
-				'value' =>  '',
2232
-				'required'  => false,
2233
-				'help_text' => 'help text',
2234
-				'label' => 'Text input example label'
2235
-			));
2236
-
2237
-			// checkbox example
2238
-			$output .= aui()->input(array(
2239
-				'type'  =>  'checkbox',
2240
-				'id'    =>  'checkbox-example',
2241
-				'name'    =>  'checkbox-example',
2242
-				'placeholder'   => 'checkbox-example',
2243
-				'title'   => 'Checkbox example',
2244
-				'value' =>  '1',
2245
-				'checked'   => true,
2246
-				'required'  => false,
2247
-				'help_text' => 'help text',
2248
-				'label' => 'Checkbox checked'
2249
-			));
2250
-
2251
-			// checkbox example
2252
-			$output .= aui()->input(array(
2253
-				'type'  =>  'checkbox',
2254
-				'id'    =>  'checkbox-example2',
2255
-				'name'    =>  'checkbox-example2',
2256
-				'placeholder'   => 'checkbox-example',
2257
-				'title'   => 'Checkbox example',
2258
-				'value' =>  '1',
2259
-				'checked'   => false,
2260
-				'required'  => false,
2261
-				'help_text' => 'help text',
2262
-				'label' => 'Checkbox un-checked'
2263
-			));
2264
-
2265
-			// switch example
2266
-			$output .= aui()->input(array(
2267
-				'type'  =>  'checkbox',
2268
-				'id'    =>  'switch-example',
2269
-				'name'    =>  'switch-example',
2270
-				'placeholder'   => 'checkbox-example',
2271
-				'title'   => 'Switch example',
2272
-				'value' =>  '1',
2273
-				'checked'   => true,
2274
-				'switch'    => true,
2275
-				'required'  => false,
2276
-				'help_text' => 'help text',
2277
-				'label' => 'Switch on'
2278
-			));
2279
-
2280
-			// switch example
2281
-			$output .= aui()->input(array(
2282
-				'type'  =>  'checkbox',
2283
-				'id'    =>  'switch-example2',
2284
-				'name'    =>  'switch-example2',
2285
-				'placeholder'   => 'checkbox-example',
2286
-				'title'   => 'Switch example',
2287
-				'value' =>  '1',
2288
-				'checked'   => false,
2289
-				'switch'    => true,
2290
-				'required'  => false,
2291
-				'help_text' => 'help text',
2292
-				'label' => 'Switch off'
2293
-			));
2294
-
2295
-			// close form
2296
-			$output .= "</form>";
2297
-
2298
-			return $output;
2299
-		}
2300
-
2301
-		/**
2302
-		 * Calendar params.
2303
-		 *
2304
-		 * @since 0.1.44
2305
-		 *
2306
-		 * @return array Calendar params.
2307
-		 */
2308
-		public static function calendar_params() {
2309
-			$params = array(
2310
-				'month_long_1' => __( 'January', 'ayecode-connect' ),
2311
-				'month_long_2' => __( 'February', 'ayecode-connect' ),
2312
-				'month_long_3' => __( 'March', 'ayecode-connect' ),
2313
-				'month_long_4' => __( 'April', 'ayecode-connect' ),
2314
-				'month_long_5' => __( 'May', 'ayecode-connect' ),
2315
-				'month_long_6' => __( 'June', 'ayecode-connect' ),
2316
-				'month_long_7' => __( 'July', 'ayecode-connect' ),
2317
-				'month_long_8' => __( 'August', 'ayecode-connect' ),
2318
-				'month_long_9' => __( 'September', 'ayecode-connect' ),
2319
-				'month_long_10' => __( 'October', 'ayecode-connect' ),
2320
-				'month_long_11' => __( 'November', 'ayecode-connect' ),
2321
-				'month_long_12' => __( 'December', 'ayecode-connect' ),
2322
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2323
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2324
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2325
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2326
-				'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2327
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2328
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2329
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2330
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2331
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2332
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2333
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2334
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2335
-				'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2336
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2337
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2338
-				'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2339
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2340
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2341
-				'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2342
-				'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2343
-				'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2344
-				'day_s2_4' => __( 'We', 'ayecode-connect' ),
2345
-				'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2346
-				'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2347
-				'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2348
-				'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2349
-				'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2350
-				'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2351
-				'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2352
-				'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2353
-				'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2354
-				'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2355
-				'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2356
-				'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2357
-				'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2358
-				'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2359
-				'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2360
-				'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2361
-				'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2362
-				'am_lower' => __( 'am', 'ayecode-connect' ),
2363
-				'pm_lower' => __( 'pm', 'ayecode-connect' ),
2364
-				'am_upper' => __( 'AM', 'ayecode-connect' ),
2365
-				'pm_upper' => __( 'PM', 'ayecode-connect' ),
2366
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2367
-				'time_24hr' => false,
2368
-				'year' => __( 'Year', 'ayecode-connect' ),
2369
-				'hour' => __( 'Hour', 'ayecode-connect' ),
2370
-				'minute' => __( 'Minute', 'ayecode-connect' ),
2371
-				'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2372
-				'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2373
-				'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2374
-				'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2375
-			);
2376
-
2377
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
2378
-		}
2379
-
2380
-		/**
2381
-		 * Flatpickr calendar localize.
2382
-		 *
2383
-		 * @since 0.1.44
2384
-		 *
2385
-		 * @return string Calendar locale.
2386
-		 */
2387
-		public static function flatpickr_locale() {
2388
-			$params = self::calendar_params();
2389
-
2390
-			if ( is_string( $params ) ) {
2391
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2392
-			} else {
2393
-				foreach ( (array) $params as $key => $value ) {
2394
-					if ( ! is_scalar( $value ) ) {
2395
-						continue;
2396
-					}
2397
-
2398
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2399
-				}
2400
-			}
2401 2207
 
2402
-			$day_s3 = array();
2403
-			$day_s5 = array();
2208
+            // open form
2209
+            $output .= "<form class='p-5 m-5 border rounded'>";
2210
+
2211
+            // input example
2212
+            $output .= aui()->input(array(
2213
+                'type'  =>  'text',
2214
+                'id'    =>  'text-example',
2215
+                'name'    =>  'text-example',
2216
+                'placeholder'   => 'text placeholder',
2217
+                'title'   => 'Text input example',
2218
+                'value' =>  '',
2219
+                'required'  => false,
2220
+                'help_text' => 'help text',
2221
+                'label' => 'Text input example label'
2222
+            ));
2223
+
2224
+            // input example
2225
+            $output .= aui()->input(array(
2226
+                'type'  =>  'url',
2227
+                'id'    =>  'text-example2',
2228
+                'name'    =>  'text-example',
2229
+                'placeholder'   => 'url placeholder',
2230
+                'title'   => 'Text input example',
2231
+                'value' =>  '',
2232
+                'required'  => false,
2233
+                'help_text' => 'help text',
2234
+                'label' => 'Text input example label'
2235
+            ));
2236
+
2237
+            // checkbox example
2238
+            $output .= aui()->input(array(
2239
+                'type'  =>  'checkbox',
2240
+                'id'    =>  'checkbox-example',
2241
+                'name'    =>  'checkbox-example',
2242
+                'placeholder'   => 'checkbox-example',
2243
+                'title'   => 'Checkbox example',
2244
+                'value' =>  '1',
2245
+                'checked'   => true,
2246
+                'required'  => false,
2247
+                'help_text' => 'help text',
2248
+                'label' => 'Checkbox checked'
2249
+            ));
2250
+
2251
+            // checkbox example
2252
+            $output .= aui()->input(array(
2253
+                'type'  =>  'checkbox',
2254
+                'id'    =>  'checkbox-example2',
2255
+                'name'    =>  'checkbox-example2',
2256
+                'placeholder'   => 'checkbox-example',
2257
+                'title'   => 'Checkbox example',
2258
+                'value' =>  '1',
2259
+                'checked'   => false,
2260
+                'required'  => false,
2261
+                'help_text' => 'help text',
2262
+                'label' => 'Checkbox un-checked'
2263
+            ));
2264
+
2265
+            // switch example
2266
+            $output .= aui()->input(array(
2267
+                'type'  =>  'checkbox',
2268
+                'id'    =>  'switch-example',
2269
+                'name'    =>  'switch-example',
2270
+                'placeholder'   => 'checkbox-example',
2271
+                'title'   => 'Switch example',
2272
+                'value' =>  '1',
2273
+                'checked'   => true,
2274
+                'switch'    => true,
2275
+                'required'  => false,
2276
+                'help_text' => 'help text',
2277
+                'label' => 'Switch on'
2278
+            ));
2279
+
2280
+            // switch example
2281
+            $output .= aui()->input(array(
2282
+                'type'  =>  'checkbox',
2283
+                'id'    =>  'switch-example2',
2284
+                'name'    =>  'switch-example2',
2285
+                'placeholder'   => 'checkbox-example',
2286
+                'title'   => 'Switch example',
2287
+                'value' =>  '1',
2288
+                'checked'   => false,
2289
+                'switch'    => true,
2290
+                'required'  => false,
2291
+                'help_text' => 'help text',
2292
+                'label' => 'Switch off'
2293
+            ));
2294
+
2295
+            // close form
2296
+            $output .= "</form>";
2297
+
2298
+            return $output;
2299
+        }
2300
+
2301
+        /**
2302
+         * Calendar params.
2303
+         *
2304
+         * @since 0.1.44
2305
+         *
2306
+         * @return array Calendar params.
2307
+         */
2308
+        public static function calendar_params() {
2309
+            $params = array(
2310
+                'month_long_1' => __( 'January', 'ayecode-connect' ),
2311
+                'month_long_2' => __( 'February', 'ayecode-connect' ),
2312
+                'month_long_3' => __( 'March', 'ayecode-connect' ),
2313
+                'month_long_4' => __( 'April', 'ayecode-connect' ),
2314
+                'month_long_5' => __( 'May', 'ayecode-connect' ),
2315
+                'month_long_6' => __( 'June', 'ayecode-connect' ),
2316
+                'month_long_7' => __( 'July', 'ayecode-connect' ),
2317
+                'month_long_8' => __( 'August', 'ayecode-connect' ),
2318
+                'month_long_9' => __( 'September', 'ayecode-connect' ),
2319
+                'month_long_10' => __( 'October', 'ayecode-connect' ),
2320
+                'month_long_11' => __( 'November', 'ayecode-connect' ),
2321
+                'month_long_12' => __( 'December', 'ayecode-connect' ),
2322
+                'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2323
+                'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2324
+                'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2325
+                'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2326
+                'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2327
+                'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2328
+                'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2329
+                'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2330
+                'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2331
+                'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2332
+                'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2333
+                'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2334
+                'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2335
+                'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2336
+                'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2337
+                'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2338
+                'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2339
+                'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2340
+                'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2341
+                'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2342
+                'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2343
+                'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2344
+                'day_s2_4' => __( 'We', 'ayecode-connect' ),
2345
+                'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2346
+                'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2347
+                'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2348
+                'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2349
+                'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2350
+                'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2351
+                'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2352
+                'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2353
+                'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2354
+                'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2355
+                'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2356
+                'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2357
+                'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2358
+                'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2359
+                'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2360
+                'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2361
+                'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2362
+                'am_lower' => __( 'am', 'ayecode-connect' ),
2363
+                'pm_lower' => __( 'pm', 'ayecode-connect' ),
2364
+                'am_upper' => __( 'AM', 'ayecode-connect' ),
2365
+                'pm_upper' => __( 'PM', 'ayecode-connect' ),
2366
+                'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2367
+                'time_24hr' => false,
2368
+                'year' => __( 'Year', 'ayecode-connect' ),
2369
+                'hour' => __( 'Hour', 'ayecode-connect' ),
2370
+                'minute' => __( 'Minute', 'ayecode-connect' ),
2371
+                'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2372
+                'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2373
+                'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2374
+                'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2375
+            );
2376
+
2377
+            return apply_filters( 'ayecode_ui_calendar_params', $params );
2378
+        }
2379
+
2380
+        /**
2381
+         * Flatpickr calendar localize.
2382
+         *
2383
+         * @since 0.1.44
2384
+         *
2385
+         * @return string Calendar locale.
2386
+         */
2387
+        public static function flatpickr_locale() {
2388
+            $params = self::calendar_params();
2389
+
2390
+            if ( is_string( $params ) ) {
2391
+                $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2392
+            } else {
2393
+                foreach ( (array) $params as $key => $value ) {
2394
+                    if ( ! is_scalar( $value ) ) {
2395
+                        continue;
2396
+                    }
2397
+
2398
+                    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2399
+                }
2400
+            }
2404 2401
 
2405
-			for ( $i = 1; $i <= 7; $i ++ ) {
2406
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2407
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2408
-			}
2402
+            $day_s3 = array();
2403
+            $day_s5 = array();
2404
+
2405
+            for ( $i = 1; $i <= 7; $i ++ ) {
2406
+                $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2407
+                $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2408
+            }
2409 2409
 
2410
-			$month_s = array();
2411
-			$month_long = array();
2410
+            $month_s = array();
2411
+            $month_long = array();
2412 2412
 
2413
-			for ( $i = 1; $i <= 12; $i ++ ) {
2414
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2415
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2416
-			}
2413
+            for ( $i = 1; $i <= 12; $i ++ ) {
2414
+                $month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2415
+                $month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2416
+            }
2417 2417
 
2418
-			ob_start();
2419
-		if ( 0 ) { ?><script><?php } ?>
2418
+            ob_start();
2419
+        if ( 0 ) { ?><script><?php } ?>
2420 2420
                 {
2421 2421
                     weekdays: {
2422 2422
                         shorthand: ['<?php echo implode( "','", $day_s3 ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
@@ -2455,189 +2455,189 @@  discard block
 block discarded – undo
2455 2455
                 }
2456 2456
 				<?php if ( 0 ) { ?></script><?php } ?>
2457 2457
 			<?php
2458
-			$locale = ob_get_clean();
2459
-
2460
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2461
-		}
2462
-
2463
-		/**
2464
-		 * Select2 JS params.
2465
-		 *
2466
-		 * @since 0.1.44
2467
-		 *
2468
-		 * @return array Select2 JS params.
2469
-		 */
2470
-		public static function select2_params() {
2471
-			$params = array(
2472
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2473
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2474
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2475
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2476
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2477
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2478
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2479
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2480
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2481
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2482
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2483
-			);
2484
-
2485
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2486
-		}
2487
-
2488
-		/**
2489
-		 * Select2 JS localize.
2490
-		 *
2491
-		 * @since 0.1.44
2492
-		 *
2493
-		 * @return string Select2 JS locale.
2494
-		 */
2495
-		public static function select2_locale() {
2496
-			$params = self::select2_params();
2497
-
2498
-			foreach ( (array) $params as $key => $value ) {
2499
-				if ( ! is_scalar( $value ) ) {
2500
-					continue;
2501
-				}
2458
+            $locale = ob_get_clean();
2502 2459
 
2503
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2504
-			}
2505
-
2506
-			$locale = json_encode( $params );
2507
-
2508
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2509
-		}
2510
-
2511
-		/**
2512
-		 * Time ago JS localize.
2513
-		 *
2514
-		 * @since 0.1.47
2515
-		 *
2516
-		 * @return string Time ago JS locale.
2517
-		 */
2518
-		public static function timeago_locale() {
2519
-			$params = array(
2520
-				'prefix_ago' => '',
2521
-				'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2522
-				'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2523
-				'suffix_after' => '',
2524
-				'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2525
-				'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2526
-				'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2527
-				'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2528
-				'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2529
-				'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2530
-				'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2531
-				'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2532
-				'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2533
-				'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2534
-				'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2535
-			);
2536
-
2537
-			$params = apply_filters( 'ayecode_ui_timeago_params', $params );
2538
-
2539
-			foreach ( (array) $params as $key => $value ) {
2540
-				if ( ! is_scalar( $value ) ) {
2541
-					continue;
2542
-				}
2460
+            return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2461
+        }
2462
+
2463
+        /**
2464
+         * Select2 JS params.
2465
+         *
2466
+         * @since 0.1.44
2467
+         *
2468
+         * @return array Select2 JS params.
2469
+         */
2470
+        public static function select2_params() {
2471
+            $params = array(
2472
+                'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2473
+                'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2474
+                'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2475
+                'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2476
+                'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2477
+                'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2478
+                'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2479
+                'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2480
+                'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2481
+                'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2482
+                'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2483
+            );
2484
+
2485
+            return apply_filters( 'ayecode_ui_select2_params', $params );
2486
+        }
2487
+
2488
+        /**
2489
+         * Select2 JS localize.
2490
+         *
2491
+         * @since 0.1.44
2492
+         *
2493
+         * @return string Select2 JS locale.
2494
+         */
2495
+        public static function select2_locale() {
2496
+            $params = self::select2_params();
2497
+
2498
+            foreach ( (array) $params as $key => $value ) {
2499
+                if ( ! is_scalar( $value ) ) {
2500
+                    continue;
2501
+                }
2502
+
2503
+                $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2504
+            }
2505
+
2506
+            $locale = json_encode( $params );
2507
+
2508
+            return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2509
+        }
2510
+
2511
+        /**
2512
+         * Time ago JS localize.
2513
+         *
2514
+         * @since 0.1.47
2515
+         *
2516
+         * @return string Time ago JS locale.
2517
+         */
2518
+        public static function timeago_locale() {
2519
+            $params = array(
2520
+                'prefix_ago' => '',
2521
+                'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2522
+                'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2523
+                'suffix_after' => '',
2524
+                'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2525
+                'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2526
+                'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2527
+                'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2528
+                'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2529
+                'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2530
+                'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2531
+                'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2532
+                'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2533
+                'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2534
+                'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2535
+            );
2536
+
2537
+            $params = apply_filters( 'ayecode_ui_timeago_params', $params );
2538
+
2539
+            foreach ( (array) $params as $key => $value ) {
2540
+                if ( ! is_scalar( $value ) ) {
2541
+                    continue;
2542
+                }
2543 2543
 
2544
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2545
-			}
2546
-
2547
-			$locale = json_encode( $params );
2548
-
2549
-			return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2550
-		}
2551
-
2552
-		/**
2553
-		 * JavaScript Minifier
2554
-		 *
2555
-		 * @param $input
2556
-		 *
2557
-		 * @return mixed
2558
-		 */
2559
-		public static function minify_js($input) {
2560
-			if(trim($input) === "") return $input;
2561
-			return preg_replace(
2562
-				array(
2563
-					// Remove comment(s)
2564
-					'#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2565
-					// Remove white-space(s) outside the string and regex
2566
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2567
-					// Remove the last semicolon
2568
-					'#;+\}#',
2569
-					// Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2570
-					'#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2571
-					// --ibid. From `foo['bar']` to `foo.bar`
2572
-					'#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2573
-				),
2574
-				array(
2575
-					'$1',
2576
-					'$1$2',
2577
-					'}',
2578
-					'$1$3',
2579
-					'$1.$3'
2580
-				),
2581
-				$input);
2582
-		}
2583
-
2584
-		/**
2585
-		 * Minify CSS
2586
-		 *
2587
-		 * @param $input
2588
-		 *
2589
-		 * @return mixed
2590
-		 */
2591
-		public static function minify_css($input) {
2592
-			if(trim($input) === "") return $input;
2593
-			return preg_replace(
2594
-				array(
2595
-					// Remove comment(s)
2596
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2597
-					// Remove unused white-space(s)
2598
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2599
-					// Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2600
-					'#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2601
-					// Replace `:0 0 0 0` with `:0`
2602
-					'#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2603
-					// Replace `background-position:0` with `background-position:0 0`
2604
-					'#(background-position):0(?=[;\}])#si',
2605
-					// Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2606
-					'#(?<=[\s:,\-])0+\.(\d+)#s',
2607
-					// Minify string value
2608
-					'#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2609
-					'#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2610
-					// Minify HEX color code
2611
-					'#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2612
-					// Replace `(border|outline):none` with `(border|outline):0`
2613
-					'#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2614
-					// Remove empty selector(s)
2615
-					'#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2616
-				),
2617
-				array(
2618
-					'$1',
2619
-					'$1$2$3$4$5$6$7',
2620
-					'$1',
2621
-					':0',
2622
-					'$1:0 0',
2623
-					'.$1',
2624
-					'$1$3',
2625
-					'$1$2$4$5',
2626
-					'$1$2$3',
2627
-					'$1:0',
2628
-					'$1$2'
2629
-				),
2630
-				$input);
2631
-		}
2632
-
2633
-		/**
2634
-		 * Get the conditional fields JavaScript.
2635
-		 *
2636
-		 * @return mixed
2637
-		 */
2638
-		public function conditional_fields_js() {
2639
-			ob_start();
2640
-			?>
2544
+                $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2545
+            }
2546
+
2547
+            $locale = json_encode( $params );
2548
+
2549
+            return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2550
+        }
2551
+
2552
+        /**
2553
+         * JavaScript Minifier
2554
+         *
2555
+         * @param $input
2556
+         *
2557
+         * @return mixed
2558
+         */
2559
+        public static function minify_js($input) {
2560
+            if(trim($input) === "") return $input;
2561
+            return preg_replace(
2562
+                array(
2563
+                    // Remove comment(s)
2564
+                    '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2565
+                    // Remove white-space(s) outside the string and regex
2566
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2567
+                    // Remove the last semicolon
2568
+                    '#;+\}#',
2569
+                    // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2570
+                    '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2571
+                    // --ibid. From `foo['bar']` to `foo.bar`
2572
+                    '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2573
+                ),
2574
+                array(
2575
+                    '$1',
2576
+                    '$1$2',
2577
+                    '}',
2578
+                    '$1$3',
2579
+                    '$1.$3'
2580
+                ),
2581
+                $input);
2582
+        }
2583
+
2584
+        /**
2585
+         * Minify CSS
2586
+         *
2587
+         * @param $input
2588
+         *
2589
+         * @return mixed
2590
+         */
2591
+        public static function minify_css($input) {
2592
+            if(trim($input) === "") return $input;
2593
+            return preg_replace(
2594
+                array(
2595
+                    // Remove comment(s)
2596
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2597
+                    // Remove unused white-space(s)
2598
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2599
+                    // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2600
+                    '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2601
+                    // Replace `:0 0 0 0` with `:0`
2602
+                    '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2603
+                    // Replace `background-position:0` with `background-position:0 0`
2604
+                    '#(background-position):0(?=[;\}])#si',
2605
+                    // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2606
+                    '#(?<=[\s:,\-])0+\.(\d+)#s',
2607
+                    // Minify string value
2608
+                    '#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2609
+                    '#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2610
+                    // Minify HEX color code
2611
+                    '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2612
+                    // Replace `(border|outline):none` with `(border|outline):0`
2613
+                    '#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2614
+                    // Remove empty selector(s)
2615
+                    '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2616
+                ),
2617
+                array(
2618
+                    '$1',
2619
+                    '$1$2$3$4$5$6$7',
2620
+                    '$1',
2621
+                    ':0',
2622
+                    '$1:0 0',
2623
+                    '.$1',
2624
+                    '$1$3',
2625
+                    '$1$2$4$5',
2626
+                    '$1$2$3',
2627
+                    '$1:0',
2628
+                    '$1$2'
2629
+                ),
2630
+                $input);
2631
+        }
2632
+
2633
+        /**
2634
+         * Get the conditional fields JavaScript.
2635
+         *
2636
+         * @return mixed
2637
+         */
2638
+        public function conditional_fields_js() {
2639
+            ob_start();
2640
+            ?>
2641 2641
             <script>
2642 2642
                 /**
2643 2643
                  * Conditional Fields
@@ -3172,237 +3172,237 @@  discard block
 block discarded – undo
3172 3172
 				<?php do_action( 'aui_conditional_fields_js', $this ); ?>
3173 3173
             </script>
3174 3174
 			<?php
3175
-			$output = ob_get_clean();
3176
-
3177
-			return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3178
-		}
3179
-
3180
-		/**
3181
-		 * Check if block editor page.
3182
-		 *
3183
-		 * @since 0.2.27
3184
-		 *
3185
-		 * @return bool
3186
-		 */
3187
-		public static function is_block_editor() {
3188
-			if ( is_admin() ) {
3189
-				$current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array();
3190
-
3191
-				if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) {
3192
-					return true;
3193
-				}
3194
-			}
3195
-
3196
-			return false;
3197
-		}
3198
-
3199
-		/**
3200
-		 * Checks if the current call is a ajax call to get the block content.
3201
-		 *
3202
-		 * This can be used in your widget to return different content as the block content.
3203
-		 *
3204
-		 * @since 0.2.27
3205
-		 *
3206
-		 * @return bool
3207
-		 */
3208
-		public static function is_block_content_call() {
3209
-			$result = false;
3210
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3211
-				$result = true;
3212
-			}
3213
-
3214
-			return $result;
3215
-		}
3216
-
3217
-		/**
3218
-		 * Tests if the current output is inside a Divi preview.
3219
-		 *
3220
-		 * @since 0.2.27
3221
-		 *
3222
-		 * @return bool
3223
-		 */
3224
-		public static function is_divi_preview() {
3225
-			$result = false;
3226
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
3227
-				$result = true;
3228
-			}
3229
-
3230
-			return $result;
3231
-		}
3232
-
3233
-		/**
3234
-		 * Tests if the current output is inside a elementor preview.
3235
-		 *
3236
-		 *
3237
-		 * @since 0.2.27
3238
-		 *
3239
-		 * @return bool
3240
-		 */
3241
-		public static function is_elementor_preview() {
3242
-			$result = false;
3243
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
3244
-				$result = true;
3245
-			}
3246
-
3247
-			return $result;
3248
-		}
3249
-
3250
-		/**
3251
-		 * Tests if the current output is inside a Beaver builder preview.
3252
-		 *
3253
-		 * @since 0.2.27
3254
-		 *
3255
-		 * @return bool
3256
-		 */
3257
-		public static function is_beaver_preview() {
3258
-			$result = false;
3259
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
3260
-				$result = true;
3261
-			}
3262
-
3263
-			return $result;
3264
-		}
3265
-
3266
-		/**
3267
-		 * Tests if the current output is inside a siteorigin builder preview.
3268
-		 *
3269
-		 * @since 0.2.27
3270
-		 *
3271
-		 * @return bool
3272
-		 */
3273
-		public static function is_siteorigin_preview() {
3274
-			$result = false;
3275
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
3276
-				$result = true;
3277
-			}
3278
-
3279
-			return $result;
3280
-		}
3281
-
3282
-		/**
3283
-		 * Tests if the current output is inside a cornerstone builder preview.
3284
-		 *
3285
-		 * @since 0.2.27
3286
-		 *
3287
-		 * @return bool
3288
-		 */
3289
-		public static function is_cornerstone_preview() {
3290
-			$result = false;
3291
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
3292
-				$result = true;
3293
-			}
3294
-
3295
-			return $result;
3296
-		}
3297
-
3298
-		/**
3299
-		 * Tests if the current output is inside a fusion builder preview.
3300
-		 *
3301
-		 * @return bool
3302
-		 *@since 1.1.0
3303
-		 */
3304
-		public static function is_fusion_preview() {
3305
-			$result = false;
3306
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
3307
-				$result = true;
3308
-			}
3309
-
3310
-			return $result;
3311
-		}
3312
-
3313
-		/**
3314
-		 * Tests if the current output is inside a Oxygen builder preview.
3315
-		 *
3316
-		 * @return bool
3317
-		 *@since 1.0.18
3318
-		 */
3319
-		public static function is_oxygen_preview() {
3320
-			$result = false;
3321
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
3322
-				$result = true;
3323
-			}
3324
-
3325
-			return $result;
3326
-		}
3327
-
3328
-		/**
3329
-		 * Check for Kallyas theme Zion builder preview.
3330
-		 *
3331
-		 * @since 0.2.27
3332
-		 *
3333
-		 * @return bool
3334
-		 */
3335
-		public static function is_kallyas_zion_preview() {
3336
-			$result = false;
3337
-
3338
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
3339
-				$result = true;
3340
-			}
3341
-
3342
-			return $result;
3343
-		}
3344
-
3345
-		/**
3346
-		 * Check for Bricks theme builder preview.
3347
-		 *
3348
-		 * @since 0.2.27
3349
-		 *
3350
-		 * @return bool
3351
-		 */
3352
-		public static function is_bricks_preview() {
3353
-			$result = false;
3354
-
3355
-			if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
3356
-				$result = true;
3357
-			}
3358
-
3359
-			return $result;
3360
-		}
3361
-
3362
-		/**
3363
-		 * General function to check if we are in a preview situation.
3364
-		 *
3365
-		 * @since 0.2.27
3366
-		 *
3367
-		 * @return bool
3368
-		 */
3369
-		public static function is_preview() {
3370
-			$preview = false;
3371
-
3372
-			if ( self::is_block_editor() ) {
3373
-				return true;
3374
-			}
3375
-
3376
-			if( self::is_block_content_call() ) {
3377
-				$preview = true;
3378
-			} elseif ( self::is_divi_preview() ) {
3379
-				$preview = true;
3380
-			} elseif ( self::is_elementor_preview() ) {
3381
-				$preview = true;
3382
-			} elseif ( self::is_beaver_preview() ) {
3383
-				$preview = true;
3384
-			} elseif ( self::is_siteorigin_preview() ) {
3385
-				$preview = true;
3386
-			} elseif ( self::is_cornerstone_preview() ) {
3387
-				$preview = true;
3388
-			} elseif ( self::is_fusion_preview() ) {
3389
-				$preview = true;
3390
-			} elseif ( self::is_oxygen_preview() ) {
3391
-				$preview = true;
3392
-			} elseif( self::is_kallyas_zion_preview() ) {
3393
-				$preview = true;
3394
-			} elseif( self::is_bricks_preview() ) {
3395
-				$preview = true;
3396
-			}
3397
-
3398
-			return $preview;
3399
-		}
3400
-	}
3401
-
3402
-	global $ayecode_ui_settings;
3403
-
3404
-	/**
3405
-	 * Run the class if found.
3406
-	 */
3407
-	$ayecode_ui_settings = AyeCode_UI_Settings::instance();
3175
+            $output = ob_get_clean();
3176
+
3177
+            return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3178
+        }
3179
+
3180
+        /**
3181
+         * Check if block editor page.
3182
+         *
3183
+         * @since 0.2.27
3184
+         *
3185
+         * @return bool
3186
+         */
3187
+        public static function is_block_editor() {
3188
+            if ( is_admin() ) {
3189
+                $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array();
3190
+
3191
+                if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) {
3192
+                    return true;
3193
+                }
3194
+            }
3195
+
3196
+            return false;
3197
+        }
3198
+
3199
+        /**
3200
+         * Checks if the current call is a ajax call to get the block content.
3201
+         *
3202
+         * This can be used in your widget to return different content as the block content.
3203
+         *
3204
+         * @since 0.2.27
3205
+         *
3206
+         * @return bool
3207
+         */
3208
+        public static function is_block_content_call() {
3209
+            $result = false;
3210
+            if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3211
+                $result = true;
3212
+            }
3213
+
3214
+            return $result;
3215
+        }
3216
+
3217
+        /**
3218
+         * Tests if the current output is inside a Divi preview.
3219
+         *
3220
+         * @since 0.2.27
3221
+         *
3222
+         * @return bool
3223
+         */
3224
+        public static function is_divi_preview() {
3225
+            $result = false;
3226
+            if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
3227
+                $result = true;
3228
+            }
3229
+
3230
+            return $result;
3231
+        }
3232
+
3233
+        /**
3234
+         * Tests if the current output is inside a elementor preview.
3235
+         *
3236
+         *
3237
+         * @since 0.2.27
3238
+         *
3239
+         * @return bool
3240
+         */
3241
+        public static function is_elementor_preview() {
3242
+            $result = false;
3243
+            if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
3244
+                $result = true;
3245
+            }
3246
+
3247
+            return $result;
3248
+        }
3249
+
3250
+        /**
3251
+         * Tests if the current output is inside a Beaver builder preview.
3252
+         *
3253
+         * @since 0.2.27
3254
+         *
3255
+         * @return bool
3256
+         */
3257
+        public static function is_beaver_preview() {
3258
+            $result = false;
3259
+            if ( isset( $_REQUEST['fl_builder'] ) ) {
3260
+                $result = true;
3261
+            }
3262
+
3263
+            return $result;
3264
+        }
3265
+
3266
+        /**
3267
+         * Tests if the current output is inside a siteorigin builder preview.
3268
+         *
3269
+         * @since 0.2.27
3270
+         *
3271
+         * @return bool
3272
+         */
3273
+        public static function is_siteorigin_preview() {
3274
+            $result = false;
3275
+            if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
3276
+                $result = true;
3277
+            }
3278
+
3279
+            return $result;
3280
+        }
3281
+
3282
+        /**
3283
+         * Tests if the current output is inside a cornerstone builder preview.
3284
+         *
3285
+         * @since 0.2.27
3286
+         *
3287
+         * @return bool
3288
+         */
3289
+        public static function is_cornerstone_preview() {
3290
+            $result = false;
3291
+            if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
3292
+                $result = true;
3293
+            }
3294
+
3295
+            return $result;
3296
+        }
3297
+
3298
+        /**
3299
+         * Tests if the current output is inside a fusion builder preview.
3300
+         *
3301
+         * @return bool
3302
+         *@since 1.1.0
3303
+         */
3304
+        public static function is_fusion_preview() {
3305
+            $result = false;
3306
+            if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
3307
+                $result = true;
3308
+            }
3309
+
3310
+            return $result;
3311
+        }
3312
+
3313
+        /**
3314
+         * Tests if the current output is inside a Oxygen builder preview.
3315
+         *
3316
+         * @return bool
3317
+         *@since 1.0.18
3318
+         */
3319
+        public static function is_oxygen_preview() {
3320
+            $result = false;
3321
+            if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
3322
+                $result = true;
3323
+            }
3324
+
3325
+            return $result;
3326
+        }
3327
+
3328
+        /**
3329
+         * Check for Kallyas theme Zion builder preview.
3330
+         *
3331
+         * @since 0.2.27
3332
+         *
3333
+         * @return bool
3334
+         */
3335
+        public static function is_kallyas_zion_preview() {
3336
+            $result = false;
3337
+
3338
+            if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
3339
+                $result = true;
3340
+            }
3341
+
3342
+            return $result;
3343
+        }
3344
+
3345
+        /**
3346
+         * Check for Bricks theme builder preview.
3347
+         *
3348
+         * @since 0.2.27
3349
+         *
3350
+         * @return bool
3351
+         */
3352
+        public static function is_bricks_preview() {
3353
+            $result = false;
3354
+
3355
+            if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
3356
+                $result = true;
3357
+            }
3358
+
3359
+            return $result;
3360
+        }
3361
+
3362
+        /**
3363
+         * General function to check if we are in a preview situation.
3364
+         *
3365
+         * @since 0.2.27
3366
+         *
3367
+         * @return bool
3368
+         */
3369
+        public static function is_preview() {
3370
+            $preview = false;
3371
+
3372
+            if ( self::is_block_editor() ) {
3373
+                return true;
3374
+            }
3375
+
3376
+            if( self::is_block_content_call() ) {
3377
+                $preview = true;
3378
+            } elseif ( self::is_divi_preview() ) {
3379
+                $preview = true;
3380
+            } elseif ( self::is_elementor_preview() ) {
3381
+                $preview = true;
3382
+            } elseif ( self::is_beaver_preview() ) {
3383
+                $preview = true;
3384
+            } elseif ( self::is_siteorigin_preview() ) {
3385
+                $preview = true;
3386
+            } elseif ( self::is_cornerstone_preview() ) {
3387
+                $preview = true;
3388
+            } elseif ( self::is_fusion_preview() ) {
3389
+                $preview = true;
3390
+            } elseif ( self::is_oxygen_preview() ) {
3391
+                $preview = true;
3392
+            } elseif( self::is_kallyas_zion_preview() ) {
3393
+                $preview = true;
3394
+            } elseif( self::is_bricks_preview() ) {
3395
+                $preview = true;
3396
+            }
3397
+
3398
+            return $preview;
3399
+        }
3400
+    }
3401
+
3402
+    global $ayecode_ui_settings;
3403
+
3404
+    /**
3405
+     * Run the class if found.
3406
+     */
3407
+    $ayecode_ui_settings = AyeCode_UI_Settings::instance();
3408 3408
 }
3409 3409
\ No newline at end of file
Please login to merge, or discard this patch.
Switch Indentation   +2105 added lines, -2105 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@  discard block
 block discarded – undo
1
-<?php
1
+    <?php
2 2
 /**
3 3
  * A class for adjusting AyeCode UI settings on WordPress
4 4
  *
@@ -12,84 +12,84 @@  discard block
 block discarded – undo
12 12
 /**
13 13
  * Bail if we are not in WP.
14 14
  */
15
-if ( ! defined( 'ABSPATH' ) ) {
16
-	exit;
15
+    if ( ! defined( 'ABSPATH' ) ) {
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.
26 26
 	 *
27 27
 	 * Class AyeCode_UI_Settings
28 28
 	 * @ver 1.0.0
29 29
 	 * @todo decide how to implement textdomain
30 30
 	 */
31
-	class AyeCode_UI_Settings {
31
+	    class AyeCode_UI_Settings {
32 32
 
33
-		/**
33
+		    /**
34 34
 		 * Class version version.
35 35
 		 *
36 36
 		 * @var string
37 37
 		 */
38
-		public $version = '0.2.41';
38
+		    public $version = '0.2.41';
39 39
 
40
-		/**
40
+		    /**
41 41
 		 * Class textdomain.
42 42
 		 *
43 43
 		 * @var string
44 44
 		 */
45
-		public $textdomain = 'aui';
45
+		    public $textdomain = 'aui';
46 46
 
47
-		/**
47
+		    /**
48 48
 		 * Latest version of Bootstrap at time of publish published.
49 49
 		 *
50 50
 		 * @var string
51 51
 		 */
52
-		public $latest = "5.2.2";
52
+		    public $latest = "5.2.2";
53 53
 
54
-		/**
54
+		    /**
55 55
 		 * Current version of select2 being used.
56 56
 		 *
57 57
 		 * @var string
58 58
 		 */
59
-		public $select2_version = "4.0.11";
59
+		    public $select2_version = "4.0.11";
60 60
 
61
-		/**
61
+		    /**
62 62
 		 * The title.
63 63
 		 *
64 64
 		 * @var string
65 65
 		 */
66
-		public $name = 'AyeCode UI';
66
+		    public $name = 'AyeCode UI';
67 67
 
68
-		/**
68
+		    /**
69 69
 		 * The relative url to the assets.
70 70
 		 *
71 71
 		 * @var string
72 72
 		 */
73
-		public $url = '';
73
+		    public $url = '';
74 74
 
75
-		/**
75
+		    /**
76 76
 		 * Holds the settings values.
77 77
 		 *
78 78
 		 * @var array
79 79
 		 */
80
-		private $settings;
80
+		    private $settings;
81 81
 
82
-		/**
82
+		    /**
83 83
 		 * AyeCode_UI_Settings instance.
84 84
 		 *
85 85
 		 * @access private
86 86
 		 * @since  1.0.0
87 87
 		 * @var    AyeCode_UI_Settings There can be only one!
88 88
 		 */
89
-		private static $instance = null;
89
+		    private static $instance = null;
90 90
 
91 91
 
92
-		/**
92
+		    /**
93 93
 		 * Main AyeCode_UI_Settings Instance.
94 94
 		 *
95 95
 		 * Ensures only one instance of AyeCode_UI_Settings is loaded or can be loaded.
@@ -98,34 +98,34 @@  discard block
 block discarded – undo
98 98
 		 * @static
99 99
 		 * @return AyeCode_UI_Settings - Main instance.
100 100
 		 */
101
-		public static function instance() {
102
-			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
101
+		    public static function instance() {
102
+			    if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
103 103
 
104
-				self::$instance = new AyeCode_UI_Settings;
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
-					// Maybe show example page
113
-					add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) );
112
+					    // Maybe show example page
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 );
117
-					}
118
-				}
115
+					    if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
116
+						    add_filter( 'sd_aui_colors', array( self::$instance,'sd_aui_colors' ), 10, 3 );
117
+					    }
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' );
123
-			}
122
+				    do_action( 'ayecode_ui_settings_loaded' );
123
+			    }
124 124
 
125
-			return self::$instance;
126
-		}
125
+			    return self::$instance;
126
+		    }
127 127
 
128
-		/**
128
+		    /**
129 129
 		 * Add custom colors to the color selector.
130 130
 		 *
131 131
 		 * @param $theme_colors
@@ -134,359 +134,359 @@  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
-			$setting = wp_get_global_settings();
140
+			    $setting = wp_get_global_settings();
141 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
-			}
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 147
 
148
-			return $theme_colors;
149
-		}
148
+			    return $theme_colors;
149
+		    }
150 150
 
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' );
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
-		/**
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 270
 		 * Add admin body class to show when BS5 is active.
271 271
 		 *
272 272
 		 * @param $classes
273 273
 		 *
274 274
 		 * @return mixed
275 275
 		 */
276
-		public function add_bs5_admin_body_class( $classes = '' ) {
277
-			$classes .= ' aui_bs5';
276
+		    public function add_bs5_admin_body_class( $classes = '' ) {
277
+			    $classes .= ' aui_bs5';
278 278
 
279
-			return $classes;
280
-		}
279
+			    return $classes;
280
+		    }
281 281
 
282
-		/**
282
+		    /**
283 283
 		 * Add a body class to show when BS5 is active.
284 284
 		 *
285 285
 		 * @param $classes
286 286
 		 *
287 287
 		 * @return mixed
288 288
 		 */
289
-		public function add_bs5_body_class( $classes ) {
290
-			$classes[] = 'aui_bs5';
289
+		    public function add_bs5_body_class( $classes ) {
290
+			    $classes[] = 'aui_bs5';
291 291
 
292
-			return $classes;
293
-		}
292
+			    return $classes;
293
+		    }
294 294
 
295
-		/**
295
+		    /**
296 296
 		 * Initiate the settings and add the required action hooks.
297 297
 		 */
298
-		public function init() {
299
-            global $aui_bs5;
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
-			}
311
-
312
-			$this->constants();
313
-			$this->settings = $this->get_settings();
314
-			$this->url = $this->get_url();
315
-
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
-			/**
298
+		    public function init() {
299
+                global $aui_bs5;
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
+			    }
311
+
312
+			    $this->constants();
313
+			    $this->settings = $this->get_settings();
314
+			    $this->url = $this->get_url();
315
+
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 326
 			 * Maybe load CSS
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'] ) {
331
-				$priority = $this->is_bs3_compat() ? 100 : 1;
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
-		/**
330
+			    if ( $this->settings['css'] ) {
331
+				    $priority = $this->is_bs3_compat() ? 100 : 1;
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 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>';
368
-		}
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 369
 
370
-		/**
370
+		    /**
371 371
 		 * Check if we should load the admin scripts or not.
372 372
 		 *
373 373
 		 * @return bool
374 374
 		 */
375
-		public function load_admin_scripts(){
376
-			$result = true;
375
+		    public function load_admin_scripts(){
376
+			    $result = true;
377 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
-			}
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 387
 
388
-			return $result;
389
-		}
388
+			    return $result;
389
+		    }
390 390
 
391
-		/**
391
+		    /**
392 392
 		 * Add a html font size to the footer.
393 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
-		}
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 398
 
399
-		/**
399
+		    /**
400 400
 		 * Check if the current admin screen should load scripts.
401 401
 		 *
402 402
 		 * @return bool
403 403
 		 */
404
-		public function is_aui_screen(){
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',
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 );
421
-
422
-				$screen = get_current_screen();
423
-
424
-//				echo '###'.$screen->id;
425
-
426
-				// check if we are on a AUI screen
427
-				if ( $screen && in_array( $screen->id, $screen_ids ) ) {
428
-					$load = true;
429
-				}
430
-
431
-				//load for widget previews in WP 5.8
432
-				if( !empty($_REQUEST['legacy-widget-preview'])){
433
-					$load = true;
434
-				}
435
-			}
436
-
437
-
438
-
439
-			return apply_filters( 'aui_load_on_admin' , $load );
440
-		}
441
-
442
-		/**
404
+		    public function is_aui_screen(){
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',
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 );
421
+
422
+				    $screen = get_current_screen();
423
+
424
+    //				echo '###'.$screen->id;
425
+
426
+				    // check if we are on a AUI screen
427
+				    if ( $screen && in_array( $screen->id, $screen_ids ) ) {
428
+					    $load = true;
429
+				    }
430
+
431
+				    //load for widget previews in WP 5.8
432
+				    if( !empty($_REQUEST['legacy-widget-preview'])){
433
+					    $load = true;
434
+				    }
435
+			    }
436
+
437
+
438
+
439
+			    return apply_filters( 'aui_load_on_admin' , $load );
440
+		    }
441
+
442
+		    /**
443 443
 		 * Check if the current theme is a block theme.
444 444
 		 *
445 445
 		 * @return bool
446 446
 		 */
447
-		public static function is_block_theme() {
448
-			if ( function_exists( 'wp_is_block_theme' && wp_is_block_theme() ) ) {
449
-				return true;
450
-			}
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
-		/**
455
+		    /**
456 456
 		 * Adds the styles.
457 457
 		 */
458
-		public function enqueue_style() {
459
-            global $aui_bs5;
458
+		    public function enqueue_style() {
459
+                global $aui_bs5;
460 460
 
461
-            $load_fse = false;
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' : '';
468
-                $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
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
+                    $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,84 +526,84 @@  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
-		/**
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 549
 		 * Get inline script used if bootstrap enqueued
550 550
 		 *
551 551
 		 * If this remains small then its best to use this than to add another JS file.
552 552
 		 */
553
-		public function inline_script() {
554
-            global $aui_bs5;
555
-			// Flatpickr calendar locale
556
-			$flatpickr_locale = self::flatpickr_locale();
553
+		    public function inline_script() {
554
+                global $aui_bs5;
555
+			    // Flatpickr calendar locale
556
+			    $flatpickr_locale = self::flatpickr_locale();
557 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
-            }
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
+                }
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
-		}
570
+			    return str_replace( array(
571
+				    '<script>',
572
+				    '</script>'
573
+			    ), '', self::minify_js($output) );
574
+		    }
575 575
 
576 576
 
577
-		/**
577
+		    /**
578 578
 		 * JS to help with conflict issues with other plugins and themes using bootstrap v3.
579 579
 		 *
580 580
 		 * @TODO we may need this when other conflicts arrise.
581 581
 		 * @return mixed
582 582
 		 */
583
-		public static function bs3_compat_js() {
584
-			ob_start();
585
-			?>
586
-            <script>
583
+		    public static function bs3_compat_js() {
584
+			    ob_start();
585
+			    ?>
586
+                <script>
587 587
 				<?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
588
-                /* With Avada builder */
588
+                    /* With Avada builder */
589 589
 
590 590
 				<?php } ?>
591
-            </script>
591
+                </script>
592 592
 			<?php
593
-			return str_replace( array(
594
-				'<script>',
595
-				'</script>'
596
-			), '', ob_get_clean());
597
-		}
593
+			    return str_replace( array(
594
+				    '<script>',
595
+				    '</script>'
596
+			    ), '', ob_get_clean());
597
+		    }
598 598
 
599
-		/**
599
+		    /**
600 600
 		 * Get inline script used if bootstrap file browser enqueued.
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(){
605
-			ob_start();
606
-			?>
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,129 +611,129 @@  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
-		}
619
+			    return str_replace( array(
620
+				    '<script>',
621
+				    '</script>'
622
+			    ), '', $output );
623
+		    }
624 624
 
625
-		/**
625
+		    /**
626 626
 		 * Adds the Font Awesome JS.
627 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
-				}
648
-
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() );
652
-
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
-		/**
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
+				    }
648
+
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() );
652
+
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 693
 		 * Enqueue select2 if called.
694 694
 		 *
695 695
 		 * @since 0.2.29
696 696
 		 */
697
-		public function force_load_select2() {
698
-			global $aui_select2_enqueued;
697
+		    public function force_load_select2() {
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 ) {
703
-				return true;
704
-			}
702
+			    if ( $conditional_select2 !== true ) {
703
+				    return true;
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 );
709
-		}
708
+			    return apply_filters( 'aui_force_load_select2', $load );
709
+		    }
710 710
 
711
-		/**
711
+		    /**
712 712
 		 * Enqueue select2 if called.
713 713
 		 *
714 714
 		 * @since 0.2.29
715 715
 		 */
716
-		public function enqueue_select2() {
717
-			wp_enqueue_script( 'select2' );
718
-		}
716
+		    public function enqueue_select2() {
717
+			    wp_enqueue_script( 'select2' );
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' );
726
-		}
723
+		    public function enqueue_flatpickr(){
724
+			    wp_enqueue_style( 'flatpickr' );
725
+			    wp_enqueue_script( 'flatpickr' );
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' );
734
-		}
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.
738 738
          *
739 739
          * This can be called very early, hence the need for the dynamic way of getting the URL.
@@ -741,198 +741,198 @@  discard block
 block discarded – undo
741 741
          * @since 0.2.31 changed to support edge cases like bitnami containers.
742 742
          * @return string
743 743
          */
744
-        public function get_url() {
745
-            $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
746
-            $content_url = untrailingslashit( WP_CONTENT_URL );
744
+            public function get_url() {
745
+                $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
746
+                $content_url = untrailingslashit( WP_CONTENT_URL );
747 747
 
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 );
751
-            }
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 );
751
+                }
752 752
 
753
-            // First find where in the path our content directory starts
754
-            $content_basename = basename($content_dir);
755
-            $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
753
+                // First find where in the path our content directory starts
754
+                $content_basename = basename($content_dir);
755
+                $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
756 756
 
757
-            // Find the relative path by matching from content directory name
758
-            $after_content = substr($file_dir, strpos($file_dir, '/' . $content_basename . '/') + strlen('/' . $content_basename . '/'));
757
+                // Find the relative path by matching from content directory name
758
+                $after_content = substr($file_dir, strpos($file_dir, '/' . $content_basename . '/') + strlen('/' . $content_basename . '/'));
759 759
 
760
-            // Build URL using WP_CONTENT_URL and the relative path
761
-            $url = trailingslashit($content_url) . $after_content;
760
+                // Build URL using WP_CONTENT_URL and the relative path
761
+                $url = trailingslashit($content_url) . $after_content;
762 762
 
763
-            // some hosts end up with /wp-content/wp-content/
764
-            $url = str_replace( '/wp-content/wp-content/', '/wp-content/', $url );
763
+                // some hosts end up with /wp-content/wp-content/
764
+                $url = str_replace( '/wp-content/wp-content/', '/wp-content/', $url );
765 765
 
766
-            return trailingslashit($url);
767
-        }
766
+                return trailingslashit($url);
767
+            }
768 768
 
769
-		/**
769
+		    /**
770 770
 		 * Get the url path to the current folder.
771 771
 		 * @todo remove
772 772
 		 * @return string
773 773
 		 */
774
-		public function get_url_old() {
774
+		    public function get_url_old() {
775 775
 
776
-			$url = '';
777
-			// check if we are inside a plugin
778
-			$file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
776
+			    $url = '';
777
+			    // check if we are inside a plugin
778
+			    $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
779 779
 
780
-			// add check in-case user has changed wp-content dir name.
781
-			$wp_content_folder_name = basename(WP_CONTENT_DIR);
782
-			$dir_parts = explode("/$wp_content_folder_name/",$file_dir);
783
-			$url_parts = explode("/$wp_content_folder_name/",plugins_url());
780
+			    // add check in-case user has changed wp-content dir name.
781
+			    $wp_content_folder_name = basename(WP_CONTENT_DIR);
782
+			    $dir_parts = explode("/$wp_content_folder_name/",$file_dir);
783
+			    $url_parts = explode("/$wp_content_folder_name/",plugins_url());
784 784
 
785
-			if(!empty($url_parts[0]) && !empty($dir_parts[1])){
786
-				$url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
787
-			}
785
+			    if(!empty($url_parts[0]) && !empty($dir_parts[1])){
786
+				    $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
787
+			    }
788 788
 
789
-			return $url;
790
-		}
789
+			    return $url;
790
+		    }
791 791
 
792
-		/**
792
+		    /**
793 793
 		 * Register the database settings with WordPress.
794 794
 		 */
795
-		public function register_settings() {
796
-			register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
797
-		}
795
+		    public function register_settings() {
796
+			    register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
797
+		    }
798 798
 
799
-		/**
799
+		    /**
800 800
 		 * Add the WordPress settings menu item.
801 801
 		 * @since 1.0.10 Calling function name direct will fail theme check so we don't.
802 802
 		 */
803
-		public function menu_item() {
804
-			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
805
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
806
-				$this,
807
-				'settings_page'
808
-			) );
809
-		}
803
+		    public function menu_item() {
804
+			    $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
805
+			    call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
806
+				    $this,
807
+				    'settings_page'
808
+			    ) );
809
+		    }
810 810
 
811
-		/**
811
+		    /**
812 812
 		 * Get a list of themes and their default JS settings.
813 813
 		 *
814 814
 		 * @return array
815 815
 		 */
816
-		public function theme_js_settings(){
817
-			return array(
818
-				'ayetheme' => 'popper',
819
-				'listimia' => 'required',
820
-				'listimia_backend' => 'core-popper',
821
-				//'avada'    => 'required', // removed as we now add compatibility
822
-			);
823
-		}
816
+		    public function theme_js_settings(){
817
+			    return array(
818
+				    'ayetheme' => 'popper',
819
+				    'listimia' => 'required',
820
+				    'listimia_backend' => 'core-popper',
821
+				    //'avada'    => 'required', // removed as we now add compatibility
822
+			    );
823
+		    }
824 824
 
825
-		/**
825
+		    /**
826 826
          * Get the date the site was installed.
827 827
          *
828 828
 		 * @return false|string
829 829
 		 */
830
-        public function get_site_install_date() {
831
-	        global $wpdb; // This gives you access to the WordPress database object
830
+            public function get_site_install_date() {
831
+	            global $wpdb; // This gives you access to the WordPress database object
832 832
 
833
-	        // Prepare the SQL query to get the oldest registration date
834
-	        $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}";
833
+	            // Prepare the SQL query to get the oldest registration date
834
+	            $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}";
835 835
 
836
-	        // Execute the query
837
-	        $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
836
+	            // Execute the query
837
+	            $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
838 838
 
839
-	        return $date ? $date : false;
840
-        }
839
+	            return $date ? $date : false;
840
+            }
841 841
 
842
-		/**
842
+		    /**
843 843
 		 * Show admin notice if backend scripts not loaded.
844 844
 		 */
845
-		public function show_admin_version_notice(){
846
-			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings" );
847
-			$button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>';
848
-			$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;
849
-			echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
850
-		}
845
+		    public function show_admin_version_notice(){
846
+			    $fix_url = admin_url("options-general.php?page=ayecode-ui-settings" );
847
+			    $button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>';
848
+			    $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;
849
+			    echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
850
+		    }
851 851
 
852
-		/**
852
+		    /**
853 853
 		 * Get the current Font Awesome output settings.
854 854
 		 *
855 855
 		 * @return array The array of settings.
856 856
 		 */
857
-		public function get_settings() {
858
-			$db_settings = get_option( 'ayecode-ui-settings' );
859
-
860
-			// Maybe show default version notice
861
-			if ( empty( $db_settings ) ) {
862
-				$site_install_date = new DateTime( self::get_site_install_date() );
863
-				$switch_over_date = new DateTime( "2024-02-01" );
864
-
865
-				if ( $site_install_date < $switch_over_date ) {
866
-					add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) );
867
-				}
868
-			}
869
-
870
-			$js_default = 'core-popper';
871
-			$js_default_backend = $js_default;
872
-
873
-			// maybe set defaults (if no settings set)
874
-			if(empty($db_settings)){
875
-				$active_theme = strtolower( get_template() ); // active parent theme.
876
-				$theme_js_settings = self::theme_js_settings();
877
-				if(isset($theme_js_settings[$active_theme])){
878
-					$js_default = $theme_js_settings[$active_theme];
879
-					$js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
880
-				}
881
-			}
882
-
883
-			/**
857
+		    public function get_settings() {
858
+			    $db_settings = get_option( 'ayecode-ui-settings' );
859
+
860
+			    // Maybe show default version notice
861
+			    if ( empty( $db_settings ) ) {
862
+				    $site_install_date = new DateTime( self::get_site_install_date() );
863
+				    $switch_over_date = new DateTime( "2024-02-01" );
864
+
865
+				    if ( $site_install_date < $switch_over_date ) {
866
+					    add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) );
867
+				    }
868
+			    }
869
+
870
+			    $js_default = 'core-popper';
871
+			    $js_default_backend = $js_default;
872
+
873
+			    // maybe set defaults (if no settings set)
874
+			    if(empty($db_settings)){
875
+				    $active_theme = strtolower( get_template() ); // active parent theme.
876
+				    $theme_js_settings = self::theme_js_settings();
877
+				    if(isset($theme_js_settings[$active_theme])){
878
+					    $js_default = $theme_js_settings[$active_theme];
879
+					    $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
880
+				    }
881
+			    }
882
+
883
+			    /**
884 884
 			 * Filter the default settings.
885 885
 			 */
886
-			$defaults = apply_filters( 'ayecode-ui-default-settings', array(
887
-				'css'            => 'compatibility', // core, compatibility
888
-				'js'             => $js_default, // js to load, core-popper, popper
889
-				'html_font_size' => '16', // js to load, core-popper, popper
890
-				'css_backend'    => 'compatibility', // core, compatibility
891
-				'js_backend'     => $js_default_backend, // js to load, core-popper, popper
892
-				'disable_admin'  => '', // URL snippets to disable loading on admin
893
-                'bs_ver'         => '5', // The default bootstrap version to sue by default
894
-			), $db_settings );
895
-
896
-			$settings = wp_parse_args( $db_settings, $defaults );
897
-
898
-			/**
886
+			    $defaults = apply_filters( 'ayecode-ui-default-settings', array(
887
+				    'css'            => 'compatibility', // core, compatibility
888
+				    'js'             => $js_default, // js to load, core-popper, popper
889
+				    'html_font_size' => '16', // js to load, core-popper, popper
890
+				    'css_backend'    => 'compatibility', // core, compatibility
891
+				    'js_backend'     => $js_default_backend, // js to load, core-popper, popper
892
+				    'disable_admin'  => '', // URL snippets to disable loading on admin
893
+                    'bs_ver'         => '5', // The default bootstrap version to sue by default
894
+			    ), $db_settings );
895
+
896
+			    $settings = wp_parse_args( $db_settings, $defaults );
897
+
898
+			    /**
899 899
 			 * Filter the Bootstrap settings.
900 900
 			 *
901 901
 			 * @todo if we add this filer people might use it and then it defeats the purpose of this class :/
902 902
 			 */
903
-			return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
904
-		}
903
+			    return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
904
+		    }
905 905
 
906 906
 
907
-		/**
907
+		    /**
908 908
 		 * The settings page html output.
909 909
 		 */
910
-		public function settings_page() {
911
-			if ( ! current_user_can( 'manage_options' ) ) {
912
-				wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) );
913
-			}
914
-            $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() );
910
+		    public function settings_page() {
911
+			    if ( ! current_user_can( 'manage_options' ) ) {
912
+				    wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) );
913
+			    }
914
+                $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() );
915 915
 
916
-			?>
916
+			    ?>
917 917
             <div class="wrap">
918 918
                 <h1><?php echo esc_attr( $this->name ); ?></h1>
919 919
                 <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>
920 920
                 <form method="post" action="options.php">
921 921
 					<?php
922
-					settings_fields( 'ayecode-ui-settings' );
923
-					do_settings_sections( 'ayecode-ui-settings' );
924
-					?>
922
+					    settings_fields( 'ayecode-ui-settings' );
923
+					    do_settings_sections( 'ayecode-ui-settings' );
924
+					    ?>
925 925
 
926 926
                     <h2><?php esc_html_e( 'BootStrap Version', 'ayecode-connect' ); ?></h2>
927 927
                     <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>
928 928
 	                <div class="bsui"><?php
929
-	                if ( ! empty( $overrides ) ) {
930
-		                echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
931
-			                'type'=> 'info',
932
-			                'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' )
933
-		                ));
934
-	                }
935
-	                ?>
929
+	                    if ( ! empty( $overrides ) ) {
930
+		                    echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
931
+			                    'type'=> 'info',
932
+			                    'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' )
933
+		                    ));
934
+	                    }
935
+	                    ?>
936 936
                     </div>
937 937
                     <table class="form-table wpbs-table-version-settings">
938 938
                         <tr valign="top">
@@ -1016,77 +1016,77 @@  discard block
 block discarded – undo
1016 1016
                     </table>
1017 1017
 
1018 1018
 					<?php
1019
-					submit_button();
1020
-					?>
1019
+					    submit_button();
1020
+					    ?>
1021 1021
                 </form>
1022 1022
                 <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo esc_html( $this->version ); ?></div>
1023 1023
             </div>
1024 1024
 			<?php
1025
-		}
1026
-
1027
-        public function get_load_source(){
1028
-	        $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
1029
-	        $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
1030
-
1031
-	        // Find source plugin/theme of SD
1032
-	        $source = array();
1033
-	        if ( strpos( $file, $plugins_dir ) !== false ) {
1034
-		        $source = explode( "/", plugin_basename( $file ) );
1035
-	        } else if ( function_exists( 'get_theme_root' ) ) {
1036
-		        $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
1037
-
1038
-		        if ( strpos( $file, $themes_dir ) !== false ) {
1039
-			        $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
1040
-		        }
1041
-	        }
1042
-
1043
-            return isset($source[0]) ? esc_attr($source[0]) : '';
1044
-        }
1045
-
1046
-		public function customizer_settings($wp_customize){
1047
-			$wp_customize->add_section('aui_settings', array(
1048
-				'title'    => __('AyeCode UI', 'ayecode-connect' ),
1049
-				'priority' => 120,
1050
-			));
1051
-
1052
-			//  =============================
1053
-			//  = Color Picker              =
1054
-			//  =============================
1055
-			$wp_customize->add_setting('aui_options[color_primary]', array(
1056
-				'default'           => AUI_PRIMARY_COLOR,
1057
-				'sanitize_callback' => 'sanitize_hex_color',
1058
-				'capability'        => 'edit_theme_options',
1059
-				'type'              => 'option',
1060
-				'transport'         => 'refresh',
1061
-			));
1062
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1063
-				'label'    => __('Primary Color', 'ayecode-connect' ),
1064
-				'section'  => 'aui_settings',
1065
-				'settings' => 'aui_options[color_primary]',
1066
-			)));
1067
-
1068
-			$wp_customize->add_setting('aui_options[color_secondary]', array(
1069
-				'default'           => '#6c757d',
1070
-				'sanitize_callback' => 'sanitize_hex_color',
1071
-				'capability'        => 'edit_theme_options',
1072
-				'type'              => 'option',
1073
-				'transport'         => 'refresh',
1074
-			));
1075
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1076
-				'label'    => __('Secondary Color', 'ayecode-connect' ),
1077
-				'section'  => 'aui_settings',
1078
-				'settings' => 'aui_options[color_secondary]',
1079
-			)));
1080
-		}
1081
-
1082
-		/**
1025
+		    }
1026
+
1027
+            public function get_load_source(){
1028
+	            $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
1029
+	            $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
1030
+
1031
+	            // Find source plugin/theme of SD
1032
+	            $source = array();
1033
+	            if ( strpos( $file, $plugins_dir ) !== false ) {
1034
+		            $source = explode( "/", plugin_basename( $file ) );
1035
+	            } else if ( function_exists( 'get_theme_root' ) ) {
1036
+		            $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
1037
+
1038
+		            if ( strpos( $file, $themes_dir ) !== false ) {
1039
+			            $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
1040
+		            }
1041
+	            }
1042
+
1043
+                return isset($source[0]) ? esc_attr($source[0]) : '';
1044
+            }
1045
+
1046
+		    public function customizer_settings($wp_customize){
1047
+			    $wp_customize->add_section('aui_settings', array(
1048
+				    'title'    => __('AyeCode UI', 'ayecode-connect' ),
1049
+				    'priority' => 120,
1050
+			    ));
1051
+
1052
+			    //  =============================
1053
+			    //  = Color Picker              =
1054
+			    //  =============================
1055
+			    $wp_customize->add_setting('aui_options[color_primary]', array(
1056
+				    'default'           => AUI_PRIMARY_COLOR,
1057
+				    'sanitize_callback' => 'sanitize_hex_color',
1058
+				    'capability'        => 'edit_theme_options',
1059
+				    'type'              => 'option',
1060
+				    'transport'         => 'refresh',
1061
+			    ));
1062
+			    $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1063
+				    'label'    => __('Primary Color', 'ayecode-connect' ),
1064
+				    'section'  => 'aui_settings',
1065
+				    'settings' => 'aui_options[color_primary]',
1066
+			    )));
1067
+
1068
+			    $wp_customize->add_setting('aui_options[color_secondary]', array(
1069
+				    'default'           => '#6c757d',
1070
+				    'sanitize_callback' => 'sanitize_hex_color',
1071
+				    'capability'        => 'edit_theme_options',
1072
+				    'type'              => 'option',
1073
+				    'transport'         => 'refresh',
1074
+			    ));
1075
+			    $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1076
+				    'label'    => __('Secondary Color', 'ayecode-connect' ),
1077
+				    'section'  => 'aui_settings',
1078
+				    'settings' => 'aui_options[color_secondary]',
1079
+			    )));
1080
+		    }
1081
+
1082
+		    /**
1083 1083
 		 * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1084 1084
 		 *
1085 1085
 		 * @return mixed
1086 1086
 		 */
1087
-		public static function bs3_compat_css() {
1088
-			ob_start();
1089
-			?>
1087
+		    public static function bs3_compat_css() {
1088
+			    ob_start();
1089
+			    ?>
1090 1090
             <style>
1091 1091
                 /* Bootstrap 3 compatibility */
1092 1092
                 body.modal-open .modal-backdrop.show:not(.in) {opacity:0.5;}
@@ -1103,7 +1103,7 @@  discard block
 block discarded – undo
1103 1103
                 /* KLEO theme specific */
1104 1104
                 .kleo-main-header .navbar-collapse.collapse.show:not(.in){display: block !important;}
1105 1105
                 <?php } ?>
1106
-
1106
+    
1107 1107
                 <?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
1108 1108
                 /* With Avada builder */
1109 1109
                 body.modal-open .modal.in  {opacity:1;z-index: 99999}
@@ -1113,254 +1113,254 @@  discard block
 block discarded – undo
1113 1113
                 .bsui .collapse.in.row:not(.show){display: none;}
1114 1114
 
1115 1115
                 <?php } ?>
1116
-            </style>
1116
+                </style>
1117 1117
 			<?php
1118
-			return str_replace( array(
1119
-				'<style>',
1120
-				'</style>'
1121
-			), '', self::minify_css( ob_get_clean() ) );
1122
-		}
1123
-
1124
-		public static function custom_css( $compatibility = true, $is_fse = false ) {
1125
-			global $aui_bs5;
1126
-
1127
-			$colors = array();
1128
-
1129
-			if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1130
-				$setting = wp_get_global_settings();
1131
-
1132
-				if ( ! empty( $setting['color']['palette']['theme'] ) ) {
1133
-					foreach ( $setting['color']['palette']['theme'] as $color ) {
1134
-						$colors[$color['slug']] = esc_attr( $color['color'] );
1135
-					}
1136
-				}
1137
-
1138
-				if ( ! empty( $setting['color']['palette']['custom'] ) ) {
1139
-					foreach ( $setting['color']['palette']['custom'] as $color ) {
1140
-						$colors[$color['slug']] = esc_attr( $color['color'] );
1141
-					}
1142
-				}
1143
-			} else {
1144
-				$settings = get_option( 'aui_options' );
1145
-
1146
-				$colors = array(
1147
-					'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1148
-					'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1149
-				);
1150
-			}
1151
-
1152
-			ob_start();
1153
-			?><style><?php
1154
-			// BS v3 compat
1155
-			if( self::is_bs3_compat() ){
1156
-				echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1157
-			}
1158
-
1159
-			//$is_fse = false;
1160
-			//if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
1161
-				//$is_fse = true;
1162
-			//}
1163
-
1164
-			$custom_front = ! is_admin() ? true : apply_filters('ayecode_ui_custom_front', false );
1165
-			$custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false );
1166
-            $bs_custom_css = apply_filters( 'ayecode_ui_bs_custom_css', $custom_admin || $custom_front );
1167
-			//$bs_custom_css = true; // Force true to fix any color issue.
1168
-
1169
-			$colors_css = '';
1170
-			if ( ! empty( $colors ) && $bs_custom_css ) {
1171
-				$d_colors = self::get_colors(true);
1172
-
1173
-				foreach ( $colors as $key => $color ) {
1174
-					if ( ( empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) {
1175
-						$var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1176
-						$compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1177
-
1178
-						$colors_css .= $aui_bs5 ? self::css_overwrite_bs5( $key,$var, $compat, $color ) : self::css_overwrite( $key, $var, $compat, $color );
1179
-					}
1180
-				}
1181
-			}
1182
-
1183
-			if ( $colors_css ) {
1184
-				echo $colors_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1185
-			}
1186
-
1187
-			// Set admin bar z-index lower when modal is open.
1188
-			echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1189
-
1190
-			if ( is_admin() ) {
1191
-				echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1192
-			}
1193
-
1194
-			$custom_css = '';
1195
-
1196
-			if ( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) && $bs_custom_css ) {
1197
-				$css = '';
1198
-				$theme_settings = wp_get_global_styles();
1199
-
1200
-				// Font face
1201
-				if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1202
-					$t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1203
-					$css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1204
-				}
1205
-
1206
-				// font size
1207
-				if( !empty( $theme_settings['typography']['fontSize'] ) ){
1208
-					$css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;';
1209
-				}
1210
-
1211
-				// line height
1212
-				 if( !empty( $theme_settings['typography']['lineHeight'] ) ){
1213
-					$css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';';
1214
-				}
1215
-
1216
-
1217
-				   // font weight
1218
-				 if( !empty( $theme_settings['typography']['fontWeight'] ) ){
1219
-					$css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';';
1220
-				}
1221
-
1222
-				// Background
1223
-				 if( !empty( $theme_settings['color']['background'] ) ){
1224
-					$css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';';
1225
-				}
1226
-
1227
-				 // Background Gradient
1228
-				 if( !empty( $theme_settings['color']['gradient'] ) ){
1229
-					$css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1230
-				}
1231
-
1232
-				   // Background Gradient
1233
-				 if( !empty( $theme_settings['color']['gradient'] ) ){
1234
-					$css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1235
-				}
1236
-
1237
-				// text color
1238
-				if( !empty( $theme_settings['color']['text'] ) ){
1239
-					$css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';';
1240
-				}
1241
-
1242
-
1243
-				// link colors
1244
-				if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){
1245
-					$css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';';
1246
-				}
1247
-				if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){
1248
-					$css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';';
1249
-				}
1250
-
1251
-				if($css){
1252
-					$custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}';
1253
-				}
1254
-
1255
-				$bep = $is_fse ? 'body.editor-styles-wrapper ' : '';
1256
-
1257
-				// Headings
1258
-				$headings_css = '';
1259
-				if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){
1260
-					$headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";";
1261
-				}
1262
-
1263
-				// heading background
1264
-				if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){
1265
-					$headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';';
1266
-				}
1267
-
1268
-				 // heading font family
1269
-				if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){
1270
-					$headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily']  ) . ';';
1271
-				}
1272
-
1273
-				if( $headings_css ){
1274
-					$custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}";
1275
-				}
1276
-
1277
-				$hs = array('h1','h2','h3','h4','h5','h6');
1278
-
1279
-				foreach($hs as $hn){
1280
-					$h_css = '';
1281
-					 if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){
1282
-						$h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';';
1283
-					 }
1284
-
1285
-					  if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){
1286
-						$h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize']  ) . ';';
1287
-					 }
1288
-
1289
-					  if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){
1290
-						$h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily']  ) . ';';
1291
-					 }
1292
-
1293
-					 if($h_css){
1294
-						$custom_css .= esc_attr( $bep  . $hn ) . '{'.esc_attr( $h_css ).'}';
1295
-					 }
1296
-				}
1297
-			}
1118
+			    return str_replace( array(
1119
+				    '<style>',
1120
+				    '</style>'
1121
+			    ), '', self::minify_css( ob_get_clean() ) );
1122
+		    }
1123
+
1124
+		    public static function custom_css( $compatibility = true, $is_fse = false ) {
1125
+			    global $aui_bs5;
1126
+
1127
+			    $colors = array();
1128
+
1129
+			    if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1130
+				    $setting = wp_get_global_settings();
1131
+
1132
+				    if ( ! empty( $setting['color']['palette']['theme'] ) ) {
1133
+					    foreach ( $setting['color']['palette']['theme'] as $color ) {
1134
+						    $colors[$color['slug']] = esc_attr( $color['color'] );
1135
+					    }
1136
+				    }
1137
+
1138
+				    if ( ! empty( $setting['color']['palette']['custom'] ) ) {
1139
+					    foreach ( $setting['color']['palette']['custom'] as $color ) {
1140
+						    $colors[$color['slug']] = esc_attr( $color['color'] );
1141
+					    }
1142
+				    }
1143
+			    } else {
1144
+				    $settings = get_option( 'aui_options' );
1145
+
1146
+				    $colors = array(
1147
+					    'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1148
+					    'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1149
+				    );
1150
+			    }
1151
+
1152
+			    ob_start();
1153
+			    ?><style><?php
1154
+			    // BS v3 compat
1155
+			    if( self::is_bs3_compat() ){
1156
+				    echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1157
+			    }
1158
+
1159
+			    //$is_fse = false;
1160
+			    //if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
1161
+				    //$is_fse = true;
1162
+			    //}
1163
+
1164
+			    $custom_front = ! is_admin() ? true : apply_filters('ayecode_ui_custom_front', false );
1165
+			    $custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false );
1166
+                $bs_custom_css = apply_filters( 'ayecode_ui_bs_custom_css', $custom_admin || $custom_front );
1167
+			    //$bs_custom_css = true; // Force true to fix any color issue.
1168
+
1169
+			    $colors_css = '';
1170
+			    if ( ! empty( $colors ) && $bs_custom_css ) {
1171
+				    $d_colors = self::get_colors(true);
1172
+
1173
+				    foreach ( $colors as $key => $color ) {
1174
+					    if ( ( empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) {
1175
+						    $var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1176
+						    $compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1177
+
1178
+						    $colors_css .= $aui_bs5 ? self::css_overwrite_bs5( $key,$var, $compat, $color ) : self::css_overwrite( $key, $var, $compat, $color );
1179
+					    }
1180
+				    }
1181
+			    }
1182
+
1183
+			    if ( $colors_css ) {
1184
+				    echo $colors_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1185
+			    }
1186
+
1187
+			    // Set admin bar z-index lower when modal is open.
1188
+			    echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1189
+
1190
+			    if ( is_admin() ) {
1191
+				    echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1192
+			    }
1193
+
1194
+			    $custom_css = '';
1195
+
1196
+			    if ( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) && $bs_custom_css ) {
1197
+				    $css = '';
1198
+				    $theme_settings = wp_get_global_styles();
1199
+
1200
+				    // Font face
1201
+				    if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1202
+					    $t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1203
+					    $css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1204
+				    }
1205
+
1206
+				    // font size
1207
+				    if( !empty( $theme_settings['typography']['fontSize'] ) ){
1208
+					    $css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;';
1209
+				    }
1210
+
1211
+				    // line height
1212
+				     if( !empty( $theme_settings['typography']['lineHeight'] ) ){
1213
+					    $css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';';
1214
+				    }
1215
+
1216
+
1217
+				       // font weight
1218
+				     if( !empty( $theme_settings['typography']['fontWeight'] ) ){
1219
+					    $css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';';
1220
+				    }
1221
+
1222
+				    // Background
1223
+				     if( !empty( $theme_settings['color']['background'] ) ){
1224
+					    $css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';';
1225
+				    }
1226
+
1227
+				     // Background Gradient
1228
+				     if( !empty( $theme_settings['color']['gradient'] ) ){
1229
+					    $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1230
+				    }
1231
+
1232
+				       // Background Gradient
1233
+				     if( !empty( $theme_settings['color']['gradient'] ) ){
1234
+					    $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1235
+				    }
1236
+
1237
+				    // text color
1238
+				    if( !empty( $theme_settings['color']['text'] ) ){
1239
+					    $css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';';
1240
+				    }
1241
+
1242
+
1243
+				    // link colors
1244
+				    if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){
1245
+					    $css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';';
1246
+				    }
1247
+				    if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){
1248
+					    $css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';';
1249
+				    }
1250
+
1251
+				    if($css){
1252
+					    $custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}';
1253
+				    }
1254
+
1255
+				    $bep = $is_fse ? 'body.editor-styles-wrapper ' : '';
1256
+
1257
+				    // Headings
1258
+				    $headings_css = '';
1259
+				    if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){
1260
+					    $headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";";
1261
+				    }
1262
+
1263
+				    // heading background
1264
+				    if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){
1265
+					    $headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';';
1266
+				    }
1267
+
1268
+				     // heading font family
1269
+				    if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){
1270
+					    $headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily']  ) . ';';
1271
+				    }
1272
+
1273
+				    if( $headings_css ){
1274
+					    $custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}";
1275
+				    }
1276
+
1277
+				    $hs = array('h1','h2','h3','h4','h5','h6');
1278
+
1279
+				    foreach($hs as $hn){
1280
+					    $h_css = '';
1281
+					     if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){
1282
+						    $h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';';
1283
+					     }
1284
+
1285
+					      if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){
1286
+						    $h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize']  ) . ';';
1287
+					     }
1288
+
1289
+					      if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){
1290
+						    $h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily']  ) . ';';
1291
+					     }
1292
+
1293
+					     if($h_css){
1294
+						    $custom_css .= esc_attr( $bep  . $hn ) . '{'.esc_attr( $h_css ).'}';
1295
+					     }
1296
+				    }
1297
+			    }
1298 1298
 			
1299
-			if ( $custom_css ) {
1300
-				echo $custom_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1301
-			}
1302
-
1303
-			// Pagination on Hello Elementor theme.
1304
-			if ( function_exists( 'hello_elementor_setup' ) ) {
1305
-				echo '.aui-nav-links .pagination{justify-content:inherit}';
1306
-			}
1307
-
1308
-            // Astra theme - when woocommerce active they add compatibility CSS which breaks select2 in modals
1309
-            if( defined('ASTRA_THEME_VERSION')){
1310
-                echo '.woocommerce-js.modal-open .select2-container .select2-dropdown, .woocommerce-js.modal-open .select2-container .select2-search__field, .woocommerce-page.modal-open .select2-container .select2-dropdown, .woocommerce-page.modal-open .select2-container .select2-search__field{z-index: 1056;}';
1311
-            }
1299
+			    if ( $custom_css ) {
1300
+				    echo $custom_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1301
+			    }
1302
+
1303
+			    // Pagination on Hello Elementor theme.
1304
+			    if ( function_exists( 'hello_elementor_setup' ) ) {
1305
+				    echo '.aui-nav-links .pagination{justify-content:inherit}';
1306
+			    }
1307
+
1308
+                // Astra theme - when woocommerce active they add compatibility CSS which breaks select2 in modals
1309
+                if( defined('ASTRA_THEME_VERSION')){
1310
+                    echo '.woocommerce-js.modal-open .select2-container .select2-dropdown, .woocommerce-js.modal-open .select2-container .select2-search__field, .woocommerce-page.modal-open .select2-container .select2-dropdown, .woocommerce-page.modal-open .select2-container .select2-search__field{z-index: 1056;}';
1311
+                }
1312 1312
 
1313
-			?></style><?php
1314
-			$custom_css = ob_get_clean();
1313
+			    ?></style><?php
1314
+			    $custom_css = ob_get_clean();
1315 1315
 
1316
-			/*
1316
+			    /*
1317 1317
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1318 1318
 			 */
1319
-			return str_replace( array(
1320
-				'<style>',
1321
-				'</style>'
1322
-			), '', self::minify_css( $custom_css ) );
1323
-		}
1319
+			    return str_replace( array(
1320
+				    '<style>',
1321
+				    '</style>'
1322
+			    ), '', self::minify_css( $custom_css ) );
1323
+		    }
1324 1324
 
1325
-		/**
1325
+		    /**
1326 1326
 		 * Check if we should add booststrap 3 compatibility changes.
1327 1327
 		 *
1328 1328
 		 * @return bool
1329 1329
 		 */
1330
-		public static function is_bs3_compat(){
1331
-			return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1332
-		}
1330
+		    public static function is_bs3_compat(){
1331
+			    return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1332
+		    }
1333 1333
 
1334
-		public static function hex_to_rgb( $hex ) {
1335
-			// Remove '#' if present
1336
-			$hex = str_replace( '#', '', $hex );
1334
+		    public static function hex_to_rgb( $hex ) {
1335
+			    // Remove '#' if present
1336
+			    $hex = str_replace( '#', '', $hex );
1337 1337
 
1338
-			// Check if input is RGB
1339
-			if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) {
1340
-				$_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) );
1338
+			    // Check if input is RGB
1339
+			    if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) {
1340
+				    $_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) );
1341 1341
 
1342
-				$rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ',';
1343
-				$rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ',';
1344
-				$rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' );
1342
+				    $rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ',';
1343
+				    $rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ',';
1344
+				    $rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' );
1345 1345
 
1346
-				return $rgb;
1347
-			}
1346
+				    return $rgb;
1347
+			    }
1348 1348
 
1349
-			// Convert 3-digit hex to 6-digit hex
1350
-			if ( strlen( $hex ) == 3 ) {
1351
-				$hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
1352
-			}
1349
+			    // Convert 3-digit hex to 6-digit hex
1350
+			    if ( strlen( $hex ) == 3 ) {
1351
+				    $hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
1352
+			    }
1353 1353
 
1354
-			// Convert hex to RGB
1355
-			$r = hexdec( substr( $hex, 0, 2 ) );
1356
-			$g = hexdec( substr( $hex, 2, 2 ) );
1357
-			$b = hexdec( substr( $hex, 4, 2 ) );
1354
+			    // Convert hex to RGB
1355
+			    $r = hexdec( substr( $hex, 0, 2 ) );
1356
+			    $g = hexdec( substr( $hex, 2, 2 ) );
1357
+			    $b = hexdec( substr( $hex, 4, 2 ) );
1358 1358
 
1359
-			// Return RGB values as an array
1360
-			return $r . ',' . $g . ',' . $b;
1361
-		}
1359
+			    // Return RGB values as an array
1360
+			    return $r . ',' . $g . ',' . $b;
1361
+		    }
1362 1362
 
1363
-		/**
1363
+		    /**
1364 1364
 		 * Build the CSS to overwrite a bootstrap color variable.
1365 1365
 		 *
1366 1366
 		 * @param $type
@@ -1369,122 +1369,122 @@  discard block
 block discarded – undo
1369 1369
 		 *
1370 1370
 		 * @return string
1371 1371
 		 */
1372
-		public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1373
-			global $aui_bs5;
1372
+		    public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1373
+			    global $aui_bs5;
1374 1374
 
1375
-			$is_var = false;
1376
-			$is_custom = strpos($type, 'custom-') !== false ? true : false;
1377
-			if(!$color_code){return '';}
1378
-			if(strpos($color_code, 'var') !== false){
1379
-				//if(!sanitize_hex_color($color_code)){
1380
-				$color_code = esc_attr($color_code);
1381
-				$is_var = true;
1382
-//				$color_code = "rgba($color_code, 0.5)";
1383
-//                echo '###1'.$color_code.'###';//exit;
1384
-			}
1375
+			    $is_var = false;
1376
+			    $is_custom = strpos($type, 'custom-') !== false ? true : false;
1377
+			    if(!$color_code){return '';}
1378
+			    if(strpos($color_code, 'var') !== false){
1379
+				    //if(!sanitize_hex_color($color_code)){
1380
+				    $color_code = esc_attr($color_code);
1381
+				    $is_var = true;
1382
+    //				$color_code = "rgba($color_code, 0.5)";
1383
+    //                echo '###1'.$color_code.'###';//exit;
1384
+			    }
1385 1385
 
1386
-//            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1386
+    //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1387 1387
 
1388
-			if(!$color_code){return '';}
1388
+			    if(!$color_code){return '';}
1389 1389
 
1390
-			$rgb = self::hex_to_rgb($hex);
1390
+			    $rgb = self::hex_to_rgb($hex);
1391 1391
 
1392
-			if($compatibility===true || $compatibility===1){
1393
-				$compatibility = '.bsui';
1394
-			}elseif(!$compatibility){
1395
-				$compatibility = '';
1396
-			}else{
1397
-				$compatibility = esc_attr($compatibility);
1398
-			}
1392
+			    if($compatibility===true || $compatibility===1){
1393
+				    $compatibility = '.bsui';
1394
+			    }elseif(!$compatibility){
1395
+				    $compatibility = '';
1396
+			    }else{
1397
+				    $compatibility = esc_attr($compatibility);
1398
+			    }
1399 1399
 
1400
-			$prefix = $compatibility ? $compatibility . " " : "";
1400
+			    $prefix = $compatibility ? $compatibility . " " : "";
1401 1401
 
1402 1402
 
1403
-            $output = '';
1403
+                $output = '';
1404 1404
 
1405
-//            echo '####'.$color_code;exit;
1405
+    //            echo '####'.$color_code;exit;
1406 1406
 
1407
-			$type = sanitize_html_class($type);
1407
+			    $type = sanitize_html_class($type);
1408 1408
 
1409
-			/**
1409
+			    /**
1410 1410
 			 * c = color, b = background color, o = border-color, f = fill
1411 1411
 			 */
1412
-			$selectors = array(
1413
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1414
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1415
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1416
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1417
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1418
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1419
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1420
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1421
-				".badge-{$type}"                                            => array( 'b' ),
1422
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1423
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1424
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1425
-				".text-{$type}"                                     => array( 'c' ),
1426
-			);
1427
-
1428
-			if ( $aui_bs5 ) {
1429
-				unset($selectors[".alert-{$type}" ]);
1430
-			}
1431
-
1432
-			if ( $type == 'primary' ) {
1433
-				$selectors = $selectors + array(
1434
-						'a'                                                                                                    => array( 'c' ),
1435
-						'.btn-link'                                                                                            => array( 'c' ),
1436
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1437
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1438
-							'b',
1439
-							'o'
1440
-						),
1441
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1442
-							'b',
1443
-							'o'
1444
-						),
1445
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1446
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1447
-						'.page-link'                                                                                           => array( 'c' ),
1448
-						'.page-item.active .page-link'                                                                         => array(
1449
-							'b',
1450
-							'o'
1451
-						),
1452
-						'.progress-bar'                                                                                        => array( 'b' ),
1453
-						'.list-group-item.active'                                                                              => array(
1454
-							'b',
1455
-							'o'
1456
-						),
1457
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1458
-					);
1459
-			}
1460
-
1461
-
1462
-
1463
-            // link
1464
-			if ( $type === 'primary' ) {
1465
-				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1466
-				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1467
-				$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).'; }';
1468
-
1469
-				$output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1470
-				$output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1471
-
1472
-                // dropdown
1473
-				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1474
-
1475
-                // pagination
1476
-				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1477
-
1478
-			} else if ( $aui_bs5 ) {
1479
-				$output .= $prefix . ' .text-' . sanitize_key( $type ) . '{color: var(--bs-' . sanitize_key( $type ) . ') !important;}';
1480
-			}
1481
-
1482
-			$output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1483
-			$output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1484
-
1485
-			//  buttons
1486
-			$output .= $prefix . ' .btn-'.esc_attr($type).'{';
1487
-			$output .= ' 
1412
+			    $selectors = array(
1413
+				    ".btn-{$type}"                                              => array( 'b', 'o' ),
1414
+				    ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1415
+				    ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1416
+				    ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1417
+				    ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1418
+				    ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1419
+				    ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1420
+				    ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1421
+				    ".badge-{$type}"                                            => array( 'b' ),
1422
+				    ".alert-{$type}"                                            => array( 'b', 'o' ),
1423
+				    ".bg-{$type}"                                               => array( 'b', 'f' ),
1424
+				    ".btn-link.btn-{$type}"                                     => array( 'c' ),
1425
+				    ".text-{$type}"                                     => array( 'c' ),
1426
+			    );
1427
+
1428
+			    if ( $aui_bs5 ) {
1429
+				    unset($selectors[".alert-{$type}" ]);
1430
+			    }
1431
+
1432
+			    if ( $type == 'primary' ) {
1433
+				    $selectors = $selectors + array(
1434
+						    'a'                                                                                                    => array( 'c' ),
1435
+						    '.btn-link'                                                                                            => array( 'c' ),
1436
+						    '.dropdown-item.active'                                                                                => array( 'b' ),
1437
+						    '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1438
+							    'b',
1439
+							    'o'
1440
+						    ),
1441
+						    '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1442
+							    'b',
1443
+							    'o'
1444
+						    ),
1445
+						    '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1446
+						    '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1447
+						    '.page-link'                                                                                           => array( 'c' ),
1448
+						    '.page-item.active .page-link'                                                                         => array(
1449
+							    'b',
1450
+							    'o'
1451
+						    ),
1452
+						    '.progress-bar'                                                                                        => array( 'b' ),
1453
+						    '.list-group-item.active'                                                                              => array(
1454
+							    'b',
1455
+							    'o'
1456
+						    ),
1457
+						    '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1458
+					    );
1459
+			    }
1460
+
1461
+
1462
+
1463
+                // link
1464
+			    if ( $type === 'primary' ) {
1465
+				    $output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1466
+				    $output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1467
+				    $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).'; }';
1468
+
1469
+				    $output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1470
+				    $output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1471
+
1472
+                    // dropdown
1473
+				    $output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1474
+
1475
+                    // pagination
1476
+				    $output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1477
+
1478
+			    } else if ( $aui_bs5 ) {
1479
+				    $output .= $prefix . ' .text-' . sanitize_key( $type ) . '{color: var(--bs-' . sanitize_key( $type ) . ') !important;}';
1480
+			    }
1481
+
1482
+			    $output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1483
+			    $output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1484
+
1485
+			    //  buttons
1486
+			    $output .= $prefix . ' .btn-'.esc_attr($type).'{';
1487
+			    $output .= ' 
1488 1488
             --bs-btn-bg: '.esc_attr($color_code).';
1489 1489
             --bs-btn-border-color: '.esc_attr($color_code).';
1490 1490
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1496,17 +1496,17 @@  discard block
 block discarded – undo
1496 1496
             --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1497 1497
             --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1498 1498
             ';
1499
-//			$output .= '
1500
-//		    --bs-btn-color: #fff;
1501
-//			--bs-btn-hover-color: #fff;
1502
-//			--bs-btn-active-color: #fff;
1503
-//			--bs-btn-disabled-color: #fff;
1504
-//            ';
1505
-			$output .= '}';
1506
-
1507
-			//  buttons outline
1508
-			$output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1509
-			$output .= ' 
1499
+    //			$output .= '
1500
+    //		    --bs-btn-color: #fff;
1501
+    //			--bs-btn-hover-color: #fff;
1502
+    //			--bs-btn-active-color: #fff;
1503
+    //			--bs-btn-disabled-color: #fff;
1504
+    //            ';
1505
+			    $output .= '}';
1506
+
1507
+			    //  buttons outline
1508
+			    $output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1509
+			    $output .= ' 
1510 1510
 			--bs-btn-color: '.esc_attr($color_code).';
1511 1511
             --bs-btn-border-color: '.esc_attr($color_code).';
1512 1512
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1518,144 +1518,144 @@  discard block
 block discarded – undo
1518 1518
             --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1519 1519
             --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1520 1520
             ';
1521
-//			$output .= '
1522
-//		    --bs-btn-color: #fff;
1523
-//			--bs-btn-hover-color: #fff;
1524
-//			--bs-btn-active-color: #fff;
1525
-//			--bs-btn-disabled-color: #fff;
1526
-//            ';
1527
-			$output .= '}';
1528
-
1529
-            // button hover
1530
-			$output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1531
-			$output .= ' 
1521
+    //			$output .= '
1522
+    //		    --bs-btn-color: #fff;
1523
+    //			--bs-btn-hover-color: #fff;
1524
+    //			--bs-btn-active-color: #fff;
1525
+    //			--bs-btn-disabled-color: #fff;
1526
+    //            ';
1527
+			    $output .= '}';
1528
+
1529
+                // button hover
1530
+			    $output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1531
+			    $output .= ' 
1532 1532
             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);
1533 1533
             }
1534 1534
             ';
1535 1535
 
1536
-			if ( $aui_bs5 ) {
1537
-				// translucent primary
1538
-				if ( $type == 'primary' ) {
1539
-					$output .= $prefix . ' .btn-translucent-primary{color:rgb(var(--bs-primary-rgb));}';
1540
-					$output .= $prefix . ' .btn-translucent-primary:hover,' . $prefix . ' .btn-translucent-primary:focus,' . $prefix . ' .btn-translucent-primary.focus{background-color: rgb(var(--bs-primary-rgb));}';
1541
-				}
1542
-
1543
-//				$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).'; }';
1544
-				$output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1545
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1546
-			}
1547
-
1548
-
1549
-			if ( $is_custom ) {
1550
-
1551
-//				echo '###'.$type;exit;
1552
-
1553
-				// build rules into each type
1554
-				foreach($selectors as $selector => $types){
1555
-					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1556
-					$types = array_combine($types,$types);
1557
-					if(isset($types['c'])){$color[] = $selector;}
1558
-					if(isset($types['b'])){$background[] = $selector;}
1559
-					if(isset($types['o'])){$border[] = $selector;}
1560
-					if(isset($types['f'])){$fill[] = $selector;}
1561
-				}
1562
-
1563
-//				// build rules into each type
1564
-//				foreach($important_selectors as $selector => $types){
1565
-//					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1566
-//					$types = array_combine($types,$types);
1567
-//					if(isset($types['c'])){$color_i[] = $selector;}
1568
-//					if(isset($types['b'])){$background_i[] = $selector;}
1569
-//					if(isset($types['o'])){$border_i[] = $selector;}
1570
-//					if(isset($types['f'])){$fill_i[] = $selector;}
1571
-//				}
1572
-
1573
-				// add any color rules
1574
-				if(!empty($color)){
1575
-					$output .= implode(",",$color) . "{color: $color_code;} ";
1576
-				}
1577
-				if(!empty($color_i)){
1578
-					$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1579
-				}
1580
-
1581
-				// add any background color rules
1582
-				if(!empty($background)){
1583
-					$output .= implode(",",$background) . "{background-color: $color_code;} ";
1584
-				}
1585
-				if(!empty($background_i)){
1586
-					$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1587
-//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1588
-				}
1589
-
1590
-				// add any border color rules
1591
-				if(!empty($border)){
1592
-					$output .= implode(",",$border) . "{border-color: $color_code;} ";
1593
-				}
1594
-				if(!empty($border_i)){
1595
-					$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1596
-				}
1597
-
1598
-				// add any fill color rules
1599
-				if(!empty($fill)){
1600
-					$output .= implode(",",$fill) . "{fill: $color_code;} ";
1601
-				}
1602
-				if(!empty($fill_i)){
1603
-					$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1604
-				}
1605
-
1606
-			}
1607
-
1608
-
1609
-
1610
-
1611
-			$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;' : '';
1612
-			// darken
1613
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1614
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1615
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1616
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1617
-
1618
-			// lighten
1619
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1620
-
1621
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1622
-			$op_25 = $color_code."40"; // 25% opacity
1623
-
1624
-
1625
-			// button states
1626
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1627
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1628
-//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1629
-			$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;} ";
1630
-			$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.";} ";
1631
-            $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;} ";
1632
-            $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);} ";
1633
-
1634
-			// text
1635
-//			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
1636
-
1637
-
1638
-//			if ( $type == 'primary' ) {
1639
-//				// dropdown's
1640
-//				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1641
-//
1642
-//				// input states
1643
-//				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1644
-//
1645
-//				// page link
1646
-//				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1647
-//			}
1648
-
1649
-			// alerts
1650
-			if ( $aui_bs5 ) {
1651
-//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1652
-				$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;} ";
1653
-			}
1654
-
1655
-			return $output;
1656
-		}
1657
-
1658
-		/**
1536
+			    if ( $aui_bs5 ) {
1537
+				    // translucent primary
1538
+				    if ( $type == 'primary' ) {
1539
+					    $output .= $prefix . ' .btn-translucent-primary{color:rgb(var(--bs-primary-rgb));}';
1540
+					    $output .= $prefix . ' .btn-translucent-primary:hover,' . $prefix . ' .btn-translucent-primary:focus,' . $prefix . ' .btn-translucent-primary.focus{background-color: rgb(var(--bs-primary-rgb));}';
1541
+				    }
1542
+
1543
+    //				$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).'; }';
1544
+				    $output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1545
+				    $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1546
+			    }
1547
+
1548
+
1549
+			    if ( $is_custom ) {
1550
+
1551
+    //				echo '###'.$type;exit;
1552
+
1553
+				    // build rules into each type
1554
+				    foreach($selectors as $selector => $types){
1555
+					    $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1556
+					    $types = array_combine($types,$types);
1557
+					    if(isset($types['c'])){$color[] = $selector;}
1558
+					    if(isset($types['b'])){$background[] = $selector;}
1559
+					    if(isset($types['o'])){$border[] = $selector;}
1560
+					    if(isset($types['f'])){$fill[] = $selector;}
1561
+				    }
1562
+
1563
+    //				// build rules into each type
1564
+    //				foreach($important_selectors as $selector => $types){
1565
+    //					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1566
+    //					$types = array_combine($types,$types);
1567
+    //					if(isset($types['c'])){$color_i[] = $selector;}
1568
+    //					if(isset($types['b'])){$background_i[] = $selector;}
1569
+    //					if(isset($types['o'])){$border_i[] = $selector;}
1570
+    //					if(isset($types['f'])){$fill_i[] = $selector;}
1571
+    //				}
1572
+
1573
+				    // add any color rules
1574
+				    if(!empty($color)){
1575
+					    $output .= implode(",",$color) . "{color: $color_code;} ";
1576
+				    }
1577
+				    if(!empty($color_i)){
1578
+					    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1579
+				    }
1580
+
1581
+				    // add any background color rules
1582
+				    if(!empty($background)){
1583
+					    $output .= implode(",",$background) . "{background-color: $color_code;} ";
1584
+				    }
1585
+				    if(!empty($background_i)){
1586
+					    $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1587
+    //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1588
+				    }
1589
+
1590
+				    // add any border color rules
1591
+				    if(!empty($border)){
1592
+					    $output .= implode(",",$border) . "{border-color: $color_code;} ";
1593
+				    }
1594
+				    if(!empty($border_i)){
1595
+					    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1596
+				    }
1597
+
1598
+				    // add any fill color rules
1599
+				    if(!empty($fill)){
1600
+					    $output .= implode(",",$fill) . "{fill: $color_code;} ";
1601
+				    }
1602
+				    if(!empty($fill_i)){
1603
+					    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1604
+				    }
1605
+
1606
+			    }
1607
+
1608
+
1609
+
1610
+
1611
+			    $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;' : '';
1612
+			    // darken
1613
+			    $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1614
+			    $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1615
+			    $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1616
+			    $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1617
+
1618
+			    // lighten
1619
+			    $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1620
+
1621
+			    // opacity see https://css-tricks.com/8-digit-hex-codes/
1622
+			    $op_25 = $color_code."40"; // 25% opacity
1623
+
1624
+
1625
+			    // button states
1626
+			    $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1627
+			    $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1628
+    //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1629
+			    $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;} ";
1630
+			    $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.";} ";
1631
+                $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;} ";
1632
+                $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);} ";
1633
+
1634
+			    // text
1635
+    //			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
1636
+
1637
+
1638
+    //			if ( $type == 'primary' ) {
1639
+    //				// dropdown's
1640
+    //				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1641
+    //
1642
+    //				// input states
1643
+    //				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1644
+    //
1645
+    //				// page link
1646
+    //				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1647
+    //			}
1648
+
1649
+			    // alerts
1650
+			    if ( $aui_bs5 ) {
1651
+    //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1652
+				    $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;} ";
1653
+			    }
1654
+
1655
+			    return $output;
1656
+		    }
1657
+
1658
+		    /**
1659 1659
 		 * Build the CSS to overwrite a bootstrap color variable.
1660 1660
 		 *
1661 1661
 		 * @param $type
@@ -1664,214 +1664,214 @@  discard block
 block discarded – undo
1664 1664
 		 *
1665 1665
 		 * @return string
1666 1666
 		 */
1667
-		public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1668
-            global $aui_bs5;
1667
+		    public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1668
+                global $aui_bs5;
1669 1669
 
1670
-			$is_var = false;
1671
-			if(!$color_code){return '';}
1672
-			if(strpos($color_code, 'var') !== false){
1673
-				//if(!sanitize_hex_color($color_code)){
1674
-				$color_code = esc_attr($color_code);
1675
-				$is_var = true;
1676
-//				$color_code = "rgba($color_code, 0.5)";
1677
-//                echo '###1'.$color_code.'###';//exit;
1678
-			}
1670
+			    $is_var = false;
1671
+			    if(!$color_code){return '';}
1672
+			    if(strpos($color_code, 'var') !== false){
1673
+				    //if(!sanitize_hex_color($color_code)){
1674
+				    $color_code = esc_attr($color_code);
1675
+				    $is_var = true;
1676
+    //				$color_code = "rgba($color_code, 0.5)";
1677
+    //                echo '###1'.$color_code.'###';//exit;
1678
+			    }
1679 1679
 
1680
-//            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1680
+    //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1681 1681
 
1682
-			if(!$color_code){return '';}
1682
+			    if(!$color_code){return '';}
1683 1683
 
1684
-            $rgb = self::hex_to_rgb($hex);
1684
+                $rgb = self::hex_to_rgb($hex);
1685 1685
 
1686
-			if($compatibility===true || $compatibility===1){
1687
-				$compatibility = '.bsui';
1688
-			}elseif(!$compatibility){
1689
-				$compatibility = '';
1690
-			}else{
1691
-				$compatibility = esc_attr($compatibility);
1692
-			}
1686
+			    if($compatibility===true || $compatibility===1){
1687
+				    $compatibility = '.bsui';
1688
+			    }elseif(!$compatibility){
1689
+				    $compatibility = '';
1690
+			    }else{
1691
+				    $compatibility = esc_attr($compatibility);
1692
+			    }
1693 1693
 
1694 1694
 
1695 1695
 
1696
-//            echo '####'.$color_code;exit;
1696
+    //            echo '####'.$color_code;exit;
1697 1697
 
1698
-			$type = sanitize_html_class($type);
1698
+			    $type = sanitize_html_class($type);
1699 1699
 
1700
-			/**
1700
+			    /**
1701 1701
 			 * c = color, b = background color, o = border-color, f = fill
1702 1702
 			 */
1703
-			$selectors = array(
1704
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1705
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1706
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1707
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1708
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1709
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1710
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1711
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1712
-				".badge-{$type}"                                            => array( 'b' ),
1713
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1714
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1715
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1716
-			);
1717
-
1718
-			if ( $aui_bs5 ) {
1719
-                unset($selectors[".alert-{$type}" ]);
1720
-			}
1721
-
1722
-			if ( $type == 'primary' ) {
1723
-				$selectors = $selectors + array(
1724
-						'a'                                                                                                    => array( 'c' ),
1725
-						'.btn-link'                                                                                            => array( 'c' ),
1726
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1727
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1728
-							'b',
1729
-							'o'
1730
-						),
1731
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1732
-							'b',
1733
-							'o'
1734
-						),
1735
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1736
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1737
-						'.page-link'                                                                                           => array( 'c' ),
1738
-						'.page-item.active .page-link'                                                                         => array(
1739
-							'b',
1740
-							'o'
1741
-						),
1742
-						'.progress-bar'                                                                                        => array( 'b' ),
1743
-						'.list-group-item.active'                                                                              => array(
1744
-							'b',
1745
-							'o'
1746
-						),
1747
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1748
-//				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1749
-//				    '.custom-range::-moz-range-thumb' => array('b'),
1750
-//				    '.custom-range::-ms-thumb' => array('b'),
1751
-					);
1752
-			}
1753
-
1754
-			$important_selectors = array(
1755
-				".bg-{$type}" => array('b','f'),
1756
-				".border-{$type}" => array('o'),
1757
-				".text-{$type}" => array('c'),
1758
-			);
1759
-
1760
-			$color = array();
1761
-			$color_i = array();
1762
-			$background = array();
1763
-			$background_i = array();
1764
-			$border = array();
1765
-			$border_i = array();
1766
-			$fill = array();
1767
-			$fill_i = array();
1768
-
1769
-			$output = '';
1770
-
1771
-			if ( $aui_bs5 ) {
1772
-//				$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).'; }';
1773
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1774
-			}
1775
-
1776
-			// build rules into each type
1777
-			foreach($selectors as $selector => $types){
1778
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1779
-				$types = array_combine($types,$types);
1780
-				if(isset($types['c'])){$color[] = $selector;}
1781
-				if(isset($types['b'])){$background[] = $selector;}
1782
-				if(isset($types['o'])){$border[] = $selector;}
1783
-				if(isset($types['f'])){$fill[] = $selector;}
1784
-			}
1785
-
1786
-			// build rules into each type
1787
-			foreach($important_selectors as $selector => $types){
1788
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1789
-				$types = array_combine($types,$types);
1790
-				if(isset($types['c'])){$color_i[] = $selector;}
1791
-				if(isset($types['b'])){$background_i[] = $selector;}
1792
-				if(isset($types['o'])){$border_i[] = $selector;}
1793
-				if(isset($types['f'])){$fill_i[] = $selector;}
1794
-			}
1795
-
1796
-			// add any color rules
1797
-			if(!empty($color)){
1798
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1799
-			}
1800
-			if(!empty($color_i)){
1801
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1802
-			}
1803
-
1804
-			// add any background color rules
1805
-			if(!empty($background)){
1806
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1807
-			}
1808
-			if(!empty($background_i)){
1809
-				$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1810
-//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1811
-			}
1812
-
1813
-			// add any border color rules
1814
-			if(!empty($border)){
1815
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1816
-			}
1817
-			if(!empty($border_i)){
1818
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1819
-			}
1820
-
1821
-			// add any fill color rules
1822
-			if(!empty($fill)){
1823
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1824
-			}
1825
-			if(!empty($fill_i)){
1826
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1827
-			}
1828
-
1829
-
1830
-			$prefix = $compatibility ? $compatibility . " " : "";
1831
-
1832
-			$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;' : '';
1833
-			// darken
1834
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1835
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1836
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1837
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1838
-
1839
-			// lighten
1840
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1841
-
1842
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1843
-			$op_25 = $color_code."40"; // 25% opacity
1844
-
1845
-
1846
-			// button states
1847
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1848
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1849
-//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1850
-			$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;} ";
1851
-			$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.";} ";
1852
-			$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;} ";
1853
-
1854
-			if ( $type == 'primary' ) {
1855
-				// dropdown's
1856
-				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1857
-
1858
-				// input states
1859
-				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1860
-
1861
-				// page link
1862
-				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1863
-			}
1864
-
1865
-            // alerts
1866
-			if ( $aui_bs5 ) {
1867
-//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1868
-				$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;} ";
1869
-			}
1870
-
1871
-			return $output;
1872
-		}
1873
-
1874
-		/**
1703
+			    $selectors = array(
1704
+				    ".btn-{$type}"                                              => array( 'b', 'o' ),
1705
+				    ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1706
+				    ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1707
+				    ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1708
+				    ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1709
+				    ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1710
+				    ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1711
+				    ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1712
+				    ".badge-{$type}"                                            => array( 'b' ),
1713
+				    ".alert-{$type}"                                            => array( 'b', 'o' ),
1714
+				    ".bg-{$type}"                                               => array( 'b', 'f' ),
1715
+				    ".btn-link.btn-{$type}"                                     => array( 'c' ),
1716
+			    );
1717
+
1718
+			    if ( $aui_bs5 ) {
1719
+                    unset($selectors[".alert-{$type}" ]);
1720
+			    }
1721
+
1722
+			    if ( $type == 'primary' ) {
1723
+				    $selectors = $selectors + array(
1724
+						    'a'                                                                                                    => array( 'c' ),
1725
+						    '.btn-link'                                                                                            => array( 'c' ),
1726
+						    '.dropdown-item.active'                                                                                => array( 'b' ),
1727
+						    '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1728
+							    'b',
1729
+							    'o'
1730
+						    ),
1731
+						    '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1732
+							    'b',
1733
+							    'o'
1734
+						    ),
1735
+						    '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1736
+						    '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1737
+						    '.page-link'                                                                                           => array( 'c' ),
1738
+						    '.page-item.active .page-link'                                                                         => array(
1739
+							    'b',
1740
+							    'o'
1741
+						    ),
1742
+						    '.progress-bar'                                                                                        => array( 'b' ),
1743
+						    '.list-group-item.active'                                                                              => array(
1744
+							    'b',
1745
+							    'o'
1746
+						    ),
1747
+						    '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1748
+    //				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1749
+    //				    '.custom-range::-moz-range-thumb' => array('b'),
1750
+    //				    '.custom-range::-ms-thumb' => array('b'),
1751
+					    );
1752
+			    }
1753
+
1754
+			    $important_selectors = array(
1755
+				    ".bg-{$type}" => array('b','f'),
1756
+				    ".border-{$type}" => array('o'),
1757
+				    ".text-{$type}" => array('c'),
1758
+			    );
1759
+
1760
+			    $color = array();
1761
+			    $color_i = array();
1762
+			    $background = array();
1763
+			    $background_i = array();
1764
+			    $border = array();
1765
+			    $border_i = array();
1766
+			    $fill = array();
1767
+			    $fill_i = array();
1768
+
1769
+			    $output = '';
1770
+
1771
+			    if ( $aui_bs5 ) {
1772
+    //				$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).'; }';
1773
+				    $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1774
+			    }
1775
+
1776
+			    // build rules into each type
1777
+			    foreach($selectors as $selector => $types){
1778
+				    $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1779
+				    $types = array_combine($types,$types);
1780
+				    if(isset($types['c'])){$color[] = $selector;}
1781
+				    if(isset($types['b'])){$background[] = $selector;}
1782
+				    if(isset($types['o'])){$border[] = $selector;}
1783
+				    if(isset($types['f'])){$fill[] = $selector;}
1784
+			    }
1785
+
1786
+			    // build rules into each type
1787
+			    foreach($important_selectors as $selector => $types){
1788
+				    $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1789
+				    $types = array_combine($types,$types);
1790
+				    if(isset($types['c'])){$color_i[] = $selector;}
1791
+				    if(isset($types['b'])){$background_i[] = $selector;}
1792
+				    if(isset($types['o'])){$border_i[] = $selector;}
1793
+				    if(isset($types['f'])){$fill_i[] = $selector;}
1794
+			    }
1795
+
1796
+			    // add any color rules
1797
+			    if(!empty($color)){
1798
+				    $output .= implode(",",$color) . "{color: $color_code;} ";
1799
+			    }
1800
+			    if(!empty($color_i)){
1801
+				    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1802
+			    }
1803
+
1804
+			    // add any background color rules
1805
+			    if(!empty($background)){
1806
+				    $output .= implode(",",$background) . "{background-color: $color_code;} ";
1807
+			    }
1808
+			    if(!empty($background_i)){
1809
+				    $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1810
+    //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1811
+			    }
1812
+
1813
+			    // add any border color rules
1814
+			    if(!empty($border)){
1815
+				    $output .= implode(",",$border) . "{border-color: $color_code;} ";
1816
+			    }
1817
+			    if(!empty($border_i)){
1818
+				    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1819
+			    }
1820
+
1821
+			    // add any fill color rules
1822
+			    if(!empty($fill)){
1823
+				    $output .= implode(",",$fill) . "{fill: $color_code;} ";
1824
+			    }
1825
+			    if(!empty($fill_i)){
1826
+				    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1827
+			    }
1828
+
1829
+
1830
+			    $prefix = $compatibility ? $compatibility . " " : "";
1831
+
1832
+			    $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;' : '';
1833
+			    // darken
1834
+			    $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1835
+			    $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1836
+			    $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1837
+			    $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1838
+
1839
+			    // lighten
1840
+			    $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1841
+
1842
+			    // opacity see https://css-tricks.com/8-digit-hex-codes/
1843
+			    $op_25 = $color_code."40"; // 25% opacity
1844
+
1845
+
1846
+			    // button states
1847
+			    $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1848
+			    $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1849
+    //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1850
+			    $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;} ";
1851
+			    $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.";} ";
1852
+			    $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;} ";
1853
+
1854
+			    if ( $type == 'primary' ) {
1855
+				    // dropdown's
1856
+				    $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1857
+
1858
+				    // input states
1859
+				    $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1860
+
1861
+				    // page link
1862
+				    $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1863
+			    }
1864
+
1865
+                // alerts
1866
+			    if ( $aui_bs5 ) {
1867
+    //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1868
+				    $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;} ";
1869
+			    }
1870
+
1871
+			    return $output;
1872
+		    }
1873
+
1874
+		    /**
1875 1875
 		 *
1876 1876
 		 * @deprecated 0.1.76 Use css_overwrite()
1877 1877
 		 *
@@ -1881,151 +1881,151 @@  discard block
 block discarded – undo
1881 1881
 		 *
1882 1882
 		 * @return string
1883 1883
 		 */
1884
-		public static function css_primary($color_code,$compatibility, $use_variable = false){
1884
+		    public static function css_primary($color_code,$compatibility, $use_variable = false){
1885 1885
 
1886
-			if(!$use_variable){
1887
-				$color_code = sanitize_hex_color($color_code);
1888
-				if(!$color_code){return '';}
1889
-			}
1886
+			    if(!$use_variable){
1887
+				    $color_code = sanitize_hex_color($color_code);
1888
+				    if(!$color_code){return '';}
1889
+			    }
1890 1890
 
1891
-			/**
1891
+			    /**
1892 1892
 			 * c = color, b = background color, o = border-color, f = fill
1893 1893
 			 */
1894
-			$selectors = array(
1895
-				'a' => array('c'),
1896
-				'.btn-primary' => array('b','o'),
1897
-				'.btn-primary.disabled' => array('b','o'),
1898
-				'.btn-primary:disabled' => array('b','o'),
1899
-				'.btn-outline-primary' => array('c','o'),
1900
-				'.btn-outline-primary:hover' => array('b','o'),
1901
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1902
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1903
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1904
-				'.btn-link' => array('c'),
1905
-				'.dropdown-item.active' => array('b'),
1906
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1907
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1908
-//				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1909
-//				'.custom-range::-moz-range-thumb' => array('b'),
1910
-//				'.custom-range::-ms-thumb' => array('b'),
1911
-				'.nav-pills .nav-link.active' => array('b'),
1912
-				'.nav-pills .show>.nav-link' => array('b'),
1913
-				'.page-link' => array('c'),
1914
-				'.page-item.active .page-link' => array('b','o'),
1915
-				'.badge-primary' => array('b'),
1916
-				'.alert-primary' => array('b','o'),
1917
-				'.progress-bar' => array('b'),
1918
-				'.list-group-item.active' => array('b','o'),
1919
-				'.bg-primary' => array('b','f'),
1920
-				'.btn-link.btn-primary' => array('c'),
1921
-				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1922
-			);
1923
-
1924
-			$important_selectors = array(
1925
-				'.bg-primary' => array('b','f'),
1926
-				'.border-primary' => array('o'),
1927
-				'.text-primary' => array('c'),
1928
-			);
1929
-
1930
-			$color = array();
1931
-			$color_i = array();
1932
-			$background = array();
1933
-			$background_i = array();
1934
-			$border = array();
1935
-			$border_i = array();
1936
-			$fill = array();
1937
-			$fill_i = array();
1938
-
1939
-			$output = '';
1940
-
1941
-			// build rules into each type
1942
-			foreach($selectors as $selector => $types){
1943
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1944
-				$types = array_combine($types,$types);
1945
-				if(isset($types['c'])){$color[] = $selector;}
1946
-				if(isset($types['b'])){$background[] = $selector;}
1947
-				if(isset($types['o'])){$border[] = $selector;}
1948
-				if(isset($types['f'])){$fill[] = $selector;}
1949
-			}
1950
-
1951
-			// build rules into each type
1952
-			foreach($important_selectors as $selector => $types){
1953
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1954
-				$types = array_combine($types,$types);
1955
-				if(isset($types['c'])){$color_i[] = $selector;}
1956
-				if(isset($types['b'])){$background_i[] = $selector;}
1957
-				if(isset($types['o'])){$border_i[] = $selector;}
1958
-				if(isset($types['f'])){$fill_i[] = $selector;}
1959
-			}
1960
-
1961
-			// add any color rules
1962
-			if(!empty($color)){
1963
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1964
-			}
1965
-			if(!empty($color_i)){
1966
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1967
-			}
1968
-
1969
-			// add any background color rules
1970
-			if(!empty($background)){
1971
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1972
-			}
1973
-			if(!empty($background_i)){
1974
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1975
-			}
1976
-
1977
-			// add any border color rules
1978
-			if(!empty($border)){
1979
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1980
-			}
1981
-			if(!empty($border_i)){
1982
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1983
-			}
1984
-
1985
-			// add any fill color rules
1986
-			if(!empty($fill)){
1987
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1988
-			}
1989
-			if(!empty($fill_i)){
1990
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1991
-			}
1992
-
1993
-
1994
-			$prefix = $compatibility ? ".bsui " : "";
1995
-
1996
-			// darken
1997
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1998
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1999
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2000
-
2001
-			// lighten
2002
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2003
-
2004
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
2005
-			$op_25 = $color_code."40"; // 25% opacity
2006
-
2007
-
2008
-			// button states
2009
-			$output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2010
-			$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;} ";
2011
-			$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.";} ";
2012
-			$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;} ";
2013
-
2014
-
2015
-			// dropdown's
2016
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2017
-
2018
-
2019
-			// input states
2020
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
2021
-
2022
-			// page link
2023
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2024
-
2025
-			return $output;
2026
-		}
2027
-
2028
-		/**
1894
+			    $selectors = array(
1895
+				    'a' => array('c'),
1896
+				    '.btn-primary' => array('b','o'),
1897
+				    '.btn-primary.disabled' => array('b','o'),
1898
+				    '.btn-primary:disabled' => array('b','o'),
1899
+				    '.btn-outline-primary' => array('c','o'),
1900
+				    '.btn-outline-primary:hover' => array('b','o'),
1901
+				    '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1902
+				    '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1903
+				    '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1904
+				    '.btn-link' => array('c'),
1905
+				    '.dropdown-item.active' => array('b'),
1906
+				    '.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1907
+				    '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1908
+    //				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1909
+    //				'.custom-range::-moz-range-thumb' => array('b'),
1910
+    //				'.custom-range::-ms-thumb' => array('b'),
1911
+				    '.nav-pills .nav-link.active' => array('b'),
1912
+				    '.nav-pills .show>.nav-link' => array('b'),
1913
+				    '.page-link' => array('c'),
1914
+				    '.page-item.active .page-link' => array('b','o'),
1915
+				    '.badge-primary' => array('b'),
1916
+				    '.alert-primary' => array('b','o'),
1917
+				    '.progress-bar' => array('b'),
1918
+				    '.list-group-item.active' => array('b','o'),
1919
+				    '.bg-primary' => array('b','f'),
1920
+				    '.btn-link.btn-primary' => array('c'),
1921
+				    '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1922
+			    );
1923
+
1924
+			    $important_selectors = array(
1925
+				    '.bg-primary' => array('b','f'),
1926
+				    '.border-primary' => array('o'),
1927
+				    '.text-primary' => array('c'),
1928
+			    );
1929
+
1930
+			    $color = array();
1931
+			    $color_i = array();
1932
+			    $background = array();
1933
+			    $background_i = array();
1934
+			    $border = array();
1935
+			    $border_i = array();
1936
+			    $fill = array();
1937
+			    $fill_i = array();
1938
+
1939
+			    $output = '';
1940
+
1941
+			    // build rules into each type
1942
+			    foreach($selectors as $selector => $types){
1943
+				    $selector = $compatibility ? ".bsui ".$selector : $selector;
1944
+				    $types = array_combine($types,$types);
1945
+				    if(isset($types['c'])){$color[] = $selector;}
1946
+				    if(isset($types['b'])){$background[] = $selector;}
1947
+				    if(isset($types['o'])){$border[] = $selector;}
1948
+				    if(isset($types['f'])){$fill[] = $selector;}
1949
+			    }
1950
+
1951
+			    // build rules into each type
1952
+			    foreach($important_selectors as $selector => $types){
1953
+				    $selector = $compatibility ? ".bsui ".$selector : $selector;
1954
+				    $types = array_combine($types,$types);
1955
+				    if(isset($types['c'])){$color_i[] = $selector;}
1956
+				    if(isset($types['b'])){$background_i[] = $selector;}
1957
+				    if(isset($types['o'])){$border_i[] = $selector;}
1958
+				    if(isset($types['f'])){$fill_i[] = $selector;}
1959
+			    }
1960
+
1961
+			    // add any color rules
1962
+			    if(!empty($color)){
1963
+				    $output .= implode(",",$color) . "{color: $color_code;} ";
1964
+			    }
1965
+			    if(!empty($color_i)){
1966
+				    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1967
+			    }
1968
+
1969
+			    // add any background color rules
1970
+			    if(!empty($background)){
1971
+				    $output .= implode(",",$background) . "{background-color: $color_code;} ";
1972
+			    }
1973
+			    if(!empty($background_i)){
1974
+				    $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1975
+			    }
1976
+
1977
+			    // add any border color rules
1978
+			    if(!empty($border)){
1979
+				    $output .= implode(",",$border) . "{border-color: $color_code;} ";
1980
+			    }
1981
+			    if(!empty($border_i)){
1982
+				    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1983
+			    }
1984
+
1985
+			    // add any fill color rules
1986
+			    if(!empty($fill)){
1987
+				    $output .= implode(",",$fill) . "{fill: $color_code;} ";
1988
+			    }
1989
+			    if(!empty($fill_i)){
1990
+				    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1991
+			    }
1992
+
1993
+
1994
+			    $prefix = $compatibility ? ".bsui " : "";
1995
+
1996
+			    // darken
1997
+			    $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1998
+			    $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1999
+			    $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2000
+
2001
+			    // lighten
2002
+			    $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2003
+
2004
+			    // opacity see https://css-tricks.com/8-digit-hex-codes/
2005
+			    $op_25 = $color_code."40"; // 25% opacity
2006
+
2007
+
2008
+			    // button states
2009
+			    $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2010
+			    $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;} ";
2011
+			    $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.";} ";
2012
+			    $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;} ";
2013
+
2014
+
2015
+			    // dropdown's
2016
+			    $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2017
+
2018
+
2019
+			    // input states
2020
+			    $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
2021
+
2022
+			    // page link
2023
+			    $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2024
+
2025
+			    return $output;
2026
+		    }
2027
+
2028
+		    /**
2029 2029
 		 *
2030 2030
 		 * @deprecated 0.1.76 Use css_overwrite()
2031 2031
 		 *
@@ -2034,123 +2034,123 @@  discard block
 block discarded – undo
2034 2034
 		 *
2035 2035
 		 * @return string
2036 2036
 		 */
2037
-		public static function css_secondary($color_code,$compatibility){;
2038
-			$color_code = sanitize_hex_color($color_code);
2039
-			if(!$color_code){return '';}
2040
-			/**
2037
+		    public static function css_secondary($color_code,$compatibility){;
2038
+			    $color_code = sanitize_hex_color($color_code);
2039
+			    if(!$color_code){return '';}
2040
+			    /**
2041 2041
 			 * c = color, b = background color, o = border-color, f = fill
2042 2042
 			 */
2043
-			$selectors = array(
2044
-				'.btn-secondary' => array('b','o'),
2045
-				'.btn-secondary.disabled' => array('b','o'),
2046
-				'.btn-secondary:disabled' => array('b','o'),
2047
-				'.btn-outline-secondary' => array('c','o'),
2048
-				'.btn-outline-secondary:hover' => array('b','o'),
2049
-				'.btn-outline-secondary.disabled' => array('c'),
2050
-				'.btn-outline-secondary:disabled' => array('c'),
2051
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2052
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2053
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2054
-				'.badge-secondary' => array('b'),
2055
-				'.alert-secondary' => array('b','o'),
2056
-				'.btn-link.btn-secondary' => array('c'),
2057
-			);
2058
-
2059
-			$important_selectors = array(
2060
-				'.bg-secondary' => array('b','f'),
2061
-				'.border-secondary' => array('o'),
2062
-				'.text-secondary' => array('c'),
2063
-			);
2064
-
2065
-			$color = array();
2066
-			$color_i = array();
2067
-			$background = array();
2068
-			$background_i = array();
2069
-			$border = array();
2070
-			$border_i = array();
2071
-			$fill = array();
2072
-			$fill_i = array();
2073
-
2074
-			$output = '';
2075
-
2076
-			// build rules into each type
2077
-			foreach($selectors as $selector => $types){
2078
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2079
-				$types = array_combine($types,$types);
2080
-				if(isset($types['c'])){$color[] = $selector;}
2081
-				if(isset($types['b'])){$background[] = $selector;}
2082
-				if(isset($types['o'])){$border[] = $selector;}
2083
-				if(isset($types['f'])){$fill[] = $selector;}
2084
-			}
2085
-
2086
-			// build rules into each type
2087
-			foreach($important_selectors as $selector => $types){
2088
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2089
-				$types = array_combine($types,$types);
2090
-				if(isset($types['c'])){$color_i[] = $selector;}
2091
-				if(isset($types['b'])){$background_i[] = $selector;}
2092
-				if(isset($types['o'])){$border_i[] = $selector;}
2093
-				if(isset($types['f'])){$fill_i[] = $selector;}
2094
-			}
2095
-
2096
-			// add any color rules
2097
-			if(!empty($color)){
2098
-				$output .= implode(",",$color) . "{color: $color_code;} ";
2099
-			}
2100
-			if(!empty($color_i)){
2101
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2102
-			}
2103
-
2104
-			// add any background color rules
2105
-			if(!empty($background)){
2106
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
2107
-			}
2108
-			if(!empty($background_i)){
2109
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2110
-			}
2111
-
2112
-			// add any border color rules
2113
-			if(!empty($border)){
2114
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
2115
-			}
2116
-			if(!empty($border_i)){
2117
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2118
-			}
2119
-
2120
-			// add any fill color rules
2121
-			if(!empty($fill)){
2122
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
2123
-			}
2124
-			if(!empty($fill_i)){
2125
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2126
-			}
2127
-
2128
-
2129
-			$prefix = $compatibility ? ".bsui " : "";
2130
-
2131
-			// darken
2132
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2133
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2134
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2135
-
2136
-			// lighten
2137
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2138
-
2139
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
2140
-			$op_25 = $color_code."40"; // 25% opacity
2141
-
2142
-
2143
-			// button states
2144
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2145
-			$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;} ";
2146
-			$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.";} ";
2147
-			$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;} ";
2148
-
2149
-
2150
-			return $output;
2151
-		}
2152
-
2153
-		/**
2043
+			    $selectors = array(
2044
+				    '.btn-secondary' => array('b','o'),
2045
+				    '.btn-secondary.disabled' => array('b','o'),
2046
+				    '.btn-secondary:disabled' => array('b','o'),
2047
+				    '.btn-outline-secondary' => array('c','o'),
2048
+				    '.btn-outline-secondary:hover' => array('b','o'),
2049
+				    '.btn-outline-secondary.disabled' => array('c'),
2050
+				    '.btn-outline-secondary:disabled' => array('c'),
2051
+				    '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2052
+				    '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2053
+				    '.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2054
+				    '.badge-secondary' => array('b'),
2055
+				    '.alert-secondary' => array('b','o'),
2056
+				    '.btn-link.btn-secondary' => array('c'),
2057
+			    );
2058
+
2059
+			    $important_selectors = array(
2060
+				    '.bg-secondary' => array('b','f'),
2061
+				    '.border-secondary' => array('o'),
2062
+				    '.text-secondary' => array('c'),
2063
+			    );
2064
+
2065
+			    $color = array();
2066
+			    $color_i = array();
2067
+			    $background = array();
2068
+			    $background_i = array();
2069
+			    $border = array();
2070
+			    $border_i = array();
2071
+			    $fill = array();
2072
+			    $fill_i = array();
2073
+
2074
+			    $output = '';
2075
+
2076
+			    // build rules into each type
2077
+			    foreach($selectors as $selector => $types){
2078
+				    $selector = $compatibility ? ".bsui ".$selector : $selector;
2079
+				    $types = array_combine($types,$types);
2080
+				    if(isset($types['c'])){$color[] = $selector;}
2081
+				    if(isset($types['b'])){$background[] = $selector;}
2082
+				    if(isset($types['o'])){$border[] = $selector;}
2083
+				    if(isset($types['f'])){$fill[] = $selector;}
2084
+			    }
2085
+
2086
+			    // build rules into each type
2087
+			    foreach($important_selectors as $selector => $types){
2088
+				    $selector = $compatibility ? ".bsui ".$selector : $selector;
2089
+				    $types = array_combine($types,$types);
2090
+				    if(isset($types['c'])){$color_i[] = $selector;}
2091
+				    if(isset($types['b'])){$background_i[] = $selector;}
2092
+				    if(isset($types['o'])){$border_i[] = $selector;}
2093
+				    if(isset($types['f'])){$fill_i[] = $selector;}
2094
+			    }
2095
+
2096
+			    // add any color rules
2097
+			    if(!empty($color)){
2098
+				    $output .= implode(",",$color) . "{color: $color_code;} ";
2099
+			    }
2100
+			    if(!empty($color_i)){
2101
+				    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2102
+			    }
2103
+
2104
+			    // add any background color rules
2105
+			    if(!empty($background)){
2106
+				    $output .= implode(",",$background) . "{background-color: $color_code;} ";
2107
+			    }
2108
+			    if(!empty($background_i)){
2109
+				    $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2110
+			    }
2111
+
2112
+			    // add any border color rules
2113
+			    if(!empty($border)){
2114
+				    $output .= implode(",",$border) . "{border-color: $color_code;} ";
2115
+			    }
2116
+			    if(!empty($border_i)){
2117
+				    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2118
+			    }
2119
+
2120
+			    // add any fill color rules
2121
+			    if(!empty($fill)){
2122
+				    $output .= implode(",",$fill) . "{fill: $color_code;} ";
2123
+			    }
2124
+			    if(!empty($fill_i)){
2125
+				    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2126
+			    }
2127
+
2128
+
2129
+			    $prefix = $compatibility ? ".bsui " : "";
2130
+
2131
+			    // darken
2132
+			    $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2133
+			    $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2134
+			    $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2135
+
2136
+			    // lighten
2137
+			    $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2138
+
2139
+			    // opacity see https://css-tricks.com/8-digit-hex-codes/
2140
+			    $op_25 = $color_code."40"; // 25% opacity
2141
+
2142
+
2143
+			    // button states
2144
+			    $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2145
+			    $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;} ";
2146
+			    $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.";} ";
2147
+			    $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;} ";
2148
+
2149
+
2150
+			    return $output;
2151
+		    }
2152
+
2153
+		    /**
2154 2154
 		 * Increases or decreases the brightness of a color by a percentage of the current brightness.
2155 2155
 		 *
2156 2156
 		 * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
@@ -2158,265 +2158,265 @@  discard block
 block discarded – undo
2158 2158
 		 *
2159 2159
 		 * @return  string
2160 2160
 		 */
2161
-		public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2162
-			$hexCode = ltrim($hexCode, '#');
2161
+		    public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2162
+			    $hexCode = ltrim($hexCode, '#');
2163 2163
 
2164
-			if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2165
-				return $hexCode;
2166
-			}
2164
+			    if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2165
+				    return $hexCode;
2166
+			    }
2167 2167
 
2168
-			if (strlen($hexCode) == 3) {
2169
-				$hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
2170
-			}
2168
+			    if (strlen($hexCode) == 3) {
2169
+				    $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
2170
+			    }
2171 2171
 
2172
-			$hexCode = array_map('hexdec', str_split($hexCode, 2));
2172
+			    $hexCode = array_map('hexdec', str_split($hexCode, 2));
2173 2173
 
2174
-			foreach ($hexCode as & $color) {
2175
-				$adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2176
-				$adjustAmount = ceil($adjustableLimit * $adjustPercent);
2174
+			    foreach ($hexCode as & $color) {
2175
+				    $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2176
+				    $adjustAmount = ceil($adjustableLimit * $adjustPercent);
2177 2177
 
2178
-				$color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2179
-			}
2178
+				    $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2179
+			    }
2180 2180
 
2181
-			return '#' . implode($hexCode);
2182
-		}
2181
+			    return '#' . implode($hexCode);
2182
+		    }
2183 2183
 
2184
-		/**
2184
+		    /**
2185 2185
 		 * Check if we should display examples.
2186 2186
 		 */
2187
-		public function maybe_show_examples(){
2188
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2189
-				echo "<head>";
2190
-				wp_head();
2191
-				echo "</head>";
2192
-				echo "<body>";
2193
-				echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2194
-				echo "</body>";
2195
-				exit;
2196
-			}
2197
-		}
2198
-
2199
-		/**
2187
+		    public function maybe_show_examples(){
2188
+			    if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2189
+				    echo "<head>";
2190
+				    wp_head();
2191
+				    echo "</head>";
2192
+				    echo "<body>";
2193
+				    echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2194
+				    echo "</body>";
2195
+				    exit;
2196
+			    }
2197
+		    }
2198
+
2199
+		    /**
2200 2200
 		 * Get developer examples.
2201 2201
 		 *
2202 2202
 		 * @return string
2203 2203
 		 */
2204
-		public function get_examples(){
2205
-			$output = '';
2206
-
2207
-
2208
-			// open form
2209
-			$output .= "<form class='p-5 m-5 border rounded'>";
2210
-
2211
-			// input example
2212
-			$output .= aui()->input(array(
2213
-				'type'  =>  'text',
2214
-				'id'    =>  'text-example',
2215
-				'name'    =>  'text-example',
2216
-				'placeholder'   => 'text placeholder',
2217
-				'title'   => 'Text input example',
2218
-				'value' =>  '',
2219
-				'required'  => false,
2220
-				'help_text' => 'help text',
2221
-				'label' => 'Text input example label'
2222
-			));
2223
-
2224
-			// input example
2225
-			$output .= aui()->input(array(
2226
-				'type'  =>  'url',
2227
-				'id'    =>  'text-example2',
2228
-				'name'    =>  'text-example',
2229
-				'placeholder'   => 'url placeholder',
2230
-				'title'   => 'Text input example',
2231
-				'value' =>  '',
2232
-				'required'  => false,
2233
-				'help_text' => 'help text',
2234
-				'label' => 'Text input example label'
2235
-			));
2236
-
2237
-			// checkbox example
2238
-			$output .= aui()->input(array(
2239
-				'type'  =>  'checkbox',
2240
-				'id'    =>  'checkbox-example',
2241
-				'name'    =>  'checkbox-example',
2242
-				'placeholder'   => 'checkbox-example',
2243
-				'title'   => 'Checkbox example',
2244
-				'value' =>  '1',
2245
-				'checked'   => true,
2246
-				'required'  => false,
2247
-				'help_text' => 'help text',
2248
-				'label' => 'Checkbox checked'
2249
-			));
2250
-
2251
-			// checkbox example
2252
-			$output .= aui()->input(array(
2253
-				'type'  =>  'checkbox',
2254
-				'id'    =>  'checkbox-example2',
2255
-				'name'    =>  'checkbox-example2',
2256
-				'placeholder'   => 'checkbox-example',
2257
-				'title'   => 'Checkbox example',
2258
-				'value' =>  '1',
2259
-				'checked'   => false,
2260
-				'required'  => false,
2261
-				'help_text' => 'help text',
2262
-				'label' => 'Checkbox un-checked'
2263
-			));
2264
-
2265
-			// switch example
2266
-			$output .= aui()->input(array(
2267
-				'type'  =>  'checkbox',
2268
-				'id'    =>  'switch-example',
2269
-				'name'    =>  'switch-example',
2270
-				'placeholder'   => 'checkbox-example',
2271
-				'title'   => 'Switch example',
2272
-				'value' =>  '1',
2273
-				'checked'   => true,
2274
-				'switch'    => true,
2275
-				'required'  => false,
2276
-				'help_text' => 'help text',
2277
-				'label' => 'Switch on'
2278
-			));
2279
-
2280
-			// switch example
2281
-			$output .= aui()->input(array(
2282
-				'type'  =>  'checkbox',
2283
-				'id'    =>  'switch-example2',
2284
-				'name'    =>  'switch-example2',
2285
-				'placeholder'   => 'checkbox-example',
2286
-				'title'   => 'Switch example',
2287
-				'value' =>  '1',
2288
-				'checked'   => false,
2289
-				'switch'    => true,
2290
-				'required'  => false,
2291
-				'help_text' => 'help text',
2292
-				'label' => 'Switch off'
2293
-			));
2294
-
2295
-			// close form
2296
-			$output .= "</form>";
2297
-
2298
-			return $output;
2299
-		}
2300
-
2301
-		/**
2204
+		    public function get_examples(){
2205
+			    $output = '';
2206
+
2207
+
2208
+			    // open form
2209
+			    $output .= "<form class='p-5 m-5 border rounded'>";
2210
+
2211
+			    // input example
2212
+			    $output .= aui()->input(array(
2213
+				    'type'  =>  'text',
2214
+				    'id'    =>  'text-example',
2215
+				    'name'    =>  'text-example',
2216
+				    'placeholder'   => 'text placeholder',
2217
+				    'title'   => 'Text input example',
2218
+				    'value' =>  '',
2219
+				    'required'  => false,
2220
+				    'help_text' => 'help text',
2221
+				    'label' => 'Text input example label'
2222
+			    ));
2223
+
2224
+			    // input example
2225
+			    $output .= aui()->input(array(
2226
+				    'type'  =>  'url',
2227
+				    'id'    =>  'text-example2',
2228
+				    'name'    =>  'text-example',
2229
+				    'placeholder'   => 'url placeholder',
2230
+				    'title'   => 'Text input example',
2231
+				    'value' =>  '',
2232
+				    'required'  => false,
2233
+				    'help_text' => 'help text',
2234
+				    'label' => 'Text input example label'
2235
+			    ));
2236
+
2237
+			    // checkbox example
2238
+			    $output .= aui()->input(array(
2239
+				    'type'  =>  'checkbox',
2240
+				    'id'    =>  'checkbox-example',
2241
+				    'name'    =>  'checkbox-example',
2242
+				    'placeholder'   => 'checkbox-example',
2243
+				    'title'   => 'Checkbox example',
2244
+				    'value' =>  '1',
2245
+				    'checked'   => true,
2246
+				    'required'  => false,
2247
+				    'help_text' => 'help text',
2248
+				    'label' => 'Checkbox checked'
2249
+			    ));
2250
+
2251
+			    // checkbox example
2252
+			    $output .= aui()->input(array(
2253
+				    'type'  =>  'checkbox',
2254
+				    'id'    =>  'checkbox-example2',
2255
+				    'name'    =>  'checkbox-example2',
2256
+				    'placeholder'   => 'checkbox-example',
2257
+				    'title'   => 'Checkbox example',
2258
+				    'value' =>  '1',
2259
+				    'checked'   => false,
2260
+				    'required'  => false,
2261
+				    'help_text' => 'help text',
2262
+				    'label' => 'Checkbox un-checked'
2263
+			    ));
2264
+
2265
+			    // switch example
2266
+			    $output .= aui()->input(array(
2267
+				    'type'  =>  'checkbox',
2268
+				    'id'    =>  'switch-example',
2269
+				    'name'    =>  'switch-example',
2270
+				    'placeholder'   => 'checkbox-example',
2271
+				    'title'   => 'Switch example',
2272
+				    'value' =>  '1',
2273
+				    'checked'   => true,
2274
+				    'switch'    => true,
2275
+				    'required'  => false,
2276
+				    'help_text' => 'help text',
2277
+				    'label' => 'Switch on'
2278
+			    ));
2279
+
2280
+			    // switch example
2281
+			    $output .= aui()->input(array(
2282
+				    'type'  =>  'checkbox',
2283
+				    'id'    =>  'switch-example2',
2284
+				    'name'    =>  'switch-example2',
2285
+				    'placeholder'   => 'checkbox-example',
2286
+				    'title'   => 'Switch example',
2287
+				    'value' =>  '1',
2288
+				    'checked'   => false,
2289
+				    'switch'    => true,
2290
+				    'required'  => false,
2291
+				    'help_text' => 'help text',
2292
+				    'label' => 'Switch off'
2293
+			    ));
2294
+
2295
+			    // close form
2296
+			    $output .= "</form>";
2297
+
2298
+			    return $output;
2299
+		    }
2300
+
2301
+		    /**
2302 2302
 		 * Calendar params.
2303 2303
 		 *
2304 2304
 		 * @since 0.1.44
2305 2305
 		 *
2306 2306
 		 * @return array Calendar params.
2307 2307
 		 */
2308
-		public static function calendar_params() {
2309
-			$params = array(
2310
-				'month_long_1' => __( 'January', 'ayecode-connect' ),
2311
-				'month_long_2' => __( 'February', 'ayecode-connect' ),
2312
-				'month_long_3' => __( 'March', 'ayecode-connect' ),
2313
-				'month_long_4' => __( 'April', 'ayecode-connect' ),
2314
-				'month_long_5' => __( 'May', 'ayecode-connect' ),
2315
-				'month_long_6' => __( 'June', 'ayecode-connect' ),
2316
-				'month_long_7' => __( 'July', 'ayecode-connect' ),
2317
-				'month_long_8' => __( 'August', 'ayecode-connect' ),
2318
-				'month_long_9' => __( 'September', 'ayecode-connect' ),
2319
-				'month_long_10' => __( 'October', 'ayecode-connect' ),
2320
-				'month_long_11' => __( 'November', 'ayecode-connect' ),
2321
-				'month_long_12' => __( 'December', 'ayecode-connect' ),
2322
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2323
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2324
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2325
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2326
-				'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2327
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2328
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2329
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2330
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2331
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2332
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2333
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2334
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2335
-				'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2336
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2337
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2338
-				'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2339
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2340
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2341
-				'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2342
-				'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2343
-				'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2344
-				'day_s2_4' => __( 'We', 'ayecode-connect' ),
2345
-				'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2346
-				'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2347
-				'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2348
-				'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2349
-				'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2350
-				'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2351
-				'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2352
-				'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2353
-				'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2354
-				'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2355
-				'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2356
-				'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2357
-				'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2358
-				'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2359
-				'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2360
-				'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2361
-				'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2362
-				'am_lower' => __( 'am', 'ayecode-connect' ),
2363
-				'pm_lower' => __( 'pm', 'ayecode-connect' ),
2364
-				'am_upper' => __( 'AM', 'ayecode-connect' ),
2365
-				'pm_upper' => __( 'PM', 'ayecode-connect' ),
2366
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2367
-				'time_24hr' => false,
2368
-				'year' => __( 'Year', 'ayecode-connect' ),
2369
-				'hour' => __( 'Hour', 'ayecode-connect' ),
2370
-				'minute' => __( 'Minute', 'ayecode-connect' ),
2371
-				'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2372
-				'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2373
-				'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2374
-				'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2375
-			);
2376
-
2377
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
2378
-		}
2379
-
2380
-		/**
2308
+		    public static function calendar_params() {
2309
+			    $params = array(
2310
+				    'month_long_1' => __( 'January', 'ayecode-connect' ),
2311
+				    'month_long_2' => __( 'February', 'ayecode-connect' ),
2312
+				    'month_long_3' => __( 'March', 'ayecode-connect' ),
2313
+				    'month_long_4' => __( 'April', 'ayecode-connect' ),
2314
+				    'month_long_5' => __( 'May', 'ayecode-connect' ),
2315
+				    'month_long_6' => __( 'June', 'ayecode-connect' ),
2316
+				    'month_long_7' => __( 'July', 'ayecode-connect' ),
2317
+				    'month_long_8' => __( 'August', 'ayecode-connect' ),
2318
+				    'month_long_9' => __( 'September', 'ayecode-connect' ),
2319
+				    'month_long_10' => __( 'October', 'ayecode-connect' ),
2320
+				    'month_long_11' => __( 'November', 'ayecode-connect' ),
2321
+				    'month_long_12' => __( 'December', 'ayecode-connect' ),
2322
+				    'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2323
+				    'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2324
+				    'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2325
+				    'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2326
+				    'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2327
+				    'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2328
+				    'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2329
+				    'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2330
+				    'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2331
+				    'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2332
+				    'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2333
+				    'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2334
+				    'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2335
+				    'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2336
+				    'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2337
+				    'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2338
+				    'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2339
+				    'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2340
+				    'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2341
+				    'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2342
+				    'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2343
+				    'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2344
+				    'day_s2_4' => __( 'We', 'ayecode-connect' ),
2345
+				    'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2346
+				    'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2347
+				    'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2348
+				    'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2349
+				    'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2350
+				    'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2351
+				    'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2352
+				    'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2353
+				    'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2354
+				    'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2355
+				    'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2356
+				    'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2357
+				    'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2358
+				    'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2359
+				    'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2360
+				    'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2361
+				    'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2362
+				    'am_lower' => __( 'am', 'ayecode-connect' ),
2363
+				    'pm_lower' => __( 'pm', 'ayecode-connect' ),
2364
+				    'am_upper' => __( 'AM', 'ayecode-connect' ),
2365
+				    'pm_upper' => __( 'PM', 'ayecode-connect' ),
2366
+				    'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2367
+				    'time_24hr' => false,
2368
+				    'year' => __( 'Year', 'ayecode-connect' ),
2369
+				    'hour' => __( 'Hour', 'ayecode-connect' ),
2370
+				    'minute' => __( 'Minute', 'ayecode-connect' ),
2371
+				    'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2372
+				    'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2373
+				    'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2374
+				    'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2375
+			    );
2376
+
2377
+			    return apply_filters( 'ayecode_ui_calendar_params', $params );
2378
+		    }
2379
+
2380
+		    /**
2381 2381
 		 * Flatpickr calendar localize.
2382 2382
 		 *
2383 2383
 		 * @since 0.1.44
2384 2384
 		 *
2385 2385
 		 * @return string Calendar locale.
2386 2386
 		 */
2387
-		public static function flatpickr_locale() {
2388
-			$params = self::calendar_params();
2387
+		    public static function flatpickr_locale() {
2388
+			    $params = self::calendar_params();
2389 2389
 
2390
-			if ( is_string( $params ) ) {
2391
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2392
-			} else {
2393
-				foreach ( (array) $params as $key => $value ) {
2394
-					if ( ! is_scalar( $value ) ) {
2395
-						continue;
2396
-					}
2390
+			    if ( is_string( $params ) ) {
2391
+				    $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2392
+			    } else {
2393
+				    foreach ( (array) $params as $key => $value ) {
2394
+					    if ( ! is_scalar( $value ) ) {
2395
+						    continue;
2396
+					    }
2397 2397
 
2398
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2399
-				}
2400
-			}
2398
+					    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2399
+				    }
2400
+			    }
2401 2401
 
2402
-			$day_s3 = array();
2403
-			$day_s5 = array();
2402
+			    $day_s3 = array();
2403
+			    $day_s5 = array();
2404 2404
 
2405
-			for ( $i = 1; $i <= 7; $i ++ ) {
2406
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2407
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2408
-			}
2405
+			    for ( $i = 1; $i <= 7; $i ++ ) {
2406
+				    $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2407
+				    $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2408
+			    }
2409 2409
 
2410
-			$month_s = array();
2411
-			$month_long = array();
2410
+			    $month_s = array();
2411
+			    $month_long = array();
2412 2412
 
2413
-			for ( $i = 1; $i <= 12; $i ++ ) {
2414
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2415
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2416
-			}
2413
+			    for ( $i = 1; $i <= 12; $i ++ ) {
2414
+				    $month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2415
+				    $month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2416
+			    }
2417 2417
 
2418
-			ob_start();
2419
-		if ( 0 ) { ?><script><?php } ?>
2418
+			    ob_start();
2419
+		    if ( 0 ) { ?><script><?php } ?>
2420 2420
                 {
2421 2421
                     weekdays: {
2422 2422
                         shorthand: ['<?php echo implode( "','", $day_s3 ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
@@ -2452,192 +2452,192 @@  discard block
 block discarded – undo
2452 2452
                     hourAriaLabel: '<?php echo esc_attr( $params[ 'hour' ] ); ?>',
2453 2453
                     minuteAriaLabel: '<?php echo esc_attr( $params[ 'minute' ] ); ?>',
2454 2454
                     time_24hr: <?php echo ( $params[ 'time_24hr' ] ? 'true' : 'false' ) ; ?>
2455
-                }
2455
+                    }
2456 2456
 				<?php if ( 0 ) { ?></script><?php } ?>
2457
-			<?php
2458
-			$locale = ob_get_clean();
2457
+    			<?php
2458
+			    $locale = ob_get_clean();
2459 2459
 
2460
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2461
-		}
2460
+			    return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2461
+		    }
2462 2462
 
2463
-		/**
2463
+		    /**
2464 2464
 		 * Select2 JS params.
2465 2465
 		 *
2466 2466
 		 * @since 0.1.44
2467 2467
 		 *
2468 2468
 		 * @return array Select2 JS params.
2469 2469
 		 */
2470
-		public static function select2_params() {
2471
-			$params = array(
2472
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2473
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2474
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2475
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2476
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2477
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2478
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2479
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2480
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2481
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2482
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2483
-			);
2484
-
2485
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2486
-		}
2487
-
2488
-		/**
2470
+		    public static function select2_params() {
2471
+			    $params = array(
2472
+				    'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2473
+				    'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2474
+				    'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2475
+				    'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2476
+				    'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2477
+				    'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2478
+				    'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2479
+				    'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2480
+				    'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2481
+				    'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2482
+				    'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2483
+			    );
2484
+
2485
+			    return apply_filters( 'ayecode_ui_select2_params', $params );
2486
+		    }
2487
+
2488
+		    /**
2489 2489
 		 * Select2 JS localize.
2490 2490
 		 *
2491 2491
 		 * @since 0.1.44
2492 2492
 		 *
2493 2493
 		 * @return string Select2 JS locale.
2494 2494
 		 */
2495
-		public static function select2_locale() {
2496
-			$params = self::select2_params();
2495
+		    public static function select2_locale() {
2496
+			    $params = self::select2_params();
2497 2497
 
2498
-			foreach ( (array) $params as $key => $value ) {
2499
-				if ( ! is_scalar( $value ) ) {
2500
-					continue;
2501
-				}
2498
+			    foreach ( (array) $params as $key => $value ) {
2499
+				    if ( ! is_scalar( $value ) ) {
2500
+					    continue;
2501
+				    }
2502 2502
 
2503
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2504
-			}
2503
+				    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2504
+			    }
2505 2505
 
2506
-			$locale = json_encode( $params );
2506
+			    $locale = json_encode( $params );
2507 2507
 
2508
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2509
-		}
2508
+			    return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2509
+		    }
2510 2510
 
2511
-		/**
2511
+		    /**
2512 2512
 		 * Time ago JS localize.
2513 2513
 		 *
2514 2514
 		 * @since 0.1.47
2515 2515
 		 *
2516 2516
 		 * @return string Time ago JS locale.
2517 2517
 		 */
2518
-		public static function timeago_locale() {
2519
-			$params = array(
2520
-				'prefix_ago' => '',
2521
-				'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2522
-				'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2523
-				'suffix_after' => '',
2524
-				'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2525
-				'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2526
-				'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2527
-				'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2528
-				'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2529
-				'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2530
-				'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2531
-				'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2532
-				'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2533
-				'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2534
-				'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2535
-			);
2536
-
2537
-			$params = apply_filters( 'ayecode_ui_timeago_params', $params );
2538
-
2539
-			foreach ( (array) $params as $key => $value ) {
2540
-				if ( ! is_scalar( $value ) ) {
2541
-					continue;
2542
-				}
2543
-
2544
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2545
-			}
2546
-
2547
-			$locale = json_encode( $params );
2548
-
2549
-			return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2550
-		}
2551
-
2552
-		/**
2518
+		    public static function timeago_locale() {
2519
+			    $params = array(
2520
+				    'prefix_ago' => '',
2521
+				    'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2522
+				    'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2523
+				    'suffix_after' => '',
2524
+				    'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2525
+				    'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2526
+				    'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2527
+				    'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2528
+				    'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2529
+				    'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2530
+				    'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2531
+				    'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2532
+				    'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2533
+				    'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2534
+				    'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2535
+			    );
2536
+
2537
+			    $params = apply_filters( 'ayecode_ui_timeago_params', $params );
2538
+
2539
+			    foreach ( (array) $params as $key => $value ) {
2540
+				    if ( ! is_scalar( $value ) ) {
2541
+					    continue;
2542
+				    }
2543
+
2544
+				    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2545
+			    }
2546
+
2547
+			    $locale = json_encode( $params );
2548
+
2549
+			    return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2550
+		    }
2551
+
2552
+		    /**
2553 2553
 		 * JavaScript Minifier
2554 2554
 		 *
2555 2555
 		 * @param $input
2556 2556
 		 *
2557 2557
 		 * @return mixed
2558 2558
 		 */
2559
-		public static function minify_js($input) {
2560
-			if(trim($input) === "") return $input;
2561
-			return preg_replace(
2562
-				array(
2563
-					// Remove comment(s)
2564
-					'#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2565
-					// Remove white-space(s) outside the string and regex
2566
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2567
-					// Remove the last semicolon
2568
-					'#;+\}#',
2569
-					// Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2570
-					'#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2571
-					// --ibid. From `foo['bar']` to `foo.bar`
2572
-					'#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2573
-				),
2574
-				array(
2575
-					'$1',
2576
-					'$1$2',
2577
-					'}',
2578
-					'$1$3',
2579
-					'$1.$3'
2580
-				),
2581
-				$input);
2582
-		}
2583
-
2584
-		/**
2559
+		    public static function minify_js($input) {
2560
+			    if(trim($input) === "") return $input;
2561
+			    return preg_replace(
2562
+				    array(
2563
+					    // Remove comment(s)
2564
+					    '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2565
+					    // Remove white-space(s) outside the string and regex
2566
+					    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2567
+					    // Remove the last semicolon
2568
+					    '#;+\}#',
2569
+					    // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2570
+					    '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2571
+					    // --ibid. From `foo['bar']` to `foo.bar`
2572
+					    '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2573
+				    ),
2574
+				    array(
2575
+					    '$1',
2576
+					    '$1$2',
2577
+					    '}',
2578
+					    '$1$3',
2579
+					    '$1.$3'
2580
+				    ),
2581
+				    $input);
2582
+		    }
2583
+
2584
+		    /**
2585 2585
 		 * Minify CSS
2586 2586
 		 *
2587 2587
 		 * @param $input
2588 2588
 		 *
2589 2589
 		 * @return mixed
2590 2590
 		 */
2591
-		public static function minify_css($input) {
2592
-			if(trim($input) === "") return $input;
2593
-			return preg_replace(
2594
-				array(
2595
-					// Remove comment(s)
2596
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2597
-					// Remove unused white-space(s)
2598
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2599
-					// Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2600
-					'#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2601
-					// Replace `:0 0 0 0` with `:0`
2602
-					'#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2603
-					// Replace `background-position:0` with `background-position:0 0`
2604
-					'#(background-position):0(?=[;\}])#si',
2605
-					// Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2606
-					'#(?<=[\s:,\-])0+\.(\d+)#s',
2607
-					// Minify string value
2608
-					'#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2609
-					'#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2610
-					// Minify HEX color code
2611
-					'#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2612
-					// Replace `(border|outline):none` with `(border|outline):0`
2613
-					'#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2614
-					// Remove empty selector(s)
2615
-					'#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2616
-				),
2617
-				array(
2618
-					'$1',
2619
-					'$1$2$3$4$5$6$7',
2620
-					'$1',
2621
-					':0',
2622
-					'$1:0 0',
2623
-					'.$1',
2624
-					'$1$3',
2625
-					'$1$2$4$5',
2626
-					'$1$2$3',
2627
-					'$1:0',
2628
-					'$1$2'
2629
-				),
2630
-				$input);
2631
-		}
2632
-
2633
-		/**
2591
+		    public static function minify_css($input) {
2592
+			    if(trim($input) === "") return $input;
2593
+			    return preg_replace(
2594
+				    array(
2595
+					    // Remove comment(s)
2596
+					    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2597
+					    // Remove unused white-space(s)
2598
+					    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2599
+					    // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2600
+					    '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2601
+					    // Replace `:0 0 0 0` with `:0`
2602
+					    '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2603
+					    // Replace `background-position:0` with `background-position:0 0`
2604
+					    '#(background-position):0(?=[;\}])#si',
2605
+					    // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2606
+					    '#(?<=[\s:,\-])0+\.(\d+)#s',
2607
+					    // Minify string value
2608
+					    '#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2609
+					    '#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2610
+					    // Minify HEX color code
2611
+					    '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2612
+					    // Replace `(border|outline):none` with `(border|outline):0`
2613
+					    '#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2614
+					    // Remove empty selector(s)
2615
+					    '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2616
+				    ),
2617
+				    array(
2618
+					    '$1',
2619
+					    '$1$2$3$4$5$6$7',
2620
+					    '$1',
2621
+					    ':0',
2622
+					    '$1:0 0',
2623
+					    '.$1',
2624
+					    '$1$3',
2625
+					    '$1$2$4$5',
2626
+					    '$1$2$3',
2627
+					    '$1:0',
2628
+					    '$1$2'
2629
+				    ),
2630
+				    $input);
2631
+		    }
2632
+
2633
+		    /**
2634 2634
 		 * Get the conditional fields JavaScript.
2635 2635
 		 *
2636 2636
 		 * @return mixed
2637 2637
 		 */
2638
-		public function conditional_fields_js() {
2639
-			ob_start();
2640
-			?>
2638
+		    public function conditional_fields_js() {
2639
+			    ob_start();
2640
+			    ?>
2641 2641
             <script>
2642 2642
                 /**
2643 2643
                  * Conditional Fields
@@ -3170,33 +3170,33 @@  discard block
 block discarded – undo
3170 3170
                     }
3171 3171
                 }
3172 3172
 				<?php do_action( 'aui_conditional_fields_js', $this ); ?>
3173
-            </script>
3173
+                </script>
3174 3174
 			<?php
3175
-			$output = ob_get_clean();
3175
+			    $output = ob_get_clean();
3176 3176
 
3177
-			return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3178
-		}
3177
+			    return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3178
+		    }
3179 3179
 
3180
-		/**
3180
+		    /**
3181 3181
 		 * Check if block editor page.
3182 3182
 		 *
3183 3183
 		 * @since 0.2.27
3184 3184
 		 *
3185 3185
 		 * @return bool
3186 3186
 		 */
3187
-		public static function is_block_editor() {
3188
-			if ( is_admin() ) {
3189
-				$current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array();
3187
+		    public static function is_block_editor() {
3188
+			    if ( is_admin() ) {
3189
+				    $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array();
3190 3190
 
3191
-				if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) {
3192
-					return true;
3193
-				}
3194
-			}
3191
+				    if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) {
3192
+					    return true;
3193
+				    }
3194
+			    }
3195 3195
 
3196
-			return false;
3197
-		}
3196
+			    return false;
3197
+		    }
3198 3198
 
3199
-		/**
3199
+		    /**
3200 3200
 		 * Checks if the current call is a ajax call to get the block content.
3201 3201
 		 *
3202 3202
 		 * This can be used in your widget to return different content as the block content.
@@ -3205,32 +3205,32 @@  discard block
 block discarded – undo
3205 3205
 		 *
3206 3206
 		 * @return bool
3207 3207
 		 */
3208
-		public static function is_block_content_call() {
3209
-			$result = false;
3210
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3211
-				$result = true;
3212
-			}
3208
+		    public static function is_block_content_call() {
3209
+			    $result = false;
3210
+			    if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3211
+				    $result = true;
3212
+			    }
3213 3213
 
3214
-			return $result;
3215
-		}
3214
+			    return $result;
3215
+		    }
3216 3216
 
3217
-		/**
3217
+		    /**
3218 3218
 		 * Tests if the current output is inside a Divi preview.
3219 3219
 		 *
3220 3220
 		 * @since 0.2.27
3221 3221
 		 *
3222 3222
 		 * @return bool
3223 3223
 		 */
3224
-		public static function is_divi_preview() {
3225
-			$result = false;
3226
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
3227
-				$result = true;
3228
-			}
3224
+		    public static function is_divi_preview() {
3225
+			    $result = false;
3226
+			    if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
3227
+				    $result = true;
3228
+			    }
3229 3229
 
3230
-			return $result;
3231
-		}
3230
+			    return $result;
3231
+		    }
3232 3232
 
3233
-		/**
3233
+		    /**
3234 3234
 		 * Tests if the current output is inside a elementor preview.
3235 3235
 		 *
3236 3236
 		 *
@@ -3238,171 +3238,171 @@  discard block
 block discarded – undo
3238 3238
 		 *
3239 3239
 		 * @return bool
3240 3240
 		 */
3241
-		public static function is_elementor_preview() {
3242
-			$result = false;
3243
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
3244
-				$result = true;
3245
-			}
3241
+		    public static function is_elementor_preview() {
3242
+			    $result = false;
3243
+			    if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
3244
+				    $result = true;
3245
+			    }
3246 3246
 
3247
-			return $result;
3248
-		}
3247
+			    return $result;
3248
+		    }
3249 3249
 
3250
-		/**
3250
+		    /**
3251 3251
 		 * Tests if the current output is inside a Beaver builder preview.
3252 3252
 		 *
3253 3253
 		 * @since 0.2.27
3254 3254
 		 *
3255 3255
 		 * @return bool
3256 3256
 		 */
3257
-		public static function is_beaver_preview() {
3258
-			$result = false;
3259
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
3260
-				$result = true;
3261
-			}
3257
+		    public static function is_beaver_preview() {
3258
+			    $result = false;
3259
+			    if ( isset( $_REQUEST['fl_builder'] ) ) {
3260
+				    $result = true;
3261
+			    }
3262 3262
 
3263
-			return $result;
3264
-		}
3263
+			    return $result;
3264
+		    }
3265 3265
 
3266
-		/**
3266
+		    /**
3267 3267
 		 * Tests if the current output is inside a siteorigin builder preview.
3268 3268
 		 *
3269 3269
 		 * @since 0.2.27
3270 3270
 		 *
3271 3271
 		 * @return bool
3272 3272
 		 */
3273
-		public static function is_siteorigin_preview() {
3274
-			$result = false;
3275
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
3276
-				$result = true;
3277
-			}
3273
+		    public static function is_siteorigin_preview() {
3274
+			    $result = false;
3275
+			    if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
3276
+				    $result = true;
3277
+			    }
3278 3278
 
3279
-			return $result;
3280
-		}
3279
+			    return $result;
3280
+		    }
3281 3281
 
3282
-		/**
3282
+		    /**
3283 3283
 		 * Tests if the current output is inside a cornerstone builder preview.
3284 3284
 		 *
3285 3285
 		 * @since 0.2.27
3286 3286
 		 *
3287 3287
 		 * @return bool
3288 3288
 		 */
3289
-		public static function is_cornerstone_preview() {
3290
-			$result = false;
3291
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
3292
-				$result = true;
3293
-			}
3289
+		    public static function is_cornerstone_preview() {
3290
+			    $result = false;
3291
+			    if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
3292
+				    $result = true;
3293
+			    }
3294 3294
 
3295
-			return $result;
3296
-		}
3295
+			    return $result;
3296
+		    }
3297 3297
 
3298
-		/**
3298
+		    /**
3299 3299
 		 * Tests if the current output is inside a fusion builder preview.
3300 3300
 		 *
3301 3301
 		 * @return bool
3302 3302
 		 *@since 1.1.0
3303 3303
 		 */
3304
-		public static function is_fusion_preview() {
3305
-			$result = false;
3306
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
3307
-				$result = true;
3308
-			}
3304
+		    public static function is_fusion_preview() {
3305
+			    $result = false;
3306
+			    if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
3307
+				    $result = true;
3308
+			    }
3309 3309
 
3310
-			return $result;
3311
-		}
3310
+			    return $result;
3311
+		    }
3312 3312
 
3313
-		/**
3313
+		    /**
3314 3314
 		 * Tests if the current output is inside a Oxygen builder preview.
3315 3315
 		 *
3316 3316
 		 * @return bool
3317 3317
 		 *@since 1.0.18
3318 3318
 		 */
3319
-		public static function is_oxygen_preview() {
3320
-			$result = false;
3321
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
3322
-				$result = true;
3323
-			}
3319
+		    public static function is_oxygen_preview() {
3320
+			    $result = false;
3321
+			    if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
3322
+				    $result = true;
3323
+			    }
3324 3324
 
3325
-			return $result;
3326
-		}
3325
+			    return $result;
3326
+		    }
3327 3327
 
3328
-		/**
3328
+		    /**
3329 3329
 		 * Check for Kallyas theme Zion builder preview.
3330 3330
 		 *
3331 3331
 		 * @since 0.2.27
3332 3332
 		 *
3333 3333
 		 * @return bool
3334 3334
 		 */
3335
-		public static function is_kallyas_zion_preview() {
3336
-			$result = false;
3335
+		    public static function is_kallyas_zion_preview() {
3336
+			    $result = false;
3337 3337
 
3338
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
3339
-				$result = true;
3340
-			}
3338
+			    if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
3339
+				    $result = true;
3340
+			    }
3341 3341
 
3342
-			return $result;
3343
-		}
3342
+			    return $result;
3343
+		    }
3344 3344
 
3345
-		/**
3345
+		    /**
3346 3346
 		 * Check for Bricks theme builder preview.
3347 3347
 		 *
3348 3348
 		 * @since 0.2.27
3349 3349
 		 *
3350 3350
 		 * @return bool
3351 3351
 		 */
3352
-		public static function is_bricks_preview() {
3353
-			$result = false;
3352
+		    public static function is_bricks_preview() {
3353
+			    $result = false;
3354 3354
 
3355
-			if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
3356
-				$result = true;
3357
-			}
3355
+			    if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
3356
+				    $result = true;
3357
+			    }
3358 3358
 
3359
-			return $result;
3360
-		}
3359
+			    return $result;
3360
+		    }
3361 3361
 
3362
-		/**
3362
+		    /**
3363 3363
 		 * General function to check if we are in a preview situation.
3364 3364
 		 *
3365 3365
 		 * @since 0.2.27
3366 3366
 		 *
3367 3367
 		 * @return bool
3368 3368
 		 */
3369
-		public static function is_preview() {
3370
-			$preview = false;
3371
-
3372
-			if ( self::is_block_editor() ) {
3373
-				return true;
3374
-			}
3375
-
3376
-			if( self::is_block_content_call() ) {
3377
-				$preview = true;
3378
-			} elseif ( self::is_divi_preview() ) {
3379
-				$preview = true;
3380
-			} elseif ( self::is_elementor_preview() ) {
3381
-				$preview = true;
3382
-			} elseif ( self::is_beaver_preview() ) {
3383
-				$preview = true;
3384
-			} elseif ( self::is_siteorigin_preview() ) {
3385
-				$preview = true;
3386
-			} elseif ( self::is_cornerstone_preview() ) {
3387
-				$preview = true;
3388
-			} elseif ( self::is_fusion_preview() ) {
3389
-				$preview = true;
3390
-			} elseif ( self::is_oxygen_preview() ) {
3391
-				$preview = true;
3392
-			} elseif( self::is_kallyas_zion_preview() ) {
3393
-				$preview = true;
3394
-			} elseif( self::is_bricks_preview() ) {
3395
-				$preview = true;
3396
-			}
3397
-
3398
-			return $preview;
3399
-		}
3400
-	}
3401
-
3402
-	global $ayecode_ui_settings;
3403
-
3404
-	/**
3369
+		    public static function is_preview() {
3370
+			    $preview = false;
3371
+
3372
+			    if ( self::is_block_editor() ) {
3373
+				    return true;
3374
+			    }
3375
+
3376
+			    if( self::is_block_content_call() ) {
3377
+				    $preview = true;
3378
+			    } elseif ( self::is_divi_preview() ) {
3379
+				    $preview = true;
3380
+			    } elseif ( self::is_elementor_preview() ) {
3381
+				    $preview = true;
3382
+			    } elseif ( self::is_beaver_preview() ) {
3383
+				    $preview = true;
3384
+			    } elseif ( self::is_siteorigin_preview() ) {
3385
+				    $preview = true;
3386
+			    } elseif ( self::is_cornerstone_preview() ) {
3387
+				    $preview = true;
3388
+			    } elseif ( self::is_fusion_preview() ) {
3389
+				    $preview = true;
3390
+			    } elseif ( self::is_oxygen_preview() ) {
3391
+				    $preview = true;
3392
+			    } elseif( self::is_kallyas_zion_preview() ) {
3393
+				    $preview = true;
3394
+			    } elseif( self::is_bricks_preview() ) {
3395
+				    $preview = true;
3396
+			    }
3397
+
3398
+			    return $preview;
3399
+		    }
3400
+	    }
3401
+
3402
+	    global $ayecode_ui_settings;
3403
+
3404
+	    /**
3405 3405
 	 * Run the class if found.
3406 3406
 	 */
3407
-	$ayecode_ui_settings = AyeCode_UI_Settings::instance();
3407
+	    $ayecode_ui_settings = AyeCode_UI_Settings::instance();
3408 3408
 }
3409 3409
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +802 added lines, -802 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 . '/'));
@@ -761,7 +761,7 @@  discard block
 block discarded – undo
761 761
             $url = trailingslashit($content_url) . $after_content;
762 762
 
763 763
             // some hosts end up with /wp-content/wp-content/
764
-            $url = str_replace( '/wp-content/wp-content/', '/wp-content/', $url );
764
+            $url = str_replace('/wp-content/wp-content/', '/wp-content/', $url);
765 765
 
766 766
             return trailingslashit($url);
767 767
         }
@@ -775,15 +775,15 @@  discard block
 block discarded – undo
775 775
 
776 776
 			$url = '';
777 777
 			// check if we are inside a plugin
778
-			$file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
778
+			$file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__)));
779 779
 
780 780
 			// add check in-case user has changed wp-content dir name.
781 781
 			$wp_content_folder_name = basename(WP_CONTENT_DIR);
782
-			$dir_parts = explode("/$wp_content_folder_name/",$file_dir);
783
-			$url_parts = explode("/$wp_content_folder_name/",plugins_url());
782
+			$dir_parts = explode("/$wp_content_folder_name/", $file_dir);
783
+			$url_parts = explode("/$wp_content_folder_name/", plugins_url());
784 784
 
785
-			if(!empty($url_parts[0]) && !empty($dir_parts[1])){
786
-				$url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
785
+			if (!empty($url_parts[0]) && !empty($dir_parts[1])) {
786
+				$url = trailingslashit($url_parts[0] . "/$wp_content_folder_name/" . $dir_parts[1]);
787 787
 			}
788 788
 
789 789
 			return $url;
@@ -793,7 +793,7 @@  discard block
 block discarded – undo
793 793
 		 * Register the database settings with WordPress.
794 794
 		 */
795 795
 		public function register_settings() {
796
-			register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
796
+			register_setting('ayecode-ui-settings', 'ayecode-ui-settings');
797 797
 		}
798 798
 
799 799
 		/**
@@ -802,10 +802,10 @@  discard block
 block discarded – undo
802 802
 		 */
803 803
 		public function menu_item() {
804 804
 			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
805
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
805
+			call_user_func($menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
806 806
 				$this,
807 807
 				'settings_page'
808
-			) );
808
+			));
809 809
 		}
810 810
 
811 811
 		/**
@@ -813,7 +813,7 @@  discard block
 block discarded – undo
813 813
 		 *
814 814
 		 * @return array
815 815
 		 */
816
-		public function theme_js_settings(){
816
+		public function theme_js_settings() {
817 817
 			return array(
818 818
 				'ayetheme' => 'popper',
819 819
 				'listimia' => 'required',
@@ -834,7 +834,7 @@  discard block
 block discarded – undo
834 834
 	        $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}";
835 835
 
836 836
 	        // Execute the query
837
-	        $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
837
+	        $date = $wpdb->get_var($query); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
838 838
 
839 839
 	        return $date ? $date : false;
840 840
         }
@@ -842,11 +842,11 @@  discard block
 block discarded – undo
842 842
 		/**
843 843
 		 * Show admin notice if backend scripts not loaded.
844 844
 		 */
845
-		public function show_admin_version_notice(){
846
-			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings" );
847
-			$button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>';
848
-			$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;
849
-			echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
845
+		public function show_admin_version_notice() {
846
+			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings");
847
+			$button = '<a href="' . esc_url($fix_url) . '" class="button-primary">View Settings</a>';
848
+			$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;
849
+			echo '<div class="notice notice-error aui-settings-error-notice"><p>' . wp_kses_post($message) . '</p></div>';
850 850
 		}
851 851
 
852 852
 		/**
@@ -855,15 +855,15 @@  discard block
 block discarded – undo
855 855
 		 * @return array The array of settings.
856 856
 		 */
857 857
 		public function get_settings() {
858
-			$db_settings = get_option( 'ayecode-ui-settings' );
858
+			$db_settings = get_option('ayecode-ui-settings');
859 859
 
860 860
 			// Maybe show default version notice
861
-			if ( empty( $db_settings ) ) {
862
-				$site_install_date = new DateTime( self::get_site_install_date() );
863
-				$switch_over_date = new DateTime( "2024-02-01" );
861
+			if (empty($db_settings)) {
862
+				$site_install_date = new DateTime(self::get_site_install_date());
863
+				$switch_over_date = new DateTime("2024-02-01");
864 864
 
865
-				if ( $site_install_date < $switch_over_date ) {
866
-					add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) );
865
+				if ($site_install_date < $switch_over_date) {
866
+					add_action('admin_notices', array($this, 'show_admin_version_notice'));
867 867
 				}
868 868
 			}
869 869
 
@@ -871,19 +871,19 @@  discard block
 block discarded – undo
871 871
 			$js_default_backend = $js_default;
872 872
 
873 873
 			// maybe set defaults (if no settings set)
874
-			if(empty($db_settings)){
875
-				$active_theme = strtolower( get_template() ); // active parent theme.
874
+			if (empty($db_settings)) {
875
+				$active_theme = strtolower(get_template()); // active parent theme.
876 876
 				$theme_js_settings = self::theme_js_settings();
877
-				if(isset($theme_js_settings[$active_theme])){
877
+				if (isset($theme_js_settings[$active_theme])) {
878 878
 					$js_default = $theme_js_settings[$active_theme];
879
-					$js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
879
+					$js_default_backend = isset($theme_js_settings[$active_theme . "_backend"]) ? $theme_js_settings[$active_theme . "_backend"] : $js_default;
880 880
 				}
881 881
 			}
882 882
 
883 883
 			/**
884 884
 			 * Filter the default settings.
885 885
 			 */
886
-			$defaults = apply_filters( 'ayecode-ui-default-settings', array(
886
+			$defaults = apply_filters('ayecode-ui-default-settings', array(
887 887
 				'css'            => 'compatibility', // core, compatibility
888 888
 				'js'             => $js_default, // js to load, core-popper, popper
889 889
 				'html_font_size' => '16', // js to load, core-popper, popper
@@ -891,16 +891,16 @@  discard block
 block discarded – undo
891 891
 				'js_backend'     => $js_default_backend, // js to load, core-popper, popper
892 892
 				'disable_admin'  => '', // URL snippets to disable loading on admin
893 893
                 'bs_ver'         => '5', // The default bootstrap version to sue by default
894
-			), $db_settings );
894
+			), $db_settings);
895 895
 
896
-			$settings = wp_parse_args( $db_settings, $defaults );
896
+			$settings = wp_parse_args($db_settings, $defaults);
897 897
 
898 898
 			/**
899 899
 			 * Filter the Bootstrap settings.
900 900
 			 *
901 901
 			 * @todo if we add this filer people might use it and then it defeats the purpose of this class :/
902 902
 			 */
903
-			return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
903
+			return $this->settings = apply_filters('ayecode-ui-settings', $settings, $db_settings, $defaults);
904 904
 		}
905 905
 
906 906
 
@@ -908,109 +908,109 @@  discard block
 block discarded – undo
908 908
 		 * The settings page html output.
909 909
 		 */
910 910
 		public function settings_page() {
911
-			if ( ! current_user_can( 'manage_options' ) ) {
912
-				wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) );
911
+			if (!current_user_can('manage_options')) {
912
+				wp_die(esc_attr__('You do not have sufficient permissions to access this page.', 'ayecode-connect'));
913 913
 			}
914
-            $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() );
914
+            $overrides = apply_filters('ayecode-ui-settings', array(), array(), array());
915 915
 
916 916
 			?>
917 917
             <div class="wrap">
918
-                <h1><?php echo esc_attr( $this->name ); ?></h1>
919
-                <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>
918
+                <h1><?php echo esc_attr($this->name); ?></h1>
919
+                <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>
920 920
                 <form method="post" action="options.php">
921 921
 					<?php
922
-					settings_fields( 'ayecode-ui-settings' );
923
-					do_settings_sections( 'ayecode-ui-settings' );
922
+					settings_fields('ayecode-ui-settings');
923
+					do_settings_sections('ayecode-ui-settings');
924 924
 					?>
925 925
 
926
-                    <h2><?php esc_html_e( 'BootStrap Version', 'ayecode-connect' ); ?></h2>
927
-                    <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>
926
+                    <h2><?php esc_html_e('BootStrap Version', 'ayecode-connect'); ?></h2>
927
+                    <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>
928 928
 	                <div class="bsui"><?php
929
-	                if ( ! empty( $overrides ) ) {
929
+	                if (!empty($overrides)) {
930 930
 		                echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
931 931
 			                'type'=> 'info',
932
-			                'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' )
932
+			                'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect')
933 933
 		                ));
934 934
 	                }
935 935
 	                ?>
936 936
                     </div>
937 937
                     <table class="form-table wpbs-table-version-settings">
938 938
                         <tr valign="top">
939
-                            <th scope="row"><label for="wpbs-css"><?php esc_html_e( 'Version', 'ayecode-connect' ); ?></label></th>
939
+                            <th scope="row"><label for="wpbs-css"><?php esc_html_e('Version', 'ayecode-connect'); ?></label></th>
940 940
                             <td>
941 941
                                 <select name="ayecode-ui-settings[bs_ver]" id="wpbs-css" <?php echo !empty($overrides['bs_ver']) ? 'disabled' : ''; ?>>
942
-                                    <option	value="5" <?php selected( $this->settings['bs_ver'], '5' ); ?>><?php esc_html_e( 'v5 (recommended)', 'ayecode-connect' ); ?></option>
943
-                                    <option value="4" <?php selected( $this->settings['bs_ver'], '4' ); ?>><?php esc_html_e( 'v4 (legacy)', 'ayecode-connect' ); ?></option>
942
+                                    <option	value="5" <?php selected($this->settings['bs_ver'], '5'); ?>><?php esc_html_e('v5 (recommended)', 'ayecode-connect'); ?></option>
943
+                                    <option value="4" <?php selected($this->settings['bs_ver'], '4'); ?>><?php esc_html_e('v4 (legacy)', 'ayecode-connect'); ?></option>
944 944
                                 </select>
945 945
                             </td>
946 946
                         </tr>
947 947
                     </table>
948 948
 
949
-                    <h2><?php esc_html_e( 'Frontend', 'ayecode-connect' ); ?></h2>
949
+                    <h2><?php esc_html_e('Frontend', 'ayecode-connect'); ?></h2>
950 950
                     <table class="form-table wpbs-table-settings">
951 951
                         <tr valign="top">
952
-                            <th scope="row"><label for="wpbs-css"><?php esc_html_e( 'Load CSS', 'ayecode-connect' ); ?></label></th>
952
+                            <th scope="row"><label for="wpbs-css"><?php esc_html_e('Load CSS', 'ayecode-connect'); ?></label></th>
953 953
                             <td>
954 954
                                 <select name="ayecode-ui-settings[css]" id="wpbs-css" <?php echo !empty($overrides['css']) ? 'disabled' : ''; ?>>
955
-                                    <option	value="compatibility" <?php selected( $this->settings['css'], 'compatibility' ); ?>><?php esc_html_e( 'Compatibility Mode (default)', 'ayecode-connect' ); ?></option>
956
-                                    <option value="core" <?php selected( $this->settings['css'], 'core' ); ?>><?php esc_html_e( 'Full Mode', 'ayecode-connect' ); ?></option>
957
-                                    <option	value="" <?php selected( $this->settings['css'], '' ); ?>><?php esc_html_e( 'Disabled', 'ayecode-connect' ); ?></option>
955
+                                    <option	value="compatibility" <?php selected($this->settings['css'], 'compatibility'); ?>><?php esc_html_e('Compatibility Mode (default)', 'ayecode-connect'); ?></option>
956
+                                    <option value="core" <?php selected($this->settings['css'], 'core'); ?>><?php esc_html_e('Full Mode', 'ayecode-connect'); ?></option>
957
+                                    <option	value="" <?php selected($this->settings['css'], ''); ?>><?php esc_html_e('Disabled', 'ayecode-connect'); ?></option>
958 958
                                 </select>
959 959
                             </td>
960 960
                         </tr>
961 961
 
962 962
                         <tr valign="top">
963
-                            <th scope="row"><label for="wpbs-js"><?php esc_html_e( 'Load JS', 'ayecode-connect' ); ?></label></th>
963
+                            <th scope="row"><label for="wpbs-js"><?php esc_html_e('Load JS', 'ayecode-connect'); ?></label></th>
964 964
                             <td>
965 965
                                 <select name="ayecode-ui-settings[js]" id="wpbs-js" <?php echo !empty($overrides['js']) ? 'disabled' : ''; ?>>
966
-                                    <option	value="core-popper" <?php selected( $this->settings['js'], 'core-popper' ); ?>><?php esc_html_e( 'Core + Popper (default)', 'ayecode-connect' ); ?></option>
967
-                                    <option value="popper" <?php selected( $this->settings['js'], 'popper' ); ?>><?php esc_html_e( 'Popper', 'ayecode-connect' ); ?></option>
968
-                                    <option value="required" <?php selected( $this->settings['js'], 'required' ); ?>><?php esc_html_e( 'Required functions only', 'ayecode-connect' ); ?></option>
969
-                                    <option	value="" <?php selected( $this->settings['js'], '' ); ?>><?php esc_html_e( 'Disabled (not recommended)', 'ayecode-connect' ); ?></option>
966
+                                    <option	value="core-popper" <?php selected($this->settings['js'], 'core-popper'); ?>><?php esc_html_e('Core + Popper (default)', 'ayecode-connect'); ?></option>
967
+                                    <option value="popper" <?php selected($this->settings['js'], 'popper'); ?>><?php esc_html_e('Popper', 'ayecode-connect'); ?></option>
968
+                                    <option value="required" <?php selected($this->settings['js'], 'required'); ?>><?php esc_html_e('Required functions only', 'ayecode-connect'); ?></option>
969
+                                    <option	value="" <?php selected($this->settings['js'], ''); ?>><?php esc_html_e('Disabled (not recommended)', 'ayecode-connect'); ?></option>
970 970
                                 </select>
971 971
                             </td>
972 972
                         </tr>
973 973
 
974 974
                         <tr valign="top">
975
-                            <th scope="row"><label for="wpbs-font_size"><?php esc_html_e( 'HTML Font Size (px)', 'ayecode-connect' ); ?></label></th>
975
+                            <th scope="row"><label for="wpbs-font_size"><?php esc_html_e('HTML Font Size (px)', 'ayecode-connect'); ?></label></th>
976 976
                             <td>
977
-                                <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' : ''; ?> />
978
-                                <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>
977
+                                <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' : ''; ?> />
978
+                                <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>
979 979
                             </td>
980 980
                         </tr>
981 981
 
982 982
                     </table>
983 983
 
984
-                    <h2><?php esc_html_e( 'Backend', 'ayecode-connect' ); ?> (wp-admin)</h2>
984
+                    <h2><?php esc_html_e('Backend', 'ayecode-connect'); ?> (wp-admin)</h2>
985 985
                     <table class="form-table wpbs-table-settings">
986 986
                         <tr valign="top">
987
-                            <th scope="row"><label for="wpbs-css-admin"><?php esc_html_e( 'Load CSS', 'ayecode-connect' ); ?></label></th>
987
+                            <th scope="row"><label for="wpbs-css-admin"><?php esc_html_e('Load CSS', 'ayecode-connect'); ?></label></th>
988 988
                             <td>
989 989
                                 <select name="ayecode-ui-settings[css_backend]" id="wpbs-css-admin" <?php echo !empty($overrides['css_backend']) ? 'disabled' : ''; ?>>
990
-                                    <option	value="compatibility" <?php selected( $this->settings['css_backend'], 'compatibility' ); ?>><?php esc_html_e( 'Compatibility Mode (default)', 'ayecode-connect' ); ?></option>
991
-                                    <option value="core" <?php selected( $this->settings['css_backend'], 'core' ); ?>><?php esc_html_e( 'Full Mode (will cause style issues)', 'ayecode-connect' ); ?></option>
992
-                                    <option	value="" <?php selected( $this->settings['css_backend'], '' ); ?>><?php esc_html_e( 'Disabled', 'ayecode-connect' ); ?></option>
990
+                                    <option	value="compatibility" <?php selected($this->settings['css_backend'], 'compatibility'); ?>><?php esc_html_e('Compatibility Mode (default)', 'ayecode-connect'); ?></option>
991
+                                    <option value="core" <?php selected($this->settings['css_backend'], 'core'); ?>><?php esc_html_e('Full Mode (will cause style issues)', 'ayecode-connect'); ?></option>
992
+                                    <option	value="" <?php selected($this->settings['css_backend'], ''); ?>><?php esc_html_e('Disabled', 'ayecode-connect'); ?></option>
993 993
                                 </select>
994 994
                             </td>
995 995
                         </tr>
996 996
 
997 997
                         <tr valign="top">
998
-                            <th scope="row"><label for="wpbs-js-admin"><?php esc_html_e( 'Load JS', 'ayecode-connect' ); ?></label></th>
998
+                            <th scope="row"><label for="wpbs-js-admin"><?php esc_html_e('Load JS', 'ayecode-connect'); ?></label></th>
999 999
                             <td>
1000 1000
                                 <select name="ayecode-ui-settings[js_backend]" id="wpbs-js-admin" <?php echo !empty($overrides['js_backend']) ? 'disabled' : ''; ?>>
1001
-                                    <option	value="core-popper" <?php selected( $this->settings['js_backend'], 'core-popper' ); ?>><?php esc_html_e( 'Core + Popper (default)', 'ayecode-connect' ); ?></option>
1002
-                                    <option value="popper" <?php selected( $this->settings['js_backend'], 'popper' ); ?>><?php esc_html_e( 'Popper', 'ayecode-connect' ); ?></option>
1003
-                                    <option value="required" <?php selected( $this->settings['js_backend'], 'required' ); ?>><?php esc_html_e( 'Required functions only', 'ayecode-connect' ); ?></option>
1004
-                                    <option	value="" <?php selected( $this->settings['js_backend'], '' ); ?>><?php esc_html_e( 'Disabled (not recommended)', 'ayecode-connect' ); ?></option>
1001
+                                    <option	value="core-popper" <?php selected($this->settings['js_backend'], 'core-popper'); ?>><?php esc_html_e('Core + Popper (default)', 'ayecode-connect'); ?></option>
1002
+                                    <option value="popper" <?php selected($this->settings['js_backend'], 'popper'); ?>><?php esc_html_e('Popper', 'ayecode-connect'); ?></option>
1003
+                                    <option value="required" <?php selected($this->settings['js_backend'], 'required'); ?>><?php esc_html_e('Required functions only', 'ayecode-connect'); ?></option>
1004
+                                    <option	value="" <?php selected($this->settings['js_backend'], ''); ?>><?php esc_html_e('Disabled (not recommended)', 'ayecode-connect'); ?></option>
1005 1005
                                 </select>
1006 1006
                             </td>
1007 1007
                         </tr>
1008 1008
 
1009 1009
                         <tr valign="top">
1010
-                            <th scope="row"><label for="wpbs-disable-admin"><?php esc_html_e( 'Disable load on URL', 'ayecode-connect' ); ?></label></th>
1010
+                            <th scope="row"><label for="wpbs-disable-admin"><?php esc_html_e('Disable load on URL', 'ayecode-connect'); ?></label></th>
1011 1011
                             <td>
1012
-                                <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>
1013
-                                <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>
1012
+                                <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>
1013
+                                <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>
1014 1014
                             </td>
1015 1015
                         </tr>
1016 1016
                     </table>
@@ -1019,33 +1019,33 @@  discard block
 block discarded – undo
1019 1019
 					submit_button();
1020 1020
 					?>
1021 1021
                 </form>
1022
-                <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo esc_html( $this->version ); ?></div>
1022
+                <div id="wpbs-version" data-aui-source="<?php echo esc_attr($this->get_load_source()); ?>"><?php echo esc_html($this->version); ?></div>
1023 1023
             </div>
1024 1024
 			<?php
1025 1025
 		}
1026 1026
 
1027
-        public function get_load_source(){
1028
-	        $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
1029
-	        $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
1027
+        public function get_load_source() {
1028
+	        $file = str_replace(array("/", "\\"), "/", realpath(__FILE__));
1029
+	        $plugins_dir = str_replace(array("/", "\\"), "/", realpath(WP_PLUGIN_DIR));
1030 1030
 
1031 1031
 	        // Find source plugin/theme of SD
1032 1032
 	        $source = array();
1033
-	        if ( strpos( $file, $plugins_dir ) !== false ) {
1034
-		        $source = explode( "/", plugin_basename( $file ) );
1035
-	        } else if ( function_exists( 'get_theme_root' ) ) {
1036
-		        $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
1033
+	        if (strpos($file, $plugins_dir) !== false) {
1034
+		        $source = explode("/", plugin_basename($file));
1035
+	        } else if (function_exists('get_theme_root')) {
1036
+		        $themes_dir = str_replace(array("/", "\\"), "/", realpath(get_theme_root()));
1037 1037
 
1038
-		        if ( strpos( $file, $themes_dir ) !== false ) {
1039
-			        $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
1038
+		        if (strpos($file, $themes_dir) !== false) {
1039
+			        $source = explode("/", ltrim(str_replace($themes_dir, "", $file), "/"));
1040 1040
 		        }
1041 1041
 	        }
1042 1042
 
1043 1043
             return isset($source[0]) ? esc_attr($source[0]) : '';
1044 1044
         }
1045 1045
 
1046
-		public function customizer_settings($wp_customize){
1046
+		public function customizer_settings($wp_customize) {
1047 1047
 			$wp_customize->add_section('aui_settings', array(
1048
-				'title'    => __('AyeCode UI', 'ayecode-connect' ),
1048
+				'title'    => __('AyeCode UI', 'ayecode-connect'),
1049 1049
 				'priority' => 120,
1050 1050
 			));
1051 1051
 
@@ -1059,8 +1059,8 @@  discard block
 block discarded – undo
1059 1059
 				'type'              => 'option',
1060 1060
 				'transport'         => 'refresh',
1061 1061
 			));
1062
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1063
-				'label'    => __('Primary Color', 'ayecode-connect' ),
1062
+			$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1063
+				'label'    => __('Primary Color', 'ayecode-connect'),
1064 1064
 				'section'  => 'aui_settings',
1065 1065
 				'settings' => 'aui_options[color_primary]',
1066 1066
 			)));
@@ -1072,8 +1072,8 @@  discard block
 block discarded – undo
1072 1072
 				'type'              => 'option',
1073 1073
 				'transport'         => 'refresh',
1074 1074
 			));
1075
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1076
-				'label'    => __('Secondary Color', 'ayecode-connect' ),
1075
+			$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1076
+				'label'    => __('Secondary Color', 'ayecode-connect'),
1077 1077
 				'section'  => 'aui_settings',
1078 1078
 				'settings' => 'aui_options[color_secondary]',
1079 1079
 			)));
@@ -1099,12 +1099,12 @@  discard block
 block discarded – undo
1099 1099
                 .collapse.show:not(.in){display: inherit;}
1100 1100
                 .fade.show{opacity: 1;}
1101 1101
 
1102
-                <?php if( defined( 'SVQ_THEME_VERSION' ) ){ ?>
1102
+                <?php if (defined('SVQ_THEME_VERSION')) { ?>
1103 1103
                 /* KLEO theme specific */
1104 1104
                 .kleo-main-header .navbar-collapse.collapse.show:not(.in){display: block !important;}
1105 1105
                 <?php } ?>
1106 1106
 
1107
-                <?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
1107
+                <?php if (defined('FUSION_BUILDER_VERSION')) { ?>
1108 1108
                 /* With Avada builder */
1109 1109
                 body.modal-open .modal.in  {opacity:1;z-index: 99999}
1110 1110
                 body.modal-open .modal.bsui.in .modal-content  {box-shadow: none;}
@@ -1115,44 +1115,44 @@  discard block
 block discarded – undo
1115 1115
                 <?php } ?>
1116 1116
             </style>
1117 1117
 			<?php
1118
-			return str_replace( array(
1118
+			return str_replace(array(
1119 1119
 				'<style>',
1120 1120
 				'</style>'
1121
-			), '', self::minify_css( ob_get_clean() ) );
1121
+			), '', self::minify_css(ob_get_clean()));
1122 1122
 		}
1123 1123
 
1124
-		public static function custom_css( $compatibility = true, $is_fse = false ) {
1124
+		public static function custom_css($compatibility = true, $is_fse = false) {
1125 1125
 			global $aui_bs5;
1126 1126
 
1127 1127
 			$colors = array();
1128 1128
 
1129
-			if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1129
+			if (defined('BLOCKSTRAP_VERSION')) {
1130 1130
 				$setting = wp_get_global_settings();
1131 1131
 
1132
-				if ( ! empty( $setting['color']['palette']['theme'] ) ) {
1133
-					foreach ( $setting['color']['palette']['theme'] as $color ) {
1134
-						$colors[$color['slug']] = esc_attr( $color['color'] );
1132
+				if (!empty($setting['color']['palette']['theme'])) {
1133
+					foreach ($setting['color']['palette']['theme'] as $color) {
1134
+						$colors[$color['slug']] = esc_attr($color['color']);
1135 1135
 					}
1136 1136
 				}
1137 1137
 
1138
-				if ( ! empty( $setting['color']['palette']['custom'] ) ) {
1139
-					foreach ( $setting['color']['palette']['custom'] as $color ) {
1140
-						$colors[$color['slug']] = esc_attr( $color['color'] );
1138
+				if (!empty($setting['color']['palette']['custom'])) {
1139
+					foreach ($setting['color']['palette']['custom'] as $color) {
1140
+						$colors[$color['slug']] = esc_attr($color['color']);
1141 1141
 					}
1142 1142
 				}
1143 1143
 			} else {
1144
-				$settings = get_option( 'aui_options' );
1144
+				$settings = get_option('aui_options');
1145 1145
 
1146 1146
 				$colors = array(
1147
-					'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1148
-					'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1147
+					'primary'   => !empty($settings['color_primary']) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1148
+					'secondary' => !empty($settings['color_secondary']) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1149 1149
 				);
1150 1150
 			}
1151 1151
 
1152 1152
 			ob_start();
1153 1153
 			?><style><?php
1154 1154
 			// BS v3 compat
1155
-			if( self::is_bs3_compat() ){
1155
+			if (self::is_bs3_compat()) {
1156 1156
 				echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1157 1157
 			}
1158 1158
 
@@ -1161,152 +1161,152 @@  discard block
 block discarded – undo
1161 1161
 				//$is_fse = true;
1162 1162
 			//}
1163 1163
 
1164
-			$custom_front = ! is_admin() ? true : apply_filters('ayecode_ui_custom_front', false );
1165
-			$custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false );
1166
-            $bs_custom_css = apply_filters( 'ayecode_ui_bs_custom_css', $custom_admin || $custom_front );
1164
+			$custom_front = !is_admin() ? true : apply_filters('ayecode_ui_custom_front', false);
1165
+			$custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false);
1166
+            $bs_custom_css = apply_filters('ayecode_ui_bs_custom_css', $custom_admin || $custom_front);
1167 1167
 			//$bs_custom_css = true; // Force true to fix any color issue.
1168 1168
 
1169 1169
 			$colors_css = '';
1170
-			if ( ! empty( $colors ) && $bs_custom_css ) {
1170
+			if (!empty($colors) && $bs_custom_css) {
1171 1171
 				$d_colors = self::get_colors(true);
1172 1172
 
1173
-				foreach ( $colors as $key => $color ) {
1174
-					if ( ( empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) {
1173
+				foreach ($colors as $key => $color) {
1174
+					if ((empty($d_colors[$key]) || $d_colors[$key] != $color) || $is_fse) {
1175 1175
 						$var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1176 1176
 						$compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1177 1177
 
1178
-						$colors_css .= $aui_bs5 ? self::css_overwrite_bs5( $key,$var, $compat, $color ) : self::css_overwrite( $key, $var, $compat, $color );
1178
+						$colors_css .= $aui_bs5 ? self::css_overwrite_bs5($key, $var, $compat, $color) : self::css_overwrite($key, $var, $compat, $color);
1179 1179
 					}
1180 1180
 				}
1181 1181
 			}
1182 1182
 
1183
-			if ( $colors_css ) {
1183
+			if ($colors_css) {
1184 1184
 				echo $colors_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1185 1185
 			}
1186 1186
 
1187 1187
 			// Set admin bar z-index lower when modal is open.
1188 1188
 			echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1189 1189
 
1190
-			if ( is_admin() ) {
1190
+			if (is_admin()) {
1191 1191
 				echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1192 1192
 			}
1193 1193
 
1194 1194
 			$custom_css = '';
1195 1195
 
1196
-			if ( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) && $bs_custom_css ) {
1196
+			if ($aui_bs5 && defined('BLOCKSTRAP_VERSION') && $bs_custom_css) {
1197 1197
 				$css = '';
1198 1198
 				$theme_settings = wp_get_global_styles();
1199 1199
 
1200 1200
 				// Font face
1201
-				if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1202
-					$t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1201
+				if (!empty($theme_settings['typography']['fontFamily'])) {
1202
+					$t_fontface = str_replace(array('var:preset|', 'font-family|'), array('--wp--preset--', 'font-family--'), $theme_settings['typography']['fontFamily']); //var(--wp--preset--font-family--poppins)
1203 1203
 					$css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1204 1204
 				}
1205 1205
 
1206 1206
 				// font size
1207
-				if( !empty( $theme_settings['typography']['fontSize'] ) ){
1208
-					$css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;';
1207
+				if (!empty($theme_settings['typography']['fontSize'])) {
1208
+					$css .= '--bs-body-font-size: ' . esc_attr($theme_settings['typography']['fontSize']) . ' ;';
1209 1209
 				}
1210 1210
 
1211 1211
 				// line height
1212
-				 if( !empty( $theme_settings['typography']['lineHeight'] ) ){
1213
-					$css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';';
1212
+				 if (!empty($theme_settings['typography']['lineHeight'])) {
1213
+					$css .= '--bs-body-line-height: ' . esc_attr($theme_settings['typography']['lineHeight']) . ';';
1214 1214
 				}
1215 1215
 
1216 1216
 
1217 1217
 				   // font weight
1218
-				 if( !empty( $theme_settings['typography']['fontWeight'] ) ){
1219
-					$css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';';
1218
+				 if (!empty($theme_settings['typography']['fontWeight'])) {
1219
+					$css .= '--bs-body-font-weight: ' . esc_attr($theme_settings['typography']['fontWeight']) . ';';
1220 1220
 				}
1221 1221
 
1222 1222
 				// Background
1223
-				 if( !empty( $theme_settings['color']['background'] ) ){
1224
-					$css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';';
1223
+				 if (!empty($theme_settings['color']['background'])) {
1224
+					$css .= '--bs-body-bg: ' . esc_attr($theme_settings['color']['background']) . ';';
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
 				   // Background Gradient
1233
-				 if( !empty( $theme_settings['color']['gradient'] ) ){
1234
-					$css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1233
+				 if (!empty($theme_settings['color']['gradient'])) {
1234
+					$css .= 'background: ' . esc_attr($theme_settings['color']['gradient']) . ';';
1235 1235
 				}
1236 1236
 
1237 1237
 				// text color
1238
-				if( !empty( $theme_settings['color']['text'] ) ){
1239
-					$css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';';
1238
+				if (!empty($theme_settings['color']['text'])) {
1239
+					$css .= '--bs-body-color: ' . esc_attr($theme_settings['color']['text']) . ';';
1240 1240
 				}
1241 1241
 
1242 1242
 
1243 1243
 				// link colors
1244
-				if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){
1245
-					$css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';';
1244
+				if (!empty($theme_settings['elements']['link']['color']['text'])) {
1245
+					$css .= '--bs-link-color: ' . esc_attr($theme_settings['elements']['link']['color']['text']) . ';';
1246 1246
 				}
1247
-				if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){
1248
-					$css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';';
1247
+				if (!empty($theme_settings['elements']['link'][':hover']['color']['text'])) {
1248
+					$css .= '--bs-link-hover-color: ' . esc_attr($theme_settings['elements']['link'][':hover']['color']['text']) . ';';
1249 1249
 				}
1250 1250
 
1251
-				if($css){
1252
-					$custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}';
1251
+				if ($css) {
1252
+					$custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr($css) . '}' : 'body{' . esc_attr($css) . '}';
1253 1253
 				}
1254 1254
 
1255 1255
 				$bep = $is_fse ? 'body.editor-styles-wrapper ' : '';
1256 1256
 
1257 1257
 				// Headings
1258 1258
 				$headings_css = '';
1259
-				if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){
1260
-					$headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";";
1259
+				if (!empty($theme_settings['elements']['heading']['color']['text'])) {
1260
+					$headings_css .= "color: " . esc_attr($theme_settings['elements']['heading']['color']['text']) . ";";
1261 1261
 				}
1262 1262
 
1263 1263
 				// heading background
1264
-				if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){
1265
-					$headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';';
1264
+				if (!empty($theme_settings['elements']['heading']['color']['background'])) {
1265
+					$headings_css .= 'background: ' . esc_attr($theme_settings['elements']['heading']['color']['background']) . ';';
1266 1266
 				}
1267 1267
 
1268 1268
 				 // heading font family
1269
-				if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){
1270
-					$headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily']  ) . ';';
1269
+				if (!empty($theme_settings['elements']['heading']['typography']['fontFamily'])) {
1270
+					$headings_css .= 'font-family: ' . esc_attr($theme_settings['elements']['heading']['typography']['fontFamily']) . ';';
1271 1271
 				}
1272 1272
 
1273
-				if( $headings_css ){
1274
-					$custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}";
1273
+				if ($headings_css) {
1274
+					$custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr($headings_css) . "}";
1275 1275
 				}
1276 1276
 
1277
-				$hs = array('h1','h2','h3','h4','h5','h6');
1277
+				$hs = array('h1', 'h2', 'h3', 'h4', 'h5', 'h6');
1278 1278
 
1279
-				foreach($hs as $hn){
1279
+				foreach ($hs as $hn) {
1280 1280
 					$h_css = '';
1281
-					 if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){
1282
-						$h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';';
1281
+					 if (!empty($theme_settings['elements'][$hn]['color']['text'])) {
1282
+						$h_css .= 'color: ' . esc_attr($theme_settings['elements'][$hn]['color']['text']) . ';';
1283 1283
 					 }
1284 1284
 
1285
-					  if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){
1286
-						$h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize']  ) . ';';
1285
+					  if (!empty($theme_settings['elements'][$hn]['typography']['fontSize'])) {
1286
+						$h_css .= 'font-size: ' . esc_attr($theme_settings['elements'][$hn]['typography']['fontSize']) . ';';
1287 1287
 					 }
1288 1288
 
1289
-					  if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){
1290
-						$h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily']  ) . ';';
1289
+					  if (!empty($theme_settings['elements'][$hn]['typography']['fontFamily'])) {
1290
+						$h_css .= 'font-family: ' . esc_attr($theme_settings['elements'][$hn]['typography']['fontFamily']) . ';';
1291 1291
 					 }
1292 1292
 
1293
-					 if($h_css){
1294
-						$custom_css .= esc_attr( $bep  . $hn ) . '{'.esc_attr( $h_css ).'}';
1293
+					 if ($h_css) {
1294
+						$custom_css .= esc_attr($bep . $hn) . '{' . esc_attr($h_css) . '}';
1295 1295
 					 }
1296 1296
 				}
1297 1297
 			}
1298 1298
 			
1299
-			if ( $custom_css ) {
1299
+			if ($custom_css) {
1300 1300
 				echo $custom_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1301 1301
 			}
1302 1302
 
1303 1303
 			// Pagination on Hello Elementor theme.
1304
-			if ( function_exists( 'hello_elementor_setup' ) ) {
1304
+			if (function_exists('hello_elementor_setup')) {
1305 1305
 				echo '.aui-nav-links .pagination{justify-content:inherit}';
1306 1306
 			}
1307 1307
 
1308 1308
             // Astra theme - when woocommerce active they add compatibility CSS which breaks select2 in modals
1309
-            if( defined('ASTRA_THEME_VERSION')){
1309
+            if (defined('ASTRA_THEME_VERSION')) {
1310 1310
                 echo '.woocommerce-js.modal-open .select2-container .select2-dropdown, .woocommerce-js.modal-open .select2-container .select2-search__field, .woocommerce-page.modal-open .select2-container .select2-dropdown, .woocommerce-page.modal-open .select2-container .select2-search__field{z-index: 1056;}';
1311 1311
             }
1312 1312
 
@@ -1316,10 +1316,10 @@  discard block
 block discarded – undo
1316 1316
 			/*
1317 1317
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1318 1318
 			 */
1319
-			return str_replace( array(
1319
+			return str_replace(array(
1320 1320
 				'<style>',
1321 1321
 				'</style>'
1322
-			), '', self::minify_css( $custom_css ) );
1322
+			), '', self::minify_css($custom_css));
1323 1323
 		}
1324 1324
 
1325 1325
 		/**
@@ -1327,34 +1327,34 @@  discard block
 block discarded – undo
1327 1327
 		 *
1328 1328
 		 * @return bool
1329 1329
 		 */
1330
-		public static function is_bs3_compat(){
1330
+		public static function is_bs3_compat() {
1331 1331
 			return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1332 1332
 		}
1333 1333
 
1334
-		public static function hex_to_rgb( $hex ) {
1334
+		public static function hex_to_rgb($hex) {
1335 1335
 			// Remove '#' if present
1336
-			$hex = str_replace( '#', '', $hex );
1336
+			$hex = str_replace('#', '', $hex);
1337 1337
 
1338 1338
 			// Check if input is RGB
1339
-			if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) {
1340
-				$_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) );
1339
+			if (strpos($hex, 'rgba(') === 0 || strpos($hex, 'rgb(') === 0) {
1340
+				$_rgb = explode(',', str_replace(array('rgba(', 'rgb(', ')'), '', $hex));
1341 1341
 
1342
-				$rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ',';
1343
-				$rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ',';
1344
-				$rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' );
1342
+				$rgb = (isset($_rgb[0]) ? (int) trim($_rgb[0]) : '0') . ',';
1343
+				$rgb .= (isset($_rgb[1]) ? (int) trim($_rgb[1]) : '0') . ',';
1344
+				$rgb .= (isset($_rgb[2]) ? (int) trim($_rgb[2]) : '0');
1345 1345
 
1346 1346
 				return $rgb;
1347 1347
 			}
1348 1348
 
1349 1349
 			// Convert 3-digit hex to 6-digit hex
1350
-			if ( strlen( $hex ) == 3 ) {
1351
-				$hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
1350
+			if (strlen($hex) == 3) {
1351
+				$hex = str_repeat(substr($hex, 0, 1), 2) . str_repeat(substr($hex, 1, 1), 2) . str_repeat(substr($hex, 2, 1), 2);
1352 1352
 			}
1353 1353
 
1354 1354
 			// Convert hex to RGB
1355
-			$r = hexdec( substr( $hex, 0, 2 ) );
1356
-			$g = hexdec( substr( $hex, 2, 2 ) );
1357
-			$b = hexdec( substr( $hex, 4, 2 ) );
1355
+			$r = hexdec(substr($hex, 0, 2));
1356
+			$g = hexdec(substr($hex, 2, 2));
1357
+			$b = hexdec(substr($hex, 4, 2));
1358 1358
 
1359 1359
 			// Return RGB values as an array
1360 1360
 			return $r . ',' . $g . ',' . $b;
@@ -1369,13 +1369,13 @@  discard block
 block discarded – undo
1369 1369
 		 *
1370 1370
 		 * @return string
1371 1371
 		 */
1372
-		public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1372
+		public static function css_overwrite_bs5($type, $color_code, $compatibility, $hex = '') {
1373 1373
 			global $aui_bs5;
1374 1374
 
1375 1375
 			$is_var = false;
1376 1376
 			$is_custom = strpos($type, 'custom-') !== false ? true : false;
1377
-			if(!$color_code){return '';}
1378
-			if(strpos($color_code, 'var') !== false){
1377
+			if (!$color_code) {return ''; }
1378
+			if (strpos($color_code, 'var') !== false) {
1379 1379
 				//if(!sanitize_hex_color($color_code)){
1380 1380
 				$color_code = esc_attr($color_code);
1381 1381
 				$is_var = true;
@@ -1385,15 +1385,15 @@  discard block
 block discarded – undo
1385 1385
 
1386 1386
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1387 1387
 
1388
-			if(!$color_code){return '';}
1388
+			if (!$color_code) {return ''; }
1389 1389
 
1390 1390
 			$rgb = self::hex_to_rgb($hex);
1391 1391
 
1392
-			if($compatibility===true || $compatibility===1){
1392
+			if ($compatibility === true || $compatibility === 1) {
1393 1393
 				$compatibility = '.bsui';
1394
-			}elseif(!$compatibility){
1394
+			}elseif (!$compatibility) {
1395 1395
 				$compatibility = '';
1396
-			}else{
1396
+			} else {
1397 1397
 				$compatibility = esc_attr($compatibility);
1398 1398
 			}
1399 1399
 
@@ -1410,30 +1410,30 @@  discard block
 block discarded – undo
1410 1410
 			 * c = color, b = background color, o = border-color, f = fill
1411 1411
 			 */
1412 1412
 			$selectors = array(
1413
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1414
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1415
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1416
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1417
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1418
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1419
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1420
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1421
-				".badge-{$type}"                                            => array( 'b' ),
1422
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1423
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1424
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1425
-				".text-{$type}"                                     => array( 'c' ),
1413
+				".btn-{$type}"                                              => array('b', 'o'),
1414
+				".btn-{$type}.disabled"                                     => array('b', 'o'),
1415
+				".btn-{$type}:disabled"                                     => array('b', 'o'),
1416
+				".btn-outline-{$type}"                                      => array('c', 'o'),
1417
+				".btn-outline-{$type}:hover"                                => array('b', 'o'),
1418
+				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array('b', 'o'),
1419
+				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array('b', 'o'),
1420
+				".show>.btn-outline-{$type}.dropdown-toggle"                => array('b', 'o'),
1421
+				".badge-{$type}"                                            => array('b'),
1422
+				".alert-{$type}"                                            => array('b', 'o'),
1423
+				".bg-{$type}"                                               => array('b', 'f'),
1424
+				".btn-link.btn-{$type}"                                     => array('c'),
1425
+				".text-{$type}"                                     => array('c'),
1426 1426
 			);
1427 1427
 
1428
-			if ( $aui_bs5 ) {
1429
-				unset($selectors[".alert-{$type}" ]);
1428
+			if ($aui_bs5) {
1429
+				unset($selectors[".alert-{$type}"]);
1430 1430
 			}
1431 1431
 
1432
-			if ( $type == 'primary' ) {
1432
+			if ($type == 'primary') {
1433 1433
 				$selectors = $selectors + array(
1434
-						'a'                                                                                                    => array( 'c' ),
1435
-						'.btn-link'                                                                                            => array( 'c' ),
1436
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1434
+						'a'                                                                                                    => array('c'),
1435
+						'.btn-link'                                                                                            => array('c'),
1436
+						'.dropdown-item.active'                                                                                => array('b'),
1437 1437
 						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1438 1438
 							'b',
1439 1439
 							'o'
@@ -1442,59 +1442,59 @@  discard block
 block discarded – undo
1442 1442
 							'b',
1443 1443
 							'o'
1444 1444
 						),
1445
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1446
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1447
-						'.page-link'                                                                                           => array( 'c' ),
1445
+						'.nav-pills .nav-link.active'                                                                          => array('b'),
1446
+						'.nav-pills .show>.nav-link'                                                                           => array('b'),
1447
+						'.page-link'                                                                                           => array('c'),
1448 1448
 						'.page-item.active .page-link'                                                                         => array(
1449 1449
 							'b',
1450 1450
 							'o'
1451 1451
 						),
1452
-						'.progress-bar'                                                                                        => array( 'b' ),
1452
+						'.progress-bar'                                                                                        => array('b'),
1453 1453
 						'.list-group-item.active'                                                                              => array(
1454 1454
 							'b',
1455 1455
 							'o'
1456 1456
 						),
1457
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1457
+						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1458 1458
 					);
1459 1459
 			}
1460 1460
 
1461 1461
 
1462 1462
 
1463 1463
             // link
1464
-			if ( $type === 'primary' ) {
1465
-				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1466
-				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1467
-				$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).'; }';
1464
+			if ($type === 'primary') {
1465
+				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-' . esc_attr($type) . '-rgb), .75); --bs-link-color: var(--bs-' . esc_attr($type) . '); }';
1466
+				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: ' . esc_attr($color_code) . ';  }';
1467
+				$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) . '; }';
1468 1468
 
1469
-				$output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1470
-				$output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1469
+				$output .= $prefix . ' a{color: var(--bs-' . esc_attr($type) . ');}';
1470
+				$output .= $prefix . ' .text-primary{color: var(--bs-' . esc_attr($type) . ') !important;}';
1471 1471
 
1472 1472
                 // dropdown
1473
-				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1473
+				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-' . esc_attr($type) . '); --bs-dropdown-link-active-color: var(--bs-' . esc_attr($type) . ');}';
1474 1474
 
1475 1475
                 // pagination
1476
-				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1476
+				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-' . esc_attr($type) . '); --bs-pagination-active-bg: var(--bs-' . esc_attr($type) . ');}';
1477 1477
 
1478
-			} else if ( $aui_bs5 ) {
1479
-				$output .= $prefix . ' .text-' . sanitize_key( $type ) . '{color: var(--bs-' . sanitize_key( $type ) . ') !important;}';
1478
+			} else if ($aui_bs5) {
1479
+				$output .= $prefix . ' .text-' . sanitize_key($type) . '{color: var(--bs-' . sanitize_key($type) . ') !important;}';
1480 1480
 			}
1481 1481
 
1482
-			$output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1483
-			$output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1482
+			$output .= $prefix . ' .link-' . esc_attr($type) . ' {color: var(--bs-' . esc_attr($type) . '-rgb) !important;}';
1483
+			$output .= $prefix . ' .link-' . esc_attr($type) . ':hover {color: rgba(var(--bs-' . esc_attr($type) . '-rgb), .8) !important;}';
1484 1484
 
1485 1485
 			//  buttons
1486
-			$output .= $prefix . ' .btn-'.esc_attr($type).'{';
1486
+			$output .= $prefix . ' .btn-' . esc_attr($type) . '{';
1487 1487
 			$output .= ' 
1488
-            --bs-btn-bg: '.esc_attr($color_code).';
1489
-            --bs-btn-border-color: '.esc_attr($color_code).';
1490
-            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1491
-            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1492
-            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type).'-rgb;
1493
-            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1494
-            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1488
+            --bs-btn-bg: '.esc_attr($color_code) . ';
1489
+            --bs-btn-border-color: '.esc_attr($color_code) . ';
1490
+            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1491
+            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1492
+            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type) . '-rgb;
1493
+            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1494
+            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1495 1495
             --bs-btn-active-shadow: unset;
1496
-            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1497
-            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1496
+            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .5);
1497
+            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .1);
1498 1498
             ';
1499 1499
 //			$output .= '
1500 1500
 //		    --bs-btn-color: #fff;
@@ -1505,18 +1505,18 @@  discard block
 block discarded – undo
1505 1505
 			$output .= '}';
1506 1506
 
1507 1507
 			//  buttons outline
1508
-			$output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1508
+			$output .= $prefix . ' .btn-outline-' . esc_attr($type) . '{';
1509 1509
 			$output .= ' 
1510
-			--bs-btn-color: '.esc_attr($color_code).';
1511
-            --bs-btn-border-color: '.esc_attr($color_code).';
1512
-            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1513
-            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1514
-            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type).'-rgb;
1515
-            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1516
-            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1510
+			--bs-btn-color: '.esc_attr($color_code) . ';
1511
+            --bs-btn-border-color: '.esc_attr($color_code) . ';
1512
+            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1513
+            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1514
+            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type) . '-rgb;
1515
+            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1516
+            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1517 1517
             --bs-btn-active-shadow: unset;
1518
-            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1519
-            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1518
+            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .5);
1519
+            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .1);
1520 1520
             ';
1521 1521
 //			$output .= '
1522 1522
 //		    --bs-btn-color: #fff;
@@ -1527,37 +1527,37 @@  discard block
 block discarded – undo
1527 1527
 			$output .= '}';
1528 1528
 
1529 1529
             // button hover
1530
-			$output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1530
+			$output .= $prefix . ' .btn-' . esc_attr($type) . ':hover{';
1531 1531
 			$output .= ' 
1532
-            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);
1532
+            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);
1533 1533
             }
1534 1534
             ';
1535 1535
 
1536
-			if ( $aui_bs5 ) {
1536
+			if ($aui_bs5) {
1537 1537
 				// translucent primary
1538
-				if ( $type == 'primary' ) {
1538
+				if ($type == 'primary') {
1539 1539
 					$output .= $prefix . ' .btn-translucent-primary{color:rgb(var(--bs-primary-rgb));}';
1540 1540
 					$output .= $prefix . ' .btn-translucent-primary:hover,' . $prefix . ' .btn-translucent-primary:focus,' . $prefix . ' .btn-translucent-primary.focus{background-color: rgb(var(--bs-primary-rgb));}';
1541 1541
 				}
1542 1542
 
1543 1543
 //				$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).'; }';
1544
-				$output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1545
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1544
+				$output .= 'html body {--bs-' . esc_attr($type) . ': ' . esc_attr($color_code) . '; }';
1545
+				$output .= 'html body {--bs-' . esc_attr($type) . '-rgb: ' . $rgb . '; }';
1546 1546
 			}
1547 1547
 
1548 1548
 
1549
-			if ( $is_custom ) {
1549
+			if ($is_custom) {
1550 1550
 
1551 1551
 //				echo '###'.$type;exit;
1552 1552
 
1553 1553
 				// build rules into each type
1554
-				foreach($selectors as $selector => $types){
1555
-					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1556
-					$types = array_combine($types,$types);
1557
-					if(isset($types['c'])){$color[] = $selector;}
1558
-					if(isset($types['b'])){$background[] = $selector;}
1559
-					if(isset($types['o'])){$border[] = $selector;}
1560
-					if(isset($types['f'])){$fill[] = $selector;}
1554
+				foreach ($selectors as $selector => $types) {
1555
+					$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1556
+					$types = array_combine($types, $types);
1557
+					if (isset($types['c'])) {$color[] = $selector; }
1558
+					if (isset($types['b'])) {$background[] = $selector; }
1559
+					if (isset($types['o'])) {$border[] = $selector; }
1560
+					if (isset($types['f'])) {$fill[] = $selector; }
1561 1561
 				}
1562 1562
 
1563 1563
 //				// build rules into each type
@@ -1571,36 +1571,36 @@  discard block
 block discarded – undo
1571 1571
 //				}
1572 1572
 
1573 1573
 				// add any color rules
1574
-				if(!empty($color)){
1575
-					$output .= implode(",",$color) . "{color: $color_code;} ";
1574
+				if (!empty($color)) {
1575
+					$output .= implode(",", $color) . "{color: $color_code;} ";
1576 1576
 				}
1577
-				if(!empty($color_i)){
1578
-					$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1577
+				if (!empty($color_i)) {
1578
+					$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1579 1579
 				}
1580 1580
 
1581 1581
 				// add any background color rules
1582
-				if(!empty($background)){
1583
-					$output .= implode(",",$background) . "{background-color: $color_code;} ";
1582
+				if (!empty($background)) {
1583
+					$output .= implode(",", $background) . "{background-color: $color_code;} ";
1584 1584
 				}
1585
-				if(!empty($background_i)){
1586
-					$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1585
+				if (!empty($background_i)) {
1586
+					$output .= $aui_bs5 ? '' : implode(",", $background_i) . "{background-color: $color_code !important;} ";
1587 1587
 //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1588 1588
 				}
1589 1589
 
1590 1590
 				// add any border color rules
1591
-				if(!empty($border)){
1592
-					$output .= implode(",",$border) . "{border-color: $color_code;} ";
1591
+				if (!empty($border)) {
1592
+					$output .= implode(",", $border) . "{border-color: $color_code;} ";
1593 1593
 				}
1594
-				if(!empty($border_i)){
1595
-					$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1594
+				if (!empty($border_i)) {
1595
+					$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1596 1596
 				}
1597 1597
 
1598 1598
 				// add any fill color rules
1599
-				if(!empty($fill)){
1600
-					$output .= implode(",",$fill) . "{fill: $color_code;} ";
1599
+				if (!empty($fill)) {
1600
+					$output .= implode(",", $fill) . "{fill: $color_code;} ";
1601 1601
 				}
1602
-				if(!empty($fill_i)){
1603
-					$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1602
+				if (!empty($fill_i)) {
1603
+					$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1604 1604
 				}
1605 1605
 
1606 1606
 			}
@@ -1610,26 +1610,26 @@  discard block
 block discarded – undo
1610 1610
 
1611 1611
 			$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;' : '';
1612 1612
 			// darken
1613
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1614
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1615
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1616
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1613
+			$darker_075 = $is_var ? $color_code . ';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code, "-0.075");
1614
+			$darker_10 = $is_var ? $color_code . ';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code, "-0.10");
1615
+			$darker_125 = $is_var ? $color_code . ';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code, "-0.125");
1616
+			$darker_40 = $is_var ? $color_code . ';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code, "-0.4");
1617 1617
 
1618 1618
 			// lighten
1619
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1619
+			$lighten_25 = $is_var ? $color_code . ';filter:brightness(1.25)' : self::css_hex_lighten_darken($color_code, "0.25");
1620 1620
 
1621 1621
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1622
-			$op_25 = $color_code."40"; // 25% opacity
1622
+			$op_25 = $color_code . "40"; // 25% opacity
1623 1623
 
1624 1624
 
1625 1625
 			// button states
1626
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1627
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1626
+			$output .= $is_var ? $prefix . " .btn-{$type}{{$transition }} " : '';
1627
+			$output .= $prefix . " .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1628 1628
 //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1629
-			$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;} ";
1630
-			$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.";} ";
1631
-            $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;} ";
1632
-            $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);} ";
1629
+			$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;} ";
1630
+			$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 . ";} ";
1631
+            $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;} ";
1632
+            $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);} ";
1633 1633
 
1634 1634
 			// text
1635 1635
 //			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
@@ -1647,9 +1647,9 @@  discard block
 block discarded – undo
1647 1647
 //			}
1648 1648
 
1649 1649
 			// alerts
1650
-			if ( $aui_bs5 ) {
1650
+			if ($aui_bs5) {
1651 1651
 //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1652
-				$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;} ";
1652
+				$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;} ";
1653 1653
 			}
1654 1654
 
1655 1655
 			return $output;
@@ -1664,12 +1664,12 @@  discard block
 block discarded – undo
1664 1664
 		 *
1665 1665
 		 * @return string
1666 1666
 		 */
1667
-		public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1667
+		public static function css_overwrite($type, $color_code, $compatibility, $hex = '') {
1668 1668
             global $aui_bs5;
1669 1669
 
1670 1670
 			$is_var = false;
1671
-			if(!$color_code){return '';}
1672
-			if(strpos($color_code, 'var') !== false){
1671
+			if (!$color_code) {return ''; }
1672
+			if (strpos($color_code, 'var') !== false) {
1673 1673
 				//if(!sanitize_hex_color($color_code)){
1674 1674
 				$color_code = esc_attr($color_code);
1675 1675
 				$is_var = true;
@@ -1679,15 +1679,15 @@  discard block
 block discarded – undo
1679 1679
 
1680 1680
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1681 1681
 
1682
-			if(!$color_code){return '';}
1682
+			if (!$color_code) {return ''; }
1683 1683
 
1684 1684
             $rgb = self::hex_to_rgb($hex);
1685 1685
 
1686
-			if($compatibility===true || $compatibility===1){
1686
+			if ($compatibility === true || $compatibility === 1) {
1687 1687
 				$compatibility = '.bsui';
1688
-			}elseif(!$compatibility){
1688
+			}elseif (!$compatibility) {
1689 1689
 				$compatibility = '';
1690
-			}else{
1690
+			} else {
1691 1691
 				$compatibility = esc_attr($compatibility);
1692 1692
 			}
1693 1693
 
@@ -1701,29 +1701,29 @@  discard block
 block discarded – undo
1701 1701
 			 * c = color, b = background color, o = border-color, f = fill
1702 1702
 			 */
1703 1703
 			$selectors = array(
1704
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1705
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1706
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1707
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1708
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1709
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1710
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1711
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1712
-				".badge-{$type}"                                            => array( 'b' ),
1713
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1714
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1715
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1704
+				".btn-{$type}"                                              => array('b', 'o'),
1705
+				".btn-{$type}.disabled"                                     => array('b', 'o'),
1706
+				".btn-{$type}:disabled"                                     => array('b', 'o'),
1707
+				".btn-outline-{$type}"                                      => array('c', 'o'),
1708
+				".btn-outline-{$type}:hover"                                => array('b', 'o'),
1709
+				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array('b', 'o'),
1710
+				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array('b', 'o'),
1711
+				".show>.btn-outline-{$type}.dropdown-toggle"                => array('b', 'o'),
1712
+				".badge-{$type}"                                            => array('b'),
1713
+				".alert-{$type}"                                            => array('b', 'o'),
1714
+				".bg-{$type}"                                               => array('b', 'f'),
1715
+				".btn-link.btn-{$type}"                                     => array('c'),
1716 1716
 			);
1717 1717
 
1718
-			if ( $aui_bs5 ) {
1719
-                unset($selectors[".alert-{$type}" ]);
1718
+			if ($aui_bs5) {
1719
+                unset($selectors[".alert-{$type}"]);
1720 1720
 			}
1721 1721
 
1722
-			if ( $type == 'primary' ) {
1722
+			if ($type == 'primary') {
1723 1723
 				$selectors = $selectors + array(
1724
-						'a'                                                                                                    => array( 'c' ),
1725
-						'.btn-link'                                                                                            => array( 'c' ),
1726
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1724
+						'a'                                                                                                    => array('c'),
1725
+						'.btn-link'                                                                                            => array('c'),
1726
+						'.dropdown-item.active'                                                                                => array('b'),
1727 1727
 						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1728 1728
 							'b',
1729 1729
 							'o'
@@ -1732,19 +1732,19 @@  discard block
 block discarded – undo
1732 1732
 							'b',
1733 1733
 							'o'
1734 1734
 						),
1735
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1736
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1737
-						'.page-link'                                                                                           => array( 'c' ),
1735
+						'.nav-pills .nav-link.active'                                                                          => array('b'),
1736
+						'.nav-pills .show>.nav-link'                                                                           => array('b'),
1737
+						'.page-link'                                                                                           => array('c'),
1738 1738
 						'.page-item.active .page-link'                                                                         => array(
1739 1739
 							'b',
1740 1740
 							'o'
1741 1741
 						),
1742
-						'.progress-bar'                                                                                        => array( 'b' ),
1742
+						'.progress-bar'                                                                                        => array('b'),
1743 1743
 						'.list-group-item.active'                                                                              => array(
1744 1744
 							'b',
1745 1745
 							'o'
1746 1746
 						),
1747
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1747
+						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1748 1748
 //				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1749 1749
 //				    '.custom-range::-moz-range-thumb' => array('b'),
1750 1750
 //				    '.custom-range::-ms-thumb' => array('b'),
@@ -1752,7 +1752,7 @@  discard block
 block discarded – undo
1752 1752
 			}
1753 1753
 
1754 1754
 			$important_selectors = array(
1755
-				".bg-{$type}" => array('b','f'),
1755
+				".bg-{$type}" => array('b', 'f'),
1756 1756
 				".border-{$type}" => array('o'),
1757 1757
 				".text-{$type}" => array('c'),
1758 1758
 			);
@@ -1768,62 +1768,62 @@  discard block
 block discarded – undo
1768 1768
 
1769 1769
 			$output = '';
1770 1770
 
1771
-			if ( $aui_bs5 ) {
1771
+			if ($aui_bs5) {
1772 1772
 //				$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).'; }';
1773
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1773
+				$output .= 'html body {--bs-' . esc_attr($type) . '-rgb: ' . $rgb . '; }';
1774 1774
 			}
1775 1775
 
1776 1776
 			// build rules into each type
1777
-			foreach($selectors as $selector => $types){
1778
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1779
-				$types = array_combine($types,$types);
1780
-				if(isset($types['c'])){$color[] = $selector;}
1781
-				if(isset($types['b'])){$background[] = $selector;}
1782
-				if(isset($types['o'])){$border[] = $selector;}
1783
-				if(isset($types['f'])){$fill[] = $selector;}
1777
+			foreach ($selectors as $selector => $types) {
1778
+				$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1779
+				$types = array_combine($types, $types);
1780
+				if (isset($types['c'])) {$color[] = $selector; }
1781
+				if (isset($types['b'])) {$background[] = $selector; }
1782
+				if (isset($types['o'])) {$border[] = $selector; }
1783
+				if (isset($types['f'])) {$fill[] = $selector; }
1784 1784
 			}
1785 1785
 
1786 1786
 			// build rules into each type
1787
-			foreach($important_selectors as $selector => $types){
1788
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1789
-				$types = array_combine($types,$types);
1790
-				if(isset($types['c'])){$color_i[] = $selector;}
1791
-				if(isset($types['b'])){$background_i[] = $selector;}
1792
-				if(isset($types['o'])){$border_i[] = $selector;}
1793
-				if(isset($types['f'])){$fill_i[] = $selector;}
1787
+			foreach ($important_selectors as $selector => $types) {
1788
+				$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1789
+				$types = array_combine($types, $types);
1790
+				if (isset($types['c'])) {$color_i[] = $selector; }
1791
+				if (isset($types['b'])) {$background_i[] = $selector; }
1792
+				if (isset($types['o'])) {$border_i[] = $selector; }
1793
+				if (isset($types['f'])) {$fill_i[] = $selector; }
1794 1794
 			}
1795 1795
 
1796 1796
 			// add any color rules
1797
-			if(!empty($color)){
1798
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1797
+			if (!empty($color)) {
1798
+				$output .= implode(",", $color) . "{color: $color_code;} ";
1799 1799
 			}
1800
-			if(!empty($color_i)){
1801
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1800
+			if (!empty($color_i)) {
1801
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1802 1802
 			}
1803 1803
 
1804 1804
 			// add any background color rules
1805
-			if(!empty($background)){
1806
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1805
+			if (!empty($background)) {
1806
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
1807 1807
 			}
1808
-			if(!empty($background_i)){
1809
-				$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1808
+			if (!empty($background_i)) {
1809
+				$output .= $aui_bs5 ? '' : implode(",", $background_i) . "{background-color: $color_code !important;} ";
1810 1810
 //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1811 1811
 			}
1812 1812
 
1813 1813
 			// add any border color rules
1814
-			if(!empty($border)){
1815
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1814
+			if (!empty($border)) {
1815
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
1816 1816
 			}
1817
-			if(!empty($border_i)){
1818
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1817
+			if (!empty($border_i)) {
1818
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1819 1819
 			}
1820 1820
 
1821 1821
 			// add any fill color rules
1822
-			if(!empty($fill)){
1823
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1822
+			if (!empty($fill)) {
1823
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
1824 1824
 			}
1825
-			if(!empty($fill_i)){
1826
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1825
+			if (!empty($fill_i)) {
1826
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1827 1827
 			}
1828 1828
 
1829 1829
 
@@ -1831,27 +1831,27 @@  discard block
 block discarded – undo
1831 1831
 
1832 1832
 			$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;' : '';
1833 1833
 			// darken
1834
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1835
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1836
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1837
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1834
+			$darker_075 = $is_var ? $color_code . ';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code, "-0.075");
1835
+			$darker_10 = $is_var ? $color_code . ';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code, "-0.10");
1836
+			$darker_125 = $is_var ? $color_code . ';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code, "-0.125");
1837
+			$darker_40 = $is_var ? $color_code . ';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code, "-0.4");
1838 1838
 
1839 1839
 			// lighten
1840
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1840
+			$lighten_25 = $is_var ? $color_code . ';filter:brightness(1.25)' : self::css_hex_lighten_darken($color_code, "0.25");
1841 1841
 
1842 1842
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1843
-			$op_25 = $color_code."40"; // 25% opacity
1843
+			$op_25 = $color_code . "40"; // 25% opacity
1844 1844
 
1845 1845
 
1846 1846
 			// button states
1847
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1848
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1847
+			$output .= $is_var ? $prefix . " .btn-{$type}{{$transition }} " : '';
1848
+			$output .= $prefix . " .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1849 1849
 //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1850
-			$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;} ";
1851
-			$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.";} ";
1852
-			$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;} ";
1850
+			$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;} ";
1851
+			$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 . ";} ";
1852
+			$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;} ";
1853 1853
 
1854
-			if ( $type == 'primary' ) {
1854
+			if ($type == 'primary') {
1855 1855
 				// dropdown's
1856 1856
 				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1857 1857
 
@@ -1863,9 +1863,9 @@  discard block
 block discarded – undo
1863 1863
 			}
1864 1864
 
1865 1865
             // alerts
1866
-			if ( $aui_bs5 ) {
1866
+			if ($aui_bs5) {
1867 1867
 //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1868
-				$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;} ";
1868
+				$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;} ";
1869 1869
 			}
1870 1870
 
1871 1871
 			return $output;
@@ -1881,11 +1881,11 @@  discard block
 block discarded – undo
1881 1881
 		 *
1882 1882
 		 * @return string
1883 1883
 		 */
1884
-		public static function css_primary($color_code,$compatibility, $use_variable = false){
1884
+		public static function css_primary($color_code, $compatibility, $use_variable = false) {
1885 1885
 
1886
-			if(!$use_variable){
1886
+			if (!$use_variable) {
1887 1887
 				$color_code = sanitize_hex_color($color_code);
1888
-				if(!$color_code){return '';}
1888
+				if (!$color_code) {return ''; }
1889 1889
 			}
1890 1890
 
1891 1891
 			/**
@@ -1893,36 +1893,36 @@  discard block
 block discarded – undo
1893 1893
 			 */
1894 1894
 			$selectors = array(
1895 1895
 				'a' => array('c'),
1896
-				'.btn-primary' => array('b','o'),
1897
-				'.btn-primary.disabled' => array('b','o'),
1898
-				'.btn-primary:disabled' => array('b','o'),
1899
-				'.btn-outline-primary' => array('c','o'),
1900
-				'.btn-outline-primary:hover' => array('b','o'),
1901
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1902
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1903
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1896
+				'.btn-primary' => array('b', 'o'),
1897
+				'.btn-primary.disabled' => array('b', 'o'),
1898
+				'.btn-primary:disabled' => array('b', 'o'),
1899
+				'.btn-outline-primary' => array('c', 'o'),
1900
+				'.btn-outline-primary:hover' => array('b', 'o'),
1901
+				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b', 'o'),
1902
+				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b', 'o'),
1903
+				'.show>.btn-outline-primary.dropdown-toggle' => array('b', 'o'),
1904 1904
 				'.btn-link' => array('c'),
1905 1905
 				'.dropdown-item.active' => array('b'),
1906
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1907
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1906
+				'.custom-control-input:checked~.custom-control-label::before' => array('b', 'o'),
1907
+				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b', 'o'),
1908 1908
 //				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1909 1909
 //				'.custom-range::-moz-range-thumb' => array('b'),
1910 1910
 //				'.custom-range::-ms-thumb' => array('b'),
1911 1911
 				'.nav-pills .nav-link.active' => array('b'),
1912 1912
 				'.nav-pills .show>.nav-link' => array('b'),
1913 1913
 				'.page-link' => array('c'),
1914
-				'.page-item.active .page-link' => array('b','o'),
1914
+				'.page-item.active .page-link' => array('b', 'o'),
1915 1915
 				'.badge-primary' => array('b'),
1916
-				'.alert-primary' => array('b','o'),
1916
+				'.alert-primary' => array('b', 'o'),
1917 1917
 				'.progress-bar' => array('b'),
1918
-				'.list-group-item.active' => array('b','o'),
1919
-				'.bg-primary' => array('b','f'),
1918
+				'.list-group-item.active' => array('b', 'o'),
1919
+				'.bg-primary' => array('b', 'f'),
1920 1920
 				'.btn-link.btn-primary' => array('c'),
1921 1921
 				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1922 1922
 			);
1923 1923
 
1924 1924
 			$important_selectors = array(
1925
-				'.bg-primary' => array('b','f'),
1925
+				'.bg-primary' => array('b', 'f'),
1926 1926
 				'.border-primary' => array('o'),
1927 1927
 				'.text-primary' => array('c'),
1928 1928
 			);
@@ -1939,88 +1939,88 @@  discard block
 block discarded – undo
1939 1939
 			$output = '';
1940 1940
 
1941 1941
 			// build rules into each type
1942
-			foreach($selectors as $selector => $types){
1943
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1944
-				$types = array_combine($types,$types);
1945
-				if(isset($types['c'])){$color[] = $selector;}
1946
-				if(isset($types['b'])){$background[] = $selector;}
1947
-				if(isset($types['o'])){$border[] = $selector;}
1948
-				if(isset($types['f'])){$fill[] = $selector;}
1942
+			foreach ($selectors as $selector => $types) {
1943
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1944
+				$types = array_combine($types, $types);
1945
+				if (isset($types['c'])) {$color[] = $selector; }
1946
+				if (isset($types['b'])) {$background[] = $selector; }
1947
+				if (isset($types['o'])) {$border[] = $selector; }
1948
+				if (isset($types['f'])) {$fill[] = $selector; }
1949 1949
 			}
1950 1950
 
1951 1951
 			// build rules into each type
1952
-			foreach($important_selectors as $selector => $types){
1953
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1954
-				$types = array_combine($types,$types);
1955
-				if(isset($types['c'])){$color_i[] = $selector;}
1956
-				if(isset($types['b'])){$background_i[] = $selector;}
1957
-				if(isset($types['o'])){$border_i[] = $selector;}
1958
-				if(isset($types['f'])){$fill_i[] = $selector;}
1952
+			foreach ($important_selectors as $selector => $types) {
1953
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1954
+				$types = array_combine($types, $types);
1955
+				if (isset($types['c'])) {$color_i[] = $selector; }
1956
+				if (isset($types['b'])) {$background_i[] = $selector; }
1957
+				if (isset($types['o'])) {$border_i[] = $selector; }
1958
+				if (isset($types['f'])) {$fill_i[] = $selector; }
1959 1959
 			}
1960 1960
 
1961 1961
 			// add any color rules
1962
-			if(!empty($color)){
1963
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1962
+			if (!empty($color)) {
1963
+				$output .= implode(",", $color) . "{color: $color_code;} ";
1964 1964
 			}
1965
-			if(!empty($color_i)){
1966
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1965
+			if (!empty($color_i)) {
1966
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1967 1967
 			}
1968 1968
 
1969 1969
 			// add any background color rules
1970
-			if(!empty($background)){
1971
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1970
+			if (!empty($background)) {
1971
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
1972 1972
 			}
1973
-			if(!empty($background_i)){
1974
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1973
+			if (!empty($background_i)) {
1974
+				$output .= implode(",", $background_i) . "{background-color: $color_code !important;} ";
1975 1975
 			}
1976 1976
 
1977 1977
 			// add any border color rules
1978
-			if(!empty($border)){
1979
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1978
+			if (!empty($border)) {
1979
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
1980 1980
 			}
1981
-			if(!empty($border_i)){
1982
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1981
+			if (!empty($border_i)) {
1982
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1983 1983
 			}
1984 1984
 
1985 1985
 			// add any fill color rules
1986
-			if(!empty($fill)){
1987
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1986
+			if (!empty($fill)) {
1987
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
1988 1988
 			}
1989
-			if(!empty($fill_i)){
1990
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1989
+			if (!empty($fill_i)) {
1990
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1991 1991
 			}
1992 1992
 
1993 1993
 
1994 1994
 			$prefix = $compatibility ? ".bsui " : "";
1995 1995
 
1996 1996
 			// darken
1997
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1998
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1999
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1997
+			$darker_075 = self::css_hex_lighten_darken($color_code, "-0.075");
1998
+			$darker_10 = self::css_hex_lighten_darken($color_code, "-0.10");
1999
+			$darker_125 = self::css_hex_lighten_darken($color_code, "-0.125");
2000 2000
 
2001 2001
 			// lighten
2002
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2002
+			$lighten_25 = self::css_hex_lighten_darken($color_code, "0.25");
2003 2003
 
2004 2004
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
2005
-			$op_25 = $color_code."40"; // 25% opacity
2005
+			$op_25 = $color_code . "40"; // 25% opacity
2006 2006
 
2007 2007
 
2008 2008
 			// button states
2009
-			$output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2010
-			$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;} ";
2011
-			$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.";} ";
2012
-			$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;} ";
2009
+			$output .= $prefix . " .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
2010
+			$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;} ";
2011
+			$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 . ";} ";
2012
+			$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;} ";
2013 2013
 
2014 2014
 
2015 2015
 			// dropdown's
2016
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2016
+			$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2017 2017
 
2018 2018
 
2019 2019
 			// input states
2020
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
2020
+			$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
2021 2021
 
2022 2022
 			// page link
2023
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2023
+			$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2024 2024
 
2025 2025
 			return $output;
2026 2026
 		}
@@ -2034,30 +2034,30 @@  discard block
 block discarded – undo
2034 2034
 		 *
2035 2035
 		 * @return string
2036 2036
 		 */
2037
-		public static function css_secondary($color_code,$compatibility){;
2037
+		public static function css_secondary($color_code, $compatibility) {;
2038 2038
 			$color_code = sanitize_hex_color($color_code);
2039
-			if(!$color_code){return '';}
2039
+			if (!$color_code) {return ''; }
2040 2040
 			/**
2041 2041
 			 * c = color, b = background color, o = border-color, f = fill
2042 2042
 			 */
2043 2043
 			$selectors = array(
2044
-				'.btn-secondary' => array('b','o'),
2045
-				'.btn-secondary.disabled' => array('b','o'),
2046
-				'.btn-secondary:disabled' => array('b','o'),
2047
-				'.btn-outline-secondary' => array('c','o'),
2048
-				'.btn-outline-secondary:hover' => array('b','o'),
2044
+				'.btn-secondary' => array('b', 'o'),
2045
+				'.btn-secondary.disabled' => array('b', 'o'),
2046
+				'.btn-secondary:disabled' => array('b', 'o'),
2047
+				'.btn-outline-secondary' => array('c', 'o'),
2048
+				'.btn-outline-secondary:hover' => array('b', 'o'),
2049 2049
 				'.btn-outline-secondary.disabled' => array('c'),
2050 2050
 				'.btn-outline-secondary:disabled' => array('c'),
2051
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2052
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2053
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2051
+				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b', 'o'),
2052
+				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b', 'o'),
2053
+				'.btn-outline-secondary.dropdown-toggle' => array('b', 'o'),
2054 2054
 				'.badge-secondary' => array('b'),
2055
-				'.alert-secondary' => array('b','o'),
2055
+				'.alert-secondary' => array('b', 'o'),
2056 2056
 				'.btn-link.btn-secondary' => array('c'),
2057 2057
 			);
2058 2058
 
2059 2059
 			$important_selectors = array(
2060
-				'.bg-secondary' => array('b','f'),
2060
+				'.bg-secondary' => array('b', 'f'),
2061 2061
 				'.border-secondary' => array('o'),
2062 2062
 				'.text-secondary' => array('c'),
2063 2063
 			);
@@ -2074,77 +2074,77 @@  discard block
 block discarded – undo
2074 2074
 			$output = '';
2075 2075
 
2076 2076
 			// build rules into each type
2077
-			foreach($selectors as $selector => $types){
2078
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2079
-				$types = array_combine($types,$types);
2080
-				if(isset($types['c'])){$color[] = $selector;}
2081
-				if(isset($types['b'])){$background[] = $selector;}
2082
-				if(isset($types['o'])){$border[] = $selector;}
2083
-				if(isset($types['f'])){$fill[] = $selector;}
2077
+			foreach ($selectors as $selector => $types) {
2078
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
2079
+				$types = array_combine($types, $types);
2080
+				if (isset($types['c'])) {$color[] = $selector; }
2081
+				if (isset($types['b'])) {$background[] = $selector; }
2082
+				if (isset($types['o'])) {$border[] = $selector; }
2083
+				if (isset($types['f'])) {$fill[] = $selector; }
2084 2084
 			}
2085 2085
 
2086 2086
 			// build rules into each type
2087
-			foreach($important_selectors as $selector => $types){
2088
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2089
-				$types = array_combine($types,$types);
2090
-				if(isset($types['c'])){$color_i[] = $selector;}
2091
-				if(isset($types['b'])){$background_i[] = $selector;}
2092
-				if(isset($types['o'])){$border_i[] = $selector;}
2093
-				if(isset($types['f'])){$fill_i[] = $selector;}
2087
+			foreach ($important_selectors as $selector => $types) {
2088
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
2089
+				$types = array_combine($types, $types);
2090
+				if (isset($types['c'])) {$color_i[] = $selector; }
2091
+				if (isset($types['b'])) {$background_i[] = $selector; }
2092
+				if (isset($types['o'])) {$border_i[] = $selector; }
2093
+				if (isset($types['f'])) {$fill_i[] = $selector; }
2094 2094
 			}
2095 2095
 
2096 2096
 			// add any color rules
2097
-			if(!empty($color)){
2098
-				$output .= implode(",",$color) . "{color: $color_code;} ";
2097
+			if (!empty($color)) {
2098
+				$output .= implode(",", $color) . "{color: $color_code;} ";
2099 2099
 			}
2100
-			if(!empty($color_i)){
2101
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2100
+			if (!empty($color_i)) {
2101
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
2102 2102
 			}
2103 2103
 
2104 2104
 			// add any background color rules
2105
-			if(!empty($background)){
2106
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
2105
+			if (!empty($background)) {
2106
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
2107 2107
 			}
2108
-			if(!empty($background_i)){
2109
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2108
+			if (!empty($background_i)) {
2109
+				$output .= implode(",", $background_i) . "{background-color: $color_code !important;} ";
2110 2110
 			}
2111 2111
 
2112 2112
 			// add any border color rules
2113
-			if(!empty($border)){
2114
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
2113
+			if (!empty($border)) {
2114
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
2115 2115
 			}
2116
-			if(!empty($border_i)){
2117
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2116
+			if (!empty($border_i)) {
2117
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
2118 2118
 			}
2119 2119
 
2120 2120
 			// add any fill color rules
2121
-			if(!empty($fill)){
2122
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
2121
+			if (!empty($fill)) {
2122
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
2123 2123
 			}
2124
-			if(!empty($fill_i)){
2125
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2124
+			if (!empty($fill_i)) {
2125
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
2126 2126
 			}
2127 2127
 
2128 2128
 
2129 2129
 			$prefix = $compatibility ? ".bsui " : "";
2130 2130
 
2131 2131
 			// darken
2132
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2133
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2134
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2132
+			$darker_075 = self::css_hex_lighten_darken($color_code, "-0.075");
2133
+			$darker_10 = self::css_hex_lighten_darken($color_code, "-0.10");
2134
+			$darker_125 = self::css_hex_lighten_darken($color_code, "-0.125");
2135 2135
 
2136 2136
 			// lighten
2137
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2137
+			$lighten_25 = self::css_hex_lighten_darken($color_code, "0.25");
2138 2138
 
2139 2139
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
2140
-			$op_25 = $color_code."40"; // 25% opacity
2140
+			$op_25 = $color_code . "40"; // 25% opacity
2141 2141
 
2142 2142
 
2143 2143
 			// button states
2144
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2145
-			$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;} ";
2146
-			$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.";} ";
2147
-			$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;} ";
2144
+			$output .= $prefix . " .btn-secondary:hover{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
2145
+			$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;} ";
2146
+			$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 . ";} ";
2147
+			$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;} ";
2148 2148
 
2149 2149
 
2150 2150
 			return $output;
@@ -2161,7 +2161,7 @@  discard block
 block discarded – undo
2161 2161
 		public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2162 2162
 			$hexCode = ltrim($hexCode, '#');
2163 2163
 
2164
-			if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2164
+			if (strpos($hexCode, 'rgba(') !== false || strpos($hexCode, 'rgb(') !== false) {
2165 2165
 				return $hexCode;
2166 2166
 			}
2167 2167
 
@@ -2184,8 +2184,8 @@  discard block
 block discarded – undo
2184 2184
 		/**
2185 2185
 		 * Check if we should display examples.
2186 2186
 		 */
2187
-		public function maybe_show_examples(){
2188
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2187
+		public function maybe_show_examples() {
2188
+			if (current_user_can('manage_options') && isset($_REQUEST['preview-aui'])) {
2189 2189
 				echo "<head>";
2190 2190
 				wp_head();
2191 2191
 				echo "</head>";
@@ -2201,7 +2201,7 @@  discard block
 block discarded – undo
2201 2201
 		 *
2202 2202
 		 * @return string
2203 2203
 		 */
2204
-		public function get_examples(){
2204
+		public function get_examples() {
2205 2205
 			$output = '';
2206 2206
 
2207 2207
 
@@ -2307,74 +2307,74 @@  discard block
 block discarded – undo
2307 2307
 		 */
2308 2308
 		public static function calendar_params() {
2309 2309
 			$params = array(
2310
-				'month_long_1' => __( 'January', 'ayecode-connect' ),
2311
-				'month_long_2' => __( 'February', 'ayecode-connect' ),
2312
-				'month_long_3' => __( 'March', 'ayecode-connect' ),
2313
-				'month_long_4' => __( 'April', 'ayecode-connect' ),
2314
-				'month_long_5' => __( 'May', 'ayecode-connect' ),
2315
-				'month_long_6' => __( 'June', 'ayecode-connect' ),
2316
-				'month_long_7' => __( 'July', 'ayecode-connect' ),
2317
-				'month_long_8' => __( 'August', 'ayecode-connect' ),
2318
-				'month_long_9' => __( 'September', 'ayecode-connect' ),
2319
-				'month_long_10' => __( 'October', 'ayecode-connect' ),
2320
-				'month_long_11' => __( 'November', 'ayecode-connect' ),
2321
-				'month_long_12' => __( 'December', 'ayecode-connect' ),
2322
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2323
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2324
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2325
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2326
-				'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2327
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2328
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2329
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2330
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2331
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2332
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2333
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2334
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2335
-				'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2336
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2337
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2338
-				'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2339
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2340
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2341
-				'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2342
-				'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2343
-				'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2344
-				'day_s2_4' => __( 'We', 'ayecode-connect' ),
2345
-				'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2346
-				'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2347
-				'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2348
-				'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2349
-				'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2350
-				'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2351
-				'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2352
-				'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2353
-				'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2354
-				'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2355
-				'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2356
-				'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2357
-				'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2358
-				'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2359
-				'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2360
-				'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2361
-				'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2362
-				'am_lower' => __( 'am', 'ayecode-connect' ),
2363
-				'pm_lower' => __( 'pm', 'ayecode-connect' ),
2364
-				'am_upper' => __( 'AM', 'ayecode-connect' ),
2365
-				'pm_upper' => __( 'PM', 'ayecode-connect' ),
2366
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2310
+				'month_long_1' => __('January', 'ayecode-connect'),
2311
+				'month_long_2' => __('February', 'ayecode-connect'),
2312
+				'month_long_3' => __('March', 'ayecode-connect'),
2313
+				'month_long_4' => __('April', 'ayecode-connect'),
2314
+				'month_long_5' => __('May', 'ayecode-connect'),
2315
+				'month_long_6' => __('June', 'ayecode-connect'),
2316
+				'month_long_7' => __('July', 'ayecode-connect'),
2317
+				'month_long_8' => __('August', 'ayecode-connect'),
2318
+				'month_long_9' => __('September', 'ayecode-connect'),
2319
+				'month_long_10' => __('October', 'ayecode-connect'),
2320
+				'month_long_11' => __('November', 'ayecode-connect'),
2321
+				'month_long_12' => __('December', 'ayecode-connect'),
2322
+				'month_s_1' => _x('Jan', 'January abbreviation', 'ayecode-connect'),
2323
+				'month_s_2' => _x('Feb', 'February abbreviation', 'ayecode-connect'),
2324
+				'month_s_3' => _x('Mar', 'March abbreviation', 'ayecode-connect'),
2325
+				'month_s_4' => _x('Apr', 'April abbreviation', 'ayecode-connect'),
2326
+				'month_s_5' => _x('May', 'May abbreviation', 'ayecode-connect'),
2327
+				'month_s_6' => _x('Jun', 'June abbreviation', 'ayecode-connect'),
2328
+				'month_s_7' => _x('Jul', 'July abbreviation', 'ayecode-connect'),
2329
+				'month_s_8' => _x('Aug', 'August abbreviation', 'ayecode-connect'),
2330
+				'month_s_9' => _x('Sep', 'September abbreviation', 'ayecode-connect'),
2331
+				'month_s_10' => _x('Oct', 'October abbreviation', 'ayecode-connect'),
2332
+				'month_s_11' => _x('Nov', 'November abbreviation', 'ayecode-connect'),
2333
+				'month_s_12' => _x('Dec', 'December abbreviation', 'ayecode-connect'),
2334
+				'day_s1_1' => _x('S', 'Sunday initial', 'ayecode-connect'),
2335
+				'day_s1_2' => _x('M', 'Monday initial', 'ayecode-connect'),
2336
+				'day_s1_3' => _x('T', 'Tuesday initial', 'ayecode-connect'),
2337
+				'day_s1_4' => _x('W', 'Wednesday initial', 'ayecode-connect'),
2338
+				'day_s1_5' => _x('T', 'Friday initial', 'ayecode-connect'),
2339
+				'day_s1_6' => _x('F', 'Thursday initial', 'ayecode-connect'),
2340
+				'day_s1_7' => _x('S', 'Saturday initial', 'ayecode-connect'),
2341
+				'day_s2_1' => __('Su', 'ayecode-connect'),
2342
+				'day_s2_2' => __('Mo', 'ayecode-connect'),
2343
+				'day_s2_3' => __('Tu', 'ayecode-connect'),
2344
+				'day_s2_4' => __('We', 'ayecode-connect'),
2345
+				'day_s2_5' => __('Th', 'ayecode-connect'),
2346
+				'day_s2_6' => __('Fr', 'ayecode-connect'),
2347
+				'day_s2_7' => __('Sa', 'ayecode-connect'),
2348
+				'day_s3_1' => __('Sun', 'ayecode-connect'),
2349
+				'day_s3_2' => __('Mon', 'ayecode-connect'),
2350
+				'day_s3_3' => __('Tue', 'ayecode-connect'),
2351
+				'day_s3_4' => __('Wed', 'ayecode-connect'),
2352
+				'day_s3_5' => __('Thu', 'ayecode-connect'),
2353
+				'day_s3_6' => __('Fri', 'ayecode-connect'),
2354
+				'day_s3_7' => __('Sat', 'ayecode-connect'),
2355
+				'day_s5_1' => __('Sunday', 'ayecode-connect'),
2356
+				'day_s5_2' => __('Monday', 'ayecode-connect'),
2357
+				'day_s5_3' => __('Tuesday', 'ayecode-connect'),
2358
+				'day_s5_4' => __('Wednesday', 'ayecode-connect'),
2359
+				'day_s5_5' => __('Thursday', 'ayecode-connect'),
2360
+				'day_s5_6' => __('Friday', 'ayecode-connect'),
2361
+				'day_s5_7' => __('Saturday', 'ayecode-connect'),
2362
+				'am_lower' => __('am', 'ayecode-connect'),
2363
+				'pm_lower' => __('pm', 'ayecode-connect'),
2364
+				'am_upper' => __('AM', 'ayecode-connect'),
2365
+				'pm_upper' => __('PM', 'ayecode-connect'),
2366
+				'firstDayOfWeek' => (int) get_option('start_of_week'),
2367 2367
 				'time_24hr' => false,
2368
-				'year' => __( 'Year', 'ayecode-connect' ),
2369
-				'hour' => __( 'Hour', 'ayecode-connect' ),
2370
-				'minute' => __( 'Minute', 'ayecode-connect' ),
2371
-				'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2372
-				'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2373
-				'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2374
-				'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2368
+				'year' => __('Year', 'ayecode-connect'),
2369
+				'hour' => __('Hour', 'ayecode-connect'),
2370
+				'minute' => __('Minute', 'ayecode-connect'),
2371
+				'weekAbbreviation' => __('Wk', 'ayecode-connect'),
2372
+				'rangeSeparator' => __(' to ', 'ayecode-connect'),
2373
+				'scrollTitle' => __('Scroll to increment', 'ayecode-connect'),
2374
+				'toggleTitle' => __('Click to toggle', 'ayecode-connect')
2375 2375
 			);
2376 2376
 
2377
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
2377
+			return apply_filters('ayecode_ui_calendar_params', $params);
2378 2378
 		}
2379 2379
 
2380 2380
 		/**
@@ -2387,47 +2387,47 @@  discard block
 block discarded – undo
2387 2387
 		public static function flatpickr_locale() {
2388 2388
 			$params = self::calendar_params();
2389 2389
 
2390
-			if ( is_string( $params ) ) {
2391
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2390
+			if (is_string($params)) {
2391
+				$params = html_entity_decode($params, ENT_QUOTES, 'UTF-8');
2392 2392
 			} else {
2393
-				foreach ( (array) $params as $key => $value ) {
2394
-					if ( ! is_scalar( $value ) ) {
2393
+				foreach ((array) $params as $key => $value) {
2394
+					if (!is_scalar($value)) {
2395 2395
 						continue;
2396 2396
 					}
2397 2397
 
2398
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2398
+					$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2399 2399
 				}
2400 2400
 			}
2401 2401
 
2402 2402
 			$day_s3 = array();
2403 2403
 			$day_s5 = array();
2404 2404
 
2405
-			for ( $i = 1; $i <= 7; $i ++ ) {
2406
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2407
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2405
+			for ($i = 1; $i <= 7; $i++) {
2406
+				$day_s3[] = addslashes($params['day_s3_' . $i]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2407
+				$day_s5[] = addslashes($params['day_s3_' . $i]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2408 2408
 			}
2409 2409
 
2410 2410
 			$month_s = array();
2411 2411
 			$month_long = array();
2412 2412
 
2413
-			for ( $i = 1; $i <= 12; $i ++ ) {
2414
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2415
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2413
+			for ($i = 1; $i <= 12; $i++) {
2414
+				$month_s[] = addslashes($params['month_s_' . $i]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2415
+				$month_long[] = addslashes($params['month_long_' . $i]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2416 2416
 			}
2417 2417
 
2418 2418
 			ob_start();
2419
-		if ( 0 ) { ?><script><?php } ?>
2419
+		if (0) { ?><script><?php } ?>
2420 2420
                 {
2421 2421
                     weekdays: {
2422
-                        shorthand: ['<?php echo implode( "','", $day_s3 ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2423
-                            longhand: ['<?php echo implode( "','", $day_s5 ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2422
+                        shorthand: ['<?php echo implode("','", $day_s3); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2423
+                            longhand: ['<?php echo implode("','", $day_s5); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2424 2424
                     },
2425 2425
                     months: {
2426
-                        shorthand: ['<?php echo implode( "','", $month_s ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2427
-                            longhand: ['<?php echo implode( "','", $month_long ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2426
+                        shorthand: ['<?php echo implode("','", $month_s); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2427
+                            longhand: ['<?php echo implode("','", $month_long); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2428 2428
                     },
2429 2429
                     daysInMonth: [31,28,31,30,31,30,31,31,30,31,30,31],
2430
-                        firstDayOfWeek: <?php echo (int) $params[ 'firstDayOfWeek' ]; ?>,
2430
+                        firstDayOfWeek: <?php echo (int) $params['firstDayOfWeek']; ?>,
2431 2431
                     ordinal: function (nth) {
2432 2432
                         var s = nth % 100;
2433 2433
                         if (s > 3 && s < 21)
@@ -2443,21 +2443,21 @@  discard block
 block discarded – undo
2443 2443
                                 return "th";
2444 2444
                         }
2445 2445
                     },
2446
-                    rangeSeparator: '<?php echo esc_attr( $params[ 'rangeSeparator' ] ); ?>',
2447
-                        weekAbbreviation: '<?php echo esc_attr( $params[ 'weekAbbreviation' ] ); ?>',
2448
-                    scrollTitle: '<?php echo esc_attr( $params[ 'scrollTitle' ] ); ?>',
2449
-                    toggleTitle: '<?php echo esc_attr( $params[ 'toggleTitle' ] ); ?>',
2450
-                    amPM: ['<?php echo esc_attr( $params[ 'am_upper' ] ); ?>','<?php echo esc_attr( $params[ 'pm_upper' ] ); ?>'],
2451
-                    yearAriaLabel: '<?php echo esc_attr( $params[ 'year' ] ); ?>',
2452
-                    hourAriaLabel: '<?php echo esc_attr( $params[ 'hour' ] ); ?>',
2453
-                    minuteAriaLabel: '<?php echo esc_attr( $params[ 'minute' ] ); ?>',
2454
-                    time_24hr: <?php echo ( $params[ 'time_24hr' ] ? 'true' : 'false' ) ; ?>
2446
+                    rangeSeparator: '<?php echo esc_attr($params['rangeSeparator']); ?>',
2447
+                        weekAbbreviation: '<?php echo esc_attr($params['weekAbbreviation']); ?>',
2448
+                    scrollTitle: '<?php echo esc_attr($params['scrollTitle']); ?>',
2449
+                    toggleTitle: '<?php echo esc_attr($params['toggleTitle']); ?>',
2450
+                    amPM: ['<?php echo esc_attr($params['am_upper']); ?>','<?php echo esc_attr($params['pm_upper']); ?>'],
2451
+                    yearAriaLabel: '<?php echo esc_attr($params['year']); ?>',
2452
+                    hourAriaLabel: '<?php echo esc_attr($params['hour']); ?>',
2453
+                    minuteAriaLabel: '<?php echo esc_attr($params['minute']); ?>',
2454
+                    time_24hr: <?php echo ($params['time_24hr'] ? 'true' : 'false'); ?>
2455 2455
                 }
2456
-				<?php if ( 0 ) { ?></script><?php } ?>
2456
+				<?php if (0) { ?></script><?php } ?>
2457 2457
 			<?php
2458 2458
 			$locale = ob_get_clean();
2459 2459
 
2460
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2460
+			return apply_filters('ayecode_ui_flatpickr_locale', trim($locale));
2461 2461
 		}
2462 2462
 
2463 2463
 		/**
@@ -2469,20 +2469,20 @@  discard block
 block discarded – undo
2469 2469
 		 */
2470 2470
 		public static function select2_params() {
2471 2471
 			$params = array(
2472
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2473
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2474
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2475
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2476
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2477
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2478
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2479
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2480
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2481
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2482
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2472
+				'i18n_select_state_text'    => esc_attr__('Select an option&hellip;', 'ayecode-connect'),
2473
+				'i18n_no_matches'           => _x('No matches found', 'enhanced select', 'ayecode-connect'),
2474
+				'i18n_ajax_error'           => _x('Loading failed', 'enhanced select', 'ayecode-connect'),
2475
+				'i18n_input_too_short_1'    => _x('Please enter 1 or more characters', 'enhanced select', 'ayecode-connect'),
2476
+				'i18n_input_too_short_n'    => _x('Please enter %item% or more characters', 'enhanced select', 'ayecode-connect'),
2477
+				'i18n_input_too_long_1'     => _x('Please delete 1 character', 'enhanced select', 'ayecode-connect'),
2478
+				'i18n_input_too_long_n'     => _x('Please delete %item% characters', 'enhanced select', 'ayecode-connect'),
2479
+				'i18n_selection_too_long_1' => _x('You can only select 1 item', 'enhanced select', 'ayecode-connect'),
2480
+				'i18n_selection_too_long_n' => _x('You can only select %item% items', 'enhanced select', 'ayecode-connect'),
2481
+				'i18n_load_more'            => _x('Loading more results&hellip;', 'enhanced select', 'ayecode-connect'),
2482
+				'i18n_searching'            => _x('Searching&hellip;', 'enhanced select', 'ayecode-connect')
2483 2483
 			);
2484 2484
 
2485
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2485
+			return apply_filters('ayecode_ui_select2_params', $params);
2486 2486
 		}
2487 2487
 
2488 2488
 		/**
@@ -2495,17 +2495,17 @@  discard block
 block discarded – undo
2495 2495
 		public static function select2_locale() {
2496 2496
 			$params = self::select2_params();
2497 2497
 
2498
-			foreach ( (array) $params as $key => $value ) {
2499
-				if ( ! is_scalar( $value ) ) {
2498
+			foreach ((array) $params as $key => $value) {
2499
+				if (!is_scalar($value)) {
2500 2500
 					continue;
2501 2501
 				}
2502 2502
 
2503
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2503
+				$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2504 2504
 			}
2505 2505
 
2506
-			$locale = json_encode( $params );
2506
+			$locale = json_encode($params);
2507 2507
 
2508
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2508
+			return apply_filters('ayecode_ui_select2_locale', trim($locale));
2509 2509
 		}
2510 2510
 
2511 2511
 		/**
@@ -2518,35 +2518,35 @@  discard block
 block discarded – undo
2518 2518
 		public static function timeago_locale() {
2519 2519
 			$params = array(
2520 2520
 				'prefix_ago' => '',
2521
-				'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2522
-				'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2521
+				'suffix_ago' => ' ' . _x('ago', 'time ago', 'ayecode-connect'),
2522
+				'prefix_after' => _x('after', 'time ago', 'ayecode-connect') . ' ',
2523 2523
 				'suffix_after' => '',
2524
-				'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2525
-				'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2526
-				'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2527
-				'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2528
-				'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2529
-				'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2530
-				'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2531
-				'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2532
-				'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2533
-				'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2534
-				'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2524
+				'seconds' => _x('less than a minute', 'time ago', 'ayecode-connect'),
2525
+				'minute' => _x('about a minute', 'time ago', 'ayecode-connect'),
2526
+				'minutes' => _x('%d minutes', 'time ago', 'ayecode-connect'),
2527
+				'hour' => _x('about an hour', 'time ago', 'ayecode-connect'),
2528
+				'hours' => _x('about %d hours', 'time ago', 'ayecode-connect'),
2529
+				'day' => _x('a day', 'time ago', 'ayecode-connect'),
2530
+				'days' => _x('%d days', 'time ago', 'ayecode-connect'),
2531
+				'month' => _x('about a month', 'time ago', 'ayecode-connect'),
2532
+				'months' => _x('%d months', 'time ago', 'ayecode-connect'),
2533
+				'year' => _x('about a year', 'time ago', 'ayecode-connect'),
2534
+				'years' => _x('%d years', 'time ago', 'ayecode-connect'),
2535 2535
 			);
2536 2536
 
2537
-			$params = apply_filters( 'ayecode_ui_timeago_params', $params );
2537
+			$params = apply_filters('ayecode_ui_timeago_params', $params);
2538 2538
 
2539
-			foreach ( (array) $params as $key => $value ) {
2540
-				if ( ! is_scalar( $value ) ) {
2539
+			foreach ((array) $params as $key => $value) {
2540
+				if (!is_scalar($value)) {
2541 2541
 					continue;
2542 2542
 				}
2543 2543
 
2544
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2544
+				$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2545 2545
 			}
2546 2546
 
2547
-			$locale = json_encode( $params );
2547
+			$locale = json_encode($params);
2548 2548
 
2549
-			return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2549
+			return apply_filters('ayecode_ui_timeago_locale', trim($locale));
2550 2550
 		}
2551 2551
 
2552 2552
 		/**
@@ -2557,7 +2557,7 @@  discard block
 block discarded – undo
2557 2557
 		 * @return mixed
2558 2558
 		 */
2559 2559
 		public static function minify_js($input) {
2560
-			if(trim($input) === "") return $input;
2560
+			if (trim($input) === "") return $input;
2561 2561
 			return preg_replace(
2562 2562
 				array(
2563 2563
 					// Remove comment(s)
@@ -2589,7 +2589,7 @@  discard block
 block discarded – undo
2589 2589
 		 * @return mixed
2590 2590
 		 */
2591 2591
 		public static function minify_css($input) {
2592
-			if(trim($input) === "") return $input;
2592
+			if (trim($input) === "") return $input;
2593 2593
 			return preg_replace(
2594 2594
 				array(
2595 2595
 					// Remove comment(s)
@@ -3169,12 +3169,12 @@  discard block
 block discarded – undo
3169 3169
                         });
3170 3170
                     }
3171 3171
                 }
3172
-				<?php do_action( 'aui_conditional_fields_js', $this ); ?>
3172
+				<?php do_action('aui_conditional_fields_js', $this); ?>
3173 3173
             </script>
3174 3174
 			<?php
3175 3175
 			$output = ob_get_clean();
3176 3176
 
3177
-			return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3177
+			return str_replace(array('<script>', '</script>'), '', self::minify_js($output));
3178 3178
 		}
3179 3179
 
3180 3180
 		/**
@@ -3185,10 +3185,10 @@  discard block
 block discarded – undo
3185 3185
 		 * @return bool
3186 3186
 		 */
3187 3187
 		public static function is_block_editor() {
3188
-			if ( is_admin() ) {
3189
-				$current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array();
3188
+			if (is_admin()) {
3189
+				$current_screen = function_exists('get_current_screen') ? get_current_screen() : array();
3190 3190
 
3191
-				if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) {
3191
+				if (!empty($current_screen) && $current_screen->is_block_editor()) {
3192 3192
 					return true;
3193 3193
 				}
3194 3194
 			}
@@ -3207,7 +3207,7 @@  discard block
 block discarded – undo
3207 3207
 		 */
3208 3208
 		public static function is_block_content_call() {
3209 3209
 			$result = false;
3210
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3210
+			if (wp_doing_ajax() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'super_duper_output_shortcode') {
3211 3211
 				$result = true;
3212 3212
 			}
3213 3213
 
@@ -3223,7 +3223,7 @@  discard block
 block discarded – undo
3223 3223
 		 */
3224 3224
 		public static function is_divi_preview() {
3225 3225
 			$result = false;
3226
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
3226
+			if (isset($_REQUEST['et_fb']) || isset($_REQUEST['et_pb_preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor')) {
3227 3227
 				$result = true;
3228 3228
 			}
3229 3229
 
@@ -3240,7 +3240,7 @@  discard block
 block discarded – undo
3240 3240
 		 */
3241 3241
 		public static function is_elementor_preview() {
3242 3242
 			$result = false;
3243
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
3243
+			if (isset($_REQUEST['elementor-preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') || (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor_ajax')) {
3244 3244
 				$result = true;
3245 3245
 			}
3246 3246
 
@@ -3256,7 +3256,7 @@  discard block
 block discarded – undo
3256 3256
 		 */
3257 3257
 		public static function is_beaver_preview() {
3258 3258
 			$result = false;
3259
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
3259
+			if (isset($_REQUEST['fl_builder'])) {
3260 3260
 				$result = true;
3261 3261
 			}
3262 3262
 
@@ -3272,7 +3272,7 @@  discard block
 block discarded – undo
3272 3272
 		 */
3273 3273
 		public static function is_siteorigin_preview() {
3274 3274
 			$result = false;
3275
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
3275
+			if (!empty($_REQUEST['siteorigin_panels_live_editor'])) {
3276 3276
 				$result = true;
3277 3277
 			}
3278 3278
 
@@ -3288,7 +3288,7 @@  discard block
 block discarded – undo
3288 3288
 		 */
3289 3289
 		public static function is_cornerstone_preview() {
3290 3290
 			$result = false;
3291
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
3291
+			if (!empty($_REQUEST['cornerstone_preview']) || basename($_SERVER['REQUEST_URI']) == 'cornerstone-endpoint') {
3292 3292
 				$result = true;
3293 3293
 			}
3294 3294
 
@@ -3303,7 +3303,7 @@  discard block
 block discarded – undo
3303 3303
 		 */
3304 3304
 		public static function is_fusion_preview() {
3305 3305
 			$result = false;
3306
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
3306
+			if (!empty($_REQUEST['fb-edit']) || !empty($_REQUEST['fusion_load_nonce'])) {
3307 3307
 				$result = true;
3308 3308
 			}
3309 3309
 
@@ -3318,7 +3318,7 @@  discard block
 block discarded – undo
3318 3318
 		 */
3319 3319
 		public static function is_oxygen_preview() {
3320 3320
 			$result = false;
3321
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
3321
+			if (!empty($_REQUEST['ct_builder']) || (!empty($_REQUEST['action']) && (substr($_REQUEST['action'], 0, 11) === "oxy_render_" || substr($_REQUEST['action'], 0, 10) === "ct_render_"))) {
3322 3322
 				$result = true;
3323 3323
 			}
3324 3324
 
@@ -3335,7 +3335,7 @@  discard block
 block discarded – undo
3335 3335
 		public static function is_kallyas_zion_preview() {
3336 3336
 			$result = false;
3337 3337
 
3338
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
3338
+			if (function_exists('znhg_kallyas_theme_config') && !empty($_REQUEST['zn_pb_edit'])) {
3339 3339
 				$result = true;
3340 3340
 			}
3341 3341
 
@@ -3352,7 +3352,7 @@  discard block
 block discarded – undo
3352 3352
 		public static function is_bricks_preview() {
3353 3353
 			$result = false;
3354 3354
 
3355
-			if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
3355
+			if (function_exists('bricks_is_builder') && (bricks_is_builder() || bricks_is_builder_call())) {
3356 3356
 				$result = true;
3357 3357
 			}
3358 3358
 
@@ -3369,29 +3369,29 @@  discard block
 block discarded – undo
3369 3369
 		public static function is_preview() {
3370 3370
 			$preview = false;
3371 3371
 
3372
-			if ( self::is_block_editor() ) {
3372
+			if (self::is_block_editor()) {
3373 3373
 				return true;
3374 3374
 			}
3375 3375
 
3376
-			if( self::is_block_content_call() ) {
3376
+			if (self::is_block_content_call()) {
3377 3377
 				$preview = true;
3378
-			} elseif ( self::is_divi_preview() ) {
3378
+			} elseif (self::is_divi_preview()) {
3379 3379
 				$preview = true;
3380
-			} elseif ( self::is_elementor_preview() ) {
3380
+			} elseif (self::is_elementor_preview()) {
3381 3381
 				$preview = true;
3382
-			} elseif ( self::is_beaver_preview() ) {
3382
+			} elseif (self::is_beaver_preview()) {
3383 3383
 				$preview = true;
3384
-			} elseif ( self::is_siteorigin_preview() ) {
3384
+			} elseif (self::is_siteorigin_preview()) {
3385 3385
 				$preview = true;
3386
-			} elseif ( self::is_cornerstone_preview() ) {
3386
+			} elseif (self::is_cornerstone_preview()) {
3387 3387
 				$preview = true;
3388
-			} elseif ( self::is_fusion_preview() ) {
3388
+			} elseif (self::is_fusion_preview()) {
3389 3389
 				$preview = true;
3390
-			} elseif ( self::is_oxygen_preview() ) {
3390
+			} elseif (self::is_oxygen_preview()) {
3391 3391
 				$preview = true;
3392
-			} elseif( self::is_kallyas_zion_preview() ) {
3392
+			} elseif (self::is_kallyas_zion_preview()) {
3393 3393
 				$preview = true;
3394
-			} elseif( self::is_bricks_preview() ) {
3394
+			} elseif (self::is_bricks_preview()) {
3395 3395
 				$preview = true;
3396 3396
 			}
3397 3397
 
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   +259 added lines, -259 removed lines patch added patch discarded remove patch
@@ -6,259 +6,259 @@  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'] : '';
9
+    public $widget;
15 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
+
83
+        $widget_options = ! empty( $this->widget->options ) ? $this->widget->options : array();
84
+        $widget_instance = ! empty( $this->widget->instance ) ? $this->widget->instance : array();
85
+
86
+        $args = apply_filters( 'wp_super_duper_arguments', $args, $widget_options, $widget_instance );
87
+
88
+        $arg_keys_subtract = $this->sd_remove_arguments();
89
+
90
+        if ( ! empty( $arg_keys_subtract ) ) {
91
+            foreach($arg_keys_subtract as $key ){
92
+                unset($args[$key]);
93
+            }
94
+        }
95
+
96
+        return $args;
97
+    }
98
+
99
+
100
+    /**
101
+     * Simply use our own render function for the output.
102
+     *
103
+     * @return void
104
+     */
105
+    public function render() {
106
+        $settings = $this->sd_maybe_convert_values( $this->settings );
107
+
108
+        // Set the AyeCode UI calss on the wrapper
109
+        $this->set_attribute( '_root', 'class', 'bsui' );
110
+
111
+        // We might need to add a placeholder here for previews.
112
+
113
+        do_action( 'super_duper_before_render_bricks_element', $settings, $this->widget, $this );
114
+
115
+        // Add the bricks attributes to wrapper
116
+        echo "<div {$this->render_attributes( '_root' )}>";
117
+        echo $this->widget->output( $settings );
118
+        echo '</div>';
119
+    }
120
+
121
+    /**
122
+     * Values can never be arrays so convert if bricks setting make it an array.
123
+     *
124
+     * @param $settings
125
+     * @return mixed
126
+     */
127
+    public function sd_maybe_convert_values( $settings ) {
128
+
129
+
130
+        if (!empty($settings)) {
131
+            foreach( $settings as $k => $v ) {
132
+                if(is_array($v)) {
133
+                    $value = '';
134
+                    // is color
135
+                    if (isset($v['hex'])) {
136
+                        $value = $v['hex'];
137
+                    } elseif (isset($v['icon'])) {
138
+                        $value = $v['icon'];
139
+                    }
140
+
141
+
142
+                    // set the value
143
+                    $settings[$k] = $value;
144
+                }
145
+
146
+            }
147
+        }
148
+
149
+        return $settings;
150
+    }
151
+
152
+    /**
153
+     * Convert SD arguments to Bricks arguments.
154
+     *
155
+     * @param $widget
156
+     *
157
+     * @return array
158
+     */
159
+    public function sd_convert_arguments() {
160
+        $bricks_args = array();
161
+
162
+        $args = $this->sd_get_arguments();
163
+
164
+        if ( ! empty( $args ) ) {
165
+            foreach ( $args as $key => $arg ) {
166
+                // convert title
167
+                if ( ! empty( $arg['title'] ) ) {
168
+                    $arg['label'] = $arg['title'];
169
+                    unset( $arg['title'] );
170
+                }
171
+
172
+                // set fields not to use dynamic data
173
+                $arg['hasDynamicData'] = false;
174
+
175
+                if ( ! empty( $arg['group'] ) ) {
176
+                    $arg['group'] =  sanitize_title( $arg['group'] );
177
+                }
178
+
179
+                $arg['rerender'] = true;
180
+
181
+                // required
182
+                if( ! empty( $arg['element_require'] ) ) {
183
+                    $arg['required'] = $this->sd_convert_required( $arg['element_require'] );
184
+                    unset( $arg['element_require'] );
185
+                }
186
+
187
+                // icons
188
+                if ( 'icon' === $key ) {
189
+                    $arg['type'] = 'icon';
190
+                }
191
+
192
+                // Bricks don't render dropdown when first option key is 0.
193
+                if ( in_array( $key, array( 'zoom', 'mapzoom' ) ) && ! empty( $arg['options'] ) && is_array( $arg['options'] ) && ( $option_keys = array_keys( $arg['options'] ) ) ) {
194
+                    // Move first element to last.
195
+                    if ( $option_keys[0] === 0 || $option_keys[0] === '0' ) {
196
+                        $options = $arg['options'];
197
+                        unset( $arg['options'][0] );
198
+                        $arg['options'][0] = $options[0];
199
+                    }
200
+                }
201
+
202
+                $bricks_args[$key] = $arg;
203
+            }
204
+        }
205
+
206
+        return $bricks_args;
207
+    }
208
+
209
+    /**
210
+     * Convert the SD element_required to the Bricks required syntax.
211
+     *
212
+     * @param $element_require
213
+     * @return array
214
+     */
215
+    public function sd_convert_required($element_require) {
216
+        $bricks_required = [];
217
+
218
+        // Handle logical OR (||) for multiple values
219
+        if (strpos($element_require, '||') !== false) {
220
+            preg_match('/\[%(.+?)%\] *== *"(.*?)"/', $element_require, $matches);
221
+            if ($matches) {
222
+                $control_id = $matches[1];
223
+                preg_match_all('/\[%.*?%\] *== *"(.*?)"/', $element_require, $value_matches);
224
+                $values = $value_matches[1];
225
+                $bricks_required[] = [$control_id, '=', $values];
226
+            }
227
+            return $bricks_required;
228
+        }
229
+
230
+        // Match individual conditions
231
+        preg_match_all('/(!)?\[%(.*?)%\](?:\s*([!=<>]=?)\s*(".*?"|\'.*?\'|\d+))?/', $element_require, $matches, PREG_SET_ORDER);
232
+
233
+        foreach ($matches as $match) {
234
+            $is_negation = isset($match[1]) && $match[1] === '!';
235
+            $control_id = $match[2];
236
+            $operator = isset($match[3]) ? str_replace('==', '=', $match[3]) : ($is_negation ? '=' : '!=');
237
+            $value = isset($match[4]) ? trim($match[4], '"\'') : ($is_negation ? '' : '');
238
+
239
+            // Adjust for negation without explicit operator
240
+            if ($is_negation && !isset($match[3])) {
241
+                $operator = '=';
242
+                $value = '';
243
+            }
244
+
245
+            $bricks_required[] = [$control_id, $operator, $value];
246
+        }
247
+
248
+        return $bricks_required;
249
+    }
250
+
251
+
252
+    /**
253
+     * A way to remove some settings by keys.
254
+     *
255
+     * @return array
256
+     */
257
+    public function sd_remove_arguments()
258
+    {
259
+        return array();
260
+    }
16 261
 
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
-
83
-		$widget_options = ! empty( $this->widget->options ) ? $this->widget->options : array();
84
-		$widget_instance = ! empty( $this->widget->instance ) ? $this->widget->instance : array();
85
-
86
-		$args = apply_filters( 'wp_super_duper_arguments', $args, $widget_options, $widget_instance );
87
-
88
-		$arg_keys_subtract = $this->sd_remove_arguments();
89
-
90
-		if ( ! empty( $arg_keys_subtract ) ) {
91
-			foreach($arg_keys_subtract as $key ){
92
-				unset($args[$key]);
93
-			}
94
-		}
95
-
96
-		return $args;
97
-	}
98
-
99
-
100
-	/**
101
-	 * Simply use our own render function for the output.
102
-	 *
103
-	 * @return void
104
-	 */
105
-	public function render() {
106
-		$settings = $this->sd_maybe_convert_values( $this->settings );
107
-
108
-		// Set the AyeCode UI calss on the wrapper
109
-		$this->set_attribute( '_root', 'class', 'bsui' );
110
-
111
-		// We might need to add a placeholder here for previews.
112
-
113
-		do_action( 'super_duper_before_render_bricks_element', $settings, $this->widget, $this );
114
-
115
-		// Add the bricks attributes to wrapper
116
-		echo "<div {$this->render_attributes( '_root' )}>";
117
-		echo $this->widget->output( $settings );
118
-		echo '</div>';
119
-	}
120
-
121
-	/**
122
-	 * Values can never be arrays so convert if bricks setting make it an array.
123
-	 *
124
-	 * @param $settings
125
-	 * @return mixed
126
-	 */
127
-	public function sd_maybe_convert_values( $settings ) {
128
-
129
-
130
-		if (!empty($settings)) {
131
-			foreach( $settings as $k => $v ) {
132
-				if(is_array($v)) {
133
-					$value = '';
134
-					// is color
135
-					if (isset($v['hex'])) {
136
-						$value = $v['hex'];
137
-					} elseif (isset($v['icon'])) {
138
-						$value = $v['icon'];
139
-					}
140
-
141
-
142
-					// set the value
143
-					$settings[$k] = $value;
144
-				}
145
-
146
-			}
147
-		}
148
-
149
-		return $settings;
150
-	}
151
-
152
-	/**
153
-	 * Convert SD arguments to Bricks arguments.
154
-	 *
155
-	 * @param $widget
156
-	 *
157
-	 * @return array
158
-	 */
159
-	public function sd_convert_arguments() {
160
-		$bricks_args = array();
161
-
162
-		$args = $this->sd_get_arguments();
163
-
164
-		if ( ! empty( $args ) ) {
165
-			foreach ( $args as $key => $arg ) {
166
-				// convert title
167
-				if ( ! empty( $arg['title'] ) ) {
168
-					$arg['label'] = $arg['title'];
169
-					unset( $arg['title'] );
170
-				}
171
-
172
-				// set fields not to use dynamic data
173
-				$arg['hasDynamicData'] = false;
174
-
175
-				if ( ! empty( $arg['group'] ) ) {
176
-					$arg['group'] =  sanitize_title( $arg['group'] );
177
-				}
178
-
179
-				$arg['rerender'] = true;
180
-
181
-				// required
182
-				if( ! empty( $arg['element_require'] ) ) {
183
-					$arg['required'] = $this->sd_convert_required( $arg['element_require'] );
184
-					unset( $arg['element_require'] );
185
-				}
186
-
187
-				// icons
188
-				if ( 'icon' === $key ) {
189
-					$arg['type'] = 'icon';
190
-				}
191
-
192
-				// Bricks don't render dropdown when first option key is 0.
193
-				if ( in_array( $key, array( 'zoom', 'mapzoom' ) ) && ! empty( $arg['options'] ) && is_array( $arg['options'] ) && ( $option_keys = array_keys( $arg['options'] ) ) ) {
194
-					// Move first element to last.
195
-					if ( $option_keys[0] === 0 || $option_keys[0] === '0' ) {
196
-						$options = $arg['options'];
197
-						unset( $arg['options'][0] );
198
-						$arg['options'][0] = $options[0];
199
-					}
200
-				}
201
-
202
-				$bricks_args[$key] = $arg;
203
-			}
204
-		}
205
-
206
-		return $bricks_args;
207
-	}
208
-
209
-	/**
210
-	 * Convert the SD element_required to the Bricks required syntax.
211
-	 *
212
-	 * @param $element_require
213
-	 * @return array
214
-	 */
215
-	public function sd_convert_required($element_require) {
216
-		$bricks_required = [];
217
-
218
-		// Handle logical OR (||) for multiple values
219
-		if (strpos($element_require, '||') !== false) {
220
-			preg_match('/\[%(.+?)%\] *== *"(.*?)"/', $element_require, $matches);
221
-			if ($matches) {
222
-				$control_id = $matches[1];
223
-				preg_match_all('/\[%.*?%\] *== *"(.*?)"/', $element_require, $value_matches);
224
-				$values = $value_matches[1];
225
-				$bricks_required[] = [$control_id, '=', $values];
226
-			}
227
-			return $bricks_required;
228
-		}
229
-
230
-		// Match individual conditions
231
-		preg_match_all('/(!)?\[%(.*?)%\](?:\s*([!=<>]=?)\s*(".*?"|\'.*?\'|\d+))?/', $element_require, $matches, PREG_SET_ORDER);
232
-
233
-		foreach ($matches as $match) {
234
-			$is_negation = isset($match[1]) && $match[1] === '!';
235
-			$control_id = $match[2];
236
-			$operator = isset($match[3]) ? str_replace('==', '=', $match[3]) : ($is_negation ? '=' : '!=');
237
-			$value = isset($match[4]) ? trim($match[4], '"\'') : ($is_negation ? '' : '');
238
-
239
-			// Adjust for negation without explicit operator
240
-			if ($is_negation && !isset($match[3])) {
241
-				$operator = '=';
242
-				$value = '';
243
-			}
244
-
245
-			$bricks_required[] = [$control_id, $operator, $value];
246
-		}
247
-
248
-		return $bricks_required;
249
-	}
250
-
251
-
252
-	/**
253
-	 * A way to remove some settings by keys.
254
-	 *
255
-	 * @return array
256
-	 */
257
-	public function sd_remove_arguments()
258
-	{
259
-		return array();
260
-	}
261
-
262 262
 }
263 263
 
264 264
 
@@ -267,12 +267,12 @@  discard block
 block discarded – undo
267 267
  */
268 268
 add_action( 'wp_enqueue_scripts', function() {
269 269
 
270
-	// Check if we're in the Bricks Editor
271
-	if ( isset( $_GET['bricks'] ) && $_GET['bricks'] && bricks_is_builder_main() ) {
272
-		// Add inline script to the 'bricks-builder' script
273
-		wp_add_inline_script(
274
-			'bricks-builder',
275
-			"
270
+    // Check if we're in the Bricks Editor
271
+    if ( isset( $_GET['bricks'] ) && $_GET['bricks'] && bricks_is_builder_main() ) {
272
+        // Add inline script to the 'bricks-builder' script
273
+        wp_add_inline_script(
274
+            'bricks-builder',
275
+            "
276 276
 
277 277
 (function () {
278 278
     // Function to get the current breakpoint from the #bricks-preview class
@@ -479,6 +479,6 @@  discard block
 block discarded – undo
479 479
     addIconsToLabels();
480 480
 })();
481 481
 "
482
-		);
483
-	}
482
+        );
483
+    }
484 484
 });
Please login to merge, or discard this patch.
Spacing   +38 added lines, -38 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
 
@@ -80,15 +80,15 @@  discard block
 block discarded – undo
80 80
 	public function sd_get_arguments() {
81 81
 		$args = $this->widget->set_arguments();
82 82
 
83
-		$widget_options = ! empty( $this->widget->options ) ? $this->widget->options : array();
84
-		$widget_instance = ! empty( $this->widget->instance ) ? $this->widget->instance : array();
83
+		$widget_options = !empty($this->widget->options) ? $this->widget->options : array();
84
+		$widget_instance = !empty($this->widget->instance) ? $this->widget->instance : array();
85 85
 
86
-		$args = apply_filters( 'wp_super_duper_arguments', $args, $widget_options, $widget_instance );
86
+		$args = apply_filters('wp_super_duper_arguments', $args, $widget_options, $widget_instance);
87 87
 
88 88
 		$arg_keys_subtract = $this->sd_remove_arguments();
89 89
 
90
-		if ( ! empty( $arg_keys_subtract ) ) {
91
-			foreach($arg_keys_subtract as $key ){
90
+		if (!empty($arg_keys_subtract)) {
91
+			foreach ($arg_keys_subtract as $key) {
92 92
 				unset($args[$key]);
93 93
 			}
94 94
 		}
@@ -103,18 +103,18 @@  discard block
 block discarded – undo
103 103
 	 * @return void
104 104
 	 */
105 105
 	public function render() {
106
-		$settings = $this->sd_maybe_convert_values( $this->settings );
106
+		$settings = $this->sd_maybe_convert_values($this->settings);
107 107
 
108 108
 		// Set the AyeCode UI calss on the wrapper
109
-		$this->set_attribute( '_root', 'class', 'bsui' );
109
+		$this->set_attribute('_root', 'class', 'bsui');
110 110
 
111 111
 		// We might need to add a placeholder here for previews.
112 112
 
113
-		do_action( 'super_duper_before_render_bricks_element', $settings, $this->widget, $this );
113
+		do_action('super_duper_before_render_bricks_element', $settings, $this->widget, $this);
114 114
 
115 115
 		// Add the bricks attributes to wrapper
116
-		echo "<div {$this->render_attributes( '_root' )}>";
117
-		echo $this->widget->output( $settings );
116
+		echo "<div {$this->render_attributes('_root')}>";
117
+		echo $this->widget->output($settings);
118 118
 		echo '</div>';
119 119
 	}
120 120
 
@@ -124,12 +124,12 @@  discard block
 block discarded – undo
124 124
 	 * @param $settings
125 125
 	 * @return mixed
126 126
 	 */
127
-	public function sd_maybe_convert_values( $settings ) {
127
+	public function sd_maybe_convert_values($settings) {
128 128
 
129 129
 
130 130
 		if (!empty($settings)) {
131
-			foreach( $settings as $k => $v ) {
132
-				if(is_array($v)) {
131
+			foreach ($settings as $k => $v) {
132
+				if (is_array($v)) {
133 133
 					$value = '';
134 134
 					// is color
135 135
 					if (isset($v['hex'])) {
@@ -161,40 +161,40 @@  discard block
 block discarded – undo
161 161
 
162 162
 		$args = $this->sd_get_arguments();
163 163
 
164
-		if ( ! empty( $args ) ) {
165
-			foreach ( $args as $key => $arg ) {
164
+		if (!empty($args)) {
165
+			foreach ($args as $key => $arg) {
166 166
 				// convert title
167
-				if ( ! empty( $arg['title'] ) ) {
167
+				if (!empty($arg['title'])) {
168 168
 					$arg['label'] = $arg['title'];
169
-					unset( $arg['title'] );
169
+					unset($arg['title']);
170 170
 				}
171 171
 
172 172
 				// set fields not to use dynamic data
173 173
 				$arg['hasDynamicData'] = false;
174 174
 
175
-				if ( ! empty( $arg['group'] ) ) {
176
-					$arg['group'] =  sanitize_title( $arg['group'] );
175
+				if (!empty($arg['group'])) {
176
+					$arg['group'] = sanitize_title($arg['group']);
177 177
 				}
178 178
 
179 179
 				$arg['rerender'] = true;
180 180
 
181 181
 				// required
182
-				if( ! empty( $arg['element_require'] ) ) {
183
-					$arg['required'] = $this->sd_convert_required( $arg['element_require'] );
184
-					unset( $arg['element_require'] );
182
+				if (!empty($arg['element_require'])) {
183
+					$arg['required'] = $this->sd_convert_required($arg['element_require']);
184
+					unset($arg['element_require']);
185 185
 				}
186 186
 
187 187
 				// icons
188
-				if ( 'icon' === $key ) {
188
+				if ('icon' === $key) {
189 189
 					$arg['type'] = 'icon';
190 190
 				}
191 191
 
192 192
 				// Bricks don't render dropdown when first option key is 0.
193
-				if ( in_array( $key, array( 'zoom', 'mapzoom' ) ) && ! empty( $arg['options'] ) && is_array( $arg['options'] ) && ( $option_keys = array_keys( $arg['options'] ) ) ) {
193
+				if (in_array($key, array('zoom', 'mapzoom')) && !empty($arg['options']) && is_array($arg['options']) && ($option_keys = array_keys($arg['options']))) {
194 194
 					// Move first element to last.
195
-					if ( $option_keys[0] === 0 || $option_keys[0] === '0' ) {
195
+					if ($option_keys[0] === 0 || $option_keys[0] === '0') {
196 196
 						$options = $arg['options'];
197
-						unset( $arg['options'][0] );
197
+						unset($arg['options'][0]);
198 198
 						$arg['options'][0] = $options[0];
199 199
 					}
200 200
 				}
@@ -265,10 +265,10 @@  discard block
 block discarded – undo
265 265
 /**
266 266
  * 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.
267 267
  */
268
-add_action( 'wp_enqueue_scripts', function() {
268
+add_action('wp_enqueue_scripts', function() {
269 269
 
270 270
 	// Check if we're in the Bricks Editor
271
-	if ( isset( $_GET['bricks'] ) && $_GET['bricks'] && bricks_is_builder_main() ) {
271
+	if (isset($_GET['bricks']) && $_GET['bricks'] && bricks_is_builder_main()) {
272 272
 		// Add inline script to the 'bricks-builder' script
273 273
 		wp_add_inline_script(
274 274
 			'bricks-builder',
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.
includes/class-wpinv-privacy.php 2 patches
Indentation   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
         add_action( 'init', array( $this, 'register_erasers_exporters' ) );
30 30
     }
31 31
 
32
-   /**
32
+    /**
33 33
      * Initial registration of privacy erasers and exporters.
34 34
      *
35 35
      * Due to the use of translation functions, this should run only after plugins loaded.
@@ -49,25 +49,25 @@  discard block
 block discarded – undo
49 49
     public function get_privacy_message() {
50 50
 
51 51
         $content = '<div class="wp-suggested-text">' .
52
-                   '<h2>' . __( 'Invoices and checkout', 'invoicing' ) . '</h2>' .
53
-                   '<p class="privacy-policy-tutorial">' . __( 'Example privacy texts.', 'invoicing' ) . '</p>' .
54
-                   '<p>' . __( 'We collect information about you during the checkout process on our site. This information may include, but is not limited to, your name, email address, phone number, address, IP and any other details that might be requested from you for the purpose of processing your payment and retaining your invoice details for legal reasons.', 'invoicing' ) . '</p>' .
55
-                   '<p>' . __( 'Handling this data also allows us to:', 'invoicing' ) . '</p>' .
56
-                   '<ul>' .
57
-                   '<li>' . __( '- Send you important account/invoice/service information.', 'invoicing' ) . '</li>' .
58
-                   '<li>' . __( '- Estimate taxes based on your location.', 'invoicing' ) . '</li>' .
59
-                   '<li>' . __( '- Respond to your queries or complaints.', 'invoicing' ) . '</li>' .
60
-                   '<li>' . __( '- Process payments and to prevent fraudulent transactions. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' .
61
-                   '<li>' . __( '- Retain historical payment and invoice history. We do this on the basis of legal obligations.', 'invoicing' ) . '</li>' .
62
-                   '<li>' . __( '- Set up and administer your account, provide technical and/or customer support, and to verify your identity. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' .
63
-                   '</ul>' .
64
-                   '<p>' . __( 'In addition to collecting information at checkout we may also use and store your contact details when manually creating invoices for require payments relating to prior contractual agreements or agreed terms.', 'invoicing' ) . '</p>' .
65
-                   '<h2>' . __( 'What we share with others', 'invoicing' ) . '</h2>' .
66
-                   '<p>' . __( 'We share information with third parties who help us provide our payment and invoicing services to you; for example --', 'invoicing' ) . '</p>' .
67
-                   '<p class="privacy-policy-tutorial">' . __( 'In this subsection you should list which third party payment processors you’re using to take payments since these may handle customer data. We’ve included PayPal as an example, but you should remove this if you’re not using PayPal.', 'invoicing' ) . '</p>' .
68
-                   '<p>' . __( 'We accept payments through PayPal. When processing payments, some of your data will be passed to PayPal, including information required to process or support the payment, such as the purchase total and billing information.', 'invoicing' ) . '</p>' .
69
-                   '<p>' . __( 'Please see the <a href="https://www.paypal.com/us/webapps/mpp/ua/privacy-full">PayPal Privacy Policy</a> for more details.', 'invoicing' ) . '</p>' .
70
-                   '</div>';
52
+                    '<h2>' . __( 'Invoices and checkout', 'invoicing' ) . '</h2>' .
53
+                    '<p class="privacy-policy-tutorial">' . __( 'Example privacy texts.', 'invoicing' ) . '</p>' .
54
+                    '<p>' . __( 'We collect information about you during the checkout process on our site. This information may include, but is not limited to, your name, email address, phone number, address, IP and any other details that might be requested from you for the purpose of processing your payment and retaining your invoice details for legal reasons.', 'invoicing' ) . '</p>' .
55
+                    '<p>' . __( 'Handling this data also allows us to:', 'invoicing' ) . '</p>' .
56
+                    '<ul>' .
57
+                    '<li>' . __( '- Send you important account/invoice/service information.', 'invoicing' ) . '</li>' .
58
+                    '<li>' . __( '- Estimate taxes based on your location.', 'invoicing' ) . '</li>' .
59
+                    '<li>' . __( '- Respond to your queries or complaints.', 'invoicing' ) . '</li>' .
60
+                    '<li>' . __( '- Process payments and to prevent fraudulent transactions. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' .
61
+                    '<li>' . __( '- Retain historical payment and invoice history. We do this on the basis of legal obligations.', 'invoicing' ) . '</li>' .
62
+                    '<li>' . __( '- Set up and administer your account, provide technical and/or customer support, and to verify your identity. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' .
63
+                    '</ul>' .
64
+                    '<p>' . __( 'In addition to collecting information at checkout we may also use and store your contact details when manually creating invoices for require payments relating to prior contractual agreements or agreed terms.', 'invoicing' ) . '</p>' .
65
+                    '<h2>' . __( 'What we share with others', 'invoicing' ) . '</h2>' .
66
+                    '<p>' . __( 'We share information with third parties who help us provide our payment and invoicing services to you; for example --', 'invoicing' ) . '</p>' .
67
+                    '<p class="privacy-policy-tutorial">' . __( 'In this subsection you should list which third party payment processors you’re using to take payments since these may handle customer data. We’ve included PayPal as an example, but you should remove this if you’re not using PayPal.', 'invoicing' ) . '</p>' .
68
+                    '<p>' . __( 'We accept payments through PayPal. When processing payments, some of your data will be passed to PayPal, including information required to process or support the payment, such as the purchase total and billing information.', 'invoicing' ) . '</p>' .
69
+                    '<p>' . __( 'Please see the <a href="https://www.paypal.com/us/webapps/mpp/ua/privacy-full">PayPal Privacy Policy</a> for more details.', 'invoicing' ) . '</p>' .
70
+                    '</div>';
71 71
 
72 72
         return apply_filters( 'wpinv_privacy_policy_content', $content );
73 73
     }
Please login to merge, or discard this patch.
Spacing   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Privacy/GDPR related functionality which ties into WordPress functionality.
4 4
  */
5 5
 
6
-defined( 'ABSPATH' ) || exit;
6
+defined('ABSPATH') || exit;
7 7
 
8 8
 /**
9 9
  * WPInv_Privacy Class.
@@ -26,7 +26,7 @@  discard block
 block discarded – undo
26 26
         $this->init();
27 27
 
28 28
         // Initialize data exporters and erasers.
29
-        add_action( 'init', array( $this, 'register_erasers_exporters' ) );
29
+        add_action('init', array($this, 'register_erasers_exporters'));
30 30
     }
31 31
 
32 32
    /**
@@ -35,10 +35,10 @@  discard block
 block discarded – undo
35 35
      * Due to the use of translation functions, this should run only after plugins loaded.
36 36
      */
37 37
     public function register_erasers_exporters() {
38
-        $this->name = __( 'GetPaid', 'invoicing' );
38
+        $this->name = __('GetPaid', 'invoicing');
39 39
 
40 40
         // This hook registers Invoicing data exporters.
41
-        $this->add_exporter( 'wpinv-customer-invoices', __( 'Customer Invoices', 'invoicing' ), array( 'WPInv_Privacy_Exporters', 'customer_invoice_data_exporter' ) );
41
+        $this->add_exporter('wpinv-customer-invoices', __('Customer Invoices', 'invoicing'), array('WPInv_Privacy_Exporters', 'customer_invoice_data_exporter'));
42 42
     }
43 43
 
44 44
     /**
@@ -49,27 +49,27 @@  discard block
 block discarded – undo
49 49
     public function get_privacy_message() {
50 50
 
51 51
         $content = '<div class="wp-suggested-text">' .
52
-                   '<h2>' . __( 'Invoices and checkout', 'invoicing' ) . '</h2>' .
53
-                   '<p class="privacy-policy-tutorial">' . __( 'Example privacy texts.', 'invoicing' ) . '</p>' .
54
-                   '<p>' . __( 'We collect information about you during the checkout process on our site. This information may include, but is not limited to, your name, email address, phone number, address, IP and any other details that might be requested from you for the purpose of processing your payment and retaining your invoice details for legal reasons.', 'invoicing' ) . '</p>' .
55
-                   '<p>' . __( 'Handling this data also allows us to:', 'invoicing' ) . '</p>' .
52
+                   '<h2>' . __('Invoices and checkout', 'invoicing') . '</h2>' .
53
+                   '<p class="privacy-policy-tutorial">' . __('Example privacy texts.', 'invoicing') . '</p>' .
54
+                   '<p>' . __('We collect information about you during the checkout process on our site. This information may include, but is not limited to, your name, email address, phone number, address, IP and any other details that might be requested from you for the purpose of processing your payment and retaining your invoice details for legal reasons.', 'invoicing') . '</p>' .
55
+                   '<p>' . __('Handling this data also allows us to:', 'invoicing') . '</p>' .
56 56
                    '<ul>' .
57
-                   '<li>' . __( '- Send you important account/invoice/service information.', 'invoicing' ) . '</li>' .
58
-                   '<li>' . __( '- Estimate taxes based on your location.', 'invoicing' ) . '</li>' .
59
-                   '<li>' . __( '- Respond to your queries or complaints.', 'invoicing' ) . '</li>' .
60
-                   '<li>' . __( '- Process payments and to prevent fraudulent transactions. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' .
61
-                   '<li>' . __( '- Retain historical payment and invoice history. We do this on the basis of legal obligations.', 'invoicing' ) . '</li>' .
62
-                   '<li>' . __( '- Set up and administer your account, provide technical and/or customer support, and to verify your identity. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' .
57
+                   '<li>' . __('- Send you important account/invoice/service information.', 'invoicing') . '</li>' .
58
+                   '<li>' . __('- Estimate taxes based on your location.', 'invoicing') . '</li>' .
59
+                   '<li>' . __('- Respond to your queries or complaints.', 'invoicing') . '</li>' .
60
+                   '<li>' . __('- Process payments and to prevent fraudulent transactions. We do this on the basis of our legitimate business interests.', 'invoicing') . '</li>' .
61
+                   '<li>' . __('- Retain historical payment and invoice history. We do this on the basis of legal obligations.', 'invoicing') . '</li>' .
62
+                   '<li>' . __('- Set up and administer your account, provide technical and/or customer support, and to verify your identity. We do this on the basis of our legitimate business interests.', 'invoicing') . '</li>' .
63 63
                    '</ul>' .
64
-                   '<p>' . __( 'In addition to collecting information at checkout we may also use and store your contact details when manually creating invoices for require payments relating to prior contractual agreements or agreed terms.', 'invoicing' ) . '</p>' .
65
-                   '<h2>' . __( 'What we share with others', 'invoicing' ) . '</h2>' .
66
-                   '<p>' . __( 'We share information with third parties who help us provide our payment and invoicing services to you; for example --', 'invoicing' ) . '</p>' .
67
-                   '<p class="privacy-policy-tutorial">' . __( 'In this subsection you should list which third party payment processors you’re using to take payments since these may handle customer data. We’ve included PayPal as an example, but you should remove this if you’re not using PayPal.', 'invoicing' ) . '</p>' .
68
-                   '<p>' . __( 'We accept payments through PayPal. When processing payments, some of your data will be passed to PayPal, including information required to process or support the payment, such as the purchase total and billing information.', 'invoicing' ) . '</p>' .
69
-                   '<p>' . __( 'Please see the <a href="https://www.paypal.com/us/webapps/mpp/ua/privacy-full">PayPal Privacy Policy</a> for more details.', 'invoicing' ) . '</p>' .
64
+                   '<p>' . __('In addition to collecting information at checkout we may also use and store your contact details when manually creating invoices for require payments relating to prior contractual agreements or agreed terms.', 'invoicing') . '</p>' .
65
+                   '<h2>' . __('What we share with others', 'invoicing') . '</h2>' .
66
+                   '<p>' . __('We share information with third parties who help us provide our payment and invoicing services to you; for example --', 'invoicing') . '</p>' .
67
+                   '<p class="privacy-policy-tutorial">' . __('In this subsection you should list which third party payment processors you’re using to take payments since these may handle customer data. We’ve included PayPal as an example, but you should remove this if you’re not using PayPal.', 'invoicing') . '</p>' .
68
+                   '<p>' . __('We accept payments through PayPal. When processing payments, some of your data will be passed to PayPal, including information required to process or support the payment, such as the purchase total and billing information.', 'invoicing') . '</p>' .
69
+                   '<p>' . __('Please see the <a href="https://www.paypal.com/us/webapps/mpp/ua/privacy-full">PayPal Privacy Policy</a> for more details.', 'invoicing') . '</p>' .
70 70
                    '</div>';
71 71
 
72
-        return apply_filters( 'wpinv_privacy_policy_content', $content );
72
+        return apply_filters('wpinv_privacy_policy_content', $content);
73 73
     }
74 74
 
75 75
 }
Please login to merge, or discard this patch.
includes/abstracts/abstract-wpinv-privacy.php 1 patch
Spacing   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Abstract privacy class.
4 4
  */
5 5
 
6
-defined( 'ABSPATH' ) || exit;
6
+defined('ABSPATH') || exit;
7 7
 
8 8
 /**
9 9
  * Abstract class that is intended to be extended by
@@ -38,7 +38,7 @@  discard block
 block discarded – undo
38 38
      *
39 39
      * @param string $name Plugin identifier.
40 40
      */
41
-    public function __construct( $name = '' ) {
41
+    public function __construct($name = '') {
42 42
         $this->name = $name;
43 43
         $this->init();
44 44
     }
@@ -47,26 +47,26 @@  discard block
 block discarded – undo
47 47
      * Hook in events.
48 48
      */
49 49
     protected function init() {
50
-        add_action( 'admin_init', array( $this, 'add_privacy_message' ) );
50
+        add_action('admin_init', array($this, 'add_privacy_message'));
51 51
         // Register data exporters
52
-        add_filter( 'wp_privacy_personal_data_exporters', array( $this, 'register_exporters' ), 10 );
52
+        add_filter('wp_privacy_personal_data_exporters', array($this, 'register_exporters'), 10);
53 53
         // Register data erasers
54
-        add_filter( 'wp_privacy_personal_data_erasers', array( $this, 'register_erasers' ) );
54
+        add_filter('wp_privacy_personal_data_erasers', array($this, 'register_erasers'));
55 55
     }
56 56
 
57 57
     /**
58 58
      * Adds the privacy message on invoicing privacy page.
59 59
      */
60 60
     public function add_privacy_message() {
61
-        if ( function_exists( 'wp_add_privacy_policy_content' ) ) {
61
+        if (function_exists('wp_add_privacy_policy_content')) {
62 62
             $content = $this->get_privacy_message();
63 63
 
64
-            if ( $content ) {
65
-                if ( empty( $this->name ) ) {
66
-                    $this->name = __( 'GetPaid', 'invoicing' );
64
+            if ($content) {
65
+                if (empty($this->name)) {
66
+                    $this->name = __('GetPaid', 'invoicing');
67 67
                 }
68 68
 
69
-                wp_add_privacy_policy_content( $this->name, $this->get_privacy_message() );
69
+                wp_add_privacy_policy_content($this->name, $this->get_privacy_message());
70 70
             }
71 71
         }
72 72
     }
@@ -87,9 +87,9 @@  discard block
 block discarded – undo
87 87
      * @param array $exporters List of exporter callbacks.
88 88
      * @return array
89 89
      */
90
-    public function register_exporters( $exporters = array() ) {
91
-        foreach ( $this->exporters as $id => $exporter ) {
92
-            $exporters[ $id ] = $exporter;
90
+    public function register_exporters($exporters = array()) {
91
+        foreach ($this->exporters as $id => $exporter) {
92
+            $exporters[$id] = $exporter;
93 93
         }
94 94
         return $exporters;
95 95
     }
@@ -100,9 +100,9 @@  discard block
 block discarded – undo
100 100
      * @param array $erasers List of eraser callbacks.
101 101
      * @return array
102 102
      */
103
-    public function register_erasers( $erasers = array() ) {
104
-        foreach ( $this->erasers as $id => $eraser ) {
105
-            $erasers[ $id ] = $eraser;
103
+    public function register_erasers($erasers = array()) {
104
+        foreach ($this->erasers as $id => $eraser) {
105
+            $erasers[$id] = $eraser;
106 106
         }
107 107
         return $erasers;
108 108
     }
@@ -116,8 +116,8 @@  discard block
 block discarded – undo
116 116
      *
117 117
      * @return array
118 118
      */
119
-    public function add_exporter( $id, $name, $callback ) {
120
-        $this->exporters[ $id ] = array(
119
+    public function add_exporter($id, $name, $callback) {
120
+        $this->exporters[$id] = array(
121 121
             'exporter_friendly_name' => $name,
122 122
             'callback'               => $callback,
123 123
         );
@@ -133,8 +133,8 @@  discard block
 block discarded – undo
133 133
      *
134 134
      * @return array
135 135
      */
136
-    public function add_eraser( $id, $name, $callback ) {
137
-        $this->erasers[ $id ] = array(
136
+    public function add_eraser($id, $name, $callback) {
137
+        $this->erasers[$id] = array(
138 138
             'eraser_friendly_name' => $name,
139 139
             'callback'             => $callback,
140 140
         );
Please login to merge, or discard this patch.
includes/class-getpaid-invoice-notification-emails.php 2 patches
Indentation   +469 added lines, -469 removed lines patch added patch discarded remove patch
@@ -12,492 +12,492 @@
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Invoice_Notification_Emails {
14 14
 
15
-	/**
16
-	 * The array of invoice email actions.
17
-	 *
18
-	 * @param array
19
-	 */
20
-	public $invoice_actions;
21
-
22
-	/**
23
-	 * Class constructor
24
-	 *
25
-	 */
26
-	public function __construct() {
27
-
28
-		$this->invoice_actions = apply_filters(
29
-			'getpaid_notification_email_invoice_triggers',
30
-			array(
31
-				'getpaid_new_invoice'                   => array( 'new_invoice', 'user_invoice' ),
32
-				'getpaid_invoice_status_wpi-cancelled'  => 'cancelled_invoice',
33
-				'getpaid_invoice_status_wpi-failed'     => 'failed_invoice',
34
-				'getpaid_invoice_status_wpi-onhold'     => 'onhold_invoice',
35
-				'getpaid_invoice_status_wpi-processing' => 'processing_invoice',
36
-				'getpaid_invoice_status_publish'        => 'completed_invoice',
37
-				'getpaid_invoice_status_wpi-renewal'    => 'completed_invoice',
38
-				'getpaid_invoice_status_wpi-refunded'   => 'refunded_invoice',
39
-				'getpaid_new_customer_note'             => 'user_note',
40
-				'getpaid_daily_maintenance'             => 'overdue',
41
-			)
42
-		);
43
-
44
-		add_action( 'init', array( $this, 'init_hooks' ) );
45
-	}
46
-
47
-	/**
48
-	 * Registers email hooks.
49
-	 */
50
-	public function init_hooks() {
51
-
52
-		add_filter( 'getpaid_get_email_merge_tags', array( $this, 'invoice_merge_tags' ), 10, 2 );
53
-		add_filter( 'getpaid_invoice_email_recipients', array( $this, 'filter_email_recipients' ), 10, 2 );
54
-
55
-		foreach ( $this->invoice_actions as $hook => $email_type ) {
56
-			$this->init_email_type_hook( $hook, $email_type );
57
-		}
58
-	}
59
-
60
-	/**
61
-	 * Registers an email hook for an invoice action.
62
-	 *
63
-	 * @param string $hook
64
-	 * @param string|array $email_type
65
-	 */
66
-	public function init_email_type_hook( $hook, $email_type ) {
67
-
68
-		$email_type = wpinv_parse_list( $email_type );
69
-
70
-		foreach ( $email_type as $type ) {
71
-
72
-			$email = new GetPaid_Notification_Email( $type );
73
-
74
-			// Abort if it is not active.
75
-			if ( ! $email->is_active() ) {
76
-				continue;
77
-			}
78
-
79
-			if ( method_exists( $this, $type ) ) {
80
-				add_action( $hook, array( $this, $type ), 100, 2 );
81
-				continue;
82
-			}
83
-
84
-			do_action( 'getpaid_invoice_init_email_type_hook', $type, $hook );
85
-		}
86
-
87
-	}
88
-
89
-	/**
90
-	 * Filters invoice merge tags.
91
-	 *
92
-	 * @param array $merge_tags
93
-	 * @param mixed|WPInv_Invoice|WPInv_Subscription $object
94
-	 */
95
-	public function invoice_merge_tags( $merge_tags, $object ) {
96
-
97
-		if ( is_a( $object, 'WPInv_Invoice' ) ) {
98
-			return array_merge(
99
-				$merge_tags,
100
-				$this->get_invoice_merge_tags( $object )
101
-			);
102
-		}
103
-
104
-		if ( is_a( $object, 'WPInv_Subscription' ) ) {
105
-			return array_merge(
106
-				$merge_tags,
107
-				$this->get_invoice_merge_tags( $object->get_parent_payment() )
108
-			);
109
-		}
110
-
111
-		return $merge_tags;
112
-
113
-	}
114
-
115
-	/**
116
-	 * Generates invoice merge tags.
117
-	 *
118
-	 * @param WPInv_Invoice $invoice
119
-	 * @return array
120
-	 */
121
-	public function get_invoice_merge_tags( $invoice ) {
122
-
123
-		// Abort if it does not exist.
124
-		if ( ! $invoice->get_id() ) {
125
-			return array();
126
-		}
127
-
128
-		$due_date   = $invoice->get_due_date();
129
-		$due_date   = empty( $due_date ) ? time() + MINUTE_IN_SECONDS : strtotime( $due_date ) + ( (int) get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
130
-		$merge_tags = array(
131
-			'{name}'                 => sanitize_text_field( $invoice->get_user_full_name() ),
132
-			'{full_name}'            => sanitize_text_field( $invoice->get_user_full_name() ),
133
-			'{first_name}'           => sanitize_text_field( $invoice->get_first_name() ),
134
-			'{last_name}'            => sanitize_text_field( $invoice->get_last_name() ),
135
-			'{email}'                => sanitize_email( $invoice->get_email() ),
136
-			'{invoice_number}'       => sanitize_text_field( $invoice->get_number() ),
137
-			'{invoice_currency}'     => sanitize_text_field( $invoice->get_currency() ),
138
-			'{invoice_total}'        => sanitize_text_field( wpinv_price( $invoice->get_total(), $invoice->get_currency() ) ),
139
-			'{invoice_link}'         => esc_url( $invoice->get_view_url() ),
140
-			'{invoice_pay_link}'     => esc_url( $invoice->get_checkout_payment_url() ),
141
-			'{invoice_receipt_link}' => esc_url( $invoice->get_receipt_url() ),
142
-			'{invoice_date}'         => getpaid_format_date_value( $invoice->get_date_created() ),
143
-			'{invoice_due_date}'     => getpaid_format_date_value( $invoice->get_due_date(), __( 'on receipt', 'invoicing' ) ),
144
-			'{invoice_quote}'        => sanitize_text_field( strtolower( $invoice->get_label() ) ),
145
-			'{invoice_label}'        => sanitize_text_field( ucfirst( $invoice->get_label() ) ),
146
-			'{invoice_description}'  => wp_kses_post( $invoice->get_description() ),
147
-			'{subscription_name}'    => wp_kses_post( $invoice->get_subscription_name() ),
148
-			'{is_was}'               => $due_date < time() ? __( 'was', 'invoicing' ) : __( 'is', 'invoicing' ),
149
-		);
150
-
151
-		$payment_form_data = $invoice->get_meta( 'payment_form_data', true );
152
-
153
-		if ( is_array( $payment_form_data ) ) {
154
-
155
-			foreach ( $payment_form_data as $label => $value ) {
156
-
157
-				$label = preg_replace( '/[^a-z0-9]+/', '_', strtolower( $label ) );
158
-				$value = is_array( $value ) ? implode( ', ', $value ) : $value;
159
-
160
-				if ( is_scalar( $value ) ) {
161
-					$merge_tags[ "{{$label}}" ] = wp_kses_post( $value );
162
-				}
163
-			}
164
-		}
165
-
166
-		return apply_filters( 'getpaid_invoice_email_merge_tags', $merge_tags, $invoice );
167
-	}
168
-
169
-	/**
170
-	 * Helper function to send an email.
171
-	 *
172
-	 * @param WPInv_Invoice $invoice
173
-	 * @param GetPaid_Notification_Email $email
174
-	 * @param string $type
175
-	 * @param string|array $recipients
176
-	 * @param array $extra_args Extra template args.
177
-	 */
178
-	public function send_email( $invoice, $email, $type, $recipients, $extra_args = array() ) {
179
-
180
-		do_action( 'getpaid_before_send_invoice_notification', $type, $invoice, $email );
181
-
182
-		$skip = $invoice->is_free() && wpinv_get_option( 'skip_email_free_invoice' );
183
-		if ( apply_filters( 'getpaid_skip_invoice_email', $skip, $type, $invoice ) ) {
184
-			return;
185
-		}
186
-
187
-		$mailer     = new GetPaid_Notification_Email_Sender();
188
-		$merge_tags = $email->get_merge_tags();
189
-
190
-		$result = $mailer->send(
191
-			apply_filters( 'getpaid_invoice_email_recipients', wpinv_parse_list( $recipients ), $email ),
192
-			$email->add_merge_tags( $email->get_subject(), $merge_tags ),
193
-			$email->get_content( $merge_tags, $extra_args ),
194
-			$email->get_attachments()
195
-		);
196
-
197
-		// Maybe send a copy to the admin.
198
-		if ( $email->include_admin_bcc() ) {
199
-			$mailer->send(
200
-				wpinv_get_admin_email(),
201
-				$email->add_merge_tags( $email->get_subject() . __( ' - ADMIN BCC COPY', 'invoicing' ), $merge_tags ),
202
-				$email->get_content( $merge_tags ),
203
-				$email->get_attachments()
204
-			);
205
-		}
206
-
207
-		if ( $result ) {
208
-			$invoice->add_system_note(
209
-				sprintf(
210
-					// translators: %1 is the email type, %2 is the invoice recipient.
211
-					__( 'Successfully sent %1$s notification email to %2$s.', 'invoicing' ),
212
-					sanitize_key( $type ),
213
-					$email->is_admin_email() ? __( 'admin', 'invoicing' ) : __( 'the customer', 'invoicing' )
214
-				)
215
-			);
216
-		} else {
217
-			$invoice->add_system_note(
218
-				sprintf(
219
-					// translators: %1 is the email type, %2 is the invoice recipient.
220
-					__( 'Failed sending %1$s notification email to %2$s.', 'invoicing' ),
221
-					sanitize_key( $type ),
222
-					$email->is_admin_email() ? __( 'admin', 'invoicing' ) : __( 'the customer', 'invoicing' )
223
-				)
224
-			);
225
-		}
226
-
227
-		do_action( 'getpaid_after_send_invoice_notification', $type, $invoice, $email );
228
-
229
-		return $result;
230
-	}
231
-
232
-	/**
233
-	 * Also send emails to any cc users.
234
-	 *
235
-	 * @param array $recipients
236
-	 * @param GetPaid_Notification_Email $email
237
-	 */
238
-	public function filter_email_recipients( $recipients, $email ) {
239
-
240
-		if ( ! $email->is_admin_email() ) {
241
-			$cc   = $email->object->get_email_cc();
242
-			$cc_2 = get_user_meta( $email->object->get_user_id(), '_wpinv_email_cc', true );
243
-
244
-			if ( ! empty( $cc ) ) {
245
-				$cc = array_map( 'sanitize_email', wpinv_parse_list( $cc ) );
246
-				$recipients = array_filter( array_unique( array_merge( $recipients, $cc ) ) );
247
-			}
248
-
249
-			if ( ! empty( $cc_2 ) ) {
250
-				$cc_2 = array_map( 'sanitize_email', wpinv_parse_list( $cc_2 ) );
251
-				$recipients = array_filter( array_unique( array_merge( $recipients, $cc_2 ) ) );
252
-			}
253
-		}
254
-
255
-		return $recipients;
256
-
257
-	}
258
-
259
-	/**
260
-	 * Sends a new invoice notification.
261
-	 *
262
-	 * @param WPInv_Invoice $invoice
263
-	 */
264
-	public function new_invoice( $invoice ) {
265
-
266
-		// Only send this email for invoices created via the admin page.
267
-		if ( ! $invoice->is_type( 'invoice' ) || $invoice->is_paid() || $this->is_payment_form_invoice( $invoice->get_id() ) ) {
268
-			return;
269
-		}
270
-
271
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
272
-		$recipient = wpinv_get_admin_email();
273
-
274
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
275
-
276
-	}
277
-
278
-	/**
279
-	 * Sends a cancelled invoice notification.
280
-	 *
281
-	 * @param WPInv_Invoice $invoice
282
-	 */
283
-	public function cancelled_invoice( $invoice ) {
284
-
285
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
286
-		$recipient = $invoice->get_email();
287
-
288
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
289
-	}
290
-
291
-	/**
292
-	 * Sends a failed invoice notification.
293
-	 *
294
-	 * @param WPInv_Invoice $invoice
295
-	 */
296
-	public function failed_invoice( $invoice ) {
297
-
298
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
299
-		$recipient = wpinv_get_admin_email();
300
-
301
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
302
-
303
-	}
304
-
305
-	/**
306
-	 * Sends a notification whenever an invoice is put on hold.
307
-	 *
308
-	 * @param WPInv_Invoice $invoice
309
-	 */
310
-	public function onhold_invoice( $invoice ) {
311
-
312
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
313
-		$recipient = $invoice->get_email();
314
-
315
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
316
-
317
-	}
318
-
319
-	/**
320
-	 * Sends a notification whenever an invoice is marked as processing payment.
321
-	 *
322
-	 * @param WPInv_Invoice $invoice
323
-	 */
324
-	public function processing_invoice( $invoice ) {
325
-
326
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
327
-		$recipient = $invoice->get_email();
328
-
329
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
330
-
331
-	}
332
-
333
-	/**
334
-	 * Sends a notification whenever an invoice is paid.
335
-	 *
336
-	 * @param WPInv_Invoice $invoice
337
-	 */
338
-	public function completed_invoice( $invoice ) {
339
-
340
-		// (Maybe) abort if it is a renewal invoice.
341
-		if ( $invoice->is_renewal() && ! wpinv_get_option( 'email_completed_invoice_renewal_active', false ) ) {
342
-			return;
343
-		}
344
-
345
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
346
-		$recipient = $invoice->get_email();
347
-
348
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
349
-
350
-	}
15
+    /**
16
+     * The array of invoice email actions.
17
+     *
18
+     * @param array
19
+     */
20
+    public $invoice_actions;
21
+
22
+    /**
23
+     * Class constructor
24
+     *
25
+     */
26
+    public function __construct() {
27
+
28
+        $this->invoice_actions = apply_filters(
29
+            'getpaid_notification_email_invoice_triggers',
30
+            array(
31
+                'getpaid_new_invoice'                   => array( 'new_invoice', 'user_invoice' ),
32
+                'getpaid_invoice_status_wpi-cancelled'  => 'cancelled_invoice',
33
+                'getpaid_invoice_status_wpi-failed'     => 'failed_invoice',
34
+                'getpaid_invoice_status_wpi-onhold'     => 'onhold_invoice',
35
+                'getpaid_invoice_status_wpi-processing' => 'processing_invoice',
36
+                'getpaid_invoice_status_publish'        => 'completed_invoice',
37
+                'getpaid_invoice_status_wpi-renewal'    => 'completed_invoice',
38
+                'getpaid_invoice_status_wpi-refunded'   => 'refunded_invoice',
39
+                'getpaid_new_customer_note'             => 'user_note',
40
+                'getpaid_daily_maintenance'             => 'overdue',
41
+            )
42
+        );
43
+
44
+        add_action( 'init', array( $this, 'init_hooks' ) );
45
+    }
46
+
47
+    /**
48
+     * Registers email hooks.
49
+     */
50
+    public function init_hooks() {
51
+
52
+        add_filter( 'getpaid_get_email_merge_tags', array( $this, 'invoice_merge_tags' ), 10, 2 );
53
+        add_filter( 'getpaid_invoice_email_recipients', array( $this, 'filter_email_recipients' ), 10, 2 );
54
+
55
+        foreach ( $this->invoice_actions as $hook => $email_type ) {
56
+            $this->init_email_type_hook( $hook, $email_type );
57
+        }
58
+    }
59
+
60
+    /**
61
+     * Registers an email hook for an invoice action.
62
+     *
63
+     * @param string $hook
64
+     * @param string|array $email_type
65
+     */
66
+    public function init_email_type_hook( $hook, $email_type ) {
67
+
68
+        $email_type = wpinv_parse_list( $email_type );
69
+
70
+        foreach ( $email_type as $type ) {
71
+
72
+            $email = new GetPaid_Notification_Email( $type );
73
+
74
+            // Abort if it is not active.
75
+            if ( ! $email->is_active() ) {
76
+                continue;
77
+            }
78
+
79
+            if ( method_exists( $this, $type ) ) {
80
+                add_action( $hook, array( $this, $type ), 100, 2 );
81
+                continue;
82
+            }
83
+
84
+            do_action( 'getpaid_invoice_init_email_type_hook', $type, $hook );
85
+        }
86
+
87
+    }
88
+
89
+    /**
90
+     * Filters invoice merge tags.
91
+     *
92
+     * @param array $merge_tags
93
+     * @param mixed|WPInv_Invoice|WPInv_Subscription $object
94
+     */
95
+    public function invoice_merge_tags( $merge_tags, $object ) {
96
+
97
+        if ( is_a( $object, 'WPInv_Invoice' ) ) {
98
+            return array_merge(
99
+                $merge_tags,
100
+                $this->get_invoice_merge_tags( $object )
101
+            );
102
+        }
103
+
104
+        if ( is_a( $object, 'WPInv_Subscription' ) ) {
105
+            return array_merge(
106
+                $merge_tags,
107
+                $this->get_invoice_merge_tags( $object->get_parent_payment() )
108
+            );
109
+        }
110
+
111
+        return $merge_tags;
112
+
113
+    }
114
+
115
+    /**
116
+     * Generates invoice merge tags.
117
+     *
118
+     * @param WPInv_Invoice $invoice
119
+     * @return array
120
+     */
121
+    public function get_invoice_merge_tags( $invoice ) {
122
+
123
+        // Abort if it does not exist.
124
+        if ( ! $invoice->get_id() ) {
125
+            return array();
126
+        }
127
+
128
+        $due_date   = $invoice->get_due_date();
129
+        $due_date   = empty( $due_date ) ? time() + MINUTE_IN_SECONDS : strtotime( $due_date ) + ( (int) get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
130
+        $merge_tags = array(
131
+            '{name}'                 => sanitize_text_field( $invoice->get_user_full_name() ),
132
+            '{full_name}'            => sanitize_text_field( $invoice->get_user_full_name() ),
133
+            '{first_name}'           => sanitize_text_field( $invoice->get_first_name() ),
134
+            '{last_name}'            => sanitize_text_field( $invoice->get_last_name() ),
135
+            '{email}'                => sanitize_email( $invoice->get_email() ),
136
+            '{invoice_number}'       => sanitize_text_field( $invoice->get_number() ),
137
+            '{invoice_currency}'     => sanitize_text_field( $invoice->get_currency() ),
138
+            '{invoice_total}'        => sanitize_text_field( wpinv_price( $invoice->get_total(), $invoice->get_currency() ) ),
139
+            '{invoice_link}'         => esc_url( $invoice->get_view_url() ),
140
+            '{invoice_pay_link}'     => esc_url( $invoice->get_checkout_payment_url() ),
141
+            '{invoice_receipt_link}' => esc_url( $invoice->get_receipt_url() ),
142
+            '{invoice_date}'         => getpaid_format_date_value( $invoice->get_date_created() ),
143
+            '{invoice_due_date}'     => getpaid_format_date_value( $invoice->get_due_date(), __( 'on receipt', 'invoicing' ) ),
144
+            '{invoice_quote}'        => sanitize_text_field( strtolower( $invoice->get_label() ) ),
145
+            '{invoice_label}'        => sanitize_text_field( ucfirst( $invoice->get_label() ) ),
146
+            '{invoice_description}'  => wp_kses_post( $invoice->get_description() ),
147
+            '{subscription_name}'    => wp_kses_post( $invoice->get_subscription_name() ),
148
+            '{is_was}'               => $due_date < time() ? __( 'was', 'invoicing' ) : __( 'is', 'invoicing' ),
149
+        );
150
+
151
+        $payment_form_data = $invoice->get_meta( 'payment_form_data', true );
152
+
153
+        if ( is_array( $payment_form_data ) ) {
154
+
155
+            foreach ( $payment_form_data as $label => $value ) {
156
+
157
+                $label = preg_replace( '/[^a-z0-9]+/', '_', strtolower( $label ) );
158
+                $value = is_array( $value ) ? implode( ', ', $value ) : $value;
159
+
160
+                if ( is_scalar( $value ) ) {
161
+                    $merge_tags[ "{{$label}}" ] = wp_kses_post( $value );
162
+                }
163
+            }
164
+        }
165
+
166
+        return apply_filters( 'getpaid_invoice_email_merge_tags', $merge_tags, $invoice );
167
+    }
351 168
 
352
-	/**
353
-	 * Sends a notification whenever an invoice is refunded.
354
-	 *
355
-	 * @param WPInv_Invoice $invoice
356
-	 */
357
-	public function refunded_invoice( $invoice ) {
358
-
359
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
360
-		$recipient = $invoice->get_email();
361
-
362
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
363
-
364
-	}
169
+    /**
170
+     * Helper function to send an email.
171
+     *
172
+     * @param WPInv_Invoice $invoice
173
+     * @param GetPaid_Notification_Email $email
174
+     * @param string $type
175
+     * @param string|array $recipients
176
+     * @param array $extra_args Extra template args.
177
+     */
178
+    public function send_email( $invoice, $email, $type, $recipients, $extra_args = array() ) {
365 179
 
366
-	/**
367
-	 * Notifies a user about new invoices
368
-	 *
369
-	 * @param WPInv_Invoice $invoice
370
-	 * @param bool $force
371
-	 */
372
-	public function user_invoice( $invoice, $force = false ) {
180
+        do_action( 'getpaid_before_send_invoice_notification', $type, $invoice, $email );
373 181
 
374
-		if ( ! $force && ! empty( $GLOBALS['wpinv_skip_invoice_notification'] ) ) {
375
-			return;
376
-		}
377
-
378
-		// Only send this email for invoices created via the admin page.
379
-		if ( ! $invoice->is_type( 'invoice' ) || ( empty( $force ) && $invoice->is_paid() ) || ( empty( $force ) && $this->is_payment_form_invoice( $invoice->get_id() ) ) ) {
380
-			return;
381
-		}
382
-
383
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
384
-		$recipient = $invoice->get_email();
385
-
386
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
387
-
388
-	}
389
-
390
-	/**
391
-	 * Checks if an invoice is a payment form invoice.
392
-	 *
393
-	 * @param int $invoice
394
-	 * @return bool
395
-	 */
396
-	public function is_payment_form_invoice( $invoice ) {
397
-		$created_via             = get_post_meta( $invoice, 'wpinv_created_via', true );
398
-		$is_payment_form_invoice = 'payment_form' === $created_via || 'geodirectory' === $created_via;
399
-		$is_payment_form_invoice = apply_filters( 'getpaid_invoice_notifications_is_payment_form_invoice', $is_payment_form_invoice, $invoice );
400
-		return empty( $_GET['getpaid-admin-action'] ) && $is_payment_form_invoice;
401
-	}
402
-
403
-	/**
404
-	 * Notifies admin about new invoice notes
405
-	 *
406
-	 * @param WPInv_Invoice $invoice
407
-	 * @param string $note
408
-	 */
409
-	public function user_note( $invoice, $note ) {
410
-
411
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
412
-		$recipient = $invoice->get_email();
413
-
414
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient, array( 'customer_note' => $note ) );
415
-
416
-	}
417
-
418
-	/**
419
-	 * (Force) Sends overdue notices.
420
-	 *
421
-	 * @param WPInv_Invoice $invoice
422
-	 */
423
-	public function force_send_overdue_notice( $invoice ) {
424
-		$email = new GetPaid_Notification_Email( 'overdue', $invoice );
425
-		return $this->send_email( $invoice, $email, 'overdue', $invoice->get_email() );
426
-	}
427
-
428
-	/**
429
-	 * Sends overdue notices.
430
-	 *
431
-	 * @TODO: Create an invoices query class.
432
-	 */
433
-	public function overdue() {
434
-		global $wpdb;
435
-
436
-		$email = new GetPaid_Notification_Email( __FUNCTION__ );
437
-
438
-		// Fetch reminder days.
439
-		$reminder_days = array_unique( wp_parse_id_list( $email->get_option( 'days' ) ) );
440
-
441
-		// Abort if non is set.
442
-		if ( empty( $reminder_days ) ) {
443
-			return;
444
-		}
445
-
446
-		// Retrieve date query.
447
-		$date_query = $this->get_date_query( $reminder_days );
448
-
449
-		// Invoices table.
450
-		$table = $wpdb->prefix . 'getpaid_invoices';
451
-
452
-		// Fetch invoices.
453
-		$invoices  = $wpdb->get_col(
454
-			"SELECT posts.ID FROM $wpdb->posts as posts
182
+        $skip = $invoice->is_free() && wpinv_get_option( 'skip_email_free_invoice' );
183
+        if ( apply_filters( 'getpaid_skip_invoice_email', $skip, $type, $invoice ) ) {
184
+            return;
185
+        }
186
+
187
+        $mailer     = new GetPaid_Notification_Email_Sender();
188
+        $merge_tags = $email->get_merge_tags();
189
+
190
+        $result = $mailer->send(
191
+            apply_filters( 'getpaid_invoice_email_recipients', wpinv_parse_list( $recipients ), $email ),
192
+            $email->add_merge_tags( $email->get_subject(), $merge_tags ),
193
+            $email->get_content( $merge_tags, $extra_args ),
194
+            $email->get_attachments()
195
+        );
196
+
197
+        // Maybe send a copy to the admin.
198
+        if ( $email->include_admin_bcc() ) {
199
+            $mailer->send(
200
+                wpinv_get_admin_email(),
201
+                $email->add_merge_tags( $email->get_subject() . __( ' - ADMIN BCC COPY', 'invoicing' ), $merge_tags ),
202
+                $email->get_content( $merge_tags ),
203
+                $email->get_attachments()
204
+            );
205
+        }
206
+
207
+        if ( $result ) {
208
+            $invoice->add_system_note(
209
+                sprintf(
210
+                    // translators: %1 is the email type, %2 is the invoice recipient.
211
+                    __( 'Successfully sent %1$s notification email to %2$s.', 'invoicing' ),
212
+                    sanitize_key( $type ),
213
+                    $email->is_admin_email() ? __( 'admin', 'invoicing' ) : __( 'the customer', 'invoicing' )
214
+                )
215
+            );
216
+        } else {
217
+            $invoice->add_system_note(
218
+                sprintf(
219
+                    // translators: %1 is the email type, %2 is the invoice recipient.
220
+                    __( 'Failed sending %1$s notification email to %2$s.', 'invoicing' ),
221
+                    sanitize_key( $type ),
222
+                    $email->is_admin_email() ? __( 'admin', 'invoicing' ) : __( 'the customer', 'invoicing' )
223
+                )
224
+            );
225
+        }
226
+
227
+        do_action( 'getpaid_after_send_invoice_notification', $type, $invoice, $email );
228
+
229
+        return $result;
230
+    }
231
+
232
+    /**
233
+     * Also send emails to any cc users.
234
+     *
235
+     * @param array $recipients
236
+     * @param GetPaid_Notification_Email $email
237
+     */
238
+    public function filter_email_recipients( $recipients, $email ) {
239
+
240
+        if ( ! $email->is_admin_email() ) {
241
+            $cc   = $email->object->get_email_cc();
242
+            $cc_2 = get_user_meta( $email->object->get_user_id(), '_wpinv_email_cc', true );
243
+
244
+            if ( ! empty( $cc ) ) {
245
+                $cc = array_map( 'sanitize_email', wpinv_parse_list( $cc ) );
246
+                $recipients = array_filter( array_unique( array_merge( $recipients, $cc ) ) );
247
+            }
248
+
249
+            if ( ! empty( $cc_2 ) ) {
250
+                $cc_2 = array_map( 'sanitize_email', wpinv_parse_list( $cc_2 ) );
251
+                $recipients = array_filter( array_unique( array_merge( $recipients, $cc_2 ) ) );
252
+            }
253
+        }
254
+
255
+        return $recipients;
256
+
257
+    }
258
+
259
+    /**
260
+     * Sends a new invoice notification.
261
+     *
262
+     * @param WPInv_Invoice $invoice
263
+     */
264
+    public function new_invoice( $invoice ) {
265
+
266
+        // Only send this email for invoices created via the admin page.
267
+        if ( ! $invoice->is_type( 'invoice' ) || $invoice->is_paid() || $this->is_payment_form_invoice( $invoice->get_id() ) ) {
268
+            return;
269
+        }
270
+
271
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
272
+        $recipient = wpinv_get_admin_email();
273
+
274
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
275
+
276
+    }
277
+
278
+    /**
279
+     * Sends a cancelled invoice notification.
280
+     *
281
+     * @param WPInv_Invoice $invoice
282
+     */
283
+    public function cancelled_invoice( $invoice ) {
284
+
285
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
286
+        $recipient = $invoice->get_email();
287
+
288
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
289
+    }
290
+
291
+    /**
292
+     * Sends a failed invoice notification.
293
+     *
294
+     * @param WPInv_Invoice $invoice
295
+     */
296
+    public function failed_invoice( $invoice ) {
297
+
298
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
299
+        $recipient = wpinv_get_admin_email();
300
+
301
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
302
+
303
+    }
304
+
305
+    /**
306
+     * Sends a notification whenever an invoice is put on hold.
307
+     *
308
+     * @param WPInv_Invoice $invoice
309
+     */
310
+    public function onhold_invoice( $invoice ) {
311
+
312
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
313
+        $recipient = $invoice->get_email();
314
+
315
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
316
+
317
+    }
318
+
319
+    /**
320
+     * Sends a notification whenever an invoice is marked as processing payment.
321
+     *
322
+     * @param WPInv_Invoice $invoice
323
+     */
324
+    public function processing_invoice( $invoice ) {
325
+
326
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
327
+        $recipient = $invoice->get_email();
328
+
329
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
330
+
331
+    }
332
+
333
+    /**
334
+     * Sends a notification whenever an invoice is paid.
335
+     *
336
+     * @param WPInv_Invoice $invoice
337
+     */
338
+    public function completed_invoice( $invoice ) {
339
+
340
+        // (Maybe) abort if it is a renewal invoice.
341
+        if ( $invoice->is_renewal() && ! wpinv_get_option( 'email_completed_invoice_renewal_active', false ) ) {
342
+            return;
343
+        }
344
+
345
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
346
+        $recipient = $invoice->get_email();
347
+
348
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
349
+
350
+    }
351
+
352
+    /**
353
+     * Sends a notification whenever an invoice is refunded.
354
+     *
355
+     * @param WPInv_Invoice $invoice
356
+     */
357
+    public function refunded_invoice( $invoice ) {
358
+
359
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
360
+        $recipient = $invoice->get_email();
361
+
362
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
363
+
364
+    }
365
+
366
+    /**
367
+     * Notifies a user about new invoices
368
+     *
369
+     * @param WPInv_Invoice $invoice
370
+     * @param bool $force
371
+     */
372
+    public function user_invoice( $invoice, $force = false ) {
373
+
374
+        if ( ! $force && ! empty( $GLOBALS['wpinv_skip_invoice_notification'] ) ) {
375
+            return;
376
+        }
377
+
378
+        // Only send this email for invoices created via the admin page.
379
+        if ( ! $invoice->is_type( 'invoice' ) || ( empty( $force ) && $invoice->is_paid() ) || ( empty( $force ) && $this->is_payment_form_invoice( $invoice->get_id() ) ) ) {
380
+            return;
381
+        }
382
+
383
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
384
+        $recipient = $invoice->get_email();
385
+
386
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
387
+
388
+    }
389
+
390
+    /**
391
+     * Checks if an invoice is a payment form invoice.
392
+     *
393
+     * @param int $invoice
394
+     * @return bool
395
+     */
396
+    public function is_payment_form_invoice( $invoice ) {
397
+        $created_via             = get_post_meta( $invoice, 'wpinv_created_via', true );
398
+        $is_payment_form_invoice = 'payment_form' === $created_via || 'geodirectory' === $created_via;
399
+        $is_payment_form_invoice = apply_filters( 'getpaid_invoice_notifications_is_payment_form_invoice', $is_payment_form_invoice, $invoice );
400
+        return empty( $_GET['getpaid-admin-action'] ) && $is_payment_form_invoice;
401
+    }
402
+
403
+    /**
404
+     * Notifies admin about new invoice notes
405
+     *
406
+     * @param WPInv_Invoice $invoice
407
+     * @param string $note
408
+     */
409
+    public function user_note( $invoice, $note ) {
410
+
411
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
412
+        $recipient = $invoice->get_email();
413
+
414
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient, array( 'customer_note' => $note ) );
415
+
416
+    }
417
+
418
+    /**
419
+     * (Force) Sends overdue notices.
420
+     *
421
+     * @param WPInv_Invoice $invoice
422
+     */
423
+    public function force_send_overdue_notice( $invoice ) {
424
+        $email = new GetPaid_Notification_Email( 'overdue', $invoice );
425
+        return $this->send_email( $invoice, $email, 'overdue', $invoice->get_email() );
426
+    }
427
+
428
+    /**
429
+     * Sends overdue notices.
430
+     *
431
+     * @TODO: Create an invoices query class.
432
+     */
433
+    public function overdue() {
434
+        global $wpdb;
435
+
436
+        $email = new GetPaid_Notification_Email( __FUNCTION__ );
437
+
438
+        // Fetch reminder days.
439
+        $reminder_days = array_unique( wp_parse_id_list( $email->get_option( 'days' ) ) );
440
+
441
+        // Abort if non is set.
442
+        if ( empty( $reminder_days ) ) {
443
+            return;
444
+        }
445
+
446
+        // Retrieve date query.
447
+        $date_query = $this->get_date_query( $reminder_days );
448
+
449
+        // Invoices table.
450
+        $table = $wpdb->prefix . 'getpaid_invoices';
451
+
452
+        // Fetch invoices.
453
+        $invoices  = $wpdb->get_col(
454
+            "SELECT posts.ID FROM $wpdb->posts as posts
455 455
 			LEFT JOIN $table as invoices ON invoices.post_id = posts.ID
456 456
 			WHERE posts.post_type = 'wpi_invoice' AND posts.post_status = 'wpi-pending' $date_query"
457 457
         );
458 458
 
459
-		foreach ( $invoices as $invoice ) {
459
+        foreach ( $invoices as $invoice ) {
460 460
 
461
-			// Only send this email for invoices created via the admin page.
462
-			if ( ! $this->is_payment_form_invoice( $invoice ) ) {
463
-				$invoice       = new WPInv_Invoice( $invoice );
464
-				$email->object = $invoice;
461
+            // Only send this email for invoices created via the admin page.
462
+            if ( ! $this->is_payment_form_invoice( $invoice ) ) {
463
+                $invoice       = new WPInv_Invoice( $invoice );
464
+                $email->object = $invoice;
465 465
 
466
-				if ( $invoice->needs_payment() && ! $invoice->is_renewal() ) {
467
-					$this->send_email( $invoice, $email, __FUNCTION__, $invoice->get_email() );
468
-				}
469
-			}
470
-		}
466
+                if ( $invoice->needs_payment() && ! $invoice->is_renewal() ) {
467
+                    $this->send_email( $invoice, $email, __FUNCTION__, $invoice->get_email() );
468
+                }
469
+            }
470
+        }
471 471
 
472
-	}
472
+    }
473 473
 
474
-	/**
475
-	 * Calculates the date query for an invoices query
476
-	 *
477
-	 * @param array $reminder_days
478
-	 * @return string
479
-	 */
480
-	public function get_date_query( $reminder_days ) {
474
+    /**
475
+     * Calculates the date query for an invoices query
476
+     *
477
+     * @param array $reminder_days
478
+     * @return string
479
+     */
480
+    public function get_date_query( $reminder_days ) {
481 481
 
482
-		$date_query = array(
483
-			'relation' => 'OR',
484
-		);
482
+        $date_query = array(
483
+            'relation' => 'OR',
484
+        );
485 485
 
486
-		foreach ( $reminder_days as $days ) {
487
-			$date = date_parse( date( 'Y-m-d', strtotime( "-$days days", current_time( 'timestamp' ) ) ) );
486
+        foreach ( $reminder_days as $days ) {
487
+            $date = date_parse( date( 'Y-m-d', strtotime( "-$days days", current_time( 'timestamp' ) ) ) );
488 488
 
489
-			$date_query[] = array(
490
-				'year'  => $date['year'],
491
-				'month' => $date['month'],
492
-				'day'   => $date['day'],
493
-			);
489
+            $date_query[] = array(
490
+                'year'  => $date['year'],
491
+                'month' => $date['month'],
492
+                'day'   => $date['day'],
493
+            );
494 494
 
495
-		}
495
+        }
496 496
 
497
-		$date_query = new WP_Date_Query( $date_query, 'invoices.due_date' );
497
+        $date_query = new WP_Date_Query( $date_query, 'invoices.due_date' );
498 498
 
499
-		return $date_query->get_sql();
499
+        return $date_query->get_sql();
500 500
 
501
-	}
501
+    }
502 502
 
503 503
 }
Please login to merge, or discard this patch.
Spacing   +128 added lines, -128 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
  * This class handles invoice notificaiton emails.
@@ -28,7 +28,7 @@  discard block
 block discarded – undo
28 28
 		$this->invoice_actions = apply_filters(
29 29
 			'getpaid_notification_email_invoice_triggers',
30 30
 			array(
31
-				'getpaid_new_invoice'                   => array( 'new_invoice', 'user_invoice' ),
31
+				'getpaid_new_invoice'                   => array('new_invoice', 'user_invoice'),
32 32
 				'getpaid_invoice_status_wpi-cancelled'  => 'cancelled_invoice',
33 33
 				'getpaid_invoice_status_wpi-failed'     => 'failed_invoice',
34 34
 				'getpaid_invoice_status_wpi-onhold'     => 'onhold_invoice',
@@ -41,7 +41,7 @@  discard block
 block discarded – undo
41 41
 			)
42 42
 		);
43 43
 
44
-		add_action( 'init', array( $this, 'init_hooks' ) );
44
+		add_action('init', array($this, 'init_hooks'));
45 45
 	}
46 46
 
47 47
 	/**
@@ -49,11 +49,11 @@  discard block
 block discarded – undo
49 49
 	 */
50 50
 	public function init_hooks() {
51 51
 
52
-		add_filter( 'getpaid_get_email_merge_tags', array( $this, 'invoice_merge_tags' ), 10, 2 );
53
-		add_filter( 'getpaid_invoice_email_recipients', array( $this, 'filter_email_recipients' ), 10, 2 );
52
+		add_filter('getpaid_get_email_merge_tags', array($this, 'invoice_merge_tags'), 10, 2);
53
+		add_filter('getpaid_invoice_email_recipients', array($this, 'filter_email_recipients'), 10, 2);
54 54
 
55
-		foreach ( $this->invoice_actions as $hook => $email_type ) {
56
-			$this->init_email_type_hook( $hook, $email_type );
55
+		foreach ($this->invoice_actions as $hook => $email_type) {
56
+			$this->init_email_type_hook($hook, $email_type);
57 57
 		}
58 58
 	}
59 59
 
@@ -63,25 +63,25 @@  discard block
 block discarded – undo
63 63
 	 * @param string $hook
64 64
 	 * @param string|array $email_type
65 65
 	 */
66
-	public function init_email_type_hook( $hook, $email_type ) {
66
+	public function init_email_type_hook($hook, $email_type) {
67 67
 
68
-		$email_type = wpinv_parse_list( $email_type );
68
+		$email_type = wpinv_parse_list($email_type);
69 69
 
70
-		foreach ( $email_type as $type ) {
70
+		foreach ($email_type as $type) {
71 71
 
72
-			$email = new GetPaid_Notification_Email( $type );
72
+			$email = new GetPaid_Notification_Email($type);
73 73
 
74 74
 			// Abort if it is not active.
75
-			if ( ! $email->is_active() ) {
75
+			if (!$email->is_active()) {
76 76
 				continue;
77 77
 			}
78 78
 
79
-			if ( method_exists( $this, $type ) ) {
80
-				add_action( $hook, array( $this, $type ), 100, 2 );
79
+			if (method_exists($this, $type)) {
80
+				add_action($hook, array($this, $type), 100, 2);
81 81
 				continue;
82 82
 			}
83 83
 
84
-			do_action( 'getpaid_invoice_init_email_type_hook', $type, $hook );
84
+			do_action('getpaid_invoice_init_email_type_hook', $type, $hook);
85 85
 		}
86 86
 
87 87
 	}
@@ -92,19 +92,19 @@  discard block
 block discarded – undo
92 92
 	 * @param array $merge_tags
93 93
 	 * @param mixed|WPInv_Invoice|WPInv_Subscription $object
94 94
 	 */
95
-	public function invoice_merge_tags( $merge_tags, $object ) {
95
+	public function invoice_merge_tags($merge_tags, $object) {
96 96
 
97
-		if ( is_a( $object, 'WPInv_Invoice' ) ) {
97
+		if (is_a($object, 'WPInv_Invoice')) {
98 98
 			return array_merge(
99 99
 				$merge_tags,
100
-				$this->get_invoice_merge_tags( $object )
100
+				$this->get_invoice_merge_tags($object)
101 101
 			);
102 102
 		}
103 103
 
104
-		if ( is_a( $object, 'WPInv_Subscription' ) ) {
104
+		if (is_a($object, 'WPInv_Subscription')) {
105 105
 			return array_merge(
106 106
 				$merge_tags,
107
-				$this->get_invoice_merge_tags( $object->get_parent_payment() )
107
+				$this->get_invoice_merge_tags($object->get_parent_payment())
108 108
 			);
109 109
 		}
110 110
 
@@ -118,52 +118,52 @@  discard block
 block discarded – undo
118 118
 	 * @param WPInv_Invoice $invoice
119 119
 	 * @return array
120 120
 	 */
121
-	public function get_invoice_merge_tags( $invoice ) {
121
+	public function get_invoice_merge_tags($invoice) {
122 122
 
123 123
 		// Abort if it does not exist.
124
-		if ( ! $invoice->get_id() ) {
124
+		if (!$invoice->get_id()) {
125 125
 			return array();
126 126
 		}
127 127
 
128 128
 		$due_date   = $invoice->get_due_date();
129
-		$due_date   = empty( $due_date ) ? time() + MINUTE_IN_SECONDS : strtotime( $due_date ) + ( (int) get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
129
+		$due_date   = empty($due_date) ? time() + MINUTE_IN_SECONDS : strtotime($due_date) + ((int) get_option('gmt_offset') * HOUR_IN_SECONDS);
130 130
 		$merge_tags = array(
131
-			'{name}'                 => sanitize_text_field( $invoice->get_user_full_name() ),
132
-			'{full_name}'            => sanitize_text_field( $invoice->get_user_full_name() ),
133
-			'{first_name}'           => sanitize_text_field( $invoice->get_first_name() ),
134
-			'{last_name}'            => sanitize_text_field( $invoice->get_last_name() ),
135
-			'{email}'                => sanitize_email( $invoice->get_email() ),
136
-			'{invoice_number}'       => sanitize_text_field( $invoice->get_number() ),
137
-			'{invoice_currency}'     => sanitize_text_field( $invoice->get_currency() ),
138
-			'{invoice_total}'        => sanitize_text_field( wpinv_price( $invoice->get_total(), $invoice->get_currency() ) ),
139
-			'{invoice_link}'         => esc_url( $invoice->get_view_url() ),
140
-			'{invoice_pay_link}'     => esc_url( $invoice->get_checkout_payment_url() ),
141
-			'{invoice_receipt_link}' => esc_url( $invoice->get_receipt_url() ),
142
-			'{invoice_date}'         => getpaid_format_date_value( $invoice->get_date_created() ),
143
-			'{invoice_due_date}'     => getpaid_format_date_value( $invoice->get_due_date(), __( 'on receipt', 'invoicing' ) ),
144
-			'{invoice_quote}'        => sanitize_text_field( strtolower( $invoice->get_label() ) ),
145
-			'{invoice_label}'        => sanitize_text_field( ucfirst( $invoice->get_label() ) ),
146
-			'{invoice_description}'  => wp_kses_post( $invoice->get_description() ),
147
-			'{subscription_name}'    => wp_kses_post( $invoice->get_subscription_name() ),
148
-			'{is_was}'               => $due_date < time() ? __( 'was', 'invoicing' ) : __( 'is', 'invoicing' ),
131
+			'{name}'                 => sanitize_text_field($invoice->get_user_full_name()),
132
+			'{full_name}'            => sanitize_text_field($invoice->get_user_full_name()),
133
+			'{first_name}'           => sanitize_text_field($invoice->get_first_name()),
134
+			'{last_name}'            => sanitize_text_field($invoice->get_last_name()),
135
+			'{email}'                => sanitize_email($invoice->get_email()),
136
+			'{invoice_number}'       => sanitize_text_field($invoice->get_number()),
137
+			'{invoice_currency}'     => sanitize_text_field($invoice->get_currency()),
138
+			'{invoice_total}'        => sanitize_text_field(wpinv_price($invoice->get_total(), $invoice->get_currency())),
139
+			'{invoice_link}'         => esc_url($invoice->get_view_url()),
140
+			'{invoice_pay_link}'     => esc_url($invoice->get_checkout_payment_url()),
141
+			'{invoice_receipt_link}' => esc_url($invoice->get_receipt_url()),
142
+			'{invoice_date}'         => getpaid_format_date_value($invoice->get_date_created()),
143
+			'{invoice_due_date}'     => getpaid_format_date_value($invoice->get_due_date(), __('on receipt', 'invoicing')),
144
+			'{invoice_quote}'        => sanitize_text_field(strtolower($invoice->get_label())),
145
+			'{invoice_label}'        => sanitize_text_field(ucfirst($invoice->get_label())),
146
+			'{invoice_description}'  => wp_kses_post($invoice->get_description()),
147
+			'{subscription_name}'    => wp_kses_post($invoice->get_subscription_name()),
148
+			'{is_was}'               => $due_date < time() ? __('was', 'invoicing') : __('is', 'invoicing'),
149 149
 		);
150 150
 
151
-		$payment_form_data = $invoice->get_meta( 'payment_form_data', true );
151
+		$payment_form_data = $invoice->get_meta('payment_form_data', true);
152 152
 
153
-		if ( is_array( $payment_form_data ) ) {
153
+		if (is_array($payment_form_data)) {
154 154
 
155
-			foreach ( $payment_form_data as $label => $value ) {
155
+			foreach ($payment_form_data as $label => $value) {
156 156
 
157
-				$label = preg_replace( '/[^a-z0-9]+/', '_', strtolower( $label ) );
158
-				$value = is_array( $value ) ? implode( ', ', $value ) : $value;
157
+				$label = preg_replace('/[^a-z0-9]+/', '_', strtolower($label));
158
+				$value = is_array($value) ? implode(', ', $value) : $value;
159 159
 
160
-				if ( is_scalar( $value ) ) {
161
-					$merge_tags[ "{{$label}}" ] = wp_kses_post( $value );
160
+				if (is_scalar($value)) {
161
+					$merge_tags["{{$label}}"] = wp_kses_post($value);
162 162
 				}
163 163
 			}
164 164
 		}
165 165
 
166
-		return apply_filters( 'getpaid_invoice_email_merge_tags', $merge_tags, $invoice );
166
+		return apply_filters('getpaid_invoice_email_merge_tags', $merge_tags, $invoice);
167 167
 	}
168 168
 
169 169
 	/**
@@ -175,12 +175,12 @@  discard block
 block discarded – undo
175 175
 	 * @param string|array $recipients
176 176
 	 * @param array $extra_args Extra template args.
177 177
 	 */
178
-	public function send_email( $invoice, $email, $type, $recipients, $extra_args = array() ) {
178
+	public function send_email($invoice, $email, $type, $recipients, $extra_args = array()) {
179 179
 
180
-		do_action( 'getpaid_before_send_invoice_notification', $type, $invoice, $email );
180
+		do_action('getpaid_before_send_invoice_notification', $type, $invoice, $email);
181 181
 
182
-		$skip = $invoice->is_free() && wpinv_get_option( 'skip_email_free_invoice' );
183
-		if ( apply_filters( 'getpaid_skip_invoice_email', $skip, $type, $invoice ) ) {
182
+		$skip = $invoice->is_free() && wpinv_get_option('skip_email_free_invoice');
183
+		if (apply_filters('getpaid_skip_invoice_email', $skip, $type, $invoice)) {
184 184
 			return;
185 185
 		}
186 186
 
@@ -188,43 +188,43 @@  discard block
 block discarded – undo
188 188
 		$merge_tags = $email->get_merge_tags();
189 189
 
190 190
 		$result = $mailer->send(
191
-			apply_filters( 'getpaid_invoice_email_recipients', wpinv_parse_list( $recipients ), $email ),
192
-			$email->add_merge_tags( $email->get_subject(), $merge_tags ),
193
-			$email->get_content( $merge_tags, $extra_args ),
191
+			apply_filters('getpaid_invoice_email_recipients', wpinv_parse_list($recipients), $email),
192
+			$email->add_merge_tags($email->get_subject(), $merge_tags),
193
+			$email->get_content($merge_tags, $extra_args),
194 194
 			$email->get_attachments()
195 195
 		);
196 196
 
197 197
 		// Maybe send a copy to the admin.
198
-		if ( $email->include_admin_bcc() ) {
198
+		if ($email->include_admin_bcc()) {
199 199
 			$mailer->send(
200 200
 				wpinv_get_admin_email(),
201
-				$email->add_merge_tags( $email->get_subject() . __( ' - ADMIN BCC COPY', 'invoicing' ), $merge_tags ),
202
-				$email->get_content( $merge_tags ),
201
+				$email->add_merge_tags($email->get_subject() . __(' - ADMIN BCC COPY', 'invoicing'), $merge_tags),
202
+				$email->get_content($merge_tags),
203 203
 				$email->get_attachments()
204 204
 			);
205 205
 		}
206 206
 
207
-		if ( $result ) {
207
+		if ($result) {
208 208
 			$invoice->add_system_note(
209 209
 				sprintf(
210 210
 					// translators: %1 is the email type, %2 is the invoice recipient.
211
-					__( 'Successfully sent %1$s notification email to %2$s.', 'invoicing' ),
212
-					sanitize_key( $type ),
213
-					$email->is_admin_email() ? __( 'admin', 'invoicing' ) : __( 'the customer', 'invoicing' )
211
+					__('Successfully sent %1$s notification email to %2$s.', 'invoicing'),
212
+					sanitize_key($type),
213
+					$email->is_admin_email() ? __('admin', 'invoicing') : __('the customer', 'invoicing')
214 214
 				)
215 215
 			);
216 216
 		} else {
217 217
 			$invoice->add_system_note(
218 218
 				sprintf(
219 219
 					// translators: %1 is the email type, %2 is the invoice recipient.
220
-					__( 'Failed sending %1$s notification email to %2$s.', 'invoicing' ),
221
-					sanitize_key( $type ),
222
-					$email->is_admin_email() ? __( 'admin', 'invoicing' ) : __( 'the customer', 'invoicing' )
220
+					__('Failed sending %1$s notification email to %2$s.', 'invoicing'),
221
+					sanitize_key($type),
222
+					$email->is_admin_email() ? __('admin', 'invoicing') : __('the customer', 'invoicing')
223 223
 				)
224 224
 			);
225 225
 		}
226 226
 
227
-		do_action( 'getpaid_after_send_invoice_notification', $type, $invoice, $email );
227
+		do_action('getpaid_after_send_invoice_notification', $type, $invoice, $email);
228 228
 
229 229
 		return $result;
230 230
 	}
@@ -235,20 +235,20 @@  discard block
 block discarded – undo
235 235
 	 * @param array $recipients
236 236
 	 * @param GetPaid_Notification_Email $email
237 237
 	 */
238
-	public function filter_email_recipients( $recipients, $email ) {
238
+	public function filter_email_recipients($recipients, $email) {
239 239
 
240
-		if ( ! $email->is_admin_email() ) {
240
+		if (!$email->is_admin_email()) {
241 241
 			$cc   = $email->object->get_email_cc();
242
-			$cc_2 = get_user_meta( $email->object->get_user_id(), '_wpinv_email_cc', true );
242
+			$cc_2 = get_user_meta($email->object->get_user_id(), '_wpinv_email_cc', true);
243 243
 
244
-			if ( ! empty( $cc ) ) {
245
-				$cc = array_map( 'sanitize_email', wpinv_parse_list( $cc ) );
246
-				$recipients = array_filter( array_unique( array_merge( $recipients, $cc ) ) );
244
+			if (!empty($cc)) {
245
+				$cc = array_map('sanitize_email', wpinv_parse_list($cc));
246
+				$recipients = array_filter(array_unique(array_merge($recipients, $cc)));
247 247
 			}
248 248
 
249
-			if ( ! empty( $cc_2 ) ) {
250
-				$cc_2 = array_map( 'sanitize_email', wpinv_parse_list( $cc_2 ) );
251
-				$recipients = array_filter( array_unique( array_merge( $recipients, $cc_2 ) ) );
249
+			if (!empty($cc_2)) {
250
+				$cc_2 = array_map('sanitize_email', wpinv_parse_list($cc_2));
251
+				$recipients = array_filter(array_unique(array_merge($recipients, $cc_2)));
252 252
 			}
253 253
 		}
254 254
 
@@ -261,17 +261,17 @@  discard block
 block discarded – undo
261 261
 	 *
262 262
 	 * @param WPInv_Invoice $invoice
263 263
 	 */
264
-	public function new_invoice( $invoice ) {
264
+	public function new_invoice($invoice) {
265 265
 
266 266
 		// Only send this email for invoices created via the admin page.
267
-		if ( ! $invoice->is_type( 'invoice' ) || $invoice->is_paid() || $this->is_payment_form_invoice( $invoice->get_id() ) ) {
267
+		if (!$invoice->is_type('invoice') || $invoice->is_paid() || $this->is_payment_form_invoice($invoice->get_id())) {
268 268
 			return;
269 269
 		}
270 270
 
271
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
271
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
272 272
 		$recipient = wpinv_get_admin_email();
273 273
 
274
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
274
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient);
275 275
 
276 276
 	}
277 277
 
@@ -280,12 +280,12 @@  discard block
 block discarded – undo
280 280
 	 *
281 281
 	 * @param WPInv_Invoice $invoice
282 282
 	 */
283
-	public function cancelled_invoice( $invoice ) {
283
+	public function cancelled_invoice($invoice) {
284 284
 
285
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
285
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
286 286
 		$recipient = $invoice->get_email();
287 287
 
288
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
288
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient);
289 289
 	}
290 290
 
291 291
 	/**
@@ -293,12 +293,12 @@  discard block
 block discarded – undo
293 293
 	 *
294 294
 	 * @param WPInv_Invoice $invoice
295 295
 	 */
296
-	public function failed_invoice( $invoice ) {
296
+	public function failed_invoice($invoice) {
297 297
 
298
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
298
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
299 299
 		$recipient = wpinv_get_admin_email();
300 300
 
301
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
301
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient);
302 302
 
303 303
 	}
304 304
 
@@ -307,12 +307,12 @@  discard block
 block discarded – undo
307 307
 	 *
308 308
 	 * @param WPInv_Invoice $invoice
309 309
 	 */
310
-	public function onhold_invoice( $invoice ) {
310
+	public function onhold_invoice($invoice) {
311 311
 
312
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
312
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
313 313
 		$recipient = $invoice->get_email();
314 314
 
315
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
315
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient);
316 316
 
317 317
 	}
318 318
 
@@ -321,12 +321,12 @@  discard block
 block discarded – undo
321 321
 	 *
322 322
 	 * @param WPInv_Invoice $invoice
323 323
 	 */
324
-	public function processing_invoice( $invoice ) {
324
+	public function processing_invoice($invoice) {
325 325
 
326
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
326
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
327 327
 		$recipient = $invoice->get_email();
328 328
 
329
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
329
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient);
330 330
 
331 331
 	}
332 332
 
@@ -335,17 +335,17 @@  discard block
 block discarded – undo
335 335
 	 *
336 336
 	 * @param WPInv_Invoice $invoice
337 337
 	 */
338
-	public function completed_invoice( $invoice ) {
338
+	public function completed_invoice($invoice) {
339 339
 
340 340
 		// (Maybe) abort if it is a renewal invoice.
341
-		if ( $invoice->is_renewal() && ! wpinv_get_option( 'email_completed_invoice_renewal_active', false ) ) {
341
+		if ($invoice->is_renewal() && !wpinv_get_option('email_completed_invoice_renewal_active', false)) {
342 342
 			return;
343 343
 		}
344 344
 
345
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
345
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
346 346
 		$recipient = $invoice->get_email();
347 347
 
348
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
348
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient);
349 349
 
350 350
 	}
351 351
 
@@ -354,12 +354,12 @@  discard block
 block discarded – undo
354 354
 	 *
355 355
 	 * @param WPInv_Invoice $invoice
356 356
 	 */
357
-	public function refunded_invoice( $invoice ) {
357
+	public function refunded_invoice($invoice) {
358 358
 
359
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
359
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
360 360
 		$recipient = $invoice->get_email();
361 361
 
362
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
362
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient);
363 363
 
364 364
 	}
365 365
 
@@ -369,21 +369,21 @@  discard block
 block discarded – undo
369 369
 	 * @param WPInv_Invoice $invoice
370 370
 	 * @param bool $force
371 371
 	 */
372
-	public function user_invoice( $invoice, $force = false ) {
372
+	public function user_invoice($invoice, $force = false) {
373 373
 
374
-		if ( ! $force && ! empty( $GLOBALS['wpinv_skip_invoice_notification'] ) ) {
374
+		if (!$force && !empty($GLOBALS['wpinv_skip_invoice_notification'])) {
375 375
 			return;
376 376
 		}
377 377
 
378 378
 		// Only send this email for invoices created via the admin page.
379
-		if ( ! $invoice->is_type( 'invoice' ) || ( empty( $force ) && $invoice->is_paid() ) || ( empty( $force ) && $this->is_payment_form_invoice( $invoice->get_id() ) ) ) {
379
+		if (!$invoice->is_type('invoice') || (empty($force) && $invoice->is_paid()) || (empty($force) && $this->is_payment_form_invoice($invoice->get_id()))) {
380 380
 			return;
381 381
 		}
382 382
 
383
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
383
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
384 384
 		$recipient = $invoice->get_email();
385 385
 
386
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
386
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient);
387 387
 
388 388
 	}
389 389
 
@@ -393,11 +393,11 @@  discard block
 block discarded – undo
393 393
 	 * @param int $invoice
394 394
 	 * @return bool
395 395
 	 */
396
-	public function is_payment_form_invoice( $invoice ) {
397
-		$created_via             = get_post_meta( $invoice, 'wpinv_created_via', true );
396
+	public function is_payment_form_invoice($invoice) {
397
+		$created_via             = get_post_meta($invoice, 'wpinv_created_via', true);
398 398
 		$is_payment_form_invoice = 'payment_form' === $created_via || 'geodirectory' === $created_via;
399
-		$is_payment_form_invoice = apply_filters( 'getpaid_invoice_notifications_is_payment_form_invoice', $is_payment_form_invoice, $invoice );
400
-		return empty( $_GET['getpaid-admin-action'] ) && $is_payment_form_invoice;
399
+		$is_payment_form_invoice = apply_filters('getpaid_invoice_notifications_is_payment_form_invoice', $is_payment_form_invoice, $invoice);
400
+		return empty($_GET['getpaid-admin-action']) && $is_payment_form_invoice;
401 401
 	}
402 402
 
403 403
 	/**
@@ -406,12 +406,12 @@  discard block
 block discarded – undo
406 406
 	 * @param WPInv_Invoice $invoice
407 407
 	 * @param string $note
408 408
 	 */
409
-	public function user_note( $invoice, $note ) {
409
+	public function user_note($invoice, $note) {
410 410
 
411
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
411
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
412 412
 		$recipient = $invoice->get_email();
413 413
 
414
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient, array( 'customer_note' => $note ) );
414
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient, array('customer_note' => $note));
415 415
 
416 416
 	}
417 417
 
@@ -420,9 +420,9 @@  discard block
 block discarded – undo
420 420
 	 *
421 421
 	 * @param WPInv_Invoice $invoice
422 422
 	 */
423
-	public function force_send_overdue_notice( $invoice ) {
424
-		$email = new GetPaid_Notification_Email( 'overdue', $invoice );
425
-		return $this->send_email( $invoice, $email, 'overdue', $invoice->get_email() );
423
+	public function force_send_overdue_notice($invoice) {
424
+		$email = new GetPaid_Notification_Email('overdue', $invoice);
425
+		return $this->send_email($invoice, $email, 'overdue', $invoice->get_email());
426 426
 	}
427 427
 
428 428
 	/**
@@ -433,38 +433,38 @@  discard block
 block discarded – undo
433 433
 	public function overdue() {
434 434
 		global $wpdb;
435 435
 
436
-		$email = new GetPaid_Notification_Email( __FUNCTION__ );
436
+		$email = new GetPaid_Notification_Email(__FUNCTION__);
437 437
 
438 438
 		// Fetch reminder days.
439
-		$reminder_days = array_unique( wp_parse_id_list( $email->get_option( 'days' ) ) );
439
+		$reminder_days = array_unique(wp_parse_id_list($email->get_option('days')));
440 440
 
441 441
 		// Abort if non is set.
442
-		if ( empty( $reminder_days ) ) {
442
+		if (empty($reminder_days)) {
443 443
 			return;
444 444
 		}
445 445
 
446 446
 		// Retrieve date query.
447
-		$date_query = $this->get_date_query( $reminder_days );
447
+		$date_query = $this->get_date_query($reminder_days);
448 448
 
449 449
 		// Invoices table.
450 450
 		$table = $wpdb->prefix . 'getpaid_invoices';
451 451
 
452 452
 		// Fetch invoices.
453
-		$invoices  = $wpdb->get_col(
453
+		$invoices = $wpdb->get_col(
454 454
 			"SELECT posts.ID FROM $wpdb->posts as posts
455 455
 			LEFT JOIN $table as invoices ON invoices.post_id = posts.ID
456 456
 			WHERE posts.post_type = 'wpi_invoice' AND posts.post_status = 'wpi-pending' $date_query"
457 457
         );
458 458
 
459
-		foreach ( $invoices as $invoice ) {
459
+		foreach ($invoices as $invoice) {
460 460
 
461 461
 			// Only send this email for invoices created via the admin page.
462
-			if ( ! $this->is_payment_form_invoice( $invoice ) ) {
463
-				$invoice       = new WPInv_Invoice( $invoice );
462
+			if (!$this->is_payment_form_invoice($invoice)) {
463
+				$invoice       = new WPInv_Invoice($invoice);
464 464
 				$email->object = $invoice;
465 465
 
466
-				if ( $invoice->needs_payment() && ! $invoice->is_renewal() ) {
467
-					$this->send_email( $invoice, $email, __FUNCTION__, $invoice->get_email() );
466
+				if ($invoice->needs_payment() && !$invoice->is_renewal()) {
467
+					$this->send_email($invoice, $email, __FUNCTION__, $invoice->get_email());
468 468
 				}
469 469
 			}
470 470
 		}
@@ -477,14 +477,14 @@  discard block
 block discarded – undo
477 477
 	 * @param array $reminder_days
478 478
 	 * @return string
479 479
 	 */
480
-	public function get_date_query( $reminder_days ) {
480
+	public function get_date_query($reminder_days) {
481 481
 
482 482
 		$date_query = array(
483 483
 			'relation' => 'OR',
484 484
 		);
485 485
 
486
-		foreach ( $reminder_days as $days ) {
487
-			$date = date_parse( date( 'Y-m-d', strtotime( "-$days days", current_time( 'timestamp' ) ) ) );
486
+		foreach ($reminder_days as $days) {
487
+			$date = date_parse(date('Y-m-d', strtotime("-$days days", current_time('timestamp'))));
488 488
 
489 489
 			$date_query[] = array(
490 490
 				'year'  => $date['year'],
@@ -494,7 +494,7 @@  discard block
 block discarded – undo
494 494
 
495 495
 		}
496 496
 
497
-		$date_query = new WP_Date_Query( $date_query, 'invoices.due_date' );
497
+		$date_query = new WP_Date_Query($date_query, 'invoices.due_date');
498 498
 
499 499
 		return $date_query->get_sql();
500 500
 
Please login to merge, or discard this patch.