Passed
Push — master ( 8ab249...3873c7 )
by Kiran
12:23 queued 07:07
created
includes/subscription-functions.php 2 patches
Indentation   +323 added lines, -323 removed lines patch added patch discarded remove patch
@@ -50,7 +50,7 @@  discard block
 block discarded – undo
50 50
  */
51 51
 function getpaid_get_invoice_subscription_group( $invoice_id, $subscription_id ) {
52 52
     $subscription_groups = getpaid_get_invoice_subscription_groups( $invoice_id );
53
-	$matching_group      = wp_list_filter( $subscription_groups, compact( 'subscription_id' ) );
53
+    $matching_group      = wp_list_filter( $subscription_groups, compact( 'subscription_id' ) );
54 54
     return reset( $matching_group );
55 55
 }
56 56
 
@@ -63,11 +63,11 @@  discard block
 block discarded – undo
63 63
  */
64 64
 function getpaid_get_subscription( $subscription ) {
65 65
 
66
-	if ( ! is_a( $subscription, 'WPInv_Subscription' ) ) {
67
-		$subscription = new WPInv_Subscription( $subscription );
68
-	}
66
+    if ( ! is_a( $subscription, 'WPInv_Subscription' ) ) {
67
+        $subscription = new WPInv_Subscription( $subscription );
68
+    }
69 69
 
70
-	return $subscription->exists() ? $subscription : false;
70
+    return $subscription->exists() ? $subscription : false;
71 71
 }
72 72
 
73 73
 /**
@@ -81,28 +81,28 @@  discard block
 block discarded – undo
81 81
  */
82 82
 function getpaid_get_subscriptions( $args = array(), $return = 'results' ) {
83 83
 
84
-	// Do not retrieve all fields if we just want the count.
85
-	if ( 'count' == $return ) {
86
-		$args['fields'] = 'id';
87
-		$args['number'] = 1;
88
-	}
84
+    // Do not retrieve all fields if we just want the count.
85
+    if ( 'count' == $return ) {
86
+        $args['fields'] = 'id';
87
+        $args['number'] = 1;
88
+    }
89 89
 
90
-	// Do not count all matches if we just want the results.
91
-	if ( 'results' == $return ) {
92
-		$args['count_total'] = false;
93
-	}
90
+    // Do not count all matches if we just want the results.
91
+    if ( 'results' == $return ) {
92
+        $args['count_total'] = false;
93
+    }
94 94
 
95
-	$query = new GetPaid_Subscriptions_Query( $args );
95
+    $query = new GetPaid_Subscriptions_Query( $args );
96 96
 
97
-	if ( 'results' == $return ) {
98
-		return $query->get_results();
99
-	}
97
+    if ( 'results' == $return ) {
98
+        return $query->get_results();
99
+    }
100 100
 
101
-	if ( 'count' == $return ) {
102
-		return $query->get_total();
103
-	}
101
+    if ( 'count' == $return ) {
102
+        return $query->get_total();
103
+    }
104 104
 
105
-	return $query;
105
+    return $query;
106 106
 }
107 107
 
108 108
 /**
@@ -112,18 +112,18 @@  discard block
 block discarded – undo
112 112
  */
113 113
 function getpaid_get_subscription_statuses() {
114 114
 
115
-	return apply_filters(
116
-		'getpaid_get_subscription_statuses',
117
-		array(
118
-			'pending'   => __( 'Pending', 'invoicing' ),
119
-			'trialling' => __( 'Trialing', 'invoicing' ),
120
-			'active'    => __( 'Active', 'invoicing' ),
121
-			'failing'   => __( 'Failing', 'invoicing' ),
122
-			'expired'   => __( 'Expired', 'invoicing' ),
123
-			'completed' => __( 'Complete', 'invoicing' ),
124
-			'cancelled' => __( 'Cancelled', 'invoicing' ),
125
-		)
126
-	);
115
+    return apply_filters(
116
+        'getpaid_get_subscription_statuses',
117
+        array(
118
+            'pending'   => __( 'Pending', 'invoicing' ),
119
+            'trialling' => __( 'Trialing', 'invoicing' ),
120
+            'active'    => __( 'Active', 'invoicing' ),
121
+            'failing'   => __( 'Failing', 'invoicing' ),
122
+            'expired'   => __( 'Expired', 'invoicing' ),
123
+            'completed' => __( 'Complete', 'invoicing' ),
124
+            'cancelled' => __( 'Cancelled', 'invoicing' ),
125
+        )
126
+    );
127 127
 
128 128
 }
129 129
 
@@ -133,8 +133,8 @@  discard block
 block discarded – undo
133 133
  * @return string
134 134
  */
135 135
 function getpaid_get_subscription_status_label( $status ) {
136
-	$statuses = getpaid_get_subscription_statuses();
137
-	return isset( $statuses[ $status ] ) ? $statuses[ $status ] : ucfirst( sanitize_text_field( $status ) );
136
+    $statuses = getpaid_get_subscription_statuses();
137
+    return isset( $statuses[ $status ] ) ? $statuses[ $status ] : ucfirst( sanitize_text_field( $status ) );
138 138
 }
139 139
 
140 140
 /**
@@ -144,18 +144,18 @@  discard block
 block discarded – undo
144 144
  */
145 145
 function getpaid_get_subscription_status_classes() {
146 146
 
147
-	return apply_filters(
148
-		'getpaid_get_subscription_status_classes',
149
-		array(
150
-			'pending'   => 'bg-dark',
151
-			'trialling' => 'bg-info',
152
-			'active'    => 'bg-success',
153
-			'failing'   => 'bg-warning text-dark',
154
-			'expired'   => 'bg-danger',
155
-			'completed' => 'bg-primary',
156
-			'cancelled' => 'bg-secondary',
157
-		)
158
-	);
147
+    return apply_filters(
148
+        'getpaid_get_subscription_status_classes',
149
+        array(
150
+            'pending'   => 'bg-dark',
151
+            'trialling' => 'bg-info',
152
+            'active'    => 'bg-success',
153
+            'failing'   => 'bg-warning text-dark',
154
+            'expired'   => 'bg-danger',
155
+            'completed' => 'bg-primary',
156
+            'cancelled' => 'bg-secondary',
157
+        )
158
+    );
159 159
 
160 160
 }
161 161
 
@@ -166,15 +166,15 @@  discard block
 block discarded – undo
166 166
  */
167 167
 function getpaid_get_subscription_status_counts( $args = array() ) {
168 168
 
169
-	$statuses = array_keys( getpaid_get_subscription_statuses() );
170
-	$counts   = array();
169
+    $statuses = array_keys( getpaid_get_subscription_statuses() );
170
+    $counts   = array();
171 171
 
172
-	foreach ( $statuses as $status ) {
173
-		$_args             = wp_parse_args( "status=$status", $args );
174
-		$counts[ $status ] = getpaid_get_subscriptions( $_args, 'count' );
175
-	}
172
+    foreach ( $statuses as $status ) {
173
+        $_args             = wp_parse_args( "status=$status", $args );
174
+        $counts[ $status ] = getpaid_get_subscriptions( $_args, 'count' );
175
+    }
176 176
 
177
-	return $counts;
177
+    return $counts;
178 178
 
179 179
 }
180 180
 
@@ -185,32 +185,32 @@  discard block
 block discarded – undo
185 185
  */
186 186
 function getpaid_get_subscription_periods() {
187 187
 
188
-	return apply_filters(
189
-		'getpaid_get_subscription_periods',
190
-		array(
188
+    return apply_filters(
189
+        'getpaid_get_subscription_periods',
190
+        array(
191 191
 
192
-			'day'   => array(
193
-				'singular' => __( '%s day', 'invoicing' ),
194
-				'plural'   => __( '%d days', 'invoicing' ),
195
-			),
192
+            'day'   => array(
193
+                'singular' => __( '%s day', 'invoicing' ),
194
+                'plural'   => __( '%d days', 'invoicing' ),
195
+            ),
196 196
 
197
-			'week'  => array(
198
-				'singular' => __( '%s week', 'invoicing' ),
199
-				'plural'   => __( '%d weeks', 'invoicing' ),
200
-			),
197
+            'week'  => array(
198
+                'singular' => __( '%s week', 'invoicing' ),
199
+                'plural'   => __( '%d weeks', 'invoicing' ),
200
+            ),
201 201
 
202
-			'month' => array(
203
-				'singular' => __( '%s month', 'invoicing' ),
204
-				'plural'   => __( '%d months', 'invoicing' ),
205
-			),
202
+            'month' => array(
203
+                'singular' => __( '%s month', 'invoicing' ),
204
+                'plural'   => __( '%d months', 'invoicing' ),
205
+            ),
206 206
 
207
-			'year'  => array(
208
-				'singular' => __( '%s year', 'invoicing' ),
209
-				'plural'   => __( '%d years', 'invoicing' ),
210
-			),
207
+            'year'  => array(
208
+                'singular' => __( '%s year', 'invoicing' ),
209
+                'plural'   => __( '%d years', 'invoicing' ),
210
+            ),
211 211
 
212
-		)
213
-	);
212
+        )
213
+    );
214 214
 
215 215
 }
216 216
 
@@ -221,7 +221,7 @@  discard block
 block discarded – undo
221 221
  * @return int
222 222
  */
223 223
 function getpaid_get_subscription_trial_period_interval( $trial_period ) {
224
-	return (int) preg_replace( '/[^0-9]/', '', $trial_period );
224
+    return (int) preg_replace( '/[^0-9]/', '', $trial_period );
225 225
 }
226 226
 
227 227
 /**
@@ -231,7 +231,7 @@  discard block
 block discarded – undo
231 231
  * @return string
232 232
  */
233 233
 function getpaid_get_subscription_trial_period_period( $trial_period ) {
234
-	return preg_replace( '/[^a-z]/', '', strtolower( $trial_period ) );
234
+    return preg_replace( '/[^a-z]/', '', strtolower( $trial_period ) );
235 235
 }
236 236
 
237 237
 /**
@@ -242,8 +242,8 @@  discard block
 block discarded – undo
242 242
  * @return string
243 243
  */
244 244
 function getpaid_get_subscription_period_label( $period, $interval = 1, $singular_prefix = '1' ) {
245
-	$label = (int) $interval > 1 ? getpaid_get_plural_subscription_period_label( $period, $interval ) : getpaid_get_singular_subscription_period_label( $period, $singular_prefix );
246
-	return strtolower( sanitize_text_field( $label ) );
245
+    $label = (int) $interval > 1 ? getpaid_get_plural_subscription_period_label( $period, $interval ) : getpaid_get_singular_subscription_period_label( $period, $singular_prefix );
246
+    return strtolower( sanitize_text_field( $label ) );
247 247
 }
248 248
 
249 249
 /**
@@ -254,22 +254,22 @@  discard block
 block discarded – undo
254 254
  */
255 255
 function getpaid_get_singular_subscription_period_label( $period, $singular_prefix = '1' ) {
256 256
 
257
-	$periods = getpaid_get_subscription_periods();
258
-	$period  = strtolower( $period );
257
+    $periods = getpaid_get_subscription_periods();
258
+    $period  = strtolower( $period );
259 259
 
260
-	if ( isset( $periods[ $period ] ) ) {
261
-		return sprintf( $periods[ $period ]['singular'], $singular_prefix );
262
-	}
260
+    if ( isset( $periods[ $period ] ) ) {
261
+        return sprintf( $periods[ $period ]['singular'], $singular_prefix );
262
+    }
263 263
 
264
-	// Backwards compatibility.
265
-	foreach ( $periods as $key => $data ) {
266
-		if ( strpos( $key, $period ) === 0 ) {
267
-			return sprintf( $data['singular'], $singular_prefix );
268
-		}
269
-	}
264
+    // Backwards compatibility.
265
+    foreach ( $periods as $key => $data ) {
266
+        if ( strpos( $key, $period ) === 0 ) {
267
+            return sprintf( $data['singular'], $singular_prefix );
268
+        }
269
+    }
270 270
 
271
-	// Invalid string.
272
-	return '';
271
+    // Invalid string.
272
+    return '';
273 273
 }
274 274
 
275 275
 /**
@@ -281,22 +281,22 @@  discard block
 block discarded – undo
281 281
  */
282 282
 function getpaid_get_plural_subscription_period_label( $period, $interval ) {
283 283
 
284
-	$periods = getpaid_get_subscription_periods();
285
-	$period  = strtolower( $period );
284
+    $periods = getpaid_get_subscription_periods();
285
+    $period  = strtolower( $period );
286 286
 
287
-	if ( isset( $periods[ $period ] ) ) {
288
-		return sprintf( $periods[ $period ]['plural'], $interval );
289
-	}
287
+    if ( isset( $periods[ $period ] ) ) {
288
+        return sprintf( $periods[ $period ]['plural'], $interval );
289
+    }
290 290
 
291
-	// Backwards compatibility.
292
-	foreach ( $periods as $key => $data ) {
293
-		if ( strpos( $key, $period ) === 0 ) {
294
-			return sprintf( $data['plural'], $interval );
295
-		}
296
-	}
291
+    // Backwards compatibility.
292
+    foreach ( $periods as $key => $data ) {
293
+        if ( strpos( $key, $period ) === 0 ) {
294
+            return sprintf( $data['plural'], $interval );
295
+        }
296
+    }
297 297
 
298
-	// Invalid string.
299
-	return '';
298
+    // Invalid string.
299
+    return '';
300 300
 }
301 301
 
302 302
 /**
@@ -307,92 +307,92 @@  discard block
 block discarded – undo
307 307
  */
308 308
 function getpaid_get_formatted_subscription_amount( $subscription ) {
309 309
 
310
-	$initial    = wpinv_price( $subscription->get_initial_amount(), $subscription->get_parent_payment()->get_currency() );
311
-	$recurring  = wpinv_price( $subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency() );
312
-	$period     = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' );
313
-	$bill_times = $subscription->get_bill_times();
314
-	$bill_times_less = $bill_times - 1;
315
-
316
-	if ( ! empty( $bill_times ) ) {
317
-		$bill_times = $subscription->get_frequency() * $bill_times;
318
-		$bill_times_less = getpaid_get_subscription_period_label( $subscription->get_period(), $bill_times - $subscription->get_frequency() );
319
-		$bill_times = getpaid_get_subscription_period_label( $subscription->get_period(), $bill_times );
320
-	}
321
-
322
-	// Trial periods.
323
-	if ( $subscription->has_trial_period() ) {
324
-
325
-		$trial_period   = getpaid_get_subscription_trial_period_period( $subscription->get_trial_period() );
326
-		$trial_interval = getpaid_get_subscription_trial_period_interval( $subscription->get_trial_period() );
327
-
328
-		if ( empty( $bill_times ) ) {
329
-
330
-			return sprintf(
331
-				// translators: $1: is the initial amount, $2: is the trial period, $3: is the recurring amount, $4: is the recurring period
332
-				_x( '%1$s trial for %2$s then %3$s / %4$s', 'Subscription amount. (e.g.: $10 trial for 1 month then $120 / year)', 'invoicing' ),
333
-				$initial,
334
-				getpaid_get_subscription_period_label( $trial_period, $trial_interval ),
335
-				$recurring,
336
-				$period
337
-			);
338
-
339
-		}
340
-
341
-		return sprintf(
342
-			// translators: $1: is the initial amount, $2: is the trial period, $3: is the recurring amount, $4: is the recurring period, $5: is the bill times
343
-			_x( '%1$s trial for %2$s then %3$s / %4$s for %5$s', 'Subscription amount. (e.g.: $10 trial for 1 month then $120 / year for 4 years)', 'invoicing' ),
344
-			$initial,
345
-			getpaid_get_subscription_period_label( $trial_period, $trial_interval ),
346
-			$recurring,
347
-			$period,
348
-			$bill_times
349
-		);
350
-
351
-	}
352
-
353
-	if ( $initial != $recurring ) {
354
-
355
-		if ( empty( $bill_times ) ) {
356
-
357
-			return sprintf(
358
-				// translators: $1: is the initial amount, $2: is the recurring amount, $3: is the recurring period
359
-				_x( 'Initial payment of %1$s which renews at %2$s / %3$s', 'Subscription amount. (e.g.:Initial payment of $100 which renews at $120 / year)', 'invoicing' ),
360
-				$initial,
361
-				$recurring,
362
-				$period
363
-			);
364
-
365
-		}
366
-
367
-		return sprintf(
368
-			// translators: $1: is the initial amount, $2: is the recurring amount, $3: is the recurring period, $4: is the bill times
369
-			_x( 'Initial payment of %1$s which renews at %2$s / %3$s for %4$s', 'Subscription amount. (e.g.:Initial payment of $100 which renews at $120 / year for 5 years)', 'invoicing' ),
370
-			$initial,
371
-			$recurring,
372
-			$period,
373
-			$bill_times_less
374
-		);
375
-
376
-	}
377
-
378
-	if ( empty( $bill_times ) ) {
379
-
380
-		return sprintf(
381
-			// translators: $1: is the recurring amount, $2: is the recurring period
382
-			_x( '%1$s / %2$s', 'Subscription amount. (e.g.: $120 / year)', 'invoicing' ),
383
-			$initial,
384
-			$period
385
-		);
386
-
387
-	}
388
-
389
-	return sprintf(
390
-		// translators: $1: is the bill times, $2: is the recurring amount, $3: is the recurring period
391
-		_x( '%2$s / %3$s for %1$s', 'Subscription amount. (e.g.: $120 / year for 5 years)', 'invoicing' ),
392
-		$bill_times,
393
-		$initial,
394
-		$period
395
-	);
310
+    $initial    = wpinv_price( $subscription->get_initial_amount(), $subscription->get_parent_payment()->get_currency() );
311
+    $recurring  = wpinv_price( $subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency() );
312
+    $period     = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' );
313
+    $bill_times = $subscription->get_bill_times();
314
+    $bill_times_less = $bill_times - 1;
315
+
316
+    if ( ! empty( $bill_times ) ) {
317
+        $bill_times = $subscription->get_frequency() * $bill_times;
318
+        $bill_times_less = getpaid_get_subscription_period_label( $subscription->get_period(), $bill_times - $subscription->get_frequency() );
319
+        $bill_times = getpaid_get_subscription_period_label( $subscription->get_period(), $bill_times );
320
+    }
321
+
322
+    // Trial periods.
323
+    if ( $subscription->has_trial_period() ) {
324
+
325
+        $trial_period   = getpaid_get_subscription_trial_period_period( $subscription->get_trial_period() );
326
+        $trial_interval = getpaid_get_subscription_trial_period_interval( $subscription->get_trial_period() );
327
+
328
+        if ( empty( $bill_times ) ) {
329
+
330
+            return sprintf(
331
+                // translators: $1: is the initial amount, $2: is the trial period, $3: is the recurring amount, $4: is the recurring period
332
+                _x( '%1$s trial for %2$s then %3$s / %4$s', 'Subscription amount. (e.g.: $10 trial for 1 month then $120 / year)', 'invoicing' ),
333
+                $initial,
334
+                getpaid_get_subscription_period_label( $trial_period, $trial_interval ),
335
+                $recurring,
336
+                $period
337
+            );
338
+
339
+        }
340
+
341
+        return sprintf(
342
+            // translators: $1: is the initial amount, $2: is the trial period, $3: is the recurring amount, $4: is the recurring period, $5: is the bill times
343
+            _x( '%1$s trial for %2$s then %3$s / %4$s for %5$s', 'Subscription amount. (e.g.: $10 trial for 1 month then $120 / year for 4 years)', 'invoicing' ),
344
+            $initial,
345
+            getpaid_get_subscription_period_label( $trial_period, $trial_interval ),
346
+            $recurring,
347
+            $period,
348
+            $bill_times
349
+        );
350
+
351
+    }
352
+
353
+    if ( $initial != $recurring ) {
354
+
355
+        if ( empty( $bill_times ) ) {
356
+
357
+            return sprintf(
358
+                // translators: $1: is the initial amount, $2: is the recurring amount, $3: is the recurring period
359
+                _x( 'Initial payment of %1$s which renews at %2$s / %3$s', 'Subscription amount. (e.g.:Initial payment of $100 which renews at $120 / year)', 'invoicing' ),
360
+                $initial,
361
+                $recurring,
362
+                $period
363
+            );
364
+
365
+        }
366
+
367
+        return sprintf(
368
+            // translators: $1: is the initial amount, $2: is the recurring amount, $3: is the recurring period, $4: is the bill times
369
+            _x( 'Initial payment of %1$s which renews at %2$s / %3$s for %4$s', 'Subscription amount. (e.g.:Initial payment of $100 which renews at $120 / year for 5 years)', 'invoicing' ),
370
+            $initial,
371
+            $recurring,
372
+            $period,
373
+            $bill_times_less
374
+        );
375
+
376
+    }
377
+
378
+    if ( empty( $bill_times ) ) {
379
+
380
+        return sprintf(
381
+            // translators: $1: is the recurring amount, $2: is the recurring period
382
+            _x( '%1$s / %2$s', 'Subscription amount. (e.g.: $120 / year)', 'invoicing' ),
383
+            $initial,
384
+            $period
385
+        );
386
+
387
+    }
388
+
389
+    return sprintf(
390
+        // translators: $1: is the bill times, $2: is the recurring amount, $3: is the recurring period
391
+        _x( '%2$s / %3$s for %1$s', 'Subscription amount. (e.g.: $120 / year for 5 years)', 'invoicing' ),
392
+        $bill_times,
393
+        $initial,
394
+        $period
395
+    );
396 396
 
397 397
 }
398 398
 
@@ -403,7 +403,7 @@  discard block
 block discarded – undo
403 403
  * @return WPInv_Subscription|false
404 404
  */
405 405
 function getpaid_get_invoice_subscription( $invoice ) {
406
-	return getpaid_subscriptions()->get_invoice_subscription( $invoice );
406
+    return getpaid_subscriptions()->get_invoice_subscription( $invoice );
407 407
 }
408 408
 
409 409
 /**
@@ -412,10 +412,10 @@  discard block
 block discarded – undo
412 412
  * @param WPInv_Invoice $invoice
413 413
  */
414 414
 function getpaid_activate_invoice_subscription( $invoice ) {
415
-	$subscription = getpaid_get_invoice_subscription( $invoice );
416
-	if ( is_a( $subscription, 'WPInv_Subscription' ) ) {
417
-		$subscription->activate();
418
-	}
415
+    $subscription = getpaid_get_invoice_subscription( $invoice );
416
+    if ( is_a( $subscription, 'WPInv_Subscription' ) ) {
417
+        $subscription->activate();
418
+    }
419 419
 }
420 420
 
421 421
 /**
@@ -424,7 +424,7 @@  discard block
 block discarded – undo
424 424
  * @return WPInv_Subscriptions
425 425
  */
426 426
 function getpaid_subscriptions() {
427
-	return getpaid()->get( 'subscriptions' );
427
+    return getpaid()->get( 'subscriptions' );
428 428
 }
429 429
 
430 430
 /**
@@ -443,15 +443,15 @@  discard block
 block discarded – undo
443 443
         return false;
444 444
     }
445 445
 
446
-	// Fetch the invoice subscription.
447
-	$subscription = getpaid_get_subscriptions(
448
-		array(
449
-			'invoice_in' => $invoice->is_renewal() ? $invoice->get_parent_id() : $invoice->get_id(),
450
-			'number'     => 1,
451
-		)
452
-	);
446
+    // Fetch the invoice subscription.
447
+    $subscription = getpaid_get_subscriptions(
448
+        array(
449
+            'invoice_in' => $invoice->is_renewal() ? $invoice->get_parent_id() : $invoice->get_id(),
450
+            'number'     => 1,
451
+        )
452
+    );
453 453
 
454
-	return empty( $subscription ) ? false : $subscription[0];
454
+    return empty( $subscription ) ? false : $subscription[0];
455 455
 
456 456
 }
457 457
 
@@ -468,48 +468,48 @@  discard block
 block discarded – undo
468 468
  */
469 469
 function getpaid_get_recurring_item_key( $cart_item ) {
470 470
 
471
-	$cart_key     = 'renews_';
472
-	$interval     = $cart_item->get_recurring_interval();
473
-	$period       = $cart_item->get_recurring_period( true );
474
-	$length       = $cart_item->get_recurring_limit() * $interval;
475
-	$trial_period = $cart_item->get_trial_period( true );
476
-	$trial_length = $cart_item->get_trial_interval();
477
-
478
-	// First start with the billing interval and period
479
-	switch ( $interval ) {
480
-		case 1:
481
-			if ( 'day' == $period ) {
482
-				$cart_key .= 'daily';
483
-			} else {
484
-				$cart_key .= sprintf( '%sly', $period );
485
-			}
486
-			break;
487
-		case 2:
488
-			$cart_key .= sprintf( 'every_2nd_%s', $period );
489
-			break;
490
-		case 3:
491
-			$cart_key .= sprintf( 'every_3rd_%s', $period );
492
-		    break;
493
-		default:
494
-			$cart_key .= sprintf( 'every_%dth_%s', $interval, $period );
495
-			break;
496
-	}
497
-
498
-	// Maybe add the optional maximum billing periods...
499
-	if ( $length > 0 ) {
500
-		$cart_key .= '_for_';
501
-		$cart_key .= sprintf( '%d_%s', $length, $period );
502
-		if ( $length > 1 ) {
503
-			$cart_key .= 's';
504
-		}
505
-	}
506
-
507
-	// And an optional free trial.
508
-	if ( $cart_item->has_free_trial() ) {
509
-		$cart_key .= sprintf( '_after_a_%d_%s_trial', $trial_length, $trial_period );
510
-	}
511
-
512
-	return apply_filters( 'getpaid_get_recurring_item_key', $cart_key, $cart_item );
471
+    $cart_key     = 'renews_';
472
+    $interval     = $cart_item->get_recurring_interval();
473
+    $period       = $cart_item->get_recurring_period( true );
474
+    $length       = $cart_item->get_recurring_limit() * $interval;
475
+    $trial_period = $cart_item->get_trial_period( true );
476
+    $trial_length = $cart_item->get_trial_interval();
477
+
478
+    // First start with the billing interval and period
479
+    switch ( $interval ) {
480
+        case 1:
481
+            if ( 'day' == $period ) {
482
+                $cart_key .= 'daily';
483
+            } else {
484
+                $cart_key .= sprintf( '%sly', $period );
485
+            }
486
+            break;
487
+        case 2:
488
+            $cart_key .= sprintf( 'every_2nd_%s', $period );
489
+            break;
490
+        case 3:
491
+            $cart_key .= sprintf( 'every_3rd_%s', $period );
492
+            break;
493
+        default:
494
+            $cart_key .= sprintf( 'every_%dth_%s', $interval, $period );
495
+            break;
496
+    }
497
+
498
+    // Maybe add the optional maximum billing periods...
499
+    if ( $length > 0 ) {
500
+        $cart_key .= '_for_';
501
+        $cart_key .= sprintf( '%d_%s', $length, $period );
502
+        if ( $length > 1 ) {
503
+            $cart_key .= 's';
504
+        }
505
+    }
506
+
507
+    // And an optional free trial.
508
+    if ( $cart_item->has_free_trial() ) {
509
+        $cart_key .= sprintf( '_after_a_%d_%s_trial', $trial_length, $trial_period );
510
+    }
511
+
512
+    return apply_filters( 'getpaid_get_recurring_item_key', $cart_key, $cart_item );
513 513
 }
514 514
 
515 515
 /**
@@ -520,16 +520,16 @@  discard block
 block discarded – undo
520 520
  */
521 521
 function getpaid_get_subscription_groups( $invoice ) {
522 522
 
523
-	// Generate subscription groups.
524
-	$subscription_groups = array();
525
-	foreach ( $invoice->get_items() as $item ) {
523
+    // Generate subscription groups.
524
+    $subscription_groups = array();
525
+    foreach ( $invoice->get_items() as $item ) {
526 526
 
527
-		if ( $item->is_recurring() ) {
528
-			$subscription_groups[ getpaid_get_recurring_item_key( $item ) ][] = $item;
529
-		}
527
+        if ( $item->is_recurring() ) {
528
+            $subscription_groups[ getpaid_get_recurring_item_key( $item ) ][] = $item;
529
+        }
530 530
 }
531 531
 
532
-	return $subscription_groups;
532
+    return $subscription_groups;
533 533
 }
534 534
 
535 535
 /**
@@ -543,56 +543,56 @@  discard block
 block discarded – undo
543 543
  */
544 544
 function getpaid_calculate_subscription_totals( $invoice ) {
545 545
 
546
-	// Generate subscription groups.
547
-	$subscription_groups = getpaid_get_subscription_groups( $invoice );
546
+    // Generate subscription groups.
547
+    $subscription_groups = getpaid_get_subscription_groups( $invoice );
548 548
 
549
-	// Now let's calculate the totals for each group of subscriptions
550
-	$subscription_totals = array();
549
+    // Now let's calculate the totals for each group of subscriptions
550
+    $subscription_totals = array();
551 551
 
552
-	foreach ( $subscription_groups as $subscription_key => $items ) {
552
+    foreach ( $subscription_groups as $subscription_key => $items ) {
553 553
 
554
-		if ( empty( $subscription_totals[ $subscription_key ] ) ) {
554
+        if ( empty( $subscription_totals[ $subscription_key ] ) ) {
555 555
 
556
-			$subscription_totals[ $subscription_key ] = array(
557
-				'initial_total'   => 0,
558
-				'recurring_total' => 0,
559
-				'items'           => array(),
560
-				'trialling'       => false,
561
-			);
556
+            $subscription_totals[ $subscription_key ] = array(
557
+                'initial_total'   => 0,
558
+                'recurring_total' => 0,
559
+                'items'           => array(),
560
+                'trialling'       => false,
561
+            );
562 562
 
563
-		}
563
+        }
564 564
 
565
-		/**
566
-		 * Get the totals of the group.
567
-		 * @var GetPaid_Form_Item $item
568
-		 */
569
-		foreach ( $items as $item ) {
565
+        /**
566
+         * Get the totals of the group.
567
+         * @var GetPaid_Form_Item $item
568
+         */
569
+        foreach ( $items as $item ) {
570 570
 
571
-			$subscription_totals[ $subscription_key ]['items'][ $item->get_id() ]  = $item->prepare_data_for_saving();
572
-			$subscription_totals[ $subscription_key ]['item_id']                 = $item->get_id();
573
-			$subscription_totals[ $subscription_key ]['period']                  = $item->get_recurring_period( true );
574
-			$subscription_totals[ $subscription_key ]['interval']                = $item->get_recurring_interval();
575
-			$subscription_totals[ $subscription_key ]['initial_total']          += $item->get_sub_total() + $item->item_tax - $item->item_discount;
576
-			$subscription_totals[ $subscription_key ]['recurring_total']        += $item->get_recurring_sub_total() + $item->item_tax - $item->recurring_item_discount;
577
-			$subscription_totals[ $subscription_key ]['recurring_limit']         = $item->get_recurring_limit();
571
+            $subscription_totals[ $subscription_key ]['items'][ $item->get_id() ]  = $item->prepare_data_for_saving();
572
+            $subscription_totals[ $subscription_key ]['item_id']                 = $item->get_id();
573
+            $subscription_totals[ $subscription_key ]['period']                  = $item->get_recurring_period( true );
574
+            $subscription_totals[ $subscription_key ]['interval']                = $item->get_recurring_interval();
575
+            $subscription_totals[ $subscription_key ]['initial_total']          += $item->get_sub_total() + $item->item_tax - $item->item_discount;
576
+            $subscription_totals[ $subscription_key ]['recurring_total']        += $item->get_recurring_sub_total() + $item->item_tax - $item->recurring_item_discount;
577
+            $subscription_totals[ $subscription_key ]['recurring_limit']         = $item->get_recurring_limit();
578 578
 
579
-			// Calculate the next renewal date.
580
-			$period       = $item->get_recurring_period( true );
581
-			$interval     = $item->get_recurring_interval();
579
+            // Calculate the next renewal date.
580
+            $period       = $item->get_recurring_period( true );
581
+            $interval     = $item->get_recurring_interval();
582 582
 
583
-			// If the subscription item has a trial period...
584
-			if ( $item->has_free_trial() ) {
585
-				$period   = $item->get_trial_period( true );
586
-				$interval = $item->get_trial_interval();
587
-				$subscription_totals[ $subscription_key ]['trialling'] = $interval . ' ' . $period;
588
-			}
583
+            // If the subscription item has a trial period...
584
+            if ( $item->has_free_trial() ) {
585
+                $period   = $item->get_trial_period( true );
586
+                $interval = $item->get_trial_interval();
587
+                $subscription_totals[ $subscription_key ]['trialling'] = $interval . ' ' . $period;
588
+            }
589 589
 
590
-			$subscription_totals[ $subscription_key ]['renews_on'] = date( 'Y-m-d H:i:s', strtotime( "+$interval $period", current_time( 'timestamp' ) ) );
590
+            $subscription_totals[ $subscription_key ]['renews_on'] = date( 'Y-m-d H:i:s', strtotime( "+$interval $period", current_time( 'timestamp' ) ) );
591 591
 
592
-		}
592
+        }
593 593
 }
594 594
 
595
-	return apply_filters( 'getpaid_calculate_subscription_totals', $subscription_totals, $invoice );
595
+    return apply_filters( 'getpaid_calculate_subscription_totals', $subscription_totals, $invoice );
596 596
 }
597 597
 
598 598
 /**
@@ -603,16 +603,16 @@  discard block
 block discarded – undo
603 603
  */
604 604
 function getpaid_should_group_subscriptions( $invoice ) {
605 605
 
606
-	$recurring_items = 0;
606
+    $recurring_items = 0;
607 607
 
608
-	foreach ( $invoice->get_items() as $item ) {
608
+    foreach ( $invoice->get_items() as $item ) {
609 609
 
610
-		if ( $item->is_recurring() ) {
611
-			$recurring_items ++;
612
-		}
610
+        if ( $item->is_recurring() ) {
611
+            $recurring_items ++;
612
+        }
613 613
 }
614 614
 
615
-	return apply_filters( 'getpaid_should_group_subscriptions', $recurring_items > 1, $invoice );
615
+    return apply_filters( 'getpaid_should_group_subscriptions', $recurring_items > 1, $invoice );
616 616
 }
617 617
 
618 618
 /**
@@ -623,39 +623,39 @@  discard block
 block discarded – undo
623 623
  * @return int
624 624
  */
625 625
 function getpaid_count_subscription_invoices( $parent_invoice_id, $subscription_id = false ) {
626
-	global $wpdb;
626
+    global $wpdb;
627 627
 
628
-	$parent_invoice_id = (int) $parent_invoice_id;
628
+    $parent_invoice_id = (int) $parent_invoice_id;
629 629
 
630
-	if ( false === $subscription_id || ! (bool) get_post_meta( $parent_invoice_id, '_wpinv_subscription_id', true ) ) {
630
+    if ( false === $subscription_id || ! (bool) get_post_meta( $parent_invoice_id, '_wpinv_subscription_id', true ) ) {
631 631
 
632
-		return (int) $wpdb->get_var(
633
-			$wpdb->prepare(
634
-				"SELECT COUNT(ID) FROM $wpdb->posts WHERE ( post_parent=%d OR ID=%d ) AND post_status IN ( 'publish', 'wpi-processing', 'wpi-renewal' )",
635
-				$parent_invoice_id,
636
-				$parent_invoice_id
637
-			)
638
-		);
632
+        return (int) $wpdb->get_var(
633
+            $wpdb->prepare(
634
+                "SELECT COUNT(ID) FROM $wpdb->posts WHERE ( post_parent=%d OR ID=%d ) AND post_status IN ( 'publish', 'wpi-processing', 'wpi-renewal' )",
635
+                $parent_invoice_id,
636
+                $parent_invoice_id
637
+            )
638
+        );
639 639
 
640
-	}
640
+    }
641 641
 
642
-	$invoice_ids = $wpdb->get_col(
643
-		$wpdb->prepare(
644
-			"SELECT ID FROM $wpdb->posts WHERE ( post_parent=%d OR ID=%d ) AND post_status IN ( 'publish', 'wpi-processing', 'wpi-renewal' )",
645
-			$parent_invoice_id,
646
-			$parent_invoice_id
647
-		)
648
-	);
642
+    $invoice_ids = $wpdb->get_col(
643
+        $wpdb->prepare(
644
+            "SELECT ID FROM $wpdb->posts WHERE ( post_parent=%d OR ID=%d ) AND post_status IN ( 'publish', 'wpi-processing', 'wpi-renewal' )",
645
+            $parent_invoice_id,
646
+            $parent_invoice_id
647
+        )
648
+    );
649 649
 
650
-	$count = 0;
650
+    $count = 0;
651 651
 
652
-	foreach ( wp_parse_id_list( $invoice_ids ) as $invoice_id ) {
652
+    foreach ( wp_parse_id_list( $invoice_ids ) as $invoice_id ) {
653 653
 
654
-		if ( $invoice_id == $parent_invoice_id || $subscription_id == (int) get_post_meta( $invoice_id, '_wpinv_subscription_id', true ) ) {
655
-			$count ++;
656
-			continue;
657
-		}
654
+        if ( $invoice_id == $parent_invoice_id || $subscription_id == (int) get_post_meta( $invoice_id, '_wpinv_subscription_id', true ) ) {
655
+            $count ++;
656
+            continue;
657
+        }
658 658
 }
659 659
 
660
-	return $count;
660
+    return $count;
661 661
 }
Please login to merge, or discard this patch.
Spacing   +144 added lines, -144 removed lines patch added patch discarded remove patch
@@ -13,18 +13,18 @@  discard block
 block discarded – undo
13 13
  * @return      WPInv_Subscription[]|WPInv_Subscription|false
14 14
  * @since       2.3.0
15 15
  */
16
-function getpaid_get_invoice_subscriptions( $invoice ) {
16
+function getpaid_get_invoice_subscriptions($invoice) {
17 17
 
18 18
     // Retrieve subscription groups.
19
-    $subscription_ids = wp_list_pluck( getpaid_get_invoice_subscription_groups( $invoice->get_id() ), 'subscription_id' );
19
+    $subscription_ids = wp_list_pluck(getpaid_get_invoice_subscription_groups($invoice->get_id()), 'subscription_id');
20 20
 
21 21
     // No subscription groups, normal subscription.
22
-    if ( empty( $subscription_ids ) ) {
23
-        return getpaid_subscriptions()->get_invoice_subscription( $invoice );
22
+    if (empty($subscription_ids)) {
23
+        return getpaid_subscriptions()->get_invoice_subscription($invoice);
24 24
     }
25 25
 
26 26
     // Subscription groups.
27
-    return array_filter( array_map( 'getpaid_get_subscription', $subscription_ids ) );
27
+    return array_filter(array_map('getpaid_get_subscription', $subscription_ids));
28 28
 
29 29
 }
30 30
 
@@ -35,9 +35,9 @@  discard block
 block discarded – undo
35 35
  * @return      array
36 36
  * @since       2.3.0
37 37
  */
38
-function getpaid_get_invoice_subscription_groups( $invoice_id ) {
39
-    $subscription_groups = get_post_meta( $invoice_id, 'getpaid_subscription_groups', true );
40
-    return empty( $subscription_groups ) ? array() : $subscription_groups;
38
+function getpaid_get_invoice_subscription_groups($invoice_id) {
39
+    $subscription_groups = get_post_meta($invoice_id, 'getpaid_subscription_groups', true);
40
+    return empty($subscription_groups) ? array() : $subscription_groups;
41 41
 }
42 42
 
43 43
 /**
@@ -48,10 +48,10 @@  discard block
 block discarded – undo
48 48
  * @return      array|false
49 49
  * @since       2.3.0
50 50
  */
51
-function getpaid_get_invoice_subscription_group( $invoice_id, $subscription_id ) {
52
-    $subscription_groups = getpaid_get_invoice_subscription_groups( $invoice_id );
53
-	$matching_group      = wp_list_filter( $subscription_groups, compact( 'subscription_id' ) );
54
-    return reset( $matching_group );
51
+function getpaid_get_invoice_subscription_group($invoice_id, $subscription_id) {
52
+    $subscription_groups = getpaid_get_invoice_subscription_groups($invoice_id);
53
+	$matching_group = wp_list_filter($subscription_groups, compact('subscription_id'));
54
+    return reset($matching_group);
55 55
 }
56 56
 
57 57
 /**
@@ -61,10 +61,10 @@  discard block
 block discarded – undo
61 61
  * @since       2.3.0
62 62
  * @return WPInv_Subscription|false
63 63
  */
64
-function getpaid_get_subscription( $subscription ) {
64
+function getpaid_get_subscription($subscription) {
65 65
 
66
-	if ( ! is_a( $subscription, 'WPInv_Subscription' ) ) {
67
-		$subscription = new WPInv_Subscription( $subscription );
66
+	if (!is_a($subscription, 'WPInv_Subscription')) {
67
+		$subscription = new WPInv_Subscription($subscription);
68 68
 	}
69 69
 
70 70
 	return $subscription->exists() ? $subscription : false;
@@ -79,26 +79,26 @@  discard block
 block discarded – undo
79 79
  *
80 80
  * @return int|array|WPInv_Subscription[]|GetPaid_Subscriptions_Query
81 81
  */
82
-function getpaid_get_subscriptions( $args = array(), $return = 'results' ) {
82
+function getpaid_get_subscriptions($args = array(), $return = 'results') {
83 83
 
84 84
 	// Do not retrieve all fields if we just want the count.
85
-	if ( 'count' == $return ) {
85
+	if ('count' == $return) {
86 86
 		$args['fields'] = 'id';
87 87
 		$args['number'] = 1;
88 88
 	}
89 89
 
90 90
 	// Do not count all matches if we just want the results.
91
-	if ( 'results' == $return ) {
91
+	if ('results' == $return) {
92 92
 		$args['count_total'] = false;
93 93
 	}
94 94
 
95
-	$query = new GetPaid_Subscriptions_Query( $args );
95
+	$query = new GetPaid_Subscriptions_Query($args);
96 96
 
97
-	if ( 'results' == $return ) {
97
+	if ('results' == $return) {
98 98
 		return $query->get_results();
99 99
 	}
100 100
 
101
-	if ( 'count' == $return ) {
101
+	if ('count' == $return) {
102 102
 		return $query->get_total();
103 103
 	}
104 104
 
@@ -115,13 +115,13 @@  discard block
 block discarded – undo
115 115
 	return apply_filters(
116 116
 		'getpaid_get_subscription_statuses',
117 117
 		array(
118
-			'pending'   => __( 'Pending', 'invoicing' ),
119
-			'trialling' => __( 'Trialing', 'invoicing' ),
120
-			'active'    => __( 'Active', 'invoicing' ),
121
-			'failing'   => __( 'Failing', 'invoicing' ),
122
-			'expired'   => __( 'Expired', 'invoicing' ),
123
-			'completed' => __( 'Complete', 'invoicing' ),
124
-			'cancelled' => __( 'Cancelled', 'invoicing' ),
118
+			'pending'   => __('Pending', 'invoicing'),
119
+			'trialling' => __('Trialing', 'invoicing'),
120
+			'active'    => __('Active', 'invoicing'),
121
+			'failing'   => __('Failing', 'invoicing'),
122
+			'expired'   => __('Expired', 'invoicing'),
123
+			'completed' => __('Complete', 'invoicing'),
124
+			'cancelled' => __('Cancelled', 'invoicing'),
125 125
 		)
126 126
 	);
127 127
 
@@ -132,9 +132,9 @@  discard block
 block discarded – undo
132 132
  *
133 133
  * @return string
134 134
  */
135
-function getpaid_get_subscription_status_label( $status ) {
135
+function getpaid_get_subscription_status_label($status) {
136 136
 	$statuses = getpaid_get_subscription_statuses();
137
-	return isset( $statuses[ $status ] ) ? $statuses[ $status ] : ucfirst( sanitize_text_field( $status ) );
137
+	return isset($statuses[$status]) ? $statuses[$status] : ucfirst(sanitize_text_field($status));
138 138
 }
139 139
 
140 140
 /**
@@ -164,14 +164,14 @@  discard block
 block discarded – undo
164 164
  *
165 165
  * @return array
166 166
  */
167
-function getpaid_get_subscription_status_counts( $args = array() ) {
167
+function getpaid_get_subscription_status_counts($args = array()) {
168 168
 
169
-	$statuses = array_keys( getpaid_get_subscription_statuses() );
169
+	$statuses = array_keys(getpaid_get_subscription_statuses());
170 170
 	$counts   = array();
171 171
 
172
-	foreach ( $statuses as $status ) {
173
-		$_args             = wp_parse_args( "status=$status", $args );
174
-		$counts[ $status ] = getpaid_get_subscriptions( $_args, 'count' );
172
+	foreach ($statuses as $status) {
173
+		$_args             = wp_parse_args("status=$status", $args);
174
+		$counts[$status] = getpaid_get_subscriptions($_args, 'count');
175 175
 	}
176 176
 
177 177
 	return $counts;
@@ -190,23 +190,23 @@  discard block
 block discarded – undo
190 190
 		array(
191 191
 
192 192
 			'day'   => array(
193
-				'singular' => __( '%s day', 'invoicing' ),
194
-				'plural'   => __( '%d days', 'invoicing' ),
193
+				'singular' => __('%s day', 'invoicing'),
194
+				'plural'   => __('%d days', 'invoicing'),
195 195
 			),
196 196
 
197 197
 			'week'  => array(
198
-				'singular' => __( '%s week', 'invoicing' ),
199
-				'plural'   => __( '%d weeks', 'invoicing' ),
198
+				'singular' => __('%s week', 'invoicing'),
199
+				'plural'   => __('%d weeks', 'invoicing'),
200 200
 			),
201 201
 
202 202
 			'month' => array(
203
-				'singular' => __( '%s month', 'invoicing' ),
204
-				'plural'   => __( '%d months', 'invoicing' ),
203
+				'singular' => __('%s month', 'invoicing'),
204
+				'plural'   => __('%d months', 'invoicing'),
205 205
 			),
206 206
 
207 207
 			'year'  => array(
208
-				'singular' => __( '%s year', 'invoicing' ),
209
-				'plural'   => __( '%d years', 'invoicing' ),
208
+				'singular' => __('%s year', 'invoicing'),
209
+				'plural'   => __('%d years', 'invoicing'),
210 210
 			),
211 211
 
212 212
 		)
@@ -220,8 +220,8 @@  discard block
 block discarded – undo
220 220
  * @param string $trial_period
221 221
  * @return int
222 222
  */
223
-function getpaid_get_subscription_trial_period_interval( $trial_period ) {
224
-	return (int) preg_replace( '/[^0-9]/', '', $trial_period );
223
+function getpaid_get_subscription_trial_period_interval($trial_period) {
224
+	return (int) preg_replace('/[^0-9]/', '', $trial_period);
225 225
 }
226 226
 
227 227
 /**
@@ -230,8 +230,8 @@  discard block
 block discarded – undo
230 230
  * @param string $trial_period
231 231
  * @return string
232 232
  */
233
-function getpaid_get_subscription_trial_period_period( $trial_period ) {
234
-	return preg_replace( '/[^a-z]/', '', strtolower( $trial_period ) );
233
+function getpaid_get_subscription_trial_period_period($trial_period) {
234
+	return preg_replace('/[^a-z]/', '', strtolower($trial_period));
235 235
 }
236 236
 
237 237
 /**
@@ -241,9 +241,9 @@  discard block
 block discarded – undo
241 241
  * @param int $interval
242 242
  * @return string
243 243
  */
244
-function getpaid_get_subscription_period_label( $period, $interval = 1, $singular_prefix = '1' ) {
245
-	$label = (int) $interval > 1 ? getpaid_get_plural_subscription_period_label( $period, $interval ) : getpaid_get_singular_subscription_period_label( $period, $singular_prefix );
246
-	return strtolower( sanitize_text_field( $label ) );
244
+function getpaid_get_subscription_period_label($period, $interval = 1, $singular_prefix = '1') {
245
+	$label = (int) $interval > 1 ? getpaid_get_plural_subscription_period_label($period, $interval) : getpaid_get_singular_subscription_period_label($period, $singular_prefix);
246
+	return strtolower(sanitize_text_field($label));
247 247
 }
248 248
 
249 249
 /**
@@ -252,19 +252,19 @@  discard block
 block discarded – undo
252 252
  * @param string $period
253 253
  * @return string
254 254
  */
255
-function getpaid_get_singular_subscription_period_label( $period, $singular_prefix = '1' ) {
255
+function getpaid_get_singular_subscription_period_label($period, $singular_prefix = '1') {
256 256
 
257 257
 	$periods = getpaid_get_subscription_periods();
258
-	$period  = strtolower( $period );
258
+	$period  = strtolower($period);
259 259
 
260
-	if ( isset( $periods[ $period ] ) ) {
261
-		return sprintf( $periods[ $period ]['singular'], $singular_prefix );
260
+	if (isset($periods[$period])) {
261
+		return sprintf($periods[$period]['singular'], $singular_prefix);
262 262
 	}
263 263
 
264 264
 	// Backwards compatibility.
265
-	foreach ( $periods as $key => $data ) {
266
-		if ( strpos( $key, $period ) === 0 ) {
267
-			return sprintf( $data['singular'], $singular_prefix );
265
+	foreach ($periods as $key => $data) {
266
+		if (strpos($key, $period) === 0) {
267
+			return sprintf($data['singular'], $singular_prefix);
268 268
 		}
269 269
 	}
270 270
 
@@ -279,19 +279,19 @@  discard block
 block discarded – undo
279 279
  * @param int $interval
280 280
  * @return string
281 281
  */
282
-function getpaid_get_plural_subscription_period_label( $period, $interval ) {
282
+function getpaid_get_plural_subscription_period_label($period, $interval) {
283 283
 
284 284
 	$periods = getpaid_get_subscription_periods();
285
-	$period  = strtolower( $period );
285
+	$period  = strtolower($period);
286 286
 
287
-	if ( isset( $periods[ $period ] ) ) {
288
-		return sprintf( $periods[ $period ]['plural'], $interval );
287
+	if (isset($periods[$period])) {
288
+		return sprintf($periods[$period]['plural'], $interval);
289 289
 	}
290 290
 
291 291
 	// Backwards compatibility.
292
-	foreach ( $periods as $key => $data ) {
293
-		if ( strpos( $key, $period ) === 0 ) {
294
-			return sprintf( $data['plural'], $interval );
292
+	foreach ($periods as $key => $data) {
293
+		if (strpos($key, $period) === 0) {
294
+			return sprintf($data['plural'], $interval);
295 295
 		}
296 296
 	}
297 297
 
@@ -305,33 +305,33 @@  discard block
 block discarded – undo
305 305
  * @param WPInv_Subscription $subscription
306 306
  * @return string
307 307
  */
308
-function getpaid_get_formatted_subscription_amount( $subscription ) {
308
+function getpaid_get_formatted_subscription_amount($subscription) {
309 309
 
310
-	$initial    = wpinv_price( $subscription->get_initial_amount(), $subscription->get_parent_payment()->get_currency() );
311
-	$recurring  = wpinv_price( $subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency() );
312
-	$period     = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' );
310
+	$initial    = wpinv_price($subscription->get_initial_amount(), $subscription->get_parent_payment()->get_currency());
311
+	$recurring  = wpinv_price($subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency());
312
+	$period     = getpaid_get_subscription_period_label($subscription->get_period(), $subscription->get_frequency(), '');
313 313
 	$bill_times = $subscription->get_bill_times();
314 314
 	$bill_times_less = $bill_times - 1;
315 315
 
316
-	if ( ! empty( $bill_times ) ) {
316
+	if (!empty($bill_times)) {
317 317
 		$bill_times = $subscription->get_frequency() * $bill_times;
318
-		$bill_times_less = getpaid_get_subscription_period_label( $subscription->get_period(), $bill_times - $subscription->get_frequency() );
319
-		$bill_times = getpaid_get_subscription_period_label( $subscription->get_period(), $bill_times );
318
+		$bill_times_less = getpaid_get_subscription_period_label($subscription->get_period(), $bill_times - $subscription->get_frequency());
319
+		$bill_times = getpaid_get_subscription_period_label($subscription->get_period(), $bill_times);
320 320
 	}
321 321
 
322 322
 	// Trial periods.
323
-	if ( $subscription->has_trial_period() ) {
323
+	if ($subscription->has_trial_period()) {
324 324
 
325
-		$trial_period   = getpaid_get_subscription_trial_period_period( $subscription->get_trial_period() );
326
-		$trial_interval = getpaid_get_subscription_trial_period_interval( $subscription->get_trial_period() );
325
+		$trial_period   = getpaid_get_subscription_trial_period_period($subscription->get_trial_period());
326
+		$trial_interval = getpaid_get_subscription_trial_period_interval($subscription->get_trial_period());
327 327
 
328
-		if ( empty( $bill_times ) ) {
328
+		if (empty($bill_times)) {
329 329
 
330 330
 			return sprintf(
331 331
 				// translators: $1: is the initial amount, $2: is the trial period, $3: is the recurring amount, $4: is the recurring period
332
-				_x( '%1$s trial for %2$s then %3$s / %4$s', 'Subscription amount. (e.g.: $10 trial for 1 month then $120 / year)', 'invoicing' ),
332
+				_x('%1$s trial for %2$s then %3$s / %4$s', 'Subscription amount. (e.g.: $10 trial for 1 month then $120 / year)', 'invoicing'),
333 333
 				$initial,
334
-				getpaid_get_subscription_period_label( $trial_period, $trial_interval ),
334
+				getpaid_get_subscription_period_label($trial_period, $trial_interval),
335 335
 				$recurring,
336 336
 				$period
337 337
 			);
@@ -340,9 +340,9 @@  discard block
 block discarded – undo
340 340
 
341 341
 		return sprintf(
342 342
 			// translators: $1: is the initial amount, $2: is the trial period, $3: is the recurring amount, $4: is the recurring period, $5: is the bill times
343
-			_x( '%1$s trial for %2$s then %3$s / %4$s for %5$s', 'Subscription amount. (e.g.: $10 trial for 1 month then $120 / year for 4 years)', 'invoicing' ),
343
+			_x('%1$s trial for %2$s then %3$s / %4$s for %5$s', 'Subscription amount. (e.g.: $10 trial for 1 month then $120 / year for 4 years)', 'invoicing'),
344 344
 			$initial,
345
-			getpaid_get_subscription_period_label( $trial_period, $trial_interval ),
345
+			getpaid_get_subscription_period_label($trial_period, $trial_interval),
346 346
 			$recurring,
347 347
 			$period,
348 348
 			$bill_times
@@ -350,13 +350,13 @@  discard block
 block discarded – undo
350 350
 
351 351
 	}
352 352
 
353
-	if ( $initial != $recurring ) {
353
+	if ($initial != $recurring) {
354 354
 
355
-		if ( empty( $bill_times ) ) {
355
+		if (empty($bill_times)) {
356 356
 
357 357
 			return sprintf(
358 358
 				// translators: $1: is the initial amount, $2: is the recurring amount, $3: is the recurring period
359
-				_x( 'Initial payment of %1$s which renews at %2$s / %3$s', 'Subscription amount. (e.g.:Initial payment of $100 which renews at $120 / year)', 'invoicing' ),
359
+				_x('Initial payment of %1$s which renews at %2$s / %3$s', 'Subscription amount. (e.g.:Initial payment of $100 which renews at $120 / year)', 'invoicing'),
360 360
 				$initial,
361 361
 				$recurring,
362 362
 				$period
@@ -366,7 +366,7 @@  discard block
 block discarded – undo
366 366
 
367 367
 		return sprintf(
368 368
 			// translators: $1: is the initial amount, $2: is the recurring amount, $3: is the recurring period, $4: is the bill times
369
-			_x( 'Initial payment of %1$s which renews at %2$s / %3$s for %4$s', 'Subscription amount. (e.g.:Initial payment of $100 which renews at $120 / year for 5 years)', 'invoicing' ),
369
+			_x('Initial payment of %1$s which renews at %2$s / %3$s for %4$s', 'Subscription amount. (e.g.:Initial payment of $100 which renews at $120 / year for 5 years)', 'invoicing'),
370 370
 			$initial,
371 371
 			$recurring,
372 372
 			$period,
@@ -375,11 +375,11 @@  discard block
 block discarded – undo
375 375
 
376 376
 	}
377 377
 
378
-	if ( empty( $bill_times ) ) {
378
+	if (empty($bill_times)) {
379 379
 
380 380
 		return sprintf(
381 381
 			// translators: $1: is the recurring amount, $2: is the recurring period
382
-			_x( '%1$s / %2$s', 'Subscription amount. (e.g.: $120 / year)', 'invoicing' ),
382
+			_x('%1$s / %2$s', 'Subscription amount. (e.g.: $120 / year)', 'invoicing'),
383 383
 			$initial,
384 384
 			$period
385 385
 		);
@@ -388,7 +388,7 @@  discard block
 block discarded – undo
388 388
 
389 389
 	return sprintf(
390 390
 		// translators: $1: is the bill times, $2: is the recurring amount, $3: is the recurring period
391
-		_x( '%2$s / %3$s for %1$s', 'Subscription amount. (e.g.: $120 / year for 5 years)', 'invoicing' ),
391
+		_x('%2$s / %3$s for %1$s', 'Subscription amount. (e.g.: $120 / year for 5 years)', 'invoicing'),
392 392
 		$bill_times,
393 393
 		$initial,
394 394
 		$period
@@ -402,8 +402,8 @@  discard block
 block discarded – undo
402 402
  * @param WPInv_Invoice $invoice
403 403
  * @return WPInv_Subscription|false
404 404
  */
405
-function getpaid_get_invoice_subscription( $invoice ) {
406
-	return getpaid_subscriptions()->get_invoice_subscription( $invoice );
405
+function getpaid_get_invoice_subscription($invoice) {
406
+	return getpaid_subscriptions()->get_invoice_subscription($invoice);
407 407
 }
408 408
 
409 409
 /**
@@ -411,9 +411,9 @@  discard block
 block discarded – undo
411 411
  *
412 412
  * @param WPInv_Invoice $invoice
413 413
  */
414
-function getpaid_activate_invoice_subscription( $invoice ) {
415
-	$subscription = getpaid_get_invoice_subscription( $invoice );
416
-	if ( is_a( $subscription, 'WPInv_Subscription' ) ) {
414
+function getpaid_activate_invoice_subscription($invoice) {
415
+	$subscription = getpaid_get_invoice_subscription($invoice);
416
+	if (is_a($subscription, 'WPInv_Subscription')) {
417 417
 		$subscription->activate();
418 418
 	}
419 419
 }
@@ -424,7 +424,7 @@  discard block
 block discarded – undo
424 424
  * @return WPInv_Subscriptions
425 425
  */
426 426
 function getpaid_subscriptions() {
427
-	return getpaid()->get( 'subscriptions' );
427
+	return getpaid()->get('subscriptions');
428 428
 }
429 429
 
430 430
 /**
@@ -433,13 +433,13 @@  discard block
 block discarded – undo
433 433
  * @since 2.3.0
434 434
  * @return WPInv_Subscription|bool
435 435
  */
436
-function wpinv_get_invoice_subscription( $invoice ) {
436
+function wpinv_get_invoice_subscription($invoice) {
437 437
 
438 438
     // Retrieve the invoice.
439
-    $invoice = new WPInv_Invoice( $invoice );
439
+    $invoice = new WPInv_Invoice($invoice);
440 440
 
441 441
     // Ensure it is a recurring invoice.
442
-    if ( ! $invoice->is_recurring() ) {
442
+    if (!$invoice->is_recurring()) {
443 443
         return false;
444 444
     }
445 445
 
@@ -451,7 +451,7 @@  discard block
 block discarded – undo
451 451
 		)
452 452
 	);
453 453
 
454
-	return empty( $subscription ) ? false : $subscription[0];
454
+	return empty($subscription) ? false : $subscription[0];
455 455
 
456 456
 }
457 457
 
@@ -466,50 +466,50 @@  discard block
 block discarded – undo
466 466
  * @param GetPaid_Form_Item|WPInv_Item $cart_item
467 467
  * @return string
468 468
  */
469
-function getpaid_get_recurring_item_key( $cart_item ) {
469
+function getpaid_get_recurring_item_key($cart_item) {
470 470
 
471 471
 	$cart_key     = 'renews_';
472 472
 	$interval     = $cart_item->get_recurring_interval();
473
-	$period       = $cart_item->get_recurring_period( true );
473
+	$period       = $cart_item->get_recurring_period(true);
474 474
 	$length       = $cart_item->get_recurring_limit() * $interval;
475
-	$trial_period = $cart_item->get_trial_period( true );
475
+	$trial_period = $cart_item->get_trial_period(true);
476 476
 	$trial_length = $cart_item->get_trial_interval();
477 477
 
478 478
 	// First start with the billing interval and period
479
-	switch ( $interval ) {
479
+	switch ($interval) {
480 480
 		case 1:
481
-			if ( 'day' == $period ) {
481
+			if ('day' == $period) {
482 482
 				$cart_key .= 'daily';
483 483
 			} else {
484
-				$cart_key .= sprintf( '%sly', $period );
484
+				$cart_key .= sprintf('%sly', $period);
485 485
 			}
486 486
 			break;
487 487
 		case 2:
488
-			$cart_key .= sprintf( 'every_2nd_%s', $period );
488
+			$cart_key .= sprintf('every_2nd_%s', $period);
489 489
 			break;
490 490
 		case 3:
491
-			$cart_key .= sprintf( 'every_3rd_%s', $period );
491
+			$cart_key .= sprintf('every_3rd_%s', $period);
492 492
 		    break;
493 493
 		default:
494
-			$cart_key .= sprintf( 'every_%dth_%s', $interval, $period );
494
+			$cart_key .= sprintf('every_%dth_%s', $interval, $period);
495 495
 			break;
496 496
 	}
497 497
 
498 498
 	// Maybe add the optional maximum billing periods...
499
-	if ( $length > 0 ) {
499
+	if ($length > 0) {
500 500
 		$cart_key .= '_for_';
501
-		$cart_key .= sprintf( '%d_%s', $length, $period );
502
-		if ( $length > 1 ) {
501
+		$cart_key .= sprintf('%d_%s', $length, $period);
502
+		if ($length > 1) {
503 503
 			$cart_key .= 's';
504 504
 		}
505 505
 	}
506 506
 
507 507
 	// And an optional free trial.
508
-	if ( $cart_item->has_free_trial() ) {
509
-		$cart_key .= sprintf( '_after_a_%d_%s_trial', $trial_length, $trial_period );
508
+	if ($cart_item->has_free_trial()) {
509
+		$cart_key .= sprintf('_after_a_%d_%s_trial', $trial_length, $trial_period);
510 510
 	}
511 511
 
512
-	return apply_filters( 'getpaid_get_recurring_item_key', $cart_key, $cart_item );
512
+	return apply_filters('getpaid_get_recurring_item_key', $cart_key, $cart_item);
513 513
 }
514 514
 
515 515
 /**
@@ -518,14 +518,14 @@  discard block
 block discarded – undo
518 518
  * @param WPInv_Invoice|GetPaid_Payment_Form_Submission|GetPaid_Payment_Form $invoice
519 519
  * @return array
520 520
  */
521
-function getpaid_get_subscription_groups( $invoice ) {
521
+function getpaid_get_subscription_groups($invoice) {
522 522
 
523 523
 	// Generate subscription groups.
524 524
 	$subscription_groups = array();
525
-	foreach ( $invoice->get_items() as $item ) {
525
+	foreach ($invoice->get_items() as $item) {
526 526
 
527
-		if ( $item->is_recurring() ) {
528
-			$subscription_groups[ getpaid_get_recurring_item_key( $item ) ][] = $item;
527
+		if ($item->is_recurring()) {
528
+			$subscription_groups[getpaid_get_recurring_item_key($item)][] = $item;
529 529
 		}
530 530
 }
531 531
 
@@ -541,19 +541,19 @@  discard block
 block discarded – undo
541 541
  * @param WPInv_Invoice|GetPaid_Payment_Form_Submission|GetPaid_Payment_Form $invoice
542 542
  * @return array
543 543
  */
544
-function getpaid_calculate_subscription_totals( $invoice ) {
544
+function getpaid_calculate_subscription_totals($invoice) {
545 545
 
546 546
 	// Generate subscription groups.
547
-	$subscription_groups = getpaid_get_subscription_groups( $invoice );
547
+	$subscription_groups = getpaid_get_subscription_groups($invoice);
548 548
 
549 549
 	// Now let's calculate the totals for each group of subscriptions
550 550
 	$subscription_totals = array();
551 551
 
552
-	foreach ( $subscription_groups as $subscription_key => $items ) {
552
+	foreach ($subscription_groups as $subscription_key => $items) {
553 553
 
554
-		if ( empty( $subscription_totals[ $subscription_key ] ) ) {
554
+		if (empty($subscription_totals[$subscription_key])) {
555 555
 
556
-			$subscription_totals[ $subscription_key ] = array(
556
+			$subscription_totals[$subscription_key] = array(
557 557
 				'initial_total'   => 0,
558 558
 				'recurring_total' => 0,
559 559
 				'items'           => array(),
@@ -566,33 +566,33 @@  discard block
 block discarded – undo
566 566
 		 * Get the totals of the group.
567 567
 		 * @var GetPaid_Form_Item $item
568 568
 		 */
569
-		foreach ( $items as $item ) {
569
+		foreach ($items as $item) {
570 570
 
571
-			$subscription_totals[ $subscription_key ]['items'][ $item->get_id() ]  = $item->prepare_data_for_saving();
572
-			$subscription_totals[ $subscription_key ]['item_id']                 = $item->get_id();
573
-			$subscription_totals[ $subscription_key ]['period']                  = $item->get_recurring_period( true );
574
-			$subscription_totals[ $subscription_key ]['interval']                = $item->get_recurring_interval();
575
-			$subscription_totals[ $subscription_key ]['initial_total']          += $item->get_sub_total() + $item->item_tax - $item->item_discount;
576
-			$subscription_totals[ $subscription_key ]['recurring_total']        += $item->get_recurring_sub_total() + $item->item_tax - $item->recurring_item_discount;
577
-			$subscription_totals[ $subscription_key ]['recurring_limit']         = $item->get_recurring_limit();
571
+			$subscription_totals[$subscription_key]['items'][$item->get_id()] = $item->prepare_data_for_saving();
572
+			$subscription_totals[$subscription_key]['item_id']                 = $item->get_id();
573
+			$subscription_totals[$subscription_key]['period']                  = $item->get_recurring_period(true);
574
+			$subscription_totals[$subscription_key]['interval']                = $item->get_recurring_interval();
575
+			$subscription_totals[$subscription_key]['initial_total']          += $item->get_sub_total() + $item->item_tax - $item->item_discount;
576
+			$subscription_totals[$subscription_key]['recurring_total']        += $item->get_recurring_sub_total() + $item->item_tax - $item->recurring_item_discount;
577
+			$subscription_totals[$subscription_key]['recurring_limit']         = $item->get_recurring_limit();
578 578
 
579 579
 			// Calculate the next renewal date.
580
-			$period       = $item->get_recurring_period( true );
580
+			$period       = $item->get_recurring_period(true);
581 581
 			$interval     = $item->get_recurring_interval();
582 582
 
583 583
 			// If the subscription item has a trial period...
584
-			if ( $item->has_free_trial() ) {
585
-				$period   = $item->get_trial_period( true );
584
+			if ($item->has_free_trial()) {
585
+				$period   = $item->get_trial_period(true);
586 586
 				$interval = $item->get_trial_interval();
587
-				$subscription_totals[ $subscription_key ]['trialling'] = $interval . ' ' . $period;
587
+				$subscription_totals[$subscription_key]['trialling'] = $interval . ' ' . $period;
588 588
 			}
589 589
 
590
-			$subscription_totals[ $subscription_key ]['renews_on'] = date( 'Y-m-d H:i:s', strtotime( "+$interval $period", current_time( 'timestamp' ) ) );
590
+			$subscription_totals[$subscription_key]['renews_on'] = date('Y-m-d H:i:s', strtotime("+$interval $period", current_time('timestamp')));
591 591
 
592 592
 		}
593 593
 }
594 594
 
595
-	return apply_filters( 'getpaid_calculate_subscription_totals', $subscription_totals, $invoice );
595
+	return apply_filters('getpaid_calculate_subscription_totals', $subscription_totals, $invoice);
596 596
 }
597 597
 
598 598
 /**
@@ -601,18 +601,18 @@  discard block
 block discarded – undo
601 601
  * @param WPInv_Invoice|GetPaid_Payment_Form_Submission|GetPaid_Payment_Form $invoice
602 602
  * @return array
603 603
  */
604
-function getpaid_should_group_subscriptions( $invoice ) {
604
+function getpaid_should_group_subscriptions($invoice) {
605 605
 
606 606
 	$recurring_items = 0;
607 607
 
608
-	foreach ( $invoice->get_items() as $item ) {
608
+	foreach ($invoice->get_items() as $item) {
609 609
 
610
-		if ( $item->is_recurring() ) {
611
-			$recurring_items ++;
610
+		if ($item->is_recurring()) {
611
+			$recurring_items++;
612 612
 		}
613 613
 }
614 614
 
615
-	return apply_filters( 'getpaid_should_group_subscriptions', $recurring_items > 1, $invoice );
615
+	return apply_filters('getpaid_should_group_subscriptions', $recurring_items > 1, $invoice);
616 616
 }
617 617
 
618 618
 /**
@@ -622,12 +622,12 @@  discard block
 block discarded – undo
622 622
  * @param int|false $subscription_id
623 623
  * @return int
624 624
  */
625
-function getpaid_count_subscription_invoices( $parent_invoice_id, $subscription_id = false ) {
625
+function getpaid_count_subscription_invoices($parent_invoice_id, $subscription_id = false) {
626 626
 	global $wpdb;
627 627
 
628 628
 	$parent_invoice_id = (int) $parent_invoice_id;
629 629
 
630
-	if ( false === $subscription_id || ! (bool) get_post_meta( $parent_invoice_id, '_wpinv_subscription_id', true ) ) {
630
+	if (false === $subscription_id || !(bool) get_post_meta($parent_invoice_id, '_wpinv_subscription_id', true)) {
631 631
 
632 632
 		return (int) $wpdb->get_var(
633 633
 			$wpdb->prepare(
@@ -649,10 +649,10 @@  discard block
 block discarded – undo
649 649
 
650 650
 	$count = 0;
651 651
 
652
-	foreach ( wp_parse_id_list( $invoice_ids ) as $invoice_id ) {
652
+	foreach (wp_parse_id_list($invoice_ids) as $invoice_id) {
653 653
 
654
-		if ( $invoice_id == $parent_invoice_id || $subscription_id == (int) get_post_meta( $invoice_id, '_wpinv_subscription_id', true ) ) {
655
-			$count ++;
654
+		if ($invoice_id == $parent_invoice_id || $subscription_id == (int) get_post_meta($invoice_id, '_wpinv_subscription_id', true)) {
655
+			$count++;
656 656
 			continue;
657 657
 		}
658 658
 }
Please login to merge, or discard this patch.
includes/wpinv-subscription.php 3 patches
Braces   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -963,7 +963,7 @@
 block discarded – undo
963 963
 
964 964
 		if ( $discount->exists() && $discount->is_recurring() ) {
965 965
 			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
966
-		}  else {
966
+		} else {
967 967
 			// Unset discount code.
968 968
 			$invoice->set_discount_code( '' );
969 969
 
Please login to merge, or discard this patch.
Indentation   +1036 added lines, -1036 removed lines patch added patch discarded remove patch
@@ -15,125 +15,125 @@  discard block
 block discarded – undo
15 15
  */
16 16
 class WPInv_Subscription extends GetPaid_Data {
17 17
 
18
-	/**
19
-	 * Which data store to load.
20
-	 *
21
-	 * @var string
22
-	 */
23
-	protected $data_store_name = 'subscription';
24
-
25
-	/**
26
-	 * This is the name of this object type.
27
-	 *
28
-	 * @var string
29
-	 */
30
-	protected $object_type = 'subscription';
31
-
32
-	/**
33
-	 * Item Data array. This is the core item data exposed in APIs.
34
-	 *
35
-	 * @since 1.0.19
36
-	 * @var array
37
-	 */
38
-	protected $data = array(
39
-		'customer_id'       => 0,
40
-		'frequency'         => 1,
41
-		'period'            => 'D',
42
-		'initial_amount'    => null,
43
-		'recurring_amount'  => null,
44
-		'bill_times'        => 0,
45
-		'transaction_id'    => '',
46
-		'parent_payment_id' => null,
47
-		'product_id'        => 0,
48
-		'created'           => '0000-00-00 00:00:00',
49
-		'expiration'        => '0000-00-00 00:00:00',
50
-		'trial_period'      => '',
51
-		'status'            => 'pending',
52
-		'profile_id'        => '',
53
-		'gateway'           => '',
54
-		'customer'          => '',
55
-	);
56
-
57
-	/**
58
-	 * Stores the status transition information.
59
-	 *
60
-	 * @since 1.0.19
61
-	 * @var bool
62
-	 */
63
-	protected $status_transition = false;
64
-
65
-	/**
66
-	 * Get the subscription if ID is passed, otherwise the subscription is new and empty.
67
-	 *
68
-	 * @param  int|string|object|WPInv_Subscription $subscription Subscription id, profile_id, or object to read.
69
-	 * @param  bool $deprecated
70
-	 */
71
-	function __construct( $subscription = 0, $deprecated = false ) {
72
-
73
-		parent::__construct( $subscription );
74
-
75
-		if ( ! $deprecated && ! empty( $subscription ) && is_numeric( $subscription ) ) {
76
-			$this->set_id( $subscription );
77
-		} elseif ( $subscription instanceof self ) {
78
-			$this->set_id( $subscription->get_id() );
79
-		} elseif ( $deprecated && $subscription_id = self::get_subscription_id_by_field( $subscription, 'profile_id' ) ) {
80
-			$this->set_id( $subscription_id );
81
-		} elseif ( ! empty( $subscription->id ) ) {
82
-			$this->set_id( $subscription->id );
83
-		} else {
84
-			$this->set_object_read( true );
85
-		}
86
-
87
-		// Load the datastore.
88
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
89
-
90
-		if ( $this->get_id() > 0 ) {
91
-			$this->data_store->read( $this );
92
-		}
93
-
94
-	}
95
-
96
-	/**
97
-	 * Given an invoice id, profile id, transaction id, it returns the subscription's id.
98
-	 *
99
-	 *
100
-	 * @static
101
-	 * @param string $value
102
-	 * @param string $field Either invoice_id, transaction_id or profile_id.
103
-	 * @since 1.0.19
104
-	 * @return int
105
-	 */
106
-	public static function get_subscription_id_by_field( $value, $field = 'profile_id' ) {
18
+    /**
19
+     * Which data store to load.
20
+     *
21
+     * @var string
22
+     */
23
+    protected $data_store_name = 'subscription';
24
+
25
+    /**
26
+     * This is the name of this object type.
27
+     *
28
+     * @var string
29
+     */
30
+    protected $object_type = 'subscription';
31
+
32
+    /**
33
+     * Item Data array. This is the core item data exposed in APIs.
34
+     *
35
+     * @since 1.0.19
36
+     * @var array
37
+     */
38
+    protected $data = array(
39
+        'customer_id'       => 0,
40
+        'frequency'         => 1,
41
+        'period'            => 'D',
42
+        'initial_amount'    => null,
43
+        'recurring_amount'  => null,
44
+        'bill_times'        => 0,
45
+        'transaction_id'    => '',
46
+        'parent_payment_id' => null,
47
+        'product_id'        => 0,
48
+        'created'           => '0000-00-00 00:00:00',
49
+        'expiration'        => '0000-00-00 00:00:00',
50
+        'trial_period'      => '',
51
+        'status'            => 'pending',
52
+        'profile_id'        => '',
53
+        'gateway'           => '',
54
+        'customer'          => '',
55
+    );
56
+
57
+    /**
58
+     * Stores the status transition information.
59
+     *
60
+     * @since 1.0.19
61
+     * @var bool
62
+     */
63
+    protected $status_transition = false;
64
+
65
+    /**
66
+     * Get the subscription if ID is passed, otherwise the subscription is new and empty.
67
+     *
68
+     * @param  int|string|object|WPInv_Subscription $subscription Subscription id, profile_id, or object to read.
69
+     * @param  bool $deprecated
70
+     */
71
+    function __construct( $subscription = 0, $deprecated = false ) {
72
+
73
+        parent::__construct( $subscription );
74
+
75
+        if ( ! $deprecated && ! empty( $subscription ) && is_numeric( $subscription ) ) {
76
+            $this->set_id( $subscription );
77
+        } elseif ( $subscription instanceof self ) {
78
+            $this->set_id( $subscription->get_id() );
79
+        } elseif ( $deprecated && $subscription_id = self::get_subscription_id_by_field( $subscription, 'profile_id' ) ) {
80
+            $this->set_id( $subscription_id );
81
+        } elseif ( ! empty( $subscription->id ) ) {
82
+            $this->set_id( $subscription->id );
83
+        } else {
84
+            $this->set_object_read( true );
85
+        }
86
+
87
+        // Load the datastore.
88
+        $this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
89
+
90
+        if ( $this->get_id() > 0 ) {
91
+            $this->data_store->read( $this );
92
+        }
93
+
94
+    }
95
+
96
+    /**
97
+     * Given an invoice id, profile id, transaction id, it returns the subscription's id.
98
+     *
99
+     *
100
+     * @static
101
+     * @param string $value
102
+     * @param string $field Either invoice_id, transaction_id or profile_id.
103
+     * @since 1.0.19
104
+     * @return int
105
+     */
106
+    public static function get_subscription_id_by_field( $value, $field = 'profile_id' ) {
107 107
         global $wpdb;
108 108
 
109
-		// Trim the value.
110
-		$value = trim( $value );
109
+        // Trim the value.
110
+        $value = trim( $value );
111 111
 
112
-		if ( empty( $value ) ) {
113
-			return 0;
114
-		}
112
+        if ( empty( $value ) ) {
113
+            return 0;
114
+        }
115 115
 
116
-		if ( 'invoice_id' == $field ) {
117
-			$field = 'parent_payment_id';
118
-		}
116
+        if ( 'invoice_id' == $field ) {
117
+            $field = 'parent_payment_id';
118
+        }
119 119
 
120 120
         // Valid fields.
121 121
         $fields = array(
122
-			'parent_payment_id',
123
-			'transaction_id',
124
-			'profile_id',
125
-		);
126
-
127
-		// Ensure a field has been passed.
128
-		if ( empty( $field ) || ! in_array( $field, $fields ) ) {
129
-			return 0;
130
-		}
131
-
132
-		// Maybe retrieve from the cache.
133
-		$subscription_id   = wp_cache_get( $value, "getpaid_subscription_{$field}s_to_subscription_ids" );
134
-		if ( ! empty( $subscription_id ) ) {
135
-			return $subscription_id;
136
-		}
122
+            'parent_payment_id',
123
+            'transaction_id',
124
+            'profile_id',
125
+        );
126
+
127
+        // Ensure a field has been passed.
128
+        if ( empty( $field ) || ! in_array( $field, $fields ) ) {
129
+            return 0;
130
+        }
131
+
132
+        // Maybe retrieve from the cache.
133
+        $subscription_id   = wp_cache_get( $value, "getpaid_subscription_{$field}s_to_subscription_ids" );
134
+        if ( ! empty( $subscription_id ) ) {
135
+            return $subscription_id;
136
+        }
137 137
 
138 138
         // Fetch from the db.
139 139
         $table            = $wpdb->prefix . 'wpinv_subscriptions';
@@ -141,42 +141,42 @@  discard block
 block discarded – undo
141 141
             $wpdb->prepare( "SELECT `id` FROM $table WHERE `$field`=%s LIMIT 1", $value )
142 142
         );
143 143
 
144
-		if ( empty( $subscription_id ) ) {
145
-			return 0;
146
-		}
144
+        if ( empty( $subscription_id ) ) {
145
+            return 0;
146
+        }
147 147
 
148
-		// Update the cache with our data.
149
-		wp_cache_set( $value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids" );
148
+        // Update the cache with our data.
149
+        wp_cache_set( $value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids" );
150 150
 
151
-		return $subscription_id;
152
-	}
151
+        return $subscription_id;
152
+    }
153 153
 
154
-	/**
154
+    /**
155 155
      * Clears the subscription's cache.
156 156
      */
157 157
     public function clear_cache() {
158
-		$caches = array(
159
-			'getpaid_subscription_parent_payment_ids_to_subscription_ids' => $this->get_parent_payment_id(),
160
-			'getpaid_subscription_transaction_ids_to_subscription_ids'    => $this->get_transaction_id(),
161
-			'getpaid_subscription_profile_ids_to_subscription_ids'        => $this->get_profile_id(),
162
-			'getpaid_subscriptions'                                       => $this->get_id(),
163
-		);
164
-
165
-		foreach ( $caches as $cache => $value ) {
166
-			if ( '' !== $value && false !== $value ) {
167
-				wp_cache_delete( $value, $cache );
168
-			}
169
-		}
170
-	}
171
-
172
-	/**
158
+        $caches = array(
159
+            'getpaid_subscription_parent_payment_ids_to_subscription_ids' => $this->get_parent_payment_id(),
160
+            'getpaid_subscription_transaction_ids_to_subscription_ids'    => $this->get_transaction_id(),
161
+            'getpaid_subscription_profile_ids_to_subscription_ids'        => $this->get_profile_id(),
162
+            'getpaid_subscriptions'                                       => $this->get_id(),
163
+        );
164
+
165
+        foreach ( $caches as $cache => $value ) {
166
+            if ( '' !== $value && false !== $value ) {
167
+                wp_cache_delete( $value, $cache );
168
+            }
169
+        }
170
+    }
171
+
172
+    /**
173 173
      * Checks if a subscription key is set.
174 174
      */
175 175
     public function _isset( $key ) {
176 176
         return isset( $this->data[ $key ] ) || method_exists( $this, "get_$key" );
177
-	}
177
+    }
178 178
 
179
-	/*
179
+    /*
180 180
 	|--------------------------------------------------------------------------
181 181
 	| CRUD methods
182 182
 	|--------------------------------------------------------------------------
@@ -185,57 +185,57 @@  discard block
 block discarded – undo
185 185
 	|
186 186
     */
187 187
 
188
-	/*
188
+    /*
189 189
 	|--------------------------------------------------------------------------
190 190
 	| Getters
191 191
 	|--------------------------------------------------------------------------
192 192
 	*/
193 193
 
194
-	/**
195
-	 * Get customer id.
196
-	 *
197
-	 * @since 1.0.19
198
-	 * @param  string $context View or edit context.
199
-	 * @return int
200
-	 */
201
-	public function get_customer_id( $context = 'view' ) {
202
-		return (int) $this->get_prop( 'customer_id', $context );
203
-	}
204
-
205
-	/**
206
-	 * Get customer information.
207
-	 *
208
-	 * @since 1.0.19
209
-	 * @param  string $context View or edit context.
210
-	 * @return WP_User|false WP_User object on success, false on failure.
211
-	 */
212
-	public function get_customer( $context = 'view' ) {
213
-		return get_userdata( $this->get_customer_id( $context ) );
214
-	}
215
-
216
-	/**
217
-	 * Get parent invoice id.
218
-	 *
219
-	 * @since 1.0.19
220
-	 * @param  string $context View or edit context.
221
-	 * @return int
222
-	 */
223
-	public function get_parent_invoice_id( $context = 'view' ) {
224
-		return (int) $this->get_prop( 'parent_payment_id', $context );
225
-	}
226
-
227
-	/**
228
-	 * Alias for self::get_parent_invoice_id().
229
-	 *
230
-	 * @since 1.0.19
231
-	 * @param  string $context View or edit context.
232
-	 * @return int
233
-	 */
194
+    /**
195
+     * Get customer id.
196
+     *
197
+     * @since 1.0.19
198
+     * @param  string $context View or edit context.
199
+     * @return int
200
+     */
201
+    public function get_customer_id( $context = 'view' ) {
202
+        return (int) $this->get_prop( 'customer_id', $context );
203
+    }
204
+
205
+    /**
206
+     * Get customer information.
207
+     *
208
+     * @since 1.0.19
209
+     * @param  string $context View or edit context.
210
+     * @return WP_User|false WP_User object on success, false on failure.
211
+     */
212
+    public function get_customer( $context = 'view' ) {
213
+        return get_userdata( $this->get_customer_id( $context ) );
214
+    }
215
+
216
+    /**
217
+     * Get parent invoice id.
218
+     *
219
+     * @since 1.0.19
220
+     * @param  string $context View or edit context.
221
+     * @return int
222
+     */
223
+    public function get_parent_invoice_id( $context = 'view' ) {
224
+        return (int) $this->get_prop( 'parent_payment_id', $context );
225
+    }
226
+
227
+    /**
228
+     * Alias for self::get_parent_invoice_id().
229
+     *
230
+     * @since 1.0.19
231
+     * @param  string $context View or edit context.
232
+     * @return int
233
+     */
234 234
     public function get_parent_payment_id( $context = 'view' ) {
235 235
         return $this->get_parent_invoice_id( $context );
236
-	}
236
+    }
237 237
 
238
-	/**
238
+    /**
239 239
      * Alias for self::get_parent_invoice_id().
240 240
      *
241 241
      * @since  1.0.0
@@ -245,390 +245,390 @@  discard block
 block discarded – undo
245 245
         return $this->get_parent_invoice_id( $context );
246 246
     }
247 247
 
248
-	/**
249
-	 * Get parent invoice.
250
-	 *
251
-	 * @since 1.0.19
252
-	 * @param  string $context View or edit context.
253
-	 * @return WPInv_Invoice
254
-	 */
255
-	public function get_parent_invoice( $context = 'view' ) {
256
-		return new WPInv_Invoice( $this->get_parent_invoice_id( $context ) );
257
-	}
258
-
259
-	/**
260
-	 * Alias for self::get_parent_invoice().
261
-	 *
262
-	 * @since 1.0.19
263
-	 * @param  string $context View or edit context.
264
-	 * @return WPInv_Invoice
265
-	 */
248
+    /**
249
+     * Get parent invoice.
250
+     *
251
+     * @since 1.0.19
252
+     * @param  string $context View or edit context.
253
+     * @return WPInv_Invoice
254
+     */
255
+    public function get_parent_invoice( $context = 'view' ) {
256
+        return new WPInv_Invoice( $this->get_parent_invoice_id( $context ) );
257
+    }
258
+
259
+    /**
260
+     * Alias for self::get_parent_invoice().
261
+     *
262
+     * @since 1.0.19
263
+     * @param  string $context View or edit context.
264
+     * @return WPInv_Invoice
265
+     */
266 266
     public function get_parent_payment( $context = 'view' ) {
267 267
         return $this->get_parent_invoice( $context );
268
-	}
269
-
270
-	/**
271
-	 * Get subscription's product id.
272
-	 *
273
-	 * @since 1.0.19
274
-	 * @param  string $context View or edit context.
275
-	 * @return int
276
-	 */
277
-	public function get_product_id( $context = 'view' ) {
278
-		return (int) $this->get_prop( 'product_id', $context );
279
-	}
280
-
281
-	/**
282
-	 * Get the subscription product.
283
-	 *
284
-	 * @since 1.0.19
285
-	 * @param  string $context View or edit context.
286
-	 * @return WPInv_Item
287
-	 */
288
-	public function get_product( $context = 'view' ) {
289
-		return new WPInv_Item( $this->get_product_id( $context ) );
290
-	}
291
-
292
-	/**
293
-	 * Get parent invoice's gateway.
294
-	 *
295
-	 * Here for backwards compatibility.
296
-	 *
297
-	 * @since 1.0.19
298
-	 * @param  string $context View or edit context.
299
-	 * @return string
300
-	 */
301
-	public function get_gateway( $context = 'view' ) {
302
-		return $this->get_parent_invoice( $context )->get_gateway();
303
-	}
304
-
305
-	/**
306
-	 * Get the period of a renewal.
307
-	 *
308
-	 * @since 1.0.19
309
-	 * @param  string $context View or edit context.
310
-	 * @return string
311
-	 */
312
-	public function get_period( $context = 'view' ) {
313
-		return $this->get_prop( 'period', $context );
314
-	}
315
-
316
-	/**
317
-	 * Get number of periods each renewal is valid for.
318
-	 *
319
-	 * @since 1.0.19
320
-	 * @param  string $context View or edit context.
321
-	 * @return int
322
-	 */
323
-	public function get_frequency( $context = 'view' ) {
324
-		return (int) $this->get_prop( 'frequency', $context );
325
-	}
326
-
327
-	/**
328
-	 * Get the initial amount for the subscription.
329
-	 *
330
-	 * @since 1.0.19
331
-	 * @param  string $context View or edit context.
332
-	 * @return float
333
-	 */
334
-	public function get_initial_amount( $context = 'view' ) {
335
-		return (float) wpinv_sanitize_amount( $this->get_prop( 'initial_amount', $context ) );
336
-	}
337
-
338
-	/**
339
-	 * Get the recurring amount for the subscription.
340
-	 *
341
-	 * @since 1.0.19
342
-	 * @param  string $context View or edit context.
343
-	 * @return float
344
-	 */
345
-	public function get_recurring_amount( $context = 'view' ) {
346
-		return (float) wpinv_sanitize_amount( $this->get_prop( 'recurring_amount', $context ) );
347
-	}
348
-
349
-	/**
350
-	 * Get number of times that this subscription can be renewed.
351
-	 *
352
-	 * @since 1.0.19
353
-	 * @param  string $context View or edit context.
354
-	 * @return int
355
-	 */
356
-	public function get_bill_times( $context = 'view' ) {
357
-		return (int) $this->get_prop( 'bill_times', $context );
358
-	}
359
-
360
-	/**
361
-	 * Get transaction id of this subscription's parent invoice.
362
-	 *
363
-	 * @since 1.0.19
364
-	 * @param  string $context View or edit context.
365
-	 * @return string
366
-	 */
367
-	public function get_transaction_id( $context = 'view' ) {
368
-		return $this->get_prop( 'transaction_id', $context );
369
-	}
370
-
371
-	/**
372
-	 * Get the date that the subscription was created.
373
-	 *
374
-	 * @since 1.0.19
375
-	 * @param  string $context View or edit context.
376
-	 * @return string
377
-	 */
378
-	public function get_created( $context = 'view' ) {
379
-		return $this->get_prop( 'created', $context );
380
-	}
381
-
382
-	/**
383
-	 * Alias for self::get_created().
384
-	 *
385
-	 * @since 1.0.19
386
-	 * @param  string $context View or edit context.
387
-	 * @return string
388
-	 */
389
-	public function get_date_created( $context = 'view' ) {
390
-		return $this->get_created( $context );
391
-	}
392
-
393
-	/**
394
-	 * Retrieves the creation date in a timestamp
395
-	 *
396
-	 * @since  1.0.0
397
-	 * @return int
398
-	 */
399
-	public function get_time_created() {
400
-		$created = $this->get_date_created();
401
-		return empty( $created ) ? current_time( 'timestamp' ) : strtotime( $created, current_time( 'timestamp' ) );
402
-	}
403
-
404
-	/**
405
-	 * Get GMT date when the subscription was created.
406
-	 *
407
-	 * @since 1.0.19
408
-	 * @param  string $context View or edit context.
409
-	 * @return string
410
-	 */
411
-	public function get_date_created_gmt( $context = 'view' ) {
268
+    }
269
+
270
+    /**
271
+     * Get subscription's product id.
272
+     *
273
+     * @since 1.0.19
274
+     * @param  string $context View or edit context.
275
+     * @return int
276
+     */
277
+    public function get_product_id( $context = 'view' ) {
278
+        return (int) $this->get_prop( 'product_id', $context );
279
+    }
280
+
281
+    /**
282
+     * Get the subscription product.
283
+     *
284
+     * @since 1.0.19
285
+     * @param  string $context View or edit context.
286
+     * @return WPInv_Item
287
+     */
288
+    public function get_product( $context = 'view' ) {
289
+        return new WPInv_Item( $this->get_product_id( $context ) );
290
+    }
291
+
292
+    /**
293
+     * Get parent invoice's gateway.
294
+     *
295
+     * Here for backwards compatibility.
296
+     *
297
+     * @since 1.0.19
298
+     * @param  string $context View or edit context.
299
+     * @return string
300
+     */
301
+    public function get_gateway( $context = 'view' ) {
302
+        return $this->get_parent_invoice( $context )->get_gateway();
303
+    }
304
+
305
+    /**
306
+     * Get the period of a renewal.
307
+     *
308
+     * @since 1.0.19
309
+     * @param  string $context View or edit context.
310
+     * @return string
311
+     */
312
+    public function get_period( $context = 'view' ) {
313
+        return $this->get_prop( 'period', $context );
314
+    }
315
+
316
+    /**
317
+     * Get number of periods each renewal is valid for.
318
+     *
319
+     * @since 1.0.19
320
+     * @param  string $context View or edit context.
321
+     * @return int
322
+     */
323
+    public function get_frequency( $context = 'view' ) {
324
+        return (int) $this->get_prop( 'frequency', $context );
325
+    }
326
+
327
+    /**
328
+     * Get the initial amount for the subscription.
329
+     *
330
+     * @since 1.0.19
331
+     * @param  string $context View or edit context.
332
+     * @return float
333
+     */
334
+    public function get_initial_amount( $context = 'view' ) {
335
+        return (float) wpinv_sanitize_amount( $this->get_prop( 'initial_amount', $context ) );
336
+    }
337
+
338
+    /**
339
+     * Get the recurring amount for the subscription.
340
+     *
341
+     * @since 1.0.19
342
+     * @param  string $context View or edit context.
343
+     * @return float
344
+     */
345
+    public function get_recurring_amount( $context = 'view' ) {
346
+        return (float) wpinv_sanitize_amount( $this->get_prop( 'recurring_amount', $context ) );
347
+    }
348
+
349
+    /**
350
+     * Get number of times that this subscription can be renewed.
351
+     *
352
+     * @since 1.0.19
353
+     * @param  string $context View or edit context.
354
+     * @return int
355
+     */
356
+    public function get_bill_times( $context = 'view' ) {
357
+        return (int) $this->get_prop( 'bill_times', $context );
358
+    }
359
+
360
+    /**
361
+     * Get transaction id of this subscription's parent invoice.
362
+     *
363
+     * @since 1.0.19
364
+     * @param  string $context View or edit context.
365
+     * @return string
366
+     */
367
+    public function get_transaction_id( $context = 'view' ) {
368
+        return $this->get_prop( 'transaction_id', $context );
369
+    }
370
+
371
+    /**
372
+     * Get the date that the subscription was created.
373
+     *
374
+     * @since 1.0.19
375
+     * @param  string $context View or edit context.
376
+     * @return string
377
+     */
378
+    public function get_created( $context = 'view' ) {
379
+        return $this->get_prop( 'created', $context );
380
+    }
381
+
382
+    /**
383
+     * Alias for self::get_created().
384
+     *
385
+     * @since 1.0.19
386
+     * @param  string $context View or edit context.
387
+     * @return string
388
+     */
389
+    public function get_date_created( $context = 'view' ) {
390
+        return $this->get_created( $context );
391
+    }
392
+
393
+    /**
394
+     * Retrieves the creation date in a timestamp
395
+     *
396
+     * @since  1.0.0
397
+     * @return int
398
+     */
399
+    public function get_time_created() {
400
+        $created = $this->get_date_created();
401
+        return empty( $created ) ? current_time( 'timestamp' ) : strtotime( $created, current_time( 'timestamp' ) );
402
+    }
403
+
404
+    /**
405
+     * Get GMT date when the subscription was created.
406
+     *
407
+     * @since 1.0.19
408
+     * @param  string $context View or edit context.
409
+     * @return string
410
+     */
411
+    public function get_date_created_gmt( $context = 'view' ) {
412 412
         $date = $this->get_date_created( $context );
413 413
 
414 414
         if ( $date ) {
415 415
             $date = get_gmt_from_date( $date );
416 416
         }
417
-		return $date;
418
-	}
419
-
420
-	/**
421
-	 * Get the date that the subscription will renew.
422
-	 *
423
-	 * @since 1.0.19
424
-	 * @param  string $context View or edit context.
425
-	 * @return string
426
-	 */
427
-	public function get_next_renewal_date( $context = 'view' ) {
428
-		return $this->get_prop( 'expiration', $context );
429
-	}
430
-
431
-	/**
432
-	 * Alias for self::get_next_renewal_date().
433
-	 *
434
-	 * @since 1.0.19
435
-	 * @param  string $context View or edit context.
436
-	 * @return string
437
-	 */
438
-	public function get_expiration( $context = 'view' ) {
439
-		return $this->get_next_renewal_date( $context );
440
-	}
441
-
442
-	/**
443
-	 * Retrieves the expiration date in a timestamp
444
-	 *
445
-	 * @since  1.0.0
446
-	 * @return int
447
-	 */
448
-	public function get_expiration_time() {
449
-		$expiration = $this->get_expiration();
450
-
451
-		if ( empty( $expiration ) || '0000-00-00 00:00:00' == $expiration ) {
452
-			return current_time( 'timestamp' );
453
-		}
454
-
455
-		$expiration = strtotime( $expiration, current_time( 'timestamp' ) );
456
-		return $expiration < current_time( 'timestamp' ) ? current_time( 'timestamp' ) : $expiration;
457
-	}
458
-
459
-	/**
460
-	 * Get GMT date when the subscription will renew.
461
-	 *
462
-	 * @since 1.0.19
463
-	 * @param  string $context View or edit context.
464
-	 * @return string
465
-	 */
466
-	public function get_next_renewal_date_gmt( $context = 'view' ) {
417
+        return $date;
418
+    }
419
+
420
+    /**
421
+     * Get the date that the subscription will renew.
422
+     *
423
+     * @since 1.0.19
424
+     * @param  string $context View or edit context.
425
+     * @return string
426
+     */
427
+    public function get_next_renewal_date( $context = 'view' ) {
428
+        return $this->get_prop( 'expiration', $context );
429
+    }
430
+
431
+    /**
432
+     * Alias for self::get_next_renewal_date().
433
+     *
434
+     * @since 1.0.19
435
+     * @param  string $context View or edit context.
436
+     * @return string
437
+     */
438
+    public function get_expiration( $context = 'view' ) {
439
+        return $this->get_next_renewal_date( $context );
440
+    }
441
+
442
+    /**
443
+     * Retrieves the expiration date in a timestamp
444
+     *
445
+     * @since  1.0.0
446
+     * @return int
447
+     */
448
+    public function get_expiration_time() {
449
+        $expiration = $this->get_expiration();
450
+
451
+        if ( empty( $expiration ) || '0000-00-00 00:00:00' == $expiration ) {
452
+            return current_time( 'timestamp' );
453
+        }
454
+
455
+        $expiration = strtotime( $expiration, current_time( 'timestamp' ) );
456
+        return $expiration < current_time( 'timestamp' ) ? current_time( 'timestamp' ) : $expiration;
457
+    }
458
+
459
+    /**
460
+     * Get GMT date when the subscription will renew.
461
+     *
462
+     * @since 1.0.19
463
+     * @param  string $context View or edit context.
464
+     * @return string
465
+     */
466
+    public function get_next_renewal_date_gmt( $context = 'view' ) {
467 467
         $date = $this->get_next_renewal_date( $context );
468 468
 
469 469
         if ( $date ) {
470 470
             $date = get_gmt_from_date( $date );
471 471
         }
472
-		return $date;
473
-	}
474
-
475
-	/**
476
-	 * Get the subscription's trial period.
477
-	 *
478
-	 * @since 1.0.19
479
-	 * @param  string $context View or edit context.
480
-	 * @return string
481
-	 */
482
-	public function get_trial_period( $context = 'view' ) {
483
-		return $this->get_prop( 'trial_period', $context );
484
-	}
485
-
486
-	/**
487
-	 * Get the subscription's status.
488
-	 *
489
-	 * @since 1.0.19
490
-	 * @param  string $context View or edit context.
491
-	 * @return string
492
-	 */
493
-	public function get_status( $context = 'view' ) {
494
-		return $this->get_prop( 'status', $context );
495
-	}
496
-
497
-	/**
498
-	 * Get the subscription's profile id.
499
-	 *
500
-	 * @since 1.0.19
501
-	 * @param  string $context View or edit context.
502
-	 * @return string
503
-	 */
504
-	public function get_profile_id( $context = 'view' ) {
505
-		return $this->get_prop( 'profile_id', $context );
506
-	}
507
-
508
-	/*
472
+        return $date;
473
+    }
474
+
475
+    /**
476
+     * Get the subscription's trial period.
477
+     *
478
+     * @since 1.0.19
479
+     * @param  string $context View or edit context.
480
+     * @return string
481
+     */
482
+    public function get_trial_period( $context = 'view' ) {
483
+        return $this->get_prop( 'trial_period', $context );
484
+    }
485
+
486
+    /**
487
+     * Get the subscription's status.
488
+     *
489
+     * @since 1.0.19
490
+     * @param  string $context View or edit context.
491
+     * @return string
492
+     */
493
+    public function get_status( $context = 'view' ) {
494
+        return $this->get_prop( 'status', $context );
495
+    }
496
+
497
+    /**
498
+     * Get the subscription's profile id.
499
+     *
500
+     * @since 1.0.19
501
+     * @param  string $context View or edit context.
502
+     * @return string
503
+     */
504
+    public function get_profile_id( $context = 'view' ) {
505
+        return $this->get_prop( 'profile_id', $context );
506
+    }
507
+
508
+    /*
509 509
 	|--------------------------------------------------------------------------
510 510
 	| Setters
511 511
 	|--------------------------------------------------------------------------
512 512
 	*/
513 513
 
514
-	/**
515
-	 * Set customer id.
516
-	 *
517
-	 * @since 1.0.19
518
-	 * @param  int $value The customer's id.
519
-	 */
520
-	public function set_customer_id( $value ) {
521
-		$this->set_prop( 'customer_id', (int) $value );
522
-	}
523
-
524
-	/**
525
-	 * Set parent invoice id.
526
-	 *
527
-	 * @since 1.0.19
528
-	 * @param  int $value The parent invoice id.
529
-	 */
530
-	public function set_parent_invoice_id( $value ) {
531
-		$this->set_prop( 'parent_payment_id', (int) $value );
532
-	}
533
-
534
-	/**
535
-	 * Alias for self::set_parent_invoice_id().
536
-	 *
537
-	 * @since 1.0.19
538
-	 * @param  int $value The parent invoice id.
539
-	 */
540
-    public function set_parent_payment_id( $value ) {
541
-        $this->set_parent_invoice_id( $value );
542
-	}
514
+    /**
515
+     * Set customer id.
516
+     *
517
+     * @since 1.0.19
518
+     * @param  int $value The customer's id.
519
+     */
520
+    public function set_customer_id( $value ) {
521
+        $this->set_prop( 'customer_id', (int) $value );
522
+    }
523
+
524
+    /**
525
+     * Set parent invoice id.
526
+     *
527
+     * @since 1.0.19
528
+     * @param  int $value The parent invoice id.
529
+     */
530
+    public function set_parent_invoice_id( $value ) {
531
+        $this->set_prop( 'parent_payment_id', (int) $value );
532
+    }
533
+
534
+    /**
535
+     * Alias for self::set_parent_invoice_id().
536
+     *
537
+     * @since 1.0.19
538
+     * @param  int $value The parent invoice id.
539
+     */
540
+    public function set_parent_payment_id( $value ) {
541
+        $this->set_parent_invoice_id( $value );
542
+    }
543
+
544
+    /**
545
+     * Alias for self::set_parent_invoice_id().
546
+     *
547
+     * @since 1.0.19
548
+     * @param  int $value The parent invoice id.
549
+     */
550
+    public function set_original_payment_id( $value ) {
551
+        $this->set_parent_invoice_id( $value );
552
+    }
553
+
554
+    /**
555
+     * Set subscription's product id.
556
+     *
557
+     * @since 1.0.19
558
+     * @param  int $value The subscription product id.
559
+     */
560
+    public function set_product_id( $value ) {
561
+        $this->set_prop( 'product_id', (int) $value );
562
+    }
563
+
564
+    /**
565
+     * Set the period of a renewal.
566
+     *
567
+     * @since 1.0.19
568
+     * @param  string $value The renewal period.
569
+     */
570
+    public function set_period( $value ) {
571
+        $this->set_prop( 'period', $value );
572
+    }
573
+
574
+    /**
575
+     * Set number of periods each renewal is valid for.
576
+     *
577
+     * @since 1.0.19
578
+     * @param  int $value The subscription frequency.
579
+     */
580
+    public function set_frequency( $value ) {
581
+        $value = empty( $value ) ? 1 : (int) $value;
582
+        $this->set_prop( 'frequency', absint( $value ) );
583
+    }
584
+
585
+    /**
586
+     * Set the initial amount for the subscription.
587
+     *
588
+     * @since 1.0.19
589
+     * @param  float $value The initial subcription amount.
590
+     */
591
+    public function set_initial_amount( $value ) {
592
+        $this->set_prop( 'initial_amount', wpinv_sanitize_amount( $value ) );
593
+    }
594
+
595
+    /**
596
+     * Set the recurring amount for the subscription.
597
+     *
598
+     * @since 1.0.19
599
+     * @param  float $value The recurring subcription amount.
600
+     */
601
+    public function set_recurring_amount( $value ) {
602
+        $this->set_prop( 'recurring_amount', wpinv_sanitize_amount( $value ) );
603
+    }
604
+
605
+    /**
606
+     * Set number of times that this subscription can be renewed.
607
+     *
608
+     * @since 1.0.19
609
+     * @param  int $value Bill times.
610
+     */
611
+    public function set_bill_times( $value ) {
612
+        $this->set_prop( 'bill_times', (int) $value );
613
+    }
614
+
615
+    /**
616
+     * Get transaction id of this subscription's parent invoice.
617
+     *
618
+     * @since 1.0.19
619
+     * @param string $value Bill times.
620
+     */
621
+    public function set_transaction_id( $value ) {
622
+        $this->set_prop( 'transaction_id', sanitize_text_field( $value ) );
623
+    }
543 624
 
544
-	/**
545
-     * Alias for self::set_parent_invoice_id().
625
+    /**
626
+     * Set date when this subscription started.
546 627
      *
547 628
      * @since 1.0.19
548
-	 * @param  int $value The parent invoice id.
629
+     * @param string $value strtotime compliant date.
549 630
      */
550
-    public function set_original_payment_id( $value ) {
551
-        $this->set_parent_invoice_id( $value );
552
-	}
553
-
554
-	/**
555
-	 * Set subscription's product id.
556
-	 *
557
-	 * @since 1.0.19
558
-	 * @param  int $value The subscription product id.
559
-	 */
560
-	public function set_product_id( $value ) {
561
-		$this->set_prop( 'product_id', (int) $value );
562
-	}
563
-
564
-	/**
565
-	 * Set the period of a renewal.
566
-	 *
567
-	 * @since 1.0.19
568
-	 * @param  string $value The renewal period.
569
-	 */
570
-	public function set_period( $value ) {
571
-		$this->set_prop( 'period', $value );
572
-	}
573
-
574
-	/**
575
-	 * Set number of periods each renewal is valid for.
576
-	 *
577
-	 * @since 1.0.19
578
-	 * @param  int $value The subscription frequency.
579
-	 */
580
-	public function set_frequency( $value ) {
581
-		$value = empty( $value ) ? 1 : (int) $value;
582
-		$this->set_prop( 'frequency', absint( $value ) );
583
-	}
584
-
585
-	/**
586
-	 * Set the initial amount for the subscription.
587
-	 *
588
-	 * @since 1.0.19
589
-	 * @param  float $value The initial subcription amount.
590
-	 */
591
-	public function set_initial_amount( $value ) {
592
-		$this->set_prop( 'initial_amount', wpinv_sanitize_amount( $value ) );
593
-	}
594
-
595
-	/**
596
-	 * Set the recurring amount for the subscription.
597
-	 *
598
-	 * @since 1.0.19
599
-	 * @param  float $value The recurring subcription amount.
600
-	 */
601
-	public function set_recurring_amount( $value ) {
602
-		$this->set_prop( 'recurring_amount', wpinv_sanitize_amount( $value ) );
603
-	}
604
-
605
-	/**
606
-	 * Set number of times that this subscription can be renewed.
607
-	 *
608
-	 * @since 1.0.19
609
-	 * @param  int $value Bill times.
610
-	 */
611
-	public function set_bill_times( $value ) {
612
-		$this->set_prop( 'bill_times', (int) $value );
613
-	}
614
-
615
-	/**
616
-	 * Get transaction id of this subscription's parent invoice.
617
-	 *
618
-	 * @since 1.0.19
619
-	 * @param string $value Bill times.
620
-	 */
621
-	public function set_transaction_id( $value ) {
622
-		$this->set_prop( 'transaction_id', sanitize_text_field( $value ) );
623
-	}
624
-
625
-	/**
626
-	 * Set date when this subscription started.
627
-	 *
628
-	 * @since 1.0.19
629
-	 * @param string $value strtotime compliant date.
630
-	 */
631
-	public function set_created( $value ) {
631
+    public function set_created( $value ) {
632 632
         $date = strtotime( $value );
633 633
 
634 634
         if ( $date && $value !== '0000-00-00 00:00:00' ) {
@@ -636,93 +636,93 @@  discard block
 block discarded – undo
636 636
             return;
637 637
         }
638 638
 
639
-		$this->set_prop( 'created', '' );
639
+        $this->set_prop( 'created', '' );
640 640
 
641
-	}
641
+    }
642 642
 
643
-	/**
644
-	 * Alias for self::set_created().
645
-	 *
646
-	 * @since 1.0.19
647
-	 * @param string $value strtotime compliant date.
648
-	 */
649
-	public function set_date_created( $value ) {
650
-		$this->set_created( $value );
643
+    /**
644
+     * Alias for self::set_created().
645
+     *
646
+     * @since 1.0.19
647
+     * @param string $value strtotime compliant date.
648
+     */
649
+    public function set_date_created( $value ) {
650
+        $this->set_created( $value );
651 651
     }
652 652
 
653
-	/**
654
-	 * Set the date that the subscription will renew.
655
-	 *
656
-	 * @since 1.0.19
657
-	 * @param string $value strtotime compliant date.
658
-	 */
659
-	public function set_next_renewal_date( $value ) {
660
-		$date = strtotime( $value );
653
+    /**
654
+     * Set the date that the subscription will renew.
655
+     *
656
+     * @since 1.0.19
657
+     * @param string $value strtotime compliant date.
658
+     */
659
+    public function set_next_renewal_date( $value ) {
660
+        $date = strtotime( $value );
661 661
 
662 662
         if ( $date && $value !== '0000-00-00 00:00:00' ) {
663 663
             $this->set_prop( 'expiration', gmdate( 'Y-m-d H:i:s', $date ) );
664 664
             return;
665
-		}
666
-
667
-		$this->set_prop( 'expiration', '' );
668
-
669
-	}
670
-
671
-	/**
672
-	 * Alias for self::set_next_renewal_date().
673
-	 *
674
-	 * @since 1.0.19
675
-	 * @param string $value strtotime compliant date.
676
-	 */
677
-	public function set_expiration( $value ) {
678
-		$this->set_next_renewal_date( $value );
679
-    }
680
-
681
-	/**
682
-	 * Set the subscription's trial period.
683
-	 *
684
-	 * @since 1.0.19
685
-	 * @param string $value trial period e.g 1 year.
686
-	 */
687
-	public function set_trial_period( $value ) {
688
-		$this->set_prop( 'trial_period', $value );
689
-	}
690
-
691
-	/**
692
-	 * Set the subscription's status.
693
-	 *
694
-	 * @since 1.0.19
695
-	 * @param string $new_status    New subscription status.
696
-	 */
697
-	public function set_status( $new_status ) {
698
-
699
-		// Abort if this is not a valid status;
700
-		if ( ! array_key_exists( $new_status, getpaid_get_subscription_statuses() ) ) {
701
-			return;
702
-		}
703
-
704
-		$old_status = ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $this->get_status();
705
-		if ( true === $this->object_read && $old_status !== $new_status ) {
706
-			$this->status_transition = array(
707
-				'from' => $old_status,
708
-				'to'   => $new_status,
709
-			);
710
-		}
711
-
712
-		$this->set_prop( 'status', $new_status );
713
-	}
714
-
715
-	/**
716
-	 * Set the subscription's (remote) profile id.
717
-	 *
718
-	 * @since 1.0.19
719
-	 * @param  string $value the remote profile id.
720
-	 */
721
-	public function set_profile_id( $value ) {
722
-		$this->set_prop( 'profile_id', sanitize_text_field( $value ) );
723
-	}
724
-
725
-	/*
665
+        }
666
+
667
+        $this->set_prop( 'expiration', '' );
668
+
669
+    }
670
+
671
+    /**
672
+     * Alias for self::set_next_renewal_date().
673
+     *
674
+     * @since 1.0.19
675
+     * @param string $value strtotime compliant date.
676
+     */
677
+    public function set_expiration( $value ) {
678
+        $this->set_next_renewal_date( $value );
679
+    }
680
+
681
+    /**
682
+     * Set the subscription's trial period.
683
+     *
684
+     * @since 1.0.19
685
+     * @param string $value trial period e.g 1 year.
686
+     */
687
+    public function set_trial_period( $value ) {
688
+        $this->set_prop( 'trial_period', $value );
689
+    }
690
+
691
+    /**
692
+     * Set the subscription's status.
693
+     *
694
+     * @since 1.0.19
695
+     * @param string $new_status    New subscription status.
696
+     */
697
+    public function set_status( $new_status ) {
698
+
699
+        // Abort if this is not a valid status;
700
+        if ( ! array_key_exists( $new_status, getpaid_get_subscription_statuses() ) ) {
701
+            return;
702
+        }
703
+
704
+        $old_status = ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $this->get_status();
705
+        if ( true === $this->object_read && $old_status !== $new_status ) {
706
+            $this->status_transition = array(
707
+                'from' => $old_status,
708
+                'to'   => $new_status,
709
+            );
710
+        }
711
+
712
+        $this->set_prop( 'status', $new_status );
713
+    }
714
+
715
+    /**
716
+     * Set the subscription's (remote) profile id.
717
+     *
718
+     * @since 1.0.19
719
+     * @param  string $value the remote profile id.
720
+     */
721
+    public function set_profile_id( $value ) {
722
+        $this->set_prop( 'profile_id', sanitize_text_field( $value ) );
723
+    }
724
+
725
+    /*
726 726
 	|--------------------------------------------------------------------------
727 727
 	| Boolean methods
728 728
 	|--------------------------------------------------------------------------
@@ -731,55 +731,55 @@  discard block
 block discarded – undo
731 731
 	|
732 732
 	*/
733 733
 
734
-	/**
734
+    /**
735 735
      * Checks if the subscription has a given status.
736
-	 *
737
-	 * @param string|array String or array of strings to check for.
738
-	 * @return bool
736
+     *
737
+     * @param string|array String or array of strings to check for.
738
+     * @return bool
739 739
      */
740 740
     public function has_status( $status ) {
741 741
         return in_array( $this->get_status(), wpinv_clean( wpinv_parse_list( $status ) ) );
742
-	}
742
+    }
743 743
 
744
-	/**
744
+    /**
745 745
      * Checks if the subscription has a trial period.
746
-	 *
747
-	 * @return bool
746
+     *
747
+     * @return bool
748 748
      */
749 749
     public function has_trial_period() {
750
-		$period = $this->get_trial_period();
750
+        $period = $this->get_trial_period();
751 751
         return ! empty( $period );
752
-	}
753
-
754
-	/**
755
-	 * Is the subscription active?
756
-	 *
757
-	 * @return bool
758
-	 */
759
-	public function is_active() {
760
-		return $this->has_status( 'active trialling' ) && ! $this->is_expired();
761
-	}
762
-
763
-	/**
764
-	 * Is the subscription expired?
765
-	 *
766
-	 * @return bool
767
-	 */
768
-	public function is_expired() {
769
-		return $this->has_status( 'expired' ) || ( $this->has_status( 'active cancelled trialling' ) && $this->get_expiration_time() < current_time( 'timestamp' ) );
770
-	}
771
-
772
-	/**
773
-	 * Is this the last renewals?
774
-	 *
775
-	 * @return bool
776
-	 */
777
-	public function is_last_renewal() {
778
-		$max_bills = $this->get_bill_times();
779
-		return ! empty( $max_bills ) && $max_bills <= $this->get_times_billed();
780
-	}
781
-
782
-	/*
752
+    }
753
+
754
+    /**
755
+     * Is the subscription active?
756
+     *
757
+     * @return bool
758
+     */
759
+    public function is_active() {
760
+        return $this->has_status( 'active trialling' ) && ! $this->is_expired();
761
+    }
762
+
763
+    /**
764
+     * Is the subscription expired?
765
+     *
766
+     * @return bool
767
+     */
768
+    public function is_expired() {
769
+        return $this->has_status( 'expired' ) || ( $this->has_status( 'active cancelled trialling' ) && $this->get_expiration_time() < current_time( 'timestamp' ) );
770
+    }
771
+
772
+    /**
773
+     * Is this the last renewals?
774
+     *
775
+     * @return bool
776
+     */
777
+    public function is_last_renewal() {
778
+        $max_bills = $this->get_bill_times();
779
+        return ! empty( $max_bills ) && $max_bills <= $this->get_times_billed();
780
+    }
781
+
782
+    /*
783 783
 	|--------------------------------------------------------------------------
784 784
 	| Additional methods
785 785
 	|--------------------------------------------------------------------------
@@ -788,27 +788,27 @@  discard block
 block discarded – undo
788 788
 	|
789 789
 	*/
790 790
 
791
-	/**
792
-	 * Backwards compatibilty.
793
-	 */
794
-	public function create( $data = array() ) {
791
+    /**
792
+     * Backwards compatibilty.
793
+     */
794
+    public function create( $data = array() ) {
795 795
 
796
-		// Set the properties.
797
-		if ( is_array( $data ) ) {
798
-			$this->set_props( $data );
799
-		}
796
+        // Set the properties.
797
+        if ( is_array( $data ) ) {
798
+            $this->set_props( $data );
799
+        }
800 800
 
801
-		// Save the item.
802
-		return $this->save();
801
+        // Save the item.
802
+        return $this->save();
803 803
 
804
-	}
804
+    }
805 805
 
806
-	/**
807
-	 * Backwards compatibilty.
808
-	 */
809
-	public function update( $args = array() ) {
810
-		return $this->create( $args );
811
-	}
806
+    /**
807
+     * Backwards compatibilty.
808
+     */
809
+    public function update( $args = array() ) {
810
+        return $this->create( $args );
811
+    }
812 812
 
813 813
     /**
814 814
      * Retrieve renewal payments for a subscription
@@ -818,22 +818,22 @@  discard block
 block discarded – undo
818 818
      */
819 819
     public function get_child_payments( $hide_pending = true ) {
820 820
 
821
-		$statuses = array( 'publish', 'wpi-processing', 'wpi-renewal' );
821
+        $statuses = array( 'publish', 'wpi-processing', 'wpi-renewal' );
822 822
 
823
-		if ( ! $hide_pending ) {
824
-			$statuses = array_keys( wpinv_get_invoice_statuses() );
825
-		}
823
+        if ( ! $hide_pending ) {
824
+            $statuses = array_keys( wpinv_get_invoice_statuses() );
825
+        }
826 826
 
827 827
         return get_posts(
828
-			array(
829
-            	'post_parent' => $this->get_parent_payment_id(),
830
-            	'numberposts' => -1,
831
-            	'post_status' => $statuses,
832
-            	'orderby'     => 'ID',
833
-            	'order'       => 'ASC',
834
-            	'post_type'   => 'wpi_invoice',
835
-			)
836
-		);
828
+            array(
829
+                'post_parent' => $this->get_parent_payment_id(),
830
+                'numberposts' => -1,
831
+                'post_status' => $statuses,
832
+                'orderby'     => 'ID',
833
+                'order'       => 'ASC',
834
+                'post_type'   => 'wpi_invoice',
835
+            )
836
+        );
837 837
     }
838 838
 
839 839
     /**
@@ -843,7 +843,7 @@  discard block
 block discarded – undo
843 843
      * @return int
844 844
      */
845 845
     public function get_total_payments() {
846
-		return getpaid_count_subscription_invoices( $this->get_parent_invoice_id(), $this->get_id() );
846
+        return getpaid_count_subscription_invoices( $this->get_parent_invoice_id(), $this->get_id() );
847 847
     }
848 848
 
849 849
     /**
@@ -867,202 +867,202 @@  discard block
 block discarded – undo
867 867
      *
868 868
      * @since  2.4
869 869
      * @param  array $args Array of values for the payment, including amount and transaction ID
870
-	 * @param  WPInv_Invoice $invoice If adding an existing invoice.
870
+     * @param  WPInv_Invoice $invoice If adding an existing invoice.
871 871
      * @return bool
872 872
      */
873 873
     public function add_payment( $args = array(), $invoice = false ) {
874 874
 
875
-		// Process each payment once.
875
+        // Process each payment once.
876 876
         if ( ! empty( $args['transaction_id'] ) && $this->payment_exists( $args['transaction_id'] ) ) {
877 877
             return false;
878 878
         }
879 879
 
880
-		// Are we creating a new invoice?
881
-		if ( empty( $invoice ) ) {
882
-			$invoice = $this->create_payment( false );
880
+        // Are we creating a new invoice?
881
+        if ( empty( $invoice ) ) {
882
+            $invoice = $this->create_payment( false );
883 883
 
884
-			if ( empty( $invoice ) ) {
885
-				return false;
886
-			}
887
-		}
884
+            if ( empty( $invoice ) ) {
885
+                return false;
886
+            }
887
+        }
888 888
 
889
-		// Maybe set a transaction id.
890
-		if ( ! empty( $args['transaction_id'] ) ) {
891
-			$invoice->set_transaction_id( $args['transaction_id'] );
892
-		}
889
+        // Maybe set a transaction id.
890
+        if ( ! empty( $args['transaction_id'] ) ) {
891
+            $invoice->set_transaction_id( $args['transaction_id'] );
892
+        }
893 893
 
894
-		// Set the completed date.
895
-		$invoice->set_completed_date( current_time( 'mysql' ) );
894
+        // Set the completed date.
895
+        $invoice->set_completed_date( current_time( 'mysql' ) );
896 896
 
897
-		// And the gateway.
898
-		if ( ! empty( $args['gateway'] ) ) {
899
-			$invoice->set_gateway( $args['gateway'] );
900
-		}
897
+        // And the gateway.
898
+        if ( ! empty( $args['gateway'] ) ) {
899
+            $invoice->set_gateway( $args['gateway'] );
900
+        }
901 901
 
902
-		$invoice->set_status( 'wpi-renewal' );
903
-		$invoice->save();
902
+        $invoice->set_status( 'wpi-renewal' );
903
+        $invoice->save();
904 904
 
905
-		if ( ! $invoice->exists() ) {
906
-			return false;
907
-		}
905
+        if ( ! $invoice->exists() ) {
906
+            return false;
907
+        }
908 908
 
909
-		return $this->after_add_payment( $invoice );
910
-	}
909
+        return $this->after_add_payment( $invoice );
910
+    }
911 911
 
912 912
     public function after_add_payment( $invoice ) {
913 913
 
914
-		do_action( 'getpaid_after_create_subscription_renewal_invoice', $invoice, $this );
915
-		do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this );
914
+        do_action( 'getpaid_after_create_subscription_renewal_invoice', $invoice, $this );
915
+        do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this );
916 916
         do_action( 'wpinv_recurring_record_payment', $invoice->get_id(), $this->get_parent_invoice_id(), $invoice->get_recurring_total(), $invoice->get_transaction_id() );
917 917
 
918 918
         update_post_meta( $invoice->get_id(), '_wpinv_subscription_id', $this->id );
919 919
 
920 920
         return $invoice->get_id();
921
-	}
921
+    }
922 922
 
923
-	/**
923
+    /**
924 924
      * Creates a new invoice and returns it.
925 925
      *
926 926
      * @since  1.0.19
927
-	 * @param bool $save Whether we should save the invoice.
927
+     * @param bool $save Whether we should save the invoice.
928 928
      * @return WPInv_Invoice|bool
929 929
      */
930 930
     public function create_payment( $save = true ) {
931 931
 
932
-		$parent_invoice = $this->get_parent_payment();
933
-
934
-		if ( ! $parent_invoice->exists() ) {
935
-			return false;
936
-		}
937
-
938
-		// Duplicate the parent invoice.
939
-		$invoice = getpaid_duplicate_invoice( $parent_invoice );
940
-		$invoice->set_parent_id( $parent_invoice->get_id() );
941
-		$invoice->set_subscription_id( $this->get_id() );
942
-		$invoice->set_remote_subscription_id( $this->get_profile_id() );
943
-
944
-		// Set invoice items.
945
-		$subscription_group = getpaid_get_invoice_subscription_group( $parent_invoice->get_id(), $this->get_id() );
946
-		$allowed_items      = empty( $subscription_group ) ? array( $this->get_product_id() ) : array_keys( $subscription_group['items'] );
947
-		$invoice_items      = array();
948
-
949
-		foreach ( $invoice->get_items() as $item ) {
950
-			if ( in_array( $item->get_id(), $allowed_items ) ) {
951
-				$invoice_items[] = $item;
952
-			}
953
-		}
954
-
955
-		$invoice->set_items( $invoice_items );
956
-
957
-		if ( ! empty( $subscription_group['fees'] ) ) {
958
-			$invoice->set_fees( $subscription_group['fees'] );
959
-		}
960
-
961
-		// Maybe recalculate discount (Pre-GetPaid Fix).
962
-		$discount = new WPInv_Discount( $invoice->get_discount_code() );
963
-
964
-		if ( $discount->exists() && $discount->is_recurring() ) {
965
-			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
966
-		}  else {
967
-			// Unset discount code.
968
-			$invoice->set_discount_code( '' );
969
-
970
-			$invoice->remove_discount( 'discount_code' );
971
-		}
972
-
973
-		$invoice->recalculate_total();
974
-		$invoice->set_status( 'wpi-pending' );
975
-
976
-		if ( ! $save ) {
977
-			return $invoice;
978
-		}
979
-
980
-		$invoice->save();
981
-
982
-		return $invoice->exists() ? $invoice : false;
983
-    }
984
-
985
-	/**
986
-	 * Renews or completes a subscription
987
-	 *
988
-	 * @since  1.0.0
989
-	 * @return int The subscription's id
990
-	 */
991
-	public function renew( $calculate_from = null, $_new_expiration = null ) {
992
-		// Complete subscription if applicable
993
-		if ( $this->is_last_renewal() ) {
994
-			return $this->complete();
995
-		}
996
-
997
-		if ( ! empty( $_new_expiration ) ) {
998
-			$new_expiration = $_new_expiration;
999
-		} else {
1000
-			// Calculate new expiration
1001
-			$frequency      = $this->get_frequency();
1002
-			$period         = $this->get_period();
1003
-			$calculate_from = empty( $calculate_from ) ? $this->get_expiration_time() : $calculate_from;
1004
-			$new_expiration = strtotime( "+ $frequency $period", $calculate_from );
1005
-			$new_expiration = date( 'Y-m-d H:i:s', $new_expiration );
1006
-		}
1007
-
1008
-		$this->set_expiration( $new_expiration );
1009
-		$this->set_status( 'active' );
1010
-		$this->save();
1011
-
1012
-		do_action( 'getpaid_subscription_renewed', $this );
1013
-
1014
-		return $this->get_id();
1015
-	}
1016
-
1017
-	/**
1018
-	 * Marks a subscription as completed
1019
-	 *
1020
-	 * Subscription is completed when the number of payments matches the billing_times field
1021
-	 *
1022
-	 * @since  1.0.0
1023
-	 * @return int|bool Subscription id or false if the subscription is cancelled.
1024
-	 */
1025
-	public function complete() {
1026
-
1027
-		// Only mark a subscription as complete if it's not already cancelled.
1028
-		if ( $this->has_status( 'cancelled' ) ) {
1029
-			return false;
1030
-		}
1031
-
1032
-		$this->set_status( 'completed' );
1033
-		return $this->save();
1034
-
1035
-	}
1036
-
1037
-	/**
1038
-	 * Marks a subscription as expired
1039
-	 *
1040
-	 * @since  1.0.0
1041
-	 * @param  bool $check_expiration
1042
-	 * @return int|bool Subscription id or false if $check_expiration is true and expiration date is in the future.
1043
-	 */
1044
-	public function expire( $check_expiration = false ) {
1045
-
1046
-		if ( $check_expiration && $this->get_expiration_time() > current_time( 'timestamp' ) ) {
1047
-			// Do not mark as expired since real expiration date is in the future
1048
-			return false;
1049
-		}
1050
-
1051
-		$this->set_status( 'expired' );
1052
-		return $this->save();
1053
-
1054
-	}
1055
-
1056
-	/**
1057
-	 * Marks a subscription as failing
1058
-	 *
1059
-	 * @since  2.4.2
1060
-	 * @return int Subscription id.
1061
-	 */
1062
-	public function failing() {
1063
-		$this->set_status( 'failing' );
1064
-		return $this->save();
1065
-	}
932
+        $parent_invoice = $this->get_parent_payment();
933
+
934
+        if ( ! $parent_invoice->exists() ) {
935
+            return false;
936
+        }
937
+
938
+        // Duplicate the parent invoice.
939
+        $invoice = getpaid_duplicate_invoice( $parent_invoice );
940
+        $invoice->set_parent_id( $parent_invoice->get_id() );
941
+        $invoice->set_subscription_id( $this->get_id() );
942
+        $invoice->set_remote_subscription_id( $this->get_profile_id() );
943
+
944
+        // Set invoice items.
945
+        $subscription_group = getpaid_get_invoice_subscription_group( $parent_invoice->get_id(), $this->get_id() );
946
+        $allowed_items      = empty( $subscription_group ) ? array( $this->get_product_id() ) : array_keys( $subscription_group['items'] );
947
+        $invoice_items      = array();
948
+
949
+        foreach ( $invoice->get_items() as $item ) {
950
+            if ( in_array( $item->get_id(), $allowed_items ) ) {
951
+                $invoice_items[] = $item;
952
+            }
953
+        }
954
+
955
+        $invoice->set_items( $invoice_items );
956
+
957
+        if ( ! empty( $subscription_group['fees'] ) ) {
958
+            $invoice->set_fees( $subscription_group['fees'] );
959
+        }
960
+
961
+        // Maybe recalculate discount (Pre-GetPaid Fix).
962
+        $discount = new WPInv_Discount( $invoice->get_discount_code() );
963
+
964
+        if ( $discount->exists() && $discount->is_recurring() ) {
965
+            $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
966
+        }  else {
967
+            // Unset discount code.
968
+            $invoice->set_discount_code( '' );
969
+
970
+            $invoice->remove_discount( 'discount_code' );
971
+        }
972
+
973
+        $invoice->recalculate_total();
974
+        $invoice->set_status( 'wpi-pending' );
975
+
976
+        if ( ! $save ) {
977
+            return $invoice;
978
+        }
979
+
980
+        $invoice->save();
981
+
982
+        return $invoice->exists() ? $invoice : false;
983
+    }
984
+
985
+    /**
986
+     * Renews or completes a subscription
987
+     *
988
+     * @since  1.0.0
989
+     * @return int The subscription's id
990
+     */
991
+    public function renew( $calculate_from = null, $_new_expiration = null ) {
992
+        // Complete subscription if applicable
993
+        if ( $this->is_last_renewal() ) {
994
+            return $this->complete();
995
+        }
996
+
997
+        if ( ! empty( $_new_expiration ) ) {
998
+            $new_expiration = $_new_expiration;
999
+        } else {
1000
+            // Calculate new expiration
1001
+            $frequency      = $this->get_frequency();
1002
+            $period         = $this->get_period();
1003
+            $calculate_from = empty( $calculate_from ) ? $this->get_expiration_time() : $calculate_from;
1004
+            $new_expiration = strtotime( "+ $frequency $period", $calculate_from );
1005
+            $new_expiration = date( 'Y-m-d H:i:s', $new_expiration );
1006
+        }
1007
+
1008
+        $this->set_expiration( $new_expiration );
1009
+        $this->set_status( 'active' );
1010
+        $this->save();
1011
+
1012
+        do_action( 'getpaid_subscription_renewed', $this );
1013
+
1014
+        return $this->get_id();
1015
+    }
1016
+
1017
+    /**
1018
+     * Marks a subscription as completed
1019
+     *
1020
+     * Subscription is completed when the number of payments matches the billing_times field
1021
+     *
1022
+     * @since  1.0.0
1023
+     * @return int|bool Subscription id or false if the subscription is cancelled.
1024
+     */
1025
+    public function complete() {
1026
+
1027
+        // Only mark a subscription as complete if it's not already cancelled.
1028
+        if ( $this->has_status( 'cancelled' ) ) {
1029
+            return false;
1030
+        }
1031
+
1032
+        $this->set_status( 'completed' );
1033
+        return $this->save();
1034
+
1035
+    }
1036
+
1037
+    /**
1038
+     * Marks a subscription as expired
1039
+     *
1040
+     * @since  1.0.0
1041
+     * @param  bool $check_expiration
1042
+     * @return int|bool Subscription id or false if $check_expiration is true and expiration date is in the future.
1043
+     */
1044
+    public function expire( $check_expiration = false ) {
1045
+
1046
+        if ( $check_expiration && $this->get_expiration_time() > current_time( 'timestamp' ) ) {
1047
+            // Do not mark as expired since real expiration date is in the future
1048
+            return false;
1049
+        }
1050
+
1051
+        $this->set_status( 'expired' );
1052
+        return $this->save();
1053
+
1054
+    }
1055
+
1056
+    /**
1057
+     * Marks a subscription as failing
1058
+     *
1059
+     * @since  2.4.2
1060
+     * @return int Subscription id.
1061
+     */
1062
+    public function failing() {
1063
+        $this->set_status( 'failing' );
1064
+        return $this->save();
1065
+    }
1066 1066
 
1067 1067
     /**
1068 1068
      * Marks a subscription as cancelled
@@ -1071,19 +1071,19 @@  discard block
 block discarded – undo
1071 1071
      * @return int Subscription id.
1072 1072
      */
1073 1073
     public function cancel() {
1074
-		$this->set_status( 'cancelled' );
1075
-		return $this->save();
1074
+        $this->set_status( 'cancelled' );
1075
+        return $this->save();
1076 1076
     }
1077 1077
 
1078
-	/**
1079
-	 * Determines if a subscription can be cancelled both locally and with a payment processor.
1080
-	 *
1081
-	 * @since  1.0.0
1082
-	 * @return bool
1083
-	 */
1084
-	public function can_cancel() {
1085
-		return apply_filters( 'wpinv_subscription_can_cancel', $this->has_status( $this->get_cancellable_statuses() ), $this );
1086
-	}
1078
+    /**
1079
+     * Determines if a subscription can be cancelled both locally and with a payment processor.
1080
+     *
1081
+     * @since  1.0.0
1082
+     * @return bool
1083
+     */
1084
+    public function can_cancel() {
1085
+        return apply_filters( 'wpinv_subscription_can_cancel', $this->has_status( $this->get_cancellable_statuses() ), $this );
1086
+    }
1087 1087
 
1088 1088
     /**
1089 1089
      * Returns an array of subscription statuses that can be cancelled
@@ -1096,109 +1096,109 @@  discard block
 block discarded – undo
1096 1096
         return apply_filters( 'wpinv_recurring_cancellable_statuses', array( 'active', 'trialling', 'failing' ) );
1097 1097
     }
1098 1098
 
1099
-	/**
1100
-	 * Retrieves the URL to cancel subscription
1101
-	 *
1102
-	 * @since  1.0.0
1103
-	 * @return string
1104
-	 */
1105
-	public function get_cancel_url() {
1106
-		$url = getpaid_get_authenticated_action_url( 'subscription_cancel', $this->get_view_url() );
1107
-		return apply_filters( 'wpinv_subscription_cancel_url', $url, $this );
1108
-	}
1109
-
1110
-	/**
1111
-	 * Retrieves the URL to view a subscription
1112
-	 *
1113
-	 * @since  1.0.19
1114
-	 * @return string
1115
-	 */
1116
-	public function get_view_url() {
1117
-
1118
-		$url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
1119
-		$url = add_query_arg( 'subscription', $this->get_id(), $url );
1120
-
1121
-		return apply_filters( 'getpaid_get_subscription_view_url', $url, $this );
1122
-	}
1123
-
1124
-	/**
1125
-	 * Determines if subscription can be manually renewed
1126
-	 *
1127
-	 * This method is filtered by payment gateways in order to return true on subscriptions
1128
-	 * that can be renewed manually
1129
-	 *
1130
-	 * @since  2.5
1131
-	 * @return bool
1132
-	 */
1133
-	public function can_renew() {
1134
-		return apply_filters( 'wpinv_subscription_can_renew', true, $this );
1135
-	}
1136
-
1137
-	/**
1138
-	 * Retrieves the URL to renew a subscription
1139
-	 *
1140
-	 * @since  2.5
1141
-	 * @return string
1142
-	 */
1143
-	public function get_renew_url() {
1144
-		$url = wp_nonce_url(
1099
+    /**
1100
+     * Retrieves the URL to cancel subscription
1101
+     *
1102
+     * @since  1.0.0
1103
+     * @return string
1104
+     */
1105
+    public function get_cancel_url() {
1106
+        $url = getpaid_get_authenticated_action_url( 'subscription_cancel', $this->get_view_url() );
1107
+        return apply_filters( 'wpinv_subscription_cancel_url', $url, $this );
1108
+    }
1109
+
1110
+    /**
1111
+     * Retrieves the URL to view a subscription
1112
+     *
1113
+     * @since  1.0.19
1114
+     * @return string
1115
+     */
1116
+    public function get_view_url() {
1117
+
1118
+        $url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
1119
+        $url = add_query_arg( 'subscription', $this->get_id(), $url );
1120
+
1121
+        return apply_filters( 'getpaid_get_subscription_view_url', $url, $this );
1122
+    }
1123
+
1124
+    /**
1125
+     * Determines if subscription can be manually renewed
1126
+     *
1127
+     * This method is filtered by payment gateways in order to return true on subscriptions
1128
+     * that can be renewed manually
1129
+     *
1130
+     * @since  2.5
1131
+     * @return bool
1132
+     */
1133
+    public function can_renew() {
1134
+        return apply_filters( 'wpinv_subscription_can_renew', true, $this );
1135
+    }
1136
+
1137
+    /**
1138
+     * Retrieves the URL to renew a subscription
1139
+     *
1140
+     * @since  2.5
1141
+     * @return string
1142
+     */
1143
+    public function get_renew_url() {
1144
+        $url = wp_nonce_url(
1145 1145
             add_query_arg(
1146 1146
                 array(
1147
-					'getpaid-action' => 'renew_subscription',
1148
-					'sub_id'         => $this->get_id,
1147
+                    'getpaid-action' => 'renew_subscription',
1148
+                    'sub_id'         => $this->get_id,
1149 1149
                 )
1150 1150
             ),
1151 1151
             'getpaid-nonce'
1152 1152
         );
1153
-		return apply_filters( 'wpinv_subscription_renew_url', $url, $this );
1154
-	}
1155
-
1156
-	/**
1157
-	 * Determines if subscription can have their payment method updated
1158
-	 *
1159
-	 * @since  1.0.0
1160
-	 * @return bool
1161
-	 */
1162
-	public function can_update() {
1163
-		return apply_filters( 'wpinv_subscription_can_update', false, $this );
1164
-	}
1165
-
1166
-	/**
1167
-	 * Retrieves the URL to update subscription
1168
-	 *
1169
-	 * @since  1.0.0
1170
-	 * @return string
1171
-	 */
1172
-	public function get_update_url() {
1173
-		$url = add_query_arg(
1153
+        return apply_filters( 'wpinv_subscription_renew_url', $url, $this );
1154
+    }
1155
+
1156
+    /**
1157
+     * Determines if subscription can have their payment method updated
1158
+     *
1159
+     * @since  1.0.0
1160
+     * @return bool
1161
+     */
1162
+    public function can_update() {
1163
+        return apply_filters( 'wpinv_subscription_can_update', false, $this );
1164
+    }
1165
+
1166
+    /**
1167
+     * Retrieves the URL to update subscription
1168
+     *
1169
+     * @since  1.0.0
1170
+     * @return string
1171
+     */
1172
+    public function get_update_url() {
1173
+        $url = add_query_arg(
1174 1174
             array(
1175
-				'action'          => 'update',
1176
-				'subscription_id' => $this->get_id(),
1175
+                'action'          => 'update',
1176
+                'subscription_id' => $this->get_id(),
1177 1177
             )
1178 1178
         );
1179
-		return apply_filters( 'wpinv_subscription_update_url', $url, $this );
1180
-	}
1181
-
1182
-	/**
1183
-	 * Retrieves the subscription status label
1184
-	 *
1185
-	 * @since  1.0.0
1186
-	 * @return string
1187
-	 */
1188
-	public function get_status_label() {
1189
-		return getpaid_get_subscription_status_label( $this->get_status() );
1190
-	}
1191
-
1192
-	/**
1193
-	 * Retrieves the subscription status class
1194
-	 *
1195
-	 * @since  1.0.19
1196
-	 * @return string
1197
-	 */
1198
-	public function get_status_class() {
1199
-		$statuses = getpaid_get_subscription_status_classes();
1200
-		return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'bg-dark';
1201
-	}
1179
+        return apply_filters( 'wpinv_subscription_update_url', $url, $this );
1180
+    }
1181
+
1182
+    /**
1183
+     * Retrieves the subscription status label
1184
+     *
1185
+     * @since  1.0.0
1186
+     * @return string
1187
+     */
1188
+    public function get_status_label() {
1189
+        return getpaid_get_subscription_status_label( $this->get_status() );
1190
+    }
1191
+
1192
+    /**
1193
+     * Retrieves the subscription status class
1194
+     *
1195
+     * @since  1.0.19
1196
+     * @return string
1197
+     */
1198
+    public function get_status_class() {
1199
+        $statuses = getpaid_get_subscription_status_classes();
1200
+        return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'bg-dark';
1201
+    }
1202 1202
 
1203 1203
     /**
1204 1204
      * Retrieves the subscription status label
@@ -1208,11 +1208,11 @@  discard block
 block discarded – undo
1208 1208
      */
1209 1209
     public function get_status_label_html() {
1210 1210
 
1211
-		$status_label = sanitize_text_field( $this->get_status_label() );
1212
-		$class        = esc_attr( $this->get_status_class() );
1213
-		$status       = sanitize_html_class( $this->get_status() );
1211
+        $status_label = sanitize_text_field( $this->get_status_label() );
1212
+        $class        = esc_attr( $this->get_status_class() );
1213
+        $status       = sanitize_html_class( $this->get_status() );
1214 1214
 
1215
-		return "<span class='bsui'><span class='badge $class $status text-white'>$status_label</span></span>";
1215
+        return "<span class='bsui'><span class='badge $class $status text-white'>$status_label</span></span>";
1216 1216
     }
1217 1217
 
1218 1218
     /**
@@ -1223,75 +1223,75 @@  discard block
 block discarded – undo
1223 1223
      * @return bool
1224 1224
      */
1225 1225
     public function payment_exists( $txn_id = '' ) {
1226
-		$invoice_id = WPInv_Invoice::get_invoice_id_by_field( $txn_id, 'transaction_id' );
1226
+        $invoice_id = WPInv_Invoice::get_invoice_id_by_field( $txn_id, 'transaction_id' );
1227 1227
         return ! empty( $invoice_id );
1228
-	}
1229
-
1230
-	/**
1231
-	 * Handle the status transition.
1232
-	 */
1233
-	protected function status_transition() {
1234
-		$status_transition = $this->status_transition;
1235
-
1236
-		// Reset status transition variable.
1237
-		$this->status_transition = false;
1238
-
1239
-		if ( $status_transition ) {
1240
-			try {
1241
-
1242
-				// Fire a hook for the status change.
1243
-				do_action( 'wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition );
1244
-				do_action( 'getpaid_subscription_' . $status_transition['to'], $this, $status_transition );
1245
-
1246
-				if ( ! empty( $status_transition['from'] ) ) {
1247
-
1248
-					/* translators: 1: old subscription status 2: new subscription status */
1249
-					$transition_note = sprintf( __( 'Subscription status changed from %1$s to %2$s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['from'] ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1250
-
1251
-					// Note the transition occurred.
1252
-					$this->get_parent_payment()->add_note( $transition_note, false, false, true );
1253
-
1254
-					// Fire another hook.
1255
-					do_action( 'getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this );
1256
-					do_action( 'getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to'] );
1257
-
1258
-				} else {
1259
-					/* translators: %s: new invoice status */
1260
-					$transition_note = sprintf( __( 'Subscription status set to %s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1261
-
1262
-					// Note the transition occurred.
1263
-					$this->get_parent_payment()->add_note( $transition_note, false, false, true );
1264
-
1265
-				}
1266
-			} catch ( Exception $e ) {
1267
-				$this->get_parent_payment()->add_note( __( 'Error during subscription status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
1268
-			}
1269
-		}
1270
-
1271
-	}
1272
-
1273
-	/**
1274
-	 * Save data to the database.
1275
-	 *
1276
-	 * @since 1.0.19
1277
-	 * @return int subscription ID
1278
-	 */
1279
-	public function save() {
1280
-		parent::save();
1281
-		$this->status_transition();
1282
-		return $this->get_id();
1283
-	}
1284
-
1285
-	/**
1286
-	 * Activates a subscription.
1287
-	 *
1288
-	 * @since 1.0.19
1289
-	 * @return int subscription ID
1290
-	 */
1291
-	public function activate() {
1292
-		$status = $this->has_trial_period() && 'trialling' === $this->get_status() ? 'trialling' : 'active';
1293
-		$this->set_status( $status );
1294
-		return $this->save();
1295
-	}
1228
+    }
1229
+
1230
+    /**
1231
+     * Handle the status transition.
1232
+     */
1233
+    protected function status_transition() {
1234
+        $status_transition = $this->status_transition;
1235
+
1236
+        // Reset status transition variable.
1237
+        $this->status_transition = false;
1238
+
1239
+        if ( $status_transition ) {
1240
+            try {
1241
+
1242
+                // Fire a hook for the status change.
1243
+                do_action( 'wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition );
1244
+                do_action( 'getpaid_subscription_' . $status_transition['to'], $this, $status_transition );
1245
+
1246
+                if ( ! empty( $status_transition['from'] ) ) {
1247
+
1248
+                    /* translators: 1: old subscription status 2: new subscription status */
1249
+                    $transition_note = sprintf( __( 'Subscription status changed from %1$s to %2$s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['from'] ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1250
+
1251
+                    // Note the transition occurred.
1252
+                    $this->get_parent_payment()->add_note( $transition_note, false, false, true );
1253
+
1254
+                    // Fire another hook.
1255
+                    do_action( 'getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this );
1256
+                    do_action( 'getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to'] );
1257
+
1258
+                } else {
1259
+                    /* translators: %s: new invoice status */
1260
+                    $transition_note = sprintf( __( 'Subscription status set to %s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1261
+
1262
+                    // Note the transition occurred.
1263
+                    $this->get_parent_payment()->add_note( $transition_note, false, false, true );
1264
+
1265
+                }
1266
+            } catch ( Exception $e ) {
1267
+                $this->get_parent_payment()->add_note( __( 'Error during subscription status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
1268
+            }
1269
+        }
1270
+
1271
+    }
1272
+
1273
+    /**
1274
+     * Save data to the database.
1275
+     *
1276
+     * @since 1.0.19
1277
+     * @return int subscription ID
1278
+     */
1279
+    public function save() {
1280
+        parent::save();
1281
+        $this->status_transition();
1282
+        return $this->get_id();
1283
+    }
1284
+
1285
+    /**
1286
+     * Activates a subscription.
1287
+     *
1288
+     * @since 1.0.19
1289
+     * @return int subscription ID
1290
+     */
1291
+    public function activate() {
1292
+        $status = $this->has_trial_period() && 'trialling' === $this->get_status() ? 'trialling' : 'active';
1293
+        $this->set_status( $status );
1294
+        return $this->save();
1295
+    }
1296 1296
 
1297 1297
 }
Please login to merge, or discard this patch.
Spacing   +239 added lines, -239 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package Invoicing
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * The Subscription Class
@@ -68,27 +68,27 @@  discard block
 block discarded – undo
68 68
 	 * @param  int|string|object|WPInv_Subscription $subscription Subscription id, profile_id, or object to read.
69 69
 	 * @param  bool $deprecated
70 70
 	 */
71
-	function __construct( $subscription = 0, $deprecated = false ) {
71
+	function __construct($subscription = 0, $deprecated = false) {
72 72
 
73
-		parent::__construct( $subscription );
73
+		parent::__construct($subscription);
74 74
 
75
-		if ( ! $deprecated && ! empty( $subscription ) && is_numeric( $subscription ) ) {
76
-			$this->set_id( $subscription );
77
-		} elseif ( $subscription instanceof self ) {
78
-			$this->set_id( $subscription->get_id() );
79
-		} elseif ( $deprecated && $subscription_id = self::get_subscription_id_by_field( $subscription, 'profile_id' ) ) {
80
-			$this->set_id( $subscription_id );
81
-		} elseif ( ! empty( $subscription->id ) ) {
82
-			$this->set_id( $subscription->id );
75
+		if (!$deprecated && !empty($subscription) && is_numeric($subscription)) {
76
+			$this->set_id($subscription);
77
+		} elseif ($subscription instanceof self) {
78
+			$this->set_id($subscription->get_id());
79
+		} elseif ($deprecated && $subscription_id = self::get_subscription_id_by_field($subscription, 'profile_id')) {
80
+			$this->set_id($subscription_id);
81
+		} elseif (!empty($subscription->id)) {
82
+			$this->set_id($subscription->id);
83 83
 		} else {
84
-			$this->set_object_read( true );
84
+			$this->set_object_read(true);
85 85
 		}
86 86
 
87 87
 		// Load the datastore.
88
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
88
+		$this->data_store = GetPaid_Data_Store::load($this->data_store_name);
89 89
 
90
-		if ( $this->get_id() > 0 ) {
91
-			$this->data_store->read( $this );
90
+		if ($this->get_id() > 0) {
91
+			$this->data_store->read($this);
92 92
 		}
93 93
 
94 94
 	}
@@ -103,17 +103,17 @@  discard block
 block discarded – undo
103 103
 	 * @since 1.0.19
104 104
 	 * @return int
105 105
 	 */
106
-	public static function get_subscription_id_by_field( $value, $field = 'profile_id' ) {
106
+	public static function get_subscription_id_by_field($value, $field = 'profile_id') {
107 107
         global $wpdb;
108 108
 
109 109
 		// Trim the value.
110
-		$value = trim( $value );
110
+		$value = trim($value);
111 111
 
112
-		if ( empty( $value ) ) {
112
+		if (empty($value)) {
113 113
 			return 0;
114 114
 		}
115 115
 
116
-		if ( 'invoice_id' == $field ) {
116
+		if ('invoice_id' == $field) {
117 117
 			$field = 'parent_payment_id';
118 118
 		}
119 119
 
@@ -125,28 +125,28 @@  discard block
 block discarded – undo
125 125
 		);
126 126
 
127 127
 		// Ensure a field has been passed.
128
-		if ( empty( $field ) || ! in_array( $field, $fields ) ) {
128
+		if (empty($field) || !in_array($field, $fields)) {
129 129
 			return 0;
130 130
 		}
131 131
 
132 132
 		// Maybe retrieve from the cache.
133
-		$subscription_id   = wp_cache_get( $value, "getpaid_subscription_{$field}s_to_subscription_ids" );
134
-		if ( ! empty( $subscription_id ) ) {
133
+		$subscription_id = wp_cache_get($value, "getpaid_subscription_{$field}s_to_subscription_ids");
134
+		if (!empty($subscription_id)) {
135 135
 			return $subscription_id;
136 136
 		}
137 137
 
138 138
         // Fetch from the db.
139 139
         $table            = $wpdb->prefix . 'wpinv_subscriptions';
140 140
         $subscription_id  = (int) $wpdb->get_var(
141
-            $wpdb->prepare( "SELECT `id` FROM $table WHERE `$field`=%s LIMIT 1", $value )
141
+            $wpdb->prepare("SELECT `id` FROM $table WHERE `$field`=%s LIMIT 1", $value)
142 142
         );
143 143
 
144
-		if ( empty( $subscription_id ) ) {
144
+		if (empty($subscription_id)) {
145 145
 			return 0;
146 146
 		}
147 147
 
148 148
 		// Update the cache with our data.
149
-		wp_cache_set( $value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids" );
149
+		wp_cache_set($value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids");
150 150
 
151 151
 		return $subscription_id;
152 152
 	}
@@ -162,9 +162,9 @@  discard block
 block discarded – undo
162 162
 			'getpaid_subscriptions'                                       => $this->get_id(),
163 163
 		);
164 164
 
165
-		foreach ( $caches as $cache => $value ) {
166
-			if ( '' !== $value && false !== $value ) {
167
-				wp_cache_delete( $value, $cache );
165
+		foreach ($caches as $cache => $value) {
166
+			if ('' !== $value && false !== $value) {
167
+				wp_cache_delete($value, $cache);
168 168
 			}
169 169
 		}
170 170
 	}
@@ -172,8 +172,8 @@  discard block
 block discarded – undo
172 172
 	/**
173 173
      * Checks if a subscription key is set.
174 174
      */
175
-    public function _isset( $key ) {
176
-        return isset( $this->data[ $key ] ) || method_exists( $this, "get_$key" );
175
+    public function _isset($key) {
176
+        return isset($this->data[$key]) || method_exists($this, "get_$key");
177 177
 	}
178 178
 
179 179
 	/*
@@ -198,8 +198,8 @@  discard block
 block discarded – undo
198 198
 	 * @param  string $context View or edit context.
199 199
 	 * @return int
200 200
 	 */
201
-	public function get_customer_id( $context = 'view' ) {
202
-		return (int) $this->get_prop( 'customer_id', $context );
201
+	public function get_customer_id($context = 'view') {
202
+		return (int) $this->get_prop('customer_id', $context);
203 203
 	}
204 204
 
205 205
 	/**
@@ -209,8 +209,8 @@  discard block
 block discarded – undo
209 209
 	 * @param  string $context View or edit context.
210 210
 	 * @return WP_User|false WP_User object on success, false on failure.
211 211
 	 */
212
-	public function get_customer( $context = 'view' ) {
213
-		return get_userdata( $this->get_customer_id( $context ) );
212
+	public function get_customer($context = 'view') {
213
+		return get_userdata($this->get_customer_id($context));
214 214
 	}
215 215
 
216 216
 	/**
@@ -220,8 +220,8 @@  discard block
 block discarded – undo
220 220
 	 * @param  string $context View or edit context.
221 221
 	 * @return int
222 222
 	 */
223
-	public function get_parent_invoice_id( $context = 'view' ) {
224
-		return (int) $this->get_prop( 'parent_payment_id', $context );
223
+	public function get_parent_invoice_id($context = 'view') {
224
+		return (int) $this->get_prop('parent_payment_id', $context);
225 225
 	}
226 226
 
227 227
 	/**
@@ -231,8 +231,8 @@  discard block
 block discarded – undo
231 231
 	 * @param  string $context View or edit context.
232 232
 	 * @return int
233 233
 	 */
234
-    public function get_parent_payment_id( $context = 'view' ) {
235
-        return $this->get_parent_invoice_id( $context );
234
+    public function get_parent_payment_id($context = 'view') {
235
+        return $this->get_parent_invoice_id($context);
236 236
 	}
237 237
 
238 238
 	/**
@@ -241,8 +241,8 @@  discard block
 block discarded – undo
241 241
      * @since  1.0.0
242 242
      * @return int
243 243
      */
244
-    public function get_original_payment_id( $context = 'view' ) {
245
-        return $this->get_parent_invoice_id( $context );
244
+    public function get_original_payment_id($context = 'view') {
245
+        return $this->get_parent_invoice_id($context);
246 246
     }
247 247
 
248 248
 	/**
@@ -252,8 +252,8 @@  discard block
 block discarded – undo
252 252
 	 * @param  string $context View or edit context.
253 253
 	 * @return WPInv_Invoice
254 254
 	 */
255
-	public function get_parent_invoice( $context = 'view' ) {
256
-		return new WPInv_Invoice( $this->get_parent_invoice_id( $context ) );
255
+	public function get_parent_invoice($context = 'view') {
256
+		return new WPInv_Invoice($this->get_parent_invoice_id($context));
257 257
 	}
258 258
 
259 259
 	/**
@@ -263,8 +263,8 @@  discard block
 block discarded – undo
263 263
 	 * @param  string $context View or edit context.
264 264
 	 * @return WPInv_Invoice
265 265
 	 */
266
-    public function get_parent_payment( $context = 'view' ) {
267
-        return $this->get_parent_invoice( $context );
266
+    public function get_parent_payment($context = 'view') {
267
+        return $this->get_parent_invoice($context);
268 268
 	}
269 269
 
270 270
 	/**
@@ -274,8 +274,8 @@  discard block
 block discarded – undo
274 274
 	 * @param  string $context View or edit context.
275 275
 	 * @return int
276 276
 	 */
277
-	public function get_product_id( $context = 'view' ) {
278
-		return (int) $this->get_prop( 'product_id', $context );
277
+	public function get_product_id($context = 'view') {
278
+		return (int) $this->get_prop('product_id', $context);
279 279
 	}
280 280
 
281 281
 	/**
@@ -285,8 +285,8 @@  discard block
 block discarded – undo
285 285
 	 * @param  string $context View or edit context.
286 286
 	 * @return WPInv_Item
287 287
 	 */
288
-	public function get_product( $context = 'view' ) {
289
-		return new WPInv_Item( $this->get_product_id( $context ) );
288
+	public function get_product($context = 'view') {
289
+		return new WPInv_Item($this->get_product_id($context));
290 290
 	}
291 291
 
292 292
 	/**
@@ -298,8 +298,8 @@  discard block
 block discarded – undo
298 298
 	 * @param  string $context View or edit context.
299 299
 	 * @return string
300 300
 	 */
301
-	public function get_gateway( $context = 'view' ) {
302
-		return $this->get_parent_invoice( $context )->get_gateway();
301
+	public function get_gateway($context = 'view') {
302
+		return $this->get_parent_invoice($context)->get_gateway();
303 303
 	}
304 304
 
305 305
 	/**
@@ -309,8 +309,8 @@  discard block
 block discarded – undo
309 309
 	 * @param  string $context View or edit context.
310 310
 	 * @return string
311 311
 	 */
312
-	public function get_period( $context = 'view' ) {
313
-		return $this->get_prop( 'period', $context );
312
+	public function get_period($context = 'view') {
313
+		return $this->get_prop('period', $context);
314 314
 	}
315 315
 
316 316
 	/**
@@ -320,8 +320,8 @@  discard block
 block discarded – undo
320 320
 	 * @param  string $context View or edit context.
321 321
 	 * @return int
322 322
 	 */
323
-	public function get_frequency( $context = 'view' ) {
324
-		return (int) $this->get_prop( 'frequency', $context );
323
+	public function get_frequency($context = 'view') {
324
+		return (int) $this->get_prop('frequency', $context);
325 325
 	}
326 326
 
327 327
 	/**
@@ -331,8 +331,8 @@  discard block
 block discarded – undo
331 331
 	 * @param  string $context View or edit context.
332 332
 	 * @return float
333 333
 	 */
334
-	public function get_initial_amount( $context = 'view' ) {
335
-		return (float) wpinv_sanitize_amount( $this->get_prop( 'initial_amount', $context ) );
334
+	public function get_initial_amount($context = 'view') {
335
+		return (float) wpinv_sanitize_amount($this->get_prop('initial_amount', $context));
336 336
 	}
337 337
 
338 338
 	/**
@@ -342,8 +342,8 @@  discard block
 block discarded – undo
342 342
 	 * @param  string $context View or edit context.
343 343
 	 * @return float
344 344
 	 */
345
-	public function get_recurring_amount( $context = 'view' ) {
346
-		return (float) wpinv_sanitize_amount( $this->get_prop( 'recurring_amount', $context ) );
345
+	public function get_recurring_amount($context = 'view') {
346
+		return (float) wpinv_sanitize_amount($this->get_prop('recurring_amount', $context));
347 347
 	}
348 348
 
349 349
 	/**
@@ -353,8 +353,8 @@  discard block
 block discarded – undo
353 353
 	 * @param  string $context View or edit context.
354 354
 	 * @return int
355 355
 	 */
356
-	public function get_bill_times( $context = 'view' ) {
357
-		return (int) $this->get_prop( 'bill_times', $context );
356
+	public function get_bill_times($context = 'view') {
357
+		return (int) $this->get_prop('bill_times', $context);
358 358
 	}
359 359
 
360 360
 	/**
@@ -364,8 +364,8 @@  discard block
 block discarded – undo
364 364
 	 * @param  string $context View or edit context.
365 365
 	 * @return string
366 366
 	 */
367
-	public function get_transaction_id( $context = 'view' ) {
368
-		return $this->get_prop( 'transaction_id', $context );
367
+	public function get_transaction_id($context = 'view') {
368
+		return $this->get_prop('transaction_id', $context);
369 369
 	}
370 370
 
371 371
 	/**
@@ -375,8 +375,8 @@  discard block
 block discarded – undo
375 375
 	 * @param  string $context View or edit context.
376 376
 	 * @return string
377 377
 	 */
378
-	public function get_created( $context = 'view' ) {
379
-		return $this->get_prop( 'created', $context );
378
+	public function get_created($context = 'view') {
379
+		return $this->get_prop('created', $context);
380 380
 	}
381 381
 
382 382
 	/**
@@ -386,8 +386,8 @@  discard block
 block discarded – undo
386 386
 	 * @param  string $context View or edit context.
387 387
 	 * @return string
388 388
 	 */
389
-	public function get_date_created( $context = 'view' ) {
390
-		return $this->get_created( $context );
389
+	public function get_date_created($context = 'view') {
390
+		return $this->get_created($context);
391 391
 	}
392 392
 
393 393
 	/**
@@ -398,7 +398,7 @@  discard block
 block discarded – undo
398 398
 	 */
399 399
 	public function get_time_created() {
400 400
 		$created = $this->get_date_created();
401
-		return empty( $created ) ? current_time( 'timestamp' ) : strtotime( $created, current_time( 'timestamp' ) );
401
+		return empty($created) ? current_time('timestamp') : strtotime($created, current_time('timestamp'));
402 402
 	}
403 403
 
404 404
 	/**
@@ -408,11 +408,11 @@  discard block
 block discarded – undo
408 408
 	 * @param  string $context View or edit context.
409 409
 	 * @return string
410 410
 	 */
411
-	public function get_date_created_gmt( $context = 'view' ) {
412
-        $date = $this->get_date_created( $context );
411
+	public function get_date_created_gmt($context = 'view') {
412
+        $date = $this->get_date_created($context);
413 413
 
414
-        if ( $date ) {
415
-            $date = get_gmt_from_date( $date );
414
+        if ($date) {
415
+            $date = get_gmt_from_date($date);
416 416
         }
417 417
 		return $date;
418 418
 	}
@@ -424,8 +424,8 @@  discard block
 block discarded – undo
424 424
 	 * @param  string $context View or edit context.
425 425
 	 * @return string
426 426
 	 */
427
-	public function get_next_renewal_date( $context = 'view' ) {
428
-		return $this->get_prop( 'expiration', $context );
427
+	public function get_next_renewal_date($context = 'view') {
428
+		return $this->get_prop('expiration', $context);
429 429
 	}
430 430
 
431 431
 	/**
@@ -435,8 +435,8 @@  discard block
 block discarded – undo
435 435
 	 * @param  string $context View or edit context.
436 436
 	 * @return string
437 437
 	 */
438
-	public function get_expiration( $context = 'view' ) {
439
-		return $this->get_next_renewal_date( $context );
438
+	public function get_expiration($context = 'view') {
439
+		return $this->get_next_renewal_date($context);
440 440
 	}
441 441
 
442 442
 	/**
@@ -448,12 +448,12 @@  discard block
 block discarded – undo
448 448
 	public function get_expiration_time() {
449 449
 		$expiration = $this->get_expiration();
450 450
 
451
-		if ( empty( $expiration ) || '0000-00-00 00:00:00' == $expiration ) {
452
-			return current_time( 'timestamp' );
451
+		if (empty($expiration) || '0000-00-00 00:00:00' == $expiration) {
452
+			return current_time('timestamp');
453 453
 		}
454 454
 
455
-		$expiration = strtotime( $expiration, current_time( 'timestamp' ) );
456
-		return $expiration < current_time( 'timestamp' ) ? current_time( 'timestamp' ) : $expiration;
455
+		$expiration = strtotime($expiration, current_time('timestamp'));
456
+		return $expiration < current_time('timestamp') ? current_time('timestamp') : $expiration;
457 457
 	}
458 458
 
459 459
 	/**
@@ -463,11 +463,11 @@  discard block
 block discarded – undo
463 463
 	 * @param  string $context View or edit context.
464 464
 	 * @return string
465 465
 	 */
466
-	public function get_next_renewal_date_gmt( $context = 'view' ) {
467
-        $date = $this->get_next_renewal_date( $context );
466
+	public function get_next_renewal_date_gmt($context = 'view') {
467
+        $date = $this->get_next_renewal_date($context);
468 468
 
469
-        if ( $date ) {
470
-            $date = get_gmt_from_date( $date );
469
+        if ($date) {
470
+            $date = get_gmt_from_date($date);
471 471
         }
472 472
 		return $date;
473 473
 	}
@@ -479,8 +479,8 @@  discard block
 block discarded – undo
479 479
 	 * @param  string $context View or edit context.
480 480
 	 * @return string
481 481
 	 */
482
-	public function get_trial_period( $context = 'view' ) {
483
-		return $this->get_prop( 'trial_period', $context );
482
+	public function get_trial_period($context = 'view') {
483
+		return $this->get_prop('trial_period', $context);
484 484
 	}
485 485
 
486 486
 	/**
@@ -490,8 +490,8 @@  discard block
 block discarded – undo
490 490
 	 * @param  string $context View or edit context.
491 491
 	 * @return string
492 492
 	 */
493
-	public function get_status( $context = 'view' ) {
494
-		return $this->get_prop( 'status', $context );
493
+	public function get_status($context = 'view') {
494
+		return $this->get_prop('status', $context);
495 495
 	}
496 496
 
497 497
 	/**
@@ -501,8 +501,8 @@  discard block
 block discarded – undo
501 501
 	 * @param  string $context View or edit context.
502 502
 	 * @return string
503 503
 	 */
504
-	public function get_profile_id( $context = 'view' ) {
505
-		return $this->get_prop( 'profile_id', $context );
504
+	public function get_profile_id($context = 'view') {
505
+		return $this->get_prop('profile_id', $context);
506 506
 	}
507 507
 
508 508
 	/*
@@ -517,8 +517,8 @@  discard block
 block discarded – undo
517 517
 	 * @since 1.0.19
518 518
 	 * @param  int $value The customer's id.
519 519
 	 */
520
-	public function set_customer_id( $value ) {
521
-		$this->set_prop( 'customer_id', (int) $value );
520
+	public function set_customer_id($value) {
521
+		$this->set_prop('customer_id', (int) $value);
522 522
 	}
523 523
 
524 524
 	/**
@@ -527,8 +527,8 @@  discard block
 block discarded – undo
527 527
 	 * @since 1.0.19
528 528
 	 * @param  int $value The parent invoice id.
529 529
 	 */
530
-	public function set_parent_invoice_id( $value ) {
531
-		$this->set_prop( 'parent_payment_id', (int) $value );
530
+	public function set_parent_invoice_id($value) {
531
+		$this->set_prop('parent_payment_id', (int) $value);
532 532
 	}
533 533
 
534 534
 	/**
@@ -537,8 +537,8 @@  discard block
 block discarded – undo
537 537
 	 * @since 1.0.19
538 538
 	 * @param  int $value The parent invoice id.
539 539
 	 */
540
-    public function set_parent_payment_id( $value ) {
541
-        $this->set_parent_invoice_id( $value );
540
+    public function set_parent_payment_id($value) {
541
+        $this->set_parent_invoice_id($value);
542 542
 	}
543 543
 
544 544
 	/**
@@ -547,8 +547,8 @@  discard block
 block discarded – undo
547 547
      * @since 1.0.19
548 548
 	 * @param  int $value The parent invoice id.
549 549
      */
550
-    public function set_original_payment_id( $value ) {
551
-        $this->set_parent_invoice_id( $value );
550
+    public function set_original_payment_id($value) {
551
+        $this->set_parent_invoice_id($value);
552 552
 	}
553 553
 
554 554
 	/**
@@ -557,8 +557,8 @@  discard block
 block discarded – undo
557 557
 	 * @since 1.0.19
558 558
 	 * @param  int $value The subscription product id.
559 559
 	 */
560
-	public function set_product_id( $value ) {
561
-		$this->set_prop( 'product_id', (int) $value );
560
+	public function set_product_id($value) {
561
+		$this->set_prop('product_id', (int) $value);
562 562
 	}
563 563
 
564 564
 	/**
@@ -567,8 +567,8 @@  discard block
 block discarded – undo
567 567
 	 * @since 1.0.19
568 568
 	 * @param  string $value The renewal period.
569 569
 	 */
570
-	public function set_period( $value ) {
571
-		$this->set_prop( 'period', $value );
570
+	public function set_period($value) {
571
+		$this->set_prop('period', $value);
572 572
 	}
573 573
 
574 574
 	/**
@@ -577,9 +577,9 @@  discard block
 block discarded – undo
577 577
 	 * @since 1.0.19
578 578
 	 * @param  int $value The subscription frequency.
579 579
 	 */
580
-	public function set_frequency( $value ) {
581
-		$value = empty( $value ) ? 1 : (int) $value;
582
-		$this->set_prop( 'frequency', absint( $value ) );
580
+	public function set_frequency($value) {
581
+		$value = empty($value) ? 1 : (int) $value;
582
+		$this->set_prop('frequency', absint($value));
583 583
 	}
584 584
 
585 585
 	/**
@@ -588,8 +588,8 @@  discard block
 block discarded – undo
588 588
 	 * @since 1.0.19
589 589
 	 * @param  float $value The initial subcription amount.
590 590
 	 */
591
-	public function set_initial_amount( $value ) {
592
-		$this->set_prop( 'initial_amount', wpinv_sanitize_amount( $value ) );
591
+	public function set_initial_amount($value) {
592
+		$this->set_prop('initial_amount', wpinv_sanitize_amount($value));
593 593
 	}
594 594
 
595 595
 	/**
@@ -598,8 +598,8 @@  discard block
 block discarded – undo
598 598
 	 * @since 1.0.19
599 599
 	 * @param  float $value The recurring subcription amount.
600 600
 	 */
601
-	public function set_recurring_amount( $value ) {
602
-		$this->set_prop( 'recurring_amount', wpinv_sanitize_amount( $value ) );
601
+	public function set_recurring_amount($value) {
602
+		$this->set_prop('recurring_amount', wpinv_sanitize_amount($value));
603 603
 	}
604 604
 
605 605
 	/**
@@ -608,8 +608,8 @@  discard block
 block discarded – undo
608 608
 	 * @since 1.0.19
609 609
 	 * @param  int $value Bill times.
610 610
 	 */
611
-	public function set_bill_times( $value ) {
612
-		$this->set_prop( 'bill_times', (int) $value );
611
+	public function set_bill_times($value) {
612
+		$this->set_prop('bill_times', (int) $value);
613 613
 	}
614 614
 
615 615
 	/**
@@ -618,8 +618,8 @@  discard block
 block discarded – undo
618 618
 	 * @since 1.0.19
619 619
 	 * @param string $value Bill times.
620 620
 	 */
621
-	public function set_transaction_id( $value ) {
622
-		$this->set_prop( 'transaction_id', sanitize_text_field( $value ) );
621
+	public function set_transaction_id($value) {
622
+		$this->set_prop('transaction_id', sanitize_text_field($value));
623 623
 	}
624 624
 
625 625
 	/**
@@ -628,15 +628,15 @@  discard block
 block discarded – undo
628 628
 	 * @since 1.0.19
629 629
 	 * @param string $value strtotime compliant date.
630 630
 	 */
631
-	public function set_created( $value ) {
632
-        $date = strtotime( $value );
631
+	public function set_created($value) {
632
+        $date = strtotime($value);
633 633
 
634
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
635
-            $this->set_prop( 'created', gmdate( 'Y-m-d H:i:s', $date ) );
634
+        if ($date && $value !== '0000-00-00 00:00:00') {
635
+            $this->set_prop('created', gmdate('Y-m-d H:i:s', $date));
636 636
             return;
637 637
         }
638 638
 
639
-		$this->set_prop( 'created', '' );
639
+		$this->set_prop('created', '');
640 640
 
641 641
 	}
642 642
 
@@ -646,8 +646,8 @@  discard block
 block discarded – undo
646 646
 	 * @since 1.0.19
647 647
 	 * @param string $value strtotime compliant date.
648 648
 	 */
649
-	public function set_date_created( $value ) {
650
-		$this->set_created( $value );
649
+	public function set_date_created($value) {
650
+		$this->set_created($value);
651 651
     }
652 652
 
653 653
 	/**
@@ -656,15 +656,15 @@  discard block
 block discarded – undo
656 656
 	 * @since 1.0.19
657 657
 	 * @param string $value strtotime compliant date.
658 658
 	 */
659
-	public function set_next_renewal_date( $value ) {
660
-		$date = strtotime( $value );
659
+	public function set_next_renewal_date($value) {
660
+		$date = strtotime($value);
661 661
 
662
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
663
-            $this->set_prop( 'expiration', gmdate( 'Y-m-d H:i:s', $date ) );
662
+        if ($date && $value !== '0000-00-00 00:00:00') {
663
+            $this->set_prop('expiration', gmdate('Y-m-d H:i:s', $date));
664 664
             return;
665 665
 		}
666 666
 
667
-		$this->set_prop( 'expiration', '' );
667
+		$this->set_prop('expiration', '');
668 668
 
669 669
 	}
670 670
 
@@ -674,8 +674,8 @@  discard block
 block discarded – undo
674 674
 	 * @since 1.0.19
675 675
 	 * @param string $value strtotime compliant date.
676 676
 	 */
677
-	public function set_expiration( $value ) {
678
-		$this->set_next_renewal_date( $value );
677
+	public function set_expiration($value) {
678
+		$this->set_next_renewal_date($value);
679 679
     }
680 680
 
681 681
 	/**
@@ -684,8 +684,8 @@  discard block
 block discarded – undo
684 684
 	 * @since 1.0.19
685 685
 	 * @param string $value trial period e.g 1 year.
686 686
 	 */
687
-	public function set_trial_period( $value ) {
688
-		$this->set_prop( 'trial_period', $value );
687
+	public function set_trial_period($value) {
688
+		$this->set_prop('trial_period', $value);
689 689
 	}
690 690
 
691 691
 	/**
@@ -694,22 +694,22 @@  discard block
 block discarded – undo
694 694
 	 * @since 1.0.19
695 695
 	 * @param string $new_status    New subscription status.
696 696
 	 */
697
-	public function set_status( $new_status ) {
697
+	public function set_status($new_status) {
698 698
 
699 699
 		// Abort if this is not a valid status;
700
-		if ( ! array_key_exists( $new_status, getpaid_get_subscription_statuses() ) ) {
700
+		if (!array_key_exists($new_status, getpaid_get_subscription_statuses())) {
701 701
 			return;
702 702
 		}
703 703
 
704
-		$old_status = ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $this->get_status();
705
-		if ( true === $this->object_read && $old_status !== $new_status ) {
704
+		$old_status = !empty($this->status_transition['from']) ? $this->status_transition['from'] : $this->get_status();
705
+		if (true === $this->object_read && $old_status !== $new_status) {
706 706
 			$this->status_transition = array(
707 707
 				'from' => $old_status,
708 708
 				'to'   => $new_status,
709 709
 			);
710 710
 		}
711 711
 
712
-		$this->set_prop( 'status', $new_status );
712
+		$this->set_prop('status', $new_status);
713 713
 	}
714 714
 
715 715
 	/**
@@ -718,8 +718,8 @@  discard block
 block discarded – undo
718 718
 	 * @since 1.0.19
719 719
 	 * @param  string $value the remote profile id.
720 720
 	 */
721
-	public function set_profile_id( $value ) {
722
-		$this->set_prop( 'profile_id', sanitize_text_field( $value ) );
721
+	public function set_profile_id($value) {
722
+		$this->set_prop('profile_id', sanitize_text_field($value));
723 723
 	}
724 724
 
725 725
 	/*
@@ -737,8 +737,8 @@  discard block
 block discarded – undo
737 737
 	 * @param string|array String or array of strings to check for.
738 738
 	 * @return bool
739 739
      */
740
-    public function has_status( $status ) {
741
-        return in_array( $this->get_status(), wpinv_clean( wpinv_parse_list( $status ) ) );
740
+    public function has_status($status) {
741
+        return in_array($this->get_status(), wpinv_clean(wpinv_parse_list($status)));
742 742
 	}
743 743
 
744 744
 	/**
@@ -748,7 +748,7 @@  discard block
 block discarded – undo
748 748
      */
749 749
     public function has_trial_period() {
750 750
 		$period = $this->get_trial_period();
751
-        return ! empty( $period );
751
+        return !empty($period);
752 752
 	}
753 753
 
754 754
 	/**
@@ -757,7 +757,7 @@  discard block
 block discarded – undo
757 757
 	 * @return bool
758 758
 	 */
759 759
 	public function is_active() {
760
-		return $this->has_status( 'active trialling' ) && ! $this->is_expired();
760
+		return $this->has_status('active trialling') && !$this->is_expired();
761 761
 	}
762 762
 
763 763
 	/**
@@ -766,7 +766,7 @@  discard block
 block discarded – undo
766 766
 	 * @return bool
767 767
 	 */
768 768
 	public function is_expired() {
769
-		return $this->has_status( 'expired' ) || ( $this->has_status( 'active cancelled trialling' ) && $this->get_expiration_time() < current_time( 'timestamp' ) );
769
+		return $this->has_status('expired') || ($this->has_status('active cancelled trialling') && $this->get_expiration_time() < current_time('timestamp'));
770 770
 	}
771 771
 
772 772
 	/**
@@ -776,7 +776,7 @@  discard block
 block discarded – undo
776 776
 	 */
777 777
 	public function is_last_renewal() {
778 778
 		$max_bills = $this->get_bill_times();
779
-		return ! empty( $max_bills ) && $max_bills <= $this->get_times_billed();
779
+		return !empty($max_bills) && $max_bills <= $this->get_times_billed();
780 780
 	}
781 781
 
782 782
 	/*
@@ -791,11 +791,11 @@  discard block
 block discarded – undo
791 791
 	/**
792 792
 	 * Backwards compatibilty.
793 793
 	 */
794
-	public function create( $data = array() ) {
794
+	public function create($data = array()) {
795 795
 
796 796
 		// Set the properties.
797
-		if ( is_array( $data ) ) {
798
-			$this->set_props( $data );
797
+		if (is_array($data)) {
798
+			$this->set_props($data);
799 799
 		}
800 800
 
801 801
 		// Save the item.
@@ -806,8 +806,8 @@  discard block
 block discarded – undo
806 806
 	/**
807 807
 	 * Backwards compatibilty.
808 808
 	 */
809
-	public function update( $args = array() ) {
810
-		return $this->create( $args );
809
+	public function update($args = array()) {
810
+		return $this->create($args);
811 811
 	}
812 812
 
813 813
     /**
@@ -816,12 +816,12 @@  discard block
 block discarded – undo
816 816
      * @since  1.0.0
817 817
      * @return WP_Post[]
818 818
      */
819
-    public function get_child_payments( $hide_pending = true ) {
819
+    public function get_child_payments($hide_pending = true) {
820 820
 
821
-		$statuses = array( 'publish', 'wpi-processing', 'wpi-renewal' );
821
+		$statuses = array('publish', 'wpi-processing', 'wpi-renewal');
822 822
 
823
-		if ( ! $hide_pending ) {
824
-			$statuses = array_keys( wpinv_get_invoice_statuses() );
823
+		if (!$hide_pending) {
824
+			$statuses = array_keys(wpinv_get_invoice_statuses());
825 825
 		}
826 826
 
827 827
         return get_posts(
@@ -843,7 +843,7 @@  discard block
 block discarded – undo
843 843
      * @return int
844 844
      */
845 845
     public function get_total_payments() {
846
-		return getpaid_count_subscription_invoices( $this->get_parent_invoice_id(), $this->get_id() );
846
+		return getpaid_count_subscription_invoices($this->get_parent_invoice_id(), $this->get_id());
847 847
     }
848 848
 
849 849
     /**
@@ -855,7 +855,7 @@  discard block
 block discarded – undo
855 855
     public function get_times_billed() {
856 856
         $times_billed = $this->get_total_payments();
857 857
 
858
-        if ( (float) $this->get_initial_amount() == 0 && $times_billed > 0 ) {
858
+        if ((float) $this->get_initial_amount() == 0 && $times_billed > 0) {
859 859
             $times_billed--;
860 860
         }
861 861
 
@@ -870,52 +870,52 @@  discard block
 block discarded – undo
870 870
 	 * @param  WPInv_Invoice $invoice If adding an existing invoice.
871 871
      * @return bool
872 872
      */
873
-    public function add_payment( $args = array(), $invoice = false ) {
873
+    public function add_payment($args = array(), $invoice = false) {
874 874
 
875 875
 		// Process each payment once.
876
-        if ( ! empty( $args['transaction_id'] ) && $this->payment_exists( $args['transaction_id'] ) ) {
876
+        if (!empty($args['transaction_id']) && $this->payment_exists($args['transaction_id'])) {
877 877
             return false;
878 878
         }
879 879
 
880 880
 		// Are we creating a new invoice?
881
-		if ( empty( $invoice ) ) {
882
-			$invoice = $this->create_payment( false );
881
+		if (empty($invoice)) {
882
+			$invoice = $this->create_payment(false);
883 883
 
884
-			if ( empty( $invoice ) ) {
884
+			if (empty($invoice)) {
885 885
 				return false;
886 886
 			}
887 887
 		}
888 888
 
889 889
 		// Maybe set a transaction id.
890
-		if ( ! empty( $args['transaction_id'] ) ) {
891
-			$invoice->set_transaction_id( $args['transaction_id'] );
890
+		if (!empty($args['transaction_id'])) {
891
+			$invoice->set_transaction_id($args['transaction_id']);
892 892
 		}
893 893
 
894 894
 		// Set the completed date.
895
-		$invoice->set_completed_date( current_time( 'mysql' ) );
895
+		$invoice->set_completed_date(current_time('mysql'));
896 896
 
897 897
 		// And the gateway.
898
-		if ( ! empty( $args['gateway'] ) ) {
899
-			$invoice->set_gateway( $args['gateway'] );
898
+		if (!empty($args['gateway'])) {
899
+			$invoice->set_gateway($args['gateway']);
900 900
 		}
901 901
 
902
-		$invoice->set_status( 'wpi-renewal' );
902
+		$invoice->set_status('wpi-renewal');
903 903
 		$invoice->save();
904 904
 
905
-		if ( ! $invoice->exists() ) {
905
+		if (!$invoice->exists()) {
906 906
 			return false;
907 907
 		}
908 908
 
909
-		return $this->after_add_payment( $invoice );
909
+		return $this->after_add_payment($invoice);
910 910
 	}
911 911
 
912
-    public function after_add_payment( $invoice ) {
912
+    public function after_add_payment($invoice) {
913 913
 
914
-		do_action( 'getpaid_after_create_subscription_renewal_invoice', $invoice, $this );
915
-		do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this );
916
-        do_action( 'wpinv_recurring_record_payment', $invoice->get_id(), $this->get_parent_invoice_id(), $invoice->get_recurring_total(), $invoice->get_transaction_id() );
914
+		do_action('getpaid_after_create_subscription_renewal_invoice', $invoice, $this);
915
+		do_action('wpinv_recurring_add_subscription_payment', $invoice, $this);
916
+        do_action('wpinv_recurring_record_payment', $invoice->get_id(), $this->get_parent_invoice_id(), $invoice->get_recurring_total(), $invoice->get_transaction_id());
917 917
 
918
-        update_post_meta( $invoice->get_id(), '_wpinv_subscription_id', $this->id );
918
+        update_post_meta($invoice->get_id(), '_wpinv_subscription_id', $this->id);
919 919
 
920 920
         return $invoice->get_id();
921 921
 	}
@@ -927,53 +927,53 @@  discard block
 block discarded – undo
927 927
 	 * @param bool $save Whether we should save the invoice.
928 928
      * @return WPInv_Invoice|bool
929 929
      */
930
-    public function create_payment( $save = true ) {
930
+    public function create_payment($save = true) {
931 931
 
932 932
 		$parent_invoice = $this->get_parent_payment();
933 933
 
934
-		if ( ! $parent_invoice->exists() ) {
934
+		if (!$parent_invoice->exists()) {
935 935
 			return false;
936 936
 		}
937 937
 
938 938
 		// Duplicate the parent invoice.
939
-		$invoice = getpaid_duplicate_invoice( $parent_invoice );
940
-		$invoice->set_parent_id( $parent_invoice->get_id() );
941
-		$invoice->set_subscription_id( $this->get_id() );
942
-		$invoice->set_remote_subscription_id( $this->get_profile_id() );
939
+		$invoice = getpaid_duplicate_invoice($parent_invoice);
940
+		$invoice->set_parent_id($parent_invoice->get_id());
941
+		$invoice->set_subscription_id($this->get_id());
942
+		$invoice->set_remote_subscription_id($this->get_profile_id());
943 943
 
944 944
 		// Set invoice items.
945
-		$subscription_group = getpaid_get_invoice_subscription_group( $parent_invoice->get_id(), $this->get_id() );
946
-		$allowed_items      = empty( $subscription_group ) ? array( $this->get_product_id() ) : array_keys( $subscription_group['items'] );
945
+		$subscription_group = getpaid_get_invoice_subscription_group($parent_invoice->get_id(), $this->get_id());
946
+		$allowed_items      = empty($subscription_group) ? array($this->get_product_id()) : array_keys($subscription_group['items']);
947 947
 		$invoice_items      = array();
948 948
 
949
-		foreach ( $invoice->get_items() as $item ) {
950
-			if ( in_array( $item->get_id(), $allowed_items ) ) {
949
+		foreach ($invoice->get_items() as $item) {
950
+			if (in_array($item->get_id(), $allowed_items)) {
951 951
 				$invoice_items[] = $item;
952 952
 			}
953 953
 		}
954 954
 
955
-		$invoice->set_items( $invoice_items );
955
+		$invoice->set_items($invoice_items);
956 956
 
957
-		if ( ! empty( $subscription_group['fees'] ) ) {
958
-			$invoice->set_fees( $subscription_group['fees'] );
957
+		if (!empty($subscription_group['fees'])) {
958
+			$invoice->set_fees($subscription_group['fees']);
959 959
 		}
960 960
 
961 961
 		// Maybe recalculate discount (Pre-GetPaid Fix).
962
-		$discount = new WPInv_Discount( $invoice->get_discount_code() );
962
+		$discount = new WPInv_Discount($invoice->get_discount_code());
963 963
 
964
-		if ( $discount->exists() && $discount->is_recurring() ) {
965
-			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
966
-		}  else {
964
+		if ($discount->exists() && $discount->is_recurring()) {
965
+			$invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount));
966
+		} else {
967 967
 			// Unset discount code.
968
-			$invoice->set_discount_code( '' );
968
+			$invoice->set_discount_code('');
969 969
 
970
-			$invoice->remove_discount( 'discount_code' );
970
+			$invoice->remove_discount('discount_code');
971 971
 		}
972 972
 
973 973
 		$invoice->recalculate_total();
974
-		$invoice->set_status( 'wpi-pending' );
974
+		$invoice->set_status('wpi-pending');
975 975
 
976
-		if ( ! $save ) {
976
+		if (!$save) {
977 977
 			return $invoice;
978 978
 		}
979 979
 
@@ -988,28 +988,28 @@  discard block
 block discarded – undo
988 988
 	 * @since  1.0.0
989 989
 	 * @return int The subscription's id
990 990
 	 */
991
-	public function renew( $calculate_from = null, $_new_expiration = null ) {
991
+	public function renew($calculate_from = null, $_new_expiration = null) {
992 992
 		// Complete subscription if applicable
993
-		if ( $this->is_last_renewal() ) {
993
+		if ($this->is_last_renewal()) {
994 994
 			return $this->complete();
995 995
 		}
996 996
 
997
-		if ( ! empty( $_new_expiration ) ) {
997
+		if (!empty($_new_expiration)) {
998 998
 			$new_expiration = $_new_expiration;
999 999
 		} else {
1000 1000
 			// Calculate new expiration
1001 1001
 			$frequency      = $this->get_frequency();
1002 1002
 			$period         = $this->get_period();
1003
-			$calculate_from = empty( $calculate_from ) ? $this->get_expiration_time() : $calculate_from;
1004
-			$new_expiration = strtotime( "+ $frequency $period", $calculate_from );
1005
-			$new_expiration = date( 'Y-m-d H:i:s', $new_expiration );
1003
+			$calculate_from = empty($calculate_from) ? $this->get_expiration_time() : $calculate_from;
1004
+			$new_expiration = strtotime("+ $frequency $period", $calculate_from);
1005
+			$new_expiration = date('Y-m-d H:i:s', $new_expiration);
1006 1006
 		}
1007 1007
 
1008
-		$this->set_expiration( $new_expiration );
1009
-		$this->set_status( 'active' );
1008
+		$this->set_expiration($new_expiration);
1009
+		$this->set_status('active');
1010 1010
 		$this->save();
1011 1011
 
1012
-		do_action( 'getpaid_subscription_renewed', $this );
1012
+		do_action('getpaid_subscription_renewed', $this);
1013 1013
 
1014 1014
 		return $this->get_id();
1015 1015
 	}
@@ -1025,11 +1025,11 @@  discard block
 block discarded – undo
1025 1025
 	public function complete() {
1026 1026
 
1027 1027
 		// Only mark a subscription as complete if it's not already cancelled.
1028
-		if ( $this->has_status( 'cancelled' ) ) {
1028
+		if ($this->has_status('cancelled')) {
1029 1029
 			return false;
1030 1030
 		}
1031 1031
 
1032
-		$this->set_status( 'completed' );
1032
+		$this->set_status('completed');
1033 1033
 		return $this->save();
1034 1034
 
1035 1035
 	}
@@ -1041,14 +1041,14 @@  discard block
 block discarded – undo
1041 1041
 	 * @param  bool $check_expiration
1042 1042
 	 * @return int|bool Subscription id or false if $check_expiration is true and expiration date is in the future.
1043 1043
 	 */
1044
-	public function expire( $check_expiration = false ) {
1044
+	public function expire($check_expiration = false) {
1045 1045
 
1046
-		if ( $check_expiration && $this->get_expiration_time() > current_time( 'timestamp' ) ) {
1046
+		if ($check_expiration && $this->get_expiration_time() > current_time('timestamp')) {
1047 1047
 			// Do not mark as expired since real expiration date is in the future
1048 1048
 			return false;
1049 1049
 		}
1050 1050
 
1051
-		$this->set_status( 'expired' );
1051
+		$this->set_status('expired');
1052 1052
 		return $this->save();
1053 1053
 
1054 1054
 	}
@@ -1060,7 +1060,7 @@  discard block
 block discarded – undo
1060 1060
 	 * @return int Subscription id.
1061 1061
 	 */
1062 1062
 	public function failing() {
1063
-		$this->set_status( 'failing' );
1063
+		$this->set_status('failing');
1064 1064
 		return $this->save();
1065 1065
 	}
1066 1066
 
@@ -1071,7 +1071,7 @@  discard block
 block discarded – undo
1071 1071
      * @return int Subscription id.
1072 1072
      */
1073 1073
     public function cancel() {
1074
-		$this->set_status( 'cancelled' );
1074
+		$this->set_status('cancelled');
1075 1075
 		return $this->save();
1076 1076
     }
1077 1077
 
@@ -1082,7 +1082,7 @@  discard block
 block discarded – undo
1082 1082
 	 * @return bool
1083 1083
 	 */
1084 1084
 	public function can_cancel() {
1085
-		return apply_filters( 'wpinv_subscription_can_cancel', $this->has_status( $this->get_cancellable_statuses() ), $this );
1085
+		return apply_filters('wpinv_subscription_can_cancel', $this->has_status($this->get_cancellable_statuses()), $this);
1086 1086
 	}
1087 1087
 
1088 1088
     /**
@@ -1093,7 +1093,7 @@  discard block
 block discarded – undo
1093 1093
      * @return      array
1094 1094
      */
1095 1095
     public function get_cancellable_statuses() {
1096
-        return apply_filters( 'wpinv_recurring_cancellable_statuses', array( 'active', 'trialling', 'failing' ) );
1096
+        return apply_filters('wpinv_recurring_cancellable_statuses', array('active', 'trialling', 'failing'));
1097 1097
     }
1098 1098
 
1099 1099
 	/**
@@ -1103,8 +1103,8 @@  discard block
 block discarded – undo
1103 1103
 	 * @return string
1104 1104
 	 */
1105 1105
 	public function get_cancel_url() {
1106
-		$url = getpaid_get_authenticated_action_url( 'subscription_cancel', $this->get_view_url() );
1107
-		return apply_filters( 'wpinv_subscription_cancel_url', $url, $this );
1106
+		$url = getpaid_get_authenticated_action_url('subscription_cancel', $this->get_view_url());
1107
+		return apply_filters('wpinv_subscription_cancel_url', $url, $this);
1108 1108
 	}
1109 1109
 
1110 1110
 	/**
@@ -1115,10 +1115,10 @@  discard block
 block discarded – undo
1115 1115
 	 */
1116 1116
 	public function get_view_url() {
1117 1117
 
1118
-		$url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
1119
-		$url = add_query_arg( 'subscription', $this->get_id(), $url );
1118
+		$url = getpaid_get_tab_url('gp-subscriptions', get_permalink((int) wpinv_get_option('invoice_subscription_page')));
1119
+		$url = add_query_arg('subscription', $this->get_id(), $url);
1120 1120
 
1121
-		return apply_filters( 'getpaid_get_subscription_view_url', $url, $this );
1121
+		return apply_filters('getpaid_get_subscription_view_url', $url, $this);
1122 1122
 	}
1123 1123
 
1124 1124
 	/**
@@ -1131,7 +1131,7 @@  discard block
 block discarded – undo
1131 1131
 	 * @return bool
1132 1132
 	 */
1133 1133
 	public function can_renew() {
1134
-		return apply_filters( 'wpinv_subscription_can_renew', true, $this );
1134
+		return apply_filters('wpinv_subscription_can_renew', true, $this);
1135 1135
 	}
1136 1136
 
1137 1137
 	/**
@@ -1150,7 +1150,7 @@  discard block
 block discarded – undo
1150 1150
             ),
1151 1151
             'getpaid-nonce'
1152 1152
         );
1153
-		return apply_filters( 'wpinv_subscription_renew_url', $url, $this );
1153
+		return apply_filters('wpinv_subscription_renew_url', $url, $this);
1154 1154
 	}
1155 1155
 
1156 1156
 	/**
@@ -1160,7 +1160,7 @@  discard block
 block discarded – undo
1160 1160
 	 * @return bool
1161 1161
 	 */
1162 1162
 	public function can_update() {
1163
-		return apply_filters( 'wpinv_subscription_can_update', false, $this );
1163
+		return apply_filters('wpinv_subscription_can_update', false, $this);
1164 1164
 	}
1165 1165
 
1166 1166
 	/**
@@ -1176,7 +1176,7 @@  discard block
 block discarded – undo
1176 1176
 				'subscription_id' => $this->get_id(),
1177 1177
             )
1178 1178
         );
1179
-		return apply_filters( 'wpinv_subscription_update_url', $url, $this );
1179
+		return apply_filters('wpinv_subscription_update_url', $url, $this);
1180 1180
 	}
1181 1181
 
1182 1182
 	/**
@@ -1186,7 +1186,7 @@  discard block
 block discarded – undo
1186 1186
 	 * @return string
1187 1187
 	 */
1188 1188
 	public function get_status_label() {
1189
-		return getpaid_get_subscription_status_label( $this->get_status() );
1189
+		return getpaid_get_subscription_status_label($this->get_status());
1190 1190
 	}
1191 1191
 
1192 1192
 	/**
@@ -1197,7 +1197,7 @@  discard block
 block discarded – undo
1197 1197
 	 */
1198 1198
 	public function get_status_class() {
1199 1199
 		$statuses = getpaid_get_subscription_status_classes();
1200
-		return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'bg-dark';
1200
+		return isset($statuses[$this->get_status()]) ? $statuses[$this->get_status()] : 'bg-dark';
1201 1201
 	}
1202 1202
 
1203 1203
     /**
@@ -1208,9 +1208,9 @@  discard block
 block discarded – undo
1208 1208
      */
1209 1209
     public function get_status_label_html() {
1210 1210
 
1211
-		$status_label = sanitize_text_field( $this->get_status_label() );
1212
-		$class        = esc_attr( $this->get_status_class() );
1213
-		$status       = sanitize_html_class( $this->get_status() );
1211
+		$status_label = sanitize_text_field($this->get_status_label());
1212
+		$class        = esc_attr($this->get_status_class());
1213
+		$status       = sanitize_html_class($this->get_status());
1214 1214
 
1215 1215
 		return "<span class='bsui'><span class='badge $class $status text-white'>$status_label</span></span>";
1216 1216
     }
@@ -1222,9 +1222,9 @@  discard block
 block discarded – undo
1222 1222
      * @param  string $txn_id The transaction ID from the merchant processor
1223 1223
      * @return bool
1224 1224
      */
1225
-    public function payment_exists( $txn_id = '' ) {
1226
-		$invoice_id = WPInv_Invoice::get_invoice_id_by_field( $txn_id, 'transaction_id' );
1227
-        return ! empty( $invoice_id );
1225
+    public function payment_exists($txn_id = '') {
1226
+		$invoice_id = WPInv_Invoice::get_invoice_id_by_field($txn_id, 'transaction_id');
1227
+        return !empty($invoice_id);
1228 1228
 	}
1229 1229
 
1230 1230
 	/**
@@ -1236,35 +1236,35 @@  discard block
 block discarded – undo
1236 1236
 		// Reset status transition variable.
1237 1237
 		$this->status_transition = false;
1238 1238
 
1239
-		if ( $status_transition ) {
1239
+		if ($status_transition) {
1240 1240
 			try {
1241 1241
 
1242 1242
 				// Fire a hook for the status change.
1243
-				do_action( 'wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition );
1244
-				do_action( 'getpaid_subscription_' . $status_transition['to'], $this, $status_transition );
1243
+				do_action('wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition);
1244
+				do_action('getpaid_subscription_' . $status_transition['to'], $this, $status_transition);
1245 1245
 
1246
-				if ( ! empty( $status_transition['from'] ) ) {
1246
+				if (!empty($status_transition['from'])) {
1247 1247
 
1248 1248
 					/* translators: 1: old subscription status 2: new subscription status */
1249
-					$transition_note = sprintf( __( 'Subscription status changed from %1$s to %2$s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['from'] ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1249
+					$transition_note = sprintf(__('Subscription status changed from %1$s to %2$s.', 'invoicing'), getpaid_get_subscription_status_label($status_transition['from']), getpaid_get_subscription_status_label($status_transition['to']));
1250 1250
 
1251 1251
 					// Note the transition occurred.
1252
-					$this->get_parent_payment()->add_note( $transition_note, false, false, true );
1252
+					$this->get_parent_payment()->add_note($transition_note, false, false, true);
1253 1253
 
1254 1254
 					// Fire another hook.
1255
-					do_action( 'getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this );
1256
-					do_action( 'getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to'] );
1255
+					do_action('getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this);
1256
+					do_action('getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to']);
1257 1257
 
1258 1258
 				} else {
1259 1259
 					/* translators: %s: new invoice status */
1260
-					$transition_note = sprintf( __( 'Subscription status set to %s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1260
+					$transition_note = sprintf(__('Subscription status set to %s.', 'invoicing'), getpaid_get_subscription_status_label($status_transition['to']));
1261 1261
 
1262 1262
 					// Note the transition occurred.
1263
-					$this->get_parent_payment()->add_note( $transition_note, false, false, true );
1263
+					$this->get_parent_payment()->add_note($transition_note, false, false, true);
1264 1264
 
1265 1265
 				}
1266
-			} catch ( Exception $e ) {
1267
-				$this->get_parent_payment()->add_note( __( 'Error during subscription status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
1266
+			} catch (Exception $e) {
1267
+				$this->get_parent_payment()->add_note(__('Error during subscription status transition.', 'invoicing') . ' ' . $e->getMessage());
1268 1268
 			}
1269 1269
 		}
1270 1270
 
@@ -1290,7 +1290,7 @@  discard block
 block discarded – undo
1290 1290
 	 */
1291 1291
 	public function activate() {
1292 1292
 		$status = $this->has_trial_period() && 'trialling' === $this->get_status() ? 'trialling' : 'active';
1293
-		$this->set_status( $status );
1293
+		$this->set_status($status);
1294 1294
 		return $this->save();
1295 1295
 	}
1296 1296
 
Please login to merge, or discard this patch.
includes/reports/class-getpaid-reports.php 2 patches
Indentation   +100 added lines, -100 removed lines patch added patch discarded remove patch
@@ -12,49 +12,49 @@  discard block
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Reports {
14 14
 
15
-	/**
16
-	 * Class constructor.
17
-	 *
18
-	 */
19
-	public function __construct() {
20
-		add_action( 'admin_menu', array( $this, 'register_reports_page' ), 20 );
21
-		add_action( 'wpinv_reports_tab_reports', array( $this, 'display_reports_tab' ) );
22
-		add_action( 'wpinv_reports_tab_export', array( $this, 'display_exports_tab' ) );
23
-		add_action( 'getpaid_authenticated_admin_action_download_graph', array( $this, 'download_graph' ) );
24
-		add_action( 'getpaid_authenticated_admin_action_export_invoices', array( $this, 'export_invoices' ) );
25
-
26
-	}
27
-
28
-	/**
29
-	 * Registers the reports page.
30
-	 *
31
-	 */
32
-	public function register_reports_page() {
33
-
34
-		add_submenu_page(
15
+    /**
16
+     * Class constructor.
17
+     *
18
+     */
19
+    public function __construct() {
20
+        add_action( 'admin_menu', array( $this, 'register_reports_page' ), 20 );
21
+        add_action( 'wpinv_reports_tab_reports', array( $this, 'display_reports_tab' ) );
22
+        add_action( 'wpinv_reports_tab_export', array( $this, 'display_exports_tab' ) );
23
+        add_action( 'getpaid_authenticated_admin_action_download_graph', array( $this, 'download_graph' ) );
24
+        add_action( 'getpaid_authenticated_admin_action_export_invoices', array( $this, 'export_invoices' ) );
25
+
26
+    }
27
+
28
+    /**
29
+     * Registers the reports page.
30
+     *
31
+     */
32
+    public function register_reports_page() {
33
+
34
+        add_submenu_page(
35 35
             'wpinv',
36 36
             __( 'Reports', 'invoicing' ),
37 37
             __( 'Reports', 'invoicing' ),
38 38
             wpinv_get_capability(),
39 39
             'wpinv-reports',
40 40
             array( $this, 'display_reports_page' )
41
-		);
41
+        );
42 42
 
43
-	}
43
+    }
44 44
 
45
-	/**
46
-	 * Displays the reports page.
47
-	 *
48
-	 */
49
-	public function display_reports_page() {
45
+    /**
46
+     * Displays the reports page.
47
+     *
48
+     */
49
+    public function display_reports_page() {
50 50
 
51
-		// Prepare variables.
52
-		$tabs        = $this->get_tabs();
53
-		$current_tab = isset( $_GET['tab'] ) ? sanitize_text_field( $_GET['tab'] ) : 'reports';
54
-		$current_tab = array_key_exists( $current_tab, $tabs ) ? $current_tab : 'reports';
51
+        // Prepare variables.
52
+        $tabs        = $this->get_tabs();
53
+        $current_tab = isset( $_GET['tab'] ) ? sanitize_text_field( $_GET['tab'] ) : 'reports';
54
+        $current_tab = array_key_exists( $current_tab, $tabs ) ? $current_tab : 'reports';
55 55
 
56
-		// Display the current tab.
57
-		?>
56
+        // Display the current tab.
57
+        ?>
58 58
 
59 59
         <div class="wrap">
60 60
 
@@ -63,19 +63,19 @@  discard block
 block discarded – undo
63 63
 			<nav class="nav-tab-wrapper">
64 64
 
65 65
 				<?php
66
-					foreach ( $tabs as $key => $label ) {
66
+                    foreach ( $tabs as $key => $label ) {
67 67
 
68
-					$key   = sanitize_key( $key );
69
-					$label = esc_html( $label );
70
-					$class = $key == $current_tab ? 'nav-tab nav-tab-active' : 'nav-tab ';
71
-					$url   = esc_url(
68
+                    $key   = sanitize_key( $key );
69
+                    $label = esc_html( $label );
70
+                    $class = $key == $current_tab ? 'nav-tab nav-tab-active' : 'nav-tab ';
71
+                    $url   = esc_url(
72 72
                         add_query_arg( 'tab', $key, admin_url( 'admin.php?page=wpinv-reports' ) )
73 73
                     );
74 74
 
75
-				echo wp_kses_post( "\n\t\t\t<a href='$url' class='" . $class . "'>$label</a>" );
75
+                echo wp_kses_post( "\n\t\t\t<a href='$url' class='" . $class . "'>$label</a>" );
76 76
 
77
-					}
78
-				?>
77
+                    }
78
+                ?>
79 79
 
80 80
 			</nav>
81 81
 
@@ -86,82 +86,82 @@  discard block
 block discarded – undo
86 86
         </div>
87 87
 		<?php
88 88
 
89
-			// Wordfence loads an unsupported version of chart js on our page.
90
-			wp_deregister_style( 'chart-js' );
91
-			wp_deregister_script( 'chart-js' );
92
-			wp_enqueue_script( 'chart-js', WPINV_PLUGIN_URL . 'assets/js/chart.min.js', array( 'jquery' ), '3.7.1', true );
89
+            // Wordfence loads an unsupported version of chart js on our page.
90
+            wp_deregister_style( 'chart-js' );
91
+            wp_deregister_script( 'chart-js' );
92
+            wp_enqueue_script( 'chart-js', WPINV_PLUGIN_URL . 'assets/js/chart.min.js', array( 'jquery' ), '3.7.1', true );
93 93
 
94
-	}
94
+    }
95 95
 
96
-	/**
97
-	 * Retrieves reports page tabs.
98
-	 *
99
-	 * @return array
100
-	 */
101
-	public function get_tabs() {
96
+    /**
97
+     * Retrieves reports page tabs.
98
+     *
99
+     * @return array
100
+     */
101
+    public function get_tabs() {
102 102
 
103
-		$tabs = array(
104
-			'reports' => __( 'Reports', 'invoicing' ),
105
-			'export'  => __( 'Export', 'invoicing' ),
106
-		);
103
+        $tabs = array(
104
+            'reports' => __( 'Reports', 'invoicing' ),
105
+            'export'  => __( 'Export', 'invoicing' ),
106
+        );
107 107
 
108
-		return apply_filters( 'getpaid_report_tabs', $tabs );
109
-	}
108
+        return apply_filters( 'getpaid_report_tabs', $tabs );
109
+    }
110 110
 
111
-	/**
112
-	 * Displays the reports tab.
113
-	 *
114
-	 */
115
-	public function display_reports_tab() {
111
+    /**
112
+     * Displays the reports tab.
113
+     *
114
+     */
115
+    public function display_reports_tab() {
116 116
 
117
-		$reports = new GetPaid_Reports_Report();
118
-		$reports->display();
117
+        $reports = new GetPaid_Reports_Report();
118
+        $reports->display();
119 119
 
120
-	}
120
+    }
121 121
 
122
-	/**
123
-	 * Displays the exports tab.
124
-	 *
125
-	 */
126
-	public function display_exports_tab() {
122
+    /**
123
+     * Displays the exports tab.
124
+     *
125
+     */
126
+    public function display_exports_tab() {
127 127
 
128
-		$exports = new GetPaid_Reports_Export();
129
-		$exports->display();
128
+        $exports = new GetPaid_Reports_Export();
129
+        $exports->display();
130 130
 
131
-	}
131
+    }
132 132
 
133
-	/**
134
-	 * Donwnloads a graph.
135
-	 *
136
-	 * @param array $args
137
-	 */
138
-	public function download_graph( $args ) {
133
+    /**
134
+     * Donwnloads a graph.
135
+     *
136
+     * @param array $args
137
+     */
138
+    public function download_graph( $args ) {
139 139
 
140
-		if ( ! empty( $args['graph'] ) ) {
141
-			$downloader = new GetPaid_Graph_Downloader();
142
-			$downloader->download( $args['graph'] );
143
-		}
140
+        if ( ! empty( $args['graph'] ) ) {
141
+            $downloader = new GetPaid_Graph_Downloader();
142
+            $downloader->download( $args['graph'] );
143
+        }
144 144
 
145
-	}
145
+    }
146 146
 
147
-	/**
148
-	 * Exports invoices.
149
-	 *
150
-	 * @param array $args
151
-	 */
152
-	public function export_invoices( $args ) {
147
+    /**
148
+     * Exports invoices.
149
+     *
150
+     * @param array $args
151
+     */
152
+    public function export_invoices( $args ) {
153 153
 
154
-		if ( ! empty( $args['post_type'] ) ) {
154
+        if ( ! empty( $args['post_type'] ) ) {
155 155
 
156
-			if ( 'subscriptions' === $args['post_type'] ) {
157
-				$downloader = new GetPaid_Subscription_Exporter();
158
-			} else {
159
-				$downloader = new GetPaid_Invoice_Exporter();
160
-			}
156
+            if ( 'subscriptions' === $args['post_type'] ) {
157
+                $downloader = new GetPaid_Subscription_Exporter();
158
+            } else {
159
+                $downloader = new GetPaid_Invoice_Exporter();
160
+            }
161 161
 
162
-			$downloader->export( $args['post_type'], $args );
163
-		}
162
+            $downloader->export( $args['post_type'], $args );
163
+        }
164 164
 
165
-	}
165
+    }
166 166
 
167 167
 }
Please login to merge, or discard this patch.
Spacing   +32 added lines, -32 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  *
6 6
  */
7 7
 
8
-defined( 'ABSPATH' ) || exit;
8
+defined('ABSPATH') || exit;
9 9
 
10 10
 /**
11 11
  * GetPaid_Reports Class.
@@ -17,11 +17,11 @@  discard block
 block discarded – undo
17 17
 	 *
18 18
 	 */
19 19
 	public function __construct() {
20
-		add_action( 'admin_menu', array( $this, 'register_reports_page' ), 20 );
21
-		add_action( 'wpinv_reports_tab_reports', array( $this, 'display_reports_tab' ) );
22
-		add_action( 'wpinv_reports_tab_export', array( $this, 'display_exports_tab' ) );
23
-		add_action( 'getpaid_authenticated_admin_action_download_graph', array( $this, 'download_graph' ) );
24
-		add_action( 'getpaid_authenticated_admin_action_export_invoices', array( $this, 'export_invoices' ) );
20
+		add_action('admin_menu', array($this, 'register_reports_page'), 20);
21
+		add_action('wpinv_reports_tab_reports', array($this, 'display_reports_tab'));
22
+		add_action('wpinv_reports_tab_export', array($this, 'display_exports_tab'));
23
+		add_action('getpaid_authenticated_admin_action_download_graph', array($this, 'download_graph'));
24
+		add_action('getpaid_authenticated_admin_action_export_invoices', array($this, 'export_invoices'));
25 25
 
26 26
 	}
27 27
 
@@ -33,11 +33,11 @@  discard block
 block discarded – undo
33 33
 
34 34
 		add_submenu_page(
35 35
             'wpinv',
36
-            __( 'Reports', 'invoicing' ),
37
-            __( 'Reports', 'invoicing' ),
36
+            __('Reports', 'invoicing'),
37
+            __('Reports', 'invoicing'),
38 38
             wpinv_get_capability(),
39 39
             'wpinv-reports',
40
-            array( $this, 'display_reports_page' )
40
+            array($this, 'display_reports_page')
41 41
 		);
42 42
 
43 43
 	}
@@ -50,46 +50,46 @@  discard block
 block discarded – undo
50 50
 
51 51
 		// Prepare variables.
52 52
 		$tabs        = $this->get_tabs();
53
-		$current_tab = isset( $_GET['tab'] ) ? sanitize_text_field( $_GET['tab'] ) : 'reports';
54
-		$current_tab = array_key_exists( $current_tab, $tabs ) ? $current_tab : 'reports';
53
+		$current_tab = isset($_GET['tab']) ? sanitize_text_field($_GET['tab']) : 'reports';
54
+		$current_tab = array_key_exists($current_tab, $tabs) ? $current_tab : 'reports';
55 55
 
56 56
 		// Display the current tab.
57 57
 		?>
58 58
 
59 59
         <div class="wrap">
60 60
 
61
-			<h1><?php echo esc_html( $tabs[ $current_tab ] ); ?></h1>
61
+			<h1><?php echo esc_html($tabs[$current_tab]); ?></h1>
62 62
 
63 63
 			<nav class="nav-tab-wrapper">
64 64
 
65 65
 				<?php
66
-					foreach ( $tabs as $key => $label ) {
66
+					foreach ($tabs as $key => $label) {
67 67
 
68
-					$key   = sanitize_key( $key );
69
-					$label = esc_html( $label );
68
+					$key   = sanitize_key($key);
69
+					$label = esc_html($label);
70 70
 					$class = $key == $current_tab ? 'nav-tab nav-tab-active' : 'nav-tab ';
71 71
 					$url   = esc_url(
72
-                        add_query_arg( 'tab', $key, admin_url( 'admin.php?page=wpinv-reports' ) )
72
+                        add_query_arg('tab', $key, admin_url('admin.php?page=wpinv-reports'))
73 73
                     );
74 74
 
75
-				echo wp_kses_post( "\n\t\t\t<a href='$url' class='" . $class . "'>$label</a>" );
75
+				echo wp_kses_post("\n\t\t\t<a href='$url' class='" . $class . "'>$label</a>");
76 76
 
77 77
 					}
78 78
 				?>
79 79
 
80 80
 			</nav>
81 81
 
82
-			<div class="bsui <?php echo esc_attr( $current_tab ); ?>">
83
-				<?php do_action( "wpinv_reports_tab_{$current_tab}" ); ?>
82
+			<div class="bsui <?php echo esc_attr($current_tab); ?>">
83
+				<?php do_action("wpinv_reports_tab_{$current_tab}"); ?>
84 84
 			</div>
85 85
 
86 86
         </div>
87 87
 		<?php
88 88
 
89 89
 			// Wordfence loads an unsupported version of chart js on our page.
90
-			wp_deregister_style( 'chart-js' );
91
-			wp_deregister_script( 'chart-js' );
92
-			wp_enqueue_script( 'chart-js', WPINV_PLUGIN_URL . 'assets/js/chart.min.js', array( 'jquery' ), '3.7.1', true );
90
+			wp_deregister_style('chart-js');
91
+			wp_deregister_script('chart-js');
92
+			wp_enqueue_script('chart-js', WPINV_PLUGIN_URL . 'assets/js/chart.min.js', array('jquery'), '3.7.1', true);
93 93
 
94 94
 	}
95 95
 
@@ -101,11 +101,11 @@  discard block
 block discarded – undo
101 101
 	public function get_tabs() {
102 102
 
103 103
 		$tabs = array(
104
-			'reports' => __( 'Reports', 'invoicing' ),
105
-			'export'  => __( 'Export', 'invoicing' ),
104
+			'reports' => __('Reports', 'invoicing'),
105
+			'export'  => __('Export', 'invoicing'),
106 106
 		);
107 107
 
108
-		return apply_filters( 'getpaid_report_tabs', $tabs );
108
+		return apply_filters('getpaid_report_tabs', $tabs);
109 109
 	}
110 110
 
111 111
 	/**
@@ -135,11 +135,11 @@  discard block
 block discarded – undo
135 135
 	 *
136 136
 	 * @param array $args
137 137
 	 */
138
-	public function download_graph( $args ) {
138
+	public function download_graph($args) {
139 139
 
140
-		if ( ! empty( $args['graph'] ) ) {
140
+		if (!empty($args['graph'])) {
141 141
 			$downloader = new GetPaid_Graph_Downloader();
142
-			$downloader->download( $args['graph'] );
142
+			$downloader->download($args['graph']);
143 143
 		}
144 144
 
145 145
 	}
@@ -149,17 +149,17 @@  discard block
 block discarded – undo
149 149
 	 *
150 150
 	 * @param array $args
151 151
 	 */
152
-	public function export_invoices( $args ) {
152
+	public function export_invoices($args) {
153 153
 
154
-		if ( ! empty( $args['post_type'] ) ) {
154
+		if (!empty($args['post_type'])) {
155 155
 
156
-			if ( 'subscriptions' === $args['post_type'] ) {
156
+			if ('subscriptions' === $args['post_type']) {
157 157
 				$downloader = new GetPaid_Subscription_Exporter();
158 158
 			} else {
159 159
 				$downloader = new GetPaid_Invoice_Exporter();
160 160
 			}
161 161
 
162
-			$downloader->export( $args['post_type'], $args );
162
+			$downloader->export($args['post_type'], $args);
163 163
 		}
164 164
 
165 165
 	}
Please login to merge, or discard this patch.
includes/class-getpaid-daily-maintenance.php 2 patches
Indentation   +137 added lines, -137 removed lines patch added patch discarded remove patch
@@ -12,142 +12,142 @@
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Daily_Maintenance {
14 14
 
15
-	/**
16
-	 * Class constructor.
17
-	 */
18
-	public function __construct() {
19
-
20
-		// Clear deprecated events.
21
-		add_action( 'wp', array( $this, 'maybe_clear_deprecated_events' ) );
22
-
23
-		// (Maybe) schedule a cron that runs daily.
24
-		add_action( 'wp', array( $this, 'maybe_create_scheduled_event' ) );
25
-
26
-		// Fired everyday at 7 a.m (this might vary for sites with few visitors)
27
-		add_action( 'getpaid_daily_maintenance', array( $this, 'log_cron_run' ) );
28
-		add_action( 'getpaid_daily_maintenance', array( $this, 'backwards_compat' ) );
29
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_expire_subscriptions' ) );
30
-		add_action( 'getpaid_daily_maintenance', array( $this, 'check_renewing_subscriptions' ) );
31
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_update_geoip_databases' ) );
32
-
33
-	}
34
-
35
-	/**
36
-	 * Schedules a cron to run every day at 7 a.m
37
-	 *
38
-	 */
39
-	public function maybe_create_scheduled_event() {
40
-
41
-		if ( ! wp_next_scheduled( 'getpaid_daily_maintenance' ) ) {
42
-			$timestamp = strtotime( 'tomorrow 07:00:00', current_time( 'timestamp' ) );
43
-			wp_schedule_event( $timestamp, 'daily', 'getpaid_daily_maintenance' );
44
-		}
45
-
46
-	}
47
-
48
-	/**
49
-	 * Clears deprecated events.
50
-	 *
51
-	 */
52
-	public function maybe_clear_deprecated_events() {
53
-
54
-		if ( ! get_option( 'wpinv_cleared_old_events' ) ) {
55
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_twicedaily' );
56
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_daily' );
57
-			update_option( 'wpinv_cleared_old_events', 1 );
58
-		}
59
-
60
-	}
61
-
62
-	/**
63
-	 * Fires the old hook for backwards compatibility.
64
-	 *
65
-	 */
66
-	public function backwards_compat() {
67
-		do_action( 'wpinv_register_schedule_event_daily' );
68
-	}
69
-
70
-	/**
71
-	 * Checks for subscriptions that are scheduled to renew.
72
-	 *
73
-	 */
74
-	public function check_renewing_subscriptions() {
75
-
76
-		// Fetch subscriptions that expire today.
77
-		$args  = array(
78
-			'number'             => -1,
79
-			'count_total'        => false,
80
-			'status'             => 'trialling active',
81
-			'date_expires_query' => array(
82
-				array(
83
-					'year'    => gmdate( 'Y' ),
84
-					'month'   => gmdate( 'n' ),
85
-					'day'     => gmdate( 'j' ),
86
-					'compare' => '=',
87
-				),
88
-			),
89
-		);
90
-
91
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
92
-
93
-		foreach ( $subscriptions->get_results() as $subscription ) {
94
-			/** @var WPInv_Subscription $subscription */
95
-			if ( $subscription->is_last_renewal() ) {
96
-				$subscription->complete();
97
-			} else {
98
-				do_action( 'getpaid_should_renew_subscription', $subscription, $subscription->get_parent_invoice() );
99
-			}
100
-		}
101
-	}
102
-
103
-	/**
104
-	 * Expires expired subscriptions.
105
-	 *
106
-	 */
107
-	public function maybe_expire_subscriptions() {
108
-
109
-		// Fetch expired subscriptions (skips those that expire today).
110
-		$args  = array(
111
-			'number'             => -1,
112
-			'count_total'        => false,
113
-			'status'             => 'trialling active failing cancelled',
114
-			'date_expires_query' => array(
115
-				'before'    => 'yesterday',
116
-				'inclusive' => false,
117
-			),
118
-		);
119
-
120
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
121
-
122
-		foreach ( $subscriptions->get_results() as $subscription ) {
123
-			if ( apply_filters( 'getpaid_daily_maintenance_should_expire_subscription', false, $subscription ) ) {
124
-				$subscription->set_status( 'expired' );
125
-				$subscription->save();
126
-			}
127
-		}
128
-
129
-	}
130
-
131
-	/**
132
-	 * Logs cron runs.
133
-	 *
134
-	 */
135
-	public function log_cron_run() {
136
-		wpinv_error_log( 'GetPaid Daily Cron', false );
137
-	}
138
-
139
-	/**
140
-	 * Updates GeoIP databases.
141
-	 *
142
-	 */
143
-	public function maybe_update_geoip_databases() {
144
-		$updated = get_transient( 'getpaid_updated_geoip_databases' );
145
-
146
-		if ( false === $updated ) {
147
-			set_transient( 'getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS );
148
-			do_action( 'getpaid_update_geoip_databases' );
149
-		}
150
-
151
-	}
15
+    /**
16
+     * Class constructor.
17
+     */
18
+    public function __construct() {
19
+
20
+        // Clear deprecated events.
21
+        add_action( 'wp', array( $this, 'maybe_clear_deprecated_events' ) );
22
+
23
+        // (Maybe) schedule a cron that runs daily.
24
+        add_action( 'wp', array( $this, 'maybe_create_scheduled_event' ) );
25
+
26
+        // Fired everyday at 7 a.m (this might vary for sites with few visitors)
27
+        add_action( 'getpaid_daily_maintenance', array( $this, 'log_cron_run' ) );
28
+        add_action( 'getpaid_daily_maintenance', array( $this, 'backwards_compat' ) );
29
+        add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_expire_subscriptions' ) );
30
+        add_action( 'getpaid_daily_maintenance', array( $this, 'check_renewing_subscriptions' ) );
31
+        add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_update_geoip_databases' ) );
32
+
33
+    }
34
+
35
+    /**
36
+     * Schedules a cron to run every day at 7 a.m
37
+     *
38
+     */
39
+    public function maybe_create_scheduled_event() {
40
+
41
+        if ( ! wp_next_scheduled( 'getpaid_daily_maintenance' ) ) {
42
+            $timestamp = strtotime( 'tomorrow 07:00:00', current_time( 'timestamp' ) );
43
+            wp_schedule_event( $timestamp, 'daily', 'getpaid_daily_maintenance' );
44
+        }
45
+
46
+    }
47
+
48
+    /**
49
+     * Clears deprecated events.
50
+     *
51
+     */
52
+    public function maybe_clear_deprecated_events() {
53
+
54
+        if ( ! get_option( 'wpinv_cleared_old_events' ) ) {
55
+            wp_clear_scheduled_hook( 'wpinv_register_schedule_event_twicedaily' );
56
+            wp_clear_scheduled_hook( 'wpinv_register_schedule_event_daily' );
57
+            update_option( 'wpinv_cleared_old_events', 1 );
58
+        }
59
+
60
+    }
61
+
62
+    /**
63
+     * Fires the old hook for backwards compatibility.
64
+     *
65
+     */
66
+    public function backwards_compat() {
67
+        do_action( 'wpinv_register_schedule_event_daily' );
68
+    }
69
+
70
+    /**
71
+     * Checks for subscriptions that are scheduled to renew.
72
+     *
73
+     */
74
+    public function check_renewing_subscriptions() {
75
+
76
+        // Fetch subscriptions that expire today.
77
+        $args  = array(
78
+            'number'             => -1,
79
+            'count_total'        => false,
80
+            'status'             => 'trialling active',
81
+            'date_expires_query' => array(
82
+                array(
83
+                    'year'    => gmdate( 'Y' ),
84
+                    'month'   => gmdate( 'n' ),
85
+                    'day'     => gmdate( 'j' ),
86
+                    'compare' => '=',
87
+                ),
88
+            ),
89
+        );
90
+
91
+        $subscriptions = new GetPaid_Subscriptions_Query( $args );
92
+
93
+        foreach ( $subscriptions->get_results() as $subscription ) {
94
+            /** @var WPInv_Subscription $subscription */
95
+            if ( $subscription->is_last_renewal() ) {
96
+                $subscription->complete();
97
+            } else {
98
+                do_action( 'getpaid_should_renew_subscription', $subscription, $subscription->get_parent_invoice() );
99
+            }
100
+        }
101
+    }
102
+
103
+    /**
104
+     * Expires expired subscriptions.
105
+     *
106
+     */
107
+    public function maybe_expire_subscriptions() {
108
+
109
+        // Fetch expired subscriptions (skips those that expire today).
110
+        $args  = array(
111
+            'number'             => -1,
112
+            'count_total'        => false,
113
+            'status'             => 'trialling active failing cancelled',
114
+            'date_expires_query' => array(
115
+                'before'    => 'yesterday',
116
+                'inclusive' => false,
117
+            ),
118
+        );
119
+
120
+        $subscriptions = new GetPaid_Subscriptions_Query( $args );
121
+
122
+        foreach ( $subscriptions->get_results() as $subscription ) {
123
+            if ( apply_filters( 'getpaid_daily_maintenance_should_expire_subscription', false, $subscription ) ) {
124
+                $subscription->set_status( 'expired' );
125
+                $subscription->save();
126
+            }
127
+        }
128
+
129
+    }
130
+
131
+    /**
132
+     * Logs cron runs.
133
+     *
134
+     */
135
+    public function log_cron_run() {
136
+        wpinv_error_log( 'GetPaid Daily Cron', false );
137
+    }
138
+
139
+    /**
140
+     * Updates GeoIP databases.
141
+     *
142
+     */
143
+    public function maybe_update_geoip_databases() {
144
+        $updated = get_transient( 'getpaid_updated_geoip_databases' );
145
+
146
+        if ( false === $updated ) {
147
+            set_transient( 'getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS );
148
+            do_action( 'getpaid_update_geoip_databases' );
149
+        }
150
+
151
+    }
152 152
 
153 153
 }
Please login to merge, or discard this patch.
Spacing   +34 added lines, -34 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
  * Daily maintenance class.
@@ -18,17 +18,17 @@  discard block
 block discarded – undo
18 18
 	public function __construct() {
19 19
 
20 20
 		// Clear deprecated events.
21
-		add_action( 'wp', array( $this, 'maybe_clear_deprecated_events' ) );
21
+		add_action('wp', array($this, 'maybe_clear_deprecated_events'));
22 22
 
23 23
 		// (Maybe) schedule a cron that runs daily.
24
-		add_action( 'wp', array( $this, 'maybe_create_scheduled_event' ) );
24
+		add_action('wp', array($this, 'maybe_create_scheduled_event'));
25 25
 
26 26
 		// Fired everyday at 7 a.m (this might vary for sites with few visitors)
27
-		add_action( 'getpaid_daily_maintenance', array( $this, 'log_cron_run' ) );
28
-		add_action( 'getpaid_daily_maintenance', array( $this, 'backwards_compat' ) );
29
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_expire_subscriptions' ) );
30
-		add_action( 'getpaid_daily_maintenance', array( $this, 'check_renewing_subscriptions' ) );
31
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_update_geoip_databases' ) );
27
+		add_action('getpaid_daily_maintenance', array($this, 'log_cron_run'));
28
+		add_action('getpaid_daily_maintenance', array($this, 'backwards_compat'));
29
+		add_action('getpaid_daily_maintenance', array($this, 'maybe_expire_subscriptions'));
30
+		add_action('getpaid_daily_maintenance', array($this, 'check_renewing_subscriptions'));
31
+		add_action('getpaid_daily_maintenance', array($this, 'maybe_update_geoip_databases'));
32 32
 
33 33
 	}
34 34
 
@@ -38,9 +38,9 @@  discard block
 block discarded – undo
38 38
 	 */
39 39
 	public function maybe_create_scheduled_event() {
40 40
 
41
-		if ( ! wp_next_scheduled( 'getpaid_daily_maintenance' ) ) {
42
-			$timestamp = strtotime( 'tomorrow 07:00:00', current_time( 'timestamp' ) );
43
-			wp_schedule_event( $timestamp, 'daily', 'getpaid_daily_maintenance' );
41
+		if (!wp_next_scheduled('getpaid_daily_maintenance')) {
42
+			$timestamp = strtotime('tomorrow 07:00:00', current_time('timestamp'));
43
+			wp_schedule_event($timestamp, 'daily', 'getpaid_daily_maintenance');
44 44
 		}
45 45
 
46 46
 	}
@@ -51,10 +51,10 @@  discard block
 block discarded – undo
51 51
 	 */
52 52
 	public function maybe_clear_deprecated_events() {
53 53
 
54
-		if ( ! get_option( 'wpinv_cleared_old_events' ) ) {
55
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_twicedaily' );
56
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_daily' );
57
-			update_option( 'wpinv_cleared_old_events', 1 );
54
+		if (!get_option('wpinv_cleared_old_events')) {
55
+			wp_clear_scheduled_hook('wpinv_register_schedule_event_twicedaily');
56
+			wp_clear_scheduled_hook('wpinv_register_schedule_event_daily');
57
+			update_option('wpinv_cleared_old_events', 1);
58 58
 		}
59 59
 
60 60
 	}
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
 	 *
65 65
 	 */
66 66
 	public function backwards_compat() {
67
-		do_action( 'wpinv_register_schedule_event_daily' );
67
+		do_action('wpinv_register_schedule_event_daily');
68 68
 	}
69 69
 
70 70
 	/**
@@ -74,28 +74,28 @@  discard block
 block discarded – undo
74 74
 	public function check_renewing_subscriptions() {
75 75
 
76 76
 		// Fetch subscriptions that expire today.
77
-		$args  = array(
77
+		$args = array(
78 78
 			'number'             => -1,
79 79
 			'count_total'        => false,
80 80
 			'status'             => 'trialling active',
81 81
 			'date_expires_query' => array(
82 82
 				array(
83
-					'year'    => gmdate( 'Y' ),
84
-					'month'   => gmdate( 'n' ),
85
-					'day'     => gmdate( 'j' ),
83
+					'year'    => gmdate('Y'),
84
+					'month'   => gmdate('n'),
85
+					'day'     => gmdate('j'),
86 86
 					'compare' => '=',
87 87
 				),
88 88
 			),
89 89
 		);
90 90
 
91
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
91
+		$subscriptions = new GetPaid_Subscriptions_Query($args);
92 92
 
93
-		foreach ( $subscriptions->get_results() as $subscription ) {
93
+		foreach ($subscriptions->get_results() as $subscription) {
94 94
 			/** @var WPInv_Subscription $subscription */
95
-			if ( $subscription->is_last_renewal() ) {
95
+			if ($subscription->is_last_renewal()) {
96 96
 				$subscription->complete();
97 97
 			} else {
98
-				do_action( 'getpaid_should_renew_subscription', $subscription, $subscription->get_parent_invoice() );
98
+				do_action('getpaid_should_renew_subscription', $subscription, $subscription->get_parent_invoice());
99 99
 			}
100 100
 		}
101 101
 	}
@@ -107,7 +107,7 @@  discard block
 block discarded – undo
107 107
 	public function maybe_expire_subscriptions() {
108 108
 
109 109
 		// Fetch expired subscriptions (skips those that expire today).
110
-		$args  = array(
110
+		$args = array(
111 111
 			'number'             => -1,
112 112
 			'count_total'        => false,
113 113
 			'status'             => 'trialling active failing cancelled',
@@ -117,11 +117,11 @@  discard block
 block discarded – undo
117 117
 			),
118 118
 		);
119 119
 
120
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
120
+		$subscriptions = new GetPaid_Subscriptions_Query($args);
121 121
 
122
-		foreach ( $subscriptions->get_results() as $subscription ) {
123
-			if ( apply_filters( 'getpaid_daily_maintenance_should_expire_subscription', false, $subscription ) ) {
124
-				$subscription->set_status( 'expired' );
122
+		foreach ($subscriptions->get_results() as $subscription) {
123
+			if (apply_filters('getpaid_daily_maintenance_should_expire_subscription', false, $subscription)) {
124
+				$subscription->set_status('expired');
125 125
 				$subscription->save();
126 126
 			}
127 127
 		}
@@ -133,7 +133,7 @@  discard block
 block discarded – undo
133 133
 	 *
134 134
 	 */
135 135
 	public function log_cron_run() {
136
-		wpinv_error_log( 'GetPaid Daily Cron', false );
136
+		wpinv_error_log('GetPaid Daily Cron', false);
137 137
 	}
138 138
 
139 139
 	/**
@@ -141,11 +141,11 @@  discard block
 block discarded – undo
141 141
 	 *
142 142
 	 */
143 143
 	public function maybe_update_geoip_databases() {
144
-		$updated = get_transient( 'getpaid_updated_geoip_databases' );
144
+		$updated = get_transient('getpaid_updated_geoip_databases');
145 145
 
146
-		if ( false === $updated ) {
147
-			set_transient( 'getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS );
148
-			do_action( 'getpaid_update_geoip_databases' );
146
+		if (false === $updated) {
147
+			set_transient('getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS);
148
+			do_action('getpaid_update_geoip_databases');
149 149
 		}
150 150
 
151 151
 	}
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-manual-gateway.php 2 patches
Indentation   +52 added lines, -52 removed lines patch added patch discarded remove patch
@@ -13,17 +13,17 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Manual_Gateway extends GetPaid_Payment_Gateway {
14 14
 
15 15
     /**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20 20
     public $id = 'manual';
21 21
 
22 22
     /**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27 27
     protected $supports = array(
28 28
         'subscription',
29 29
         'addons',
@@ -34,16 +34,16 @@  discard block
 block discarded – undo
34 34
     );
35 35
 
36 36
     /**
37
-	 * Payment method order.
38
-	 *
39
-	 * @var int
40
-	 */
41
-	public $order = 11;
37
+     * Payment method order.
38
+     *
39
+     * @var int
40
+     */
41
+    public $order = 11;
42 42
 
43 43
     /**
44
-	 * Class constructor.
45
-	 */
46
-	public function __construct() {
44
+     * Class constructor.
45
+     */
46
+    public function __construct() {
47 47
         parent::__construct();
48 48
 
49 49
         $this->title        = __( 'Test Gateway', 'invoicing' );
@@ -53,15 +53,15 @@  discard block
 block discarded – undo
53 53
     }
54 54
 
55 55
     /**
56
-	 * Process Payment.
57
-	 *
58
-	 *
59
-	 * @param WPInv_Invoice $invoice Invoice.
60
-	 * @param array $submission_data Posted checkout fields.
61
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
62
-	 * @return array
63
-	 */
64
-	public function process_payment( $invoice, $submission_data, $submission ) {
56
+     * Process Payment.
57
+     *
58
+     *
59
+     * @param WPInv_Invoice $invoice Invoice.
60
+     * @param array $submission_data Posted checkout fields.
61
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
62
+     * @return array
63
+     */
64
+    public function process_payment( $invoice, $submission_data, $submission ) {
65 65
 
66 66
         // Mark it as paid.
67 67
         $invoice->mark_paid();
@@ -90,35 +90,35 @@  discard block
 block discarded – undo
90 90
 
91 91
     }
92 92
 
93
-	/**
94
-	 * (Maybe) renews a manual subscription profile.
95
-	 *
96
-	 *
97
-	 * @param WPInv_Subscription $subscription
98
-	 */
99
-	public function maybe_renew_subscription( $subscription, $parent_invoice ) {
100
-		// Ensure its our subscription && it's active.
101
-		if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
102
-			// Renew the subscription.
103
-			$subscription->add_payment(
104
-				array(
105
-					'transaction_id' => $subscription->get_parent_payment()->generate_key(),
106
-					'gateway'        => $this->id,
107
-				)
108
-			);
109
-
110
-			$subscription->renew();
111
-		}
112
-	}
93
+    /**
94
+     * (Maybe) renews a manual subscription profile.
95
+     *
96
+     *
97
+     * @param WPInv_Subscription $subscription
98
+     */
99
+    public function maybe_renew_subscription( $subscription, $parent_invoice ) {
100
+        // Ensure its our subscription && it's active.
101
+        if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
102
+            // Renew the subscription.
103
+            $subscription->add_payment(
104
+                array(
105
+                    'transaction_id' => $subscription->get_parent_payment()->generate_key(),
106
+                    'gateway'        => $this->id,
107
+                )
108
+            );
109
+
110
+            $subscription->renew();
111
+        }
112
+    }
113 113
 
114 114
     /**
115
-	 * Processes invoice addons.
116
-	 *
117
-	 * @param WPInv_Invoice $invoice
118
-	 * @param GetPaid_Form_Item[] $items
119
-	 * @return WPInv_Invoice
120
-	 */
121
-	public function process_addons( $invoice, $items ) {
115
+     * Processes invoice addons.
116
+     *
117
+     * @param WPInv_Invoice $invoice
118
+     * @param GetPaid_Form_Item[] $items
119
+     * @return WPInv_Invoice
120
+     */
121
+    public function process_addons( $invoice, $items ) {
122 122
 
123 123
         foreach ( $items as $item ) {
124 124
             $invoice->add_item( $item );
Please login to merge, or discard this patch.
Spacing   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 
9 9
 /**
10 10
  * Manual Payment Gateway class.
@@ -46,10 +46,10 @@  discard block
 block discarded – undo
46 46
 	public function __construct() {
47 47
         parent::__construct();
48 48
 
49
-        $this->title        = __( 'Test Gateway', 'invoicing' );
50
-        $this->method_title = __( 'Test Gateway', 'invoicing' );
49
+        $this->title        = __('Test Gateway', 'invoicing');
50
+        $this->method_title = __('Test Gateway', 'invoicing');
51 51
 
52
-        add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ), 10, 2 );
52
+        add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription'), 10, 2);
53 53
     }
54 54
 
55 55
     /**
@@ -61,32 +61,32 @@  discard block
 block discarded – undo
61 61
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
62 62
 	 * @return array
63 63
 	 */
64
-	public function process_payment( $invoice, $submission_data, $submission ) {
64
+	public function process_payment($invoice, $submission_data, $submission) {
65 65
 
66 66
         // Mark it as paid.
67 67
         $invoice->mark_paid();
68 68
 
69 69
         // (Maybe) activate subscriptions.
70
-        $subscriptions = getpaid_get_invoice_subscriptions( $invoice );
70
+        $subscriptions = getpaid_get_invoice_subscriptions($invoice);
71 71
 
72
-        if ( ! empty( $subscriptions ) ) {
73
-            $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
72
+        if (!empty($subscriptions)) {
73
+            $subscriptions = is_array($subscriptions) ? $subscriptions : array($subscriptions);
74 74
 
75
-            foreach ( $subscriptions as $subscription ) {
76
-                if ( $subscription->exists() ) {
77
-                    $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
78
-                    $expiry   = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
75
+            foreach ($subscriptions as $subscription) {
76
+                if ($subscription->exists()) {
77
+                    $duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created());
78
+                    $expiry   = gmdate('Y-m-d H:i:s', (current_time('timestamp') + $duration));
79 79
 
80
-                    $subscription->set_next_renewal_date( $expiry );
81
-                    $subscription->set_date_created( current_time( 'mysql' ) );
82
-                    $subscription->set_profile_id( $invoice->generate_key( 'manual_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ) );
80
+                    $subscription->set_next_renewal_date($expiry);
81
+                    $subscription->set_date_created(current_time('mysql'));
82
+                    $subscription->set_profile_id($invoice->generate_key('manual_sub_' . $invoice->get_id() . '_' . $subscription->get_id()));
83 83
                     $subscription->activate();
84 84
                 }
85 85
             }
86 86
         }
87 87
 
88 88
         // Send to the success page.
89
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
89
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
90 90
 
91 91
     }
92 92
 
@@ -96,9 +96,9 @@  discard block
 block discarded – undo
96 96
 	 *
97 97
 	 * @param WPInv_Subscription $subscription
98 98
 	 */
99
-	public function maybe_renew_subscription( $subscription, $parent_invoice ) {
99
+	public function maybe_renew_subscription($subscription, $parent_invoice) {
100 100
 		// Ensure its our subscription && it's active.
101
-		if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
101
+		if (!empty($parent_invoice) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status('active trialling')) {
102 102
 			// Renew the subscription.
103 103
 			$subscription->add_payment(
104 104
 				array(
@@ -118,10 +118,10 @@  discard block
 block discarded – undo
118 118
 	 * @param GetPaid_Form_Item[] $items
119 119
 	 * @return WPInv_Invoice
120 120
 	 */
121
-	public function process_addons( $invoice, $items ) {
121
+	public function process_addons($invoice, $items) {
122 122
 
123
-        foreach ( $items as $item ) {
124
-            $invoice->add_item( $item );
123
+        foreach ($items as $item) {
124
+            $invoice->add_item($item);
125 125
         }
126 126
 
127 127
         $invoice->recalculate_total();
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-authorize-net-gateway.php 2 patches
Indentation   +237 added lines, -237 removed lines patch added patch discarded remove patch
@@ -13,17 +13,17 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Authorize_Net_Gateway extends GetPaid_Authorize_Net_Legacy_Gateway {
14 14
 
15 15
     /**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20 20
     public $id = 'authorizenet';
21 21
 
22 22
     /**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27 27
     protected $supports = array(
28 28
         'subscription',
29 29
         'sandbox',
@@ -36,44 +36,44 @@  discard block
 block discarded – undo
36 36
     );
37 37
 
38 38
     /**
39
-	 * Payment method order.
40
-	 *
41
-	 * @var int
42
-	 */
39
+     * Payment method order.
40
+     *
41
+     * @var int
42
+     */
43 43
     public $order = 4;
44 44
 
45 45
     /**
46
-	 * Endpoint for requests from Authorize.net.
47
-	 *
48
-	 * @var string
49
-	 */
50
-	protected $notify_url;
51
-
52
-	/**
53
-	 * Endpoint for requests to Authorize.net.
54
-	 *
55
-	 * @var string
56
-	 */
46
+     * Endpoint for requests from Authorize.net.
47
+     *
48
+     * @var string
49
+     */
50
+    protected $notify_url;
51
+
52
+    /**
53
+     * Endpoint for requests to Authorize.net.
54
+     *
55
+     * @var string
56
+     */
57 57
     protected $endpoint;
58 58
 
59 59
     /**
60
-	 * Currencies this gateway is allowed for.
61
-	 *
62
-	 * @var array
63
-	 */
64
-	public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
60
+     * Currencies this gateway is allowed for.
61
+     *
62
+     * @var array
63
+     */
64
+    public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
65 65
 
66 66
     /**
67
-	 * URL to view a transaction.
68
-	 *
69
-	 * @var string
70
-	 */
67
+     * URL to view a transaction.
68
+     *
69
+     * @var string
70
+     */
71 71
     public $view_transaction_url = 'https://{sandbox}authorize.net/ui/themes/sandbox/Transaction/TransactionReceipt.aspx?transid=%s';
72 72
 
73 73
     /**
74
-	 * Class constructor.
75
-	 */
76
-	public function __construct() {
74
+     * Class constructor.
75
+     */
76
+    public function __construct() {
77 77
 
78 78
         $this->title                = __( 'Credit Card / Debit Card', 'invoicing' );
79 79
         $this->method_title         = __( 'Authorize.Net', 'invoicing' );
@@ -85,11 +85,11 @@  discard block
 block discarded – undo
85 85
     }
86 86
 
87 87
     /**
88
-	 * Displays the payment method select field.
89
-	 *
90
-	 * @param int $invoice_id 0 or invoice id.
91
-	 * @param GetPaid_Payment_Form $form Current payment form.
92
-	 */
88
+     * Displays the payment method select field.
89
+     *
90
+     * @param int $invoice_id 0 or invoice id.
91
+     * @param GetPaid_Payment_Form $form Current payment form.
92
+     */
93 93
     public function payment_fields( $invoice_id, $form ) {
94 94
 
95 95
         // Let the user select a payment method.
@@ -100,16 +100,16 @@  discard block
 block discarded – undo
100 100
     }
101 101
 
102 102
     /**
103
-	 * Creates a customer profile.
104
-	 *
105
-	 *
106
-	 * @param WPInv_Invoice $invoice Invoice.
103
+     * Creates a customer profile.
104
+     *
105
+     *
106
+     * @param WPInv_Invoice $invoice Invoice.
107 107
      * @param array $submission_data Posted checkout fields.
108 108
      * @param bool $save Whether or not to save the payment as a token.
109 109
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
110
-	 * @return string|WP_Error Payment profile id.
111
-	 */
112
-	public function create_customer_profile( $invoice, $submission_data, $save = true ) {
110
+     * @return string|WP_Error Payment profile id.
111
+     */
112
+    public function create_customer_profile( $invoice, $submission_data, $save = true ) {
113 113
 
114 114
         // Remove non-digits from the number
115 115
         $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
@@ -191,14 +191,14 @@  discard block
 block discarded – undo
191 191
     }
192 192
 
193 193
     /**
194
-	 * Retrieves a customer profile.
195
-	 *
196
-	 *
197
-	 * @param string $profile_id profile id.
198
-	 * @return string|WP_Error Profile id.
194
+     * Retrieves a customer profile.
195
+     *
196
+     *
197
+     * @param string $profile_id profile id.
198
+     * @return string|WP_Error Profile id.
199 199
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile
200
-	 */
201
-	public function get_customer_profile( $profile_id ) {
200
+     */
201
+    public function get_customer_profile( $profile_id ) {
202 202
 
203 203
         // Generate args.
204 204
         $args = array(
@@ -213,17 +213,17 @@  discard block
 block discarded – undo
213 213
     }
214 214
 
215 215
     /**
216
-	 * Creates a customer profile.
217
-	 *
218
-	 *
216
+     * Creates a customer profile.
217
+     *
218
+     *
219 219
      * @param string $profile_id profile id.
220
-	 * @param WPInv_Invoice $invoice Invoice.
220
+     * @param WPInv_Invoice $invoice Invoice.
221 221
      * @param array $submission_data Posted checkout fields.
222 222
      * @param bool $save Whether or not to save the payment as a token.
223 223
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
224
-	 * @return string|WP_Error Profile id.
225
-	 */
226
-	public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
224
+     * @return string|WP_Error Profile id.
225
+     */
226
+    public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
227 227
 
228 228
         // Remove non-digits from the number
229 229
         $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
@@ -311,13 +311,13 @@  discard block
 block discarded – undo
311 311
     }
312 312
 
313 313
     /**
314
-	 * Retrieves payment details from cache.
315
-	 *
316
-	 *
314
+     * Retrieves payment details from cache.
315
+     *
316
+     *
317 317
      * @param array $payment_details.
318
-	 * @return array|false Profile id.
319
-	 */
320
-	public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
318
+     * @return array|false Profile id.
319
+     */
320
+    public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
321 321
 
322 322
         $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
323 323
         $payment_details    = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY );
@@ -342,13 +342,13 @@  discard block
 block discarded – undo
342 342
     }
343 343
 
344 344
     /**
345
-	 * Securely adds payment details to cache.
346
-	 *
347
-	 *
345
+     * Securely adds payment details to cache.
346
+     *
347
+     *
348 348
      * @param array $payment_details.
349 349
      * @param string $payment_profile_id.
350
-	 */
351
-	public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
350
+     */
351
+    public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
352 352
 
353 353
         $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
354 354
         $cached_information = is_array( $cached_information ) ? $cached_information : array();
@@ -360,15 +360,15 @@  discard block
 block discarded – undo
360 360
     }
361 361
 
362 362
     /**
363
-	 * Retrieves a customer payment profile.
364
-	 *
365
-	 *
366
-	 * @param string $customer_profile_id customer profile id.
363
+     * Retrieves a customer payment profile.
364
+     *
365
+     *
366
+     * @param string $customer_profile_id customer profile id.
367 367
      * @param string $payment_profile_id payment profile id.
368
-	 * @return string|WP_Error Profile id.
368
+     * @return string|WP_Error Profile id.
369 369
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile
370
-	 */
371
-	public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
370
+     */
371
+    public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
372 372
 
373 373
         // Generate args.
374 374
         $args = array(
@@ -384,15 +384,15 @@  discard block
 block discarded – undo
384 384
     }
385 385
 
386 386
     /**
387
-	 * Charges a customer payment profile.
388
-	 *
387
+     * Charges a customer payment profile.
388
+     *
389 389
      * @param string $customer_profile_id customer profile id.
390 390
      * @param string $payment_profile_id payment profile id.
391
-	 * @param WPInv_Invoice $invoice Invoice.
391
+     * @param WPInv_Invoice $invoice Invoice.
392 392
      * @link https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-customer-profile
393
-	 * @return WP_Error|object
394
-	 */
395
-	public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
393
+     * @return WP_Error|object
394
+     */
395
+    public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
396 396
 
397 397
         // Generate args.
398 398
         $args = array(
@@ -438,43 +438,43 @@  discard block
 block discarded – undo
438 438
     }
439 439
 
440 440
     /**
441
-	 * Processes a customer charge.
442
-	 *
441
+     * Processes a customer charge.
442
+     *
443 443
      * @param stdClass $result Api response.
444
-	 * @param WPInv_Invoice $invoice Invoice.
445
-	 */
446
-	public function process_charge_response( $result, $invoice ) {
444
+     * @param WPInv_Invoice $invoice Invoice.
445
+     */
446
+    public function process_charge_response( $result, $invoice ) {
447 447
 
448 448
         wpinv_clear_errors();
449
-		$response_code = (int) $result->transactionResponse->responseCode;
449
+        $response_code = (int) $result->transactionResponse->responseCode;
450 450
 
451 451
         $invoice->add_note( 'Transaction Response: ' . print_r( $result->transactionResponse, true ), false, false, true );
452 452
 
453
-		// Succeeded.
454
-		if ( 1 == $response_code || 4 == $response_code ) {
453
+        // Succeeded.
454
+        if ( 1 == $response_code || 4 == $response_code ) {
455 455
 
456
-			// Maybe set a transaction id.
457
-			if ( ! empty( $result->transactionResponse->transId ) ) {
458
-				$invoice->set_transaction_id( $result->transactionResponse->transId );
459
-			}
456
+            // Maybe set a transaction id.
457
+            if ( ! empty( $result->transactionResponse->transId ) ) {
458
+                $invoice->set_transaction_id( $result->transactionResponse->transId );
459
+            }
460 460
 
461
-			$invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
461
+            $invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
462 462
 
463
-			if ( 1 == $response_code ) {
464
-				return $invoice->mark_paid();
465
-			}
463
+            if ( 1 == $response_code ) {
464
+                return $invoice->mark_paid();
465
+            }
466 466
 
467
-			$invoice->set_status( 'wpi-onhold' );
468
-        	$invoice->add_note(
467
+            $invoice->set_status( 'wpi-onhold' );
468
+            $invoice->add_note(
469 469
                 sprintf(
470 470
                     __( 'Held for review: %s', 'invoicing' ),
471 471
                     $result->transactionResponse->messages->message[0]->description
472 472
                 )
473
-			);
473
+            );
474 474
 
475
-			return $invoice->save();
475
+            return $invoice->save();
476 476
 
477
-		}
477
+        }
478 478
 
479 479
         wpinv_set_error( 'card_declined' );
480 480
 
@@ -486,13 +486,13 @@  discard block
 block discarded – undo
486 486
     }
487 487
 
488 488
     /**
489
-	 * Returns payment information.
490
-	 *
491
-	 *
492
-	 * @param array $card Card details.
493
-	 * @return array
494
-	 */
495
-	public function get_payment_information( $card ) {
489
+     * Returns payment information.
490
+     *
491
+     *
492
+     * @param array $card Card details.
493
+     * @return array
494
+     */
495
+    public function get_payment_information( $card ) {
496 496
         return array(
497 497
 
498 498
             'creditCard' => array(
@@ -505,25 +505,25 @@  discard block
 block discarded – undo
505 505
     }
506 506
 
507 507
     /**
508
-	 * Returns the customer profile meta name.
509
-	 *
510
-	 *
511
-	 * @param WPInv_Invoice $invoice Invoice.
512
-	 * @return string
513
-	 */
514
-	public function get_customer_profile_meta_name( $invoice ) {
508
+     * Returns the customer profile meta name.
509
+     *
510
+     *
511
+     * @param WPInv_Invoice $invoice Invoice.
512
+     * @return string
513
+     */
514
+    public function get_customer_profile_meta_name( $invoice ) {
515 515
         return $this->is_sandbox( $invoice ) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id';
516 516
     }
517 517
 
518 518
     /**
519
-	 * Validates the submitted data.
520
-	 *
521
-	 *
522
-	 * @param array $submission_data Posted checkout fields.
519
+     * Validates the submitted data.
520
+     *
521
+     *
522
+     * @param array $submission_data Posted checkout fields.
523 523
      * @param WPInv_Invoice $invoice
524
-	 * @return WP_Error|string The payment profile id
525
-	 */
526
-	public function validate_submission_data( $submission_data, $invoice ) {
524
+     * @return WP_Error|string The payment profile id
525
+     */
526
+    public function validate_submission_data( $submission_data, $invoice ) {
527 527
 
528 528
         // Validate authentication details.
529 529
         $auth = $this->get_auth_params();
@@ -555,13 +555,13 @@  discard block
 block discarded – undo
555 555
     }
556 556
 
557 557
     /**
558
-	 * Returns invoice line items.
559
-	 *
560
-	 *
561
-	 * @param WPInv_Invoice $invoice Invoice.
562
-	 * @return array
563
-	 */
564
-	public function get_line_items( $invoice ) {
558
+     * Returns invoice line items.
559
+     *
560
+     *
561
+     * @param WPInv_Invoice $invoice Invoice.
562
+     * @return array
563
+     */
564
+    public function get_line_items( $invoice ) {
565 565
         $items = array();
566 566
 
567 567
         foreach ( $invoice->get_items() as $item ) {
@@ -598,15 +598,15 @@  discard block
 block discarded – undo
598 598
     }
599 599
 
600 600
     /**
601
-	 * Process Payment.
602
-	 *
603
-	 *
604
-	 * @param WPInv_Invoice $invoice Invoice.
605
-	 * @param array $submission_data Posted checkout fields.
606
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
607
-	 * @return array
608
-	 */
609
-	public function process_payment( $invoice, $submission_data, $submission ) {
601
+     * Process Payment.
602
+     *
603
+     *
604
+     * @param WPInv_Invoice $invoice Invoice.
605
+     * @param array $submission_data Posted checkout fields.
606
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
607
+     * @return array
608
+     */
609
+    public function process_payment( $invoice, $submission_data, $submission ) {
610 610
 
611 611
         // Validate the submitted data.
612 612
         $payment_profile_id = $this->validate_submission_data( $submission_data, $invoice );
@@ -639,45 +639,45 @@  discard block
 block discarded – undo
639 639
 
640 640
         exit;
641 641
 
642
-	}
642
+    }
643 643
 
644
-	/**
645
-	 * Processes the initial payment.
646
-	 *
644
+    /**
645
+     * Processes the initial payment.
646
+     *
647 647
      * @param WPInv_Invoice $invoice Invoice.
648
-	 */
649
-	protected function process_initial_payment( $invoice ) {
648
+     */
649
+    protected function process_initial_payment( $invoice ) {
650 650
 
651
-		$payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
651
+        $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
652 652
         $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
653
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
653
+        $result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
654 654
 
655
-		// Do we have an error?
656
-		if ( is_wp_error( $result ) ) {
657
-			wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
658
-			wpinv_send_back_to_checkout( $invoice );
659
-		}
655
+        // Do we have an error?
656
+        if ( is_wp_error( $result ) ) {
657
+            wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
658
+            wpinv_send_back_to_checkout( $invoice );
659
+        }
660 660
 
661
-		// Process the response.
662
-		$this->process_charge_response( $result, $invoice );
661
+        // Process the response.
662
+        $this->process_charge_response( $result, $invoice );
663 663
 
664
-		if ( wpinv_get_errors() ) {
665
-			wpinv_send_back_to_checkout( $invoice );
666
-		}
664
+        if ( wpinv_get_errors() ) {
665
+            wpinv_send_back_to_checkout( $invoice );
666
+        }
667 667
 
668
-	}
668
+    }
669 669
 
670 670
     /**
671
-	 * Processes recurring payments.
672
-	 *
671
+     * Processes recurring payments.
672
+     *
673 673
      * @param WPInv_Invoice $invoice Invoice.
674 674
      * @param WPInv_Subscription[]|WPInv_Subscription $subscriptions Subscriptions.
675
-	 */
676
-	public function process_subscription( $invoice, $subscriptions ) {
675
+     */
676
+    public function process_subscription( $invoice, $subscriptions ) {
677 677
 
678 678
         // Check if there is an initial amount to charge.
679 679
         if ( (float) $invoice->get_total() > 0 ) {
680
-			$this->process_initial_payment( $invoice );
680
+            $this->process_initial_payment( $invoice );
681 681
         }
682 682
 
683 683
         // Activate the subscriptions.
@@ -695,34 +695,34 @@  discard block
 block discarded – undo
695 695
             }
696 696
         }
697 697
 
698
-		// Redirect to the success page.
698
+        // Redirect to the success page.
699 699
         wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
700 700
 
701 701
     }
702 702
 
703
-	/**
704
-	 * (Maybe) renews an authorize.net subscription profile.
705
-	 *
706
-	 *
707
-	 * @param WPInv_Subscription $subscription
708
-	 */
709
-	public function maybe_renew_subscription( $subscription, $parent_invoice ) {
710
-		// Ensure its our subscription && it's active.
711
-		if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
712
-			$this->renew_subscription( $subscription );
713
-		}
714
-	}
703
+    /**
704
+     * (Maybe) renews an authorize.net subscription profile.
705
+     *
706
+     *
707
+     * @param WPInv_Subscription $subscription
708
+     */
709
+    public function maybe_renew_subscription( $subscription, $parent_invoice ) {
710
+        // Ensure its our subscription && it's active.
711
+        if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
712
+            $this->renew_subscription( $subscription );
713
+        }
714
+    }
715 715
 
716 716
     /**
717
-	 * Renews a subscription.
718
-	 *
717
+     * Renews a subscription.
718
+     *
719 719
      * @param WPInv_Subscription $subscription
720
-	 */
721
-	public function renew_subscription( $subscription ) {
720
+     */
721
+    public function renew_subscription( $subscription ) {
722 722
 
723
-		// Generate the renewal invoice.
724
-		$new_invoice = $subscription->create_payment();
725
-		$old_invoice = $subscription->get_parent_payment();
723
+        // Generate the renewal invoice.
724
+        $new_invoice = $subscription->create_payment();
725
+        $old_invoice = $subscription->get_parent_payment();
726 726
 
727 727
         if ( empty( $new_invoice ) ) {
728 728
             $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false );
@@ -731,37 +731,37 @@  discard block
 block discarded – undo
731 731
         }
732 732
 
733 733
         // Charge the payment method.
734
-		$payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
735
-		$customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
736
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
737
-
738
-		// Do we have an error?
739
-		if ( is_wp_error( $result ) ) {
740
-
741
-			$old_invoice->add_note(
742
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
743
-				true,
744
-				false,
745
-				true
746
-			);
747
-			$subscription->failing();
748
-			return;
749
-
750
-		}
751
-
752
-		// Process the response.
753
-		$this->process_charge_response( $result, $new_invoice );
754
-
755
-		if ( wpinv_get_errors() ) {
756
-
757
-			$old_invoice->add_note(
758
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
759
-				true,
760
-				false,
761
-				true
762
-			);
763
-			$subscription->failing();
764
-			return;
734
+        $payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
735
+        $customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
736
+        $result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
737
+
738
+        // Do we have an error?
739
+        if ( is_wp_error( $result ) ) {
740
+
741
+            $old_invoice->add_note(
742
+                sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
743
+                true,
744
+                false,
745
+                true
746
+            );
747
+            $subscription->failing();
748
+            return;
749
+
750
+        }
751
+
752
+        // Process the response.
753
+        $this->process_charge_response( $result, $new_invoice );
754
+
755
+        if ( wpinv_get_errors() ) {
756
+
757
+            $old_invoice->add_note(
758
+                sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
759
+                true,
760
+                false,
761
+                true
762
+            );
763
+            $subscription->failing();
764
+            return;
765 765
 
766 766
         }
767 767
 
@@ -774,13 +774,13 @@  discard block
 block discarded – undo
774 774
     }
775 775
 
776 776
     /**
777
-	 * Processes invoice addons.
778
-	 *
779
-	 * @param WPInv_Invoice $invoice
780
-	 * @param GetPaid_Form_Item[] $items
781
-	 * @return WPInv_Invoice
782
-	 */
783
-	public function process_addons( $invoice, $items ) {
777
+     * Processes invoice addons.
778
+     *
779
+     * @param WPInv_Invoice $invoice
780
+     * @param GetPaid_Form_Item[] $items
781
+     * @return WPInv_Invoice
782
+     */
783
+    public function process_addons( $invoice, $items ) {
784 784
 
785 785
         global $getpaid_authorize_addons;
786 786
 
@@ -799,7 +799,7 @@  discard block
 block discarded – undo
799 799
         $invoice->recalculate_total();
800 800
 
801 801
         $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
802
-		$customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
802
+        $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
803 803
 
804 804
         add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 );
805 805
         $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
@@ -814,11 +814,11 @@  discard block
 block discarded – undo
814 814
     }
815 815
 
816 816
     /**
817
-	 * Processes invoice addons.
818
-	 *
817
+     * Processes invoice addons.
818
+     *
819 819
      * @param array $args
820
-	 * @return array
821
-	 */
820
+     * @return array
821
+     */
822 822
     public function filter_addons_request( $args ) {
823 823
 
824 824
         global $getpaid_authorize_addons;
@@ -852,11 +852,11 @@  discard block
 block discarded – undo
852 852
     }
853 853
 
854 854
     /**
855
-	 * Filters the gateway settings.
856
-	 *
857
-	 * @param array $admin_settings
858
-	 */
859
-	public function admin_settings( $admin_settings ) {
855
+     * Filters the gateway settings.
856
+     *
857
+     * @param array $admin_settings
858
+     */
859
+    public function admin_settings( $admin_settings ) {
860 860
 
861 861
         $currencies = sprintf(
862 862
             __( 'Supported Currencies: %s', 'invoicing' ),
@@ -896,7 +896,7 @@  discard block
 block discarded – undo
896 896
             'readonly' => true,
897 897
         );
898 898
 
899
-		return $admin_settings;
900
-	}
899
+        return $admin_settings;
900
+    }
901 901
 
902 902
 }
Please login to merge, or discard this patch.
Spacing   +206 added lines, -206 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 
9 9
 /**
10 10
  * Authorize.net Payment Gateway class.
@@ -61,7 +61,7 @@  discard block
 block discarded – undo
61 61
 	 *
62 62
 	 * @var array
63 63
 	 */
64
-	public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
64
+	public $currencies = array('USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD');
65 65
 
66 66
     /**
67 67
 	 * URL to view a transaction.
@@ -75,12 +75,12 @@  discard block
 block discarded – undo
75 75
 	 */
76 76
 	public function __construct() {
77 77
 
78
-        $this->title                = __( 'Credit Card / Debit Card', 'invoicing' );
79
-        $this->method_title         = __( 'Authorize.Net', 'invoicing' );
80
-        $this->notify_url           = getpaid_get_non_query_string_ipn_url( $this->id );
78
+        $this->title                = __('Credit Card / Debit Card', 'invoicing');
79
+        $this->method_title         = __('Authorize.Net', 'invoicing');
80
+        $this->notify_url           = getpaid_get_non_query_string_ipn_url($this->id);
81 81
 
82
-        add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ), 11, 2 );
83
-        add_filter( 'getpaid_authorizenet_sandbox_notice', array( $this, 'sandbox_notice' ) );
82
+        add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription'), 11, 2);
83
+        add_filter('getpaid_authorizenet_sandbox_notice', array($this, 'sandbox_notice'));
84 84
         parent::__construct();
85 85
     }
86 86
 
@@ -90,13 +90,13 @@  discard block
 block discarded – undo
90 90
 	 * @param int $invoice_id 0 or invoice id.
91 91
 	 * @param GetPaid_Payment_Form $form Current payment form.
92 92
 	 */
93
-    public function payment_fields( $invoice_id, $form ) {
93
+    public function payment_fields($invoice_id, $form) {
94 94
 
95 95
         // Let the user select a payment method.
96 96
         $this->saved_payment_methods();
97 97
 
98 98
         // Show the credit card entry form.
99
-        $this->new_payment_method_entry( $this->get_cc_form( true ) );
99
+        $this->new_payment_method_entry($this->get_cc_form(true));
100 100
     }
101 101
 
102 102
     /**
@@ -109,79 +109,79 @@  discard block
 block discarded – undo
109 109
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
110 110
 	 * @return string|WP_Error Payment profile id.
111 111
 	 */
112
-	public function create_customer_profile( $invoice, $submission_data, $save = true ) {
112
+	public function create_customer_profile($invoice, $submission_data, $save = true) {
113 113
 
114 114
         // Remove non-digits from the number
115
-        $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
115
+        $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number']);
116 116
 
117 117
         // Generate args.
118 118
         $args = array(
119 119
             'createCustomerProfileRequest' => array(
120 120
                 'merchantAuthentication' => $this->get_auth_params(),
121 121
                 'profile'                => array(
122
-                    'merchantCustomerId' => getpaid_limit_length( $invoice->get_user_id(), 20 ),
123
-                    'description'        => getpaid_limit_length( $invoice->get_full_name(), 255 ),
124
-                    'email'              => getpaid_limit_length( $invoice->get_email(), 255 ),
122
+                    'merchantCustomerId' => getpaid_limit_length($invoice->get_user_id(), 20),
123
+                    'description'        => getpaid_limit_length($invoice->get_full_name(), 255),
124
+                    'email'              => getpaid_limit_length($invoice->get_email(), 255),
125 125
                     'paymentProfiles'    => array(
126 126
                         'customerType' => 'individual',
127 127
 
128 128
                         // Billing information.
129 129
                         'billTo'       => array(
130
-                            'firstName' => getpaid_limit_length( $invoice->get_first_name(), 50 ),
131
-                            'lastName'  => getpaid_limit_length( $invoice->get_last_name(), 50 ),
132
-                            'address'   => getpaid_limit_length( $invoice->get_address(), 60 ),
133
-                            'city'      => getpaid_limit_length( $invoice->get_city(), 40 ),
134
-                            'state'     => getpaid_limit_length( $invoice->get_state(), 40 ),
135
-                            'zip'       => getpaid_limit_length( $invoice->get_zip(), 20 ),
136
-                            'country'   => getpaid_limit_length( $invoice->get_country(), 60 ),
130
+                            'firstName' => getpaid_limit_length($invoice->get_first_name(), 50),
131
+                            'lastName'  => getpaid_limit_length($invoice->get_last_name(), 50),
132
+                            'address'   => getpaid_limit_length($invoice->get_address(), 60),
133
+                            'city'      => getpaid_limit_length($invoice->get_city(), 40),
134
+                            'state'     => getpaid_limit_length($invoice->get_state(), 40),
135
+                            'zip'       => getpaid_limit_length($invoice->get_zip(), 20),
136
+                            'country'   => getpaid_limit_length($invoice->get_country(), 60),
137 137
                         ),
138 138
 
139 139
                         // Payment information.
140
-                        'payment'      => $this->get_payment_information( $submission_data['authorizenet'] ),
140
+                        'payment'      => $this->get_payment_information($submission_data['authorizenet']),
141 141
                     ),
142 142
                 ),
143
-                'validationMode'         => $this->is_sandbox( $invoice ) ? 'testMode' : 'liveMode',
143
+                'validationMode'         => $this->is_sandbox($invoice) ? 'testMode' : 'liveMode',
144 144
             ),
145 145
         );
146 146
 
147
-        $response = $this->post( apply_filters( 'getpaid_authorizenet_customer_profile_args', $args, $invoice ), $invoice );
147
+        $response = $this->post(apply_filters('getpaid_authorizenet_customer_profile_args', $args, $invoice), $invoice);
148 148
 
149
-        if ( is_wp_error( $response ) ) {
149
+        if (is_wp_error($response)) {
150 150
 
151 151
             // In case the payment profile already exists remotely.
152
-            if ( 'dup_payment_profile' === $response->get_error_code() ) {
153
-                $customer_profile_id = strtok( $response->get_error_message(), '.' );
154
-                update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile_id );
155
-                return strtok( '.' );
152
+            if ('dup_payment_profile' === $response->get_error_code()) {
153
+                $customer_profile_id = strtok($response->get_error_message(), '.');
154
+                update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile_id);
155
+                return strtok('.');
156 156
             }
157 157
 
158 158
             // In case the customer profile already exists remotely.
159
-            if ( 'E00039' === $response->get_error_code() ) {
160
-                $customer_profile_id = str_replace( 'A duplicate record with ID ', '', $response->get_error_message() );
161
-                $customer_profile_id = str_replace( ' already exists.', '', $customer_profile_id );
162
-                return $this->create_customer_payment_profile( trim( $customer_profile_id ), $invoice, $submission_data, $save );
159
+            if ('E00039' === $response->get_error_code()) {
160
+                $customer_profile_id = str_replace('A duplicate record with ID ', '', $response->get_error_message());
161
+                $customer_profile_id = str_replace(' already exists.', '', $customer_profile_id);
162
+                return $this->create_customer_payment_profile(trim($customer_profile_id), $invoice, $submission_data, $save);
163 163
             }
164 164
 
165 165
             return $response;
166 166
         }
167 167
 
168
-        update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $response->customerProfileId );
168
+        update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $response->customerProfileId);
169 169
 
170 170
         // Save the payment token.
171
-        if ( $save ) {
171
+        if ($save) {
172 172
             $this->save_token(
173 173
                 array(
174 174
                     'id'      => $response->customerPaymentProfileIdList[0],
175
-                    'name'    => getpaid_get_card_name( $submission_data['authorizenet']['cc_number'] ) . '&middot;&middot;&middot;&middot;' . substr( $submission_data['authorizenet']['cc_number'], -4 ),
175
+                    'name'    => getpaid_get_card_name($submission_data['authorizenet']['cc_number']) . '&middot;&middot;&middot;&middot;' . substr($submission_data['authorizenet']['cc_number'], -4),
176 176
                     'default' => true,
177
-                    'type'    => $this->is_sandbox( $invoice ) ? 'sandbox' : 'live',
177
+                    'type'    => $this->is_sandbox($invoice) ? 'sandbox' : 'live',
178 178
                 )
179 179
             );
180 180
         }
181 181
 
182 182
         // Add a note about the validation response.
183 183
         $invoice->add_note(
184
-            sprintf( __( 'Created Authorize.NET customer profile: %s', 'invoicing' ), $response->validationDirectResponseList[0] ),
184
+            sprintf(__('Created Authorize.NET customer profile: %s', 'invoicing'), $response->validationDirectResponseList[0]),
185 185
             false,
186 186
             false,
187 187
             true
@@ -198,7 +198,7 @@  discard block
 block discarded – undo
198 198
 	 * @return string|WP_Error Profile id.
199 199
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile
200 200
 	 */
201
-	public function get_customer_profile( $profile_id ) {
201
+	public function get_customer_profile($profile_id) {
202 202
 
203 203
         // Generate args.
204 204
         $args = array(
@@ -208,7 +208,7 @@  discard block
 block discarded – undo
208 208
             ),
209 209
         );
210 210
 
211
-        return $this->post( $args, false );
211
+        return $this->post($args, false);
212 212
 
213 213
     }
214 214
 
@@ -223,18 +223,18 @@  discard block
 block discarded – undo
223 223
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
224 224
 	 * @return string|WP_Error Profile id.
225 225
 	 */
226
-	public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
226
+	public function create_customer_payment_profile($customer_profile, $invoice, $submission_data, $save) {
227 227
 
228 228
         // Remove non-digits from the number
229
-        $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
229
+        $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number']);
230 230
 
231 231
         // Prepare card details.
232
-        $payment_information                          = $this->get_payment_information( $submission_data['authorizenet'] );
232
+        $payment_information                          = $this->get_payment_information($submission_data['authorizenet']);
233 233
 
234 234
         // Authorize.NET does not support saving the same card twice.
235
-        $cached_information                           = $this->retrieve_payment_profile_from_cache( $payment_information, $customer_profile, $invoice );
235
+        $cached_information                           = $this->retrieve_payment_profile_from_cache($payment_information, $customer_profile, $invoice);
236 236
 
237
-        if ( $cached_information ) {
237
+        if ($cached_information) {
238 238
             return $cached_information;
239 239
         }
240 240
 
@@ -247,34 +247,34 @@  discard block
 block discarded – undo
247 247
 
248 248
                     // Billing information.
249 249
                     'billTo'  => array(
250
-                        'firstName' => getpaid_limit_length( $invoice->get_first_name(), 50 ),
251
-                        'lastName'  => getpaid_limit_length( $invoice->get_last_name(), 50 ),
252
-                        'address'   => getpaid_limit_length( $invoice->get_address(), 60 ),
253
-                        'city'      => getpaid_limit_length( $invoice->get_city(), 40 ),
254
-                        'state'     => getpaid_limit_length( $invoice->get_state(), 40 ),
255
-                        'zip'       => getpaid_limit_length( $invoice->get_zip(), 20 ),
256
-                        'country'   => getpaid_limit_length( $invoice->get_country(), 60 ),
250
+                        'firstName' => getpaid_limit_length($invoice->get_first_name(), 50),
251
+                        'lastName'  => getpaid_limit_length($invoice->get_last_name(), 50),
252
+                        'address'   => getpaid_limit_length($invoice->get_address(), 60),
253
+                        'city'      => getpaid_limit_length($invoice->get_city(), 40),
254
+                        'state'     => getpaid_limit_length($invoice->get_state(), 40),
255
+                        'zip'       => getpaid_limit_length($invoice->get_zip(), 20),
256
+                        'country'   => getpaid_limit_length($invoice->get_country(), 60),
257 257
                     ),
258 258
 
259 259
                     // Payment information.
260 260
                     'payment' => $payment_information,
261 261
                 ),
262
-                'validationMode'         => $this->is_sandbox( $invoice ) ? 'testMode' : 'liveMode',
262
+                'validationMode'         => $this->is_sandbox($invoice) ? 'testMode' : 'liveMode',
263 263
             ),
264 264
         );
265 265
 
266
-        $response = $this->post( apply_filters( 'getpaid_authorizenet_create_customer_payment_profile_args', $args, $invoice ), $invoice );
266
+        $response = $this->post(apply_filters('getpaid_authorizenet_create_customer_payment_profile_args', $args, $invoice), $invoice);
267 267
 
268
-        if ( is_wp_error( $response ) ) {
268
+        if (is_wp_error($response)) {
269 269
 
270 270
             // In case the payment profile already exists remotely.
271
-            if ( 'dup_payment_profile' == $response->get_error_code() ) {
272
-                $customer_profile_id = strtok( $response->get_error_message(), '.' );
273
-                $payment_profile_id  = strtok( '.' );
274
-                update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile_id );
271
+            if ('dup_payment_profile' == $response->get_error_code()) {
272
+                $customer_profile_id = strtok($response->get_error_message(), '.');
273
+                $payment_profile_id  = strtok('.');
274
+                update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile_id);
275 275
 
276 276
                 // Cache payment profile id.
277
-                $this->add_payment_profile_to_cache( $payment_information, $payment_profile_id );
277
+                $this->add_payment_profile_to_cache($payment_information, $payment_profile_id);
278 278
 
279 279
                 return $payment_profile_id;
280 280
             }
@@ -283,29 +283,29 @@  discard block
 block discarded – undo
283 283
         }
284 284
 
285 285
         // Save the payment token.
286
-        if ( $save ) {
286
+        if ($save) {
287 287
             $this->save_token(
288 288
                 array(
289 289
                     'id'      => $response->customerPaymentProfileId,
290
-                    'name'    => getpaid_get_card_name( $submission_data['authorizenet']['cc_number'] ) . ' &middot;&middot;&middot;&middot; ' . substr( $submission_data['authorizenet']['cc_number'], -4 ),
290
+                    'name'    => getpaid_get_card_name($submission_data['authorizenet']['cc_number']) . ' &middot;&middot;&middot;&middot; ' . substr($submission_data['authorizenet']['cc_number'], -4),
291 291
                     'default' => true,
292
-                    'type'    => $this->is_sandbox( $invoice ) ? 'sandbox' : 'live',
292
+                    'type'    => $this->is_sandbox($invoice) ? 'sandbox' : 'live',
293 293
                 )
294 294
             );
295 295
         }
296 296
 
297 297
         // Cache payment profile id.
298
-        $this->add_payment_profile_to_cache( $payment_information, $response->customerPaymentProfileId );
298
+        $this->add_payment_profile_to_cache($payment_information, $response->customerPaymentProfileId);
299 299
 
300 300
         // Add a note about the validation response.
301 301
         $invoice->add_note(
302
-            sprintf( __( 'Saved Authorize.NET payment profile: %s', 'invoicing' ), $response->validationDirectResponse ),
302
+            sprintf(__('Saved Authorize.NET payment profile: %s', 'invoicing'), $response->validationDirectResponse),
303 303
             false,
304 304
             false,
305 305
             true
306 306
         );
307 307
 
308
-        update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile );
308
+        update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile);
309 309
 
310 310
         return $response->customerPaymentProfileId;
311 311
     }
@@ -317,12 +317,12 @@  discard block
 block discarded – undo
317 317
      * @param array $payment_details.
318 318
 	 * @return array|false Profile id.
319 319
 	 */
320
-	public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
320
+	public function retrieve_payment_profile_from_cache($payment_details, $customer_profile, $invoice) {
321 321
 
322
-        $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
323
-        $payment_details    = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY );
322
+        $cached_information = get_option('getpaid_authorize_net_cached_profiles', array());
323
+        $payment_details    = hash_hmac('sha256', json_encode($payment_details), SECURE_AUTH_KEY);
324 324
 
325
-        if ( ! is_array( $cached_information ) || ! array_key_exists( $payment_details, $cached_information ) ) {
325
+        if (!is_array($cached_information) || !array_key_exists($payment_details, $cached_information)) {
326 326
             return false;
327 327
         }
328 328
 
@@ -331,13 +331,13 @@  discard block
 block discarded – undo
331 331
             'getCustomerPaymentProfileRequest' => array(
332 332
                 'merchantAuthentication'   => $this->get_auth_params(),
333 333
                 'customerProfileId'        => $customer_profile,
334
-                'customerPaymentProfileId' => $cached_information[ $payment_details ],
334
+                'customerPaymentProfileId' => $cached_information[$payment_details],
335 335
             ),
336 336
         );
337 337
 
338
-        $response = $this->post( $args, $invoice );
338
+        $response = $this->post($args, $invoice);
339 339
 
340
-        return is_wp_error( $response ) ? false : $cached_information[ $payment_details ];
340
+        return is_wp_error($response) ? false : $cached_information[$payment_details];
341 341
 
342 342
     }
343 343
 
@@ -348,14 +348,14 @@  discard block
 block discarded – undo
348 348
      * @param array $payment_details.
349 349
      * @param string $payment_profile_id.
350 350
 	 */
351
-	public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
351
+	public function add_payment_profile_to_cache($payment_details, $payment_profile_id) {
352 352
 
353
-        $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
354
-        $cached_information = is_array( $cached_information ) ? $cached_information : array();
355
-        $payment_details    = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY );
353
+        $cached_information = get_option('getpaid_authorize_net_cached_profiles', array());
354
+        $cached_information = is_array($cached_information) ? $cached_information : array();
355
+        $payment_details    = hash_hmac('sha256', json_encode($payment_details), SECURE_AUTH_KEY);
356 356
 
357
-        $cached_information[ $payment_details ] = $payment_profile_id;
358
-        update_option( 'getpaid_authorize_net_cached_profiles', $cached_information );
357
+        $cached_information[$payment_details] = $payment_profile_id;
358
+        update_option('getpaid_authorize_net_cached_profiles', $cached_information);
359 359
 
360 360
     }
361 361
 
@@ -368,7 +368,7 @@  discard block
 block discarded – undo
368 368
 	 * @return string|WP_Error Profile id.
369 369
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile
370 370
 	 */
371
-	public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
371
+	public function get_customer_payment_profile($customer_profile_id, $payment_profile_id) {
372 372
 
373 373
         // Generate args.
374 374
         $args = array(
@@ -379,7 +379,7 @@  discard block
 block discarded – undo
379 379
             ),
380 380
         );
381 381
 
382
-        return $this->post( $args, false );
382
+        return $this->post($args, false);
383 383
 
384 384
     }
385 385
 
@@ -392,7 +392,7 @@  discard block
 block discarded – undo
392 392
      * @link https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-customer-profile
393 393
 	 * @return WP_Error|object
394 394
 	 */
395
-	public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
395
+	public function charge_customer_payment_profile($customer_profile_id, $payment_profile_id, $invoice) {
396 396
 
397 397
         // Generate args.
398 398
         $args = array(
@@ -412,28 +412,28 @@  discard block
 block discarded – undo
412 412
                         ),
413 413
                     ),
414 414
                     'order'           => array(
415
-                        'invoiceNumber' => getpaid_limit_length( $invoice->get_number(), 20 ),
415
+                        'invoiceNumber' => getpaid_limit_length($invoice->get_number(), 20),
416 416
                     ),
417
-                    'lineItems'       => array( 'lineItem' => $this->get_line_items( $invoice ) ),
417
+                    'lineItems'       => array('lineItem' => $this->get_line_items($invoice)),
418 418
                     'tax'             => array(
419 419
                         'amount' => $invoice->get_total_tax(),
420
-                        'name'   => __( 'TAX', 'invoicing' ),
420
+                        'name'   => __('TAX', 'invoicing'),
421 421
                     ),
422
-                    'poNumber'        => getpaid_limit_length( $invoice->get_number(), 25 ),
422
+                    'poNumber'        => getpaid_limit_length($invoice->get_number(), 25),
423 423
                     'customer'        => array(
424
-                        'id'    => getpaid_limit_length( $invoice->get_user_id(), 25 ),
425
-                        'email' => getpaid_limit_length( $invoice->get_email(), 25 ),
424
+                        'id'    => getpaid_limit_length($invoice->get_user_id(), 25),
425
+                        'email' => getpaid_limit_length($invoice->get_email(), 25),
426 426
                     ),
427 427
                     'customerIP'      => $invoice->get_ip(),
428 428
                 ),
429 429
             ),
430 430
         );
431 431
 
432
-        if ( 0 == $invoice->get_total_tax() ) {
433
-            unset( $args['createTransactionRequest']['transactionRequest']['tax'] );
432
+        if (0 == $invoice->get_total_tax()) {
433
+            unset($args['createTransactionRequest']['transactionRequest']['tax']);
434 434
         }
435 435
 
436
-        return $this->post( apply_filters( 'getpaid_authorizenet_charge_customer_payment_profile_args', $args, $invoice ), $invoice );
436
+        return $this->post(apply_filters('getpaid_authorizenet_charge_customer_payment_profile_args', $args, $invoice), $invoice);
437 437
 
438 438
     }
439 439
 
@@ -443,31 +443,31 @@  discard block
 block discarded – undo
443 443
      * @param stdClass $result Api response.
444 444
 	 * @param WPInv_Invoice $invoice Invoice.
445 445
 	 */
446
-	public function process_charge_response( $result, $invoice ) {
446
+	public function process_charge_response($result, $invoice) {
447 447
 
448 448
         wpinv_clear_errors();
449 449
 		$response_code = (int) $result->transactionResponse->responseCode;
450 450
 
451
-        $invoice->add_note( 'Transaction Response: ' . print_r( $result->transactionResponse, true ), false, false, true );
451
+        $invoice->add_note('Transaction Response: ' . print_r($result->transactionResponse, true), false, false, true);
452 452
 
453 453
 		// Succeeded.
454
-		if ( 1 == $response_code || 4 == $response_code ) {
454
+		if (1 == $response_code || 4 == $response_code) {
455 455
 
456 456
 			// Maybe set a transaction id.
457
-			if ( ! empty( $result->transactionResponse->transId ) ) {
458
-				$invoice->set_transaction_id( $result->transactionResponse->transId );
457
+			if (!empty($result->transactionResponse->transId)) {
458
+				$invoice->set_transaction_id($result->transactionResponse->transId);
459 459
 			}
460 460
 
461
-			$invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
461
+			$invoice->add_note(sprintf(__('Authentication code: %1$s (%2$s).', 'invoicing'), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber), false, false, true);
462 462
 
463
-			if ( 1 == $response_code ) {
463
+			if (1 == $response_code) {
464 464
 				return $invoice->mark_paid();
465 465
 			}
466 466
 
467
-			$invoice->set_status( 'wpi-onhold' );
467
+			$invoice->set_status('wpi-onhold');
468 468
         	$invoice->add_note(
469 469
                 sprintf(
470
-                    __( 'Held for review: %s', 'invoicing' ),
470
+                    __('Held for review: %s', 'invoicing'),
471 471
                     $result->transactionResponse->messages->message[0]->description
472 472
                 )
473 473
 			);
@@ -476,11 +476,11 @@  discard block
 block discarded – undo
476 476
 
477 477
 		}
478 478
 
479
-        wpinv_set_error( 'card_declined' );
479
+        wpinv_set_error('card_declined');
480 480
 
481
-        if ( ! empty( $result->transactionResponse->errors ) ) {
481
+        if (!empty($result->transactionResponse->errors)) {
482 482
             $errors = (object) $result->transactionResponse->errors;
483
-            wpinv_set_error( $errors->error[0]->errorCode, esc_html( $errors->error[0]->errorText ) );
483
+            wpinv_set_error($errors->error[0]->errorCode, esc_html($errors->error[0]->errorText));
484 484
         }
485 485
 
486 486
     }
@@ -492,7 +492,7 @@  discard block
 block discarded – undo
492 492
 	 * @param array $card Card details.
493 493
 	 * @return array
494 494
 	 */
495
-	public function get_payment_information( $card ) {
495
+	public function get_payment_information($card) {
496 496
         return array(
497 497
 
498 498
             'creditCard' => array(
@@ -511,8 +511,8 @@  discard block
 block discarded – undo
511 511
 	 * @param WPInv_Invoice $invoice Invoice.
512 512
 	 * @return string
513 513
 	 */
514
-	public function get_customer_profile_meta_name( $invoice ) {
515
-        return $this->is_sandbox( $invoice ) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id';
514
+	public function get_customer_profile_meta_name($invoice) {
515
+        return $this->is_sandbox($invoice) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id';
516 516
     }
517 517
 
518 518
     /**
@@ -523,34 +523,34 @@  discard block
 block discarded – undo
523 523
      * @param WPInv_Invoice $invoice
524 524
 	 * @return WP_Error|string The payment profile id
525 525
 	 */
526
-	public function validate_submission_data( $submission_data, $invoice ) {
526
+	public function validate_submission_data($submission_data, $invoice) {
527 527
 
528 528
         // Validate authentication details.
529 529
         $auth = $this->get_auth_params();
530 530
 
531
-        if ( empty( $auth['name'] ) || empty( $auth['transactionKey'] ) ) {
532
-            return new WP_Error( 'invalid_settings', __( 'Please set-up your login id and transaction key before using this gateway.', 'invoicing' ) );
531
+        if (empty($auth['name']) || empty($auth['transactionKey'])) {
532
+            return new WP_Error('invalid_settings', __('Please set-up your login id and transaction key before using this gateway.', 'invoicing'));
533 533
         }
534 534
 
535 535
         // Validate the payment method.
536
-        if ( empty( $submission_data['getpaid-authorizenet-payment-method'] ) ) {
537
-            return new WP_Error( 'invalid_payment_method', __( 'Please select a different payment method or add a new card.', 'invoicing' ) );
536
+        if (empty($submission_data['getpaid-authorizenet-payment-method'])) {
537
+            return new WP_Error('invalid_payment_method', __('Please select a different payment method or add a new card.', 'invoicing'));
538 538
         }
539 539
 
540 540
         // Are we adding a new payment method?
541
-        if ( 'new' != $submission_data['getpaid-authorizenet-payment-method'] ) {
541
+        if ('new' != $submission_data['getpaid-authorizenet-payment-method']) {
542 542
             return $submission_data['getpaid-authorizenet-payment-method'];
543 543
         }
544 544
 
545 545
         // Retrieve the customer profile id.
546
-        $profile_id = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
546
+        $profile_id = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true);
547 547
 
548 548
         // Create payment method.
549
-        if ( empty( $profile_id ) ) {
550
-            return $this->create_customer_profile( $invoice, $submission_data, ! empty( $submission_data['getpaid-authorizenet-new-payment-method'] ) );
549
+        if (empty($profile_id)) {
550
+            return $this->create_customer_profile($invoice, $submission_data, !empty($submission_data['getpaid-authorizenet-new-payment-method']));
551 551
         }
552 552
 
553
-        return $this->create_customer_payment_profile( $profile_id, $invoice, $submission_data, ! empty( $submission_data['getpaid-authorizenet-new-payment-method'] ) );
553
+        return $this->create_customer_payment_profile($profile_id, $invoice, $submission_data, !empty($submission_data['getpaid-authorizenet-new-payment-method']));
554 554
 
555 555
     }
556 556
 
@@ -561,32 +561,32 @@  discard block
 block discarded – undo
561 561
 	 * @param WPInv_Invoice $invoice Invoice.
562 562
 	 * @return array
563 563
 	 */
564
-	public function get_line_items( $invoice ) {
564
+	public function get_line_items($invoice) {
565 565
         $items = array();
566 566
 
567
-        foreach ( $invoice->get_items() as $item ) {
567
+        foreach ($invoice->get_items() as $item) {
568 568
 
569 569
             $amount  = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
570 570
             $items[] = array(
571
-                'itemId'      => getpaid_limit_length( $item->get_id(), 31 ),
572
-                'name'        => getpaid_limit_length( $item->get_raw_name(), 31 ),
573
-                'description' => getpaid_limit_length( $item->get_description(), 255 ),
574
-                'quantity'    => (string) ( $invoice->get_template() == 'amount' ? 1 : $item->get_quantity() ),
571
+                'itemId'      => getpaid_limit_length($item->get_id(), 31),
572
+                'name'        => getpaid_limit_length($item->get_raw_name(), 31),
573
+                'description' => getpaid_limit_length($item->get_description(), 255),
574
+                'quantity'    => (string) ($invoice->get_template() == 'amount' ? 1 : $item->get_quantity()),
575 575
                 'unitPrice'   => (float) $amount,
576 576
                 'taxable'     => wpinv_use_taxes() && $invoice->is_taxable() && 'tax-exempt' != $item->get_vat_rule(),
577 577
             );
578 578
 
579 579
         }
580 580
 
581
-        foreach ( $invoice->get_fees() as $fee_name => $fee ) {
581
+        foreach ($invoice->get_fees() as $fee_name => $fee) {
582 582
 
583
-            $amount  = $invoice->is_renewal() ? $fee['recurring_fee'] : $fee['initial_fee'];
583
+            $amount = $invoice->is_renewal() ? $fee['recurring_fee'] : $fee['initial_fee'];
584 584
 
585
-            if ( $amount > 0 ) {
585
+            if ($amount > 0) {
586 586
                 $items[] = array(
587
-                    'itemId'      => getpaid_limit_length( $fee_name, 31 ),
588
-                    'name'        => getpaid_limit_length( $fee_name, 31 ),
589
-                    'description' => getpaid_limit_length( $fee_name, 255 ),
587
+                    'itemId'      => getpaid_limit_length($fee_name, 31),
588
+                    'name'        => getpaid_limit_length($fee_name, 31),
589
+                    'description' => getpaid_limit_length($fee_name, 255),
590 590
                     'quantity'    => '1',
591 591
                     'unitPrice'   => (float) $amount,
592 592
                     'taxable'     => false,
@@ -606,36 +606,36 @@  discard block
 block discarded – undo
606 606
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
607 607
 	 * @return array
608 608
 	 */
609
-	public function process_payment( $invoice, $submission_data, $submission ) {
609
+	public function process_payment($invoice, $submission_data, $submission) {
610 610
 
611 611
         // Validate the submitted data.
612
-        $payment_profile_id = $this->validate_submission_data( $submission_data, $invoice );
612
+        $payment_profile_id = $this->validate_submission_data($submission_data, $invoice);
613 613
 
614 614
         // Do we have an error?
615
-        if ( is_wp_error( $payment_profile_id ) ) {
616
-            wpinv_set_error( $payment_profile_id->get_error_code(), $payment_profile_id->get_error_message() );
617
-            wpinv_send_back_to_checkout( $invoice );
615
+        if (is_wp_error($payment_profile_id)) {
616
+            wpinv_set_error($payment_profile_id->get_error_code(), $payment_profile_id->get_error_message());
617
+            wpinv_send_back_to_checkout($invoice);
618 618
         }
619 619
 
620 620
         // Save the payment method to the order.
621
-        update_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', $payment_profile_id );
621
+        update_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', $payment_profile_id);
622 622
 
623 623
         // Check if this is a subscription or not.
624
-        $subscriptions = getpaid_get_invoice_subscriptions( $invoice );
625
-        if ( ! empty( $subscriptions ) ) {
626
-            $this->process_subscription( $invoice, $subscriptions );
624
+        $subscriptions = getpaid_get_invoice_subscriptions($invoice);
625
+        if (!empty($subscriptions)) {
626
+            $this->process_subscription($invoice, $subscriptions);
627 627
         }
628 628
 
629 629
         // If it is free, send to the success page.
630
-        if ( ! $invoice->needs_payment() ) {
630
+        if (!$invoice->needs_payment()) {
631 631
             $invoice->mark_paid();
632
-            wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
632
+            wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
633 633
         }
634 634
 
635 635
         // Charge the payment profile.
636
-        $this->process_initial_payment( $invoice );
636
+        $this->process_initial_payment($invoice);
637 637
 
638
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
638
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
639 639
 
640 640
         exit;
641 641
 
@@ -646,23 +646,23 @@  discard block
 block discarded – undo
646 646
 	 *
647 647
      * @param WPInv_Invoice $invoice Invoice.
648 648
 	 */
649
-	protected function process_initial_payment( $invoice ) {
649
+	protected function process_initial_payment($invoice) {
650 650
 
651
-		$payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
652
-        $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
653
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
651
+		$payment_profile_id = get_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
652
+        $customer_profile = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true);
653
+		$result             = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $invoice);
654 654
 
655 655
 		// Do we have an error?
656
-		if ( is_wp_error( $result ) ) {
657
-			wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
658
-			wpinv_send_back_to_checkout( $invoice );
656
+		if (is_wp_error($result)) {
657
+			wpinv_set_error($result->get_error_code(), $result->get_error_message());
658
+			wpinv_send_back_to_checkout($invoice);
659 659
 		}
660 660
 
661 661
 		// Process the response.
662
-		$this->process_charge_response( $result, $invoice );
662
+		$this->process_charge_response($result, $invoice);
663 663
 
664
-		if ( wpinv_get_errors() ) {
665
-			wpinv_send_back_to_checkout( $invoice );
664
+		if (wpinv_get_errors()) {
665
+			wpinv_send_back_to_checkout($invoice);
666 666
 		}
667 667
 
668 668
 	}
@@ -673,30 +673,30 @@  discard block
 block discarded – undo
673 673
      * @param WPInv_Invoice $invoice Invoice.
674 674
      * @param WPInv_Subscription[]|WPInv_Subscription $subscriptions Subscriptions.
675 675
 	 */
676
-	public function process_subscription( $invoice, $subscriptions ) {
676
+	public function process_subscription($invoice, $subscriptions) {
677 677
 
678 678
         // Check if there is an initial amount to charge.
679
-        if ( (float) $invoice->get_total() > 0 ) {
680
-			$this->process_initial_payment( $invoice );
679
+        if ((float) $invoice->get_total() > 0) {
680
+			$this->process_initial_payment($invoice);
681 681
         }
682 682
 
683 683
         // Activate the subscriptions.
684
-        $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
684
+        $subscriptions = is_array($subscriptions) ? $subscriptions : array($subscriptions);
685 685
 
686
-        foreach ( $subscriptions as $subscription ) {
687
-            if ( $subscription->exists() ) {
688
-                $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
689
-                $expiry   = date( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
686
+        foreach ($subscriptions as $subscription) {
687
+            if ($subscription->exists()) {
688
+                $duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created());
689
+                $expiry   = date('Y-m-d H:i:s', (current_time('timestamp') + $duration));
690 690
 
691
-                $subscription->set_next_renewal_date( $expiry );
692
-                $subscription->set_date_created( current_time( 'mysql' ) );
693
-                $subscription->set_profile_id( $invoice->generate_key( 'authnet_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ) );
691
+                $subscription->set_next_renewal_date($expiry);
692
+                $subscription->set_date_created(current_time('mysql'));
693
+                $subscription->set_profile_id($invoice->generate_key('authnet_sub_' . $invoice->get_id() . '_' . $subscription->get_id()));
694 694
                 $subscription->activate();
695 695
             }
696 696
         }
697 697
 
698 698
 		// Redirect to the success page.
699
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
699
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
700 700
 
701 701
     }
702 702
 
@@ -706,10 +706,10 @@  discard block
 block discarded – undo
706 706
 	 *
707 707
 	 * @param WPInv_Subscription $subscription
708 708
 	 */
709
-	public function maybe_renew_subscription( $subscription, $parent_invoice ) {
709
+	public function maybe_renew_subscription($subscription, $parent_invoice) {
710 710
 		// Ensure its our subscription && it's active.
711
-		if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
712
-			$this->renew_subscription( $subscription );
711
+		if (!empty($parent_invoice) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status('active trialling')) {
712
+			$this->renew_subscription($subscription);
713 713
 		}
714 714
 	}
715 715
 
@@ -718,28 +718,28 @@  discard block
 block discarded – undo
718 718
 	 *
719 719
      * @param WPInv_Subscription $subscription
720 720
 	 */
721
-	public function renew_subscription( $subscription ) {
721
+	public function renew_subscription($subscription) {
722 722
 
723 723
 		// Generate the renewal invoice.
724 724
 		$new_invoice = $subscription->create_payment();
725 725
 		$old_invoice = $subscription->get_parent_payment();
726 726
 
727
-        if ( empty( $new_invoice ) ) {
728
-            $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false );
727
+        if (empty($new_invoice)) {
728
+            $old_invoice->add_note(__('Error generating a renewal invoice.', 'invoicing'), false, false, false);
729 729
             $subscription->failing();
730 730
             return;
731 731
         }
732 732
 
733 733
         // Charge the payment method.
734
-		$payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
735
-		$customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
736
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
734
+		$payment_profile_id = get_post_meta($old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
735
+		$customer_profile   = get_user_meta($old_invoice->get_user_id(), $this->get_customer_profile_meta_name($old_invoice), true);
736
+		$result             = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $new_invoice);
737 737
 
738 738
 		// Do we have an error?
739
-		if ( is_wp_error( $result ) ) {
739
+		if (is_wp_error($result)) {
740 740
 
741 741
 			$old_invoice->add_note(
742
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
742
+				sprintf(__('Error renewing subscription : ( %s ).', 'invoicing'), $result->get_error_message()),
743 743
 				true,
744 744
 				false,
745 745
 				true
@@ -750,12 +750,12 @@  discard block
 block discarded – undo
750 750
 		}
751 751
 
752 752
 		// Process the response.
753
-		$this->process_charge_response( $result, $new_invoice );
753
+		$this->process_charge_response($result, $new_invoice);
754 754
 
755
-		if ( wpinv_get_errors() ) {
755
+		if (wpinv_get_errors()) {
756 756
 
757 757
 			$old_invoice->add_note(
758
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
758
+				sprintf(__('Error renewing subscription : ( %s ).', 'invoicing'), getpaid_get_errors_html()),
759 759
 				true,
760 760
 				false,
761 761
 				true
@@ -765,9 +765,9 @@  discard block
 block discarded – undo
765 765
 
766 766
         }
767 767
 
768
-        if ( ! $new_invoice->needs_payment() ) {
768
+        if (!$new_invoice->needs_payment()) {
769 769
             $subscription->renew();
770
-            $subscription->after_add_payment( $new_invoice );
770
+            $subscription->after_add_payment($new_invoice);
771 771
         } else {
772 772
             $subscription->failing();
773 773
         }
@@ -780,33 +780,33 @@  discard block
 block discarded – undo
780 780
 	 * @param GetPaid_Form_Item[] $items
781 781
 	 * @return WPInv_Invoice
782 782
 	 */
783
-	public function process_addons( $invoice, $items ) {
783
+	public function process_addons($invoice, $items) {
784 784
 
785 785
         global $getpaid_authorize_addons;
786 786
 
787 787
         $getpaid_authorize_addons = array();
788
-        foreach ( $items as $item ) {
788
+        foreach ($items as $item) {
789 789
 
790
-            if ( is_null( $invoice->get_item( $item->get_id() ) ) && ! is_wp_error( $invoice->add_item( $item ) ) ) {
790
+            if (is_null($invoice->get_item($item->get_id())) && !is_wp_error($invoice->add_item($item))) {
791 791
                 $getpaid_authorize_addons[] = $item;
792 792
             }
793 793
 }
794 794
 
795
-        if ( empty( $getpaid_authorize_addons ) ) {
795
+        if (empty($getpaid_authorize_addons)) {
796 796
             return;
797 797
         }
798 798
 
799 799
         $invoice->recalculate_total();
800 800
 
801
-        $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
802
-		$customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
801
+        $payment_profile_id = get_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
802
+		$customer_profile = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true);
803 803
 
804
-        add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 );
805
-        $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
806
-        remove_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ) );
804
+        add_filter('getpaid_authorizenet_charge_customer_payment_profile_args', array($this, 'filter_addons_request'), 10, 2);
805
+        $result = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $invoice);
806
+        remove_filter('getpaid_authorizenet_charge_customer_payment_profile_args', array($this, 'filter_addons_request'));
807 807
 
808
-        if ( is_wp_error( $result ) ) {
809
-            wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
808
+        if (is_wp_error($result)) {
809
+            wpinv_set_error($result->get_error_code(), $result->get_error_message());
810 810
             return;
811 811
         }
812 812
 
@@ -819,19 +819,19 @@  discard block
 block discarded – undo
819 819
      * @param array $args
820 820
 	 * @return array
821 821
 	 */
822
-    public function filter_addons_request( $args ) {
822
+    public function filter_addons_request($args) {
823 823
 
824 824
         global $getpaid_authorize_addons;
825 825
         $total = 0;
826 826
 
827
-        foreach ( $getpaid_authorize_addons as $addon ) {
827
+        foreach ($getpaid_authorize_addons as $addon) {
828 828
             $total += $addon->get_sub_total();
829 829
         }
830 830
 
831 831
         $args['createTransactionRequest']['transactionRequest']['amount'] = $total;
832 832
 
833
-        if ( isset( $args['createTransactionRequest']['transactionRequest']['tax'] ) ) {
834
-            unset( $args['createTransactionRequest']['transactionRequest']['tax'] );
833
+        if (isset($args['createTransactionRequest']['transactionRequest']['tax'])) {
834
+            unset($args['createTransactionRequest']['transactionRequest']['tax']);
835 835
         }
836 836
 
837 837
         return $args;
@@ -844,7 +844,7 @@  discard block
 block discarded – undo
844 844
     public function sandbox_notice() {
845 845
 
846 846
         return sprintf(
847
-            __( 'SANDBOX ENABLED. You can use sandbox testing details only. See the %1$sAuthorize.NET Sandbox Testing Guide%2$s for more details.', 'invoicing' ),
847
+            __('SANDBOX ENABLED. You can use sandbox testing details only. See the %1$sAuthorize.NET Sandbox Testing Guide%2$s for more details.', 'invoicing'),
848 848
             '<a href="https://developer.authorize.net/hello_world/testing_guide.html">',
849 849
             '</a>'
850 850
         );
@@ -856,42 +856,42 @@  discard block
 block discarded – undo
856 856
 	 *
857 857
 	 * @param array $admin_settings
858 858
 	 */
859
-	public function admin_settings( $admin_settings ) {
859
+	public function admin_settings($admin_settings) {
860 860
 
861 861
         $currencies = sprintf(
862
-            __( 'Supported Currencies: %s', 'invoicing' ),
863
-            implode( ', ', $this->currencies )
862
+            __('Supported Currencies: %s', 'invoicing'),
863
+            implode(', ', $this->currencies)
864 864
         );
865 865
 
866 866
         $admin_settings['authorizenet_active']['desc'] .= " ($currencies)";
867
-        $admin_settings['authorizenet_desc']['std']     = __( 'Pay securely using your credit or debit card.', 'invoicing' );
867
+        $admin_settings['authorizenet_desc']['std']     = __('Pay securely using your credit or debit card.', 'invoicing');
868 868
 
869 869
         $admin_settings['authorizenet_login_id'] = array(
870 870
             'type' => 'text',
871 871
             'id'   => 'authorizenet_login_id',
872
-            'name' => __( 'API Login ID', 'invoicing' ),
873
-            'desc' => '<a href="https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001271"><em>' . __( 'How do I obtain my API Login ID and Transaction Key?', 'invoicing' ) . '</em></a>',
872
+            'name' => __('API Login ID', 'invoicing'),
873
+            'desc' => '<a href="https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001271"><em>' . __('How do I obtain my API Login ID and Transaction Key?', 'invoicing') . '</em></a>',
874 874
         );
875 875
 
876 876
         $admin_settings['authorizenet_transaction_key'] = array(
877 877
             'type' => 'text',
878 878
             'id'   => 'authorizenet_transaction_key',
879
-            'name' => __( 'Transaction Key', 'invoicing' ),
879
+            'name' => __('Transaction Key', 'invoicing'),
880 880
         );
881 881
 
882 882
         $admin_settings['authorizenet_signature_key'] = array(
883 883
             'type' => 'text',
884 884
             'id'   => 'authorizenet_signature_key',
885
-            'name' => __( 'Signature Key', 'invoicing' ),
886
-            'desc' => '<a href="https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001271"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>',
885
+            'name' => __('Signature Key', 'invoicing'),
886
+            'desc' => '<a href="https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001271"><em>' . __('Learn more.', 'invoicing') . '</em></a>',
887 887
         );
888 888
 
889 889
         $admin_settings['authorizenet_ipn_url'] = array(
890 890
             'type'     => 'ipn_url',
891 891
             'id'       => 'authorizenet_ipn_url',
892
-            'name'     => __( 'Webhook URL', 'invoicing' ),
892
+            'name'     => __('Webhook URL', 'invoicing'),
893 893
             'std'      => $this->notify_url,
894
-            'desc'     => __( 'Create a new webhook using this URL as the endpoint URL and set it to receive all payment events.', 'invoicing' ) . ' <a href="https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001542"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>',
894
+            'desc'     => __('Create a new webhook using this URL as the endpoint URL and set it to receive all payment events.', 'invoicing') . ' <a href="https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001542"><em>' . __('Learn more.', 'invoicing') . '</em></a>',
895 895
             'custom'   => 'authorizenet',
896 896
             'readonly' => true,
897 897
         );
Please login to merge, or discard this patch.
templates/emails/invoice-item.php 2 patches
Indentation   +46 added lines, -46 removed lines patch added patch discarded remove patch
@@ -18,63 +18,63 @@
 block discarded – undo
18 18
 	<?php foreach ( array_keys( $columns ) as $column ) : ?>
19 19
 	<td class="<?php echo 'name' == $column ? 'text-left' : 'text-right'; ?> wpinv_cart_item_<?php echo esc_attr( $column ); ?>">
20 20
 		<?php
21
-		// Fires before printing a line item column.
22
-		do_action( "getpaid_email_line_item_before_$column", $item, $invoice );
21
+        // Fires before printing a line item column.
22
+        do_action( "getpaid_email_line_item_before_$column", $item, $invoice );
23 23
 
24
-		// Item name.
25
-		if ( 'name' == $column ) {
26
-			$has_featured_image = has_post_thumbnail( $item->get_id() );
24
+        // Item name.
25
+        if ( 'name' == $column ) {
26
+            $has_featured_image = has_post_thumbnail( $item->get_id() );
27 27
 
28
-			if ( $has_featured_image ) {
29
-				echo '<div class="getpaid-email-item-image-wrap" style="min-height:80px">';
30
-					echo '<div class="getpaid-email-image-wrap" style="display:inline-block;width:80px;height:80px;">';
31
-						echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'wpinv-email-item-image' ) );
32
-					echo '</div>';
33
-					echo '<div class="getpaid-email-item-name-wrap" style="display:inline-block;vertical-align:top;max-width:360px;">';
34
-			}
28
+            if ( $has_featured_image ) {
29
+                echo '<div class="getpaid-email-item-image-wrap" style="min-height:80px">';
30
+                    echo '<div class="getpaid-email-image-wrap" style="display:inline-block;width:80px;height:80px;">';
31
+                        echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'wpinv-email-item-image' ) );
32
+                    echo '</div>';
33
+                    echo '<div class="getpaid-email-item-name-wrap" style="display:inline-block;vertical-align:top;max-width:360px;">';
34
+            }
35 35
 
36
-			// Display the name.
37
-			echo '<div class="wpinv_email_cart_item_title">' . esc_html( $item->get_name() ) . '</div>';
36
+            // Display the name.
37
+            echo '<div class="wpinv_email_cart_item_title">' . esc_html( $item->get_name() ) . '</div>';
38 38
 
39
-			// And an optional description.
40
-			$description = $item->get_description();
39
+            // And an optional description.
40
+            $description = $item->get_description();
41 41
 
42
-			if ( ! empty( $description ) ) {
43
-				echo "<p class='small'>" . wp_kses_post( $description ) . "</p>";
44
-			}
42
+            if ( ! empty( $description ) ) {
43
+                echo "<p class='small'>" . wp_kses_post( $description ) . "</p>";
44
+            }
45 45
 
46
-			if ( $has_featured_image ) {
47
-					echo '</div>';
48
-				echo '</div>';
49
-			}
50
-		}
46
+            if ( $has_featured_image ) {
47
+                    echo '</div>';
48
+                echo '</div>';
49
+            }
50
+        }
51 51
 
52
-		// Item price.
53
-		if ( 'price' == $column ) {
54
-			// Display the item price (or recurring price if this is a renewal invoice)
55
-			$price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
56
-			wpinv_the_price( $price, $invoice->get_currency() );
57
-		}
52
+        // Item price.
53
+        if ( 'price' == $column ) {
54
+            // Display the item price (or recurring price if this is a renewal invoice)
55
+            $price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
56
+            wpinv_the_price( $price, $invoice->get_currency() );
57
+        }
58 58
 
59
-		// Item quantity.
60
-		if ( 'quantity' == $column ) {
61
-			echo (float) $item->get_quantity();
62
-		}
59
+        // Item quantity.
60
+        if ( 'quantity' == $column ) {
61
+            echo (float) $item->get_quantity();
62
+        }
63 63
 
64
-		// Tax rate.
65
-		if ( 'tax_rate' == $column ) {
66
-			echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
67
-		}
64
+        // Tax rate.
65
+        if ( 'tax_rate' == $column ) {
66
+            echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
67
+        }
68 68
 
69
-		// Item sub total.
70
-		if ( 'subtotal' == $column ) {
71
-			$subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
72
-			wpinv_the_price( $subtotal, $invoice->get_currency() );
73
-		}
69
+        // Item sub total.
70
+        if ( 'subtotal' == $column ) {
71
+            $subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
72
+            wpinv_the_price( $subtotal, $invoice->get_currency() );
73
+        }
74 74
 
75
-		// Fires when printing a line item column.
76
-		do_action( "getpaid_email_line_item_$column", $item, $invoice );
77
-		?>
75
+        // Fires when printing a line item column.
76
+        do_action( "getpaid_email_line_item_$column", $item, $invoice );
77
+        ?>
78 78
 	</td>
79 79
 	<?php endforeach; ?>
80 80
 </tr>
Please login to merge, or discard this patch.
Spacing   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -10,73 +10,73 @@
 block discarded – undo
10 10
  * @var array $columns
11 11
  */
12 12
 
13
-defined( 'ABSPATH' ) || exit;
13
+defined('ABSPATH') || exit;
14 14
 
15
-do_action( 'getpaid_before_email_line_item', $invoice, $item );
15
+do_action('getpaid_before_email_line_item', $invoice, $item);
16 16
 ?>
17
-<tr class="wpinv_cart_item item-type-<?php echo esc_attr( $item->get_type() ); ?>">
18
-	<?php foreach ( array_keys( $columns ) as $column ) : ?>
19
-	<td class="<?php echo 'name' == $column ? 'text-left' : 'text-right'; ?> wpinv_cart_item_<?php echo esc_attr( $column ); ?>">
17
+<tr class="wpinv_cart_item item-type-<?php echo esc_attr($item->get_type()); ?>">
18
+	<?php foreach (array_keys($columns) as $column) : ?>
19
+	<td class="<?php echo 'name' == $column ? 'text-left' : 'text-right'; ?> wpinv_cart_item_<?php echo esc_attr($column); ?>">
20 20
 		<?php
21 21
 		// Fires before printing a line item column.
22
-		do_action( "getpaid_email_line_item_before_$column", $item, $invoice );
22
+		do_action("getpaid_email_line_item_before_$column", $item, $invoice);
23 23
 
24 24
 		// Item name.
25
-		if ( 'name' == $column ) {
26
-			$has_featured_image = has_post_thumbnail( $item->get_id() );
25
+		if ('name' == $column) {
26
+			$has_featured_image = has_post_thumbnail($item->get_id());
27 27
 
28
-			if ( $has_featured_image ) {
28
+			if ($has_featured_image) {
29 29
 				echo '<div class="getpaid-email-item-image-wrap" style="min-height:80px">';
30 30
 					echo '<div class="getpaid-email-image-wrap" style="display:inline-block;width:80px;height:80px;">';
31
-						echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'wpinv-email-item-image' ) );
31
+						echo get_the_post_thumbnail($item->get_id(), array(75, 75), array('class' => 'wpinv-email-item-image'));
32 32
 					echo '</div>';
33 33
 					echo '<div class="getpaid-email-item-name-wrap" style="display:inline-block;vertical-align:top;max-width:360px;">';
34 34
 			}
35 35
 
36 36
 			// Display the name.
37
-			echo '<div class="wpinv_email_cart_item_title">' . esc_html( $item->get_name() ) . '</div>';
37
+			echo '<div class="wpinv_email_cart_item_title">' . esc_html($item->get_name()) . '</div>';
38 38
 
39 39
 			// And an optional description.
40 40
 			$description = $item->get_description();
41 41
 
42
-			if ( ! empty( $description ) ) {
43
-				echo "<p class='small'>" . wp_kses_post( $description ) . "</p>";
42
+			if (!empty($description)) {
43
+				echo "<p class='small'>" . wp_kses_post($description) . "</p>";
44 44
 			}
45 45
 
46
-			if ( $has_featured_image ) {
46
+			if ($has_featured_image) {
47 47
 					echo '</div>';
48 48
 				echo '</div>';
49 49
 			}
50 50
 		}
51 51
 
52 52
 		// Item price.
53
-		if ( 'price' == $column ) {
53
+		if ('price' == $column) {
54 54
 			// Display the item price (or recurring price if this is a renewal invoice)
55 55
 			$price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
56
-			wpinv_the_price( $price, $invoice->get_currency() );
56
+			wpinv_the_price($price, $invoice->get_currency());
57 57
 		}
58 58
 
59 59
 		// Item quantity.
60
-		if ( 'quantity' == $column ) {
60
+		if ('quantity' == $column) {
61 61
 			echo (float) $item->get_quantity();
62 62
 		}
63 63
 
64 64
 		// Tax rate.
65
-		if ( 'tax_rate' == $column ) {
66
-			echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
65
+		if ('tax_rate' == $column) {
66
+			echo floatval(round(getpaid_get_invoice_tax_rate($invoice, $item), 2)) . '%';
67 67
 		}
68 68
 
69 69
 		// Item sub total.
70
-		if ( 'subtotal' == $column ) {
70
+		if ('subtotal' == $column) {
71 71
 			$subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
72
-			wpinv_the_price( $subtotal, $invoice->get_currency() );
72
+			wpinv_the_price($subtotal, $invoice->get_currency());
73 73
 		}
74 74
 
75 75
 		// Fires when printing a line item column.
76
-		do_action( "getpaid_email_line_item_$column", $item, $invoice );
76
+		do_action("getpaid_email_line_item_$column", $item, $invoice);
77 77
 		?>
78 78
 	</td>
79 79
 	<?php endforeach; ?>
80 80
 </tr>
81 81
 
82
-<?php do_action( 'getpaid_after_email_line_item', $invoice, $item ); ?>
82
+<?php do_action('getpaid_after_email_line_item', $invoice, $item); ?>
Please login to merge, or discard this patch.
vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php 3 patches
Braces   +13 added lines, -9 removed lines patch added patch discarded remove patch
@@ -538,7 +538,7 @@  discard block
 block discarded – undo
538 538
 					// custom changes
539 539
 					if ( $load_fse ) {
540 540
 						wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility, true) );
541
-					}else{
541
+					} else{
542 542
 						wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
543 543
 					}
544 544
 				}
@@ -558,7 +558,7 @@  discard block
 block discarded – undo
558 558
 			ob_start();
559 559
 			if ( $aui_bs5 ) {
560 560
 				include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
561
-			}else{
561
+			} else{
562 562
 				include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
563 563
             }
564 564
 
@@ -642,7 +642,7 @@  discard block
 block discarded – undo
642 642
 				// iconpicker
643 643
 				if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
644 644
 					wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
645
-				}else{
645
+				} else{
646 646
 					wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
647 647
 				}
648 648
 
@@ -1371,9 +1371,9 @@  discard block
 block discarded – undo
1371 1371
 
1372 1372
 			if($compatibility===true || $compatibility===1){
1373 1373
 				$compatibility = '.bsui';
1374
-			}elseif(!$compatibility){
1374
+			} elseif(!$compatibility){
1375 1375
 				$compatibility = '';
1376
-			}else{
1376
+			} else{
1377 1377
 				$compatibility = esc_attr($compatibility);
1378 1378
 			}
1379 1379
 
@@ -1659,9 +1659,9 @@  discard block
 block discarded – undo
1659 1659
 
1660 1660
 			if($compatibility===true || $compatibility===1){
1661 1661
 				$compatibility = '.bsui';
1662
-			}elseif(!$compatibility){
1662
+			} elseif(!$compatibility){
1663 1663
 				$compatibility = '';
1664
-			}else{
1664
+			} else{
1665 1665
 				$compatibility = esc_attr($compatibility);
1666 1666
 			}
1667 1667
 
@@ -2531,7 +2531,9 @@  discard block
 block discarded – undo
2531 2531
 		 * @return mixed
2532 2532
 		 */
2533 2533
 		public static function minify_js($input) {
2534
-			if(trim($input) === "") return $input;
2534
+			if(trim($input) === "") {
2535
+			    return $input;
2536
+			}
2535 2537
 			return preg_replace(
2536 2538
 				array(
2537 2539
 					// Remove comment(s)
@@ -2563,7 +2565,9 @@  discard block
 block discarded – undo
2563 2565
 		 * @return mixed
2564 2566
 		 */
2565 2567
 		public static function minify_css($input) {
2566
-			if(trim($input) === "") return $input;
2568
+			if(trim($input) === "") {
2569
+			    return $input;
2570
+			}
2567 2571
 			return preg_replace(
2568 2572
 				array(
2569 2573
 					// Remove comment(s)
Please login to merge, or discard this patch.
Spacing   +799 added lines, -799 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,57 +1442,57 @@  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 1478
 			}
1479 1479
 
1480
-			$output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1481
-			$output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1480
+			$output .= $prefix . ' .link-' . esc_attr($type) . ' {color: var(--bs-' . esc_attr($type) . '-rgb) !important;}';
1481
+			$output .= $prefix . ' .link-' . esc_attr($type) . ':hover {color: rgba(var(--bs-' . esc_attr($type) . '-rgb), .8) !important;}';
1482 1482
 
1483 1483
 			//  buttons
1484
-			$output .= $prefix . ' .btn-'.esc_attr($type).'{';
1484
+			$output .= $prefix . ' .btn-' . esc_attr($type) . '{';
1485 1485
 			$output .= ' 
1486
-            --bs-btn-bg: '.esc_attr($color_code).';
1487
-            --bs-btn-border-color: '.esc_attr($color_code).';
1488
-            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1489
-            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1490
-            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type).'-rgb;
1491
-            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1492
-            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1486
+            --bs-btn-bg: '.esc_attr($color_code) . ';
1487
+            --bs-btn-border-color: '.esc_attr($color_code) . ';
1488
+            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1489
+            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1490
+            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type) . '-rgb;
1491
+            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1492
+            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1493 1493
             --bs-btn-active-shadow: unset;
1494
-            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1495
-            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1494
+            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .5);
1495
+            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .1);
1496 1496
             ';
1497 1497
 //			$output .= '
1498 1498
 //		    --bs-btn-color: #fff;
@@ -1503,18 +1503,18 @@  discard block
 block discarded – undo
1503 1503
 			$output .= '}';
1504 1504
 
1505 1505
 			//  buttons outline
1506
-			$output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1506
+			$output .= $prefix . ' .btn-outline-' . esc_attr($type) . '{';
1507 1507
 			$output .= ' 
1508
-			--bs-btn-color: '.esc_attr($color_code).';
1509
-            --bs-btn-border-color: '.esc_attr($color_code).';
1510
-            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1511
-            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1512
-            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type).'-rgb;
1513
-            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1514
-            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1508
+			--bs-btn-color: '.esc_attr($color_code) . ';
1509
+            --bs-btn-border-color: '.esc_attr($color_code) . ';
1510
+            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1511
+            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1512
+            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type) . '-rgb;
1513
+            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1514
+            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1515 1515
             --bs-btn-active-shadow: unset;
1516
-            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1517
-            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1516
+            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .5);
1517
+            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .1);
1518 1518
             ';
1519 1519
 //			$output .= '
1520 1520
 //		    --bs-btn-color: #fff;
@@ -1526,32 +1526,32 @@  discard block
 block discarded – undo
1526 1526
 
1527 1527
 
1528 1528
             // button hover
1529
-			$output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1529
+			$output .= $prefix . ' .btn-' . esc_attr($type) . ':hover{';
1530 1530
 			$output .= ' 
1531
-            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);
1531
+            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 1532
             }
1533 1533
             ';
1534 1534
 
1535 1535
 
1536
-			if ( $aui_bs5 ) {
1536
+			if ($aui_bs5) {
1537 1537
 //				$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).'; }';
1538
-				$output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1539
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1538
+				$output .= 'html body {--bs-' . esc_attr($type) . ': ' . esc_attr($color_code) . '; }';
1539
+				$output .= 'html body {--bs-' . esc_attr($type) . '-rgb: ' . $rgb . '; }';
1540 1540
 			}
1541 1541
 
1542 1542
 
1543
-			if ( $is_custom ) {
1543
+			if ($is_custom) {
1544 1544
 
1545 1545
 //				echo '###'.$type;exit;
1546 1546
 
1547 1547
 				// build rules into each type
1548
-				foreach($selectors as $selector => $types){
1549
-					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1550
-					$types = array_combine($types,$types);
1551
-					if(isset($types['c'])){$color[] = $selector;}
1552
-					if(isset($types['b'])){$background[] = $selector;}
1553
-					if(isset($types['o'])){$border[] = $selector;}
1554
-					if(isset($types['f'])){$fill[] = $selector;}
1548
+				foreach ($selectors as $selector => $types) {
1549
+					$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1550
+					$types = array_combine($types, $types);
1551
+					if (isset($types['c'])) {$color[] = $selector; }
1552
+					if (isset($types['b'])) {$background[] = $selector; }
1553
+					if (isset($types['o'])) {$border[] = $selector; }
1554
+					if (isset($types['f'])) {$fill[] = $selector; }
1555 1555
 				}
1556 1556
 
1557 1557
 //				// build rules into each type
@@ -1565,36 +1565,36 @@  discard block
 block discarded – undo
1565 1565
 //				}
1566 1566
 
1567 1567
 				// add any color rules
1568
-				if(!empty($color)){
1569
-					$output .= implode(",",$color) . "{color: $color_code;} ";
1568
+				if (!empty($color)) {
1569
+					$output .= implode(",", $color) . "{color: $color_code;} ";
1570 1570
 				}
1571
-				if(!empty($color_i)){
1572
-					$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1571
+				if (!empty($color_i)) {
1572
+					$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1573 1573
 				}
1574 1574
 
1575 1575
 				// add any background color rules
1576
-				if(!empty($background)){
1577
-					$output .= implode(",",$background) . "{background-color: $color_code;} ";
1576
+				if (!empty($background)) {
1577
+					$output .= implode(",", $background) . "{background-color: $color_code;} ";
1578 1578
 				}
1579
-				if(!empty($background_i)){
1580
-					$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1579
+				if (!empty($background_i)) {
1580
+					$output .= $aui_bs5 ? '' : implode(",", $background_i) . "{background-color: $color_code !important;} ";
1581 1581
 //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1582 1582
 				}
1583 1583
 
1584 1584
 				// add any border color rules
1585
-				if(!empty($border)){
1586
-					$output .= implode(",",$border) . "{border-color: $color_code;} ";
1585
+				if (!empty($border)) {
1586
+					$output .= implode(",", $border) . "{border-color: $color_code;} ";
1587 1587
 				}
1588
-				if(!empty($border_i)){
1589
-					$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1588
+				if (!empty($border_i)) {
1589
+					$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1590 1590
 				}
1591 1591
 
1592 1592
 				// add any fill color rules
1593
-				if(!empty($fill)){
1594
-					$output .= implode(",",$fill) . "{fill: $color_code;} ";
1593
+				if (!empty($fill)) {
1594
+					$output .= implode(",", $fill) . "{fill: $color_code;} ";
1595 1595
 				}
1596
-				if(!empty($fill_i)){
1597
-					$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1596
+				if (!empty($fill_i)) {
1597
+					$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1598 1598
 				}
1599 1599
 
1600 1600
 			}
@@ -1604,26 +1604,26 @@  discard block
 block discarded – undo
1604 1604
 
1605 1605
 			$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;' : '';
1606 1606
 			// darken
1607
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1608
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1609
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1610
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1607
+			$darker_075 = $is_var ? $color_code . ';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code, "-0.075");
1608
+			$darker_10 = $is_var ? $color_code . ';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code, "-0.10");
1609
+			$darker_125 = $is_var ? $color_code . ';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code, "-0.125");
1610
+			$darker_40 = $is_var ? $color_code . ';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code, "-0.4");
1611 1611
 
1612 1612
 			// lighten
1613
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1613
+			$lighten_25 = $is_var ? $color_code . ';filter:brightness(1.25)' : self::css_hex_lighten_darken($color_code, "0.25");
1614 1614
 
1615 1615
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1616
-			$op_25 = $color_code."40"; // 25% opacity
1616
+			$op_25 = $color_code . "40"; // 25% opacity
1617 1617
 
1618 1618
 
1619 1619
 			// button states
1620
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1621
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1620
+			$output .= $is_var ? $prefix . " .btn-{$type}{{$transition }} " : '';
1621
+			$output .= $prefix . " .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1622 1622
 //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1623
-			$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;} ";
1624
-			$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.";} ";
1625
-            $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;} ";
1626
-            $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);} ";
1623
+			$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;} ";
1624
+			$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 . ";} ";
1625
+            $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;} ";
1626
+            $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);} ";
1627 1627
 
1628 1628
 			// text
1629 1629
 //			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
@@ -1641,9 +1641,9 @@  discard block
 block discarded – undo
1641 1641
 //			}
1642 1642
 
1643 1643
 			// alerts
1644
-			if ( $aui_bs5 ) {
1644
+			if ($aui_bs5) {
1645 1645
 //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1646
-				$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;} ";
1646
+				$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;} ";
1647 1647
 			}
1648 1648
 
1649 1649
 			return $output;
@@ -1658,12 +1658,12 @@  discard block
 block discarded – undo
1658 1658
 		 *
1659 1659
 		 * @return string
1660 1660
 		 */
1661
-		public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1661
+		public static function css_overwrite($type, $color_code, $compatibility, $hex = '') {
1662 1662
             global $aui_bs5;
1663 1663
 
1664 1664
 			$is_var = false;
1665
-			if(!$color_code){return '';}
1666
-			if(strpos($color_code, 'var') !== false){
1665
+			if (!$color_code) {return ''; }
1666
+			if (strpos($color_code, 'var') !== false) {
1667 1667
 				//if(!sanitize_hex_color($color_code)){
1668 1668
 				$color_code = esc_attr($color_code);
1669 1669
 				$is_var = true;
@@ -1673,15 +1673,15 @@  discard block
 block discarded – undo
1673 1673
 
1674 1674
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1675 1675
 
1676
-			if(!$color_code){return '';}
1676
+			if (!$color_code) {return ''; }
1677 1677
 
1678 1678
             $rgb = self::hex_to_rgb($hex);
1679 1679
 
1680
-			if($compatibility===true || $compatibility===1){
1680
+			if ($compatibility === true || $compatibility === 1) {
1681 1681
 				$compatibility = '.bsui';
1682
-			}elseif(!$compatibility){
1682
+			}elseif (!$compatibility) {
1683 1683
 				$compatibility = '';
1684
-			}else{
1684
+			} else {
1685 1685
 				$compatibility = esc_attr($compatibility);
1686 1686
 			}
1687 1687
 
@@ -1695,29 +1695,29 @@  discard block
 block discarded – undo
1695 1695
 			 * c = color, b = background color, o = border-color, f = fill
1696 1696
 			 */
1697 1697
 			$selectors = array(
1698
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1699
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1700
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1701
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1702
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1703
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1704
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1705
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1706
-				".badge-{$type}"                                            => array( 'b' ),
1707
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1708
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1709
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1698
+				".btn-{$type}"                                              => array('b', 'o'),
1699
+				".btn-{$type}.disabled"                                     => array('b', 'o'),
1700
+				".btn-{$type}:disabled"                                     => array('b', 'o'),
1701
+				".btn-outline-{$type}"                                      => array('c', 'o'),
1702
+				".btn-outline-{$type}:hover"                                => array('b', 'o'),
1703
+				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array('b', 'o'),
1704
+				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array('b', 'o'),
1705
+				".show>.btn-outline-{$type}.dropdown-toggle"                => array('b', 'o'),
1706
+				".badge-{$type}"                                            => array('b'),
1707
+				".alert-{$type}"                                            => array('b', 'o'),
1708
+				".bg-{$type}"                                               => array('b', 'f'),
1709
+				".btn-link.btn-{$type}"                                     => array('c'),
1710 1710
 			);
1711 1711
 
1712
-			if ( $aui_bs5 ) {
1713
-                unset($selectors[".alert-{$type}" ]);
1712
+			if ($aui_bs5) {
1713
+                unset($selectors[".alert-{$type}"]);
1714 1714
 			}
1715 1715
 
1716
-			if ( $type == 'primary' ) {
1716
+			if ($type == 'primary') {
1717 1717
 				$selectors = $selectors + array(
1718
-						'a'                                                                                                    => array( 'c' ),
1719
-						'.btn-link'                                                                                            => array( 'c' ),
1720
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1718
+						'a'                                                                                                    => array('c'),
1719
+						'.btn-link'                                                                                            => array('c'),
1720
+						'.dropdown-item.active'                                                                                => array('b'),
1721 1721
 						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1722 1722
 							'b',
1723 1723
 							'o'
@@ -1726,19 +1726,19 @@  discard block
 block discarded – undo
1726 1726
 							'b',
1727 1727
 							'o'
1728 1728
 						),
1729
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1730
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1731
-						'.page-link'                                                                                           => array( 'c' ),
1729
+						'.nav-pills .nav-link.active'                                                                          => array('b'),
1730
+						'.nav-pills .show>.nav-link'                                                                           => array('b'),
1731
+						'.page-link'                                                                                           => array('c'),
1732 1732
 						'.page-item.active .page-link'                                                                         => array(
1733 1733
 							'b',
1734 1734
 							'o'
1735 1735
 						),
1736
-						'.progress-bar'                                                                                        => array( 'b' ),
1736
+						'.progress-bar'                                                                                        => array('b'),
1737 1737
 						'.list-group-item.active'                                                                              => array(
1738 1738
 							'b',
1739 1739
 							'o'
1740 1740
 						),
1741
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1741
+						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1742 1742
 //				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1743 1743
 //				    '.custom-range::-moz-range-thumb' => array('b'),
1744 1744
 //				    '.custom-range::-ms-thumb' => array('b'),
@@ -1746,7 +1746,7 @@  discard block
 block discarded – undo
1746 1746
 			}
1747 1747
 
1748 1748
 			$important_selectors = array(
1749
-				".bg-{$type}" => array('b','f'),
1749
+				".bg-{$type}" => array('b', 'f'),
1750 1750
 				".border-{$type}" => array('o'),
1751 1751
 				".text-{$type}" => array('c'),
1752 1752
 			);
@@ -1762,62 +1762,62 @@  discard block
 block discarded – undo
1762 1762
 
1763 1763
 			$output = '';
1764 1764
 
1765
-			if ( $aui_bs5 ) {
1765
+			if ($aui_bs5) {
1766 1766
 //				$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).'; }';
1767
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1767
+				$output .= 'html body {--bs-' . esc_attr($type) . '-rgb: ' . $rgb . '; }';
1768 1768
 			}
1769 1769
 
1770 1770
 			// build rules into each type
1771
-			foreach($selectors as $selector => $types){
1772
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1773
-				$types = array_combine($types,$types);
1774
-				if(isset($types['c'])){$color[] = $selector;}
1775
-				if(isset($types['b'])){$background[] = $selector;}
1776
-				if(isset($types['o'])){$border[] = $selector;}
1777
-				if(isset($types['f'])){$fill[] = $selector;}
1771
+			foreach ($selectors as $selector => $types) {
1772
+				$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1773
+				$types = array_combine($types, $types);
1774
+				if (isset($types['c'])) {$color[] = $selector; }
1775
+				if (isset($types['b'])) {$background[] = $selector; }
1776
+				if (isset($types['o'])) {$border[] = $selector; }
1777
+				if (isset($types['f'])) {$fill[] = $selector; }
1778 1778
 			}
1779 1779
 
1780 1780
 			// build rules into each type
1781
-			foreach($important_selectors as $selector => $types){
1782
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1783
-				$types = array_combine($types,$types);
1784
-				if(isset($types['c'])){$color_i[] = $selector;}
1785
-				if(isset($types['b'])){$background_i[] = $selector;}
1786
-				if(isset($types['o'])){$border_i[] = $selector;}
1787
-				if(isset($types['f'])){$fill_i[] = $selector;}
1781
+			foreach ($important_selectors as $selector => $types) {
1782
+				$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1783
+				$types = array_combine($types, $types);
1784
+				if (isset($types['c'])) {$color_i[] = $selector; }
1785
+				if (isset($types['b'])) {$background_i[] = $selector; }
1786
+				if (isset($types['o'])) {$border_i[] = $selector; }
1787
+				if (isset($types['f'])) {$fill_i[] = $selector; }
1788 1788
 			}
1789 1789
 
1790 1790
 			// add any color rules
1791
-			if(!empty($color)){
1792
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1791
+			if (!empty($color)) {
1792
+				$output .= implode(",", $color) . "{color: $color_code;} ";
1793 1793
 			}
1794
-			if(!empty($color_i)){
1795
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1794
+			if (!empty($color_i)) {
1795
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1796 1796
 			}
1797 1797
 
1798 1798
 			// add any background color rules
1799
-			if(!empty($background)){
1800
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1799
+			if (!empty($background)) {
1800
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
1801 1801
 			}
1802
-			if(!empty($background_i)){
1803
-				$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1802
+			if (!empty($background_i)) {
1803
+				$output .= $aui_bs5 ? '' : implode(",", $background_i) . "{background-color: $color_code !important;} ";
1804 1804
 //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1805 1805
 			}
1806 1806
 
1807 1807
 			// add any border color rules
1808
-			if(!empty($border)){
1809
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1808
+			if (!empty($border)) {
1809
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
1810 1810
 			}
1811
-			if(!empty($border_i)){
1812
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1811
+			if (!empty($border_i)) {
1812
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1813 1813
 			}
1814 1814
 
1815 1815
 			// add any fill color rules
1816
-			if(!empty($fill)){
1817
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1816
+			if (!empty($fill)) {
1817
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
1818 1818
 			}
1819
-			if(!empty($fill_i)){
1820
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1819
+			if (!empty($fill_i)) {
1820
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1821 1821
 			}
1822 1822
 
1823 1823
 
@@ -1825,27 +1825,27 @@  discard block
 block discarded – undo
1825 1825
 
1826 1826
 			$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;' : '';
1827 1827
 			// darken
1828
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1829
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1830
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1831
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1828
+			$darker_075 = $is_var ? $color_code . ';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code, "-0.075");
1829
+			$darker_10 = $is_var ? $color_code . ';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code, "-0.10");
1830
+			$darker_125 = $is_var ? $color_code . ';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code, "-0.125");
1831
+			$darker_40 = $is_var ? $color_code . ';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code, "-0.4");
1832 1832
 
1833 1833
 			// lighten
1834
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1834
+			$lighten_25 = $is_var ? $color_code . ';filter:brightness(1.25)' : self::css_hex_lighten_darken($color_code, "0.25");
1835 1835
 
1836 1836
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1837
-			$op_25 = $color_code."40"; // 25% opacity
1837
+			$op_25 = $color_code . "40"; // 25% opacity
1838 1838
 
1839 1839
 
1840 1840
 			// button states
1841
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1842
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1841
+			$output .= $is_var ? $prefix . " .btn-{$type}{{$transition }} " : '';
1842
+			$output .= $prefix . " .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1843 1843
 //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1844
-			$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;} ";
1845
-			$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.";} ";
1846
-			$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;} ";
1844
+			$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;} ";
1845
+			$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 . ";} ";
1846
+			$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;} ";
1847 1847
 
1848
-			if ( $type == 'primary' ) {
1848
+			if ($type == 'primary') {
1849 1849
 				// dropdown's
1850 1850
 				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1851 1851
 
@@ -1857,9 +1857,9 @@  discard block
 block discarded – undo
1857 1857
 			}
1858 1858
 
1859 1859
             // alerts
1860
-			if ( $aui_bs5 ) {
1860
+			if ($aui_bs5) {
1861 1861
 //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1862
-				$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;} ";
1862
+				$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;} ";
1863 1863
 			}
1864 1864
 
1865 1865
 			return $output;
@@ -1875,11 +1875,11 @@  discard block
 block discarded – undo
1875 1875
 		 *
1876 1876
 		 * @return string
1877 1877
 		 */
1878
-		public static function css_primary($color_code,$compatibility, $use_variable = false){
1878
+		public static function css_primary($color_code, $compatibility, $use_variable = false) {
1879 1879
 
1880
-			if(!$use_variable){
1880
+			if (!$use_variable) {
1881 1881
 				$color_code = sanitize_hex_color($color_code);
1882
-				if(!$color_code){return '';}
1882
+				if (!$color_code) {return ''; }
1883 1883
 			}
1884 1884
 
1885 1885
 			/**
@@ -1887,36 +1887,36 @@  discard block
 block discarded – undo
1887 1887
 			 */
1888 1888
 			$selectors = array(
1889 1889
 				'a' => array('c'),
1890
-				'.btn-primary' => array('b','o'),
1891
-				'.btn-primary.disabled' => array('b','o'),
1892
-				'.btn-primary:disabled' => array('b','o'),
1893
-				'.btn-outline-primary' => array('c','o'),
1894
-				'.btn-outline-primary:hover' => array('b','o'),
1895
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1896
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1897
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1890
+				'.btn-primary' => array('b', 'o'),
1891
+				'.btn-primary.disabled' => array('b', 'o'),
1892
+				'.btn-primary:disabled' => array('b', 'o'),
1893
+				'.btn-outline-primary' => array('c', 'o'),
1894
+				'.btn-outline-primary:hover' => array('b', 'o'),
1895
+				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b', 'o'),
1896
+				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b', 'o'),
1897
+				'.show>.btn-outline-primary.dropdown-toggle' => array('b', 'o'),
1898 1898
 				'.btn-link' => array('c'),
1899 1899
 				'.dropdown-item.active' => array('b'),
1900
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1901
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1900
+				'.custom-control-input:checked~.custom-control-label::before' => array('b', 'o'),
1901
+				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b', 'o'),
1902 1902
 //				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1903 1903
 //				'.custom-range::-moz-range-thumb' => array('b'),
1904 1904
 //				'.custom-range::-ms-thumb' => array('b'),
1905 1905
 				'.nav-pills .nav-link.active' => array('b'),
1906 1906
 				'.nav-pills .show>.nav-link' => array('b'),
1907 1907
 				'.page-link' => array('c'),
1908
-				'.page-item.active .page-link' => array('b','o'),
1908
+				'.page-item.active .page-link' => array('b', 'o'),
1909 1909
 				'.badge-primary' => array('b'),
1910
-				'.alert-primary' => array('b','o'),
1910
+				'.alert-primary' => array('b', 'o'),
1911 1911
 				'.progress-bar' => array('b'),
1912
-				'.list-group-item.active' => array('b','o'),
1913
-				'.bg-primary' => array('b','f'),
1912
+				'.list-group-item.active' => array('b', 'o'),
1913
+				'.bg-primary' => array('b', 'f'),
1914 1914
 				'.btn-link.btn-primary' => array('c'),
1915 1915
 				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1916 1916
 			);
1917 1917
 
1918 1918
 			$important_selectors = array(
1919
-				'.bg-primary' => array('b','f'),
1919
+				'.bg-primary' => array('b', 'f'),
1920 1920
 				'.border-primary' => array('o'),
1921 1921
 				'.text-primary' => array('c'),
1922 1922
 			);
@@ -1933,88 +1933,88 @@  discard block
 block discarded – undo
1933 1933
 			$output = '';
1934 1934
 
1935 1935
 			// build rules into each type
1936
-			foreach($selectors as $selector => $types){
1937
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1938
-				$types = array_combine($types,$types);
1939
-				if(isset($types['c'])){$color[] = $selector;}
1940
-				if(isset($types['b'])){$background[] = $selector;}
1941
-				if(isset($types['o'])){$border[] = $selector;}
1942
-				if(isset($types['f'])){$fill[] = $selector;}
1936
+			foreach ($selectors as $selector => $types) {
1937
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1938
+				$types = array_combine($types, $types);
1939
+				if (isset($types['c'])) {$color[] = $selector; }
1940
+				if (isset($types['b'])) {$background[] = $selector; }
1941
+				if (isset($types['o'])) {$border[] = $selector; }
1942
+				if (isset($types['f'])) {$fill[] = $selector; }
1943 1943
 			}
1944 1944
 
1945 1945
 			// build rules into each type
1946
-			foreach($important_selectors as $selector => $types){
1947
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1948
-				$types = array_combine($types,$types);
1949
-				if(isset($types['c'])){$color_i[] = $selector;}
1950
-				if(isset($types['b'])){$background_i[] = $selector;}
1951
-				if(isset($types['o'])){$border_i[] = $selector;}
1952
-				if(isset($types['f'])){$fill_i[] = $selector;}
1946
+			foreach ($important_selectors as $selector => $types) {
1947
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1948
+				$types = array_combine($types, $types);
1949
+				if (isset($types['c'])) {$color_i[] = $selector; }
1950
+				if (isset($types['b'])) {$background_i[] = $selector; }
1951
+				if (isset($types['o'])) {$border_i[] = $selector; }
1952
+				if (isset($types['f'])) {$fill_i[] = $selector; }
1953 1953
 			}
1954 1954
 
1955 1955
 			// add any color rules
1956
-			if(!empty($color)){
1957
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1956
+			if (!empty($color)) {
1957
+				$output .= implode(",", $color) . "{color: $color_code;} ";
1958 1958
 			}
1959
-			if(!empty($color_i)){
1960
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1959
+			if (!empty($color_i)) {
1960
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1961 1961
 			}
1962 1962
 
1963 1963
 			// add any background color rules
1964
-			if(!empty($background)){
1965
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1964
+			if (!empty($background)) {
1965
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
1966 1966
 			}
1967
-			if(!empty($background_i)){
1968
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1967
+			if (!empty($background_i)) {
1968
+				$output .= implode(",", $background_i) . "{background-color: $color_code !important;} ";
1969 1969
 			}
1970 1970
 
1971 1971
 			// add any border color rules
1972
-			if(!empty($border)){
1973
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1972
+			if (!empty($border)) {
1973
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
1974 1974
 			}
1975
-			if(!empty($border_i)){
1976
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1975
+			if (!empty($border_i)) {
1976
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1977 1977
 			}
1978 1978
 
1979 1979
 			// add any fill color rules
1980
-			if(!empty($fill)){
1981
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1980
+			if (!empty($fill)) {
1981
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
1982 1982
 			}
1983
-			if(!empty($fill_i)){
1984
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1983
+			if (!empty($fill_i)) {
1984
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1985 1985
 			}
1986 1986
 
1987 1987
 
1988 1988
 			$prefix = $compatibility ? ".bsui " : "";
1989 1989
 
1990 1990
 			// darken
1991
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1992
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1993
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1991
+			$darker_075 = self::css_hex_lighten_darken($color_code, "-0.075");
1992
+			$darker_10 = self::css_hex_lighten_darken($color_code, "-0.10");
1993
+			$darker_125 = self::css_hex_lighten_darken($color_code, "-0.125");
1994 1994
 
1995 1995
 			// lighten
1996
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1996
+			$lighten_25 = self::css_hex_lighten_darken($color_code, "0.25");
1997 1997
 
1998 1998
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1999
-			$op_25 = $color_code."40"; // 25% opacity
1999
+			$op_25 = $color_code . "40"; // 25% opacity
2000 2000
 
2001 2001
 
2002 2002
 			// button states
2003
-			$output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2004
-			$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;} ";
2005
-			$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.";} ";
2006
-			$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;} ";
2003
+			$output .= $prefix . " .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
2004
+			$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;} ";
2005
+			$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 . ";} ";
2006
+			$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;} ";
2007 2007
 
2008 2008
 
2009 2009
 			// dropdown's
2010
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2010
+			$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2011 2011
 
2012 2012
 
2013 2013
 			// input states
2014
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
2014
+			$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
2015 2015
 
2016 2016
 			// page link
2017
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2017
+			$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2018 2018
 
2019 2019
 			return $output;
2020 2020
 		}
@@ -2028,30 +2028,30 @@  discard block
 block discarded – undo
2028 2028
 		 *
2029 2029
 		 * @return string
2030 2030
 		 */
2031
-		public static function css_secondary($color_code,$compatibility){;
2031
+		public static function css_secondary($color_code, $compatibility) {;
2032 2032
 			$color_code = sanitize_hex_color($color_code);
2033
-			if(!$color_code){return '';}
2033
+			if (!$color_code) {return ''; }
2034 2034
 			/**
2035 2035
 			 * c = color, b = background color, o = border-color, f = fill
2036 2036
 			 */
2037 2037
 			$selectors = array(
2038
-				'.btn-secondary' => array('b','o'),
2039
-				'.btn-secondary.disabled' => array('b','o'),
2040
-				'.btn-secondary:disabled' => array('b','o'),
2041
-				'.btn-outline-secondary' => array('c','o'),
2042
-				'.btn-outline-secondary:hover' => array('b','o'),
2038
+				'.btn-secondary' => array('b', 'o'),
2039
+				'.btn-secondary.disabled' => array('b', 'o'),
2040
+				'.btn-secondary:disabled' => array('b', 'o'),
2041
+				'.btn-outline-secondary' => array('c', 'o'),
2042
+				'.btn-outline-secondary:hover' => array('b', 'o'),
2043 2043
 				'.btn-outline-secondary.disabled' => array('c'),
2044 2044
 				'.btn-outline-secondary:disabled' => array('c'),
2045
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2046
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2047
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2045
+				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b', 'o'),
2046
+				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b', 'o'),
2047
+				'.btn-outline-secondary.dropdown-toggle' => array('b', 'o'),
2048 2048
 				'.badge-secondary' => array('b'),
2049
-				'.alert-secondary' => array('b','o'),
2049
+				'.alert-secondary' => array('b', 'o'),
2050 2050
 				'.btn-link.btn-secondary' => array('c'),
2051 2051
 			);
2052 2052
 
2053 2053
 			$important_selectors = array(
2054
-				'.bg-secondary' => array('b','f'),
2054
+				'.bg-secondary' => array('b', 'f'),
2055 2055
 				'.border-secondary' => array('o'),
2056 2056
 				'.text-secondary' => array('c'),
2057 2057
 			);
@@ -2068,77 +2068,77 @@  discard block
 block discarded – undo
2068 2068
 			$output = '';
2069 2069
 
2070 2070
 			// build rules into each type
2071
-			foreach($selectors as $selector => $types){
2072
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2073
-				$types = array_combine($types,$types);
2074
-				if(isset($types['c'])){$color[] = $selector;}
2075
-				if(isset($types['b'])){$background[] = $selector;}
2076
-				if(isset($types['o'])){$border[] = $selector;}
2077
-				if(isset($types['f'])){$fill[] = $selector;}
2071
+			foreach ($selectors as $selector => $types) {
2072
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
2073
+				$types = array_combine($types, $types);
2074
+				if (isset($types['c'])) {$color[] = $selector; }
2075
+				if (isset($types['b'])) {$background[] = $selector; }
2076
+				if (isset($types['o'])) {$border[] = $selector; }
2077
+				if (isset($types['f'])) {$fill[] = $selector; }
2078 2078
 			}
2079 2079
 
2080 2080
 			// build rules into each type
2081
-			foreach($important_selectors as $selector => $types){
2082
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2083
-				$types = array_combine($types,$types);
2084
-				if(isset($types['c'])){$color_i[] = $selector;}
2085
-				if(isset($types['b'])){$background_i[] = $selector;}
2086
-				if(isset($types['o'])){$border_i[] = $selector;}
2087
-				if(isset($types['f'])){$fill_i[] = $selector;}
2081
+			foreach ($important_selectors as $selector => $types) {
2082
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
2083
+				$types = array_combine($types, $types);
2084
+				if (isset($types['c'])) {$color_i[] = $selector; }
2085
+				if (isset($types['b'])) {$background_i[] = $selector; }
2086
+				if (isset($types['o'])) {$border_i[] = $selector; }
2087
+				if (isset($types['f'])) {$fill_i[] = $selector; }
2088 2088
 			}
2089 2089
 
2090 2090
 			// add any color rules
2091
-			if(!empty($color)){
2092
-				$output .= implode(",",$color) . "{color: $color_code;} ";
2091
+			if (!empty($color)) {
2092
+				$output .= implode(",", $color) . "{color: $color_code;} ";
2093 2093
 			}
2094
-			if(!empty($color_i)){
2095
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2094
+			if (!empty($color_i)) {
2095
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
2096 2096
 			}
2097 2097
 
2098 2098
 			// add any background color rules
2099
-			if(!empty($background)){
2100
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
2099
+			if (!empty($background)) {
2100
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
2101 2101
 			}
2102
-			if(!empty($background_i)){
2103
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2102
+			if (!empty($background_i)) {
2103
+				$output .= implode(",", $background_i) . "{background-color: $color_code !important;} ";
2104 2104
 			}
2105 2105
 
2106 2106
 			// add any border color rules
2107
-			if(!empty($border)){
2108
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
2107
+			if (!empty($border)) {
2108
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
2109 2109
 			}
2110
-			if(!empty($border_i)){
2111
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2110
+			if (!empty($border_i)) {
2111
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
2112 2112
 			}
2113 2113
 
2114 2114
 			// add any fill color rules
2115
-			if(!empty($fill)){
2116
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
2115
+			if (!empty($fill)) {
2116
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
2117 2117
 			}
2118
-			if(!empty($fill_i)){
2119
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2118
+			if (!empty($fill_i)) {
2119
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
2120 2120
 			}
2121 2121
 
2122 2122
 
2123 2123
 			$prefix = $compatibility ? ".bsui " : "";
2124 2124
 
2125 2125
 			// darken
2126
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2127
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2128
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2126
+			$darker_075 = self::css_hex_lighten_darken($color_code, "-0.075");
2127
+			$darker_10 = self::css_hex_lighten_darken($color_code, "-0.10");
2128
+			$darker_125 = self::css_hex_lighten_darken($color_code, "-0.125");
2129 2129
 
2130 2130
 			// lighten
2131
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2131
+			$lighten_25 = self::css_hex_lighten_darken($color_code, "0.25");
2132 2132
 
2133 2133
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
2134
-			$op_25 = $color_code."40"; // 25% opacity
2134
+			$op_25 = $color_code . "40"; // 25% opacity
2135 2135
 
2136 2136
 
2137 2137
 			// button states
2138
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2139
-			$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;} ";
2140
-			$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.";} ";
2141
-			$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;} ";
2138
+			$output .= $prefix . " .btn-secondary:hover{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
2139
+			$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;} ";
2140
+			$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 . ";} ";
2141
+			$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;} ";
2142 2142
 
2143 2143
 
2144 2144
 			return $output;
@@ -2155,7 +2155,7 @@  discard block
 block discarded – undo
2155 2155
 		public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2156 2156
 			$hexCode = ltrim($hexCode, '#');
2157 2157
 
2158
-			if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2158
+			if (strpos($hexCode, 'rgba(') !== false || strpos($hexCode, 'rgb(') !== false) {
2159 2159
 				return $hexCode;
2160 2160
 			}
2161 2161
 
@@ -2178,8 +2178,8 @@  discard block
 block discarded – undo
2178 2178
 		/**
2179 2179
 		 * Check if we should display examples.
2180 2180
 		 */
2181
-		public function maybe_show_examples(){
2182
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2181
+		public function maybe_show_examples() {
2182
+			if (current_user_can('manage_options') && isset($_REQUEST['preview-aui'])) {
2183 2183
 				echo "<head>";
2184 2184
 				wp_head();
2185 2185
 				echo "</head>";
@@ -2195,7 +2195,7 @@  discard block
 block discarded – undo
2195 2195
 		 *
2196 2196
 		 * @return string
2197 2197
 		 */
2198
-		public function get_examples(){
2198
+		public function get_examples() {
2199 2199
 			$output = '';
2200 2200
 
2201 2201
 
@@ -2301,74 +2301,74 @@  discard block
 block discarded – undo
2301 2301
 		 */
2302 2302
 		public static function calendar_params() {
2303 2303
 			$params = array(
2304
-				'month_long_1' => __( 'January', 'ayecode-connect' ),
2305
-				'month_long_2' => __( 'February', 'ayecode-connect' ),
2306
-				'month_long_3' => __( 'March', 'ayecode-connect' ),
2307
-				'month_long_4' => __( 'April', 'ayecode-connect' ),
2308
-				'month_long_5' => __( 'May', 'ayecode-connect' ),
2309
-				'month_long_6' => __( 'June', 'ayecode-connect' ),
2310
-				'month_long_7' => __( 'July', 'ayecode-connect' ),
2311
-				'month_long_8' => __( 'August', 'ayecode-connect' ),
2312
-				'month_long_9' => __( 'September', 'ayecode-connect' ),
2313
-				'month_long_10' => __( 'October', 'ayecode-connect' ),
2314
-				'month_long_11' => __( 'November', 'ayecode-connect' ),
2315
-				'month_long_12' => __( 'December', 'ayecode-connect' ),
2316
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2317
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2318
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2319
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2320
-				'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2321
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2322
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2323
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2324
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2325
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2326
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2327
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2328
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2329
-				'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2330
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2331
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2332
-				'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2333
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2334
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2335
-				'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2336
-				'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2337
-				'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2338
-				'day_s2_4' => __( 'We', 'ayecode-connect' ),
2339
-				'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2340
-				'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2341
-				'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2342
-				'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2343
-				'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2344
-				'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2345
-				'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2346
-				'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2347
-				'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2348
-				'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2349
-				'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2350
-				'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2351
-				'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2352
-				'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2353
-				'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2354
-				'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2355
-				'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2356
-				'am_lower' => __( 'am', 'ayecode-connect' ),
2357
-				'pm_lower' => __( 'pm', 'ayecode-connect' ),
2358
-				'am_upper' => __( 'AM', 'ayecode-connect' ),
2359
-				'pm_upper' => __( 'PM', 'ayecode-connect' ),
2360
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2304
+				'month_long_1' => __('January', 'ayecode-connect'),
2305
+				'month_long_2' => __('February', 'ayecode-connect'),
2306
+				'month_long_3' => __('March', 'ayecode-connect'),
2307
+				'month_long_4' => __('April', 'ayecode-connect'),
2308
+				'month_long_5' => __('May', 'ayecode-connect'),
2309
+				'month_long_6' => __('June', 'ayecode-connect'),
2310
+				'month_long_7' => __('July', 'ayecode-connect'),
2311
+				'month_long_8' => __('August', 'ayecode-connect'),
2312
+				'month_long_9' => __('September', 'ayecode-connect'),
2313
+				'month_long_10' => __('October', 'ayecode-connect'),
2314
+				'month_long_11' => __('November', 'ayecode-connect'),
2315
+				'month_long_12' => __('December', 'ayecode-connect'),
2316
+				'month_s_1' => _x('Jan', 'January abbreviation', 'ayecode-connect'),
2317
+				'month_s_2' => _x('Feb', 'February abbreviation', 'ayecode-connect'),
2318
+				'month_s_3' => _x('Mar', 'March abbreviation', 'ayecode-connect'),
2319
+				'month_s_4' => _x('Apr', 'April abbreviation', 'ayecode-connect'),
2320
+				'month_s_5' => _x('May', 'May abbreviation', 'ayecode-connect'),
2321
+				'month_s_6' => _x('Jun', 'June abbreviation', 'ayecode-connect'),
2322
+				'month_s_7' => _x('Jul', 'July abbreviation', 'ayecode-connect'),
2323
+				'month_s_8' => _x('Aug', 'August abbreviation', 'ayecode-connect'),
2324
+				'month_s_9' => _x('Sep', 'September abbreviation', 'ayecode-connect'),
2325
+				'month_s_10' => _x('Oct', 'October abbreviation', 'ayecode-connect'),
2326
+				'month_s_11' => _x('Nov', 'November abbreviation', 'ayecode-connect'),
2327
+				'month_s_12' => _x('Dec', 'December abbreviation', 'ayecode-connect'),
2328
+				'day_s1_1' => _x('S', 'Sunday initial', 'ayecode-connect'),
2329
+				'day_s1_2' => _x('M', 'Monday initial', 'ayecode-connect'),
2330
+				'day_s1_3' => _x('T', 'Tuesday initial', 'ayecode-connect'),
2331
+				'day_s1_4' => _x('W', 'Wednesday initial', 'ayecode-connect'),
2332
+				'day_s1_5' => _x('T', 'Friday initial', 'ayecode-connect'),
2333
+				'day_s1_6' => _x('F', 'Thursday initial', 'ayecode-connect'),
2334
+				'day_s1_7' => _x('S', 'Saturday initial', 'ayecode-connect'),
2335
+				'day_s2_1' => __('Su', 'ayecode-connect'),
2336
+				'day_s2_2' => __('Mo', 'ayecode-connect'),
2337
+				'day_s2_3' => __('Tu', 'ayecode-connect'),
2338
+				'day_s2_4' => __('We', 'ayecode-connect'),
2339
+				'day_s2_5' => __('Th', 'ayecode-connect'),
2340
+				'day_s2_6' => __('Fr', 'ayecode-connect'),
2341
+				'day_s2_7' => __('Sa', 'ayecode-connect'),
2342
+				'day_s3_1' => __('Sun', 'ayecode-connect'),
2343
+				'day_s3_2' => __('Mon', 'ayecode-connect'),
2344
+				'day_s3_3' => __('Tue', 'ayecode-connect'),
2345
+				'day_s3_4' => __('Wed', 'ayecode-connect'),
2346
+				'day_s3_5' => __('Thu', 'ayecode-connect'),
2347
+				'day_s3_6' => __('Fri', 'ayecode-connect'),
2348
+				'day_s3_7' => __('Sat', 'ayecode-connect'),
2349
+				'day_s5_1' => __('Sunday', 'ayecode-connect'),
2350
+				'day_s5_2' => __('Monday', 'ayecode-connect'),
2351
+				'day_s5_3' => __('Tuesday', 'ayecode-connect'),
2352
+				'day_s5_4' => __('Wednesday', 'ayecode-connect'),
2353
+				'day_s5_5' => __('Thursday', 'ayecode-connect'),
2354
+				'day_s5_6' => __('Friday', 'ayecode-connect'),
2355
+				'day_s5_7' => __('Saturday', 'ayecode-connect'),
2356
+				'am_lower' => __('am', 'ayecode-connect'),
2357
+				'pm_lower' => __('pm', 'ayecode-connect'),
2358
+				'am_upper' => __('AM', 'ayecode-connect'),
2359
+				'pm_upper' => __('PM', 'ayecode-connect'),
2360
+				'firstDayOfWeek' => (int) get_option('start_of_week'),
2361 2361
 				'time_24hr' => false,
2362
-				'year' => __( 'Year', 'ayecode-connect' ),
2363
-				'hour' => __( 'Hour', 'ayecode-connect' ),
2364
-				'minute' => __( 'Minute', 'ayecode-connect' ),
2365
-				'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2366
-				'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2367
-				'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2368
-				'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2362
+				'year' => __('Year', 'ayecode-connect'),
2363
+				'hour' => __('Hour', 'ayecode-connect'),
2364
+				'minute' => __('Minute', 'ayecode-connect'),
2365
+				'weekAbbreviation' => __('Wk', 'ayecode-connect'),
2366
+				'rangeSeparator' => __(' to ', 'ayecode-connect'),
2367
+				'scrollTitle' => __('Scroll to increment', 'ayecode-connect'),
2368
+				'toggleTitle' => __('Click to toggle', 'ayecode-connect')
2369 2369
 			);
2370 2370
 
2371
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
2371
+			return apply_filters('ayecode_ui_calendar_params', $params);
2372 2372
 		}
2373 2373
 
2374 2374
 		/**
@@ -2381,47 +2381,47 @@  discard block
 block discarded – undo
2381 2381
 		public static function flatpickr_locale() {
2382 2382
 			$params = self::calendar_params();
2383 2383
 
2384
-			if ( is_string( $params ) ) {
2385
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2384
+			if (is_string($params)) {
2385
+				$params = html_entity_decode($params, ENT_QUOTES, 'UTF-8');
2386 2386
 			} else {
2387
-				foreach ( (array) $params as $key => $value ) {
2388
-					if ( ! is_scalar( $value ) ) {
2387
+				foreach ((array) $params as $key => $value) {
2388
+					if (!is_scalar($value)) {
2389 2389
 						continue;
2390 2390
 					}
2391 2391
 
2392
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2392
+					$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2393 2393
 				}
2394 2394
 			}
2395 2395
 
2396 2396
 			$day_s3 = array();
2397 2397
 			$day_s5 = array();
2398 2398
 
2399
-			for ( $i = 1; $i <= 7; $i ++ ) {
2400
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2401
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2399
+			for ($i = 1; $i <= 7; $i++) {
2400
+				$day_s3[] = addslashes($params['day_s3_' . $i]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2401
+				$day_s5[] = addslashes($params['day_s3_' . $i]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2402 2402
 			}
2403 2403
 
2404 2404
 			$month_s = array();
2405 2405
 			$month_long = array();
2406 2406
 
2407
-			for ( $i = 1; $i <= 12; $i ++ ) {
2408
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2409
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2407
+			for ($i = 1; $i <= 12; $i++) {
2408
+				$month_s[] = addslashes($params['month_s_' . $i]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2409
+				$month_long[] = addslashes($params['month_long_' . $i]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2410 2410
 			}
2411 2411
 
2412 2412
 			ob_start();
2413
-		if ( 0 ) { ?><script><?php } ?>
2413
+		if (0) { ?><script><?php } ?>
2414 2414
                 {
2415 2415
                     weekdays: {
2416
-                        shorthand: ['<?php echo implode( "','", $day_s3 ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2417
-                            longhand: ['<?php echo implode( "','", $day_s5 ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2416
+                        shorthand: ['<?php echo implode("','", $day_s3); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2417
+                            longhand: ['<?php echo implode("','", $day_s5); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2418 2418
                     },
2419 2419
                     months: {
2420
-                        shorthand: ['<?php echo implode( "','", $month_s ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2421
-                            longhand: ['<?php echo implode( "','", $month_long ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2420
+                        shorthand: ['<?php echo implode("','", $month_s); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2421
+                            longhand: ['<?php echo implode("','", $month_long); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2422 2422
                     },
2423 2423
                     daysInMonth: [31,28,31,30,31,30,31,31,30,31,30,31],
2424
-                        firstDayOfWeek: <?php echo (int) $params[ 'firstDayOfWeek' ]; ?>,
2424
+                        firstDayOfWeek: <?php echo (int) $params['firstDayOfWeek']; ?>,
2425 2425
                     ordinal: function (nth) {
2426 2426
                         var s = nth % 100;
2427 2427
                         if (s > 3 && s < 21)
@@ -2437,21 +2437,21 @@  discard block
 block discarded – undo
2437 2437
                                 return "th";
2438 2438
                         }
2439 2439
                     },
2440
-                    rangeSeparator: '<?php echo esc_attr( $params[ 'rangeSeparator' ] ); ?>',
2441
-                        weekAbbreviation: '<?php echo esc_attr( $params[ 'weekAbbreviation' ] ); ?>',
2442
-                    scrollTitle: '<?php echo esc_attr( $params[ 'scrollTitle' ] ); ?>',
2443
-                    toggleTitle: '<?php echo esc_attr( $params[ 'toggleTitle' ] ); ?>',
2444
-                    amPM: ['<?php echo esc_attr( $params[ 'am_upper' ] ); ?>','<?php echo esc_attr( $params[ 'pm_upper' ] ); ?>'],
2445
-                    yearAriaLabel: '<?php echo esc_attr( $params[ 'year' ] ); ?>',
2446
-                    hourAriaLabel: '<?php echo esc_attr( $params[ 'hour' ] ); ?>',
2447
-                    minuteAriaLabel: '<?php echo esc_attr( $params[ 'minute' ] ); ?>',
2448
-                    time_24hr: <?php echo ( $params[ 'time_24hr' ] ? 'true' : 'false' ) ; ?>
2440
+                    rangeSeparator: '<?php echo esc_attr($params['rangeSeparator']); ?>',
2441
+                        weekAbbreviation: '<?php echo esc_attr($params['weekAbbreviation']); ?>',
2442
+                    scrollTitle: '<?php echo esc_attr($params['scrollTitle']); ?>',
2443
+                    toggleTitle: '<?php echo esc_attr($params['toggleTitle']); ?>',
2444
+                    amPM: ['<?php echo esc_attr($params['am_upper']); ?>','<?php echo esc_attr($params['pm_upper']); ?>'],
2445
+                    yearAriaLabel: '<?php echo esc_attr($params['year']); ?>',
2446
+                    hourAriaLabel: '<?php echo esc_attr($params['hour']); ?>',
2447
+                    minuteAriaLabel: '<?php echo esc_attr($params['minute']); ?>',
2448
+                    time_24hr: <?php echo ($params['time_24hr'] ? 'true' : 'false'); ?>
2449 2449
                 }
2450
-				<?php if ( 0 ) { ?></script><?php } ?>
2450
+				<?php if (0) { ?></script><?php } ?>
2451 2451
 			<?php
2452 2452
 			$locale = ob_get_clean();
2453 2453
 
2454
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2454
+			return apply_filters('ayecode_ui_flatpickr_locale', trim($locale));
2455 2455
 		}
2456 2456
 
2457 2457
 		/**
@@ -2463,20 +2463,20 @@  discard block
 block discarded – undo
2463 2463
 		 */
2464 2464
 		public static function select2_params() {
2465 2465
 			$params = array(
2466
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2467
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2468
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2469
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2470
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2471
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2472
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2473
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2474
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2475
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2476
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2466
+				'i18n_select_state_text'    => esc_attr__('Select an option&hellip;', 'ayecode-connect'),
2467
+				'i18n_no_matches'           => _x('No matches found', 'enhanced select', 'ayecode-connect'),
2468
+				'i18n_ajax_error'           => _x('Loading failed', 'enhanced select', 'ayecode-connect'),
2469
+				'i18n_input_too_short_1'    => _x('Please enter 1 or more characters', 'enhanced select', 'ayecode-connect'),
2470
+				'i18n_input_too_short_n'    => _x('Please enter %item% or more characters', 'enhanced select', 'ayecode-connect'),
2471
+				'i18n_input_too_long_1'     => _x('Please delete 1 character', 'enhanced select', 'ayecode-connect'),
2472
+				'i18n_input_too_long_n'     => _x('Please delete %item% characters', 'enhanced select', 'ayecode-connect'),
2473
+				'i18n_selection_too_long_1' => _x('You can only select 1 item', 'enhanced select', 'ayecode-connect'),
2474
+				'i18n_selection_too_long_n' => _x('You can only select %item% items', 'enhanced select', 'ayecode-connect'),
2475
+				'i18n_load_more'            => _x('Loading more results&hellip;', 'enhanced select', 'ayecode-connect'),
2476
+				'i18n_searching'            => _x('Searching&hellip;', 'enhanced select', 'ayecode-connect')
2477 2477
 			);
2478 2478
 
2479
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2479
+			return apply_filters('ayecode_ui_select2_params', $params);
2480 2480
 		}
2481 2481
 
2482 2482
 		/**
@@ -2489,17 +2489,17 @@  discard block
 block discarded – undo
2489 2489
 		public static function select2_locale() {
2490 2490
 			$params = self::select2_params();
2491 2491
 
2492
-			foreach ( (array) $params as $key => $value ) {
2493
-				if ( ! is_scalar( $value ) ) {
2492
+			foreach ((array) $params as $key => $value) {
2493
+				if (!is_scalar($value)) {
2494 2494
 					continue;
2495 2495
 				}
2496 2496
 
2497
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2497
+				$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2498 2498
 			}
2499 2499
 
2500
-			$locale = json_encode( $params );
2500
+			$locale = json_encode($params);
2501 2501
 
2502
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2502
+			return apply_filters('ayecode_ui_select2_locale', trim($locale));
2503 2503
 		}
2504 2504
 
2505 2505
 		/**
@@ -2512,35 +2512,35 @@  discard block
 block discarded – undo
2512 2512
 		public static function timeago_locale() {
2513 2513
 			$params = array(
2514 2514
 				'prefix_ago' => '',
2515
-				'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2516
-				'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2515
+				'suffix_ago' => ' ' . _x('ago', 'time ago', 'ayecode-connect'),
2516
+				'prefix_after' => _x('after', 'time ago', 'ayecode-connect') . ' ',
2517 2517
 				'suffix_after' => '',
2518
-				'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2519
-				'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2520
-				'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2521
-				'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2522
-				'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2523
-				'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2524
-				'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2525
-				'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2526
-				'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2527
-				'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2528
-				'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2518
+				'seconds' => _x('less than a minute', 'time ago', 'ayecode-connect'),
2519
+				'minute' => _x('about a minute', 'time ago', 'ayecode-connect'),
2520
+				'minutes' => _x('%d minutes', 'time ago', 'ayecode-connect'),
2521
+				'hour' => _x('about an hour', 'time ago', 'ayecode-connect'),
2522
+				'hours' => _x('about %d hours', 'time ago', 'ayecode-connect'),
2523
+				'day' => _x('a day', 'time ago', 'ayecode-connect'),
2524
+				'days' => _x('%d days', 'time ago', 'ayecode-connect'),
2525
+				'month' => _x('about a month', 'time ago', 'ayecode-connect'),
2526
+				'months' => _x('%d months', 'time ago', 'ayecode-connect'),
2527
+				'year' => _x('about a year', 'time ago', 'ayecode-connect'),
2528
+				'years' => _x('%d years', 'time ago', 'ayecode-connect'),
2529 2529
 			);
2530 2530
 
2531
-			$params = apply_filters( 'ayecode_ui_timeago_params', $params );
2531
+			$params = apply_filters('ayecode_ui_timeago_params', $params);
2532 2532
 
2533
-			foreach ( (array) $params as $key => $value ) {
2534
-				if ( ! is_scalar( $value ) ) {
2533
+			foreach ((array) $params as $key => $value) {
2534
+				if (!is_scalar($value)) {
2535 2535
 					continue;
2536 2536
 				}
2537 2537
 
2538
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2538
+				$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2539 2539
 			}
2540 2540
 
2541
-			$locale = json_encode( $params );
2541
+			$locale = json_encode($params);
2542 2542
 
2543
-			return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2543
+			return apply_filters('ayecode_ui_timeago_locale', trim($locale));
2544 2544
 		}
2545 2545
 
2546 2546
 		/**
@@ -2551,7 +2551,7 @@  discard block
 block discarded – undo
2551 2551
 		 * @return mixed
2552 2552
 		 */
2553 2553
 		public static function minify_js($input) {
2554
-			if(trim($input) === "") return $input;
2554
+			if (trim($input) === "") return $input;
2555 2555
 			return preg_replace(
2556 2556
 				array(
2557 2557
 					// Remove comment(s)
@@ -2583,7 +2583,7 @@  discard block
 block discarded – undo
2583 2583
 		 * @return mixed
2584 2584
 		 */
2585 2585
 		public static function minify_css($input) {
2586
-			if(trim($input) === "") return $input;
2586
+			if (trim($input) === "") return $input;
2587 2587
 			return preg_replace(
2588 2588
 				array(
2589 2589
 					// Remove comment(s)
@@ -3163,12 +3163,12 @@  discard block
 block discarded – undo
3163 3163
                         });
3164 3164
                     }
3165 3165
                 }
3166
-				<?php do_action( 'aui_conditional_fields_js', $this ); ?>
3166
+				<?php do_action('aui_conditional_fields_js', $this); ?>
3167 3167
             </script>
3168 3168
 			<?php
3169 3169
 			$output = ob_get_clean();
3170 3170
 
3171
-			return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3171
+			return str_replace(array('<script>', '</script>'), '', self::minify_js($output));
3172 3172
 		}
3173 3173
 
3174 3174
 		/**
@@ -3179,10 +3179,10 @@  discard block
 block discarded – undo
3179 3179
 		 * @return bool
3180 3180
 		 */
3181 3181
 		public static function is_block_editor() {
3182
-			if ( is_admin() ) {
3183
-				$current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array();
3182
+			if (is_admin()) {
3183
+				$current_screen = function_exists('get_current_screen') ? get_current_screen() : array();
3184 3184
 
3185
-				if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) {
3185
+				if (!empty($current_screen) && $current_screen->is_block_editor()) {
3186 3186
 					return true;
3187 3187
 				}
3188 3188
 			}
@@ -3201,7 +3201,7 @@  discard block
 block discarded – undo
3201 3201
 		 */
3202 3202
 		public static function is_block_content_call() {
3203 3203
 			$result = false;
3204
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3204
+			if (wp_doing_ajax() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'super_duper_output_shortcode') {
3205 3205
 				$result = true;
3206 3206
 			}
3207 3207
 
@@ -3217,7 +3217,7 @@  discard block
 block discarded – undo
3217 3217
 		 */
3218 3218
 		public static function is_divi_preview() {
3219 3219
 			$result = false;
3220
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
3220
+			if (isset($_REQUEST['et_fb']) || isset($_REQUEST['et_pb_preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor')) {
3221 3221
 				$result = true;
3222 3222
 			}
3223 3223
 
@@ -3234,7 +3234,7 @@  discard block
 block discarded – undo
3234 3234
 		 */
3235 3235
 		public static function is_elementor_preview() {
3236 3236
 			$result = false;
3237
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
3237
+			if (isset($_REQUEST['elementor-preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') || (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor_ajax')) {
3238 3238
 				$result = true;
3239 3239
 			}
3240 3240
 
@@ -3250,7 +3250,7 @@  discard block
 block discarded – undo
3250 3250
 		 */
3251 3251
 		public static function is_beaver_preview() {
3252 3252
 			$result = false;
3253
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
3253
+			if (isset($_REQUEST['fl_builder'])) {
3254 3254
 				$result = true;
3255 3255
 			}
3256 3256
 
@@ -3266,7 +3266,7 @@  discard block
 block discarded – undo
3266 3266
 		 */
3267 3267
 		public static function is_siteorigin_preview() {
3268 3268
 			$result = false;
3269
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
3269
+			if (!empty($_REQUEST['siteorigin_panels_live_editor'])) {
3270 3270
 				$result = true;
3271 3271
 			}
3272 3272
 
@@ -3282,7 +3282,7 @@  discard block
 block discarded – undo
3282 3282
 		 */
3283 3283
 		public static function is_cornerstone_preview() {
3284 3284
 			$result = false;
3285
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
3285
+			if (!empty($_REQUEST['cornerstone_preview']) || basename($_SERVER['REQUEST_URI']) == 'cornerstone-endpoint') {
3286 3286
 				$result = true;
3287 3287
 			}
3288 3288
 
@@ -3297,7 +3297,7 @@  discard block
 block discarded – undo
3297 3297
 		 */
3298 3298
 		public static function is_fusion_preview() {
3299 3299
 			$result = false;
3300
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
3300
+			if (!empty($_REQUEST['fb-edit']) || !empty($_REQUEST['fusion_load_nonce'])) {
3301 3301
 				$result = true;
3302 3302
 			}
3303 3303
 
@@ -3312,7 +3312,7 @@  discard block
 block discarded – undo
3312 3312
 		 */
3313 3313
 		public static function is_oxygen_preview() {
3314 3314
 			$result = false;
3315
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
3315
+			if (!empty($_REQUEST['ct_builder']) || (!empty($_REQUEST['action']) && (substr($_REQUEST['action'], 0, 11) === "oxy_render_" || substr($_REQUEST['action'], 0, 10) === "ct_render_"))) {
3316 3316
 				$result = true;
3317 3317
 			}
3318 3318
 
@@ -3329,7 +3329,7 @@  discard block
 block discarded – undo
3329 3329
 		public static function is_kallyas_zion_preview() {
3330 3330
 			$result = false;
3331 3331
 
3332
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
3332
+			if (function_exists('znhg_kallyas_theme_config') && !empty($_REQUEST['zn_pb_edit'])) {
3333 3333
 				$result = true;
3334 3334
 			}
3335 3335
 
@@ -3346,7 +3346,7 @@  discard block
 block discarded – undo
3346 3346
 		public static function is_bricks_preview() {
3347 3347
 			$result = false;
3348 3348
 
3349
-			if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
3349
+			if (function_exists('bricks_is_builder') && (bricks_is_builder() || bricks_is_builder_call())) {
3350 3350
 				$result = true;
3351 3351
 			}
3352 3352
 
@@ -3363,29 +3363,29 @@  discard block
 block discarded – undo
3363 3363
 		public static function is_preview() {
3364 3364
 			$preview = false;
3365 3365
 
3366
-			if ( self::is_block_editor() ) {
3366
+			if (self::is_block_editor()) {
3367 3367
 				return true;
3368 3368
 			}
3369 3369
 
3370
-			if( self::is_block_content_call() ) {
3370
+			if (self::is_block_content_call()) {
3371 3371
 				$preview = true;
3372
-			} elseif ( self::is_divi_preview() ) {
3372
+			} elseif (self::is_divi_preview()) {
3373 3373
 				$preview = true;
3374
-			} elseif ( self::is_elementor_preview() ) {
3374
+			} elseif (self::is_elementor_preview()) {
3375 3375
 				$preview = true;
3376
-			} elseif ( self::is_beaver_preview() ) {
3376
+			} elseif (self::is_beaver_preview()) {
3377 3377
 				$preview = true;
3378
-			} elseif ( self::is_siteorigin_preview() ) {
3378
+			} elseif (self::is_siteorigin_preview()) {
3379 3379
 				$preview = true;
3380
-			} elseif ( self::is_cornerstone_preview() ) {
3380
+			} elseif (self::is_cornerstone_preview()) {
3381 3381
 				$preview = true;
3382
-			} elseif ( self::is_fusion_preview() ) {
3382
+			} elseif (self::is_fusion_preview()) {
3383 3383
 				$preview = true;
3384
-			} elseif ( self::is_oxygen_preview() ) {
3384
+			} elseif (self::is_oxygen_preview()) {
3385 3385
 				$preview = true;
3386
-			} elseif( self::is_kallyas_zion_preview() ) {
3386
+			} elseif (self::is_kallyas_zion_preview()) {
3387 3387
 				$preview = true;
3388
-			} elseif( self::is_bricks_preview() ) {
3388
+			} elseif (self::is_bricks_preview()) {
3389 3389
 				$preview = true;
3390 3390
 			}
3391 3391
 
Please login to merge, or discard this patch.
Indentation   +2339 added lines, -2339 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.40';
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.40';
39
+
40
+        /**
41
+         * Class textdomain.
42
+         *
43
+         * @var string
44
+         */
45
+        public $textdomain = 'aui';
46
+
47
+        /**
48
+         * Latest version of Bootstrap at time of publish published.
49
+         *
50
+         * @var string
51
+         */
52
+        public $latest = "5.2.2";
53
+
54
+        /**
55
+         * Current version of select2 being used.
56
+         *
57
+         * @var string
58
+         */
59
+        public $select2_version = "4.0.11";
119 60
 
120
-				add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
61
+        /**
62
+         * The title.
63
+         *
64
+         * @var string
65
+         */
66
+        public $name = 'AyeCode UI';
121 67
 
122
-				do_action( 'ayecode_ui_settings_loaded' );
123
-			}
68
+        /**
69
+         * The relative url to the assets.
70
+         *
71
+         * @var string
72
+         */
73
+        public $url = '';
124 74
 
125
-			return self::$instance;
126
-		}
75
+        /**
76
+         * Holds the settings values.
77
+         *
78
+         * @var array
79
+         */
80
+        private $settings;
127 81
 
128
-		/**
129
-		 * Add custom colors to the color selector.
130
-		 *
131
-		 * @param $theme_colors
132
-		 * @param $include_outlines
133
-		 * @param $include_branding
134
-		 *
135
-		 * @return mixed
136
-		 */
137
-		public function sd_aui_colors( $theme_colors, $include_outlines, $include_branding ){
82
+        /**
83
+         * AyeCode_UI_Settings instance.
84
+         *
85
+         * @access private
86
+         * @since  1.0.0
87
+         * @var    AyeCode_UI_Settings There can be only one!
88
+         */
89
+        private static $instance = null;
138 90
 
139 91
 
140
-			$setting = wp_get_global_settings();
92
+        /**
93
+         * Main AyeCode_UI_Settings Instance.
94
+         *
95
+         * Ensures only one instance of AyeCode_UI_Settings is loaded or can be loaded.
96
+         *
97
+         * @since 1.0.0
98
+         * @static
99
+         * @return AyeCode_UI_Settings - Main instance.
100
+         */
101
+        public static function instance() {
102
+            if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
141 103
 
142
-			if(!empty($setting['color']['palette']['custom'])){
143
-				foreach($setting['color']['palette']['custom'] as $color){
144
-					$theme_colors[$color['slug']] = esc_attr($color['name']);
145
-				}
146
-			}
147
-
148
-			return $theme_colors;
149
-		}
150
-
151
-		/**
152
-		 * Setup some constants.
153
-		 */
154
-		public function constants(){
155
-			define( 'AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be" );
156
-			define( 'AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d' );
157
-			define( 'AUI_INFO_COLOR_ORIGINAL', '#17a2b8' );
158
-			define( 'AUI_WARNING_COLOR_ORIGINAL', '#ffc107' );
159
-			define( 'AUI_DANGER_COLOR_ORIGINAL', '#dc3545' );
160
-			define( 'AUI_SUCCESS_COLOR_ORIGINAL', '#44c553' );
161
-			define( 'AUI_LIGHT_COLOR_ORIGINAL', '#f8f9fa' );
162
-			define( 'AUI_DARK_COLOR_ORIGINAL', '#343a40' );
163
-			define( 'AUI_WHITE_COLOR_ORIGINAL', '#fff' );
164
-			define( 'AUI_PURPLE_COLOR_ORIGINAL', '#ad6edd' );
165
-			define( 'AUI_SALMON_COLOR_ORIGINAL', '#ff977a' );
166
-			define( 'AUI_CYAN_COLOR_ORIGINAL', '#35bdff' );
167
-			define( 'AUI_GRAY_COLOR_ORIGINAL', '#ced4da' );
168
-			define( 'AUI_INDIGO_COLOR_ORIGINAL', '#502c6c' );
169
-			define( 'AUI_ORANGE_COLOR_ORIGINAL', '#orange' );
170
-			define( 'AUI_BLACK_COLOR_ORIGINAL', '#000' );
171
-
172
-			if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
173
-				define( 'AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL );
174
-			}
175
-			if ( ! defined( 'AUI_SECONDARY_COLOR' ) ) {
176
-				define( 'AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL );
177
-			}
178
-			if ( ! defined( 'AUI_INFO_COLOR' ) ) {
179
-				define( 'AUI_INFO_COLOR', AUI_INFO_COLOR_ORIGINAL );
180
-			}
181
-			if ( ! defined( 'AUI_WARNING_COLOR' ) ) {
182
-				define( 'AUI_WARNING_COLOR', AUI_WARNING_COLOR_ORIGINAL );
183
-			}
184
-			if ( ! defined( 'AUI_DANGER_COLOR' ) ) {
185
-				define( 'AUI_DANGER_COLOR', AUI_DANGER_COLOR_ORIGINAL );
186
-			}
187
-			if ( ! defined( 'AUI_SUCCESS_COLOR' ) ) {
188
-				define( 'AUI_SUCCESS_COLOR', AUI_SUCCESS_COLOR_ORIGINAL );
189
-			}
190
-			if ( ! defined( 'AUI_LIGHT_COLOR' ) ) {
191
-				define( 'AUI_LIGHT_COLOR', AUI_LIGHT_COLOR_ORIGINAL );
192
-			}
193
-			if ( ! defined( 'AUI_DARK_COLOR' ) ) {
194
-				define( 'AUI_DARK_COLOR', AUI_DARK_COLOR_ORIGINAL );
195
-			}
196
-			if ( ! defined( 'AUI_WHITE_COLOR' ) ) {
197
-				define( 'AUI_WHITE_COLOR', AUI_WHITE_COLOR_ORIGINAL );
198
-			}
199
-			if ( ! defined( 'AUI_PURPLE_COLOR' ) ) {
200
-				define( 'AUI_PURPLE_COLOR', AUI_PURPLE_COLOR_ORIGINAL );
201
-			}
202
-			if ( ! defined( 'AUI_SALMON_COLOR' ) ) {
203
-				define( 'AUI_SALMON_COLOR', AUI_SALMON_COLOR_ORIGINAL );
204
-			}
205
-			if ( ! defined( 'AUI_CYAN_COLOR' ) ) {
206
-				define( 'AUI_CYAN_COLOR', AUI_CYAN_COLOR_ORIGINAL );
207
-			}
208
-			if ( ! defined( 'AUI_GRAY_COLOR' ) ) {
209
-				define( 'AUI_GRAY_COLOR', AUI_GRAY_COLOR_ORIGINAL );
210
-			}
211
-			if ( ! defined( 'AUI_INDIGO_COLOR' ) ) {
212
-				define( 'AUI_INDIGO_COLOR', AUI_INDIGO_COLOR_ORIGINAL );
213
-			}
214
-			if ( ! defined( 'AUI_ORANGE_COLOR' ) ) {
215
-				define( 'AUI_ORANGE_COLOR', AUI_ORANGE_COLOR_ORIGINAL );
216
-			}
217
-			if ( ! defined( 'AUI_BLACK_COLOR' ) ) {
218
-				define( 'AUI_BLACK_COLOR', AUI_BLACK_COLOR_ORIGINAL );
219
-			}
220
-
221
-		}
222
-
223
-		public static function get_colors( $original = false){
224
-
225
-			if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
226
-				return array();
227
-			}
228
-			if ( $original ) {
229
-				return array(
230
-					'primary'   => AUI_PRIMARY_COLOR_ORIGINAL,
231
-					'secondary' => AUI_SECONDARY_COLOR_ORIGINAL,
232
-					'info'      => AUI_INFO_COLOR_ORIGINAL,
233
-					'warning'   => AUI_WARNING_COLOR_ORIGINAL,
234
-					'danger'    => AUI_DANGER_COLOR_ORIGINAL,
235
-					'success'   => AUI_SUCCESS_COLOR_ORIGINAL,
236
-					'light'     => AUI_LIGHT_COLOR_ORIGINAL,
237
-					'dark'      => AUI_DARK_COLOR_ORIGINAL,
238
-					'white'     => AUI_WHITE_COLOR_ORIGINAL,
239
-					'purple'    => AUI_PURPLE_COLOR_ORIGINAL,
240
-					'salmon'    => AUI_SALMON_COLOR_ORIGINAL,
241
-					'cyan'      => AUI_CYAN_COLOR_ORIGINAL,
242
-					'gray'      => AUI_GRAY_COLOR_ORIGINAL,
243
-					'indigo'    => AUI_INDIGO_COLOR_ORIGINAL,
244
-					'orange'    => AUI_ORANGE_COLOR_ORIGINAL,
245
-					'black'     => AUI_BLACK_COLOR_ORIGINAL,
246
-				);
247
-			}
248
-
249
-			return array(
250
-				'primary'   => AUI_PRIMARY_COLOR,
251
-				'secondary' => AUI_SECONDARY_COLOR,
252
-				'info'      => AUI_INFO_COLOR,
253
-				'warning'   => AUI_WARNING_COLOR,
254
-				'danger'    => AUI_DANGER_COLOR,
255
-				'success'   => AUI_SUCCESS_COLOR,
256
-				'light'     => AUI_LIGHT_COLOR,
257
-				'dark'      => AUI_DARK_COLOR,
258
-				'white'     => AUI_WHITE_COLOR,
259
-				'purple'    => AUI_PURPLE_COLOR,
260
-				'salmon'    => AUI_SALMON_COLOR,
261
-				'cyan'      => AUI_CYAN_COLOR,
262
-				'gray'      => AUI_GRAY_COLOR,
263
-				'indigo'    => AUI_INDIGO_COLOR,
264
-				'orange'    => AUI_ORANGE_COLOR,
265
-				'black'     => AUI_BLACK_COLOR,
266
-			);
267
-		}
268
-
269
-		/**
270
-		 * Add admin body class to show when BS5 is active.
271
-		 *
272
-		 * @param $classes
273
-		 *
274
-		 * @return mixed
275
-		 */
276
-		public function add_bs5_admin_body_class( $classes = '' ) {
277
-			$classes .= ' aui_bs5';
278
-
279
-			return $classes;
280
-		}
281
-
282
-		/**
283
-		 * Add a body class to show when BS5 is active.
284
-		 *
285
-		 * @param $classes
286
-		 *
287
-		 * @return mixed
288
-		 */
289
-		public function add_bs5_body_class( $classes ) {
290
-			$classes[] = 'aui_bs5';
291
-
292
-			return $classes;
293
-		}
294
-
295
-		/**
296
-		 * Initiate the settings and add the required action hooks.
297
-		 */
298
-		public function init() {
104
+                self::$instance = new AyeCode_UI_Settings;
105
+
106
+                add_action( 'init', array( self::$instance, 'init' ) ); // set settings
107
+
108
+                if ( is_admin() ) {
109
+                    add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
110
+                    add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
111
+
112
+                    // Maybe show example page
113
+                    add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) );
114
+
115
+                    if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
116
+                        add_filter( 'sd_aui_colors', array( self::$instance,'sd_aui_colors' ), 10, 3 );
117
+                    }
118
+                }
119
+
120
+                add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
121
+
122
+                do_action( 'ayecode_ui_settings_loaded' );
123
+            }
124
+
125
+            return self::$instance;
126
+        }
127
+
128
+        /**
129
+         * Add custom colors to the color selector.
130
+         *
131
+         * @param $theme_colors
132
+         * @param $include_outlines
133
+         * @param $include_branding
134
+         *
135
+         * @return mixed
136
+         */
137
+        public function sd_aui_colors( $theme_colors, $include_outlines, $include_branding ){
138
+
139
+
140
+            $setting = wp_get_global_settings();
141
+
142
+            if(!empty($setting['color']['palette']['custom'])){
143
+                foreach($setting['color']['palette']['custom'] as $color){
144
+                    $theme_colors[$color['slug']] = esc_attr($color['name']);
145
+                }
146
+            }
147
+
148
+            return $theme_colors;
149
+        }
150
+
151
+        /**
152
+         * Setup some constants.
153
+         */
154
+        public function constants(){
155
+            define( 'AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be" );
156
+            define( 'AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d' );
157
+            define( 'AUI_INFO_COLOR_ORIGINAL', '#17a2b8' );
158
+            define( 'AUI_WARNING_COLOR_ORIGINAL', '#ffc107' );
159
+            define( 'AUI_DANGER_COLOR_ORIGINAL', '#dc3545' );
160
+            define( 'AUI_SUCCESS_COLOR_ORIGINAL', '#44c553' );
161
+            define( 'AUI_LIGHT_COLOR_ORIGINAL', '#f8f9fa' );
162
+            define( 'AUI_DARK_COLOR_ORIGINAL', '#343a40' );
163
+            define( 'AUI_WHITE_COLOR_ORIGINAL', '#fff' );
164
+            define( 'AUI_PURPLE_COLOR_ORIGINAL', '#ad6edd' );
165
+            define( 'AUI_SALMON_COLOR_ORIGINAL', '#ff977a' );
166
+            define( 'AUI_CYAN_COLOR_ORIGINAL', '#35bdff' );
167
+            define( 'AUI_GRAY_COLOR_ORIGINAL', '#ced4da' );
168
+            define( 'AUI_INDIGO_COLOR_ORIGINAL', '#502c6c' );
169
+            define( 'AUI_ORANGE_COLOR_ORIGINAL', '#orange' );
170
+            define( 'AUI_BLACK_COLOR_ORIGINAL', '#000' );
171
+
172
+            if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
173
+                define( 'AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL );
174
+            }
175
+            if ( ! defined( 'AUI_SECONDARY_COLOR' ) ) {
176
+                define( 'AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL );
177
+            }
178
+            if ( ! defined( 'AUI_INFO_COLOR' ) ) {
179
+                define( 'AUI_INFO_COLOR', AUI_INFO_COLOR_ORIGINAL );
180
+            }
181
+            if ( ! defined( 'AUI_WARNING_COLOR' ) ) {
182
+                define( 'AUI_WARNING_COLOR', AUI_WARNING_COLOR_ORIGINAL );
183
+            }
184
+            if ( ! defined( 'AUI_DANGER_COLOR' ) ) {
185
+                define( 'AUI_DANGER_COLOR', AUI_DANGER_COLOR_ORIGINAL );
186
+            }
187
+            if ( ! defined( 'AUI_SUCCESS_COLOR' ) ) {
188
+                define( 'AUI_SUCCESS_COLOR', AUI_SUCCESS_COLOR_ORIGINAL );
189
+            }
190
+            if ( ! defined( 'AUI_LIGHT_COLOR' ) ) {
191
+                define( 'AUI_LIGHT_COLOR', AUI_LIGHT_COLOR_ORIGINAL );
192
+            }
193
+            if ( ! defined( 'AUI_DARK_COLOR' ) ) {
194
+                define( 'AUI_DARK_COLOR', AUI_DARK_COLOR_ORIGINAL );
195
+            }
196
+            if ( ! defined( 'AUI_WHITE_COLOR' ) ) {
197
+                define( 'AUI_WHITE_COLOR', AUI_WHITE_COLOR_ORIGINAL );
198
+            }
199
+            if ( ! defined( 'AUI_PURPLE_COLOR' ) ) {
200
+                define( 'AUI_PURPLE_COLOR', AUI_PURPLE_COLOR_ORIGINAL );
201
+            }
202
+            if ( ! defined( 'AUI_SALMON_COLOR' ) ) {
203
+                define( 'AUI_SALMON_COLOR', AUI_SALMON_COLOR_ORIGINAL );
204
+            }
205
+            if ( ! defined( 'AUI_CYAN_COLOR' ) ) {
206
+                define( 'AUI_CYAN_COLOR', AUI_CYAN_COLOR_ORIGINAL );
207
+            }
208
+            if ( ! defined( 'AUI_GRAY_COLOR' ) ) {
209
+                define( 'AUI_GRAY_COLOR', AUI_GRAY_COLOR_ORIGINAL );
210
+            }
211
+            if ( ! defined( 'AUI_INDIGO_COLOR' ) ) {
212
+                define( 'AUI_INDIGO_COLOR', AUI_INDIGO_COLOR_ORIGINAL );
213
+            }
214
+            if ( ! defined( 'AUI_ORANGE_COLOR' ) ) {
215
+                define( 'AUI_ORANGE_COLOR', AUI_ORANGE_COLOR_ORIGINAL );
216
+            }
217
+            if ( ! defined( 'AUI_BLACK_COLOR' ) ) {
218
+                define( 'AUI_BLACK_COLOR', AUI_BLACK_COLOR_ORIGINAL );
219
+            }
220
+
221
+        }
222
+
223
+        public static function get_colors( $original = false){
224
+
225
+            if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
226
+                return array();
227
+            }
228
+            if ( $original ) {
229
+                return array(
230
+                    'primary'   => AUI_PRIMARY_COLOR_ORIGINAL,
231
+                    'secondary' => AUI_SECONDARY_COLOR_ORIGINAL,
232
+                    'info'      => AUI_INFO_COLOR_ORIGINAL,
233
+                    'warning'   => AUI_WARNING_COLOR_ORIGINAL,
234
+                    'danger'    => AUI_DANGER_COLOR_ORIGINAL,
235
+                    'success'   => AUI_SUCCESS_COLOR_ORIGINAL,
236
+                    'light'     => AUI_LIGHT_COLOR_ORIGINAL,
237
+                    'dark'      => AUI_DARK_COLOR_ORIGINAL,
238
+                    'white'     => AUI_WHITE_COLOR_ORIGINAL,
239
+                    'purple'    => AUI_PURPLE_COLOR_ORIGINAL,
240
+                    'salmon'    => AUI_SALMON_COLOR_ORIGINAL,
241
+                    'cyan'      => AUI_CYAN_COLOR_ORIGINAL,
242
+                    'gray'      => AUI_GRAY_COLOR_ORIGINAL,
243
+                    'indigo'    => AUI_INDIGO_COLOR_ORIGINAL,
244
+                    'orange'    => AUI_ORANGE_COLOR_ORIGINAL,
245
+                    'black'     => AUI_BLACK_COLOR_ORIGINAL,
246
+                );
247
+            }
248
+
249
+            return array(
250
+                'primary'   => AUI_PRIMARY_COLOR,
251
+                'secondary' => AUI_SECONDARY_COLOR,
252
+                'info'      => AUI_INFO_COLOR,
253
+                'warning'   => AUI_WARNING_COLOR,
254
+                'danger'    => AUI_DANGER_COLOR,
255
+                'success'   => AUI_SUCCESS_COLOR,
256
+                'light'     => AUI_LIGHT_COLOR,
257
+                'dark'      => AUI_DARK_COLOR,
258
+                'white'     => AUI_WHITE_COLOR,
259
+                'purple'    => AUI_PURPLE_COLOR,
260
+                'salmon'    => AUI_SALMON_COLOR,
261
+                'cyan'      => AUI_CYAN_COLOR,
262
+                'gray'      => AUI_GRAY_COLOR,
263
+                'indigo'    => AUI_INDIGO_COLOR,
264
+                'orange'    => AUI_ORANGE_COLOR,
265
+                'black'     => AUI_BLACK_COLOR,
266
+            );
267
+        }
268
+
269
+        /**
270
+         * Add admin body class to show when BS5 is active.
271
+         *
272
+         * @param $classes
273
+         *
274
+         * @return mixed
275
+         */
276
+        public function add_bs5_admin_body_class( $classes = '' ) {
277
+            $classes .= ' aui_bs5';
278
+
279
+            return $classes;
280
+        }
281
+
282
+        /**
283
+         * Add a body class to show when BS5 is active.
284
+         *
285
+         * @param $classes
286
+         *
287
+         * @return mixed
288
+         */
289
+        public function add_bs5_body_class( $classes ) {
290
+            $classes[] = 'aui_bs5';
291
+
292
+            return $classes;
293
+        }
294
+
295
+        /**
296
+         * Initiate the settings and add the required action hooks.
297
+         */
298
+        public function init() {
299 299
             global $aui_bs5;
300 300
 
301
-			// Maybe fix settings
302
-			if ( ! empty( $_REQUEST['aui-fix-admin'] ) && !empty($_REQUEST['nonce']) && wp_verify_nonce( $_REQUEST['nonce'], "aui-fix-admin" ) ) {
303
-				$db_settings = get_option( 'ayecode-ui-settings' );
304
-				if ( ! empty( $db_settings ) ) {
305
-					$db_settings['css_backend'] = 'compatibility';
306
-					$db_settings['js_backend'] = 'core-popper';
307
-					update_option( 'ayecode-ui-settings', $db_settings );
308
-					wp_safe_redirect(admin_url("options-general.php?page=ayecode-ui-settings&updated=true"));
309
-				}
310
-			}
301
+            // Maybe fix settings
302
+            if ( ! empty( $_REQUEST['aui-fix-admin'] ) && !empty($_REQUEST['nonce']) && wp_verify_nonce( $_REQUEST['nonce'], "aui-fix-admin" ) ) {
303
+                $db_settings = get_option( 'ayecode-ui-settings' );
304
+                if ( ! empty( $db_settings ) ) {
305
+                    $db_settings['css_backend'] = 'compatibility';
306
+                    $db_settings['js_backend'] = 'core-popper';
307
+                    update_option( 'ayecode-ui-settings', $db_settings );
308
+                    wp_safe_redirect(admin_url("options-general.php?page=ayecode-ui-settings&updated=true"));
309
+                }
310
+            }
311 311
 
312
-			$this->constants();
313
-			$this->settings = $this->get_settings();
314
-			$this->url = $this->get_url();
312
+            $this->constants();
313
+            $this->settings = $this->get_settings();
314
+            $this->url = $this->get_url();
315 315
 
316 316
             // define the version
317
-			$aui_bs5 = $this->settings['bs_ver'] === '5';
318
-
319
-			if ( $aui_bs5 ) {
320
-				include_once( dirname( __FILE__ ) . '/inc/bs-conversion.php' );
321
-				add_filter( 'admin_body_class', array( $this, 'add_bs5_admin_body_class' ), 99, 1 );
322
-				add_filter( 'body_class', array( $this, 'add_bs5_body_class' ) );
323
-			}
324
-
325
-			/**
326
-			 * Maybe load CSS
327
-			 *
328
-			 * We load super early in case there is a theme version that might change the colors
329
-			 */
330
-			if ( $this->settings['css'] ) {
331
-				$priority = $this->is_bs3_compat() ? 100 : 1;
317
+            $aui_bs5 = $this->settings['bs_ver'] === '5';
318
+
319
+            if ( $aui_bs5 ) {
320
+                include_once( dirname( __FILE__ ) . '/inc/bs-conversion.php' );
321
+                add_filter( 'admin_body_class', array( $this, 'add_bs5_admin_body_class' ), 99, 1 );
322
+                add_filter( 'body_class', array( $this, 'add_bs5_body_class' ) );
323
+            }
324
+
325
+            /**
326
+             * Maybe load CSS
327
+             *
328
+             * We load super early in case there is a theme version that might change the colors
329
+             */
330
+            if ( $this->settings['css'] ) {
331
+                $priority = $this->is_bs3_compat() ? 100 : 1;
332 332
                 $priority = $aui_bs5 ? 10 : $priority;
333
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), $priority );
334
-			}
335
-			if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) {
336
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
337
-			}
338
-
339
-			// maybe load JS
340
-			if ( $this->settings['js'] ) {
341
-				$priority = $this->is_bs3_compat() ? 100 : 1;
342
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority );
343
-			}
344
-			if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) {
345
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 );
346
-			}
347
-
348
-			// Maybe set the HTML font size
349
-			if ( $this->settings['html_font_size'] ) {
350
-				add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 );
351
-			}
352
-
353
-			// Maybe show backend style error
354
-			if( $this->settings['css_backend'] != 'compatibility' || $this->settings['js_backend'] != 'core-popper' ){
355
-				add_action( 'admin_notices', array( $this, 'show_admin_style_notice' ) );
356
-			}
357
-
358
-		}
359
-
360
-		/**
361
-		 * Show admin notice if backend scripts not loaded.
362
-		 */
363
-		public function show_admin_style_notice(){
364
-			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings&aui-fix-admin=true&nonce=".wp_create_nonce('aui-fix-admin'));
365
-			$button = '<a href="'.esc_url($fix_url).'" class="button-primary">Fix Now</a>';
366
-			$message = __( '<b>Style Issue:</b> AyeCode UI is disable or set wrong.')." " .$button;
367
-			echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
368
-		}
369
-
370
-		/**
371
-		 * Check if we should load the admin scripts or not.
372
-		 *
373
-		 * @return bool
374
-		 */
375
-		public function load_admin_scripts(){
376
-			$result = true;
377
-
378
-			// check if specifically disabled
379
-			if(!empty($this->settings['disable_admin'])){
380
-				$url_parts = explode("\n",$this->settings['disable_admin']);
381
-				foreach($url_parts as $part){
382
-					if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){
383
-						return false; // return early, no point checking further
384
-					}
385
-				}
386
-			}
387
-
388
-			return $result;
389
-		}
390
-
391
-		/**
392
-		 * Add a html font size to the footer.
393
-		 */
394
-		public function html_font_size(){
395
-			$this->settings = $this->get_settings();
396
-			echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>";
397
-		}
398
-
399
-		/**
400
-		 * Check if the current admin screen should load scripts.
401
-		 *
402
-		 * @return bool
403
-		 */
404
-		public function is_aui_screen(){
333
+                add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), $priority );
334
+            }
335
+            if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) {
336
+                add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
337
+            }
338
+
339
+            // maybe load JS
340
+            if ( $this->settings['js'] ) {
341
+                $priority = $this->is_bs3_compat() ? 100 : 1;
342
+                add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority );
343
+            }
344
+            if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) {
345
+                add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 );
346
+            }
347
+
348
+            // Maybe set the HTML font size
349
+            if ( $this->settings['html_font_size'] ) {
350
+                add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 );
351
+            }
352
+
353
+            // Maybe show backend style error
354
+            if( $this->settings['css_backend'] != 'compatibility' || $this->settings['js_backend'] != 'core-popper' ){
355
+                add_action( 'admin_notices', array( $this, 'show_admin_style_notice' ) );
356
+            }
357
+
358
+        }
359
+
360
+        /**
361
+         * Show admin notice if backend scripts not loaded.
362
+         */
363
+        public function show_admin_style_notice(){
364
+            $fix_url = admin_url("options-general.php?page=ayecode-ui-settings&aui-fix-admin=true&nonce=".wp_create_nonce('aui-fix-admin'));
365
+            $button = '<a href="'.esc_url($fix_url).'" class="button-primary">Fix Now</a>';
366
+            $message = __( '<b>Style Issue:</b> AyeCode UI is disable or set wrong.')." " .$button;
367
+            echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
368
+        }
369
+
370
+        /**
371
+         * Check if we should load the admin scripts or not.
372
+         *
373
+         * @return bool
374
+         */
375
+        public function load_admin_scripts(){
376
+            $result = true;
377
+
378
+            // check if specifically disabled
379
+            if(!empty($this->settings['disable_admin'])){
380
+                $url_parts = explode("\n",$this->settings['disable_admin']);
381
+                foreach($url_parts as $part){
382
+                    if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){
383
+                        return false; // return early, no point checking further
384
+                    }
385
+                }
386
+            }
387
+
388
+            return $result;
389
+        }
390
+
391
+        /**
392
+         * Add a html font size to the footer.
393
+         */
394
+        public function html_font_size(){
395
+            $this->settings = $this->get_settings();
396
+            echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>";
397
+        }
398
+
399
+        /**
400
+         * Check if the current admin screen should load scripts.
401
+         *
402
+         * @return bool
403
+         */
404
+        public function is_aui_screen(){
405 405
 //			echo '###';exit;
406
-			$load = false;
407
-			// check if we should load or not
408
-			if ( is_admin() ) {
409
-				// Only enable on set pages
410
-				$aui_screens = array(
411
-					'page',
406
+            $load = false;
407
+            // check if we should load or not
408
+            if ( is_admin() ) {
409
+                // Only enable on set pages
410
+                $aui_screens = array(
411
+                    'page',
412 412
                     //'docs',
413
-					'post',
414
-					'settings_page_ayecode-ui-settings',
415
-					'appearance_page_gutenberg-widgets',
416
-					'widgets',
417
-					'ayecode-ui-settings',
418
-					'site-editor'
419
-				);
420
-				$screen_ids = apply_filters( 'aui_screen_ids', $aui_screens );
413
+                    'post',
414
+                    'settings_page_ayecode-ui-settings',
415
+                    'appearance_page_gutenberg-widgets',
416
+                    'widgets',
417
+                    'ayecode-ui-settings',
418
+                    'site-editor'
419
+                );
420
+                $screen_ids = apply_filters( 'aui_screen_ids', $aui_screens );
421 421
 
422
-				$screen = get_current_screen();
422
+                $screen = get_current_screen();
423 423
 
424 424
 //				echo '###'.$screen->id;
425 425
 
426
-				// check if we are on a AUI screen
427
-				if ( $screen && in_array( $screen->id, $screen_ids ) ) {
428
-					$load = true;
429
-				}
426
+                // check if we are on a AUI screen
427
+                if ( $screen && in_array( $screen->id, $screen_ids ) ) {
428
+                    $load = true;
429
+                }
430 430
 
431
-				//load for widget previews in WP 5.8
432
-				if( !empty($_REQUEST['legacy-widget-preview'])){
433
-					$load = true;
434
-				}
435
-			}
431
+                //load for widget previews in WP 5.8
432
+                if( !empty($_REQUEST['legacy-widget-preview'])){
433
+                    $load = true;
434
+                }
435
+            }
436 436
 
437 437
 
438 438
 
439
-			return apply_filters( 'aui_load_on_admin' , $load );
440
-		}
439
+            return apply_filters( 'aui_load_on_admin' , $load );
440
+        }
441 441
 
442
-		/**
443
-		 * Check if the current theme is a block theme.
444
-		 *
445
-		 * @return bool
446
-		 */
447
-		public static function is_block_theme() {
448
-			if ( function_exists( 'wp_is_block_theme' && wp_is_block_theme() ) ) {
449
-				return true;
450
-			}
442
+        /**
443
+         * Check if the current theme is a block theme.
444
+         *
445
+         * @return bool
446
+         */
447
+        public static function is_block_theme() {
448
+            if ( function_exists( 'wp_is_block_theme' && wp_is_block_theme() ) ) {
449
+                return true;
450
+            }
451 451
 
452
-			return false;
453
-		}
452
+            return false;
453
+        }
454 454
 
455
-		/**
456
-		 * Adds the styles.
457
-		 */
458
-		public function enqueue_style() {
455
+        /**
456
+         * Adds the styles.
457
+         */
458
+        public function enqueue_style() {
459 459
             global $aui_bs5;
460 460
 
461 461
             $load_fse = false;
462 462
 
463
-			if ( is_admin() && ! $this->is_aui_screen() ) {
464
-				// Don't add wp-admin scripts if not requested to.
465
-			} else {
466
-				$css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
467
-				$rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
463
+            if ( is_admin() && ! $this->is_aui_screen() ) {
464
+                // Don't add wp-admin scripts if not requested to.
465
+            } else {
466
+                $css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
467
+                $rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
468 468
                 $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
469 469
 
470
-				if ( $this->settings[ $css_setting ] ) {
471
-					$compatibility = $this->settings[$css_setting]=='core' ? false : true;
472
-					$url = $this->settings[$css_setting]=='core' ? $this->url.'assets'.$bs_ver.'/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets'.$bs_ver.'/css/ayecode-ui-compatibility'.$rtl.'.css';
470
+                if ( $this->settings[ $css_setting ] ) {
471
+                    $compatibility = $this->settings[$css_setting]=='core' ? false : true;
472
+                    $url = $this->settings[$css_setting]=='core' ? $this->url.'assets'.$bs_ver.'/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets'.$bs_ver.'/css/ayecode-ui-compatibility'.$rtl.'.css';
473 473
 
474
-					wp_register_style( 'ayecode-ui', $url, array(), $this->version );
475
-					wp_enqueue_style( 'ayecode-ui' );
474
+                    wp_register_style( 'ayecode-ui', $url, array(), $this->version );
475
+                    wp_enqueue_style( 'ayecode-ui' );
476 476
 
477
-					if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
478
-						$url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
479
-						wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
480
-						wp_enqueue_style( 'ayecode-ui-fse' );
481
-						$load_fse = true;
482
-					}
477
+                    if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
478
+                        $url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
479
+                        wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
480
+                        wp_enqueue_style( 'ayecode-ui-fse' );
481
+                        $load_fse = true;
482
+                    }
483 483
 
484
-					// flatpickr
485
-					wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
484
+                    // flatpickr
485
+                    wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
486 486
 
487
-					// fix some wp-admin issues
488
-					if(is_admin()){
489
-						$custom_css = "
487
+                    // fix some wp-admin issues
488
+                    if(is_admin()){
489
+                        $custom_css = "
490 490
                 body{
491 491
                     background-color: #f1f1f1;
492 492
                     font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;
@@ -526,63 +526,63 @@  discard block
 block discarded – undo
526 526
 				}
527 527
                 ";
528 528
 
529
-						// @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
530
-						$custom_css .= "
529
+                        // @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
530
+                        $custom_css .= "
531 531
 						.edit-post-sidebar input[type=color].components-text-control__input{
532 532
 						    padding: 0;
533 533
 						}
534 534
 					";
535
-						wp_add_inline_style( 'ayecode-ui', $custom_css );
536
-					}
537
-
538
-					// custom changes
539
-					if ( $load_fse ) {
540
-						wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility, true) );
541
-					}else{
542
-						wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
543
-					}
544
-				}
545
-			}
546
-		}
547
-
548
-		/**
549
-		 * Get inline script used if bootstrap enqueued
550
-		 *
551
-		 * If this remains small then its best to use this than to add another JS file.
552
-		 */
553
-		public function inline_script() {
554
-            global $aui_bs5;
555
-			// Flatpickr calendar locale
556
-			$flatpickr_locale = self::flatpickr_locale();
535
+                        wp_add_inline_style( 'ayecode-ui', $custom_css );
536
+                    }
557 537
 
558
-			ob_start();
559
-			if ( $aui_bs5 ) {
560
-				include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
561
-			}else{
562
-				include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
538
+                    // custom changes
539
+                    if ( $load_fse ) {
540
+                        wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility, true) );
541
+                    }else{
542
+                        wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
543
+                    }
544
+                }
545
+            }
546
+        }
547
+
548
+        /**
549
+         * Get inline script used if bootstrap enqueued
550
+         *
551
+         * If this remains small then its best to use this than to add another JS file.
552
+         */
553
+        public function inline_script() {
554
+            global $aui_bs5;
555
+            // Flatpickr calendar locale
556
+            $flatpickr_locale = self::flatpickr_locale();
557
+
558
+            ob_start();
559
+            if ( $aui_bs5 ) {
560
+                include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
561
+            }else{
562
+                include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
563 563
             }
564 564
 
565
-			$output = ob_get_clean();
565
+            $output = ob_get_clean();
566 566
 
567
-			/*
567
+            /*
568 568
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
569 569
 			 */
570
-			return str_replace( array(
571
-				'<script>',
572
-				'</script>'
573
-			), '', self::minify_js($output) );
574
-		}
575
-
576
-
577
-		/**
578
-		 * JS to help with conflict issues with other plugins and themes using bootstrap v3.
579
-		 *
580
-		 * @TODO we may need this when other conflicts arrise.
581
-		 * @return mixed
582
-		 */
583
-		public static function bs3_compat_js() {
584
-			ob_start();
585
-			?>
570
+            return str_replace( array(
571
+                '<script>',
572
+                '</script>'
573
+            ), '', self::minify_js($output) );
574
+        }
575
+
576
+
577
+        /**
578
+         * JS to help with conflict issues with other plugins and themes using bootstrap v3.
579
+         *
580
+         * @TODO we may need this when other conflicts arrise.
581
+         * @return mixed
582
+         */
583
+        public static function bs3_compat_js() {
584
+            ob_start();
585
+            ?>
586 586
             <script>
587 587
 				<?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
588 588
                 /* With Avada builder */
@@ -590,20 +590,20 @@  discard block
 block discarded – undo
590 590
 				<?php } ?>
591 591
             </script>
592 592
 			<?php
593
-			return str_replace( array(
594
-				'<script>',
595
-				'</script>'
596
-			), '', ob_get_clean());
597
-		}
598
-
599
-		/**
600
-		 * Get inline script used if bootstrap file browser enqueued.
601
-		 *
602
-		 * If this remains small then its best to use this than to add another JS file.
603
-		 */
604
-		public function inline_script_file_browser(){
605
-			ob_start();
606
-			?>
593
+            return str_replace( array(
594
+                '<script>',
595
+                '</script>'
596
+            ), '', ob_get_clean());
597
+        }
598
+
599
+        /**
600
+         * Get inline script used if bootstrap file browser enqueued.
601
+         *
602
+         * If this remains small then its best to use this than to add another JS file.
603
+         */
604
+        public function inline_script_file_browser(){
605
+            ob_start();
606
+            ?>
607 607
             <script>
608 608
                 // run on doc ready
609 609
                 jQuery(document).ready(function () {
@@ -611,127 +611,127 @@  discard block
 block discarded – undo
611 611
                 });
612 612
             </script>
613 613
 			<?php
614
-			$output = ob_get_clean();
614
+            $output = ob_get_clean();
615 615
 
616
-			/*
616
+            /*
617 617
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
618 618
 			 */
619
-			return str_replace( array(
620
-				'<script>',
621
-				'</script>'
622
-			), '', $output );
623
-		}
624
-
625
-		/**
626
-		 * Adds the Font Awesome JS.
627
-		 */
628
-		public function enqueue_scripts() {
629
-			if( is_admin() && !$this->is_aui_screen()){
630
-				// Don't add wp-admin scripts if not requested to.
631
-			} else {
632
-				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
633
-
634
-				$bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
635
-
636
-				// select2
637
-				wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
638
-
639
-				// flatpickr
640
-				wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
641
-
642
-				// iconpicker
643
-				if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
644
-					wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
645
-				}else{
646
-					wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
647
-				}
619
+            return str_replace( array(
620
+                '<script>',
621
+                '</script>'
622
+            ), '', $output );
623
+        }
648 624
 
649
-				// Bootstrap file browser
650
-				wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
651
-				wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
625
+        /**
626
+         * Adds the Font Awesome JS.
627
+         */
628
+        public function enqueue_scripts() {
629
+            if( is_admin() && !$this->is_aui_screen()){
630
+                // Don't add wp-admin scripts if not requested to.
631
+            } else {
632
+                $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
652 633
 
653
-				$load_inline = false;
634
+                $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
654 635
 
655
-				// Load select2 only when required.
656
-				if ( $this->force_load_select2() ) {
657
-					$dependency = array( 'select2', 'jquery' );
658
-				} else {
659
-					$dependency = array( 'jquery' );
660
-				}
636
+                // select2
637
+                wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
661 638
 
662
-				if ( $this->settings[ $js_setting ] == 'core-popper' ) {
663
-					// Bootstrap bundle
664
-					$url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
665
-					wp_register_script( 'bootstrap-js-bundle', $url, $dependency, $this->version, $this->is_bs3_compat() );
666
-
667
-					// If in admin then add to footer for compatibility.
668
-					is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
669
-
670
-					$script = $this->inline_script();
671
-					wp_add_inline_script( 'bootstrap-js-bundle', $script );
672
-				} elseif ( $this->settings[ $js_setting ] == 'popper' ) {
673
-					$url = $this->url . 'assets/js/popper.min.js'; // @todo we need to update this to bs5
674
-					wp_register_script( 'bootstrap-js-popper', $url, $dependency, $this->version );
675
-					wp_enqueue_script( 'bootstrap-js-popper' );
676
-					$load_inline = true;
677
-				} else {
678
-					$load_inline = true;
679
-				}
639
+                // flatpickr
640
+                wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
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,374 +1115,374 @@  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
-			}
1478
+            }
1479 1479
 
1480
-			$output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1481
-			$output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1480
+            $output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1481
+            $output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1482 1482
 
1483
-			//  buttons
1484
-			$output .= $prefix . ' .btn-'.esc_attr($type).'{';
1485
-			$output .= ' 
1483
+            //  buttons
1484
+            $output .= $prefix . ' .btn-'.esc_attr($type).'{';
1485
+            $output .= ' 
1486 1486
             --bs-btn-bg: '.esc_attr($color_code).';
1487 1487
             --bs-btn-border-color: '.esc_attr($color_code).';
1488 1488
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1500,11 +1500,11 @@  discard block
 block discarded – undo
1500 1500
 //			--bs-btn-active-color: #fff;
1501 1501
 //			--bs-btn-disabled-color: #fff;
1502 1502
 //            ';
1503
-			$output .= '}';
1503
+            $output .= '}';
1504 1504
 
1505
-			//  buttons outline
1506
-			$output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1507
-			$output .= ' 
1505
+            //  buttons outline
1506
+            $output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1507
+            $output .= ' 
1508 1508
 			--bs-btn-color: '.esc_attr($color_code).';
1509 1509
             --bs-btn-border-color: '.esc_attr($color_code).';
1510 1510
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1522,37 +1522,37 @@  discard block
 block discarded – undo
1522 1522
 //			--bs-btn-active-color: #fff;
1523 1523
 //			--bs-btn-disabled-color: #fff;
1524 1524
 //            ';
1525
-			$output .= '}';
1525
+            $output .= '}';
1526 1526
 
1527 1527
 
1528 1528
             // button hover
1529
-			$output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1530
-			$output .= ' 
1529
+            $output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1530
+            $output .= ' 
1531 1531
             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 1532
             }
1533 1533
             ';
1534 1534
 
1535 1535
 
1536
-			if ( $aui_bs5 ) {
1536
+            if ( $aui_bs5 ) {
1537 1537
 //				$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).'; }';
1538
-				$output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1539
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1540
-			}
1538
+                $output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1539
+                $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1540
+            }
1541 1541
 
1542 1542
 
1543
-			if ( $is_custom ) {
1543
+            if ( $is_custom ) {
1544 1544
 
1545 1545
 //				echo '###'.$type;exit;
1546 1546
 
1547
-				// build rules into each type
1548
-				foreach($selectors as $selector => $types){
1549
-					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1550
-					$types = array_combine($types,$types);
1551
-					if(isset($types['c'])){$color[] = $selector;}
1552
-					if(isset($types['b'])){$background[] = $selector;}
1553
-					if(isset($types['o'])){$border[] = $selector;}
1554
-					if(isset($types['f'])){$fill[] = $selector;}
1555
-				}
1547
+                // build rules into each type
1548
+                foreach($selectors as $selector => $types){
1549
+                    $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1550
+                    $types = array_combine($types,$types);
1551
+                    if(isset($types['c'])){$color[] = $selector;}
1552
+                    if(isset($types['b'])){$background[] = $selector;}
1553
+                    if(isset($types['o'])){$border[] = $selector;}
1554
+                    if(isset($types['f'])){$fill[] = $selector;}
1555
+                }
1556 1556
 
1557 1557
 //				// build rules into each type
1558 1558
 //				foreach($important_selectors as $selector => $types){
@@ -1564,853 +1564,853 @@  discard block
 block discarded – undo
1564 1564
 //					if(isset($types['f'])){$fill_i[] = $selector;}
1565 1565
 //				}
1566 1566
 
1567
-				// add any color rules
1568
-				if(!empty($color)){
1569
-					$output .= implode(",",$color) . "{color: $color_code;} ";
1570
-				}
1571
-				if(!empty($color_i)){
1572
-					$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1573
-				}
1567
+                // add any color rules
1568
+                if(!empty($color)){
1569
+                    $output .= implode(",",$color) . "{color: $color_code;} ";
1570
+                }
1571
+                if(!empty($color_i)){
1572
+                    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1573
+                }
1574
+
1575
+                // add any background color rules
1576
+                if(!empty($background)){
1577
+                    $output .= implode(",",$background) . "{background-color: $color_code;} ";
1578
+                }
1579
+                if(!empty($background_i)){
1580
+                    $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1581
+//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1582
+                }
1583
+
1584
+                // add any border color rules
1585
+                if(!empty($border)){
1586
+                    $output .= implode(",",$border) . "{border-color: $color_code;} ";
1587
+                }
1588
+                if(!empty($border_i)){
1589
+                    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1590
+                }
1591
+
1592
+                // add any fill color rules
1593
+                if(!empty($fill)){
1594
+                    $output .= implode(",",$fill) . "{fill: $color_code;} ";
1595
+                }
1596
+                if(!empty($fill_i)){
1597
+                    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1598
+                }
1599
+
1600
+            }
1601
+
1602
+
1603
+
1604
+
1605
+            $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;' : '';
1606
+            // darken
1607
+            $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1608
+            $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1609
+            $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1610
+            $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1611
+
1612
+            // lighten
1613
+            $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1614
+
1615
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1616
+            $op_25 = $color_code."40"; // 25% opacity
1617
+
1618
+
1619
+            // button states
1620
+            $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1621
+            $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1622
+//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1623
+            $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;} ";
1624
+            $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.";} ";
1625
+            $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;} ";
1626
+            $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);} ";
1627
+
1628
+            // text
1629
+//			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
1630
+
1631
+
1632
+//			if ( $type == 'primary' ) {
1633
+//				// dropdown's
1634
+//				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1635
+//
1636
+//				// input states
1637
+//				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1638
+//
1639
+//				// page link
1640
+//				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1641
+//			}
1642
+
1643
+            // alerts
1644
+            if ( $aui_bs5 ) {
1645
+//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1646
+                $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;} ";
1647
+            }
1648
+
1649
+            return $output;
1650
+        }
1651
+
1652
+        /**
1653
+         * Build the CSS to overwrite a bootstrap color variable.
1654
+         *
1655
+         * @param $type
1656
+         * @param $color_code
1657
+         * @param $compatibility
1658
+         *
1659
+         * @return string
1660
+         */
1661
+        public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1662
+            global $aui_bs5;
1663
+
1664
+            $is_var = false;
1665
+            if(!$color_code){return '';}
1666
+            if(strpos($color_code, 'var') !== false){
1667
+                //if(!sanitize_hex_color($color_code)){
1668
+                $color_code = esc_attr($color_code);
1669
+                $is_var = true;
1670
+//				$color_code = "rgba($color_code, 0.5)";
1671
+//                echo '###1'.$color_code.'###';//exit;
1672
+            }
1673
+
1674
+//            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1675
+
1676
+            if(!$color_code){return '';}
1677
+
1678
+            $rgb = self::hex_to_rgb($hex);
1679
+
1680
+            if($compatibility===true || $compatibility===1){
1681
+                $compatibility = '.bsui';
1682
+            }elseif(!$compatibility){
1683
+                $compatibility = '';
1684
+            }else{
1685
+                $compatibility = esc_attr($compatibility);
1686
+            }
1687
+
1688
+
1689
+
1690
+//            echo '####'.$color_code;exit;
1691
+
1692
+            $type = sanitize_html_class($type);
1693
+
1694
+            /**
1695
+             * c = color, b = background color, o = border-color, f = fill
1696
+             */
1697
+            $selectors = array(
1698
+                ".btn-{$type}"                                              => array( 'b', 'o' ),
1699
+                ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1700
+                ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1701
+                ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1702
+                ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1703
+                ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1704
+                ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1705
+                ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1706
+                ".badge-{$type}"                                            => array( 'b' ),
1707
+                ".alert-{$type}"                                            => array( 'b', 'o' ),
1708
+                ".bg-{$type}"                                               => array( 'b', 'f' ),
1709
+                ".btn-link.btn-{$type}"                                     => array( 'c' ),
1710
+            );
1711
+
1712
+            if ( $aui_bs5 ) {
1713
+                unset($selectors[".alert-{$type}" ]);
1714
+            }
1715
+
1716
+            if ( $type == 'primary' ) {
1717
+                $selectors = $selectors + array(
1718
+                        'a'                                                                                                    => array( 'c' ),
1719
+                        '.btn-link'                                                                                            => array( 'c' ),
1720
+                        '.dropdown-item.active'                                                                                => array( 'b' ),
1721
+                        '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1722
+                            'b',
1723
+                            'o'
1724
+                        ),
1725
+                        '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1726
+                            'b',
1727
+                            'o'
1728
+                        ),
1729
+                        '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1730
+                        '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1731
+                        '.page-link'                                                                                           => array( 'c' ),
1732
+                        '.page-item.active .page-link'                                                                         => array(
1733
+                            'b',
1734
+                            'o'
1735
+                        ),
1736
+                        '.progress-bar'                                                                                        => array( 'b' ),
1737
+                        '.list-group-item.active'                                                                              => array(
1738
+                            'b',
1739
+                            'o'
1740
+                        ),
1741
+                        '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1742
+//				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1743
+//				    '.custom-range::-moz-range-thumb' => array('b'),
1744
+//				    '.custom-range::-ms-thumb' => array('b'),
1745
+                    );
1746
+            }
1747
+
1748
+            $important_selectors = array(
1749
+                ".bg-{$type}" => array('b','f'),
1750
+                ".border-{$type}" => array('o'),
1751
+                ".text-{$type}" => array('c'),
1752
+            );
1753
+
1754
+            $color = array();
1755
+            $color_i = array();
1756
+            $background = array();
1757
+            $background_i = array();
1758
+            $border = array();
1759
+            $border_i = array();
1760
+            $fill = array();
1761
+            $fill_i = array();
1762
+
1763
+            $output = '';
1764
+
1765
+            if ( $aui_bs5 ) {
1766
+//				$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).'; }';
1767
+                $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1768
+            }
1769
+
1770
+            // build rules into each type
1771
+            foreach($selectors as $selector => $types){
1772
+                $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1773
+                $types = array_combine($types,$types);
1774
+                if(isset($types['c'])){$color[] = $selector;}
1775
+                if(isset($types['b'])){$background[] = $selector;}
1776
+                if(isset($types['o'])){$border[] = $selector;}
1777
+                if(isset($types['f'])){$fill[] = $selector;}
1778
+            }
1779
+
1780
+            // build rules into each type
1781
+            foreach($important_selectors as $selector => $types){
1782
+                $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1783
+                $types = array_combine($types,$types);
1784
+                if(isset($types['c'])){$color_i[] = $selector;}
1785
+                if(isset($types['b'])){$background_i[] = $selector;}
1786
+                if(isset($types['o'])){$border_i[] = $selector;}
1787
+                if(isset($types['f'])){$fill_i[] = $selector;}
1788
+            }
1789
+
1790
+            // add any color rules
1791
+            if(!empty($color)){
1792
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1793
+            }
1794
+            if(!empty($color_i)){
1795
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1796
+            }
1797
+
1798
+            // add any background color rules
1799
+            if(!empty($background)){
1800
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1801
+            }
1802
+            if(!empty($background_i)){
1803
+                $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1804
+//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1805
+            }
1806
+
1807
+            // add any border color rules
1808
+            if(!empty($border)){
1809
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1810
+            }
1811
+            if(!empty($border_i)){
1812
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1813
+            }
1814
+
1815
+            // add any fill color rules
1816
+            if(!empty($fill)){
1817
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1818
+            }
1819
+            if(!empty($fill_i)){
1820
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1821
+            }
1822
+
1823
+
1824
+            $prefix = $compatibility ? $compatibility . " " : "";
1825
+
1826
+            $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;' : '';
1827
+            // darken
1828
+            $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1829
+            $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1830
+            $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1831
+            $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1832
+
1833
+            // lighten
1834
+            $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1835
+
1836
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1837
+            $op_25 = $color_code."40"; // 25% opacity
1838
+
1839
+
1840
+            // button states
1841
+            $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1842
+            $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1843
+//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1844
+            $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;} ";
1845
+            $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.";} ";
1846
+            $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;} ";
1847
+
1848
+            if ( $type == 'primary' ) {
1849
+                // dropdown's
1850
+                $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1851
+
1852
+                // input states
1853
+                $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1854
+
1855
+                // page link
1856
+                $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1857
+            }
1858
+
1859
+            // alerts
1860
+            if ( $aui_bs5 ) {
1861
+//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1862
+                $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;} ";
1863
+            }
1864
+
1865
+            return $output;
1866
+        }
1867
+
1868
+        /**
1869
+         *
1870
+         * @deprecated 0.1.76 Use css_overwrite()
1871
+         *
1872
+         * @param $color_code
1873
+         * @param $compatibility
1874
+         * @param $use_variable
1875
+         *
1876
+         * @return string
1877
+         */
1878
+        public static function css_primary($color_code,$compatibility, $use_variable = false){
1879
+
1880
+            if(!$use_variable){
1881
+                $color_code = sanitize_hex_color($color_code);
1882
+                if(!$color_code){return '';}
1883
+            }
1884
+
1885
+            /**
1886
+             * c = color, b = background color, o = border-color, f = fill
1887
+             */
1888
+            $selectors = array(
1889
+                'a' => array('c'),
1890
+                '.btn-primary' => array('b','o'),
1891
+                '.btn-primary.disabled' => array('b','o'),
1892
+                '.btn-primary:disabled' => array('b','o'),
1893
+                '.btn-outline-primary' => array('c','o'),
1894
+                '.btn-outline-primary:hover' => array('b','o'),
1895
+                '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1896
+                '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1897
+                '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1898
+                '.btn-link' => array('c'),
1899
+                '.dropdown-item.active' => array('b'),
1900
+                '.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1901
+                '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1902
+//				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1903
+//				'.custom-range::-moz-range-thumb' => array('b'),
1904
+//				'.custom-range::-ms-thumb' => array('b'),
1905
+                '.nav-pills .nav-link.active' => array('b'),
1906
+                '.nav-pills .show>.nav-link' => array('b'),
1907
+                '.page-link' => array('c'),
1908
+                '.page-item.active .page-link' => array('b','o'),
1909
+                '.badge-primary' => array('b'),
1910
+                '.alert-primary' => array('b','o'),
1911
+                '.progress-bar' => array('b'),
1912
+                '.list-group-item.active' => array('b','o'),
1913
+                '.bg-primary' => array('b','f'),
1914
+                '.btn-link.btn-primary' => array('c'),
1915
+                '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1916
+            );
1917
+
1918
+            $important_selectors = array(
1919
+                '.bg-primary' => array('b','f'),
1920
+                '.border-primary' => array('o'),
1921
+                '.text-primary' => array('c'),
1922
+            );
1923
+
1924
+            $color = array();
1925
+            $color_i = array();
1926
+            $background = array();
1927
+            $background_i = array();
1928
+            $border = array();
1929
+            $border_i = array();
1930
+            $fill = array();
1931
+            $fill_i = array();
1932
+
1933
+            $output = '';
1934
+
1935
+            // build rules into each type
1936
+            foreach($selectors as $selector => $types){
1937
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1938
+                $types = array_combine($types,$types);
1939
+                if(isset($types['c'])){$color[] = $selector;}
1940
+                if(isset($types['b'])){$background[] = $selector;}
1941
+                if(isset($types['o'])){$border[] = $selector;}
1942
+                if(isset($types['f'])){$fill[] = $selector;}
1943
+            }
1944
+
1945
+            // build rules into each type
1946
+            foreach($important_selectors as $selector => $types){
1947
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1948
+                $types = array_combine($types,$types);
1949
+                if(isset($types['c'])){$color_i[] = $selector;}
1950
+                if(isset($types['b'])){$background_i[] = $selector;}
1951
+                if(isset($types['o'])){$border_i[] = $selector;}
1952
+                if(isset($types['f'])){$fill_i[] = $selector;}
1953
+            }
1954
+
1955
+            // add any color rules
1956
+            if(!empty($color)){
1957
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1958
+            }
1959
+            if(!empty($color_i)){
1960
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1961
+            }
1962
+
1963
+            // add any background color rules
1964
+            if(!empty($background)){
1965
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1966
+            }
1967
+            if(!empty($background_i)){
1968
+                $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1969
+            }
1970
+
1971
+            // add any border color rules
1972
+            if(!empty($border)){
1973
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1974
+            }
1975
+            if(!empty($border_i)){
1976
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1977
+            }
1978
+
1979
+            // add any fill color rules
1980
+            if(!empty($fill)){
1981
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1982
+            }
1983
+            if(!empty($fill_i)){
1984
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1985
+            }
1986
+
1574 1987
 
1575
-				// add any background color rules
1576
-				if(!empty($background)){
1577
-					$output .= implode(",",$background) . "{background-color: $color_code;} ";
1578
-				}
1579
-				if(!empty($background_i)){
1580
-					$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1581
-//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1582
-				}
1988
+            $prefix = $compatibility ? ".bsui " : "";
1583 1989
 
1584
-				// add any border color rules
1585
-				if(!empty($border)){
1586
-					$output .= implode(",",$border) . "{border-color: $color_code;} ";
1587
-				}
1588
-				if(!empty($border_i)){
1589
-					$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1590
-				}
1990
+            // darken
1991
+            $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1992
+            $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1993
+            $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1591 1994
 
1592
-				// add any fill color rules
1593
-				if(!empty($fill)){
1594
-					$output .= implode(",",$fill) . "{fill: $color_code;} ";
1595
-				}
1596
-				if(!empty($fill_i)){
1597
-					$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1598
-				}
1995
+            // lighten
1996
+            $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1599 1997
 
1600
-			}
1998
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1999
+            $op_25 = $color_code."40"; // 25% opacity
1601 2000
 
1602 2001
 
2002
+            // button states
2003
+            $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2004
+            $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;} ";
2005
+            $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.";} ";
2006
+            $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;} ";
1603 2007
 
1604 2008
 
1605
-			$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;' : '';
1606
-			// darken
1607
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1608
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1609
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1610
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
2009
+            // dropdown's
2010
+            $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1611 2011
 
1612
-			// lighten
1613
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1614 2012
 
1615
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1616
-			$op_25 = $color_code."40"; // 25% opacity
2013
+            // input states
2014
+            $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1617 2015
 
2016
+            // page link
2017
+            $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1618 2018
 
1619
-			// button states
1620
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1621
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1622
-//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1623
-			$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;} ";
1624
-			$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.";} ";
1625
-            $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;} ";
1626
-            $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);} ";
2019
+            return $output;
2020
+        }
1627 2021
 
1628
-			// text
1629
-//			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
2022
+        /**
2023
+         *
2024
+         * @deprecated 0.1.76 Use css_overwrite()
2025
+         *
2026
+         * @param $color_code
2027
+         * @param $compatibility
2028
+         *
2029
+         * @return string
2030
+         */
2031
+        public static function css_secondary($color_code,$compatibility){;
2032
+            $color_code = sanitize_hex_color($color_code);
2033
+            if(!$color_code){return '';}
2034
+            /**
2035
+             * c = color, b = background color, o = border-color, f = fill
2036
+             */
2037
+            $selectors = array(
2038
+                '.btn-secondary' => array('b','o'),
2039
+                '.btn-secondary.disabled' => array('b','o'),
2040
+                '.btn-secondary:disabled' => array('b','o'),
2041
+                '.btn-outline-secondary' => array('c','o'),
2042
+                '.btn-outline-secondary:hover' => array('b','o'),
2043
+                '.btn-outline-secondary.disabled' => array('c'),
2044
+                '.btn-outline-secondary:disabled' => array('c'),
2045
+                '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2046
+                '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2047
+                '.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2048
+                '.badge-secondary' => array('b'),
2049
+                '.alert-secondary' => array('b','o'),
2050
+                '.btn-link.btn-secondary' => array('c'),
2051
+            );
2052
+
2053
+            $important_selectors = array(
2054
+                '.bg-secondary' => array('b','f'),
2055
+                '.border-secondary' => array('o'),
2056
+                '.text-secondary' => array('c'),
2057
+            );
2058
+
2059
+            $color = array();
2060
+            $color_i = array();
2061
+            $background = array();
2062
+            $background_i = array();
2063
+            $border = array();
2064
+            $border_i = array();
2065
+            $fill = array();
2066
+            $fill_i = array();
1630 2067
 
2068
+            $output = '';
1631 2069
 
1632
-//			if ( $type == 'primary' ) {
1633
-//				// dropdown's
1634
-//				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1635
-//
1636
-//				// input states
1637
-//				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1638
-//
1639
-//				// page link
1640
-//				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1641
-//			}
2070
+            // build rules into each type
2071
+            foreach($selectors as $selector => $types){
2072
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
2073
+                $types = array_combine($types,$types);
2074
+                if(isset($types['c'])){$color[] = $selector;}
2075
+                if(isset($types['b'])){$background[] = $selector;}
2076
+                if(isset($types['o'])){$border[] = $selector;}
2077
+                if(isset($types['f'])){$fill[] = $selector;}
2078
+            }
1642 2079
 
1643
-			// alerts
1644
-			if ( $aui_bs5 ) {
1645
-//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1646
-				$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;} ";
1647
-			}
1648
-
1649
-			return $output;
1650
-		}
1651
-
1652
-		/**
1653
-		 * Build the CSS to overwrite a bootstrap color variable.
1654
-		 *
1655
-		 * @param $type
1656
-		 * @param $color_code
1657
-		 * @param $compatibility
1658
-		 *
1659
-		 * @return string
1660
-		 */
1661
-		public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1662
-            global $aui_bs5;
2080
+            // build rules into each type
2081
+            foreach($important_selectors as $selector => $types){
2082
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
2083
+                $types = array_combine($types,$types);
2084
+                if(isset($types['c'])){$color_i[] = $selector;}
2085
+                if(isset($types['b'])){$background_i[] = $selector;}
2086
+                if(isset($types['o'])){$border_i[] = $selector;}
2087
+                if(isset($types['f'])){$fill_i[] = $selector;}
2088
+            }
1663 2089
 
1664
-			$is_var = false;
1665
-			if(!$color_code){return '';}
1666
-			if(strpos($color_code, 'var') !== false){
1667
-				//if(!sanitize_hex_color($color_code)){
1668
-				$color_code = esc_attr($color_code);
1669
-				$is_var = true;
1670
-//				$color_code = "rgba($color_code, 0.5)";
1671
-//                echo '###1'.$color_code.'###';//exit;
1672
-			}
2090
+            // add any color rules
2091
+            if(!empty($color)){
2092
+                $output .= implode(",",$color) . "{color: $color_code;} ";
2093
+            }
2094
+            if(!empty($color_i)){
2095
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2096
+            }
1673 2097
 
1674
-//            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
2098
+            // add any background color rules
2099
+            if(!empty($background)){
2100
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
2101
+            }
2102
+            if(!empty($background_i)){
2103
+                $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2104
+            }
1675 2105
 
1676
-			if(!$color_code){return '';}
2106
+            // add any border color rules
2107
+            if(!empty($border)){
2108
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
2109
+            }
2110
+            if(!empty($border_i)){
2111
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2112
+            }
1677 2113
 
1678
-            $rgb = self::hex_to_rgb($hex);
2114
+            // add any fill color rules
2115
+            if(!empty($fill)){
2116
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
2117
+            }
2118
+            if(!empty($fill_i)){
2119
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2120
+            }
1679 2121
 
1680
-			if($compatibility===true || $compatibility===1){
1681
-				$compatibility = '.bsui';
1682
-			}elseif(!$compatibility){
1683
-				$compatibility = '';
1684
-			}else{
1685
-				$compatibility = esc_attr($compatibility);
1686
-			}
1687 2122
 
2123
+            $prefix = $compatibility ? ".bsui " : "";
1688 2124
 
2125
+            // darken
2126
+            $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2127
+            $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2128
+            $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1689 2129
 
1690
-//            echo '####'.$color_code;exit;
2130
+            // lighten
2131
+            $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1691 2132
 
1692
-			$type = sanitize_html_class($type);
2133
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
2134
+            $op_25 = $color_code."40"; // 25% opacity
1693 2135
 
1694
-			/**
1695
-			 * c = color, b = background color, o = border-color, f = fill
1696
-			 */
1697
-			$selectors = array(
1698
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1699
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1700
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1701
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1702
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1703
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1704
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1705
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1706
-				".badge-{$type}"                                            => array( 'b' ),
1707
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1708
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1709
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1710
-			);
1711
-
1712
-			if ( $aui_bs5 ) {
1713
-                unset($selectors[".alert-{$type}" ]);
1714
-			}
1715
-
1716
-			if ( $type == 'primary' ) {
1717
-				$selectors = $selectors + array(
1718
-						'a'                                                                                                    => array( 'c' ),
1719
-						'.btn-link'                                                                                            => array( 'c' ),
1720
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1721
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1722
-							'b',
1723
-							'o'
1724
-						),
1725
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1726
-							'b',
1727
-							'o'
1728
-						),
1729
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1730
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1731
-						'.page-link'                                                                                           => array( 'c' ),
1732
-						'.page-item.active .page-link'                                                                         => array(
1733
-							'b',
1734
-							'o'
1735
-						),
1736
-						'.progress-bar'                                                                                        => array( 'b' ),
1737
-						'.list-group-item.active'                                                                              => array(
1738
-							'b',
1739
-							'o'
1740
-						),
1741
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1742
-//				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1743
-//				    '.custom-range::-moz-range-thumb' => array('b'),
1744
-//				    '.custom-range::-ms-thumb' => array('b'),
1745
-					);
1746
-			}
1747
-
1748
-			$important_selectors = array(
1749
-				".bg-{$type}" => array('b','f'),
1750
-				".border-{$type}" => array('o'),
1751
-				".text-{$type}" => array('c'),
1752
-			);
1753
-
1754
-			$color = array();
1755
-			$color_i = array();
1756
-			$background = array();
1757
-			$background_i = array();
1758
-			$border = array();
1759
-			$border_i = array();
1760
-			$fill = array();
1761
-			$fill_i = array();
1762
-
1763
-			$output = '';
1764
-
1765
-			if ( $aui_bs5 ) {
1766
-//				$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).'; }';
1767
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1768
-			}
1769
-
1770
-			// build rules into each type
1771
-			foreach($selectors as $selector => $types){
1772
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1773
-				$types = array_combine($types,$types);
1774
-				if(isset($types['c'])){$color[] = $selector;}
1775
-				if(isset($types['b'])){$background[] = $selector;}
1776
-				if(isset($types['o'])){$border[] = $selector;}
1777
-				if(isset($types['f'])){$fill[] = $selector;}
1778
-			}
1779
-
1780
-			// build rules into each type
1781
-			foreach($important_selectors as $selector => $types){
1782
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1783
-				$types = array_combine($types,$types);
1784
-				if(isset($types['c'])){$color_i[] = $selector;}
1785
-				if(isset($types['b'])){$background_i[] = $selector;}
1786
-				if(isset($types['o'])){$border_i[] = $selector;}
1787
-				if(isset($types['f'])){$fill_i[] = $selector;}
1788
-			}
1789
-
1790
-			// add any color rules
1791
-			if(!empty($color)){
1792
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1793
-			}
1794
-			if(!empty($color_i)){
1795
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1796
-			}
1797
-
1798
-			// add any background color rules
1799
-			if(!empty($background)){
1800
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1801
-			}
1802
-			if(!empty($background_i)){
1803
-				$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1804
-//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1805
-			}
1806 2136
 
1807
-			// add any border color rules
1808
-			if(!empty($border)){
1809
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1810
-			}
1811
-			if(!empty($border_i)){
1812
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1813
-			}
2137
+            // button states
2138
+            $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2139
+            $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;} ";
2140
+            $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.";} ";
2141
+            $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;} ";
1814 2142
 
1815
-			// add any fill color rules
1816
-			if(!empty($fill)){
1817
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1818
-			}
1819
-			if(!empty($fill_i)){
1820
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1821
-			}
1822 2143
 
2144
+            return $output;
2145
+        }
1823 2146
 
1824
-			$prefix = $compatibility ? $compatibility . " " : "";
2147
+        /**
2148
+         * Increases or decreases the brightness of a color by a percentage of the current brightness.
2149
+         *
2150
+         * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
2151
+         * @param   float   $adjustPercent  A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker.
2152
+         *
2153
+         * @return  string
2154
+         */
2155
+        public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2156
+            $hexCode = ltrim($hexCode, '#');
1825 2157
 
1826
-			$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;' : '';
1827
-			// darken
1828
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1829
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1830
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1831
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
2158
+            if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2159
+                return $hexCode;
2160
+            }
1832 2161
 
1833
-			// lighten
1834
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
2162
+            if (strlen($hexCode) == 3) {
2163
+                $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
2164
+            }
1835 2165
 
1836
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1837
-			$op_25 = $color_code."40"; // 25% opacity
2166
+            $hexCode = array_map('hexdec', str_split($hexCode, 2));
1838 2167
 
2168
+            foreach ($hexCode as & $color) {
2169
+                $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2170
+                $adjustAmount = ceil($adjustableLimit * $adjustPercent);
1839 2171
 
1840
-			// button states
1841
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1842
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1843
-//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1844
-			$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;} ";
1845
-			$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.";} ";
1846
-			$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;} ";
2172
+                $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2173
+            }
1847 2174
 
1848
-			if ( $type == 'primary' ) {
1849
-				// dropdown's
1850
-				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2175
+            return '#' . implode($hexCode);
2176
+        }
1851 2177
 
1852
-				// input states
1853
-				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
2178
+        /**
2179
+         * Check if we should display examples.
2180
+         */
2181
+        public function maybe_show_examples(){
2182
+            if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2183
+                echo "<head>";
2184
+                wp_head();
2185
+                echo "</head>";
2186
+                echo "<body>";
2187
+                echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2188
+                echo "</body>";
2189
+                exit;
2190
+            }
2191
+        }
1854 2192
 
1855
-				// page link
1856
-				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1857
-			}
2193
+        /**
2194
+         * Get developer examples.
2195
+         *
2196
+         * @return string
2197
+         */
2198
+        public function get_examples(){
2199
+            $output = '';
1858 2200
 
1859
-            // alerts
1860
-			if ( $aui_bs5 ) {
1861
-//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1862
-				$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;} ";
1863
-			}
1864
-
1865
-			return $output;
1866
-		}
1867
-
1868
-		/**
1869
-		 *
1870
-		 * @deprecated 0.1.76 Use css_overwrite()
1871
-		 *
1872
-		 * @param $color_code
1873
-		 * @param $compatibility
1874
-		 * @param $use_variable
1875
-		 *
1876
-		 * @return string
1877
-		 */
1878
-		public static function css_primary($color_code,$compatibility, $use_variable = false){
1879
-
1880
-			if(!$use_variable){
1881
-				$color_code = sanitize_hex_color($color_code);
1882
-				if(!$color_code){return '';}
1883
-			}
1884
-
1885
-			/**
1886
-			 * c = color, b = background color, o = border-color, f = fill
1887
-			 */
1888
-			$selectors = array(
1889
-				'a' => array('c'),
1890
-				'.btn-primary' => array('b','o'),
1891
-				'.btn-primary.disabled' => array('b','o'),
1892
-				'.btn-primary:disabled' => array('b','o'),
1893
-				'.btn-outline-primary' => array('c','o'),
1894
-				'.btn-outline-primary:hover' => array('b','o'),
1895
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1896
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1897
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1898
-				'.btn-link' => array('c'),
1899
-				'.dropdown-item.active' => array('b'),
1900
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1901
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1902
-//				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1903
-//				'.custom-range::-moz-range-thumb' => array('b'),
1904
-//				'.custom-range::-ms-thumb' => array('b'),
1905
-				'.nav-pills .nav-link.active' => array('b'),
1906
-				'.nav-pills .show>.nav-link' => array('b'),
1907
-				'.page-link' => array('c'),
1908
-				'.page-item.active .page-link' => array('b','o'),
1909
-				'.badge-primary' => array('b'),
1910
-				'.alert-primary' => array('b','o'),
1911
-				'.progress-bar' => array('b'),
1912
-				'.list-group-item.active' => array('b','o'),
1913
-				'.bg-primary' => array('b','f'),
1914
-				'.btn-link.btn-primary' => array('c'),
1915
-				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1916
-			);
1917
-
1918
-			$important_selectors = array(
1919
-				'.bg-primary' => array('b','f'),
1920
-				'.border-primary' => array('o'),
1921
-				'.text-primary' => array('c'),
1922
-			);
1923
-
1924
-			$color = array();
1925
-			$color_i = array();
1926
-			$background = array();
1927
-			$background_i = array();
1928
-			$border = array();
1929
-			$border_i = array();
1930
-			$fill = array();
1931
-			$fill_i = array();
1932
-
1933
-			$output = '';
1934
-
1935
-			// build rules into each type
1936
-			foreach($selectors as $selector => $types){
1937
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1938
-				$types = array_combine($types,$types);
1939
-				if(isset($types['c'])){$color[] = $selector;}
1940
-				if(isset($types['b'])){$background[] = $selector;}
1941
-				if(isset($types['o'])){$border[] = $selector;}
1942
-				if(isset($types['f'])){$fill[] = $selector;}
1943
-			}
1944
-
1945
-			// build rules into each type
1946
-			foreach($important_selectors as $selector => $types){
1947
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1948
-				$types = array_combine($types,$types);
1949
-				if(isset($types['c'])){$color_i[] = $selector;}
1950
-				if(isset($types['b'])){$background_i[] = $selector;}
1951
-				if(isset($types['o'])){$border_i[] = $selector;}
1952
-				if(isset($types['f'])){$fill_i[] = $selector;}
1953
-			}
1954
-
1955
-			// add any color rules
1956
-			if(!empty($color)){
1957
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1958
-			}
1959
-			if(!empty($color_i)){
1960
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1961
-			}
1962
-
1963
-			// add any background color rules
1964
-			if(!empty($background)){
1965
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1966
-			}
1967
-			if(!empty($background_i)){
1968
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1969
-			}
1970
-
1971
-			// add any border color rules
1972
-			if(!empty($border)){
1973
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1974
-			}
1975
-			if(!empty($border_i)){
1976
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1977
-			}
1978
-
1979
-			// add any fill color rules
1980
-			if(!empty($fill)){
1981
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1982
-			}
1983
-			if(!empty($fill_i)){
1984
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1985
-			}
1986
-
1987
-
1988
-			$prefix = $compatibility ? ".bsui " : "";
1989
-
1990
-			// darken
1991
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1992
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1993
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1994
-
1995
-			// lighten
1996
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1997
-
1998
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1999
-			$op_25 = $color_code."40"; // 25% opacity
2000
-
2001
-
2002
-			// button states
2003
-			$output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2004
-			$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;} ";
2005
-			$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.";} ";
2006
-			$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;} ";
2007
-
2008
-
2009
-			// dropdown's
2010
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2011
-
2012
-
2013
-			// input states
2014
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
2015
-
2016
-			// page link
2017
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2018
-
2019
-			return $output;
2020
-		}
2021
-
2022
-		/**
2023
-		 *
2024
-		 * @deprecated 0.1.76 Use css_overwrite()
2025
-		 *
2026
-		 * @param $color_code
2027
-		 * @param $compatibility
2028
-		 *
2029
-		 * @return string
2030
-		 */
2031
-		public static function css_secondary($color_code,$compatibility){;
2032
-			$color_code = sanitize_hex_color($color_code);
2033
-			if(!$color_code){return '';}
2034
-			/**
2035
-			 * c = color, b = background color, o = border-color, f = fill
2036
-			 */
2037
-			$selectors = array(
2038
-				'.btn-secondary' => array('b','o'),
2039
-				'.btn-secondary.disabled' => array('b','o'),
2040
-				'.btn-secondary:disabled' => array('b','o'),
2041
-				'.btn-outline-secondary' => array('c','o'),
2042
-				'.btn-outline-secondary:hover' => array('b','o'),
2043
-				'.btn-outline-secondary.disabled' => array('c'),
2044
-				'.btn-outline-secondary:disabled' => array('c'),
2045
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2046
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2047
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2048
-				'.badge-secondary' => array('b'),
2049
-				'.alert-secondary' => array('b','o'),
2050
-				'.btn-link.btn-secondary' => array('c'),
2051
-			);
2052
-
2053
-			$important_selectors = array(
2054
-				'.bg-secondary' => array('b','f'),
2055
-				'.border-secondary' => array('o'),
2056
-				'.text-secondary' => array('c'),
2057
-			);
2058
-
2059
-			$color = array();
2060
-			$color_i = array();
2061
-			$background = array();
2062
-			$background_i = array();
2063
-			$border = array();
2064
-			$border_i = array();
2065
-			$fill = array();
2066
-			$fill_i = array();
2067
-
2068
-			$output = '';
2069
-
2070
-			// build rules into each type
2071
-			foreach($selectors as $selector => $types){
2072
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2073
-				$types = array_combine($types,$types);
2074
-				if(isset($types['c'])){$color[] = $selector;}
2075
-				if(isset($types['b'])){$background[] = $selector;}
2076
-				if(isset($types['o'])){$border[] = $selector;}
2077
-				if(isset($types['f'])){$fill[] = $selector;}
2078
-			}
2079
-
2080
-			// build rules into each type
2081
-			foreach($important_selectors as $selector => $types){
2082
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2083
-				$types = array_combine($types,$types);
2084
-				if(isset($types['c'])){$color_i[] = $selector;}
2085
-				if(isset($types['b'])){$background_i[] = $selector;}
2086
-				if(isset($types['o'])){$border_i[] = $selector;}
2087
-				if(isset($types['f'])){$fill_i[] = $selector;}
2088
-			}
2089
-
2090
-			// add any color rules
2091
-			if(!empty($color)){
2092
-				$output .= implode(",",$color) . "{color: $color_code;} ";
2093
-			}
2094
-			if(!empty($color_i)){
2095
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2096
-			}
2097
-
2098
-			// add any background color rules
2099
-			if(!empty($background)){
2100
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
2101
-			}
2102
-			if(!empty($background_i)){
2103
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2104
-			}
2105
-
2106
-			// add any border color rules
2107
-			if(!empty($border)){
2108
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
2109
-			}
2110
-			if(!empty($border_i)){
2111
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2112
-			}
2113
-
2114
-			// add any fill color rules
2115
-			if(!empty($fill)){
2116
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
2117
-			}
2118
-			if(!empty($fill_i)){
2119
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2120
-			}
2121
-
2122
-
2123
-			$prefix = $compatibility ? ".bsui " : "";
2124
-
2125
-			// darken
2126
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2127
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2128
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2129
-
2130
-			// lighten
2131
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2132
-
2133
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
2134
-			$op_25 = $color_code."40"; // 25% opacity
2135
-
2136
-
2137
-			// button states
2138
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2139
-			$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;} ";
2140
-			$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.";} ";
2141
-			$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;} ";
2142
-
2143
-
2144
-			return $output;
2145
-		}
2146
-
2147
-		/**
2148
-		 * Increases or decreases the brightness of a color by a percentage of the current brightness.
2149
-		 *
2150
-		 * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
2151
-		 * @param   float   $adjustPercent  A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker.
2152
-		 *
2153
-		 * @return  string
2154
-		 */
2155
-		public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2156
-			$hexCode = ltrim($hexCode, '#');
2157
-
2158
-			if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2159
-				return $hexCode;
2160
-			}
2161
-
2162
-			if (strlen($hexCode) == 3) {
2163
-				$hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
2164
-			}
2165
-
2166
-			$hexCode = array_map('hexdec', str_split($hexCode, 2));
2167
-
2168
-			foreach ($hexCode as & $color) {
2169
-				$adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2170
-				$adjustAmount = ceil($adjustableLimit * $adjustPercent);
2171
-
2172
-				$color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2173
-			}
2174
-
2175
-			return '#' . implode($hexCode);
2176
-		}
2177
-
2178
-		/**
2179
-		 * Check if we should display examples.
2180
-		 */
2181
-		public function maybe_show_examples(){
2182
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2183
-				echo "<head>";
2184
-				wp_head();
2185
-				echo "</head>";
2186
-				echo "<body>";
2187
-				echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2188
-				echo "</body>";
2189
-				exit;
2190
-			}
2191
-		}
2192
-
2193
-		/**
2194
-		 * Get developer examples.
2195
-		 *
2196
-		 * @return string
2197
-		 */
2198
-		public function get_examples(){
2199
-			$output = '';
2200
-
2201
-
2202
-			// open form
2203
-			$output .= "<form class='p-5 m-5 border rounded'>";
2204
-
2205
-			// input example
2206
-			$output .= aui()->input(array(
2207
-				'type'  =>  'text',
2208
-				'id'    =>  'text-example',
2209
-				'name'    =>  'text-example',
2210
-				'placeholder'   => 'text placeholder',
2211
-				'title'   => 'Text input example',
2212
-				'value' =>  '',
2213
-				'required'  => false,
2214
-				'help_text' => 'help text',
2215
-				'label' => 'Text input example label'
2216
-			));
2217
-
2218
-			// input example
2219
-			$output .= aui()->input(array(
2220
-				'type'  =>  'url',
2221
-				'id'    =>  'text-example2',
2222
-				'name'    =>  'text-example',
2223
-				'placeholder'   => 'url placeholder',
2224
-				'title'   => 'Text input example',
2225
-				'value' =>  '',
2226
-				'required'  => false,
2227
-				'help_text' => 'help text',
2228
-				'label' => 'Text input example label'
2229
-			));
2230
-
2231
-			// checkbox example
2232
-			$output .= aui()->input(array(
2233
-				'type'  =>  'checkbox',
2234
-				'id'    =>  'checkbox-example',
2235
-				'name'    =>  'checkbox-example',
2236
-				'placeholder'   => 'checkbox-example',
2237
-				'title'   => 'Checkbox example',
2238
-				'value' =>  '1',
2239
-				'checked'   => true,
2240
-				'required'  => false,
2241
-				'help_text' => 'help text',
2242
-				'label' => 'Checkbox checked'
2243
-			));
2244
-
2245
-			// checkbox example
2246
-			$output .= aui()->input(array(
2247
-				'type'  =>  'checkbox',
2248
-				'id'    =>  'checkbox-example2',
2249
-				'name'    =>  'checkbox-example2',
2250
-				'placeholder'   => 'checkbox-example',
2251
-				'title'   => 'Checkbox example',
2252
-				'value' =>  '1',
2253
-				'checked'   => false,
2254
-				'required'  => false,
2255
-				'help_text' => 'help text',
2256
-				'label' => 'Checkbox un-checked'
2257
-			));
2258
-
2259
-			// switch example
2260
-			$output .= aui()->input(array(
2261
-				'type'  =>  'checkbox',
2262
-				'id'    =>  'switch-example',
2263
-				'name'    =>  'switch-example',
2264
-				'placeholder'   => 'checkbox-example',
2265
-				'title'   => 'Switch example',
2266
-				'value' =>  '1',
2267
-				'checked'   => true,
2268
-				'switch'    => true,
2269
-				'required'  => false,
2270
-				'help_text' => 'help text',
2271
-				'label' => 'Switch on'
2272
-			));
2273
-
2274
-			// switch example
2275
-			$output .= aui()->input(array(
2276
-				'type'  =>  'checkbox',
2277
-				'id'    =>  'switch-example2',
2278
-				'name'    =>  'switch-example2',
2279
-				'placeholder'   => 'checkbox-example',
2280
-				'title'   => 'Switch example',
2281
-				'value' =>  '1',
2282
-				'checked'   => false,
2283
-				'switch'    => true,
2284
-				'required'  => false,
2285
-				'help_text' => 'help text',
2286
-				'label' => 'Switch off'
2287
-			));
2288
-
2289
-			// close form
2290
-			$output .= "</form>";
2291
-
2292
-			return $output;
2293
-		}
2294
-
2295
-		/**
2296
-		 * Calendar params.
2297
-		 *
2298
-		 * @since 0.1.44
2299
-		 *
2300
-		 * @return array Calendar params.
2301
-		 */
2302
-		public static function calendar_params() {
2303
-			$params = array(
2304
-				'month_long_1' => __( 'January', 'ayecode-connect' ),
2305
-				'month_long_2' => __( 'February', 'ayecode-connect' ),
2306
-				'month_long_3' => __( 'March', 'ayecode-connect' ),
2307
-				'month_long_4' => __( 'April', 'ayecode-connect' ),
2308
-				'month_long_5' => __( 'May', 'ayecode-connect' ),
2309
-				'month_long_6' => __( 'June', 'ayecode-connect' ),
2310
-				'month_long_7' => __( 'July', 'ayecode-connect' ),
2311
-				'month_long_8' => __( 'August', 'ayecode-connect' ),
2312
-				'month_long_9' => __( 'September', 'ayecode-connect' ),
2313
-				'month_long_10' => __( 'October', 'ayecode-connect' ),
2314
-				'month_long_11' => __( 'November', 'ayecode-connect' ),
2315
-				'month_long_12' => __( 'December', 'ayecode-connect' ),
2316
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2317
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2318
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2319
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2320
-				'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2321
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2322
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2323
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2324
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2325
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2326
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2327
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2328
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2329
-				'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2330
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2331
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2332
-				'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2333
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2334
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2335
-				'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2336
-				'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2337
-				'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2338
-				'day_s2_4' => __( 'We', 'ayecode-connect' ),
2339
-				'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2340
-				'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2341
-				'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2342
-				'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2343
-				'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2344
-				'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2345
-				'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2346
-				'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2347
-				'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2348
-				'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2349
-				'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2350
-				'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2351
-				'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2352
-				'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2353
-				'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2354
-				'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2355
-				'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2356
-				'am_lower' => __( 'am', 'ayecode-connect' ),
2357
-				'pm_lower' => __( 'pm', 'ayecode-connect' ),
2358
-				'am_upper' => __( 'AM', 'ayecode-connect' ),
2359
-				'pm_upper' => __( 'PM', 'ayecode-connect' ),
2360
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2361
-				'time_24hr' => false,
2362
-				'year' => __( 'Year', 'ayecode-connect' ),
2363
-				'hour' => __( 'Hour', 'ayecode-connect' ),
2364
-				'minute' => __( 'Minute', 'ayecode-connect' ),
2365
-				'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2366
-				'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2367
-				'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2368
-				'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2369
-			);
2370
-
2371
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
2372
-		}
2373
-
2374
-		/**
2375
-		 * Flatpickr calendar localize.
2376
-		 *
2377
-		 * @since 0.1.44
2378
-		 *
2379
-		 * @return string Calendar locale.
2380
-		 */
2381
-		public static function flatpickr_locale() {
2382
-			$params = self::calendar_params();
2383
-
2384
-			if ( is_string( $params ) ) {
2385
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2386
-			} else {
2387
-				foreach ( (array) $params as $key => $value ) {
2388
-					if ( ! is_scalar( $value ) ) {
2389
-						continue;
2390
-					}
2391
-
2392
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2393
-				}
2394
-			}
2395 2201
 
2396
-			$day_s3 = array();
2397
-			$day_s5 = array();
2202
+            // open form
2203
+            $output .= "<form class='p-5 m-5 border rounded'>";
2204
+
2205
+            // input example
2206
+            $output .= aui()->input(array(
2207
+                'type'  =>  'text',
2208
+                'id'    =>  'text-example',
2209
+                'name'    =>  'text-example',
2210
+                'placeholder'   => 'text placeholder',
2211
+                'title'   => 'Text input example',
2212
+                'value' =>  '',
2213
+                'required'  => false,
2214
+                'help_text' => 'help text',
2215
+                'label' => 'Text input example label'
2216
+            ));
2217
+
2218
+            // input example
2219
+            $output .= aui()->input(array(
2220
+                'type'  =>  'url',
2221
+                'id'    =>  'text-example2',
2222
+                'name'    =>  'text-example',
2223
+                'placeholder'   => 'url placeholder',
2224
+                'title'   => 'Text input example',
2225
+                'value' =>  '',
2226
+                'required'  => false,
2227
+                'help_text' => 'help text',
2228
+                'label' => 'Text input example label'
2229
+            ));
2230
+
2231
+            // checkbox example
2232
+            $output .= aui()->input(array(
2233
+                'type'  =>  'checkbox',
2234
+                'id'    =>  'checkbox-example',
2235
+                'name'    =>  'checkbox-example',
2236
+                'placeholder'   => 'checkbox-example',
2237
+                'title'   => 'Checkbox example',
2238
+                'value' =>  '1',
2239
+                'checked'   => true,
2240
+                'required'  => false,
2241
+                'help_text' => 'help text',
2242
+                'label' => 'Checkbox checked'
2243
+            ));
2244
+
2245
+            // checkbox example
2246
+            $output .= aui()->input(array(
2247
+                'type'  =>  'checkbox',
2248
+                'id'    =>  'checkbox-example2',
2249
+                'name'    =>  'checkbox-example2',
2250
+                'placeholder'   => 'checkbox-example',
2251
+                'title'   => 'Checkbox example',
2252
+                'value' =>  '1',
2253
+                'checked'   => false,
2254
+                'required'  => false,
2255
+                'help_text' => 'help text',
2256
+                'label' => 'Checkbox un-checked'
2257
+            ));
2258
+
2259
+            // switch example
2260
+            $output .= aui()->input(array(
2261
+                'type'  =>  'checkbox',
2262
+                'id'    =>  'switch-example',
2263
+                'name'    =>  'switch-example',
2264
+                'placeholder'   => 'checkbox-example',
2265
+                'title'   => 'Switch example',
2266
+                'value' =>  '1',
2267
+                'checked'   => true,
2268
+                'switch'    => true,
2269
+                'required'  => false,
2270
+                'help_text' => 'help text',
2271
+                'label' => 'Switch on'
2272
+            ));
2273
+
2274
+            // switch example
2275
+            $output .= aui()->input(array(
2276
+                'type'  =>  'checkbox',
2277
+                'id'    =>  'switch-example2',
2278
+                'name'    =>  'switch-example2',
2279
+                'placeholder'   => 'checkbox-example',
2280
+                'title'   => 'Switch example',
2281
+                'value' =>  '1',
2282
+                'checked'   => false,
2283
+                'switch'    => true,
2284
+                'required'  => false,
2285
+                'help_text' => 'help text',
2286
+                'label' => 'Switch off'
2287
+            ));
2288
+
2289
+            // close form
2290
+            $output .= "</form>";
2291
+
2292
+            return $output;
2293
+        }
2294
+
2295
+        /**
2296
+         * Calendar params.
2297
+         *
2298
+         * @since 0.1.44
2299
+         *
2300
+         * @return array Calendar params.
2301
+         */
2302
+        public static function calendar_params() {
2303
+            $params = array(
2304
+                'month_long_1' => __( 'January', 'ayecode-connect' ),
2305
+                'month_long_2' => __( 'February', 'ayecode-connect' ),
2306
+                'month_long_3' => __( 'March', 'ayecode-connect' ),
2307
+                'month_long_4' => __( 'April', 'ayecode-connect' ),
2308
+                'month_long_5' => __( 'May', 'ayecode-connect' ),
2309
+                'month_long_6' => __( 'June', 'ayecode-connect' ),
2310
+                'month_long_7' => __( 'July', 'ayecode-connect' ),
2311
+                'month_long_8' => __( 'August', 'ayecode-connect' ),
2312
+                'month_long_9' => __( 'September', 'ayecode-connect' ),
2313
+                'month_long_10' => __( 'October', 'ayecode-connect' ),
2314
+                'month_long_11' => __( 'November', 'ayecode-connect' ),
2315
+                'month_long_12' => __( 'December', 'ayecode-connect' ),
2316
+                'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2317
+                'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2318
+                'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2319
+                'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2320
+                'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2321
+                'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2322
+                'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2323
+                'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2324
+                'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2325
+                'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2326
+                'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2327
+                'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2328
+                'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2329
+                'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2330
+                'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2331
+                'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2332
+                'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2333
+                'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2334
+                'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2335
+                'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2336
+                'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2337
+                'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2338
+                'day_s2_4' => __( 'We', 'ayecode-connect' ),
2339
+                'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2340
+                'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2341
+                'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2342
+                'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2343
+                'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2344
+                'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2345
+                'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2346
+                'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2347
+                'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2348
+                'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2349
+                'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2350
+                'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2351
+                'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2352
+                'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2353
+                'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2354
+                'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2355
+                'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2356
+                'am_lower' => __( 'am', 'ayecode-connect' ),
2357
+                'pm_lower' => __( 'pm', 'ayecode-connect' ),
2358
+                'am_upper' => __( 'AM', 'ayecode-connect' ),
2359
+                'pm_upper' => __( 'PM', 'ayecode-connect' ),
2360
+                'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2361
+                'time_24hr' => false,
2362
+                'year' => __( 'Year', 'ayecode-connect' ),
2363
+                'hour' => __( 'Hour', 'ayecode-connect' ),
2364
+                'minute' => __( 'Minute', 'ayecode-connect' ),
2365
+                'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2366
+                'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2367
+                'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2368
+                'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2369
+            );
2370
+
2371
+            return apply_filters( 'ayecode_ui_calendar_params', $params );
2372
+        }
2373
+
2374
+        /**
2375
+         * Flatpickr calendar localize.
2376
+         *
2377
+         * @since 0.1.44
2378
+         *
2379
+         * @return string Calendar locale.
2380
+         */
2381
+        public static function flatpickr_locale() {
2382
+            $params = self::calendar_params();
2383
+
2384
+            if ( is_string( $params ) ) {
2385
+                $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2386
+            } else {
2387
+                foreach ( (array) $params as $key => $value ) {
2388
+                    if ( ! is_scalar( $value ) ) {
2389
+                        continue;
2390
+                    }
2391
+
2392
+                    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2393
+                }
2394
+            }
2398 2395
 
2399
-			for ( $i = 1; $i <= 7; $i ++ ) {
2400
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2401
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2402
-			}
2396
+            $day_s3 = array();
2397
+            $day_s5 = array();
2398
+
2399
+            for ( $i = 1; $i <= 7; $i ++ ) {
2400
+                $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2401
+                $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2402
+            }
2403 2403
 
2404
-			$month_s = array();
2405
-			$month_long = array();
2404
+            $month_s = array();
2405
+            $month_long = array();
2406 2406
 
2407
-			for ( $i = 1; $i <= 12; $i ++ ) {
2408
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2409
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2410
-			}
2407
+            for ( $i = 1; $i <= 12; $i ++ ) {
2408
+                $month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2409
+                $month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2410
+            }
2411 2411
 
2412
-			ob_start();
2413
-		if ( 0 ) { ?><script><?php } ?>
2412
+            ob_start();
2413
+        if ( 0 ) { ?><script><?php } ?>
2414 2414
                 {
2415 2415
                     weekdays: {
2416 2416
                         shorthand: ['<?php echo implode( "','", $day_s3 ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
@@ -2449,189 +2449,189 @@  discard block
 block discarded – undo
2449 2449
                 }
2450 2450
 				<?php if ( 0 ) { ?></script><?php } ?>
2451 2451
 			<?php
2452
-			$locale = ob_get_clean();
2453
-
2454
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2455
-		}
2456
-
2457
-		/**
2458
-		 * Select2 JS params.
2459
-		 *
2460
-		 * @since 0.1.44
2461
-		 *
2462
-		 * @return array Select2 JS params.
2463
-		 */
2464
-		public static function select2_params() {
2465
-			$params = array(
2466
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2467
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2468
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2469
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2470
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2471
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2472
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2473
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2474
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2475
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2476
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2477
-			);
2478
-
2479
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2480
-		}
2481
-
2482
-		/**
2483
-		 * Select2 JS localize.
2484
-		 *
2485
-		 * @since 0.1.44
2486
-		 *
2487
-		 * @return string Select2 JS locale.
2488
-		 */
2489
-		public static function select2_locale() {
2490
-			$params = self::select2_params();
2491
-
2492
-			foreach ( (array) $params as $key => $value ) {
2493
-				if ( ! is_scalar( $value ) ) {
2494
-					continue;
2495
-				}
2452
+            $locale = ob_get_clean();
2496 2453
 
2497
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2498
-			}
2499
-
2500
-			$locale = json_encode( $params );
2501
-
2502
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2503
-		}
2504
-
2505
-		/**
2506
-		 * Time ago JS localize.
2507
-		 *
2508
-		 * @since 0.1.47
2509
-		 *
2510
-		 * @return string Time ago JS locale.
2511
-		 */
2512
-		public static function timeago_locale() {
2513
-			$params = array(
2514
-				'prefix_ago' => '',
2515
-				'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2516
-				'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2517
-				'suffix_after' => '',
2518
-				'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2519
-				'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2520
-				'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2521
-				'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2522
-				'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2523
-				'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2524
-				'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2525
-				'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2526
-				'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2527
-				'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2528
-				'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2529
-			);
2530
-
2531
-			$params = apply_filters( 'ayecode_ui_timeago_params', $params );
2532
-
2533
-			foreach ( (array) $params as $key => $value ) {
2534
-				if ( ! is_scalar( $value ) ) {
2535
-					continue;
2536
-				}
2454
+            return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2455
+        }
2456
+
2457
+        /**
2458
+         * Select2 JS params.
2459
+         *
2460
+         * @since 0.1.44
2461
+         *
2462
+         * @return array Select2 JS params.
2463
+         */
2464
+        public static function select2_params() {
2465
+            $params = array(
2466
+                'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2467
+                'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2468
+                'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2469
+                'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2470
+                'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2471
+                'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2472
+                'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2473
+                'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2474
+                'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2475
+                'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2476
+                'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2477
+            );
2478
+
2479
+            return apply_filters( 'ayecode_ui_select2_params', $params );
2480
+        }
2481
+
2482
+        /**
2483
+         * Select2 JS localize.
2484
+         *
2485
+         * @since 0.1.44
2486
+         *
2487
+         * @return string Select2 JS locale.
2488
+         */
2489
+        public static function select2_locale() {
2490
+            $params = self::select2_params();
2491
+
2492
+            foreach ( (array) $params as $key => $value ) {
2493
+                if ( ! is_scalar( $value ) ) {
2494
+                    continue;
2495
+                }
2496
+
2497
+                $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2498
+            }
2499
+
2500
+            $locale = json_encode( $params );
2501
+
2502
+            return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2503
+        }
2504
+
2505
+        /**
2506
+         * Time ago JS localize.
2507
+         *
2508
+         * @since 0.1.47
2509
+         *
2510
+         * @return string Time ago JS locale.
2511
+         */
2512
+        public static function timeago_locale() {
2513
+            $params = array(
2514
+                'prefix_ago' => '',
2515
+                'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2516
+                'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2517
+                'suffix_after' => '',
2518
+                'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2519
+                'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2520
+                'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2521
+                'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2522
+                'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2523
+                'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2524
+                'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2525
+                'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2526
+                'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2527
+                'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2528
+                'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2529
+            );
2530
+
2531
+            $params = apply_filters( 'ayecode_ui_timeago_params', $params );
2532
+
2533
+            foreach ( (array) $params as $key => $value ) {
2534
+                if ( ! is_scalar( $value ) ) {
2535
+                    continue;
2536
+                }
2537 2537
 
2538
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2539
-			}
2540
-
2541
-			$locale = json_encode( $params );
2542
-
2543
-			return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2544
-		}
2545
-
2546
-		/**
2547
-		 * JavaScript Minifier
2548
-		 *
2549
-		 * @param $input
2550
-		 *
2551
-		 * @return mixed
2552
-		 */
2553
-		public static function minify_js($input) {
2554
-			if(trim($input) === "") return $input;
2555
-			return preg_replace(
2556
-				array(
2557
-					// Remove comment(s)
2558
-					'#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2559
-					// Remove white-space(s) outside the string and regex
2560
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2561
-					// Remove the last semicolon
2562
-					'#;+\}#',
2563
-					// Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2564
-					'#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2565
-					// --ibid. From `foo['bar']` to `foo.bar`
2566
-					'#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2567
-				),
2568
-				array(
2569
-					'$1',
2570
-					'$1$2',
2571
-					'}',
2572
-					'$1$3',
2573
-					'$1.$3'
2574
-				),
2575
-				$input);
2576
-		}
2577
-
2578
-		/**
2579
-		 * Minify CSS
2580
-		 *
2581
-		 * @param $input
2582
-		 *
2583
-		 * @return mixed
2584
-		 */
2585
-		public static function minify_css($input) {
2586
-			if(trim($input) === "") return $input;
2587
-			return preg_replace(
2588
-				array(
2589
-					// Remove comment(s)
2590
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2591
-					// Remove unused white-space(s)
2592
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2593
-					// Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2594
-					'#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2595
-					// Replace `:0 0 0 0` with `:0`
2596
-					'#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2597
-					// Replace `background-position:0` with `background-position:0 0`
2598
-					'#(background-position):0(?=[;\}])#si',
2599
-					// Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2600
-					'#(?<=[\s:,\-])0+\.(\d+)#s',
2601
-					// Minify string value
2602
-					'#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2603
-					'#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2604
-					// Minify HEX color code
2605
-					'#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2606
-					// Replace `(border|outline):none` with `(border|outline):0`
2607
-					'#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2608
-					// Remove empty selector(s)
2609
-					'#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2610
-				),
2611
-				array(
2612
-					'$1',
2613
-					'$1$2$3$4$5$6$7',
2614
-					'$1',
2615
-					':0',
2616
-					'$1:0 0',
2617
-					'.$1',
2618
-					'$1$3',
2619
-					'$1$2$4$5',
2620
-					'$1$2$3',
2621
-					'$1:0',
2622
-					'$1$2'
2623
-				),
2624
-				$input);
2625
-		}
2626
-
2627
-		/**
2628
-		 * Get the conditional fields JavaScript.
2629
-		 *
2630
-		 * @return mixed
2631
-		 */
2632
-		public function conditional_fields_js() {
2633
-			ob_start();
2634
-			?>
2538
+                $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2539
+            }
2540
+
2541
+            $locale = json_encode( $params );
2542
+
2543
+            return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2544
+        }
2545
+
2546
+        /**
2547
+         * JavaScript Minifier
2548
+         *
2549
+         * @param $input
2550
+         *
2551
+         * @return mixed
2552
+         */
2553
+        public static function minify_js($input) {
2554
+            if(trim($input) === "") return $input;
2555
+            return preg_replace(
2556
+                array(
2557
+                    // Remove comment(s)
2558
+                    '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2559
+                    // Remove white-space(s) outside the string and regex
2560
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2561
+                    // Remove the last semicolon
2562
+                    '#;+\}#',
2563
+                    // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2564
+                    '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2565
+                    // --ibid. From `foo['bar']` to `foo.bar`
2566
+                    '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2567
+                ),
2568
+                array(
2569
+                    '$1',
2570
+                    '$1$2',
2571
+                    '}',
2572
+                    '$1$3',
2573
+                    '$1.$3'
2574
+                ),
2575
+                $input);
2576
+        }
2577
+
2578
+        /**
2579
+         * Minify CSS
2580
+         *
2581
+         * @param $input
2582
+         *
2583
+         * @return mixed
2584
+         */
2585
+        public static function minify_css($input) {
2586
+            if(trim($input) === "") return $input;
2587
+            return preg_replace(
2588
+                array(
2589
+                    // Remove comment(s)
2590
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2591
+                    // Remove unused white-space(s)
2592
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2593
+                    // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2594
+                    '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2595
+                    // Replace `:0 0 0 0` with `:0`
2596
+                    '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2597
+                    // Replace `background-position:0` with `background-position:0 0`
2598
+                    '#(background-position):0(?=[;\}])#si',
2599
+                    // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2600
+                    '#(?<=[\s:,\-])0+\.(\d+)#s',
2601
+                    // Minify string value
2602
+                    '#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2603
+                    '#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2604
+                    // Minify HEX color code
2605
+                    '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2606
+                    // Replace `(border|outline):none` with `(border|outline):0`
2607
+                    '#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2608
+                    // Remove empty selector(s)
2609
+                    '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2610
+                ),
2611
+                array(
2612
+                    '$1',
2613
+                    '$1$2$3$4$5$6$7',
2614
+                    '$1',
2615
+                    ':0',
2616
+                    '$1:0 0',
2617
+                    '.$1',
2618
+                    '$1$3',
2619
+                    '$1$2$4$5',
2620
+                    '$1$2$3',
2621
+                    '$1:0',
2622
+                    '$1$2'
2623
+                ),
2624
+                $input);
2625
+        }
2626
+
2627
+        /**
2628
+         * Get the conditional fields JavaScript.
2629
+         *
2630
+         * @return mixed
2631
+         */
2632
+        public function conditional_fields_js() {
2633
+            ob_start();
2634
+            ?>
2635 2635
             <script>
2636 2636
                 /**
2637 2637
                  * Conditional Fields
@@ -3166,237 +3166,237 @@  discard block
 block discarded – undo
3166 3166
 				<?php do_action( 'aui_conditional_fields_js', $this ); ?>
3167 3167
             </script>
3168 3168
 			<?php
3169
-			$output = ob_get_clean();
3170
-
3171
-			return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3172
-		}
3173
-
3174
-		/**
3175
-		 * Check if block editor page.
3176
-		 *
3177
-		 * @since 0.2.27
3178
-		 *
3179
-		 * @return bool
3180
-		 */
3181
-		public static function is_block_editor() {
3182
-			if ( is_admin() ) {
3183
-				$current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array();
3184
-
3185
-				if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) {
3186
-					return true;
3187
-				}
3188
-			}
3189
-
3190
-			return false;
3191
-		}
3192
-
3193
-		/**
3194
-		 * Checks if the current call is a ajax call to get the block content.
3195
-		 *
3196
-		 * This can be used in your widget to return different content as the block content.
3197
-		 *
3198
-		 * @since 0.2.27
3199
-		 *
3200
-		 * @return bool
3201
-		 */
3202
-		public static function is_block_content_call() {
3203
-			$result = false;
3204
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3205
-				$result = true;
3206
-			}
3207
-
3208
-			return $result;
3209
-		}
3210
-
3211
-		/**
3212
-		 * Tests if the current output is inside a Divi preview.
3213
-		 *
3214
-		 * @since 0.2.27
3215
-		 *
3216
-		 * @return bool
3217
-		 */
3218
-		public static function is_divi_preview() {
3219
-			$result = false;
3220
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
3221
-				$result = true;
3222
-			}
3223
-
3224
-			return $result;
3225
-		}
3226
-
3227
-		/**
3228
-		 * Tests if the current output is inside a elementor preview.
3229
-		 *
3230
-		 *
3231
-		 * @since 0.2.27
3232
-		 *
3233
-		 * @return bool
3234
-		 */
3235
-		public static function is_elementor_preview() {
3236
-			$result = false;
3237
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
3238
-				$result = true;
3239
-			}
3240
-
3241
-			return $result;
3242
-		}
3243
-
3244
-		/**
3245
-		 * Tests if the current output is inside a Beaver builder preview.
3246
-		 *
3247
-		 * @since 0.2.27
3248
-		 *
3249
-		 * @return bool
3250
-		 */
3251
-		public static function is_beaver_preview() {
3252
-			$result = false;
3253
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
3254
-				$result = true;
3255
-			}
3256
-
3257
-			return $result;
3258
-		}
3259
-
3260
-		/**
3261
-		 * Tests if the current output is inside a siteorigin builder preview.
3262
-		 *
3263
-		 * @since 0.2.27
3264
-		 *
3265
-		 * @return bool
3266
-		 */
3267
-		public static function is_siteorigin_preview() {
3268
-			$result = false;
3269
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
3270
-				$result = true;
3271
-			}
3272
-
3273
-			return $result;
3274
-		}
3275
-
3276
-		/**
3277
-		 * Tests if the current output is inside a cornerstone builder preview.
3278
-		 *
3279
-		 * @since 0.2.27
3280
-		 *
3281
-		 * @return bool
3282
-		 */
3283
-		public static function is_cornerstone_preview() {
3284
-			$result = false;
3285
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
3286
-				$result = true;
3287
-			}
3288
-
3289
-			return $result;
3290
-		}
3291
-
3292
-		/**
3293
-		 * Tests if the current output is inside a fusion builder preview.
3294
-		 *
3295
-		 * @return bool
3296
-		 *@since 1.1.0
3297
-		 */
3298
-		public static function is_fusion_preview() {
3299
-			$result = false;
3300
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
3301
-				$result = true;
3302
-			}
3303
-
3304
-			return $result;
3305
-		}
3306
-
3307
-		/**
3308
-		 * Tests if the current output is inside a Oxygen builder preview.
3309
-		 *
3310
-		 * @return bool
3311
-		 *@since 1.0.18
3312
-		 */
3313
-		public static function is_oxygen_preview() {
3314
-			$result = false;
3315
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
3316
-				$result = true;
3317
-			}
3318
-
3319
-			return $result;
3320
-		}
3321
-
3322
-		/**
3323
-		 * Check for Kallyas theme Zion builder preview.
3324
-		 *
3325
-		 * @since 0.2.27
3326
-		 *
3327
-		 * @return bool
3328
-		 */
3329
-		public static function is_kallyas_zion_preview() {
3330
-			$result = false;
3331
-
3332
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
3333
-				$result = true;
3334
-			}
3335
-
3336
-			return $result;
3337
-		}
3338
-
3339
-		/**
3340
-		 * Check for Bricks theme builder preview.
3341
-		 *
3342
-		 * @since 0.2.27
3343
-		 *
3344
-		 * @return bool
3345
-		 */
3346
-		public static function is_bricks_preview() {
3347
-			$result = false;
3348
-
3349
-			if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
3350
-				$result = true;
3351
-			}
3352
-
3353
-			return $result;
3354
-		}
3355
-
3356
-		/**
3357
-		 * General function to check if we are in a preview situation.
3358
-		 *
3359
-		 * @since 0.2.27
3360
-		 *
3361
-		 * @return bool
3362
-		 */
3363
-		public static function is_preview() {
3364
-			$preview = false;
3365
-
3366
-			if ( self::is_block_editor() ) {
3367
-				return true;
3368
-			}
3369
-
3370
-			if( self::is_block_content_call() ) {
3371
-				$preview = true;
3372
-			} elseif ( self::is_divi_preview() ) {
3373
-				$preview = true;
3374
-			} elseif ( self::is_elementor_preview() ) {
3375
-				$preview = true;
3376
-			} elseif ( self::is_beaver_preview() ) {
3377
-				$preview = true;
3378
-			} elseif ( self::is_siteorigin_preview() ) {
3379
-				$preview = true;
3380
-			} elseif ( self::is_cornerstone_preview() ) {
3381
-				$preview = true;
3382
-			} elseif ( self::is_fusion_preview() ) {
3383
-				$preview = true;
3384
-			} elseif ( self::is_oxygen_preview() ) {
3385
-				$preview = true;
3386
-			} elseif( self::is_kallyas_zion_preview() ) {
3387
-				$preview = true;
3388
-			} elseif( self::is_bricks_preview() ) {
3389
-				$preview = true;
3390
-			}
3391
-
3392
-			return $preview;
3393
-		}
3394
-	}
3395
-
3396
-	global $ayecode_ui_settings;
3397
-
3398
-	/**
3399
-	 * Run the class if found.
3400
-	 */
3401
-	$ayecode_ui_settings = AyeCode_UI_Settings::instance();
3169
+            $output = ob_get_clean();
3170
+
3171
+            return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3172
+        }
3173
+
3174
+        /**
3175
+         * Check if block editor page.
3176
+         *
3177
+         * @since 0.2.27
3178
+         *
3179
+         * @return bool
3180
+         */
3181
+        public static function is_block_editor() {
3182
+            if ( is_admin() ) {
3183
+                $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array();
3184
+
3185
+                if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) {
3186
+                    return true;
3187
+                }
3188
+            }
3189
+
3190
+            return false;
3191
+        }
3192
+
3193
+        /**
3194
+         * Checks if the current call is a ajax call to get the block content.
3195
+         *
3196
+         * This can be used in your widget to return different content as the block content.
3197
+         *
3198
+         * @since 0.2.27
3199
+         *
3200
+         * @return bool
3201
+         */
3202
+        public static function is_block_content_call() {
3203
+            $result = false;
3204
+            if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3205
+                $result = true;
3206
+            }
3207
+
3208
+            return $result;
3209
+        }
3210
+
3211
+        /**
3212
+         * Tests if the current output is inside a Divi preview.
3213
+         *
3214
+         * @since 0.2.27
3215
+         *
3216
+         * @return bool
3217
+         */
3218
+        public static function is_divi_preview() {
3219
+            $result = false;
3220
+            if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
3221
+                $result = true;
3222
+            }
3223
+
3224
+            return $result;
3225
+        }
3226
+
3227
+        /**
3228
+         * Tests if the current output is inside a elementor preview.
3229
+         *
3230
+         *
3231
+         * @since 0.2.27
3232
+         *
3233
+         * @return bool
3234
+         */
3235
+        public static function is_elementor_preview() {
3236
+            $result = false;
3237
+            if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
3238
+                $result = true;
3239
+            }
3240
+
3241
+            return $result;
3242
+        }
3243
+
3244
+        /**
3245
+         * Tests if the current output is inside a Beaver builder preview.
3246
+         *
3247
+         * @since 0.2.27
3248
+         *
3249
+         * @return bool
3250
+         */
3251
+        public static function is_beaver_preview() {
3252
+            $result = false;
3253
+            if ( isset( $_REQUEST['fl_builder'] ) ) {
3254
+                $result = true;
3255
+            }
3256
+
3257
+            return $result;
3258
+        }
3259
+
3260
+        /**
3261
+         * Tests if the current output is inside a siteorigin builder preview.
3262
+         *
3263
+         * @since 0.2.27
3264
+         *
3265
+         * @return bool
3266
+         */
3267
+        public static function is_siteorigin_preview() {
3268
+            $result = false;
3269
+            if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
3270
+                $result = true;
3271
+            }
3272
+
3273
+            return $result;
3274
+        }
3275
+
3276
+        /**
3277
+         * Tests if the current output is inside a cornerstone builder preview.
3278
+         *
3279
+         * @since 0.2.27
3280
+         *
3281
+         * @return bool
3282
+         */
3283
+        public static function is_cornerstone_preview() {
3284
+            $result = false;
3285
+            if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
3286
+                $result = true;
3287
+            }
3288
+
3289
+            return $result;
3290
+        }
3291
+
3292
+        /**
3293
+         * Tests if the current output is inside a fusion builder preview.
3294
+         *
3295
+         * @return bool
3296
+         *@since 1.1.0
3297
+         */
3298
+        public static function is_fusion_preview() {
3299
+            $result = false;
3300
+            if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
3301
+                $result = true;
3302
+            }
3303
+
3304
+            return $result;
3305
+        }
3306
+
3307
+        /**
3308
+         * Tests if the current output is inside a Oxygen builder preview.
3309
+         *
3310
+         * @return bool
3311
+         *@since 1.0.18
3312
+         */
3313
+        public static function is_oxygen_preview() {
3314
+            $result = false;
3315
+            if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
3316
+                $result = true;
3317
+            }
3318
+
3319
+            return $result;
3320
+        }
3321
+
3322
+        /**
3323
+         * Check for Kallyas theme Zion builder preview.
3324
+         *
3325
+         * @since 0.2.27
3326
+         *
3327
+         * @return bool
3328
+         */
3329
+        public static function is_kallyas_zion_preview() {
3330
+            $result = false;
3331
+
3332
+            if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
3333
+                $result = true;
3334
+            }
3335
+
3336
+            return $result;
3337
+        }
3338
+
3339
+        /**
3340
+         * Check for Bricks theme builder preview.
3341
+         *
3342
+         * @since 0.2.27
3343
+         *
3344
+         * @return bool
3345
+         */
3346
+        public static function is_bricks_preview() {
3347
+            $result = false;
3348
+
3349
+            if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
3350
+                $result = true;
3351
+            }
3352
+
3353
+            return $result;
3354
+        }
3355
+
3356
+        /**
3357
+         * General function to check if we are in a preview situation.
3358
+         *
3359
+         * @since 0.2.27
3360
+         *
3361
+         * @return bool
3362
+         */
3363
+        public static function is_preview() {
3364
+            $preview = false;
3365
+
3366
+            if ( self::is_block_editor() ) {
3367
+                return true;
3368
+            }
3369
+
3370
+            if( self::is_block_content_call() ) {
3371
+                $preview = true;
3372
+            } elseif ( self::is_divi_preview() ) {
3373
+                $preview = true;
3374
+            } elseif ( self::is_elementor_preview() ) {
3375
+                $preview = true;
3376
+            } elseif ( self::is_beaver_preview() ) {
3377
+                $preview = true;
3378
+            } elseif ( self::is_siteorigin_preview() ) {
3379
+                $preview = true;
3380
+            } elseif ( self::is_cornerstone_preview() ) {
3381
+                $preview = true;
3382
+            } elseif ( self::is_fusion_preview() ) {
3383
+                $preview = true;
3384
+            } elseif ( self::is_oxygen_preview() ) {
3385
+                $preview = true;
3386
+            } elseif( self::is_kallyas_zion_preview() ) {
3387
+                $preview = true;
3388
+            } elseif( self::is_bricks_preview() ) {
3389
+                $preview = true;
3390
+            }
3391
+
3392
+            return $preview;
3393
+        }
3394
+    }
3395
+
3396
+    global $ayecode_ui_settings;
3397
+
3398
+    /**
3399
+     * Run the class if found.
3400
+     */
3401
+    $ayecode_ui_settings = AyeCode_UI_Settings::instance();
3402 3402
 }
3403 3403
\ No newline at end of file
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.