Passed
Push — master ( ae5aa5...55fff1 )
by Brian
05:20
created
templates/subscriptions/subscription-details.php 3 patches
Indentation   +46 added lines, -46 removed lines patch added patch discarded remove patch
@@ -39,62 +39,62 @@  discard block
 block discarded – undo
39 39
 				<td style="width: 65%">
40 40
 					<?php
41 41
 
42
-						switch ( $key ) {
42
+                        switch ( $key ) {
43 43
 
44
-						case 'status':
45
-							echo esc_html( $subscription->get_status_label() );
46
-							break;
44
+                        case 'status':
45
+                            echo esc_html( $subscription->get_status_label() );
46
+                            break;
47 47
 
48
-						case 'start_date':
49
-							echo esc_html( getpaid_format_date_value( $subscription->get_date_created() ) );
50
-							break;
48
+                        case 'start_date':
49
+                            echo esc_html( getpaid_format_date_value( $subscription->get_date_created() ) );
50
+                            break;
51 51
 
52
-						case 'expiry_date':
53
-							echo esc_html( getpaid_format_date_value( $subscription->get_next_renewal_date() ) );
54
-							break;
52
+                        case 'expiry_date':
53
+                            echo esc_html( getpaid_format_date_value( $subscription->get_next_renewal_date() ) );
54
+                            break;
55 55
 
56
-						case 'initial_amount':
57
-							echo wp_kses_post( wpinv_price( $subscription->get_initial_amount(), $subscription->get_parent_payment()->get_currency() ) );
56
+                        case 'initial_amount':
57
+                            echo wp_kses_post( wpinv_price( $subscription->get_initial_amount(), $subscription->get_parent_payment()->get_currency() ) );
58 58
 
59
-							if ( $subscription->has_trial_period() ) {
59
+                            if ( $subscription->has_trial_period() ) {
60 60
 
61
-								echo "<small class='text-muted'>&nbsp;";
62
-								printf(
63
-									esc_html_x( '( %1$s trial )', 'Subscription trial period. (e.g.: 1 month trial)', 'invoicing' ),
64
-									esc_html( $subscription->get_trial_period() )
65
-								);
66
-								echo '</small>';
61
+                                echo "<small class='text-muted'>&nbsp;";
62
+                                printf(
63
+                                    esc_html_x( '( %1$s trial )', 'Subscription trial period. (e.g.: 1 month trial)', 'invoicing' ),
64
+                                    esc_html( $subscription->get_trial_period() )
65
+                                );
66
+                                echo '</small>';
67 67
 
68
-							}
68
+                            }
69 69
 
70
-							break;
70
+                            break;
71 71
 
72
-						case 'recurring_amount':
73
-							$frequency = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' );
74
-							$amount    = wpinv_price( $subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency() );
75
-							echo wp_kses_post( strtolower( "<strong style='font-weight: 500;'>$amount</strong> / <span class='getpaid-item-recurring-period'>$frequency</span>" ) );
76
-							break;
72
+                        case 'recurring_amount':
73
+                            $frequency = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' );
74
+                            $amount    = wpinv_price( $subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency() );
75
+                            echo wp_kses_post( strtolower( "<strong style='font-weight: 500;'>$amount</strong> / <span class='getpaid-item-recurring-period'>$frequency</span>" ) );
76
+                            break;
77 77
 
78
-						case 'item':
79
-							if ( empty( $subscription_group ) ) {
80
-								echo wp_kses_post( WPInv_Subscriptions_List_Table::generate_item_markup( $subscription->get_product_id() ) );
81
-							} else {
82
-								$markup = array_map( array( 'WPInv_Subscriptions_List_Table', 'generate_item_markup' ), array_keys( $subscription_group['items'] ) );
83
-								echo wp_kses_post( implode( ' | ', $markup ) );
84
-							}
78
+                        case 'item':
79
+                            if ( empty( $subscription_group ) ) {
80
+                                echo wp_kses_post( WPInv_Subscriptions_List_Table::generate_item_markup( $subscription->get_product_id() ) );
81
+                            } else {
82
+                                $markup = array_map( array( 'WPInv_Subscriptions_List_Table', 'generate_item_markup' ), array_keys( $subscription_group['items'] ) );
83
+                                echo wp_kses_post( implode( ' | ', $markup ) );
84
+                            }
85 85
 
86
-							break;
86
+                            break;
87 87
 
88
-						case 'payments':
89
-							$max_activations = (int) $subscription->get_bill_times();
90
-							echo ( (int) $subscription->get_times_billed() ) . ' / ' . ( empty( $max_activations ) ? '&infin;' : (int) $max_activations );
88
+                        case 'payments':
89
+                            $max_activations = (int) $subscription->get_bill_times();
90
+                            echo ( (int) $subscription->get_times_billed() ) . ' / ' . ( empty( $max_activations ) ? '&infin;' : (int) $max_activations );
91 91
 
92
-							break;
92
+                            break;
93 93
 
94
-						}
95
-						do_action( "getpaid_render_single_subscription_column_$key", $subscription );
94
+                        }
95
+                        do_action( "getpaid_render_single_subscription_column_$key", $subscription );
96 96
 
97
-					?>
97
+                    ?>
98 98
 				</td>
99 99
 
100 100
 			</tr>
@@ -121,17 +121,17 @@  discard block
 block discarded – undo
121 121
 <span class="form-text">
122 122
 
123 123
 	<?php
124
-		if ( $subscription->can_cancel() ) {
125
-		printf(
124
+        if ( $subscription->can_cancel() ) {
125
+        printf(
126 126
             '<a href="%s" class="btn btn-danger btn-sm" onclick="return confirm(\'%s\')">%s</a>&nbsp;&nbsp;',
127 127
             esc_url( $subscription->get_cancel_url() ),
128 128
             esc_attr__( 'Are you sure you want to cancel this subscription?', 'invoicing' ),
129 129
             esc_html__( 'Cancel Subscription', 'invoicing' )
130 130
         );
131
-		}
131
+        }
132 132
 
133
-		do_action( 'getpaid-single-subscription-page-actions', $subscription );
134
-	?>
133
+        do_action( 'getpaid-single-subscription-page-actions', $subscription );
134
+    ?>
135 135
 
136 136
 	<a href="<?php echo esc_url( getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) ) ); ?>" class="btn btn-secondary btn-sm"><?php esc_html_e( 'Go Back', 'invoicing' ); ?></a>
137 137
 </span>
Please login to merge, or discard this patch.
Switch Indentation   +48 added lines, -48 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@  discard block
 block discarded – undo
1
-<?php
1
+    <?php
2 2
 
3 3
 /**
4 4
  * Template that prints a single subscription's details
@@ -10,19 +10,19 @@  discard block
 block discarded – undo
10 10
  * @var WPInv_Subscriptions_Widget $widget
11 11
  */
12 12
 
13
-defined( 'ABSPATH' ) || exit;
13
+    defined( 'ABSPATH' ) || exit;
14 14
 
15
-do_action( 'getpaid_single_subscription_before_notices', $subscription );
15
+    do_action( 'getpaid_single_subscription_before_notices', $subscription );
16 16
 
17
-// Display errors and notices.
18
-wpinv_print_errors();
17
+    // Display errors and notices.
18
+    wpinv_print_errors();
19 19
 
20
-$subscription_groups = getpaid_get_invoice_subscription_groups( $subscription->get_parent_invoice_id() );
21
-$subscription_group  = getpaid_get_invoice_subscription_group( $subscription->get_parent_invoice_id(), $subscription->get_id() );
20
+    $subscription_groups = getpaid_get_invoice_subscription_groups( $subscription->get_parent_invoice_id() );
21
+    $subscription_group  = getpaid_get_invoice_subscription_group( $subscription->get_parent_invoice_id(), $subscription->get_id() );
22 22
 
23
-do_action( 'getpaid_before_single_subscription', $subscription, $subscription_groups );
23
+    do_action( 'getpaid_before_single_subscription', $subscription, $subscription_groups );
24 24
 
25
-?>
25
+    ?>
26 26
 
27 27
 <h2 class="mb-1 h4"><?php esc_html_e( 'Subscription Details', 'invoicing' ); ?></h2>
28 28
 <table class="table table-bordered">
@@ -39,59 +39,59 @@  discard block
 block discarded – undo
39 39
 				<td style="width: 65%">
40 40
 					<?php
41 41
 
42
-						switch ( $key ) {
42
+						    switch ( $key ) {
43 43
 
44
-						case 'status':
45
-							echo esc_html( $subscription->get_status_label() );
46
-							break;
44
+						        case 'status':
45
+							        echo esc_html( $subscription->get_status_label() );
46
+							        break;
47 47
 
48
-						case 'start_date':
49
-							echo esc_html( getpaid_format_date_value( $subscription->get_date_created() ) );
50
-							break;
48
+						        case 'start_date':
49
+							        echo esc_html( getpaid_format_date_value( $subscription->get_date_created() ) );
50
+							        break;
51 51
 
52
-						case 'expiry_date':
53
-							echo esc_html( getpaid_format_date_value( $subscription->get_next_renewal_date() ) );
54
-							break;
52
+						        case 'expiry_date':
53
+							        echo esc_html( getpaid_format_date_value( $subscription->get_next_renewal_date() ) );
54
+							        break;
55 55
 
56
-						case 'initial_amount':
57
-							echo wp_kses_post( wpinv_price( $subscription->get_initial_amount(), $subscription->get_parent_payment()->get_currency() ) );
56
+						        case 'initial_amount':
57
+							        echo wp_kses_post( wpinv_price( $subscription->get_initial_amount(), $subscription->get_parent_payment()->get_currency() ) );
58 58
 
59
-							if ( $subscription->has_trial_period() ) {
59
+							        if ( $subscription->has_trial_period() ) {
60 60
 
61
-								echo "<small class='text-muted'>&nbsp;";
62
-								printf(
63
-									esc_html_x( '( %1$s trial )', 'Subscription trial period. (e.g.: 1 month trial)', 'invoicing' ),
64
-									esc_html( $subscription->get_trial_period() )
65
-								);
66
-								echo '</small>';
61
+								        echo "<small class='text-muted'>&nbsp;";
62
+								        printf(
63
+									        esc_html_x( '( %1$s trial )', 'Subscription trial period. (e.g.: 1 month trial)', 'invoicing' ),
64
+									        esc_html( $subscription->get_trial_period() )
65
+								        );
66
+								        echo '</small>';
67 67
 
68
-							}
68
+							        }
69 69
 
70
-							break;
70
+							        break;
71 71
 
72
-						case 'recurring_amount':
73
-							$frequency = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' );
74
-							$amount    = wpinv_price( $subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency() );
75
-							echo wp_kses_post( strtolower( "<strong style='font-weight: 500;'>$amount</strong> / <span class='getpaid-item-recurring-period'>$frequency</span>" ) );
76
-							break;
72
+						        case 'recurring_amount':
73
+							        $frequency = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' );
74
+							        $amount    = wpinv_price( $subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency() );
75
+							        echo wp_kses_post( strtolower( "<strong style='font-weight: 500;'>$amount</strong> / <span class='getpaid-item-recurring-period'>$frequency</span>" ) );
76
+							        break;
77 77
 
78
-						case 'item':
79
-							if ( empty( $subscription_group ) ) {
80
-								echo wp_kses_post( WPInv_Subscriptions_List_Table::generate_item_markup( $subscription->get_product_id() ) );
81
-							} else {
82
-								$markup = array_map( array( 'WPInv_Subscriptions_List_Table', 'generate_item_markup' ), array_keys( $subscription_group['items'] ) );
83
-								echo wp_kses_post( implode( ' | ', $markup ) );
84
-							}
78
+						        case 'item':
79
+							        if ( empty( $subscription_group ) ) {
80
+								        echo wp_kses_post( WPInv_Subscriptions_List_Table::generate_item_markup( $subscription->get_product_id() ) );
81
+							        } else {
82
+								        $markup = array_map( array( 'WPInv_Subscriptions_List_Table', 'generate_item_markup' ), array_keys( $subscription_group['items'] ) );
83
+								        echo wp_kses_post( implode( ' | ', $markup ) );
84
+							        }
85 85
 
86
-							break;
86
+							        break;
87 87
 
88
-						case 'payments':
89
-							$max_activations = (int) $subscription->get_bill_times();
90
-							echo ( (int) $subscription->get_times_billed() ) . ' / ' . ( empty( $max_activations ) ? '&infin;' : (int) $max_activations );
88
+						        case 'payments':
89
+							        $max_activations = (int) $subscription->get_bill_times();
90
+							        echo ( (int) $subscription->get_times_billed() ) . ' / ' . ( empty( $max_activations ) ? '&infin;' : (int) $max_activations );
91 91
 
92
-							break;
92
+							        break;
93 93
 
94
-						}
94
+						    }
95 95
 						do_action( "getpaid_render_single_subscription_column_$key", $subscription );
96 96
 
97 97
 					?>
Please login to merge, or discard this patch.
Spacing   +40 added lines, -40 removed lines patch added patch discarded remove patch
@@ -10,58 +10,58 @@  discard block
 block discarded – undo
10 10
  * @var WPInv_Subscriptions_Widget $widget
11 11
  */
12 12
 
13
-defined( 'ABSPATH' ) || exit;
13
+defined('ABSPATH') || exit;
14 14
 
15
-do_action( 'getpaid_single_subscription_before_notices', $subscription );
15
+do_action('getpaid_single_subscription_before_notices', $subscription);
16 16
 
17 17
 // Display errors and notices.
18 18
 wpinv_print_errors();
19 19
 
20
-$subscription_groups = getpaid_get_invoice_subscription_groups( $subscription->get_parent_invoice_id() );
21
-$subscription_group  = getpaid_get_invoice_subscription_group( $subscription->get_parent_invoice_id(), $subscription->get_id() );
20
+$subscription_groups = getpaid_get_invoice_subscription_groups($subscription->get_parent_invoice_id());
21
+$subscription_group  = getpaid_get_invoice_subscription_group($subscription->get_parent_invoice_id(), $subscription->get_id());
22 22
 
23
-do_action( 'getpaid_before_single_subscription', $subscription, $subscription_groups );
23
+do_action('getpaid_before_single_subscription', $subscription, $subscription_groups);
24 24
 
25 25
 ?>
26 26
 
27
-<h2 class="mb-1 h4"><?php esc_html_e( 'Subscription Details', 'invoicing' ); ?></h2>
27
+<h2 class="mb-1 h4"><?php esc_html_e('Subscription Details', 'invoicing'); ?></h2>
28 28
 <table class="table table-bordered">
29 29
 	<tbody>
30 30
 
31
-		<?php foreach ( $widget->get_single_subscription_columns( $subscription ) as $key => $label ) : ?>
31
+		<?php foreach ($widget->get_single_subscription_columns($subscription) as $key => $label) : ?>
32 32
 
33
-			<tr class="getpaid-subscription-meta-<?php echo esc_attr( $key ); ?>">
33
+			<tr class="getpaid-subscription-meta-<?php echo esc_attr($key); ?>">
34 34
 
35 35
 				<th class="font-weight-bold" style="width: 35%">
36
-					<?php echo esc_html( $label ); ?>
36
+					<?php echo esc_html($label); ?>
37 37
 				</th>
38 38
 
39 39
 				<td style="width: 65%">
40 40
 					<?php
41 41
 
42
-						switch ( $key ) {
42
+						switch ($key) {
43 43
 
44 44
 						case 'status':
45
-							echo esc_html( $subscription->get_status_label() );
45
+							echo esc_html($subscription->get_status_label());
46 46
 							break;
47 47
 
48 48
 						case 'start_date':
49
-							echo esc_html( getpaid_format_date_value( $subscription->get_date_created() ) );
49
+							echo esc_html(getpaid_format_date_value($subscription->get_date_created()));
50 50
 							break;
51 51
 
52 52
 						case 'expiry_date':
53
-							echo esc_html( getpaid_format_date_value( $subscription->get_next_renewal_date() ) );
53
+							echo esc_html(getpaid_format_date_value($subscription->get_next_renewal_date()));
54 54
 							break;
55 55
 
56 56
 						case 'initial_amount':
57
-							echo wp_kses_post( wpinv_price( $subscription->get_initial_amount(), $subscription->get_parent_payment()->get_currency() ) );
57
+							echo wp_kses_post(wpinv_price($subscription->get_initial_amount(), $subscription->get_parent_payment()->get_currency()));
58 58
 
59
-							if ( $subscription->has_trial_period() ) {
59
+							if ($subscription->has_trial_period()) {
60 60
 
61 61
 								echo "<small class='text-muted'>&nbsp;";
62 62
 								printf(
63
-									esc_html_x( '( %1$s trial )', 'Subscription trial period. (e.g.: 1 month trial)', 'invoicing' ),
64
-									esc_html( $subscription->get_trial_period() )
63
+									esc_html_x('( %1$s trial )', 'Subscription trial period. (e.g.: 1 month trial)', 'invoicing'),
64
+									esc_html($subscription->get_trial_period())
65 65
 								);
66 66
 								echo '</small>';
67 67
 
@@ -70,29 +70,29 @@  discard block
 block discarded – undo
70 70
 							break;
71 71
 
72 72
 						case 'recurring_amount':
73
-							$frequency = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' );
74
-							$amount    = wpinv_price( $subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency() );
75
-							echo wp_kses_post( strtolower( "<strong style='font-weight: 500;'>$amount</strong> / <span class='getpaid-item-recurring-period'>$frequency</span>" ) );
73
+							$frequency = getpaid_get_subscription_period_label($subscription->get_period(), $subscription->get_frequency(), '');
74
+							$amount    = wpinv_price($subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency());
75
+							echo wp_kses_post(strtolower("<strong style='font-weight: 500;'>$amount</strong> / <span class='getpaid-item-recurring-period'>$frequency</span>"));
76 76
 							break;
77 77
 
78 78
 						case 'item':
79
-							if ( empty( $subscription_group ) ) {
80
-								echo wp_kses_post( WPInv_Subscriptions_List_Table::generate_item_markup( $subscription->get_product_id() ) );
79
+							if (empty($subscription_group)) {
80
+								echo wp_kses_post(WPInv_Subscriptions_List_Table::generate_item_markup($subscription->get_product_id()));
81 81
 							} else {
82
-								$markup = array_map( array( 'WPInv_Subscriptions_List_Table', 'generate_item_markup' ), array_keys( $subscription_group['items'] ) );
83
-								echo wp_kses_post( implode( ' | ', $markup ) );
82
+								$markup = array_map(array('WPInv_Subscriptions_List_Table', 'generate_item_markup'), array_keys($subscription_group['items']));
83
+								echo wp_kses_post(implode(' | ', $markup));
84 84
 							}
85 85
 
86 86
 							break;
87 87
 
88 88
 						case 'payments':
89 89
 							$max_activations = (int) $subscription->get_bill_times();
90
-							echo ( (int) $subscription->get_times_billed() ) . ' / ' . ( empty( $max_activations ) ? '&infin;' : (int) $max_activations );
90
+							echo ((int) $subscription->get_times_billed()) . ' / ' . (empty($max_activations) ? '&infin;' : (int) $max_activations);
91 91
 
92 92
 							break;
93 93
 
94 94
 						}
95
-						do_action( "getpaid_render_single_subscription_column_$key", $subscription );
95
+						do_action("getpaid_render_single_subscription_column_$key", $subscription);
96 96
 
97 97
 					?>
98 98
 				</td>
@@ -104,34 +104,34 @@  discard block
 block discarded – undo
104 104
 	</tbody>
105 105
 </table>
106 106
 
107
-<?php if ( ! empty( $subscription_group ) ) : ?>
108
-	<h2 class='mt-5 mb-1 h4'><?php esc_html_e( 'Subscription Items', 'invoicing' ); ?></h2>
109
-	<?php getpaid_admin_subscription_item_details_metabox( $subscription ); ?>
107
+<?php if (!empty($subscription_group)) : ?>
108
+	<h2 class='mt-5 mb-1 h4'><?php esc_html_e('Subscription Items', 'invoicing'); ?></h2>
109
+	<?php getpaid_admin_subscription_item_details_metabox($subscription); ?>
110 110
 <?php endif; ?>
111 111
 
112
-<h2 class='mt-5 mb-1 h4'><?php esc_html_e( 'Related Invoices', 'invoicing' ); ?></h2>
112
+<h2 class='mt-5 mb-1 h4'><?php esc_html_e('Related Invoices', 'invoicing'); ?></h2>
113 113
 
114
-<?php echo wp_kses_post( getpaid_admin_subscription_invoice_details_metabox( $subscription ) ); ?>
114
+<?php echo wp_kses_post(getpaid_admin_subscription_invoice_details_metabox($subscription)); ?>
115 115
 
116
-<?php if ( 1 < count( $subscription_groups ) ) : ?>
117
-	<h2 class='mt-5 mb-1 h4'><?php esc_html_e( 'Related Subscriptions', 'invoicing' ); ?></h2>
118
-	<?php getpaid_admin_subscription_related_subscriptions_metabox( $subscription ); ?>
116
+<?php if (1 < count($subscription_groups)) : ?>
117
+	<h2 class='mt-5 mb-1 h4'><?php esc_html_e('Related Subscriptions', 'invoicing'); ?></h2>
118
+	<?php getpaid_admin_subscription_related_subscriptions_metabox($subscription); ?>
119 119
 <?php endif; ?>
120 120
 
121 121
 <span class="form-text">
122 122
 
123 123
 	<?php
124
-		if ( $subscription->can_cancel() ) {
124
+		if ($subscription->can_cancel()) {
125 125
 		printf(
126 126
             '<a href="%s" class="btn btn-danger btn-sm" onclick="return confirm(\'%s\')">%s</a>&nbsp;&nbsp;',
127
-            esc_url( $subscription->get_cancel_url() ),
128
-            esc_attr__( 'Are you sure you want to cancel this subscription?', 'invoicing' ),
129
-            esc_html__( 'Cancel Subscription', 'invoicing' )
127
+            esc_url($subscription->get_cancel_url()),
128
+            esc_attr__('Are you sure you want to cancel this subscription?', 'invoicing'),
129
+            esc_html__('Cancel Subscription', 'invoicing')
130 130
         );
131 131
 		}
132 132
 
133
-		do_action( 'getpaid-single-subscription-page-actions', $subscription );
133
+		do_action('getpaid-single-subscription-page-actions', $subscription);
134 134
 	?>
135 135
 
136
-	<a href="<?php echo esc_url( getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) ) ); ?>" class="btn btn-secondary btn-sm"><?php esc_html_e( 'Go Back', 'invoicing' ); ?></a>
136
+	<a href="<?php echo esc_url(getpaid_get_tab_url('gp-subscriptions', get_permalink((int) wpinv_get_option('invoice_subscription_page')))); ?>" class="btn btn-secondary btn-sm"><?php esc_html_e('Go Back', 'invoicing'); ?></a>
137 137
 </span>
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-paypal-gateway-ipn-handler.php 2 patches
Indentation   +396 added lines, -396 removed lines patch added patch discarded remove patch
@@ -12,478 +12,478 @@
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Paypal_Gateway_IPN_Handler {
14 14
 
15
-	/**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
20
-	protected $id = 'paypal';
21
-
22
-	/**
23
-	 * Payment method object.
24
-	 *
25
-	 * @var GetPaid_Paypal_Gateway
26
-	 */
27
-	protected $gateway;
28
-
29
-	/**
30
-	 * Class constructor.
31
-	 *
32
-	 * @param GetPaid_Paypal_Gateway $gateway
33
-	 */
34
-	public function __construct( $gateway ) {
35
-		$this->gateway = $gateway;
36
-		$this->verify_ipn();
37
-	}
38
-
39
-	/**
40
-	 * Processes ipns and marks payments as complete.
41
-	 *
42
-	 * @return void
43
-	 */
44
-	public function verify_ipn() {
45
-
46
-		wpinv_error_log( 'GetPaid PayPal IPN Handler', false );
47
-
48
-		// Validate the IPN.
49
-		if ( empty( $_POST ) || ! $this->validate_ipn() ) {
50
-			wp_die( 'PayPal IPN Request Failure', 500 );
51
-		}
52
-
53
-		// Process the IPN.
54
-		$posted  = wp_unslash( $_POST );
55
-		$invoice = $this->get_ipn_invoice( $posted );
56
-
57
-		// Abort if it was not paid by our gateway.
58
-		if ( $this->id != $invoice->get_gateway() ) {
59
-			wpinv_error_log( 'Aborting, Invoice was not paid via PayPal', false );
60
-			wp_die( 'Invoice not paid via PayPal', 200 );
61
-		}
62
-
63
-		$posted['payment_status'] = isset( $posted['payment_status'] ) ? sanitize_key( strtolower( $posted['payment_status'] ) ) : '';
64
-		$posted['txn_type']       = sanitize_key( strtolower( $posted['txn_type'] ) );
65
-
66
-		wpinv_error_log( 'Payment status:' . $posted['payment_status'], false );
67
-		wpinv_error_log( 'IPN Type:' . $posted['txn_type'], false );
68
-
69
-		if ( method_exists( $this, 'ipn_txn_' . $posted['txn_type'] ) ) {
70
-			call_user_func( array( $this, 'ipn_txn_' . $posted['txn_type'] ), $invoice, $posted );
71
-			wpinv_error_log( 'Done processing IPN', false );
72
-			wp_die( 'Processed', 200 );
73
-		}
74
-
75
-		wpinv_error_log( 'Aborting, Unsupported IPN type:' . $posted['txn_type'], false );
76
-		wp_die( 'Unsupported IPN type', 200 );
77
-
78
-	}
79
-
80
-	/**
81
-	 * Retrieves IPN Invoice.
82
-	 *
83
-	 * @param array $posted
84
-	 * @return WPInv_Invoice
85
-	 */
86
-	protected function get_ipn_invoice( $posted ) {
87
-
88
-		wpinv_error_log( 'Retrieving PayPal IPN Response Invoice', false );
89
-
90
-		if ( ! empty( $posted['custom'] ) ) {
91
-			$invoice = new WPInv_Invoice( $posted['custom'] );
92
-
93
-			if ( $invoice->exists() ) {
94
-				wpinv_error_log( 'Found invoice #' . $invoice->get_number(), false );
95
-				return $invoice;
96
-			}
97
-		}
98
-
99
-		wpinv_error_log( 'Could not retrieve the associated invoice.', false );
100
-		wp_die( 'Could not retrieve the associated invoice.', 200 );
101
-	}
102
-
103
-	/**
104
-	 * Check PayPal IPN validity.
105
-	 */
106
-	protected function validate_ipn() {
107
-
108
-		wpinv_error_log( 'Validating PayPal IPN response', false );
109
-
110
-		// Retrieve the associated invoice.
111
-		$posted  = wp_unslash( $_POST );
112
-		$invoice = $this->get_ipn_invoice( $posted );
113
-
114
-		if ( $this->gateway->is_sandbox( $invoice ) ) {
115
-			wpinv_error_log( $posted, 'Invoice was processed in sandbox hence logging the posted data', false );
116
-		}
117
-
118
-		// Validate the IPN.
119
-		$posted['cmd'] = '_notify-validate';
120
-
121
-		// Send back post vars to paypal.
122
-		$params = array(
123
-			'body'        => $posted,
124
-			'timeout'     => 60,
125
-			'httpversion' => '1.1',
126
-			'compress'    => false,
127
-			'decompress'  => false,
128
-			'user-agent'  => 'GetPaid/' . WPINV_VERSION,
129
-		);
130
-
131
-		// Post back to get a response.
132
-		$response = wp_safe_remote_post( $this->gateway->is_sandbox( $invoice ) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr' : 'https://www.paypal.com/cgi-bin/webscr', $params );
133
-
134
-		// Check to see if the request was valid.
135
-		if ( ! is_wp_error( $response ) && $response['response']['code'] < 300 && strstr( $response['body'], 'VERIFIED' ) ) {
136
-			$invoice->add_note( 'Received valid response from PayPal IPN: ' . $response['body'], false, false, true );
137
-			wpinv_error_log( 'Received valid response from PayPal IPN: ' . $response['body'], false );
138
-			return true;
139
-		}
140
-
141
-		$invoice->add_note( 'IPN message:' . wp_json_encode( $posted ), false, false, true );
142
-
143
-		if ( is_wp_error( $response ) ) {
144
-			$invoice->add_note( 'Received invalid response from PayPal IPN: ' . $response->get_error_message(), false, false, true );
145
-			wpinv_error_log( $response->get_error_message(), 'Received invalid response from PayPal IPN' );
146
-			return false;
147
-		}
148
-
149
-		$invoice->add_note( 'Received invalid response from PayPal IPN: ' . $response['body'], false, false, true );
150
-		wpinv_error_log( $response['body'], 'Received invalid response from PayPal IPN' );
151
-		return false;
152
-
153
-	}
154
-
155
-	/**
156
-	 * Check currency from IPN matches the invoice.
157
-	 *
158
-	 * @param WPInv_Invoice $invoice          Invoice object.
159
-	 * @param string   $currency currency to validate.
160
-	 */
161
-	protected function validate_ipn_currency( $invoice, $currency ) {
15
+    /**
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20
+    protected $id = 'paypal';
21
+
22
+    /**
23
+     * Payment method object.
24
+     *
25
+     * @var GetPaid_Paypal_Gateway
26
+     */
27
+    protected $gateway;
28
+
29
+    /**
30
+     * Class constructor.
31
+     *
32
+     * @param GetPaid_Paypal_Gateway $gateway
33
+     */
34
+    public function __construct( $gateway ) {
35
+        $this->gateway = $gateway;
36
+        $this->verify_ipn();
37
+    }
38
+
39
+    /**
40
+     * Processes ipns and marks payments as complete.
41
+     *
42
+     * @return void
43
+     */
44
+    public function verify_ipn() {
45
+
46
+        wpinv_error_log( 'GetPaid PayPal IPN Handler', false );
47
+
48
+        // Validate the IPN.
49
+        if ( empty( $_POST ) || ! $this->validate_ipn() ) {
50
+            wp_die( 'PayPal IPN Request Failure', 500 );
51
+        }
52
+
53
+        // Process the IPN.
54
+        $posted  = wp_unslash( $_POST );
55
+        $invoice = $this->get_ipn_invoice( $posted );
56
+
57
+        // Abort if it was not paid by our gateway.
58
+        if ( $this->id != $invoice->get_gateway() ) {
59
+            wpinv_error_log( 'Aborting, Invoice was not paid via PayPal', false );
60
+            wp_die( 'Invoice not paid via PayPal', 200 );
61
+        }
62
+
63
+        $posted['payment_status'] = isset( $posted['payment_status'] ) ? sanitize_key( strtolower( $posted['payment_status'] ) ) : '';
64
+        $posted['txn_type']       = sanitize_key( strtolower( $posted['txn_type'] ) );
65
+
66
+        wpinv_error_log( 'Payment status:' . $posted['payment_status'], false );
67
+        wpinv_error_log( 'IPN Type:' . $posted['txn_type'], false );
68
+
69
+        if ( method_exists( $this, 'ipn_txn_' . $posted['txn_type'] ) ) {
70
+            call_user_func( array( $this, 'ipn_txn_' . $posted['txn_type'] ), $invoice, $posted );
71
+            wpinv_error_log( 'Done processing IPN', false );
72
+            wp_die( 'Processed', 200 );
73
+        }
74
+
75
+        wpinv_error_log( 'Aborting, Unsupported IPN type:' . $posted['txn_type'], false );
76
+        wp_die( 'Unsupported IPN type', 200 );
77
+
78
+    }
79
+
80
+    /**
81
+     * Retrieves IPN Invoice.
82
+     *
83
+     * @param array $posted
84
+     * @return WPInv_Invoice
85
+     */
86
+    protected function get_ipn_invoice( $posted ) {
87
+
88
+        wpinv_error_log( 'Retrieving PayPal IPN Response Invoice', false );
89
+
90
+        if ( ! empty( $posted['custom'] ) ) {
91
+            $invoice = new WPInv_Invoice( $posted['custom'] );
92
+
93
+            if ( $invoice->exists() ) {
94
+                wpinv_error_log( 'Found invoice #' . $invoice->get_number(), false );
95
+                return $invoice;
96
+            }
97
+        }
98
+
99
+        wpinv_error_log( 'Could not retrieve the associated invoice.', false );
100
+        wp_die( 'Could not retrieve the associated invoice.', 200 );
101
+    }
102
+
103
+    /**
104
+     * Check PayPal IPN validity.
105
+     */
106
+    protected function validate_ipn() {
107
+
108
+        wpinv_error_log( 'Validating PayPal IPN response', false );
109
+
110
+        // Retrieve the associated invoice.
111
+        $posted  = wp_unslash( $_POST );
112
+        $invoice = $this->get_ipn_invoice( $posted );
113
+
114
+        if ( $this->gateway->is_sandbox( $invoice ) ) {
115
+            wpinv_error_log( $posted, 'Invoice was processed in sandbox hence logging the posted data', false );
116
+        }
117
+
118
+        // Validate the IPN.
119
+        $posted['cmd'] = '_notify-validate';
120
+
121
+        // Send back post vars to paypal.
122
+        $params = array(
123
+            'body'        => $posted,
124
+            'timeout'     => 60,
125
+            'httpversion' => '1.1',
126
+            'compress'    => false,
127
+            'decompress'  => false,
128
+            'user-agent'  => 'GetPaid/' . WPINV_VERSION,
129
+        );
130
+
131
+        // Post back to get a response.
132
+        $response = wp_safe_remote_post( $this->gateway->is_sandbox( $invoice ) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr' : 'https://www.paypal.com/cgi-bin/webscr', $params );
133
+
134
+        // Check to see if the request was valid.
135
+        if ( ! is_wp_error( $response ) && $response['response']['code'] < 300 && strstr( $response['body'], 'VERIFIED' ) ) {
136
+            $invoice->add_note( 'Received valid response from PayPal IPN: ' . $response['body'], false, false, true );
137
+            wpinv_error_log( 'Received valid response from PayPal IPN: ' . $response['body'], false );
138
+            return true;
139
+        }
140
+
141
+        $invoice->add_note( 'IPN message:' . wp_json_encode( $posted ), false, false, true );
142
+
143
+        if ( is_wp_error( $response ) ) {
144
+            $invoice->add_note( 'Received invalid response from PayPal IPN: ' . $response->get_error_message(), false, false, true );
145
+            wpinv_error_log( $response->get_error_message(), 'Received invalid response from PayPal IPN' );
146
+            return false;
147
+        }
148
+
149
+        $invoice->add_note( 'Received invalid response from PayPal IPN: ' . $response['body'], false, false, true );
150
+        wpinv_error_log( $response['body'], 'Received invalid response from PayPal IPN' );
151
+        return false;
152
+
153
+    }
154
+
155
+    /**
156
+     * Check currency from IPN matches the invoice.
157
+     *
158
+     * @param WPInv_Invoice $invoice          Invoice object.
159
+     * @param string   $currency currency to validate.
160
+     */
161
+    protected function validate_ipn_currency( $invoice, $currency ) {
162 162
 
163
-		if ( strtolower( $invoice->get_currency() ) !== strtolower( $currency ) ) {
163
+        if ( strtolower( $invoice->get_currency() ) !== strtolower( $currency ) ) {
164 164
 
165
-			/* translators: %s: currency code. */
166
-			$invoice->update_status( 'wpi-processing', sprintf( __( 'Validation error: PayPal currencies do not match (code %s).', 'invoicing' ), $currency ) );
165
+            /* translators: %s: currency code. */
166
+            $invoice->update_status( 'wpi-processing', sprintf( __( 'Validation error: PayPal currencies do not match (code %s).', 'invoicing' ), $currency ) );
167 167
 
168
-			wpinv_error_log( "Currencies do not match: {$currency} instead of {$invoice->get_currency()}", 'IPN Error', __FILE__, __LINE__, true );
169
-		}
168
+            wpinv_error_log( "Currencies do not match: {$currency} instead of {$invoice->get_currency()}", 'IPN Error', __FILE__, __LINE__, true );
169
+        }
170 170
 
171
-		wpinv_error_log( $currency, 'Validated IPN Currency', false );
172
-	}
171
+        wpinv_error_log( $currency, 'Validated IPN Currency', false );
172
+    }
173 173
 
174
-	/**
175
-	 * Check payment amount from IPN matches the invoice.
176
-	 *
177
-	 * @param WPInv_Invoice $invoice          Invoice object.
178
-	 * @param float   $amount amount to validate.
179
-	 */
180
-	protected function validate_ipn_amount( $invoice, $amount ) {
181
-		if ( number_format( $invoice->get_total(), 2, '.', '' ) !== number_format( $amount, 2, '.', '' ) ) {
174
+    /**
175
+     * Check payment amount from IPN matches the invoice.
176
+     *
177
+     * @param WPInv_Invoice $invoice          Invoice object.
178
+     * @param float   $amount amount to validate.
179
+     */
180
+    protected function validate_ipn_amount( $invoice, $amount ) {
181
+        if ( number_format( $invoice->get_total(), 2, '.', '' ) !== number_format( $amount, 2, '.', '' ) ) {
182 182
 
183
-			/* translators: %s: Amount. */
184
-			$invoice->update_status( 'wpi-processing', sprintf( __( 'Validation error: PayPal amounts do not match (gross %s).', 'invoicing' ), $amount ) );
183
+            /* translators: %s: Amount. */
184
+            $invoice->update_status( 'wpi-processing', sprintf( __( 'Validation error: PayPal amounts do not match (gross %s).', 'invoicing' ), $amount ) );
185 185
 
186
-			wpinv_error_log( "Amounts do not match: {$amount} instead of {$invoice->get_total()}", 'IPN Error', __FILE__, __LINE__, true );
187
-		}
186
+            wpinv_error_log( "Amounts do not match: {$amount} instead of {$invoice->get_total()}", 'IPN Error', __FILE__, __LINE__, true );
187
+        }
188 188
 
189
-		wpinv_error_log( $amount, 'Validated IPN Amount', false );
190
-	}
189
+        wpinv_error_log( $amount, 'Validated IPN Amount', false );
190
+    }
191 191
 
192
-	/**
193
-	 * Verify receiver email from PayPal.
194
-	 *
195
-	 * @param WPInv_Invoice $invoice          Invoice object.
196
-	 * @param string   $receiver_email Email to validate.
197
-	 */
198
-	protected function validate_ipn_receiver_email( $invoice, $receiver_email ) {
199
-		$paypal_email = wpinv_get_option( 'paypal_email' );
192
+    /**
193
+     * Verify receiver email from PayPal.
194
+     *
195
+     * @param WPInv_Invoice $invoice          Invoice object.
196
+     * @param string   $receiver_email Email to validate.
197
+     */
198
+    protected function validate_ipn_receiver_email( $invoice, $receiver_email ) {
199
+        $paypal_email = wpinv_get_option( 'paypal_email' );
200 200
 
201
-		if ( $receiver_email && strcasecmp( trim( $receiver_email ), trim( $paypal_email ) ) !== 0 ) {
202
-			wpinv_record_gateway_error( 'IPN Error', "IPN Response is for another account: {$receiver_email}. Your email is {$paypal_email}" );
201
+        if ( $receiver_email && strcasecmp( trim( $receiver_email ), trim( $paypal_email ) ) !== 0 ) {
202
+            wpinv_record_gateway_error( 'IPN Error', "IPN Response is for another account: {$receiver_email}. Your email is {$paypal_email}" );
203 203
 
204
-			/* translators: %s: email address . */
205
-			$invoice->update_status( 'wpi-processing', sprintf( __( 'Validation error: PayPal IPN response from a different email address (%s).', 'invoicing' ), $receiver_email ) );
204
+            /* translators: %s: email address . */
205
+            $invoice->update_status( 'wpi-processing', sprintf( __( 'Validation error: PayPal IPN response from a different email address (%s).', 'invoicing' ), $receiver_email ) );
206 206
 
207
-			return wpinv_error_log( "IPN Response is for another account: {$receiver_email}. Your email is {$paypal_email}", 'IPN Error', __FILE__, __LINE__, true );
208
-		}
207
+            return wpinv_error_log( "IPN Response is for another account: {$receiver_email}. Your email is {$paypal_email}", 'IPN Error', __FILE__, __LINE__, true );
208
+        }
209 209
 
210
-		wpinv_error_log( 'Validated PayPal Email', false );
211
-	}
210
+        wpinv_error_log( 'Validated PayPal Email', false );
211
+    }
212 212
 
213
-	/**
214
-	 * Handles one time payments.
215
-	 *
216
-	 * @param WPInv_Invoice $invoice  Invoice object.
217
-	 * @param array    $posted Posted data.
218
-	 */
219
-	protected function ipn_txn_web_accept( $invoice, $posted ) {
213
+    /**
214
+     * Handles one time payments.
215
+     *
216
+     * @param WPInv_Invoice $invoice  Invoice object.
217
+     * @param array    $posted Posted data.
218
+     */
219
+    protected function ipn_txn_web_accept( $invoice, $posted ) {
220 220
 
221
-		// Collect payment details
222
-		$payment_status = strtolower( $posted['payment_status'] );
223
-		$business_email = isset( $posted['business'] ) && is_email( $posted['business'] ) ? trim( $posted['business'] ) : trim( $posted['receiver_email'] );
221
+        // Collect payment details
222
+        $payment_status = strtolower( $posted['payment_status'] );
223
+        $business_email = isset( $posted['business'] ) && is_email( $posted['business'] ) ? trim( $posted['business'] ) : trim( $posted['receiver_email'] );
224 224
 
225
-		$this->validate_ipn_receiver_email( $invoice, $business_email );
226
-		$this->validate_ipn_currency( $invoice, $posted['mc_currency'] );
225
+        $this->validate_ipn_receiver_email( $invoice, $business_email );
226
+        $this->validate_ipn_currency( $invoice, $posted['mc_currency'] );
227 227
 
228
-		// Update the transaction id.
229
-		if ( ! empty( $posted['txn_id'] ) ) {
230
-			$invoice->set_transaction_id( wpinv_clean( $posted['txn_id'] ) );
231
-			$invoice->save();
232
-		}
228
+        // Update the transaction id.
229
+        if ( ! empty( $posted['txn_id'] ) ) {
230
+            $invoice->set_transaction_id( wpinv_clean( $posted['txn_id'] ) );
231
+            $invoice->save();
232
+        }
233 233
 
234
-		$invoice->add_system_note( __( 'Processing invoice IPN', 'invoicing' ) );
234
+        $invoice->add_system_note( __( 'Processing invoice IPN', 'invoicing' ) );
235 235
 
236
-		// Process a refund.
237
-		if ( 'refunded' === $payment_status || 'reversed' === $payment_status ) {
236
+        // Process a refund.
237
+        if ( 'refunded' === $payment_status || 'reversed' === $payment_status ) {
238 238
 
239
-			update_post_meta( $invoice->get_id(), 'refunded_remotely', 1 );
239
+            update_post_meta( $invoice->get_id(), 'refunded_remotely', 1 );
240 240
 
241
-			if ( ! $invoice->is_refunded() ) {
242
-				$invoice->update_status( 'wpi-refunded', $posted['reason_code'] );
243
-			}
241
+            if ( ! $invoice->is_refunded() ) {
242
+                $invoice->update_status( 'wpi-refunded', $posted['reason_code'] );
243
+            }
244 244
 
245
-			return wpinv_error_log( $posted['reason_code'], false );
246
-		}
245
+            return wpinv_error_log( $posted['reason_code'], false );
246
+        }
247 247
 
248
-		// Process payments.
249
-		if ( 'completed' === $payment_status ) {
248
+        // Process payments.
249
+        if ( 'completed' === $payment_status ) {
250 250
 
251
-			if ( $invoice->is_paid() && 'wpi_processing' != $invoice->get_status() ) {
252
-				return wpinv_error_log( 'Aborting, Invoice #' . $invoice->get_number() . ' is already paid.', false );
253
-			}
251
+            if ( $invoice->is_paid() && 'wpi_processing' != $invoice->get_status() ) {
252
+                return wpinv_error_log( 'Aborting, Invoice #' . $invoice->get_number() . ' is already paid.', false );
253
+            }
254 254
 
255
-			$this->validate_ipn_amount( $invoice, $posted['mc_gross'] );
255
+            $this->validate_ipn_amount( $invoice, $posted['mc_gross'] );
256 256
 
257
-			$note = '';
257
+            $note = '';
258 258
 
259
-			if ( ! empty( $posted['mc_fee'] ) ) {
260
-				$note = sprintf( __( 'PayPal Transaction Fee %s.', 'invoicing' ), sanitize_text_field( $posted['mc_fee'] ) );
261
-			}
259
+            if ( ! empty( $posted['mc_fee'] ) ) {
260
+                $note = sprintf( __( 'PayPal Transaction Fee %s.', 'invoicing' ), sanitize_text_field( $posted['mc_fee'] ) );
261
+            }
262 262
 
263
-			if ( ! empty( $posted['payer_status'] ) ) {
264
-				$note = ' ' . sprintf( __( 'Buyer status %s.', 'invoicing' ), sanitize_text_field( $posted['payer_status'] ) );
265
-			}
263
+            if ( ! empty( $posted['payer_status'] ) ) {
264
+                $note = ' ' . sprintf( __( 'Buyer status %s.', 'invoicing' ), sanitize_text_field( $posted['payer_status'] ) );
265
+            }
266 266
 
267
-			$invoice->mark_paid( ( ! empty( $posted['txn_id'] ) ? sanitize_text_field( $posted['txn_id'] ) : '' ), trim( $note ) );
268
-			return wpinv_error_log( 'Invoice marked as paid.', false );
267
+            $invoice->mark_paid( ( ! empty( $posted['txn_id'] ) ? sanitize_text_field( $posted['txn_id'] ) : '' ), trim( $note ) );
268
+            return wpinv_error_log( 'Invoice marked as paid.', false );
269 269
 
270
-		}
270
+        }
271 271
 
272
-		// Pending payments.
273
-		if ( 'pending' === $payment_status ) {
272
+        // Pending payments.
273
+        if ( 'pending' === $payment_status ) {
274 274
 
275
-			/* translators: %s: pending reason. */
276
-			$invoice->update_status( 'wpi-onhold', sprintf( __( 'Payment pending (%s).', 'invoicing' ), $posted['pending_reason'] ) );
275
+            /* translators: %s: pending reason. */
276
+            $invoice->update_status( 'wpi-onhold', sprintf( __( 'Payment pending (%s).', 'invoicing' ), $posted['pending_reason'] ) );
277 277
 
278
-			return wpinv_error_log( 'Invoice marked as "payment held".', false );
279
-		}
278
+            return wpinv_error_log( 'Invoice marked as "payment held".', false );
279
+        }
280 280
 
281
-		/* translators: %s: payment status. */
282
-		$invoice->update_status( 'wpi-failed', sprintf( __( 'Payment %s via IPN.', 'invoicing' ), sanitize_text_field( $posted['payment_status'] ) ) );
281
+        /* translators: %s: payment status. */
282
+        $invoice->update_status( 'wpi-failed', sprintf( __( 'Payment %s via IPN.', 'invoicing' ), sanitize_text_field( $posted['payment_status'] ) ) );
283 283
 
284
-	}
284
+    }
285 285
 
286
-	/**
287
-	 * Handles one time payments.
288
-	 *
289
-	 * @param WPInv_Invoice $invoice  Invoice object.
290
-	 * @param array    $posted Posted data.
291
-	 */
292
-	protected function ipn_txn_cart( $invoice, $posted ) {
293
-		$this->ipn_txn_web_accept( $invoice, $posted );
294
-	}
286
+    /**
287
+     * Handles one time payments.
288
+     *
289
+     * @param WPInv_Invoice $invoice  Invoice object.
290
+     * @param array    $posted Posted data.
291
+     */
292
+    protected function ipn_txn_cart( $invoice, $posted ) {
293
+        $this->ipn_txn_web_accept( $invoice, $posted );
294
+    }
295 295
 
296
-	/**
297
-	 * Handles subscription sign ups.
298
-	 *
299
-	 * @param WPInv_Invoice $invoice  Invoice object.
300
-	 * @param array    $posted Posted data.
301
-	 */
302
-	protected function ipn_txn_subscr_signup( $invoice, $posted ) {
296
+    /**
297
+     * Handles subscription sign ups.
298
+     *
299
+     * @param WPInv_Invoice $invoice  Invoice object.
300
+     * @param array    $posted Posted data.
301
+     */
302
+    protected function ipn_txn_subscr_signup( $invoice, $posted ) {
303 303
 
304
-		wpinv_error_log( 'Processing subscription signup', false );
304
+        wpinv_error_log( 'Processing subscription signup', false );
305 305
 
306
-		// Make sure the invoice has a subscription.
307
-		$subscription = getpaid_get_invoice_subscription( $invoice );
306
+        // Make sure the invoice has a subscription.
307
+        $subscription = getpaid_get_invoice_subscription( $invoice );
308 308
 
309
-		if ( empty( $subscription ) ) {
310
-			return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
311
-		}
309
+        if ( empty( $subscription ) ) {
310
+            return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
311
+        }
312 312
 
313
-		wpinv_error_log( 'Found subscription #' . $subscription->get_id(), false );
313
+        wpinv_error_log( 'Found subscription #' . $subscription->get_id(), false );
314 314
 
315
-		// Validate the IPN.
316
-		$business_email = isset( $posted['business'] ) && is_email( $posted['business'] ) ? trim( $posted['business'] ) : trim( $posted['receiver_email'] );
317
-		$this->validate_ipn_receiver_email( $invoice, $business_email );
318
-		$this->validate_ipn_currency( $invoice, $posted['mc_currency'] );
315
+        // Validate the IPN.
316
+        $business_email = isset( $posted['business'] ) && is_email( $posted['business'] ) ? trim( $posted['business'] ) : trim( $posted['receiver_email'] );
317
+        $this->validate_ipn_receiver_email( $invoice, $business_email );
318
+        $this->validate_ipn_currency( $invoice, $posted['mc_currency'] );
319 319
 
320
-		// Activate the subscription.
321
-		$duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
322
-		$subscription->set_date_created( current_time( 'mysql' ) );
323
-		$subscription->set_expiration( date( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) ) );
324
-		$subscription->set_profile_id( sanitize_text_field( $posted['subscr_id'] ) );
325
-		$subscription->activate();
320
+        // Activate the subscription.
321
+        $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
322
+        $subscription->set_date_created( current_time( 'mysql' ) );
323
+        $subscription->set_expiration( date( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) ) );
324
+        $subscription->set_profile_id( sanitize_text_field( $posted['subscr_id'] ) );
325
+        $subscription->activate();
326 326
 
327
-		// Set the transaction id.
328
-		if ( ! empty( $posted['txn_id'] ) ) {
329
-			$invoice->add_note( sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ), $posted['txn_id'] ), false, false, true );
330
-			$invoice->set_transaction_id( $posted['txn_id'] );
331
-		}
327
+        // Set the transaction id.
328
+        if ( ! empty( $posted['txn_id'] ) ) {
329
+            $invoice->add_note( sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ), $posted['txn_id'] ), false, false, true );
330
+            $invoice->set_transaction_id( $posted['txn_id'] );
331
+        }
332 332
 
333
-		// Update the payment status.
334
-		$invoice->mark_paid();
333
+        // Update the payment status.
334
+        $invoice->mark_paid();
335 335
 
336
-		$invoice->add_note( sprintf( __( 'PayPal Subscription ID: %s', 'invoicing' ), $posted['subscr_id'] ), false, false, true );
336
+        $invoice->add_note( sprintf( __( 'PayPal Subscription ID: %s', 'invoicing' ), $posted['subscr_id'] ), false, false, true );
337 337
 
338
-		wpinv_error_log( 'Subscription started.', false );
339
-	}
338
+        wpinv_error_log( 'Subscription started.', false );
339
+    }
340 340
 
341
-	/**
342
-	 * Handles subscription renewals.
343
-	 *
344
-	 * @param WPInv_Invoice $invoice  Invoice object.
345
-	 * @param array    $posted Posted data.
346
-	 */
347
-	protected function ipn_txn_subscr_payment( $invoice, $posted ) {
341
+    /**
342
+     * Handles subscription renewals.
343
+     *
344
+     * @param WPInv_Invoice $invoice  Invoice object.
345
+     * @param array    $posted Posted data.
346
+     */
347
+    protected function ipn_txn_subscr_payment( $invoice, $posted ) {
348 348
 
349
-		// Make sure the invoice has a subscription.
350
-		$subscription = getpaid_subscriptions()->get_invoice_subscription( $invoice );
349
+        // Make sure the invoice has a subscription.
350
+        $subscription = getpaid_subscriptions()->get_invoice_subscription( $invoice );
351 351
 
352
-		if ( empty( $subscription ) ) {
353
-			return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
354
-		}
352
+        if ( empty( $subscription ) ) {
353
+            return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
354
+        }
355 355
 
356
-		wpinv_error_log( 'Found subscription #' . $subscription->get_id(), false );
356
+        wpinv_error_log( 'Found subscription #' . $subscription->get_id(), false );
357 357
 
358
-		// PayPal sends a subscr_payment for the first payment too.
359
-		$date_completed = getpaid_format_date( $invoice->get_date_completed() );
360
-		$date_created   = getpaid_format_date( $invoice->get_date_created() );
361
-		$today_date     = getpaid_format_date( current_time( 'mysql' ) );
362
-		$payment_date   = getpaid_format_date( $posted['payment_date'] );
363
-		$subscribe_date = getpaid_format_date( $subscription->get_date_created() );
364
-		$dates          = array_filter( compact( 'date_completed', 'date_created', 'subscribe_date' ) );
358
+        // PayPal sends a subscr_payment for the first payment too.
359
+        $date_completed = getpaid_format_date( $invoice->get_date_completed() );
360
+        $date_created   = getpaid_format_date( $invoice->get_date_created() );
361
+        $today_date     = getpaid_format_date( current_time( 'mysql' ) );
362
+        $payment_date   = getpaid_format_date( $posted['payment_date'] );
363
+        $subscribe_date = getpaid_format_date( $subscription->get_date_created() );
364
+        $dates          = array_filter( compact( 'date_completed', 'date_created', 'subscribe_date' ) );
365 365
 
366
-		foreach ( $dates as $date ) {
366
+        foreach ( $dates as $date ) {
367 367
 
368
-			if ( $date !== $today_date && $date !== $payment_date ) {
369
-				continue;
370
-			}
368
+            if ( $date !== $today_date && $date !== $payment_date ) {
369
+                continue;
370
+            }
371 371
 
372
-			if ( ! empty( $posted['txn_id'] ) ) {
373
-				$invoice->set_transaction_id( sanitize_text_field( $posted['txn_id'] ) );
374
-				$invoice->add_note( wp_sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ), sanitize_text_field( $posted['txn_id'] ) ), false, false, true );
375
-			}
372
+            if ( ! empty( $posted['txn_id'] ) ) {
373
+                $invoice->set_transaction_id( sanitize_text_field( $posted['txn_id'] ) );
374
+                $invoice->add_note( wp_sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ), sanitize_text_field( $posted['txn_id'] ) ), false, false, true );
375
+            }
376 376
 
377
-			return $invoice->mark_paid();
378
-
379
-		}
377
+            return $invoice->mark_paid();
378
+
379
+        }
380 380
 
381
-		wpinv_error_log( 'Processing subscription renewal payment for the invoice ' . $invoice->get_id(), false );
382
-
383
-		// Abort if the payment is already recorded.
384
-		if ( wpinv_get_id_by_transaction_id( $posted['txn_id'] ) ) {
385
-			return wpinv_error_log( 'Aborting, Transaction ' . $posted['txn_id'] . ' has already been processed', false );
386
-		}
387
-
388
-		$args = array(
389
-			'transaction_id' => $posted['txn_id'],
390
-			'gateway'        => $this->id,
391
-		);
392
-
393
-		$invoice = wpinv_get_invoice( $subscription->add_payment( $args ) );
381
+        wpinv_error_log( 'Processing subscription renewal payment for the invoice ' . $invoice->get_id(), false );
382
+
383
+        // Abort if the payment is already recorded.
384
+        if ( wpinv_get_id_by_transaction_id( $posted['txn_id'] ) ) {
385
+            return wpinv_error_log( 'Aborting, Transaction ' . $posted['txn_id'] . ' has already been processed', false );
386
+        }
387
+
388
+        $args = array(
389
+            'transaction_id' => $posted['txn_id'],
390
+            'gateway'        => $this->id,
391
+        );
392
+
393
+        $invoice = wpinv_get_invoice( $subscription->add_payment( $args ) );
394 394
 
395
-		if ( empty( $invoice ) ) {
396
-			return;
397
-		}
395
+        if ( empty( $invoice ) ) {
396
+            return;
397
+        }
398 398
 
399
-		$invoice->add_note( wp_sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ), $posted['txn_id'] ), false, false, true );
400
-		$invoice->add_note( wp_sprintf( __( 'PayPal Subscription ID: %s', 'invoicing' ), $posted['subscr_id'] ), false, false, true );
399
+        $invoice->add_note( wp_sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ), $posted['txn_id'] ), false, false, true );
400
+        $invoice->add_note( wp_sprintf( __( 'PayPal Subscription ID: %s', 'invoicing' ), $posted['subscr_id'] ), false, false, true );
401 401
 
402
-		$subscription->renew();
403
-		wpinv_error_log( 'Subscription renewed.', false );
402
+        $subscription->renew();
403
+        wpinv_error_log( 'Subscription renewed.', false );
404 404
 
405
-	}
405
+    }
406 406
 
407
-	/**
408
-	 * Handles subscription cancelations.
409
-	 *
410
-	 * @param WPInv_Invoice $invoice  Invoice object.
411
-	 */
412
-	protected function ipn_txn_subscr_cancel( $invoice ) {
407
+    /**
408
+     * Handles subscription cancelations.
409
+     *
410
+     * @param WPInv_Invoice $invoice  Invoice object.
411
+     */
412
+    protected function ipn_txn_subscr_cancel( $invoice ) {
413 413
 
414
-		// Make sure the invoice has a subscription.
415
-		$subscription = getpaid_subscriptions()->get_invoice_subscription( $invoice );
416
-
417
-		if ( empty( $subscription ) ) {
418
-			return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
419
-		}
420
-
421
-		wpinv_error_log( 'Processing subscription cancellation for the invoice ' . $invoice->get_id(), false );
422
-		$subscription->cancel();
423
-		wpinv_error_log( 'Subscription cancelled.', false );
414
+        // Make sure the invoice has a subscription.
415
+        $subscription = getpaid_subscriptions()->get_invoice_subscription( $invoice );
416
+
417
+        if ( empty( $subscription ) ) {
418
+            return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
419
+        }
420
+
421
+        wpinv_error_log( 'Processing subscription cancellation for the invoice ' . $invoice->get_id(), false );
422
+        $subscription->cancel();
423
+        wpinv_error_log( 'Subscription cancelled.', false );
424 424
 
425
-	}
425
+    }
426 426
 
427
-	/**
428
-	 * Handles subscription completions.
429
-	 *
430
-	 * @param WPInv_Invoice $invoice  Invoice object.
431
-	 * @param array    $posted Posted data.
432
-	 */
433
-	protected function ipn_txn_subscr_eot( $invoice ) {
427
+    /**
428
+     * Handles subscription completions.
429
+     *
430
+     * @param WPInv_Invoice $invoice  Invoice object.
431
+     * @param array    $posted Posted data.
432
+     */
433
+    protected function ipn_txn_subscr_eot( $invoice ) {
434 434
 
435
-		// Make sure the invoice has a subscription.
436
-		$subscription = getpaid_subscriptions()->get_invoice_subscription( $invoice );
435
+        // Make sure the invoice has a subscription.
436
+        $subscription = getpaid_subscriptions()->get_invoice_subscription( $invoice );
437 437
 
438
-		if ( empty( $subscription ) ) {
439
-			return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
440
-		}
438
+        if ( empty( $subscription ) ) {
439
+            return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
440
+        }
441 441
 
442
-		wpinv_error_log( 'Processing subscription end of life for the invoice ' . $invoice->get_id(), false );
443
-		$subscription->complete();
444
-		wpinv_error_log( 'Subscription completed.', false );
442
+        wpinv_error_log( 'Processing subscription end of life for the invoice ' . $invoice->get_id(), false );
443
+        $subscription->complete();
444
+        wpinv_error_log( 'Subscription completed.', false );
445 445
 
446
-	}
446
+    }
447 447
 
448
-	/**
449
-	 * Handles subscription fails.
450
-	 *
451
-	 * @param WPInv_Invoice $invoice  Invoice object.
452
-	 * @param array    $posted Posted data.
453
-	 */
454
-	protected function ipn_txn_subscr_failed( $invoice ) {
448
+    /**
449
+     * Handles subscription fails.
450
+     *
451
+     * @param WPInv_Invoice $invoice  Invoice object.
452
+     * @param array    $posted Posted data.
453
+     */
454
+    protected function ipn_txn_subscr_failed( $invoice ) {
455 455
 
456
-		// Make sure the invoice has a subscription.
457
-		$subscription = getpaid_subscriptions()->get_invoice_subscription( $invoice );
456
+        // Make sure the invoice has a subscription.
457
+        $subscription = getpaid_subscriptions()->get_invoice_subscription( $invoice );
458 458
 
459
-		if ( empty( $subscription ) ) {
460
-			return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
461
-		}
459
+        if ( empty( $subscription ) ) {
460
+            return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
461
+        }
462 462
 
463
-		wpinv_error_log( 'Processing subscription payment failure for the invoice ' . $invoice->get_id(), false );
464
-		$subscription->failing();
465
-		wpinv_error_log( 'Subscription marked as failing.', false );
463
+        wpinv_error_log( 'Processing subscription payment failure for the invoice ' . $invoice->get_id(), false );
464
+        $subscription->failing();
465
+        wpinv_error_log( 'Subscription marked as failing.', false );
466 466
 
467
-	}
467
+    }
468 468
 
469
-	/**
470
-	 * Handles subscription suspensions.
471
-	 *
472
-	 * @param WPInv_Invoice $invoice  Invoice object.
473
-	 * @param array    $posted Posted data.
474
-	 */
475
-	protected function ipn_txn_recurring_payment_suspended_due_to_max_failed_payment( $invoice ) {
469
+    /**
470
+     * Handles subscription suspensions.
471
+     *
472
+     * @param WPInv_Invoice $invoice  Invoice object.
473
+     * @param array    $posted Posted data.
474
+     */
475
+    protected function ipn_txn_recurring_payment_suspended_due_to_max_failed_payment( $invoice ) {
476 476
 
477
-		// Make sure the invoice has a subscription.
478
-		$subscription = getpaid_subscriptions()->get_invoice_subscription( $invoice );
477
+        // Make sure the invoice has a subscription.
478
+        $subscription = getpaid_subscriptions()->get_invoice_subscription( $invoice );
479 479
 
480
-		if ( empty( $subscription ) ) {
481
-			return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
482
-		}
483
-
484
-		wpinv_error_log( 'Processing subscription cancellation due to max failed payment for the invoice ' . $invoice->get_id(), false );
485
-		$subscription->cancel();
486
-		wpinv_error_log( 'Subscription cancelled.', false );
487
-	}
480
+        if ( empty( $subscription ) ) {
481
+            return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
482
+        }
483
+
484
+        wpinv_error_log( 'Processing subscription cancellation due to max failed payment for the invoice ' . $invoice->get_id(), false );
485
+        $subscription->cancel();
486
+        wpinv_error_log( 'Subscription cancelled.', false );
487
+    }
488 488
 
489 489
 }
Please login to merge, or discard this patch.
Spacing   +155 added lines, -155 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
  * Paypal Payment Gateway IPN handler class.
@@ -31,7 +31,7 @@  discard block
 block discarded – undo
31 31
 	 *
32 32
 	 * @param GetPaid_Paypal_Gateway $gateway
33 33
 	 */
34
-	public function __construct( $gateway ) {
34
+	public function __construct($gateway) {
35 35
 		$this->gateway = $gateway;
36 36
 		$this->verify_ipn();
37 37
 	}
@@ -43,37 +43,37 @@  discard block
 block discarded – undo
43 43
 	 */
44 44
 	public function verify_ipn() {
45 45
 
46
-		wpinv_error_log( 'GetPaid PayPal IPN Handler', false );
46
+		wpinv_error_log('GetPaid PayPal IPN Handler', false);
47 47
 
48 48
 		// Validate the IPN.
49
-		if ( empty( $_POST ) || ! $this->validate_ipn() ) {
50
-			wp_die( 'PayPal IPN Request Failure', 500 );
49
+		if (empty($_POST) || !$this->validate_ipn()) {
50
+			wp_die('PayPal IPN Request Failure', 500);
51 51
 		}
52 52
 
53 53
 		// Process the IPN.
54
-		$posted  = wp_unslash( $_POST );
55
-		$invoice = $this->get_ipn_invoice( $posted );
54
+		$posted  = wp_unslash($_POST);
55
+		$invoice = $this->get_ipn_invoice($posted);
56 56
 
57 57
 		// Abort if it was not paid by our gateway.
58
-		if ( $this->id != $invoice->get_gateway() ) {
59
-			wpinv_error_log( 'Aborting, Invoice was not paid via PayPal', false );
60
-			wp_die( 'Invoice not paid via PayPal', 200 );
58
+		if ($this->id != $invoice->get_gateway()) {
59
+			wpinv_error_log('Aborting, Invoice was not paid via PayPal', false);
60
+			wp_die('Invoice not paid via PayPal', 200);
61 61
 		}
62 62
 
63
-		$posted['payment_status'] = isset( $posted['payment_status'] ) ? sanitize_key( strtolower( $posted['payment_status'] ) ) : '';
64
-		$posted['txn_type']       = sanitize_key( strtolower( $posted['txn_type'] ) );
63
+		$posted['payment_status'] = isset($posted['payment_status']) ? sanitize_key(strtolower($posted['payment_status'])) : '';
64
+		$posted['txn_type']       = sanitize_key(strtolower($posted['txn_type']));
65 65
 
66
-		wpinv_error_log( 'Payment status:' . $posted['payment_status'], false );
67
-		wpinv_error_log( 'IPN Type:' . $posted['txn_type'], false );
66
+		wpinv_error_log('Payment status:' . $posted['payment_status'], false);
67
+		wpinv_error_log('IPN Type:' . $posted['txn_type'], false);
68 68
 
69
-		if ( method_exists( $this, 'ipn_txn_' . $posted['txn_type'] ) ) {
70
-			call_user_func( array( $this, 'ipn_txn_' . $posted['txn_type'] ), $invoice, $posted );
71
-			wpinv_error_log( 'Done processing IPN', false );
72
-			wp_die( 'Processed', 200 );
69
+		if (method_exists($this, 'ipn_txn_' . $posted['txn_type'])) {
70
+			call_user_func(array($this, 'ipn_txn_' . $posted['txn_type']), $invoice, $posted);
71
+			wpinv_error_log('Done processing IPN', false);
72
+			wp_die('Processed', 200);
73 73
 		}
74 74
 
75
-		wpinv_error_log( 'Aborting, Unsupported IPN type:' . $posted['txn_type'], false );
76
-		wp_die( 'Unsupported IPN type', 200 );
75
+		wpinv_error_log('Aborting, Unsupported IPN type:' . $posted['txn_type'], false);
76
+		wp_die('Unsupported IPN type', 200);
77 77
 
78 78
 	}
79 79
 
@@ -83,21 +83,21 @@  discard block
 block discarded – undo
83 83
 	 * @param array $posted
84 84
 	 * @return WPInv_Invoice
85 85
 	 */
86
-	protected function get_ipn_invoice( $posted ) {
86
+	protected function get_ipn_invoice($posted) {
87 87
 
88
-		wpinv_error_log( 'Retrieving PayPal IPN Response Invoice', false );
88
+		wpinv_error_log('Retrieving PayPal IPN Response Invoice', false);
89 89
 
90
-		if ( ! empty( $posted['custom'] ) ) {
91
-			$invoice = new WPInv_Invoice( $posted['custom'] );
90
+		if (!empty($posted['custom'])) {
91
+			$invoice = new WPInv_Invoice($posted['custom']);
92 92
 
93
-			if ( $invoice->exists() ) {
94
-				wpinv_error_log( 'Found invoice #' . $invoice->get_number(), false );
93
+			if ($invoice->exists()) {
94
+				wpinv_error_log('Found invoice #' . $invoice->get_number(), false);
95 95
 				return $invoice;
96 96
 			}
97 97
 		}
98 98
 
99
-		wpinv_error_log( 'Could not retrieve the associated invoice.', false );
100
-		wp_die( 'Could not retrieve the associated invoice.', 200 );
99
+		wpinv_error_log('Could not retrieve the associated invoice.', false);
100
+		wp_die('Could not retrieve the associated invoice.', 200);
101 101
 	}
102 102
 
103 103
 	/**
@@ -105,14 +105,14 @@  discard block
 block discarded – undo
105 105
 	 */
106 106
 	protected function validate_ipn() {
107 107
 
108
-		wpinv_error_log( 'Validating PayPal IPN response', false );
108
+		wpinv_error_log('Validating PayPal IPN response', false);
109 109
 
110 110
 		// Retrieve the associated invoice.
111
-		$posted  = wp_unslash( $_POST );
112
-		$invoice = $this->get_ipn_invoice( $posted );
111
+		$posted  = wp_unslash($_POST);
112
+		$invoice = $this->get_ipn_invoice($posted);
113 113
 
114
-		if ( $this->gateway->is_sandbox( $invoice ) ) {
115
-			wpinv_error_log( $posted, 'Invoice was processed in sandbox hence logging the posted data', false );
114
+		if ($this->gateway->is_sandbox($invoice)) {
115
+			wpinv_error_log($posted, 'Invoice was processed in sandbox hence logging the posted data', false);
116 116
 		}
117 117
 
118 118
 		// Validate the IPN.
@@ -129,25 +129,25 @@  discard block
 block discarded – undo
129 129
 		);
130 130
 
131 131
 		// Post back to get a response.
132
-		$response = wp_safe_remote_post( $this->gateway->is_sandbox( $invoice ) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr' : 'https://www.paypal.com/cgi-bin/webscr', $params );
132
+		$response = wp_safe_remote_post($this->gateway->is_sandbox($invoice) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr' : 'https://www.paypal.com/cgi-bin/webscr', $params);
133 133
 
134 134
 		// Check to see if the request was valid.
135
-		if ( ! is_wp_error( $response ) && $response['response']['code'] < 300 && strstr( $response['body'], 'VERIFIED' ) ) {
136
-			$invoice->add_note( 'Received valid response from PayPal IPN: ' . $response['body'], false, false, true );
137
-			wpinv_error_log( 'Received valid response from PayPal IPN: ' . $response['body'], false );
135
+		if (!is_wp_error($response) && $response['response']['code'] < 300 && strstr($response['body'], 'VERIFIED')) {
136
+			$invoice->add_note('Received valid response from PayPal IPN: ' . $response['body'], false, false, true);
137
+			wpinv_error_log('Received valid response from PayPal IPN: ' . $response['body'], false);
138 138
 			return true;
139 139
 		}
140 140
 
141
-		$invoice->add_note( 'IPN message:' . wp_json_encode( $posted ), false, false, true );
141
+		$invoice->add_note('IPN message:' . wp_json_encode($posted), false, false, true);
142 142
 
143
-		if ( is_wp_error( $response ) ) {
144
-			$invoice->add_note( 'Received invalid response from PayPal IPN: ' . $response->get_error_message(), false, false, true );
145
-			wpinv_error_log( $response->get_error_message(), 'Received invalid response from PayPal IPN' );
143
+		if (is_wp_error($response)) {
144
+			$invoice->add_note('Received invalid response from PayPal IPN: ' . $response->get_error_message(), false, false, true);
145
+			wpinv_error_log($response->get_error_message(), 'Received invalid response from PayPal IPN');
146 146
 			return false;
147 147
 		}
148 148
 
149
-		$invoice->add_note( 'Received invalid response from PayPal IPN: ' . $response['body'], false, false, true );
150
-		wpinv_error_log( $response['body'], 'Received invalid response from PayPal IPN' );
149
+		$invoice->add_note('Received invalid response from PayPal IPN: ' . $response['body'], false, false, true);
150
+		wpinv_error_log($response['body'], 'Received invalid response from PayPal IPN');
151 151
 		return false;
152 152
 
153 153
 	}
@@ -158,17 +158,17 @@  discard block
 block discarded – undo
158 158
 	 * @param WPInv_Invoice $invoice          Invoice object.
159 159
 	 * @param string   $currency currency to validate.
160 160
 	 */
161
-	protected function validate_ipn_currency( $invoice, $currency ) {
161
+	protected function validate_ipn_currency($invoice, $currency) {
162 162
 
163
-		if ( strtolower( $invoice->get_currency() ) !== strtolower( $currency ) ) {
163
+		if (strtolower($invoice->get_currency()) !== strtolower($currency)) {
164 164
 
165 165
 			/* translators: %s: currency code. */
166
-			$invoice->update_status( 'wpi-processing', sprintf( __( 'Validation error: PayPal currencies do not match (code %s).', 'invoicing' ), $currency ) );
166
+			$invoice->update_status('wpi-processing', sprintf(__('Validation error: PayPal currencies do not match (code %s).', 'invoicing'), $currency));
167 167
 
168
-			wpinv_error_log( "Currencies do not match: {$currency} instead of {$invoice->get_currency()}", 'IPN Error', __FILE__, __LINE__, true );
168
+			wpinv_error_log("Currencies do not match: {$currency} instead of {$invoice->get_currency()}", 'IPN Error', __FILE__, __LINE__, true);
169 169
 		}
170 170
 
171
-		wpinv_error_log( $currency, 'Validated IPN Currency', false );
171
+		wpinv_error_log($currency, 'Validated IPN Currency', false);
172 172
 	}
173 173
 
174 174
 	/**
@@ -177,16 +177,16 @@  discard block
 block discarded – undo
177 177
 	 * @param WPInv_Invoice $invoice          Invoice object.
178 178
 	 * @param float   $amount amount to validate.
179 179
 	 */
180
-	protected function validate_ipn_amount( $invoice, $amount ) {
181
-		if ( number_format( $invoice->get_total(), 2, '.', '' ) !== number_format( $amount, 2, '.', '' ) ) {
180
+	protected function validate_ipn_amount($invoice, $amount) {
181
+		if (number_format($invoice->get_total(), 2, '.', '') !== number_format($amount, 2, '.', '')) {
182 182
 
183 183
 			/* translators: %s: Amount. */
184
-			$invoice->update_status( 'wpi-processing', sprintf( __( 'Validation error: PayPal amounts do not match (gross %s).', 'invoicing' ), $amount ) );
184
+			$invoice->update_status('wpi-processing', sprintf(__('Validation error: PayPal amounts do not match (gross %s).', 'invoicing'), $amount));
185 185
 
186
-			wpinv_error_log( "Amounts do not match: {$amount} instead of {$invoice->get_total()}", 'IPN Error', __FILE__, __LINE__, true );
186
+			wpinv_error_log("Amounts do not match: {$amount} instead of {$invoice->get_total()}", 'IPN Error', __FILE__, __LINE__, true);
187 187
 		}
188 188
 
189
-		wpinv_error_log( $amount, 'Validated IPN Amount', false );
189
+		wpinv_error_log($amount, 'Validated IPN Amount', false);
190 190
 	}
191 191
 
192 192
 	/**
@@ -195,19 +195,19 @@  discard block
 block discarded – undo
195 195
 	 * @param WPInv_Invoice $invoice          Invoice object.
196 196
 	 * @param string   $receiver_email Email to validate.
197 197
 	 */
198
-	protected function validate_ipn_receiver_email( $invoice, $receiver_email ) {
199
-		$paypal_email = wpinv_get_option( 'paypal_email' );
198
+	protected function validate_ipn_receiver_email($invoice, $receiver_email) {
199
+		$paypal_email = wpinv_get_option('paypal_email');
200 200
 
201
-		if ( $receiver_email && strcasecmp( trim( $receiver_email ), trim( $paypal_email ) ) !== 0 ) {
202
-			wpinv_record_gateway_error( 'IPN Error', "IPN Response is for another account: {$receiver_email}. Your email is {$paypal_email}" );
201
+		if ($receiver_email && strcasecmp(trim($receiver_email), trim($paypal_email)) !== 0) {
202
+			wpinv_record_gateway_error('IPN Error', "IPN Response is for another account: {$receiver_email}. Your email is {$paypal_email}");
203 203
 
204 204
 			/* translators: %s: email address . */
205
-			$invoice->update_status( 'wpi-processing', sprintf( __( 'Validation error: PayPal IPN response from a different email address (%s).', 'invoicing' ), $receiver_email ) );
205
+			$invoice->update_status('wpi-processing', sprintf(__('Validation error: PayPal IPN response from a different email address (%s).', 'invoicing'), $receiver_email));
206 206
 
207
-			return wpinv_error_log( "IPN Response is for another account: {$receiver_email}. Your email is {$paypal_email}", 'IPN Error', __FILE__, __LINE__, true );
207
+			return wpinv_error_log("IPN Response is for another account: {$receiver_email}. Your email is {$paypal_email}", 'IPN Error', __FILE__, __LINE__, true);
208 208
 		}
209 209
 
210
-		wpinv_error_log( 'Validated PayPal Email', false );
210
+		wpinv_error_log('Validated PayPal Email', false);
211 211
 	}
212 212
 
213 213
 	/**
@@ -216,70 +216,70 @@  discard block
 block discarded – undo
216 216
 	 * @param WPInv_Invoice $invoice  Invoice object.
217 217
 	 * @param array    $posted Posted data.
218 218
 	 */
219
-	protected function ipn_txn_web_accept( $invoice, $posted ) {
219
+	protected function ipn_txn_web_accept($invoice, $posted) {
220 220
 
221 221
 		// Collect payment details
222
-		$payment_status = strtolower( $posted['payment_status'] );
223
-		$business_email = isset( $posted['business'] ) && is_email( $posted['business'] ) ? trim( $posted['business'] ) : trim( $posted['receiver_email'] );
222
+		$payment_status = strtolower($posted['payment_status']);
223
+		$business_email = isset($posted['business']) && is_email($posted['business']) ? trim($posted['business']) : trim($posted['receiver_email']);
224 224
 
225
-		$this->validate_ipn_receiver_email( $invoice, $business_email );
226
-		$this->validate_ipn_currency( $invoice, $posted['mc_currency'] );
225
+		$this->validate_ipn_receiver_email($invoice, $business_email);
226
+		$this->validate_ipn_currency($invoice, $posted['mc_currency']);
227 227
 
228 228
 		// Update the transaction id.
229
-		if ( ! empty( $posted['txn_id'] ) ) {
230
-			$invoice->set_transaction_id( wpinv_clean( $posted['txn_id'] ) );
229
+		if (!empty($posted['txn_id'])) {
230
+			$invoice->set_transaction_id(wpinv_clean($posted['txn_id']));
231 231
 			$invoice->save();
232 232
 		}
233 233
 
234
-		$invoice->add_system_note( __( 'Processing invoice IPN', 'invoicing' ) );
234
+		$invoice->add_system_note(__('Processing invoice IPN', 'invoicing'));
235 235
 
236 236
 		// Process a refund.
237
-		if ( 'refunded' === $payment_status || 'reversed' === $payment_status ) {
237
+		if ('refunded' === $payment_status || 'reversed' === $payment_status) {
238 238
 
239
-			update_post_meta( $invoice->get_id(), 'refunded_remotely', 1 );
239
+			update_post_meta($invoice->get_id(), 'refunded_remotely', 1);
240 240
 
241
-			if ( ! $invoice->is_refunded() ) {
242
-				$invoice->update_status( 'wpi-refunded', $posted['reason_code'] );
241
+			if (!$invoice->is_refunded()) {
242
+				$invoice->update_status('wpi-refunded', $posted['reason_code']);
243 243
 			}
244 244
 
245
-			return wpinv_error_log( $posted['reason_code'], false );
245
+			return wpinv_error_log($posted['reason_code'], false);
246 246
 		}
247 247
 
248 248
 		// Process payments.
249
-		if ( 'completed' === $payment_status ) {
249
+		if ('completed' === $payment_status) {
250 250
 
251
-			if ( $invoice->is_paid() && 'wpi_processing' != $invoice->get_status() ) {
252
-				return wpinv_error_log( 'Aborting, Invoice #' . $invoice->get_number() . ' is already paid.', false );
251
+			if ($invoice->is_paid() && 'wpi_processing' != $invoice->get_status()) {
252
+				return wpinv_error_log('Aborting, Invoice #' . $invoice->get_number() . ' is already paid.', false);
253 253
 			}
254 254
 
255
-			$this->validate_ipn_amount( $invoice, $posted['mc_gross'] );
255
+			$this->validate_ipn_amount($invoice, $posted['mc_gross']);
256 256
 
257 257
 			$note = '';
258 258
 
259
-			if ( ! empty( $posted['mc_fee'] ) ) {
260
-				$note = sprintf( __( 'PayPal Transaction Fee %s.', 'invoicing' ), sanitize_text_field( $posted['mc_fee'] ) );
259
+			if (!empty($posted['mc_fee'])) {
260
+				$note = sprintf(__('PayPal Transaction Fee %s.', 'invoicing'), sanitize_text_field($posted['mc_fee']));
261 261
 			}
262 262
 
263
-			if ( ! empty( $posted['payer_status'] ) ) {
264
-				$note = ' ' . sprintf( __( 'Buyer status %s.', 'invoicing' ), sanitize_text_field( $posted['payer_status'] ) );
263
+			if (!empty($posted['payer_status'])) {
264
+				$note = ' ' . sprintf(__('Buyer status %s.', 'invoicing'), sanitize_text_field($posted['payer_status']));
265 265
 			}
266 266
 
267
-			$invoice->mark_paid( ( ! empty( $posted['txn_id'] ) ? sanitize_text_field( $posted['txn_id'] ) : '' ), trim( $note ) );
268
-			return wpinv_error_log( 'Invoice marked as paid.', false );
267
+			$invoice->mark_paid((!empty($posted['txn_id']) ? sanitize_text_field($posted['txn_id']) : ''), trim($note));
268
+			return wpinv_error_log('Invoice marked as paid.', false);
269 269
 
270 270
 		}
271 271
 
272 272
 		// Pending payments.
273
-		if ( 'pending' === $payment_status ) {
273
+		if ('pending' === $payment_status) {
274 274
 
275 275
 			/* translators: %s: pending reason. */
276
-			$invoice->update_status( 'wpi-onhold', sprintf( __( 'Payment pending (%s).', 'invoicing' ), $posted['pending_reason'] ) );
276
+			$invoice->update_status('wpi-onhold', sprintf(__('Payment pending (%s).', 'invoicing'), $posted['pending_reason']));
277 277
 
278
-			return wpinv_error_log( 'Invoice marked as "payment held".', false );
278
+			return wpinv_error_log('Invoice marked as "payment held".', false);
279 279
 		}
280 280
 
281 281
 		/* translators: %s: payment status. */
282
-		$invoice->update_status( 'wpi-failed', sprintf( __( 'Payment %s via IPN.', 'invoicing' ), sanitize_text_field( $posted['payment_status'] ) ) );
282
+		$invoice->update_status('wpi-failed', sprintf(__('Payment %s via IPN.', 'invoicing'), sanitize_text_field($posted['payment_status'])));
283 283
 
284 284
 	}
285 285
 
@@ -289,8 +289,8 @@  discard block
 block discarded – undo
289 289
 	 * @param WPInv_Invoice $invoice  Invoice object.
290 290
 	 * @param array    $posted Posted data.
291 291
 	 */
292
-	protected function ipn_txn_cart( $invoice, $posted ) {
293
-		$this->ipn_txn_web_accept( $invoice, $posted );
292
+	protected function ipn_txn_cart($invoice, $posted) {
293
+		$this->ipn_txn_web_accept($invoice, $posted);
294 294
 	}
295 295
 
296 296
 	/**
@@ -299,43 +299,43 @@  discard block
 block discarded – undo
299 299
 	 * @param WPInv_Invoice $invoice  Invoice object.
300 300
 	 * @param array    $posted Posted data.
301 301
 	 */
302
-	protected function ipn_txn_subscr_signup( $invoice, $posted ) {
302
+	protected function ipn_txn_subscr_signup($invoice, $posted) {
303 303
 
304
-		wpinv_error_log( 'Processing subscription signup', false );
304
+		wpinv_error_log('Processing subscription signup', false);
305 305
 
306 306
 		// Make sure the invoice has a subscription.
307
-		$subscription = getpaid_get_invoice_subscription( $invoice );
307
+		$subscription = getpaid_get_invoice_subscription($invoice);
308 308
 
309
-		if ( empty( $subscription ) ) {
310
-			return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
309
+		if (empty($subscription)) {
310
+			return wpinv_error_log('Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false);
311 311
 		}
312 312
 
313
-		wpinv_error_log( 'Found subscription #' . $subscription->get_id(), false );
313
+		wpinv_error_log('Found subscription #' . $subscription->get_id(), false);
314 314
 
315 315
 		// Validate the IPN.
316
-		$business_email = isset( $posted['business'] ) && is_email( $posted['business'] ) ? trim( $posted['business'] ) : trim( $posted['receiver_email'] );
317
-		$this->validate_ipn_receiver_email( $invoice, $business_email );
318
-		$this->validate_ipn_currency( $invoice, $posted['mc_currency'] );
316
+		$business_email = isset($posted['business']) && is_email($posted['business']) ? trim($posted['business']) : trim($posted['receiver_email']);
317
+		$this->validate_ipn_receiver_email($invoice, $business_email);
318
+		$this->validate_ipn_currency($invoice, $posted['mc_currency']);
319 319
 
320 320
 		// Activate the subscription.
321
-		$duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
322
-		$subscription->set_date_created( current_time( 'mysql' ) );
323
-		$subscription->set_expiration( date( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) ) );
324
-		$subscription->set_profile_id( sanitize_text_field( $posted['subscr_id'] ) );
321
+		$duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created());
322
+		$subscription->set_date_created(current_time('mysql'));
323
+		$subscription->set_expiration(date('Y-m-d H:i:s', (current_time('timestamp') + $duration)));
324
+		$subscription->set_profile_id(sanitize_text_field($posted['subscr_id']));
325 325
 		$subscription->activate();
326 326
 
327 327
 		// Set the transaction id.
328
-		if ( ! empty( $posted['txn_id'] ) ) {
329
-			$invoice->add_note( sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ), $posted['txn_id'] ), false, false, true );
330
-			$invoice->set_transaction_id( $posted['txn_id'] );
328
+		if (!empty($posted['txn_id'])) {
329
+			$invoice->add_note(sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $posted['txn_id']), false, false, true);
330
+			$invoice->set_transaction_id($posted['txn_id']);
331 331
 		}
332 332
 
333 333
 		// Update the payment status.
334 334
 		$invoice->mark_paid();
335 335
 
336
-		$invoice->add_note( sprintf( __( 'PayPal Subscription ID: %s', 'invoicing' ), $posted['subscr_id'] ), false, false, true );
336
+		$invoice->add_note(sprintf(__('PayPal Subscription ID: %s', 'invoicing'), $posted['subscr_id']), false, false, true);
337 337
 
338
-		wpinv_error_log( 'Subscription started.', false );
338
+		wpinv_error_log('Subscription started.', false);
339 339
 	}
340 340
 
341 341
 	/**
@@ -344,45 +344,45 @@  discard block
 block discarded – undo
344 344
 	 * @param WPInv_Invoice $invoice  Invoice object.
345 345
 	 * @param array    $posted Posted data.
346 346
 	 */
347
-	protected function ipn_txn_subscr_payment( $invoice, $posted ) {
347
+	protected function ipn_txn_subscr_payment($invoice, $posted) {
348 348
 
349 349
 		// Make sure the invoice has a subscription.
350
-		$subscription = getpaid_subscriptions()->get_invoice_subscription( $invoice );
350
+		$subscription = getpaid_subscriptions()->get_invoice_subscription($invoice);
351 351
 
352
-		if ( empty( $subscription ) ) {
353
-			return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
352
+		if (empty($subscription)) {
353
+			return wpinv_error_log('Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false);
354 354
 		}
355 355
 
356
-		wpinv_error_log( 'Found subscription #' . $subscription->get_id(), false );
356
+		wpinv_error_log('Found subscription #' . $subscription->get_id(), false);
357 357
 
358 358
 		// PayPal sends a subscr_payment for the first payment too.
359
-		$date_completed = getpaid_format_date( $invoice->get_date_completed() );
360
-		$date_created   = getpaid_format_date( $invoice->get_date_created() );
361
-		$today_date     = getpaid_format_date( current_time( 'mysql' ) );
362
-		$payment_date   = getpaid_format_date( $posted['payment_date'] );
363
-		$subscribe_date = getpaid_format_date( $subscription->get_date_created() );
364
-		$dates          = array_filter( compact( 'date_completed', 'date_created', 'subscribe_date' ) );
359
+		$date_completed = getpaid_format_date($invoice->get_date_completed());
360
+		$date_created   = getpaid_format_date($invoice->get_date_created());
361
+		$today_date     = getpaid_format_date(current_time('mysql'));
362
+		$payment_date   = getpaid_format_date($posted['payment_date']);
363
+		$subscribe_date = getpaid_format_date($subscription->get_date_created());
364
+		$dates          = array_filter(compact('date_completed', 'date_created', 'subscribe_date'));
365 365
 
366
-		foreach ( $dates as $date ) {
366
+		foreach ($dates as $date) {
367 367
 
368
-			if ( $date !== $today_date && $date !== $payment_date ) {
368
+			if ($date !== $today_date && $date !== $payment_date) {
369 369
 				continue;
370 370
 			}
371 371
 
372
-			if ( ! empty( $posted['txn_id'] ) ) {
373
-				$invoice->set_transaction_id( sanitize_text_field( $posted['txn_id'] ) );
374
-				$invoice->add_note( wp_sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ), sanitize_text_field( $posted['txn_id'] ) ), false, false, true );
372
+			if (!empty($posted['txn_id'])) {
373
+				$invoice->set_transaction_id(sanitize_text_field($posted['txn_id']));
374
+				$invoice->add_note(wp_sprintf(__('PayPal Transaction ID: %s', 'invoicing'), sanitize_text_field($posted['txn_id'])), false, false, true);
375 375
 			}
376 376
 
377 377
 			return $invoice->mark_paid();
378 378
 
379 379
 		}
380 380
 
381
-		wpinv_error_log( 'Processing subscription renewal payment for the invoice ' . $invoice->get_id(), false );
381
+		wpinv_error_log('Processing subscription renewal payment for the invoice ' . $invoice->get_id(), false);
382 382
 
383 383
 		// Abort if the payment is already recorded.
384
-		if ( wpinv_get_id_by_transaction_id( $posted['txn_id'] ) ) {
385
-			return wpinv_error_log( 'Aborting, Transaction ' . $posted['txn_id'] . ' has already been processed', false );
384
+		if (wpinv_get_id_by_transaction_id($posted['txn_id'])) {
385
+			return wpinv_error_log('Aborting, Transaction ' . $posted['txn_id'] . ' has already been processed', false);
386 386
 		}
387 387
 
388 388
 		$args = array(
@@ -390,17 +390,17 @@  discard block
 block discarded – undo
390 390
 			'gateway'        => $this->id,
391 391
 		);
392 392
 
393
-		$invoice = wpinv_get_invoice( $subscription->add_payment( $args ) );
393
+		$invoice = wpinv_get_invoice($subscription->add_payment($args));
394 394
 
395
-		if ( empty( $invoice ) ) {
395
+		if (empty($invoice)) {
396 396
 			return;
397 397
 		}
398 398
 
399
-		$invoice->add_note( wp_sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ), $posted['txn_id'] ), false, false, true );
400
-		$invoice->add_note( wp_sprintf( __( 'PayPal Subscription ID: %s', 'invoicing' ), $posted['subscr_id'] ), false, false, true );
399
+		$invoice->add_note(wp_sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $posted['txn_id']), false, false, true);
400
+		$invoice->add_note(wp_sprintf(__('PayPal Subscription ID: %s', 'invoicing'), $posted['subscr_id']), false, false, true);
401 401
 
402 402
 		$subscription->renew();
403
-		wpinv_error_log( 'Subscription renewed.', false );
403
+		wpinv_error_log('Subscription renewed.', false);
404 404
 
405 405
 	}
406 406
 
@@ -409,18 +409,18 @@  discard block
 block discarded – undo
409 409
 	 *
410 410
 	 * @param WPInv_Invoice $invoice  Invoice object.
411 411
 	 */
412
-	protected function ipn_txn_subscr_cancel( $invoice ) {
412
+	protected function ipn_txn_subscr_cancel($invoice) {
413 413
 
414 414
 		// Make sure the invoice has a subscription.
415
-		$subscription = getpaid_subscriptions()->get_invoice_subscription( $invoice );
415
+		$subscription = getpaid_subscriptions()->get_invoice_subscription($invoice);
416 416
 
417
-		if ( empty( $subscription ) ) {
418
-			return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
417
+		if (empty($subscription)) {
418
+			return wpinv_error_log('Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false);
419 419
 		}
420 420
 
421
-		wpinv_error_log( 'Processing subscription cancellation for the invoice ' . $invoice->get_id(), false );
421
+		wpinv_error_log('Processing subscription cancellation for the invoice ' . $invoice->get_id(), false);
422 422
 		$subscription->cancel();
423
-		wpinv_error_log( 'Subscription cancelled.', false );
423
+		wpinv_error_log('Subscription cancelled.', false);
424 424
 
425 425
 	}
426 426
 
@@ -430,18 +430,18 @@  discard block
 block discarded – undo
430 430
 	 * @param WPInv_Invoice $invoice  Invoice object.
431 431
 	 * @param array    $posted Posted data.
432 432
 	 */
433
-	protected function ipn_txn_subscr_eot( $invoice ) {
433
+	protected function ipn_txn_subscr_eot($invoice) {
434 434
 
435 435
 		// Make sure the invoice has a subscription.
436
-		$subscription = getpaid_subscriptions()->get_invoice_subscription( $invoice );
436
+		$subscription = getpaid_subscriptions()->get_invoice_subscription($invoice);
437 437
 
438
-		if ( empty( $subscription ) ) {
439
-			return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
438
+		if (empty($subscription)) {
439
+			return wpinv_error_log('Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false);
440 440
 		}
441 441
 
442
-		wpinv_error_log( 'Processing subscription end of life for the invoice ' . $invoice->get_id(), false );
442
+		wpinv_error_log('Processing subscription end of life for the invoice ' . $invoice->get_id(), false);
443 443
 		$subscription->complete();
444
-		wpinv_error_log( 'Subscription completed.', false );
444
+		wpinv_error_log('Subscription completed.', false);
445 445
 
446 446
 	}
447 447
 
@@ -451,18 +451,18 @@  discard block
 block discarded – undo
451 451
 	 * @param WPInv_Invoice $invoice  Invoice object.
452 452
 	 * @param array    $posted Posted data.
453 453
 	 */
454
-	protected function ipn_txn_subscr_failed( $invoice ) {
454
+	protected function ipn_txn_subscr_failed($invoice) {
455 455
 
456 456
 		// Make sure the invoice has a subscription.
457
-		$subscription = getpaid_subscriptions()->get_invoice_subscription( $invoice );
457
+		$subscription = getpaid_subscriptions()->get_invoice_subscription($invoice);
458 458
 
459
-		if ( empty( $subscription ) ) {
460
-			return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
459
+		if (empty($subscription)) {
460
+			return wpinv_error_log('Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false);
461 461
 		}
462 462
 
463
-		wpinv_error_log( 'Processing subscription payment failure for the invoice ' . $invoice->get_id(), false );
463
+		wpinv_error_log('Processing subscription payment failure for the invoice ' . $invoice->get_id(), false);
464 464
 		$subscription->failing();
465
-		wpinv_error_log( 'Subscription marked as failing.', false );
465
+		wpinv_error_log('Subscription marked as failing.', false);
466 466
 
467 467
 	}
468 468
 
@@ -472,18 +472,18 @@  discard block
 block discarded – undo
472 472
 	 * @param WPInv_Invoice $invoice  Invoice object.
473 473
 	 * @param array    $posted Posted data.
474 474
 	 */
475
-	protected function ipn_txn_recurring_payment_suspended_due_to_max_failed_payment( $invoice ) {
475
+	protected function ipn_txn_recurring_payment_suspended_due_to_max_failed_payment($invoice) {
476 476
 
477 477
 		// Make sure the invoice has a subscription.
478
-		$subscription = getpaid_subscriptions()->get_invoice_subscription( $invoice );
478
+		$subscription = getpaid_subscriptions()->get_invoice_subscription($invoice);
479 479
 
480
-		if ( empty( $subscription ) ) {
481
-			return wpinv_error_log( 'Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false );
480
+		if (empty($subscription)) {
481
+			return wpinv_error_log('Aborting, Subscription for the invoice ' . $invoice->get_id() . ' not found', false);
482 482
 		}
483 483
 
484
-		wpinv_error_log( 'Processing subscription cancellation due to max failed payment for the invoice ' . $invoice->get_id(), false );
484
+		wpinv_error_log('Processing subscription cancellation due to max failed payment for the invoice ' . $invoice->get_id(), false);
485 485
 		$subscription->cancel();
486
-		wpinv_error_log( 'Subscription cancelled.', false );
486
+		wpinv_error_log('Subscription cancelled.', false);
487 487
 	}
488 488
 
489 489
 }
Please login to merge, or discard this patch.
includes/admin/meta-boxes/class-getpaid-meta-box-invoice-address.php 2 patches
Indentation   +277 added lines, -277 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
  */
9 9
 
10 10
 if ( ! defined( 'ABSPATH' ) ) {
11
-	exit; // Exit if accessed directly
11
+    exit; // Exit if accessed directly
12 12
 }
13 13
 
14 14
 /**
@@ -16,85 +16,85 @@  discard block
 block discarded – undo
16 16
  */
17 17
 class GetPaid_Meta_Box_Invoice_Address {
18 18
 
19
-	/**
20
-	 * Output the metabox.
21
-	 *
22
-	 * @param WP_Post $post
23
-	 */
24
-	public static function output( $post ) {
25
-
26
-		// Prepare the invoice.
27
-		$invoice  = new WPInv_Invoice( $post );
28
-		$customer = $invoice->exists() ? $invoice->get_user_id( 'edit' ) : get_current_user_id();
29
-		$customer = new WP_User( $customer );
30
-		$display  = sprintf( _x( '%1$s (%2$s)', 'user dropdown', 'invoicing' ), $customer->display_name, $customer->user_email );
31
-		wp_nonce_field( 'getpaid_meta_nonce', 'getpaid_meta_nonce' );
32
-
33
-		// Address fields.
34
-		$address_fields = array(
35
-			'first_name' => array(
36
-				'label' => __( 'First Name', 'invoicing' ),
37
-				'type'  => 'text',
38
-			),
39
-			'last_name'  => array(
40
-				'label' => __( 'Last Name', 'invoicing' ),
41
-				'type'  => 'text',
42
-			),
43
-			'company'    => array(
44
-				'label' => __( 'Company', 'invoicing' ),
45
-				'type'  => 'text',
46
-				'class' => 'getpaid-recalculate-prices-on-change',
47
-			),
48
-			'vat_number' => array(
49
-				'label' => __( 'VAT Number', 'invoicing' ),
50
-				'type'  => 'text',
51
-				'class' => 'getpaid-recalculate-prices-on-change',
52
-			),
53
-			'address'    => array(
54
-				'label' => __( 'Address', 'invoicing' ),
55
-				'type'  => 'text',
56
-			),
57
-			'city'       => array(
58
-				'label' => __( 'City', 'invoicing' ),
59
-				'type'  => 'text',
60
-			),
61
-			'country'    => array(
62
-				'label'       => __( 'Country', 'invoicing' ),
63
-				'type'        => 'select',
64
-				'class'       => 'getpaid-recalculate-prices-on-change',
65
-				'options'     => wpinv_get_country_list(),
66
-				'placeholder' => __( 'Choose a country', 'invoicing' ),
67
-			),
68
-			'state'      => array(
69
-				'label' => __( 'State', 'invoicing' ),
70
-				'type'  => 'text',
71
-				'class' => 'getpaid-recalculate-prices-on-change',
72
-			),
73
-			'zip'        => array(
74
-				'label' => __( 'Zip', 'invoicing' ),
75
-				'type'  => 'text',
76
-			),
77
-			'phone'      => array(
78
-				'label' => __( 'Phone', 'invoicing' ),
79
-				'type'  => 'text',
80
-			),
81
-		);
82
-
83
-		$states = wpinv_get_country_states( $invoice->get_country( 'edit' ) );
84
-
85
-		if ( ! empty( $states ) ) {
86
-			$address_fields['state']['type']        = 'select';
87
-			$address_fields['state']['options']     = $states;
88
-			$address_fields['state']['placeholder'] = __( 'Choose a state', 'invoicing' );
89
-		}
90
-
91
-		// Maybe remove the VAT field.
92
-		if ( ! wpinv_use_taxes() ) {
93
-			unset( $address_fields['vat_number'] );
94
-		}
95
-
96
-		$address_fields = apply_filters( 'getpaid_admin_edit_invoice_address_fields', $address_fields, $invoice );
97
-		?>
19
+    /**
20
+     * Output the metabox.
21
+     *
22
+     * @param WP_Post $post
23
+     */
24
+    public static function output( $post ) {
25
+
26
+        // Prepare the invoice.
27
+        $invoice  = new WPInv_Invoice( $post );
28
+        $customer = $invoice->exists() ? $invoice->get_user_id( 'edit' ) : get_current_user_id();
29
+        $customer = new WP_User( $customer );
30
+        $display  = sprintf( _x( '%1$s (%2$s)', 'user dropdown', 'invoicing' ), $customer->display_name, $customer->user_email );
31
+        wp_nonce_field( 'getpaid_meta_nonce', 'getpaid_meta_nonce' );
32
+
33
+        // Address fields.
34
+        $address_fields = array(
35
+            'first_name' => array(
36
+                'label' => __( 'First Name', 'invoicing' ),
37
+                'type'  => 'text',
38
+            ),
39
+            'last_name'  => array(
40
+                'label' => __( 'Last Name', 'invoicing' ),
41
+                'type'  => 'text',
42
+            ),
43
+            'company'    => array(
44
+                'label' => __( 'Company', 'invoicing' ),
45
+                'type'  => 'text',
46
+                'class' => 'getpaid-recalculate-prices-on-change',
47
+            ),
48
+            'vat_number' => array(
49
+                'label' => __( 'VAT Number', 'invoicing' ),
50
+                'type'  => 'text',
51
+                'class' => 'getpaid-recalculate-prices-on-change',
52
+            ),
53
+            'address'    => array(
54
+                'label' => __( 'Address', 'invoicing' ),
55
+                'type'  => 'text',
56
+            ),
57
+            'city'       => array(
58
+                'label' => __( 'City', 'invoicing' ),
59
+                'type'  => 'text',
60
+            ),
61
+            'country'    => array(
62
+                'label'       => __( 'Country', 'invoicing' ),
63
+                'type'        => 'select',
64
+                'class'       => 'getpaid-recalculate-prices-on-change',
65
+                'options'     => wpinv_get_country_list(),
66
+                'placeholder' => __( 'Choose a country', 'invoicing' ),
67
+            ),
68
+            'state'      => array(
69
+                'label' => __( 'State', 'invoicing' ),
70
+                'type'  => 'text',
71
+                'class' => 'getpaid-recalculate-prices-on-change',
72
+            ),
73
+            'zip'        => array(
74
+                'label' => __( 'Zip', 'invoicing' ),
75
+                'type'  => 'text',
76
+            ),
77
+            'phone'      => array(
78
+                'label' => __( 'Phone', 'invoicing' ),
79
+                'type'  => 'text',
80
+            ),
81
+        );
82
+
83
+        $states = wpinv_get_country_states( $invoice->get_country( 'edit' ) );
84
+
85
+        if ( ! empty( $states ) ) {
86
+            $address_fields['state']['type']        = 'select';
87
+            $address_fields['state']['options']     = $states;
88
+            $address_fields['state']['placeholder'] = __( 'Choose a state', 'invoicing' );
89
+        }
90
+
91
+        // Maybe remove the VAT field.
92
+        if ( ! wpinv_use_taxes() ) {
93
+            unset( $address_fields['vat_number'] );
94
+        }
95
+
96
+        $address_fields = apply_filters( 'getpaid_admin_edit_invoice_address_fields', $address_fields, $invoice );
97
+        ?>
98 98
 
99 99
 		<style>
100 100
 			#wpinv-address label {
@@ -119,19 +119,19 @@  discard block
 block discarded – undo
119 119
 							<div id="getpaid-invoice-email-wrapper" class="d-none">
120 120
 								<input type="hidden" id="getpaid-invoice-create-new-user" name="wpinv_new_user" value="" />
121 121
 								<?php
122
-									aui()->input(
123
-										array(
124
-											'type'        => 'text',
125
-											'id'          => 'getpaid-invoice-new-user-email',
126
-											'name'        => 'wpinv_email',
127
-											'label'       => __( 'Email', 'invoicing' ) . '<span class="required">*</span>',
128
-											'label_type'  => 'vertical',
129
-											'placeholder' => '[email protected]',
130
-											'class'       => 'form-control-sm',
131
-										),
132
-										true
133
-									);
134
-								?>
122
+                                    aui()->input(
123
+                                        array(
124
+                                            'type'        => 'text',
125
+                                            'id'          => 'getpaid-invoice-new-user-email',
126
+                                            'name'        => 'wpinv_email',
127
+                                            'label'       => __( 'Email', 'invoicing' ) . '<span class="required">*</span>',
128
+                                            'label_type'  => 'vertical',
129
+                                            'placeholder' => '[email protected]',
130
+                                            'class'       => 'form-control-sm',
131
+                                        ),
132
+                                        true
133
+                                    );
134
+                                ?>
135 135
 							</div>
136 136
 						</div>
137 137
 						<div class="col-12 col-sm-6 form-group mb-3 mt-sm-4">
@@ -155,39 +155,39 @@  discard block
 block discarded – undo
155 155
 							<div class="col-12 col-sm-6 getpaid-invoice-address-field__<?php echo esc_attr( $key ); ?>--wrapper">
156 156
 								<?php
157 157
 
158
-									if ( 'select' === $field['type'] ) {
159
-										aui()->select(
160
-											array(
161
-												'id'               => 'wpinv_' . $key,
162
-												'name'             => 'wpinv_' . $key,
163
-												'label'            => $field['label'],
164
-												'label_type'       => 'vertical',
165
-												'placeholder'      => isset( $field['placeholder'] ) ? $field['placeholder'] : '',
166
-												'class'            => 'form-control-sm ' . ( isset( $field['class'] ) ? $field['class'] : '' ),
167
-												'value'            => $invoice->get( $key, 'edit' ),
168
-												'options'          => $field['options'],
169
-												'data-allow-clear' => 'false',
170
-												'select2'          => true,
171
-											),
172
-											true
173
-										);
174
-									} else {
175
-										aui()->input(
176
-											array(
177
-												'type'        => $field['type'],
178
-												'id'          => 'wpinv_' . $key,
179
-												'name'        => 'wpinv_' . $key,
180
-												'label'       => $field['label'],
181
-												'label_type'  => 'vertical',
182
-												'placeholder' => isset( $field['placeholder'] ) ? $field['placeholder'] : '',
183
-												'class'       => 'form-control-sm ' . ( isset( $field['class'] ) ? $field['class'] : '' ),
184
-												'value'       => $invoice->get( $key, 'edit' ),
185
-											),
186
-											true
187
-										);
188
-									}
189
-
190
-								?>
158
+                                    if ( 'select' === $field['type'] ) {
159
+                                        aui()->select(
160
+                                            array(
161
+                                                'id'               => 'wpinv_' . $key,
162
+                                                'name'             => 'wpinv_' . $key,
163
+                                                'label'            => $field['label'],
164
+                                                'label_type'       => 'vertical',
165
+                                                'placeholder'      => isset( $field['placeholder'] ) ? $field['placeholder'] : '',
166
+                                                'class'            => 'form-control-sm ' . ( isset( $field['class'] ) ? $field['class'] : '' ),
167
+                                                'value'            => $invoice->get( $key, 'edit' ),
168
+                                                'options'          => $field['options'],
169
+                                                'data-allow-clear' => 'false',
170
+                                                'select2'          => true,
171
+                                            ),
172
+                                            true
173
+                                        );
174
+                                    } else {
175
+                                        aui()->input(
176
+                                            array(
177
+                                                'type'        => $field['type'],
178
+                                                'id'          => 'wpinv_' . $key,
179
+                                                'name'        => 'wpinv_' . $key,
180
+                                                'label'       => $field['label'],
181
+                                                'label_type'  => 'vertical',
182
+                                                'placeholder' => isset( $field['placeholder'] ) ? $field['placeholder'] : '',
183
+                                                'class'       => 'form-control-sm ' . ( isset( $field['class'] ) ? $field['class'] : '' ),
184
+                                                'value'       => $invoice->get( $key, 'edit' ),
185
+                                            ),
186
+                                            true
187
+                                        );
188
+                                    }
189
+
190
+                                ?>
191 191
 							</div>
192 192
 						<?php endforeach; ?>
193 193
 					</div>
@@ -198,48 +198,48 @@  discard block
 block discarded – undo
198 198
 						<div class="row">
199 199
 							<div class="col-12 col-sm-6">
200 200
 								<?php
201
-									aui()->select(
202
-										array(
203
-											'id'          => 'wpinv_template',
204
-											'name'        => 'wpinv_template',
205
-											'label'       => __( 'Template', 'invoicing' ),
206
-											'label_type'  => 'vertical',
207
-											'placeholder' => __( 'Choose a template', 'invoicing' ),
208
-											'class'       => 'form-control-sm',
209
-											'value'       => $invoice->get_template( 'edit' ),
210
-											'options'     => array(
211
-												'quantity' => __( 'Quantity', 'invoicing' ),
212
-												'hours'    => __( 'Hours', 'invoicing' ),
213
-											),
214
-											'data-allow-clear' => 'false',
215
-											'select2'     => true,
216
-										),
217
-										true
218
-									);
219
-								?>
201
+                                    aui()->select(
202
+                                        array(
203
+                                            'id'          => 'wpinv_template',
204
+                                            'name'        => 'wpinv_template',
205
+                                            'label'       => __( 'Template', 'invoicing' ),
206
+                                            'label_type'  => 'vertical',
207
+                                            'placeholder' => __( 'Choose a template', 'invoicing' ),
208
+                                            'class'       => 'form-control-sm',
209
+                                            'value'       => $invoice->get_template( 'edit' ),
210
+                                            'options'     => array(
211
+                                                'quantity' => __( 'Quantity', 'invoicing' ),
212
+                                                'hours'    => __( 'Hours', 'invoicing' ),
213
+                                            ),
214
+                                            'data-allow-clear' => 'false',
215
+                                            'select2'     => true,
216
+                                        ),
217
+                                        true
218
+                                    );
219
+                                ?>
220 220
 							</div>
221 221
 							<div class="col-12 col-sm-6">
222 222
 								<?php
223 223
 
224
-									// Set currency.
225
-									aui()->select(
226
-										array(
227
-											'id'          => 'wpinv_currency',
228
-											'name'        => 'wpinv_currency',
229
-											'label'       => __( 'Currency', 'invoicing' ),
230
-											'label_type'  => 'vertical',
231
-											'placeholder' => __( 'Select Invoice Currency', 'invoicing' ),
232
-											'class'       => 'form-control-sm getpaid-recalculate-prices-on-change',
233
-											'value'       => $invoice->get_currency( 'edit' ),
234
-											'required'    => false,
235
-											'data-allow-clear' => 'false',
236
-											'select2'     => true,
237
-											'options'     => wpinv_get_currencies(),
238
-										),
239
-										true
240
-									);
241
-
242
-								?>
224
+                                    // Set currency.
225
+                                    aui()->select(
226
+                                        array(
227
+                                            'id'          => 'wpinv_currency',
228
+                                            'name'        => 'wpinv_currency',
229
+                                            'label'       => __( 'Currency', 'invoicing' ),
230
+                                            'label_type'  => 'vertical',
231
+                                            'placeholder' => __( 'Select Invoice Currency', 'invoicing' ),
232
+                                            'class'       => 'form-control-sm getpaid-recalculate-prices-on-change',
233
+                                            'value'       => $invoice->get_currency( 'edit' ),
234
+                                            'required'    => false,
235
+                                            'data-allow-clear' => 'false',
236
+                                            'select2'     => true,
237
+                                            'options'     => wpinv_get_currencies(),
238
+                                        ),
239
+                                        true
240
+                                    );
241
+
242
+                                ?>
243 243
 							</div>
244 244
 						</div>
245 245
 
@@ -249,123 +249,123 @@  discard block
 block discarded – undo
249 249
 					<div class="row">
250 250
 						<div class="col-12 col-sm-6">
251 251
 							<?php
252
-								aui()->input(
253
-									array(
254
-										'type'        => 'text',
255
-										'id'          => 'wpinv_company_id',
256
-										'name'        => 'wpinv_company_id',
257
-										'label'       => __( 'Company ID', 'invoicing' ),
258
-										'label_type'  => 'vertical',
259
-										'placeholder' => '',
260
-										'class'       => 'form-control-sm',
261
-										'value'       => $invoice->get_company_id( 'edit' ),
262
-									),
263
-									true
264
-								);
265
-							?>
252
+                                aui()->input(
253
+                                    array(
254
+                                        'type'        => 'text',
255
+                                        'id'          => 'wpinv_company_id',
256
+                                        'name'        => 'wpinv_company_id',
257
+                                        'label'       => __( 'Company ID', 'invoicing' ),
258
+                                        'label_type'  => 'vertical',
259
+                                        'placeholder' => '',
260
+                                        'class'       => 'form-control-sm',
261
+                                        'value'       => $invoice->get_company_id( 'edit' ),
262
+                                    ),
263
+                                    true
264
+                                );
265
+                            ?>
266 266
 						</div>
267 267
 					</div>
268 268
 
269 269
 					<?php do_action( 'getpaid_after_metabox_invoice_address', $invoice ); ?>
270 270
 			</div>
271 271
 		<?php
272
-	}
273
-
274
-	/**
275
-	 * Save meta box data.
276
-	 *
277
-	 * @param int $post_id
278
-	 * @param array $posted the posted data.
279
-	 */
280
-	public static function save( $post_id, $posted ) {
281
-
282
-		// Prepare the invoice.
283
-		$invoice = new WPInv_Invoice( $post_id );
284
-
285
-		// Load new data.
286
-		$invoice->set_props(
287
-			array(
288
-				'template'       => isset( $posted['wpinv_template'] ) ? wpinv_clean( $posted['wpinv_template'] ) : null,
289
-				'email_cc'       => isset( $posted['wpinv_cc'] ) ? wpinv_clean( $posted['wpinv_cc'] ) : null,
290
-				'disable_taxes'  => ! empty( $posted['disable_taxes'] ),
291
-				'currency'       => isset( $posted['wpinv_currency'] ) ? wpinv_clean( $posted['wpinv_currency'] ) : null,
292
-				'gateway'        => ( $invoice->needs_payment() && isset( $posted['wpinv_gateway'] ) ) ? wpinv_clean( $posted['wpinv_gateway'] ) : null,
293
-				'address'        => isset( $posted['wpinv_address'] ) ? wpinv_clean( $posted['wpinv_address'] ) : null,
294
-				'vat_number'     => isset( $posted['wpinv_vat_number'] ) ? wpinv_clean( $posted['wpinv_vat_number'] ) : null,
295
-				'company'        => isset( $posted['wpinv_company'] ) ? wpinv_clean( $posted['wpinv_company'] ) : null,
296
-				'company_id'     => isset( $posted['wpinv_company_id'] ) ? wpinv_clean( $posted['wpinv_company_id'] ) : null,
297
-				'zip'            => isset( $posted['wpinv_zip'] ) ? wpinv_clean( $posted['wpinv_zip'] ) : null,
298
-				'state'          => isset( $posted['wpinv_state'] ) ? wpinv_clean( $posted['wpinv_state'] ) : null,
299
-				'city'           => isset( $posted['wpinv_city'] ) ? wpinv_clean( $posted['wpinv_city'] ) : null,
300
-				'country'        => isset( $posted['wpinv_country'] ) ? wpinv_clean( $posted['wpinv_country'] ) : null,
301
-				'phone'          => isset( $posted['wpinv_phone'] ) ? wpinv_clean( $posted['wpinv_phone'] ) : null,
302
-				'first_name'     => isset( $posted['wpinv_first_name'] ) ? wpinv_clean( $posted['wpinv_first_name'] ) : null,
303
-				'last_name'      => isset( $posted['wpinv_last_name'] ) ? wpinv_clean( $posted['wpinv_last_name'] ) : null,
304
-				'author'         => isset( $posted['post_author_override'] ) ? wpinv_clean( $posted['post_author_override'] ) : null,
305
-				'date_created'   => isset( $posted['date_created'] ) ? wpinv_clean( $posted['date_created'] ) : null,
306
-				'date_completed' => isset( $posted['wpinv_date_completed'] ) ? wpinv_clean( $posted['wpinv_date_completed'] ) : null,
307
-				'due_date'       => isset( $posted['wpinv_due_date'] ) ? wpinv_clean( $posted['wpinv_due_date'] ) : null,
308
-				'number'         => isset( $posted['wpinv_number'] ) ? wpinv_clean( $posted['wpinv_number'] ) : null,
309
-				'status'         => isset( $posted['wpinv_status'] ) ? wpinv_clean( $posted['wpinv_status'] ) : null,
310
-			)
311
-		);
312
-
313
-		// Discount code.
314
-		if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) {
315
-
316
-			if ( isset( $posted['wpinv_discount_code'] ) ) {
317
-				$invoice->set_discount_code( wpinv_clean( $posted['wpinv_discount_code'] ) );
318
-			}
319
-
320
-			$discount = new WPInv_Discount( $invoice->get_discount_code() );
321
-			if ( $discount->exists() ) {
322
-				$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
323
-			} else {
324
-				$invoice->remove_discount( 'discount_code' );
325
-			}
326
-
327
-			// Recalculate totals.
328
-			$invoice->recalculate_total();
329
-
330
-		}
331
-
332
-		// If we're creating a new user...
333
-		if ( ! empty( $posted['wpinv_new_user'] ) && is_email( stripslashes( $posted['wpinv_email'] ) ) ) {
334
-
335
-			// Attempt to create the user.
336
-			$user = wpinv_create_user( sanitize_email( stripslashes( $posted['wpinv_email'] ) ), $invoice->get_first_name() . $invoice->get_last_name() );
337
-
338
-			// If successful, update the invoice author.
339
-			if ( is_numeric( $user ) ) {
340
-				$invoice->set_author( $user );
341
-			} else {
342
-				wpinv_error_log( $user->get_error_message(), __( 'Invoice add new user', 'invoicing' ), __FILE__, __LINE__ );
343
-			}
344
-		}
345
-
346
-		// Do not send new invoice notifications.
347
-		$GLOBALS['wpinv_skip_invoice_notification'] = true;
348
-
349
-		// Save the invoice.
350
-		$invoice->save();
351
-
352
-		// Save the user address.
353
-		getpaid_save_invoice_user_address( $invoice );
354
-
355
-		// Undo do not send new invoice notifications.
356
-		$GLOBALS['wpinv_skip_invoice_notification'] = false;
357
-
358
-		// (Maybe) send new user notification.
359
-		$should_send_notification = wpinv_get_option( 'disable_new_user_emails' );
360
-		if ( ! empty( $user ) && is_numeric( $user ) && apply_filters( 'getpaid_send_new_user_notification', empty( $should_send_notification ) ) ) {
361
-			wp_send_new_user_notifications( $user, 'user' );
362
-		}
363
-
364
-		if ( ! empty( $posted['send_to_customer'] ) && ! $invoice->is_draft() ) {
365
-			getpaid()->get( 'invoice_emails' )->user_invoice( $invoice, true );
366
-		}
367
-
368
-		// Fires after an invoice is saved.
369
-		do_action( 'wpinv_invoice_metabox_saved', $invoice );
370
-	}
272
+    }
273
+
274
+    /**
275
+     * Save meta box data.
276
+     *
277
+     * @param int $post_id
278
+     * @param array $posted the posted data.
279
+     */
280
+    public static function save( $post_id, $posted ) {
281
+
282
+        // Prepare the invoice.
283
+        $invoice = new WPInv_Invoice( $post_id );
284
+
285
+        // Load new data.
286
+        $invoice->set_props(
287
+            array(
288
+                'template'       => isset( $posted['wpinv_template'] ) ? wpinv_clean( $posted['wpinv_template'] ) : null,
289
+                'email_cc'       => isset( $posted['wpinv_cc'] ) ? wpinv_clean( $posted['wpinv_cc'] ) : null,
290
+                'disable_taxes'  => ! empty( $posted['disable_taxes'] ),
291
+                'currency'       => isset( $posted['wpinv_currency'] ) ? wpinv_clean( $posted['wpinv_currency'] ) : null,
292
+                'gateway'        => ( $invoice->needs_payment() && isset( $posted['wpinv_gateway'] ) ) ? wpinv_clean( $posted['wpinv_gateway'] ) : null,
293
+                'address'        => isset( $posted['wpinv_address'] ) ? wpinv_clean( $posted['wpinv_address'] ) : null,
294
+                'vat_number'     => isset( $posted['wpinv_vat_number'] ) ? wpinv_clean( $posted['wpinv_vat_number'] ) : null,
295
+                'company'        => isset( $posted['wpinv_company'] ) ? wpinv_clean( $posted['wpinv_company'] ) : null,
296
+                'company_id'     => isset( $posted['wpinv_company_id'] ) ? wpinv_clean( $posted['wpinv_company_id'] ) : null,
297
+                'zip'            => isset( $posted['wpinv_zip'] ) ? wpinv_clean( $posted['wpinv_zip'] ) : null,
298
+                'state'          => isset( $posted['wpinv_state'] ) ? wpinv_clean( $posted['wpinv_state'] ) : null,
299
+                'city'           => isset( $posted['wpinv_city'] ) ? wpinv_clean( $posted['wpinv_city'] ) : null,
300
+                'country'        => isset( $posted['wpinv_country'] ) ? wpinv_clean( $posted['wpinv_country'] ) : null,
301
+                'phone'          => isset( $posted['wpinv_phone'] ) ? wpinv_clean( $posted['wpinv_phone'] ) : null,
302
+                'first_name'     => isset( $posted['wpinv_first_name'] ) ? wpinv_clean( $posted['wpinv_first_name'] ) : null,
303
+                'last_name'      => isset( $posted['wpinv_last_name'] ) ? wpinv_clean( $posted['wpinv_last_name'] ) : null,
304
+                'author'         => isset( $posted['post_author_override'] ) ? wpinv_clean( $posted['post_author_override'] ) : null,
305
+                'date_created'   => isset( $posted['date_created'] ) ? wpinv_clean( $posted['date_created'] ) : null,
306
+                'date_completed' => isset( $posted['wpinv_date_completed'] ) ? wpinv_clean( $posted['wpinv_date_completed'] ) : null,
307
+                'due_date'       => isset( $posted['wpinv_due_date'] ) ? wpinv_clean( $posted['wpinv_due_date'] ) : null,
308
+                'number'         => isset( $posted['wpinv_number'] ) ? wpinv_clean( $posted['wpinv_number'] ) : null,
309
+                'status'         => isset( $posted['wpinv_status'] ) ? wpinv_clean( $posted['wpinv_status'] ) : null,
310
+            )
311
+        );
312
+
313
+        // Discount code.
314
+        if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) {
315
+
316
+            if ( isset( $posted['wpinv_discount_code'] ) ) {
317
+                $invoice->set_discount_code( wpinv_clean( $posted['wpinv_discount_code'] ) );
318
+            }
319
+
320
+            $discount = new WPInv_Discount( $invoice->get_discount_code() );
321
+            if ( $discount->exists() ) {
322
+                $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
323
+            } else {
324
+                $invoice->remove_discount( 'discount_code' );
325
+            }
326
+
327
+            // Recalculate totals.
328
+            $invoice->recalculate_total();
329
+
330
+        }
331
+
332
+        // If we're creating a new user...
333
+        if ( ! empty( $posted['wpinv_new_user'] ) && is_email( stripslashes( $posted['wpinv_email'] ) ) ) {
334
+
335
+            // Attempt to create the user.
336
+            $user = wpinv_create_user( sanitize_email( stripslashes( $posted['wpinv_email'] ) ), $invoice->get_first_name() . $invoice->get_last_name() );
337
+
338
+            // If successful, update the invoice author.
339
+            if ( is_numeric( $user ) ) {
340
+                $invoice->set_author( $user );
341
+            } else {
342
+                wpinv_error_log( $user->get_error_message(), __( 'Invoice add new user', 'invoicing' ), __FILE__, __LINE__ );
343
+            }
344
+        }
345
+
346
+        // Do not send new invoice notifications.
347
+        $GLOBALS['wpinv_skip_invoice_notification'] = true;
348
+
349
+        // Save the invoice.
350
+        $invoice->save();
351
+
352
+        // Save the user address.
353
+        getpaid_save_invoice_user_address( $invoice );
354
+
355
+        // Undo do not send new invoice notifications.
356
+        $GLOBALS['wpinv_skip_invoice_notification'] = false;
357
+
358
+        // (Maybe) send new user notification.
359
+        $should_send_notification = wpinv_get_option( 'disable_new_user_emails' );
360
+        if ( ! empty( $user ) && is_numeric( $user ) && apply_filters( 'getpaid_send_new_user_notification', empty( $should_send_notification ) ) ) {
361
+            wp_send_new_user_notifications( $user, 'user' );
362
+        }
363
+
364
+        if ( ! empty( $posted['send_to_customer'] ) && ! $invoice->is_draft() ) {
365
+            getpaid()->get( 'invoice_emails' )->user_invoice( $invoice, true );
366
+        }
367
+
368
+        // Fires after an invoice is saved.
369
+        do_action( 'wpinv_invoice_metabox_saved', $invoice );
370
+    }
371 371
 }
Please login to merge, or discard this patch.
Spacing   +98 added lines, -98 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
  *
8 8
  */
9 9
 
10
-if ( ! defined( 'ABSPATH' ) ) {
10
+if (!defined('ABSPATH')) {
11 11
 	exit; // Exit if accessed directly
12 12
 }
13 13
 
@@ -21,79 +21,79 @@  discard block
 block discarded – undo
21 21
 	 *
22 22
 	 * @param WP_Post $post
23 23
 	 */
24
-	public static function output( $post ) {
24
+	public static function output($post) {
25 25
 
26 26
 		// Prepare the invoice.
27
-		$invoice  = new WPInv_Invoice( $post );
28
-		$customer = $invoice->exists() ? $invoice->get_user_id( 'edit' ) : get_current_user_id();
29
-		$customer = new WP_User( $customer );
30
-		$display  = sprintf( _x( '%1$s (%2$s)', 'user dropdown', 'invoicing' ), $customer->display_name, $customer->user_email );
31
-		wp_nonce_field( 'getpaid_meta_nonce', 'getpaid_meta_nonce' );
27
+		$invoice  = new WPInv_Invoice($post);
28
+		$customer = $invoice->exists() ? $invoice->get_user_id('edit') : get_current_user_id();
29
+		$customer = new WP_User($customer);
30
+		$display  = sprintf(_x('%1$s (%2$s)', 'user dropdown', 'invoicing'), $customer->display_name, $customer->user_email);
31
+		wp_nonce_field('getpaid_meta_nonce', 'getpaid_meta_nonce');
32 32
 
33 33
 		// Address fields.
34 34
 		$address_fields = array(
35 35
 			'first_name' => array(
36
-				'label' => __( 'First Name', 'invoicing' ),
36
+				'label' => __('First Name', 'invoicing'),
37 37
 				'type'  => 'text',
38 38
 			),
39 39
 			'last_name'  => array(
40
-				'label' => __( 'Last Name', 'invoicing' ),
40
+				'label' => __('Last Name', 'invoicing'),
41 41
 				'type'  => 'text',
42 42
 			),
43 43
 			'company'    => array(
44
-				'label' => __( 'Company', 'invoicing' ),
44
+				'label' => __('Company', 'invoicing'),
45 45
 				'type'  => 'text',
46 46
 				'class' => 'getpaid-recalculate-prices-on-change',
47 47
 			),
48 48
 			'vat_number' => array(
49
-				'label' => __( 'VAT Number', 'invoicing' ),
49
+				'label' => __('VAT Number', 'invoicing'),
50 50
 				'type'  => 'text',
51 51
 				'class' => 'getpaid-recalculate-prices-on-change',
52 52
 			),
53 53
 			'address'    => array(
54
-				'label' => __( 'Address', 'invoicing' ),
54
+				'label' => __('Address', 'invoicing'),
55 55
 				'type'  => 'text',
56 56
 			),
57 57
 			'city'       => array(
58
-				'label' => __( 'City', 'invoicing' ),
58
+				'label' => __('City', 'invoicing'),
59 59
 				'type'  => 'text',
60 60
 			),
61 61
 			'country'    => array(
62
-				'label'       => __( 'Country', 'invoicing' ),
62
+				'label'       => __('Country', 'invoicing'),
63 63
 				'type'        => 'select',
64 64
 				'class'       => 'getpaid-recalculate-prices-on-change',
65 65
 				'options'     => wpinv_get_country_list(),
66
-				'placeholder' => __( 'Choose a country', 'invoicing' ),
66
+				'placeholder' => __('Choose a country', 'invoicing'),
67 67
 			),
68 68
 			'state'      => array(
69
-				'label' => __( 'State', 'invoicing' ),
69
+				'label' => __('State', 'invoicing'),
70 70
 				'type'  => 'text',
71 71
 				'class' => 'getpaid-recalculate-prices-on-change',
72 72
 			),
73 73
 			'zip'        => array(
74
-				'label' => __( 'Zip', 'invoicing' ),
74
+				'label' => __('Zip', 'invoicing'),
75 75
 				'type'  => 'text',
76 76
 			),
77 77
 			'phone'      => array(
78
-				'label' => __( 'Phone', 'invoicing' ),
78
+				'label' => __('Phone', 'invoicing'),
79 79
 				'type'  => 'text',
80 80
 			),
81 81
 		);
82 82
 
83
-		$states = wpinv_get_country_states( $invoice->get_country( 'edit' ) );
83
+		$states = wpinv_get_country_states($invoice->get_country('edit'));
84 84
 
85
-		if ( ! empty( $states ) ) {
85
+		if (!empty($states)) {
86 86
 			$address_fields['state']['type']        = 'select';
87 87
 			$address_fields['state']['options']     = $states;
88
-			$address_fields['state']['placeholder'] = __( 'Choose a state', 'invoicing' );
88
+			$address_fields['state']['placeholder'] = __('Choose a state', 'invoicing');
89 89
 		}
90 90
 
91 91
 		// Maybe remove the VAT field.
92
-		if ( ! wpinv_use_taxes() ) {
93
-			unset( $address_fields['vat_number'] );
92
+		if (!wpinv_use_taxes()) {
93
+			unset($address_fields['vat_number']);
94 94
 		}
95 95
 
96
-		$address_fields = apply_filters( 'getpaid_admin_edit_invoice_address_fields', $address_fields, $invoice );
96
+		$address_fields = apply_filters('getpaid_admin_edit_invoice_address_fields', $address_fields, $invoice);
97 97
 		?>
98 98
 
99 99
 		<style>
@@ -107,11 +107,11 @@  discard block
 block discarded – undo
107 107
 						<div class="col-12 col-sm-6">
108 108
 							<div id="getpaid-invoice-user-id-wrapper" class="form-group mb-3">
109 109
 								<div>
110
-									<label for="post_author_override"><?php esc_html_e( 'Customer', 'invoicing' ); ?></label>
110
+									<label for="post_author_override"><?php esc_html_e('Customer', 'invoicing'); ?></label>
111 111
 								</div>
112 112
 								<div>
113
-									<select name="post_author_override" id="wpinv_post_author_override" class="getpaid-customer-search form-control regular-text" data-placeholder="<?php esc_attr_e( 'Search for a customer by email or name', 'invoicing' ); ?>">
114
-										<option selected="selected" value="<?php echo (int) $customer->ID; ?>"><?php echo esc_html( $display ); ?> </option>)
113
+									<select name="post_author_override" id="wpinv_post_author_override" class="getpaid-customer-search form-control regular-text" data-placeholder="<?php esc_attr_e('Search for a customer by email or name', 'invoicing'); ?>">
114
+										<option selected="selected" value="<?php echo (int) $customer->ID; ?>"><?php echo esc_html($display); ?> </option>)
115 115
 									</select>
116 116
 								</div>
117 117
 							</div>
@@ -124,7 +124,7 @@  discard block
 block discarded – undo
124 124
 											'type'        => 'text',
125 125
 											'id'          => 'getpaid-invoice-new-user-email',
126 126
 											'name'        => 'wpinv_email',
127
-											'label'       => __( 'Email', 'invoicing' ) . '<span class="required">*</span>',
127
+											'label'       => __('Email', 'invoicing') . '<span class="required">*</span>',
128 128
 											'label_type'  => 'vertical',
129 129
 											'placeholder' => '[email protected]',
130 130
 											'class'       => 'form-control-sm',
@@ -135,36 +135,36 @@  discard block
 block discarded – undo
135 135
 							</div>
136 136
 						</div>
137 137
 						<div class="col-12 col-sm-6 form-group mb-3 mt-sm-4">
138
-							<?php if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) : ?>
138
+							<?php if (!$invoice->is_paid() && !$invoice->is_refunded()) : ?>
139 139
 								<a id="getpaid-invoice-fill-user-details" class="button button-small button-secondary" href="javascript:void(0)">
140 140
 									<i aria-hidden="true" class="fa fa-refresh"></i>
141
-									<?php esc_html_e( 'Fill User Details', 'invoicing' ); ?>
141
+									<?php esc_html_e('Fill User Details', 'invoicing'); ?>
142 142
 								</a>
143 143
 								<a id="getpaid-invoice-create-new-user-button" class="button button-small button-secondary" href="javascript:void(0)">
144 144
 									<i aria-hidden="true" class="fa fa-plus"></i>
145
-									<?php esc_html_e( 'Add New User', 'invoicing' ); ?>
145
+									<?php esc_html_e('Add New User', 'invoicing'); ?>
146 146
 								</a>
147 147
 								<a id="getpaid-invoice-cancel-create-new-user" class="button button-small button-secondary d-none" href="javascript:void(0)">
148 148
 									<i aria-hidden="true" class="fa fa-close"></i>
149
-									<?php esc_html_e( 'Cancel', 'invoicing' ); ?>
149
+									<?php esc_html_e('Cancel', 'invoicing'); ?>
150 150
 								</a>
151 151
 							<?php endif; ?>
152 152
 						</div>
153 153
 
154
-						<?php foreach ( $address_fields as $key => $field ) : ?>
155
-							<div class="col-12 col-sm-6 getpaid-invoice-address-field__<?php echo esc_attr( $key ); ?>--wrapper">
154
+						<?php foreach ($address_fields as $key => $field) : ?>
155
+							<div class="col-12 col-sm-6 getpaid-invoice-address-field__<?php echo esc_attr($key); ?>--wrapper">
156 156
 								<?php
157 157
 
158
-									if ( 'select' === $field['type'] ) {
158
+									if ('select' === $field['type']) {
159 159
 										aui()->select(
160 160
 											array(
161 161
 												'id'               => 'wpinv_' . $key,
162 162
 												'name'             => 'wpinv_' . $key,
163 163
 												'label'            => $field['label'],
164 164
 												'label_type'       => 'vertical',
165
-												'placeholder'      => isset( $field['placeholder'] ) ? $field['placeholder'] : '',
166
-												'class'            => 'form-control-sm ' . ( isset( $field['class'] ) ? $field['class'] : '' ),
167
-												'value'            => $invoice->get( $key, 'edit' ),
165
+												'placeholder'      => isset($field['placeholder']) ? $field['placeholder'] : '',
166
+												'class'            => 'form-control-sm ' . (isset($field['class']) ? $field['class'] : ''),
167
+												'value'            => $invoice->get($key, 'edit'),
168 168
 												'options'          => $field['options'],
169 169
 												'data-allow-clear' => 'false',
170 170
 												'select2'          => true,
@@ -179,9 +179,9 @@  discard block
 block discarded – undo
179 179
 												'name'        => 'wpinv_' . $key,
180 180
 												'label'       => $field['label'],
181 181
 												'label_type'  => 'vertical',
182
-												'placeholder' => isset( $field['placeholder'] ) ? $field['placeholder'] : '',
183
-												'class'       => 'form-control-sm ' . ( isset( $field['class'] ) ? $field['class'] : '' ),
184
-												'value'       => $invoice->get( $key, 'edit' ),
182
+												'placeholder' => isset($field['placeholder']) ? $field['placeholder'] : '',
183
+												'class'       => 'form-control-sm ' . (isset($field['class']) ? $field['class'] : ''),
184
+												'value'       => $invoice->get($key, 'edit'),
185 185
 											),
186 186
 											true
187 187
 										);
@@ -192,8 +192,8 @@  discard block
 block discarded – undo
192 192
 						<?php endforeach; ?>
193 193
 					</div>
194 194
 
195
-					<?php if ( ! apply_filters( 'getpaid_use_new_invoice_items_metabox', false ) ) : ?>
196
-						<?php do_action( 'wpinv_meta_box_before_invoice_template_row', $invoice->get_id() ); ?>
195
+					<?php if (!apply_filters('getpaid_use_new_invoice_items_metabox', false)) : ?>
196
+						<?php do_action('wpinv_meta_box_before_invoice_template_row', $invoice->get_id()); ?>
197 197
 
198 198
 						<div class="row">
199 199
 							<div class="col-12 col-sm-6">
@@ -202,14 +202,14 @@  discard block
 block discarded – undo
202 202
 										array(
203 203
 											'id'          => 'wpinv_template',
204 204
 											'name'        => 'wpinv_template',
205
-											'label'       => __( 'Template', 'invoicing' ),
205
+											'label'       => __('Template', 'invoicing'),
206 206
 											'label_type'  => 'vertical',
207
-											'placeholder' => __( 'Choose a template', 'invoicing' ),
207
+											'placeholder' => __('Choose a template', 'invoicing'),
208 208
 											'class'       => 'form-control-sm',
209
-											'value'       => $invoice->get_template( 'edit' ),
209
+											'value'       => $invoice->get_template('edit'),
210 210
 											'options'     => array(
211
-												'quantity' => __( 'Quantity', 'invoicing' ),
212
-												'hours'    => __( 'Hours', 'invoicing' ),
211
+												'quantity' => __('Quantity', 'invoicing'),
212
+												'hours'    => __('Hours', 'invoicing'),
213 213
 											),
214 214
 											'data-allow-clear' => 'false',
215 215
 											'select2'     => true,
@@ -226,11 +226,11 @@  discard block
 block discarded – undo
226 226
 										array(
227 227
 											'id'          => 'wpinv_currency',
228 228
 											'name'        => 'wpinv_currency',
229
-											'label'       => __( 'Currency', 'invoicing' ),
229
+											'label'       => __('Currency', 'invoicing'),
230 230
 											'label_type'  => 'vertical',
231
-											'placeholder' => __( 'Select Invoice Currency', 'invoicing' ),
231
+											'placeholder' => __('Select Invoice Currency', 'invoicing'),
232 232
 											'class'       => 'form-control-sm getpaid-recalculate-prices-on-change',
233
-											'value'       => $invoice->get_currency( 'edit' ),
233
+											'value'       => $invoice->get_currency('edit'),
234 234
 											'required'    => false,
235 235
 											'data-allow-clear' => 'false',
236 236
 											'select2'     => true,
@@ -243,7 +243,7 @@  discard block
 block discarded – undo
243 243
 							</div>
244 244
 						</div>
245 245
 
246
-						<?php do_action( 'wpinv_meta_box_invoice_template_row', $invoice->get_id() ); ?>
246
+						<?php do_action('wpinv_meta_box_invoice_template_row', $invoice->get_id()); ?>
247 247
 					<?php endif; ?>
248 248
 
249 249
 					<div class="row">
@@ -254,11 +254,11 @@  discard block
 block discarded – undo
254 254
 										'type'        => 'text',
255 255
 										'id'          => 'wpinv_company_id',
256 256
 										'name'        => 'wpinv_company_id',
257
-										'label'       => __( 'Company ID', 'invoicing' ),
257
+										'label'       => __('Company ID', 'invoicing'),
258 258
 										'label_type'  => 'vertical',
259 259
 										'placeholder' => '',
260 260
 										'class'       => 'form-control-sm',
261
-										'value'       => $invoice->get_company_id( 'edit' ),
261
+										'value'       => $invoice->get_company_id('edit'),
262 262
 									),
263 263
 									true
264 264
 								);
@@ -266,7 +266,7 @@  discard block
 block discarded – undo
266 266
 						</div>
267 267
 					</div>
268 268
 
269
-					<?php do_action( 'getpaid_after_metabox_invoice_address', $invoice ); ?>
269
+					<?php do_action('getpaid_after_metabox_invoice_address', $invoice); ?>
270 270
 			</div>
271 271
 		<?php
272 272
 	}
@@ -277,51 +277,51 @@  discard block
 block discarded – undo
277 277
 	 * @param int $post_id
278 278
 	 * @param array $posted the posted data.
279 279
 	 */
280
-	public static function save( $post_id, $posted ) {
280
+	public static function save($post_id, $posted) {
281 281
 
282 282
 		// Prepare the invoice.
283
-		$invoice = new WPInv_Invoice( $post_id );
283
+		$invoice = new WPInv_Invoice($post_id);
284 284
 
285 285
 		// Load new data.
286 286
 		$invoice->set_props(
287 287
 			array(
288
-				'template'       => isset( $posted['wpinv_template'] ) ? wpinv_clean( $posted['wpinv_template'] ) : null,
289
-				'email_cc'       => isset( $posted['wpinv_cc'] ) ? wpinv_clean( $posted['wpinv_cc'] ) : null,
290
-				'disable_taxes'  => ! empty( $posted['disable_taxes'] ),
291
-				'currency'       => isset( $posted['wpinv_currency'] ) ? wpinv_clean( $posted['wpinv_currency'] ) : null,
292
-				'gateway'        => ( $invoice->needs_payment() && isset( $posted['wpinv_gateway'] ) ) ? wpinv_clean( $posted['wpinv_gateway'] ) : null,
293
-				'address'        => isset( $posted['wpinv_address'] ) ? wpinv_clean( $posted['wpinv_address'] ) : null,
294
-				'vat_number'     => isset( $posted['wpinv_vat_number'] ) ? wpinv_clean( $posted['wpinv_vat_number'] ) : null,
295
-				'company'        => isset( $posted['wpinv_company'] ) ? wpinv_clean( $posted['wpinv_company'] ) : null,
296
-				'company_id'     => isset( $posted['wpinv_company_id'] ) ? wpinv_clean( $posted['wpinv_company_id'] ) : null,
297
-				'zip'            => isset( $posted['wpinv_zip'] ) ? wpinv_clean( $posted['wpinv_zip'] ) : null,
298
-				'state'          => isset( $posted['wpinv_state'] ) ? wpinv_clean( $posted['wpinv_state'] ) : null,
299
-				'city'           => isset( $posted['wpinv_city'] ) ? wpinv_clean( $posted['wpinv_city'] ) : null,
300
-				'country'        => isset( $posted['wpinv_country'] ) ? wpinv_clean( $posted['wpinv_country'] ) : null,
301
-				'phone'          => isset( $posted['wpinv_phone'] ) ? wpinv_clean( $posted['wpinv_phone'] ) : null,
302
-				'first_name'     => isset( $posted['wpinv_first_name'] ) ? wpinv_clean( $posted['wpinv_first_name'] ) : null,
303
-				'last_name'      => isset( $posted['wpinv_last_name'] ) ? wpinv_clean( $posted['wpinv_last_name'] ) : null,
304
-				'author'         => isset( $posted['post_author_override'] ) ? wpinv_clean( $posted['post_author_override'] ) : null,
305
-				'date_created'   => isset( $posted['date_created'] ) ? wpinv_clean( $posted['date_created'] ) : null,
306
-				'date_completed' => isset( $posted['wpinv_date_completed'] ) ? wpinv_clean( $posted['wpinv_date_completed'] ) : null,
307
-				'due_date'       => isset( $posted['wpinv_due_date'] ) ? wpinv_clean( $posted['wpinv_due_date'] ) : null,
308
-				'number'         => isset( $posted['wpinv_number'] ) ? wpinv_clean( $posted['wpinv_number'] ) : null,
309
-				'status'         => isset( $posted['wpinv_status'] ) ? wpinv_clean( $posted['wpinv_status'] ) : null,
288
+				'template'       => isset($posted['wpinv_template']) ? wpinv_clean($posted['wpinv_template']) : null,
289
+				'email_cc'       => isset($posted['wpinv_cc']) ? wpinv_clean($posted['wpinv_cc']) : null,
290
+				'disable_taxes'  => !empty($posted['disable_taxes']),
291
+				'currency'       => isset($posted['wpinv_currency']) ? wpinv_clean($posted['wpinv_currency']) : null,
292
+				'gateway'        => ($invoice->needs_payment() && isset($posted['wpinv_gateway'])) ? wpinv_clean($posted['wpinv_gateway']) : null,
293
+				'address'        => isset($posted['wpinv_address']) ? wpinv_clean($posted['wpinv_address']) : null,
294
+				'vat_number'     => isset($posted['wpinv_vat_number']) ? wpinv_clean($posted['wpinv_vat_number']) : null,
295
+				'company'        => isset($posted['wpinv_company']) ? wpinv_clean($posted['wpinv_company']) : null,
296
+				'company_id'     => isset($posted['wpinv_company_id']) ? wpinv_clean($posted['wpinv_company_id']) : null,
297
+				'zip'            => isset($posted['wpinv_zip']) ? wpinv_clean($posted['wpinv_zip']) : null,
298
+				'state'          => isset($posted['wpinv_state']) ? wpinv_clean($posted['wpinv_state']) : null,
299
+				'city'           => isset($posted['wpinv_city']) ? wpinv_clean($posted['wpinv_city']) : null,
300
+				'country'        => isset($posted['wpinv_country']) ? wpinv_clean($posted['wpinv_country']) : null,
301
+				'phone'          => isset($posted['wpinv_phone']) ? wpinv_clean($posted['wpinv_phone']) : null,
302
+				'first_name'     => isset($posted['wpinv_first_name']) ? wpinv_clean($posted['wpinv_first_name']) : null,
303
+				'last_name'      => isset($posted['wpinv_last_name']) ? wpinv_clean($posted['wpinv_last_name']) : null,
304
+				'author'         => isset($posted['post_author_override']) ? wpinv_clean($posted['post_author_override']) : null,
305
+				'date_created'   => isset($posted['date_created']) ? wpinv_clean($posted['date_created']) : null,
306
+				'date_completed' => isset($posted['wpinv_date_completed']) ? wpinv_clean($posted['wpinv_date_completed']) : null,
307
+				'due_date'       => isset($posted['wpinv_due_date']) ? wpinv_clean($posted['wpinv_due_date']) : null,
308
+				'number'         => isset($posted['wpinv_number']) ? wpinv_clean($posted['wpinv_number']) : null,
309
+				'status'         => isset($posted['wpinv_status']) ? wpinv_clean($posted['wpinv_status']) : null,
310 310
 			)
311 311
 		);
312 312
 
313 313
 		// Discount code.
314
-		if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) {
314
+		if (!$invoice->is_paid() && !$invoice->is_refunded()) {
315 315
 
316
-			if ( isset( $posted['wpinv_discount_code'] ) ) {
317
-				$invoice->set_discount_code( wpinv_clean( $posted['wpinv_discount_code'] ) );
316
+			if (isset($posted['wpinv_discount_code'])) {
317
+				$invoice->set_discount_code(wpinv_clean($posted['wpinv_discount_code']));
318 318
 			}
319 319
 
320
-			$discount = new WPInv_Discount( $invoice->get_discount_code() );
321
-			if ( $discount->exists() ) {
322
-				$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
320
+			$discount = new WPInv_Discount($invoice->get_discount_code());
321
+			if ($discount->exists()) {
322
+				$invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount));
323 323
 			} else {
324
-				$invoice->remove_discount( 'discount_code' );
324
+				$invoice->remove_discount('discount_code');
325 325
 			}
326 326
 
327 327
 			// Recalculate totals.
@@ -330,16 +330,16 @@  discard block
 block discarded – undo
330 330
 		}
331 331
 
332 332
 		// If we're creating a new user...
333
-		if ( ! empty( $posted['wpinv_new_user'] ) && is_email( stripslashes( $posted['wpinv_email'] ) ) ) {
333
+		if (!empty($posted['wpinv_new_user']) && is_email(stripslashes($posted['wpinv_email']))) {
334 334
 
335 335
 			// Attempt to create the user.
336
-			$user = wpinv_create_user( sanitize_email( stripslashes( $posted['wpinv_email'] ) ), $invoice->get_first_name() . $invoice->get_last_name() );
336
+			$user = wpinv_create_user(sanitize_email(stripslashes($posted['wpinv_email'])), $invoice->get_first_name() . $invoice->get_last_name());
337 337
 
338 338
 			// If successful, update the invoice author.
339
-			if ( is_numeric( $user ) ) {
340
-				$invoice->set_author( $user );
339
+			if (is_numeric($user)) {
340
+				$invoice->set_author($user);
341 341
 			} else {
342
-				wpinv_error_log( $user->get_error_message(), __( 'Invoice add new user', 'invoicing' ), __FILE__, __LINE__ );
342
+				wpinv_error_log($user->get_error_message(), __('Invoice add new user', 'invoicing'), __FILE__, __LINE__);
343 343
 			}
344 344
 		}
345 345
 
@@ -350,22 +350,22 @@  discard block
 block discarded – undo
350 350
 		$invoice->save();
351 351
 
352 352
 		// Save the user address.
353
-		getpaid_save_invoice_user_address( $invoice );
353
+		getpaid_save_invoice_user_address($invoice);
354 354
 
355 355
 		// Undo do not send new invoice notifications.
356 356
 		$GLOBALS['wpinv_skip_invoice_notification'] = false;
357 357
 
358 358
 		// (Maybe) send new user notification.
359
-		$should_send_notification = wpinv_get_option( 'disable_new_user_emails' );
360
-		if ( ! empty( $user ) && is_numeric( $user ) && apply_filters( 'getpaid_send_new_user_notification', empty( $should_send_notification ) ) ) {
361
-			wp_send_new_user_notifications( $user, 'user' );
359
+		$should_send_notification = wpinv_get_option('disable_new_user_emails');
360
+		if (!empty($user) && is_numeric($user) && apply_filters('getpaid_send_new_user_notification', empty($should_send_notification))) {
361
+			wp_send_new_user_notifications($user, 'user');
362 362
 		}
363 363
 
364
-		if ( ! empty( $posted['send_to_customer'] ) && ! $invoice->is_draft() ) {
365
-			getpaid()->get( 'invoice_emails' )->user_invoice( $invoice, true );
364
+		if (!empty($posted['send_to_customer']) && !$invoice->is_draft()) {
365
+			getpaid()->get('invoice_emails')->user_invoice($invoice, true);
366 366
 		}
367 367
 
368 368
 		// Fires after an invoice is saved.
369
-		do_action( 'wpinv_invoice_metabox_saved', $invoice );
369
+		do_action('wpinv_invoice_metabox_saved', $invoice);
370 370
 	}
371 371
 }
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-manual-gateway.php 2 patches
Indentation   +37 added lines, -37 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();
@@ -91,12 +91,12 @@  discard block
 block discarded – undo
91 91
     }
92 92
 
93 93
     /**
94
-	 * (Maybe) renews a manual subscription profile.
95
-	 *
96
-	 *
94
+     * (Maybe) renews a manual subscription profile.
95
+     *
96
+     *
97 97
      * @param WPInv_Subscription $subscription
98
-	 */
99
-	public function maybe_renew_subscription( $subscription ) {
98
+     */
99
+    public function maybe_renew_subscription( $subscription ) {
100 100
 
101 101
         // Ensure its our subscription && it's active.
102 102
         if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
@@ -116,13 +116,13 @@  discard block
 block discarded – undo
116 116
     }
117 117
 
118 118
     /**
119
-	 * Processes invoice addons.
120
-	 *
121
-	 * @param WPInv_Invoice $invoice
122
-	 * @param GetPaid_Form_Item[] $items
123
-	 * @return WPInv_Invoice
124
-	 */
125
-	public function process_addons( $invoice, $items ) {
119
+     * Processes invoice addons.
120
+     *
121
+     * @param WPInv_Invoice $invoice
122
+     * @param GetPaid_Form_Item[] $items
123
+     * @return WPInv_Invoice
124
+     */
125
+    public function process_addons( $invoice, $items ) {
126 126
 
127 127
         foreach ( $items as $item ) {
128 128
             $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' ) );
52
+        add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription'));
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,10 +96,10 @@  discard block
 block discarded – undo
96 96
 	 *
97 97
      * @param WPInv_Subscription $subscription
98 98
 	 */
99
-	public function maybe_renew_subscription( $subscription ) {
99
+	public function maybe_renew_subscription($subscription) {
100 100
 
101 101
         // Ensure its our subscription && it's active.
102
-        if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
102
+        if ($this->id === $subscription->get_gateway() && $subscription->has_status('active trialling')) {
103 103
 
104 104
             // Renew the subscription.
105 105
             $subscription->add_payment(
@@ -122,10 +122,10 @@  discard block
 block discarded – undo
122 122
 	 * @param GetPaid_Form_Item[] $items
123 123
 	 * @return WPInv_Invoice
124 124
 	 */
125
-	public function process_addons( $invoice, $items ) {
125
+	public function process_addons($invoice, $items) {
126 126
 
127
-        foreach ( $items as $item ) {
128
-            $invoice->add_item( $item );
127
+        foreach ($items as $item) {
128
+            $invoice->add_item($item);
129 129
         }
130 130
 
131 131
         $invoice->recalculate_total();
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-bank-transfer-gateway.php 2 patches
Indentation   +244 added lines, -244 removed lines patch added patch discarded remove patch
@@ -13,47 +13,47 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Bank_Transfer_Gateway extends GetPaid_Payment_Gateway {
14 14
 
15 15
     /**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20 20
     public $id = 'bank_transfer';
21 21
 
22
-	/**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
27
-	protected $supports = array(
28
-		'subscription',
29
-		'addons',
30
-		'single_subscription_group',
31
-		'multiple_subscription_groups',
32
-		'subscription_date_change',
33
-		'subscription_bill_times_change',
34
-	);
22
+    /**
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27
+    protected $supports = array(
28
+        'subscription',
29
+        'addons',
30
+        'single_subscription_group',
31
+        'multiple_subscription_groups',
32
+        'subscription_date_change',
33
+        'subscription_bill_times_change',
34
+    );
35
+
36
+    /**
37
+     * Payment method order.
38
+     *
39
+     * @var int
40
+     */
41
+    public $order = 8;
35 42
 
36 43
     /**
37
-	 * Payment method order.
38
-	 *
39
-	 * @var int
40
-	 */
41
-	public $order = 8;
42
-
43
-	/**
44
-	 * Bank transfer instructions.
45
-	 */
46
-	public $instructions;
47
-
48
-	/**
49
-	 * Locale array.
50
-	 */
51
-	public $locale;
44
+     * Bank transfer instructions.
45
+     */
46
+    public $instructions;
52 47
 
53 48
     /**
54
-	 * Class constructor.
55
-	 */
56
-	public function __construct() {
49
+     * Locale array.
50
+     */
51
+    public $locale;
52
+
53
+    /**
54
+     * Class constructor.
55
+     */
56
+    public function __construct() {
57 57
         parent::__construct();
58 58
 
59 59
         $this->title                = __( 'Direct bank transfer', 'invoicing' );
@@ -61,24 +61,24 @@  discard block
 block discarded – undo
61 61
         $this->checkout_button_text = __( 'Proceed', 'invoicing' );
62 62
         $this->instructions         = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) );
63 63
 
64
-		add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
65
-		add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
66
-		add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
67
-		add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
68
-		add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) );
69
-		add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 );
64
+        add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
65
+        add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
66
+        add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
67
+        add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
68
+        add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) );
69
+        add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 );
70 70
 
71 71
     }
72 72
 
73 73
     /**
74
-	 * Process Payment.
75
-	 *
76
-	 * @param WPInv_Invoice $invoice Invoice.
77
-	 * @param array $submission_data Posted checkout fields.
78
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
79
-	 * @return array
80
-	 */
81
-	public function process_payment( $invoice, $submission_data, $submission ) {
74
+     * Process Payment.
75
+     *
76
+     * @param WPInv_Invoice $invoice Invoice.
77
+     * @param array $submission_data Posted checkout fields.
78
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
79
+     * @return array
80
+     */
81
+    public function process_payment( $invoice, $submission_data, $submission ) {
82 82
 
83 83
         // Add a transaction id.
84 84
         $invoice->set_transaction_id( $invoice->generate_key( 'bt_' ) );
@@ -99,66 +99,66 @@  discard block
 block discarded – undo
99 99
     }
100 100
 
101 101
     /**
102
-	 * Output for the order received page.
103
-	 *
104
-	 * @param WPInv_Invoice $invoice Invoice.
105
-	 */
106
-	public function thankyou_page( $invoice ) {
102
+     * Output for the order received page.
103
+     *
104
+     * @param WPInv_Invoice $invoice Invoice.
105
+     */
106
+    public function thankyou_page( $invoice ) {
107 107
 
108 108
         if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
109 109
 
110
-			echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
110
+            echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
111 111
 
112 112
             if ( ! empty( $this->instructions ) ) {
113 113
                 echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) );
114
-			}
114
+            }
115 115
 
116
-			$this->bank_details( $invoice );
116
+            $this->bank_details( $invoice );
117 117
 
118
-			echo '</div>';
118
+            echo '</div>';
119 119
 
120 120
         }
121 121
 
122
-	}
122
+    }
123 123
 
124 124
     /**
125
-	 * Add content to the WPI emails.
126
-	 *
127
-	 * @param WPInv_Invoice $invoice Invoice.
128
-	 * @param string     $email_type Email format: plain text or HTML.
129
-	 * @param bool     $sent_to_admin Sent to admin.
130
-	 */
131
-	public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
125
+     * Add content to the WPI emails.
126
+     *
127
+     * @param WPInv_Invoice $invoice Invoice.
128
+     * @param string     $email_type Email format: plain text or HTML.
129
+     * @param bool     $sent_to_admin Sent to admin.
130
+     */
131
+    public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
132 132
 
133
-		if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
133
+        if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
134 134
 
135
-			echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
135
+            echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
136 136
 
137
-			if ( $this->instructions ) {
138
-				echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
137
+            if ( $this->instructions ) {
138
+                echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
139 139
             }
140 140
 
141
-			$this->bank_details( $invoice );
141
+            $this->bank_details( $invoice );
142 142
 
143
-			echo '</div>';
143
+            echo '</div>';
144 144
 
145
-		}
145
+        }
146 146
 
147 147
     }
148 148
 
149 149
     /**
150
-	 * Get bank details and place into a list format.
151
-	 *
152
-	 * @param WPInv_Invoice $invoice Invoice.
153
-	 */
154
-	protected function bank_details( $invoice ) {
150
+     * Get bank details and place into a list format.
151
+     *
152
+     * @param WPInv_Invoice $invoice Invoice.
153
+     */
154
+    protected function bank_details( $invoice ) {
155 155
 
156
-		// Get the invoice country and country $locale.
157
-		$country = $invoice->get_country();
158
-		$locale  = $this->get_country_locale();
156
+        // Get the invoice country and country $locale.
157
+        $country = $invoice->get_country();
158
+        $locale  = $this->get_country_locale();
159 159
 
160
-		// Get sortcode label in the $locale array and use appropriate one.
161
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
160
+        // Get sortcode label in the $locale array and use appropriate one.
161
+        $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
162 162
 
163 163
         $bank_fields = array(
164 164
             'ac_name'   => __( 'Account Name', 'invoicing' ),
@@ -177,11 +177,11 @@  discard block
 block discarded – undo
177 177
 
178 178
             if ( ! empty( $value ) ) {
179 179
                 $bank_info[ $field ] = array(
180
-					'label' => $label,
181
-					'value' => $value,
182
-				);
180
+                    'label' => $label,
181
+                    'value' => $value,
182
+                );
183 183
             }
184
-		}
184
+        }
185 185
 
186 186
         $bank_info = apply_filters( 'wpinv_bank_info', $bank_info, $invoice );
187 187
 
@@ -189,139 +189,139 @@  discard block
 block discarded – undo
189 189
             return;
190 190
         }
191 191
 
192
-		echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL;
192
+        echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL;
193
+
194
+        echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
195
+
196
+        foreach ( $bank_info as $key => $data ) {
197
+            echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL;
198
+        }
199
+
200
+        echo '</table>';
201
+
202
+    }
193 203
 
194
-		echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
204
+    /**
205
+     * Get country locale if localized.
206
+     *
207
+     * @return array
208
+     */
209
+    public function get_country_locale() {
210
+
211
+        if ( empty( $this->locale ) ) {
212
+
213
+            // Locale information to be used - only those that are not 'Sort Code'.
214
+            $this->locale = apply_filters(
215
+                'getpaid_get_bank_transfer_locale',
216
+                array(
217
+                    'AU' => array(
218
+                        'sortcode' => array(
219
+                            'label' => __( 'BSB', 'invoicing' ),
220
+                        ),
221
+                    ),
222
+                    'CA' => array(
223
+                        'sortcode' => array(
224
+                            'label' => __( 'Bank transit number', 'invoicing' ),
225
+                        ),
226
+                    ),
227
+                    'IN' => array(
228
+                        'sortcode' => array(
229
+                            'label' => __( 'IFSC', 'invoicing' ),
230
+                        ),
231
+                    ),
232
+                    'IT' => array(
233
+                        'sortcode' => array(
234
+                            'label' => __( 'Branch sort', 'invoicing' ),
235
+                        ),
236
+                    ),
237
+                    'NZ' => array(
238
+                        'sortcode' => array(
239
+                            'label' => __( 'Bank code', 'invoicing' ),
240
+                        ),
241
+                    ),
242
+                    'SE' => array(
243
+                        'sortcode' => array(
244
+                            'label' => __( 'Bank code', 'invoicing' ),
245
+                        ),
246
+                    ),
247
+                    'US' => array(
248
+                        'sortcode' => array(
249
+                            'label' => __( 'Routing number', 'invoicing' ),
250
+                        ),
251
+                    ),
252
+                    'ZA' => array(
253
+                        'sortcode' => array(
254
+                            'label' => __( 'Branch code', 'invoicing' ),
255
+                        ),
256
+                    ),
257
+                )
258
+            );
195 259
 
196
-		foreach ( $bank_info as $key => $data ) {
197
-			echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL;
198
-		}
260
+        }
199 261
 
200
-		echo '</table>';
262
+        return $this->locale;
201 263
 
202 264
     }
203 265
 
204 266
     /**
205
-	 * Get country locale if localized.
206
-	 *
207
-	 * @return array
208
-	 */
209
-	public function get_country_locale() {
210
-
211
-		if ( empty( $this->locale ) ) {
212
-
213
-			// Locale information to be used - only those that are not 'Sort Code'.
214
-			$this->locale = apply_filters(
215
-				'getpaid_get_bank_transfer_locale',
216
-				array(
217
-					'AU' => array(
218
-						'sortcode' => array(
219
-							'label' => __( 'BSB', 'invoicing' ),
220
-						),
221
-					),
222
-					'CA' => array(
223
-						'sortcode' => array(
224
-							'label' => __( 'Bank transit number', 'invoicing' ),
225
-						),
226
-					),
227
-					'IN' => array(
228
-						'sortcode' => array(
229
-							'label' => __( 'IFSC', 'invoicing' ),
230
-						),
231
-					),
232
-					'IT' => array(
233
-						'sortcode' => array(
234
-							'label' => __( 'Branch sort', 'invoicing' ),
235
-						),
236
-					),
237
-					'NZ' => array(
238
-						'sortcode' => array(
239
-							'label' => __( 'Bank code', 'invoicing' ),
240
-						),
241
-					),
242
-					'SE' => array(
243
-						'sortcode' => array(
244
-							'label' => __( 'Bank code', 'invoicing' ),
245
-						),
246
-					),
247
-					'US' => array(
248
-						'sortcode' => array(
249
-							'label' => __( 'Routing number', 'invoicing' ),
250
-						),
251
-					),
252
-					'ZA' => array(
253
-						'sortcode' => array(
254
-							'label' => __( 'Branch code', 'invoicing' ),
255
-						),
256
-					),
257
-				)
258
-			);
259
-
260
-		}
261
-
262
-		return $this->locale;
263
-
264
-	}
265
-
266
-	/**
267
-	 * Filters the gateway settings.
268
-	 *
269
-	 * @param array $admin_settings
270
-	 */
271
-	public function admin_settings( $admin_settings ) {
267
+     * Filters the gateway settings.
268
+     *
269
+     * @param array $admin_settings
270
+     */
271
+    public function admin_settings( $admin_settings ) {
272 272
 
273 273
         $admin_settings['bank_transfer_desc']['std']    = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' );
274
-		$admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
274
+        $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
275 275
 
276
-		$locale  = $this->get_country_locale();
276
+        $locale  = $this->get_country_locale();
277 277
 
278
-		// Get sortcode label in the $locale array and use appropriate one.
279
-		$country  = wpinv_default_billing_country();
280
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
278
+        // Get sortcode label in the $locale array and use appropriate one.
279
+        $country  = wpinv_default_billing_country();
280
+        $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
281 281
 
282
-		$admin_settings['bank_transfer_ac_name'] = array(
282
+        $admin_settings['bank_transfer_ac_name'] = array(
283 283
             'type' => 'text',
284 284
             'id'   => 'bank_transfer_ac_name',
285 285
             'name' => __( 'Account Name', 'invoicing' ),
286
-		);
286
+        );
287 287
 
288
-		$admin_settings['bank_transfer_ac_no'] = array(
288
+        $admin_settings['bank_transfer_ac_no'] = array(
289 289
             'type' => 'text',
290 290
             'id'   => 'bank_transfer_ac_no',
291 291
             'name' => __( 'Account Number', 'invoicing' ),
292
-		);
292
+        );
293 293
 
294
-		$admin_settings['bank_transfer_bank_name'] = array(
294
+        $admin_settings['bank_transfer_bank_name'] = array(
295 295
             'type' => 'text',
296 296
             'id'   => 'bank_transfer_bank_name',
297 297
             'name' => __( 'Bank Name', 'invoicing' ),
298
-		);
298
+        );
299 299
 
300
-		$admin_settings['bank_transfer_ifsc'] = array(
300
+        $admin_settings['bank_transfer_ifsc'] = array(
301 301
             'type' => 'text',
302 302
             'id'   => 'bank_transfer_ifsc',
303 303
             'name' => __( 'IFSC Code', 'invoicing' ),
304
-		);
304
+        );
305 305
 
306
-		$admin_settings['bank_transfer_iban'] = array(
306
+        $admin_settings['bank_transfer_iban'] = array(
307 307
             'type' => 'text',
308 308
             'id'   => 'bank_transfer_iban',
309 309
             'name' => __( 'IBAN', 'invoicing' ),
310
-		);
310
+        );
311 311
 
312
-		$admin_settings['bank_transfer_bic'] = array(
312
+        $admin_settings['bank_transfer_bic'] = array(
313 313
             'type' => 'text',
314 314
             'id'   => 'bank_transfer_bic',
315 315
             'name' => __( 'BIC/Swift Code', 'invoicing' ),
316
-		);
316
+        );
317 317
 
318
-		$admin_settings['bank_transfer_sort_code'] = array(
319
-			'type' => 'text',
320
-			'id'   => 'bank_transfer_sort_code',
321
-			'name' => $sortcode,
322
-		);
318
+        $admin_settings['bank_transfer_sort_code'] = array(
319
+            'type' => 'text',
320
+            'id'   => 'bank_transfer_sort_code',
321
+            'name' => $sortcode,
322
+        );
323 323
 
324
-		$admin_settings['bank_transfer_info'] = array(
324
+        $admin_settings['bank_transfer_info'] = array(
325 325
             'id'   => 'bank_transfer_info',
326 326
             'name' => __( 'Instructions', 'invoicing' ),
327 327
             'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ),
@@ -331,17 +331,17 @@  discard block
 block discarded – undo
331 331
             'rows' => 5,
332 332
         );
333 333
 
334
-		return $admin_settings;
335
-	}
334
+        return $admin_settings;
335
+    }
336 336
 
337
-	/**
338
-	 * Processes invoice addons.
339
-	 *
340
-	 * @param WPInv_Invoice $invoice
341
-	 * @param GetPaid_Form_Item[] $items
342
-	 * @return WPInv_Invoice
343
-	 */
344
-	public function process_addons( $invoice, $items ) {
337
+    /**
338
+     * Processes invoice addons.
339
+     *
340
+     * @param WPInv_Invoice $invoice
341
+     * @param GetPaid_Form_Item[] $items
342
+     * @return WPInv_Invoice
343
+     */
344
+    public function process_addons( $invoice, $items ) {
345 345
 
346 346
         foreach ( $items as $item ) {
347 347
             $invoice->add_item( $item );
@@ -349,67 +349,67 @@  discard block
 block discarded – undo
349 349
 
350 350
         $invoice->recalculate_total();
351 351
         $invoice->save();
352
-	}
352
+    }
353 353
 
354
-	/**
355
-	 * (Maybe) renews a bank transfer subscription profile.
356
-	 *
357
-	 *
354
+    /**
355
+     * (Maybe) renews a bank transfer subscription profile.
356
+     *
357
+     *
358 358
      * @param WPInv_Subscription $subscription
359
-	 */
360
-	public function maybe_renew_subscription( $subscription ) {
359
+     */
360
+    public function maybe_renew_subscription( $subscription ) {
361 361
 
362 362
         // Ensure its our subscription && it's active.
363 363
         if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
364
-			$subscription->create_payment();
364
+            $subscription->create_payment();
365 365
         }
366 366
 
367 367
     }
368 368
 
369
-	/**
370
-	 * Process a bank transfer payment.
371
-	 *
372
-	 *
369
+    /**
370
+     * Process a bank transfer payment.
371
+     *
372
+     *
373 373
      * @param WPInv_Invoice $invoice
374
-	 */
375
-	public function invoice_paid( $invoice ) {
376
-
377
-		// Abort if not paid by bank transfer.
378
-		if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) {
379
-			return;
380
-		}
381
-
382
-		// Is it a parent payment?
383
-		if ( 0 == $invoice->get_parent_id() ) {
384
-
385
-			// (Maybe) activate subscriptions.
386
-			$subscriptions = getpaid_get_invoice_subscriptions( $invoice );
387
-
388
-			if ( ! empty( $subscriptions ) ) {
389
-				$subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
390
-
391
-				foreach ( $subscriptions as $subscription ) {
392
-					if ( $subscription->exists() ) {
393
-						$duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
394
-						$expiry   = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
395
-
396
-						$subscription->set_next_renewal_date( $expiry );
397
-						$subscription->set_date_created( current_time( 'mysql' ) );
398
-						$subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() );
399
-						$subscription->activate();
400
-					}
401
-				}
402
-			}
403
-		} else {
404
-
405
-			$subscription = getpaid_get_subscription( $invoice->get_subscription_id() );
406
-
407
-			// Renew the subscription.
408
-			if ( $subscription && $subscription->exists() ) {
409
-				$subscription->add_payment( array(), $invoice );
410
-				$subscription->renew( strtotime( $invoice->get_date_created() ) );
411
-			}
412
-		}
374
+     */
375
+    public function invoice_paid( $invoice ) {
376
+
377
+        // Abort if not paid by bank transfer.
378
+        if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) {
379
+            return;
380
+        }
381
+
382
+        // Is it a parent payment?
383
+        if ( 0 == $invoice->get_parent_id() ) {
384
+
385
+            // (Maybe) activate subscriptions.
386
+            $subscriptions = getpaid_get_invoice_subscriptions( $invoice );
387
+
388
+            if ( ! empty( $subscriptions ) ) {
389
+                $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
390
+
391
+                foreach ( $subscriptions as $subscription ) {
392
+                    if ( $subscription->exists() ) {
393
+                        $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
394
+                        $expiry   = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
395
+
396
+                        $subscription->set_next_renewal_date( $expiry );
397
+                        $subscription->set_date_created( current_time( 'mysql' ) );
398
+                        $subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() );
399
+                        $subscription->activate();
400
+                    }
401
+                }
402
+            }
403
+        } else {
404
+
405
+            $subscription = getpaid_get_subscription( $invoice->get_subscription_id() );
406
+
407
+            // Renew the subscription.
408
+            if ( $subscription && $subscription->exists() ) {
409
+                $subscription->add_payment( array(), $invoice );
410
+                $subscription->renew( strtotime( $invoice->get_date_created() ) );
411
+            }
412
+        }
413 413
 
414 414
     }
415 415
 
Please login to merge, or discard this patch.
Spacing   +89 added lines, -89 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 
9 9
 /**
10 10
  * Bank transfer Payment Gateway class.
@@ -56,17 +56,17 @@  discard block
 block discarded – undo
56 56
 	public function __construct() {
57 57
         parent::__construct();
58 58
 
59
-        $this->title                = __( 'Direct bank transfer', 'invoicing' );
60
-        $this->method_title         = __( 'Bank transfer', 'invoicing' );
61
-        $this->checkout_button_text = __( 'Proceed', 'invoicing' );
62
-        $this->instructions         = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) );
59
+        $this->title                = __('Direct bank transfer', 'invoicing');
60
+        $this->method_title         = __('Bank transfer', 'invoicing');
61
+        $this->checkout_button_text = __('Proceed', 'invoicing');
62
+        $this->instructions         = apply_filters('wpinv_bank_instructions', $this->get_option('info'));
63 63
 
64
-		add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
65
-		add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
66
-		add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
67
-		add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
68
-		add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) );
69
-		add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 );
64
+		add_action('wpinv_receipt_end', array($this, 'thankyou_page'));
65
+		add_action('getpaid_invoice_line_items', array($this, 'thankyou_page'), 40);
66
+		add_action('wpinv_pdf_content_billing', array($this, 'thankyou_page'), 11);
67
+		add_action('wpinv_email_invoice_details', array($this, 'email_instructions'), 10, 3);
68
+		add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription'));
69
+		add_action('getpaid_invoice_status_publish', array($this, 'invoice_paid'), 20);
70 70
 
71 71
     }
72 72
 
@@ -78,23 +78,23 @@  discard block
 block discarded – undo
78 78
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
79 79
 	 * @return array
80 80
 	 */
81
-	public function process_payment( $invoice, $submission_data, $submission ) {
81
+	public function process_payment($invoice, $submission_data, $submission) {
82 82
 
83 83
         // Add a transaction id.
84
-        $invoice->set_transaction_id( $invoice->generate_key( 'bt_' ) );
84
+        $invoice->set_transaction_id($invoice->generate_key('bt_'));
85 85
 
86 86
         // Set it as pending payment.
87
-        if ( ! $invoice->needs_payment() ) {
87
+        if (!$invoice->needs_payment()) {
88 88
             $invoice->mark_paid();
89
-        } elseif ( ! $invoice->is_paid() ) {
90
-            $invoice->set_status( 'wpi-onhold' );
89
+        } elseif (!$invoice->is_paid()) {
90
+            $invoice->set_status('wpi-onhold');
91 91
         }
92 92
 
93 93
         // Save it.
94 94
         $invoice->save();
95 95
 
96 96
         // Send to the success page.
97
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
97
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
98 98
 
99 99
     }
100 100
 
@@ -103,17 +103,17 @@  discard block
 block discarded – undo
103 103
 	 *
104 104
 	 * @param WPInv_Invoice $invoice Invoice.
105 105
 	 */
106
-	public function thankyou_page( $invoice ) {
106
+	public function thankyou_page($invoice) {
107 107
 
108
-        if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
108
+        if ('bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) {
109 109
 
110 110
 			echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
111 111
 
112
-            if ( ! empty( $this->instructions ) ) {
113
-                echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) );
112
+            if (!empty($this->instructions)) {
113
+                echo wp_kses_post(wpautop(wptexturize($this->instructions)));
114 114
 			}
115 115
 
116
-			$this->bank_details( $invoice );
116
+			$this->bank_details($invoice);
117 117
 
118 118
 			echo '</div>';
119 119
 
@@ -128,17 +128,17 @@  discard block
 block discarded – undo
128 128
 	 * @param string     $email_type Email format: plain text or HTML.
129 129
 	 * @param bool     $sent_to_admin Sent to admin.
130 130
 	 */
131
-	public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
131
+	public function email_instructions($invoice, $email_type, $sent_to_admin) {
132 132
 
133
-		if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
133
+		if (!$sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) {
134 134
 
135 135
 			echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
136 136
 
137
-			if ( $this->instructions ) {
138
-				echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
137
+			if ($this->instructions) {
138
+				echo wp_kses_post(wpautop(wptexturize($this->instructions)) . PHP_EOL);
139 139
             }
140 140
 
141
-			$this->bank_details( $invoice );
141
+			$this->bank_details($invoice);
142 142
 
143 143
 			echo '</div>';
144 144
 
@@ -151,50 +151,50 @@  discard block
 block discarded – undo
151 151
 	 *
152 152
 	 * @param WPInv_Invoice $invoice Invoice.
153 153
 	 */
154
-	protected function bank_details( $invoice ) {
154
+	protected function bank_details($invoice) {
155 155
 
156 156
 		// Get the invoice country and country $locale.
157 157
 		$country = $invoice->get_country();
158 158
 		$locale  = $this->get_country_locale();
159 159
 
160 160
 		// Get sortcode label in the $locale array and use appropriate one.
161
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
161
+		$sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing');
162 162
 
163 163
         $bank_fields = array(
164
-            'ac_name'   => __( 'Account Name', 'invoicing' ),
165
-            'ac_no'     => __( 'Account Number', 'invoicing' ),
166
-            'bank_name' => __( 'Bank Name', 'invoicing' ),
167
-            'ifsc'      => __( 'IFSC code', 'invoicing' ),
168
-            'iban'      => __( 'IBAN', 'invoicing' ),
169
-            'bic'       => __( 'BIC/Swift code', 'invoicing' ),
164
+            'ac_name'   => __('Account Name', 'invoicing'),
165
+            'ac_no'     => __('Account Number', 'invoicing'),
166
+            'bank_name' => __('Bank Name', 'invoicing'),
167
+            'ifsc'      => __('IFSC code', 'invoicing'),
168
+            'iban'      => __('IBAN', 'invoicing'),
169
+            'bic'       => __('BIC/Swift code', 'invoicing'),
170 170
             'sort_code' => $sortcode,
171 171
         );
172 172
 
173 173
         $bank_info = array();
174 174
 
175
-        foreach ( $bank_fields as $field => $label ) {
176
-            $value = $this->get_option( $field );
175
+        foreach ($bank_fields as $field => $label) {
176
+            $value = $this->get_option($field);
177 177
 
178
-            if ( ! empty( $value ) ) {
179
-                $bank_info[ $field ] = array(
178
+            if (!empty($value)) {
179
+                $bank_info[$field] = array(
180 180
 					'label' => $label,
181 181
 					'value' => $value,
182 182
 				);
183 183
             }
184 184
 		}
185 185
 
186
-        $bank_info = apply_filters( 'wpinv_bank_info', $bank_info, $invoice );
186
+        $bank_info = apply_filters('wpinv_bank_info', $bank_info, $invoice);
187 187
 
188
-        if ( empty( $bank_info ) ) {
188
+        if (empty($bank_info)) {
189 189
             return;
190 190
         }
191 191
 
192
-		echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL;
192
+		echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html(apply_filters('wpinv_receipt_bank_details_title', __('Bank Details', 'invoicing'), $invoice)) . '</h3>' . PHP_EOL;
193 193
 
194 194
 		echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
195 195
 
196
-		foreach ( $bank_info as $key => $data ) {
197
-			echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL;
196
+		foreach ($bank_info as $key => $data) {
197
+			echo "<tr class='getpaid-bank-transfer-" . esc_attr($key) . "'><th class='font-weight-bold'>" . wp_kses_post($data['label']) . "</th><td class='w-75'>" . wp_kses_post(wptexturize($data['value'])) . '</td></tr>' . PHP_EOL;
198 198
 		}
199 199
 
200 200
 		echo '</table>';
@@ -208,7 +208,7 @@  discard block
 block discarded – undo
208 208
 	 */
209 209
 	public function get_country_locale() {
210 210
 
211
-		if ( empty( $this->locale ) ) {
211
+		if (empty($this->locale)) {
212 212
 
213 213
 			// Locale information to be used - only those that are not 'Sort Code'.
214 214
 			$this->locale = apply_filters(
@@ -216,42 +216,42 @@  discard block
 block discarded – undo
216 216
 				array(
217 217
 					'AU' => array(
218 218
 						'sortcode' => array(
219
-							'label' => __( 'BSB', 'invoicing' ),
219
+							'label' => __('BSB', 'invoicing'),
220 220
 						),
221 221
 					),
222 222
 					'CA' => array(
223 223
 						'sortcode' => array(
224
-							'label' => __( 'Bank transit number', 'invoicing' ),
224
+							'label' => __('Bank transit number', 'invoicing'),
225 225
 						),
226 226
 					),
227 227
 					'IN' => array(
228 228
 						'sortcode' => array(
229
-							'label' => __( 'IFSC', 'invoicing' ),
229
+							'label' => __('IFSC', 'invoicing'),
230 230
 						),
231 231
 					),
232 232
 					'IT' => array(
233 233
 						'sortcode' => array(
234
-							'label' => __( 'Branch sort', 'invoicing' ),
234
+							'label' => __('Branch sort', 'invoicing'),
235 235
 						),
236 236
 					),
237 237
 					'NZ' => array(
238 238
 						'sortcode' => array(
239
-							'label' => __( 'Bank code', 'invoicing' ),
239
+							'label' => __('Bank code', 'invoicing'),
240 240
 						),
241 241
 					),
242 242
 					'SE' => array(
243 243
 						'sortcode' => array(
244
-							'label' => __( 'Bank code', 'invoicing' ),
244
+							'label' => __('Bank code', 'invoicing'),
245 245
 						),
246 246
 					),
247 247
 					'US' => array(
248 248
 						'sortcode' => array(
249
-							'label' => __( 'Routing number', 'invoicing' ),
249
+							'label' => __('Routing number', 'invoicing'),
250 250
 						),
251 251
 					),
252 252
 					'ZA' => array(
253 253
 						'sortcode' => array(
254
-							'label' => __( 'Branch code', 'invoicing' ),
254
+							'label' => __('Branch code', 'invoicing'),
255 255
 						),
256 256
 					),
257 257
 				)
@@ -268,51 +268,51 @@  discard block
 block discarded – undo
268 268
 	 *
269 269
 	 * @param array $admin_settings
270 270
 	 */
271
-	public function admin_settings( $admin_settings ) {
271
+	public function admin_settings($admin_settings) {
272 272
 
273
-        $admin_settings['bank_transfer_desc']['std']    = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' );
274
-		$admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
273
+        $admin_settings['bank_transfer_desc']['std'] = __("Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing');
274
+		$admin_settings['bank_transfer_active']['desc'] = __('Enable bank transfer', 'invoicing');
275 275
 
276
-		$locale  = $this->get_country_locale();
276
+		$locale = $this->get_country_locale();
277 277
 
278 278
 		// Get sortcode label in the $locale array and use appropriate one.
279 279
 		$country  = wpinv_default_billing_country();
280
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
280
+		$sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing');
281 281
 
282 282
 		$admin_settings['bank_transfer_ac_name'] = array(
283 283
             'type' => 'text',
284 284
             'id'   => 'bank_transfer_ac_name',
285
-            'name' => __( 'Account Name', 'invoicing' ),
285
+            'name' => __('Account Name', 'invoicing'),
286 286
 		);
287 287
 
288 288
 		$admin_settings['bank_transfer_ac_no'] = array(
289 289
             'type' => 'text',
290 290
             'id'   => 'bank_transfer_ac_no',
291
-            'name' => __( 'Account Number', 'invoicing' ),
291
+            'name' => __('Account Number', 'invoicing'),
292 292
 		);
293 293
 
294 294
 		$admin_settings['bank_transfer_bank_name'] = array(
295 295
             'type' => 'text',
296 296
             'id'   => 'bank_transfer_bank_name',
297
-            'name' => __( 'Bank Name', 'invoicing' ),
297
+            'name' => __('Bank Name', 'invoicing'),
298 298
 		);
299 299
 
300 300
 		$admin_settings['bank_transfer_ifsc'] = array(
301 301
             'type' => 'text',
302 302
             'id'   => 'bank_transfer_ifsc',
303
-            'name' => __( 'IFSC Code', 'invoicing' ),
303
+            'name' => __('IFSC Code', 'invoicing'),
304 304
 		);
305 305
 
306 306
 		$admin_settings['bank_transfer_iban'] = array(
307 307
             'type' => 'text',
308 308
             'id'   => 'bank_transfer_iban',
309
-            'name' => __( 'IBAN', 'invoicing' ),
309
+            'name' => __('IBAN', 'invoicing'),
310 310
 		);
311 311
 
312 312
 		$admin_settings['bank_transfer_bic'] = array(
313 313
             'type' => 'text',
314 314
             'id'   => 'bank_transfer_bic',
315
-            'name' => __( 'BIC/Swift Code', 'invoicing' ),
315
+            'name' => __('BIC/Swift Code', 'invoicing'),
316 316
 		);
317 317
 
318 318
 		$admin_settings['bank_transfer_sort_code'] = array(
@@ -323,10 +323,10 @@  discard block
 block discarded – undo
323 323
 
324 324
 		$admin_settings['bank_transfer_info'] = array(
325 325
             'id'   => 'bank_transfer_info',
326
-            'name' => __( 'Instructions', 'invoicing' ),
327
-            'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ),
326
+            'name' => __('Instructions', 'invoicing'),
327
+            'desc' => __('Instructions that will be added to the thank you page and emails.', 'invoicing'),
328 328
             'type' => 'textarea',
329
-            'std'  => __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' ),
329
+            'std'  => __("Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing'),
330 330
             'cols' => 50,
331 331
             'rows' => 5,
332 332
         );
@@ -341,10 +341,10 @@  discard block
 block discarded – undo
341 341
 	 * @param GetPaid_Form_Item[] $items
342 342
 	 * @return WPInv_Invoice
343 343
 	 */
344
-	public function process_addons( $invoice, $items ) {
344
+	public function process_addons($invoice, $items) {
345 345
 
346
-        foreach ( $items as $item ) {
347
-            $invoice->add_item( $item );
346
+        foreach ($items as $item) {
347
+            $invoice->add_item($item);
348 348
         }
349 349
 
350 350
         $invoice->recalculate_total();
@@ -357,10 +357,10 @@  discard block
 block discarded – undo
357 357
 	 *
358 358
      * @param WPInv_Subscription $subscription
359 359
 	 */
360
-	public function maybe_renew_subscription( $subscription ) {
360
+	public function maybe_renew_subscription($subscription) {
361 361
 
362 362
         // Ensure its our subscription && it's active.
363
-        if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
363
+        if ($this->id === $subscription->get_gateway() && $subscription->has_status('active trialling')) {
364 364
 			$subscription->create_payment();
365 365
         }
366 366
 
@@ -372,42 +372,42 @@  discard block
 block discarded – undo
372 372
 	 *
373 373
      * @param WPInv_Invoice $invoice
374 374
 	 */
375
-	public function invoice_paid( $invoice ) {
375
+	public function invoice_paid($invoice) {
376 376
 
377 377
 		// Abort if not paid by bank transfer.
378
-		if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) {
378
+		if ($this->id !== $invoice->get_gateway() || !$invoice->is_recurring()) {
379 379
 			return;
380 380
 		}
381 381
 
382 382
 		// Is it a parent payment?
383
-		if ( 0 == $invoice->get_parent_id() ) {
383
+		if (0 == $invoice->get_parent_id()) {
384 384
 
385 385
 			// (Maybe) activate subscriptions.
386
-			$subscriptions = getpaid_get_invoice_subscriptions( $invoice );
386
+			$subscriptions = getpaid_get_invoice_subscriptions($invoice);
387 387
 
388
-			if ( ! empty( $subscriptions ) ) {
389
-				$subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
388
+			if (!empty($subscriptions)) {
389
+				$subscriptions = is_array($subscriptions) ? $subscriptions : array($subscriptions);
390 390
 
391
-				foreach ( $subscriptions as $subscription ) {
392
-					if ( $subscription->exists() ) {
393
-						$duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
394
-						$expiry   = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
391
+				foreach ($subscriptions as $subscription) {
392
+					if ($subscription->exists()) {
393
+						$duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created());
394
+						$expiry   = gmdate('Y-m-d H:i:s', (current_time('timestamp') + $duration));
395 395
 
396
-						$subscription->set_next_renewal_date( $expiry );
397
-						$subscription->set_date_created( current_time( 'mysql' ) );
398
-						$subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() );
396
+						$subscription->set_next_renewal_date($expiry);
397
+						$subscription->set_date_created(current_time('mysql'));
398
+						$subscription->set_profile_id('bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id());
399 399
 						$subscription->activate();
400 400
 					}
401 401
 				}
402 402
 			}
403 403
 		} else {
404 404
 
405
-			$subscription = getpaid_get_subscription( $invoice->get_subscription_id() );
405
+			$subscription = getpaid_get_subscription($invoice->get_subscription_id());
406 406
 
407 407
 			// Renew the subscription.
408
-			if ( $subscription && $subscription->exists() ) {
409
-				$subscription->add_payment( array(), $invoice );
410
-				$subscription->renew( strtotime( $invoice->get_date_created() ) );
408
+			if ($subscription && $subscription->exists()) {
409
+				$subscription->add_payment(array(), $invoice);
410
+				$subscription->renew(strtotime($invoice->get_date_created()));
411 411
 			}
412 412
 		}
413 413
 
Please login to merge, or discard this patch.
vendor/ayecode/wp-super-duper/wp-super-duper.php 3 patches
Braces   +42 added lines, -44 removed lines patch added patch discarded remove patch
@@ -60,7 +60,7 @@  discard block
 block discarded – undo
60 60
             if(!empty($this->options['nested-block'])){
61 61
                 if(empty($this->options['output_types'])){
62 62
                     $this->options['output_types'] = array('shortcode','block');
63
-                }elseif (($key = array_search('widget', $this->options['output_types'])) !== false) {
63
+                } elseif (($key = array_search('widget', $this->options['output_types'])) !== false) {
64 64
                     unset($this->options['output_types'][$key]);
65 65
                 }
66 66
             }
@@ -715,7 +715,7 @@  discard block
 block discarded – undo
715 715
 				<?php
716 716
 				if(! empty( $insert_shortcode_function )){
717 717
 					echo $insert_shortcode_function;
718
-				}else{
718
+				} else{
719 719
 
720 720
 				/**
721 721
 				 * Function for super duper insert shortcode.
@@ -2206,7 +2206,7 @@  discard block
 block discarded – undo
2206 2206
 				$p_pl = 'ps-';
2207 2207
 				$p_pr = 'pe-';
2208 2208
 					<?php
2209
-				}else{
2209
+				} else{
2210 2210
 						?>
2211 2211
 				$aui_bs5 = false;
2212 2212
 				$p_ml = 'ml-';
@@ -2428,7 +2428,7 @@  discard block
 block discarded – undo
2428 2428
                     var InnerBlocks = blockEditor.InnerBlocks;
2429 2429
 
2430 2430
 					var term_query_type = '';
2431
-					var post_type_rest_slugs = <?php if(! empty( $this->arguments ) && isset($this->arguments['post_type']['onchange_rest']['values'])){echo "[".json_encode($this->arguments['post_type']['onchange_rest']['values'])."]";}else{echo "[]";} ?>;
2431
+					var post_type_rest_slugs = <?php if(! empty( $this->arguments ) && isset($this->arguments['post_type']['onchange_rest']['values'])){echo "[".json_encode($this->arguments['post_type']['onchange_rest']['values'])."]";} else{echo "[]";} ?>;
2432 2432
 					const taxonomies_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
2433 2433
 					const sort_by_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
2434 2434
                     const MediaUpload = wp.blockEditor.MediaUpload;
@@ -2547,8 +2547,7 @@  discard block
 block discarded – undo
2547 2547
 
2548 2548
 								if ( $args['type'] == 'notice' ||  $args['type'] == 'tab' ) {
2549 2549
 									continue;
2550
-								}
2551
-								elseif ( $args['type'] == 'checkbox' ) {
2550
+								} elseif ( $args['type'] == 'checkbox' ) {
2552 2551
 									$type    = 'boolean';
2553 2552
 									$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
2554 2553
 								} elseif ( $args['type'] == 'number' ) {
@@ -2676,7 +2675,7 @@  discard block
 block discarded – undo
2676 2675
                             <?php
2677 2676
                             if(!empty($this->options['block-edit-raw'])) {
2678 2677
                                 echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues
2679
-                            }else{
2678
+                            } else{
2680 2679
                             ?>
2681 2680
 
2682 2681
 function hasSelectedInnerBlock(props) {
@@ -2811,7 +2810,7 @@  discard block
 block discarded – undo
2811 2810
 $current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
2812 2811
 if(!empty($current_screen->base) && $current_screen->base==='widgets'){
2813 2812
 	echo 'const { deviceType } = "";';
2814
-}else{
2813
+} else{
2815 2814
 ?>
2816 2815
 /** Get device type const. */
2817 2816
 const { deviceType } = wp.data.useSelect != 'undefined' ?  wp.data.useSelect(select => {
@@ -2845,7 +2844,7 @@  discard block
 block discarded – undo
2845 2844
 										'block_parent_name': parentBlocks.length ? parentBlocks[parentBlocks.length - 1].name : '',
2846 2845
 										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
2847 2846
 										echo $post->ID;
2848
-									}else{echo '0';}?>,
2847
+									} else{echo '0';}?>,
2849 2848
 										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
2850 2849
 									};
2851 2850
 
@@ -2865,7 +2864,7 @@  discard block
 block discarded – undo
2865 2864
 										is_fetching = false;
2866 2865
 										prev_attributes[props.clientId] = props.attributes;
2867 2866
                                              <?php
2868
-                                        }else{
2867
+                                        } else{
2869 2868
                                         ?>
2870 2869
                                         props.setAttributes({content: env});
2871 2870
 										is_fetching = false;
@@ -3023,7 +3022,7 @@  discard block
 block discarded – undo
3023 3022
 //
3024 3023
 
3025 3024
 									}
3026
-									}else {
3025
+									} else {
3027 3026
 									?>
3028 3027
 									el(wp.components.PanelBody, {
3029 3028
 											title: '<?php esc_attr_e( "Settings" ); ?>',
@@ -3049,9 +3048,9 @@  discard block
 block discarded – undo
3049 3048
 								// If the user sets block-output array then build it
3050 3049
 								if ( ! empty( $this->options['block-output'] ) ) {
3051 3050
 								$this->block_element( $this->options['block-output'] );
3052
-							}elseif(!empty($this->options['block-edit-return'])){
3051
+							} elseif(!empty($this->options['block-edit-return'])){
3053 3052
                                    echo $this->options['block-edit-return'];
3054
-							}else{
3053
+							} else{
3055 3054
 								// if no block-output is set then we try and get the shortcode html output via ajax.
3056 3055
 								$block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div';
3057 3056
 								?>
@@ -3156,9 +3155,9 @@  discard block
 block discarded – undo
3156 3155
                                );
3157 3156
                                 <?php
3158 3157
 
3159
-							}elseif(!empty($this->options['block-save-return'])){
3158
+							} elseif(!empty($this->options['block-save-return'])){
3160 3159
                                    echo 'return ' . $this->options['block-save-return'];
3161
-							}elseif(!empty($this->options['nested-block'])){
3160
+							} elseif(!empty($this->options['nested-block'])){
3162 3161
                                 ?>
3163 3162
                               return el(
3164 3163
                                    '',
@@ -3168,13 +3167,13 @@  discard block
 block discarded – undo
3168 3167
                                    el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3169 3168
                                );
3170 3169
                                 <?php
3171
-							}elseif(!empty( $this->options['block-save-return'] ) ){
3170
+							} elseif(!empty( $this->options['block-save-return'] ) ){
3172 3171
                                 echo "return ". $this->options['block-edit-return'].";";
3173
-							}elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3172
+							} elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3174 3173
 							?>
3175 3174
 							return content;
3176 3175
 							<?php
3177
-							}else{
3176
+							} else{
3178 3177
 							?>
3179 3178
 							var block_wrap = 'div';
3180 3179
 							if (attr.hasOwnProperty("block_wrap")) {
@@ -3225,9 +3224,9 @@  discard block
 block discarded – undo
3225 3224
                 $device_type_icon = '';
3226 3225
                 if($device_type=='Desktop'){
3227 3226
                     $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3228
-                }elseif($device_type=='Tablet'){
3227
+                } elseif($device_type=='Tablet'){
3229 3228
                     $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3230
-                }elseif($device_type=='Mobile'){
3229
+                } elseif($device_type=='Mobile'){
3231 3230
                     $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3232 3231
                 }
3233 3232
 				echo $element_require;
@@ -3272,7 +3271,7 @@  discard block
 block discarded – undo
3272 3271
 
3273 3272
 					<?php
3274 3273
 					if(false){?></script><?php }
3275
-				}elseif(!empty($args['row']['close'])){
3274
+				} elseif(!empty($args['row']['close'])){
3276 3275
 					if(false){?><script><?php }?>
3277 3276
 						el(
3278 3277
 							'div',
@@ -3281,7 +3280,7 @@  discard block
 block discarded – undo
3281 3280
 							},
3282 3281
 					<?php
3283 3282
 					if(false){?></script><?php }
3284
-				}else{
3283
+				} else{
3285 3284
 					if(false){?><script><?php }?>
3286 3285
 						el(
3287 3286
 							'div',
@@ -3386,9 +3385,9 @@  discard block
 block discarded – undo
3386 3385
             $device_type_icon = '';
3387 3386
             if($device_type=='Desktop'){
3388 3387
                 $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3389
-            }elseif($device_type=='Tablet'){
3388
+            } elseif($device_type=='Tablet'){
3390 3389
                 $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3391
-            }elseif($device_type=='Mobile'){
3390
+            } elseif($device_type=='Mobile'){
3392 3391
                 $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3393 3392
             }
3394 3393
 
@@ -3445,7 +3444,7 @@  discard block
 block discarded – undo
3445 3444
 				$args['type'] == 'text';
3446 3445
 				// Save numbers as numbers and not strings
3447 3446
 				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3448
-			}else if ( $args['type'] == 'notice' ) {
3447
+			} else if ( $args['type'] == 'notice' ) {
3449 3448
 
3450 3449
 				$notice_message = !empty($args['desc']) ? addslashes($args['desc']) : '';
3451 3450
 				$notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info';
@@ -3520,7 +3519,7 @@  discard block
 block discarded – undo
3520 3519
                             $key: value
3521 3520
                         });
3522 3521
                     },";
3523
-			}elseif ( $args['type'] == 'gradient' ) {
3522
+			} elseif ( $args['type'] == 'gradient' ) {
3524 3523
 				$type = 'GradientPicker';
3525 3524
 				$extra .= "gradients: [{
3526 3525
 			name: 'Vivid cyan blue to vivid purple',
@@ -3559,7 +3558,7 @@  discard block
 block discarded – undo
3559 3558
 			slug: 'cool-to-warm-spectrum',
3560 3559
 		}],";
3561 3560
 
3562
-			}elseif ( $args['type'] == 'image' ) {
3561
+			} elseif ( $args['type'] == 'image' ) {
3563 3562
 //                print_r($args);
3564 3563
 
3565 3564
                 $img_preview = isset($args['focalpoint']) && !$args['focalpoint'] ? " props.attributes.$key && el('img', { src: props.attributes.$key,style: {maxWidth:'100%',background: '#ccc'}})," : " ( props.attributes.$key ||  props.attributes.{$key}_use_featured ) && el(wp.components.FocalPointPicker,{
@@ -3696,8 +3695,7 @@  discard block
 block discarded – undo
3696 3695
                 $onchange = "";
3697 3696
 
3698 3697
                 //$inside_elements = ",el('div',{},'file upload')";
3699
-			}
3700
-			elseif ( $args['type'] == 'checkbox' ) {
3698
+			} elseif ( $args['type'] == 'checkbox' ) {
3701 3699
 				$type = 'CheckboxControl';
3702 3700
 				$extra .= "checked: props.attributes.$key,";
3703 3701
 				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
@@ -3709,9 +3707,9 @@  discard block
 block discarded – undo
3709 3707
 
3710 3708
 				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
3711 3709
 					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
3712
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3710
+				} elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3713 3711
 					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
3714
-				}else {
3712
+				} else {
3715 3713
 
3716 3714
 					if ( ! empty( $args['options'] ) ) {
3717 3715
 						$options .= "options: [";
@@ -3875,7 +3873,7 @@  discard block
 block discarded – undo
3875 3873
 				foreach ( $custom_attributes as $key => $val ) {
3876 3874
 					if(is_array($val)){
3877 3875
 						$attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},';
3878
-					}else{
3876
+					} else{
3879 3877
 						$attributes .= $html ?  " $key='$val' " : "'$key': '$val',";
3880 3878
 					}
3881 3879
 				}
@@ -3915,7 +3913,7 @@  discard block
 block discarded – undo
3915 3913
 
3916 3914
                             if($new_args['element']=='InnerBlocks'){
3917 3915
                                 echo "\n el( InnerBlocks, {";
3918
-                            }elseif($new_args['element']=='innerBlocksProps'){
3916
+                            } elseif($new_args['element']=='innerBlocksProps'){
3919 3917
                                 $element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div';
3920 3918
                               //  echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {";
3921 3919
 //                                echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
@@ -3928,11 +3926,11 @@  discard block
 block discarded – undo
3928 3926
                             //    echo '###';
3929 3927
 
3930 3928
                               //  echo '###';
3931
-                            }elseif($new_args['element']=='BlocksProps'){
3929
+                            } elseif($new_args['element']=='BlocksProps'){
3932 3930
 
3933 3931
 								if ( isset($new_args['if_inner_element']) ) {
3934 3932
 									$element = $new_args['if_inner_element'];
3935
-								}else {
3933
+								} else {
3936 3934
 									$element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'";
3937 3935
 								}
3938 3936
 
@@ -3943,7 +3941,7 @@  discard block
 block discarded – undo
3943 3941
 
3944 3942
                                // echo "} ),";
3945 3943
 
3946
-                            }else{
3944
+                            } else{
3947 3945
                                 echo "\n el( '" . $new_args['element'] . "', {";
3948 3946
                             }
3949 3947
 
@@ -3968,7 +3966,7 @@  discard block
 block discarded – undo
3968 3966
 
3969 3967
 									if ( $new_key === 'content' ) {
3970 3968
 										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
3971
-									}else if ( $new_key === 'if_content' ) {
3969
+									} else if ( $new_key === 'if_content' ) {
3972 3970
 										echo  $this->block_props_replace(  $new_value  );
3973 3971
 									}
3974 3972
 
@@ -3998,7 +3996,7 @@  discard block
 block discarded – undo
3998 3996
 
3999 3997
                             if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){
4000 3998
                                 echo "))";// end content
4001
-                            }else{
3999
+                            } else{
4002 4000
                                 echo ")";// end content
4003 4001
                             }
4004 4002
 
@@ -4306,7 +4304,7 @@  discard block
 block discarded – undo
4306 4304
 
4307 4305
 				if(empty($instance['widget_title_tag'])){
4308 4306
 					$output = $args['before_title'] . $title . $args['after_title'];
4309
-				}else{
4307
+				} else{
4310 4308
 					$title_tag = esc_attr( $instance['widget_title_tag'] );
4311 4309
 
4312 4310
 					// classes
@@ -4411,9 +4409,9 @@  discard block
 block discarded – undo
4411 4409
 					<div class='row <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>'>
4412 4410
 					<div class='col pr-2'>
4413 4411
 					<?php
4414
-				}elseif(!empty($args['row']['close'])){
4412
+				} elseif(!empty($args['row']['close'])){
4415 4413
 					echo "<div class='col pl-0 ps-0'>";
4416
-				}else{
4414
+				} else{
4417 4415
 					echo "<div class='col pl-0 ps-0 pr-2 pe-2'>";
4418 4416
 				}
4419 4417
 			}
@@ -4591,11 +4589,11 @@  discard block
 block discarded – undo
4591 4589
 		public function get_widget_icon($icon = 'box-top', $title = ''){
4592 4590
 			if($icon=='box-top'){
4593 4591
 				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>';
4594
-			}elseif($icon=='box-right'){
4592
+			} elseif($icon=='box-right'){
4595 4593
 				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>';
4596
-			}elseif($icon=='box-bottom'){
4594
+			} elseif($icon=='box-bottom'){
4597 4595
 				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>';
4598
-			}elseif($icon=='box-left'){
4596
+			} elseif($icon=='box-left'){
4599 4597
 				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>';
4600 4598
 			}
4601 4599
 		}
Please login to merge, or discard this patch.
Indentation   +2298 added lines, -2298 removed lines patch added patch discarded remove patch
@@ -1,60 +1,60 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! defined( 'ABSPATH' ) ) {
3
-	exit;
3
+    exit;
4 4
 }
5 5
 
6 6
 if ( ! class_exists( 'WP_Super_Duper' ) ) {
7 7
 
8
-	define( 'SUPER_DUPER_VER', '1.1.28' );
9
-
10
-	/**
11
-	 * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress.
12
-	 *
13
-	 * Should not be called direct but extended instead.
14
-	 *
15
-	 * Class WP_Super_Duper
16
-	 * @since 1.0.16 change log moved to file change-log.txt - CHANGED
17
-	 * @ver 1.1.1
18
-	 */
19
-	class WP_Super_Duper extends WP_Widget {
20
-
21
-		public $version = SUPER_DUPER_VER;
22
-		public $font_awesome_icon_version = "5.11.2";
23
-		public $block_code;
24
-		public $options;
25
-		public $base_id;
26
-		public $settings_hash;
27
-		public $arguments = array();
28
-		public $instance = array();
29
-		private $class_name;
30
-
31
-		/**
32
-		 * The relative url to the current folder.
33
-		 *
34
-		 * @var string
35
-		 */
36
-		public $url = '';
37
-
38
-		/**
39
-		 * Take the array options and use them to build.
40
-		 */
41
-		public function __construct( $options ) {
42
-			global $sd_widgets;
43
-
44
-			$sd_widgets[ $options['base_id'] ] = array(
45
-				'name'       => $options['name'],
46
-				'class_name' => $options['class_name'],
47
-				'output_types' => !empty($options['output_types']) ? $options['output_types'] : array()
48
-			);
49
-			$this->base_id                     = $options['base_id'];
50
-			// lets filter the options before we do anything
51
-			$options       = apply_filters( "wp_super_duper_options", $options );
52
-			$options       = apply_filters( "wp_super_duper_options_{$this->base_id}", $options );
53
-			$options       = $this->add_name_from_key( $options );
54
-			$this->options = $options;
55
-
56
-			$this->base_id   = $options['base_id'];
57
-			$this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array();
8
+    define( 'SUPER_DUPER_VER', '1.1.28' );
9
+
10
+    /**
11
+     * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress.
12
+     *
13
+     * Should not be called direct but extended instead.
14
+     *
15
+     * Class WP_Super_Duper
16
+     * @since 1.0.16 change log moved to file change-log.txt - CHANGED
17
+     * @ver 1.1.1
18
+     */
19
+    class WP_Super_Duper extends WP_Widget {
20
+
21
+        public $version = SUPER_DUPER_VER;
22
+        public $font_awesome_icon_version = "5.11.2";
23
+        public $block_code;
24
+        public $options;
25
+        public $base_id;
26
+        public $settings_hash;
27
+        public $arguments = array();
28
+        public $instance = array();
29
+        private $class_name;
30
+
31
+        /**
32
+         * The relative url to the current folder.
33
+         *
34
+         * @var string
35
+         */
36
+        public $url = '';
37
+
38
+        /**
39
+         * Take the array options and use them to build.
40
+         */
41
+        public function __construct( $options ) {
42
+            global $sd_widgets;
43
+
44
+            $sd_widgets[ $options['base_id'] ] = array(
45
+                'name'       => $options['name'],
46
+                'class_name' => $options['class_name'],
47
+                'output_types' => !empty($options['output_types']) ? $options['output_types'] : array()
48
+            );
49
+            $this->base_id                     = $options['base_id'];
50
+            // lets filter the options before we do anything
51
+            $options       = apply_filters( "wp_super_duper_options", $options );
52
+            $options       = apply_filters( "wp_super_duper_options_{$this->base_id}", $options );
53
+            $options       = $this->add_name_from_key( $options );
54
+            $this->options = $options;
55
+
56
+            $this->base_id   = $options['base_id'];
57
+            $this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array();
58 58
 
59 59
             // nested blocks can't work as a widget
60 60
             if(!empty($this->options['nested-block'])){
@@ -65,235 +65,235 @@  discard block
 block discarded – undo
65 65
                 }
66 66
             }
67 67
 
68
-			// init parent
69
-			if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
68
+            // init parent
69
+            if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
70 70
                 parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] );
71
-			}
71
+            }
72 72
 
73 73
 
74
-			if ( isset( $options['class_name'] ) ) {
75
-				// register widget
76
-				$this->class_name = $options['class_name'];
74
+            if ( isset( $options['class_name'] ) ) {
75
+                // register widget
76
+                $this->class_name = $options['class_name'];
77 77
 
78
-				// register shortcode, this needs to be done even for blocks and widgets
78
+                // register shortcode, this needs to be done even for blocks and widgets
79 79
                 $this->register_shortcode();
80 80
 
81 81
 
82
-				// Fusion Builder (avada) support
83
-				if ( function_exists( 'fusion_builder_map' ) ) {
84
-					add_action( 'init', array( $this, 'register_fusion_element' ) );
85
-				}
82
+                // Fusion Builder (avada) support
83
+                if ( function_exists( 'fusion_builder_map' ) ) {
84
+                    add_action( 'init', array( $this, 'register_fusion_element' ) );
85
+                }
86 86
 
87
-				// register block
88
-				if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){
89
-				    add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
87
+                // register block
88
+                if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){
89
+                    add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
90 90
                 }
91
-			}
91
+            }
92 92
 
93
-			// add the CSS and JS we need ONCE
94
-			global $sd_widget_scripts;
93
+            // add the CSS and JS we need ONCE
94
+            global $sd_widget_scripts;
95 95
 
96
-			if ( ! $sd_widget_scripts ) {
97
-				wp_add_inline_script( 'admin-widgets', $this->widget_js() );
98
-				wp_add_inline_script( 'customize-controls', $this->widget_js() );
99
-				wp_add_inline_style( 'widgets', $this->widget_css() );
96
+            if ( ! $sd_widget_scripts ) {
97
+                wp_add_inline_script( 'admin-widgets', $this->widget_js() );
98
+                wp_add_inline_script( 'customize-controls', $this->widget_js() );
99
+                wp_add_inline_style( 'widgets', $this->widget_css() );
100 100
 
101
-				// maybe add elementor editor styles
102
-				add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
101
+                // maybe add elementor editor styles
102
+                add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
103 103
 
104
-				$sd_widget_scripts = true;
104
+                $sd_widget_scripts = true;
105 105
 
106
-				// add shortcode insert button once
107
-				add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
108
-				// generatepress theme sections compatibility
109
-				if ( function_exists( 'generate_sections_sections_metabox' ) ) {
110
-					add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
111
-				}
112
-				/* Load script on Divi theme builder page */
113
-				if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) {
114
-					add_thickbox();
115
-					add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) );
116
-				}
106
+                // add shortcode insert button once
107
+                add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
108
+                // generatepress theme sections compatibility
109
+                if ( function_exists( 'generate_sections_sections_metabox' ) ) {
110
+                    add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
111
+                }
112
+                /* Load script on Divi theme builder page */
113
+                if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) {
114
+                    add_thickbox();
115
+                    add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) );
116
+                }
117 117
 
118
-				if ( $this->is_preview() ) {
119
-					add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
120
-					// this makes the insert button work for elementor
121
-					add_action( 'elementor/editor/after_enqueue_scripts', array(
122
-						$this,
123
-						'shortcode_insert_button_script'
124
-					) ); // for elementor
125
-				}
126
-				// this makes the insert button work for cornerstone
127
-				add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
118
+                if ( $this->is_preview() ) {
119
+                    add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
120
+                    // this makes the insert button work for elementor
121
+                    add_action( 'elementor/editor/after_enqueue_scripts', array(
122
+                        $this,
123
+                        'shortcode_insert_button_script'
124
+                    ) ); // for elementor
125
+                }
126
+                // this makes the insert button work for cornerstone
127
+                add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
128 128
 
129
-				add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
130
-				add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
129
+                add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
130
+                add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
131 131
 
132
-				// add generator text to head
133
-				add_action( 'admin_head', array( $this, 'generator' ) );
134
-				add_action( 'wp_head', array( $this, 'generator' ) );
135
-			}
132
+                // add generator text to head
133
+                add_action( 'admin_head', array( $this, 'generator' ) );
134
+                add_action( 'wp_head', array( $this, 'generator' ) );
135
+            }
136 136
 
137
-			do_action( 'wp_super_duper_widget_init', $options, $this );
138
-		}
137
+            do_action( 'wp_super_duper_widget_init', $options, $this );
138
+        }
139 139
 
140 140
         /**
141 141
          * The register widget function
142 142
          * @return void
143 143
          */
144
-		public function _register() {
144
+        public function _register() {
145 145
             if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
146 146
                 parent::_register();
147
-			}
148
-		}
147
+            }
148
+        }
149 149
 
150
-		/**
151
-		 * Add our widget CSS to elementor editor.
152
-		 */
153
-		public function elementor_editor_styles() {
154
-			wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
155
-		}
150
+        /**
151
+         * Add our widget CSS to elementor editor.
152
+         */
153
+        public function elementor_editor_styles() {
154
+            wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
155
+        }
156 156
 
157
-		public function register_fusion_element() {
157
+        public function register_fusion_element() {
158 158
 
159
-			$options = $this->options;
159
+            $options = $this->options;
160 160
 
161
-			if ( $this->base_id ) {
161
+            if ( $this->base_id ) {
162 162
 
163
-				$params = $this->get_fusion_params();
163
+                $params = $this->get_fusion_params();
164 164
 
165
-				$args = array(
166
-					'name'            => $options['name'],
167
-					'shortcode'       => $this->base_id,
168
-					'icon'            => $options['block-icon'] ? $options['block-icon'] : 'far fa-square',
169
-					'allow_generator' => true,
170
-				);
165
+                $args = array(
166
+                    'name'            => $options['name'],
167
+                    'shortcode'       => $this->base_id,
168
+                    'icon'            => $options['block-icon'] ? $options['block-icon'] : 'far fa-square',
169
+                    'allow_generator' => true,
170
+                );
171 171
 
172
-				if ( ! empty( $params ) ) {
173
-					$args['params'] = $params;
174
-				}
172
+                if ( ! empty( $params ) ) {
173
+                    $args['params'] = $params;
174
+                }
175 175
 
176
-				fusion_builder_map( $args );
177
-			}
176
+                fusion_builder_map( $args );
177
+            }
178 178
 
179
-		}
179
+        }
180 180
 
181
-		public function get_fusion_params() {
182
-			$params    = array();
183
-			$arguments = $this->get_arguments();
184
-
185
-			if ( ! empty( $arguments ) ) {
186
-				foreach ( $arguments as $key => $val ) {
187
-					$param = array();
188
-					// type
189
-					$param['type'] = str_replace(
190
-						array(
191
-							"text",
192
-							"number",
193
-							"email",
194
-							"color",
195
-							"checkbox"
196
-						),
197
-						array(
198
-							"textfield",
199
-							"textfield",
200
-							"textfield",
201
-							"colorpicker",
202
-							"select",
203
-
204
-						),
205
-						$val['type'] );
206
-
207
-					// multiselect
208
-					if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
209
-						$param['type']     = 'multiple_select';
210
-						$param['multiple'] = true;
211
-					}
181
+        public function get_fusion_params() {
182
+            $params    = array();
183
+            $arguments = $this->get_arguments();
184
+
185
+            if ( ! empty( $arguments ) ) {
186
+                foreach ( $arguments as $key => $val ) {
187
+                    $param = array();
188
+                    // type
189
+                    $param['type'] = str_replace(
190
+                        array(
191
+                            "text",
192
+                            "number",
193
+                            "email",
194
+                            "color",
195
+                            "checkbox"
196
+                        ),
197
+                        array(
198
+                            "textfield",
199
+                            "textfield",
200
+                            "textfield",
201
+                            "colorpicker",
202
+                            "select",
212 203
 
213
-					// heading
214
-					$param['heading'] = isset( $val['title'] ) ? $val['title'] : '';
204
+                        ),
205
+                        $val['type'] );
215 206
 
216
-					// description
217
-					$param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
207
+                    // multiselect
208
+                    if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
209
+                        $param['type']     = 'multiple_select';
210
+                        $param['multiple'] = true;
211
+                    }
218 212
 
219
-					// param_name
220
-					$param['param_name'] = $key;
213
+                    // heading
214
+                    $param['heading'] = isset( $val['title'] ) ? $val['title'] : '';
221 215
 
222
-					// Default
223
-					$param['default'] = isset( $val['default'] ) ? $val['default'] : '';
216
+                    // description
217
+                    $param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
224 218
 
225
-					// Group
226
-					if ( isset( $val['group'] ) ) {
227
-						$param['group'] = $val['group'];
228
-					}
219
+                    // param_name
220
+                    $param['param_name'] = $key;
229 221
 
230
-					// value
231
-					if ( $val['type'] == 'checkbox' ) {
232
-						if ( isset( $val['default'] ) && $val['default'] == '0' ) {
233
-							unset( $param['default'] );
234
-						}
235
-						$param['value'] = array( '0' => __( "No" ), '1' => __( "Yes" ) );
236
-					} elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
237
-						$param['value'] = isset( $val['options'] ) ? $val['options'] : array();
238
-					} else {
239
-						$param['value'] = isset( $val['default'] ) ? $val['default'] : '';
240
-					}
222
+                    // Default
223
+                    $param['default'] = isset( $val['default'] ) ? $val['default'] : '';
241 224
 
242
-					// setup the param
243
-					$params[] = $param;
225
+                    // Group
226
+                    if ( isset( $val['group'] ) ) {
227
+                        $param['group'] = $val['group'];
228
+                    }
244 229
 
245
-				}
246
-			}
230
+                    // value
231
+                    if ( $val['type'] == 'checkbox' ) {
232
+                        if ( isset( $val['default'] ) && $val['default'] == '0' ) {
233
+                            unset( $param['default'] );
234
+                        }
235
+                        $param['value'] = array( '0' => __( "No" ), '1' => __( "Yes" ) );
236
+                    } elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
237
+                        $param['value'] = isset( $val['options'] ) ? $val['options'] : array();
238
+                    } else {
239
+                        $param['value'] = isset( $val['default'] ) ? $val['default'] : '';
240
+                    }
247 241
 
242
+                    // setup the param
243
+                    $params[] = $param;
248 244
 
249
-			return $params;
250
-		}
245
+                }
246
+            }
251 247
 
252
-		/**
253
-		 * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
254
-		 */
255
-		public static function maybe_cornerstone_builder() {
256
-			if ( did_action( 'cornerstone_before_boot_app' ) ) {
257
-				self::shortcode_insert_button_script();
258
-			}
259
-		}
260 248
 
261
-		/**
262
-		 * A function to ge the shortcode builder picker html.
263
-		 *
264
-		 * @param string $editor_id
265
-		 *
266
-		 * @return string
267
-		 */
268
-		public static function get_picker( $editor_id = '' ) {
269
-
270
-			ob_start();
271
-			if ( isset( $_POST['editor_id'] ) ) {
272
-				$editor_id = esc_attr( $_POST['editor_id'] );
273
-			} elseif ( isset( $_REQUEST['et_fb'] ) ) {
274
-				$editor_id = 'main_content_content_vb_tiny_mce';
275
-			}
249
+            return $params;
250
+        }
251
+
252
+        /**
253
+         * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
254
+         */
255
+        public static function maybe_cornerstone_builder() {
256
+            if ( did_action( 'cornerstone_before_boot_app' ) ) {
257
+                self::shortcode_insert_button_script();
258
+            }
259
+        }
260
+
261
+        /**
262
+         * A function to ge the shortcode builder picker html.
263
+         *
264
+         * @param string $editor_id
265
+         *
266
+         * @return string
267
+         */
268
+        public static function get_picker( $editor_id = '' ) {
269
+
270
+            ob_start();
271
+            if ( isset( $_POST['editor_id'] ) ) {
272
+                $editor_id = esc_attr( $_POST['editor_id'] );
273
+            } elseif ( isset( $_REQUEST['et_fb'] ) ) {
274
+                $editor_id = 'main_content_content_vb_tiny_mce';
275
+            }
276 276
 
277
-			global $sd_widgets;
277
+            global $sd_widgets;
278 278
 
279 279
 //			print_r($sd_widgets);exit;
280
-			?>
280
+            ?>
281 281
 
282 282
 			<div class="sd-shortcode-left-wrap">
283 283
 				<?php
284
-				ksort( $sd_widgets );
285
-				//				print_r($sd_widgets);exit;
286
-				if ( ! empty( $sd_widgets ) ) {
287
-					echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
288
-					echo "<option>" . __( 'Select shortcode' ) . "</option>";
289
-					foreach ( $sd_widgets as $shortcode => $class ) {
290
-						if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; }
291
-						echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
292
-					}
293
-					echo "</select>";
284
+                ksort( $sd_widgets );
285
+                //				print_r($sd_widgets);exit;
286
+                if ( ! empty( $sd_widgets ) ) {
287
+                    echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
288
+                    echo "<option>" . __( 'Select shortcode' ) . "</option>";
289
+                    foreach ( $sd_widgets as $shortcode => $class ) {
290
+                        if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; }
291
+                        echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
292
+                    }
293
+                    echo "</select>";
294 294
 
295
-				}
296
-				?>
295
+                }
296
+                ?>
297 297
 				<div class="sd-shortcode-settings"></div>
298 298
 
299 299
 			</div>
@@ -304,8 +304,8 @@  discard block
 block discarded – undo
304 304
 					<?php if ( $editor_id != '' ) { ?>
305 305
 						<button class="button sd-insert-shortcode-button"
306 306
 						        onclick="sd_insert_shortcode(<?php if ( ! empty( $editor_id ) ) {
307
-							        echo "'" . $editor_id . "'";
308
-						        } ?>)"><?php _e( 'Insert shortcode' ); ?></button>
307
+                                    echo "'" . $editor_id . "'";
308
+                                } ?>)"><?php _e( 'Insert shortcode' ); ?></button>
309 309
 					<?php } ?>
310 310
 					<button class="button"
311 311
 					        onclick="sd_copy_to_clipboard()"><?php _e( 'Copy shortcode' ); ?></button>
@@ -313,150 +313,150 @@  discard block
 block discarded – undo
313 313
 			</div>
314 314
 			<?php
315 315
 
316
-			$html = ob_get_clean();
316
+            $html = ob_get_clean();
317 317
 
318
-			if ( wp_doing_ajax() ) {
319
-				echo $html;
320
-				$should_die = true;
318
+            if ( wp_doing_ajax() ) {
319
+                echo $html;
320
+                $should_die = true;
321 321
 
322
-				// some builder get the editor via ajax so we should not die on those occasions
323
-				$dont_die = array(
324
-					'parent_tag',// WP Bakery
325
-					'avia_request' // enfold
326
-				);
322
+                // some builder get the editor via ajax so we should not die on those occasions
323
+                $dont_die = array(
324
+                    'parent_tag',// WP Bakery
325
+                    'avia_request' // enfold
326
+                );
327 327
 
328
-				foreach ( $dont_die as $request ) {
329
-					if ( isset( $_REQUEST[ $request ] ) ) {
330
-						$should_die = false;
331
-					}
332
-				}
328
+                foreach ( $dont_die as $request ) {
329
+                    if ( isset( $_REQUEST[ $request ] ) ) {
330
+                        $should_die = false;
331
+                    }
332
+                }
333 333
 
334
-				if ( $should_die ) {
335
-					wp_die();
336
-				}
334
+                if ( $should_die ) {
335
+                    wp_die();
336
+                }
337 337
 
338
-			} else {
339
-				return $html;
340
-			}
338
+            } else {
339
+                return $html;
340
+            }
341 341
 
342
-			return '';
342
+            return '';
343 343
 
344
-		}
344
+        }
345 345
 
346
-		/**
347
-		 * Output the version in the header.
348
-		 */
349
-		public function generator() {
350
-			$file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
351
-			$plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
352
-
353
-			// Find source plugin/theme of SD
354
-			$source = array();
355
-			if ( strpos( $file, $plugins_dir ) !== false ) {
356
-				$source = explode( "/", plugin_basename( $file ) );
357
-			} else if ( function_exists( 'get_theme_root' ) ) {
358
-				$themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
359
-
360
-				if ( strpos( $file, $themes_dir ) !== false ) {
361
-					$source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
362
-				}
363
-			}
346
+        /**
347
+         * Output the version in the header.
348
+         */
349
+        public function generator() {
350
+            $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
351
+            $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
352
+
353
+            // Find source plugin/theme of SD
354
+            $source = array();
355
+            if ( strpos( $file, $plugins_dir ) !== false ) {
356
+                $source = explode( "/", plugin_basename( $file ) );
357
+            } else if ( function_exists( 'get_theme_root' ) ) {
358
+                $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
359
+
360
+                if ( strpos( $file, $themes_dir ) !== false ) {
361
+                    $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
362
+                }
363
+            }
364 364
 
365
-			echo '<meta name="generator" content="WP Super Duper v' . $this->version . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />';
366
-		}
365
+            echo '<meta name="generator" content="WP Super Duper v' . $this->version . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />';
366
+        }
367 367
 
368
-		/**
369
-		 * Get widget settings.
370
-		 *
371
-		 * @since 1.0.0
372
-		 */
373
-		public static function get_widget_settings() {
374
-			global $sd_widgets;
375
-
376
-			$shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
377
-			if ( ! $shortcode ) {
378
-				wp_die();
379
-			}
380
-			$widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
381
-			if ( ! $widget_args ) {
382
-				wp_die();
383
-			}
384
-			$class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
385
-			if ( ! $class_name ) {
386
-				wp_die();
387
-			}
368
+        /**
369
+         * Get widget settings.
370
+         *
371
+         * @since 1.0.0
372
+         */
373
+        public static function get_widget_settings() {
374
+            global $sd_widgets;
375
+
376
+            $shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
377
+            if ( ! $shortcode ) {
378
+                wp_die();
379
+            }
380
+            $widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
381
+            if ( ! $widget_args ) {
382
+                wp_die();
383
+            }
384
+            $class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
385
+            if ( ! $class_name ) {
386
+                wp_die();
387
+            }
388 388
 
389
-			// invoke an instance method
390
-			$widget = new $class_name;
389
+            // invoke an instance method
390
+            $widget = new $class_name;
391 391
 
392
-			ob_start();
393
-			$widget->form( array() );
394
-			$form = ob_get_clean();
395
-			echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
396
-			echo "<style>" . $widget->widget_css() . "</style>";
397
-			echo "<script>" . $widget->widget_js() . "</script>";
398
-			?>
392
+            ob_start();
393
+            $widget->form( array() );
394
+            $form = ob_get_clean();
395
+            echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
396
+            echo "<style>" . $widget->widget_css() . "</style>";
397
+            echo "<script>" . $widget->widget_js() . "</script>";
398
+            ?>
399 399
 			<?php
400
-			wp_die();
401
-		}
400
+            wp_die();
401
+        }
402 402
 
403
-		/**
404
-		 * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed).
405
-		 *
406
-		 * @param string $editor_id Optional. Shortcode editor id. Default null.
407
-		 * @param string $insert_shortcode_function Optional. Insert shortcode function. Default null.
408
-		 *
409
-		 *@since 1.0.0
410
-		 *
411
-		 */
412
-		public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
413
-			global $sd_widgets, $shortcode_insert_button_once;
414
-			if ( $shortcode_insert_button_once ) {
415
-				return;
416
-			}
417
-			add_thickbox();
403
+        /**
404
+         * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed).
405
+         *
406
+         * @param string $editor_id Optional. Shortcode editor id. Default null.
407
+         * @param string $insert_shortcode_function Optional. Insert shortcode function. Default null.
408
+         *
409
+         *@since 1.0.0
410
+         *
411
+         */
412
+        public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
413
+            global $sd_widgets, $shortcode_insert_button_once;
414
+            if ( $shortcode_insert_button_once ) {
415
+                return;
416
+            }
417
+            add_thickbox();
418 418
 
419 419
 
420
-			/**
421
-			 * Cornerstone makes us play dirty tricks :/
422
-			 * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed.
423
-			 */
424
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
425
-				echo '<span id="insert-media-button">';
426
-			}
420
+            /**
421
+             * Cornerstone makes us play dirty tricks :/
422
+             * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed.
423
+             */
424
+            if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
425
+                echo '<span id="insert-media-button">';
426
+            }
427 427
 
428
-			echo self::shortcode_button( 'this', 'true' );
428
+            echo self::shortcode_button( 'this', 'true' );
429 429
 
430
-			// see opening note
431
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
432
-				echo '</span>'; // end #insert-media-button
433
-			}
430
+            // see opening note
431
+            if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
432
+                echo '</span>'; // end #insert-media-button
433
+            }
434 434
 
435
-			// Add separate script for generatepress theme sections
436
-			if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
437
-			} else {
438
-				self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
439
-			}
435
+            // Add separate script for generatepress theme sections
436
+            if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
437
+            } else {
438
+                self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
439
+            }
440 440
 
441
-			$shortcode_insert_button_once = true;
442
-		}
441
+            $shortcode_insert_button_once = true;
442
+        }
443 443
 
444
-		/**
445
-		 * Gets the shortcode insert button html.
446
-		 *
447
-		 * @param string $id
448
-		 * @param string $search_for_id
449
-		 *
450
-		 * @return mixed
451
-		 */
452
-		public static function shortcode_button( $id = '', $search_for_id = '' ) {
453
-			ob_start();
454
-			?>
444
+        /**
445
+         * Gets the shortcode insert button html.
446
+         *
447
+         * @param string $id
448
+         * @param string $search_for_id
449
+         *
450
+         * @return mixed
451
+         */
452
+        public static function shortcode_button( $id = '', $search_for_id = '' ) {
453
+            ob_start();
454
+            ?>
455 455
 			<span class="sd-lable-shortcode-inserter">
456 456
 				<a onclick="sd_ajax_get_picker(<?php echo $id;
457
-				if ( $search_for_id ) {
458
-					echo "," . $search_for_id;
459
-				} ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
457
+                if ( $search_for_id ) {
458
+                    echo "," . $search_for_id;
459
+                } ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
460 460
 				   class="thickbox button super-duper-content-open" title="Add Shortcode">
461 461
 					<span style="vertical-align: middle;line-height: 18px;font-size: 20px;"
462 462
 					      class="dashicons dashicons-screenoptions"></span>
@@ -467,21 +467,21 @@  discard block
 block discarded – undo
467 467
 			</span>
468 468
 
469 469
 			<?php
470
-			$html = ob_get_clean();
470
+            $html = ob_get_clean();
471 471
 
472
-			// remove line breaks so we can use it in js
473
-			return preg_replace( "/\r|\n/", "", trim( $html ) );
474
-		}
472
+            // remove line breaks so we can use it in js
473
+            return preg_replace( "/\r|\n/", "", trim( $html ) );
474
+        }
475 475
 
476
-		/**
477
-		 * Makes SD work with the siteOrigin page builder.
478
-		 *
479
-		 * @return mixed
480
-		 *@since 1.0.6
481
-		 */
482
-		public static function siteorigin_js() {
483
-			ob_start();
484
-			?>
476
+        /**
477
+         * Makes SD work with the siteOrigin page builder.
478
+         *
479
+         * @return mixed
480
+         *@since 1.0.6
481
+         */
482
+        public static function siteorigin_js() {
483
+            ob_start();
484
+            ?>
485 485
 			<script>
486 486
 				/**
487 487
 				 * Check a form to see what items should be shown or hidden.
@@ -557,29 +557,29 @@  discard block
 block discarded – undo
557 557
 				});
558 558
 			</script>
559 559
 			<?php
560
-			$output = ob_get_clean();
560
+            $output = ob_get_clean();
561 561
 
562
-			/*
562
+            /*
563 563
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
564 564
 			 */
565 565
 
566
-			return str_replace( array(
567
-				'<script>',
568
-				'</script>'
569
-			), '', $output );
570
-		}
566
+            return str_replace( array(
567
+                '<script>',
568
+                '</script>'
569
+            ), '', $output );
570
+        }
571 571
 
572
-		/**
573
-		 * Output the JS and CSS for the shortcode insert button.
574
-		 *
575
-		 * @param string $editor_id
576
-		 * @param string $insert_shortcode_function
577
-		 *
578
-		 *@since 1.0.6
579
-		 *
580
-		 */
581
-		public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
582
-			?>
572
+        /**
573
+         * Output the JS and CSS for the shortcode insert button.
574
+         *
575
+         * @param string $editor_id
576
+         * @param string $insert_shortcode_function
577
+         *
578
+         *@since 1.0.6
579
+         *
580
+         */
581
+        public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
582
+            ?>
583 583
 			<style>
584 584
 				.sd-shortcode-left-wrap {
585 585
 					float: left;
@@ -707,35 +707,35 @@  discard block
 block discarded – undo
707 707
 				<?php } ?>
708 708
 			</style>
709 709
 			<?php
710
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
711
-				echo "<script>" . self::siteorigin_js() . "</script>";
712
-			}
713
-			?>
710
+            if ( class_exists( 'SiteOrigin_Panels' ) ) {
711
+                echo "<script>" . self::siteorigin_js() . "</script>";
712
+            }
713
+            ?>
714 714
 			<script>
715 715
 				<?php
716
-				if(! empty( $insert_shortcode_function )){
717
-					echo $insert_shortcode_function;
718
-				}else{
716
+                if(! empty( $insert_shortcode_function )){
717
+                    echo $insert_shortcode_function;
718
+                }else{
719 719
 
720
-				/**
721
-				 * Function for super duper insert shortcode.
722
-				 *
723
-				 * @since 1.0.0
724
-				 */
725
-				?>
720
+                /**
721
+                 * Function for super duper insert shortcode.
722
+                 *
723
+                 * @since 1.0.0
724
+                 */
725
+                ?>
726 726
 				function sd_insert_shortcode($editor_id) {
727 727
 					$shortcode = jQuery('#TB_ajaxContent #sd-shortcode-output').val();
728 728
 					if ($shortcode) {
729 729
 						if (!$editor_id) {
730 730
 							<?php
731
-							if ( isset( $_REQUEST['et_fb'] ) ) {
732
-								echo '$editor_id = "#main_content_content_vb_tiny_mce";';
733
-							} elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
734
-								echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
735
-							} else {
736
-								echo '$editor_id = "#wp-content-editor-container textarea";';
737
-							}
738
-							?>
731
+                            if ( isset( $_REQUEST['et_fb'] ) ) {
732
+                                echo '$editor_id = "#main_content_content_vb_tiny_mce";';
733
+                            } elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
734
+                                echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
735
+                            } else {
736
+                                echo '$editor_id = "#wp-content-editor-container textarea";';
737
+                            }
738
+                            ?>
739 739
 						} else {
740 740
 							$editor_id = '#' + $editor_id;
741 741
 						}
@@ -1049,18 +1049,18 @@  discard block
 block discarded – undo
1049 1049
 				}
1050 1050
 			</script>
1051 1051
 			<?php
1052
-		}
1052
+        }
1053 1053
 
1054
-		/**
1055
-		 * Gets some CSS for the widgets screen.
1056
-		 *
1057
-		 * @param bool $advanced If we should include advanced CSS.
1058
-		 *
1059
-		 * @return mixed
1060
-		 */
1061
-		public function widget_css( $advanced = true ) {
1062
-			ob_start();
1063
-			?>
1054
+        /**
1055
+         * Gets some CSS for the widgets screen.
1056
+         *
1057
+         * @param bool $advanced If we should include advanced CSS.
1058
+         *
1059
+         * @return mixed
1060
+         */
1061
+        public function widget_css( $advanced = true ) {
1062
+            ob_start();
1063
+            ?>
1064 1064
 			<style>
1065 1065
 				<?php if( $advanced ){ ?>
1066 1066
 				.sd-advanced-setting {
@@ -1098,26 +1098,26 @@  discard block
 block discarded – undo
1098 1098
 				}
1099 1099
 			</style>
1100 1100
 			<?php
1101
-			$output = ob_get_clean();
1101
+            $output = ob_get_clean();
1102 1102
 
1103
-			/*
1103
+            /*
1104 1104
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1105 1105
 			 */
1106 1106
 
1107
-			return str_replace( array(
1108
-				'<style>',
1109
-				'</style>'
1110
-			), '', $output );
1111
-		}
1107
+            return str_replace( array(
1108
+                '<style>',
1109
+                '</style>'
1110
+            ), '', $output );
1111
+        }
1112 1112
 
1113
-		/**
1114
-		 * Gets some JS for the widgets screen.
1115
-		 *
1116
-		 * @return mixed
1117
-		 */
1118
-		public function widget_js() {
1119
-			ob_start();
1120
-			?>
1113
+        /**
1114
+         * Gets some JS for the widgets screen.
1115
+         *
1116
+         * @return mixed
1117
+         */
1118
+        public function widget_js() {
1119
+            ob_start();
1120
+            ?>
1121 1121
 			<script>
1122 1122
 
1123 1123
 				/**
@@ -1268,515 +1268,515 @@  discard block
 block discarded – undo
1268 1268
 				<?php do_action( 'wp_super_duper_widget_js', $this ); ?>
1269 1269
 			</script>
1270 1270
 			<?php
1271
-			$output = ob_get_clean();
1271
+            $output = ob_get_clean();
1272 1272
 
1273
-			/*
1273
+            /*
1274 1274
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1275 1275
 			 */
1276 1276
 
1277
-			return str_replace( array(
1278
-				'<script>',
1279
-				'</script>'
1280
-			), '', $output );
1281
-		}
1277
+            return str_replace( array(
1278
+                '<script>',
1279
+                '</script>'
1280
+            ), '', $output );
1281
+        }
1282 1282
 
1283 1283
 
1284
-		/**
1285
-		 * Set the name from the argument key.
1286
-		 *
1287
-		 * @param $options
1288
-		 *
1289
-		 * @return mixed
1290
-		 */
1291
-		private function add_name_from_key( $options, $arguments = false ) {
1292
-			if ( ! empty( $options['arguments'] ) ) {
1293
-				foreach ( $options['arguments'] as $key => $val ) {
1294
-					$options['arguments'][ $key ]['name'] = $key;
1295
-				}
1296
-			} elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1297
-				foreach ( $options as $key => $val ) {
1298
-					$options[ $key ]['name'] = $key;
1299
-				}
1300
-			}
1284
+        /**
1285
+         * Set the name from the argument key.
1286
+         *
1287
+         * @param $options
1288
+         *
1289
+         * @return mixed
1290
+         */
1291
+        private function add_name_from_key( $options, $arguments = false ) {
1292
+            if ( ! empty( $options['arguments'] ) ) {
1293
+                foreach ( $options['arguments'] as $key => $val ) {
1294
+                    $options['arguments'][ $key ]['name'] = $key;
1295
+                }
1296
+            } elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1297
+                foreach ( $options as $key => $val ) {
1298
+                    $options[ $key ]['name'] = $key;
1299
+                }
1300
+            }
1301 1301
 
1302
-			return $options;
1303
-		}
1302
+            return $options;
1303
+        }
1304 1304
 
1305
-		/**
1306
-		 * Register the parent shortcode.
1307
-		 *
1308
-		 * @since 1.0.0
1309
-		 */
1310
-		public function register_shortcode() {
1311
-			add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1312
-			add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) );
1313
-		}
1305
+        /**
1306
+         * Register the parent shortcode.
1307
+         *
1308
+         * @since 1.0.0
1309
+         */
1310
+        public function register_shortcode() {
1311
+            add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1312
+            add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) );
1313
+        }
1314 1314
 
1315
-		/**
1316
-		 * Render the shortcode via ajax so we can return it to Gutenberg.
1317
-		 *
1318
-		 * @since 1.0.0
1319
-		 */
1320
-		public function render_shortcode() {
1321
-			check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1322
-			if ( ! current_user_can( 'manage_options' ) ) {
1323
-				wp_die();
1324
-			}
1315
+        /**
1316
+         * Render the shortcode via ajax so we can return it to Gutenberg.
1317
+         *
1318
+         * @since 1.0.0
1319
+         */
1320
+        public function render_shortcode() {
1321
+            check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1322
+            if ( ! current_user_can( 'manage_options' ) ) {
1323
+                wp_die();
1324
+            }
1325 1325
 
1326
-			// we might need the $post value here so lets set it.
1327
-			if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1328
-				$post_obj = get_post( absint( $_POST['post_id'] ) );
1329
-				if ( ! empty( $post_obj ) && empty( $post ) ) {
1330
-					global $post;
1331
-					$post = $post_obj;
1332
-				}
1333
-			}
1326
+            // we might need the $post value here so lets set it.
1327
+            if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1328
+                $post_obj = get_post( absint( $_POST['post_id'] ) );
1329
+                if ( ! empty( $post_obj ) && empty( $post ) ) {
1330
+                    global $post;
1331
+                    $post = $post_obj;
1332
+                }
1333
+            }
1334 1334
 
1335
-			if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1336
-				$is_preview = $this->is_preview();
1337
-				$shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1338
-				$attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1339
-				$attributes       = '';
1340
-				if ( ! empty( $attributes_array ) ) {
1341
-					foreach ( $attributes_array as $key => $value ) {
1342
-						if ( is_array( $value ) ) {
1343
-							$value = implode( ",", $value );
1344
-						}
1335
+            if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1336
+                $is_preview = $this->is_preview();
1337
+                $shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1338
+                $attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1339
+                $attributes       = '';
1340
+                if ( ! empty( $attributes_array ) ) {
1341
+                    foreach ( $attributes_array as $key => $value ) {
1342
+                        if ( is_array( $value ) ) {
1343
+                            $value = implode( ",", $value );
1344
+                        }
1345 1345
 
1346
-						if ( ! empty( $value ) ) {
1347
-							$value = wp_unslash( $value );
1346
+                        if ( ! empty( $value ) ) {
1347
+                            $value = wp_unslash( $value );
1348 1348
 
1349
-							// Encode [ and ].
1350
-							if ( $is_preview ) {
1351
-								$value = $this->encode_shortcodes( $value );
1352
-							}
1353
-						}
1354
-						$attributes .= " " . sanitize_title_with_dashes( $key ) . "='" . esc_attr( $value ) . "' ";
1355
-					}
1356
-				}
1349
+                            // Encode [ and ].
1350
+                            if ( $is_preview ) {
1351
+                                $value = $this->encode_shortcodes( $value );
1352
+                            }
1353
+                        }
1354
+                        $attributes .= " " . sanitize_title_with_dashes( $key ) . "='" . esc_attr( $value ) . "' ";
1355
+                    }
1356
+                }
1357 1357
 
1358
-				$shortcode = "[" . $shortcode_name . " " . $attributes . "]";
1358
+                $shortcode = "[" . $shortcode_name . " " . $attributes . "]";
1359 1359
 
1360
-				$content = do_shortcode( $shortcode );
1360
+                $content = do_shortcode( $shortcode );
1361 1361
 
1362
-				// Decode [ and ].
1363
-				if ( ! empty( $content ) && $is_preview ) {
1364
-					$content = $this->decode_shortcodes( $content );
1365
-				}
1362
+                // Decode [ and ].
1363
+                if ( ! empty( $content ) && $is_preview ) {
1364
+                    $content = $this->decode_shortcodes( $content );
1365
+                }
1366 1366
 
1367
-				echo $content;
1368
-			}
1369
-			wp_die();
1370
-		}
1367
+                echo $content;
1368
+            }
1369
+            wp_die();
1370
+        }
1371 1371
 
1372
-		/**
1373
-		 * Output the shortcode.
1374
-		 *
1375
-		 * @param array $args
1376
-		 * @param string $content
1377
-		 *
1378
-		 * @return string
1379
-		 */
1380
-		public function shortcode_output( $args = array(), $content = '' ) {
1381
-			$_instance = $args;
1382
-
1383
-			$args = $this->argument_values( $args );
1384
-
1385
-			// add extra argument so we know its a output to gutenberg
1386
-			//$args
1387
-			$args = $this->string_to_bool( $args );
1388
-
1389
-			// if we have a enclosed shortcode we add it to the special `html` argument
1390
-			if ( ! empty( $content ) ) {
1391
-				$args['html'] = $content;
1392
-			}
1372
+        /**
1373
+         * Output the shortcode.
1374
+         *
1375
+         * @param array $args
1376
+         * @param string $content
1377
+         *
1378
+         * @return string
1379
+         */
1380
+        public function shortcode_output( $args = array(), $content = '' ) {
1381
+            $_instance = $args;
1393 1382
 
1394
-			if ( ! $this->is_preview() ) {
1395
-				/**
1396
-				 * Filters the settings for a particular widget args.
1397
-				 *
1398
-				 * @param array          $args      The current widget instance's settings.
1399
-				 * @param WP_Super_Duper $widget    The current widget settings.
1400
-				 * @param array          $_instance An array of default widget arguments.
1401
-				 *
1402
-				 *@since 1.0.28
1403
-				 *
1404
-				 */
1405
-				$args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance );
1383
+            $args = $this->argument_values( $args );
1406 1384
 
1407
-				if ( ! is_array( $args ) ) {
1408
-					return $args;
1409
-				}
1410
-			}
1385
+            // add extra argument so we know its a output to gutenberg
1386
+            //$args
1387
+            $args = $this->string_to_bool( $args );
1411 1388
 
1412
-			$class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1413
-			$class .= " sdel-".$this->get_instance_hash();
1389
+            // if we have a enclosed shortcode we add it to the special `html` argument
1390
+            if ( ! empty( $content ) ) {
1391
+                $args['html'] = $content;
1392
+            }
1414 1393
 
1415
-			$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1416
-			$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1394
+            if ( ! $this->is_preview() ) {
1395
+                /**
1396
+                 * Filters the settings for a particular widget args.
1397
+                 *
1398
+                 * @param array          $args      The current widget instance's settings.
1399
+                 * @param WP_Super_Duper $widget    The current widget settings.
1400
+                 * @param array          $_instance An array of default widget arguments.
1401
+                 *
1402
+                 *@since 1.0.28
1403
+                 *
1404
+                 */
1405
+                $args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance );
1406
+
1407
+                if ( ! is_array( $args ) ) {
1408
+                    return $args;
1409
+                }
1410
+            }
1417 1411
 
1418
-			$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1419
-			$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
1412
+            $class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1413
+            $class .= " sdel-".$this->get_instance_hash();
1420 1414
 
1421
-			$shortcode_args = array();
1422
-			$output         = '';
1423
-			$no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1424
-			if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1425
-				$no_wrap = true;
1426
-			}
1427
-			$main_content = $this->output( $args, $shortcode_args, $content );
1428
-			if ( $main_content && ! $no_wrap ) {
1429
-				// wrap the shortcode in a div with the same class as the widget
1430
-				$output .= '<div class="' . $class . '" ' . $attrs . '>';
1431
-				if ( ! empty( $args['title'] ) ) {
1432
-					// if its a shortcode and there is a title try to grab the title wrappers
1433
-					$shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1434
-					if ( empty( $instance ) ) {
1435
-						global $wp_registered_sidebars;
1436
-						if ( ! empty( $wp_registered_sidebars ) ) {
1437
-							foreach ( $wp_registered_sidebars as $sidebar ) {
1438
-								if ( ! empty( $sidebar['before_title'] ) ) {
1439
-									$shortcode_args['before_title'] = $sidebar['before_title'];
1440
-									$shortcode_args['after_title']  = $sidebar['after_title'];
1441
-									break;
1442
-								}
1443
-							}
1444
-						}
1445
-					}
1446
-					$output .= $this->output_title( $shortcode_args, $args );
1447
-				}
1448
-				$output .= $main_content;
1449
-				$output .= '</div>';
1450
-			} elseif ( $main_content && $no_wrap ) {
1451
-				$output .= $main_content;
1452
-			}
1415
+            $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1416
+            $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1453 1417
 
1454
-			// if preview show a placeholder if empty
1455
-			if ( $this->is_preview() && $output == '' ) {
1456
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1457
-			}
1418
+            $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1419
+            $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
1458 1420
 
1459
-			return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1460
-		}
1421
+            $shortcode_args = array();
1422
+            $output         = '';
1423
+            $no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1424
+            if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1425
+                $no_wrap = true;
1426
+            }
1427
+            $main_content = $this->output( $args, $shortcode_args, $content );
1428
+            if ( $main_content && ! $no_wrap ) {
1429
+                // wrap the shortcode in a div with the same class as the widget
1430
+                $output .= '<div class="' . $class . '" ' . $attrs . '>';
1431
+                if ( ! empty( $args['title'] ) ) {
1432
+                    // if its a shortcode and there is a title try to grab the title wrappers
1433
+                    $shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1434
+                    if ( empty( $instance ) ) {
1435
+                        global $wp_registered_sidebars;
1436
+                        if ( ! empty( $wp_registered_sidebars ) ) {
1437
+                            foreach ( $wp_registered_sidebars as $sidebar ) {
1438
+                                if ( ! empty( $sidebar['before_title'] ) ) {
1439
+                                    $shortcode_args['before_title'] = $sidebar['before_title'];
1440
+                                    $shortcode_args['after_title']  = $sidebar['after_title'];
1441
+                                    break;
1442
+                                }
1443
+                            }
1444
+                        }
1445
+                    }
1446
+                    $output .= $this->output_title( $shortcode_args, $args );
1447
+                }
1448
+                $output .= $main_content;
1449
+                $output .= '</div>';
1450
+            } elseif ( $main_content && $no_wrap ) {
1451
+                $output .= $main_content;
1452
+            }
1461 1453
 
1462
-		/**
1463
-		 * Placeholder text to show if output is empty and we are on a preview/builder page.
1464
-		 *
1465
-		 * @param string $name
1466
-		 *
1467
-		 * @return string
1468
-		 */
1469
-		public function preview_placeholder_text( $name = '' ) {
1470
-			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf( __( 'Placeholder for: %s' ), $name ) . "</div>";
1471
-		}
1454
+            // if preview show a placeholder if empty
1455
+            if ( $this->is_preview() && $output == '' ) {
1456
+                $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1457
+            }
1472 1458
 
1473
-		/**
1474
-		 * Sometimes booleans values can be turned to strings, so we fix that.
1475
-		 *
1476
-		 * @param $options
1477
-		 *
1478
-		 * @return mixed
1479
-		 */
1480
-		public function string_to_bool( $options ) {
1481
-			// convert bool strings to booleans
1482
-			foreach ( $options as $key => $val ) {
1483
-				if ( $val == 'false' ) {
1484
-					$options[ $key ] = false;
1485
-				} elseif ( $val == 'true' ) {
1486
-					$options[ $key ] = true;
1487
-				}
1488
-			}
1459
+            return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1460
+        }
1489 1461
 
1490
-			return $options;
1491
-		}
1462
+        /**
1463
+         * Placeholder text to show if output is empty and we are on a preview/builder page.
1464
+         *
1465
+         * @param string $name
1466
+         *
1467
+         * @return string
1468
+         */
1469
+        public function preview_placeholder_text( $name = '' ) {
1470
+            return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf( __( 'Placeholder for: %s' ), $name ) . "</div>";
1471
+        }
1492 1472
 
1493
-		/**
1494
-		 * Get the argument values that are also filterable.
1495
-		 *
1496
-		 * @param $instance
1497
-		 *
1498
-		 * @return array
1499
-		 *@since 1.0.12 Don't set checkbox default value if the value is empty.
1500
-		 *
1501
-		 */
1502
-		public function argument_values( $instance ) {
1503
-			$argument_values = array();
1504
-
1505
-			// set widget instance
1506
-			$this->instance = $instance;
1507
-
1508
-			if ( empty( $this->arguments ) ) {
1509
-				$this->arguments = $this->get_arguments();
1510
-			}
1473
+        /**
1474
+         * Sometimes booleans values can be turned to strings, so we fix that.
1475
+         *
1476
+         * @param $options
1477
+         *
1478
+         * @return mixed
1479
+         */
1480
+        public function string_to_bool( $options ) {
1481
+            // convert bool strings to booleans
1482
+            foreach ( $options as $key => $val ) {
1483
+                if ( $val == 'false' ) {
1484
+                    $options[ $key ] = false;
1485
+                } elseif ( $val == 'true' ) {
1486
+                    $options[ $key ] = true;
1487
+                }
1488
+            }
1511 1489
 
1512
-			if ( ! empty( $this->arguments ) ) {
1513
-				foreach ( $this->arguments as $key => $args ) {
1514
-					// set the input name from the key
1515
-					$args['name'] = $key;
1516
-					//
1517
-					$argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1518
-					if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1519
-						// don't set default for an empty checkbox
1520
-					} elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1521
-						$argument_values[ $key ] = $args['default'];
1522
-					}
1523
-				}
1524
-			}
1490
+            return $options;
1491
+        }
1525 1492
 
1526
-			return $argument_values;
1527
-		}
1493
+        /**
1494
+         * Get the argument values that are also filterable.
1495
+         *
1496
+         * @param $instance
1497
+         *
1498
+         * @return array
1499
+         *@since 1.0.12 Don't set checkbox default value if the value is empty.
1500
+         *
1501
+         */
1502
+        public function argument_values( $instance ) {
1503
+            $argument_values = array();
1528 1504
 
1529
-		/**
1530
-		 * Set arguments in super duper.
1531
-		 *
1532
-		 * @return array Set arguments.
1533
-		 *@since 1.0.0
1534
-		 *
1535
-		 */
1536
-		public function set_arguments() {
1537
-			return $this->arguments;
1538
-		}
1505
+            // set widget instance
1506
+            $this->instance = $instance;
1539 1507
 
1540
-		/**
1541
-		 * Get arguments in super duper.
1542
-		 *
1543
-		 * @return array Get arguments.
1544
-		 *@since 1.0.0
1545
-		 *
1546
-		 */
1547
-		public function get_arguments() {
1548
-			if ( empty( $this->arguments ) ) {
1549
-				$this->arguments = $this->set_arguments();
1550
-			}
1508
+            if ( empty( $this->arguments ) ) {
1509
+                $this->arguments = $this->get_arguments();
1510
+            }
1551 1511
 
1552
-			$this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1553
-			$this->arguments = $this->add_name_from_key( $this->arguments, true );
1512
+            if ( ! empty( $this->arguments ) ) {
1513
+                foreach ( $this->arguments as $key => $args ) {
1514
+                    // set the input name from the key
1515
+                    $args['name'] = $key;
1516
+                    //
1517
+                    $argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1518
+                    if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1519
+                        // don't set default for an empty checkbox
1520
+                    } elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1521
+                        $argument_values[ $key ] = $args['default'];
1522
+                    }
1523
+                }
1524
+            }
1554 1525
 
1555
-			return $this->arguments;
1556
-		}
1526
+            return $argument_values;
1527
+        }
1557 1528
 
1558
-		/**
1559
-		 * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class.
1560
-		 *
1561
-		 * @param array $args
1562
-		 * @param array $widget_args
1563
-		 * @param string $content
1564
-		 */
1565
-		public function output( $args = array(), $widget_args = array(), $content = '' ) {
1529
+        /**
1530
+         * Set arguments in super duper.
1531
+         *
1532
+         * @return array Set arguments.
1533
+         *@since 1.0.0
1534
+         *
1535
+         */
1536
+        public function set_arguments() {
1537
+            return $this->arguments;
1538
+        }
1566 1539
 
1567
-		}
1540
+        /**
1541
+         * Get arguments in super duper.
1542
+         *
1543
+         * @return array Get arguments.
1544
+         *@since 1.0.0
1545
+         *
1546
+         */
1547
+        public function get_arguments() {
1548
+            if ( empty( $this->arguments ) ) {
1549
+                $this->arguments = $this->set_arguments();
1550
+            }
1568 1551
 
1569
-		/**
1570
-		 * Add the dynamic block code inline when the wp-block in enqueued.
1571
-		 */
1572
-		public function register_block() {
1573
-			wp_add_inline_script( 'wp-blocks', $this->block() );
1574
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
1575
-				wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1576
-			}
1577
-		}
1552
+            $this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1553
+            $this->arguments = $this->add_name_from_key( $this->arguments, true );
1578 1554
 
1579
-		/**
1580
-		 * Check if we need to show advanced options.
1581
-		 *
1582
-		 * @return bool
1583
-		 */
1584
-		public function block_show_advanced() {
1585
-
1586
-			$show      = false;
1587
-			$arguments = $this->get_arguments();
1588
-
1589
-			if ( ! empty( $arguments ) ) {
1590
-				foreach ( $arguments as $argument ) {
1591
-					if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1592
-						$show = true;
1593
-						break; // no need to continue if we know we have it
1594
-					}
1595
-				}
1596
-			}
1555
+            return $this->arguments;
1556
+        }
1597 1557
 
1598
-			return $show;
1599
-		}
1558
+        /**
1559
+         * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class.
1560
+         *
1561
+         * @param array $args
1562
+         * @param array $widget_args
1563
+         * @param string $content
1564
+         */
1565
+        public function output( $args = array(), $widget_args = array(), $content = '' ) {
1600 1566
 
1601
-		/**
1602
-		 * Get the url path to the current folder.
1603
-		 *
1604
-		 * @return string
1605
-		 */
1606
-		public function get_url() {
1607
-			$url = $this->url;
1608
-
1609
-			if ( ! $url ) {
1610
-				$content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
1611
-				$content_url = untrailingslashit( WP_CONTENT_URL );
1612
-
1613
-				// Replace http:// to https://.
1614
-				if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
1615
-					$content_url = str_replace( 'http://', 'https://', $content_url );
1616
-				}
1567
+        }
1617 1568
 
1618
-				// Check if we are inside a plugin
1619
-				$file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
1620
-				$url = str_replace( $content_dir, $content_url, $file_dir );
1621
-				$url = trailingslashit( $url );
1622
-				$this->url = $url;
1623
-			}
1569
+        /**
1570
+         * Add the dynamic block code inline when the wp-block in enqueued.
1571
+         */
1572
+        public function register_block() {
1573
+            wp_add_inline_script( 'wp-blocks', $this->block() );
1574
+            if ( class_exists( 'SiteOrigin_Panels' ) ) {
1575
+                wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1576
+            }
1577
+        }
1624 1578
 
1625
-			return $url;
1626
-		}
1579
+        /**
1580
+         * Check if we need to show advanced options.
1581
+         *
1582
+         * @return bool
1583
+         */
1584
+        public function block_show_advanced() {
1627 1585
 
1628
-		/**
1629
-		 * Get the url path to the current folder.
1630
-		 *
1631
-		 * @return string
1632
-		 */
1633
-		public function get_url_old() {
1586
+            $show      = false;
1587
+            $arguments = $this->get_arguments();
1634 1588
 
1635
-			$url = $this->url;
1589
+            if ( ! empty( $arguments ) ) {
1590
+                foreach ( $arguments as $argument ) {
1591
+                    if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1592
+                        $show = true;
1593
+                        break; // no need to continue if we know we have it
1594
+                    }
1595
+                }
1596
+            }
1636 1597
 
1637
-			if ( ! $url ) {
1638
-				// check if we are inside a plugin
1639
-				$file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1598
+            return $show;
1599
+        }
1640 1600
 
1641
-				$dir_parts = explode( "/wp-content/", $file_dir );
1642
-				$url_parts = explode( "/wp-content/", plugins_url() );
1601
+        /**
1602
+         * Get the url path to the current folder.
1603
+         *
1604
+         * @return string
1605
+         */
1606
+        public function get_url() {
1607
+            $url = $this->url;
1643 1608
 
1644
-				if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1645
-					$url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1646
-					$this->url = $url;
1647
-				}
1648
-			}
1609
+            if ( ! $url ) {
1610
+                $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
1611
+                $content_url = untrailingslashit( WP_CONTENT_URL );
1649 1612
 
1613
+                // Replace http:// to https://.
1614
+                if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
1615
+                    $content_url = str_replace( 'http://', 'https://', $content_url );
1616
+                }
1650 1617
 
1651
-			return $url;
1652
-		}
1618
+                // Check if we are inside a plugin
1619
+                $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
1620
+                $url = str_replace( $content_dir, $content_url, $file_dir );
1621
+                $url = trailingslashit( $url );
1622
+                $this->url = $url;
1623
+            }
1653 1624
 
1654
-		/**
1655
-		 * Generate the block icon.
1656
-		 *
1657
-		 * Enables the use of Font Awesome icons.
1658
-		 *
1659
-		 * @note xlink:href is actually deprecated but href is not supported by all so we use both.
1660
-		 *
1661
-		 * @param $icon
1662
-		 *
1663
-		 * @return string
1664
-		 *@since 1.1.0
1665
-		 */
1666
-		public function get_block_icon( $icon ) {
1667
-
1668
-			// check if we have a Font Awesome icon
1669
-			$fa_type = '';
1670
-			if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1671
-				$fa_type = 'solid';
1672
-			} elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1673
-				$fa_type = 'regular';
1674
-			} elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1675
-				$fa_type = 'brands';
1676
-			} else {
1677
-				$icon = "'" . $icon . "'";
1678
-			}
1625
+            return $url;
1626
+        }
1679 1627
 
1680
-			// set the icon if we found one
1681
-			if ( $fa_type ) {
1682
-				$fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1683
-				$icon    = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))";
1684
-			}
1628
+        /**
1629
+         * Get the url path to the current folder.
1630
+         *
1631
+         * @return string
1632
+         */
1633
+        public function get_url_old() {
1685 1634
 
1686
-			return $icon;
1687
-		}
1635
+            $url = $this->url;
1636
+
1637
+            if ( ! $url ) {
1638
+                // check if we are inside a plugin
1639
+                $file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1640
+
1641
+                $dir_parts = explode( "/wp-content/", $file_dir );
1642
+                $url_parts = explode( "/wp-content/", plugins_url() );
1643
+
1644
+                if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1645
+                    $url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1646
+                    $this->url = $url;
1647
+                }
1648
+            }
1649
+
1650
+
1651
+            return $url;
1652
+        }
1653
+
1654
+        /**
1655
+         * Generate the block icon.
1656
+         *
1657
+         * Enables the use of Font Awesome icons.
1658
+         *
1659
+         * @note xlink:href is actually deprecated but href is not supported by all so we use both.
1660
+         *
1661
+         * @param $icon
1662
+         *
1663
+         * @return string
1664
+         *@since 1.1.0
1665
+         */
1666
+        public function get_block_icon( $icon ) {
1667
+
1668
+            // check if we have a Font Awesome icon
1669
+            $fa_type = '';
1670
+            if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1671
+                $fa_type = 'solid';
1672
+            } elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1673
+                $fa_type = 'regular';
1674
+            } elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1675
+                $fa_type = 'brands';
1676
+            } else {
1677
+                $icon = "'" . $icon . "'";
1678
+            }
1679
+
1680
+            // set the icon if we found one
1681
+            if ( $fa_type ) {
1682
+                $fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1683
+                $icon    = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))";
1684
+            }
1685
+
1686
+            return $icon;
1687
+        }
1688 1688
 
1689
-		public function group_arguments( $arguments ) {
1689
+        public function group_arguments( $arguments ) {
1690 1690
 //			echo '###';print_r($arguments);
1691
-			if ( ! empty( $arguments ) ) {
1692
-				$temp_arguments = array();
1693
-				$general        = __( "General" );
1694
-				$add_sections   = false;
1695
-				foreach ( $arguments as $key => $args ) {
1696
-					if ( isset( $args['group'] ) ) {
1697
-						$temp_arguments[ $args['group'] ][ $key ] = $args;
1698
-						$add_sections                             = true;
1699
-					} else {
1700
-						$temp_arguments[ $general ][ $key ] = $args;
1701
-					}
1702
-				}
1691
+            if ( ! empty( $arguments ) ) {
1692
+                $temp_arguments = array();
1693
+                $general        = __( "General" );
1694
+                $add_sections   = false;
1695
+                foreach ( $arguments as $key => $args ) {
1696
+                    if ( isset( $args['group'] ) ) {
1697
+                        $temp_arguments[ $args['group'] ][ $key ] = $args;
1698
+                        $add_sections                             = true;
1699
+                    } else {
1700
+                        $temp_arguments[ $general ][ $key ] = $args;
1701
+                    }
1702
+                }
1703 1703
 
1704
-				// only add sections if more than one
1705
-				if ( $add_sections ) {
1706
-					$arguments = $temp_arguments;
1707
-				}
1708
-			}
1704
+                // only add sections if more than one
1705
+                if ( $add_sections ) {
1706
+                    $arguments = $temp_arguments;
1707
+                }
1708
+            }
1709 1709
 
1710 1710
 //			echo '###';print_r($arguments);
1711
-			return $arguments;
1712
-		}
1711
+            return $arguments;
1712
+        }
1713 1713
 
1714
-		/**
1715
-		 * Parse used group tabs.
1716
-		 *
1717
-		 * @since 1.1.17
1718
-		 */
1719
-		public function group_block_tabs( $tabs, $arguments ) {
1720
-			if ( ! empty( $tabs ) && ! empty( $arguments ) ) {
1721
-				$has_sections = false;
1722
-
1723
-				foreach ( $this->arguments as $key => $args ) {
1724
-					if ( isset( $args['group'] ) ) {
1725
-						$has_sections = true;
1726
-						break;
1727
-					}
1728
-				}
1714
+        /**
1715
+         * Parse used group tabs.
1716
+         *
1717
+         * @since 1.1.17
1718
+         */
1719
+        public function group_block_tabs( $tabs, $arguments ) {
1720
+            if ( ! empty( $tabs ) && ! empty( $arguments ) ) {
1721
+                $has_sections = false;
1722
+
1723
+                foreach ( $this->arguments as $key => $args ) {
1724
+                    if ( isset( $args['group'] ) ) {
1725
+                        $has_sections = true;
1726
+                        break;
1727
+                    }
1728
+                }
1729 1729
 
1730
-				if ( ! $has_sections ) {
1731
-					return $tabs;
1732
-				}
1730
+                if ( ! $has_sections ) {
1731
+                    return $tabs;
1732
+                }
1733 1733
 
1734
-				$new_tabs = array();
1734
+                $new_tabs = array();
1735 1735
 
1736
-				foreach ( $tabs as $tab_key => $tab ) {
1737
-					$new_groups = array();
1736
+                foreach ( $tabs as $tab_key => $tab ) {
1737
+                    $new_groups = array();
1738 1738
 
1739
-					if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) {
1740
-						foreach ( $tab['groups'] as $group ) {
1741
-							if ( isset( $arguments[ $group ] ) ) {
1742
-								$new_groups[] = $group;
1743
-							}
1744
-						}
1745
-					}
1739
+                    if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) {
1740
+                        foreach ( $tab['groups'] as $group ) {
1741
+                            if ( isset( $arguments[ $group ] ) ) {
1742
+                                $new_groups[] = $group;
1743
+                            }
1744
+                        }
1745
+                    }
1746 1746
 
1747
-					if ( ! empty( $new_groups ) ) {
1748
-						$tab['groups'] = $new_groups;
1747
+                    if ( ! empty( $new_groups ) ) {
1748
+                        $tab['groups'] = $new_groups;
1749 1749
 
1750
-						$new_tabs[ $tab_key ] = $tab;
1751
-					}
1752
-				}
1750
+                        $new_tabs[ $tab_key ] = $tab;
1751
+                    }
1752
+                }
1753 1753
 
1754
-				$tabs = $new_tabs;
1755
-			}
1754
+                $tabs = $new_tabs;
1755
+            }
1756 1756
 
1757
-			return $tabs;
1758
-		}
1757
+            return $tabs;
1758
+        }
1759
+
1760
+        /**
1761
+         * Output the JS for building the dynamic Guntenberg block.
1762
+         *
1763
+         * @return mixed
1764
+         *@since 1.0.9 Save numbers as numbers and not strings.
1765
+         * @since 1.1.0 Font Awesome classes can be used for icons.
1766
+         * @since 1.0.4 Added block_wrap property which will set the block wrapping output element ie: div, span, p or empty for no wrap.
1767
+         */
1768
+        public function block() {
1769
+            global $sd_is_js_functions_loaded, $aui_bs5;
1770
+
1771
+            $show_advanced = $this->block_show_advanced();
1759 1772
 
1760
-		/**
1761
-		 * Output the JS for building the dynamic Guntenberg block.
1762
-		 *
1763
-		 * @return mixed
1764
-		 *@since 1.0.9 Save numbers as numbers and not strings.
1765
-		 * @since 1.1.0 Font Awesome classes can be used for icons.
1766
-		 * @since 1.0.4 Added block_wrap property which will set the block wrapping output element ie: div, span, p or empty for no wrap.
1767
-		 */
1768
-		public function block() {
1769
-			global $sd_is_js_functions_loaded, $aui_bs5;
1770
-
1771
-			$show_advanced = $this->block_show_advanced();
1772
-
1773
-			ob_start();
1774
-			?>
1773
+            ob_start();
1774
+            ?>
1775 1775
 			<script>
1776 1776
 			<?php
1777
-			if ( ! $sd_is_js_functions_loaded ) {
1778
-				$sd_is_js_functions_loaded = true;
1779
-			?>
1777
+            if ( ! $sd_is_js_functions_loaded ) {
1778
+                $sd_is_js_functions_loaded = true;
1779
+            ?>
1780 1780
 function sd_show_view_options($this){
1781 1781
 	if(jQuery($this).html().length){
1782 1782
 		jQuery($this).html('');
@@ -2224,8 +2224,8 @@  discard block
 block discarded – undo
2224 2224
                 $classes = [];
2225 2225
 
2226 2226
 				<?php
2227
-				if($aui_bs5){
2228
-					?>
2227
+                if($aui_bs5){
2228
+                    ?>
2229 2229
 				$aui_bs5 = true;
2230 2230
 				$p_ml = 'ms-';
2231 2231
 				$p_mr = 'me-';
@@ -2233,8 +2233,8 @@  discard block
 block discarded – undo
2233 2233
 				$p_pl = 'ps-';
2234 2234
 				$p_pr = 'pe-';
2235 2235
 					<?php
2236
-				}else{
2237
-						?>
2236
+                }else{
2237
+                        ?>
2238 2238
 				$aui_bs5 = false;
2239 2239
 				$p_ml = 'ml-';
2240 2240
 				$p_mr = 'mr-';
@@ -2242,8 +2242,8 @@  discard block
 block discarded – undo
2242 2242
 				$p_pl = 'pl-';
2243 2243
 				$p_pr = 'pr-';
2244 2244
 					<?php
2245
-				}
2246
-				?>
2245
+                }
2246
+                ?>
2247 2247
 
2248 2248
                 // margins
2249 2249
 	            if ( $args['mt'] !== undefined && $args['mt'] !== '' ) { $classes.push( "mt-" + $args['mt'] );  $mt = $args['mt']; }else{$mt = null;}
@@ -2426,10 +2426,10 @@  discard block
 block discarded – undo
2426 2426
 
2427 2427
             }
2428 2428
 
2429
-			if(method_exists($this,'block_global_js')){
2430
-					echo $this->block_global_js();
2431
-			}
2432
-			?>
2429
+            if(method_exists($this,'block_global_js')){
2430
+                    echo $this->block_global_js();
2431
+            }
2432
+            ?>
2433 2433
 
2434 2434
 jQuery(function() {
2435 2435
 
@@ -2479,14 +2479,14 @@  discard block
 block discarded – undo
2479 2479
 						icon: <?php echo $this->get_block_icon( $this->options['block-icon'] );?>,//'<?php echo isset( $this->options['block-icon'] ) ? esc_attr( $this->options['block-icon'] ) : 'shield-alt';?>', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/.
2480 2480
 						supports: {
2481 2481
 							<?php
2482
-							if ( isset( $this->options['block-supports'] ) ) {
2483
-								echo $this->array_to_attributes( $this->options['block-supports'] );
2484
-							}
2485
-							?>
2482
+                            if ( isset( $this->options['block-supports'] ) ) {
2483
+                                echo $this->array_to_attributes( $this->options['block-supports'] );
2484
+                            }
2485
+                            ?>
2486 2486
 						},
2487 2487
 						<?php
2488
-						if ( isset( $this->options['block-label'] ) ) {
2489
-						?>
2488
+                        if ( isset( $this->options['block-label'] ) ) {
2489
+                        ?>
2490 2490
 						__experimentalLabel( attributes, { context } ) {
2491 2491
                             return <?php echo $this->options['block-label']; ?>;
2492 2492
                         },
@@ -2495,7 +2495,7 @@  discard block
 block discarded – undo
2495 2495
                         ?>
2496 2496
 						category: '<?php echo isset( $this->options['block-category'] ) ? esc_attr( $this->options['block-category'] ) : 'common';?>', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.
2497 2497
 						<?php if ( isset( $this->options['block-keywords'] ) ) {
2498
-						echo "keywords : " . $this->options['block-keywords'] . ",";
2498
+                        echo "keywords : " . $this->options['block-keywords'] . ",";
2499 2499
 
2500 2500
 //						// block hover preview.
2501 2501
 //						$example_args = array();
@@ -2520,86 +2520,86 @@  discard block
 block discarded – undo
2520 2520
 
2521 2521
                         }
2522 2522
 
2523
-						// maybe set no_wrap
2524
-						$no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
2525
-						if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
2526
-							$no_wrap = true;
2527
-						}
2528
-						if ( $no_wrap ) {
2529
-							$this->options['block-wrap'] = '';
2530
-						}
2523
+                        // maybe set no_wrap
2524
+                        $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
2525
+                        if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
2526
+                            $no_wrap = true;
2527
+                        }
2528
+                        if ( $no_wrap ) {
2529
+                            $this->options['block-wrap'] = '';
2530
+                        }
2531 2531
 
2532
-						// maybe load the drag/drop functions.
2533
-						$img_drag_drop = false;
2532
+                        // maybe load the drag/drop functions.
2533
+                        $img_drag_drop = false;
2534 2534
 
2535
-						$show_alignment = false;
2536
-						// align feature
2537
-						/*echo "supports: {";
2535
+                        $show_alignment = false;
2536
+                        // align feature
2537
+                        /*echo "supports: {";
2538 2538
 						echo "	align: true,";
2539 2539
 						echo "  html: false";
2540 2540
 						echo "},";*/
2541 2541
 
2542
-						if ( ! empty( $this->arguments ) ) {
2543
-							echo "attributes : {";
2542
+                        if ( ! empty( $this->arguments ) ) {
2543
+                            echo "attributes : {";
2544 2544
 
2545
-							if ( $show_advanced ) {
2546
-								echo "show_advanced: {";
2547
-								echo "	type: 'boolean',";
2548
-								echo "  default: false,";
2549
-								echo "},";
2550
-							}
2545
+                            if ( $show_advanced ) {
2546
+                                echo "show_advanced: {";
2547
+                                echo "	type: 'boolean',";
2548
+                                echo "  default: false,";
2549
+                                echo "},";
2550
+                            }
2551 2551
 
2552
-							// block wrap element
2553
-							if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
2554
-								echo "block_wrap: {";
2555
-								echo "	type: 'string',";
2556
-								echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
2557
-								echo "},";
2558
-							}
2552
+                            // block wrap element
2553
+                            if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
2554
+                                echo "block_wrap: {";
2555
+                                echo "	type: 'string',";
2556
+                                echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
2557
+                                echo "},";
2558
+                            }
2559 2559
 
2560 2560
 
2561 2561
 
2562
-							foreach ( $this->arguments as $key => $args ) {
2562
+                            foreach ( $this->arguments as $key => $args ) {
2563 2563
 
2564
-								if( $args['type'] == 'image' ||  $args['type'] == 'images' ){
2565
-									$img_drag_drop = true;
2566
-								}
2564
+                                if( $args['type'] == 'image' ||  $args['type'] == 'images' ){
2565
+                                    $img_drag_drop = true;
2566
+                                }
2567 2567
 
2568
-								// set if we should show alignment
2569
-								if ( $key == 'alignment' ) {
2570
-									$show_alignment = true;
2571
-								}
2568
+                                // set if we should show alignment
2569
+                                if ( $key == 'alignment' ) {
2570
+                                    $show_alignment = true;
2571
+                                }
2572 2572
 
2573
-								$extra = '';
2573
+                                $extra = '';
2574 2574
 
2575
-								if ( $args['type'] == 'notice' ||  $args['type'] == 'tab' ) {
2576
-									continue;
2577
-								}
2578
-								elseif ( $args['type'] == 'checkbox' ) {
2579
-									$type    = 'boolean';
2580
-									$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
2581
-								} elseif ( $args['type'] == 'number' ) {
2582
-									$type    = 'number';
2583
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2584
-								} elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
2585
-									$type = 'array';
2586
-									if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
2587
-										$default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
2588
-									} else {
2589
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2590
-									}
2591
-								} elseif ( $args['type'] == 'tagselect' ) {
2592
-									$type    = 'array';
2593
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2594
-								} elseif ( $args['type'] == 'multiselect' ) {
2595
-									$type    = 'array';
2596
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2597
-								} elseif ( $args['type'] == 'image_xy' ) {
2598
-									$type    = 'object';
2599
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2600
-								} elseif ( $args['type'] == 'image' ) {
2601
-									$type    = 'string';
2602
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2575
+                                if ( $args['type'] == 'notice' ||  $args['type'] == 'tab' ) {
2576
+                                    continue;
2577
+                                }
2578
+                                elseif ( $args['type'] == 'checkbox' ) {
2579
+                                    $type    = 'boolean';
2580
+                                    $default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
2581
+                                } elseif ( $args['type'] == 'number' ) {
2582
+                                    $type    = 'number';
2583
+                                    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2584
+                                } elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
2585
+                                    $type = 'array';
2586
+                                    if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
2587
+                                        $default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
2588
+                                    } else {
2589
+                                        $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2590
+                                    }
2591
+                                } elseif ( $args['type'] == 'tagselect' ) {
2592
+                                    $type    = 'array';
2593
+                                    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2594
+                                } elseif ( $args['type'] == 'multiselect' ) {
2595
+                                    $type    = 'array';
2596
+                                    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2597
+                                } elseif ( $args['type'] == 'image_xy' ) {
2598
+                                    $type    = 'object';
2599
+                                    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2600
+                                } elseif ( $args['type'] == 'image' ) {
2601
+                                    $type    = 'string';
2602
+                                    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2603 2603
 
2604 2604
                                     // add a field for ID
2605 2605
 //                                    echo $key . "_id : {";
@@ -2609,25 +2609,25 @@  discard block
 block discarded – undo
2609 2609
 //                                    echo "type : 'object',";
2610 2610
 //                                    echo "},";
2611 2611
 
2612
-								} else {
2613
-									$type    = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string';
2614
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2612
+                                } else {
2613
+                                    $type    = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string';
2614
+                                    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2615 2615
 
2616
-								}
2617
-								echo $key . " : {";
2618
-								echo "type : '$type',";
2619
-								echo "default : $default,";
2620
-								echo "},";
2621
-							}
2616
+                                }
2617
+                                echo $key . " : {";
2618
+                                echo "type : '$type',";
2619
+                                echo "default : $default,";
2620
+                                echo "},";
2621
+                            }
2622 2622
 
2623
-							echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
2624
-							echo "className: { type: 'string', default: '' },";
2623
+                            echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
2624
+                            echo "className: { type: 'string', default: '' },";
2625 2625
 
2626
-							echo "},";
2626
+                            echo "},";
2627 2627
 
2628
-						}
2628
+                        }
2629 2629
 
2630
-						?>
2630
+                        ?>
2631 2631
 
2632 2632
 						// The "edit" property must be a valid function.
2633 2633
 						edit: function (props) {
@@ -2726,9 +2726,9 @@  discard block
 block discarded – undo
2726 2726
 
2727 2727
 	var $value = '';
2728 2728
 	<?php
2729
-	// if we have a post_type and a category then link them
2730
-	if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
2731
-	?>
2729
+    // if we have a post_type and a category then link them
2730
+    if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
2731
+    ?>
2732 2732
 	if(typeof(prev_attributes[props.clientId]) != 'undefined'){
2733 2733
 		$pt = props.attributes.post_type;
2734 2734
 		if(post_type_rest_slugs.length){
@@ -2741,11 +2741,11 @@  discard block
 block discarded – undo
2741 2741
 			term_query_type = $pt;
2742 2742
 		}
2743 2743
 <?php
2744
-	$cat_path = '';
2745
-	if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) {
2746
-		$cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) );
2747
-		$cat_path = str_replace( array( '&quot;', '&#039;' ), array( '"', "'" ), $cat_path );
2748
-	}
2744
+    $cat_path = '';
2745
+    if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) {
2746
+        $cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) );
2747
+        $cat_path = str_replace( array( '&quot;', '&#039;' ), array( '"', "'" ), $cat_path );
2748
+    }
2749 2749
 ?>
2750 2750
 		/* taxonomies */
2751 2751
 		if($value && 'post_type' in prev_attributes[props.clientId] && 'category' in prev_attributes[props.clientId] && run){
@@ -2837,7 +2837,7 @@  discard block
 block discarded – undo
2837 2837
 <?php
2838 2838
 $current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
2839 2839
 if(!empty($current_screen->base) && $current_screen->base==='widgets'){
2840
-	echo 'const { deviceType } = "";';
2840
+    echo 'const { deviceType } = "";';
2841 2841
 }else{
2842 2842
 ?>
2843 2843
 /** Get device type const. */
@@ -2871,8 +2871,8 @@  discard block
 block discarded – undo
2871 2871
 										'attributes': props.attributes,
2872 2872
 										'block_parent_name': parentBlocks.length ? parentBlocks[parentBlocks.length - 1].name : '',
2873 2873
 										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
2874
-										echo $post->ID;
2875
-									}else{echo '0';}?>,
2874
+                                        echo $post->ID;
2875
+                                    }else{echo '0';}?>,
2876 2876
 										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
2877 2877
 									};
2878 2878
 
@@ -2949,10 +2949,10 @@  discard block
 block discarded – undo
2949 2949
 
2950 2950
 									<?php
2951 2951
 
2952
-									if(! empty( $this->arguments )){
2952
+                                    if(! empty( $this->arguments )){
2953 2953
 
2954
-									if ( $show_advanced ) {
2955
-									?>
2954
+                                    if ( $show_advanced ) {
2955
+                                    ?>
2956 2956
 									el('div', {
2957 2957
 											style: {'padding-left': '16px','padding-right': '16px'}
2958 2958
 										},
@@ -2969,127 +2969,127 @@  discard block
 block discarded – undo
2969 2969
 									)
2970 2970
 									,
2971 2971
 									<?php
2972
-									}
2972
+                                    }
2973 2973
 
2974
-									$arguments = $this->group_arguments( $this->arguments );
2975
-									$block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array();
2974
+                                    $arguments = $this->group_arguments( $this->arguments );
2975
+                                    $block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array();
2976 2976
 
2977
-									// Do we have sections?
2978
-									$has_sections = $arguments == $this->arguments ? false : true;
2977
+                                    // Do we have sections?
2978
+                                    $has_sections = $arguments == $this->arguments ? false : true;
2979 2979
 
2980
-									if($has_sections){
2981
-									$panel_count = 0;
2982
-									$open_tab = '';
2980
+                                    if($has_sections){
2981
+                                    $panel_count = 0;
2982
+                                    $open_tab = '';
2983 2983
 
2984
-									$open_tab_groups = array();
2985
-									$used_tabs = array();
2984
+                                    $open_tab_groups = array();
2985
+                                    $used_tabs = array();
2986 2986
 
2987
-									foreach ( $arguments as $key => $args ) {
2988
-										$close_tab = false;
2989
-										$close_tabs = false;
2987
+                                    foreach ( $arguments as $key => $args ) {
2988
+                                        $close_tab = false;
2989
+                                        $close_tabs = false;
2990 2990
 
2991
-										 if ( ! empty( $block_group_tabs ) ) {
2992
-											foreach ( $block_group_tabs as $tab_name => $tab_args ) {
2993
-												if ( in_array( $key, $tab_args['groups'] ) ) {
2994
-													$open_tab_groups[] = $key;
2991
+                                            if ( ! empty( $block_group_tabs ) ) {
2992
+                                            foreach ( $block_group_tabs as $tab_name => $tab_args ) {
2993
+                                                if ( in_array( $key, $tab_args['groups'] ) ) {
2994
+                                                    $open_tab_groups[] = $key;
2995 2995
 
2996
-													if ( $open_tab != $tab_name ) {
2997
-														$tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false;
2998
-														$tab_args['tab']['open'] = true;
2996
+                                                    if ( $open_tab != $tab_name ) {
2997
+                                                        $tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false;
2998
+                                                        $tab_args['tab']['open'] = true;
2999 2999
 
3000
-														$this->block_tab_start( '', $tab_args );
3001
-														$open_tab = $tab_name;
3002
-														$used_tabs[] = $tab_name;
3003
-													}
3000
+                                                        $this->block_tab_start( '', $tab_args );
3001
+                                                        $open_tab = $tab_name;
3002
+                                                        $used_tabs[] = $tab_name;
3003
+                                                    }
3004 3004
 
3005
-													if ( $open_tab_groups == $tab_args['groups'] ) {
3006
-														$close_tab = true;
3007
-														$open_tab_groups = array();
3005
+                                                    if ( $open_tab_groups == $tab_args['groups'] ) {
3006
+                                                        $close_tab = true;
3007
+                                                        $open_tab_groups = array();
3008 3008
 
3009
-														if ( $used_tabs == array_keys( $block_group_tabs ) ) {
3010
-															$close_tabs = true;
3011
-														}
3012
-													}
3013
-												}
3014
-											}
3015
-										}
3016
-										?>
3009
+                                                        if ( $used_tabs == array_keys( $block_group_tabs ) ) {
3010
+                                                            $close_tabs = true;
3011
+                                                        }
3012
+                                                    }
3013
+                                                }
3014
+                                            }
3015
+                                        }
3016
+                                        ?>
3017 3017
 										el(wp.components.PanelBody, {
3018 3018
 												title: '<?php esc_attr_e( $key ); ?>',
3019 3019
 												initialOpen: <?php if ( $panel_count ) {
3020
-												echo "false";
3021
-											} else {
3022
-												echo "true";
3023
-											}?>
3020
+                                                echo "false";
3021
+                                            } else {
3022
+                                                echo "true";
3023
+                                            }?>
3024 3024
 											},
3025 3025
 											<?php
3026
-											foreach ( $args as $k => $a ) {
3027
-												$this->block_tab_start( $k, $a );
3028
-												$this->block_row_start( $k, $a );
3029
-												$this->build_block_arguments( $k, $a );
3030
-												$this->block_row_end( $k, $a );
3031
-												$this->block_tab_end( $k, $a );
3032
-											}
3033
-											?>
3026
+                                            foreach ( $args as $k => $a ) {
3027
+                                                $this->block_tab_start( $k, $a );
3028
+                                                $this->block_row_start( $k, $a );
3029
+                                                $this->build_block_arguments( $k, $a );
3030
+                                                $this->block_row_end( $k, $a );
3031
+                                                $this->block_tab_end( $k, $a );
3032
+                                            }
3033
+                                            ?>
3034 3034
 										),
3035 3035
 										<?php
3036
-										$panel_count ++;
3036
+                                        $panel_count ++;
3037 3037
 
3038
-										if($close_tab || $close_tabs){
3039
-											$tab_args = array(
3040
-												'tab'	=> array(
3041
-													'tabs_close' => $close_tabs,
3042
-												'close' => true,
3043
-												)
3038
+                                        if($close_tab || $close_tabs){
3039
+                                            $tab_args = array(
3040
+                                                'tab'	=> array(
3041
+                                                    'tabs_close' => $close_tabs,
3042
+                                                'close' => true,
3043
+                                                )
3044 3044
 
3045
-											);
3046
-											$this->block_tab_end( '', $tab_args );
3045
+                                            );
3046
+                                            $this->block_tab_end( '', $tab_args );
3047 3047
 //											echo '###close'; print_r($tab_args);
3048
-											$panel_count = 0;
3049
-										}
3048
+                                            $panel_count = 0;
3049
+                                        }
3050 3050
 //
3051 3051
 
3052
-									}
3053
-									}else {
3054
-									?>
3052
+                                    }
3053
+                                    }else {
3054
+                                    ?>
3055 3055
 									el(wp.components.PanelBody, {
3056 3056
 											title: '<?php esc_attr_e( "Settings" ); ?>',
3057 3057
 											initialOpen: true
3058 3058
 										},
3059 3059
 										<?php
3060
-										foreach ( $this->arguments as $key => $args ) {
3061
-											$this->block_row_start( $key, $args );
3062
-											$this->build_block_arguments( $key, $args );
3063
-											$this->block_row_end( $key, $args );
3064
-										}
3065
-										?>
3060
+                                        foreach ( $this->arguments as $key => $args ) {
3061
+                                            $this->block_row_start( $key, $args );
3062
+                                            $this->build_block_arguments( $key, $args );
3063
+                                            $this->block_row_end( $key, $args );
3064
+                                        }
3065
+                                        ?>
3066 3066
 									),
3067 3067
 									<?php
3068
-									}
3068
+                                    }
3069 3069
 
3070
-									}
3071
-									?>
3070
+                                    }
3071
+                                    ?>
3072 3072
 
3073 3073
 								),
3074 3074
 
3075 3075
 								<?php
3076
-								// If the user sets block-output array then build it
3077
-								if ( ! empty( $this->options['block-output'] ) ) {
3078
-								$this->block_element( $this->options['block-output'] );
3079
-							}elseif(!empty($this->options['block-edit-return'])){
3080
-                                   echo $this->options['block-edit-return'];
3081
-							}else{
3082
-								// if no block-output is set then we try and get the shortcode html output via ajax.
3083
-								$block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div';
3084
-								?>
3076
+                                // If the user sets block-output array then build it
3077
+                                if ( ! empty( $this->options['block-output'] ) ) {
3078
+                                $this->block_element( $this->options['block-output'] );
3079
+                            }elseif(!empty($this->options['block-edit-return'])){
3080
+                                    echo $this->options['block-edit-return'];
3081
+                            }else{
3082
+                                // if no block-output is set then we try and get the shortcode html output via ajax.
3083
+                                $block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div';
3084
+                                ?>
3085 3085
 								el('<?php echo esc_attr($block_edit_wrap_tag); ?>', wp.blockEditor.useBlockProps({
3086 3086
 									dangerouslySetInnerHTML: {__html: onChangeContent()},
3087 3087
 									className: props.className,
3088 3088
 									style: {'minHeight': '30px'}
3089 3089
 								}))
3090 3090
 								<?php
3091
-								}
3092
-								?>
3091
+                                }
3092
+                                ?>
3093 3093
 							]; // end return
3094 3094
 
3095 3095
 							<?php
@@ -3108,11 +3108,11 @@  discard block
 block discarded – undo
3108 3108
 							$html = '';
3109 3109
 							<?php
3110 3110
 
3111
-							if(! empty( $this->arguments )){
3111
+                            if(! empty( $this->arguments )){
3112 3112
 
3113
-							foreach($this->arguments as $key => $args){
3114
-                               // if($args['type']=='tabs'){continue;}
3115
-							?>
3113
+                            foreach($this->arguments as $key => $args){
3114
+                                // if($args['type']=='tabs'){continue;}
3115
+                            ?>
3116 3116
 							if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
3117 3117
 								if ('<?php echo esc_attr( $key );?>' == 'html') {
3118 3118
 									$html = attr.<?php echo esc_attr( $key );?>;
@@ -3123,10 +3123,10 @@  discard block
 block discarded – undo
3123 3123
 								}
3124 3124
 							}
3125 3125
 							<?php
3126
-							}
3127
-							}
3126
+                            }
3127
+                            }
3128 3128
 
3129
-							?>
3129
+                            ?>
3130 3130
 							content += "]";
3131 3131
 
3132 3132
                             <?php
@@ -3173,7 +3173,7 @@  discard block
 block discarded – undo
3173 3173
 //                               $this->block_element( $this->options['block-output'], true );
3174 3174
 //                               echo ";";
3175 3175
 
3176
-                               ?>
3176
+                                ?>
3177 3177
                               return el(
3178 3178
                                    '',
3179 3179
                                    {},
@@ -3183,9 +3183,9 @@  discard block
 block discarded – undo
3183 3183
                                );
3184 3184
                                 <?php
3185 3185
 
3186
-							}elseif(!empty($this->options['block-save-return'])){
3187
-                                   echo 'return ' . $this->options['block-save-return'];
3188
-							}elseif(!empty($this->options['nested-block'])){
3186
+                            }elseif(!empty($this->options['block-save-return'])){
3187
+                                    echo 'return ' . $this->options['block-save-return'];
3188
+                            }elseif(!empty($this->options['nested-block'])){
3189 3189
                                 ?>
3190 3190
                               return el(
3191 3191
                                    '',
@@ -3195,22 +3195,22 @@  discard block
 block discarded – undo
3195 3195
                                    el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3196 3196
                                );
3197 3197
                                 <?php
3198
-							}elseif(!empty( $this->options['block-save-return'] ) ){
3198
+                            }elseif(!empty( $this->options['block-save-return'] ) ){
3199 3199
                                 echo "return ". $this->options['block-edit-return'].";";
3200
-							}elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3201
-							?>
3200
+                            }elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3201
+                            ?>
3202 3202
 							return content;
3203 3203
 							<?php
3204
-							}else{
3205
-							?>
3204
+                            }else{
3205
+                            ?>
3206 3206
 							var block_wrap = 'div';
3207 3207
 							if (attr.hasOwnProperty("block_wrap")) {
3208 3208
 								block_wrap = attr.block_wrap;
3209 3209
 							}
3210 3210
 							return el(block_wrap, wp.blockEditor.useBlockProps.save( {dangerouslySetInnerHTML: {__html: content}, className: align} ));
3211 3211
 							<?php
3212
-							}
3213
-							?>
3212
+                            }
3213
+                            ?>
3214 3214
 
3215 3215
 
3216 3216
 						}
@@ -3224,29 +3224,29 @@  discard block
 block discarded – undo
3224 3224
                 });
3225 3225
 			</script>
3226 3226
 			<?php
3227
-			$output = ob_get_clean();
3227
+            $output = ob_get_clean();
3228 3228
 
3229
-			/*
3229
+            /*
3230 3230
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
3231 3231
 			 */
3232 3232
 
3233
-			return str_replace( array(
3234
-				'<script>',
3235
-				'</script>'
3236
-			), '', $output );
3237
-		}
3233
+            return str_replace( array(
3234
+                '<script>',
3235
+                '</script>'
3236
+            ), '', $output );
3237
+        }
3238 3238
 
3239 3239
 
3240 3240
 
3241
-		public function block_row_start($key, $args){
3241
+        public function block_row_start($key, $args){
3242 3242
 
3243
-			// check for row
3244
-			if(!empty($args['row'])){
3243
+            // check for row
3244
+            if(!empty($args['row'])){
3245 3245
 
3246
-				if(!empty($args['row']['open'])){
3246
+                if(!empty($args['row']['open'])){
3247 3247
 
3248
-				// element require
3249
-				$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3248
+                // element require
3249
+                $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3250 3250
                 $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3251 3251
                 $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3252 3252
                 $device_type_icon = '';
@@ -3257,10 +3257,10 @@  discard block
 block discarded – undo
3257 3257
                 }elseif($device_type=='Mobile'){
3258 3258
                     $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3259 3259
                 }
3260
-				echo $element_require;
3260
+                echo $element_require;
3261 3261
                 echo $device_type_require;
3262 3262
 
3263
-					if(false){?><script><?php }?>
3263
+                    if(false){?><script><?php }?>
3264 3264
 						el('div', {
3265 3265
 								className: 'bsui components-base-control',
3266 3266
 							},
@@ -3298,51 +3298,51 @@  discard block
 block discarded – undo
3298 3298
 									},
3299 3299
 
3300 3300
 					<?php
3301
-					if(false){?></script><?php }
3302
-				}elseif(!empty($args['row']['close'])){
3303
-					if(false){?><script><?php }?>
3301
+                    if(false){?></script><?php }
3302
+                }elseif(!empty($args['row']['close'])){
3303
+                    if(false){?><script><?php }?>
3304 3304
 						el(
3305 3305
 							'div',
3306 3306
 							{
3307 3307
 								className: 'col pl-0 ps-0',
3308 3308
 							},
3309 3309
 					<?php
3310
-					if(false){?></script><?php }
3311
-				}else{
3312
-					if(false){?><script><?php }?>
3310
+                    if(false){?></script><?php }
3311
+                }else{
3312
+                    if(false){?><script><?php }?>
3313 3313
 						el(
3314 3314
 							'div',
3315 3315
 							{
3316 3316
 								className: 'col pl-0 ps-0 pr-2 pe-2',
3317 3317
 							},
3318 3318
 					<?php
3319
-					if(false){?></script><?php }
3320
-				}
3319
+                    if(false){?></script><?php }
3320
+                }
3321 3321
 
3322
-			}
3322
+            }
3323 3323
 
3324
-		}
3324
+        }
3325 3325
 
3326
-		public function block_row_end($key, $args){
3326
+        public function block_row_end($key, $args){
3327 3327
 
3328
-			if(!empty($args['row'])){
3329
-				// maybe close
3330
-				if(!empty($args['row']['close'])){
3331
-					echo "))";
3332
-				}
3328
+            if(!empty($args['row'])){
3329
+                // maybe close
3330
+                if(!empty($args['row']['close'])){
3331
+                    echo "))";
3332
+                }
3333 3333
 
3334
-				echo "),";
3335
-			}
3336
-		}
3334
+                echo "),";
3335
+            }
3336
+        }
3337 3337
 
3338
-		public function block_tab_start($key, $args){
3338
+        public function block_tab_start($key, $args){
3339 3339
 
3340
-			// check for row
3341
-			if(!empty($args['tab'])){
3340
+            // check for row
3341
+            if(!empty($args['tab'])){
3342 3342
 
3343
-				if(!empty($args['tab']['tabs_open'])){
3343
+                if(!empty($args['tab']['tabs_open'])){
3344 3344
 
3345
-					if(false){?><script><?php }?>
3345
+                    if(false){?><script><?php }?>
3346 3346
 
3347 3347
 el('div',{className: 'bsui'},
3348 3348
 
@@ -3355,12 +3355,12 @@  discard block
 block discarded – undo
3355 3355
 										tabs: [
3356 3356
 
3357 3357
 					<?php
3358
-					if(false){?></script><?php }
3359
-				}
3358
+                    if(false){?></script><?php }
3359
+                }
3360 3360
 
3361
-				if(!empty($args['tab']['open'])){
3361
+                if(!empty($args['tab']['open'])){
3362 3362
 
3363
-					if(false){?><script><?php }?>
3363
+                    if(false){?><script><?php }?>
3364 3364
 							{
3365 3365
 												name: '<?php echo addslashes( esc_attr( $args['tab']['key']) ); ?>',
3366 3366
 												title: el('div', {dangerouslySetInnerHTML: {__html: '<?php echo addslashes( esc_attr( $args['tab']['title']) ); ?>'}}),
@@ -3369,44 +3369,44 @@  discard block
 block discarded – undo
3369 3369
 									className: 'components-base-control__help mb-0',
3370 3370
 									dangerouslySetInnerHTML: {__html:'<?php echo addslashes( $args['tab']['desc'] ); ?>'}
3371 3371
 								}),<?php }
3372
-					if(false){?></script><?php }
3373
-				}
3372
+                    if(false){?></script><?php }
3373
+                }
3374 3374
 
3375
-			}
3375
+            }
3376 3376
 
3377
-		}
3377
+        }
3378 3378
 
3379
-		public function block_tab_end($key, $args){
3379
+        public function block_tab_end($key, $args){
3380 3380
 
3381
-			if(!empty($args['tab'])){
3382
-				// maybe close
3383
-				if(!empty($args['tab']['close'])){
3384
-					echo ")}, /* tab close */";
3385
-				}
3381
+            if(!empty($args['tab'])){
3382
+                // maybe close
3383
+                if(!empty($args['tab']['close'])){
3384
+                    echo ")}, /* tab close */";
3385
+                }
3386 3386
 
3387
-				if(!empty($args['tab']['tabs_close'])){
3388
-					if(false){?><script><?php }?>
3387
+                if(!empty($args['tab']['tabs_close'])){
3388
+                    if(false){?><script><?php }?>
3389 3389
 						]}, ( tab ) => {
3390 3390
 								return tab.content;
3391 3391
 							}
3392 3392
 						)), /* tabs close */
3393 3393
 					<?php if(false){ ?></script><?php }
3394
-				}
3395
-			}
3396
-		}
3394
+                }
3395
+            }
3396
+        }
3397 3397
 
3398
-		public function build_block_arguments( $key, $args ) {
3399
-			$custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
3400
-			$options           = '';
3401
-			$extra             = '';
3402
-			$require           = '';
3398
+        public function build_block_arguments( $key, $args ) {
3399
+            $custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
3400
+            $options           = '';
3401
+            $extra             = '';
3402
+            $require           = '';
3403 3403
             $inside_elements   = '';
3404
-			$after_elements	   = '';
3404
+            $after_elements	   = '';
3405 3405
 
3406
-			// `content` is a protected and special argument
3407
-			if ( $key == 'content' ) {
3408
-				return;
3409
-			}
3406
+            // `content` is a protected and special argument
3407
+            if ( $key == 'content' ) {
3408
+                return;
3409
+            }
3410 3410
 
3411 3411
             $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3412 3412
             $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
@@ -3419,37 +3419,37 @@  discard block
 block discarded – undo
3419 3419
                 $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3420 3420
             }
3421 3421
 
3422
-			// icon
3423
-			$icon = '';
3424
-			if( !empty( $args['icon'] ) ){
3425
-				$icon .= "el('div', {";
3426
-									$icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
3427
-									$icon .= "className: 'text-center',";
3428
-									$icon .= "title: '".addslashes( $args['title'] )."',";
3429
-								$icon .= "}),";
3430
-
3431
-				// blank title as its added to the icon.
3432
-				$args['title'] = '';
3433
-			}
3422
+            // icon
3423
+            $icon = '';
3424
+            if( !empty( $args['icon'] ) ){
3425
+                $icon .= "el('div', {";
3426
+                                    $icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
3427
+                                    $icon .= "className: 'text-center',";
3428
+                                    $icon .= "title: '".addslashes( $args['title'] )."',";
3429
+                                $icon .= "}),";
3430
+
3431
+                // blank title as its added to the icon.
3432
+                $args['title'] = '';
3433
+            }
3434 3434
 
3435
-			// require advanced
3436
-			$require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
3435
+            // require advanced
3436
+            $require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
3437 3437
 
3438
-			// element require
3439
-			$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3438
+            // element require
3439
+            $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3440 3440
 
3441 3441
 
3442
-			$onchange  = "props.setAttributes({ $key: $key } )";
3443
-			$onchangecomplete  = "";
3444
-			$value     = "props.attributes.$key";
3445
-			$text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' );
3446
-			if ( in_array( $args['type'], $text_type ) ) {
3447
-				$type = 'TextControl';
3448
-				// Save numbers as numbers and not strings
3449
-				if ( $args['type'] == 'number' ) {
3450
-					$onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )";
3451
-				}
3452
-			}
3442
+            $onchange  = "props.setAttributes({ $key: $key } )";
3443
+            $onchangecomplete  = "";
3444
+            $value     = "props.attributes.$key";
3445
+            $text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' );
3446
+            if ( in_array( $args['type'], $text_type ) ) {
3447
+                $type = 'TextControl';
3448
+                // Save numbers as numbers and not strings
3449
+                if ( $args['type'] == 'number' ) {
3450
+                    $onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )";
3451
+                }
3452
+            }
3453 3453
 //			else if ( $args['type'] == 'popup' ) {
3454 3454
 //				$type = 'TextControl';
3455 3455
 //				$args['type'] == 'text';
@@ -3467,21 +3467,21 @@  discard block
 block discarded – undo
3467 3467
 //
3468 3468
 //				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3469 3469
 //			}
3470
-			else if ( $args['type'] == 'styleid' ) {
3471
-				$type = 'TextControl';
3472
-				$args['type'] == 'text';
3473
-				// Save numbers as numbers and not strings
3474
-				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3475
-			}else if ( $args['type'] == 'notice' ) {
3476
-
3477
-				$notice_message = !empty($args['desc']) ? addslashes($args['desc']) : '';
3478
-				$notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info';
3479
-
3480
-				$notice = "el('div',{className:'bsui'},el(wp.components.Notice, {status: '$notice_status',isDismissible: false,className: 'm-0 pr-0 pe-0 mb-3'},el('div',{dangerouslySetInnerHTML: {__html: '$notice_message'}}))),";
3481
-				echo $notice_message ? $element_require . $notice : '';
3482
-				return;
3483
-			}
3484
-			/*
3470
+            else if ( $args['type'] == 'styleid' ) {
3471
+                $type = 'TextControl';
3472
+                $args['type'] == 'text';
3473
+                // Save numbers as numbers and not strings
3474
+                $value     = "props.attributes.$key ? props.attributes.$key : ''";
3475
+            }else if ( $args['type'] == 'notice' ) {
3476
+
3477
+                $notice_message = !empty($args['desc']) ? addslashes($args['desc']) : '';
3478
+                $notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info';
3479
+
3480
+                $notice = "el('div',{className:'bsui'},el(wp.components.Notice, {status: '$notice_status',isDismissible: false,className: 'm-0 pr-0 pe-0 mb-3'},el('div',{dangerouslySetInnerHTML: {__html: '$notice_message'}}))),";
3481
+                echo $notice_message ? $element_require . $notice : '';
3482
+                return;
3483
+            }
3484
+            /*
3485 3485
 			 * https://www.wptricks.com/question/set-current-tab-on-a-gutenberg-tabpanel-component-from-outside-that-component/ es5 layout
3486 3486
 						elseif($args['type']=='tabs'){
3487 3487
 							?>
@@ -3534,22 +3534,22 @@  discard block
 block discarded – undo
3534 3534
 							return;
3535 3535
 						}
3536 3536
 */
3537
-			elseif ( $args['type'] == 'color' ) {
3538
-				$type = 'ColorPicker';
3539
-				$onchange = "";
3540
-				$extra = "color: $value,";
3541
-				if(!empty($args['disable_alpha'])){
3542
-					$extra .= "disableAlpha: true,";
3543
-				}
3544
-				$onchangecomplete = "onChangeComplete: function($key) {
3537
+            elseif ( $args['type'] == 'color' ) {
3538
+                $type = 'ColorPicker';
3539
+                $onchange = "";
3540
+                $extra = "color: $value,";
3541
+                if(!empty($args['disable_alpha'])){
3542
+                    $extra .= "disableAlpha: true,";
3543
+                }
3544
+                $onchangecomplete = "onChangeComplete: function($key) {
3545 3545
 				value =  $key.rgb.a && $key.rgb.a < 1 ? \"rgba(\"+$key.rgb.r+\",\"+$key.rgb.g+\",\"+$key.rgb.b+\",\"+$key.rgb.a+\")\" : $key.hex;
3546 3546
                         props.setAttributes({
3547 3547
                             $key: value
3548 3548
                         });
3549 3549
                     },";
3550
-			}elseif ( $args['type'] == 'gradient' ) {
3551
-				$type = 'GradientPicker';
3552
-				$extra .= "gradients: [{
3550
+            }elseif ( $args['type'] == 'gradient' ) {
3551
+                $type = 'GradientPicker';
3552
+                $extra .= "gradients: [{
3553 3553
 			name: 'Vivid cyan blue to vivid purple',
3554 3554
 			gradient:
3555 3555
 				'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)',
@@ -3586,7 +3586,7 @@  discard block
 block discarded – undo
3586 3586
 			slug: 'cool-to-warm-spectrum',
3587 3587
 		}],";
3588 3588
 
3589
-			}elseif ( $args['type'] == 'image' ) {
3589
+            }elseif ( $args['type'] == 'image' ) {
3590 3590
 //                print_r($args);
3591 3591
 
3592 3592
                 $img_preview = isset($args['focalpoint']) && !$args['focalpoint'] ? " props.attributes.$key && el('img', { src: props.attributes.$key,style: {maxWidth:'100%',background: '#ccc'}})," : " ( props.attributes.$key ||  props.attributes.{$key}_use_featured ) && el(wp.components.FocalPointPicker,{
@@ -3611,15 +3611,15 @@  discard block
 block discarded – undo
3611 3611
 
3612 3612
 
3613 3613
                 $value = '""';
3614
-				$type = 'MediaUpload';
3614
+                $type = 'MediaUpload';
3615 3615
                 $extra .= "onSelect: function(media){
3616 3616
                       return props.setAttributes({
3617 3617
                           $key: media.url,
3618 3618
                           {$key}_id: media.id
3619 3619
                         });
3620 3620
                       },";
3621
-                   $extra .= "type: 'image',";
3622
-                   $extra .= "render: function (obj) {
3621
+                    $extra .= "type: 'image',";
3622
+                    $extra .= "render: function (obj) {
3623 3623
                         return el( 'div',{},
3624 3624
                         ( !props.attributes.$key && !props.attributes.{$key}_use_featured ) && el( wp.components.Button, {
3625 3625
                           className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
@@ -3648,8 +3648,8 @@  discard block
 block discarded – undo
3648 3648
                 $onchange = "";
3649 3649
 
3650 3650
                 //$inside_elements = ",el('div',{},'file upload')";
3651
-			} else if ( $args['type'] == 'images' ) {
3652
-				$img_preview = "props.attributes.$key && (function() {
3651
+            } else if ( $args['type'] == 'images' ) {
3652
+                $img_preview = "props.attributes.$key && (function() {
3653 3653
 	let uploads = JSON.parse('['+props.attributes.$key+']');
3654 3654
 	let images = [];
3655 3655
 	uploads.map((upload, index) => (
@@ -3676,9 +3676,9 @@  discard block
 block discarded – undo
3676 3676
 })(),";
3677 3677
 
3678 3678
 
3679
-				$value = '""';
3680
-				$type = 'MediaUpload';
3681
-				$extra .= "onSelect: function(media){
3679
+                $value = '""';
3680
+                $type = 'MediaUpload';
3681
+                $extra .= "onSelect: function(media){
3682 3682
 	let slim_images = props.attributes.$key ? JSON.parse('['+props.attributes.$key+']') : [];
3683 3683
 	if(media.length){
3684 3684
 		for (var i=0; i < media.length; i++) {
@@ -3691,9 +3691,9 @@  discard block
 block discarded – undo
3691 3691
 	}
3692 3692
 	return props.setAttributes({ $key: slimImagesV});
3693 3693
 },";
3694
-				$extra .= "type: 'image',";
3695
-				$extra .= "multiple: true,";
3696
-				$extra .= "render: function (obj) {
3694
+                $extra .= "type: 'image',";
3695
+                $extra .= "multiple: true,";
3696
+                $extra .= "render: function (obj) {
3697 3697
 	/* Init the sort */
3698 3698
 	enableDragSort('sd-sortable');
3699 3699
 	return el( 'div',{},
@@ -3723,37 +3723,37 @@  discard block
 block discarded – undo
3723 3723
                 $onchange = "";
3724 3724
 
3725 3725
                 //$inside_elements = ",el('div',{},'file upload')";
3726
-			}
3727
-			elseif ( $args['type'] == 'checkbox' ) {
3728
-				$type = 'CheckboxControl';
3729
-				$extra .= "checked: props.attributes.$key,";
3730
-				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
3731
-			} elseif ( $args['type'] == 'textarea' ) {
3732
-				$type = 'TextareaControl';
3733
-
3734
-			} elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
3735
-				$type = 'SelectControl';
3736
-
3737
-				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
3738
-					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
3739
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3740
-					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
3741
-				}else {
3742
-
3743
-					if ( ! empty( $args['options'] ) ) {
3744
-						$options .= "options: [";
3745
-						foreach ( $args['options'] as $option_val => $option_label ) {
3746
-							$options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . addslashes( $option_label ) . "' },";
3747
-						}
3748
-						$options .= "],";
3749
-					}
3750
-				}
3751
-				if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
3752
-					$extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, ';
3753
-				}
3726
+            }
3727
+            elseif ( $args['type'] == 'checkbox' ) {
3728
+                $type = 'CheckboxControl';
3729
+                $extra .= "checked: props.attributes.$key,";
3730
+                $onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
3731
+            } elseif ( $args['type'] == 'textarea' ) {
3732
+                $type = 'TextareaControl';
3733
+
3734
+            } elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
3735
+                $type = 'SelectControl';
3736
+
3737
+                if($args['name'] == 'category' && !empty($args['post_type_linked'])){
3738
+                    $options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
3739
+                }elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3740
+                    $options .= "options: sort_by_".str_replace("-","_", $this->id).",";
3741
+                }else {
3742
+
3743
+                    if ( ! empty( $args['options'] ) ) {
3744
+                        $options .= "options: [";
3745
+                        foreach ( $args['options'] as $option_val => $option_label ) {
3746
+                            $options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . addslashes( $option_label ) . "' },";
3747
+                        }
3748
+                        $options .= "],";
3749
+                    }
3750
+                }
3751
+                if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
3752
+                    $extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, ';
3753
+                }
3754 3754
 
3755
-				if($args['type'] == 'multiselect' ||  ( isset( $args['multiple'] ) && $args['multiple'] ) ){
3756
-					$after_elements	 .= "props.attributes.$key && el( wp.components.Button, {
3755
+                if($args['type'] == 'multiselect' ||  ( isset( $args['multiple'] ) && $args['multiple'] ) ){
3756
+                    $after_elements	 .= "props.attributes.$key && el( wp.components.Button, {
3757 3757
                                       className: 'components-button components-circular-option-picker__clear is-secondary is-small',
3758 3758
                                       style: {margin:'-8px 0 8px 0',display: 'block'},
3759 3759
                                       onClick: function(){
@@ -3764,8 +3764,8 @@  discard block
 block discarded – undo
3764 3764
                                     },
3765 3765
                                     'Clear'
3766 3766
                             ),";
3767
-				}
3768
-			} elseif ( $args['type'] == 'tagselect' ) {
3767
+                }
3768
+            } elseif ( $args['type'] == 'tagselect' ) {
3769 3769
 //				$type = 'FormTokenField';
3770 3770
 //
3771 3771
 //				if ( ! empty( $args['options'] ) ) {
@@ -3800,20 +3800,20 @@  discard block
 block discarded – undo
3800 3800
 //				$value     = "[]";
3801 3801
 //				$extra .= ' __experimentalExpandOnFocus: true,';
3802 3802
 
3803
-			} else if ( $args['type'] == 'alignment' ) {
3804
-				$type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
3805
-			} else if ( $args['type'] == 'margins' ) {
3806
-
3807
-			} else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) {
3808
-				$type = 'TextControl';
3809
-				$value = "(props.attributes.$key ? props.attributes.$key : '')";
3810
-				$args['type'] = 'text';
3811
-				$options .= 'disabled:true,';
3812
-				$bsvc_title = esc_attr( addslashes( $args['title'] ) );
3813
-				$bsvc_body = $this->block_visibility_fields( $args );
3814
-				// @TODO reset button
3815
-				$bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __( 'Reset', 'super-duper' ) . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __( 'Close', 'super-duper' ) . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __( 'Save Rules', 'super-duper' ) . '</button>';
3816
-				$after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, {
3803
+            } else if ( $args['type'] == 'alignment' ) {
3804
+                $type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
3805
+            } else if ( $args['type'] == 'margins' ) {
3806
+
3807
+            } else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) {
3808
+                $type = 'TextControl';
3809
+                $value = "(props.attributes.$key ? props.attributes.$key : '')";
3810
+                $args['type'] = 'text';
3811
+                $options .= 'disabled:true,';
3812
+                $bsvc_title = esc_attr( addslashes( $args['title'] ) );
3813
+                $bsvc_body = $this->block_visibility_fields( $args );
3814
+                // @TODO reset button
3815
+                $bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __( 'Reset', 'super-duper' ) . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __( 'Close', 'super-duper' ) . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __( 'Save Rules', 'super-duper' ) . '</button>';
3816
+                $after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, {
3817 3817
 						className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
3818 3818
 						onClick: function() {
3819 3819
 							var sValue = props.attributes." . $key . ";
@@ -3839,39 +3839,39 @@  discard block
 block discarded – undo
3839 3839
 					},
3840 3840
 					'" . addslashes( ! empty( $args['button_title'] ) ? $args['button_title'] : $args['title'] ) . "'
3841 3841
 				) ),";
3842
-			} else {
3843
-				return;// if we have not implemented the control then don't break the JS.
3844
-			}
3842
+            } else {
3843
+                return;// if we have not implemented the control then don't break the JS.
3844
+            }
3845 3845
 
3846
-			// color input does not show the labels so we add them
3847
-			if($args['type']=='color'){
3848
-				// add show only if advanced
3849
-				echo $require_advanced;
3850
-				// add setting require if defined
3851
-				echo $element_require;
3852
-				echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
3853
-			}
3846
+            // color input does not show the labels so we add them
3847
+            if($args['type']=='color'){
3848
+                // add show only if advanced
3849
+                echo $require_advanced;
3850
+                // add setting require if defined
3851
+                echo $element_require;
3852
+                echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
3853
+            }
3854 3854
 
3855
-			// add show only if advanced
3856
-			echo $require_advanced;
3857
-			// add setting require if defined
3858
-			echo $element_require;
3855
+            // add show only if advanced
3856
+            echo $require_advanced;
3857
+            // add setting require if defined
3858
+            echo $element_require;
3859 3859
             echo $device_type_require;
3860 3860
 
3861
-			// icon
3862
-			echo $icon;
3863
-			?>
3861
+            // icon
3862
+            echo $icon;
3863
+            ?>
3864 3864
 			el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type  : "wp.components.".$type; ?>, {
3865 3865
 			label: <?php if ( empty( $args['title'] ) ) { echo "''"; } else if ( empty( $args['row'] ) && ! empty( $args['device_type'] ) ) { ?>el('label',{className:'components-base-control__label',style:{width:"100%"}},el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes( $args['title'] ) ?>'}}),<?php if ( $device_type_icon ) { ?>deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})<?php } ?>)<?php
3866
-			} else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>,
3866
+            } else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>,
3867 3867
 			help: <?php echo ( isset( $args['desc'] ) ? "el('span', {dangerouslySetInnerHTML: {__html: '" . trim( wp_kses_post( addslashes( $args['desc'] ) ) ) . "'}})" : "''" ); ?>,
3868 3868
 			value: <?php echo $value; ?>,
3869 3869
 			<?php if ( $type == 'TextControl' && $args['type'] != 'text' ) {
3870
-				echo "type: '" . addslashes( $args['type'] ) . "',";
3871
-			} ?>
3870
+                echo "type: '" . addslashes( $args['type'] ) . "',";
3871
+            } ?>
3872 3872
 			<?php if ( ! empty( $args['placeholder'] ) ) {
3873
-				echo "placeholder: '" . addslashes( trim( esc_html( $args['placeholder'] ) ) ) . "',";
3874
-			} ?>
3873
+                echo "placeholder: '" . addslashes( trim( esc_html( $args['placeholder'] ) ) ) . "',";
3874
+            } ?>
3875 3875
 			<?php echo $options; ?>
3876 3876
 			<?php echo $extra; ?>
3877 3877
 			<?php echo $custom_attributes; ?>
@@ -3883,68 +3883,68 @@  discard block
 block discarded – undo
3883 3883
 			<?php } ?>
3884 3884
 		} <?php echo $inside_elements; ?> ),
3885 3885
 			<?php
3886
-			echo $after_elements;
3887
-		}
3886
+            echo $after_elements;
3887
+        }
3888 3888
 
3889
-		/**
3890
-		 * Convert an array of attributes to block string.
3891
-		 *
3892
-		 * @param $custom_attributes
3893
-		 *
3894
-		 * @return string
3895
-		 *@todo there is prob a faster way to do this, also we could add some validation here.
3896
-		 *
3897
-		 */
3898
-		public function array_to_attributes( $custom_attributes, $html = false ) {
3899
-			$attributes = '';
3900
-			if ( ! empty( $custom_attributes ) ) {
3901
-
3902
-				foreach ( $custom_attributes as $key => $val ) {
3903
-					if(is_array($val)){
3904
-						$attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},';
3905
-					}else{
3906
-						$attributes .= $html ?  " $key='$val' " : "'$key': '$val',";
3907
-					}
3908
-				}
3889
+        /**
3890
+         * Convert an array of attributes to block string.
3891
+         *
3892
+         * @param $custom_attributes
3893
+         *
3894
+         * @return string
3895
+         *@todo there is prob a faster way to do this, also we could add some validation here.
3896
+         *
3897
+         */
3898
+        public function array_to_attributes( $custom_attributes, $html = false ) {
3899
+            $attributes = '';
3900
+            if ( ! empty( $custom_attributes ) ) {
3909 3901
 
3910
-			}
3902
+                foreach ( $custom_attributes as $key => $val ) {
3903
+                    if(is_array($val)){
3904
+                        $attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},';
3905
+                    }else{
3906
+                        $attributes .= $html ?  " $key='$val' " : "'$key': '$val',";
3907
+                    }
3908
+                }
3911 3909
 
3912
-			return $attributes;
3913
-		}
3910
+            }
3911
+
3912
+            return $attributes;
3913
+        }
3914 3914
 
3915 3915
 
3916 3916
 
3917
-		/**
3918
-		 * A self looping function to create the output for JS block elements.
3919
-		 *
3920
-		 * This is what is output in the WP Editor visual view.
3921
-		 *
3922
-		 * @param $args
3923
-		 */
3924
-		public function block_element( $args, $save = false ) {
3917
+        /**
3918
+         * A self looping function to create the output for JS block elements.
3919
+         *
3920
+         * This is what is output in the WP Editor visual view.
3921
+         *
3922
+         * @param $args
3923
+         */
3924
+        public function block_element( $args, $save = false ) {
3925 3925
 
3926 3926
 
3927
-			if ( ! empty( $args ) ) {
3928
-				foreach ( $args as $element => $new_args ) {
3927
+            if ( ! empty( $args ) ) {
3928
+                foreach ( $args as $element => $new_args ) {
3929 3929
 
3930
-					if ( is_array( $new_args ) ) { // its an element
3930
+                    if ( is_array( $new_args ) ) { // its an element
3931 3931
 
3932 3932
 
3933
-						if ( isset( $new_args['element'] ) ) {
3933
+                        if ( isset( $new_args['element'] ) ) {
3934 3934
 
3935
-							if ( isset( $new_args['element_require'] ) ) {
3936
-								echo str_replace( array(
3937
-										"'+",
3938
-										"+'"
3939
-									), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
3940
-								unset( $new_args['element_require'] );
3941
-							}
3935
+                            if ( isset( $new_args['element_require'] ) ) {
3936
+                                echo str_replace( array(
3937
+                                        "'+",
3938
+                                        "+'"
3939
+                                    ), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
3940
+                                unset( $new_args['element_require'] );
3941
+                            }
3942 3942
 
3943 3943
                             if($new_args['element']=='InnerBlocks'){
3944 3944
                                 echo "\n el( InnerBlocks, {";
3945 3945
                             }elseif($new_args['element']=='innerBlocksProps'){
3946 3946
                                 $element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div';
3947
-                              //  echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {";
3947
+                                //  echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {";
3948 3948
 //                                echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
3949 3949
                                 echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
3950 3950
                                 echo $save ? "wp.blockEditor.useBlockProps.save( {" : "wp.blockEditor.useBlockProps( {";
@@ -3954,74 +3954,74 @@  discard block
 block discarded – undo
3954 3954
                                 echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element( $new_args['innerBlocksProps'],$save ) : '';
3955 3955
                             //    echo '###';
3956 3956
 
3957
-                              //  echo '###';
3957
+                                //  echo '###';
3958 3958
                             }elseif($new_args['element']=='BlocksProps'){
3959 3959
 
3960
-								if ( isset($new_args['if_inner_element']) ) {
3961
-									$element = $new_args['if_inner_element'];
3962
-								}else {
3963
-									$element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'";
3964
-								}
3960
+                                if ( isset($new_args['if_inner_element']) ) {
3961
+                                    $element = $new_args['if_inner_element'];
3962
+                                }else {
3963
+                                    $element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'";
3964
+                                }
3965 3965
 
3966
-								unset($new_args['inner_element']);
3966
+                                unset($new_args['inner_element']);
3967 3967
                                 echo $save ? "\n el( $element, wp.blockEditor.useBlockProps.save( {" : "\n el( $element, wp.blockEditor.useBlockProps( {";
3968 3968
                                 echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
3969 3969
 
3970 3970
 
3971
-                               // echo "} ),";
3971
+                                // echo "} ),";
3972 3972
 
3973 3973
                             }else{
3974 3974
                                 echo "\n el( '" . $new_args['element'] . "', {";
3975 3975
                             }
3976 3976
 
3977 3977
 
3978
-							// get the attributes
3979
-							foreach ( $new_args as $new_key => $new_value ) {
3978
+                            // get the attributes
3979
+                            foreach ( $new_args as $new_key => $new_value ) {
3980 3980
 
3981 3981
 
3982
-								if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
3983
-									// do nothing
3984
-								} else {
3985
-									echo $this->block_element( array( $new_key => $new_value ),$save );
3986
-								}
3987
-							}
3982
+                                if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
3983
+                                    // do nothing
3984
+                                } else {
3985
+                                    echo $this->block_element( array( $new_key => $new_value ),$save );
3986
+                                }
3987
+                            }
3988 3988
 
3989
-							echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes
3989
+                            echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes
3990 3990
 
3991
-							// get the content
3992
-							$first_item = 0;
3993
-							foreach ( $new_args as $new_key => $new_value ) {
3994
-								if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) {
3991
+                            // get the content
3992
+                            $first_item = 0;
3993
+                            foreach ( $new_args as $new_key => $new_value ) {
3994
+                                if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) {
3995 3995
 
3996
-									if ( $new_key === 'content' ) {
3997
-										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
3998
-									}else if ( $new_key === 'if_content' ) {
3999
-										echo  $this->block_props_replace(  $new_value  );
4000
-									}
3996
+                                    if ( $new_key === 'content' ) {
3997
+                                        echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
3998
+                                    }else if ( $new_key === 'if_content' ) {
3999
+                                        echo  $this->block_props_replace(  $new_value  );
4000
+                                    }
4001 4001
 
4002
-									if ( is_array( $new_value ) ) {
4002
+                                    if ( is_array( $new_value ) ) {
4003 4003
 
4004
-										if ( isset( $new_value['element_require'] ) ) {
4005
-											echo str_replace( array(
4006
-													"'+",
4007
-													"+'"
4008
-												), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
4009
-											unset( $new_value['element_require'] );
4010
-										}
4004
+                                        if ( isset( $new_value['element_require'] ) ) {
4005
+                                            echo str_replace( array(
4006
+                                                    "'+",
4007
+                                                    "+'"
4008
+                                                ), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
4009
+                                            unset( $new_value['element_require'] );
4010
+                                        }
4011 4011
 
4012
-										if ( isset( $new_value['element_repeat'] ) ) {
4013
-											$x = 1;
4014
-											while ( $x <= absint( $new_value['element_repeat'] ) ) {
4015
-												$this->block_element( array( '' => $new_value ),$save );
4016
-												$x ++;
4017
-											}
4018
-										} else {
4019
-											$this->block_element( array( '' => $new_value ),$save );
4020
-										}
4021
-									}
4022
-									$first_item ++;
4023
-								}
4024
-							}
4012
+                                        if ( isset( $new_value['element_repeat'] ) ) {
4013
+                                            $x = 1;
4014
+                                            while ( $x <= absint( $new_value['element_repeat'] ) ) {
4015
+                                                $this->block_element( array( '' => $new_value ),$save );
4016
+                                                $x ++;
4017
+                                            }
4018
+                                        } else {
4019
+                                            $this->block_element( array( '' => $new_value ),$save );
4020
+                                        }
4021
+                                    }
4022
+                                    $first_item ++;
4023
+                                }
4024
+                            }
4025 4025
 
4026 4026
                             if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){
4027 4027
                                 echo "))";// end content
@@ -4030,1067 +4030,1067 @@  discard block
 block discarded – undo
4030 4030
                             }
4031 4031
 
4032 4032
 
4033
-							echo ", \n";
4033
+                            echo ", \n";
4034 4034
 
4035
-						}
4036
-					} else {
4035
+                        }
4036
+                    } else {
4037 4037
 
4038
-						if ( substr( $element, 0, 3 ) === "if_" ) {
4039
-							$extra = '';
4040
-							if( strpos($new_args, '[%WrapClass%]') !== false ){
4041
-								$new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args);
4042
-								$new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args);
4043
-							}
4044
-							echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
4045
-						} elseif ( $element == 'style' &&  strpos($new_args, '[%WrapStyle%]') !== false ) {
4038
+                        if ( substr( $element, 0, 3 ) === "if_" ) {
4039
+                            $extra = '';
4040
+                            if( strpos($new_args, '[%WrapClass%]') !== false ){
4041
+                                $new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args);
4042
+                                $new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args);
4043
+                            }
4044
+                            echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
4045
+                        } elseif ( $element == 'style' &&  strpos($new_args, '[%WrapStyle%]') !== false ) {
4046 4046
                             $new_args = str_replace('[%WrapStyle%]','',$new_args);
4047 4047
                             echo $element . ": {..." . $this->block_props_replace( $new_args ) . " , ...sd_build_aui_styles(props.attributes) },";
4048 4048
 //                            echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4049
-						} elseif ( $element == 'style' ) {
4050
-							echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4051
-						} elseif ( ( $element == 'class' || $element == 'className'  ) &&  strpos($new_args, '[%WrapClass%]') !== false ) {
4049
+                        } elseif ( $element == 'style' ) {
4050
+                            echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4051
+                        } elseif ( ( $element == 'class' || $element == 'className'  ) &&  strpos($new_args, '[%WrapClass%]') !== false ) {
4052 4052
                             $new_args = str_replace('[%WrapClass%]','',$new_args);
4053 4053
                             echo $element . ": '" . $this->block_props_replace( $new_args ) . "' + sd_build_aui_class(props.attributes),";
4054
-						} elseif ( $element == 'template' && $new_args ) {
4055
-							echo $element . ": $new_args,";
4056
-						} else {
4057
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
4058
-						}
4054
+                        } elseif ( $element == 'template' && $new_args ) {
4055
+                            echo $element . ": $new_args,";
4056
+                        } else {
4057
+                            echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
4058
+                        }
4059 4059
 
4060
-					}
4061
-				}
4062
-			}
4063
-		}
4060
+                    }
4061
+                }
4062
+            }
4063
+        }
4064 4064
 
4065
-		/**
4066
-		 * Replace block attributes placeholders with the proper naming.
4067
-		 *
4068
-		 * @param $string
4069
-		 *
4070
-		 * @return mixed
4071
-		 */
4072
-		public function block_props_replace( $string, $no_wrap = false ) {
4073
-
4074
-			if ( $no_wrap ) {
4075
-				$string = str_replace( array( "[%", "%]" ), array( "props.attributes.", "" ), $string );
4076
-			} else {
4077
-				$string = str_replace( array( "[%", "%]" ), array( "'+props.attributes.", "+'" ), $string );
4078
-			}
4065
+        /**
4066
+         * Replace block attributes placeholders with the proper naming.
4067
+         *
4068
+         * @param $string
4069
+         *
4070
+         * @return mixed
4071
+         */
4072
+        public function block_props_replace( $string, $no_wrap = false ) {
4079 4073
 
4080
-			return $string;
4081
-		}
4074
+            if ( $no_wrap ) {
4075
+                $string = str_replace( array( "[%", "%]" ), array( "props.attributes.", "" ), $string );
4076
+            } else {
4077
+                $string = str_replace( array( "[%", "%]" ), array( "'+props.attributes.", "+'" ), $string );
4078
+            }
4082 4079
 
4083
-		/**
4084
-		 * Outputs the content of the widget
4085
-		 *
4086
-		 * @param array $args
4087
-		 * @param array $instance
4088
-		 */
4089
-		public function widget( $args, $instance ) {
4090
-			if ( ! is_array( $args ) ) {
4091
-				$args = array();
4092
-			}
4080
+            return $string;
4081
+        }
4093 4082
 
4094
-			// Get the filtered values
4095
-			$argument_values = $this->argument_values( $instance );
4096
-			$argument_values = $this->string_to_bool( $argument_values );
4097
-			$output          = $this->output( $argument_values, $args );
4083
+        /**
4084
+         * Outputs the content of the widget
4085
+         *
4086
+         * @param array $args
4087
+         * @param array $instance
4088
+         */
4089
+        public function widget( $args, $instance ) {
4090
+            if ( ! is_array( $args ) ) {
4091
+                $args = array();
4092
+            }
4098 4093
 
4099
-			$no_wrap = false;
4100
-			if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
4101
-				$no_wrap = true;
4102
-			}
4094
+            // Get the filtered values
4095
+            $argument_values = $this->argument_values( $instance );
4096
+            $argument_values = $this->string_to_bool( $argument_values );
4097
+            $output          = $this->output( $argument_values, $args );
4103 4098
 
4104
-			ob_start();
4105
-			if ( $output && ! $no_wrap ) {
4099
+            $no_wrap = false;
4100
+            if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
4101
+                $no_wrap = true;
4102
+            }
4106 4103
 
4107
-				$class_original = $this->options['widget_ops']['classname'];
4108
-				$class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
4104
+            ob_start();
4105
+            if ( $output && ! $no_wrap ) {
4109 4106
 
4110
-				// Before widget
4111
-				$before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : '';
4112
-				$before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget;
4113
-				$before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
4114
-				$before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
4107
+                $class_original = $this->options['widget_ops']['classname'];
4108
+                $class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
4115 4109
 
4116
-				// After widget
4117
-				$after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : '';
4118
-				$after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
4119
-				$after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
4110
+                // Before widget
4111
+                $before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : '';
4112
+                $before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget;
4113
+                $before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
4114
+                $before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
4120 4115
 
4121
-				echo $before_widget;
4122
-				// elementor strips the widget wrapping div so we check for and add it back if needed
4123
-				if ( $this->is_elementor_widget_output() ) {
4124
-					// Filter class & attrs for elementor widget output.
4125
-					$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
4126
-					$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
4116
+                // After widget
4117
+                $after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : '';
4118
+                $after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
4119
+                $after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
4127 4120
 
4128
-					$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
4129
-					$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
4121
+                echo $before_widget;
4122
+                // elementor strips the widget wrapping div so we check for and add it back if needed
4123
+                if ( $this->is_elementor_widget_output() ) {
4124
+                    // Filter class & attrs for elementor widget output.
4125
+                    $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
4126
+                    $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
4130 4127
 
4131
-					echo "<span class='" . esc_attr( $class  ) . "' " . $attrs . ">";
4132
-				}
4133
-				echo $this->output_title( $args, $instance );
4134
-				echo $output;
4135
-				if ( $this->is_elementor_widget_output() ) {
4136
-					echo "</span>";
4137
-				}
4138
-				echo $after_widget;
4139
-			} elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
4140
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
4141
-				echo $output;
4142
-			} elseif ( $output && $no_wrap ) {
4143
-				echo $output;
4144
-			}
4145
-			$output = ob_get_clean();
4128
+                    $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
4129
+                    $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
4146 4130
 
4147
-			$output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
4131
+                    echo "<span class='" . esc_attr( $class  ) . "' " . $attrs . ">";
4132
+                }
4133
+                echo $this->output_title( $args, $instance );
4134
+                echo $output;
4135
+                if ( $this->is_elementor_widget_output() ) {
4136
+                    echo "</span>";
4137
+                }
4138
+                echo $after_widget;
4139
+            } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
4140
+                $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
4141
+                echo $output;
4142
+            } elseif ( $output && $no_wrap ) {
4143
+                echo $output;
4144
+            }
4145
+            $output = ob_get_clean();
4148 4146
 
4149
-			echo $output;
4150
-		}
4147
+            $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
4151 4148
 
4152
-		/**
4153
-		 * Tests if the current output is inside a elementor container.
4154
-		 *
4155
-		 * @return bool
4156
-		 *@since 1.0.4
4157
-		 */
4158
-		public function is_elementor_widget_output() {
4159
-			$result = false;
4160
-			if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
4161
-				$result = true;
4162
-			}
4149
+            echo $output;
4150
+        }
4163 4151
 
4164
-			return $result;
4165
-		}
4152
+        /**
4153
+         * Tests if the current output is inside a elementor container.
4154
+         *
4155
+         * @return bool
4156
+         *@since 1.0.4
4157
+         */
4158
+        public function is_elementor_widget_output() {
4159
+            $result = false;
4160
+            if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
4161
+                $result = true;
4162
+            }
4166 4163
 
4167
-		/**
4168
-		 * Tests if the current output is inside a elementor preview.
4169
-		 *
4170
-		 * @return bool
4171
-		 *@since 1.0.4
4172
-		 */
4173
-		public function is_elementor_preview() {
4174
-			$result = false;
4175
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
4176
-				$result = true;
4177
-			}
4164
+            return $result;
4165
+        }
4178 4166
 
4179
-			return $result;
4180
-		}
4167
+        /**
4168
+         * Tests if the current output is inside a elementor preview.
4169
+         *
4170
+         * @return bool
4171
+         *@since 1.0.4
4172
+         */
4173
+        public function is_elementor_preview() {
4174
+            $result = false;
4175
+            if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
4176
+                $result = true;
4177
+            }
4181 4178
 
4182
-		/**
4183
-		 * Tests if the current output is inside a Divi preview.
4184
-		 *
4185
-		 * @return bool
4186
-		 *@since 1.0.6
4187
-		 */
4188
-		public function is_divi_preview() {
4189
-			$result = false;
4190
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
4191
-				$result = true;
4192
-			}
4179
+            return $result;
4180
+        }
4193 4181
 
4194
-			return $result;
4195
-		}
4182
+        /**
4183
+         * Tests if the current output is inside a Divi preview.
4184
+         *
4185
+         * @return bool
4186
+         *@since 1.0.6
4187
+         */
4188
+        public function is_divi_preview() {
4189
+            $result = false;
4190
+            if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
4191
+                $result = true;
4192
+            }
4196 4193
 
4197
-		/**
4198
-		 * Tests if the current output is inside a Beaver builder preview.
4199
-		 *
4200
-		 * @return bool
4201
-		 *@since 1.0.6
4202
-		 */
4203
-		public function is_beaver_preview() {
4204
-			$result = false;
4205
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
4206
-				$result = true;
4207
-			}
4194
+            return $result;
4195
+        }
4208 4196
 
4209
-			return $result;
4210
-		}
4197
+        /**
4198
+         * Tests if the current output is inside a Beaver builder preview.
4199
+         *
4200
+         * @return bool
4201
+         *@since 1.0.6
4202
+         */
4203
+        public function is_beaver_preview() {
4204
+            $result = false;
4205
+            if ( isset( $_REQUEST['fl_builder'] ) ) {
4206
+                $result = true;
4207
+            }
4211 4208
 
4212
-		/**
4213
-		 * Tests if the current output is inside a siteorigin builder preview.
4214
-		 *
4215
-		 * @return bool
4216
-		 *@since 1.0.6
4217
-		 */
4218
-		public function is_siteorigin_preview() {
4219
-			$result = false;
4220
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
4221
-				$result = true;
4222
-			}
4209
+            return $result;
4210
+        }
4223 4211
 
4224
-			return $result;
4225
-		}
4212
+        /**
4213
+         * Tests if the current output is inside a siteorigin builder preview.
4214
+         *
4215
+         * @return bool
4216
+         *@since 1.0.6
4217
+         */
4218
+        public function is_siteorigin_preview() {
4219
+            $result = false;
4220
+            if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
4221
+                $result = true;
4222
+            }
4226 4223
 
4227
-		/**
4228
-		 * Tests if the current output is inside a cornerstone builder preview.
4229
-		 *
4230
-		 * @return bool
4231
-		 *@since 1.0.8
4232
-		 */
4233
-		public function is_cornerstone_preview() {
4234
-			$result = false;
4235
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
4236
-				$result = true;
4237
-			}
4224
+            return $result;
4225
+        }
4238 4226
 
4239
-			return $result;
4240
-		}
4227
+        /**
4228
+         * Tests if the current output is inside a cornerstone builder preview.
4229
+         *
4230
+         * @return bool
4231
+         *@since 1.0.8
4232
+         */
4233
+        public function is_cornerstone_preview() {
4234
+            $result = false;
4235
+            if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
4236
+                $result = true;
4237
+            }
4241 4238
 
4242
-		/**
4243
-		 * Tests if the current output is inside a fusion builder preview.
4244
-		 *
4245
-		 * @return bool
4246
-		 *@since 1.1.0
4247
-		 */
4248
-		public function is_fusion_preview() {
4249
-			$result = false;
4250
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
4251
-				$result = true;
4252
-			}
4239
+            return $result;
4240
+        }
4253 4241
 
4254
-			return $result;
4255
-		}
4242
+        /**
4243
+         * Tests if the current output is inside a fusion builder preview.
4244
+         *
4245
+         * @return bool
4246
+         *@since 1.1.0
4247
+         */
4248
+        public function is_fusion_preview() {
4249
+            $result = false;
4250
+            if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
4251
+                $result = true;
4252
+            }
4256 4253
 
4257
-		/**
4258
-		 * Tests if the current output is inside a Oxygen builder preview.
4259
-		 *
4260
-		 * @return bool
4261
-		 *@since 1.0.18
4262
-		 */
4263
-		public function is_oxygen_preview() {
4264
-			$result = false;
4265
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
4266
-				$result = true;
4267
-			}
4254
+            return $result;
4255
+        }
4268 4256
 
4269
-			return $result;
4270
-		}
4257
+        /**
4258
+         * Tests if the current output is inside a Oxygen builder preview.
4259
+         *
4260
+         * @return bool
4261
+         *@since 1.0.18
4262
+         */
4263
+        public function is_oxygen_preview() {
4264
+            $result = false;
4265
+            if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
4266
+                $result = true;
4267
+            }
4271 4268
 
4272
-		/**
4273
-		 * Check for Kallyas theme Zion builder preview.
4274
-		 *
4275
-		 * @since 1.1.22
4276
-		 *
4277
-		 * @return bool True when preview page otherwise false.
4278
-		 */
4279
-		public function is_kallyas_zion_preview() {
4280
-			$result = false;
4281
-
4282
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
4283
-				$result = true;
4284
-			}
4269
+            return $result;
4270
+        }
4285 4271
 
4286
-			return $result;
4287
-		}
4272
+        /**
4273
+         * Check for Kallyas theme Zion builder preview.
4274
+         *
4275
+         * @since 1.1.22
4276
+         *
4277
+         * @return bool True when preview page otherwise false.
4278
+         */
4279
+        public function is_kallyas_zion_preview() {
4280
+            $result = false;
4288 4281
 
4289
-		/**
4290
-		 * General function to check if we are in a preview situation.
4291
-		 *
4292
-		 * @return bool
4293
-		 *@since 1.0.6
4294
-		 */
4295
-		public function is_preview() {
4296
-			$preview = false;
4297
-			if ( $this->is_divi_preview() ) {
4298
-				$preview = true;
4299
-			} elseif ( $this->is_elementor_preview() ) {
4300
-				$preview = true;
4301
-			} elseif ( $this->is_beaver_preview() ) {
4302
-				$preview = true;
4303
-			} elseif ( $this->is_siteorigin_preview() ) {
4304
-				$preview = true;
4305
-			} elseif ( $this->is_cornerstone_preview() ) {
4306
-				$preview = true;
4307
-			} elseif ( $this->is_fusion_preview() ) {
4308
-				$preview = true;
4309
-			} elseif ( $this->is_oxygen_preview() ) {
4310
-				$preview = true;
4311
-			} elseif( $this->is_kallyas_zion_preview() ) {
4312
-				$preview = true;
4313
-			} elseif( $this->is_block_content_call() ) {
4314
-				$preview = true;
4315
-			}
4282
+            if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
4283
+                $result = true;
4284
+            }
4316 4285
 
4317
-			return $preview;
4318
-		}
4286
+            return $result;
4287
+        }
4319 4288
 
4320
-		/**
4321
-		 * Output the super title.
4322
-		 *
4323
-		 * @param $args
4324
-		 * @param array $instance
4325
-		 *
4326
-		 * @return string
4327
-		 */
4328
-		public function output_title( $args, $instance = array() ) {
4329
-			$output = '';
4330
-			if ( ! empty( $instance['title'] ) ) {
4331
-				/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
4332
-				$title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
4333
-
4334
-				if(empty($instance['widget_title_tag'])){
4335
-					$output = $args['before_title'] . $title . $args['after_title'];
4336
-				}else{
4337
-					$title_tag = esc_attr( $instance['widget_title_tag'] );
4338
-
4339
-					// classes
4340
-					$title_classes = array();
4341
-					$title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
4342
-					$title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
4343
-					$title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
4344
-					$title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
4345
-					$title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
4346
-					$title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
4347
-					$title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
4348
-					$title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
4349
-					$title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
4350
-					$title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
4351
-					$title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
4352
-					$title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
4353
-					$title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
4354
-
4355
-					$class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
4356
-					$output = "<$title_tag class='$class' >$title</$title_tag>";
4357
-				}
4289
+        /**
4290
+         * General function to check if we are in a preview situation.
4291
+         *
4292
+         * @return bool
4293
+         *@since 1.0.6
4294
+         */
4295
+        public function is_preview() {
4296
+            $preview = false;
4297
+            if ( $this->is_divi_preview() ) {
4298
+                $preview = true;
4299
+            } elseif ( $this->is_elementor_preview() ) {
4300
+                $preview = true;
4301
+            } elseif ( $this->is_beaver_preview() ) {
4302
+                $preview = true;
4303
+            } elseif ( $this->is_siteorigin_preview() ) {
4304
+                $preview = true;
4305
+            } elseif ( $this->is_cornerstone_preview() ) {
4306
+                $preview = true;
4307
+            } elseif ( $this->is_fusion_preview() ) {
4308
+                $preview = true;
4309
+            } elseif ( $this->is_oxygen_preview() ) {
4310
+                $preview = true;
4311
+            } elseif( $this->is_kallyas_zion_preview() ) {
4312
+                $preview = true;
4313
+            } elseif( $this->is_block_content_call() ) {
4314
+                $preview = true;
4315
+            }
4358 4316
 
4359
-			}
4317
+            return $preview;
4318
+        }
4360 4319
 
4361
-			return $output;
4362
-		}
4320
+        /**
4321
+         * Output the super title.
4322
+         *
4323
+         * @param $args
4324
+         * @param array $instance
4325
+         *
4326
+         * @return string
4327
+         */
4328
+        public function output_title( $args, $instance = array() ) {
4329
+            $output = '';
4330
+            if ( ! empty( $instance['title'] ) ) {
4331
+                /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
4332
+                $title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
4333
+
4334
+                if(empty($instance['widget_title_tag'])){
4335
+                    $output = $args['before_title'] . $title . $args['after_title'];
4336
+                }else{
4337
+                    $title_tag = esc_attr( $instance['widget_title_tag'] );
4338
+
4339
+                    // classes
4340
+                    $title_classes = array();
4341
+                    $title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
4342
+                    $title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
4343
+                    $title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
4344
+                    $title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
4345
+                    $title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
4346
+                    $title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
4347
+                    $title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
4348
+                    $title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
4349
+                    $title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
4350
+                    $title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
4351
+                    $title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
4352
+                    $title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
4353
+                    $title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
4354
+
4355
+                    $class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
4356
+                    $output = "<$title_tag class='$class' >$title</$title_tag>";
4357
+                }
4358
+
4359
+            }
4360
+
4361
+            return $output;
4362
+        }
4363 4363
 
4364
-		/**
4365
-		 * Outputs the options form inputs for the widget.
4366
-		 *
4367
-		 * @param array $instance The widget options.
4368
-		 */
4369
-		public function form( $instance ) {
4364
+        /**
4365
+         * Outputs the options form inputs for the widget.
4366
+         *
4367
+         * @param array $instance The widget options.
4368
+         */
4369
+        public function form( $instance ) {
4370 4370
 
4371
-			// set widget instance
4372
-			$this->instance = $instance;
4371
+            // set widget instance
4372
+            $this->instance = $instance;
4373 4373
 
4374
-			// set it as a SD widget
4375
-			echo $this->widget_advanced_toggle();
4374
+            // set it as a SD widget
4375
+            echo $this->widget_advanced_toggle();
4376 4376
 
4377
-			echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
4378
-			$arguments_raw = $this->get_arguments();
4377
+            echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
4378
+            $arguments_raw = $this->get_arguments();
4379 4379
 
4380
-			if ( is_array( $arguments_raw ) ) {
4380
+            if ( is_array( $arguments_raw ) ) {
4381 4381
 
4382
-				$arguments = $this->group_arguments( $arguments_raw );
4382
+                $arguments = $this->group_arguments( $arguments_raw );
4383 4383
 
4384
-				// Do we have sections?
4385
-				$has_sections = $arguments == $arguments_raw ? false : true;
4384
+                // Do we have sections?
4385
+                $has_sections = $arguments == $arguments_raw ? false : true;
4386 4386
 
4387 4387
 
4388
-				if ( $has_sections ) {
4389
-					$panel_count = 0;
4390
-					foreach ( $arguments as $key => $args ) {
4388
+                if ( $has_sections ) {
4389
+                    $panel_count = 0;
4390
+                    foreach ( $arguments as $key => $args ) {
4391 4391
 
4392
-						?>
4392
+                        ?>
4393 4393
 						<script>
4394 4394
 							//							jQuery(this).find("i").toggleClass("fas fa-chevron-up fas fa-chevron-down");jQuery(this).next().toggle();
4395 4395
 						</script>
4396 4396
 						<?php
4397 4397
 
4398
-						$hide       = $panel_count ? ' style="display:none;" ' : '';
4399
-						$icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
4400
-						echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>";
4401
-						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
4398
+                        $hide       = $panel_count ? ' style="display:none;" ' : '';
4399
+                        $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
4400
+                        echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>";
4401
+                        echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
4402 4402
 
4403
-						foreach ( $args as $k => $a ) {
4403
+                        foreach ( $args as $k => $a ) {
4404 4404
 
4405
-							$this->widget_inputs_row_start($k, $a);
4406
-							$this->widget_inputs( $a, $instance );
4407
-							$this->widget_inputs_row_end($k, $a);
4405
+                            $this->widget_inputs_row_start($k, $a);
4406
+                            $this->widget_inputs( $a, $instance );
4407
+                            $this->widget_inputs_row_end($k, $a);
4408 4408
 
4409
-						}
4409
+                        }
4410 4410
 
4411
-						echo "</div>";
4411
+                        echo "</div>";
4412 4412
 
4413
-						$panel_count ++;
4413
+                        $panel_count ++;
4414 4414
 
4415
-					}
4416
-				} else {
4417
-					foreach ( $arguments as $key => $args ) {
4418
-						$this->widget_inputs_row_start($key, $args);
4419
-						$this->widget_inputs( $args, $instance );
4420
-						$this->widget_inputs_row_end($key, $args);
4421
-					}
4422
-				}
4415
+                    }
4416
+                } else {
4417
+                    foreach ( $arguments as $key => $args ) {
4418
+                        $this->widget_inputs_row_start($key, $args);
4419
+                        $this->widget_inputs( $args, $instance );
4420
+                        $this->widget_inputs_row_end($key, $args);
4421
+                    }
4422
+                }
4423 4423
 
4424
-			}
4425
-		}
4424
+            }
4425
+        }
4426 4426
 
4427
-		public function widget_inputs_row_start($key, $args){
4428
-			if(!empty($args['row'])){
4429
-				// maybe open
4430
-				if(!empty($args['row']['open'])){
4431
-					?>
4427
+        public function widget_inputs_row_start($key, $args){
4428
+            if(!empty($args['row'])){
4429
+                // maybe open
4430
+                if(!empty($args['row']['open'])){
4431
+                    ?>
4432 4432
 					<div class='bsui sd-argument ' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php if ( !empty($args['row']['element_require'])) {
4433
-						echo $this->convert_element_require( $args['row']['element_require'] );
4434
-					} ?>'>
4433
+                        echo $this->convert_element_require( $args['row']['element_require'] );
4434
+                    } ?>'>
4435 4435
 					<?php if(!empty($args['row']['title'])){ ?>
4436 4436
 					<label class="mb-0 "><?php echo esc_attr( $args['row']['title'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label>
4437 4437
 					<?php }?>
4438 4438
 					<div class='row <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>'>
4439 4439
 					<div class='col pr-2'>
4440 4440
 					<?php
4441
-				}elseif(!empty($args['row']['close'])){
4442
-					echo "<div class='col pl-0 ps-0'>";
4443
-				}else{
4444
-					echo "<div class='col pl-0 ps-0 pr-2 pe-2'>";
4445
-				}
4446
-			}
4447
-		}
4441
+                }elseif(!empty($args['row']['close'])){
4442
+                    echo "<div class='col pl-0 ps-0'>";
4443
+                }else{
4444
+                    echo "<div class='col pl-0 ps-0 pr-2 pe-2'>";
4445
+                }
4446
+            }
4447
+        }
4448 4448
 
4449
-		public function widget_inputs_row_end($key, $args){
4449
+        public function widget_inputs_row_end($key, $args){
4450 4450
 
4451
-			if(!empty($args['row'])){
4452
-				// maybe close
4453
-				if(!empty($args['row']['close'])){
4454
-					echo "</div></div>";
4455
-				}
4451
+            if(!empty($args['row'])){
4452
+                // maybe close
4453
+                if(!empty($args['row']['close'])){
4454
+                    echo "</div></div>";
4455
+                }
4456 4456
 
4457
-				echo "</div>";
4458
-			}
4459
-		}
4457
+                echo "</div>";
4458
+            }
4459
+        }
4460 4460
 
4461
-		/**
4462
-		 * Get the hidden input that when added makes the advanced button show on widget settings.
4463
-		 *
4464
-		 * @return string
4465
-		 */
4466
-		public function widget_advanced_toggle() {
4461
+        /**
4462
+         * Get the hidden input that when added makes the advanced button show on widget settings.
4463
+         *
4464
+         * @return string
4465
+         */
4466
+        public function widget_advanced_toggle() {
4467 4467
 
4468
-			$output = '';
4469
-			if ( $this->block_show_advanced() ) {
4470
-				$val = 1;
4471
-			} else {
4472
-				$val = 0;
4473
-			}
4468
+            $output = '';
4469
+            if ( $this->block_show_advanced() ) {
4470
+                $val = 1;
4471
+            } else {
4472
+                $val = 0;
4473
+            }
4474 4474
 
4475
-			$output .= "<input type='hidden'  class='sd-show-advanced' value='$val' />";
4475
+            $output .= "<input type='hidden'  class='sd-show-advanced' value='$val' />";
4476 4476
 
4477
-			return $output;
4478
-		}
4477
+            return $output;
4478
+        }
4479 4479
 
4480
-		/**
4481
-		 * Convert require element.
4482
-		 *
4483
-		 * @param string $input Input element.
4484
-		 *
4485
-		 * @return string $output
4486
-		 *@since 1.0.0
4487
-		 *
4488
-		 */
4489
-		public function convert_element_require( $input ) {
4490
-
4491
-			$input = str_replace( "'", '"', $input );// we only want double quotes
4492
-
4493
-			$output = esc_attr( str_replace( array( "[%", "%]" ), array(
4494
-				"jQuery(form).find('[data-argument=\"",
4495
-				"\"]').find('input,select,textarea').val()"
4496
-			), $input ) );
4497
-
4498
-			return $output;
4499
-		}
4480
+        /**
4481
+         * Convert require element.
4482
+         *
4483
+         * @param string $input Input element.
4484
+         *
4485
+         * @return string $output
4486
+         *@since 1.0.0
4487
+         *
4488
+         */
4489
+        public function convert_element_require( $input ) {
4500 4490
 
4501
-		/**
4502
-		 * Builds the inputs for the widget options.
4503
-		 *
4504
-		 * @param $args
4505
-		 * @param $instance
4506
-		 */
4507
-		public function widget_inputs( $args, $instance ) {
4508
-
4509
-			$class             = "";
4510
-			$element_require   = "";
4511
-			$custom_attributes = "";
4512
-
4513
-			// get value
4514
-			if ( isset( $instance[ $args['name'] ] ) ) {
4515
-				$value = $instance[ $args['name'] ];
4516
-			} elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
4517
-				$value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
4518
-			} else {
4519
-				$value = '';
4520
-			}
4491
+            $input = str_replace( "'", '"', $input );// we only want double quotes
4521 4492
 
4522
-			// get placeholder
4523
-			if ( ! empty( $args['placeholder'] ) ) {
4524
-				$placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
4525
-			} else {
4526
-				$placeholder = '';
4527
-			}
4493
+            $output = esc_attr( str_replace( array( "[%", "%]" ), array(
4494
+                "jQuery(form).find('[data-argument=\"",
4495
+                "\"]').find('input,select,textarea').val()"
4496
+            ), $input ) );
4528 4497
 
4529
-			// get if advanced
4530
-			if ( isset( $args['advanced'] ) && $args['advanced'] ) {
4531
-				$class .= " sd-advanced-setting ";
4532
-			}
4498
+            return $output;
4499
+        }
4533 4500
 
4534
-			// element_require
4535
-			if ( isset( $args['element_require'] ) && $args['element_require'] ) {
4536
-				$element_require = $args['element_require'];
4537
-			}
4501
+        /**
4502
+         * Builds the inputs for the widget options.
4503
+         *
4504
+         * @param $args
4505
+         * @param $instance
4506
+         */
4507
+        public function widget_inputs( $args, $instance ) {
4508
+
4509
+            $class             = "";
4510
+            $element_require   = "";
4511
+            $custom_attributes = "";
4512
+
4513
+            // get value
4514
+            if ( isset( $instance[ $args['name'] ] ) ) {
4515
+                $value = $instance[ $args['name'] ];
4516
+            } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
4517
+                $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
4518
+            } else {
4519
+                $value = '';
4520
+            }
4538 4521
 
4539
-			// custom_attributes
4540
-			if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
4541
-				$custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
4542
-			}
4522
+            // get placeholder
4523
+            if ( ! empty( $args['placeholder'] ) ) {
4524
+                $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
4525
+            } else {
4526
+                $placeholder = '';
4527
+            }
4528
+
4529
+            // get if advanced
4530
+            if ( isset( $args['advanced'] ) && $args['advanced'] ) {
4531
+                $class .= " sd-advanced-setting ";
4532
+            }
4533
+
4534
+            // element_require
4535
+            if ( isset( $args['element_require'] ) && $args['element_require'] ) {
4536
+                $element_require = $args['element_require'];
4537
+            }
4538
+
4539
+            // custom_attributes
4540
+            if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
4541
+                $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
4542
+            }
4543 4543
 
4544
-			// before wrapper
4545
-			?>
4544
+            // before wrapper
4545
+            ?>
4546 4546
 			<p class="sd-argument <?php echo esc_attr( $class ); ?>" data-argument='<?php echo esc_attr( $args['name'] ); ?>' data-element_require='<?php if ( $element_require ) { echo $this->convert_element_require( $element_require );} ?>'>
4547 4547
 			<?php
4548
-			switch ( $args['type'] ) {
4549
-				//array('text','password','number','email','tel','url','color')
4550
-				case "text":
4551
-				case "password":
4552
-				case "number":
4553
-				case "email":
4554
-				case "tel":
4555
-				case "url":
4556
-				case "color":
4557
-					?>
4548
+            switch ( $args['type'] ) {
4549
+                //array('text','password','number','email','tel','url','color')
4550
+                case "text":
4551
+                case "password":
4552
+                case "number":
4553
+                case "email":
4554
+                case "tel":
4555
+                case "url":
4556
+                case "color":
4557
+                    ?>
4558 4558
 					<label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label>
4559 4559
 					<input <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="<?php echo esc_attr( $args['type'] ); ?>" value="<?php echo esc_attr( $value ); ?>">
4560 4560
 					<?php
4561 4561
 
4562
-					break;
4563
-				case "select":
4564
-					$multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
4565
-					if ( $multiple ) {
4566
-						if ( empty( $value ) ) {
4567
-							$value = array();
4568
-						}
4569
-					}
4570
-					?>
4562
+                    break;
4563
+                case "select":
4564
+                    $multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
4565
+                    if ( $multiple ) {
4566
+                        if ( empty( $value ) ) {
4567
+                            $value = array();
4568
+                        }
4569
+                    }
4570
+                    ?>
4571 4571
 					<label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label>
4572 4572
 					<select <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); if ( $multiple ) { echo "[]"; } ?>"
4573 4573
 						<?php if ( $multiple ) {
4574
-							echo "multiple";
4575
-						} //@todo not implemented yet due to gutenberg not supporting it
4576
-						?>>
4574
+                            echo "multiple";
4575
+                        } //@todo not implemented yet due to gutenberg not supporting it
4576
+                        ?>>
4577 4577
 						<?php
4578 4578
 
4579
-						if ( ! empty( $args['options'] ) ) {
4580
-							foreach ( $args['options'] as $val => $label ) {
4581
-								if ( $multiple ) {
4582
-									$selected = in_array( $val, $value ) ? 'selected="selected"' : '';
4583
-								} else {
4584
-									$selected = selected( $value, $val, false );
4585
-								}
4586
-								echo "<option value='$val' " . $selected . ">$label</option>";
4587
-							}
4588
-						}
4589
-						?>
4579
+                        if ( ! empty( $args['options'] ) ) {
4580
+                            foreach ( $args['options'] as $val => $label ) {
4581
+                                if ( $multiple ) {
4582
+                                    $selected = in_array( $val, $value ) ? 'selected="selected"' : '';
4583
+                                } else {
4584
+                                    $selected = selected( $value, $val, false );
4585
+                                }
4586
+                                echo "<option value='$val' " . $selected . ">$label</option>";
4587
+                            }
4588
+                        }
4589
+                        ?>
4590 4590
 					</select>
4591 4591
 					<?php
4592
-					break;
4593
-				case "checkbox":
4594
-					?>
4592
+                    break;
4593
+                case "checkbox":
4594
+                    ?>
4595 4595
 					<input <?php echo $placeholder; ?> <?php checked( 1, $value, true ) ?> <?php echo $custom_attributes; ?> class="widefat" id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="checkbox" value="1">
4596 4596
 					<label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label>
4597 4597
 					<?php
4598
-					break;
4599
-				case "textarea":
4600
-					?>
4598
+                    break;
4599
+                case "textarea":
4600
+                    ?>
4601 4601
 					<label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label>
4602 4602
 					<textarea <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>"><?php echo esc_attr( $value ); ?></textarea>
4603 4603
 					<?php
4604 4604
 
4605
-					break;
4606
-				case "hidden":
4607
-					?>
4605
+                    break;
4606
+                case "hidden":
4607
+                    ?>
4608 4608
 					<input id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="hidden" value="<?php echo esc_attr( $value ); ?>">
4609 4609
 					<?php
4610
-					break;
4611
-				default:
4612
-					echo "No input type found!"; // @todo we need to add more input types.
4613
-			}
4614
-			// after wrapper
4615
-			?></p><?php
4616
-		}
4610
+                    break;
4611
+                default:
4612
+                    echo "No input type found!"; // @todo we need to add more input types.
4613
+            }
4614
+            // after wrapper
4615
+            ?></p><?php
4616
+        }
4617 4617
 
4618
-		public function get_widget_icon($icon = 'box-top', $title = ''){
4619
-			if($icon=='box-top'){
4620
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>';
4621
-			}elseif($icon=='box-right'){
4622
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>';
4623
-			}elseif($icon=='box-bottom'){
4624
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>';
4625
-			}elseif($icon=='box-left'){
4626
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>';
4627
-			}
4628
-		}
4618
+        public function get_widget_icon($icon = 'box-top', $title = ''){
4619
+            if($icon=='box-top'){
4620
+                return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>';
4621
+            }elseif($icon=='box-right'){
4622
+                return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>';
4623
+            }elseif($icon=='box-bottom'){
4624
+                return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>';
4625
+            }elseif($icon=='box-left'){
4626
+                return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>';
4627
+            }
4628
+        }
4629 4629
 
4630
-		/**
4631
-		 * Get the widget input description html.
4632
-		 *
4633
-		 * @param $args
4634
-		 *
4635
-		 * @return string
4636
-		 * @todo, need to make its own tooltip script
4637
-		 */
4638
-		public function widget_field_desc( $args ) {
4639
-
4640
-			$description = '';
4641
-			if ( isset( $args['desc'] ) && $args['desc'] ) {
4642
-				if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
4643
-					$description = $this->desc_tip( $args['desc'] );
4644
-				} else {
4645
-					$description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
4646
-				}
4647
-			}
4630
+        /**
4631
+         * Get the widget input description html.
4632
+         *
4633
+         * @param $args
4634
+         *
4635
+         * @return string
4636
+         * @todo, need to make its own tooltip script
4637
+         */
4638
+        public function widget_field_desc( $args ) {
4639
+
4640
+            $description = '';
4641
+            if ( isset( $args['desc'] ) && $args['desc'] ) {
4642
+                if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
4643
+                    $description = $this->desc_tip( $args['desc'] );
4644
+                } else {
4645
+                    $description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
4646
+                }
4647
+            }
4648 4648
 
4649
-			return $description;
4650
-		}
4649
+            return $description;
4650
+        }
4651 4651
 
4652
-		/**
4653
-		 * Get the widget input title html.
4654
-		 *
4655
-		 * @param $args
4656
-		 *
4657
-		 * @return string
4658
-		 */
4659
-		public function widget_field_title( $args ) {
4660
-
4661
-			$title = '';
4662
-			if ( isset( $args['title'] ) && $args['title'] ) {
4663
-				if ( isset( $args['icon'] ) && $args['icon'] ) {
4664
-					$title = self::get_widget_icon( $args['icon'], $args['title']  );
4665
-				} else {
4666
-					$title = esc_attr($args['title']);
4667
-				}
4668
-			}
4652
+        /**
4653
+         * Get the widget input title html.
4654
+         *
4655
+         * @param $args
4656
+         *
4657
+         * @return string
4658
+         */
4659
+        public function widget_field_title( $args ) {
4660
+
4661
+            $title = '';
4662
+            if ( isset( $args['title'] ) && $args['title'] ) {
4663
+                if ( isset( $args['icon'] ) && $args['icon'] ) {
4664
+                    $title = self::get_widget_icon( $args['icon'], $args['title']  );
4665
+                } else {
4666
+                    $title = esc_attr($args['title']);
4667
+                }
4668
+            }
4669 4669
 
4670
-			return $title;
4671
-		}
4670
+            return $title;
4671
+        }
4672 4672
 
4673
-		/**
4674
-		 * Get the tool tip html.
4675
-		 *
4676
-		 * @param $tip
4677
-		 * @param bool $allow_html
4678
-		 *
4679
-		 * @return string
4680
-		 */
4681
-		function desc_tip( $tip, $allow_html = false ) {
4682
-			if ( $allow_html ) {
4683
-				$tip = $this->sanitize_tooltip( $tip );
4684
-			} else {
4685
-				$tip = esc_attr( $tip );
4686
-			}
4673
+        /**
4674
+         * Get the tool tip html.
4675
+         *
4676
+         * @param $tip
4677
+         * @param bool $allow_html
4678
+         *
4679
+         * @return string
4680
+         */
4681
+        function desc_tip( $tip, $allow_html = false ) {
4682
+            if ( $allow_html ) {
4683
+                $tip = $this->sanitize_tooltip( $tip );
4684
+            } else {
4685
+                $tip = esc_attr( $tip );
4686
+            }
4687 4687
 
4688
-			return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
4689
-		}
4688
+            return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
4689
+        }
4690 4690
 
4691
-		/**
4692
-		 * Sanitize a string destined to be a tooltip.
4693
-		 *
4694
-		 * @param string $var
4695
-		 *
4696
-		 * @return string
4697
-		 */
4698
-		public function sanitize_tooltip( $var ) {
4699
-			return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
4700
-				'br'     => array(),
4701
-				'em'     => array(),
4702
-				'strong' => array(),
4703
-				'small'  => array(),
4704
-				'span'   => array(),
4705
-				'ul'     => array(),
4706
-				'li'     => array(),
4707
-				'ol'     => array(),
4708
-				'p'      => array(),
4709
-			) ) );
4710
-		}
4691
+        /**
4692
+         * Sanitize a string destined to be a tooltip.
4693
+         *
4694
+         * @param string $var
4695
+         *
4696
+         * @return string
4697
+         */
4698
+        public function sanitize_tooltip( $var ) {
4699
+            return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
4700
+                'br'     => array(),
4701
+                'em'     => array(),
4702
+                'strong' => array(),
4703
+                'small'  => array(),
4704
+                'span'   => array(),
4705
+                'ul'     => array(),
4706
+                'li'     => array(),
4707
+                'ol'     => array(),
4708
+                'p'      => array(),
4709
+            ) ) );
4710
+        }
4711 4711
 
4712
-		/**
4713
-		 * Processing widget options on save
4714
-		 *
4715
-		 * @param array $new_instance The new options
4716
-		 * @param array $old_instance The previous options
4717
-		 *
4718
-		 * @return array
4719
-		 * @todo we should add some sanitation here.
4720
-		 */
4721
-		public function update( $new_instance, $old_instance ) {
4722
-
4723
-			//save the widget
4724
-			$instance = array_merge( (array) $old_instance, (array) $new_instance );
4725
-
4726
-			// set widget instance
4727
-			$this->instance = $instance;
4728
-
4729
-			if ( empty( $this->arguments ) ) {
4730
-				$this->get_arguments();
4731
-			}
4712
+        /**
4713
+         * Processing widget options on save
4714
+         *
4715
+         * @param array $new_instance The new options
4716
+         * @param array $old_instance The previous options
4717
+         *
4718
+         * @return array
4719
+         * @todo we should add some sanitation here.
4720
+         */
4721
+        public function update( $new_instance, $old_instance ) {
4732 4722
 
4733
-			// check for checkboxes
4734
-			if ( ! empty( $this->arguments ) ) {
4735
-				foreach ( $this->arguments as $argument ) {
4736
-					if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
4737
-						$instance[ $argument['name'] ] = '0';
4738
-					}
4739
-				}
4740
-			}
4723
+            //save the widget
4724
+            $instance = array_merge( (array) $old_instance, (array) $new_instance );
4741 4725
 
4742
-			return $instance;
4743
-		}
4726
+            // set widget instance
4727
+            $this->instance = $instance;
4744 4728
 
4745
-		/**
4746
-		 * Checks if the current call is a ajax call to get the block content.
4747
-		 *
4748
-		 * This can be used in your widget to return different content as the block content.
4749
-		 *
4750
-		 * @return bool
4751
-		 *@since 1.0.3
4752
-		 */
4753
-		public function is_block_content_call() {
4754
-			$result = false;
4755
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
4756
-				$result = true;
4757
-			}
4729
+            if ( empty( $this->arguments ) ) {
4730
+                $this->get_arguments();
4731
+            }
4758 4732
 
4759
-			return $result;
4760
-		}
4733
+            // check for checkboxes
4734
+            if ( ! empty( $this->arguments ) ) {
4735
+                foreach ( $this->arguments as $argument ) {
4736
+                    if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
4737
+                        $instance[ $argument['name'] ] = '0';
4738
+                    }
4739
+                }
4740
+            }
4761 4741
 
4762
-		/**
4763
-		 * Get an instance hash that will be unique to the type and settings.
4764
-		 *
4765
-		 * @return string
4766
-		 *@since 1.0.20
4767
-		 */
4768
-		public function get_instance_hash(){
4769
-			$instance_string = $this->base_id.serialize($this->instance);
4770
-			return hash('crc32b',$instance_string);
4771
-		}
4742
+            return $instance;
4743
+        }
4772 4744
 
4773
-		/**
4774
-		 * Generate and return inline styles from CSS rules that will match the unique class of the instance.
4775
-		 *
4776
-		 * @param array $rules
4777
-		 *
4778
-		 * @return string
4779
-		 *@since 1.0.20
4780
-		 */
4781
-		public function get_instance_style($rules = array()){
4782
-			$css = '';
4783
-
4784
-			if(!empty($rules)){
4785
-				$rules = array_unique($rules);
4786
-				$instance_hash = $this->get_instance_hash();
4787
-				$css .= "<style>";
4788
-				foreach($rules as $rule){
4789
-					$css .= ".sdel-$instance_hash $rule";
4790
-				}
4791
-				$css .= "</style>";
4792
-			}
4745
+        /**
4746
+         * Checks if the current call is a ajax call to get the block content.
4747
+         *
4748
+         * This can be used in your widget to return different content as the block content.
4749
+         *
4750
+         * @return bool
4751
+         *@since 1.0.3
4752
+         */
4753
+        public function is_block_content_call() {
4754
+            $result = false;
4755
+            if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
4756
+                $result = true;
4757
+            }
4793 4758
 
4794
-			return $css;
4795
-		}
4759
+            return $result;
4760
+        }
4796 4761
 
4797
-		/**
4798
-		 * Encode shortcodes tags.
4799
-		 *
4800
-		 * @param string $content Content to search for shortcode tags.
4801
-		 *
4762
+        /**
4763
+         * Get an instance hash that will be unique to the type and settings.
4764
+         *
4765
+         * @return string
4766
+         *@since 1.0.20
4767
+         */
4768
+        public function get_instance_hash(){
4769
+            $instance_string = $this->base_id.serialize($this->instance);
4770
+            return hash('crc32b',$instance_string);
4771
+        }
4772
+
4773
+        /**
4774
+         * Generate and return inline styles from CSS rules that will match the unique class of the instance.
4775
+         *
4776
+         * @param array $rules
4777
+         *
4778
+         * @return string
4779
+         *@since 1.0.20
4780
+         */
4781
+        public function get_instance_style($rules = array()){
4782
+            $css = '';
4783
+
4784
+            if(!empty($rules)){
4785
+                $rules = array_unique($rules);
4786
+                $instance_hash = $this->get_instance_hash();
4787
+                $css .= "<style>";
4788
+                foreach($rules as $rule){
4789
+                    $css .= ".sdel-$instance_hash $rule";
4790
+                }
4791
+                $css .= "</style>";
4792
+            }
4793
+
4794
+            return $css;
4795
+        }
4796
+
4797
+        /**
4798
+         * Encode shortcodes tags.
4799
+         *
4800
+         * @param string $content Content to search for shortcode tags.
4801
+         *
4802 4802
 *@return string Content with shortcode tags removed.
4803
-		 *@since 1.0.28
4804
-		 *
4805
-		 */
4806
-		public function encode_shortcodes( $content ) {
4807
-			// Avoids existing encoded tags.
4808
-			$trans   = array(
4809
-				'&#91;' => '&#091;',
4810
-				'&#93;' => '&#093;',
4811
-				'&amp;#91;' => '&#091;',
4812
-				'&amp;#93;' => '&#093;',
4813
-				'&lt;' => '&0lt;',
4814
-				'&gt;' => '&0gt;',
4815
-				'&amp;lt;' => '&0lt;',
4816
-				'&amp;gt;' => '&0gt;',
4817
-			);
4818
-
4819
-			$content = strtr( $content, $trans );
4820
-
4821
-			$trans   = array(
4822
-				'[' => '&#91;',
4823
-				']' => '&#93;',
4824
-				'<' => '&lt;',
4825
-				'>' => '&gt;',
4826
-				'"' => '&quot;',
4827
-				"'" => '&#39;',
4828
-			);
4829
-
4830
-			$content = strtr( $content, $trans );
4831
-
4832
-			return $content;
4833
-		}
4803
+         *@since 1.0.28
4804
+         *
4805
+         */
4806
+        public function encode_shortcodes( $content ) {
4807
+            // Avoids existing encoded tags.
4808
+            $trans   = array(
4809
+                '&#91;' => '&#091;',
4810
+                '&#93;' => '&#093;',
4811
+                '&amp;#91;' => '&#091;',
4812
+                '&amp;#93;' => '&#093;',
4813
+                '&lt;' => '&0lt;',
4814
+                '&gt;' => '&0gt;',
4815
+                '&amp;lt;' => '&0lt;',
4816
+                '&amp;gt;' => '&0gt;',
4817
+            );
4818
+
4819
+            $content = strtr( $content, $trans );
4820
+
4821
+            $trans   = array(
4822
+                '[' => '&#91;',
4823
+                ']' => '&#93;',
4824
+                '<' => '&lt;',
4825
+                '>' => '&gt;',
4826
+                '"' => '&quot;',
4827
+                "'" => '&#39;',
4828
+            );
4829
+
4830
+            $content = strtr( $content, $trans );
4831
+
4832
+            return $content;
4833
+        }
4834 4834
 
4835
-		/**
4836
-		 * Remove encoded shortcod tags.
4837
-		 *
4838
-		 * @param string $content Content to search for shortcode tags.
4839
-		 *
4835
+        /**
4836
+         * Remove encoded shortcod tags.
4837
+         *
4838
+         * @param string $content Content to search for shortcode tags.
4839
+         *
4840 4840
 *@return string Content with decoded shortcode tags.
4841
-		 *@since 1.0.28
4842
-		 *
4843
-		 */
4844
-		public function decode_shortcodes( $content ) {
4845
-			$trans   = array(
4846
-				'&#91;' => '[',
4847
-				'&#93;' => ']',
4848
-				'&amp;#91;' => '[',
4849
-				'&amp;#93;' => ']',
4850
-				'&lt;' => '<',
4851
-				'&gt;' => '>',
4852
-				'&amp;lt;' => '<',
4853
-				'&amp;gt;' => '>',
4854
-				'&quot;' => '"',
4855
-				'&apos;' => "'",
4856
-			);
4857
-
4858
-			$content = strtr( $content, $trans );
4859
-
4860
-			$trans   = array(
4861
-				'&#091;' => '&#91;',
4862
-				'&#093;' => '&#93;',
4863
-				'&amp;#091;' => '&#91;',
4864
-				'&amp;#093;' => '&#93;',
4865
-				'&0lt;' => '&lt;',
4866
-				'&0gt;' => '&gt;',
4867
-				'&amp;0lt;' => '&lt;',
4868
-				'&amp;0gt;' => '&gt;',
4869
-			);
4870
-
4871
-			$content = strtr( $content, $trans );
4872
-
4873
-			return $content;
4874
-		}
4875
-
4876
-		public function block_visibility_fields( $args ) {
4877
-			$value = ! empty( $args['value'] ) ? esc_attr( $args['value'] ) : '';
4878
-			$content = '<div class="bs-vc-rule-template d-none">';
4879
-				$content .= '<div class="p-3 pb-0 mb-3 border border-1 rounded-1 position-relative bs-vc-rule" data-bs-index="BSVCINDEX" >';
4880
-					$content .= '<div class="row">';
4881
-						$content .= '<div class="col-sm-12">';
4882
-							$content .= '<div class="bs-rule-action position-absolute top-0 end-0 p-2 zindex-5"><span class="text-danger c-pointer bs-vc-remove-rule" title="' . esc_attr__( 'Remove Rule', 'super-duper' ) . '"><i class="fas fa-circle-minus fs-6"></i></span></div>';
4883
-							$content .= aui()->select(
4884
-								array(
4885
-									'id'          => 'bsvc_rule_BSVCINDEX',
4886
-									'name'        => 'bsvc_rule_BSVCINDEX',
4887
-									'label'       => __( 'Rule', 'super-duper' ),
4888
-									'placeholder' => __( 'Select Rule...', 'super-duper' ),
4889
-									'class'       => 'bsvc_rule form-select-sm',
4890
-									'options'     => sd_visibility_rules_options(),
4891
-									'default'     => '',
4892
-									'value'       => '',
4893
-									'label_type'  => '',
4894
-									'select2'     => false,
4895
-									'input_group_left' => __( 'Rule:', 'super-duper' ),
4896
-									'extra_attributes' => array(
4897
-										'data-minimum-results-for-search' => '-1'
4898
-									)
4899
-								)
4900
-							);
4901
-
4902
-						$content .= '</div>';
4903
-
4904
-						if ( class_exists( 'GeoDirectory' ) ) {
4905
-							$content .= '<div class="col-md-7 col-sm-12">';
4906
-
4907
-								$content .= aui()->select(
4908
-									array(
4909
-										'id'          => 'bsvc_gd_field_BSVCINDEX',
4910
-										'name'        => 'bsvc_gd_field_BSVCINDEX',
4911
-										'label'       => __( 'FIELD', 'super-duper' ),
4912
-										'placeholder' => __( 'FIELD', 'super-duper' ),
4913
-										'class'       => 'bsvc_gd_field form-select-sm',
4914
-										'options'     => sd_visibility_gd_field_options(),
4915
-										'default'     => '',
4916
-										'value'       => '',
4917
-										'label_type'  => '',
4918
-										'select2'     => false,
4919
-										'element_require'  => '[%bsvc_rule_BSVCINDEX%]=="gd_field"',
4920
-										'extra_attributes' => array(
4921
-											'data-minimum-results-for-search' => '-1'
4922
-										)
4923
-									)
4924
-								);
4925
-
4926
-							$content .= '</div>';
4927
-							$content .= '<div class="col-md-5 col-sm-12">';
4928
-
4929
-								$content .= aui()->select(
4930
-									array(
4931
-										'id'          => 'bsvc_gd_field_condition_BSVCINDEX',
4932
-										'name'        => 'bsvc_gd_field_condition_BSVCINDEX',
4933
-										'label'       => __( 'CONDITION', 'super-duper' ),
4934
-										'placeholder' => __( 'CONDITION', 'super-duper' ),
4935
-										'class'       => 'bsvc_gd_field_condition form-select-sm',
4936
-										'options'     => sd_visibility_field_condition_options(),
4937
-										'default'     => '',
4938
-										'value'       => '',
4939
-										'label_type'  => '',
4940
-										'select2'     => false,
4941
-										'element_require'  => '[%bsvc_rule_BSVCINDEX%]=="gd_field"',
4942
-										'extra_attributes' => array(
4943
-											'data-minimum-results-for-search' => '-1'
4944
-										)
4945
-									)
4946
-								);
4947
-
4948
-							$content .= '</div>';
4949
-							$content .= '<div class="col-sm-12">';
4950
-
4951
-								$content .= aui()->input(
4952
-									array(
4953
-										'type'            => 'text',
4954
-										'id'              => 'bsvc_gd_field_search_BSVCINDEX',
4955
-										'name'            => 'bsvc_gd_field_search_BSVCINDEX',
4956
-										'label'           => __( 'VALUE TO MATCH', 'super-duper' ),
4957
-										'class'           => 'bsvc_gd_field_search form-control-sm',
4958
-										'placeholder'     => __( 'VALUE TO MATCH', 'super-duper' ),
4959
-										'label_type'      => '',
4960
-										'value'           => '',
4961
-										'element_require' => '([%bsvc_rule_BSVCINDEX%]=="gd_field" && [%bsvc_gd_field_condition_BSVCINDEX%] && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_empty" && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_not_empty")'
4962
-									)
4963
-								);
4841
+         *@since 1.0.28
4842
+         *
4843
+         */
4844
+        public function decode_shortcodes( $content ) {
4845
+            $trans   = array(
4846
+                '&#91;' => '[',
4847
+                '&#93;' => ']',
4848
+                '&amp;#91;' => '[',
4849
+                '&amp;#93;' => ']',
4850
+                '&lt;' => '<',
4851
+                '&gt;' => '>',
4852
+                '&amp;lt;' => '<',
4853
+                '&amp;gt;' => '>',
4854
+                '&quot;' => '"',
4855
+                '&apos;' => "'",
4856
+            );
4857
+
4858
+            $content = strtr( $content, $trans );
4859
+
4860
+            $trans   = array(
4861
+                '&#091;' => '&#91;',
4862
+                '&#093;' => '&#93;',
4863
+                '&amp;#091;' => '&#91;',
4864
+                '&amp;#093;' => '&#93;',
4865
+                '&0lt;' => '&lt;',
4866
+                '&0gt;' => '&gt;',
4867
+                '&amp;0lt;' => '&lt;',
4868
+                '&amp;0gt;' => '&gt;',
4869
+            );
4870
+
4871
+            $content = strtr( $content, $trans );
4872
+
4873
+            return $content;
4874
+        }
4964 4875
 
4965
-							$content .= '</div>';
4966
-						}
4876
+        public function block_visibility_fields( $args ) {
4877
+            $value = ! empty( $args['value'] ) ? esc_attr( $args['value'] ) : '';
4878
+            $content = '<div class="bs-vc-rule-template d-none">';
4879
+                $content .= '<div class="p-3 pb-0 mb-3 border border-1 rounded-1 position-relative bs-vc-rule" data-bs-index="BSVCINDEX" >';
4880
+                    $content .= '<div class="row">';
4881
+                        $content .= '<div class="col-sm-12">';
4882
+                            $content .= '<div class="bs-rule-action position-absolute top-0 end-0 p-2 zindex-5"><span class="text-danger c-pointer bs-vc-remove-rule" title="' . esc_attr__( 'Remove Rule', 'super-duper' ) . '"><i class="fas fa-circle-minus fs-6"></i></span></div>';
4883
+                            $content .= aui()->select(
4884
+                                array(
4885
+                                    'id'          => 'bsvc_rule_BSVCINDEX',
4886
+                                    'name'        => 'bsvc_rule_BSVCINDEX',
4887
+                                    'label'       => __( 'Rule', 'super-duper' ),
4888
+                                    'placeholder' => __( 'Select Rule...', 'super-duper' ),
4889
+                                    'class'       => 'bsvc_rule form-select-sm',
4890
+                                    'options'     => sd_visibility_rules_options(),
4891
+                                    'default'     => '',
4892
+                                    'value'       => '',
4893
+                                    'label_type'  => '',
4894
+                                    'select2'     => false,
4895
+                                    'input_group_left' => __( 'Rule:', 'super-duper' ),
4896
+                                    'extra_attributes' => array(
4897
+                                        'data-minimum-results-for-search' => '-1'
4898
+                                    )
4899
+                                )
4900
+                            );
4901
+
4902
+                        $content .= '</div>';
4903
+
4904
+                        if ( class_exists( 'GeoDirectory' ) ) {
4905
+                            $content .= '<div class="col-md-7 col-sm-12">';
4906
+
4907
+                                $content .= aui()->select(
4908
+                                    array(
4909
+                                        'id'          => 'bsvc_gd_field_BSVCINDEX',
4910
+                                        'name'        => 'bsvc_gd_field_BSVCINDEX',
4911
+                                        'label'       => __( 'FIELD', 'super-duper' ),
4912
+                                        'placeholder' => __( 'FIELD', 'super-duper' ),
4913
+                                        'class'       => 'bsvc_gd_field form-select-sm',
4914
+                                        'options'     => sd_visibility_gd_field_options(),
4915
+                                        'default'     => '',
4916
+                                        'value'       => '',
4917
+                                        'label_type'  => '',
4918
+                                        'select2'     => false,
4919
+                                        'element_require'  => '[%bsvc_rule_BSVCINDEX%]=="gd_field"',
4920
+                                        'extra_attributes' => array(
4921
+                                            'data-minimum-results-for-search' => '-1'
4922
+                                        )
4923
+                                    )
4924
+                                );
4925
+
4926
+                            $content .= '</div>';
4927
+                            $content .= '<div class="col-md-5 col-sm-12">';
4928
+
4929
+                                $content .= aui()->select(
4930
+                                    array(
4931
+                                        'id'          => 'bsvc_gd_field_condition_BSVCINDEX',
4932
+                                        'name'        => 'bsvc_gd_field_condition_BSVCINDEX',
4933
+                                        'label'       => __( 'CONDITION', 'super-duper' ),
4934
+                                        'placeholder' => __( 'CONDITION', 'super-duper' ),
4935
+                                        'class'       => 'bsvc_gd_field_condition form-select-sm',
4936
+                                        'options'     => sd_visibility_field_condition_options(),
4937
+                                        'default'     => '',
4938
+                                        'value'       => '',
4939
+                                        'label_type'  => '',
4940
+                                        'select2'     => false,
4941
+                                        'element_require'  => '[%bsvc_rule_BSVCINDEX%]=="gd_field"',
4942
+                                        'extra_attributes' => array(
4943
+                                            'data-minimum-results-for-search' => '-1'
4944
+                                        )
4945
+                                    )
4946
+                                );
4947
+
4948
+                            $content .= '</div>';
4949
+                            $content .= '<div class="col-sm-12">';
4950
+
4951
+                                $content .= aui()->input(
4952
+                                    array(
4953
+                                        'type'            => 'text',
4954
+                                        'id'              => 'bsvc_gd_field_search_BSVCINDEX',
4955
+                                        'name'            => 'bsvc_gd_field_search_BSVCINDEX',
4956
+                                        'label'           => __( 'VALUE TO MATCH', 'super-duper' ),
4957
+                                        'class'           => 'bsvc_gd_field_search form-control-sm',
4958
+                                        'placeholder'     => __( 'VALUE TO MATCH', 'super-duper' ),
4959
+                                        'label_type'      => '',
4960
+                                        'value'           => '',
4961
+                                        'element_require' => '([%bsvc_rule_BSVCINDEX%]=="gd_field" && [%bsvc_gd_field_condition_BSVCINDEX%] && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_empty" && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_not_empty")'
4962
+                                    )
4963
+                                );
4964
+
4965
+                            $content .= '</div>';
4966
+                        }
4967 4967
 
4968
-					$content .= '</div>';
4969
-
4970
-					$content .= '<div class="row aui-conditional-field" data-element-require="jQuery(form).find(\'[name=bsvc_rule_BSVCINDEX]\').val()==\'user_roles\'" data-argument="bsvc_user_roles_BSVCINDEX_1"><label for="bsvc_user_roles_BSVCINDEX_1" class="form-label mb-3">' . __( 'Select User Roles:', 'super-duper' ) . '</label>';
4971
-						$role_options = sd_user_roles_options();
4972
-
4973
-						$role_option_i = 0;
4974
-						foreach ( $role_options as $role_option_key => $role_option_name ) {
4975
-							$role_option_i++;
4976
-
4977
-							$content .= '<div class="col-sm-6">';
4978
-							$content .= aui()->input(
4979
-								array(
4980
-									'id'               => 'bsvc_user_roles_BSVCINDEX_' . $role_option_i,
4981
-									'name'             => 'bsvc_user_roles_BSVCINDEX[]',
4982
-									'type'             => 'checkbox',
4983
-									'label'            => $role_option_name,
4984
-									'label_type'       => 'hidden',
4985
-									'class'            => 'bsvc_user_roles',
4986
-									'value'            => $role_option_key,
4987
-									'switch'           => 'md',
4988
-									'no_wrap'          => true
4989
-								)
4990
-							);
4991
-							$content .= '</div>';
4992
-						}
4993
-					$content .= '</div>';
4994
-				$content .= '</div>';
4995
-			$content .= '</div>';
4996
-			$content .= '<form id="bs-vc-modal-form" class="bs-vc-modal-form">';
4997
-			$content .= '<div class="bs-vc-rule-sets"></div>';
4998
-			$content .= '<div class="row"><div class="col-sm-12 text-center pt-1 pb-4"><button type="button" class="btn btn-sm btn-primary d-block w-100 bs-vc-add-rule"><i class="fas fa-plus"></i> ' . __( 'Add Rule', 'super-duper' ) . '</button></div></div>';
4999
-			$content .= '<div class="row"><div class="col-md-6 col-sm-12">';
5000
-			$content .= aui()->select(
5001
-				array(
5002
-					'id'          => 'bsvc_output',
5003
-					'name'        => 'bsvc_output',
5004
-					'label'       => __( 'What should happen if rules met.', 'super-duper' ),
5005
-					'placeholder' => __( 'Default Output', 'super-duper' ),
5006
-					'class'       => 'bsvc_output form-select-sm',
5007
-					'options'     => sd_visibility_output_options(),
5008
-					'default'     => '',
5009
-					'value'       => '',
5010
-					'label_type'  => 'top',
5011
-					'select2'     => true,
5012
-					'extra_attributes' => array(
5013
-						'data-minimum-results-for-search' => '-1'
5014
-					)
5015
-				)
5016
-			);
5017
-
5018
-			$content .= '</div><div class="col-md-6 col-sm-12">';
5019
-
5020
-			$content .= aui()->select(
5021
-				array(
5022
-					'id'              => 'bsvc_page',
5023
-					'name'            => 'bsvc_page',
5024
-					'label'           => __( 'Page Content', 'super-duper' ),
5025
-					'placeholder'     => __( 'Select Page ID...', 'super-duper' ),
5026
-					'class'           => 'bsvc_page form-select-sm',
5027
-					'options'         => sd_template_page_options(),
5028
-					'default'         => '',
5029
-					'value'           => '',
5030
-					'label_type'      => 'top',
5031
-					'select2'         => true,
5032
-					'element_require' => '[%bsvc_output%]=="page"'
5033
-				)
5034
-			);
5035
-
5036
-			$content .= aui()->select(
5037
-				array(
5038
-					'id'          => 'bsvc_tmpl_part',
5039
-					'name'        => 'bsvc_tmpl_part',
5040
-					'label'       => __( 'Template Part', 'super-duper' ),
5041
-					'placeholder' => __( 'Select Template Part...', 'super-duper' ),
5042
-					'class'       => 'bsvc_tmpl_part form-select-sm',
5043
-					'options'     => sd_template_part_options(),
5044
-					'default'     => '',
5045
-					'value'       => '',
5046
-					'label_type'  => 'top',
5047
-					'select2'     => true,
5048
-					'element_require'  => '[%bsvc_output%]=="template_part"',
5049
-					'extra_attributes' => array(
5050
-						'data-minimum-results-for-search' => '-1'
5051
-					)
5052
-				)
5053
-			);
5054
-
5055
-			$content .= aui()->select(
5056
-				array(
5057
-					'id'               => 'bsvc_message_type',
5058
-					'name'             => 'bsvc_message_type',
5059
-					'label'            => __( 'Custom Message Type', 'super-duper' ),
5060
-					'placeholder'      => __( 'Default (none)', 'super-duper' ),
5061
-					'class'            => 'bsvc_message_type form-select-sm',
5062
-					'options'          => sd_aui_colors(),
5063
-					'default'          => '',
5064
-					'value'            => '',
5065
-					'label_type'       => 'top',
5066
-					'select2'          => true,
5067
-					'element_require'  => '[%bsvc_output%]=="message"',
5068
-					'extra_attributes' => array(
5069
-						'data-minimum-results-for-search' => '-1'
5070
-					)
5071
-				)
5072
-			);
5073
-
5074
-			$content .= '</div><div class="col-sm-12">';
5075
-
5076
-			$content .= aui()->input(
5077
-				array(
5078
-					'type'            => 'text',
5079
-					'id'              => 'bsvc_message',
5080
-					'name'            => 'bsvc_message',
5081
-					'label'           => '',
5082
-					'class'           => 'bsvc_message form-control-sm',
5083
-					'placeholder'     => __( 'CUSTOM MESSAGE TO SHOW', 'super-duper' ),
5084
-					'label_type'      => '',
5085
-					'value'           => '',
5086
-					'form_group_class' => ' ',
5087
-					'element_require' => '[%bsvc_output%]=="message"',
5088
-				)
5089
-			);
5090
-
5091
-			$content .= '</div></div></form><input type="hidden" id="bsvc_raw_value" name="bsvc_raw_value" value="' . $value . '">';
5092
-
5093
-			return $content;
5094
-		}
5095
-	}
4968
+                    $content .= '</div>';
4969
+
4970
+                    $content .= '<div class="row aui-conditional-field" data-element-require="jQuery(form).find(\'[name=bsvc_rule_BSVCINDEX]\').val()==\'user_roles\'" data-argument="bsvc_user_roles_BSVCINDEX_1"><label for="bsvc_user_roles_BSVCINDEX_1" class="form-label mb-3">' . __( 'Select User Roles:', 'super-duper' ) . '</label>';
4971
+                        $role_options = sd_user_roles_options();
4972
+
4973
+                        $role_option_i = 0;
4974
+                        foreach ( $role_options as $role_option_key => $role_option_name ) {
4975
+                            $role_option_i++;
4976
+
4977
+                            $content .= '<div class="col-sm-6">';
4978
+                            $content .= aui()->input(
4979
+                                array(
4980
+                                    'id'               => 'bsvc_user_roles_BSVCINDEX_' . $role_option_i,
4981
+                                    'name'             => 'bsvc_user_roles_BSVCINDEX[]',
4982
+                                    'type'             => 'checkbox',
4983
+                                    'label'            => $role_option_name,
4984
+                                    'label_type'       => 'hidden',
4985
+                                    'class'            => 'bsvc_user_roles',
4986
+                                    'value'            => $role_option_key,
4987
+                                    'switch'           => 'md',
4988
+                                    'no_wrap'          => true
4989
+                                )
4990
+                            );
4991
+                            $content .= '</div>';
4992
+                        }
4993
+                    $content .= '</div>';
4994
+                $content .= '</div>';
4995
+            $content .= '</div>';
4996
+            $content .= '<form id="bs-vc-modal-form" class="bs-vc-modal-form">';
4997
+            $content .= '<div class="bs-vc-rule-sets"></div>';
4998
+            $content .= '<div class="row"><div class="col-sm-12 text-center pt-1 pb-4"><button type="button" class="btn btn-sm btn-primary d-block w-100 bs-vc-add-rule"><i class="fas fa-plus"></i> ' . __( 'Add Rule', 'super-duper' ) . '</button></div></div>';
4999
+            $content .= '<div class="row"><div class="col-md-6 col-sm-12">';
5000
+            $content .= aui()->select(
5001
+                array(
5002
+                    'id'          => 'bsvc_output',
5003
+                    'name'        => 'bsvc_output',
5004
+                    'label'       => __( 'What should happen if rules met.', 'super-duper' ),
5005
+                    'placeholder' => __( 'Default Output', 'super-duper' ),
5006
+                    'class'       => 'bsvc_output form-select-sm',
5007
+                    'options'     => sd_visibility_output_options(),
5008
+                    'default'     => '',
5009
+                    'value'       => '',
5010
+                    'label_type'  => 'top',
5011
+                    'select2'     => true,
5012
+                    'extra_attributes' => array(
5013
+                        'data-minimum-results-for-search' => '-1'
5014
+                    )
5015
+                )
5016
+            );
5017
+
5018
+            $content .= '</div><div class="col-md-6 col-sm-12">';
5019
+
5020
+            $content .= aui()->select(
5021
+                array(
5022
+                    'id'              => 'bsvc_page',
5023
+                    'name'            => 'bsvc_page',
5024
+                    'label'           => __( 'Page Content', 'super-duper' ),
5025
+                    'placeholder'     => __( 'Select Page ID...', 'super-duper' ),
5026
+                    'class'           => 'bsvc_page form-select-sm',
5027
+                    'options'         => sd_template_page_options(),
5028
+                    'default'         => '',
5029
+                    'value'           => '',
5030
+                    'label_type'      => 'top',
5031
+                    'select2'         => true,
5032
+                    'element_require' => '[%bsvc_output%]=="page"'
5033
+                )
5034
+            );
5035
+
5036
+            $content .= aui()->select(
5037
+                array(
5038
+                    'id'          => 'bsvc_tmpl_part',
5039
+                    'name'        => 'bsvc_tmpl_part',
5040
+                    'label'       => __( 'Template Part', 'super-duper' ),
5041
+                    'placeholder' => __( 'Select Template Part...', 'super-duper' ),
5042
+                    'class'       => 'bsvc_tmpl_part form-select-sm',
5043
+                    'options'     => sd_template_part_options(),
5044
+                    'default'     => '',
5045
+                    'value'       => '',
5046
+                    'label_type'  => 'top',
5047
+                    'select2'     => true,
5048
+                    'element_require'  => '[%bsvc_output%]=="template_part"',
5049
+                    'extra_attributes' => array(
5050
+                        'data-minimum-results-for-search' => '-1'
5051
+                    )
5052
+                )
5053
+            );
5054
+
5055
+            $content .= aui()->select(
5056
+                array(
5057
+                    'id'               => 'bsvc_message_type',
5058
+                    'name'             => 'bsvc_message_type',
5059
+                    'label'            => __( 'Custom Message Type', 'super-duper' ),
5060
+                    'placeholder'      => __( 'Default (none)', 'super-duper' ),
5061
+                    'class'            => 'bsvc_message_type form-select-sm',
5062
+                    'options'          => sd_aui_colors(),
5063
+                    'default'          => '',
5064
+                    'value'            => '',
5065
+                    'label_type'       => 'top',
5066
+                    'select2'          => true,
5067
+                    'element_require'  => '[%bsvc_output%]=="message"',
5068
+                    'extra_attributes' => array(
5069
+                        'data-minimum-results-for-search' => '-1'
5070
+                    )
5071
+                )
5072
+            );
5073
+
5074
+            $content .= '</div><div class="col-sm-12">';
5075
+
5076
+            $content .= aui()->input(
5077
+                array(
5078
+                    'type'            => 'text',
5079
+                    'id'              => 'bsvc_message',
5080
+                    'name'            => 'bsvc_message',
5081
+                    'label'           => '',
5082
+                    'class'           => 'bsvc_message form-control-sm',
5083
+                    'placeholder'     => __( 'CUSTOM MESSAGE TO SHOW', 'super-duper' ),
5084
+                    'label_type'      => '',
5085
+                    'value'           => '',
5086
+                    'form_group_class' => ' ',
5087
+                    'element_require' => '[%bsvc_output%]=="message"',
5088
+                )
5089
+            );
5090
+
5091
+            $content .= '</div></div></form><input type="hidden" id="bsvc_raw_value" name="bsvc_raw_value" value="' . $value . '">';
5092
+
5093
+            return $content;
5094
+        }
5095
+    }
5096 5096
 }
Please login to merge, or discard this patch.
Spacing   +771 added lines, -771 removed lines patch added patch discarded remove patch
@@ -1,11 +1,11 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if (!defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
6
-if ( ! class_exists( 'WP_Super_Duper' ) ) {
6
+if (!class_exists('WP_Super_Duper')) {
7 7
 
8
-	define( 'SUPER_DUPER_VER', '1.1.28' );
8
+	define('SUPER_DUPER_VER', '1.1.28');
9 9
 
10 10
 	/**
11 11
 	 * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress.
@@ -38,40 +38,40 @@  discard block
 block discarded – undo
38 38
 		/**
39 39
 		 * Take the array options and use them to build.
40 40
 		 */
41
-		public function __construct( $options ) {
41
+		public function __construct($options) {
42 42
 			global $sd_widgets;
43 43
 
44
-			$sd_widgets[ $options['base_id'] ] = array(
44
+			$sd_widgets[$options['base_id']] = array(
45 45
 				'name'       => $options['name'],
46 46
 				'class_name' => $options['class_name'],
47 47
 				'output_types' => !empty($options['output_types']) ? $options['output_types'] : array()
48 48
 			);
49
-			$this->base_id                     = $options['base_id'];
49
+			$this->base_id = $options['base_id'];
50 50
 			// lets filter the options before we do anything
51
-			$options       = apply_filters( "wp_super_duper_options", $options );
52
-			$options       = apply_filters( "wp_super_duper_options_{$this->base_id}", $options );
53
-			$options       = $this->add_name_from_key( $options );
51
+			$options       = apply_filters("wp_super_duper_options", $options);
52
+			$options       = apply_filters("wp_super_duper_options_{$this->base_id}", $options);
53
+			$options       = $this->add_name_from_key($options);
54 54
 			$this->options = $options;
55 55
 
56 56
 			$this->base_id   = $options['base_id'];
57
-			$this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array();
57
+			$this->arguments = isset($options['arguments']) ? $options['arguments'] : array();
58 58
 
59 59
             // nested blocks can't work as a widget
60
-            if(!empty($this->options['nested-block'])){
61
-                if(empty($this->options['output_types'])){
62
-                    $this->options['output_types'] = array('shortcode','block');
60
+            if (!empty($this->options['nested-block'])) {
61
+                if (empty($this->options['output_types'])) {
62
+                    $this->options['output_types'] = array('shortcode', 'block');
63 63
                 }elseif (($key = array_search('widget', $this->options['output_types'])) !== false) {
64 64
                     unset($this->options['output_types'][$key]);
65 65
                 }
66 66
             }
67 67
 
68 68
 			// init parent
69
-			if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
70
-                parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] );
69
+			if (empty($this->options['output_types']) || in_array('widget', $this->options['output_types'])) {
70
+                parent::__construct($options['base_id'], $options['name'], $options['widget_ops']);
71 71
 			}
72 72
 
73 73
 
74
-			if ( isset( $options['class_name'] ) ) {
74
+			if (isset($options['class_name'])) {
75 75
 				// register widget
76 76
 				$this->class_name = $options['class_name'];
77 77
 
@@ -80,61 +80,61 @@  discard block
 block discarded – undo
80 80
 
81 81
 
82 82
 				// Fusion Builder (avada) support
83
-				if ( function_exists( 'fusion_builder_map' ) ) {
84
-					add_action( 'init', array( $this, 'register_fusion_element' ) );
83
+				if (function_exists('fusion_builder_map')) {
84
+					add_action('init', array($this, 'register_fusion_element'));
85 85
 				}
86 86
 
87 87
 				// register block
88
-				if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){
89
-				    add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
88
+				if (empty($this->options['output_types']) || in_array('block', $this->options['output_types'])) {
89
+				    add_action('admin_enqueue_scripts', array($this, 'register_block'));
90 90
                 }
91 91
 			}
92 92
 
93 93
 			// add the CSS and JS we need ONCE
94 94
 			global $sd_widget_scripts;
95 95
 
96
-			if ( ! $sd_widget_scripts ) {
97
-				wp_add_inline_script( 'admin-widgets', $this->widget_js() );
98
-				wp_add_inline_script( 'customize-controls', $this->widget_js() );
99
-				wp_add_inline_style( 'widgets', $this->widget_css() );
96
+			if (!$sd_widget_scripts) {
97
+				wp_add_inline_script('admin-widgets', $this->widget_js());
98
+				wp_add_inline_script('customize-controls', $this->widget_js());
99
+				wp_add_inline_style('widgets', $this->widget_css());
100 100
 
101 101
 				// maybe add elementor editor styles
102
-				add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
102
+				add_action('elementor/editor/after_enqueue_styles', array($this, 'elementor_editor_styles'));
103 103
 
104 104
 				$sd_widget_scripts = true;
105 105
 
106 106
 				// add shortcode insert button once
107
-				add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
107
+				add_action('media_buttons', array($this, 'shortcode_insert_button'));
108 108
 				// generatepress theme sections compatibility
109
-				if ( function_exists( 'generate_sections_sections_metabox' ) ) {
110
-					add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
109
+				if (function_exists('generate_sections_sections_metabox')) {
110
+					add_action('generate_sections_metabox', array($this, 'shortcode_insert_button_script'));
111 111
 				}
112 112
 				/* Load script on Divi theme builder page */
113
-				if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) {
113
+				if (function_exists('et_builder_is_tb_admin_screen') && et_builder_is_tb_admin_screen()) {
114 114
 					add_thickbox();
115
-					add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) );
115
+					add_action('admin_footer', array($this, 'shortcode_insert_button_script'));
116 116
 				}
117 117
 
118
-				if ( $this->is_preview() ) {
119
-					add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
118
+				if ($this->is_preview()) {
119
+					add_action('wp_footer', array($this, 'shortcode_insert_button_script'));
120 120
 					// this makes the insert button work for elementor
121
-					add_action( 'elementor/editor/after_enqueue_scripts', array(
121
+					add_action('elementor/editor/after_enqueue_scripts', array(
122 122
 						$this,
123 123
 						'shortcode_insert_button_script'
124
-					) ); // for elementor
124
+					)); // for elementor
125 125
 				}
126 126
 				// this makes the insert button work for cornerstone
127
-				add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
127
+				add_action('wp_print_footer_scripts', array(__CLASS__, 'maybe_cornerstone_builder'));
128 128
 
129
-				add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
130
-				add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
129
+				add_action('wp_ajax_super_duper_get_widget_settings', array(__CLASS__, 'get_widget_settings'));
130
+				add_action('wp_ajax_super_duper_get_picker', array(__CLASS__, 'get_picker'));
131 131
 
132 132
 				// add generator text to head
133
-				add_action( 'admin_head', array( $this, 'generator' ) );
134
-				add_action( 'wp_head', array( $this, 'generator' ) );
133
+				add_action('admin_head', array($this, 'generator'));
134
+				add_action('wp_head', array($this, 'generator'));
135 135
 			}
136 136
 
137
-			do_action( 'wp_super_duper_widget_init', $options, $this );
137
+			do_action('wp_super_duper_widget_init', $options, $this);
138 138
 		}
139 139
 
140 140
         /**
@@ -142,7 +142,7 @@  discard block
 block discarded – undo
142 142
          * @return void
143 143
          */
144 144
 		public function _register() {
145
-            if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
145
+            if (empty($this->options['output_types']) || in_array('widget', $this->options['output_types'])) {
146 146
                 parent::_register();
147 147
 			}
148 148
 		}
@@ -151,14 +151,14 @@  discard block
 block discarded – undo
151 151
 		 * Add our widget CSS to elementor editor.
152 152
 		 */
153 153
 		public function elementor_editor_styles() {
154
-			wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
154
+			wp_add_inline_style('elementor-editor', $this->widget_css(false));
155 155
 		}
156 156
 
157 157
 		public function register_fusion_element() {
158 158
 
159 159
 			$options = $this->options;
160 160
 
161
-			if ( $this->base_id ) {
161
+			if ($this->base_id) {
162 162
 
163 163
 				$params = $this->get_fusion_params();
164 164
 
@@ -169,11 +169,11 @@  discard block
 block discarded – undo
169 169
 					'allow_generator' => true,
170 170
 				);
171 171
 
172
-				if ( ! empty( $params ) ) {
172
+				if (!empty($params)) {
173 173
 					$args['params'] = $params;
174 174
 				}
175 175
 
176
-				fusion_builder_map( $args );
176
+				fusion_builder_map($args);
177 177
 			}
178 178
 
179 179
 		}
@@ -182,8 +182,8 @@  discard block
 block discarded – undo
182 182
 			$params    = array();
183 183
 			$arguments = $this->get_arguments();
184 184
 
185
-			if ( ! empty( $arguments ) ) {
186
-				foreach ( $arguments as $key => $val ) {
185
+			if (!empty($arguments)) {
186
+				foreach ($arguments as $key => $val) {
187 187
 					$param = array();
188 188
 					// type
189 189
 					$param['type'] = str_replace(
@@ -205,38 +205,38 @@  discard block
 block discarded – undo
205 205
 						$val['type'] );
206 206
 
207 207
 					// multiselect
208
-					if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
208
+					if ($val['type'] == 'multiselect' || (($param['type'] == 'select' || $val['type'] == 'select') && !empty($val['multiple']))) {
209 209
 						$param['type']     = 'multiple_select';
210 210
 						$param['multiple'] = true;
211 211
 					}
212 212
 
213 213
 					// heading
214
-					$param['heading'] = isset( $val['title'] ) ? $val['title'] : '';
214
+					$param['heading'] = isset($val['title']) ? $val['title'] : '';
215 215
 
216 216
 					// description
217
-					$param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
217
+					$param['description'] = isset($val['desc']) ? $val['desc'] : '';
218 218
 
219 219
 					// param_name
220 220
 					$param['param_name'] = $key;
221 221
 
222 222
 					// Default
223
-					$param['default'] = isset( $val['default'] ) ? $val['default'] : '';
223
+					$param['default'] = isset($val['default']) ? $val['default'] : '';
224 224
 
225 225
 					// Group
226
-					if ( isset( $val['group'] ) ) {
226
+					if (isset($val['group'])) {
227 227
 						$param['group'] = $val['group'];
228 228
 					}
229 229
 
230 230
 					// value
231
-					if ( $val['type'] == 'checkbox' ) {
232
-						if ( isset( $val['default'] ) && $val['default'] == '0' ) {
233
-							unset( $param['default'] );
231
+					if ($val['type'] == 'checkbox') {
232
+						if (isset($val['default']) && $val['default'] == '0') {
233
+							unset($param['default']);
234 234
 						}
235
-						$param['value'] = array( '0' => __( "No" ), '1' => __( "Yes" ) );
236
-					} elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
237
-						$param['value'] = isset( $val['options'] ) ? $val['options'] : array();
235
+						$param['value'] = array('0' => __("No"), '1' => __("Yes"));
236
+					} elseif ($param['type'] == 'select' || $param['type'] == 'multiple_select') {
237
+						$param['value'] = isset($val['options']) ? $val['options'] : array();
238 238
 					} else {
239
-						$param['value'] = isset( $val['default'] ) ? $val['default'] : '';
239
+						$param['value'] = isset($val['default']) ? $val['default'] : '';
240 240
 					}
241 241
 
242 242
 					// setup the param
@@ -253,7 +253,7 @@  discard block
 block discarded – undo
253 253
 		 * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
254 254
 		 */
255 255
 		public static function maybe_cornerstone_builder() {
256
-			if ( did_action( 'cornerstone_before_boot_app' ) ) {
256
+			if (did_action('cornerstone_before_boot_app')) {
257 257
 				self::shortcode_insert_button_script();
258 258
 			}
259 259
 		}
@@ -265,12 +265,12 @@  discard block
 block discarded – undo
265 265
 		 *
266 266
 		 * @return string
267 267
 		 */
268
-		public static function get_picker( $editor_id = '' ) {
268
+		public static function get_picker($editor_id = '') {
269 269
 
270 270
 			ob_start();
271
-			if ( isset( $_POST['editor_id'] ) ) {
272
-				$editor_id = esc_attr( $_POST['editor_id'] );
273
-			} elseif ( isset( $_REQUEST['et_fb'] ) ) {
271
+			if (isset($_POST['editor_id'])) {
272
+				$editor_id = esc_attr($_POST['editor_id']);
273
+			} elseif (isset($_REQUEST['et_fb'])) {
274 274
 				$editor_id = 'main_content_content_vb_tiny_mce';
275 275
 			}
276 276
 
@@ -281,14 +281,14 @@  discard block
 block discarded – undo
281 281
 
282 282
 			<div class="sd-shortcode-left-wrap">
283 283
 				<?php
284
-				ksort( $sd_widgets );
284
+				ksort($sd_widgets);
285 285
 				//				print_r($sd_widgets);exit;
286
-				if ( ! empty( $sd_widgets ) ) {
286
+				if (!empty($sd_widgets)) {
287 287
 					echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
288
-					echo "<option>" . __( 'Select shortcode' ) . "</option>";
289
-					foreach ( $sd_widgets as $shortcode => $class ) {
290
-						if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; }
291
-						echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
288
+					echo "<option>" . __('Select shortcode') . "</option>";
289
+					foreach ($sd_widgets as $shortcode => $class) {
290
+						if (!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])) { continue; }
291
+						echo "<option value='" . esc_attr($shortcode) . "'>" . esc_attr($shortcode) . " (" . esc_attr($class['name']) . ")</option>";
292 292
 					}
293 293
 					echo "</select>";
294 294
 
@@ -301,37 +301,37 @@  discard block
 block discarded – undo
301 301
 			<div class="sd-shortcode-right-wrap">
302 302
 				<textarea id='sd-shortcode-output' disabled></textarea>
303 303
 				<div id='sd-shortcode-output-actions'>
304
-					<?php if ( $editor_id != '' ) { ?>
304
+					<?php if ($editor_id != '') { ?>
305 305
 						<button class="button sd-insert-shortcode-button"
306
-						        onclick="sd_insert_shortcode(<?php if ( ! empty( $editor_id ) ) {
306
+						        onclick="sd_insert_shortcode(<?php if (!empty($editor_id)) {
307 307
 							        echo "'" . $editor_id . "'";
308
-						        } ?>)"><?php _e( 'Insert shortcode' ); ?></button>
308
+						        } ?>)"><?php _e('Insert shortcode'); ?></button>
309 309
 					<?php } ?>
310 310
 					<button class="button"
311
-					        onclick="sd_copy_to_clipboard()"><?php _e( 'Copy shortcode' ); ?></button>
311
+					        onclick="sd_copy_to_clipboard()"><?php _e('Copy shortcode'); ?></button>
312 312
 				</div>
313 313
 			</div>
314 314
 			<?php
315 315
 
316 316
 			$html = ob_get_clean();
317 317
 
318
-			if ( wp_doing_ajax() ) {
318
+			if (wp_doing_ajax()) {
319 319
 				echo $html;
320 320
 				$should_die = true;
321 321
 
322 322
 				// some builder get the editor via ajax so we should not die on those occasions
323 323
 				$dont_die = array(
324
-					'parent_tag',// WP Bakery
324
+					'parent_tag', // WP Bakery
325 325
 					'avia_request' // enfold
326 326
 				);
327 327
 
328
-				foreach ( $dont_die as $request ) {
329
-					if ( isset( $_REQUEST[ $request ] ) ) {
328
+				foreach ($dont_die as $request) {
329
+					if (isset($_REQUEST[$request])) {
330 330
 						$should_die = false;
331 331
 					}
332 332
 				}
333 333
 
334
-				if ( $should_die ) {
334
+				if ($should_die) {
335 335
 					wp_die();
336 336
 				}
337 337
 
@@ -347,22 +347,22 @@  discard block
 block discarded – undo
347 347
 		 * Output the version in the header.
348 348
 		 */
349 349
 		public function generator() {
350
-			$file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
351
-			$plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
350
+			$file = str_replace(array("/", "\\"), "/", realpath(__FILE__));
351
+			$plugins_dir = str_replace(array("/", "\\"), "/", realpath(WP_PLUGIN_DIR));
352 352
 
353 353
 			// Find source plugin/theme of SD
354 354
 			$source = array();
355
-			if ( strpos( $file, $plugins_dir ) !== false ) {
356
-				$source = explode( "/", plugin_basename( $file ) );
357
-			} else if ( function_exists( 'get_theme_root' ) ) {
358
-				$themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
355
+			if (strpos($file, $plugins_dir) !== false) {
356
+				$source = explode("/", plugin_basename($file));
357
+			} else if (function_exists('get_theme_root')) {
358
+				$themes_dir = str_replace(array("/", "\\"), "/", realpath(get_theme_root()));
359 359
 
360
-				if ( strpos( $file, $themes_dir ) !== false ) {
361
-					$source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
360
+				if (strpos($file, $themes_dir) !== false) {
361
+					$source = explode("/", ltrim(str_replace($themes_dir, "", $file), "/"));
362 362
 				}
363 363
 			}
364 364
 
365
-			echo '<meta name="generator" content="WP Super Duper v' . $this->version . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />';
365
+			echo '<meta name="generator" content="WP Super Duper v' . $this->version . '"' . (!empty($source[0]) ? ' data-sd-source="' . esc_attr($source[0]) . '"' : '') . ' />';
366 366
 		}
367 367
 
368 368
 		/**
@@ -373,16 +373,16 @@  discard block
 block discarded – undo
373 373
 		public static function get_widget_settings() {
374 374
 			global $sd_widgets;
375 375
 
376
-			$shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
377
-			if ( ! $shortcode ) {
376
+			$shortcode = isset($_REQUEST['shortcode']) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes($_REQUEST['shortcode']) : '';
377
+			if (!$shortcode) {
378 378
 				wp_die();
379 379
 			}
380
-			$widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
381
-			if ( ! $widget_args ) {
380
+			$widget_args = isset($sd_widgets[$shortcode]) ? $sd_widgets[$shortcode] : '';
381
+			if (!$widget_args) {
382 382
 				wp_die();
383 383
 			}
384
-			$class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
385
-			if ( ! $class_name ) {
384
+			$class_name = isset($widget_args['class_name']) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
385
+			if (!$class_name) {
386 386
 				wp_die();
387 387
 			}
388 388
 
@@ -390,7 +390,7 @@  discard block
 block discarded – undo
390 390
 			$widget = new $class_name;
391 391
 
392 392
 			ob_start();
393
-			$widget->form( array() );
393
+			$widget->form(array());
394 394
 			$form = ob_get_clean();
395 395
 			echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
396 396
 			echo "<style>" . $widget->widget_css() . "</style>";
@@ -409,9 +409,9 @@  discard block
 block discarded – undo
409 409
 		 *@since 1.0.0
410 410
 		 *
411 411
 		 */
412
-		public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
412
+		public static function shortcode_insert_button($editor_id = '', $insert_shortcode_function = '') {
413 413
 			global $sd_widgets, $shortcode_insert_button_once;
414
-			if ( $shortcode_insert_button_once ) {
414
+			if ($shortcode_insert_button_once) {
415 415
 				return;
416 416
 			}
417 417
 			add_thickbox();
@@ -421,21 +421,21 @@  discard block
 block discarded – undo
421 421
 			 * Cornerstone makes us play dirty tricks :/
422 422
 			 * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed.
423 423
 			 */
424
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
424
+			if (function_exists('cornerstone_plugin_init') && !is_admin()) {
425 425
 				echo '<span id="insert-media-button">';
426 426
 			}
427 427
 
428
-			echo self::shortcode_button( 'this', 'true' );
428
+			echo self::shortcode_button('this', 'true');
429 429
 
430 430
 			// see opening note
431
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
431
+			if (function_exists('cornerstone_plugin_init') && !is_admin()) {
432 432
 				echo '</span>'; // end #insert-media-button
433 433
 			}
434 434
 
435 435
 			// Add separate script for generatepress theme sections
436
-			if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
436
+			if (function_exists('generate_sections_sections_metabox') && did_action('generate_sections_metabox')) {
437 437
 			} else {
438
-				self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
438
+				self::shortcode_insert_button_script($editor_id, $insert_shortcode_function);
439 439
 			}
440 440
 
441 441
 			$shortcode_insert_button_once = true;
@@ -449,12 +449,12 @@  discard block
 block discarded – undo
449 449
 		 *
450 450
 		 * @return mixed
451 451
 		 */
452
-		public static function shortcode_button( $id = '', $search_for_id = '' ) {
452
+		public static function shortcode_button($id = '', $search_for_id = '') {
453 453
 			ob_start();
454 454
 			?>
455 455
 			<span class="sd-lable-shortcode-inserter">
456 456
 				<a onclick="sd_ajax_get_picker(<?php echo $id;
457
-				if ( $search_for_id ) {
457
+				if ($search_for_id) {
458 458
 					echo "," . $search_for_id;
459 459
 				} ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
460 460
 				   class="thickbox button super-duper-content-open" title="Add Shortcode">
@@ -470,7 +470,7 @@  discard block
 block discarded – undo
470 470
 			$html = ob_get_clean();
471 471
 
472 472
 			// remove line breaks so we can use it in js
473
-			return preg_replace( "/\r|\n/", "", trim( $html ) );
473
+			return preg_replace("/\r|\n/", "", trim($html));
474 474
 		}
475 475
 
476 476
 		/**
@@ -528,7 +528,7 @@  discard block
 block discarded – undo
528 528
 						jQuery($this).data('sd-widget-enabled', true);
529 529
 					}
530 530
 
531
-					var $button = '<button title="<?php _e( 'Advanced Settings' );?>" class="button button-primary right sd-advanced-button" onclick="sd_so_toggle_advanced(this);return false;"><i class="fas fa-sliders-h" aria-hidden="true"></i></button>';
531
+					var $button = '<button title="<?php _e('Advanced Settings'); ?>" class="button button-primary right sd-advanced-button" onclick="sd_so_toggle_advanced(this);return false;"><i class="fas fa-sliders-h" aria-hidden="true"></i></button>';
532 532
 					var form = jQuery($this).parents('' + $selector + '');
533 533
 
534 534
 					if (jQuery($this).val() == '1' && jQuery(form).find('.sd-advanced-button').length == 0) {
@@ -563,10 +563,10 @@  discard block
 block discarded – undo
563 563
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
564 564
 			 */
565 565
 
566
-			return str_replace( array(
566
+			return str_replace(array(
567 567
 				'<script>',
568 568
 				'</script>'
569
-			), '', $output );
569
+			), '', $output);
570 570
 		}
571 571
 
572 572
 		/**
@@ -578,7 +578,7 @@  discard block
 block discarded – undo
578 578
 		 *@since 1.0.6
579 579
 		 *
580 580
 		 */
581
-		public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
581
+		public static function shortcode_insert_button_script($editor_id = '', $insert_shortcode_function = '') {
582 582
 			?>
583 583
 			<style>
584 584
 				.sd-shortcode-left-wrap {
@@ -697,25 +697,25 @@  discard block
 block discarded – undo
697 697
 					width: 100%;
698 698
 				}
699 699
 
700
-				<?php if ( function_exists( 'generate_sections_sections_metabox' ) ) { ?>
700
+				<?php if (function_exists('generate_sections_sections_metabox')) { ?>
701 701
 				.generate-sections-modal #custom-media-buttons > .sd-lable-shortcode-inserter {
702 702
 					display: inline;
703 703
 				}
704 704
 				<?php } ?>
705
-				<?php if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) { ?>
705
+				<?php if (function_exists('et_builder_is_tb_admin_screen') && et_builder_is_tb_admin_screen()) { ?>
706 706
 				body.divi_page_et_theme_builder div#TB_window.gd-tb-window{z-index:9999999}
707 707
 				<?php } ?>
708 708
 			</style>
709 709
 			<?php
710
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
710
+			if (class_exists('SiteOrigin_Panels')) {
711 711
 				echo "<script>" . self::siteorigin_js() . "</script>";
712 712
 			}
713 713
 			?>
714 714
 			<script>
715 715
 				<?php
716
-				if(! empty( $insert_shortcode_function )){
716
+				if (!empty($insert_shortcode_function)) {
717 717
 					echo $insert_shortcode_function;
718
-				}else{
718
+				} else {
719 719
 
720 720
 				/**
721 721
 				 * Function for super duper insert shortcode.
@@ -728,9 +728,9 @@  discard block
 block discarded – undo
728 728
 					if ($shortcode) {
729 729
 						if (!$editor_id) {
730 730
 							<?php
731
-							if ( isset( $_REQUEST['et_fb'] ) ) {
731
+							if (isset($_REQUEST['et_fb'])) {
732 732
 								echo '$editor_id = "#main_content_content_vb_tiny_mce";';
733
-							} elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
733
+							} elseif (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') {
734 734
 								echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
735 735
 							} else {
736 736
 								echo '$editor_id = "#wp-content-editor-container textarea";';
@@ -813,11 +813,11 @@  discard block
 block discarded – undo
813 813
 							'shortcode': $short_code,
814 814
 							'attributes': 123,
815 815
 							'post_id': 321,
816
-							'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
816
+							'_ajax_nonce': '<?php echo wp_create_nonce('super_duper_output_shortcode'); ?>'
817 817
 						};
818 818
 
819 819
 						if (typeof ajaxurl === 'undefined') {
820
-							var ajaxurl = "<?php echo admin_url( 'admin-ajax.php' );?>";
820
+							var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
821 821
 						}
822 822
 
823 823
 						jQuery.post(ajaxurl, data, function (response) {
@@ -1016,11 +1016,11 @@  discard block
 block discarded – undo
1016 1016
 					var data = {
1017 1017
 						'action': 'super_duper_get_picker',
1018 1018
 						'editor_id': $id,
1019
-						'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_picker' );?>'
1019
+						'_ajax_nonce': '<?php echo wp_create_nonce('super_duper_picker'); ?>'
1020 1020
 					};
1021 1021
 
1022 1022
 					if (!ajaxurl) {
1023
-						var ajaxurl = "<?php echo admin_url( 'admin-ajax.php' ); ?>";
1023
+						var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
1024 1024
 					}
1025 1025
 
1026 1026
 					jQuery.post(ajaxurl, data, function (response) {
@@ -1042,9 +1042,9 @@  discard block
 block discarded – undo
1042 1042
 				 */
1043 1043
 				function sd_shortcode_button($id) {
1044 1044
 					if ($id) {
1045
-						return '<?php echo self::shortcode_button( "\\''+\$id+'\\'" );?>';
1045
+						return '<?php echo self::shortcode_button("\\''+\$id+'\\'"); ?>';
1046 1046
 					} else {
1047
-						return '<?php echo self::shortcode_button();?>';
1047
+						return '<?php echo self::shortcode_button(); ?>';
1048 1048
 					}
1049 1049
 				}
1050 1050
 			</script>
@@ -1058,11 +1058,11 @@  discard block
 block discarded – undo
1058 1058
 		 *
1059 1059
 		 * @return mixed
1060 1060
 		 */
1061
-		public function widget_css( $advanced = true ) {
1061
+		public function widget_css($advanced = true) {
1062 1062
 			ob_start();
1063 1063
 			?>
1064 1064
 			<style>
1065
-				<?php if( $advanced ){ ?>
1065
+				<?php if ($advanced) { ?>
1066 1066
 				.sd-advanced-setting {
1067 1067
 					display: none;
1068 1068
 				}
@@ -1104,10 +1104,10 @@  discard block
 block discarded – undo
1104 1104
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1105 1105
 			 */
1106 1106
 
1107
-			return str_replace( array(
1107
+			return str_replace(array(
1108 1108
 				'<style>',
1109 1109
 				'</style>'
1110
-			), '', $output );
1110
+			), '', $output);
1111 1111
 		}
1112 1112
 
1113 1113
 		/**
@@ -1174,7 +1174,7 @@  discard block
 block discarded – undo
1174 1174
 						jQuery($this).data('sd-widget-enabled', true);
1175 1175
 					}
1176 1176
 
1177
-					var $button = '<button title="<?php _e( 'Advanced Settings' );?>" style="line-height: 28px;" class="button button-primary right sd-advanced-button" onclick="sd_toggle_advanced(this);return false;"><span class="dashicons dashicons-admin-settings" style="width: 28px;font-size: 28px;"></span></button>';
1177
+					var $button = '<button title="<?php _e('Advanced Settings'); ?>" style="line-height: 28px;" class="button button-primary right sd-advanced-button" onclick="sd_toggle_advanced(this);return false;"><span class="dashicons dashicons-admin-settings" style="width: 28px;font-size: 28px;"></span></button>';
1178 1178
 					var form = $form ? $form : jQuery($this).parents('' + $selector + '');
1179 1179
 
1180 1180
 					if (jQuery($this).val() == '1' && jQuery(form).find('.sd-advanced-button').length == 0) {
@@ -1265,7 +1265,7 @@  discard block
 block discarded – undo
1265 1265
 					});
1266 1266
 
1267 1267
 				}
1268
-				<?php do_action( 'wp_super_duper_widget_js', $this ); ?>
1268
+				<?php do_action('wp_super_duper_widget_js', $this); ?>
1269 1269
 			</script>
1270 1270
 			<?php
1271 1271
 			$output = ob_get_clean();
@@ -1274,10 +1274,10 @@  discard block
 block discarded – undo
1274 1274
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1275 1275
 			 */
1276 1276
 
1277
-			return str_replace( array(
1277
+			return str_replace(array(
1278 1278
 				'<script>',
1279 1279
 				'</script>'
1280
-			), '', $output );
1280
+			), '', $output);
1281 1281
 		}
1282 1282
 
1283 1283
 
@@ -1288,14 +1288,14 @@  discard block
 block discarded – undo
1288 1288
 		 *
1289 1289
 		 * @return mixed
1290 1290
 		 */
1291
-		private function add_name_from_key( $options, $arguments = false ) {
1292
-			if ( ! empty( $options['arguments'] ) ) {
1293
-				foreach ( $options['arguments'] as $key => $val ) {
1294
-					$options['arguments'][ $key ]['name'] = $key;
1291
+		private function add_name_from_key($options, $arguments = false) {
1292
+			if (!empty($options['arguments'])) {
1293
+				foreach ($options['arguments'] as $key => $val) {
1294
+					$options['arguments'][$key]['name'] = $key;
1295 1295
 				}
1296
-			} elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1297
-				foreach ( $options as $key => $val ) {
1298
-					$options[ $key ]['name'] = $key;
1296
+			} elseif ($arguments && is_array($options) && !empty($options)) {
1297
+				foreach ($options as $key => $val) {
1298
+					$options[$key]['name'] = $key;
1299 1299
 				}
1300 1300
 			}
1301 1301
 
@@ -1308,8 +1308,8 @@  discard block
 block discarded – undo
1308 1308
 		 * @since 1.0.0
1309 1309
 		 */
1310 1310
 		public function register_shortcode() {
1311
-			add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1312
-			add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) );
1311
+			add_shortcode($this->base_id, array($this, 'shortcode_output'));
1312
+			add_action('wp_ajax_super_duper_output_shortcode', array($this, 'render_shortcode'));
1313 1313
 		}
1314 1314
 
1315 1315
 		/**
@@ -1318,50 +1318,50 @@  discard block
 block discarded – undo
1318 1318
 		 * @since 1.0.0
1319 1319
 		 */
1320 1320
 		public function render_shortcode() {
1321
-			check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1322
-			if ( ! current_user_can( 'manage_options' ) ) {
1321
+			check_ajax_referer('super_duper_output_shortcode', '_ajax_nonce', true);
1322
+			if (!current_user_can('manage_options')) {
1323 1323
 				wp_die();
1324 1324
 			}
1325 1325
 
1326 1326
 			// we might need the $post value here so lets set it.
1327
-			if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1328
-				$post_obj = get_post( absint( $_POST['post_id'] ) );
1329
-				if ( ! empty( $post_obj ) && empty( $post ) ) {
1327
+			if (isset($_POST['post_id']) && $_POST['post_id']) {
1328
+				$post_obj = get_post(absint($_POST['post_id']));
1329
+				if (!empty($post_obj) && empty($post)) {
1330 1330
 					global $post;
1331 1331
 					$post = $post_obj;
1332 1332
 				}
1333 1333
 			}
1334 1334
 
1335
-			if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1335
+			if (isset($_POST['shortcode']) && $_POST['shortcode']) {
1336 1336
 				$is_preview = $this->is_preview();
1337
-				$shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1338
-				$attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1337
+				$shortcode_name   = sanitize_title_with_dashes($_POST['shortcode']);
1338
+				$attributes_array = isset($_POST['attributes']) && $_POST['attributes'] ? $_POST['attributes'] : array();
1339 1339
 				$attributes       = '';
1340
-				if ( ! empty( $attributes_array ) ) {
1341
-					foreach ( $attributes_array as $key => $value ) {
1342
-						if ( is_array( $value ) ) {
1343
-							$value = implode( ",", $value );
1340
+				if (!empty($attributes_array)) {
1341
+					foreach ($attributes_array as $key => $value) {
1342
+						if (is_array($value)) {
1343
+							$value = implode(",", $value);
1344 1344
 						}
1345 1345
 
1346
-						if ( ! empty( $value ) ) {
1347
-							$value = wp_unslash( $value );
1346
+						if (!empty($value)) {
1347
+							$value = wp_unslash($value);
1348 1348
 
1349 1349
 							// Encode [ and ].
1350
-							if ( $is_preview ) {
1351
-								$value = $this->encode_shortcodes( $value );
1350
+							if ($is_preview) {
1351
+								$value = $this->encode_shortcodes($value);
1352 1352
 							}
1353 1353
 						}
1354
-						$attributes .= " " . sanitize_title_with_dashes( $key ) . "='" . esc_attr( $value ) . "' ";
1354
+						$attributes .= " " . sanitize_title_with_dashes($key) . "='" . esc_attr($value) . "' ";
1355 1355
 					}
1356 1356
 				}
1357 1357
 
1358 1358
 				$shortcode = "[" . $shortcode_name . " " . $attributes . "]";
1359 1359
 
1360
-				$content = do_shortcode( $shortcode );
1360
+				$content = do_shortcode($shortcode);
1361 1361
 
1362 1362
 				// Decode [ and ].
1363
-				if ( ! empty( $content ) && $is_preview ) {
1364
-					$content = $this->decode_shortcodes( $content );
1363
+				if (!empty($content) && $is_preview) {
1364
+					$content = $this->decode_shortcodes($content);
1365 1365
 				}
1366 1366
 
1367 1367
 				echo $content;
@@ -1377,21 +1377,21 @@  discard block
 block discarded – undo
1377 1377
 		 *
1378 1378
 		 * @return string
1379 1379
 		 */
1380
-		public function shortcode_output( $args = array(), $content = '' ) {
1380
+		public function shortcode_output($args = array(), $content = '') {
1381 1381
 			$_instance = $args;
1382 1382
 
1383
-			$args = $this->argument_values( $args );
1383
+			$args = $this->argument_values($args);
1384 1384
 
1385 1385
 			// add extra argument so we know its a output to gutenberg
1386 1386
 			//$args
1387
-			$args = $this->string_to_bool( $args );
1387
+			$args = $this->string_to_bool($args);
1388 1388
 
1389 1389
 			// if we have a enclosed shortcode we add it to the special `html` argument
1390
-			if ( ! empty( $content ) ) {
1390
+			if (!empty($content)) {
1391 1391
 				$args['html'] = $content;
1392 1392
 			}
1393 1393
 
1394
-			if ( ! $this->is_preview() ) {
1394
+			if (!$this->is_preview()) {
1395 1395
 				/**
1396 1396
 				 * Filters the settings for a particular widget args.
1397 1397
 				 *
@@ -1402,40 +1402,40 @@  discard block
 block discarded – undo
1402 1402
 				 *@since 1.0.28
1403 1403
 				 *
1404 1404
 				 */
1405
-				$args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance );
1405
+				$args = apply_filters('wp_super_duper_widget_display_callback', $args, $this, $_instance);
1406 1406
 
1407
-				if ( ! is_array( $args ) ) {
1407
+				if (!is_array($args)) {
1408 1408
 					return $args;
1409 1409
 				}
1410 1410
 			}
1411 1411
 
1412
-			$class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1413
-			$class .= " sdel-".$this->get_instance_hash();
1412
+			$class = isset($this->options['widget_ops']['classname']) ? esc_attr($this->options['widget_ops']['classname']) : '';
1413
+			$class .= " sdel-" . $this->get_instance_hash();
1414 1414
 
1415
-			$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1416
-			$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1415
+			$class = apply_filters('wp_super_duper_div_classname', $class, $args, $this);
1416
+			$class = apply_filters('wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this);
1417 1417
 
1418
-			$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1419
-			$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
1418
+			$attrs = apply_filters('wp_super_duper_div_attrs', '', $args, $this);
1419
+			$attrs = apply_filters('wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this);
1420 1420
 
1421 1421
 			$shortcode_args = array();
1422 1422
 			$output         = '';
1423
-			$no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1424
-			if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1423
+			$no_wrap        = isset($this->options['no_wrap']) && $this->options['no_wrap'] ? true : false;
1424
+			if (isset($args['no_wrap']) && $args['no_wrap']) {
1425 1425
 				$no_wrap = true;
1426 1426
 			}
1427
-			$main_content = $this->output( $args, $shortcode_args, $content );
1428
-			if ( $main_content && ! $no_wrap ) {
1427
+			$main_content = $this->output($args, $shortcode_args, $content);
1428
+			if ($main_content && !$no_wrap) {
1429 1429
 				// wrap the shortcode in a div with the same class as the widget
1430 1430
 				$output .= '<div class="' . $class . '" ' . $attrs . '>';
1431
-				if ( ! empty( $args['title'] ) ) {
1431
+				if (!empty($args['title'])) {
1432 1432
 					// if its a shortcode and there is a title try to grab the title wrappers
1433
-					$shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1434
-					if ( empty( $instance ) ) {
1433
+					$shortcode_args = array('before_title' => '', 'after_title' => '');
1434
+					if (empty($instance)) {
1435 1435
 						global $wp_registered_sidebars;
1436
-						if ( ! empty( $wp_registered_sidebars ) ) {
1437
-							foreach ( $wp_registered_sidebars as $sidebar ) {
1438
-								if ( ! empty( $sidebar['before_title'] ) ) {
1436
+						if (!empty($wp_registered_sidebars)) {
1437
+							foreach ($wp_registered_sidebars as $sidebar) {
1438
+								if (!empty($sidebar['before_title'])) {
1439 1439
 									$shortcode_args['before_title'] = $sidebar['before_title'];
1440 1440
 									$shortcode_args['after_title']  = $sidebar['after_title'];
1441 1441
 									break;
@@ -1443,20 +1443,20 @@  discard block
 block discarded – undo
1443 1443
 							}
1444 1444
 						}
1445 1445
 					}
1446
-					$output .= $this->output_title( $shortcode_args, $args );
1446
+					$output .= $this->output_title($shortcode_args, $args);
1447 1447
 				}
1448 1448
 				$output .= $main_content;
1449 1449
 				$output .= '</div>';
1450
-			} elseif ( $main_content && $no_wrap ) {
1450
+			} elseif ($main_content && $no_wrap) {
1451 1451
 				$output .= $main_content;
1452 1452
 			}
1453 1453
 
1454 1454
 			// if preview show a placeholder if empty
1455
-			if ( $this->is_preview() && $output == '' ) {
1456
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1455
+			if ($this->is_preview() && $output == '') {
1456
+				$output = $this->preview_placeholder_text("{{" . $this->base_id . "}}");
1457 1457
 			}
1458 1458
 
1459
-			return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1459
+			return apply_filters('wp_super_duper_widget_output', $output, $args, $shortcode_args, $this);
1460 1460
 		}
1461 1461
 
1462 1462
 		/**
@@ -1466,8 +1466,8 @@  discard block
 block discarded – undo
1466 1466
 		 *
1467 1467
 		 * @return string
1468 1468
 		 */
1469
-		public function preview_placeholder_text( $name = '' ) {
1470
-			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf( __( 'Placeholder for: %s' ), $name ) . "</div>";
1469
+		public function preview_placeholder_text($name = '') {
1470
+			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf(__('Placeholder for: %s'), $name) . "</div>";
1471 1471
 		}
1472 1472
 
1473 1473
 		/**
@@ -1477,13 +1477,13 @@  discard block
 block discarded – undo
1477 1477
 		 *
1478 1478
 		 * @return mixed
1479 1479
 		 */
1480
-		public function string_to_bool( $options ) {
1480
+		public function string_to_bool($options) {
1481 1481
 			// convert bool strings to booleans
1482
-			foreach ( $options as $key => $val ) {
1483
-				if ( $val == 'false' ) {
1484
-					$options[ $key ] = false;
1485
-				} elseif ( $val == 'true' ) {
1486
-					$options[ $key ] = true;
1482
+			foreach ($options as $key => $val) {
1483
+				if ($val == 'false') {
1484
+					$options[$key] = false;
1485
+				} elseif ($val == 'true') {
1486
+					$options[$key] = true;
1487 1487
 				}
1488 1488
 			}
1489 1489
 
@@ -1499,26 +1499,26 @@  discard block
 block discarded – undo
1499 1499
 		 *@since 1.0.12 Don't set checkbox default value if the value is empty.
1500 1500
 		 *
1501 1501
 		 */
1502
-		public function argument_values( $instance ) {
1502
+		public function argument_values($instance) {
1503 1503
 			$argument_values = array();
1504 1504
 
1505 1505
 			// set widget instance
1506 1506
 			$this->instance = $instance;
1507 1507
 
1508
-			if ( empty( $this->arguments ) ) {
1508
+			if (empty($this->arguments)) {
1509 1509
 				$this->arguments = $this->get_arguments();
1510 1510
 			}
1511 1511
 
1512
-			if ( ! empty( $this->arguments ) ) {
1513
-				foreach ( $this->arguments as $key => $args ) {
1512
+			if (!empty($this->arguments)) {
1513
+				foreach ($this->arguments as $key => $args) {
1514 1514
 					// set the input name from the key
1515 1515
 					$args['name'] = $key;
1516 1516
 					//
1517
-					$argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1518
-					if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1517
+					$argument_values[$key] = isset($instance[$key]) ? $instance[$key] : '';
1518
+					if ($args['type'] == 'checkbox' && $argument_values[$key] == '') {
1519 1519
 						// don't set default for an empty checkbox
1520
-					} elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1521
-						$argument_values[ $key ] = $args['default'];
1520
+					} elseif ($argument_values[$key] == '' && isset($args['default'])) {
1521
+						$argument_values[$key] = $args['default'];
1522 1522
 					}
1523 1523
 				}
1524 1524
 			}
@@ -1545,12 +1545,12 @@  discard block
 block discarded – undo
1545 1545
 		 *
1546 1546
 		 */
1547 1547
 		public function get_arguments() {
1548
-			if ( empty( $this->arguments ) ) {
1548
+			if (empty($this->arguments)) {
1549 1549
 				$this->arguments = $this->set_arguments();
1550 1550
 			}
1551 1551
 
1552
-			$this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1553
-			$this->arguments = $this->add_name_from_key( $this->arguments, true );
1552
+			$this->arguments = apply_filters('wp_super_duper_arguments', $this->arguments, $this->options, $this->instance);
1553
+			$this->arguments = $this->add_name_from_key($this->arguments, true);
1554 1554
 
1555 1555
 			return $this->arguments;
1556 1556
 		}
@@ -1562,7 +1562,7 @@  discard block
 block discarded – undo
1562 1562
 		 * @param array $widget_args
1563 1563
 		 * @param string $content
1564 1564
 		 */
1565
-		public function output( $args = array(), $widget_args = array(), $content = '' ) {
1565
+		public function output($args = array(), $widget_args = array(), $content = '') {
1566 1566
 
1567 1567
 		}
1568 1568
 
@@ -1570,9 +1570,9 @@  discard block
 block discarded – undo
1570 1570
 		 * Add the dynamic block code inline when the wp-block in enqueued.
1571 1571
 		 */
1572 1572
 		public function register_block() {
1573
-			wp_add_inline_script( 'wp-blocks', $this->block() );
1574
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
1575
-				wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1573
+			wp_add_inline_script('wp-blocks', $this->block());
1574
+			if (class_exists('SiteOrigin_Panels')) {
1575
+				wp_add_inline_script('wp-blocks', $this->siteorigin_js());
1576 1576
 			}
1577 1577
 		}
1578 1578
 
@@ -1586,9 +1586,9 @@  discard block
 block discarded – undo
1586 1586
 			$show      = false;
1587 1587
 			$arguments = $this->get_arguments();
1588 1588
 
1589
-			if ( ! empty( $arguments ) ) {
1590
-				foreach ( $arguments as $argument ) {
1591
-					if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1589
+			if (!empty($arguments)) {
1590
+				foreach ($arguments as $argument) {
1591
+					if (isset($argument['advanced']) && $argument['advanced']) {
1592 1592
 						$show = true;
1593 1593
 						break; // no need to continue if we know we have it
1594 1594
 					}
@@ -1606,19 +1606,19 @@  discard block
 block discarded – undo
1606 1606
 		public function get_url() {
1607 1607
 			$url = $this->url;
1608 1608
 
1609
-			if ( ! $url ) {
1610
-				$content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
1611
-				$content_url = untrailingslashit( WP_CONTENT_URL );
1609
+			if (!$url) {
1610
+				$content_dir = wp_normalize_path(untrailingslashit(WP_CONTENT_DIR));
1611
+				$content_url = untrailingslashit(WP_CONTENT_URL);
1612 1612
 
1613 1613
 				// Replace http:// to https://.
1614
-				if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
1615
-					$content_url = str_replace( 'http://', 'https://', $content_url );
1614
+				if (strpos($content_url, 'http://') === 0 && strpos(plugins_url(), 'https://') === 0) {
1615
+					$content_url = str_replace('http://', 'https://', $content_url);
1616 1616
 				}
1617 1617
 
1618 1618
 				// Check if we are inside a plugin
1619
-				$file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
1620
-				$url = str_replace( $content_dir, $content_url, $file_dir );
1621
-				$url = trailingslashit( $url );
1619
+				$file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__)));
1620
+				$url = str_replace($content_dir, $content_url, $file_dir);
1621
+				$url = trailingslashit($url);
1622 1622
 				$this->url = $url;
1623 1623
 			}
1624 1624
 
@@ -1634,15 +1634,15 @@  discard block
 block discarded – undo
1634 1634
 
1635 1635
 			$url = $this->url;
1636 1636
 
1637
-			if ( ! $url ) {
1637
+			if (!$url) {
1638 1638
 				// check if we are inside a plugin
1639
-				$file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1639
+				$file_dir = str_replace("/includes", "", dirname(__FILE__));
1640 1640
 
1641
-				$dir_parts = explode( "/wp-content/", $file_dir );
1642
-				$url_parts = explode( "/wp-content/", plugins_url() );
1641
+				$dir_parts = explode("/wp-content/", $file_dir);
1642
+				$url_parts = explode("/wp-content/", plugins_url());
1643 1643
 
1644
-				if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1645
-					$url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1644
+				if (!empty($url_parts[0]) && !empty($dir_parts[1])) {
1645
+					$url       = trailingslashit($url_parts[0] . "/wp-content/" . $dir_parts[1]);
1646 1646
 					$this->url = $url;
1647 1647
 				}
1648 1648
 			}
@@ -1663,46 +1663,46 @@  discard block
 block discarded – undo
1663 1663
 		 * @return string
1664 1664
 		 *@since 1.1.0
1665 1665
 		 */
1666
-		public function get_block_icon( $icon ) {
1666
+		public function get_block_icon($icon) {
1667 1667
 
1668 1668
 			// check if we have a Font Awesome icon
1669 1669
 			$fa_type = '';
1670
-			if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1670
+			if (substr($icon, 0, 7) === "fas fa-") {
1671 1671
 				$fa_type = 'solid';
1672
-			} elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1672
+			} elseif (substr($icon, 0, 7) === "far fa-") {
1673 1673
 				$fa_type = 'regular';
1674
-			} elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1674
+			} elseif (substr($icon, 0, 7) === "fab fa-") {
1675 1675
 				$fa_type = 'brands';
1676 1676
 			} else {
1677 1677
 				$icon = "'" . $icon . "'";
1678 1678
 			}
1679 1679
 
1680 1680
 			// set the icon if we found one
1681
-			if ( $fa_type ) {
1682
-				$fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1681
+			if ($fa_type) {
1682
+				$fa_icon = str_replace(array("fas fa-", "far fa-", "fab fa-"), "", $icon);
1683 1683
 				$icon    = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))";
1684 1684
 			}
1685 1685
 
1686 1686
 			return $icon;
1687 1687
 		}
1688 1688
 
1689
-		public function group_arguments( $arguments ) {
1689
+		public function group_arguments($arguments) {
1690 1690
 //			echo '###';print_r($arguments);
1691
-			if ( ! empty( $arguments ) ) {
1691
+			if (!empty($arguments)) {
1692 1692
 				$temp_arguments = array();
1693
-				$general        = __( "General" );
1693
+				$general        = __("General");
1694 1694
 				$add_sections   = false;
1695
-				foreach ( $arguments as $key => $args ) {
1696
-					if ( isset( $args['group'] ) ) {
1697
-						$temp_arguments[ $args['group'] ][ $key ] = $args;
1695
+				foreach ($arguments as $key => $args) {
1696
+					if (isset($args['group'])) {
1697
+						$temp_arguments[$args['group']][$key] = $args;
1698 1698
 						$add_sections                             = true;
1699 1699
 					} else {
1700
-						$temp_arguments[ $general ][ $key ] = $args;
1700
+						$temp_arguments[$general][$key] = $args;
1701 1701
 					}
1702 1702
 				}
1703 1703
 
1704 1704
 				// only add sections if more than one
1705
-				if ( $add_sections ) {
1705
+				if ($add_sections) {
1706 1706
 					$arguments = $temp_arguments;
1707 1707
 				}
1708 1708
 			}
@@ -1716,38 +1716,38 @@  discard block
 block discarded – undo
1716 1716
 		 *
1717 1717
 		 * @since 1.1.17
1718 1718
 		 */
1719
-		public function group_block_tabs( $tabs, $arguments ) {
1720
-			if ( ! empty( $tabs ) && ! empty( $arguments ) ) {
1719
+		public function group_block_tabs($tabs, $arguments) {
1720
+			if (!empty($tabs) && !empty($arguments)) {
1721 1721
 				$has_sections = false;
1722 1722
 
1723
-				foreach ( $this->arguments as $key => $args ) {
1724
-					if ( isset( $args['group'] ) ) {
1723
+				foreach ($this->arguments as $key => $args) {
1724
+					if (isset($args['group'])) {
1725 1725
 						$has_sections = true;
1726 1726
 						break;
1727 1727
 					}
1728 1728
 				}
1729 1729
 
1730
-				if ( ! $has_sections ) {
1730
+				if (!$has_sections) {
1731 1731
 					return $tabs;
1732 1732
 				}
1733 1733
 
1734 1734
 				$new_tabs = array();
1735 1735
 
1736
-				foreach ( $tabs as $tab_key => $tab ) {
1736
+				foreach ($tabs as $tab_key => $tab) {
1737 1737
 					$new_groups = array();
1738 1738
 
1739
-					if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) {
1740
-						foreach ( $tab['groups'] as $group ) {
1741
-							if ( isset( $arguments[ $group ] ) ) {
1739
+					if (!empty($tab['groups']) && is_array($tab['groups'])) {
1740
+						foreach ($tab['groups'] as $group) {
1741
+							if (isset($arguments[$group])) {
1742 1742
 								$new_groups[] = $group;
1743 1743
 							}
1744 1744
 						}
1745 1745
 					}
1746 1746
 
1747
-					if ( ! empty( $new_groups ) ) {
1747
+					if (!empty($new_groups)) {
1748 1748
 						$tab['groups'] = $new_groups;
1749 1749
 
1750
-						$new_tabs[ $tab_key ] = $tab;
1750
+						$new_tabs[$tab_key] = $tab;
1751 1751
 					}
1752 1752
 				}
1753 1753
 
@@ -1774,7 +1774,7 @@  discard block
 block discarded – undo
1774 1774
 			?>
1775 1775
 			<script>
1776 1776
 			<?php
1777
-			if ( ! $sd_is_js_functions_loaded ) {
1777
+			if (!$sd_is_js_functions_loaded) {
1778 1778
 				$sd_is_js_functions_loaded = true;
1779 1779
 			?>
1780 1780
 function sd_show_view_options($this){
@@ -2149,7 +2149,7 @@  discard block
 block discarded – undo
2149 2149
 
2150 2150
 				// maybe use featured image.
2151 2151
 				if( $args['bg_image_use_featured'] !== undefined && $args['bg_image_use_featured'] ){
2152
-					$bg_image = '<?php echo $this->get_url();?>icons/placeholder.png';
2152
+					$bg_image = '<?php echo $this->get_url(); ?>icons/placeholder.png';
2153 2153
 				}
2154 2154
 
2155 2155
                 if( $bg_image !== undefined && $bg_image !== '' ){
@@ -2224,7 +2224,7 @@  discard block
 block discarded – undo
2224 2224
                 $classes = [];
2225 2225
 
2226 2226
 				<?php
2227
-				if($aui_bs5){
2227
+				if ($aui_bs5) {
2228 2228
 					?>
2229 2229
 				$aui_bs5 = true;
2230 2230
 				$p_ml = 'ms-';
@@ -2233,7 +2233,7 @@  discard block
 block discarded – undo
2233 2233
 				$p_pl = 'ps-';
2234 2234
 				$p_pr = 'pe-';
2235 2235
 					<?php
2236
-				}else{
2236
+				} else {
2237 2237
 						?>
2238 2238
 				$aui_bs5 = false;
2239 2239
 				$p_ml = 'ml-';
@@ -2418,7 +2418,7 @@  discard block
 block discarded – undo
2418 2418
             }
2419 2419
 
2420 2420
 			function sd_get_class_build_keys(){
2421
-				return <?php echo json_encode(sd_get_class_build_keys());?>;
2421
+				return <?php echo json_encode(sd_get_class_build_keys()); ?>;
2422 2422
 			}
2423 2423
 
2424 2424
             <?php
@@ -2426,7 +2426,7 @@  discard block
 block discarded – undo
2426 2426
 
2427 2427
             }
2428 2428
 
2429
-			if(method_exists($this,'block_global_js')){
2429
+			if (method_exists($this, 'block_global_js')) {
2430 2430
 					echo $this->block_global_js();
2431 2431
 			}
2432 2432
 			?>
@@ -2455,9 +2455,9 @@  discard block
 block discarded – undo
2455 2455
                     var InnerBlocks = blockEditor.InnerBlocks;
2456 2456
 
2457 2457
 					var term_query_type = '';
2458
-					var post_type_rest_slugs = <?php if(! empty( $this->arguments ) && isset($this->arguments['post_type']['onchange_rest']['values'])){echo "[".json_encode($this->arguments['post_type']['onchange_rest']['values'])."]";}else{echo "[]";} ?>;
2459
-					const taxonomies_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
2460
-					const sort_by_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
2458
+					var post_type_rest_slugs = <?php if (!empty($this->arguments) && isset($this->arguments['post_type']['onchange_rest']['values'])) {echo "[" . json_encode($this->arguments['post_type']['onchange_rest']['values']) . "]"; } else {echo "[]"; } ?>;
2459
+					const taxonomies_<?php echo str_replace("-", "_", $this->id); ?> = [{label: "Please wait", value: 0}];
2460
+					const sort_by_<?php echo str_replace("-", "_", $this->id); ?> = [{label: "Please wait", value: 0}];
2461 2461
                     const MediaUpload = wp.blockEditor.MediaUpload;
2462 2462
 
2463 2463
 					/**
@@ -2472,20 +2472,20 @@  discard block
 block discarded – undo
2472 2472
 					 * @return {?WPBlock}          The block, if it has been successfully
2473 2473
 					 *                             registered; otherwise `undefined`.
2474 2474
 					 */
2475
-					registerBlockType('<?php echo str_replace( "_", "-", sanitize_title_with_dashes( $this->options['textdomain'] ) . '/' . sanitize_title_with_dashes( $this->options['class_name'] ) );  ?>', { // Block name. Block names must be string that contains a namespace prefix. Example: my-plugin/my-custom-block.
2476
-						apiVersion: <?php echo isset($this->options['block-api-version']) ? absint($this->options['block-api-version']) : 2 ; ?>,
2477
-                        title: '<?php echo addslashes( $this->options['name'] ); ?>', // Block title.
2478
-						description: '<?php echo addslashes( $this->options['widget_ops']['description'] )?>', // Block title.
2479
-						icon: <?php echo $this->get_block_icon( $this->options['block-icon'] );?>,//'<?php echo isset( $this->options['block-icon'] ) ? esc_attr( $this->options['block-icon'] ) : 'shield-alt';?>', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/.
2475
+					registerBlockType('<?php echo str_replace("_", "-", sanitize_title_with_dashes($this->options['textdomain']) . '/' . sanitize_title_with_dashes($this->options['class_name'])); ?>', { // Block name. Block names must be string that contains a namespace prefix. Example: my-plugin/my-custom-block.
2476
+						apiVersion: <?php echo isset($this->options['block-api-version']) ? absint($this->options['block-api-version']) : 2; ?>,
2477
+                        title: '<?php echo addslashes($this->options['name']); ?>', // Block title.
2478
+						description: '<?php echo addslashes($this->options['widget_ops']['description'])?>', // Block title.
2479
+						icon: <?php echo $this->get_block_icon($this->options['block-icon']); ?>,//'<?php echo isset($this->options['block-icon']) ? esc_attr($this->options['block-icon']) : 'shield-alt'; ?>', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/.
2480 2480
 						supports: {
2481 2481
 							<?php
2482
-							if ( isset( $this->options['block-supports'] ) ) {
2483
-								echo $this->array_to_attributes( $this->options['block-supports'] );
2482
+							if (isset($this->options['block-supports'])) {
2483
+								echo $this->array_to_attributes($this->options['block-supports']);
2484 2484
 							}
2485 2485
 							?>
2486 2486
 						},
2487 2487
 						<?php
2488
-						if ( isset( $this->options['block-label'] ) ) {
2488
+						if (isset($this->options['block-label'])) {
2489 2489
 						?>
2490 2490
 						__experimentalLabel( attributes, { context } ) {
2491 2491
                             return <?php echo $this->options['block-label']; ?>;
@@ -2493,8 +2493,8 @@  discard block
 block discarded – undo
2493 2493
                         <?php
2494 2494
                         }
2495 2495
                         ?>
2496
-						category: '<?php echo isset( $this->options['block-category'] ) ? esc_attr( $this->options['block-category'] ) : 'common';?>', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.
2497
-						<?php if ( isset( $this->options['block-keywords'] ) ) {
2496
+						category: '<?php echo isset($this->options['block-category']) ? esc_attr($this->options['block-category']) : 'common'; ?>', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.
2497
+						<?php if (isset($this->options['block-keywords'])) {
2498 2498
 						echo "keywords : " . $this->options['block-keywords'] . ",";
2499 2499
 
2500 2500
 //						// block hover preview.
@@ -2521,11 +2521,11 @@  discard block
 block discarded – undo
2521 2521
                         }
2522 2522
 
2523 2523
 						// maybe set no_wrap
2524
-						$no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
2525
-						if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
2524
+						$no_wrap = isset($this->options['no_wrap']) && $this->options['no_wrap'] ? true : false;
2525
+						if (isset($this->arguments['no_wrap']) && $this->arguments['no_wrap']) {
2526 2526
 							$no_wrap = true;
2527 2527
 						}
2528
-						if ( $no_wrap ) {
2528
+						if ($no_wrap) {
2529 2529
 							$this->options['block-wrap'] = '';
2530 2530
 						}
2531 2531
 
@@ -2539,10 +2539,10 @@  discard block
 block discarded – undo
2539 2539
 						echo "  html: false";
2540 2540
 						echo "},";*/
2541 2541
 
2542
-						if ( ! empty( $this->arguments ) ) {
2542
+						if (!empty($this->arguments)) {
2543 2543
 							echo "attributes : {";
2544 2544
 
2545
-							if ( $show_advanced ) {
2545
+							if ($show_advanced) {
2546 2546
 								echo "show_advanced: {";
2547 2547
 								echo "	type: 'boolean',";
2548 2548
 								echo "  default: false,";
@@ -2550,56 +2550,56 @@  discard block
 block discarded – undo
2550 2550
 							}
2551 2551
 
2552 2552
 							// block wrap element
2553
-							if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
2553
+							if (!empty($this->options['block-wrap'])) { //@todo we should validate this?
2554 2554
 								echo "block_wrap: {";
2555 2555
 								echo "	type: 'string',";
2556
-								echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
2556
+								echo "  default: '" . esc_attr($this->options['block-wrap']) . "',";
2557 2557
 								echo "},";
2558 2558
 							}
2559 2559
 
2560 2560
 
2561 2561
 
2562
-							foreach ( $this->arguments as $key => $args ) {
2562
+							foreach ($this->arguments as $key => $args) {
2563 2563
 
2564
-								if( $args['type'] == 'image' ||  $args['type'] == 'images' ){
2564
+								if ($args['type'] == 'image' || $args['type'] == 'images') {
2565 2565
 									$img_drag_drop = true;
2566 2566
 								}
2567 2567
 
2568 2568
 								// set if we should show alignment
2569
-								if ( $key == 'alignment' ) {
2569
+								if ($key == 'alignment') {
2570 2570
 									$show_alignment = true;
2571 2571
 								}
2572 2572
 
2573 2573
 								$extra = '';
2574 2574
 
2575
-								if ( $args['type'] == 'notice' ||  $args['type'] == 'tab' ) {
2575
+								if ($args['type'] == 'notice' || $args['type'] == 'tab') {
2576 2576
 									continue;
2577 2577
 								}
2578
-								elseif ( $args['type'] == 'checkbox' ) {
2578
+								elseif ($args['type'] == 'checkbox') {
2579 2579
 									$type    = 'boolean';
2580
-									$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
2581
-								} elseif ( $args['type'] == 'number' ) {
2580
+									$default = isset($args['default']) && $args['default'] ? 'true' : 'false';
2581
+								} elseif ($args['type'] == 'number') {
2582 2582
 									$type    = 'number';
2583
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2584
-								} elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
2583
+									$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2584
+								} elseif ($args['type'] == 'select' && !empty($args['multiple'])) {
2585 2585
 									$type = 'array';
2586
-									if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
2587
-										$default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
2586
+									if (isset($args['default']) && is_array($args['default'])) {
2587
+										$default = !empty($args['default']) ? "['" . implode("','", $args['default']) . "']" : "[]";
2588 2588
 									} else {
2589
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2589
+										$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2590 2590
 									}
2591
-								} elseif ( $args['type'] == 'tagselect' ) {
2591
+								} elseif ($args['type'] == 'tagselect') {
2592 2592
 									$type    = 'array';
2593
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2594
-								} elseif ( $args['type'] == 'multiselect' ) {
2593
+									$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2594
+								} elseif ($args['type'] == 'multiselect') {
2595 2595
 									$type    = 'array';
2596
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2597
-								} elseif ( $args['type'] == 'image_xy' ) {
2596
+									$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2597
+								} elseif ($args['type'] == 'image_xy') {
2598 2598
 									$type    = 'object';
2599
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2600
-								} elseif ( $args['type'] == 'image' ) {
2599
+									$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2600
+								} elseif ($args['type'] == 'image') {
2601 2601
 									$type    = 'string';
2602
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2602
+									$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2603 2603
 
2604 2604
                                     // add a field for ID
2605 2605
 //                                    echo $key . "_id : {";
@@ -2611,7 +2611,7 @@  discard block
 block discarded – undo
2611 2611
 
2612 2612
 								} else {
2613 2613
 									$type    = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string';
2614
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2614
+									$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2615 2615
 
2616 2616
 								}
2617 2617
 								echo $key . " : {";
@@ -2635,7 +2635,7 @@  discard block
 block discarded – undo
2635 2635
 
2636 2636
 <?php
2637 2637
 // only include the drag/drop functions if required.
2638
-if( $img_drag_drop ){
2638
+if ($img_drag_drop) {
2639 2639
 
2640 2640
 ?>
2641 2641
 
@@ -2701,9 +2701,9 @@  discard block
 block discarded – undo
2701 2701
 							}
2702 2702
 
2703 2703
                             <?php
2704
-                            if(!empty($this->options['block-edit-raw'])) {
2704
+                            if (!empty($this->options['block-edit-raw'])) {
2705 2705
                                 echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues
2706
-                            }else{
2706
+                            } else {
2707 2707
                             ?>
2708 2708
 
2709 2709
 function hasSelectedInnerBlock(props) {
@@ -2727,7 +2727,7 @@  discard block
 block discarded – undo
2727 2727
 	var $value = '';
2728 2728
 	<?php
2729 2729
 	// if we have a post_type and a category then link them
2730
-	if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
2730
+	if (isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked'])) {
2731 2731
 	?>
2732 2732
 	if(typeof(prev_attributes[props.clientId]) != 'undefined'){
2733 2733
 		$pt = props.attributes.post_type;
@@ -2742,9 +2742,9 @@  discard block
 block discarded – undo
2742 2742
 		}
2743 2743
 <?php
2744 2744
 	$cat_path = '';
2745
-	if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) {
2746
-		$cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) );
2747
-		$cat_path = str_replace( array( '&quot;', '&#039;' ), array( '"', "'" ), $cat_path );
2745
+	if (!empty($this->arguments['post_type']['onchange_rest']['path'])) {
2746
+		$cat_path = esc_js(strip_tags($this->arguments['post_type']['onchange_rest']['path']));
2747
+		$cat_path = str_replace(array('&quot;', '&#039;'), array('"', "'"), $cat_path);
2748 2748
 	}
2749 2749
 ?>
2750 2750
 		/* taxonomies */
@@ -2752,15 +2752,15 @@  discard block
 block discarded – undo
2752 2752
 			if (!window.gdCPTCats) {
2753 2753
 				window.gdCPTCats = [];
2754 2754
 			}
2755
-			var gdCatPath = "<?php echo ( ! empty( $cat_path ) ? $cat_path : "/wp/v2/" + $value + "/categories/?per_page=100" ); ?>";
2755
+			var gdCatPath = "<?php echo (!empty($cat_path) ? $cat_path : "/wp/v2/" +$value + "/categories/?per_page=100"); ?>";
2756 2756
 			if (window.gdCPTCats[gdCatPath]) {
2757 2757
 				terms = window.gdCPTCats[gdCatPath];
2758
-				while (taxonomies_<?php echo str_replace("-","_", $this->id);?>.length) {
2759
-					taxonomies_<?php echo str_replace("-","_", $this->id);?>.pop();
2758
+				while (taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.length) {
2759
+					taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.pop();
2760 2760
 				}
2761
-				taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: "All", value: 0});
2761
+				taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: "All", value: 0});
2762 2762
 				jQuery.each( terms, function( key, val ) {
2763
-					taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: val.name, value: val.id});
2763
+					taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val.name, value: val.id});
2764 2764
 				});
2765 2765
 
2766 2766
 				/* Setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options. */
@@ -2770,12 +2770,12 @@  discard block
 block discarded – undo
2770 2770
 			} else {
2771 2771
 				wp.apiFetch({path: gdCatPath}).then(terms => {
2772 2772
 					window.gdCPTCats[gdCatPath] = terms;
2773
-					while (taxonomies_<?php echo str_replace("-","_", $this->id);?>.length) {
2774
-						taxonomies_<?php echo str_replace("-","_", $this->id);?>.pop();
2773
+					while (taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.length) {
2774
+						taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.pop();
2775 2775
 					}
2776
-					taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: "All", value: 0});
2776
+					taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: "All", value: 0});
2777 2777
 					jQuery.each( terms, function( key, val ) {
2778
-						taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: val.name, value: val.id});
2778
+						taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val.name, value: val.id});
2779 2779
 					});
2780 2780
 
2781 2781
 					/* Setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options. */
@@ -2783,7 +2783,7 @@  discard block
 block discarded – undo
2783 2783
 					props.setAttributes({category: [0] });
2784 2784
 					props.setAttributes({category: $old_cat_value });
2785 2785
 
2786
-					return taxonomies_<?php echo str_replace("-","_", $this->id);?>;
2786
+					return taxonomies_<?php echo str_replace("-", "_", $this->id); ?>;
2787 2787
 				});
2788 2788
 			}
2789 2789
 		}
@@ -2795,12 +2795,12 @@  discard block
 block discarded – undo
2795 2795
 			}
2796 2796
 			if (window.gdCPTSort[$pt]) {
2797 2797
 				response = window.gdCPTSort[$pt];
2798
-				while (sort_by_<?php echo str_replace("-","_", $this->id);?>.length) {
2799
-					sort_by_<?php echo str_replace("-","_", $this->id);?>.pop();
2798
+				while (sort_by_<?php echo str_replace("-", "_", $this->id); ?>.length) {
2799
+					sort_by_<?php echo str_replace("-", "_", $this->id); ?>.pop();
2800 2800
 				}
2801 2801
 
2802 2802
 				jQuery.each( response, function( key, val ) {
2803
-					sort_by_<?php echo str_replace("-","_", $this->id);?>.push({label: val, value: key});
2803
+					sort_by_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val, value: key});
2804 2804
 				});
2805 2805
 
2806 2806
 				// setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options.
@@ -2815,12 +2815,12 @@  discard block
 block discarded – undo
2815 2815
 				jQuery.post(ajaxurl, data, function(response) {
2816 2816
 					response = JSON.parse(response);
2817 2817
 					window.gdCPTSort[$pt] = response;
2818
-					while (sort_by_<?php echo str_replace("-","_", $this->id);?>.length) {
2819
-						sort_by_<?php echo str_replace("-","_", $this->id);?>.pop();
2818
+					while (sort_by_<?php echo str_replace("-", "_", $this->id); ?>.length) {
2819
+						sort_by_<?php echo str_replace("-", "_", $this->id); ?>.pop();
2820 2820
 					}
2821 2821
 
2822 2822
 					jQuery.each( response, function( key, val ) {
2823
-						sort_by_<?php echo str_replace("-","_", $this->id);?>.push({label: val, value: key});
2823
+						sort_by_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val, value: key});
2824 2824
 					});
2825 2825
 
2826 2826
 					// setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options.
@@ -2828,7 +2828,7 @@  discard block
 block discarded – undo
2828 2828
 					props.setAttributes({sort_by: [0] });
2829 2829
 					props.setAttributes({sort_by: $old_sort_by_value });
2830 2830
 
2831
-					return sort_by_<?php echo str_replace("-","_", $this->id);?>;
2831
+					return sort_by_<?php echo str_replace("-", "_", $this->id); ?>;
2832 2832
 				});
2833 2833
 			}
2834 2834
 		}
@@ -2836,9 +2836,9 @@  discard block
 block discarded – undo
2836 2836
 	<?php } ?>
2837 2837
 <?php
2838 2838
 $current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
2839
-if(!empty($current_screen->base) && $current_screen->base==='widgets'){
2839
+if (!empty($current_screen->base) && $current_screen->base === 'widgets') {
2840 2840
 	echo 'const { deviceType } = "";';
2841
-}else{
2841
+} else {
2842 2842
 ?>
2843 2843
 /** Get device type const. */
2844 2844
 const { deviceType } = wp.data.useSelect != 'undefined' ?  wp.data.useSelect(select => {
@@ -2867,13 +2867,13 @@  discard block
 block discarded – undo
2867 2867
 
2868 2868
 									var data = {
2869 2869
 										'action': 'super_duper_output_shortcode',
2870
-										'shortcode': '<?php echo $this->options['base_id'];?>',
2870
+										'shortcode': '<?php echo $this->options['base_id']; ?>',
2871 2871
 										'attributes': props.attributes,
2872 2872
 										'block_parent_name': parentBlocks.length ? parentBlocks[parentBlocks.length - 1].name : '',
2873
-										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
2873
+										'post_id': <?php global $post; if (isset($post->ID)) {
2874 2874
 										echo $post->ID;
2875
-									}else{echo '0';}?>,
2876
-										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
2875
+									} else {echo '0'; }?>,
2876
+										'_ajax_nonce': '<?php echo wp_create_nonce('super_duper_output_shortcode'); ?>'
2877 2877
 									};
2878 2878
 
2879 2879
 									jQuery.post(ajaxurl, data, function (response) {
@@ -2882,17 +2882,17 @@  discard block
 block discarded – undo
2882 2882
 
2883 2883
 										// if the content is empty then we place some placeholder text
2884 2884
 										if (env == '') {
2885
-											env = "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" + "<?php _e( 'Placeholder for: ' );?>" + props.name + "</div>";
2885
+											env = "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" + "<?php _e('Placeholder for: '); ?>" + props.name + "</div>";
2886 2886
 										}
2887 2887
 
2888 2888
                                          <?php
2889
-                                        if(!empty($this->options['nested-block'])){
2889
+                                        if (!empty($this->options['nested-block'])) {
2890 2890
                                             ?>
2891 2891
                                             // props.setAttributes({content: env});
2892 2892
 										is_fetching = false;
2893 2893
 										prev_attributes[props.clientId] = props.attributes;
2894 2894
                                              <?php
2895
-                                        }else{
2895
+                                        } else {
2896 2896
                                         ?>
2897 2897
                                         props.setAttributes({content: env});
2898 2898
 										is_fetching = false;
@@ -2917,8 +2917,8 @@  discard block
 block discarded – undo
2917 2917
 							}
2918 2918
 
2919 2919
                             <?php
2920
-                            if(!empty($this->options['block-edit-js'])) {
2921
-                                echo  $this->options['block-edit-js'] ; // strings have to be in single quotes, may cause issues
2920
+                            if (!empty($this->options['block-edit-js'])) {
2921
+                                echo  $this->options['block-edit-js']; // strings have to be in single quotes, may cause issues
2922 2922
                             }
2923 2923
 
2924 2924
 
@@ -2931,7 +2931,7 @@  discard block
 block discarded – undo
2931 2931
 
2932 2932
 								el(wp.blockEditor.BlockControls, {key: 'controls'},
2933 2933
 
2934
-									<?php if($show_alignment){?>
2934
+									<?php if ($show_alignment) {?>
2935 2935
 									el(
2936 2936
 										wp.blockEditor.AlignmentToolbar,
2937 2937
 										{
@@ -2949,9 +2949,9 @@  discard block
 block discarded – undo
2949 2949
 
2950 2950
 									<?php
2951 2951
 
2952
-									if(! empty( $this->arguments )){
2952
+									if (!empty($this->arguments)) {
2953 2953
 
2954
-									if ( $show_advanced ) {
2954
+									if ($show_advanced) {
2955 2955
 									?>
2956 2956
 									el('div', {
2957 2957
 											style: {'padding-left': '16px','padding-right': '16px'}
@@ -2971,42 +2971,42 @@  discard block
 block discarded – undo
2971 2971
 									<?php
2972 2972
 									}
2973 2973
 
2974
-									$arguments = $this->group_arguments( $this->arguments );
2975
-									$block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array();
2974
+									$arguments = $this->group_arguments($this->arguments);
2975
+									$block_group_tabs = !empty($this->options['block_group_tabs']) ? $this->group_block_tabs($this->options['block_group_tabs'], $arguments) : array();
2976 2976
 
2977 2977
 									// Do we have sections?
2978 2978
 									$has_sections = $arguments == $this->arguments ? false : true;
2979 2979
 
2980
-									if($has_sections){
2980
+									if ($has_sections) {
2981 2981
 									$panel_count = 0;
2982 2982
 									$open_tab = '';
2983 2983
 
2984 2984
 									$open_tab_groups = array();
2985 2985
 									$used_tabs = array();
2986 2986
 
2987
-									foreach ( $arguments as $key => $args ) {
2987
+									foreach ($arguments as $key => $args) {
2988 2988
 										$close_tab = false;
2989 2989
 										$close_tabs = false;
2990 2990
 
2991
-										 if ( ! empty( $block_group_tabs ) ) {
2992
-											foreach ( $block_group_tabs as $tab_name => $tab_args ) {
2993
-												if ( in_array( $key, $tab_args['groups'] ) ) {
2991
+										 if (!empty($block_group_tabs)) {
2992
+											foreach ($block_group_tabs as $tab_name => $tab_args) {
2993
+												if (in_array($key, $tab_args['groups'])) {
2994 2994
 													$open_tab_groups[] = $key;
2995 2995
 
2996
-													if ( $open_tab != $tab_name ) {
2996
+													if ($open_tab != $tab_name) {
2997 2997
 														$tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false;
2998 2998
 														$tab_args['tab']['open'] = true;
2999 2999
 
3000
-														$this->block_tab_start( '', $tab_args );
3000
+														$this->block_tab_start('', $tab_args);
3001 3001
 														$open_tab = $tab_name;
3002 3002
 														$used_tabs[] = $tab_name;
3003 3003
 													}
3004 3004
 
3005
-													if ( $open_tab_groups == $tab_args['groups'] ) {
3005
+													if ($open_tab_groups == $tab_args['groups']) {
3006 3006
 														$close_tab = true;
3007 3007
 														$open_tab_groups = array();
3008 3008
 
3009
-														if ( $used_tabs == array_keys( $block_group_tabs ) ) {
3009
+														if ($used_tabs == array_keys($block_group_tabs)) {
3010 3010
 															$close_tabs = true;
3011 3011
 														}
3012 3012
 													}
@@ -3015,27 +3015,27 @@  discard block
 block discarded – undo
3015 3015
 										}
3016 3016
 										?>
3017 3017
 										el(wp.components.PanelBody, {
3018
-												title: '<?php esc_attr_e( $key ); ?>',
3019
-												initialOpen: <?php if ( $panel_count ) {
3018
+												title: '<?php esc_attr_e($key); ?>',
3019
+												initialOpen: <?php if ($panel_count) {
3020 3020
 												echo "false";
3021 3021
 											} else {
3022 3022
 												echo "true";
3023 3023
 											}?>
3024 3024
 											},
3025 3025
 											<?php
3026
-											foreach ( $args as $k => $a ) {
3027
-												$this->block_tab_start( $k, $a );
3028
-												$this->block_row_start( $k, $a );
3029
-												$this->build_block_arguments( $k, $a );
3030
-												$this->block_row_end( $k, $a );
3031
-												$this->block_tab_end( $k, $a );
3026
+											foreach ($args as $k => $a) {
3027
+												$this->block_tab_start($k, $a);
3028
+												$this->block_row_start($k, $a);
3029
+												$this->build_block_arguments($k, $a);
3030
+												$this->block_row_end($k, $a);
3031
+												$this->block_tab_end($k, $a);
3032 3032
 											}
3033 3033
 											?>
3034 3034
 										),
3035 3035
 										<?php
3036
-										$panel_count ++;
3036
+										$panel_count++;
3037 3037
 
3038
-										if($close_tab || $close_tabs){
3038
+										if ($close_tab || $close_tabs) {
3039 3039
 											$tab_args = array(
3040 3040
 												'tab'	=> array(
3041 3041
 													'tabs_close' => $close_tabs,
@@ -3043,24 +3043,24 @@  discard block
 block discarded – undo
3043 3043
 												)
3044 3044
 
3045 3045
 											);
3046
-											$this->block_tab_end( '', $tab_args );
3046
+											$this->block_tab_end('', $tab_args);
3047 3047
 //											echo '###close'; print_r($tab_args);
3048 3048
 											$panel_count = 0;
3049 3049
 										}
3050 3050
 //
3051 3051
 
3052 3052
 									}
3053
-									}else {
3053
+									} else {
3054 3054
 									?>
3055 3055
 									el(wp.components.PanelBody, {
3056
-											title: '<?php esc_attr_e( "Settings" ); ?>',
3056
+											title: '<?php esc_attr_e("Settings"); ?>',
3057 3057
 											initialOpen: true
3058 3058
 										},
3059 3059
 										<?php
3060
-										foreach ( $this->arguments as $key => $args ) {
3061
-											$this->block_row_start( $key, $args );
3062
-											$this->build_block_arguments( $key, $args );
3063
-											$this->block_row_end( $key, $args );
3060
+										foreach ($this->arguments as $key => $args) {
3061
+											$this->block_row_start($key, $args);
3062
+											$this->build_block_arguments($key, $args);
3063
+											$this->block_row_end($key, $args);
3064 3064
 										}
3065 3065
 										?>
3066 3066
 									),
@@ -3074,11 +3074,11 @@  discard block
 block discarded – undo
3074 3074
 
3075 3075
 								<?php
3076 3076
 								// If the user sets block-output array then build it
3077
-								if ( ! empty( $this->options['block-output'] ) ) {
3078
-								$this->block_element( $this->options['block-output'] );
3079
-							}elseif(!empty($this->options['block-edit-return'])){
3077
+								if (!empty($this->options['block-output'])) {
3078
+								$this->block_element($this->options['block-output']);
3079
+							}elseif (!empty($this->options['block-edit-return'])) {
3080 3080
                                    echo $this->options['block-edit-return'];
3081
-							}else{
3081
+							} else {
3082 3082
 								// if no block-output is set then we try and get the shortcode html output via ajax.
3083 3083
 								$block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div';
3084 3084
 								?>
@@ -3104,22 +3104,22 @@  discard block
 block discarded – undo
3104 3104
 							var align = '';
3105 3105
 
3106 3106
 							// build the shortcode.
3107
-							var content = "[<?php echo $this->options['base_id'];?>";
3107
+							var content = "[<?php echo $this->options['base_id']; ?>";
3108 3108
 							$html = '';
3109 3109
 							<?php
3110 3110
 
3111
-							if(! empty( $this->arguments )){
3111
+							if (!empty($this->arguments)) {
3112 3112
 
3113
-							foreach($this->arguments as $key => $args){
3113
+							foreach ($this->arguments as $key => $args) {
3114 3114
                                // if($args['type']=='tabs'){continue;}
3115 3115
 							?>
3116
-							if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
3117
-								if ('<?php echo esc_attr( $key );?>' == 'html') {
3118
-									$html = attr.<?php echo esc_attr( $key );?>;
3119
-								} else if ('<?php echo esc_attr( $args['type'] );?>' == 'image_xy') {
3120
-									content += " <?php echo esc_attr( $key );?>='{x:" + attr.<?php echo esc_attr( $key );?>.x + ",y:"+attr.<?php echo esc_attr( $key );?>.y +"}' ";
3116
+							if (attr.hasOwnProperty("<?php echo esc_attr($key); ?>")) {
3117
+								if ('<?php echo esc_attr($key); ?>' == 'html') {
3118
+									$html = attr.<?php echo esc_attr($key); ?>;
3119
+								} else if ('<?php echo esc_attr($args['type']); ?>' == 'image_xy') {
3120
+									content += " <?php echo esc_attr($key); ?>='{x:" + attr.<?php echo esc_attr($key); ?>.x + ",y:"+attr.<?php echo esc_attr($key); ?>.y +"}' ";
3121 3121
 								} else {
3122
-									content += " <?php echo esc_attr( $key );?>='" + attr.<?php echo esc_attr( $key );?>.toString().replace('\'','&#39;') + "' ";
3122
+									content += " <?php echo esc_attr($key); ?>='" + attr.<?php echo esc_attr($key); ?>.toString().replace('\'','&#39;') + "' ";
3123 3123
 								}
3124 3124
 							}
3125 3125
 							<?php
@@ -3138,7 +3138,7 @@  discard block
 block discarded – undo
3138 3138
                             ?>
3139 3139
 							// if has html element
3140 3140
 							if ($html) {
3141
-								content += $html + "[/<?php echo $this->options['base_id'];?>]";
3141
+								content += $html + "[/<?php echo $this->options['base_id']; ?>]";
3142 3142
 							}
3143 3143
 
3144 3144
 							// @todo should we add inline style here or just css classes?
@@ -3168,7 +3168,7 @@  discard block
 block discarded – undo
3168 3168
 //                                <x?php
3169 3169
 //							}else
3170 3170
 
3171
-                            if(!empty($this->options['block-output'])){
3171
+                            if (!empty($this->options['block-output'])) {
3172 3172
 //                               echo "return";
3173 3173
 //                               $this->block_element( $this->options['block-output'], true );
3174 3174
 //                               echo ";";
@@ -3178,30 +3178,30 @@  discard block
 block discarded – undo
3178 3178
                                    '',
3179 3179
                                    {},
3180 3180
                                    el('', {dangerouslySetInnerHTML: {__html: content}}),
3181
-                                   <?php $this->block_element( $this->options['block-output'], true ); ?>
3182
-                                   el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3181
+                                   <?php $this->block_element($this->options['block-output'], true); ?>
3182
+                                   el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id']; ?>]"}})
3183 3183
                                );
3184 3184
                                 <?php
3185 3185
 
3186
-							}elseif(!empty($this->options['block-save-return'])){
3186
+							}elseif (!empty($this->options['block-save-return'])) {
3187 3187
                                    echo 'return ' . $this->options['block-save-return'];
3188
-							}elseif(!empty($this->options['nested-block'])){
3188
+							}elseif (!empty($this->options['nested-block'])) {
3189 3189
                                 ?>
3190 3190
                               return el(
3191 3191
                                    '',
3192 3192
                                    {},
3193 3193
                                    el('', {dangerouslySetInnerHTML: {__html: content+"\n"}}),
3194 3194
                                    InnerBlocks.Content ? el( InnerBlocks.Content ) : '', // @todo i think we need a comma here
3195
-                                   el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3195
+                                   el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id']; ?>]"}})
3196 3196
                                );
3197 3197
                                 <?php
3198
-							}elseif(!empty( $this->options['block-save-return'] ) ){
3199
-                                echo "return ". $this->options['block-edit-return'].";";
3200
-							}elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3198
+							}elseif (!empty($this->options['block-save-return'])) {
3199
+                                echo "return " . $this->options['block-edit-return'] . ";";
3200
+							}elseif (isset($this->options['block-wrap']) && $this->options['block-wrap'] == '') {
3201 3201
 							?>
3202 3202
 							return content;
3203 3203
 							<?php
3204
-							}else{
3204
+							} else {
3205 3205
 							?>
3206 3206
 							var block_wrap = 'div';
3207 3207
 							if (attr.hasOwnProperty("block_wrap")) {
@@ -3230,48 +3230,48 @@  discard block
 block discarded – undo
3230 3230
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
3231 3231
 			 */
3232 3232
 
3233
-			return str_replace( array(
3233
+			return str_replace(array(
3234 3234
 				'<script>',
3235 3235
 				'</script>'
3236
-			), '', $output );
3236
+			), '', $output);
3237 3237
 		}
3238 3238
 
3239 3239
 
3240 3240
 
3241
-		public function block_row_start($key, $args){
3241
+		public function block_row_start($key, $args) {
3242 3242
 
3243 3243
 			// check for row
3244
-			if(!empty($args['row'])){
3244
+			if (!empty($args['row'])) {
3245 3245
 
3246
-				if(!empty($args['row']['open'])){
3246
+				if (!empty($args['row']['open'])) {
3247 3247
 
3248 3248
 				// element require
3249
-				$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3250
-                $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3251
-                $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3249
+				$element_require = !empty($args['element_require']) ? $this->block_props_replace($args['element_require'], true) . " && " : "";
3250
+                $device_type = !empty($args['device_type']) ? esc_attr($args['device_type']) : '';
3251
+                $device_type_require = !empty($args['device_type']) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3252 3252
                 $device_type_icon = '';
3253
-                if($device_type=='Desktop'){
3253
+                if ($device_type == 'Desktop') {
3254 3254
                     $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3255
-                }elseif($device_type=='Tablet'){
3255
+                }elseif ($device_type == 'Tablet') {
3256 3256
                     $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3257
-                }elseif($device_type=='Mobile'){
3257
+                }elseif ($device_type == 'Mobile') {
3258 3258
                     $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3259 3259
                 }
3260 3260
 				echo $element_require;
3261 3261
                 echo $device_type_require;
3262 3262
 
3263
-					if(false){?><script><?php }?>
3263
+					if (false) {?><script><?php }?>
3264 3264
 						el('div', {
3265 3265
 								className: 'bsui components-base-control',
3266 3266
 							},
3267
-							<?php if(!empty($args['row']['title'])){ ?>
3267
+							<?php if (!empty($args['row']['title'])) { ?>
3268 3268
 							el('label', {
3269 3269
 									className: 'components-base-control__label position-relative',
3270 3270
 									style: {width:"100%"}
3271 3271
 								},
3272
-								el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes( $args['row']['title'] ) ?>'}}),
3273
-								<?php if($device_type_icon){ ?>
3274
-                                    deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})
3272
+								el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes($args['row']['title']) ?>'}}),
3273
+								<?php if ($device_type_icon) { ?>
3274
+                                    deviceType == '<?php echo $device_type; ?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})
3275 3275
 								<?php
3276 3276
                                 }
3277 3277
                                 ?>
@@ -3279,17 +3279,17 @@  discard block
 block discarded – undo
3279 3279
 
3280 3280
 							),
3281 3281
 							<?php }?>
3282
-							<?php if(!empty($args['row']['desc'])){ ?>
3282
+							<?php if (!empty($args['row']['desc'])) { ?>
3283 3283
 							el('p', {
3284 3284
 									className: 'components-base-control__help mb-0',
3285 3285
 								},
3286
-								'<?php echo addslashes( $args['row']['desc'] ); ?>'
3286
+								'<?php echo addslashes($args['row']['desc']); ?>'
3287 3287
 							),
3288 3288
 							<?php }?>
3289 3289
 							el(
3290 3290
 								'div',
3291 3291
 								{
3292
-									className: 'row mb-n2 <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>',
3292
+									className: 'row mb-n2 <?php if (!empty($args['row']['class'])) { echo esc_attr($args['row']['class']); } ?>',
3293 3293
 								},
3294 3294
 								el(
3295 3295
 									'div',
@@ -3298,36 +3298,36 @@  discard block
 block discarded – undo
3298 3298
 									},
3299 3299
 
3300 3300
 					<?php
3301
-					if(false){?></script><?php }
3302
-				}elseif(!empty($args['row']['close'])){
3303
-					if(false){?><script><?php }?>
3301
+					if (false) {?></script><?php }
3302
+				}elseif (!empty($args['row']['close'])) {
3303
+					if (false) {?><script><?php }?>
3304 3304
 						el(
3305 3305
 							'div',
3306 3306
 							{
3307 3307
 								className: 'col pl-0 ps-0',
3308 3308
 							},
3309 3309
 					<?php
3310
-					if(false){?></script><?php }
3311
-				}else{
3312
-					if(false){?><script><?php }?>
3310
+					if (false) {?></script><?php }
3311
+				} else {
3312
+					if (false) {?><script><?php }?>
3313 3313
 						el(
3314 3314
 							'div',
3315 3315
 							{
3316 3316
 								className: 'col pl-0 ps-0 pr-2 pe-2',
3317 3317
 							},
3318 3318
 					<?php
3319
-					if(false){?></script><?php }
3319
+					if (false) {?></script><?php }
3320 3320
 				}
3321 3321
 
3322 3322
 			}
3323 3323
 
3324 3324
 		}
3325 3325
 
3326
-		public function block_row_end($key, $args){
3326
+		public function block_row_end($key, $args) {
3327 3327
 
3328
-			if(!empty($args['row'])){
3328
+			if (!empty($args['row'])) {
3329 3329
 				// maybe close
3330
-				if(!empty($args['row']['close'])){
3330
+				if (!empty($args['row']['close'])) {
3331 3331
 					echo "))";
3332 3332
 				}
3333 3333
 
@@ -3335,14 +3335,14 @@  discard block
 block discarded – undo
3335 3335
 			}
3336 3336
 		}
3337 3337
 
3338
-		public function block_tab_start($key, $args){
3338
+		public function block_tab_start($key, $args) {
3339 3339
 
3340 3340
 			// check for row
3341
-			if(!empty($args['tab'])){
3341
+			if (!empty($args['tab'])) {
3342 3342
 
3343
-				if(!empty($args['tab']['tabs_open'])){
3343
+				if (!empty($args['tab']['tabs_open'])) {
3344 3344
 
3345
-					if(false){?><script><?php }?>
3345
+					if (false) {?><script><?php }?>
3346 3346
 
3347 3347
 el('div',{className: 'bsui'},
3348 3348
 
@@ -3351,81 +3351,81 @@  discard block
 block discarded – undo
3351 3351
 									{
3352 3352
                                         activeClass: 'is-active',
3353 3353
                                         className: 'btn-groupx',
3354
-                                        initialTabName: '<?php echo addslashes( esc_attr( $args['tab']['key']) ); ?>',
3354
+                                        initialTabName: '<?php echo addslashes(esc_attr($args['tab']['key'])); ?>',
3355 3355
 										tabs: [
3356 3356
 
3357 3357
 					<?php
3358
-					if(false){?></script><?php }
3358
+					if (false) {?></script><?php }
3359 3359
 				}
3360 3360
 
3361
-				if(!empty($args['tab']['open'])){
3361
+				if (!empty($args['tab']['open'])) {
3362 3362
 
3363
-					if(false){?><script><?php }?>
3363
+					if (false) {?><script><?php }?>
3364 3364
 							{
3365
-												name: '<?php echo addslashes( esc_attr( $args['tab']['key']) ); ?>',
3366
-												title: el('div', {dangerouslySetInnerHTML: {__html: '<?php echo addslashes( esc_attr( $args['tab']['title']) ); ?>'}}),
3367
-												className: '<?php echo addslashes( esc_attr( $args['tab']['class']) ); ?>',
3368
-												content: el('div',{}, <?php if(!empty($args['tab']['desc'])){ ?>el('p', {
3365
+												name: '<?php echo addslashes(esc_attr($args['tab']['key'])); ?>',
3366
+												title: el('div', {dangerouslySetInnerHTML: {__html: '<?php echo addslashes(esc_attr($args['tab']['title'])); ?>'}}),
3367
+												className: '<?php echo addslashes(esc_attr($args['tab']['class'])); ?>',
3368
+												content: el('div',{}, <?php if (!empty($args['tab']['desc'])) { ?>el('p', {
3369 3369
 									className: 'components-base-control__help mb-0',
3370
-									dangerouslySetInnerHTML: {__html:'<?php echo addslashes( $args['tab']['desc'] ); ?>'}
3370
+									dangerouslySetInnerHTML: {__html:'<?php echo addslashes($args['tab']['desc']); ?>'}
3371 3371
 								}),<?php }
3372
-					if(false){?></script><?php }
3372
+					if (false) {?></script><?php }
3373 3373
 				}
3374 3374
 
3375 3375
 			}
3376 3376
 
3377 3377
 		}
3378 3378
 
3379
-		public function block_tab_end($key, $args){
3379
+		public function block_tab_end($key, $args) {
3380 3380
 
3381
-			if(!empty($args['tab'])){
3381
+			if (!empty($args['tab'])) {
3382 3382
 				// maybe close
3383
-				if(!empty($args['tab']['close'])){
3383
+				if (!empty($args['tab']['close'])) {
3384 3384
 					echo ")}, /* tab close */";
3385 3385
 				}
3386 3386
 
3387
-				if(!empty($args['tab']['tabs_close'])){
3388
-					if(false){?><script><?php }?>
3387
+				if (!empty($args['tab']['tabs_close'])) {
3388
+					if (false) {?><script><?php }?>
3389 3389
 						]}, ( tab ) => {
3390 3390
 								return tab.content;
3391 3391
 							}
3392 3392
 						)), /* tabs close */
3393
-					<?php if(false){ ?></script><?php }
3393
+					<?php if (false) { ?></script><?php }
3394 3394
 				}
3395 3395
 			}
3396 3396
 		}
3397 3397
 
3398
-		public function build_block_arguments( $key, $args ) {
3399
-			$custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
3398
+		public function build_block_arguments($key, $args) {
3399
+			$custom_attributes = !empty($args['custom_attributes']) ? $this->array_to_attributes($args['custom_attributes']) : '';
3400 3400
 			$options           = '';
3401 3401
 			$extra             = '';
3402 3402
 			$require           = '';
3403
-            $inside_elements   = '';
3403
+            $inside_elements = '';
3404 3404
 			$after_elements	   = '';
3405 3405
 
3406 3406
 			// `content` is a protected and special argument
3407
-			if ( $key == 'content' ) {
3407
+			if ($key == 'content') {
3408 3408
 				return;
3409 3409
 			}
3410 3410
 
3411
-            $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3412
-            $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3411
+            $device_type = !empty($args['device_type']) ? esc_attr($args['device_type']) : '';
3412
+            $device_type_require = !empty($args['device_type']) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3413 3413
             $device_type_icon = '';
3414
-            if($device_type=='Desktop'){
3414
+            if ($device_type == 'Desktop') {
3415 3415
                 $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3416
-            }elseif($device_type=='Tablet'){
3416
+            }elseif ($device_type == 'Tablet') {
3417 3417
                 $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3418
-            }elseif($device_type=='Mobile'){
3418
+            }elseif ($device_type == 'Mobile') {
3419 3419
                 $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3420 3420
             }
3421 3421
 
3422 3422
 			// icon
3423 3423
 			$icon = '';
3424
-			if( !empty( $args['icon'] ) ){
3424
+			if (!empty($args['icon'])) {
3425 3425
 				$icon .= "el('div', {";
3426
-									$icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
3426
+									$icon .= "dangerouslySetInnerHTML: {__html: '" . self::get_widget_icon(esc_attr($args['icon'])) . "'},";
3427 3427
 									$icon .= "className: 'text-center',";
3428
-									$icon .= "title: '".addslashes( $args['title'] )."',";
3428
+									$icon .= "title: '" . addslashes($args['title']) . "',";
3429 3429
 								$icon .= "}),";
3430 3430
 
3431 3431
 				// blank title as its added to the icon.
@@ -3433,20 +3433,20 @@  discard block
 block discarded – undo
3433 3433
 			}
3434 3434
 
3435 3435
 			// require advanced
3436
-			$require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
3436
+			$require_advanced = !empty($args['advanced']) ? "props.attributes.show_advanced && " : "";
3437 3437
 
3438 3438
 			// element require
3439
-			$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3439
+			$element_require = !empty($args['element_require']) ? $this->block_props_replace($args['element_require'], true) . " && " : "";
3440 3440
 
3441 3441
 
3442 3442
 			$onchange  = "props.setAttributes({ $key: $key } )";
3443
-			$onchangecomplete  = "";
3443
+			$onchangecomplete = "";
3444 3444
 			$value     = "props.attributes.$key";
3445
-			$text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' );
3446
-			if ( in_array( $args['type'], $text_type ) ) {
3445
+			$text_type = array('text', 'password', 'number', 'email', 'tel', 'url', 'colorx', 'range');
3446
+			if (in_array($args['type'], $text_type)) {
3447 3447
 				$type = 'TextControl';
3448 3448
 				// Save numbers as numbers and not strings
3449
-				if ( $args['type'] == 'number' ) {
3449
+				if ($args['type'] == 'number') {
3450 3450
 					$onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )";
3451 3451
 				}
3452 3452
 			}
@@ -3467,12 +3467,12 @@  discard block
 block discarded – undo
3467 3467
 //
3468 3468
 //				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3469 3469
 //			}
3470
-			else if ( $args['type'] == 'styleid' ) {
3470
+			else if ($args['type'] == 'styleid') {
3471 3471
 				$type = 'TextControl';
3472 3472
 				$args['type'] == 'text';
3473 3473
 				// Save numbers as numbers and not strings
3474
-				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3475
-			}else if ( $args['type'] == 'notice' ) {
3474
+				$value = "props.attributes.$key ? props.attributes.$key : ''";
3475
+			} else if ($args['type'] == 'notice') {
3476 3476
 
3477 3477
 				$notice_message = !empty($args['desc']) ? addslashes($args['desc']) : '';
3478 3478
 				$notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info';
@@ -3534,11 +3534,11 @@  discard block
 block discarded – undo
3534 3534
 							return;
3535 3535
 						}
3536 3536
 */
3537
-			elseif ( $args['type'] == 'color' ) {
3537
+			elseif ($args['type'] == 'color') {
3538 3538
 				$type = 'ColorPicker';
3539 3539
 				$onchange = "";
3540 3540
 				$extra = "color: $value,";
3541
-				if(!empty($args['disable_alpha'])){
3541
+				if (!empty($args['disable_alpha'])) {
3542 3542
 					$extra .= "disableAlpha: true,";
3543 3543
 				}
3544 3544
 				$onchangecomplete = "onChangeComplete: function($key) {
@@ -3547,7 +3547,7 @@  discard block
 block discarded – undo
3547 3547
                             $key: value
3548 3548
                         });
3549 3549
                     },";
3550
-			}elseif ( $args['type'] == 'gradient' ) {
3550
+			}elseif ($args['type'] == 'gradient') {
3551 3551
 				$type = 'GradientPicker';
3552 3552
 				$extra .= "gradients: [{
3553 3553
 			name: 'Vivid cyan blue to vivid purple',
@@ -3586,11 +3586,11 @@  discard block
 block discarded – undo
3586 3586
 			slug: 'cool-to-warm-spectrum',
3587 3587
 		}],";
3588 3588
 
3589
-			}elseif ( $args['type'] == 'image' ) {
3589
+			}elseif ($args['type'] == 'image') {
3590 3590
 //                print_r($args);
3591 3591
 
3592 3592
                 $img_preview = isset($args['focalpoint']) && !$args['focalpoint'] ? " props.attributes.$key && el('img', { src: props.attributes.$key,style: {maxWidth:'100%',background: '#ccc'}})," : " ( props.attributes.$key ||  props.attributes.{$key}_use_featured ) && el(wp.components.FocalPointPicker,{
3593
-                            url:  props.attributes.{$key}_use_featured === true ? '".$this->get_url()."icons/placeholder.png'  : props.attributes.$key,
3593
+                            url:  props.attributes.{$key}_use_featured === true ? '" . $this->get_url() . "icons/placeholder.png'  : props.attributes.$key,
3594 3594
                             value: props.attributes.{$key}_xy.x !== undefined && props.attributes.{$key}_xy.x >= 0 ? props.attributes.{$key}_xy  : {x: 0.5,y: 0.5,},
3595 3595
 //                            value: props.attributes.{$key}_xy,
3596 3596
                             onChange: function(focalPoint){
@@ -3648,7 +3648,7 @@  discard block
 block discarded – undo
3648 3648
                 $onchange = "";
3649 3649
 
3650 3650
                 //$inside_elements = ",el('div',{},'file upload')";
3651
-			} else if ( $args['type'] == 'images' ) {
3651
+			} else if ($args['type'] == 'images') {
3652 3652
 				$img_preview = "props.attributes.$key && (function() {
3653 3653
 	let uploads = JSON.parse('['+props.attributes.$key+']');
3654 3654
 	let images = [];
@@ -3661,7 +3661,7 @@  discard block
 block discarded – undo
3661 3661
 			el('i',{
3662 3662
 				className: 'fas fa-times-circle text-danger position-absolute  ml-n2 mt-n1 bg-white rounded-circle c-pointer',
3663 3663
 				onClick: function() {
3664
-					aui_confirm('".esc_attr__('Are you sure?')."', '".esc_attr__('Delete')."', '".esc_attr__('Cancel')."', true).then(function(confirmed) {
3664
+					aui_confirm('" . esc_attr__('Are you sure?') . "', '" . esc_attr__('Delete') . "', '" . esc_attr__('Cancel') . "', true).then(function(confirmed) {
3665 3665
 						if (confirmed) {
3666 3666
 							let new_uploads = JSON.parse('['+props.attributes.$key+']');
3667 3667
 							new_uploads.splice(index, 1);
@@ -3724,36 +3724,36 @@  discard block
 block discarded – undo
3724 3724
 
3725 3725
                 //$inside_elements = ",el('div',{},'file upload')";
3726 3726
 			}
3727
-			elseif ( $args['type'] == 'checkbox' ) {
3727
+			elseif ($args['type'] == 'checkbox') {
3728 3728
 				$type = 'CheckboxControl';
3729 3729
 				$extra .= "checked: props.attributes.$key,";
3730 3730
 				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
3731
-			} elseif ( $args['type'] == 'textarea' ) {
3731
+			} elseif ($args['type'] == 'textarea') {
3732 3732
 				$type = 'TextareaControl';
3733 3733
 
3734
-			} elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
3734
+			} elseif ($args['type'] == 'select' || $args['type'] == 'multiselect') {
3735 3735
 				$type = 'SelectControl';
3736 3736
 
3737
-				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
3738
-					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
3739
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3740
-					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
3741
-				}else {
3737
+				if ($args['name'] == 'category' && !empty($args['post_type_linked'])) {
3738
+					$options .= "options: taxonomies_" . str_replace("-", "_", $this->id) . ",";
3739
+				}elseif ($args['name'] == 'sort_by' && !empty($args['post_type_linked'])) {
3740
+					$options .= "options: sort_by_" . str_replace("-", "_", $this->id) . ",";
3741
+				} else {
3742 3742
 
3743
-					if ( ! empty( $args['options'] ) ) {
3743
+					if (!empty($args['options'])) {
3744 3744
 						$options .= "options: [";
3745
-						foreach ( $args['options'] as $option_val => $option_label ) {
3746
-							$options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . addslashes( $option_label ) . "' },";
3745
+						foreach ($args['options'] as $option_val => $option_label) {
3746
+							$options .= "{ value: '" . esc_attr($option_val) . "', label: '" . addslashes($option_label) . "' },";
3747 3747
 						}
3748 3748
 						$options .= "],";
3749 3749
 					}
3750 3750
 				}
3751
-				if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
3751
+				if (isset($args['multiple']) && $args['multiple']) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
3752 3752
 					$extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, ';
3753 3753
 				}
3754 3754
 
3755
-				if($args['type'] == 'multiselect' ||  ( isset( $args['multiple'] ) && $args['multiple'] ) ){
3756
-					$after_elements	 .= "props.attributes.$key && el( wp.components.Button, {
3755
+				if ($args['type'] == 'multiselect' || (isset($args['multiple']) && $args['multiple'])) {
3756
+					$after_elements .= "props.attributes.$key && el( wp.components.Button, {
3757 3757
                                       className: 'components-button components-circular-option-picker__clear is-secondary is-small',
3758 3758
                                       style: {margin:'-8px 0 8px 0',display: 'block'},
3759 3759
                                       onClick: function(){
@@ -3765,7 +3765,7 @@  discard block
 block discarded – undo
3765 3765
                                     'Clear'
3766 3766
                             ),";
3767 3767
 				}
3768
-			} elseif ( $args['type'] == 'tagselect' ) {
3768
+			} elseif ($args['type'] == 'tagselect') {
3769 3769
 //				$type = 'FormTokenField';
3770 3770
 //
3771 3771
 //				if ( ! empty( $args['options'] ) ) {
@@ -3800,19 +3800,19 @@  discard block
 block discarded – undo
3800 3800
 //				$value     = "[]";
3801 3801
 //				$extra .= ' __experimentalExpandOnFocus: true,';
3802 3802
 
3803
-			} else if ( $args['type'] == 'alignment' ) {
3803
+			} else if ($args['type'] == 'alignment') {
3804 3804
 				$type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
3805
-			} else if ( $args['type'] == 'margins' ) {
3805
+			} else if ($args['type'] == 'margins') {
3806 3806
 
3807
-			} else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) {
3807
+			} else if ($args['type'] == 'visibility_conditions' && (function_exists('wp_is_block_theme') && wp_is_block_theme())) {
3808 3808
 				$type = 'TextControl';
3809 3809
 				$value = "(props.attributes.$key ? props.attributes.$key : '')";
3810 3810
 				$args['type'] = 'text';
3811 3811
 				$options .= 'disabled:true,';
3812
-				$bsvc_title = esc_attr( addslashes( $args['title'] ) );
3813
-				$bsvc_body = $this->block_visibility_fields( $args );
3812
+				$bsvc_title = esc_attr(addslashes($args['title']));
3813
+				$bsvc_body = $this->block_visibility_fields($args);
3814 3814
 				// @TODO reset button
3815
-				$bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __( 'Reset', 'super-duper' ) . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __( 'Close', 'super-duper' ) . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __( 'Save Rules', 'super-duper' ) . '</button>';
3815
+				$bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __('Reset', 'super-duper') . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __('Close', 'super-duper') . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __('Save Rules', 'super-duper') . '</button>';
3816 3816
 				$after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, {
3817 3817
 						className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
3818 3818
 						onClick: function() {
@@ -3831,25 +3831,25 @@  discard block
 block discarded – undo
3831 3831
 									jQuery('.bs-vc-modal-form').trigger('change');
3832 3832
 								}
3833 3833
 							});
3834
-							aui_modal('" . $bsvc_title . "', '" . addslashes( $bsvc_body ) . "', '" . $bsvc_footer . "', true, 'bs-vc-modal', 'modal-lg', '');
3834
+							aui_modal('" . $bsvc_title . "', '" . addslashes($bsvc_body) . "', '" . $bsvc_footer . "', true, 'bs-vc-modal', 'modal-lg', '');
3835 3835
 							jQuery(document).off('change', '#bsvc_raw_value').on('change', '#bsvc_raw_value', function(e) {
3836 3836
 								props.setAttributes({" . $key . ": e.target.value});
3837 3837
 							});
3838 3838
 						}
3839 3839
 					},
3840
-					'" . addslashes( ! empty( $args['button_title'] ) ? $args['button_title'] : $args['title'] ) . "'
3840
+					'" . addslashes(!empty($args['button_title']) ? $args['button_title'] : $args['title']) . "'
3841 3841
 				) ),";
3842 3842
 			} else {
3843
-				return;// if we have not implemented the control then don't break the JS.
3843
+				return; // if we have not implemented the control then don't break the JS.
3844 3844
 			}
3845 3845
 
3846 3846
 			// color input does not show the labels so we add them
3847
-			if($args['type']=='color'){
3847
+			if ($args['type'] == 'color') {
3848 3848
 				// add show only if advanced
3849 3849
 				echo $require_advanced;
3850 3850
 				// add setting require if defined
3851 3851
 				echo $element_require;
3852
-				echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
3852
+				echo "el('div', {style: {'marginBottom': '8px'}}, '" . addslashes($args['title']) . "'),";
3853 3853
 			}
3854 3854
 
3855 3855
 			// add show only if advanced
@@ -3861,22 +3861,22 @@  discard block
 block discarded – undo
3861 3861
 			// icon
3862 3862
 			echo $icon;
3863 3863
 			?>
3864
-			el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type  : "wp.components.".$type; ?>, {
3865
-			label: <?php if ( empty( $args['title'] ) ) { echo "''"; } else if ( empty( $args['row'] ) && ! empty( $args['device_type'] ) ) { ?>el('label',{className:'components-base-control__label',style:{width:"100%"}},el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes( $args['title'] ) ?>'}}),<?php if ( $device_type_icon ) { ?>deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})<?php } ?>)<?php
3866
-			} else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>,
3867
-			help: <?php echo ( isset( $args['desc'] ) ? "el('span', {dangerouslySetInnerHTML: {__html: '" . trim( wp_kses_post( addslashes( $args['desc'] ) ) ) . "'}})" : "''" ); ?>,
3864
+			el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type : "wp.components." . $type; ?>, {
3865
+			label: <?php if (empty($args['title'])) { echo "''"; } else if (empty($args['row']) && !empty($args['device_type'])) { ?>el('label',{className:'components-base-control__label',style:{width:"100%"}},el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes($args['title']) ?>'}}),<?php if ($device_type_icon) { ?>deviceType == '<?php echo $device_type; ?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})<?php } ?>)<?php
3866
+			} else { ?>'<?php echo addslashes(trim(esc_html($args['title']))); ?>'<?php } ?>,
3867
+			help: <?php echo (isset($args['desc']) ? "el('span', {dangerouslySetInnerHTML: {__html: '" . trim(wp_kses_post(addslashes($args['desc']))) . "'}})" : "''"); ?>,
3868 3868
 			value: <?php echo $value; ?>,
3869
-			<?php if ( $type == 'TextControl' && $args['type'] != 'text' ) {
3870
-				echo "type: '" . addslashes( $args['type'] ) . "',";
3869
+			<?php if ($type == 'TextControl' && $args['type'] != 'text') {
3870
+				echo "type: '" . addslashes($args['type']) . "',";
3871 3871
 			} ?>
3872
-			<?php if ( ! empty( $args['placeholder'] ) ) {
3873
-				echo "placeholder: '" . addslashes( trim( esc_html( $args['placeholder'] ) ) ) . "',";
3872
+			<?php if (!empty($args['placeholder'])) {
3873
+				echo "placeholder: '" . addslashes(trim(esc_html($args['placeholder']))) . "',";
3874 3874
 			} ?>
3875 3875
 			<?php echo $options; ?>
3876 3876
 			<?php echo $extra; ?>
3877 3877
 			<?php echo $custom_attributes; ?>
3878 3878
 			<?php echo $onchangecomplete; ?>
3879
-			<?php if ( $onchange ) { ?>
3879
+			<?php if ($onchange) { ?>
3880 3880
 			onChange: function ( <?php echo $key; ?> ) {
3881 3881
 				<?php echo $onchange; ?>
3882 3882
 			}
@@ -3895,15 +3895,15 @@  discard block
 block discarded – undo
3895 3895
 		 *@todo there is prob a faster way to do this, also we could add some validation here.
3896 3896
 		 *
3897 3897
 		 */
3898
-		public function array_to_attributes( $custom_attributes, $html = false ) {
3898
+		public function array_to_attributes($custom_attributes, $html = false) {
3899 3899
 			$attributes = '';
3900
-			if ( ! empty( $custom_attributes ) ) {
3900
+			if (!empty($custom_attributes)) {
3901 3901
 
3902
-				foreach ( $custom_attributes as $key => $val ) {
3903
-					if(is_array($val)){
3904
-						$attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},';
3905
-					}else{
3906
-						$attributes .= $html ?  " $key='$val' " : "'$key': '$val',";
3902
+				foreach ($custom_attributes as $key => $val) {
3903
+					if (is_array($val)) {
3904
+						$attributes .= $key . ': {' . $this->array_to_attributes($val, $html) . '},';
3905
+					} else {
3906
+						$attributes .= $html ? " $key='$val' " : "'$key': '$val',";
3907 3907
 					}
3908 3908
 				}
3909 3909
 
@@ -3921,112 +3921,112 @@  discard block
 block discarded – undo
3921 3921
 		 *
3922 3922
 		 * @param $args
3923 3923
 		 */
3924
-		public function block_element( $args, $save = false ) {
3924
+		public function block_element($args, $save = false) {
3925 3925
 
3926 3926
 
3927
-			if ( ! empty( $args ) ) {
3928
-				foreach ( $args as $element => $new_args ) {
3927
+			if (!empty($args)) {
3928
+				foreach ($args as $element => $new_args) {
3929 3929
 
3930
-					if ( is_array( $new_args ) ) { // its an element
3930
+					if (is_array($new_args)) { // its an element
3931 3931
 
3932 3932
 
3933
-						if ( isset( $new_args['element'] ) ) {
3933
+						if (isset($new_args['element'])) {
3934 3934
 
3935
-							if ( isset( $new_args['element_require'] ) ) {
3936
-								echo str_replace( array(
3935
+							if (isset($new_args['element_require'])) {
3936
+								echo str_replace(array(
3937 3937
 										"'+",
3938 3938
 										"+'"
3939
-									), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
3940
-								unset( $new_args['element_require'] );
3939
+									), '', $this->block_props_replace($new_args['element_require'])) . " &&  ";
3940
+								unset($new_args['element_require']);
3941 3941
 							}
3942 3942
 
3943
-                            if($new_args['element']=='InnerBlocks'){
3943
+                            if ($new_args['element'] == 'InnerBlocks') {
3944 3944
                                 echo "\n el( InnerBlocks, {";
3945
-                            }elseif($new_args['element']=='innerBlocksProps'){
3945
+                            }elseif ($new_args['element'] == 'innerBlocksProps') {
3946 3946
                                 $element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div';
3947 3947
                               //  echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {";
3948 3948
 //                                echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
3949 3949
                                 echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
3950 3950
                                 echo $save ? "wp.blockEditor.useBlockProps.save( {" : "wp.blockEditor.useBlockProps( {";
3951
-                                echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
3951
+                                echo !empty($new_args['blockProps']) ? $this->block_element($new_args['blockProps'], $save) : '';
3952 3952
 
3953 3953
                                 echo "} ), {";
3954
-                                echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element( $new_args['innerBlocksProps'],$save ) : '';
3954
+                                echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element($new_args['innerBlocksProps'], $save) : '';
3955 3955
                             //    echo '###';
3956 3956
 
3957 3957
                               //  echo '###';
3958
-                            }elseif($new_args['element']=='BlocksProps'){
3958
+                            }elseif ($new_args['element'] == 'BlocksProps') {
3959 3959
 
3960
-								if ( isset($new_args['if_inner_element']) ) {
3960
+								if (isset($new_args['if_inner_element'])) {
3961 3961
 									$element = $new_args['if_inner_element'];
3962
-								}else {
3963
-									$element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'";
3962
+								} else {
3963
+									$element = isset($new_args['inner_element']) ? "'" . esc_attr($new_args['inner_element']) . "'" : "'div'";
3964 3964
 								}
3965 3965
 
3966 3966
 								unset($new_args['inner_element']);
3967 3967
                                 echo $save ? "\n el( $element, wp.blockEditor.useBlockProps.save( {" : "\n el( $element, wp.blockEditor.useBlockProps( {";
3968
-                                echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
3968
+                                echo !empty($new_args['blockProps']) ? $this->block_element($new_args['blockProps'], $save) : '';
3969 3969
 
3970 3970
 
3971 3971
                                // echo "} ),";
3972 3972
 
3973
-                            }else{
3973
+                            } else {
3974 3974
                                 echo "\n el( '" . $new_args['element'] . "', {";
3975 3975
                             }
3976 3976
 
3977 3977
 
3978 3978
 							// get the attributes
3979
-							foreach ( $new_args as $new_key => $new_value ) {
3979
+							foreach ($new_args as $new_key => $new_value) {
3980 3980
 
3981 3981
 
3982
-								if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
3982
+								if ($new_key == 'element' || $new_key == 'content' || $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array($new_value)) {
3983 3983
 									// do nothing
3984 3984
 								} else {
3985
-									echo $this->block_element( array( $new_key => $new_value ),$save );
3985
+									echo $this->block_element(array($new_key => $new_value), $save);
3986 3986
 								}
3987 3987
 							}
3988 3988
 
3989
-							echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes
3989
+							echo $new_args['element'] == 'BlocksProps' ? '} ),' : "},"; // end attributes
3990 3990
 
3991 3991
 							// get the content
3992 3992
 							$first_item = 0;
3993
-							foreach ( $new_args as $new_key => $new_value ) {
3994
-								if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) {
3993
+							foreach ($new_args as $new_key => $new_value) {
3994
+								if ($new_key === 'content' || $new_key === 'if_content' || is_array($new_value)) {
3995 3995
 
3996
-									if ( $new_key === 'content' ) {
3997
-										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
3998
-									}else if ( $new_key === 'if_content' ) {
3999
-										echo  $this->block_props_replace(  $new_value  );
3996
+									if ($new_key === 'content') {
3997
+										echo "'" . $this->block_props_replace(wp_slash($new_value)) . "'";
3998
+									} else if ($new_key === 'if_content') {
3999
+										echo  $this->block_props_replace($new_value);
4000 4000
 									}
4001 4001
 
4002
-									if ( is_array( $new_value ) ) {
4002
+									if (is_array($new_value)) {
4003 4003
 
4004
-										if ( isset( $new_value['element_require'] ) ) {
4005
-											echo str_replace( array(
4004
+										if (isset($new_value['element_require'])) {
4005
+											echo str_replace(array(
4006 4006
 													"'+",
4007 4007
 													"+'"
4008
-												), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
4009
-											unset( $new_value['element_require'] );
4008
+												), '', $this->block_props_replace($new_value['element_require'])) . " &&  ";
4009
+											unset($new_value['element_require']);
4010 4010
 										}
4011 4011
 
4012
-										if ( isset( $new_value['element_repeat'] ) ) {
4012
+										if (isset($new_value['element_repeat'])) {
4013 4013
 											$x = 1;
4014
-											while ( $x <= absint( $new_value['element_repeat'] ) ) {
4015
-												$this->block_element( array( '' => $new_value ),$save );
4016
-												$x ++;
4014
+											while ($x <= absint($new_value['element_repeat'])) {
4015
+												$this->block_element(array('' => $new_value), $save);
4016
+												$x++;
4017 4017
 											}
4018 4018
 										} else {
4019
-											$this->block_element( array( '' => $new_value ),$save );
4019
+											$this->block_element(array('' => $new_value), $save);
4020 4020
 										}
4021 4021
 									}
4022
-									$first_item ++;
4022
+									$first_item++;
4023 4023
 								}
4024 4024
 							}
4025 4025
 
4026
-                            if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){
4027
-                                echo "))";// end content
4028
-                            }else{
4029
-                                echo ")";// end content
4026
+                            if ($new_args['element'] == 'innerBlocksProps' || $new_args['element'] == 'xBlocksProps') {
4027
+                                echo "))"; // end content
4028
+                            } else {
4029
+                                echo ")"; // end content
4030 4030
                             }
4031 4031
 
4032 4032
 
@@ -4035,26 +4035,26 @@  discard block
 block discarded – undo
4035 4035
 						}
4036 4036
 					} else {
4037 4037
 
4038
-						if ( substr( $element, 0, 3 ) === "if_" ) {
4038
+						if (substr($element, 0, 3) === "if_") {
4039 4039
 							$extra = '';
4040
-							if( strpos($new_args, '[%WrapClass%]') !== false ){
4041
-								$new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args);
4042
-								$new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args);
4040
+							if (strpos($new_args, '[%WrapClass%]') !== false) {
4041
+								$new_args = str_replace('[%WrapClass%]"', '" + sd_build_aui_class(props.attributes)', $new_args);
4042
+								$new_args = str_replace('[%WrapClass%]', '+ sd_build_aui_class(props.attributes)', $new_args);
4043 4043
 							}
4044
-							echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
4045
-						} elseif ( $element == 'style' &&  strpos($new_args, '[%WrapStyle%]') !== false ) {
4046
-                            $new_args = str_replace('[%WrapStyle%]','',$new_args);
4047
-                            echo $element . ": {..." . $this->block_props_replace( $new_args ) . " , ...sd_build_aui_styles(props.attributes) },";
4044
+							echo str_replace("if_", "", $element) . ": " . $this->block_props_replace($new_args, true) . ",";
4045
+						} elseif ($element == 'style' && strpos($new_args, '[%WrapStyle%]') !== false) {
4046
+                            $new_args = str_replace('[%WrapStyle%]', '', $new_args);
4047
+                            echo $element . ": {..." . $this->block_props_replace($new_args) . " , ...sd_build_aui_styles(props.attributes) },";
4048 4048
 //                            echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4049
-						} elseif ( $element == 'style' ) {
4050
-							echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4051
-						} elseif ( ( $element == 'class' || $element == 'className'  ) &&  strpos($new_args, '[%WrapClass%]') !== false ) {
4052
-                            $new_args = str_replace('[%WrapClass%]','',$new_args);
4053
-                            echo $element . ": '" . $this->block_props_replace( $new_args ) . "' + sd_build_aui_class(props.attributes),";
4054
-						} elseif ( $element == 'template' && $new_args ) {
4049
+						} elseif ($element == 'style') {
4050
+							echo $element . ": " . $this->block_props_replace($new_args) . ",";
4051
+						} elseif (($element == 'class' || $element == 'className') && strpos($new_args, '[%WrapClass%]') !== false) {
4052
+                            $new_args = str_replace('[%WrapClass%]', '', $new_args);
4053
+                            echo $element . ": '" . $this->block_props_replace($new_args) . "' + sd_build_aui_class(props.attributes),";
4054
+						} elseif ($element == 'template' && $new_args) {
4055 4055
 							echo $element . ": $new_args,";
4056 4056
 						} else {
4057
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
4057
+							echo $element . ": '" . $this->block_props_replace($new_args) . "',";
4058 4058
 						}
4059 4059
 
4060 4060
 					}
@@ -4069,12 +4069,12 @@  discard block
 block discarded – undo
4069 4069
 		 *
4070 4070
 		 * @return mixed
4071 4071
 		 */
4072
-		public function block_props_replace( $string, $no_wrap = false ) {
4072
+		public function block_props_replace($string, $no_wrap = false) {
4073 4073
 
4074
-			if ( $no_wrap ) {
4075
-				$string = str_replace( array( "[%", "%]" ), array( "props.attributes.", "" ), $string );
4074
+			if ($no_wrap) {
4075
+				$string = str_replace(array("[%", "%]"), array("props.attributes.", ""), $string);
4076 4076
 			} else {
4077
-				$string = str_replace( array( "[%", "%]" ), array( "'+props.attributes.", "+'" ), $string );
4077
+				$string = str_replace(array("[%", "%]"), array("'+props.attributes.", "+'"), $string);
4078 4078
 			}
4079 4079
 
4080 4080
 			return $string;
@@ -4086,65 +4086,65 @@  discard block
 block discarded – undo
4086 4086
 		 * @param array $args
4087 4087
 		 * @param array $instance
4088 4088
 		 */
4089
-		public function widget( $args, $instance ) {
4090
-			if ( ! is_array( $args ) ) {
4089
+		public function widget($args, $instance) {
4090
+			if (!is_array($args)) {
4091 4091
 				$args = array();
4092 4092
 			}
4093 4093
 
4094 4094
 			// Get the filtered values
4095
-			$argument_values = $this->argument_values( $instance );
4096
-			$argument_values = $this->string_to_bool( $argument_values );
4097
-			$output          = $this->output( $argument_values, $args );
4095
+			$argument_values = $this->argument_values($instance);
4096
+			$argument_values = $this->string_to_bool($argument_values);
4097
+			$output          = $this->output($argument_values, $args);
4098 4098
 
4099 4099
 			$no_wrap = false;
4100
-			if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
4100
+			if (isset($argument_values['no_wrap']) && $argument_values['no_wrap']) {
4101 4101
 				$no_wrap = true;
4102 4102
 			}
4103 4103
 
4104 4104
 			ob_start();
4105
-			if ( $output && ! $no_wrap ) {
4105
+			if ($output && !$no_wrap) {
4106 4106
 
4107 4107
 				$class_original = $this->options['widget_ops']['classname'];
4108
-				$class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
4108
+				$class = $this->options['widget_ops']['classname'] . " sdel-" . $this->get_instance_hash();
4109 4109
 
4110 4110
 				// Before widget
4111
-				$before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : '';
4112
-				$before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget;
4113
-				$before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
4114
-				$before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
4111
+				$before_widget = !empty($args['before_widget']) ? $args['before_widget'] : '';
4112
+				$before_widget = $before_widget ? str_replace($class_original, $class, $before_widget) : $before_widget;
4113
+				$before_widget = apply_filters('wp_super_duper_before_widget', $before_widget, $args, $instance, $this);
4114
+				$before_widget = apply_filters('wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this);
4115 4115
 
4116 4116
 				// After widget
4117
-				$after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : '';
4118
-				$after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
4119
-				$after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
4117
+				$after_widget = !empty($args['after_widget']) ? $args['after_widget'] : '';
4118
+				$after_widget = apply_filters('wp_super_duper_after_widget', $after_widget, $args, $instance, $this);
4119
+				$after_widget = apply_filters('wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this);
4120 4120
 
4121 4121
 				echo $before_widget;
4122 4122
 				// elementor strips the widget wrapping div so we check for and add it back if needed
4123
-				if ( $this->is_elementor_widget_output() ) {
4123
+				if ($this->is_elementor_widget_output()) {
4124 4124
 					// Filter class & attrs for elementor widget output.
4125
-					$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
4126
-					$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
4125
+					$class = apply_filters('wp_super_duper_div_classname', $class, $args, $this);
4126
+					$class = apply_filters('wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this);
4127 4127
 
4128
-					$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
4129
-					$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
4128
+					$attrs = apply_filters('wp_super_duper_div_attrs', '', $args, $this);
4129
+					$attrs = apply_filters('wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this);
4130 4130
 
4131
-					echo "<span class='" . esc_attr( $class  ) . "' " . $attrs . ">";
4131
+					echo "<span class='" . esc_attr($class) . "' " . $attrs . ">";
4132 4132
 				}
4133
-				echo $this->output_title( $args, $instance );
4133
+				echo $this->output_title($args, $instance);
4134 4134
 				echo $output;
4135
-				if ( $this->is_elementor_widget_output() ) {
4135
+				if ($this->is_elementor_widget_output()) {
4136 4136
 					echo "</span>";
4137 4137
 				}
4138 4138
 				echo $after_widget;
4139
-			} elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
4140
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
4139
+			} elseif ($this->is_preview() && $output == '') {// if preview show a placeholder if empty
4140
+				$output = $this->preview_placeholder_text("{{" . $this->base_id . "}}");
4141 4141
 				echo $output;
4142
-			} elseif ( $output && $no_wrap ) {
4142
+			} elseif ($output && $no_wrap) {
4143 4143
 				echo $output;
4144 4144
 			}
4145 4145
 			$output = ob_get_clean();
4146 4146
 
4147
-			$output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
4147
+			$output = apply_filters('wp_super_duper_widget_output', $output, $instance, $args, $this);
4148 4148
 
4149 4149
 			echo $output;
4150 4150
 		}
@@ -4157,7 +4157,7 @@  discard block
 block discarded – undo
4157 4157
 		 */
4158 4158
 		public function is_elementor_widget_output() {
4159 4159
 			$result = false;
4160
-			if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
4160
+			if (defined('ELEMENTOR_VERSION') && isset($this->number) && $this->number == 'REPLACE_TO_ID') {
4161 4161
 				$result = true;
4162 4162
 			}
4163 4163
 
@@ -4172,7 +4172,7 @@  discard block
 block discarded – undo
4172 4172
 		 */
4173 4173
 		public function is_elementor_preview() {
4174 4174
 			$result = false;
4175
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
4175
+			if (isset($_REQUEST['elementor-preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') || (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor_ajax')) {
4176 4176
 				$result = true;
4177 4177
 			}
4178 4178
 
@@ -4187,7 +4187,7 @@  discard block
 block discarded – undo
4187 4187
 		 */
4188 4188
 		public function is_divi_preview() {
4189 4189
 			$result = false;
4190
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
4190
+			if (isset($_REQUEST['et_fb']) || isset($_REQUEST['et_pb_preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor')) {
4191 4191
 				$result = true;
4192 4192
 			}
4193 4193
 
@@ -4202,7 +4202,7 @@  discard block
 block discarded – undo
4202 4202
 		 */
4203 4203
 		public function is_beaver_preview() {
4204 4204
 			$result = false;
4205
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
4205
+			if (isset($_REQUEST['fl_builder'])) {
4206 4206
 				$result = true;
4207 4207
 			}
4208 4208
 
@@ -4217,7 +4217,7 @@  discard block
 block discarded – undo
4217 4217
 		 */
4218 4218
 		public function is_siteorigin_preview() {
4219 4219
 			$result = false;
4220
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
4220
+			if (!empty($_REQUEST['siteorigin_panels_live_editor'])) {
4221 4221
 				$result = true;
4222 4222
 			}
4223 4223
 
@@ -4232,7 +4232,7 @@  discard block
 block discarded – undo
4232 4232
 		 */
4233 4233
 		public function is_cornerstone_preview() {
4234 4234
 			$result = false;
4235
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
4235
+			if (!empty($_REQUEST['cornerstone_preview']) || basename($_SERVER['REQUEST_URI']) == 'cornerstone-endpoint') {
4236 4236
 				$result = true;
4237 4237
 			}
4238 4238
 
@@ -4247,7 +4247,7 @@  discard block
 block discarded – undo
4247 4247
 		 */
4248 4248
 		public function is_fusion_preview() {
4249 4249
 			$result = false;
4250
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
4250
+			if (!empty($_REQUEST['fb-edit']) || !empty($_REQUEST['fusion_load_nonce'])) {
4251 4251
 				$result = true;
4252 4252
 			}
4253 4253
 
@@ -4262,7 +4262,7 @@  discard block
 block discarded – undo
4262 4262
 		 */
4263 4263
 		public function is_oxygen_preview() {
4264 4264
 			$result = false;
4265
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
4265
+			if (!empty($_REQUEST['ct_builder']) || (!empty($_REQUEST['action']) && (substr($_REQUEST['action'], 0, 11) === "oxy_render_" || substr($_REQUEST['action'], 0, 10) === "ct_render_"))) {
4266 4266
 				$result = true;
4267 4267
 			}
4268 4268
 
@@ -4279,7 +4279,7 @@  discard block
 block discarded – undo
4279 4279
 		public function is_kallyas_zion_preview() {
4280 4280
 			$result = false;
4281 4281
 
4282
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
4282
+			if (function_exists('znhg_kallyas_theme_config') && !empty($_REQUEST['zn_pb_edit'])) {
4283 4283
 				$result = true;
4284 4284
 			}
4285 4285
 
@@ -4294,23 +4294,23 @@  discard block
 block discarded – undo
4294 4294
 		 */
4295 4295
 		public function is_preview() {
4296 4296
 			$preview = false;
4297
-			if ( $this->is_divi_preview() ) {
4297
+			if ($this->is_divi_preview()) {
4298 4298
 				$preview = true;
4299
-			} elseif ( $this->is_elementor_preview() ) {
4299
+			} elseif ($this->is_elementor_preview()) {
4300 4300
 				$preview = true;
4301
-			} elseif ( $this->is_beaver_preview() ) {
4301
+			} elseif ($this->is_beaver_preview()) {
4302 4302
 				$preview = true;
4303
-			} elseif ( $this->is_siteorigin_preview() ) {
4303
+			} elseif ($this->is_siteorigin_preview()) {
4304 4304
 				$preview = true;
4305
-			} elseif ( $this->is_cornerstone_preview() ) {
4305
+			} elseif ($this->is_cornerstone_preview()) {
4306 4306
 				$preview = true;
4307
-			} elseif ( $this->is_fusion_preview() ) {
4307
+			} elseif ($this->is_fusion_preview()) {
4308 4308
 				$preview = true;
4309
-			} elseif ( $this->is_oxygen_preview() ) {
4309
+			} elseif ($this->is_oxygen_preview()) {
4310 4310
 				$preview = true;
4311
-			} elseif( $this->is_kallyas_zion_preview() ) {
4311
+			} elseif ($this->is_kallyas_zion_preview()) {
4312 4312
 				$preview = true;
4313
-			} elseif( $this->is_block_content_call() ) {
4313
+			} elseif ($this->is_block_content_call()) {
4314 4314
 				$preview = true;
4315 4315
 			}
4316 4316
 
@@ -4325,34 +4325,34 @@  discard block
 block discarded – undo
4325 4325
 		 *
4326 4326
 		 * @return string
4327 4327
 		 */
4328
-		public function output_title( $args, $instance = array() ) {
4328
+		public function output_title($args, $instance = array()) {
4329 4329
 			$output = '';
4330
-			if ( ! empty( $instance['title'] ) ) {
4330
+			if (!empty($instance['title'])) {
4331 4331
 				/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
4332
-				$title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
4332
+				$title = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);
4333 4333
 
4334
-				if(empty($instance['widget_title_tag'])){
4334
+				if (empty($instance['widget_title_tag'])) {
4335 4335
 					$output = $args['before_title'] . $title . $args['after_title'];
4336
-				}else{
4337
-					$title_tag = esc_attr( $instance['widget_title_tag'] );
4336
+				} else {
4337
+					$title_tag = esc_attr($instance['widget_title_tag']);
4338 4338
 
4339 4339
 					// classes
4340 4340
 					$title_classes = array();
4341
-					$title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
4342
-					$title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
4343
-					$title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
4344
-					$title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
4345
-					$title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
4346
-					$title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
4347
-					$title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
4348
-					$title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
4349
-					$title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
4350
-					$title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
4351
-					$title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
4352
-					$title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
4353
-					$title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
4354
-
4355
-					$class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
4341
+					$title_classes[] = !empty($instance['widget_title_size_class']) ? sanitize_html_class($instance['widget_title_size_class']) : '';
4342
+					$title_classes[] = !empty($instance['widget_title_align_class']) ? sanitize_html_class($instance['widget_title_align_class']) : '';
4343
+					$title_classes[] = !empty($instance['widget_title_color_class']) ? "text-" . sanitize_html_class($instance['widget_title_color_class']) : '';
4344
+					$title_classes[] = !empty($instance['widget_title_border_class']) ? sanitize_html_class($instance['widget_title_border_class']) : '';
4345
+					$title_classes[] = !empty($instance['widget_title_border_color_class']) ? "border-" . sanitize_html_class($instance['widget_title_border_color_class']) : '';
4346
+					$title_classes[] = !empty($instance['widget_title_mt_class']) ? "mt-" . absint($instance['widget_title_mt_class']) : '';
4347
+					$title_classes[] = !empty($instance['widget_title_mr_class']) ? "mr-" . absint($instance['widget_title_mr_class']) : '';
4348
+					$title_classes[] = !empty($instance['widget_title_mb_class']) ? "mb-" . absint($instance['widget_title_mb_class']) : '';
4349
+					$title_classes[] = !empty($instance['widget_title_ml_class']) ? "ml-" . absint($instance['widget_title_ml_class']) : '';
4350
+					$title_classes[] = !empty($instance['widget_title_pt_class']) ? "pt-" . absint($instance['widget_title_pt_class']) : '';
4351
+					$title_classes[] = !empty($instance['widget_title_pr_class']) ? "pr-" . absint($instance['widget_title_pr_class']) : '';
4352
+					$title_classes[] = !empty($instance['widget_title_pb_class']) ? "pb-" . absint($instance['widget_title_pb_class']) : '';
4353
+					$title_classes[] = !empty($instance['widget_title_pl_class']) ? "pl-" . absint($instance['widget_title_pl_class']) : '';
4354
+
4355
+					$class = !empty($title_classes) ? implode(" ", $title_classes) : '';
4356 4356
 					$output = "<$title_tag class='$class' >$title</$title_tag>";
4357 4357
 				}
4358 4358
 
@@ -4366,7 +4366,7 @@  discard block
 block discarded – undo
4366 4366
 		 *
4367 4367
 		 * @param array $instance The widget options.
4368 4368
 		 */
4369
-		public function form( $instance ) {
4369
+		public function form($instance) {
4370 4370
 
4371 4371
 			// set widget instance
4372 4372
 			$this->instance = $instance;
@@ -4374,20 +4374,20 @@  discard block
 block discarded – undo
4374 4374
 			// set it as a SD widget
4375 4375
 			echo $this->widget_advanced_toggle();
4376 4376
 
4377
-			echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
4377
+			echo "<p>" . esc_attr($this->options['widget_ops']['description']) . "</p>";
4378 4378
 			$arguments_raw = $this->get_arguments();
4379 4379
 
4380
-			if ( is_array( $arguments_raw ) ) {
4380
+			if (is_array($arguments_raw)) {
4381 4381
 
4382
-				$arguments = $this->group_arguments( $arguments_raw );
4382
+				$arguments = $this->group_arguments($arguments_raw);
4383 4383
 
4384 4384
 				// Do we have sections?
4385 4385
 				$has_sections = $arguments == $arguments_raw ? false : true;
4386 4386
 
4387 4387
 
4388
-				if ( $has_sections ) {
4388
+				if ($has_sections) {
4389 4389
 					$panel_count = 0;
4390
-					foreach ( $arguments as $key => $args ) {
4390
+					foreach ($arguments as $key => $args) {
4391 4391
 
4392 4392
 						?>
4393 4393
 						<script>
@@ -4397,26 +4397,26 @@  discard block
 block discarded – undo
4397 4397
 
4398 4398
 						$hide       = $panel_count ? ' style="display:none;" ' : '';
4399 4399
 						$icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
4400
-						echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>";
4401
-						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
4400
+						echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes($key) . "'>" . esc_attr($key) . " <i style='float:right;' class='" . $icon_class . "'></i></button>";
4401
+						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes($key) . "' $hide>";
4402 4402
 
4403
-						foreach ( $args as $k => $a ) {
4403
+						foreach ($args as $k => $a) {
4404 4404
 
4405 4405
 							$this->widget_inputs_row_start($k, $a);
4406
-							$this->widget_inputs( $a, $instance );
4406
+							$this->widget_inputs($a, $instance);
4407 4407
 							$this->widget_inputs_row_end($k, $a);
4408 4408
 
4409 4409
 						}
4410 4410
 
4411 4411
 						echo "</div>";
4412 4412
 
4413
-						$panel_count ++;
4413
+						$panel_count++;
4414 4414
 
4415 4415
 					}
4416 4416
 				} else {
4417
-					foreach ( $arguments as $key => $args ) {
4417
+					foreach ($arguments as $key => $args) {
4418 4418
 						$this->widget_inputs_row_start($key, $args);
4419
-						$this->widget_inputs( $args, $instance );
4419
+						$this->widget_inputs($args, $instance);
4420 4420
 						$this->widget_inputs_row_end($key, $args);
4421 4421
 					}
4422 4422
 				}
@@ -4424,33 +4424,33 @@  discard block
 block discarded – undo
4424 4424
 			}
4425 4425
 		}
4426 4426
 
4427
-		public function widget_inputs_row_start($key, $args){
4428
-			if(!empty($args['row'])){
4427
+		public function widget_inputs_row_start($key, $args) {
4428
+			if (!empty($args['row'])) {
4429 4429
 				// maybe open
4430
-				if(!empty($args['row']['open'])){
4430
+				if (!empty($args['row']['open'])) {
4431 4431
 					?>
4432
-					<div class='bsui sd-argument ' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php if ( !empty($args['row']['element_require'])) {
4433
-						echo $this->convert_element_require( $args['row']['element_require'] );
4432
+					<div class='bsui sd-argument ' data-argument='<?php echo esc_attr($args['row']['key']); ?>' data-element_require='<?php if (!empty($args['row']['element_require'])) {
4433
+						echo $this->convert_element_require($args['row']['element_require']);
4434 4434
 					} ?>'>
4435
-					<?php if(!empty($args['row']['title'])){ ?>
4436
-					<label class="mb-0 "><?php echo esc_attr( $args['row']['title'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label>
4435
+					<?php if (!empty($args['row']['title'])) { ?>
4436
+					<label class="mb-0 "><?php echo esc_attr($args['row']['title']); ?><?php echo $this->widget_field_desc($args['row']); ?></label>
4437 4437
 					<?php }?>
4438
-					<div class='row <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>'>
4438
+					<div class='row <?php if (!empty($args['row']['class'])) { echo esc_attr($args['row']['class']); } ?>'>
4439 4439
 					<div class='col pr-2'>
4440 4440
 					<?php
4441
-				}elseif(!empty($args['row']['close'])){
4441
+				}elseif (!empty($args['row']['close'])) {
4442 4442
 					echo "<div class='col pl-0 ps-0'>";
4443
-				}else{
4443
+				} else {
4444 4444
 					echo "<div class='col pl-0 ps-0 pr-2 pe-2'>";
4445 4445
 				}
4446 4446
 			}
4447 4447
 		}
4448 4448
 
4449
-		public function widget_inputs_row_end($key, $args){
4449
+		public function widget_inputs_row_end($key, $args) {
4450 4450
 
4451
-			if(!empty($args['row'])){
4451
+			if (!empty($args['row'])) {
4452 4452
 				// maybe close
4453
-				if(!empty($args['row']['close'])){
4453
+				if (!empty($args['row']['close'])) {
4454 4454
 					echo "</div></div>";
4455 4455
 				}
4456 4456
 
@@ -4466,7 +4466,7 @@  discard block
 block discarded – undo
4466 4466
 		public function widget_advanced_toggle() {
4467 4467
 
4468 4468
 			$output = '';
4469
-			if ( $this->block_show_advanced() ) {
4469
+			if ($this->block_show_advanced()) {
4470 4470
 				$val = 1;
4471 4471
 			} else {
4472 4472
 				$val = 0;
@@ -4486,14 +4486,14 @@  discard block
 block discarded – undo
4486 4486
 		 *@since 1.0.0
4487 4487
 		 *
4488 4488
 		 */
4489
-		public function convert_element_require( $input ) {
4489
+		public function convert_element_require($input) {
4490 4490
 
4491
-			$input = str_replace( "'", '"', $input );// we only want double quotes
4491
+			$input = str_replace("'", '"', $input); // we only want double quotes
4492 4492
 
4493
-			$output = esc_attr( str_replace( array( "[%", "%]" ), array(
4493
+			$output = esc_attr(str_replace(array("[%", "%]"), array(
4494 4494
 				"jQuery(form).find('[data-argument=\"",
4495 4495
 				"\"]').find('input,select,textarea').val()"
4496
-			), $input ) );
4496
+			), $input));
4497 4497
 
4498 4498
 			return $output;
4499 4499
 		}
@@ -4504,48 +4504,48 @@  discard block
 block discarded – undo
4504 4504
 		 * @param $args
4505 4505
 		 * @param $instance
4506 4506
 		 */
4507
-		public function widget_inputs( $args, $instance ) {
4507
+		public function widget_inputs($args, $instance) {
4508 4508
 
4509 4509
 			$class             = "";
4510 4510
 			$element_require   = "";
4511 4511
 			$custom_attributes = "";
4512 4512
 
4513 4513
 			// get value
4514
-			if ( isset( $instance[ $args['name'] ] ) ) {
4515
-				$value = $instance[ $args['name'] ];
4516
-			} elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
4517
-				$value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
4514
+			if (isset($instance[$args['name']])) {
4515
+				$value = $instance[$args['name']];
4516
+			} elseif (!isset($instance[$args['name']]) && !empty($args['default'])) {
4517
+				$value = is_array($args['default']) ? array_map("esc_html", $args['default']) : esc_html($args['default']);
4518 4518
 			} else {
4519 4519
 				$value = '';
4520 4520
 			}
4521 4521
 
4522 4522
 			// get placeholder
4523
-			if ( ! empty( $args['placeholder'] ) ) {
4524
-				$placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
4523
+			if (!empty($args['placeholder'])) {
4524
+				$placeholder = "placeholder='" . esc_html($args['placeholder']) . "'";
4525 4525
 			} else {
4526 4526
 				$placeholder = '';
4527 4527
 			}
4528 4528
 
4529 4529
 			// get if advanced
4530
-			if ( isset( $args['advanced'] ) && $args['advanced'] ) {
4530
+			if (isset($args['advanced']) && $args['advanced']) {
4531 4531
 				$class .= " sd-advanced-setting ";
4532 4532
 			}
4533 4533
 
4534 4534
 			// element_require
4535
-			if ( isset( $args['element_require'] ) && $args['element_require'] ) {
4535
+			if (isset($args['element_require']) && $args['element_require']) {
4536 4536
 				$element_require = $args['element_require'];
4537 4537
 			}
4538 4538
 
4539 4539
 			// custom_attributes
4540
-			if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
4541
-				$custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
4540
+			if (isset($args['custom_attributes']) && $args['custom_attributes']) {
4541
+				$custom_attributes = $this->array_to_attributes($args['custom_attributes'], true);
4542 4542
 			}
4543 4543
 
4544 4544
 			// before wrapper
4545 4545
 			?>
4546
-			<p class="sd-argument <?php echo esc_attr( $class ); ?>" data-argument='<?php echo esc_attr( $args['name'] ); ?>' data-element_require='<?php if ( $element_require ) { echo $this->convert_element_require( $element_require );} ?>'>
4546
+			<p class="sd-argument <?php echo esc_attr($class); ?>" data-argument='<?php echo esc_attr($args['name']); ?>' data-element_require='<?php if ($element_require) { echo $this->convert_element_require($element_require); } ?>'>
4547 4547
 			<?php
4548
-			switch ( $args['type'] ) {
4548
+			switch ($args['type']) {
4549 4549
 				//array('text','password','number','email','tel','url','color')
4550 4550
 				case "text":
4551 4551
 				case "password":
@@ -4555,33 +4555,33 @@  discard block
 block discarded – undo
4555 4555
 				case "url":
4556 4556
 				case "color":
4557 4557
 					?>
4558
-					<label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label>
4559
-					<input <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="<?php echo esc_attr( $args['type'] ); ?>" value="<?php echo esc_attr( $value ); ?>">
4558
+					<label for="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"><?php echo $this->widget_field_title($args); ?><?php echo $this->widget_field_desc($args); ?></label>
4559
+					<input <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="<?php echo esc_attr($args['type']); ?>" value="<?php echo esc_attr($value); ?>">
4560 4560
 					<?php
4561 4561
 
4562 4562
 					break;
4563 4563
 				case "select":
4564
-					$multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
4565
-					if ( $multiple ) {
4566
-						if ( empty( $value ) ) {
4564
+					$multiple = isset($args['multiple']) && $args['multiple'] ? true : false;
4565
+					if ($multiple) {
4566
+						if (empty($value)) {
4567 4567
 							$value = array();
4568 4568
 						}
4569 4569
 					}
4570 4570
 					?>
4571
-					<label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label>
4572
-					<select <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); if ( $multiple ) { echo "[]"; } ?>"
4573
-						<?php if ( $multiple ) {
4571
+					<label for="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"><?php echo $this->widget_field_title($args); ?><?php echo $this->widget_field_desc($args); ?></label>
4572
+					<select <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" name="<?php echo esc_attr($this->get_field_name($args['name'])); if ($multiple) { echo "[]"; } ?>"
4573
+						<?php if ($multiple) {
4574 4574
 							echo "multiple";
4575 4575
 						} //@todo not implemented yet due to gutenberg not supporting it
4576 4576
 						?>>
4577 4577
 						<?php
4578 4578
 
4579
-						if ( ! empty( $args['options'] ) ) {
4580
-							foreach ( $args['options'] as $val => $label ) {
4581
-								if ( $multiple ) {
4582
-									$selected = in_array( $val, $value ) ? 'selected="selected"' : '';
4579
+						if (!empty($args['options'])) {
4580
+							foreach ($args['options'] as $val => $label) {
4581
+								if ($multiple) {
4582
+									$selected = in_array($val, $value) ? 'selected="selected"' : '';
4583 4583
 								} else {
4584
-									$selected = selected( $value, $val, false );
4584
+									$selected = selected($value, $val, false);
4585 4585
 								}
4586 4586
 								echo "<option value='$val' " . $selected . ">$label</option>";
4587 4587
 							}
@@ -4592,20 +4592,20 @@  discard block
 block discarded – undo
4592 4592
 					break;
4593 4593
 				case "checkbox":
4594 4594
 					?>
4595
-					<input <?php echo $placeholder; ?> <?php checked( 1, $value, true ) ?> <?php echo $custom_attributes; ?> class="widefat" id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="checkbox" value="1">
4596
-					<label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label>
4595
+					<input <?php echo $placeholder; ?> <?php checked(1, $value, true) ?> <?php echo $custom_attributes; ?> class="widefat" id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="checkbox" value="1">
4596
+					<label for="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"><?php echo $this->widget_field_title($args); ?><?php echo $this->widget_field_desc($args); ?></label>
4597 4597
 					<?php
4598 4598
 					break;
4599 4599
 				case "textarea":
4600 4600
 					?>
4601
-					<label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label>
4602
-					<textarea <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>"><?php echo esc_attr( $value ); ?></textarea>
4601
+					<label for="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"><?php echo $this->widget_field_title($args); ?><?php echo $this->widget_field_desc($args); ?></label>
4602
+					<textarea <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>"><?php echo esc_attr($value); ?></textarea>
4603 4603
 					<?php
4604 4604
 
4605 4605
 					break;
4606 4606
 				case "hidden":
4607 4607
 					?>
4608
-					<input id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="hidden" value="<?php echo esc_attr( $value ); ?>">
4608
+					<input id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="hidden" value="<?php echo esc_attr($value); ?>">
4609 4609
 					<?php
4610 4610
 					break;
4611 4611
 				default:
@@ -4615,15 +4615,15 @@  discard block
 block discarded – undo
4615 4615
 			?></p><?php
4616 4616
 		}
4617 4617
 
4618
-		public function get_widget_icon($icon = 'box-top', $title = ''){
4619
-			if($icon=='box-top'){
4620
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>';
4621
-			}elseif($icon=='box-right'){
4622
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>';
4623
-			}elseif($icon=='box-bottom'){
4624
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>';
4625
-			}elseif($icon=='box-left'){
4626
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>';
4618
+		public function get_widget_icon($icon = 'box-top', $title = '') {
4619
+			if ($icon == 'box-top') {
4620
+				return '<svg title="' . esc_attr($title) . '" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>';
4621
+			}elseif ($icon == 'box-right') {
4622
+				return '<svg title="' . esc_attr($title) . '" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>';
4623
+			}elseif ($icon == 'box-bottom') {
4624
+				return '<svg title="' . esc_attr($title) . '" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>';
4625
+			}elseif ($icon == 'box-left') {
4626
+				return '<svg title="' . esc_attr($title) . '" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>';
4627 4627
 			}
4628 4628
 		}
4629 4629
 
@@ -4635,14 +4635,14 @@  discard block
 block discarded – undo
4635 4635
 		 * @return string
4636 4636
 		 * @todo, need to make its own tooltip script
4637 4637
 		 */
4638
-		public function widget_field_desc( $args ) {
4638
+		public function widget_field_desc($args) {
4639 4639
 
4640 4640
 			$description = '';
4641
-			if ( isset( $args['desc'] ) && $args['desc'] ) {
4642
-				if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
4643
-					$description = $this->desc_tip( $args['desc'] );
4641
+			if (isset($args['desc']) && $args['desc']) {
4642
+				if (isset($args['desc_tip']) && $args['desc_tip']) {
4643
+					$description = $this->desc_tip($args['desc']);
4644 4644
 				} else {
4645
-					$description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
4645
+					$description = '<span class="description">' . wp_kses_post($args['desc']) . '</span>';
4646 4646
 				}
4647 4647
 			}
4648 4648
 
@@ -4656,12 +4656,12 @@  discard block
 block discarded – undo
4656 4656
 		 *
4657 4657
 		 * @return string
4658 4658
 		 */
4659
-		public function widget_field_title( $args ) {
4659
+		public function widget_field_title($args) {
4660 4660
 
4661 4661
 			$title = '';
4662
-			if ( isset( $args['title'] ) && $args['title'] ) {
4663
-				if ( isset( $args['icon'] ) && $args['icon'] ) {
4664
-					$title = self::get_widget_icon( $args['icon'], $args['title']  );
4662
+			if (isset($args['title']) && $args['title']) {
4663
+				if (isset($args['icon']) && $args['icon']) {
4664
+					$title = self::get_widget_icon($args['icon'], $args['title']);
4665 4665
 				} else {
4666 4666
 					$title = esc_attr($args['title']);
4667 4667
 				}
@@ -4678,11 +4678,11 @@  discard block
 block discarded – undo
4678 4678
 		 *
4679 4679
 		 * @return string
4680 4680
 		 */
4681
-		function desc_tip( $tip, $allow_html = false ) {
4682
-			if ( $allow_html ) {
4683
-				$tip = $this->sanitize_tooltip( $tip );
4681
+		function desc_tip($tip, $allow_html = false) {
4682
+			if ($allow_html) {
4683
+				$tip = $this->sanitize_tooltip($tip);
4684 4684
 			} else {
4685
-				$tip = esc_attr( $tip );
4685
+				$tip = esc_attr($tip);
4686 4686
 			}
4687 4687
 
4688 4688
 			return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
@@ -4695,8 +4695,8 @@  discard block
 block discarded – undo
4695 4695
 		 *
4696 4696
 		 * @return string
4697 4697
 		 */
4698
-		public function sanitize_tooltip( $var ) {
4699
-			return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
4698
+		public function sanitize_tooltip($var) {
4699
+			return htmlspecialchars(wp_kses(html_entity_decode($var), array(
4700 4700
 				'br'     => array(),
4701 4701
 				'em'     => array(),
4702 4702
 				'strong' => array(),
@@ -4706,7 +4706,7 @@  discard block
 block discarded – undo
4706 4706
 				'li'     => array(),
4707 4707
 				'ol'     => array(),
4708 4708
 				'p'      => array(),
4709
-			) ) );
4709
+			)));
4710 4710
 		}
4711 4711
 
4712 4712
 		/**
@@ -4718,23 +4718,23 @@  discard block
 block discarded – undo
4718 4718
 		 * @return array
4719 4719
 		 * @todo we should add some sanitation here.
4720 4720
 		 */
4721
-		public function update( $new_instance, $old_instance ) {
4721
+		public function update($new_instance, $old_instance) {
4722 4722
 
4723 4723
 			//save the widget
4724
-			$instance = array_merge( (array) $old_instance, (array) $new_instance );
4724
+			$instance = array_merge((array) $old_instance, (array) $new_instance);
4725 4725
 
4726 4726
 			// set widget instance
4727 4727
 			$this->instance = $instance;
4728 4728
 
4729
-			if ( empty( $this->arguments ) ) {
4729
+			if (empty($this->arguments)) {
4730 4730
 				$this->get_arguments();
4731 4731
 			}
4732 4732
 
4733 4733
 			// check for checkboxes
4734
-			if ( ! empty( $this->arguments ) ) {
4735
-				foreach ( $this->arguments as $argument ) {
4736
-					if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
4737
-						$instance[ $argument['name'] ] = '0';
4734
+			if (!empty($this->arguments)) {
4735
+				foreach ($this->arguments as $argument) {
4736
+					if (isset($argument['type']) && $argument['type'] == 'checkbox' && !isset($new_instance[$argument['name']])) {
4737
+						$instance[$argument['name']] = '0';
4738 4738
 					}
4739 4739
 				}
4740 4740
 			}
@@ -4752,7 +4752,7 @@  discard block
 block discarded – undo
4752 4752
 		 */
4753 4753
 		public function is_block_content_call() {
4754 4754
 			$result = false;
4755
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
4755
+			if (wp_doing_ajax() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'super_duper_output_shortcode') {
4756 4756
 				$result = true;
4757 4757
 			}
4758 4758
 
@@ -4765,9 +4765,9 @@  discard block
 block discarded – undo
4765 4765
 		 * @return string
4766 4766
 		 *@since 1.0.20
4767 4767
 		 */
4768
-		public function get_instance_hash(){
4769
-			$instance_string = $this->base_id.serialize($this->instance);
4770
-			return hash('crc32b',$instance_string);
4768
+		public function get_instance_hash() {
4769
+			$instance_string = $this->base_id . serialize($this->instance);
4770
+			return hash('crc32b', $instance_string);
4771 4771
 		}
4772 4772
 
4773 4773
 		/**
@@ -4778,14 +4778,14 @@  discard block
 block discarded – undo
4778 4778
 		 * @return string
4779 4779
 		 *@since 1.0.20
4780 4780
 		 */
4781
-		public function get_instance_style($rules = array()){
4781
+		public function get_instance_style($rules = array()) {
4782 4782
 			$css = '';
4783 4783
 
4784
-			if(!empty($rules)){
4784
+			if (!empty($rules)) {
4785 4785
 				$rules = array_unique($rules);
4786 4786
 				$instance_hash = $this->get_instance_hash();
4787 4787
 				$css .= "<style>";
4788
-				foreach($rules as $rule){
4788
+				foreach ($rules as $rule) {
4789 4789
 					$css .= ".sdel-$instance_hash $rule";
4790 4790
 				}
4791 4791
 				$css .= "</style>";
@@ -4803,9 +4803,9 @@  discard block
 block discarded – undo
4803 4803
 		 *@since 1.0.28
4804 4804
 		 *
4805 4805
 		 */
4806
-		public function encode_shortcodes( $content ) {
4806
+		public function encode_shortcodes($content) {
4807 4807
 			// Avoids existing encoded tags.
4808
-			$trans   = array(
4808
+			$trans = array(
4809 4809
 				'&#91;' => '&#091;',
4810 4810
 				'&#93;' => '&#093;',
4811 4811
 				'&amp;#91;' => '&#091;',
@@ -4816,7 +4816,7 @@  discard block
 block discarded – undo
4816 4816
 				'&amp;gt;' => '&0gt;',
4817 4817
 			);
4818 4818
 
4819
-			$content = strtr( $content, $trans );
4819
+			$content = strtr($content, $trans);
4820 4820
 
4821 4821
 			$trans   = array(
4822 4822
 				'[' => '&#91;',
@@ -4827,7 +4827,7 @@  discard block
 block discarded – undo
4827 4827
 				"'" => '&#39;',
4828 4828
 			);
4829 4829
 
4830
-			$content = strtr( $content, $trans );
4830
+			$content = strtr($content, $trans);
4831 4831
 
4832 4832
 			return $content;
4833 4833
 		}
@@ -4841,8 +4841,8 @@  discard block
 block discarded – undo
4841 4841
 		 *@since 1.0.28
4842 4842
 		 *
4843 4843
 		 */
4844
-		public function decode_shortcodes( $content ) {
4845
-			$trans   = array(
4844
+		public function decode_shortcodes($content) {
4845
+			$trans = array(
4846 4846
 				'&#91;' => '[',
4847 4847
 				'&#93;' => ']',
4848 4848
 				'&amp;#91;' => '[',
@@ -4855,7 +4855,7 @@  discard block
 block discarded – undo
4855 4855
 				'&apos;' => "'",
4856 4856
 			);
4857 4857
 
4858
-			$content = strtr( $content, $trans );
4858
+			$content = strtr($content, $trans);
4859 4859
 
4860 4860
 			$trans   = array(
4861 4861
 				'&#091;' => '&#91;',
@@ -4868,31 +4868,31 @@  discard block
 block discarded – undo
4868 4868
 				'&amp;0gt;' => '&gt;',
4869 4869
 			);
4870 4870
 
4871
-			$content = strtr( $content, $trans );
4871
+			$content = strtr($content, $trans);
4872 4872
 
4873 4873
 			return $content;
4874 4874
 		}
4875 4875
 
4876
-		public function block_visibility_fields( $args ) {
4877
-			$value = ! empty( $args['value'] ) ? esc_attr( $args['value'] ) : '';
4876
+		public function block_visibility_fields($args) {
4877
+			$value = !empty($args['value']) ? esc_attr($args['value']) : '';
4878 4878
 			$content = '<div class="bs-vc-rule-template d-none">';
4879 4879
 				$content .= '<div class="p-3 pb-0 mb-3 border border-1 rounded-1 position-relative bs-vc-rule" data-bs-index="BSVCINDEX" >';
4880 4880
 					$content .= '<div class="row">';
4881 4881
 						$content .= '<div class="col-sm-12">';
4882
-							$content .= '<div class="bs-rule-action position-absolute top-0 end-0 p-2 zindex-5"><span class="text-danger c-pointer bs-vc-remove-rule" title="' . esc_attr__( 'Remove Rule', 'super-duper' ) . '"><i class="fas fa-circle-minus fs-6"></i></span></div>';
4882
+							$content .= '<div class="bs-rule-action position-absolute top-0 end-0 p-2 zindex-5"><span class="text-danger c-pointer bs-vc-remove-rule" title="' . esc_attr__('Remove Rule', 'super-duper') . '"><i class="fas fa-circle-minus fs-6"></i></span></div>';
4883 4883
 							$content .= aui()->select(
4884 4884
 								array(
4885 4885
 									'id'          => 'bsvc_rule_BSVCINDEX',
4886 4886
 									'name'        => 'bsvc_rule_BSVCINDEX',
4887
-									'label'       => __( 'Rule', 'super-duper' ),
4888
-									'placeholder' => __( 'Select Rule...', 'super-duper' ),
4887
+									'label'       => __('Rule', 'super-duper'),
4888
+									'placeholder' => __('Select Rule...', 'super-duper'),
4889 4889
 									'class'       => 'bsvc_rule form-select-sm',
4890 4890
 									'options'     => sd_visibility_rules_options(),
4891 4891
 									'default'     => '',
4892 4892
 									'value'       => '',
4893 4893
 									'label_type'  => '',
4894 4894
 									'select2'     => false,
4895
-									'input_group_left' => __( 'Rule:', 'super-duper' ),
4895
+									'input_group_left' => __('Rule:', 'super-duper'),
4896 4896
 									'extra_attributes' => array(
4897 4897
 										'data-minimum-results-for-search' => '-1'
4898 4898
 									)
@@ -4901,15 +4901,15 @@  discard block
 block discarded – undo
4901 4901
 
4902 4902
 						$content .= '</div>';
4903 4903
 
4904
-						if ( class_exists( 'GeoDirectory' ) ) {
4904
+						if (class_exists('GeoDirectory')) {
4905 4905
 							$content .= '<div class="col-md-7 col-sm-12">';
4906 4906
 
4907 4907
 								$content .= aui()->select(
4908 4908
 									array(
4909 4909
 										'id'          => 'bsvc_gd_field_BSVCINDEX',
4910 4910
 										'name'        => 'bsvc_gd_field_BSVCINDEX',
4911
-										'label'       => __( 'FIELD', 'super-duper' ),
4912
-										'placeholder' => __( 'FIELD', 'super-duper' ),
4911
+										'label'       => __('FIELD', 'super-duper'),
4912
+										'placeholder' => __('FIELD', 'super-duper'),
4913 4913
 										'class'       => 'bsvc_gd_field form-select-sm',
4914 4914
 										'options'     => sd_visibility_gd_field_options(),
4915 4915
 										'default'     => '',
@@ -4930,8 +4930,8 @@  discard block
 block discarded – undo
4930 4930
 									array(
4931 4931
 										'id'          => 'bsvc_gd_field_condition_BSVCINDEX',
4932 4932
 										'name'        => 'bsvc_gd_field_condition_BSVCINDEX',
4933
-										'label'       => __( 'CONDITION', 'super-duper' ),
4934
-										'placeholder' => __( 'CONDITION', 'super-duper' ),
4933
+										'label'       => __('CONDITION', 'super-duper'),
4934
+										'placeholder' => __('CONDITION', 'super-duper'),
4935 4935
 										'class'       => 'bsvc_gd_field_condition form-select-sm',
4936 4936
 										'options'     => sd_visibility_field_condition_options(),
4937 4937
 										'default'     => '',
@@ -4953,9 +4953,9 @@  discard block
 block discarded – undo
4953 4953
 										'type'            => 'text',
4954 4954
 										'id'              => 'bsvc_gd_field_search_BSVCINDEX',
4955 4955
 										'name'            => 'bsvc_gd_field_search_BSVCINDEX',
4956
-										'label'           => __( 'VALUE TO MATCH', 'super-duper' ),
4956
+										'label'           => __('VALUE TO MATCH', 'super-duper'),
4957 4957
 										'class'           => 'bsvc_gd_field_search form-control-sm',
4958
-										'placeholder'     => __( 'VALUE TO MATCH', 'super-duper' ),
4958
+										'placeholder'     => __('VALUE TO MATCH', 'super-duper'),
4959 4959
 										'label_type'      => '',
4960 4960
 										'value'           => '',
4961 4961
 										'element_require' => '([%bsvc_rule_BSVCINDEX%]=="gd_field" && [%bsvc_gd_field_condition_BSVCINDEX%] && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_empty" && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_not_empty")'
@@ -4967,11 +4967,11 @@  discard block
 block discarded – undo
4967 4967
 
4968 4968
 					$content .= '</div>';
4969 4969
 
4970
-					$content .= '<div class="row aui-conditional-field" data-element-require="jQuery(form).find(\'[name=bsvc_rule_BSVCINDEX]\').val()==\'user_roles\'" data-argument="bsvc_user_roles_BSVCINDEX_1"><label for="bsvc_user_roles_BSVCINDEX_1" class="form-label mb-3">' . __( 'Select User Roles:', 'super-duper' ) . '</label>';
4970
+					$content .= '<div class="row aui-conditional-field" data-element-require="jQuery(form).find(\'[name=bsvc_rule_BSVCINDEX]\').val()==\'user_roles\'" data-argument="bsvc_user_roles_BSVCINDEX_1"><label for="bsvc_user_roles_BSVCINDEX_1" class="form-label mb-3">' . __('Select User Roles:', 'super-duper') . '</label>';
4971 4971
 						$role_options = sd_user_roles_options();
4972 4972
 
4973 4973
 						$role_option_i = 0;
4974
-						foreach ( $role_options as $role_option_key => $role_option_name ) {
4974
+						foreach ($role_options as $role_option_key => $role_option_name) {
4975 4975
 							$role_option_i++;
4976 4976
 
4977 4977
 							$content .= '<div class="col-sm-6">';
@@ -4995,14 +4995,14 @@  discard block
 block discarded – undo
4995 4995
 			$content .= '</div>';
4996 4996
 			$content .= '<form id="bs-vc-modal-form" class="bs-vc-modal-form">';
4997 4997
 			$content .= '<div class="bs-vc-rule-sets"></div>';
4998
-			$content .= '<div class="row"><div class="col-sm-12 text-center pt-1 pb-4"><button type="button" class="btn btn-sm btn-primary d-block w-100 bs-vc-add-rule"><i class="fas fa-plus"></i> ' . __( 'Add Rule', 'super-duper' ) . '</button></div></div>';
4998
+			$content .= '<div class="row"><div class="col-sm-12 text-center pt-1 pb-4"><button type="button" class="btn btn-sm btn-primary d-block w-100 bs-vc-add-rule"><i class="fas fa-plus"></i> ' . __('Add Rule', 'super-duper') . '</button></div></div>';
4999 4999
 			$content .= '<div class="row"><div class="col-md-6 col-sm-12">';
5000 5000
 			$content .= aui()->select(
5001 5001
 				array(
5002 5002
 					'id'          => 'bsvc_output',
5003 5003
 					'name'        => 'bsvc_output',
5004
-					'label'       => __( 'What should happen if rules met.', 'super-duper' ),
5005
-					'placeholder' => __( 'Default Output', 'super-duper' ),
5004
+					'label'       => __('What should happen if rules met.', 'super-duper'),
5005
+					'placeholder' => __('Default Output', 'super-duper'),
5006 5006
 					'class'       => 'bsvc_output form-select-sm',
5007 5007
 					'options'     => sd_visibility_output_options(),
5008 5008
 					'default'     => '',
@@ -5021,8 +5021,8 @@  discard block
 block discarded – undo
5021 5021
 				array(
5022 5022
 					'id'              => 'bsvc_page',
5023 5023
 					'name'            => 'bsvc_page',
5024
-					'label'           => __( 'Page Content', 'super-duper' ),
5025
-					'placeholder'     => __( 'Select Page ID...', 'super-duper' ),
5024
+					'label'           => __('Page Content', 'super-duper'),
5025
+					'placeholder'     => __('Select Page ID...', 'super-duper'),
5026 5026
 					'class'           => 'bsvc_page form-select-sm',
5027 5027
 					'options'         => sd_template_page_options(),
5028 5028
 					'default'         => '',
@@ -5037,8 +5037,8 @@  discard block
 block discarded – undo
5037 5037
 				array(
5038 5038
 					'id'          => 'bsvc_tmpl_part',
5039 5039
 					'name'        => 'bsvc_tmpl_part',
5040
-					'label'       => __( 'Template Part', 'super-duper' ),
5041
-					'placeholder' => __( 'Select Template Part...', 'super-duper' ),
5040
+					'label'       => __('Template Part', 'super-duper'),
5041
+					'placeholder' => __('Select Template Part...', 'super-duper'),
5042 5042
 					'class'       => 'bsvc_tmpl_part form-select-sm',
5043 5043
 					'options'     => sd_template_part_options(),
5044 5044
 					'default'     => '',
@@ -5056,8 +5056,8 @@  discard block
 block discarded – undo
5056 5056
 				array(
5057 5057
 					'id'               => 'bsvc_message_type',
5058 5058
 					'name'             => 'bsvc_message_type',
5059
-					'label'            => __( 'Custom Message Type', 'super-duper' ),
5060
-					'placeholder'      => __( 'Default (none)', 'super-duper' ),
5059
+					'label'            => __('Custom Message Type', 'super-duper'),
5060
+					'placeholder'      => __('Default (none)', 'super-duper'),
5061 5061
 					'class'            => 'bsvc_message_type form-select-sm',
5062 5062
 					'options'          => sd_aui_colors(),
5063 5063
 					'default'          => '',
@@ -5080,7 +5080,7 @@  discard block
 block discarded – undo
5080 5080
 					'name'            => 'bsvc_message',
5081 5081
 					'label'           => '',
5082 5082
 					'class'           => 'bsvc_message form-control-sm',
5083
-					'placeholder'     => __( 'CUSTOM MESSAGE TO SHOW', 'super-duper' ),
5083
+					'placeholder'     => __('CUSTOM MESSAGE TO SHOW', 'super-duper'),
5084 5084
 					'label_type'      => '',
5085 5085
 					'value'           => '',
5086 5086
 					'form_group_class' => ' ',
Please login to merge, or discard this patch.
vendor/ayecode/wp-super-duper/sd-functions.php 2 patches
Indentation   +2490 added lines, -2490 removed lines patch added patch discarded remove patch
@@ -11,21 +11,21 @@  discard block
 block discarded – undo
11 11
  * @return mixed|void
12 12
  */
13 13
 function sd_pagenow_exclude() {
14
-	return apply_filters(
15
-		'sd_pagenow_exclude',
16
-		array(
17
-			'upload.php',
18
-			'edit-comments.php',
19
-			'edit-tags.php',
20
-			'index.php',
21
-			'media-new.php',
22
-			'options-discussion.php',
23
-			'options-writing.php',
24
-			'edit.php',
25
-			'themes.php',
26
-			'users.php',
27
-		)
28
-	);
14
+    return apply_filters(
15
+        'sd_pagenow_exclude',
16
+        array(
17
+            'upload.php',
18
+            'edit-comments.php',
19
+            'edit-tags.php',
20
+            'index.php',
21
+            'media-new.php',
22
+            'options-discussion.php',
23
+            'options-writing.php',
24
+            'edit.php',
25
+            'themes.php',
26
+            'users.php',
27
+        )
28
+    );
29 29
 }
30 30
 
31 31
 
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
  * @return mixed|void
38 38
  */
39 39
 function sd_widget_exclude() {
40
-	return apply_filters( 'sd_widget_exclude', array() );
40
+    return apply_filters( 'sd_widget_exclude', array() );
41 41
 }
42 42
 
43 43
 
@@ -50,83 +50,83 @@  discard block
 block discarded – undo
50 50
  * @return array
51 51
  */
52 52
 function sd_get_margin_input( $type = 'mt', $overwrite = array(), $include_negatives = true ) {
53
-	global $aui_bs5;
54
-	$options = array(
55
-		''     => __( 'None', 'super-duper' ),
56
-		'auto' => __( 'auto', 'super-duper' ),
57
-		'0'    => '0',
58
-		'1'    => '1',
59
-		'2'    => '2',
60
-		'3'    => '3',
61
-		'4'    => '4',
62
-		'5'    => '5',
63
-		'6'    => '6',
64
-		'7'    => '7',
65
-		'8'    => '8',
66
-		'9'    => '9',
67
-		'10'   => '10',
68
-		'11'   => '11',
69
-		'12'   => '12',
70
-	);
71
-
72
-	if ( $include_negatives ) {
73
-		$options['n1']  = '-1';
74
-		$options['n2']  = '-2';
75
-		$options['n3']  = '-3';
76
-		$options['n4']  = '-4';
77
-		$options['n5']  = '-5';
78
-		$options['n6']  = '-6';
79
-		$options['n7']  = '-7';
80
-		$options['n8']  = '-8';
81
-		$options['n9']  = '-9';
82
-		$options['n10'] = '-10';
83
-		$options['n11'] = '-11';
84
-		$options['n12'] = '-12';
85
-	}
86
-
87
-	$defaults = array(
88
-		'type'     => 'select',
89
-		'title'    => __( 'Margin top', 'super-duper' ),
90
-		'options'  => $options,
91
-		'default'  => '',
92
-		'desc_tip' => true,
93
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
94
-	);
95
-
96
-	// title
97
-	if ( $type == 'mt' ) {
98
-		$defaults['title'] = __( 'Margin top', 'super-duper' );
99
-		$defaults['icon']  = 'box-top';
100
-		$defaults['row']   = array(
101
-			'title' => __( 'Margins', 'super-duper' ),
102
-			'key'   => 'wrapper-margins',
103
-			'open'  => true,
104
-			'class' => 'text-center',
105
-		);
106
-	} elseif ( $type == 'mr' ) {
107
-		$defaults['title'] = __( 'Margin right', 'super-duper' );
108
-		$defaults['icon']  = 'box-right';
109
-		$defaults['row']   = array(
110
-			'key' => 'wrapper-margins',
111
-		);
112
-	} elseif ( $type == 'mb' ) {
113
-		$defaults['title'] = __( 'Margin bottom', 'super-duper' );
114
-		$defaults['icon']  = 'box-bottom';
115
-		$defaults['row']   = array(
116
-			'key' => 'wrapper-margins',
117
-		);
118
-	} elseif ( $type == 'ml' ) {
119
-		$defaults['title'] = __( 'Margin left', 'super-duper' );
120
-		$defaults['icon']  = 'box-left';
121
-		$defaults['row']   = array(
122
-			'key'   => 'wrapper-margins',
123
-			'close' => true,
124
-		);
125
-	}
126
-
127
-	$input = wp_parse_args( $overwrite, $defaults );
128
-
129
-	return $input;
53
+    global $aui_bs5;
54
+    $options = array(
55
+        ''     => __( 'None', 'super-duper' ),
56
+        'auto' => __( 'auto', 'super-duper' ),
57
+        '0'    => '0',
58
+        '1'    => '1',
59
+        '2'    => '2',
60
+        '3'    => '3',
61
+        '4'    => '4',
62
+        '5'    => '5',
63
+        '6'    => '6',
64
+        '7'    => '7',
65
+        '8'    => '8',
66
+        '9'    => '9',
67
+        '10'   => '10',
68
+        '11'   => '11',
69
+        '12'   => '12',
70
+    );
71
+
72
+    if ( $include_negatives ) {
73
+        $options['n1']  = '-1';
74
+        $options['n2']  = '-2';
75
+        $options['n3']  = '-3';
76
+        $options['n4']  = '-4';
77
+        $options['n5']  = '-5';
78
+        $options['n6']  = '-6';
79
+        $options['n7']  = '-7';
80
+        $options['n8']  = '-8';
81
+        $options['n9']  = '-9';
82
+        $options['n10'] = '-10';
83
+        $options['n11'] = '-11';
84
+        $options['n12'] = '-12';
85
+    }
86
+
87
+    $defaults = array(
88
+        'type'     => 'select',
89
+        'title'    => __( 'Margin top', 'super-duper' ),
90
+        'options'  => $options,
91
+        'default'  => '',
92
+        'desc_tip' => true,
93
+        'group'    => __( 'Wrapper Styles', 'super-duper' ),
94
+    );
95
+
96
+    // title
97
+    if ( $type == 'mt' ) {
98
+        $defaults['title'] = __( 'Margin top', 'super-duper' );
99
+        $defaults['icon']  = 'box-top';
100
+        $defaults['row']   = array(
101
+            'title' => __( 'Margins', 'super-duper' ),
102
+            'key'   => 'wrapper-margins',
103
+            'open'  => true,
104
+            'class' => 'text-center',
105
+        );
106
+    } elseif ( $type == 'mr' ) {
107
+        $defaults['title'] = __( 'Margin right', 'super-duper' );
108
+        $defaults['icon']  = 'box-right';
109
+        $defaults['row']   = array(
110
+            'key' => 'wrapper-margins',
111
+        );
112
+    } elseif ( $type == 'mb' ) {
113
+        $defaults['title'] = __( 'Margin bottom', 'super-duper' );
114
+        $defaults['icon']  = 'box-bottom';
115
+        $defaults['row']   = array(
116
+            'key' => 'wrapper-margins',
117
+        );
118
+    } elseif ( $type == 'ml' ) {
119
+        $defaults['title'] = __( 'Margin left', 'super-duper' );
120
+        $defaults['icon']  = 'box-left';
121
+        $defaults['row']   = array(
122
+            'key'   => 'wrapper-margins',
123
+            'close' => true,
124
+        );
125
+    }
126
+
127
+    $input = wp_parse_args( $overwrite, $defaults );
128
+
129
+    return $input;
130 130
 }
131 131
 
132 132
 /**
@@ -138,67 +138,67 @@  discard block
 block discarded – undo
138 138
  * @return array
139 139
  */
140 140
 function sd_get_padding_input( $type = 'pt', $overwrite = array() ) {
141
-	$options = array(
142
-		''   => __( 'None', 'super-duper' ),
143
-		'0'  => '0',
144
-		'1'  => '1',
145
-		'2'  => '2',
146
-		'3'  => '3',
147
-		'4'  => '4',
148
-		'5'  => '5',
149
-		'6'  => '6',
150
-		'7'  => '7',
151
-		'8'  => '8',
152
-		'9'  => '9',
153
-		'10' => '10',
154
-		'11' => '11',
155
-		'12' => '12',
156
-	);
157
-
158
-	$defaults = array(
159
-		'type'     => 'select',
160
-		'title'    => __( 'Padding top', 'super-duper' ),
161
-		'options'  => $options,
162
-		'default'  => '',
163
-		'desc_tip' => true,
164
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
165
-	);
166
-
167
-	// title
168
-	if ( $type == 'pt' ) {
169
-		$defaults['title'] = __( 'Padding top', 'super-duper' );
170
-		$defaults['icon']  = 'box-top';
171
-		$defaults['row']   = array(
172
-			'title' => __( 'Padding', 'super-duper' ),
173
-			'key'   => 'wrapper-padding',
174
-			'open'  => true,
175
-			'class' => 'text-center',
176
-		);
177
-	} elseif ( $type == 'pr' ) {
178
-		$defaults['title'] = __( 'Padding right', 'super-duper' );
179
-		$defaults['icon']  = 'box-right';
180
-		$defaults['row']   = array(
181
-			'key' => 'wrapper-padding',
182
-		);
183
-	} elseif ( $type == 'pb' ) {
184
-		$defaults['title'] = __( 'Padding bottom', 'super-duper' );
185
-		$defaults['icon']  = 'box-bottom';
186
-		$defaults['row']   = array(
187
-			'key' => 'wrapper-padding',
188
-		);
189
-	} elseif ( $type == 'pl' ) {
190
-		$defaults['title'] = __( 'Padding left', 'super-duper' );
191
-		$defaults['icon']  = 'box-left';
192
-		$defaults['row']   = array(
193
-			'key'   => 'wrapper-padding',
194
-			'close' => true,
195
-
196
-		);
197
-	}
198
-
199
-	$input = wp_parse_args( $overwrite, $defaults );
200
-
201
-	return $input;
141
+    $options = array(
142
+        ''   => __( 'None', 'super-duper' ),
143
+        '0'  => '0',
144
+        '1'  => '1',
145
+        '2'  => '2',
146
+        '3'  => '3',
147
+        '4'  => '4',
148
+        '5'  => '5',
149
+        '6'  => '6',
150
+        '7'  => '7',
151
+        '8'  => '8',
152
+        '9'  => '9',
153
+        '10' => '10',
154
+        '11' => '11',
155
+        '12' => '12',
156
+    );
157
+
158
+    $defaults = array(
159
+        'type'     => 'select',
160
+        'title'    => __( 'Padding top', 'super-duper' ),
161
+        'options'  => $options,
162
+        'default'  => '',
163
+        'desc_tip' => true,
164
+        'group'    => __( 'Wrapper Styles', 'super-duper' ),
165
+    );
166
+
167
+    // title
168
+    if ( $type == 'pt' ) {
169
+        $defaults['title'] = __( 'Padding top', 'super-duper' );
170
+        $defaults['icon']  = 'box-top';
171
+        $defaults['row']   = array(
172
+            'title' => __( 'Padding', 'super-duper' ),
173
+            'key'   => 'wrapper-padding',
174
+            'open'  => true,
175
+            'class' => 'text-center',
176
+        );
177
+    } elseif ( $type == 'pr' ) {
178
+        $defaults['title'] = __( 'Padding right', 'super-duper' );
179
+        $defaults['icon']  = 'box-right';
180
+        $defaults['row']   = array(
181
+            'key' => 'wrapper-padding',
182
+        );
183
+    } elseif ( $type == 'pb' ) {
184
+        $defaults['title'] = __( 'Padding bottom', 'super-duper' );
185
+        $defaults['icon']  = 'box-bottom';
186
+        $defaults['row']   = array(
187
+            'key' => 'wrapper-padding',
188
+        );
189
+    } elseif ( $type == 'pl' ) {
190
+        $defaults['title'] = __( 'Padding left', 'super-duper' );
191
+        $defaults['icon']  = 'box-left';
192
+        $defaults['row']   = array(
193
+            'key'   => 'wrapper-padding',
194
+            'close' => true,
195
+
196
+        );
197
+    }
198
+
199
+    $input = wp_parse_args( $overwrite, $defaults );
200
+
201
+    return $input;
202 202
 }
203 203
 
204 204
 /**
@@ -210,97 +210,97 @@  discard block
 block discarded – undo
210 210
  * @return array
211 211
  */
212 212
 function sd_get_border_input( $type = 'border', $overwrite = array() ) {
213
-	global $aui_bs5;
214
-
215
-	$defaults = array(
216
-		'type'     => 'select',
217
-		'title'    => __( 'Border', 'super-duper' ),
218
-		'options'  => array(),
219
-		'default'  => '',
220
-		'desc_tip' => true,
221
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
222
-	);
223
-
224
-	// title
225
-	if ( 'rounded' === $type ) {
226
-		$defaults['title']           = __( 'Border radius type', 'super-duper' );
227
-		$defaults['options']         = array(
228
-			''               => __( 'Default', 'super-duper' ),
229
-			'rounded'        => 'rounded',
230
-			'rounded-top'    => 'rounded-top',
231
-			'rounded-right'  => 'rounded-right',
232
-			'rounded-bottom' => 'rounded-bottom',
233
-			'rounded-left'   => 'rounded-left',
234
-		);
235
-		$defaults['element_require'] = '[%border%]';
236
-	} elseif ( 'rounded_size' === $type ) {
237
-		$defaults['title'] = __( 'Border radius size', 'super-duper' );
238
-
239
-		if ( $aui_bs5 ) {
240
-			$defaults['options'] = array(
241
-				''       => __( 'Default', 'super-duper' ),
242
-				'0'      => '0',
243
-				'1'      => '1',
244
-				'2'      => '2',
245
-				'3'      => '3',
246
-				'4'      => '4',
247
-				'circle' => 'circle',
248
-				'pill'   => 'pill',
249
-			);
250
-		} else {
251
-			$defaults['options'] = array(
252
-				''   => __( 'Default', 'super-duper' ),
253
-				'sm' => __( 'Small', 'super-duper' ),
254
-				'lg' => __( 'Large', 'super-duper' ),
255
-			);
256
-		}
257
-		$defaults['element_require'] = '[%border%]';
258
-	} elseif ( 'width' === $type ) { // BS%
259
-		$defaults['title']           = __( 'Border width', 'super-duper' );
260
-		$defaults['options']         = array(
261
-			''         => __( 'Default', 'super-duper' ),
262
-			'border-2' => '2',
263
-			'border-3' => '3',
264
-			'border-4' => '4',
265
-			'border-5' => '5',
266
-		);
267
-		$defaults['element_require'] = $aui_bs5 ? '[%border%]' : '1==2';
268
-	} elseif ( 'opacity' === $type ) { // BS%
269
-		$defaults['title']           = __( 'Border opacity', 'super-duper' );
270
-		$defaults['options']         = array(
271
-			''                  => __( 'Default', 'super-duper' ),
272
-			'border-opacity-75' => '75%',
273
-			'border-opacity-50' => '50%',
274
-			'border-opacity-25' => '25%',
275
-			'border-opacity-10' => '10%',
276
-		);
277
-		$defaults['element_require'] = $aui_bs5 ? '[%border%]' : '1==2';
278
-	} elseif ( 'type' === $type ) {
279
-		$defaults['title']           = __( 'Border show', 'super-duper' );
280
-		$defaults['options']         = array(
281
-			'border'          => __( 'Full (set color to show)', 'super-duper' ),
282
-			'border-top'      => __( 'Top', 'super-duper' ),
283
-			'border-bottom'   => __( 'Bottom', 'super-duper' ),
284
-			'border-left'     => __( 'Left', 'super-duper' ),
285
-			'border-right'    => __( 'Right', 'super-duper' ),
286
-			'border-top-0'    => __( '-Top', 'super-duper' ),
287
-			'border-bottom-0' => __( '-Bottom', 'super-duper' ),
288
-			'border-left-0'   => __( '-Left', 'super-duper' ),
289
-			'border-right-0'  => __( '-Right', 'super-duper' ),
290
-		);
291
-		$defaults['element_require'] = '[%border%]';
292
-
293
-	} else {
294
-		$defaults['title']   = __( 'Border color', 'super-duper' );
295
-		$defaults['options'] = array(
296
-			                       ''  => __( 'Default', 'super-duper' ),
297
-			                       '0' => __( 'None', 'super-duper' ),
298
-		                       ) + sd_aui_colors();
299
-	}
300
-
301
-	$input = wp_parse_args( $overwrite, $defaults );
302
-
303
-	return $input;
213
+    global $aui_bs5;
214
+
215
+    $defaults = array(
216
+        'type'     => 'select',
217
+        'title'    => __( 'Border', 'super-duper' ),
218
+        'options'  => array(),
219
+        'default'  => '',
220
+        'desc_tip' => true,
221
+        'group'    => __( 'Wrapper Styles', 'super-duper' ),
222
+    );
223
+
224
+    // title
225
+    if ( 'rounded' === $type ) {
226
+        $defaults['title']           = __( 'Border radius type', 'super-duper' );
227
+        $defaults['options']         = array(
228
+            ''               => __( 'Default', 'super-duper' ),
229
+            'rounded'        => 'rounded',
230
+            'rounded-top'    => 'rounded-top',
231
+            'rounded-right'  => 'rounded-right',
232
+            'rounded-bottom' => 'rounded-bottom',
233
+            'rounded-left'   => 'rounded-left',
234
+        );
235
+        $defaults['element_require'] = '[%border%]';
236
+    } elseif ( 'rounded_size' === $type ) {
237
+        $defaults['title'] = __( 'Border radius size', 'super-duper' );
238
+
239
+        if ( $aui_bs5 ) {
240
+            $defaults['options'] = array(
241
+                ''       => __( 'Default', 'super-duper' ),
242
+                '0'      => '0',
243
+                '1'      => '1',
244
+                '2'      => '2',
245
+                '3'      => '3',
246
+                '4'      => '4',
247
+                'circle' => 'circle',
248
+                'pill'   => 'pill',
249
+            );
250
+        } else {
251
+            $defaults['options'] = array(
252
+                ''   => __( 'Default', 'super-duper' ),
253
+                'sm' => __( 'Small', 'super-duper' ),
254
+                'lg' => __( 'Large', 'super-duper' ),
255
+            );
256
+        }
257
+        $defaults['element_require'] = '[%border%]';
258
+    } elseif ( 'width' === $type ) { // BS%
259
+        $defaults['title']           = __( 'Border width', 'super-duper' );
260
+        $defaults['options']         = array(
261
+            ''         => __( 'Default', 'super-duper' ),
262
+            'border-2' => '2',
263
+            'border-3' => '3',
264
+            'border-4' => '4',
265
+            'border-5' => '5',
266
+        );
267
+        $defaults['element_require'] = $aui_bs5 ? '[%border%]' : '1==2';
268
+    } elseif ( 'opacity' === $type ) { // BS%
269
+        $defaults['title']           = __( 'Border opacity', 'super-duper' );
270
+        $defaults['options']         = array(
271
+            ''                  => __( 'Default', 'super-duper' ),
272
+            'border-opacity-75' => '75%',
273
+            'border-opacity-50' => '50%',
274
+            'border-opacity-25' => '25%',
275
+            'border-opacity-10' => '10%',
276
+        );
277
+        $defaults['element_require'] = $aui_bs5 ? '[%border%]' : '1==2';
278
+    } elseif ( 'type' === $type ) {
279
+        $defaults['title']           = __( 'Border show', 'super-duper' );
280
+        $defaults['options']         = array(
281
+            'border'          => __( 'Full (set color to show)', 'super-duper' ),
282
+            'border-top'      => __( 'Top', 'super-duper' ),
283
+            'border-bottom'   => __( 'Bottom', 'super-duper' ),
284
+            'border-left'     => __( 'Left', 'super-duper' ),
285
+            'border-right'    => __( 'Right', 'super-duper' ),
286
+            'border-top-0'    => __( '-Top', 'super-duper' ),
287
+            'border-bottom-0' => __( '-Bottom', 'super-duper' ),
288
+            'border-left-0'   => __( '-Left', 'super-duper' ),
289
+            'border-right-0'  => __( '-Right', 'super-duper' ),
290
+        );
291
+        $defaults['element_require'] = '[%border%]';
292
+
293
+    } else {
294
+        $defaults['title']   = __( 'Border color', 'super-duper' );
295
+        $defaults['options'] = array(
296
+                                    ''  => __( 'Default', 'super-duper' ),
297
+                                    '0' => __( 'None', 'super-duper' ),
298
+                                ) + sd_aui_colors();
299
+    }
300
+
301
+    $input = wp_parse_args( $overwrite, $defaults );
302
+
303
+    return $input;
304 304
 }
305 305
 
306 306
 /**
@@ -312,25 +312,25 @@  discard block
 block discarded – undo
312 312
  * @return array
313 313
  */
314 314
 function sd_get_shadow_input( $type = 'shadow', $overwrite = array() ) {
315
-	$options = array(
316
-		''          => __( 'None', 'super-duper' ),
317
-		'shadow-sm' => __( 'Small', 'super-duper' ),
318
-		'shadow'    => __( 'Regular', 'super-duper' ),
319
-		'shadow-lg' => __( 'Large', 'super-duper' ),
320
-	);
315
+    $options = array(
316
+        ''          => __( 'None', 'super-duper' ),
317
+        'shadow-sm' => __( 'Small', 'super-duper' ),
318
+        'shadow'    => __( 'Regular', 'super-duper' ),
319
+        'shadow-lg' => __( 'Large', 'super-duper' ),
320
+    );
321 321
 
322
-	$defaults = array(
323
-		'type'     => 'select',
324
-		'title'    => __( 'Shadow', 'super-duper' ),
325
-		'options'  => $options,
326
-		'default'  => '',
327
-		'desc_tip' => true,
328
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
329
-	);
322
+    $defaults = array(
323
+        'type'     => 'select',
324
+        'title'    => __( 'Shadow', 'super-duper' ),
325
+        'options'  => $options,
326
+        'default'  => '',
327
+        'desc_tip' => true,
328
+        'group'    => __( 'Wrapper Styles', 'super-duper' ),
329
+    );
330 330
 
331
-	$input = wp_parse_args( $overwrite, $defaults );
331
+    $input = wp_parse_args( $overwrite, $defaults );
332 332
 
333
-	return $input;
333
+    return $input;
334 334
 }
335 335
 
336 336
 /**
@@ -342,23 +342,23 @@  discard block
 block discarded – undo
342 342
  * @return array
343 343
  */
344 344
 function sd_get_background_input( $type = 'bg', $overwrite = array() ) {
345
-	$options = array(
346
-		           ''            => __( 'None', 'super-duper' ),
347
-		           'transparent' => __( 'Transparent', 'super-duper' ),
348
-	           ) + sd_aui_colors();
345
+    $options = array(
346
+                    ''            => __( 'None', 'super-duper' ),
347
+                    'transparent' => __( 'Transparent', 'super-duper' ),
348
+                ) + sd_aui_colors();
349 349
 
350
-	$defaults = array(
351
-		'type'     => 'select',
352
-		'title'    => __( 'Background color', 'super-duper' ),
353
-		'options'  => $options,
354
-		'default'  => '',
355
-		'desc_tip' => true,
356
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
357
-	);
350
+    $defaults = array(
351
+        'type'     => 'select',
352
+        'title'    => __( 'Background color', 'super-duper' ),
353
+        'options'  => $options,
354
+        'default'  => '',
355
+        'desc_tip' => true,
356
+        'group'    => __( 'Wrapper Styles', 'super-duper' ),
357
+    );
358 358
 
359
-	$input = wp_parse_args( $overwrite, $defaults );
359
+    $input = wp_parse_args( $overwrite, $defaults );
360 360
 
361
-	return $input;
361
+    return $input;
362 362
 }
363 363
 
364 364
 /**
@@ -370,35 +370,35 @@  discard block
 block discarded – undo
370 370
  * @return array
371 371
  */
372 372
 function sd_get_opacity_input( $type = 'opacity', $overwrite = array() ) {
373
-	$options = array(
374
-		''            => __( 'Default', 'super-duper' ),
375
-		'opacity-10'  => '10%',
376
-		'opacity-15'  => '15%',
377
-		'opacity-25'  => '25%',
378
-		'opacity-35'  => '35%',
379
-		'opacity-40'  => '40%',
380
-		'opacity-50'  => '50%',
381
-		'opacity-60'  => '60%',
382
-		'opacity-65'  => '65%',
383
-		'opacity-70'  => '70%',
384
-		'opacity-75'  => '75%',
385
-		'opacity-80'  => '80%',
386
-		'opacity-90'  => '90%',
387
-		'opacity-100' => '100%',
388
-	);
389
-
390
-	$defaults = array(
391
-		'type'     => 'select',
392
-		'title'    => __( 'Opacity', 'super-duper' ),
393
-		'options'  => $options,
394
-		'default'  => '',
395
-		'desc_tip' => true,
396
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
397
-	);
398
-
399
-	$input = wp_parse_args( $overwrite, $defaults );
400
-
401
-	return $input;
373
+    $options = array(
374
+        ''            => __( 'Default', 'super-duper' ),
375
+        'opacity-10'  => '10%',
376
+        'opacity-15'  => '15%',
377
+        'opacity-25'  => '25%',
378
+        'opacity-35'  => '35%',
379
+        'opacity-40'  => '40%',
380
+        'opacity-50'  => '50%',
381
+        'opacity-60'  => '60%',
382
+        'opacity-65'  => '65%',
383
+        'opacity-70'  => '70%',
384
+        'opacity-75'  => '75%',
385
+        'opacity-80'  => '80%',
386
+        'opacity-90'  => '90%',
387
+        'opacity-100' => '100%',
388
+    );
389
+
390
+    $defaults = array(
391
+        'type'     => 'select',
392
+        'title'    => __( 'Opacity', 'super-duper' ),
393
+        'options'  => $options,
394
+        'default'  => '',
395
+        'desc_tip' => true,
396
+        'group'    => __( 'Wrapper Styles', 'super-duper' ),
397
+    );
398
+
399
+    $input = wp_parse_args( $overwrite, $defaults );
400
+
401
+    return $input;
402 402
 }
403 403
 
404 404
 /**
@@ -411,124 +411,124 @@  discard block
 block discarded – undo
411 411
  */
412 412
 function sd_get_background_inputs( $type = 'bg', $overwrite = array(), $overwrite_color = array(), $overwrite_gradient = array(), $overwrite_image = array(), $include_button_colors = false ) {
413 413
 
414
-	$color_options = $include_button_colors ? sd_aui_colors( false, true, true, true ) : sd_aui_colors();
415
-
416
-	$options = array(
417
-		           ''            => __( 'None', 'super-duper' ),
418
-		           'transparent' => __( 'Transparent', 'super-duper' ),
419
-	           ) + $color_options;
420
-
421
-	if ( false !== $overwrite_color ) {
422
-		$options['custom-color'] = __( 'Custom Color', 'super-duper' );
423
-	}
424
-
425
-	if ( false !== $overwrite_gradient ) {
426
-		$options['custom-gradient'] = __( 'Custom Gradient', 'super-duper' );
427
-	}
428
-
429
-	$defaults = array(
430
-		'type'     => 'select',
431
-		'title'    => __( 'Background Color', 'super-duper' ),
432
-		'options'  => $options,
433
-		'default'  => '',
434
-		'desc_tip' => true,
435
-		'group'    => __( 'Background', 'super-duper' ),
436
-	);
437
-
438
-	if ( $overwrite !== false ) {
439
-		$input[ $type ] = wp_parse_args( $overwrite, $defaults );
440
-	}
441
-
442
-	if ( $overwrite_color !== false ) {
443
-		$input[ $type . '_color' ] = wp_parse_args(
444
-			$overwrite_color,
445
-			array(
446
-				'type'            => 'color',
447
-				'title'           => __( 'Custom color', 'super-duper' ),
448
-				'placeholder'     => '',
449
-				'default'         => '#0073aa',
450
-				'desc_tip'        => true,
451
-				'group'           => __( 'Background', 'super-duper' ),
452
-				'element_require' => '[%' . $type . '%]=="custom-color"',
453
-			)
454
-		);
455
-	}
456
-
457
-	if ( $overwrite_gradient !== false ) {
458
-		$input[ $type . '_gradient' ] = wp_parse_args(
459
-			$overwrite_gradient,
460
-			array(
461
-				'type'            => 'gradient',
462
-				'title'           => __( 'Custom gradient', 'super-duper' ),
463
-				'placeholder'     => '',
464
-				'default'         => 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)',
465
-				'desc_tip'        => true,
466
-				'group'           => __( 'Background', 'super-duper' ),
467
-				'element_require' => '[%' . $type . '%]=="custom-gradient"',
468
-			)
469
-		);
470
-	}
471
-
472
-	if ( $overwrite_image !== false ) {
473
-
474
-		$input[ $type . '_image_fixed' ] = array(
475
-			'type'            => 'checkbox',
476
-			'title'           => __( 'Fixed background', 'super-duper' ),
477
-			'default'         => '',
478
-			'desc_tip'        => true,
479
-			'group'           => ! empty( $overwrite_image['group'] ) ? $overwrite_image['group'] : __( 'Background', 'super-duper' ),
480
-			'element_require' => '( [%' . $type . '%]=="" || [%' . $type . '%]=="custom-color" || [%' . $type . '%]=="custom-gradient" || [%' . $type . '%]=="transparent" )',
481
-
482
-		);
483
-
484
-		$input[ $type . '_image_use_featured' ] = array(
485
-			'type'            => 'checkbox',
486
-			'title'           => __( 'Use featured image', 'super-duper' ),
487
-			'default'         => '',
488
-			'desc_tip'        => true,
489
-			'group'           => ! empty( $overwrite_image['group'] ) ? $overwrite_image['group'] : __( 'Background', 'super-duper' ),
490
-			'element_require' => '( [%' . $type . '%]=="" || [%' . $type . '%]=="custom-color" || [%' . $type . '%]=="custom-gradient" || [%' . $type . '%]=="transparent" )',
491
-
492
-		);
493
-
494
-		$input[ $type . '_image' ] = wp_parse_args(
495
-			$overwrite_image,
496
-			array(
497
-				'type'        => 'image',
498
-				'title'       => __( 'Custom image', 'super-duper' ),
499
-				'placeholder' => '',
500
-				'default'     => '',
501
-				'desc_tip'    => true,
502
-				'group'       => __( 'Background', 'super-duper' ),
503
-				//          'element_require' => ' ![%' . $type . '_image_use_featured%] '
504
-			)
505
-		);
506
-
507
-		$input[ $type . '_image_id' ] = wp_parse_args(
508
-			$overwrite_image,
509
-			array(
510
-				'type'        => 'hidden',
511
-				'hidden_type' => 'number',
512
-				'title'       => '',
513
-				'placeholder' => '',
514
-				'default'     => '',
515
-				'group'       => __( 'Background', 'super-duper' ),
516
-			)
517
-		);
518
-
519
-		$input[ $type . '_image_xy' ] = wp_parse_args(
520
-			$overwrite_image,
521
-			array(
522
-				'type'        => 'image_xy',
523
-				'title'       => '',
524
-				'placeholder' => '',
525
-				'default'     => '',
526
-				'group'       => __( 'Background', 'super-duper' ),
527
-			)
528
-		);
529
-	}
530
-
531
-	return $input;
414
+    $color_options = $include_button_colors ? sd_aui_colors( false, true, true, true ) : sd_aui_colors();
415
+
416
+    $options = array(
417
+                    ''            => __( 'None', 'super-duper' ),
418
+                    'transparent' => __( 'Transparent', 'super-duper' ),
419
+                ) + $color_options;
420
+
421
+    if ( false !== $overwrite_color ) {
422
+        $options['custom-color'] = __( 'Custom Color', 'super-duper' );
423
+    }
424
+
425
+    if ( false !== $overwrite_gradient ) {
426
+        $options['custom-gradient'] = __( 'Custom Gradient', 'super-duper' );
427
+    }
428
+
429
+    $defaults = array(
430
+        'type'     => 'select',
431
+        'title'    => __( 'Background Color', 'super-duper' ),
432
+        'options'  => $options,
433
+        'default'  => '',
434
+        'desc_tip' => true,
435
+        'group'    => __( 'Background', 'super-duper' ),
436
+    );
437
+
438
+    if ( $overwrite !== false ) {
439
+        $input[ $type ] = wp_parse_args( $overwrite, $defaults );
440
+    }
441
+
442
+    if ( $overwrite_color !== false ) {
443
+        $input[ $type . '_color' ] = wp_parse_args(
444
+            $overwrite_color,
445
+            array(
446
+                'type'            => 'color',
447
+                'title'           => __( 'Custom color', 'super-duper' ),
448
+                'placeholder'     => '',
449
+                'default'         => '#0073aa',
450
+                'desc_tip'        => true,
451
+                'group'           => __( 'Background', 'super-duper' ),
452
+                'element_require' => '[%' . $type . '%]=="custom-color"',
453
+            )
454
+        );
455
+    }
456
+
457
+    if ( $overwrite_gradient !== false ) {
458
+        $input[ $type . '_gradient' ] = wp_parse_args(
459
+            $overwrite_gradient,
460
+            array(
461
+                'type'            => 'gradient',
462
+                'title'           => __( 'Custom gradient', 'super-duper' ),
463
+                'placeholder'     => '',
464
+                'default'         => 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)',
465
+                'desc_tip'        => true,
466
+                'group'           => __( 'Background', 'super-duper' ),
467
+                'element_require' => '[%' . $type . '%]=="custom-gradient"',
468
+            )
469
+        );
470
+    }
471
+
472
+    if ( $overwrite_image !== false ) {
473
+
474
+        $input[ $type . '_image_fixed' ] = array(
475
+            'type'            => 'checkbox',
476
+            'title'           => __( 'Fixed background', 'super-duper' ),
477
+            'default'         => '',
478
+            'desc_tip'        => true,
479
+            'group'           => ! empty( $overwrite_image['group'] ) ? $overwrite_image['group'] : __( 'Background', 'super-duper' ),
480
+            'element_require' => '( [%' . $type . '%]=="" || [%' . $type . '%]=="custom-color" || [%' . $type . '%]=="custom-gradient" || [%' . $type . '%]=="transparent" )',
481
+
482
+        );
483
+
484
+        $input[ $type . '_image_use_featured' ] = array(
485
+            'type'            => 'checkbox',
486
+            'title'           => __( 'Use featured image', 'super-duper' ),
487
+            'default'         => '',
488
+            'desc_tip'        => true,
489
+            'group'           => ! empty( $overwrite_image['group'] ) ? $overwrite_image['group'] : __( 'Background', 'super-duper' ),
490
+            'element_require' => '( [%' . $type . '%]=="" || [%' . $type . '%]=="custom-color" || [%' . $type . '%]=="custom-gradient" || [%' . $type . '%]=="transparent" )',
491
+
492
+        );
493
+
494
+        $input[ $type . '_image' ] = wp_parse_args(
495
+            $overwrite_image,
496
+            array(
497
+                'type'        => 'image',
498
+                'title'       => __( 'Custom image', 'super-duper' ),
499
+                'placeholder' => '',
500
+                'default'     => '',
501
+                'desc_tip'    => true,
502
+                'group'       => __( 'Background', 'super-duper' ),
503
+                //          'element_require' => ' ![%' . $type . '_image_use_featured%] '
504
+            )
505
+        );
506
+
507
+        $input[ $type . '_image_id' ] = wp_parse_args(
508
+            $overwrite_image,
509
+            array(
510
+                'type'        => 'hidden',
511
+                'hidden_type' => 'number',
512
+                'title'       => '',
513
+                'placeholder' => '',
514
+                'default'     => '',
515
+                'group'       => __( 'Background', 'super-duper' ),
516
+            )
517
+        );
518
+
519
+        $input[ $type . '_image_xy' ] = wp_parse_args(
520
+            $overwrite_image,
521
+            array(
522
+                'type'        => 'image_xy',
523
+                'title'       => '',
524
+                'placeholder' => '',
525
+                'default'     => '',
526
+                'group'       => __( 'Background', 'super-duper' ),
527
+            )
528
+        );
529
+    }
530
+
531
+    return $input;
532 532
 }
533 533
 
534 534
 /**
@@ -541,175 +541,175 @@  discard block
 block discarded – undo
541 541
  */
542 542
 function sd_get_shape_divider_inputs( $type = 'sd', $overwrite = array(), $overwrite_color = array(), $overwrite_gradient = array(), $overwrite_image = array() ) {
543 543
 
544
-	$options = array(
545
-		''                      => __( 'None', 'super-duper' ),
546
-		'mountains'             => __( 'Mountains', 'super-duper' ),
547
-		'drops'                 => __( 'Drops', 'super-duper' ),
548
-		'clouds'                => __( 'Clouds', 'super-duper' ),
549
-		'zigzag'                => __( 'Zigzag', 'super-duper' ),
550
-		'pyramids'              => __( 'Pyramids', 'super-duper' ),
551
-		'triangle'              => __( 'Triangle', 'super-duper' ),
552
-		'triangle-asymmetrical' => __( 'Triangle Asymmetrical', 'super-duper' ),
553
-		'tilt'                  => __( 'Tilt', 'super-duper' ),
554
-		'opacity-tilt'          => __( 'Opacity Tilt', 'super-duper' ),
555
-		'opacity-fan'           => __( 'Opacity Fan', 'super-duper' ),
556
-		'curve'                 => __( 'Curve', 'super-duper' ),
557
-		'curve-asymmetrical'    => __( 'Curve Asymmetrical', 'super-duper' ),
558
-		'waves'                 => __( 'Waves', 'super-duper' ),
559
-		'wave-brush'            => __( 'Wave Brush', 'super-duper' ),
560
-		'waves-pattern'         => __( 'Waves Pattern', 'super-duper' ),
561
-		'arrow'                 => __( 'Arrow', 'super-duper' ),
562
-		'split'                 => __( 'Split', 'super-duper' ),
563
-		'book'                  => __( 'Book', 'super-duper' ),
564
-	);
565
-
566
-	$defaults = array(
567
-		'type'     => 'select',
568
-		'title'    => __( 'Type', 'super-duper' ),
569
-		'options'  => $options,
570
-		'default'  => '',
571
-		'desc_tip' => true,
572
-		'group'    => __( 'Shape Divider', 'super-duper' ),
573
-	);
574
-
575
-	$input[ $type ] = wp_parse_args( $overwrite, $defaults );
576
-
577
-	$input[ $type . '_notice' ] = array(
578
-		'type'            => 'notice',
579
-		'desc'            => __( 'Parent element must be position `relative`', 'super-duper' ),
580
-		'status'          => 'warning',
581
-		'group'           => __( 'Shape Divider', 'super-duper' ),
582
-		'element_require' => '[%' . $type . '%]!=""',
583
-	);
584
-
585
-	$input[ $type . '_position' ] = wp_parse_args(
586
-		$overwrite_color,
587
-		array(
588
-			'type'            => 'select',
589
-			'title'           => __( 'Position', 'super-duper' ),
590
-			'options'         => array(
591
-				'top'    => __( 'Top', 'super-duper' ),
592
-				'bottom' => __( 'Bottom', 'super-duper' ),
593
-			),
594
-			'desc_tip'        => true,
595
-			'group'           => __( 'Shape Divider', 'super-duper' ),
596
-			'element_require' => '[%' . $type . '%]!=""',
597
-		)
598
-	);
599
-
600
-	$options = array(
601
-		           ''            => __( 'None', 'super-duper' ),
602
-		           'transparent' => __( 'Transparent', 'super-duper' ),
603
-	           ) + sd_aui_colors()
604
-	           + array(
605
-		           'custom-color' => __( 'Custom Color', 'super-duper' ),
606
-	           );
607
-
608
-	$input[ $type . '_color' ] = wp_parse_args(
609
-		$overwrite_color,
610
-		array(
611
-			'type'            => 'select',
612
-			'title'           => __( 'Color', 'super-duper' ),
613
-			'options'         => $options,
614
-			'desc_tip'        => true,
615
-			'group'           => __( 'Shape Divider', 'super-duper' ),
616
-			'element_require' => '[%' . $type . '%]!=""',
617
-		)
618
-	);
619
-
620
-	$input[ $type . '_custom_color' ] = wp_parse_args(
621
-		$overwrite_color,
622
-		array(
623
-			'type'            => 'color',
624
-			'title'           => __( 'Custom color', 'super-duper' ),
625
-			'placeholder'     => '',
626
-			'default'         => '#0073aa',
627
-			'desc_tip'        => true,
628
-			'group'           => __( 'Shape Divider', 'super-duper' ),
629
-			'element_require' => '[%' . $type . '_color%]=="custom-color" && [%' . $type . '%]!=""',
630
-		)
631
-	);
632
-
633
-	$input[ $type . '_width' ] = wp_parse_args(
634
-		$overwrite_gradient,
635
-		array(
636
-			'type'              => 'range',
637
-			'title'             => __( 'Width', 'super-duper' ),
638
-			'placeholder'       => '',
639
-			'default'           => '200',
640
-			'desc_tip'          => true,
641
-			'custom_attributes' => array(
642
-				'min' => 100,
643
-				'max' => 300,
644
-			),
645
-			'group'             => __( 'Shape Divider', 'super-duper' ),
646
-			'element_require'   => '[%' . $type . '%]!=""',
647
-		)
648
-	);
649
-
650
-	$input[ $type . '_height' ] = array(
651
-		'type'              => 'range',
652
-		'title'             => __( 'Height', 'super-duper' ),
653
-		'default'           => '100',
654
-		'desc_tip'          => true,
655
-		'custom_attributes' => array(
656
-			'min' => 0,
657
-			'max' => 500,
658
-		),
659
-		'group'             => __( 'Shape Divider', 'super-duper' ),
660
-		'element_require'   => '[%' . $type . '%]!=""',
661
-	);
662
-
663
-	$requires = array(
664
-		'mountains'             => array( 'flip' ),
665
-		'drops'                 => array( 'flip', 'invert' ),
666
-		'clouds'                => array( 'flip', 'invert' ),
667
-		'zigzag'                => array(),
668
-		'pyramids'              => array( 'flip', 'invert' ),
669
-		'triangle'              => array( 'invert' ),
670
-		'triangle-asymmetrical' => array( 'flip', 'invert' ),
671
-		'tilt'                  => array( 'flip' ),
672
-		'opacity-tilt'          => array( 'flip' ),
673
-		'opacity-fan'           => array(),
674
-		'curve'                 => array( 'invert' ),
675
-		'curve-asymmetrical'    => array( 'flip', 'invert' ),
676
-		'waves'                 => array( 'flip', 'invert' ),
677
-		'wave-brush'            => array( 'flip' ),
678
-		'waves-pattern'         => array( 'flip' ),
679
-		'arrow'                 => array( 'invert' ),
680
-		'split'                 => array( 'invert' ),
681
-		'book'                  => array( 'invert' ),
682
-	);
683
-
684
-	$input[ $type . '_flip' ] = array(
685
-		'type'            => 'checkbox',
686
-		'title'           => __( 'Flip', 'super-duper' ),
687
-		'default'         => '',
688
-		'desc_tip'        => true,
689
-		'group'           => __( 'Shape Divider', 'super-duper' ),
690
-		'element_require' => sd_get_element_require_string( $requires, 'flip', 'sd' ),
691
-	);
692
-
693
-	$input[ $type . '_invert' ] = array(
694
-		'type'            => 'checkbox',
695
-		'title'           => __( 'Invert', 'super-duper' ),
696
-		'default'         => '',
697
-		'desc_tip'        => true,
698
-		'group'           => __( 'Shape Divider', 'super-duper' ),
699
-		'element_require' => sd_get_element_require_string( $requires, 'invert', 'sd' ),
700
-	);
701
-
702
-	$input[ $type . '_btf' ] = array(
703
-		'type'            => 'checkbox',
704
-		'title'           => __( 'Bring to front', 'super-duper' ),
705
-		'default'         => '',
706
-		'desc_tip'        => true,
707
-		'group'           => __( 'Shape Divider', 'super-duper' ),
708
-		'element_require' => '[%' . $type . '%]!=""',
709
-
710
-	);
711
-
712
-	return $input;
544
+    $options = array(
545
+        ''                      => __( 'None', 'super-duper' ),
546
+        'mountains'             => __( 'Mountains', 'super-duper' ),
547
+        'drops'                 => __( 'Drops', 'super-duper' ),
548
+        'clouds'                => __( 'Clouds', 'super-duper' ),
549
+        'zigzag'                => __( 'Zigzag', 'super-duper' ),
550
+        'pyramids'              => __( 'Pyramids', 'super-duper' ),
551
+        'triangle'              => __( 'Triangle', 'super-duper' ),
552
+        'triangle-asymmetrical' => __( 'Triangle Asymmetrical', 'super-duper' ),
553
+        'tilt'                  => __( 'Tilt', 'super-duper' ),
554
+        'opacity-tilt'          => __( 'Opacity Tilt', 'super-duper' ),
555
+        'opacity-fan'           => __( 'Opacity Fan', 'super-duper' ),
556
+        'curve'                 => __( 'Curve', 'super-duper' ),
557
+        'curve-asymmetrical'    => __( 'Curve Asymmetrical', 'super-duper' ),
558
+        'waves'                 => __( 'Waves', 'super-duper' ),
559
+        'wave-brush'            => __( 'Wave Brush', 'super-duper' ),
560
+        'waves-pattern'         => __( 'Waves Pattern', 'super-duper' ),
561
+        'arrow'                 => __( 'Arrow', 'super-duper' ),
562
+        'split'                 => __( 'Split', 'super-duper' ),
563
+        'book'                  => __( 'Book', 'super-duper' ),
564
+    );
565
+
566
+    $defaults = array(
567
+        'type'     => 'select',
568
+        'title'    => __( 'Type', 'super-duper' ),
569
+        'options'  => $options,
570
+        'default'  => '',
571
+        'desc_tip' => true,
572
+        'group'    => __( 'Shape Divider', 'super-duper' ),
573
+    );
574
+
575
+    $input[ $type ] = wp_parse_args( $overwrite, $defaults );
576
+
577
+    $input[ $type . '_notice' ] = array(
578
+        'type'            => 'notice',
579
+        'desc'            => __( 'Parent element must be position `relative`', 'super-duper' ),
580
+        'status'          => 'warning',
581
+        'group'           => __( 'Shape Divider', 'super-duper' ),
582
+        'element_require' => '[%' . $type . '%]!=""',
583
+    );
584
+
585
+    $input[ $type . '_position' ] = wp_parse_args(
586
+        $overwrite_color,
587
+        array(
588
+            'type'            => 'select',
589
+            'title'           => __( 'Position', 'super-duper' ),
590
+            'options'         => array(
591
+                'top'    => __( 'Top', 'super-duper' ),
592
+                'bottom' => __( 'Bottom', 'super-duper' ),
593
+            ),
594
+            'desc_tip'        => true,
595
+            'group'           => __( 'Shape Divider', 'super-duper' ),
596
+            'element_require' => '[%' . $type . '%]!=""',
597
+        )
598
+    );
599
+
600
+    $options = array(
601
+                    ''            => __( 'None', 'super-duper' ),
602
+                    'transparent' => __( 'Transparent', 'super-duper' ),
603
+                ) + sd_aui_colors()
604
+               + array(
605
+                    'custom-color' => __( 'Custom Color', 'super-duper' ),
606
+                );
607
+
608
+    $input[ $type . '_color' ] = wp_parse_args(
609
+        $overwrite_color,
610
+        array(
611
+            'type'            => 'select',
612
+            'title'           => __( 'Color', 'super-duper' ),
613
+            'options'         => $options,
614
+            'desc_tip'        => true,
615
+            'group'           => __( 'Shape Divider', 'super-duper' ),
616
+            'element_require' => '[%' . $type . '%]!=""',
617
+        )
618
+    );
619
+
620
+    $input[ $type . '_custom_color' ] = wp_parse_args(
621
+        $overwrite_color,
622
+        array(
623
+            'type'            => 'color',
624
+            'title'           => __( 'Custom color', 'super-duper' ),
625
+            'placeholder'     => '',
626
+            'default'         => '#0073aa',
627
+            'desc_tip'        => true,
628
+            'group'           => __( 'Shape Divider', 'super-duper' ),
629
+            'element_require' => '[%' . $type . '_color%]=="custom-color" && [%' . $type . '%]!=""',
630
+        )
631
+    );
632
+
633
+    $input[ $type . '_width' ] = wp_parse_args(
634
+        $overwrite_gradient,
635
+        array(
636
+            'type'              => 'range',
637
+            'title'             => __( 'Width', 'super-duper' ),
638
+            'placeholder'       => '',
639
+            'default'           => '200',
640
+            'desc_tip'          => true,
641
+            'custom_attributes' => array(
642
+                'min' => 100,
643
+                'max' => 300,
644
+            ),
645
+            'group'             => __( 'Shape Divider', 'super-duper' ),
646
+            'element_require'   => '[%' . $type . '%]!=""',
647
+        )
648
+    );
649
+
650
+    $input[ $type . '_height' ] = array(
651
+        'type'              => 'range',
652
+        'title'             => __( 'Height', 'super-duper' ),
653
+        'default'           => '100',
654
+        'desc_tip'          => true,
655
+        'custom_attributes' => array(
656
+            'min' => 0,
657
+            'max' => 500,
658
+        ),
659
+        'group'             => __( 'Shape Divider', 'super-duper' ),
660
+        'element_require'   => '[%' . $type . '%]!=""',
661
+    );
662
+
663
+    $requires = array(
664
+        'mountains'             => array( 'flip' ),
665
+        'drops'                 => array( 'flip', 'invert' ),
666
+        'clouds'                => array( 'flip', 'invert' ),
667
+        'zigzag'                => array(),
668
+        'pyramids'              => array( 'flip', 'invert' ),
669
+        'triangle'              => array( 'invert' ),
670
+        'triangle-asymmetrical' => array( 'flip', 'invert' ),
671
+        'tilt'                  => array( 'flip' ),
672
+        'opacity-tilt'          => array( 'flip' ),
673
+        'opacity-fan'           => array(),
674
+        'curve'                 => array( 'invert' ),
675
+        'curve-asymmetrical'    => array( 'flip', 'invert' ),
676
+        'waves'                 => array( 'flip', 'invert' ),
677
+        'wave-brush'            => array( 'flip' ),
678
+        'waves-pattern'         => array( 'flip' ),
679
+        'arrow'                 => array( 'invert' ),
680
+        'split'                 => array( 'invert' ),
681
+        'book'                  => array( 'invert' ),
682
+    );
683
+
684
+    $input[ $type . '_flip' ] = array(
685
+        'type'            => 'checkbox',
686
+        'title'           => __( 'Flip', 'super-duper' ),
687
+        'default'         => '',
688
+        'desc_tip'        => true,
689
+        'group'           => __( 'Shape Divider', 'super-duper' ),
690
+        'element_require' => sd_get_element_require_string( $requires, 'flip', 'sd' ),
691
+    );
692
+
693
+    $input[ $type . '_invert' ] = array(
694
+        'type'            => 'checkbox',
695
+        'title'           => __( 'Invert', 'super-duper' ),
696
+        'default'         => '',
697
+        'desc_tip'        => true,
698
+        'group'           => __( 'Shape Divider', 'super-duper' ),
699
+        'element_require' => sd_get_element_require_string( $requires, 'invert', 'sd' ),
700
+    );
701
+
702
+    $input[ $type . '_btf' ] = array(
703
+        'type'            => 'checkbox',
704
+        'title'           => __( 'Bring to front', 'super-duper' ),
705
+        'default'         => '',
706
+        'desc_tip'        => true,
707
+        'group'           => __( 'Shape Divider', 'super-duper' ),
708
+        'element_require' => '[%' . $type . '%]!=""',
709
+
710
+    );
711
+
712
+    return $input;
713 713
 }
714 714
 
715 715
 /**
@@ -722,22 +722,22 @@  discard block
 block discarded – undo
722 722
  * @return string
723 723
  */
724 724
 function sd_get_element_require_string( $args, $key, $type ) {
725
-	$output   = '';
726
-	$requires = array();
725
+    $output   = '';
726
+    $requires = array();
727 727
 
728
-	if ( ! empty( $args ) ) {
729
-		foreach ( $args as $t => $k ) {
730
-			if ( in_array( $key, $k ) ) {
731
-				$requires[] = '[%' . $type . '%]=="' . $t . '"';
732
-			}
733
-		}
728
+    if ( ! empty( $args ) ) {
729
+        foreach ( $args as $t => $k ) {
730
+            if ( in_array( $key, $k ) ) {
731
+                $requires[] = '[%' . $type . '%]=="' . $t . '"';
732
+            }
733
+        }
734 734
 
735
-		if ( ! empty( $requires ) ) {
736
-			$output = '(' . implode( ' || ', $requires ) . ')';
737
-		}
738
-	}
735
+        if ( ! empty( $requires ) ) {
736
+            $output = '(' . implode( ' || ', $requires ) . ')';
737
+        }
738
+    }
739 739
 
740
-	return $output;
740
+    return $output;
741 741
 }
742 742
 
743 743
 /**
@@ -749,41 +749,41 @@  discard block
 block discarded – undo
749 749
  * @return array
750 750
  */
751 751
 function sd_get_text_color_input( $type = 'text_color', $overwrite = array(), $has_custom = false ) {
752
-	$options = array(
753
-		           '' => __( 'None', 'super-duper' ),
754
-	           ) + sd_aui_colors();
752
+    $options = array(
753
+                    '' => __( 'None', 'super-duper' ),
754
+                ) + sd_aui_colors();
755 755
 
756
-	if ( $has_custom ) {
757
-		$options['custom'] = __( 'Custom color', 'super-duper' );
758
-	}
756
+    if ( $has_custom ) {
757
+        $options['custom'] = __( 'Custom color', 'super-duper' );
758
+    }
759 759
 
760
-	$defaults = array(
761
-		'type'     => 'select',
762
-		'title'    => __( 'Text color', 'super-duper' ),
763
-		'options'  => $options,
764
-		'default'  => '',
765
-		'desc_tip' => true,
766
-		'group'    => __( 'Typography', 'super-duper' ),
767
-	);
760
+    $defaults = array(
761
+        'type'     => 'select',
762
+        'title'    => __( 'Text color', 'super-duper' ),
763
+        'options'  => $options,
764
+        'default'  => '',
765
+        'desc_tip' => true,
766
+        'group'    => __( 'Typography', 'super-duper' ),
767
+    );
768 768
 
769
-	$input = wp_parse_args( $overwrite, $defaults );
769
+    $input = wp_parse_args( $overwrite, $defaults );
770 770
 
771
-	return $input;
771
+    return $input;
772 772
 }
773 773
 
774 774
 function sd_get_text_color_input_group( $type = 'text_color', $overwrite = array(), $overwrite_custom = array() ) {
775
-	$inputs = array();
775
+    $inputs = array();
776 776
 
777
-	if ( $overwrite !== false ) {
778
-		$inputs[ $type ] = sd_get_text_color_input( $type, $overwrite, true );
779
-	}
777
+    if ( $overwrite !== false ) {
778
+        $inputs[ $type ] = sd_get_text_color_input( $type, $overwrite, true );
779
+    }
780 780
 
781
-	if ( $overwrite_custom !== false ) {
782
-		$custom            = $type . '_custom';
783
-		$inputs[ $custom ] = sd_get_custom_color_input( $custom, $overwrite_custom, $type );
784
-	}
781
+    if ( $overwrite_custom !== false ) {
782
+        $custom            = $type . '_custom';
783
+        $inputs[ $custom ] = sd_get_custom_color_input( $custom, $overwrite_custom, $type );
784
+    }
785 785
 
786
-	return $inputs;
786
+    return $inputs;
787 787
 }
788 788
 
789 789
 /**
@@ -796,22 +796,22 @@  discard block
 block discarded – undo
796 796
  */
797 797
 function sd_get_custom_color_input( $type = 'color_custom', $overwrite = array(), $parent_type = '' ) {
798 798
 
799
-	$defaults = array(
800
-		'type'        => 'color',
801
-		'title'       => __( 'Custom color', 'super-duper' ),
802
-		'default'     => '',
803
-		'placeholder' => '',
804
-		'desc_tip'    => true,
805
-		'group'       => __( 'Typography', 'super-duper' ),
806
-	);
799
+    $defaults = array(
800
+        'type'        => 'color',
801
+        'title'       => __( 'Custom color', 'super-duper' ),
802
+        'default'     => '',
803
+        'placeholder' => '',
804
+        'desc_tip'    => true,
805
+        'group'       => __( 'Typography', 'super-duper' ),
806
+    );
807 807
 
808
-	if ( $parent_type ) {
809
-		$defaults['element_require'] = '[%' . $parent_type . '%]=="custom"';
810
-	}
808
+    if ( $parent_type ) {
809
+        $defaults['element_require'] = '[%' . $parent_type . '%]=="custom"';
810
+    }
811 811
 
812
-	$input = wp_parse_args( $overwrite, $defaults );
812
+    $input = wp_parse_args( $overwrite, $defaults );
813 813
 
814
-	return $input;
814
+    return $input;
815 815
 }
816 816
 
817 817
 /**
@@ -824,44 +824,44 @@  discard block
 block discarded – undo
824 824
  */
825 825
 function sd_get_col_input( $type = 'col', $overwrite = array() ) {
826 826
 
827
-	$device_size = '';
828
-	if ( ! empty( $overwrite['device_type'] ) ) {
829
-		if ( $overwrite['device_type'] == 'Tablet' ) {
830
-			$device_size = '-md';
831
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
832
-			$device_size = '-lg';
833
-		}
834
-	}
835
-	$options = array(
836
-		''     => __( 'Default', 'super-duper' ),
837
-		'auto' => __( 'auto', 'super-duper' ),
838
-		'1'    => '1/12',
839
-		'2'    => '2/12',
840
-		'3'    => '3/12',
841
-		'4'    => '4/12',
842
-		'5'    => '5/12',
843
-		'6'    => '6/12',
844
-		'7'    => '7/12',
845
-		'8'    => '8/12',
846
-		'9'    => '9/12',
847
-		'10'   => '10/12',
848
-		'11'   => '11/12',
849
-		'12'   => '12/12',
850
-	);
851
-
852
-	$defaults = array(
853
-		'type'            => 'select',
854
-		'title'           => __( 'Column width', 'super-duper' ),
855
-		'options'         => $options,
856
-		'default'         => '',
857
-		'desc_tip'        => true,
858
-		'group'           => __( 'Container', 'super-duper' ),
859
-		'element_require' => '[%container%]=="col"',
860
-	);
861
-
862
-	$input = wp_parse_args( $overwrite, $defaults );
863
-
864
-	return $input;
827
+    $device_size = '';
828
+    if ( ! empty( $overwrite['device_type'] ) ) {
829
+        if ( $overwrite['device_type'] == 'Tablet' ) {
830
+            $device_size = '-md';
831
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
832
+            $device_size = '-lg';
833
+        }
834
+    }
835
+    $options = array(
836
+        ''     => __( 'Default', 'super-duper' ),
837
+        'auto' => __( 'auto', 'super-duper' ),
838
+        '1'    => '1/12',
839
+        '2'    => '2/12',
840
+        '3'    => '3/12',
841
+        '4'    => '4/12',
842
+        '5'    => '5/12',
843
+        '6'    => '6/12',
844
+        '7'    => '7/12',
845
+        '8'    => '8/12',
846
+        '9'    => '9/12',
847
+        '10'   => '10/12',
848
+        '11'   => '11/12',
849
+        '12'   => '12/12',
850
+    );
851
+
852
+    $defaults = array(
853
+        'type'            => 'select',
854
+        'title'           => __( 'Column width', 'super-duper' ),
855
+        'options'         => $options,
856
+        'default'         => '',
857
+        'desc_tip'        => true,
858
+        'group'           => __( 'Container', 'super-duper' ),
859
+        'element_require' => '[%container%]=="col"',
860
+    );
861
+
862
+    $input = wp_parse_args( $overwrite, $defaults );
863
+
864
+    return $input;
865 865
 }
866 866
 
867 867
 /**
@@ -874,37 +874,37 @@  discard block
 block discarded – undo
874 874
  */
875 875
 function sd_get_row_cols_input( $type = 'row_cols', $overwrite = array() ) {
876 876
 
877
-	$device_size = '';
878
-	if ( ! empty( $overwrite['device_type'] ) ) {
879
-		if ( $overwrite['device_type'] == 'Tablet' ) {
880
-			$device_size = '-md';
881
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
882
-			$device_size = '-lg';
883
-		}
884
-	}
885
-	$options = array(
886
-		''  => __( 'auto', 'super-duper' ),
887
-		'1' => '1',
888
-		'2' => '2',
889
-		'3' => '3',
890
-		'4' => '4',
891
-		'5' => '5',
892
-		'6' => '6',
893
-	);
894
-
895
-	$defaults = array(
896
-		'type'            => 'select',
897
-		'title'           => __( 'Row columns', 'super-duper' ),
898
-		'options'         => $options,
899
-		'default'         => '',
900
-		'desc_tip'        => true,
901
-		'group'           => __( 'Container', 'super-duper' ),
902
-		'element_require' => '[%container%]=="row"',
903
-	);
904
-
905
-	$input = wp_parse_args( $overwrite, $defaults );
906
-
907
-	return $input;
877
+    $device_size = '';
878
+    if ( ! empty( $overwrite['device_type'] ) ) {
879
+        if ( $overwrite['device_type'] == 'Tablet' ) {
880
+            $device_size = '-md';
881
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
882
+            $device_size = '-lg';
883
+        }
884
+    }
885
+    $options = array(
886
+        ''  => __( 'auto', 'super-duper' ),
887
+        '1' => '1',
888
+        '2' => '2',
889
+        '3' => '3',
890
+        '4' => '4',
891
+        '5' => '5',
892
+        '6' => '6',
893
+    );
894
+
895
+    $defaults = array(
896
+        'type'            => 'select',
897
+        'title'           => __( 'Row columns', 'super-duper' ),
898
+        'options'         => $options,
899
+        'default'         => '',
900
+        'desc_tip'        => true,
901
+        'group'           => __( 'Container', 'super-duper' ),
902
+        'element_require' => '[%container%]=="row"',
903
+    );
904
+
905
+    $input = wp_parse_args( $overwrite, $defaults );
906
+
907
+    return $input;
908 908
 }
909 909
 
910 910
 /**
@@ -917,33 +917,33 @@  discard block
 block discarded – undo
917 917
  */
918 918
 function sd_get_text_align_input( $type = 'text_align', $overwrite = array() ) {
919 919
 
920
-	$device_size = '';
921
-	if ( ! empty( $overwrite['device_type'] ) ) {
922
-		if ( $overwrite['device_type'] == 'Tablet' ) {
923
-			$device_size = '-md';
924
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
925
-			$device_size = '-lg';
926
-		}
927
-	}
928
-	$options = array(
929
-		''                                => __( 'Default', 'super-duper' ),
930
-		'text' . $device_size . '-left'   => __( 'Left', 'super-duper' ),
931
-		'text' . $device_size . '-right'  => __( 'Right', 'super-duper' ),
932
-		'text' . $device_size . '-center' => __( 'Center', 'super-duper' ),
933
-	);
934
-
935
-	$defaults = array(
936
-		'type'     => 'select',
937
-		'title'    => __( 'Text align', 'super-duper' ),
938
-		'options'  => $options,
939
-		'default'  => '',
940
-		'desc_tip' => true,
941
-		'group'    => __( 'Typography', 'super-duper' ),
942
-	);
943
-
944
-	$input = wp_parse_args( $overwrite, $defaults );
945
-
946
-	return $input;
920
+    $device_size = '';
921
+    if ( ! empty( $overwrite['device_type'] ) ) {
922
+        if ( $overwrite['device_type'] == 'Tablet' ) {
923
+            $device_size = '-md';
924
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
925
+            $device_size = '-lg';
926
+        }
927
+    }
928
+    $options = array(
929
+        ''                                => __( 'Default', 'super-duper' ),
930
+        'text' . $device_size . '-left'   => __( 'Left', 'super-duper' ),
931
+        'text' . $device_size . '-right'  => __( 'Right', 'super-duper' ),
932
+        'text' . $device_size . '-center' => __( 'Center', 'super-duper' ),
933
+    );
934
+
935
+    $defaults = array(
936
+        'type'     => 'select',
937
+        'title'    => __( 'Text align', 'super-duper' ),
938
+        'options'  => $options,
939
+        'default'  => '',
940
+        'desc_tip' => true,
941
+        'group'    => __( 'Typography', 'super-duper' ),
942
+    );
943
+
944
+    $input = wp_parse_args( $overwrite, $defaults );
945
+
946
+    return $input;
947 947
 }
948 948
 
949 949
 /**
@@ -956,39 +956,39 @@  discard block
 block discarded – undo
956 956
  */
957 957
 function sd_get_display_input( $type = 'display', $overwrite = array() ) {
958 958
 
959
-	$device_size = '';
960
-	if ( ! empty( $overwrite['device_type'] ) ) {
961
-		if ( $overwrite['device_type'] == 'Tablet' ) {
962
-			$device_size = '-md';
963
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
964
-			$device_size = '-lg';
965
-		}
966
-	}
967
-	$options = array(
968
-		''                                   => __( 'Default', 'super-duper' ),
969
-		'd' . $device_size . '-none'         => 'none',
970
-		'd' . $device_size . '-inline'       => 'inline',
971
-		'd' . $device_size . '-inline-block' => 'inline-block',
972
-		'd' . $device_size . '-block'        => 'block',
973
-		'd' . $device_size . '-table'        => 'table',
974
-		'd' . $device_size . '-table-cell'   => 'table-cell',
975
-		'd' . $device_size . '-table-row'    => 'table-row',
976
-		'd' . $device_size . '-flex'         => 'flex',
977
-		'd' . $device_size . '-inline-flex'  => 'inline-flex',
978
-	);
979
-
980
-	$defaults = array(
981
-		'type'     => 'select',
982
-		'title'    => __( 'Display', 'super-duper' ),
983
-		'options'  => $options,
984
-		'default'  => '',
985
-		'desc_tip' => true,
986
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
987
-	);
988
-
989
-	$input = wp_parse_args( $overwrite, $defaults );
990
-
991
-	return $input;
959
+    $device_size = '';
960
+    if ( ! empty( $overwrite['device_type'] ) ) {
961
+        if ( $overwrite['device_type'] == 'Tablet' ) {
962
+            $device_size = '-md';
963
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
964
+            $device_size = '-lg';
965
+        }
966
+    }
967
+    $options = array(
968
+        ''                                   => __( 'Default', 'super-duper' ),
969
+        'd' . $device_size . '-none'         => 'none',
970
+        'd' . $device_size . '-inline'       => 'inline',
971
+        'd' . $device_size . '-inline-block' => 'inline-block',
972
+        'd' . $device_size . '-block'        => 'block',
973
+        'd' . $device_size . '-table'        => 'table',
974
+        'd' . $device_size . '-table-cell'   => 'table-cell',
975
+        'd' . $device_size . '-table-row'    => 'table-row',
976
+        'd' . $device_size . '-flex'         => 'flex',
977
+        'd' . $device_size . '-inline-flex'  => 'inline-flex',
978
+    );
979
+
980
+    $defaults = array(
981
+        'type'     => 'select',
982
+        'title'    => __( 'Display', 'super-duper' ),
983
+        'options'  => $options,
984
+        'default'  => '',
985
+        'desc_tip' => true,
986
+        'group'    => __( 'Wrapper Styles', 'super-duper' ),
987
+    );
988
+
989
+    $input = wp_parse_args( $overwrite, $defaults );
990
+
991
+    return $input;
992 992
 }
993 993
 
994 994
 /**
@@ -1001,17 +1001,17 @@  discard block
 block discarded – undo
1001 1001
  */
1002 1002
 function sd_get_text_justify_input( $type = 'text_justify', $overwrite = array() ) {
1003 1003
 
1004
-	$defaults = array(
1005
-		'type'     => 'checkbox',
1006
-		'title'    => __( 'Text justify', 'super-duper' ),
1007
-		'default'  => '',
1008
-		'desc_tip' => true,
1009
-		'group'    => __( 'Typography', 'super-duper' ),
1010
-	);
1004
+    $defaults = array(
1005
+        'type'     => 'checkbox',
1006
+        'title'    => __( 'Text justify', 'super-duper' ),
1007
+        'default'  => '',
1008
+        'desc_tip' => true,
1009
+        'group'    => __( 'Typography', 'super-duper' ),
1010
+    );
1011 1011
 
1012
-	$input = wp_parse_args( $overwrite, $defaults );
1012
+    $input = wp_parse_args( $overwrite, $defaults );
1013 1013
 
1014
-	return $input;
1014
+    return $input;
1015 1015
 }
1016 1016
 
1017 1017
 /**
@@ -1024,72 +1024,72 @@  discard block
 block discarded – undo
1024 1024
  * @return array
1025 1025
  */
1026 1026
 function sd_aui_colors( $include_branding = false, $include_outlines = false, $outline_button_only_text = false, $include_translucent = false ) {
1027
-	$theme_colors = array();
1028
-
1029
-	$theme_colors['primary']   = __( 'Primary', 'super-duper' );
1030
-	$theme_colors['secondary'] = __( 'Secondary', 'super-duper' );
1031
-	$theme_colors['success']   = __( 'Success', 'super-duper' );
1032
-	$theme_colors['danger']    = __( 'Danger', 'super-duper' );
1033
-	$theme_colors['warning']   = __( 'Warning', 'super-duper' );
1034
-	$theme_colors['info']      = __( 'Info', 'super-duper' );
1035
-	$theme_colors['light']     = __( 'Light', 'super-duper' );
1036
-	$theme_colors['dark']      = __( 'Dark', 'super-duper' );
1037
-	$theme_colors['black']     = __( 'Black', 'super-duper' );
1038
-	$theme_colors['white']     = __( 'White', 'super-duper' );
1039
-	$theme_colors['purple']    = __( 'Purple', 'super-duper' );
1040
-	$theme_colors['salmon']    = __( 'Salmon', 'super-duper' );
1041
-	$theme_colors['cyan']      = __( 'Cyan', 'super-duper' );
1042
-	$theme_colors['gray']      = __( 'Gray', 'super-duper' );
1043
-	$theme_colors['muted']     = __( 'Muted', 'super-duper' );
1044
-	$theme_colors['gray-dark'] = __( 'Gray dark', 'super-duper' );
1045
-	$theme_colors['indigo']    = __( 'Indigo', 'super-duper' );
1046
-	$theme_colors['orange']    = __( 'Orange', 'super-duper' );
1047
-
1048
-	if ( $include_outlines ) {
1049
-		$button_only                       = $outline_button_only_text ? ' ' . __( '(button only)', 'super-duper' ) : '';
1050
-		$theme_colors['outline-primary']   = __( 'Primary outline', 'super-duper' ) . $button_only;
1051
-		$theme_colors['outline-secondary'] = __( 'Secondary outline', 'super-duper' ) . $button_only;
1052
-		$theme_colors['outline-success']   = __( 'Success outline', 'super-duper' ) . $button_only;
1053
-		$theme_colors['outline-danger']    = __( 'Danger outline', 'super-duper' ) . $button_only;
1054
-		$theme_colors['outline-warning']   = __( 'Warning outline', 'super-duper' ) . $button_only;
1055
-		$theme_colors['outline-info']      = __( 'Info outline', 'super-duper' ) . $button_only;
1056
-		$theme_colors['outline-light']     = __( 'Light outline', 'super-duper' ) . $button_only;
1057
-		$theme_colors['outline-dark']      = __( 'Dark outline', 'super-duper' ) . $button_only;
1058
-		$theme_colors['outline-white']     = __( 'White outline', 'super-duper' ) . $button_only;
1059
-		$theme_colors['outline-purple']    = __( 'Purple outline', 'super-duper' ) . $button_only;
1060
-		$theme_colors['outline-salmon']    = __( 'Salmon outline', 'super-duper' ) . $button_only;
1061
-		$theme_colors['outline-cyan']      = __( 'Cyan outline', 'super-duper' ) . $button_only;
1062
-		$theme_colors['outline-gray']      = __( 'Gray outline', 'super-duper' ) . $button_only;
1063
-		$theme_colors['outline-gray-dark'] = __( 'Gray dark outline', 'super-duper' ) . $button_only;
1064
-		$theme_colors['outline-indigo']    = __( 'Indigo outline', 'super-duper' ) . $button_only;
1065
-		$theme_colors['outline-orange']    = __( 'Orange outline', 'super-duper' ) . $button_only;
1066
-	}
1067
-
1068
-	if ( $include_branding ) {
1069
-		$theme_colors = $theme_colors + sd_aui_branding_colors();
1070
-	}
1071
-
1072
-	if ( $include_translucent ) {
1073
-		$button_only                           = $outline_button_only_text ? ' ' . __( '(button only)', 'super-duper' ) : '';
1074
-		$theme_colors['translucent-primary']   = __( 'Primary translucent', 'super-duper' ) . $button_only;
1075
-		$theme_colors['translucent-secondary'] = __( 'Secondary translucent', 'super-duper' ) . $button_only;
1076
-		$theme_colors['translucent-success']   = __( 'Success translucent', 'super-duper' ) . $button_only;
1077
-		$theme_colors['translucent-danger']    = __( 'Danger translucent', 'super-duper' ) . $button_only;
1078
-		$theme_colors['translucent-warning']   = __( 'Warning translucent', 'super-duper' ) . $button_only;
1079
-		$theme_colors['translucent-info']      = __( 'Info translucent', 'super-duper' ) . $button_only;
1080
-		$theme_colors['translucent-light']     = __( 'Light translucent', 'super-duper' ) . $button_only;
1081
-		$theme_colors['translucent-dark']      = __( 'Dark translucent', 'super-duper' ) . $button_only;
1082
-		$theme_colors['translucent-white']     = __( 'White translucent', 'super-duper' ) . $button_only;
1083
-		$theme_colors['translucent-purple']    = __( 'Purple translucent', 'super-duper' ) . $button_only;
1084
-		$theme_colors['translucent-salmon']    = __( 'Salmon translucent', 'super-duper' ) . $button_only;
1085
-		$theme_colors['translucent-cyan']      = __( 'Cyan translucent', 'super-duper' ) . $button_only;
1086
-		$theme_colors['translucent-gray']      = __( 'Gray translucent', 'super-duper' ) . $button_only;
1087
-		$theme_colors['translucent-gray-dark'] = __( 'Gray dark translucent', 'super-duper' ) . $button_only;
1088
-		$theme_colors['translucent-indigo']    = __( 'Indigo translucent', 'super-duper' ) . $button_only;
1089
-		$theme_colors['translucent-orange']    = __( 'Orange translucent', 'super-duper' ) . $button_only;
1090
-	}
1091
-
1092
-	return apply_filters( 'sd_aui_colors', $theme_colors, $include_outlines, $include_branding );
1027
+    $theme_colors = array();
1028
+
1029
+    $theme_colors['primary']   = __( 'Primary', 'super-duper' );
1030
+    $theme_colors['secondary'] = __( 'Secondary', 'super-duper' );
1031
+    $theme_colors['success']   = __( 'Success', 'super-duper' );
1032
+    $theme_colors['danger']    = __( 'Danger', 'super-duper' );
1033
+    $theme_colors['warning']   = __( 'Warning', 'super-duper' );
1034
+    $theme_colors['info']      = __( 'Info', 'super-duper' );
1035
+    $theme_colors['light']     = __( 'Light', 'super-duper' );
1036
+    $theme_colors['dark']      = __( 'Dark', 'super-duper' );
1037
+    $theme_colors['black']     = __( 'Black', 'super-duper' );
1038
+    $theme_colors['white']     = __( 'White', 'super-duper' );
1039
+    $theme_colors['purple']    = __( 'Purple', 'super-duper' );
1040
+    $theme_colors['salmon']    = __( 'Salmon', 'super-duper' );
1041
+    $theme_colors['cyan']      = __( 'Cyan', 'super-duper' );
1042
+    $theme_colors['gray']      = __( 'Gray', 'super-duper' );
1043
+    $theme_colors['muted']     = __( 'Muted', 'super-duper' );
1044
+    $theme_colors['gray-dark'] = __( 'Gray dark', 'super-duper' );
1045
+    $theme_colors['indigo']    = __( 'Indigo', 'super-duper' );
1046
+    $theme_colors['orange']    = __( 'Orange', 'super-duper' );
1047
+
1048
+    if ( $include_outlines ) {
1049
+        $button_only                       = $outline_button_only_text ? ' ' . __( '(button only)', 'super-duper' ) : '';
1050
+        $theme_colors['outline-primary']   = __( 'Primary outline', 'super-duper' ) . $button_only;
1051
+        $theme_colors['outline-secondary'] = __( 'Secondary outline', 'super-duper' ) . $button_only;
1052
+        $theme_colors['outline-success']   = __( 'Success outline', 'super-duper' ) . $button_only;
1053
+        $theme_colors['outline-danger']    = __( 'Danger outline', 'super-duper' ) . $button_only;
1054
+        $theme_colors['outline-warning']   = __( 'Warning outline', 'super-duper' ) . $button_only;
1055
+        $theme_colors['outline-info']      = __( 'Info outline', 'super-duper' ) . $button_only;
1056
+        $theme_colors['outline-light']     = __( 'Light outline', 'super-duper' ) . $button_only;
1057
+        $theme_colors['outline-dark']      = __( 'Dark outline', 'super-duper' ) . $button_only;
1058
+        $theme_colors['outline-white']     = __( 'White outline', 'super-duper' ) . $button_only;
1059
+        $theme_colors['outline-purple']    = __( 'Purple outline', 'super-duper' ) . $button_only;
1060
+        $theme_colors['outline-salmon']    = __( 'Salmon outline', 'super-duper' ) . $button_only;
1061
+        $theme_colors['outline-cyan']      = __( 'Cyan outline', 'super-duper' ) . $button_only;
1062
+        $theme_colors['outline-gray']      = __( 'Gray outline', 'super-duper' ) . $button_only;
1063
+        $theme_colors['outline-gray-dark'] = __( 'Gray dark outline', 'super-duper' ) . $button_only;
1064
+        $theme_colors['outline-indigo']    = __( 'Indigo outline', 'super-duper' ) . $button_only;
1065
+        $theme_colors['outline-orange']    = __( 'Orange outline', 'super-duper' ) . $button_only;
1066
+    }
1067
+
1068
+    if ( $include_branding ) {
1069
+        $theme_colors = $theme_colors + sd_aui_branding_colors();
1070
+    }
1071
+
1072
+    if ( $include_translucent ) {
1073
+        $button_only                           = $outline_button_only_text ? ' ' . __( '(button only)', 'super-duper' ) : '';
1074
+        $theme_colors['translucent-primary']   = __( 'Primary translucent', 'super-duper' ) . $button_only;
1075
+        $theme_colors['translucent-secondary'] = __( 'Secondary translucent', 'super-duper' ) . $button_only;
1076
+        $theme_colors['translucent-success']   = __( 'Success translucent', 'super-duper' ) . $button_only;
1077
+        $theme_colors['translucent-danger']    = __( 'Danger translucent', 'super-duper' ) . $button_only;
1078
+        $theme_colors['translucent-warning']   = __( 'Warning translucent', 'super-duper' ) . $button_only;
1079
+        $theme_colors['translucent-info']      = __( 'Info translucent', 'super-duper' ) . $button_only;
1080
+        $theme_colors['translucent-light']     = __( 'Light translucent', 'super-duper' ) . $button_only;
1081
+        $theme_colors['translucent-dark']      = __( 'Dark translucent', 'super-duper' ) . $button_only;
1082
+        $theme_colors['translucent-white']     = __( 'White translucent', 'super-duper' ) . $button_only;
1083
+        $theme_colors['translucent-purple']    = __( 'Purple translucent', 'super-duper' ) . $button_only;
1084
+        $theme_colors['translucent-salmon']    = __( 'Salmon translucent', 'super-duper' ) . $button_only;
1085
+        $theme_colors['translucent-cyan']      = __( 'Cyan translucent', 'super-duper' ) . $button_only;
1086
+        $theme_colors['translucent-gray']      = __( 'Gray translucent', 'super-duper' ) . $button_only;
1087
+        $theme_colors['translucent-gray-dark'] = __( 'Gray dark translucent', 'super-duper' ) . $button_only;
1088
+        $theme_colors['translucent-indigo']    = __( 'Indigo translucent', 'super-duper' ) . $button_only;
1089
+        $theme_colors['translucent-orange']    = __( 'Orange translucent', 'super-duper' ) . $button_only;
1090
+    }
1091
+
1092
+    return apply_filters( 'sd_aui_colors', $theme_colors, $include_outlines, $include_branding );
1093 1093
 }
1094 1094
 
1095 1095
 /**
@@ -1098,19 +1098,19 @@  discard block
 block discarded – undo
1098 1098
  * @return array
1099 1099
  */
1100 1100
 function sd_aui_branding_colors() {
1101
-	return array(
1102
-		'facebook'  => __( 'Facebook', 'super-duper' ),
1103
-		'twitter'   => __( 'Twitter', 'super-duper' ),
1104
-		'instagram' => __( 'Instagram', 'super-duper' ),
1105
-		'linkedin'  => __( 'Linkedin', 'super-duper' ),
1106
-		'flickr'    => __( 'Flickr', 'super-duper' ),
1107
-		'github'    => __( 'GitHub', 'super-duper' ),
1108
-		'youtube'   => __( 'YouTube', 'super-duper' ),
1109
-		'wordpress' => __( 'WordPress', 'super-duper' ),
1110
-		'google'    => __( 'Google', 'super-duper' ),
1111
-		'yahoo'     => __( 'Yahoo', 'super-duper' ),
1112
-		'vkontakte' => __( 'Vkontakte', 'super-duper' ),
1113
-	);
1101
+    return array(
1102
+        'facebook'  => __( 'Facebook', 'super-duper' ),
1103
+        'twitter'   => __( 'Twitter', 'super-duper' ),
1104
+        'instagram' => __( 'Instagram', 'super-duper' ),
1105
+        'linkedin'  => __( 'Linkedin', 'super-duper' ),
1106
+        'flickr'    => __( 'Flickr', 'super-duper' ),
1107
+        'github'    => __( 'GitHub', 'super-duper' ),
1108
+        'youtube'   => __( 'YouTube', 'super-duper' ),
1109
+        'wordpress' => __( 'WordPress', 'super-duper' ),
1110
+        'google'    => __( 'Google', 'super-duper' ),
1111
+        'yahoo'     => __( 'Yahoo', 'super-duper' ),
1112
+        'vkontakte' => __( 'Vkontakte', 'super-duper' ),
1113
+    );
1114 1114
 }
1115 1115
 
1116 1116
 
@@ -1124,38 +1124,38 @@  discard block
 block discarded – undo
1124 1124
  */
1125 1125
 function sd_get_container_class_input( $type = 'container', $overwrite = array() ) {
1126 1126
 
1127
-	$options = array(
1128
-		'container'       => __( 'container (default)', 'super-duper' ),
1129
-		'container-sm'    => 'container-sm',
1130
-		'container-md'    => 'container-md',
1131
-		'container-lg'    => 'container-lg',
1132
-		'container-xl'    => 'container-xl',
1133
-		'container-xxl'   => 'container-xxl',
1134
-		'container-fluid' => 'container-fluid',
1135
-		'row'             => 'row',
1136
-		'col'             => 'col',
1137
-		'card'            => 'card',
1138
-		'card-header'     => 'card-header',
1139
-		'card-img-top'    => 'card-img-top',
1140
-		'card-body'       => 'card-body',
1141
-		'card-footer'     => 'card-footer',
1142
-		'list-group'      => 'list-group',
1143
-		'list-group-item' => 'list-group-item',
1144
-		''                => __( 'no container class', 'super-duper' ),
1145
-	);
1146
-
1147
-	$defaults = array(
1148
-		'type'     => 'select',
1149
-		'title'    => __( 'Type', 'super-duper' ),
1150
-		'options'  => $options,
1151
-		'default'  => '',
1152
-		'desc_tip' => true,
1153
-		'group'    => __( 'Container', 'super-duper' ),
1154
-	);
1155
-
1156
-	$input = wp_parse_args( $overwrite, $defaults );
1157
-
1158
-	return $input;
1127
+    $options = array(
1128
+        'container'       => __( 'container (default)', 'super-duper' ),
1129
+        'container-sm'    => 'container-sm',
1130
+        'container-md'    => 'container-md',
1131
+        'container-lg'    => 'container-lg',
1132
+        'container-xl'    => 'container-xl',
1133
+        'container-xxl'   => 'container-xxl',
1134
+        'container-fluid' => 'container-fluid',
1135
+        'row'             => 'row',
1136
+        'col'             => 'col',
1137
+        'card'            => 'card',
1138
+        'card-header'     => 'card-header',
1139
+        'card-img-top'    => 'card-img-top',
1140
+        'card-body'       => 'card-body',
1141
+        'card-footer'     => 'card-footer',
1142
+        'list-group'      => 'list-group',
1143
+        'list-group-item' => 'list-group-item',
1144
+        ''                => __( 'no container class', 'super-duper' ),
1145
+    );
1146
+
1147
+    $defaults = array(
1148
+        'type'     => 'select',
1149
+        'title'    => __( 'Type', 'super-duper' ),
1150
+        'options'  => $options,
1151
+        'default'  => '',
1152
+        'desc_tip' => true,
1153
+        'group'    => __( 'Container', 'super-duper' ),
1154
+    );
1155
+
1156
+    $input = wp_parse_args( $overwrite, $defaults );
1157
+
1158
+    return $input;
1159 1159
 }
1160 1160
 
1161 1161
 /**
@@ -1168,30 +1168,30 @@  discard block
 block discarded – undo
1168 1168
  */
1169 1169
 function sd_get_position_class_input( $type = 'position', $overwrite = array() ) {
1170 1170
 
1171
-	$options = array(
1172
-		''                  => __( 'Default', 'super-duper' ),
1173
-		'position-static'   => 'static',
1174
-		'position-relative' => 'relative',
1175
-		'position-absolute' => 'absolute',
1176
-		'position-fixed'    => 'fixed',
1177
-		'position-sticky'   => 'sticky',
1178
-		'fixed-top'         => 'fixed-top',
1179
-		'fixed-bottom'      => 'fixed-bottom',
1180
-		'sticky-top'        => 'sticky-top',
1181
-	);
1171
+    $options = array(
1172
+        ''                  => __( 'Default', 'super-duper' ),
1173
+        'position-static'   => 'static',
1174
+        'position-relative' => 'relative',
1175
+        'position-absolute' => 'absolute',
1176
+        'position-fixed'    => 'fixed',
1177
+        'position-sticky'   => 'sticky',
1178
+        'fixed-top'         => 'fixed-top',
1179
+        'fixed-bottom'      => 'fixed-bottom',
1180
+        'sticky-top'        => 'sticky-top',
1181
+    );
1182 1182
 
1183
-	$defaults = array(
1184
-		'type'     => 'select',
1185
-		'title'    => __( 'Position', 'super-duper' ),
1186
-		'options'  => $options,
1187
-		'default'  => '',
1188
-		'desc_tip' => true,
1189
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
1190
-	);
1183
+    $defaults = array(
1184
+        'type'     => 'select',
1185
+        'title'    => __( 'Position', 'super-duper' ),
1186
+        'options'  => $options,
1187
+        'default'  => '',
1188
+        'desc_tip' => true,
1189
+        'group'    => __( 'Wrapper Styles', 'super-duper' ),
1190
+    );
1191 1191
 
1192
-	$input = wp_parse_args( $overwrite, $defaults );
1192
+    $input = wp_parse_args( $overwrite, $defaults );
1193 1193
 
1194
-	return $input;
1194
+    return $input;
1195 1195
 }
1196 1196
 
1197 1197
 /**
@@ -1202,32 +1202,32 @@  discard block
 block discarded – undo
1202 1202
  */
1203 1203
 function sd_get_absolute_position_input( $type = 'absolute_position', $overwrite = array() ) {
1204 1204
 
1205
-	$options = array(
1206
-		''              => __( 'Default', 'super-duper' ),
1207
-		'top-left'      => 'top-left',
1208
-		'top-center'    => 'top-center',
1209
-		'top-right'     => 'top-right',
1210
-		'center-left'   => 'middle-left',
1211
-		'center'        => 'center',
1212
-		'center-right'  => 'middle-right',
1213
-		'bottom-left'   => 'bottom-left',
1214
-		'bottom-center' => 'bottom-center',
1215
-		'bottom-right'  => 'bottom-right',
1216
-	);
1217
-
1218
-	$defaults = array(
1219
-		'type'            => 'select',
1220
-		'title'           => __( 'Absolute Position', 'super-duper' ),
1221
-		'options'         => $options,
1222
-		'default'         => '',
1223
-		'desc_tip'        => true,
1224
-		'group'           => __( 'Wrapper Styles', 'super-duper' ),
1225
-		'element_require' => '[%position%]=="position-absolute"',
1226
-	);
1227
-
1228
-	$input = wp_parse_args( $overwrite, $defaults );
1229
-
1230
-	return $input;
1205
+    $options = array(
1206
+        ''              => __( 'Default', 'super-duper' ),
1207
+        'top-left'      => 'top-left',
1208
+        'top-center'    => 'top-center',
1209
+        'top-right'     => 'top-right',
1210
+        'center-left'   => 'middle-left',
1211
+        'center'        => 'center',
1212
+        'center-right'  => 'middle-right',
1213
+        'bottom-left'   => 'bottom-left',
1214
+        'bottom-center' => 'bottom-center',
1215
+        'bottom-right'  => 'bottom-right',
1216
+    );
1217
+
1218
+    $defaults = array(
1219
+        'type'            => 'select',
1220
+        'title'           => __( 'Absolute Position', 'super-duper' ),
1221
+        'options'         => $options,
1222
+        'default'         => '',
1223
+        'desc_tip'        => true,
1224
+        'group'           => __( 'Wrapper Styles', 'super-duper' ),
1225
+        'element_require' => '[%position%]=="position-absolute"',
1226
+    );
1227
+
1228
+    $input = wp_parse_args( $overwrite, $defaults );
1229
+
1230
+    return $input;
1231 1231
 }
1232 1232
 
1233 1233
 /**
@@ -1240,38 +1240,38 @@  discard block
 block discarded – undo
1240 1240
  */
1241 1241
 function sd_get_sticky_offset_input( $type = 'top', $overwrite = array() ) {
1242 1242
 
1243
-	$defaults = array(
1244
-		'type'            => 'number',
1245
-		'title'           => __( 'Sticky offset', 'super-duper' ),
1246
-		//'desc' =>  __( 'Sticky offset', 'super-duper' ),
1247
-		'default'         => '',
1248
-		'desc_tip'        => true,
1249
-		'group'           => __( 'Wrapper Styles', 'super-duper' ),
1250
-		'element_require' => '[%position%]=="sticky" || [%position%]=="sticky-top"',
1251
-	);
1252
-
1253
-	// title
1254
-	if ( $type == 'top' ) {
1255
-		$defaults['title'] = __( 'Top offset', 'super-duper' );
1256
-		$defaults['icon']  = 'box-top';
1257
-		$defaults['row']   = array(
1258
-			'title' => __( 'Sticky offset', 'super-duper' ),
1259
-			'key'   => 'sticky-offset',
1260
-			'open'  => true,
1261
-			'class' => 'text-center',
1262
-		);
1263
-	} elseif ( $type == 'bottom' ) {
1264
-		$defaults['title'] = __( 'Bottom offset', 'super-duper' );
1265
-		$defaults['icon']  = 'box-bottom';
1266
-		$defaults['row']   = array(
1267
-			'key'   => 'sticky-offset',
1268
-			'close' => true,
1269
-		);
1270
-	}
1271
-
1272
-	$input = wp_parse_args( $overwrite, $defaults );
1273
-
1274
-	return $input;
1243
+    $defaults = array(
1244
+        'type'            => 'number',
1245
+        'title'           => __( 'Sticky offset', 'super-duper' ),
1246
+        //'desc' =>  __( 'Sticky offset', 'super-duper' ),
1247
+        'default'         => '',
1248
+        'desc_tip'        => true,
1249
+        'group'           => __( 'Wrapper Styles', 'super-duper' ),
1250
+        'element_require' => '[%position%]=="sticky" || [%position%]=="sticky-top"',
1251
+    );
1252
+
1253
+    // title
1254
+    if ( $type == 'top' ) {
1255
+        $defaults['title'] = __( 'Top offset', 'super-duper' );
1256
+        $defaults['icon']  = 'box-top';
1257
+        $defaults['row']   = array(
1258
+            'title' => __( 'Sticky offset', 'super-duper' ),
1259
+            'key'   => 'sticky-offset',
1260
+            'open'  => true,
1261
+            'class' => 'text-center',
1262
+        );
1263
+    } elseif ( $type == 'bottom' ) {
1264
+        $defaults['title'] = __( 'Bottom offset', 'super-duper' );
1265
+        $defaults['icon']  = 'box-bottom';
1266
+        $defaults['row']   = array(
1267
+            'key'   => 'sticky-offset',
1268
+            'close' => true,
1269
+        );
1270
+    }
1271
+
1272
+    $input = wp_parse_args( $overwrite, $defaults );
1273
+
1274
+    return $input;
1275 1275
 }
1276 1276
 
1277 1277
 /**
@@ -1283,61 +1283,61 @@  discard block
 block discarded – undo
1283 1283
  * @return array
1284 1284
  */
1285 1285
 function sd_get_font_size_input( $type = 'font_size', $overwrite = array(), $has_custom = false ) {
1286
-	global $aui_bs5;
1287
-
1288
-	$options[] = __( 'Inherit from parent', 'super-duper' );
1289
-	if ( $aui_bs5 ) {
1290
-		// responsive font sizes
1291
-		$options['fs-base'] = 'fs-base (body default)';
1292
-		$options['fs-6']    = 'fs-6';
1293
-		$options['fs-5']    = 'fs-5';
1294
-		$options['fs-4']    = 'fs-4';
1295
-		$options['fs-3']    = 'fs-3';
1296
-		$options['fs-2']    = 'fs-2';
1297
-		$options['fs-1']    = 'fs-1';
1298
-
1299
-		// custom
1300
-		$options['fs-lg']  = 'fs-lg';
1301
-		$options['fs-sm']  = 'fs-sm';
1302
-		$options['fs-xs']  = 'fs-xs';
1303
-		$options['fs-xxs'] = 'fs-xxs';
1304
-
1305
-	}
1306
-
1307
-	$options = $options + array(
1308
-			'h6'        => 'h6',
1309
-			'h5'        => 'h5',
1310
-			'h4'        => 'h4',
1311
-			'h3'        => 'h3',
1312
-			'h2'        => 'h2',
1313
-			'h1'        => 'h1',
1314
-			'display-1' => 'display-1',
1315
-			'display-2' => 'display-2',
1316
-			'display-3' => 'display-3',
1317
-			'display-4' => 'display-4',
1318
-		);
1319
-
1320
-	if ( $aui_bs5 ) {
1321
-		$options['display-5'] = 'display-5';
1322
-		$options['display-6'] = 'display-6';
1323
-	}
1324
-
1325
-	if ( $has_custom ) {
1326
-		$options['custom'] = __( 'Custom size', 'super-duper' );
1327
-	}
1328
-
1329
-	$defaults = array(
1330
-		'type'     => 'select',
1331
-		'title'    => __( 'Font size', 'super-duper' ),
1332
-		'options'  => $options,
1333
-		'default'  => '',
1334
-		'desc_tip' => true,
1335
-		'group'    => __( 'Typography', 'super-duper' ),
1336
-	);
1337
-
1338
-	$input = wp_parse_args( $overwrite, $defaults );
1339
-
1340
-	return $input;
1286
+    global $aui_bs5;
1287
+
1288
+    $options[] = __( 'Inherit from parent', 'super-duper' );
1289
+    if ( $aui_bs5 ) {
1290
+        // responsive font sizes
1291
+        $options['fs-base'] = 'fs-base (body default)';
1292
+        $options['fs-6']    = 'fs-6';
1293
+        $options['fs-5']    = 'fs-5';
1294
+        $options['fs-4']    = 'fs-4';
1295
+        $options['fs-3']    = 'fs-3';
1296
+        $options['fs-2']    = 'fs-2';
1297
+        $options['fs-1']    = 'fs-1';
1298
+
1299
+        // custom
1300
+        $options['fs-lg']  = 'fs-lg';
1301
+        $options['fs-sm']  = 'fs-sm';
1302
+        $options['fs-xs']  = 'fs-xs';
1303
+        $options['fs-xxs'] = 'fs-xxs';
1304
+
1305
+    }
1306
+
1307
+    $options = $options + array(
1308
+            'h6'        => 'h6',
1309
+            'h5'        => 'h5',
1310
+            'h4'        => 'h4',
1311
+            'h3'        => 'h3',
1312
+            'h2'        => 'h2',
1313
+            'h1'        => 'h1',
1314
+            'display-1' => 'display-1',
1315
+            'display-2' => 'display-2',
1316
+            'display-3' => 'display-3',
1317
+            'display-4' => 'display-4',
1318
+        );
1319
+
1320
+    if ( $aui_bs5 ) {
1321
+        $options['display-5'] = 'display-5';
1322
+        $options['display-6'] = 'display-6';
1323
+    }
1324
+
1325
+    if ( $has_custom ) {
1326
+        $options['custom'] = __( 'Custom size', 'super-duper' );
1327
+    }
1328
+
1329
+    $defaults = array(
1330
+        'type'     => 'select',
1331
+        'title'    => __( 'Font size', 'super-duper' ),
1332
+        'options'  => $options,
1333
+        'default'  => '',
1334
+        'desc_tip' => true,
1335
+        'group'    => __( 'Typography', 'super-duper' ),
1336
+    );
1337
+
1338
+    $input = wp_parse_args( $overwrite, $defaults );
1339
+
1340
+    return $input;
1341 1341
 }
1342 1342
 
1343 1343
 /**
@@ -1350,27 +1350,27 @@  discard block
 block discarded – undo
1350 1350
  */
1351 1351
 function sd_get_font_custom_size_input( $type = 'font_size_custom', $overwrite = array(), $parent_type = '' ) {
1352 1352
 
1353
-	$defaults = array(
1354
-		'type'              => 'number',
1355
-		'title'             => __( 'Font size (rem)', 'super-duper' ),
1356
-		'default'           => '',
1357
-		'placeholder'       => '1.25',
1358
-		'custom_attributes' => array(
1359
-			'step' => '0.1',
1360
-			'min'  => '0',
1361
-			'max'  => '100',
1362
-		),
1363
-		'desc_tip'          => true,
1364
-		'group'             => __( 'Typography', 'super-duper' ),
1365
-	);
1353
+    $defaults = array(
1354
+        'type'              => 'number',
1355
+        'title'             => __( 'Font size (rem)', 'super-duper' ),
1356
+        'default'           => '',
1357
+        'placeholder'       => '1.25',
1358
+        'custom_attributes' => array(
1359
+            'step' => '0.1',
1360
+            'min'  => '0',
1361
+            'max'  => '100',
1362
+        ),
1363
+        'desc_tip'          => true,
1364
+        'group'             => __( 'Typography', 'super-duper' ),
1365
+    );
1366 1366
 
1367
-	if ( $parent_type ) {
1368
-		$defaults['element_require'] = '[%' . $parent_type . '%]=="custom"';
1369
-	}
1367
+    if ( $parent_type ) {
1368
+        $defaults['element_require'] = '[%' . $parent_type . '%]=="custom"';
1369
+    }
1370 1370
 
1371
-	$input = wp_parse_args( $overwrite, $defaults );
1371
+    $input = wp_parse_args( $overwrite, $defaults );
1372 1372
 
1373
-	return $input;
1373
+    return $input;
1374 1374
 }
1375 1375
 
1376 1376
 /**
@@ -1383,23 +1383,23 @@  discard block
 block discarded – undo
1383 1383
  */
1384 1384
 function sd_get_font_line_height_input( $type = 'font_line_height', $overwrite = array() ) {
1385 1385
 
1386
-	$defaults = array(
1387
-		'type'              => 'number',
1388
-		'title'             => __( 'Font Line Height', 'super-duper' ),
1389
-		'default'           => '',
1390
-		'placeholder'       => '1.75',
1391
-		'custom_attributes' => array(
1392
-			'step' => '0.1',
1393
-			'min'  => '0',
1394
-			'max'  => '100',
1395
-		),
1396
-		'desc_tip'          => true,
1397
-		'group'             => __( 'Typography', 'super-duper' ),
1398
-	);
1386
+    $defaults = array(
1387
+        'type'              => 'number',
1388
+        'title'             => __( 'Font Line Height', 'super-duper' ),
1389
+        'default'           => '',
1390
+        'placeholder'       => '1.75',
1391
+        'custom_attributes' => array(
1392
+            'step' => '0.1',
1393
+            'min'  => '0',
1394
+            'max'  => '100',
1395
+        ),
1396
+        'desc_tip'          => true,
1397
+        'group'             => __( 'Typography', 'super-duper' ),
1398
+    );
1399 1399
 
1400
-	$input = wp_parse_args( $overwrite, $defaults );
1400
+    $input = wp_parse_args( $overwrite, $defaults );
1401 1401
 
1402
-	return $input;
1402
+    return $input;
1403 1403
 }
1404 1404
 
1405 1405
 /**
@@ -1412,18 +1412,18 @@  discard block
 block discarded – undo
1412 1412
  */
1413 1413
 function sd_get_font_size_input_group( $type = 'font_size', $overwrite = array(), $overwrite_custom = array() ) {
1414 1414
 
1415
-	$inputs = array();
1415
+    $inputs = array();
1416 1416
 
1417
-	if ( $overwrite !== false ) {
1418
-		$inputs[ $type ] = sd_get_font_size_input( $type, $overwrite, true );
1419
-	}
1417
+    if ( $overwrite !== false ) {
1418
+        $inputs[ $type ] = sd_get_font_size_input( $type, $overwrite, true );
1419
+    }
1420 1420
 
1421
-	if ( $overwrite_custom !== false ) {
1422
-		$custom            = $type . '_custom';
1423
-		$inputs[ $custom ] = sd_get_font_custom_size_input( $custom, $overwrite_custom, $type );
1424
-	}
1421
+    if ( $overwrite_custom !== false ) {
1422
+        $custom            = $type . '_custom';
1423
+        $inputs[ $custom ] = sd_get_font_custom_size_input( $custom, $overwrite_custom, $type );
1424
+    }
1425 1425
 
1426
-	return $inputs;
1426
+    return $inputs;
1427 1427
 }
1428 1428
 
1429 1429
 /**
@@ -1436,33 +1436,33 @@  discard block
 block discarded – undo
1436 1436
  */
1437 1437
 function sd_get_font_weight_input( $type = 'font_weight', $overwrite = array() ) {
1438 1438
 
1439
-	$options = array(
1440
-		''                                => __( 'Inherit', 'super-duper' ),
1441
-		'font-weight-bold'                => 'bold',
1442
-		'font-weight-bolder'              => 'bolder',
1443
-		'font-weight-normal'              => 'normal',
1444
-		'font-weight-light'               => 'light',
1445
-		'font-weight-lighter'             => 'lighter',
1446
-		'font-italic'                     => 'italic',
1447
-		'font-weight-bold font-italic'    => 'bold italic',
1448
-		'font-weight-bolder font-italic'  => 'bolder italic',
1449
-		'font-weight-normal font-italic'  => 'normal italic',
1450
-		'font-weight-light font-italic'   => 'light italic',
1451
-		'font-weight-lighter font-italic' => 'lighter italic',
1452
-	);
1453
-
1454
-	$defaults = array(
1455
-		'type'     => 'select',
1456
-		'title'    => __( 'Appearance', 'super-duper' ),
1457
-		'options'  => $options,
1458
-		'default'  => '',
1459
-		'desc_tip' => true,
1460
-		'group'    => __( 'Typography', 'super-duper' ),
1461
-	);
1462
-
1463
-	$input = wp_parse_args( $overwrite, $defaults );
1464
-
1465
-	return $input;
1439
+    $options = array(
1440
+        ''                                => __( 'Inherit', 'super-duper' ),
1441
+        'font-weight-bold'                => 'bold',
1442
+        'font-weight-bolder'              => 'bolder',
1443
+        'font-weight-normal'              => 'normal',
1444
+        'font-weight-light'               => 'light',
1445
+        'font-weight-lighter'             => 'lighter',
1446
+        'font-italic'                     => 'italic',
1447
+        'font-weight-bold font-italic'    => 'bold italic',
1448
+        'font-weight-bolder font-italic'  => 'bolder italic',
1449
+        'font-weight-normal font-italic'  => 'normal italic',
1450
+        'font-weight-light font-italic'   => 'light italic',
1451
+        'font-weight-lighter font-italic' => 'lighter italic',
1452
+    );
1453
+
1454
+    $defaults = array(
1455
+        'type'     => 'select',
1456
+        'title'    => __( 'Appearance', 'super-duper' ),
1457
+        'options'  => $options,
1458
+        'default'  => '',
1459
+        'desc_tip' => true,
1460
+        'group'    => __( 'Typography', 'super-duper' ),
1461
+    );
1462
+
1463
+    $input = wp_parse_args( $overwrite, $defaults );
1464
+
1465
+    return $input;
1466 1466
 }
1467 1467
 
1468 1468
 /**
@@ -1475,25 +1475,25 @@  discard block
 block discarded – undo
1475 1475
  */
1476 1476
 function sd_get_font_case_input( $type = 'font_weight', $overwrite = array() ) {
1477 1477
 
1478
-	$options = array(
1479
-		''                => __( 'Default', 'super-duper' ),
1480
-		'text-lowercase'  => __( 'lowercase', 'super-duper' ),
1481
-		'text-uppercase'  => __( 'UPPERCASE', 'super-duper' ),
1482
-		'text-capitalize' => __( 'Capitalize', 'super-duper' ),
1483
-	);
1478
+    $options = array(
1479
+        ''                => __( 'Default', 'super-duper' ),
1480
+        'text-lowercase'  => __( 'lowercase', 'super-duper' ),
1481
+        'text-uppercase'  => __( 'UPPERCASE', 'super-duper' ),
1482
+        'text-capitalize' => __( 'Capitalize', 'super-duper' ),
1483
+    );
1484 1484
 
1485
-	$defaults = array(
1486
-		'type'     => 'select',
1487
-		'title'    => __( 'Letter case', 'super-duper' ),
1488
-		'options'  => $options,
1489
-		'default'  => '',
1490
-		'desc_tip' => true,
1491
-		'group'    => __( 'Typography', 'super-duper' ),
1492
-	);
1485
+    $defaults = array(
1486
+        'type'     => 'select',
1487
+        'title'    => __( 'Letter case', 'super-duper' ),
1488
+        'options'  => $options,
1489
+        'default'  => '',
1490
+        'desc_tip' => true,
1491
+        'group'    => __( 'Typography', 'super-duper' ),
1492
+    );
1493 1493
 
1494
-	$input = wp_parse_args( $overwrite, $defaults );
1494
+    $input = wp_parse_args( $overwrite, $defaults );
1495 1495
 
1496
-	return $input;
1496
+    return $input;
1497 1497
 }
1498 1498
 
1499 1499
 /**
@@ -1507,23 +1507,23 @@  discard block
 block discarded – undo
1507 1507
  */
1508 1508
 function sd_get_font_italic_input( $type = 'font_italic', $overwrite = array() ) {
1509 1509
 
1510
-	$options = array(
1511
-		''            => __( 'No', 'super-duper' ),
1512
-		'font-italic' => __( 'Yes', 'super-duper' ),
1513
-	);
1510
+    $options = array(
1511
+        ''            => __( 'No', 'super-duper' ),
1512
+        'font-italic' => __( 'Yes', 'super-duper' ),
1513
+    );
1514 1514
 
1515
-	$defaults = array(
1516
-		'type'     => 'select',
1517
-		'title'    => __( 'Font italic', 'super-duper' ),
1518
-		'options'  => $options,
1519
-		'default'  => '',
1520
-		'desc_tip' => true,
1521
-		'group'    => __( 'Typography', 'super-duper' ),
1522
-	);
1515
+    $defaults = array(
1516
+        'type'     => 'select',
1517
+        'title'    => __( 'Font italic', 'super-duper' ),
1518
+        'options'  => $options,
1519
+        'default'  => '',
1520
+        'desc_tip' => true,
1521
+        'group'    => __( 'Typography', 'super-duper' ),
1522
+    );
1523 1523
 
1524
-	$input = wp_parse_args( $overwrite, $defaults );
1524
+    $input = wp_parse_args( $overwrite, $defaults );
1525 1525
 
1526
-	return $input;
1526
+    return $input;
1527 1527
 }
1528 1528
 
1529 1529
 /**
@@ -1536,18 +1536,18 @@  discard block
 block discarded – undo
1536 1536
  */
1537 1537
 function sd_get_anchor_input( $type = 'anchor', $overwrite = array() ) {
1538 1538
 
1539
-	$defaults = array(
1540
-		'type'     => 'text',
1541
-		'title'    => __( 'HTML anchor', 'super-duper' ),
1542
-		'desc'     => __( 'Enter a word or two — without spaces — to make a unique web address just for this block, called an “anchor.” Then, you’ll be able to link directly to this section of your page.', 'super-duper' ),
1543
-		'default'  => '',
1544
-		'desc_tip' => true,
1545
-		'group'    => __( 'Advanced', 'super-duper' ),
1546
-	);
1539
+    $defaults = array(
1540
+        'type'     => 'text',
1541
+        'title'    => __( 'HTML anchor', 'super-duper' ),
1542
+        'desc'     => __( 'Enter a word or two — without spaces — to make a unique web address just for this block, called an “anchor.” Then, you’ll be able to link directly to this section of your page.', 'super-duper' ),
1543
+        'default'  => '',
1544
+        'desc_tip' => true,
1545
+        'group'    => __( 'Advanced', 'super-duper' ),
1546
+    );
1547 1547
 
1548
-	$input = wp_parse_args( $overwrite, $defaults );
1548
+    $input = wp_parse_args( $overwrite, $defaults );
1549 1549
 
1550
-	return $input;
1550
+    return $input;
1551 1551
 }
1552 1552
 
1553 1553
 /**
@@ -1560,18 +1560,18 @@  discard block
 block discarded – undo
1560 1560
  */
1561 1561
 function sd_get_class_input( $type = 'css_class', $overwrite = array() ) {
1562 1562
 
1563
-	$defaults = array(
1564
-		'type'     => 'text',
1565
-		'title'    => __( 'Additional CSS class(es)', 'super-duper' ),
1566
-		'desc'     => __( 'Separate multiple classes with spaces.', 'super-duper' ),
1567
-		'default'  => '',
1568
-		'desc_tip' => true,
1569
-		'group'    => __( 'Advanced', 'super-duper' ),
1570
-	);
1563
+    $defaults = array(
1564
+        'type'     => 'text',
1565
+        'title'    => __( 'Additional CSS class(es)', 'super-duper' ),
1566
+        'desc'     => __( 'Separate multiple classes with spaces.', 'super-duper' ),
1567
+        'default'  => '',
1568
+        'desc_tip' => true,
1569
+        'group'    => __( 'Advanced', 'super-duper' ),
1570
+    );
1571 1571
 
1572
-	$input = wp_parse_args( $overwrite, $defaults );
1572
+    $input = wp_parse_args( $overwrite, $defaults );
1573 1573
 
1574
-	return $input;
1574
+    return $input;
1575 1575
 }
1576 1576
 
1577 1577
 /**
@@ -1584,341 +1584,341 @@  discard block
 block discarded – undo
1584 1584
  */
1585 1585
 function sd_get_hover_animations_input( $type = 'hover_animations', $overwrite = array() ) {
1586 1586
 
1587
-	$options = array(
1588
-		''                 => __( 'none', 'super-duper' ),
1589
-		'hover-zoom'       => __( 'Zoom', 'super-duper' ),
1590
-		'hover-shadow'     => __( 'Shadow', 'super-duper' ),
1591
-		'hover-move-up'    => __( 'Move up', 'super-duper' ),
1592
-		'hover-move-down'  => __( 'Move down', 'super-duper' ),
1593
-		'hover-move-left'  => __( 'Move left', 'super-duper' ),
1594
-		'hover-move-right' => __( 'Move right', 'super-duper' ),
1595
-	);
1587
+    $options = array(
1588
+        ''                 => __( 'none', 'super-duper' ),
1589
+        'hover-zoom'       => __( 'Zoom', 'super-duper' ),
1590
+        'hover-shadow'     => __( 'Shadow', 'super-duper' ),
1591
+        'hover-move-up'    => __( 'Move up', 'super-duper' ),
1592
+        'hover-move-down'  => __( 'Move down', 'super-duper' ),
1593
+        'hover-move-left'  => __( 'Move left', 'super-duper' ),
1594
+        'hover-move-right' => __( 'Move right', 'super-duper' ),
1595
+    );
1596 1596
 
1597
-	$defaults = array(
1598
-		'type'     => 'select',
1599
-		'multiple' => true,
1600
-		'title'    => __( 'Hover Animations', 'super-duper' ),
1601
-		'options'  => $options,
1602
-		'default'  => '',
1603
-		'desc_tip' => true,
1604
-		'group'    => __( 'Hover Animations', 'super-duper' ),
1605
-	);
1597
+    $defaults = array(
1598
+        'type'     => 'select',
1599
+        'multiple' => true,
1600
+        'title'    => __( 'Hover Animations', 'super-duper' ),
1601
+        'options'  => $options,
1602
+        'default'  => '',
1603
+        'desc_tip' => true,
1604
+        'group'    => __( 'Hover Animations', 'super-duper' ),
1605
+    );
1606 1606
 
1607
-	$input = wp_parse_args( $overwrite, $defaults );
1607
+    $input = wp_parse_args( $overwrite, $defaults );
1608 1608
 
1609
-	return $input;
1609
+    return $input;
1610 1610
 }
1611 1611
 
1612 1612
 
1613 1613
 function sd_get_flex_align_items_input( $type = 'align-items', $overwrite = array() ) {
1614
-	$device_size = '';
1615
-	if ( ! empty( $overwrite['device_type'] ) ) {
1616
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1617
-			$device_size = '-md';
1618
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1619
-			$device_size = '-lg';
1620
-		}
1621
-	}
1622
-	$options = array(
1623
-		''                                         => __( 'Default', 'super-duper' ),
1624
-		'align-items' . $device_size . '-start'    => 'align-items-start',
1625
-		'align-items' . $device_size . '-end'      => 'align-items-end',
1626
-		'align-items' . $device_size . '-center'   => 'align-items-center',
1627
-		'align-items' . $device_size . '-baseline' => 'align-items-baseline',
1628
-		'align-items' . $device_size . '-stretch'  => 'align-items-stretch',
1629
-	);
1630
-
1631
-	$defaults = array(
1632
-		'type'            => 'select',
1633
-		'title'           => __( 'Vertical Align Items', 'super-duper' ),
1634
-		'options'         => $options,
1635
-		'default'         => '',
1636
-		'desc_tip'        => true,
1637
-		'group'           => __( 'Wrapper Styles', 'super-duper' ),
1638
-		'element_require' => ' ( ( [%container%]=="row" ) || ( [%display%]=="d-flex" || [%display_md%]=="d-md-flex" || [%display_lg%]=="d-lg-flex" ) ) ',
1639
-
1640
-	);
1641
-
1642
-	$input = wp_parse_args( $overwrite, $defaults );
1643
-
1644
-	return $input;
1614
+    $device_size = '';
1615
+    if ( ! empty( $overwrite['device_type'] ) ) {
1616
+        if ( $overwrite['device_type'] == 'Tablet' ) {
1617
+            $device_size = '-md';
1618
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
1619
+            $device_size = '-lg';
1620
+        }
1621
+    }
1622
+    $options = array(
1623
+        ''                                         => __( 'Default', 'super-duper' ),
1624
+        'align-items' . $device_size . '-start'    => 'align-items-start',
1625
+        'align-items' . $device_size . '-end'      => 'align-items-end',
1626
+        'align-items' . $device_size . '-center'   => 'align-items-center',
1627
+        'align-items' . $device_size . '-baseline' => 'align-items-baseline',
1628
+        'align-items' . $device_size . '-stretch'  => 'align-items-stretch',
1629
+    );
1630
+
1631
+    $defaults = array(
1632
+        'type'            => 'select',
1633
+        'title'           => __( 'Vertical Align Items', 'super-duper' ),
1634
+        'options'         => $options,
1635
+        'default'         => '',
1636
+        'desc_tip'        => true,
1637
+        'group'           => __( 'Wrapper Styles', 'super-duper' ),
1638
+        'element_require' => ' ( ( [%container%]=="row" ) || ( [%display%]=="d-flex" || [%display_md%]=="d-md-flex" || [%display_lg%]=="d-lg-flex" ) ) ',
1639
+
1640
+    );
1641
+
1642
+    $input = wp_parse_args( $overwrite, $defaults );
1643
+
1644
+    return $input;
1645 1645
 }
1646 1646
 
1647 1647
 function sd_get_flex_align_items_input_group( $type = 'flex_align_items', $overwrite = array() ) {
1648
-	$inputs = array();
1649
-	$sizes  = array(
1650
-		''    => 'Mobile',
1651
-		'_md' => 'Tablet',
1652
-		'_lg' => 'Desktop',
1653
-	);
1648
+    $inputs = array();
1649
+    $sizes  = array(
1650
+        ''    => 'Mobile',
1651
+        '_md' => 'Tablet',
1652
+        '_lg' => 'Desktop',
1653
+    );
1654 1654
 
1655
-	if ( $overwrite !== false ) {
1655
+    if ( $overwrite !== false ) {
1656 1656
 
1657
-		foreach ( $sizes as $ds => $dt ) {
1658
-			$overwrite['device_type'] = $dt;
1659
-			$inputs[ $type . $ds ]    = sd_get_flex_align_items_input( $type, $overwrite );
1660
-		}
1661
-	}
1657
+        foreach ( $sizes as $ds => $dt ) {
1658
+            $overwrite['device_type'] = $dt;
1659
+            $inputs[ $type . $ds ]    = sd_get_flex_align_items_input( $type, $overwrite );
1660
+        }
1661
+    }
1662 1662
 
1663
-	return $inputs;
1663
+    return $inputs;
1664 1664
 }
1665 1665
 
1666 1666
 function sd_get_flex_justify_content_input( $type = 'flex_justify_content', $overwrite = array() ) {
1667
-	$device_size = '';
1668
-	if ( ! empty( $overwrite['device_type'] ) ) {
1669
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1670
-			$device_size = '-md';
1671
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1672
-			$device_size = '-lg';
1673
-		}
1674
-	}
1675
-	$options = array(
1676
-		''                                            => __( 'Default', 'super-duper' ),
1677
-		'justify-content' . $device_size . '-start'   => 'justify-content-start',
1678
-		'justify-content' . $device_size . '-end'     => 'justify-content-end',
1679
-		'justify-content' . $device_size . '-center'  => 'justify-content-center',
1680
-		'justify-content' . $device_size . '-between' => 'justify-content-between',
1681
-		'justify-content' . $device_size . '-stretch' => 'justify-content-around',
1682
-	);
1683
-
1684
-	$defaults = array(
1685
-		'type'            => 'select',
1686
-		'title'           => __( 'Justify content', 'super-duper' ),
1687
-		'options'         => $options,
1688
-		'default'         => '',
1689
-		'desc_tip'        => true,
1690
-		'group'           => __( 'Wrapper Styles', 'super-duper' ),
1691
-		'element_require' => '( ( [%container%]=="row" ) || ( [%display%]=="d-flex" || [%display_md%]=="d-md-flex" || [%display_lg%]=="d-lg-flex" ) ) ',
1692
-
1693
-	);
1694
-
1695
-	$input = wp_parse_args( $overwrite, $defaults );
1696
-
1697
-	return $input;
1667
+    $device_size = '';
1668
+    if ( ! empty( $overwrite['device_type'] ) ) {
1669
+        if ( $overwrite['device_type'] == 'Tablet' ) {
1670
+            $device_size = '-md';
1671
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
1672
+            $device_size = '-lg';
1673
+        }
1674
+    }
1675
+    $options = array(
1676
+        ''                                            => __( 'Default', 'super-duper' ),
1677
+        'justify-content' . $device_size . '-start'   => 'justify-content-start',
1678
+        'justify-content' . $device_size . '-end'     => 'justify-content-end',
1679
+        'justify-content' . $device_size . '-center'  => 'justify-content-center',
1680
+        'justify-content' . $device_size . '-between' => 'justify-content-between',
1681
+        'justify-content' . $device_size . '-stretch' => 'justify-content-around',
1682
+    );
1683
+
1684
+    $defaults = array(
1685
+        'type'            => 'select',
1686
+        'title'           => __( 'Justify content', 'super-duper' ),
1687
+        'options'         => $options,
1688
+        'default'         => '',
1689
+        'desc_tip'        => true,
1690
+        'group'           => __( 'Wrapper Styles', 'super-duper' ),
1691
+        'element_require' => '( ( [%container%]=="row" ) || ( [%display%]=="d-flex" || [%display_md%]=="d-md-flex" || [%display_lg%]=="d-lg-flex" ) ) ',
1692
+
1693
+    );
1694
+
1695
+    $input = wp_parse_args( $overwrite, $defaults );
1696
+
1697
+    return $input;
1698 1698
 }
1699 1699
 
1700 1700
 function sd_get_flex_justify_content_input_group( $type = 'flex_justify_content', $overwrite = array() ) {
1701
-	$inputs = array();
1702
-	$sizes  = array(
1703
-		''    => 'Mobile',
1704
-		'_md' => 'Tablet',
1705
-		'_lg' => 'Desktop',
1706
-	);
1701
+    $inputs = array();
1702
+    $sizes  = array(
1703
+        ''    => 'Mobile',
1704
+        '_md' => 'Tablet',
1705
+        '_lg' => 'Desktop',
1706
+    );
1707 1707
 
1708
-	if ( $overwrite !== false ) {
1708
+    if ( $overwrite !== false ) {
1709 1709
 
1710
-		foreach ( $sizes as $ds => $dt ) {
1711
-			$overwrite['device_type'] = $dt;
1712
-			$inputs[ $type . $ds ]    = sd_get_flex_justify_content_input( $type, $overwrite );
1713
-		}
1714
-	}
1710
+        foreach ( $sizes as $ds => $dt ) {
1711
+            $overwrite['device_type'] = $dt;
1712
+            $inputs[ $type . $ds ]    = sd_get_flex_justify_content_input( $type, $overwrite );
1713
+        }
1714
+    }
1715 1715
 
1716
-	return $inputs;
1716
+    return $inputs;
1717 1717
 }
1718 1718
 
1719 1719
 
1720 1720
 function sd_get_flex_align_self_input( $type = 'flex_align_self', $overwrite = array() ) {
1721
-	$device_size = '';
1722
-	if ( ! empty( $overwrite['device_type'] ) ) {
1723
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1724
-			$device_size = '-md';
1725
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1726
-			$device_size = '-lg';
1727
-		}
1728
-	}
1729
-	$options = array(
1730
-		''                                         => __( 'Default', 'super-duper' ),
1731
-		'align-items' . $device_size . '-start'    => 'align-items-start',
1732
-		'align-items' . $device_size . '-end'      => 'align-items-end',
1733
-		'align-items' . $device_size . '-center'   => 'align-items-center',
1734
-		'align-items' . $device_size . '-baseline' => 'align-items-baseline',
1735
-		'align-items' . $device_size . '-stretch'  => 'align-items-stretch',
1736
-	);
1737
-
1738
-	$defaults = array(
1739
-		'type'            => 'select',
1740
-		'title'           => __( 'Align Self', 'super-duper' ),
1741
-		'options'         => $options,
1742
-		'default'         => '',
1743
-		'desc_tip'        => true,
1744
-		'group'           => __( 'Wrapper Styles', 'super-duper' ),
1745
-		'element_require' => ' [%container%]=="col" ',
1746
-
1747
-	);
1748
-
1749
-	$input = wp_parse_args( $overwrite, $defaults );
1750
-
1751
-	return $input;
1721
+    $device_size = '';
1722
+    if ( ! empty( $overwrite['device_type'] ) ) {
1723
+        if ( $overwrite['device_type'] == 'Tablet' ) {
1724
+            $device_size = '-md';
1725
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
1726
+            $device_size = '-lg';
1727
+        }
1728
+    }
1729
+    $options = array(
1730
+        ''                                         => __( 'Default', 'super-duper' ),
1731
+        'align-items' . $device_size . '-start'    => 'align-items-start',
1732
+        'align-items' . $device_size . '-end'      => 'align-items-end',
1733
+        'align-items' . $device_size . '-center'   => 'align-items-center',
1734
+        'align-items' . $device_size . '-baseline' => 'align-items-baseline',
1735
+        'align-items' . $device_size . '-stretch'  => 'align-items-stretch',
1736
+    );
1737
+
1738
+    $defaults = array(
1739
+        'type'            => 'select',
1740
+        'title'           => __( 'Align Self', 'super-duper' ),
1741
+        'options'         => $options,
1742
+        'default'         => '',
1743
+        'desc_tip'        => true,
1744
+        'group'           => __( 'Wrapper Styles', 'super-duper' ),
1745
+        'element_require' => ' [%container%]=="col" ',
1746
+
1747
+    );
1748
+
1749
+    $input = wp_parse_args( $overwrite, $defaults );
1750
+
1751
+    return $input;
1752 1752
 }
1753 1753
 
1754 1754
 function sd_get_flex_align_self_input_group( $type = 'flex_align_self', $overwrite = array() ) {
1755
-	$inputs = array();
1756
-	$sizes  = array(
1757
-		''    => 'Mobile',
1758
-		'_md' => 'Tablet',
1759
-		'_lg' => 'Desktop',
1760
-	);
1755
+    $inputs = array();
1756
+    $sizes  = array(
1757
+        ''    => 'Mobile',
1758
+        '_md' => 'Tablet',
1759
+        '_lg' => 'Desktop',
1760
+    );
1761 1761
 
1762
-	if ( $overwrite !== false ) {
1762
+    if ( $overwrite !== false ) {
1763 1763
 
1764
-		foreach ( $sizes as $ds => $dt ) {
1765
-			$overwrite['device_type'] = $dt;
1766
-			$inputs[ $type . $ds ]    = sd_get_flex_align_self_input( $type, $overwrite );
1767
-		}
1768
-	}
1764
+        foreach ( $sizes as $ds => $dt ) {
1765
+            $overwrite['device_type'] = $dt;
1766
+            $inputs[ $type . $ds ]    = sd_get_flex_align_self_input( $type, $overwrite );
1767
+        }
1768
+    }
1769 1769
 
1770
-	return $inputs;
1770
+    return $inputs;
1771 1771
 }
1772 1772
 
1773 1773
 function sd_get_flex_order_input( $type = 'flex_order', $overwrite = array() ) {
1774
-	$device_size = '';
1775
-	if ( ! empty( $overwrite['device_type'] ) ) {
1776
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1777
-			$device_size = '-md';
1778
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1779
-			$device_size = '-lg';
1780
-		}
1781
-	}
1782
-	$options = array(
1783
-		'' => __( 'Default', 'super-duper' ),
1784
-	);
1785
-
1786
-	$i = 0;
1787
-	while ( $i <= 5 ) {
1788
-		$options[ 'order' . $device_size . '-' . $i ] = $i;
1789
-		$i++;
1790
-	}
1791
-
1792
-	$defaults = array(
1793
-		'type'            => 'select',
1794
-		'title'           => __( 'Flex Order', 'super-duper' ),
1795
-		'options'         => $options,
1796
-		'default'         => '',
1797
-		'desc_tip'        => true,
1798
-		'group'           => __( 'Wrapper Styles', 'super-duper' ),
1799
-		'element_require' => ' [%container%]=="col" ',
1800
-
1801
-	);
1802
-
1803
-	$input = wp_parse_args( $overwrite, $defaults );
1804
-
1805
-	return $input;
1774
+    $device_size = '';
1775
+    if ( ! empty( $overwrite['device_type'] ) ) {
1776
+        if ( $overwrite['device_type'] == 'Tablet' ) {
1777
+            $device_size = '-md';
1778
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
1779
+            $device_size = '-lg';
1780
+        }
1781
+    }
1782
+    $options = array(
1783
+        '' => __( 'Default', 'super-duper' ),
1784
+    );
1785
+
1786
+    $i = 0;
1787
+    while ( $i <= 5 ) {
1788
+        $options[ 'order' . $device_size . '-' . $i ] = $i;
1789
+        $i++;
1790
+    }
1791
+
1792
+    $defaults = array(
1793
+        'type'            => 'select',
1794
+        'title'           => __( 'Flex Order', 'super-duper' ),
1795
+        'options'         => $options,
1796
+        'default'         => '',
1797
+        'desc_tip'        => true,
1798
+        'group'           => __( 'Wrapper Styles', 'super-duper' ),
1799
+        'element_require' => ' [%container%]=="col" ',
1800
+
1801
+    );
1802
+
1803
+    $input = wp_parse_args( $overwrite, $defaults );
1804
+
1805
+    return $input;
1806 1806
 }
1807 1807
 
1808 1808
 function sd_get_flex_order_input_group( $type = 'flex_order', $overwrite = array() ) {
1809
-	$inputs = array();
1810
-	$sizes  = array(
1811
-		''    => 'Mobile',
1812
-		'_md' => 'Tablet',
1813
-		'_lg' => 'Desktop',
1814
-	);
1809
+    $inputs = array();
1810
+    $sizes  = array(
1811
+        ''    => 'Mobile',
1812
+        '_md' => 'Tablet',
1813
+        '_lg' => 'Desktop',
1814
+    );
1815 1815
 
1816
-	if ( $overwrite !== false ) {
1816
+    if ( $overwrite !== false ) {
1817 1817
 
1818
-		foreach ( $sizes as $ds => $dt ) {
1819
-			$overwrite['device_type'] = $dt;
1820
-			$inputs[ $type . $ds ]    = sd_get_flex_order_input( $type, $overwrite );
1821
-		}
1822
-	}
1818
+        foreach ( $sizes as $ds => $dt ) {
1819
+            $overwrite['device_type'] = $dt;
1820
+            $inputs[ $type . $ds ]    = sd_get_flex_order_input( $type, $overwrite );
1821
+        }
1822
+    }
1823 1823
 
1824
-	return $inputs;
1824
+    return $inputs;
1825 1825
 }
1826 1826
 
1827 1827
 function sd_get_flex_wrap_group( $type = 'flex_wrap', $overwrite = array() ) {
1828
-	$inputs = array();
1829
-	$sizes  = array(
1830
-		''    => 'Mobile',
1831
-		'_md' => 'Tablet',
1832
-		'_lg' => 'Desktop',
1833
-	);
1828
+    $inputs = array();
1829
+    $sizes  = array(
1830
+        ''    => 'Mobile',
1831
+        '_md' => 'Tablet',
1832
+        '_lg' => 'Desktop',
1833
+    );
1834 1834
 
1835
-	if ( $overwrite !== false ) {
1835
+    if ( $overwrite !== false ) {
1836 1836
 
1837
-		foreach ( $sizes as $ds => $dt ) {
1838
-			$overwrite['device_type'] = $dt;
1839
-			$inputs[ $type . $ds ]    = sd_get_flex_wrap_input( $type, $overwrite );
1840
-		}
1841
-	}
1837
+        foreach ( $sizes as $ds => $dt ) {
1838
+            $overwrite['device_type'] = $dt;
1839
+            $inputs[ $type . $ds ]    = sd_get_flex_wrap_input( $type, $overwrite );
1840
+        }
1841
+    }
1842 1842
 
1843
-	return $inputs;
1843
+    return $inputs;
1844 1844
 }
1845 1845
 
1846 1846
 function sd_get_flex_wrap_input( $type = 'flex_wrap', $overwrite = array() ) {
1847
-	$device_size = '';
1848
-	if ( ! empty( $overwrite['device_type'] ) ) {
1849
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1850
-			$device_size = '-md';
1851
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1852
-			$device_size = '-lg';
1853
-		}
1854
-	}
1855
-	$options = array(
1856
-		''                                      => __( 'Default', 'super-duper' ),
1857
-		'flex' . $device_size . '-nowrap'       => 'nowrap',
1858
-		'flex' . $device_size . '-wrap'         => 'wrap',
1859
-		'flex' . $device_size . '-wrap-reverse' => 'wrap-reverse',
1860
-	);
1861
-
1862
-	$defaults = array(
1863
-		'type'     => 'select',
1864
-		'title'    => __( 'Flex wrap', 'super-duper' ),
1865
-		'options'  => $options,
1866
-		'default'  => '',
1867
-		'desc_tip' => true,
1868
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
1869
-	);
1870
-
1871
-	$input = wp_parse_args( $overwrite, $defaults );
1872
-
1873
-	return $input;
1847
+    $device_size = '';
1848
+    if ( ! empty( $overwrite['device_type'] ) ) {
1849
+        if ( $overwrite['device_type'] == 'Tablet' ) {
1850
+            $device_size = '-md';
1851
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
1852
+            $device_size = '-lg';
1853
+        }
1854
+    }
1855
+    $options = array(
1856
+        ''                                      => __( 'Default', 'super-duper' ),
1857
+        'flex' . $device_size . '-nowrap'       => 'nowrap',
1858
+        'flex' . $device_size . '-wrap'         => 'wrap',
1859
+        'flex' . $device_size . '-wrap-reverse' => 'wrap-reverse',
1860
+    );
1861
+
1862
+    $defaults = array(
1863
+        'type'     => 'select',
1864
+        'title'    => __( 'Flex wrap', 'super-duper' ),
1865
+        'options'  => $options,
1866
+        'default'  => '',
1867
+        'desc_tip' => true,
1868
+        'group'    => __( 'Wrapper Styles', 'super-duper' ),
1869
+    );
1870
+
1871
+    $input = wp_parse_args( $overwrite, $defaults );
1872
+
1873
+    return $input;
1874 1874
 }
1875 1875
 
1876 1876
 function sd_get_float_group( $type = 'float', $overwrite = array() ) {
1877
-	$inputs = array();
1878
-	$sizes  = array(
1879
-		''    => 'Mobile',
1880
-		'_md' => 'Tablet',
1881
-		'_lg' => 'Desktop',
1882
-	);
1877
+    $inputs = array();
1878
+    $sizes  = array(
1879
+        ''    => 'Mobile',
1880
+        '_md' => 'Tablet',
1881
+        '_lg' => 'Desktop',
1882
+    );
1883 1883
 
1884
-	if ( $overwrite !== false ) {
1884
+    if ( $overwrite !== false ) {
1885 1885
 
1886
-		foreach ( $sizes as $ds => $dt ) {
1887
-			$overwrite['device_type'] = $dt;
1888
-			$inputs[ $type . $ds ]    = sd_get_float_input( $type, $overwrite );
1889
-		}
1890
-	}
1886
+        foreach ( $sizes as $ds => $dt ) {
1887
+            $overwrite['device_type'] = $dt;
1888
+            $inputs[ $type . $ds ]    = sd_get_float_input( $type, $overwrite );
1889
+        }
1890
+    }
1891 1891
 
1892
-	return $inputs;
1892
+    return $inputs;
1893 1893
 }
1894 1894
 function sd_get_float_input( $type = 'float', $overwrite = array() ) {
1895
-	$device_size = '';
1896
-	if ( ! empty( $overwrite['device_type'] ) ) {
1897
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1898
-			$device_size = '-md';
1899
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1900
-			$device_size = '-lg';
1901
-		}
1902
-	}
1903
-	$options = array(
1904
-		''                                      => __( 'Default', 'super-duper' ),
1905
-		'float' . $device_size . '-start'       => 'left',
1906
-		'float' . $device_size . '-end'         => 'right',
1907
-		'float' . $device_size . '-none' => 'none',
1908
-	);
1909
-
1910
-	$defaults = array(
1911
-		'type'     => 'select',
1912
-		'title'    => __( 'Float', 'super-duper' ),
1913
-		'options'  => $options,
1914
-		'default'  => '',
1915
-		'desc_tip' => true,
1916
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
1917
-	);
1918
-
1919
-	$input = wp_parse_args( $overwrite, $defaults );
1920
-
1921
-	return $input;
1895
+    $device_size = '';
1896
+    if ( ! empty( $overwrite['device_type'] ) ) {
1897
+        if ( $overwrite['device_type'] == 'Tablet' ) {
1898
+            $device_size = '-md';
1899
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
1900
+            $device_size = '-lg';
1901
+        }
1902
+    }
1903
+    $options = array(
1904
+        ''                                      => __( 'Default', 'super-duper' ),
1905
+        'float' . $device_size . '-start'       => 'left',
1906
+        'float' . $device_size . '-end'         => 'right',
1907
+        'float' . $device_size . '-none' => 'none',
1908
+    );
1909
+
1910
+    $defaults = array(
1911
+        'type'     => 'select',
1912
+        'title'    => __( 'Float', 'super-duper' ),
1913
+        'options'  => $options,
1914
+        'default'  => '',
1915
+        'desc_tip' => true,
1916
+        'group'    => __( 'Wrapper Styles', 'super-duper' ),
1917
+    );
1918
+
1919
+    $input = wp_parse_args( $overwrite, $defaults );
1920
+
1921
+    return $input;
1922 1922
 }
1923 1923
 
1924 1924
 /**
@@ -1929,26 +1929,26 @@  discard block
 block discarded – undo
1929 1929
  */
1930 1930
 function sd_get_zindex_input( $type = 'zindex', $overwrite = array() ) {
1931 1931
 
1932
-	$options = array(
1933
-		''          => __( 'Default', 'super-duper' ),
1934
-		'zindex-0'  => '0',
1935
-		'zindex-1'  => '1',
1936
-		'zindex-5'  => '5',
1937
-		'zindex-10' => '10',
1938
-	);
1932
+    $options = array(
1933
+        ''          => __( 'Default', 'super-duper' ),
1934
+        'zindex-0'  => '0',
1935
+        'zindex-1'  => '1',
1936
+        'zindex-5'  => '5',
1937
+        'zindex-10' => '10',
1938
+    );
1939 1939
 
1940
-	$defaults = array(
1941
-		'type'     => 'select',
1942
-		'title'    => __( 'Z-index', 'super-duper' ),
1943
-		'options'  => $options,
1944
-		'default'  => '',
1945
-		'desc_tip' => true,
1946
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
1947
-	);
1940
+    $defaults = array(
1941
+        'type'     => 'select',
1942
+        'title'    => __( 'Z-index', 'super-duper' ),
1943
+        'options'  => $options,
1944
+        'default'  => '',
1945
+        'desc_tip' => true,
1946
+        'group'    => __( 'Wrapper Styles', 'super-duper' ),
1947
+    );
1948 1948
 
1949
-	$input = wp_parse_args( $overwrite, $defaults );
1949
+    $input = wp_parse_args( $overwrite, $defaults );
1950 1950
 
1951
-	return $input;
1951
+    return $input;
1952 1952
 }
1953 1953
 
1954 1954
 /**
@@ -1959,26 +1959,26 @@  discard block
 block discarded – undo
1959 1959
  */
1960 1960
 function sd_get_overflow_input( $type = 'overflow', $overwrite = array() ) {
1961 1961
 
1962
-	$options = array(
1963
-		''                 => __( 'Default', 'super-duper' ),
1964
-		'overflow-auto'    => __( 'Auto', 'super-duper' ),
1965
-		'overflow-hidden'  => __( 'Hidden', 'super-duper' ),
1966
-		'overflow-visible' => __( 'Visible', 'super-duper' ),
1967
-		'overflow-scroll'  => __( 'Scroll', 'super-duper' ),
1968
-	);
1962
+    $options = array(
1963
+        ''                 => __( 'Default', 'super-duper' ),
1964
+        'overflow-auto'    => __( 'Auto', 'super-duper' ),
1965
+        'overflow-hidden'  => __( 'Hidden', 'super-duper' ),
1966
+        'overflow-visible' => __( 'Visible', 'super-duper' ),
1967
+        'overflow-scroll'  => __( 'Scroll', 'super-duper' ),
1968
+    );
1969 1969
 
1970
-	$defaults = array(
1971
-		'type'     => 'select',
1972
-		'title'    => __( 'Overflow', 'super-duper' ),
1973
-		'options'  => $options,
1974
-		'default'  => '',
1975
-		'desc_tip' => true,
1976
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
1977
-	);
1970
+    $defaults = array(
1971
+        'type'     => 'select',
1972
+        'title'    => __( 'Overflow', 'super-duper' ),
1973
+        'options'  => $options,
1974
+        'default'  => '',
1975
+        'desc_tip' => true,
1976
+        'group'    => __( 'Wrapper Styles', 'super-duper' ),
1977
+    );
1978 1978
 
1979
-	$input = wp_parse_args( $overwrite, $defaults );
1979
+    $input = wp_parse_args( $overwrite, $defaults );
1980 1980
 
1981
-	return $input;
1981
+    return $input;
1982 1982
 }
1983 1983
 
1984 1984
 /**
@@ -1989,19 +1989,19 @@  discard block
 block discarded – undo
1989 1989
  */
1990 1990
 function sd_get_max_height_input( $type = 'max_height', $overwrite = array() ) {
1991 1991
 
1992
-	$defaults = array(
1993
-		'type'        => 'text',
1994
-		'title'       => __( 'Max height', 'super-duper' ),
1995
-		'value'       => '',
1996
-		'default'     => '',
1997
-		'placeholder' => '',
1998
-		'desc_tip'    => true,
1999
-		'group'       => __( 'Wrapper Styles', 'super-duper' ),
2000
-	);
1992
+    $defaults = array(
1993
+        'type'        => 'text',
1994
+        'title'       => __( 'Max height', 'super-duper' ),
1995
+        'value'       => '',
1996
+        'default'     => '',
1997
+        'placeholder' => '',
1998
+        'desc_tip'    => true,
1999
+        'group'       => __( 'Wrapper Styles', 'super-duper' ),
2000
+    );
2001 2001
 
2002
-	$input = wp_parse_args( $overwrite, $defaults );
2002
+    $input = wp_parse_args( $overwrite, $defaults );
2003 2003
 
2004
-	return $input;
2004
+    return $input;
2005 2005
 }
2006 2006
 
2007 2007
 /**
@@ -2012,23 +2012,23 @@  discard block
 block discarded – undo
2012 2012
  */
2013 2013
 function sd_get_scrollbars_input( $type = 'scrollbars', $overwrite = array() ) {
2014 2014
 
2015
-	$options = array(
2016
-		''               => __( 'Default', 'super-duper' ),
2017
-		'scrollbars-ios' => __( 'IOS Style', 'super-duper' ),
2018
-	);
2015
+    $options = array(
2016
+        ''               => __( 'Default', 'super-duper' ),
2017
+        'scrollbars-ios' => __( 'IOS Style', 'super-duper' ),
2018
+    );
2019 2019
 
2020
-	$defaults = array(
2021
-		'type'     => 'select',
2022
-		'title'    => __( 'Scrollbars', 'super-duper' ),
2023
-		'options'  => $options,
2024
-		'default'  => '',
2025
-		'desc_tip' => true,
2026
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
2027
-	);
2020
+    $defaults = array(
2021
+        'type'     => 'select',
2022
+        'title'    => __( 'Scrollbars', 'super-duper' ),
2023
+        'options'  => $options,
2024
+        'default'  => '',
2025
+        'desc_tip' => true,
2026
+        'group'    => __( 'Wrapper Styles', 'super-duper' ),
2027
+    );
2028 2028
 
2029
-	$input = wp_parse_args( $overwrite, $defaults );
2029
+    $input = wp_parse_args( $overwrite, $defaults );
2030 2030
 
2031
-	return $input;
2031
+    return $input;
2032 2032
 }
2033 2033
 
2034 2034
 /**
@@ -2040,415 +2040,415 @@  discard block
 block discarded – undo
2040 2040
  * @todo find best way to use px- py- or general p-
2041 2041
  */
2042 2042
 function sd_build_aui_class( $args ) {
2043
-	global $aui_bs5;
2044
-
2045
-	$classes = array();
2046
-
2047
-	if ( $aui_bs5 ) {
2048
-		$p_ml = 'ms-';
2049
-		$p_mr = 'me-';
2050
-
2051
-		$p_pl = 'ps-';
2052
-		$p_pr = 'pe-';
2053
-	} else {
2054
-		$p_ml = 'ml-';
2055
-		$p_mr = 'mr-';
2056
-
2057
-		$p_pl = 'pl-';
2058
-		$p_pr = 'pr-';
2059
-	}
2060
-
2061
-	// margins.
2062
-	if ( isset( $args['mt'] ) && $args['mt'] !== '' ) {
2063
-		$classes[] = 'mt-' . sanitize_html_class( $args['mt'] );
2064
-		$mt        = $args['mt'];
2065
-	} else {
2066
-		$mt = null;
2067
-	}
2068
-	if ( isset( $args['mr'] ) && $args['mr'] !== '' ) {
2069
-		$classes[] = $p_mr . sanitize_html_class( $args['mr'] );
2070
-		$mr        = $args['mr'];
2071
-	} else {
2072
-		$mr = null;
2073
-	}
2074
-	if ( isset( $args['mb'] ) && $args['mb'] !== '' ) {
2075
-		$classes[] = 'mb-' . sanitize_html_class( $args['mb'] );
2076
-		$mb        = $args['mb'];
2077
-	} else {
2078
-		$mb = null;
2079
-	}
2080
-	if ( isset( $args['ml'] ) && $args['ml'] !== '' ) {
2081
-		$classes[] = $p_ml . sanitize_html_class( $args['ml'] );
2082
-		$ml        = $args['ml'];
2083
-	} else {
2084
-		$ml = null;
2085
-	}
2086
-
2087
-	// margins tablet.
2088
-	if ( isset( $args['mt_md'] ) && $args['mt_md'] !== '' ) {
2089
-		$classes[] = 'mt-md-' . sanitize_html_class( $args['mt_md'] );
2090
-		$mt_md     = $args['mt_md'];
2091
-	} else {
2092
-		$mt_md = null;
2093
-	}
2094
-	if ( isset( $args['mr_md'] ) && $args['mr_md'] !== '' ) {
2095
-		$classes[] = $p_mr . 'md-' . sanitize_html_class( $args['mr_md'] );
2096
-		$mt_md     = $args['mr_md'];
2097
-	} else {
2098
-		$mr_md = null;
2099
-	}
2100
-	if ( isset( $args['mb_md'] ) && $args['mb_md'] !== '' ) {
2101
-		$classes[] = 'mb-md-' . sanitize_html_class( $args['mb_md'] );
2102
-		$mt_md     = $args['mb_md'];
2103
-	} else {
2104
-		$mb_md = null;
2105
-	}
2106
-	if ( isset( $args['ml_md'] ) && $args['ml_md'] !== '' ) {
2107
-		$classes[] = $p_ml . 'md-' . sanitize_html_class( $args['ml_md'] );
2108
-		$mt_md     = $args['ml_md'];
2109
-	} else {
2110
-		$ml_md = null;
2111
-	}
2112
-
2113
-	// margins desktop.
2114
-	if ( isset( $args['mt_lg'] ) && $args['mt_lg'] !== '' ) {
2115
-		if ( $mt == null && $mt_md == null ) {
2116
-			$classes[] = 'mt-' . sanitize_html_class( $args['mt_lg'] );
2117
-		} else {
2118
-			$classes[] = 'mt-lg-' . sanitize_html_class( $args['mt_lg'] );
2119
-		}
2120
-	}
2121
-	if ( isset( $args['mr_lg'] ) && $args['mr_lg'] !== '' ) {
2122
-		if ( $mr == null && $mr_md == null ) {
2123
-			$classes[] = $p_mr . sanitize_html_class( $args['mr_lg'] );
2124
-		} else {
2125
-			$classes[] = $p_mr . 'lg-' . sanitize_html_class( $args['mr_lg'] );
2126
-		}
2127
-	}
2128
-	if ( isset( $args['mb_lg'] ) && $args['mb_lg'] !== '' ) {
2129
-		if ( $mb == null && $mb_md == null ) {
2130
-			$classes[] = 'mb-' . sanitize_html_class( $args['mb_lg'] );
2131
-		} else {
2132
-			$classes[] = 'mb-lg-' . sanitize_html_class( $args['mb_lg'] );
2133
-		}
2134
-	}
2135
-	if ( isset( $args['ml_lg'] ) && $args['ml_lg'] !== '' ) {
2136
-		if ( $ml == null && $ml_md == null ) {
2137
-			$classes[] = $p_ml . sanitize_html_class( $args['ml_lg'] );
2138
-		} else {
2139
-			$classes[] = $p_ml . 'lg-' . sanitize_html_class( $args['ml_lg'] );
2140
-		}
2141
-	}
2142
-
2143
-	// padding.
2144
-	if ( isset( $args['pt'] ) && $args['pt'] !== '' ) {
2145
-		$classes[] = 'pt-' . sanitize_html_class( $args['pt'] );
2146
-		$pt        = $args['pt'];
2147
-	} else {
2148
-		$pt = null;
2149
-	}
2150
-	if ( isset( $args['pr'] ) && $args['pr'] !== '' ) {
2151
-		$classes[] = $p_pr . sanitize_html_class( $args['pr'] );
2152
-		$pr        = $args['pr'];
2153
-	} else {
2154
-		$pr = null;
2155
-	}
2156
-	if ( isset( $args['pb'] ) && $args['pb'] !== '' ) {
2157
-		$classes[] = 'pb-' . sanitize_html_class( $args['pb'] );
2158
-		$pb        = $args['pb'];
2159
-	} else {
2160
-		$pb = null;
2161
-	}
2162
-	if ( isset( $args['pl'] ) && $args['pl'] !== '' ) {
2163
-		$classes[] = $p_pl . sanitize_html_class( $args['pl'] );
2164
-		$pl        = $args['pl'];
2165
-	} else {
2166
-		$pl = null;
2167
-	}
2168
-
2169
-	// padding tablet.
2170
-	if ( isset( $args['pt_md'] ) && $args['pt_md'] !== '' ) {
2171
-		$classes[] = 'pt-md-' . sanitize_html_class( $args['pt_md'] );
2172
-		$pt_md     = $args['pt_md'];
2173
-	} else {
2174
-		$pt_md = null;
2175
-	}
2176
-	if ( isset( $args['pr_md'] ) && $args['pr_md'] !== '' ) {
2177
-		$classes[] = $p_pr . 'md-' . sanitize_html_class( $args['pr_md'] );
2178
-		$pr_md     = $args['pr_md'];
2179
-	} else {
2180
-		$pr_md = null;
2181
-	}
2182
-	if ( isset( $args['pb_md'] ) && $args['pb_md'] !== '' ) {
2183
-		$classes[] = 'pb-md-' . sanitize_html_class( $args['pb_md'] );
2184
-		$pb_md     = $args['pb_md'];
2185
-	} else {
2186
-		$pb_md = null;
2187
-	}
2188
-	if ( isset( $args['pl_md'] ) && $args['pl_md'] !== '' ) {
2189
-		$classes[] = $p_pl . 'md-' . sanitize_html_class( $args['pl_md'] );
2190
-		$pl_md     = $args['pl_md'];
2191
-	} else {
2192
-		$pl_md = null;
2193
-	}
2194
-
2195
-	// padding desktop.
2196
-	if ( isset( $args['pt_lg'] ) && $args['pt_lg'] !== '' ) {
2197
-		if ( $pt == null && $pt_md == null ) {
2198
-			$classes[] = 'pt-' . sanitize_html_class( $args['pt_lg'] );
2199
-		} else {
2200
-			$classes[] = 'pt-lg-' . sanitize_html_class( $args['pt_lg'] );
2201
-		}
2202
-	}
2203
-	if ( isset( $args['pr_lg'] ) && $args['pr_lg'] !== '' ) {
2204
-		if ( $pr == null && $pr_md == null ) {
2205
-			$classes[] = $p_pr . sanitize_html_class( $args['pr_lg'] );
2206
-		} else {
2207
-			$classes[] = $p_pr . 'lg-' . sanitize_html_class( $args['pr_lg'] );
2208
-		}
2209
-	}
2210
-	if ( isset( $args['pb_lg'] ) && $args['pb_lg'] !== '' ) {
2211
-		if ( $pb == null && $pb_md == null ) {
2212
-			$classes[] = 'pb-' . sanitize_html_class( $args['pb_lg'] );
2213
-		} else {
2214
-			$classes[] = 'pb-lg-' . sanitize_html_class( $args['pb_lg'] );
2215
-		}
2216
-	}
2217
-	if ( isset( $args['pl_lg'] ) && $args['pl_lg'] !== '' ) {
2218
-		if ( $pl == null && $pl_md == null ) {
2219
-			$classes[] = $p_pl . sanitize_html_class( $args['pl_lg'] );
2220
-		} else {
2221
-			$classes[] = $p_pl . 'lg-' . sanitize_html_class( $args['pl_lg'] );
2222
-		}
2223
-	}
2224
-
2225
-	// row cols, mobile, tablet, desktop
2226
-	if ( ! empty( $args['row_cols'] ) && $args['row_cols'] !== '' ) {
2227
-		$classes[] = sanitize_html_class( 'row-cols-' . $args['row_cols'] );
2228
-		$row_cols  = $args['row_cols'];
2229
-	} else {
2230
-		$row_cols = null;
2231
-	}
2232
-	if ( ! empty( $args['row_cols_md'] ) && $args['row_cols_md'] !== '' ) {
2233
-		$classes[]   = sanitize_html_class( 'row-cols-md-' . $args['row_cols_md'] );
2234
-		$row_cols_md = $args['row_cols_md'];
2235
-	} else {
2236
-		$row_cols_md = null;
2237
-	}
2238
-	if ( ! empty( $args['row_cols_lg'] ) && $args['row_cols_lg'] !== '' ) {
2239
-		if ( $row_cols == null && $row_cols_md == null ) {
2240
-			$classes[] = sanitize_html_class( 'row-cols-' . $args['row_cols_lg'] );
2241
-		} else {
2242
-			$classes[] = sanitize_html_class( 'row-cols-lg-' . $args['row_cols_lg'] );
2243
-		}
2244
-	}
2245
-
2246
-	// columns , mobile, tablet, desktop
2247
-	if ( ! empty( $args['col'] ) && $args['col'] !== '' ) {
2248
-		$classes[] = sanitize_html_class( 'col-' . $args['col'] );
2249
-		$col       = $args['col'];
2250
-	} else {
2251
-		$col = null;
2252
-	}
2253
-	if ( ! empty( $args['col_md'] ) && $args['col_md'] !== '' ) {
2254
-		$classes[] = sanitize_html_class( 'col-md-' . $args['col_md'] );
2255
-		$col_md    = $args['col_md'];
2256
-	} else {
2257
-		$col_md = null;
2258
-	}
2259
-	if ( ! empty( $args['col_lg'] ) && $args['col_lg'] !== '' ) {
2260
-		if ( $col == null && $col_md == null ) {
2261
-			$classes[] = sanitize_html_class( 'col-' . $args['col_lg'] );
2262
-		} else {
2263
-			$classes[] = sanitize_html_class( 'col-lg-' . $args['col_lg'] );
2264
-		}
2265
-	}
2266
-
2267
-	// border
2268
-	if ( isset( $args['border'] ) && ( $args['border'] == 'none' || $args['border'] === '0' || $args['border'] === 0 ) ) {
2269
-		$classes[] = 'border-0';
2270
-	} elseif ( ! empty( $args['border'] ) ) {
2271
-		$border_class = 'border';
2272
-		if ( ! empty( $args['border_type'] ) && strpos( $args['border_type'], '-0' ) === false ) {
2273
-			$border_class = '';
2274
-		}
2275
-		$classes[] = $border_class . ' border-' . sanitize_html_class( $args['border'] );
2276
-	}
2277
-
2278
-	// border radius type
2279
-	if ( ! empty( $args['rounded'] ) ) {
2280
-		$classes[] = sanitize_html_class( $args['rounded'] );
2281
-	}
2282
-
2283
-	// border radius size BS4
2284
-	if ( isset( $args['rounded_size'] ) && in_array( $args['rounded_size'], array( 'sm', 'lg' ) ) ) {
2285
-		$classes[] = 'rounded-' . sanitize_html_class( $args['rounded_size'] );
2286
-		// if we set a size then we need to remove "rounded" if set
2287
-		if ( ( $key = array_search( 'rounded', $classes ) ) !== false ) {
2288
-			unset( $classes[ $key ] );
2289
-		}
2290
-	} else {
2291
-
2292
-		// border radius size , mobile, tablet, desktop
2293
-		if ( isset( $args['rounded_size'] ) && $args['rounded_size'] !== '' ) {
2294
-			$classes[]    = sanitize_html_class( 'rounded-' . $args['rounded_size'] );
2295
-			$rounded_size = $args['rounded_size'];
2296
-		} else {
2297
-			$rounded_size = null;
2298
-		}
2299
-		if ( isset( $args['rounded_size_md'] ) && $args['rounded_size_md'] !== '' ) {
2300
-			$classes[]       = sanitize_html_class( 'rounded-md-' . $args['rounded_size_md'] );
2301
-			$rounded_size_md = $args['rounded_size_md'];
2302
-		} else {
2303
-			$rounded_size_md = null;
2304
-		}
2305
-		if ( isset( $args['rounded_size_lg'] ) && $args['rounded_size_lg'] !== '' ) {
2306
-			if ( $rounded_size == null && $rounded_size_md == null ) {
2307
-				$classes[] = sanitize_html_class( 'rounded-' . $args['rounded_size_lg'] );
2308
-			} else {
2309
-				$classes[] = sanitize_html_class( 'rounded-lg-' . $args['rounded_size_lg'] );
2310
-			}
2311
-		}
2312
-	}
2313
-
2314
-	// shadow
2315
-	//if ( !empty( $args['shadow'] ) ) { $classes[] = sanitize_html_class($args['shadow']); }
2316
-
2317
-	// background
2318
-	if ( ! empty( $args['bg'] ) ) {
2319
-		$classes[] = 'bg-' . sanitize_html_class( $args['bg'] );
2320
-	}
2321
-
2322
-	// text_color
2323
-	if ( ! empty( $args['text_color'] ) ) {
2324
-		$classes[] = 'text-' . sanitize_html_class( $args['text_color'] );
2325
-	}
2326
-
2327
-	// text_align
2328
-	if ( ! empty( $args['text_justify'] ) ) {
2329
-		$classes[] = 'text-justify';
2330
-	} else {
2331
-		if ( ! empty( $args['text_align'] ) ) {
2332
-			$classes[]  = sanitize_html_class( $args['text_align'] );
2333
-			$text_align = $args['text_align'];
2334
-		} else {
2335
-			$text_align = null;
2336
-		}
2337
-		if ( ! empty( $args['text_align_md'] ) && $args['text_align_md'] !== '' ) {
2338
-			$classes[]     = sanitize_html_class( $args['text_align_md'] );
2339
-			$text_align_md = $args['text_align_md'];
2340
-		} else {
2341
-			$text_align_md = null;
2342
-		}
2343
-		if ( ! empty( $args['text_align_lg'] ) && $args['text_align_lg'] !== '' ) {
2344
-			if ( $text_align == null && $text_align_md == null ) {
2345
-				$classes[] = sanitize_html_class( str_replace( '-lg', '', $args['text_align_lg'] ) );
2346
-			} else {
2347
-				$classes[] = sanitize_html_class( $args['text_align_lg'] );
2348
-			}
2349
-		}
2350
-	}
2351
-
2352
-	// display
2353
-	if ( ! empty( $args['display'] ) ) {
2354
-		$classes[] = sanitize_html_class( $args['display'] );
2355
-		$display   = $args['display'];
2356
-	} else {
2357
-		$display = null;
2358
-	}
2359
-	if ( ! empty( $args['display_md'] ) && $args['display_md'] !== '' ) {
2360
-		$classes[]  = sanitize_html_class( $args['display_md'] );
2361
-		$display_md = $args['display_md'];
2362
-	} else {
2363
-		$display_md = null;
2364
-	}
2365
-	if ( ! empty( $args['display_lg'] ) && $args['display_lg'] !== '' ) {
2366
-		if ( $display == null && $display_md == null ) {
2367
-			$classes[] = sanitize_html_class( str_replace( '-lg', '', $args['display_lg'] ) );
2368
-		} else {
2369
-			$classes[] = sanitize_html_class( $args['display_lg'] );
2370
-		}
2371
-	}
2372
-
2373
-	// bgtus - background transparent until scroll
2374
-	if ( ! empty( $args['bgtus'] ) ) {
2375
-		$classes[] = sanitize_html_class( 'bg-transparent-until-scroll' );
2376
-	}
2377
-
2378
-	// cscos - change color scheme on scroll
2379
-	if ( ! empty( $args['bgtus'] ) && ! empty( $args['cscos'] ) ) {
2380
-		$classes[] = sanitize_html_class( 'color-scheme-flip-on-scroll' );
2381
-	}
2382
-
2383
-	// hover animations
2384
-	if ( ! empty( $args['hover_animations'] ) ) {
2385
-		$classes[] = sd_sanitize_html_classes( str_replace( ',', ' ', $args['hover_animations'] ) );
2386
-	}
2387
-
2388
-	// absolute_position
2389
-	if ( ! empty( $args['absolute_position'] ) ) {
2390
-		if ( 'top-left' === $args['absolute_position'] ) {
2391
-			$classes[] = 'start-0 top-0';
2392
-		} elseif ( 'top-center' === $args['absolute_position'] ) {
2393
-			$classes[] = 'start-50 top-0 translate-middle';
2394
-		} elseif ( 'top-right' === $args['absolute_position'] ) {
2395
-			$classes[] = 'end-0 top-0';
2396
-		} elseif ( 'center-left' === $args['absolute_position'] ) {
2397
-			$classes[] = 'start-0 top-50';
2398
-		} elseif ( 'center' === $args['absolute_position'] ) {
2399
-			$classes[] = 'start-50 top-50 translate-middle';
2400
-		} elseif ( 'center-right' === $args['absolute_position'] ) {
2401
-			$classes[] = 'end-0 top-50';
2402
-		} elseif ( 'bottom-left' === $args['absolute_position'] ) {
2403
-			$classes[] = 'start-0 bottom-0';
2404
-		} elseif ( 'bottom-center' === $args['absolute_position'] ) {
2405
-			$classes[] = 'start-50 bottom-0 translate-middle';
2406
-		} elseif ( 'bottom-right' === $args['absolute_position'] ) {
2407
-			$classes[] = 'end-0 bottom-0';
2408
-		}
2409
-	}
2410
-
2411
-	// build classes from build keys
2412
-	$build_keys = sd_get_class_build_keys();
2413
-	if ( ! empty( $build_keys ) ) {
2414
-		foreach ( $build_keys as $key ) {
2415
-
2416
-			if ( substr( $key, -4 ) == '-MTD' ) {
2417
-
2418
-				$k = str_replace( '-MTD', '', $key );
2419
-
2420
-				// Mobile, Tablet, Desktop
2421
-				if ( ! empty( $args[ $k ] ) && $args[ $k ] !== '' ) {
2422
-					$classes[] = sanitize_html_class( $args[ $k ] );
2423
-					$v         = $args[ $k ];
2424
-				} else {
2425
-					$v = null;
2426
-				}
2427
-				if ( ! empty( $args[ $k . '_md' ] ) && $args[ $k . '_md' ] !== '' ) {
2428
-					$classes[] = sanitize_html_class( $args[ $k . '_md' ] );
2429
-					$v_md      = $args[ $k . '_md' ];
2430
-				} else {
2431
-					$v_md = null;
2432
-				}
2433
-				if ( ! empty( $args[ $k . '_lg' ] ) && $args[ $k . '_lg' ] !== '' ) {
2434
-					if ( $v == null && $v_md == null ) {
2435
-						$classes[] = sanitize_html_class( str_replace( '-lg', '', $args[ $k . '_lg' ] ) );
2436
-					} else {
2437
-						$classes[] = sanitize_html_class( $args[ $k . '_lg' ] );
2438
-					}
2439
-				}
2440
-			} else {
2441
-				if ( $key == 'font_size' && ! empty( $args[ $key ] ) && $args[ $key ] == 'custom' ) {
2442
-					continue;
2443
-				}
2444
-				if ( ! empty( $args[ $key ] ) ) {
2445
-					$classes[] = sd_sanitize_html_classes( $args[ $key ] );
2446
-				}
2447
-			}
2448
-		}
2449
-	}
2450
-
2451
-	return implode( ' ', $classes );
2043
+    global $aui_bs5;
2044
+
2045
+    $classes = array();
2046
+
2047
+    if ( $aui_bs5 ) {
2048
+        $p_ml = 'ms-';
2049
+        $p_mr = 'me-';
2050
+
2051
+        $p_pl = 'ps-';
2052
+        $p_pr = 'pe-';
2053
+    } else {
2054
+        $p_ml = 'ml-';
2055
+        $p_mr = 'mr-';
2056
+
2057
+        $p_pl = 'pl-';
2058
+        $p_pr = 'pr-';
2059
+    }
2060
+
2061
+    // margins.
2062
+    if ( isset( $args['mt'] ) && $args['mt'] !== '' ) {
2063
+        $classes[] = 'mt-' . sanitize_html_class( $args['mt'] );
2064
+        $mt        = $args['mt'];
2065
+    } else {
2066
+        $mt = null;
2067
+    }
2068
+    if ( isset( $args['mr'] ) && $args['mr'] !== '' ) {
2069
+        $classes[] = $p_mr . sanitize_html_class( $args['mr'] );
2070
+        $mr        = $args['mr'];
2071
+    } else {
2072
+        $mr = null;
2073
+    }
2074
+    if ( isset( $args['mb'] ) && $args['mb'] !== '' ) {
2075
+        $classes[] = 'mb-' . sanitize_html_class( $args['mb'] );
2076
+        $mb        = $args['mb'];
2077
+    } else {
2078
+        $mb = null;
2079
+    }
2080
+    if ( isset( $args['ml'] ) && $args['ml'] !== '' ) {
2081
+        $classes[] = $p_ml . sanitize_html_class( $args['ml'] );
2082
+        $ml        = $args['ml'];
2083
+    } else {
2084
+        $ml = null;
2085
+    }
2086
+
2087
+    // margins tablet.
2088
+    if ( isset( $args['mt_md'] ) && $args['mt_md'] !== '' ) {
2089
+        $classes[] = 'mt-md-' . sanitize_html_class( $args['mt_md'] );
2090
+        $mt_md     = $args['mt_md'];
2091
+    } else {
2092
+        $mt_md = null;
2093
+    }
2094
+    if ( isset( $args['mr_md'] ) && $args['mr_md'] !== '' ) {
2095
+        $classes[] = $p_mr . 'md-' . sanitize_html_class( $args['mr_md'] );
2096
+        $mt_md     = $args['mr_md'];
2097
+    } else {
2098
+        $mr_md = null;
2099
+    }
2100
+    if ( isset( $args['mb_md'] ) && $args['mb_md'] !== '' ) {
2101
+        $classes[] = 'mb-md-' . sanitize_html_class( $args['mb_md'] );
2102
+        $mt_md     = $args['mb_md'];
2103
+    } else {
2104
+        $mb_md = null;
2105
+    }
2106
+    if ( isset( $args['ml_md'] ) && $args['ml_md'] !== '' ) {
2107
+        $classes[] = $p_ml . 'md-' . sanitize_html_class( $args['ml_md'] );
2108
+        $mt_md     = $args['ml_md'];
2109
+    } else {
2110
+        $ml_md = null;
2111
+    }
2112
+
2113
+    // margins desktop.
2114
+    if ( isset( $args['mt_lg'] ) && $args['mt_lg'] !== '' ) {
2115
+        if ( $mt == null && $mt_md == null ) {
2116
+            $classes[] = 'mt-' . sanitize_html_class( $args['mt_lg'] );
2117
+        } else {
2118
+            $classes[] = 'mt-lg-' . sanitize_html_class( $args['mt_lg'] );
2119
+        }
2120
+    }
2121
+    if ( isset( $args['mr_lg'] ) && $args['mr_lg'] !== '' ) {
2122
+        if ( $mr == null && $mr_md == null ) {
2123
+            $classes[] = $p_mr . sanitize_html_class( $args['mr_lg'] );
2124
+        } else {
2125
+            $classes[] = $p_mr . 'lg-' . sanitize_html_class( $args['mr_lg'] );
2126
+        }
2127
+    }
2128
+    if ( isset( $args['mb_lg'] ) && $args['mb_lg'] !== '' ) {
2129
+        if ( $mb == null && $mb_md == null ) {
2130
+            $classes[] = 'mb-' . sanitize_html_class( $args['mb_lg'] );
2131
+        } else {
2132
+            $classes[] = 'mb-lg-' . sanitize_html_class( $args['mb_lg'] );
2133
+        }
2134
+    }
2135
+    if ( isset( $args['ml_lg'] ) && $args['ml_lg'] !== '' ) {
2136
+        if ( $ml == null && $ml_md == null ) {
2137
+            $classes[] = $p_ml . sanitize_html_class( $args['ml_lg'] );
2138
+        } else {
2139
+            $classes[] = $p_ml . 'lg-' . sanitize_html_class( $args['ml_lg'] );
2140
+        }
2141
+    }
2142
+
2143
+    // padding.
2144
+    if ( isset( $args['pt'] ) && $args['pt'] !== '' ) {
2145
+        $classes[] = 'pt-' . sanitize_html_class( $args['pt'] );
2146
+        $pt        = $args['pt'];
2147
+    } else {
2148
+        $pt = null;
2149
+    }
2150
+    if ( isset( $args['pr'] ) && $args['pr'] !== '' ) {
2151
+        $classes[] = $p_pr . sanitize_html_class( $args['pr'] );
2152
+        $pr        = $args['pr'];
2153
+    } else {
2154
+        $pr = null;
2155
+    }
2156
+    if ( isset( $args['pb'] ) && $args['pb'] !== '' ) {
2157
+        $classes[] = 'pb-' . sanitize_html_class( $args['pb'] );
2158
+        $pb        = $args['pb'];
2159
+    } else {
2160
+        $pb = null;
2161
+    }
2162
+    if ( isset( $args['pl'] ) && $args['pl'] !== '' ) {
2163
+        $classes[] = $p_pl . sanitize_html_class( $args['pl'] );
2164
+        $pl        = $args['pl'];
2165
+    } else {
2166
+        $pl = null;
2167
+    }
2168
+
2169
+    // padding tablet.
2170
+    if ( isset( $args['pt_md'] ) && $args['pt_md'] !== '' ) {
2171
+        $classes[] = 'pt-md-' . sanitize_html_class( $args['pt_md'] );
2172
+        $pt_md     = $args['pt_md'];
2173
+    } else {
2174
+        $pt_md = null;
2175
+    }
2176
+    if ( isset( $args['pr_md'] ) && $args['pr_md'] !== '' ) {
2177
+        $classes[] = $p_pr . 'md-' . sanitize_html_class( $args['pr_md'] );
2178
+        $pr_md     = $args['pr_md'];
2179
+    } else {
2180
+        $pr_md = null;
2181
+    }
2182
+    if ( isset( $args['pb_md'] ) && $args['pb_md'] !== '' ) {
2183
+        $classes[] = 'pb-md-' . sanitize_html_class( $args['pb_md'] );
2184
+        $pb_md     = $args['pb_md'];
2185
+    } else {
2186
+        $pb_md = null;
2187
+    }
2188
+    if ( isset( $args['pl_md'] ) && $args['pl_md'] !== '' ) {
2189
+        $classes[] = $p_pl . 'md-' . sanitize_html_class( $args['pl_md'] );
2190
+        $pl_md     = $args['pl_md'];
2191
+    } else {
2192
+        $pl_md = null;
2193
+    }
2194
+
2195
+    // padding desktop.
2196
+    if ( isset( $args['pt_lg'] ) && $args['pt_lg'] !== '' ) {
2197
+        if ( $pt == null && $pt_md == null ) {
2198
+            $classes[] = 'pt-' . sanitize_html_class( $args['pt_lg'] );
2199
+        } else {
2200
+            $classes[] = 'pt-lg-' . sanitize_html_class( $args['pt_lg'] );
2201
+        }
2202
+    }
2203
+    if ( isset( $args['pr_lg'] ) && $args['pr_lg'] !== '' ) {
2204
+        if ( $pr == null && $pr_md == null ) {
2205
+            $classes[] = $p_pr . sanitize_html_class( $args['pr_lg'] );
2206
+        } else {
2207
+            $classes[] = $p_pr . 'lg-' . sanitize_html_class( $args['pr_lg'] );
2208
+        }
2209
+    }
2210
+    if ( isset( $args['pb_lg'] ) && $args['pb_lg'] !== '' ) {
2211
+        if ( $pb == null && $pb_md == null ) {
2212
+            $classes[] = 'pb-' . sanitize_html_class( $args['pb_lg'] );
2213
+        } else {
2214
+            $classes[] = 'pb-lg-' . sanitize_html_class( $args['pb_lg'] );
2215
+        }
2216
+    }
2217
+    if ( isset( $args['pl_lg'] ) && $args['pl_lg'] !== '' ) {
2218
+        if ( $pl == null && $pl_md == null ) {
2219
+            $classes[] = $p_pl . sanitize_html_class( $args['pl_lg'] );
2220
+        } else {
2221
+            $classes[] = $p_pl . 'lg-' . sanitize_html_class( $args['pl_lg'] );
2222
+        }
2223
+    }
2224
+
2225
+    // row cols, mobile, tablet, desktop
2226
+    if ( ! empty( $args['row_cols'] ) && $args['row_cols'] !== '' ) {
2227
+        $classes[] = sanitize_html_class( 'row-cols-' . $args['row_cols'] );
2228
+        $row_cols  = $args['row_cols'];
2229
+    } else {
2230
+        $row_cols = null;
2231
+    }
2232
+    if ( ! empty( $args['row_cols_md'] ) && $args['row_cols_md'] !== '' ) {
2233
+        $classes[]   = sanitize_html_class( 'row-cols-md-' . $args['row_cols_md'] );
2234
+        $row_cols_md = $args['row_cols_md'];
2235
+    } else {
2236
+        $row_cols_md = null;
2237
+    }
2238
+    if ( ! empty( $args['row_cols_lg'] ) && $args['row_cols_lg'] !== '' ) {
2239
+        if ( $row_cols == null && $row_cols_md == null ) {
2240
+            $classes[] = sanitize_html_class( 'row-cols-' . $args['row_cols_lg'] );
2241
+        } else {
2242
+            $classes[] = sanitize_html_class( 'row-cols-lg-' . $args['row_cols_lg'] );
2243
+        }
2244
+    }
2245
+
2246
+    // columns , mobile, tablet, desktop
2247
+    if ( ! empty( $args['col'] ) && $args['col'] !== '' ) {
2248
+        $classes[] = sanitize_html_class( 'col-' . $args['col'] );
2249
+        $col       = $args['col'];
2250
+    } else {
2251
+        $col = null;
2252
+    }
2253
+    if ( ! empty( $args['col_md'] ) && $args['col_md'] !== '' ) {
2254
+        $classes[] = sanitize_html_class( 'col-md-' . $args['col_md'] );
2255
+        $col_md    = $args['col_md'];
2256
+    } else {
2257
+        $col_md = null;
2258
+    }
2259
+    if ( ! empty( $args['col_lg'] ) && $args['col_lg'] !== '' ) {
2260
+        if ( $col == null && $col_md == null ) {
2261
+            $classes[] = sanitize_html_class( 'col-' . $args['col_lg'] );
2262
+        } else {
2263
+            $classes[] = sanitize_html_class( 'col-lg-' . $args['col_lg'] );
2264
+        }
2265
+    }
2266
+
2267
+    // border
2268
+    if ( isset( $args['border'] ) && ( $args['border'] == 'none' || $args['border'] === '0' || $args['border'] === 0 ) ) {
2269
+        $classes[] = 'border-0';
2270
+    } elseif ( ! empty( $args['border'] ) ) {
2271
+        $border_class = 'border';
2272
+        if ( ! empty( $args['border_type'] ) && strpos( $args['border_type'], '-0' ) === false ) {
2273
+            $border_class = '';
2274
+        }
2275
+        $classes[] = $border_class . ' border-' . sanitize_html_class( $args['border'] );
2276
+    }
2277
+
2278
+    // border radius type
2279
+    if ( ! empty( $args['rounded'] ) ) {
2280
+        $classes[] = sanitize_html_class( $args['rounded'] );
2281
+    }
2282
+
2283
+    // border radius size BS4
2284
+    if ( isset( $args['rounded_size'] ) && in_array( $args['rounded_size'], array( 'sm', 'lg' ) ) ) {
2285
+        $classes[] = 'rounded-' . sanitize_html_class( $args['rounded_size'] );
2286
+        // if we set a size then we need to remove "rounded" if set
2287
+        if ( ( $key = array_search( 'rounded', $classes ) ) !== false ) {
2288
+            unset( $classes[ $key ] );
2289
+        }
2290
+    } else {
2291
+
2292
+        // border radius size , mobile, tablet, desktop
2293
+        if ( isset( $args['rounded_size'] ) && $args['rounded_size'] !== '' ) {
2294
+            $classes[]    = sanitize_html_class( 'rounded-' . $args['rounded_size'] );
2295
+            $rounded_size = $args['rounded_size'];
2296
+        } else {
2297
+            $rounded_size = null;
2298
+        }
2299
+        if ( isset( $args['rounded_size_md'] ) && $args['rounded_size_md'] !== '' ) {
2300
+            $classes[]       = sanitize_html_class( 'rounded-md-' . $args['rounded_size_md'] );
2301
+            $rounded_size_md = $args['rounded_size_md'];
2302
+        } else {
2303
+            $rounded_size_md = null;
2304
+        }
2305
+        if ( isset( $args['rounded_size_lg'] ) && $args['rounded_size_lg'] !== '' ) {
2306
+            if ( $rounded_size == null && $rounded_size_md == null ) {
2307
+                $classes[] = sanitize_html_class( 'rounded-' . $args['rounded_size_lg'] );
2308
+            } else {
2309
+                $classes[] = sanitize_html_class( 'rounded-lg-' . $args['rounded_size_lg'] );
2310
+            }
2311
+        }
2312
+    }
2313
+
2314
+    // shadow
2315
+    //if ( !empty( $args['shadow'] ) ) { $classes[] = sanitize_html_class($args['shadow']); }
2316
+
2317
+    // background
2318
+    if ( ! empty( $args['bg'] ) ) {
2319
+        $classes[] = 'bg-' . sanitize_html_class( $args['bg'] );
2320
+    }
2321
+
2322
+    // text_color
2323
+    if ( ! empty( $args['text_color'] ) ) {
2324
+        $classes[] = 'text-' . sanitize_html_class( $args['text_color'] );
2325
+    }
2326
+
2327
+    // text_align
2328
+    if ( ! empty( $args['text_justify'] ) ) {
2329
+        $classes[] = 'text-justify';
2330
+    } else {
2331
+        if ( ! empty( $args['text_align'] ) ) {
2332
+            $classes[]  = sanitize_html_class( $args['text_align'] );
2333
+            $text_align = $args['text_align'];
2334
+        } else {
2335
+            $text_align = null;
2336
+        }
2337
+        if ( ! empty( $args['text_align_md'] ) && $args['text_align_md'] !== '' ) {
2338
+            $classes[]     = sanitize_html_class( $args['text_align_md'] );
2339
+            $text_align_md = $args['text_align_md'];
2340
+        } else {
2341
+            $text_align_md = null;
2342
+        }
2343
+        if ( ! empty( $args['text_align_lg'] ) && $args['text_align_lg'] !== '' ) {
2344
+            if ( $text_align == null && $text_align_md == null ) {
2345
+                $classes[] = sanitize_html_class( str_replace( '-lg', '', $args['text_align_lg'] ) );
2346
+            } else {
2347
+                $classes[] = sanitize_html_class( $args['text_align_lg'] );
2348
+            }
2349
+        }
2350
+    }
2351
+
2352
+    // display
2353
+    if ( ! empty( $args['display'] ) ) {
2354
+        $classes[] = sanitize_html_class( $args['display'] );
2355
+        $display   = $args['display'];
2356
+    } else {
2357
+        $display = null;
2358
+    }
2359
+    if ( ! empty( $args['display_md'] ) && $args['display_md'] !== '' ) {
2360
+        $classes[]  = sanitize_html_class( $args['display_md'] );
2361
+        $display_md = $args['display_md'];
2362
+    } else {
2363
+        $display_md = null;
2364
+    }
2365
+    if ( ! empty( $args['display_lg'] ) && $args['display_lg'] !== '' ) {
2366
+        if ( $display == null && $display_md == null ) {
2367
+            $classes[] = sanitize_html_class( str_replace( '-lg', '', $args['display_lg'] ) );
2368
+        } else {
2369
+            $classes[] = sanitize_html_class( $args['display_lg'] );
2370
+        }
2371
+    }
2372
+
2373
+    // bgtus - background transparent until scroll
2374
+    if ( ! empty( $args['bgtus'] ) ) {
2375
+        $classes[] = sanitize_html_class( 'bg-transparent-until-scroll' );
2376
+    }
2377
+
2378
+    // cscos - change color scheme on scroll
2379
+    if ( ! empty( $args['bgtus'] ) && ! empty( $args['cscos'] ) ) {
2380
+        $classes[] = sanitize_html_class( 'color-scheme-flip-on-scroll' );
2381
+    }
2382
+
2383
+    // hover animations
2384
+    if ( ! empty( $args['hover_animations'] ) ) {
2385
+        $classes[] = sd_sanitize_html_classes( str_replace( ',', ' ', $args['hover_animations'] ) );
2386
+    }
2387
+
2388
+    // absolute_position
2389
+    if ( ! empty( $args['absolute_position'] ) ) {
2390
+        if ( 'top-left' === $args['absolute_position'] ) {
2391
+            $classes[] = 'start-0 top-0';
2392
+        } elseif ( 'top-center' === $args['absolute_position'] ) {
2393
+            $classes[] = 'start-50 top-0 translate-middle';
2394
+        } elseif ( 'top-right' === $args['absolute_position'] ) {
2395
+            $classes[] = 'end-0 top-0';
2396
+        } elseif ( 'center-left' === $args['absolute_position'] ) {
2397
+            $classes[] = 'start-0 top-50';
2398
+        } elseif ( 'center' === $args['absolute_position'] ) {
2399
+            $classes[] = 'start-50 top-50 translate-middle';
2400
+        } elseif ( 'center-right' === $args['absolute_position'] ) {
2401
+            $classes[] = 'end-0 top-50';
2402
+        } elseif ( 'bottom-left' === $args['absolute_position'] ) {
2403
+            $classes[] = 'start-0 bottom-0';
2404
+        } elseif ( 'bottom-center' === $args['absolute_position'] ) {
2405
+            $classes[] = 'start-50 bottom-0 translate-middle';
2406
+        } elseif ( 'bottom-right' === $args['absolute_position'] ) {
2407
+            $classes[] = 'end-0 bottom-0';
2408
+        }
2409
+    }
2410
+
2411
+    // build classes from build keys
2412
+    $build_keys = sd_get_class_build_keys();
2413
+    if ( ! empty( $build_keys ) ) {
2414
+        foreach ( $build_keys as $key ) {
2415
+
2416
+            if ( substr( $key, -4 ) == '-MTD' ) {
2417
+
2418
+                $k = str_replace( '-MTD', '', $key );
2419
+
2420
+                // Mobile, Tablet, Desktop
2421
+                if ( ! empty( $args[ $k ] ) && $args[ $k ] !== '' ) {
2422
+                    $classes[] = sanitize_html_class( $args[ $k ] );
2423
+                    $v         = $args[ $k ];
2424
+                } else {
2425
+                    $v = null;
2426
+                }
2427
+                if ( ! empty( $args[ $k . '_md' ] ) && $args[ $k . '_md' ] !== '' ) {
2428
+                    $classes[] = sanitize_html_class( $args[ $k . '_md' ] );
2429
+                    $v_md      = $args[ $k . '_md' ];
2430
+                } else {
2431
+                    $v_md = null;
2432
+                }
2433
+                if ( ! empty( $args[ $k . '_lg' ] ) && $args[ $k . '_lg' ] !== '' ) {
2434
+                    if ( $v == null && $v_md == null ) {
2435
+                        $classes[] = sanitize_html_class( str_replace( '-lg', '', $args[ $k . '_lg' ] ) );
2436
+                    } else {
2437
+                        $classes[] = sanitize_html_class( $args[ $k . '_lg' ] );
2438
+                    }
2439
+                }
2440
+            } else {
2441
+                if ( $key == 'font_size' && ! empty( $args[ $key ] ) && $args[ $key ] == 'custom' ) {
2442
+                    continue;
2443
+                }
2444
+                if ( ! empty( $args[ $key ] ) ) {
2445
+                    $classes[] = sd_sanitize_html_classes( $args[ $key ] );
2446
+                }
2447
+            }
2448
+        }
2449
+    }
2450
+
2451
+    return implode( ' ', $classes );
2452 2452
 }
2453 2453
 
2454 2454
 /**
@@ -2460,90 +2460,90 @@  discard block
 block discarded – undo
2460 2460
  */
2461 2461
 function sd_build_aui_styles( $args ) {
2462 2462
 
2463
-	$styles = array();
2464
-
2465
-	// background color
2466
-	if ( ! empty( $args['bg'] ) && $args['bg'] !== '' ) {
2467
-		if ( $args['bg'] == 'custom-color' ) {
2468
-			$styles['background-color'] = $args['bg_color'];
2469
-		} elseif ( $args['bg'] == 'custom-gradient' ) {
2470
-			$styles['background-image'] = $args['bg_gradient'];
2471
-
2472
-			// use background on text.
2473
-			if ( ! empty( $args['bg_on_text'] ) && $args['bg_on_text'] ) {
2474
-				$styles['background-clip']         = 'text';
2475
-				$styles['-webkit-background-clip'] = 'text';
2476
-				$styles['text-fill-color']         = 'transparent';
2477
-				$styles['-webkit-text-fill-color'] = 'transparent';
2478
-			}
2479
-		}
2480
-	}
2481
-
2482
-	if ( ! empty( $args['bg_image'] ) && $args['bg_image'] !== '' ) {
2483
-		$hasImage = true;
2484
-		if ( ! empty( $styles['background-color'] ) && $args['bg'] == 'custom-color' ) {
2485
-			$styles['background-image']      = 'url(' . $args['bg_image'] . ')';
2486
-			$styles['background-blend-mode'] = 'overlay';
2487
-		} elseif ( ! empty( $styles['background-image'] ) && $args['bg'] == 'custom-gradient' ) {
2488
-			$styles['background-image'] .= ',url(' . $args['bg_image'] . ')';
2489
-		} elseif ( ! empty( $args['bg'] ) && $args['bg'] != '' && $args['bg'] != 'transparent' ) {
2490
-			// do nothing as we alreay have a preset
2491
-			$hasImage = false;
2492
-		} else {
2493
-			$styles['background-image'] = 'url(' . $args['bg_image'] . ')';
2494
-		}
2495
-
2496
-		if ( $hasImage ) {
2497
-			$styles['background-size'] = 'cover';
2498
-
2499
-			if ( ! empty( $args['bg_image_fixed'] ) && $args['bg_image_fixed'] ) {
2500
-				$styles['background-attachment'] = 'fixed';
2501
-			}
2502
-		}
2503
-
2504
-		if ( $hasImage && ! empty( $args['bg_image_xy'] ) && ! empty( $args['bg_image_xy']['x'] ) ) {
2505
-			$styles['background-position'] = ( $args['bg_image_xy']['x'] * 100 ) . '% ' . ( $args['bg_image_xy']['y'] * 100 ) . '%';
2506
-		}
2507
-	}
2508
-
2509
-	// sticky offset top
2510
-	if ( ! empty( $args['sticky_offset_top'] ) && $args['sticky_offset_top'] !== '' ) {
2511
-		$styles['top'] = absint( $args['sticky_offset_top'] );
2512
-	}
2513
-
2514
-	// sticky offset bottom
2515
-	if ( ! empty( $args['sticky_offset_bottom'] ) && $args['sticky_offset_bottom'] !== '' ) {
2516
-		$styles['bottom'] = absint( $args['sticky_offset_bottom'] );
2517
-	}
2518
-
2519
-	// font size
2520
-	if ( ! empty( $args['font_size_custom'] ) && $args['font_size_custom'] !== '' ) {
2521
-		$styles['font-size'] = (float) $args['font_size_custom'] . 'rem';
2522
-	}
2523
-
2524
-	// font color
2525
-	if ( ! empty( $args['text_color_custom'] ) && $args['text_color_custom'] !== '' ) {
2526
-		$styles['color'] = esc_attr( $args['text_color_custom'] );
2527
-	}
2528
-
2529
-	// font line height
2530
-	if ( ! empty( $args['font_line_height'] ) && $args['font_line_height'] !== '' ) {
2531
-		$styles['line-height'] = esc_attr( $args['font_line_height'] );
2532
-	}
2533
-
2534
-	// max height
2535
-	if ( ! empty( $args['max_height'] ) && $args['max_height'] !== '' ) {
2536
-		$styles['max-height'] = esc_attr( $args['max_height'] );
2537
-	}
2538
-
2539
-	$style_string = '';
2540
-	if ( ! empty( $styles ) ) {
2541
-		foreach ( $styles as $key => $val ) {
2542
-			$style_string .= esc_attr( $key ) . ':' . esc_attr( $val ) . ';';
2543
-		}
2544
-	}
2545
-
2546
-	return $style_string;
2463
+    $styles = array();
2464
+
2465
+    // background color
2466
+    if ( ! empty( $args['bg'] ) && $args['bg'] !== '' ) {
2467
+        if ( $args['bg'] == 'custom-color' ) {
2468
+            $styles['background-color'] = $args['bg_color'];
2469
+        } elseif ( $args['bg'] == 'custom-gradient' ) {
2470
+            $styles['background-image'] = $args['bg_gradient'];
2471
+
2472
+            // use background on text.
2473
+            if ( ! empty( $args['bg_on_text'] ) && $args['bg_on_text'] ) {
2474
+                $styles['background-clip']         = 'text';
2475
+                $styles['-webkit-background-clip'] = 'text';
2476
+                $styles['text-fill-color']         = 'transparent';
2477
+                $styles['-webkit-text-fill-color'] = 'transparent';
2478
+            }
2479
+        }
2480
+    }
2481
+
2482
+    if ( ! empty( $args['bg_image'] ) && $args['bg_image'] !== '' ) {
2483
+        $hasImage = true;
2484
+        if ( ! empty( $styles['background-color'] ) && $args['bg'] == 'custom-color' ) {
2485
+            $styles['background-image']      = 'url(' . $args['bg_image'] . ')';
2486
+            $styles['background-blend-mode'] = 'overlay';
2487
+        } elseif ( ! empty( $styles['background-image'] ) && $args['bg'] == 'custom-gradient' ) {
2488
+            $styles['background-image'] .= ',url(' . $args['bg_image'] . ')';
2489
+        } elseif ( ! empty( $args['bg'] ) && $args['bg'] != '' && $args['bg'] != 'transparent' ) {
2490
+            // do nothing as we alreay have a preset
2491
+            $hasImage = false;
2492
+        } else {
2493
+            $styles['background-image'] = 'url(' . $args['bg_image'] . ')';
2494
+        }
2495
+
2496
+        if ( $hasImage ) {
2497
+            $styles['background-size'] = 'cover';
2498
+
2499
+            if ( ! empty( $args['bg_image_fixed'] ) && $args['bg_image_fixed'] ) {
2500
+                $styles['background-attachment'] = 'fixed';
2501
+            }
2502
+        }
2503
+
2504
+        if ( $hasImage && ! empty( $args['bg_image_xy'] ) && ! empty( $args['bg_image_xy']['x'] ) ) {
2505
+            $styles['background-position'] = ( $args['bg_image_xy']['x'] * 100 ) . '% ' . ( $args['bg_image_xy']['y'] * 100 ) . '%';
2506
+        }
2507
+    }
2508
+
2509
+    // sticky offset top
2510
+    if ( ! empty( $args['sticky_offset_top'] ) && $args['sticky_offset_top'] !== '' ) {
2511
+        $styles['top'] = absint( $args['sticky_offset_top'] );
2512
+    }
2513
+
2514
+    // sticky offset bottom
2515
+    if ( ! empty( $args['sticky_offset_bottom'] ) && $args['sticky_offset_bottom'] !== '' ) {
2516
+        $styles['bottom'] = absint( $args['sticky_offset_bottom'] );
2517
+    }
2518
+
2519
+    // font size
2520
+    if ( ! empty( $args['font_size_custom'] ) && $args['font_size_custom'] !== '' ) {
2521
+        $styles['font-size'] = (float) $args['font_size_custom'] . 'rem';
2522
+    }
2523
+
2524
+    // font color
2525
+    if ( ! empty( $args['text_color_custom'] ) && $args['text_color_custom'] !== '' ) {
2526
+        $styles['color'] = esc_attr( $args['text_color_custom'] );
2527
+    }
2528
+
2529
+    // font line height
2530
+    if ( ! empty( $args['font_line_height'] ) && $args['font_line_height'] !== '' ) {
2531
+        $styles['line-height'] = esc_attr( $args['font_line_height'] );
2532
+    }
2533
+
2534
+    // max height
2535
+    if ( ! empty( $args['max_height'] ) && $args['max_height'] !== '' ) {
2536
+        $styles['max-height'] = esc_attr( $args['max_height'] );
2537
+    }
2538
+
2539
+    $style_string = '';
2540
+    if ( ! empty( $styles ) ) {
2541
+        foreach ( $styles as $key => $val ) {
2542
+            $style_string .= esc_attr( $key ) . ':' . esc_attr( $val ) . ';';
2543
+        }
2544
+    }
2545
+
2546
+    return $style_string;
2547 2547
 
2548 2548
 }
2549 2549
 
@@ -2556,34 +2556,34 @@  discard block
 block discarded – undo
2556 2556
  * @return string
2557 2557
  */
2558 2558
 function sd_build_hover_styles( $args, $is_preview = false ) {
2559
-	$rules = '';
2560
-	// text color
2561
-	if ( ! empty( $args['styleid'] ) ) {
2562
-		$styleid = $is_preview ? 'html .editor-styles-wrapper .' . esc_attr( $args['styleid'] ) : 'html .' . esc_attr( $args['styleid'] );
2563
-
2564
-		// text
2565
-		if ( ! empty( $args['text_color_hover'] ) ) {
2566
-			$key    = 'custom' === $args['text_color_hover'] && ! empty( $args['text_color_hover_custom'] ) ? 'text_color_hover_custom' : 'text_color_hover';
2567
-			$color  = sd_get_color_from_var( $args[ $key ] );
2568
-			$rules .= $styleid . ':hover {color: ' . $color . ' !important;} ';
2569
-		}
2570
-
2571
-		// bg
2572
-		if ( ! empty( $args['bg_hover'] ) ) {
2573
-			if ( 'custom-gradient' === $args['bg_hover'] ) {
2574
-				$color  = $args['bg_hover_gradient'];
2575
-				$rules .= $styleid . ':hover {background-image: ' . $color . ' !important;} ';
2576
-				$rules .= $styleid . '.btn:hover {border-color: transparent !important;} ';
2577
-			} else {
2578
-				$key    = 'custom-color' === $args['bg_hover'] ? 'bg_hover_color' : 'bg_hover';
2579
-				$color  = sd_get_color_from_var( $args[ $key ] );
2580
-				$rules .= $styleid . ':hover {background: ' . $color . ' !important;} ';
2581
-				$rules .= $styleid . '.btn:hover {border-color: ' . $color . ' !important;} ';
2582
-			}
2583
-		}
2584
-	}
2585
-
2586
-	return $rules ? '<style>' . $rules . '</style>' : '';
2559
+    $rules = '';
2560
+    // text color
2561
+    if ( ! empty( $args['styleid'] ) ) {
2562
+        $styleid = $is_preview ? 'html .editor-styles-wrapper .' . esc_attr( $args['styleid'] ) : 'html .' . esc_attr( $args['styleid'] );
2563
+
2564
+        // text
2565
+        if ( ! empty( $args['text_color_hover'] ) ) {
2566
+            $key    = 'custom' === $args['text_color_hover'] && ! empty( $args['text_color_hover_custom'] ) ? 'text_color_hover_custom' : 'text_color_hover';
2567
+            $color  = sd_get_color_from_var( $args[ $key ] );
2568
+            $rules .= $styleid . ':hover {color: ' . $color . ' !important;} ';
2569
+        }
2570
+
2571
+        // bg
2572
+        if ( ! empty( $args['bg_hover'] ) ) {
2573
+            if ( 'custom-gradient' === $args['bg_hover'] ) {
2574
+                $color  = $args['bg_hover_gradient'];
2575
+                $rules .= $styleid . ':hover {background-image: ' . $color . ' !important;} ';
2576
+                $rules .= $styleid . '.btn:hover {border-color: transparent !important;} ';
2577
+            } else {
2578
+                $key    = 'custom-color' === $args['bg_hover'] ? 'bg_hover_color' : 'bg_hover';
2579
+                $color  = sd_get_color_from_var( $args[ $key ] );
2580
+                $rules .= $styleid . ':hover {background: ' . $color . ' !important;} ';
2581
+                $rules .= $styleid . '.btn:hover {border-color: ' . $color . ' !important;} ';
2582
+            }
2583
+        }
2584
+    }
2585
+
2586
+    return $rules ? '<style>' . $rules . '</style>' : '';
2587 2587
 }
2588 2588
 
2589 2589
 /**
@@ -2595,12 +2595,12 @@  discard block
 block discarded – undo
2595 2595
  */
2596 2596
 function sd_get_color_from_var( $var ) {
2597 2597
 
2598
-	//sanitize_hex_color() @todo this does not cover transparency
2599
-	if ( strpos( $var, '#' ) === false ) {
2600
-		$var = defined( 'BLOCKSTRAP_BLOCKS_VERSION' ) ? 'var(--wp--preset--color--' . esc_attr( $var ) . ')' : 'var(--' . esc_attr( $var ) . ')';
2601
-	}
2598
+    //sanitize_hex_color() @todo this does not cover transparency
2599
+    if ( strpos( $var, '#' ) === false ) {
2600
+        $var = defined( 'BLOCKSTRAP_BLOCKS_VERSION' ) ? 'var(--wp--preset--color--' . esc_attr( $var ) . ')' : 'var(--' . esc_attr( $var ) . ')';
2601
+    }
2602 2602
 
2603
-	return $var;
2603
+    return $var;
2604 2604
 }
2605 2605
 
2606 2606
 /**
@@ -2612,19 +2612,19 @@  discard block
 block discarded – undo
2612 2612
  * @return string
2613 2613
  */
2614 2614
 function sd_sanitize_html_classes( $classes, $sep = ' ' ) {
2615
-	$return = '';
2615
+    $return = '';
2616 2616
 
2617
-	if ( ! is_array( $classes ) ) {
2618
-		$classes = explode( $sep, $classes );
2619
-	}
2617
+    if ( ! is_array( $classes ) ) {
2618
+        $classes = explode( $sep, $classes );
2619
+    }
2620 2620
 
2621
-	if ( ! empty( $classes ) ) {
2622
-		foreach ( $classes as $class ) {
2623
-			$return .= sanitize_html_class( $class ) . ' ';
2624
-		}
2625
-	}
2621
+    if ( ! empty( $classes ) ) {
2622
+        foreach ( $classes as $class ) {
2623
+            $return .= sanitize_html_class( $class ) . ' ';
2624
+        }
2625
+    }
2626 2626
 
2627
-	return $return;
2627
+    return $return;
2628 2628
 }
2629 2629
 
2630 2630
 
@@ -2634,38 +2634,38 @@  discard block
 block discarded – undo
2634 2634
  * @return void
2635 2635
  */
2636 2636
 function sd_get_class_build_keys() {
2637
-	$keys = array(
2638
-		'container',
2639
-		'position',
2640
-		'flex_direction',
2641
-		'shadow',
2642
-		'rounded',
2643
-		'nav_style',
2644
-		'horizontal_alignment',
2645
-		'nav_fill',
2646
-		'width',
2647
-		'font_weight',
2648
-		'font_size',
2649
-		'font_case',
2650
-		'css_class',
2651
-		'flex_align_items-MTD',
2652
-		'flex_justify_content-MTD',
2653
-		'flex_align_self-MTD',
2654
-		'flex_order-MTD',
2655
-		'styleid',
2656
-		'border_opacity',
2657
-		'border_width',
2658
-		'border_type',
2659
-		'opacity',
2660
-		'zindex',
2661
-		'flex_wrap-MTD',
2662
-		'h100',
2663
-		'overflow',
2664
-		'scrollbars',
2665
-		'float-MTD'
2666
-	);
2667
-
2668
-	return apply_filters( 'sd_class_build_keys', $keys );
2637
+    $keys = array(
2638
+        'container',
2639
+        'position',
2640
+        'flex_direction',
2641
+        'shadow',
2642
+        'rounded',
2643
+        'nav_style',
2644
+        'horizontal_alignment',
2645
+        'nav_fill',
2646
+        'width',
2647
+        'font_weight',
2648
+        'font_size',
2649
+        'font_case',
2650
+        'css_class',
2651
+        'flex_align_items-MTD',
2652
+        'flex_justify_content-MTD',
2653
+        'flex_align_self-MTD',
2654
+        'flex_order-MTD',
2655
+        'styleid',
2656
+        'border_opacity',
2657
+        'border_width',
2658
+        'border_type',
2659
+        'opacity',
2660
+        'zindex',
2661
+        'flex_wrap-MTD',
2662
+        'h100',
2663
+        'overflow',
2664
+        'scrollbars',
2665
+        'float-MTD'
2666
+    );
2667
+
2668
+    return apply_filters( 'sd_class_build_keys', $keys );
2669 2669
 }
2670 2670
 
2671 2671
 /**
@@ -2677,18 +2677,18 @@  discard block
 block discarded – undo
2677 2677
  * @return array
2678 2678
  */
2679 2679
 function sd_get_visibility_conditions_input( $type = 'visibility_conditions', $overwrite = array() ) {
2680
-	$defaults = array(
2681
-		'type'         => 'visibility_conditions',
2682
-		'title'        => __( 'Block Visibility', 'super-duper' ),
2683
-		'button_title' => __( 'Set Block Visibility', 'super-duper' ),
2684
-		'default'      => '',
2685
-		'desc_tip'     => true,
2686
-		'group'        => __( 'Visibility Conditions', 'super-duper' ),
2687
-	);
2680
+    $defaults = array(
2681
+        'type'         => 'visibility_conditions',
2682
+        'title'        => __( 'Block Visibility', 'super-duper' ),
2683
+        'button_title' => __( 'Set Block Visibility', 'super-duper' ),
2684
+        'default'      => '',
2685
+        'desc_tip'     => true,
2686
+        'group'        => __( 'Visibility Conditions', 'super-duper' ),
2687
+    );
2688 2688
 
2689
-	$input = wp_parse_args( $overwrite, $defaults );
2689
+    $input = wp_parse_args( $overwrite, $defaults );
2690 2690
 
2691
-	return $input;
2691
+    return $input;
2692 2692
 }
2693 2693
 
2694 2694
 /**
@@ -2700,21 +2700,21 @@  discard block
 block discarded – undo
2700 2700
  * @return array An array of roles.
2701 2701
  */
2702 2702
 function sd_user_roles_options( $exclude = array() ) {
2703
-	$user_roles = array();
2703
+    $user_roles = array();
2704 2704
 
2705
-	if ( !function_exists('get_editable_roles') ) {
2706
-		require_once( ABSPATH . '/wp-admin/includes/user.php' );
2707
-	}
2705
+    if ( !function_exists('get_editable_roles') ) {
2706
+        require_once( ABSPATH . '/wp-admin/includes/user.php' );
2707
+    }
2708 2708
 
2709
-	$roles = get_editable_roles();
2709
+    $roles = get_editable_roles();
2710 2710
 
2711
-	foreach ( $roles as $role => $data ) {
2712
-		if ( ! ( ! empty( $exclude ) && in_array( $role, $exclude ) ) ) {
2713
-			$user_roles[ esc_attr( $role ) ] = translate_user_role( $data['name'] );
2714
-		}
2715
-	}
2711
+    foreach ( $roles as $role => $data ) {
2712
+        if ( ! ( ! empty( $exclude ) && in_array( $role, $exclude ) ) ) {
2713
+            $user_roles[ esc_attr( $role ) ] = translate_user_role( $data['name'] );
2714
+        }
2715
+    }
2716 2716
 
2717
-	return apply_filters( 'sd_user_roles_options', $user_roles );
2717
+    return apply_filters( 'sd_user_roles_options', $user_roles );
2718 2718
 }
2719 2719
 
2720 2720
 /**
@@ -2725,17 +2725,17 @@  discard block
 block discarded – undo
2725 2725
  * @return array Rule options.
2726 2726
  */
2727 2727
 function sd_visibility_rules_options() {
2728
-	$options = array(
2729
-		'logged_in'  => __( 'Logged In', 'super-duper' ),
2730
-		'logged_out' => __( 'Logged Out', 'super-duper' ),
2731
-		'user_roles' => __( 'Specific User Roles', 'super-duper' )
2732
-	);
2728
+    $options = array(
2729
+        'logged_in'  => __( 'Logged In', 'super-duper' ),
2730
+        'logged_out' => __( 'Logged Out', 'super-duper' ),
2731
+        'user_roles' => __( 'Specific User Roles', 'super-duper' )
2732
+    );
2733 2733
 
2734
-	if ( class_exists( 'GeoDirectory' ) ) {
2735
-		$options['gd_field'] = __( 'GD Field', 'super-duper' );
2736
-	}
2734
+    if ( class_exists( 'GeoDirectory' ) ) {
2735
+        $options['gd_field'] = __( 'GD Field', 'super-duper' );
2736
+    }
2737 2737
 
2738
-	return apply_filters( 'sd_visibility_rules_options', $options );
2738
+    return apply_filters( 'sd_visibility_rules_options', $options );
2739 2739
 }
2740 2740
 
2741 2741
 /**
@@ -2744,37 +2744,37 @@  discard block
 block discarded – undo
2744 2744
  * @return array
2745 2745
  */
2746 2746
 function sd_visibility_gd_field_options(){
2747
-	$fields = geodir_post_custom_fields( '', 'all', 'all', 'none' );
2747
+    $fields = geodir_post_custom_fields( '', 'all', 'all', 'none' );
2748 2748
 
2749
-	$keys = array();
2750
-	if ( ! empty( $fields ) ) {
2751
-		foreach( $fields as $field ) {
2752
-			if ( apply_filters( 'geodir_badge_field_skip_key', false, $field ) ) {
2753
-				continue;
2754
-			}
2749
+    $keys = array();
2750
+    if ( ! empty( $fields ) ) {
2751
+        foreach( $fields as $field ) {
2752
+            if ( apply_filters( 'geodir_badge_field_skip_key', false, $field ) ) {
2753
+                continue;
2754
+            }
2755 2755
 
2756
-			$keys[ $field['htmlvar_name'] ] = $field['htmlvar_name'] . ' ( ' . __( $field['admin_title'], 'geodirectory' ) . ' )';
2756
+            $keys[ $field['htmlvar_name'] ] = $field['htmlvar_name'] . ' ( ' . __( $field['admin_title'], 'geodirectory' ) . ' )';
2757 2757
 
2758
-			// Extra address fields
2759
-			if ( $field['htmlvar_name'] == 'address' && ( $address_fields = geodir_post_meta_address_fields( '' ) ) ) {
2760
-				foreach ( $address_fields as $_field => $args ) {
2761
-					if ( $_field != 'map_directions' && $_field != 'street' ) {
2762
-						$keys[ $_field ] = $_field . ' ( ' . $args['frontend_title'] . ' )';
2763
-					}
2764
-				}
2765
-			}
2766
-		}
2767
-	}
2758
+            // Extra address fields
2759
+            if ( $field['htmlvar_name'] == 'address' && ( $address_fields = geodir_post_meta_address_fields( '' ) ) ) {
2760
+                foreach ( $address_fields as $_field => $args ) {
2761
+                    if ( $_field != 'map_directions' && $_field != 'street' ) {
2762
+                        $keys[ $_field ] = $_field . ' ( ' . $args['frontend_title'] . ' )';
2763
+                    }
2764
+                }
2765
+            }
2766
+        }
2767
+    }
2768 2768
 
2769
-	$keys['post_date'] = 'post_date ( ' . __( 'post date', 'geodirectory' ) . ' )';
2770
-	$keys['post_modified'] = 'post_modified ( ' . __( 'post modified', 'geodirectory' ) . ' )';
2771
-	$keys['default_category'] = 'default_category ( ' . __( 'Default Category', 'geodirectory' ) . ' )';
2772
-	$keys['post_id'] = 'post_id ( ' . __( 'post id', 'geodirectory' ) . ' )';
2773
-	$keys['post_status'] = 'post_status ( ' . __( 'Post Status', 'geodirectory' ) . ' )';
2769
+    $keys['post_date'] = 'post_date ( ' . __( 'post date', 'geodirectory' ) . ' )';
2770
+    $keys['post_modified'] = 'post_modified ( ' . __( 'post modified', 'geodirectory' ) . ' )';
2771
+    $keys['default_category'] = 'default_category ( ' . __( 'Default Category', 'geodirectory' ) . ' )';
2772
+    $keys['post_id'] = 'post_id ( ' . __( 'post id', 'geodirectory' ) . ' )';
2773
+    $keys['post_status'] = 'post_status ( ' . __( 'Post Status', 'geodirectory' ) . ' )';
2774 2774
 
2775
-	$options = apply_filters( 'geodir_badge_field_keys', $keys );
2775
+    $options = apply_filters( 'geodir_badge_field_keys', $keys );
2776 2776
 
2777
-	return apply_filters( 'sd_visibility_gd_field_options', $options );
2777
+    return apply_filters( 'sd_visibility_gd_field_options', $options );
2778 2778
 }
2779 2779
 
2780 2780
 /**
@@ -2783,18 +2783,18 @@  discard block
 block discarded – undo
2783 2783
  * @return array
2784 2784
  */
2785 2785
 function sd_visibility_field_condition_options(){
2786
-	$options = array(
2787
-		'is_empty' => __( 'is empty', 'super-duper' ),
2788
-		'is_not_empty' => __( 'is not empty', 'super-duper' ),
2789
-		'is_equal' => __( 'is equal', 'super-duper' ),
2790
-		'is_not_equal' => __( 'is not equal', 'super-duper' ),
2791
-		'is_greater_than' => __( 'is greater than', 'super-duper' ),
2792
-		'is_less_than' => __( 'is less than', 'super-duper' ),
2793
-		'is_contains' => __( 'is contains', 'super-duper' ),
2794
-		'is_not_contains' => __( 'is not contains', 'super-duper' ),
2795
-	);
2786
+    $options = array(
2787
+        'is_empty' => __( 'is empty', 'super-duper' ),
2788
+        'is_not_empty' => __( 'is not empty', 'super-duper' ),
2789
+        'is_equal' => __( 'is equal', 'super-duper' ),
2790
+        'is_not_equal' => __( 'is not equal', 'super-duper' ),
2791
+        'is_greater_than' => __( 'is greater than', 'super-duper' ),
2792
+        'is_less_than' => __( 'is less than', 'super-duper' ),
2793
+        'is_contains' => __( 'is contains', 'super-duper' ),
2794
+        'is_not_contains' => __( 'is not contains', 'super-duper' ),
2795
+    );
2796 2796
 
2797
-	return apply_filters( 'sd_visibility_field_condition_options', $options );
2797
+    return apply_filters( 'sd_visibility_field_condition_options', $options );
2798 2798
 }
2799 2799
 
2800 2800
 /**
@@ -2805,14 +2805,14 @@  discard block
 block discarded – undo
2805 2805
  * @return array Template type options.
2806 2806
  */
2807 2807
 function sd_visibility_output_options() {
2808
-	$options = array(
2809
-		'hide'          => __( 'Hide Block', 'super-duper' ),
2810
-		'message'       => __( 'Show Custom Message', 'super-duper' ),
2811
-		'page'          => __( 'Show Page Content', 'super-duper' ),
2812
-		'template_part' => __( 'Show Template Part', 'super-duper' ),
2813
-	);
2808
+    $options = array(
2809
+        'hide'          => __( 'Hide Block', 'super-duper' ),
2810
+        'message'       => __( 'Show Custom Message', 'super-duper' ),
2811
+        'page'          => __( 'Show Page Content', 'super-duper' ),
2812
+        'template_part' => __( 'Show Template Part', 'super-duper' ),
2813
+    );
2814 2814
 
2815
-	return apply_filters( 'sd_visibility_output_options', $options );
2815
+    return apply_filters( 'sd_visibility_output_options', $options );
2816 2816
 }
2817 2817
 
2818 2818
 /**
@@ -2824,45 +2824,45 @@  discard block
 block discarded – undo
2824 2824
  * @return array Template page options.
2825 2825
  */
2826 2826
 function sd_template_page_options( $args = array() ) {
2827
-	global $sd_tmpl_page_options;
2827
+    global $sd_tmpl_page_options;
2828 2828
 
2829
-	if ( ! empty( $sd_tmpl_page_options ) ) {
2830
-		return $sd_tmpl_page_options;
2831
-	}
2829
+    if ( ! empty( $sd_tmpl_page_options ) ) {
2830
+        return $sd_tmpl_page_options;
2831
+    }
2832 2832
 
2833
-	$args = wp_parse_args( $args, array(
2834
-		'child_of'    => 0,
2835
-		'sort_column' => 'post_title',
2836
-		'sort_order'  => 'ASC'
2837
-	) );
2833
+    $args = wp_parse_args( $args, array(
2834
+        'child_of'    => 0,
2835
+        'sort_column' => 'post_title',
2836
+        'sort_order'  => 'ASC'
2837
+    ) );
2838 2838
 
2839
-	$exclude_pages = array();
2840
-	if ( $page_on_front = get_option( 'page_on_front' ) ) {
2841
-		$exclude_pages[] = $page_on_front;
2842
-	}
2839
+    $exclude_pages = array();
2840
+    if ( $page_on_front = get_option( 'page_on_front' ) ) {
2841
+        $exclude_pages[] = $page_on_front;
2842
+    }
2843 2843
 
2844
-	if ( $page_for_posts = get_option( 'page_for_posts' ) ) {
2845
-		$exclude_pages[] = $page_for_posts;
2846
-	}
2844
+    if ( $page_for_posts = get_option( 'page_for_posts' ) ) {
2845
+        $exclude_pages[] = $page_for_posts;
2846
+    }
2847 2847
 
2848
-	if ( ! empty( $exclude_pages ) ) {
2849
-		$args['exclude'] = $exclude_pages;
2850
-	}
2848
+    if ( ! empty( $exclude_pages ) ) {
2849
+        $args['exclude'] = $exclude_pages;
2850
+    }
2851 2851
 
2852
-	$pages = get_pages( $args );
2852
+    $pages = get_pages( $args );
2853 2853
 
2854
-	$options = array( '' => __( 'Select Page...', 'super-duper' ) );
2855
-	if ( ! empty( $pages ) ) {
2856
-		foreach ( $pages as $page ) {
2857
-			if ( ! empty( $page->ID ) && ! empty( $page->post_title ) ) {
2858
-				$options[ $page->ID ] = $page->post_title . ' (#' . $page->ID . ')';
2859
-			}
2860
-		}
2861
-	}
2854
+    $options = array( '' => __( 'Select Page...', 'super-duper' ) );
2855
+    if ( ! empty( $pages ) ) {
2856
+        foreach ( $pages as $page ) {
2857
+            if ( ! empty( $page->ID ) && ! empty( $page->post_title ) ) {
2858
+                $options[ $page->ID ] = $page->post_title . ' (#' . $page->ID . ')';
2859
+            }
2860
+        }
2861
+    }
2862 2862
 
2863
-	$sd_tmpl_page_options = $options;
2863
+    $sd_tmpl_page_options = $options;
2864 2864
 
2865
-	return apply_filters( 'sd_template_page_options', $options );
2865
+    return apply_filters( 'sd_template_page_options', $options );
2866 2866
 }
2867 2867
 
2868 2868
 /**
@@ -2874,25 +2874,25 @@  discard block
 block discarded – undo
2874 2874
  * @return array Template part options.
2875 2875
  */
2876 2876
 function sd_template_part_options( $args = array() ) {
2877
-	global $sd_tmpl_part_options;
2877
+    global $sd_tmpl_part_options;
2878 2878
 
2879
-	if ( ! empty( $sd_tmpl_part_options ) ) {
2880
-		return $sd_tmpl_part_options;
2881
-	}
2879
+    if ( ! empty( $sd_tmpl_part_options ) ) {
2880
+        return $sd_tmpl_part_options;
2881
+    }
2882 2882
 
2883
-	$options = array( '' => __( 'Select Template Part...', 'super-duper' ) );
2883
+    $options = array( '' => __( 'Select Template Part...', 'super-duper' ) );
2884 2884
 
2885
-	$parts = get_block_templates( array(), 'wp_template_part' );
2885
+    $parts = get_block_templates( array(), 'wp_template_part' );
2886 2886
 
2887
-	if ( ! empty( $parts ) ) {
2888
-		foreach ( $parts as $part ) {
2889
-			$options[ $part->slug ] = $part->title . ' (#' . $part->slug . ')';
2890
-		}
2891
-	}
2887
+    if ( ! empty( $parts ) ) {
2888
+        foreach ( $parts as $part ) {
2889
+            $options[ $part->slug ] = $part->title . ' (#' . $part->slug . ')';
2890
+        }
2891
+    }
2892 2892
 
2893
-	$sd_tmpl_part_options = $options;
2893
+    $sd_tmpl_part_options = $options;
2894 2894
 
2895
-	return apply_filters( 'sd_template_part_options', $options, $args );
2895
+    return apply_filters( 'sd_template_part_options', $options, $args );
2896 2896
 }
2897 2897
 
2898 2898
 /**
@@ -2904,25 +2904,25 @@  discard block
 block discarded – undo
2904 2904
  * @return array Template part object.
2905 2905
  */
2906 2906
 function sd_get_template_part_by_slug( $slug ) {
2907
-	global $bs_tmpl_part_by_slug;
2907
+    global $bs_tmpl_part_by_slug;
2908 2908
 
2909
-	if ( empty( $bs_tmpl_part_by_slug ) ) {
2910
-		$bs_tmpl_part_by_slug = array();
2911
-	}
2909
+    if ( empty( $bs_tmpl_part_by_slug ) ) {
2910
+        $bs_tmpl_part_by_slug = array();
2911
+    }
2912 2912
 
2913
-	if ( isset( $bs_tmpl_part_by_slug[ $slug ] ) ) {
2914
-		return $bs_tmpl_part_by_slug[ $slug ];
2915
-	}
2913
+    if ( isset( $bs_tmpl_part_by_slug[ $slug ] ) ) {
2914
+        return $bs_tmpl_part_by_slug[ $slug ];
2915
+    }
2916 2916
 
2917
-	$template_query = get_block_templates( array( 'slug__in' => array( $slug ) ), 'wp_template_part' );
2917
+    $template_query = get_block_templates( array( 'slug__in' => array( $slug ) ), 'wp_template_part' );
2918 2918
 
2919
-	$query_post = ! empty( $template_query ) ? $template_query[0] : array();
2919
+    $query_post = ! empty( $template_query ) ? $template_query[0] : array();
2920 2920
 
2921
-	$template_part = ! empty( $query_post ) && $query_post->status == 'publish' ? $query_post : array();
2921
+    $template_part = ! empty( $query_post ) && $query_post->status == 'publish' ? $query_post : array();
2922 2922
 
2923
-	$bs_tmpl_part_by_slug[ $slug ] = $template_part;
2923
+    $bs_tmpl_part_by_slug[ $slug ] = $template_part;
2924 2924
 
2925
-	return apply_filters( 'sd_get_template_part_by_slug', $template_part, $slug );
2925
+    return apply_filters( 'sd_get_template_part_by_slug', $template_part, $slug );
2926 2926
 }
2927 2927
 
2928 2928
 /**
@@ -2935,364 +2935,364 @@  discard block
 block discarded – undo
2935 2935
  * @param WP_Block $instance      The block instance.
2936 2936
  */
2937 2937
 function sd_render_block( $block_content, $block, $instance = '' ) {
2938
-	// No block visibility conditions set.
2939
-	if ( empty( $block['attrs']['visibility_conditions'] ) ) {
2940
-		return $block_content;
2941
-	}
2942
-
2943
-	$attributes = json_decode( $block['attrs']['visibility_conditions'], true );
2944
-	$rules = ! empty( $attributes ) ? sd_block_parse_rules( $attributes ) : array();
2945
-
2946
-	// No rules set.
2947
-	if ( empty( $rules ) ) {
2948
-		return $block_content;
2949
-	}
2950
-
2951
-	$_block_content = $block_content;
2952
-
2953
-	if ( ! empty( $rules ) && sd_block_check_rules( $rules ) ) {
2954
-		if ( ! empty( $attributes['output']['type'] ) ) {
2955
-			switch ( $attributes['output']['type'] ) {
2956
-				case 'hide':
2957
-					$valid_type = true;
2958
-					$content = '';
2959
-
2960
-					break;
2961
-				case 'message':
2962
-					$valid_type = true;
2963
-
2964
-					if ( isset( $attributes['output']['message'] ) ) {
2965
-						$content = $attributes['output']['message'] != '' ? __( stripslashes( $attributes['output']['message'] ), 'super-duper' ) : $attributes['output']['message'];
2966
-
2967
-						if ( ! empty( $attributes['output']['message_type'] ) ) {
2968
-							$content = aui()->alert( array(
2969
-									'type'=> $attributes['output']['message_type'],
2970
-									'content'=> $content
2971
-								)
2972
-							);
2973
-						}
2974
-					}
2975
-
2976
-					break;
2977
-				case 'page':
2978
-					$valid_type = true;
2979
-
2980
-					$page_id = ! empty( $attributes['output']['page'] ) ? absint( $attributes['output']['page'] ) : 0;
2981
-					$content = sd_get_page_content( $page_id );
2982
-
2983
-					break;
2984
-				case 'template_part':
2985
-					$valid_type = true;
2986
-
2987
-					$template_part = ! empty( $attributes['output']['template_part'] ) ? $attributes['output']['template_part'] : '';
2988
-					$content = sd_get_template_part_content( $template_part );
2989
-
2990
-					break;
2991
-				default:
2992
-					$valid_type = false;
2993
-					break;
2994
-			}
2995
-
2996
-			if ( $valid_type ) {
2997
-				$block_content = '<div class="' . esc_attr( wp_get_block_default_classname( $instance->name ) ) . ' sd-block-has-rule">' . $content . '</div>';
2998
-			}
2999
-		}
3000
-	}
3001
-
3002
-	return apply_filters( 'sd_render_block_visibility_content', $block_content, $_block_content, $attributes, $block, $instance );
2938
+    // No block visibility conditions set.
2939
+    if ( empty( $block['attrs']['visibility_conditions'] ) ) {
2940
+        return $block_content;
2941
+    }
2942
+
2943
+    $attributes = json_decode( $block['attrs']['visibility_conditions'], true );
2944
+    $rules = ! empty( $attributes ) ? sd_block_parse_rules( $attributes ) : array();
2945
+
2946
+    // No rules set.
2947
+    if ( empty( $rules ) ) {
2948
+        return $block_content;
2949
+    }
2950
+
2951
+    $_block_content = $block_content;
2952
+
2953
+    if ( ! empty( $rules ) && sd_block_check_rules( $rules ) ) {
2954
+        if ( ! empty( $attributes['output']['type'] ) ) {
2955
+            switch ( $attributes['output']['type'] ) {
2956
+                case 'hide':
2957
+                    $valid_type = true;
2958
+                    $content = '';
2959
+
2960
+                    break;
2961
+                case 'message':
2962
+                    $valid_type = true;
2963
+
2964
+                    if ( isset( $attributes['output']['message'] ) ) {
2965
+                        $content = $attributes['output']['message'] != '' ? __( stripslashes( $attributes['output']['message'] ), 'super-duper' ) : $attributes['output']['message'];
2966
+
2967
+                        if ( ! empty( $attributes['output']['message_type'] ) ) {
2968
+                            $content = aui()->alert( array(
2969
+                                    'type'=> $attributes['output']['message_type'],
2970
+                                    'content'=> $content
2971
+                                )
2972
+                            );
2973
+                        }
2974
+                    }
2975
+
2976
+                    break;
2977
+                case 'page':
2978
+                    $valid_type = true;
2979
+
2980
+                    $page_id = ! empty( $attributes['output']['page'] ) ? absint( $attributes['output']['page'] ) : 0;
2981
+                    $content = sd_get_page_content( $page_id );
2982
+
2983
+                    break;
2984
+                case 'template_part':
2985
+                    $valid_type = true;
2986
+
2987
+                    $template_part = ! empty( $attributes['output']['template_part'] ) ? $attributes['output']['template_part'] : '';
2988
+                    $content = sd_get_template_part_content( $template_part );
2989
+
2990
+                    break;
2991
+                default:
2992
+                    $valid_type = false;
2993
+                    break;
2994
+            }
2995
+
2996
+            if ( $valid_type ) {
2997
+                $block_content = '<div class="' . esc_attr( wp_get_block_default_classname( $instance->name ) ) . ' sd-block-has-rule">' . $content . '</div>';
2998
+            }
2999
+        }
3000
+    }
3001
+
3002
+    return apply_filters( 'sd_render_block_visibility_content', $block_content, $_block_content, $attributes, $block, $instance );
3003 3003
 }
3004 3004
 add_filter( 'render_block', 'sd_render_block', 9, 3 );
3005 3005
 
3006 3006
 function sd_get_page_content( $page_id ) {
3007
-	$content = $page_id > 0 ? get_post_field( 'post_content', (int) $page_id ) : '';
3007
+    $content = $page_id > 0 ? get_post_field( 'post_content', (int) $page_id ) : '';
3008 3008
 
3009
-	// Maybe bypass content
3010
-	$bypass_content = apply_filters( 'sd_bypass_page_content', '', $content, $page_id );
3011
-	if ( $bypass_content ) {
3012
-		return $bypass_content;
3013
-	}
3009
+    // Maybe bypass content
3010
+    $bypass_content = apply_filters( 'sd_bypass_page_content', '', $content, $page_id );
3011
+    if ( $bypass_content ) {
3012
+        return $bypass_content;
3013
+    }
3014 3014
 
3015
-	// Run the shortcodes on the content.
3016
-	$content = do_shortcode( $content );
3015
+    // Run the shortcodes on the content.
3016
+    $content = do_shortcode( $content );
3017 3017
 
3018
-	// Run block content if its available.
3019
-	if ( function_exists( 'do_blocks' ) ) {
3020
-		$content = do_blocks( $content );
3021
-	}
3018
+    // Run block content if its available.
3019
+    if ( function_exists( 'do_blocks' ) ) {
3020
+        $content = do_blocks( $content );
3021
+    }
3022 3022
 
3023
-	return apply_filters( 'sd_get_page_content', $content, $page_id );
3023
+    return apply_filters( 'sd_get_page_content', $content, $page_id );
3024 3024
 }
3025 3025
 
3026 3026
 function sd_get_template_part_content( $template_part ) {
3027
-	$template_part_post = $template_part ? sd_get_template_part_by_slug( $template_part ) : array();
3028
-	$content = ! empty( $template_part_post ) ? $template_part_post->content : '';
3027
+    $template_part_post = $template_part ? sd_get_template_part_by_slug( $template_part ) : array();
3028
+    $content = ! empty( $template_part_post ) ? $template_part_post->content : '';
3029 3029
 
3030
-	// Maybe bypass content
3031
-	$bypass_content = apply_filters( 'sd_bypass_template_part_content', '', $content, $template_part );
3032
-	if ( $bypass_content ) {
3033
-		return $bypass_content;
3034
-	}
3030
+    // Maybe bypass content
3031
+    $bypass_content = apply_filters( 'sd_bypass_template_part_content', '', $content, $template_part );
3032
+    if ( $bypass_content ) {
3033
+        return $bypass_content;
3034
+    }
3035 3035
 
3036
-	// Run the shortcodes on the content.
3037
-	$content = do_shortcode( $content );
3036
+    // Run the shortcodes on the content.
3037
+    $content = do_shortcode( $content );
3038 3038
 
3039
-	// Run block content if its available.
3040
-	if ( function_exists( 'do_blocks' ) ) {
3041
-		$content = do_blocks( $content );
3042
-	}
3039
+    // Run block content if its available.
3040
+    if ( function_exists( 'do_blocks' ) ) {
3041
+        $content = do_blocks( $content );
3042
+    }
3043 3043
 
3044
-	return apply_filters( 'sd_get_template_part_content', $content, $template_part );
3044
+    return apply_filters( 'sd_get_template_part_content', $content, $template_part );
3045 3045
 }
3046 3046
 
3047 3047
 function sd_block_parse_rules( $attrs ) {
3048
-	$rules = array();
3048
+    $rules = array();
3049 3049
 
3050
-	if ( ! empty( $attrs ) && is_array( $attrs ) ) {
3051
-		$attrs_keys = array_keys( $attrs );
3050
+    if ( ! empty( $attrs ) && is_array( $attrs ) ) {
3051
+        $attrs_keys = array_keys( $attrs );
3052 3052
 
3053
-		for ( $i = 1; $i <= count( $attrs_keys ); $i++ ) {
3054
-			if ( ! empty( $attrs[ 'rule' . $i ] ) && is_array( $attrs[ 'rule' . $i ] ) ) {
3055
-				$rules[] = $attrs[ 'rule' . $i ];
3056
-			}
3057
-		}
3058
-	}
3053
+        for ( $i = 1; $i <= count( $attrs_keys ); $i++ ) {
3054
+            if ( ! empty( $attrs[ 'rule' . $i ] ) && is_array( $attrs[ 'rule' . $i ] ) ) {
3055
+                $rules[] = $attrs[ 'rule' . $i ];
3056
+            }
3057
+        }
3058
+    }
3059 3059
 
3060
-	return apply_filters( 'sd_block_parse_rules', $rules, $attrs );
3060
+    return apply_filters( 'sd_block_parse_rules', $rules, $attrs );
3061 3061
 }
3062 3062
 
3063 3063
 function sd_block_check_rules( $rules ) {
3064
-	if ( ! ( is_array( $rules ) && ! empty( $rules ) ) ) {
3065
-		return true;
3066
-	}
3064
+    if ( ! ( is_array( $rules ) && ! empty( $rules ) ) ) {
3065
+        return true;
3066
+    }
3067 3067
 
3068
-	foreach ( $rules as $key => $rule ) {
3069
-		$match = apply_filters( 'sd_block_check_rule', true, $rule );
3068
+    foreach ( $rules as $key => $rule ) {
3069
+        $match = apply_filters( 'sd_block_check_rule', true, $rule );
3070 3070
 
3071
-		if ( ! $match ) {
3072
-			break;
3073
-		}
3074
-	}
3071
+        if ( ! $match ) {
3072
+            break;
3073
+        }
3074
+    }
3075 3075
 
3076
-	return apply_filters( 'sd_block_check_rules', $match, $rules );
3076
+    return apply_filters( 'sd_block_check_rules', $match, $rules );
3077 3077
 }
3078 3078
 
3079 3079
 function sd_block_check_rule( $match, $rule ) {
3080
-	if ( $match && ! empty( $rule['type'] ) ) {
3081
-		switch ( $rule['type'] ) {
3082
-			case 'logged_in':
3083
-				$match = (bool) is_user_logged_in();
3080
+    if ( $match && ! empty( $rule['type'] ) ) {
3081
+        switch ( $rule['type'] ) {
3082
+            case 'logged_in':
3083
+                $match = (bool) is_user_logged_in();
3084 3084
 
3085
-				break;
3086
-			case 'logged_out':
3087
-				$match = ! is_user_logged_in();
3085
+                break;
3086
+            case 'logged_out':
3087
+                $match = ! is_user_logged_in();
3088 3088
 
3089
-				break;
3090
-			case 'user_roles':
3091
-				$match = false;
3089
+                break;
3090
+            case 'user_roles':
3091
+                $match = false;
3092 3092
 
3093
-				if ( ! empty( $rule['user_roles'] ) ) {
3094
-					$user_roles = is_scalar( $rule['user_roles'] ) ? explode( ",", $rule['user_roles'] ) : $rule['user_roles'];
3093
+                if ( ! empty( $rule['user_roles'] ) ) {
3094
+                    $user_roles = is_scalar( $rule['user_roles'] ) ? explode( ",", $rule['user_roles'] ) : $rule['user_roles'];
3095 3095
 
3096
-					if ( is_array( $user_roles ) ) {
3097
-						$user_roles = array_filter( array_map( 'trim', $user_roles ) );
3098
-					}
3096
+                    if ( is_array( $user_roles ) ) {
3097
+                        $user_roles = array_filter( array_map( 'trim', $user_roles ) );
3098
+                    }
3099 3099
 
3100
-					if ( ! empty( $user_roles ) && is_array( $user_roles ) && is_user_logged_in() && ( $current_user = wp_get_current_user() ) ) {
3101
-						$current_user_roles = $current_user->roles;
3100
+                    if ( ! empty( $user_roles ) && is_array( $user_roles ) && is_user_logged_in() && ( $current_user = wp_get_current_user() ) ) {
3101
+                        $current_user_roles = $current_user->roles;
3102 3102
 
3103
-						foreach ( $user_roles as $role ) {
3104
-							if ( in_array( $role, $current_user_roles ) ) {
3105
-								$match = true;
3106
-							}
3107
-						}
3108
-					}
3109
-				}
3103
+                        foreach ( $user_roles as $role ) {
3104
+                            if ( in_array( $role, $current_user_roles ) ) {
3105
+                                $match = true;
3106
+                            }
3107
+                        }
3108
+                    }
3109
+                }
3110 3110
 
3111
-				break;
3112
-			case 'gd_field':
3113
-				$match = sd_block_check_rule_gd_field( $rule );
3111
+                break;
3112
+            case 'gd_field':
3113
+                $match = sd_block_check_rule_gd_field( $rule );
3114 3114
 
3115
-				break;
3116
-		}
3117
-	}
3115
+                break;
3116
+        }
3117
+    }
3118 3118
 
3119
-	return $match;
3119
+    return $match;
3120 3120
 }
3121 3121
 add_filter( 'sd_block_check_rule', 'sd_block_check_rule', 10, 2 );
3122 3122
 
3123 3123
 function sd_block_check_rule_gd_field( $rule ) {
3124
-	global $gd_post;
3125
-
3126
-	$match_found = false;
3127
-
3128
-	if ( class_exists( 'GeoDirectory' ) && ! empty( $gd_post->ID ) && ! empty( $rule['field'] ) && ! empty( $rule['condition'] ) ) {
3129
-		$args['block_visibility'] = true;
3130
-		$args['key'] = $rule['field'];
3131
-		$args['condition'] = $rule['condition'];
3132
-		$args['search'] = isset( $rule['search'] ) ? $rule['search'] : '';
3133
-
3134
-		if ( $args['key'] == 'street' ) {
3135
-			$args['key'] = 'address';
3136
-		}
3137
-
3138
-		$match_field = $_match_field = $args['key'];
3139
-
3140
-		if ( $match_field == 'address' ) {
3141
-			$match_field = 'street';
3142
-		} elseif ( $match_field == 'post_images' ) {
3143
-			$match_field = 'featured_image';
3144
-		}
3145
-
3146
-		$find_post = $gd_post;
3147
-		$find_post_keys = ! empty( $find_post ) ? array_keys( (array) $find_post ) : array();
3148
-
3149
-		if ( ! empty( $find_post->ID ) && ! in_array( 'post_category', $find_post_keys ) ) {
3150
-			$find_post = geodir_get_post_info( (int) $find_post->ID );
3151
-			$find_post_keys = ! empty( $find_post ) ? array_keys( (array) $find_post ) : array();
3152
-		}
3153
-
3154
-		if ( $match_field === '' || ( ! empty( $find_post_keys ) && ( in_array( $match_field, $find_post_keys ) || in_array( $_match_field, $find_post_keys ) ) ) ) {
3155
-			$address_fields = array( 'street2', 'neighbourhood', 'city', 'region', 'country', 'zip', 'latitude', 'longitude' ); // Address fields
3156
-			$field = array();
3157
-
3158
-			if ( $match_field && ! in_array( $match_field, array( 'post_date', 'post_modified', 'default_category', 'post_id', 'post_status' ) ) && ! in_array( $match_field, $address_fields ) ) {
3159
-				$package_id = geodir_get_post_package_id( $find_post->ID, $find_post->post_type );
3160
-				$fields = geodir_post_custom_fields( $package_id, 'all', $find_post->post_type, 'none' );
3161
-
3162
-				foreach ( $fields as $field_info ) {
3163
-					if ( $match_field == $field_info['htmlvar_name'] ) {
3164
-						$field = $field_info;
3165
-						break;
3166
-					} elseif( $_match_field == $field_info['htmlvar_name'] ) {
3167
-						$field = $field_info;
3168
-						break;
3169
-					}
3170
-				}
3171
-
3172
-				if ( empty( $field ) ) {
3173
-					return false;
3174
-				}
3175
-			}
3176
-
3177
-			// Parse search.
3178
-			$search = sd_gd_field_rule_search( $args['search'], $find_post->post_type, $rule );
3179
-
3180
-			// Address fields.
3181
-			if ( in_array( $match_field, $address_fields ) && ( $address_fields = geodir_post_meta_address_fields( '' ) ) ) {
3182
-				if ( ! empty( $address_fields[ $match_field ] ) ) {
3183
-					$field = $address_fields[ $match_field ];
3184
-				}
3185
-			}
3186
-
3187
-			$is_date = ( ! empty( $field['type'] ) && $field['type'] == 'datepicker' ) || in_array( $match_field, array( 'post_date', 'post_modified' ) ) ? true : false;
3188
-			$is_date = apply_filters( 'geodir_post_badge_is_date', $is_date, $match_field, $field, $args, $find_post );
3189
-
3190
-			$match_value = isset($find_post->{$match_field}) ? esc_attr( trim( $find_post->{$match_field} ) ) : '';
3191
-			$match_found = $match_field === '' ? true : false;
3192
-
3193
-			if ( ! $match_found ) {
3194
-				if ( ( $match_field == 'post_date' || $match_field == 'post_modified' ) && ( empty( $args['condition'] ) || $args['condition'] == 'is_greater_than' || $args['condition'] == 'is_less_than' ) ) {
3195
-					if ( strpos( $search, '+' ) === false && strpos( $search, '-' ) === false ) {
3196
-						$search = '+' . $search;
3197
-					}
3198
-					$the_time = $match_field == 'post_modified' ? get_the_modified_date( 'Y-m-d', $find_post ) : get_the_time( 'Y-m-d', $find_post );
3199
-					$until_time = strtotime( $the_time . ' ' . $search . ' days' );
3200
-					$now_time   = strtotime( date_i18n( 'Y-m-d', current_time( 'timestamp' ) ) );
3201
-					if ( ( empty( $args['condition'] ) || $args['condition'] == 'is_less_than' ) && $until_time > $now_time ) {
3202
-						$match_found = true;
3203
-					} elseif ( $args['condition'] == 'is_greater_than' && $until_time < $now_time ) {
3204
-						$match_found = true;
3205
-					}
3206
-				} else {
3207
-					switch ( $args['condition'] ) {
3208
-						case 'is_equal':
3209
-							$match_found = (bool) ( $search != '' && $match_value == $search );
3210
-							break;
3211
-						case 'is_not_equal':
3212
-							$match_found = (bool) ( $search != '' && $match_value != $search );
3213
-							break;
3214
-						case 'is_greater_than':
3215
-							$match_found = (bool) ( $search != '' && ( is_float( $search ) || is_numeric( $search ) ) && ( is_float( $match_value ) || is_numeric( $match_value ) ) && $match_value > $search );
3216
-							break;
3217
-						case 'is_less_than':
3218
-							$match_found = (bool) ( $search != '' && ( is_float( $search ) || is_numeric( $search ) ) && ( is_float( $match_value ) || is_numeric( $match_value ) ) && $match_value < $search );
3219
-							break;
3220
-						case 'is_empty':
3221
-							$match_found = (bool) ( $match_value === '' || $match_value === false || $match_value === '0' || is_null( $match_value ) );
3222
-							break;
3223
-						case 'is_not_empty':
3224
-							$match_found = (bool) ( $match_value !== '' && $match_value !== false && $match_value !== '0' && ! is_null( $match_value ) );
3225
-							break;
3226
-						case 'is_contains':
3227
-							$match_found = (bool) ( $search != '' && stripos( $match_value, $search ) !== false );
3228
-							break;
3229
-						case 'is_not_contains':
3230
-							$match_found = (bool) ( $search != '' && stripos( $match_value, $search ) === false );
3231
-							break;
3232
-					}
3233
-				}
3234
-			}
3235
-
3236
-			$match_found = apply_filters( 'geodir_post_badge_check_match_found', $match_found, $args, $find_post );
3237
-		}
3238
-	}
3239
-
3240
-	return $match_found;
3124
+    global $gd_post;
3125
+
3126
+    $match_found = false;
3127
+
3128
+    if ( class_exists( 'GeoDirectory' ) && ! empty( $gd_post->ID ) && ! empty( $rule['field'] ) && ! empty( $rule['condition'] ) ) {
3129
+        $args['block_visibility'] = true;
3130
+        $args['key'] = $rule['field'];
3131
+        $args['condition'] = $rule['condition'];
3132
+        $args['search'] = isset( $rule['search'] ) ? $rule['search'] : '';
3133
+
3134
+        if ( $args['key'] == 'street' ) {
3135
+            $args['key'] = 'address';
3136
+        }
3137
+
3138
+        $match_field = $_match_field = $args['key'];
3139
+
3140
+        if ( $match_field == 'address' ) {
3141
+            $match_field = 'street';
3142
+        } elseif ( $match_field == 'post_images' ) {
3143
+            $match_field = 'featured_image';
3144
+        }
3145
+
3146
+        $find_post = $gd_post;
3147
+        $find_post_keys = ! empty( $find_post ) ? array_keys( (array) $find_post ) : array();
3148
+
3149
+        if ( ! empty( $find_post->ID ) && ! in_array( 'post_category', $find_post_keys ) ) {
3150
+            $find_post = geodir_get_post_info( (int) $find_post->ID );
3151
+            $find_post_keys = ! empty( $find_post ) ? array_keys( (array) $find_post ) : array();
3152
+        }
3153
+
3154
+        if ( $match_field === '' || ( ! empty( $find_post_keys ) && ( in_array( $match_field, $find_post_keys ) || in_array( $_match_field, $find_post_keys ) ) ) ) {
3155
+            $address_fields = array( 'street2', 'neighbourhood', 'city', 'region', 'country', 'zip', 'latitude', 'longitude' ); // Address fields
3156
+            $field = array();
3157
+
3158
+            if ( $match_field && ! in_array( $match_field, array( 'post_date', 'post_modified', 'default_category', 'post_id', 'post_status' ) ) && ! in_array( $match_field, $address_fields ) ) {
3159
+                $package_id = geodir_get_post_package_id( $find_post->ID, $find_post->post_type );
3160
+                $fields = geodir_post_custom_fields( $package_id, 'all', $find_post->post_type, 'none' );
3161
+
3162
+                foreach ( $fields as $field_info ) {
3163
+                    if ( $match_field == $field_info['htmlvar_name'] ) {
3164
+                        $field = $field_info;
3165
+                        break;
3166
+                    } elseif( $_match_field == $field_info['htmlvar_name'] ) {
3167
+                        $field = $field_info;
3168
+                        break;
3169
+                    }
3170
+                }
3171
+
3172
+                if ( empty( $field ) ) {
3173
+                    return false;
3174
+                }
3175
+            }
3176
+
3177
+            // Parse search.
3178
+            $search = sd_gd_field_rule_search( $args['search'], $find_post->post_type, $rule );
3179
+
3180
+            // Address fields.
3181
+            if ( in_array( $match_field, $address_fields ) && ( $address_fields = geodir_post_meta_address_fields( '' ) ) ) {
3182
+                if ( ! empty( $address_fields[ $match_field ] ) ) {
3183
+                    $field = $address_fields[ $match_field ];
3184
+                }
3185
+            }
3186
+
3187
+            $is_date = ( ! empty( $field['type'] ) && $field['type'] == 'datepicker' ) || in_array( $match_field, array( 'post_date', 'post_modified' ) ) ? true : false;
3188
+            $is_date = apply_filters( 'geodir_post_badge_is_date', $is_date, $match_field, $field, $args, $find_post );
3189
+
3190
+            $match_value = isset($find_post->{$match_field}) ? esc_attr( trim( $find_post->{$match_field} ) ) : '';
3191
+            $match_found = $match_field === '' ? true : false;
3192
+
3193
+            if ( ! $match_found ) {
3194
+                if ( ( $match_field == 'post_date' || $match_field == 'post_modified' ) && ( empty( $args['condition'] ) || $args['condition'] == 'is_greater_than' || $args['condition'] == 'is_less_than' ) ) {
3195
+                    if ( strpos( $search, '+' ) === false && strpos( $search, '-' ) === false ) {
3196
+                        $search = '+' . $search;
3197
+                    }
3198
+                    $the_time = $match_field == 'post_modified' ? get_the_modified_date( 'Y-m-d', $find_post ) : get_the_time( 'Y-m-d', $find_post );
3199
+                    $until_time = strtotime( $the_time . ' ' . $search . ' days' );
3200
+                    $now_time   = strtotime( date_i18n( 'Y-m-d', current_time( 'timestamp' ) ) );
3201
+                    if ( ( empty( $args['condition'] ) || $args['condition'] == 'is_less_than' ) && $until_time > $now_time ) {
3202
+                        $match_found = true;
3203
+                    } elseif ( $args['condition'] == 'is_greater_than' && $until_time < $now_time ) {
3204
+                        $match_found = true;
3205
+                    }
3206
+                } else {
3207
+                    switch ( $args['condition'] ) {
3208
+                        case 'is_equal':
3209
+                            $match_found = (bool) ( $search != '' && $match_value == $search );
3210
+                            break;
3211
+                        case 'is_not_equal':
3212
+                            $match_found = (bool) ( $search != '' && $match_value != $search );
3213
+                            break;
3214
+                        case 'is_greater_than':
3215
+                            $match_found = (bool) ( $search != '' && ( is_float( $search ) || is_numeric( $search ) ) && ( is_float( $match_value ) || is_numeric( $match_value ) ) && $match_value > $search );
3216
+                            break;
3217
+                        case 'is_less_than':
3218
+                            $match_found = (bool) ( $search != '' && ( is_float( $search ) || is_numeric( $search ) ) && ( is_float( $match_value ) || is_numeric( $match_value ) ) && $match_value < $search );
3219
+                            break;
3220
+                        case 'is_empty':
3221
+                            $match_found = (bool) ( $match_value === '' || $match_value === false || $match_value === '0' || is_null( $match_value ) );
3222
+                            break;
3223
+                        case 'is_not_empty':
3224
+                            $match_found = (bool) ( $match_value !== '' && $match_value !== false && $match_value !== '0' && ! is_null( $match_value ) );
3225
+                            break;
3226
+                        case 'is_contains':
3227
+                            $match_found = (bool) ( $search != '' && stripos( $match_value, $search ) !== false );
3228
+                            break;
3229
+                        case 'is_not_contains':
3230
+                            $match_found = (bool) ( $search != '' && stripos( $match_value, $search ) === false );
3231
+                            break;
3232
+                    }
3233
+                }
3234
+            }
3235
+
3236
+            $match_found = apply_filters( 'geodir_post_badge_check_match_found', $match_found, $args, $find_post );
3237
+        }
3238
+    }
3239
+
3240
+    return $match_found;
3241 3241
 }
3242 3242
 
3243 3243
 function sd_gd_field_rule_search( $search, $post_type, $rule ) {
3244
-	if ( ! $search ) {
3245
-		return $search;
3246
-	}
3247
-
3248
-	$orig_search = $search;
3249
-	$_search = strtolower( $search );
3250
-
3251
-	if ( $_search == 'date_today' ) {
3252
-		$search = date( 'Y-m-d' );
3253
-	} else if ( $_search == 'date_tomorrow' ) {
3254
-		$search = date( 'Y-m-d', strtotime( "+1 day" ) );
3255
-	} else if ( $_search == 'date_yesterday' ) {
3256
-		$search = date( 'Y-m-d', strtotime( "-1 day" ) );
3257
-	} else if ( $_search == 'time_his' ) {
3258
-		$search = date( 'H:i:s' );
3259
-	} else if ( $_search == 'time_hi' ) {
3260
-		$search = date( 'H:i' );
3261
-	} else if ( $_search == 'datetime_now' ) {
3262
-		$search = date( 'Y-m-d H:i:s' );
3263
-	} else if ( strpos( $_search, 'datetime_after_' ) === 0 ) {
3264
-		$_searches = explode( 'datetime_after_', $_search, 2 );
3265
-
3266
-		if ( ! empty( $_searches[1] ) ) {
3267
-			$search = date( 'Y-m-d H:i:s', strtotime( "+ " . str_replace( "_", " ", $_searches[1] ) ) );
3268
-		} else {
3269
-			$search = date( 'Y-m-d H:i:s' );
3270
-		}
3271
-	} else if ( strpos( $_search, 'datetime_before_' ) === 0 ) {
3272
-		$_searches = explode( 'datetime_before_', $_search, 2 );
3273
-
3274
-		if ( ! empty( $_searches[1] ) ) {
3275
-			$search = date( 'Y-m-d H:i:s', strtotime( "- " . str_replace( "_", " ", $_searches[1] ) ) );
3276
-		} else {
3277
-			$search = date( 'Y-m-d H:i:s' );
3278
-		}
3279
-	} else if ( strpos( $_search, 'date_after_' ) === 0 ) {
3280
-		$_searches = explode( 'date_after_', $_search, 2 );
3281
-
3282
-		if ( ! empty( $_searches[1] ) ) {
3283
-			$search = date( 'Y-m-d', strtotime( "+ " . str_replace( "_", " ", $_searches[1] ) ) );
3284
-		} else {
3285
-			$search = date( 'Y-m-d' );
3286
-		}
3287
-	} else if ( strpos( $_search, 'date_before_' ) === 0 ) {
3288
-		$_searches = explode( 'date_before_', $_search, 2 );
3289
-
3290
-		if ( ! empty( $_searches[1] ) ) {
3291
-			$search = date( 'Y-m-d', strtotime( "- " . str_replace( "_", " ", $_searches[1] ) ) );
3292
-		} else {
3293
-			$search = date( 'Y-m-d' );
3294
-		}
3295
-	}
3296
-
3297
-	return apply_filters( 'sd_gd_field_rule_search', $search, $post_type, $rule, $orig_search );
3244
+    if ( ! $search ) {
3245
+        return $search;
3246
+    }
3247
+
3248
+    $orig_search = $search;
3249
+    $_search = strtolower( $search );
3250
+
3251
+    if ( $_search == 'date_today' ) {
3252
+        $search = date( 'Y-m-d' );
3253
+    } else if ( $_search == 'date_tomorrow' ) {
3254
+        $search = date( 'Y-m-d', strtotime( "+1 day" ) );
3255
+    } else if ( $_search == 'date_yesterday' ) {
3256
+        $search = date( 'Y-m-d', strtotime( "-1 day" ) );
3257
+    } else if ( $_search == 'time_his' ) {
3258
+        $search = date( 'H:i:s' );
3259
+    } else if ( $_search == 'time_hi' ) {
3260
+        $search = date( 'H:i' );
3261
+    } else if ( $_search == 'datetime_now' ) {
3262
+        $search = date( 'Y-m-d H:i:s' );
3263
+    } else if ( strpos( $_search, 'datetime_after_' ) === 0 ) {
3264
+        $_searches = explode( 'datetime_after_', $_search, 2 );
3265
+
3266
+        if ( ! empty( $_searches[1] ) ) {
3267
+            $search = date( 'Y-m-d H:i:s', strtotime( "+ " . str_replace( "_", " ", $_searches[1] ) ) );
3268
+        } else {
3269
+            $search = date( 'Y-m-d H:i:s' );
3270
+        }
3271
+    } else if ( strpos( $_search, 'datetime_before_' ) === 0 ) {
3272
+        $_searches = explode( 'datetime_before_', $_search, 2 );
3273
+
3274
+        if ( ! empty( $_searches[1] ) ) {
3275
+            $search = date( 'Y-m-d H:i:s', strtotime( "- " . str_replace( "_", " ", $_searches[1] ) ) );
3276
+        } else {
3277
+            $search = date( 'Y-m-d H:i:s' );
3278
+        }
3279
+    } else if ( strpos( $_search, 'date_after_' ) === 0 ) {
3280
+        $_searches = explode( 'date_after_', $_search, 2 );
3281
+
3282
+        if ( ! empty( $_searches[1] ) ) {
3283
+            $search = date( 'Y-m-d', strtotime( "+ " . str_replace( "_", " ", $_searches[1] ) ) );
3284
+        } else {
3285
+            $search = date( 'Y-m-d' );
3286
+        }
3287
+    } else if ( strpos( $_search, 'date_before_' ) === 0 ) {
3288
+        $_searches = explode( 'date_before_', $_search, 2 );
3289
+
3290
+        if ( ! empty( $_searches[1] ) ) {
3291
+            $search = date( 'Y-m-d', strtotime( "- " . str_replace( "_", " ", $_searches[1] ) ) );
3292
+        } else {
3293
+            $search = date( 'Y-m-d' );
3294
+        }
3295
+    }
3296
+
3297
+    return apply_filters( 'sd_gd_field_rule_search', $search, $post_type, $rule, $orig_search );
3298 3298
 }
3299 3299
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +938 added lines, -938 removed lines patch added patch discarded remove patch
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
  * @return mixed|void
38 38
  */
39 39
 function sd_widget_exclude() {
40
-	return apply_filters( 'sd_widget_exclude', array() );
40
+	return apply_filters('sd_widget_exclude', array());
41 41
 }
42 42
 
43 43
 
@@ -49,11 +49,11 @@  discard block
 block discarded – undo
49 49
  *
50 50
  * @return array
51 51
  */
52
-function sd_get_margin_input( $type = 'mt', $overwrite = array(), $include_negatives = true ) {
52
+function sd_get_margin_input($type = 'mt', $overwrite = array(), $include_negatives = true) {
53 53
 	global $aui_bs5;
54 54
 	$options = array(
55
-		''     => __( 'None', 'super-duper' ),
56
-		'auto' => __( 'auto', 'super-duper' ),
55
+		''     => __('None', 'super-duper'),
56
+		'auto' => __('auto', 'super-duper'),
57 57
 		'0'    => '0',
58 58
 		'1'    => '1',
59 59
 		'2'    => '2',
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
 		'12'   => '12',
70 70
 	);
71 71
 
72
-	if ( $include_negatives ) {
72
+	if ($include_negatives) {
73 73
 		$options['n1']  = '-1';
74 74
 		$options['n2']  = '-2';
75 75
 		$options['n3']  = '-3';
@@ -86,37 +86,37 @@  discard block
 block discarded – undo
86 86
 
87 87
 	$defaults = array(
88 88
 		'type'     => 'select',
89
-		'title'    => __( 'Margin top', 'super-duper' ),
89
+		'title'    => __('Margin top', 'super-duper'),
90 90
 		'options'  => $options,
91 91
 		'default'  => '',
92 92
 		'desc_tip' => true,
93
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
93
+		'group'    => __('Wrapper Styles', 'super-duper'),
94 94
 	);
95 95
 
96 96
 	// title
97
-	if ( $type == 'mt' ) {
98
-		$defaults['title'] = __( 'Margin top', 'super-duper' );
97
+	if ($type == 'mt') {
98
+		$defaults['title'] = __('Margin top', 'super-duper');
99 99
 		$defaults['icon']  = 'box-top';
100 100
 		$defaults['row']   = array(
101
-			'title' => __( 'Margins', 'super-duper' ),
101
+			'title' => __('Margins', 'super-duper'),
102 102
 			'key'   => 'wrapper-margins',
103 103
 			'open'  => true,
104 104
 			'class' => 'text-center',
105 105
 		);
106
-	} elseif ( $type == 'mr' ) {
107
-		$defaults['title'] = __( 'Margin right', 'super-duper' );
106
+	} elseif ($type == 'mr') {
107
+		$defaults['title'] = __('Margin right', 'super-duper');
108 108
 		$defaults['icon']  = 'box-right';
109 109
 		$defaults['row']   = array(
110 110
 			'key' => 'wrapper-margins',
111 111
 		);
112
-	} elseif ( $type == 'mb' ) {
113
-		$defaults['title'] = __( 'Margin bottom', 'super-duper' );
112
+	} elseif ($type == 'mb') {
113
+		$defaults['title'] = __('Margin bottom', 'super-duper');
114 114
 		$defaults['icon']  = 'box-bottom';
115 115
 		$defaults['row']   = array(
116 116
 			'key' => 'wrapper-margins',
117 117
 		);
118
-	} elseif ( $type == 'ml' ) {
119
-		$defaults['title'] = __( 'Margin left', 'super-duper' );
118
+	} elseif ($type == 'ml') {
119
+		$defaults['title'] = __('Margin left', 'super-duper');
120 120
 		$defaults['icon']  = 'box-left';
121 121
 		$defaults['row']   = array(
122 122
 			'key'   => 'wrapper-margins',
@@ -124,7 +124,7 @@  discard block
 block discarded – undo
124 124
 		);
125 125
 	}
126 126
 
127
-	$input = wp_parse_args( $overwrite, $defaults );
127
+	$input = wp_parse_args($overwrite, $defaults);
128 128
 
129 129
 	return $input;
130 130
 }
@@ -137,9 +137,9 @@  discard block
 block discarded – undo
137 137
  *
138 138
  * @return array
139 139
  */
140
-function sd_get_padding_input( $type = 'pt', $overwrite = array() ) {
140
+function sd_get_padding_input($type = 'pt', $overwrite = array()) {
141 141
 	$options = array(
142
-		''   => __( 'None', 'super-duper' ),
142
+		''   => __('None', 'super-duper'),
143 143
 		'0'  => '0',
144 144
 		'1'  => '1',
145 145
 		'2'  => '2',
@@ -157,37 +157,37 @@  discard block
 block discarded – undo
157 157
 
158 158
 	$defaults = array(
159 159
 		'type'     => 'select',
160
-		'title'    => __( 'Padding top', 'super-duper' ),
160
+		'title'    => __('Padding top', 'super-duper'),
161 161
 		'options'  => $options,
162 162
 		'default'  => '',
163 163
 		'desc_tip' => true,
164
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
164
+		'group'    => __('Wrapper Styles', 'super-duper'),
165 165
 	);
166 166
 
167 167
 	// title
168
-	if ( $type == 'pt' ) {
169
-		$defaults['title'] = __( 'Padding top', 'super-duper' );
168
+	if ($type == 'pt') {
169
+		$defaults['title'] = __('Padding top', 'super-duper');
170 170
 		$defaults['icon']  = 'box-top';
171 171
 		$defaults['row']   = array(
172
-			'title' => __( 'Padding', 'super-duper' ),
172
+			'title' => __('Padding', 'super-duper'),
173 173
 			'key'   => 'wrapper-padding',
174 174
 			'open'  => true,
175 175
 			'class' => 'text-center',
176 176
 		);
177
-	} elseif ( $type == 'pr' ) {
178
-		$defaults['title'] = __( 'Padding right', 'super-duper' );
177
+	} elseif ($type == 'pr') {
178
+		$defaults['title'] = __('Padding right', 'super-duper');
179 179
 		$defaults['icon']  = 'box-right';
180 180
 		$defaults['row']   = array(
181 181
 			'key' => 'wrapper-padding',
182 182
 		);
183
-	} elseif ( $type == 'pb' ) {
184
-		$defaults['title'] = __( 'Padding bottom', 'super-duper' );
183
+	} elseif ($type == 'pb') {
184
+		$defaults['title'] = __('Padding bottom', 'super-duper');
185 185
 		$defaults['icon']  = 'box-bottom';
186 186
 		$defaults['row']   = array(
187 187
 			'key' => 'wrapper-padding',
188 188
 		);
189
-	} elseif ( $type == 'pl' ) {
190
-		$defaults['title'] = __( 'Padding left', 'super-duper' );
189
+	} elseif ($type == 'pl') {
190
+		$defaults['title'] = __('Padding left', 'super-duper');
191 191
 		$defaults['icon']  = 'box-left';
192 192
 		$defaults['row']   = array(
193 193
 			'key'   => 'wrapper-padding',
@@ -196,7 +196,7 @@  discard block
 block discarded – undo
196 196
 		);
197 197
 	}
198 198
 
199
-	$input = wp_parse_args( $overwrite, $defaults );
199
+	$input = wp_parse_args($overwrite, $defaults);
200 200
 
201 201
 	return $input;
202 202
 }
@@ -209,23 +209,23 @@  discard block
 block discarded – undo
209 209
  *
210 210
  * @return array
211 211
  */
212
-function sd_get_border_input( $type = 'border', $overwrite = array() ) {
212
+function sd_get_border_input($type = 'border', $overwrite = array()) {
213 213
 	global $aui_bs5;
214 214
 
215 215
 	$defaults = array(
216 216
 		'type'     => 'select',
217
-		'title'    => __( 'Border', 'super-duper' ),
217
+		'title'    => __('Border', 'super-duper'),
218 218
 		'options'  => array(),
219 219
 		'default'  => '',
220 220
 		'desc_tip' => true,
221
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
221
+		'group'    => __('Wrapper Styles', 'super-duper'),
222 222
 	);
223 223
 
224 224
 	// title
225
-	if ( 'rounded' === $type ) {
226
-		$defaults['title']           = __( 'Border radius type', 'super-duper' );
225
+	if ('rounded' === $type) {
226
+		$defaults['title']           = __('Border radius type', 'super-duper');
227 227
 		$defaults['options']         = array(
228
-			''               => __( 'Default', 'super-duper' ),
228
+			''               => __('Default', 'super-duper'),
229 229
 			'rounded'        => 'rounded',
230 230
 			'rounded-top'    => 'rounded-top',
231 231
 			'rounded-right'  => 'rounded-right',
@@ -233,12 +233,12 @@  discard block
 block discarded – undo
233 233
 			'rounded-left'   => 'rounded-left',
234 234
 		);
235 235
 		$defaults['element_require'] = '[%border%]';
236
-	} elseif ( 'rounded_size' === $type ) {
237
-		$defaults['title'] = __( 'Border radius size', 'super-duper' );
236
+	} elseif ('rounded_size' === $type) {
237
+		$defaults['title'] = __('Border radius size', 'super-duper');
238 238
 
239
-		if ( $aui_bs5 ) {
239
+		if ($aui_bs5) {
240 240
 			$defaults['options'] = array(
241
-				''       => __( 'Default', 'super-duper' ),
241
+				''       => __('Default', 'super-duper'),
242 242
 				'0'      => '0',
243 243
 				'1'      => '1',
244 244
 				'2'      => '2',
@@ -249,56 +249,56 @@  discard block
 block discarded – undo
249 249
 			);
250 250
 		} else {
251 251
 			$defaults['options'] = array(
252
-				''   => __( 'Default', 'super-duper' ),
253
-				'sm' => __( 'Small', 'super-duper' ),
254
-				'lg' => __( 'Large', 'super-duper' ),
252
+				''   => __('Default', 'super-duper'),
253
+				'sm' => __('Small', 'super-duper'),
254
+				'lg' => __('Large', 'super-duper'),
255 255
 			);
256 256
 		}
257 257
 		$defaults['element_require'] = '[%border%]';
258
-	} elseif ( 'width' === $type ) { // BS%
259
-		$defaults['title']           = __( 'Border width', 'super-duper' );
258
+	} elseif ('width' === $type) { // BS%
259
+		$defaults['title']           = __('Border width', 'super-duper');
260 260
 		$defaults['options']         = array(
261
-			''         => __( 'Default', 'super-duper' ),
261
+			''         => __('Default', 'super-duper'),
262 262
 			'border-2' => '2',
263 263
 			'border-3' => '3',
264 264
 			'border-4' => '4',
265 265
 			'border-5' => '5',
266 266
 		);
267 267
 		$defaults['element_require'] = $aui_bs5 ? '[%border%]' : '1==2';
268
-	} elseif ( 'opacity' === $type ) { // BS%
269
-		$defaults['title']           = __( 'Border opacity', 'super-duper' );
268
+	} elseif ('opacity' === $type) { // BS%
269
+		$defaults['title']           = __('Border opacity', 'super-duper');
270 270
 		$defaults['options']         = array(
271
-			''                  => __( 'Default', 'super-duper' ),
271
+			''                  => __('Default', 'super-duper'),
272 272
 			'border-opacity-75' => '75%',
273 273
 			'border-opacity-50' => '50%',
274 274
 			'border-opacity-25' => '25%',
275 275
 			'border-opacity-10' => '10%',
276 276
 		);
277 277
 		$defaults['element_require'] = $aui_bs5 ? '[%border%]' : '1==2';
278
-	} elseif ( 'type' === $type ) {
279
-		$defaults['title']           = __( 'Border show', 'super-duper' );
278
+	} elseif ('type' === $type) {
279
+		$defaults['title']           = __('Border show', 'super-duper');
280 280
 		$defaults['options']         = array(
281
-			'border'          => __( 'Full (set color to show)', 'super-duper' ),
282
-			'border-top'      => __( 'Top', 'super-duper' ),
283
-			'border-bottom'   => __( 'Bottom', 'super-duper' ),
284
-			'border-left'     => __( 'Left', 'super-duper' ),
285
-			'border-right'    => __( 'Right', 'super-duper' ),
286
-			'border-top-0'    => __( '-Top', 'super-duper' ),
287
-			'border-bottom-0' => __( '-Bottom', 'super-duper' ),
288
-			'border-left-0'   => __( '-Left', 'super-duper' ),
289
-			'border-right-0'  => __( '-Right', 'super-duper' ),
281
+			'border'          => __('Full (set color to show)', 'super-duper'),
282
+			'border-top'      => __('Top', 'super-duper'),
283
+			'border-bottom'   => __('Bottom', 'super-duper'),
284
+			'border-left'     => __('Left', 'super-duper'),
285
+			'border-right'    => __('Right', 'super-duper'),
286
+			'border-top-0'    => __('-Top', 'super-duper'),
287
+			'border-bottom-0' => __('-Bottom', 'super-duper'),
288
+			'border-left-0'   => __('-Left', 'super-duper'),
289
+			'border-right-0'  => __('-Right', 'super-duper'),
290 290
 		);
291 291
 		$defaults['element_require'] = '[%border%]';
292 292
 
293 293
 	} else {
294
-		$defaults['title']   = __( 'Border color', 'super-duper' );
294
+		$defaults['title']   = __('Border color', 'super-duper');
295 295
 		$defaults['options'] = array(
296
-			                       ''  => __( 'Default', 'super-duper' ),
297
-			                       '0' => __( 'None', 'super-duper' ),
296
+			                       ''  => __('Default', 'super-duper'),
297
+			                       '0' => __('None', 'super-duper'),
298 298
 		                       ) + sd_aui_colors();
299 299
 	}
300 300
 
301
-	$input = wp_parse_args( $overwrite, $defaults );
301
+	$input = wp_parse_args($overwrite, $defaults);
302 302
 
303 303
 	return $input;
304 304
 }
@@ -311,24 +311,24 @@  discard block
 block discarded – undo
311 311
  *
312 312
  * @return array
313 313
  */
314
-function sd_get_shadow_input( $type = 'shadow', $overwrite = array() ) {
314
+function sd_get_shadow_input($type = 'shadow', $overwrite = array()) {
315 315
 	$options = array(
316
-		''          => __( 'None', 'super-duper' ),
317
-		'shadow-sm' => __( 'Small', 'super-duper' ),
318
-		'shadow'    => __( 'Regular', 'super-duper' ),
319
-		'shadow-lg' => __( 'Large', 'super-duper' ),
316
+		''          => __('None', 'super-duper'),
317
+		'shadow-sm' => __('Small', 'super-duper'),
318
+		'shadow'    => __('Regular', 'super-duper'),
319
+		'shadow-lg' => __('Large', 'super-duper'),
320 320
 	);
321 321
 
322 322
 	$defaults = array(
323 323
 		'type'     => 'select',
324
-		'title'    => __( 'Shadow', 'super-duper' ),
324
+		'title'    => __('Shadow', 'super-duper'),
325 325
 		'options'  => $options,
326 326
 		'default'  => '',
327 327
 		'desc_tip' => true,
328
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
328
+		'group'    => __('Wrapper Styles', 'super-duper'),
329 329
 	);
330 330
 
331
-	$input = wp_parse_args( $overwrite, $defaults );
331
+	$input = wp_parse_args($overwrite, $defaults);
332 332
 
333 333
 	return $input;
334 334
 }
@@ -341,22 +341,22 @@  discard block
 block discarded – undo
341 341
  *
342 342
  * @return array
343 343
  */
344
-function sd_get_background_input( $type = 'bg', $overwrite = array() ) {
344
+function sd_get_background_input($type = 'bg', $overwrite = array()) {
345 345
 	$options = array(
346
-		           ''            => __( 'None', 'super-duper' ),
347
-		           'transparent' => __( 'Transparent', 'super-duper' ),
346
+		           ''            => __('None', 'super-duper'),
347
+		           'transparent' => __('Transparent', 'super-duper'),
348 348
 	           ) + sd_aui_colors();
349 349
 
350 350
 	$defaults = array(
351 351
 		'type'     => 'select',
352
-		'title'    => __( 'Background color', 'super-duper' ),
352
+		'title'    => __('Background color', 'super-duper'),
353 353
 		'options'  => $options,
354 354
 		'default'  => '',
355 355
 		'desc_tip' => true,
356
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
356
+		'group'    => __('Wrapper Styles', 'super-duper'),
357 357
 	);
358 358
 
359
-	$input = wp_parse_args( $overwrite, $defaults );
359
+	$input = wp_parse_args($overwrite, $defaults);
360 360
 
361 361
 	return $input;
362 362
 }
@@ -369,9 +369,9 @@  discard block
 block discarded – undo
369 369
  *
370 370
  * @return array
371 371
  */
372
-function sd_get_opacity_input( $type = 'opacity', $overwrite = array() ) {
372
+function sd_get_opacity_input($type = 'opacity', $overwrite = array()) {
373 373
 	$options = array(
374
-		''            => __( 'Default', 'super-duper' ),
374
+		''            => __('Default', 'super-duper'),
375 375
 		'opacity-10'  => '10%',
376 376
 		'opacity-15'  => '15%',
377 377
 		'opacity-25'  => '25%',
@@ -389,14 +389,14 @@  discard block
 block discarded – undo
389 389
 
390 390
 	$defaults = array(
391 391
 		'type'     => 'select',
392
-		'title'    => __( 'Opacity', 'super-duper' ),
392
+		'title'    => __('Opacity', 'super-duper'),
393 393
 		'options'  => $options,
394 394
 		'default'  => '',
395 395
 		'desc_tip' => true,
396
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
396
+		'group'    => __('Wrapper Styles', 'super-duper'),
397 397
 	);
398 398
 
399
-	$input = wp_parse_args( $overwrite, $defaults );
399
+	$input = wp_parse_args($overwrite, $defaults);
400 400
 
401 401
 	return $input;
402 402
 }
@@ -409,102 +409,102 @@  discard block
 block discarded – undo
409 409
  *
410 410
  * @return array
411 411
  */
412
-function sd_get_background_inputs( $type = 'bg', $overwrite = array(), $overwrite_color = array(), $overwrite_gradient = array(), $overwrite_image = array(), $include_button_colors = false ) {
412
+function sd_get_background_inputs($type = 'bg', $overwrite = array(), $overwrite_color = array(), $overwrite_gradient = array(), $overwrite_image = array(), $include_button_colors = false) {
413 413
 
414
-	$color_options = $include_button_colors ? sd_aui_colors( false, true, true, true ) : sd_aui_colors();
414
+	$color_options = $include_button_colors ? sd_aui_colors(false, true, true, true) : sd_aui_colors();
415 415
 
416 416
 	$options = array(
417
-		           ''            => __( 'None', 'super-duper' ),
418
-		           'transparent' => __( 'Transparent', 'super-duper' ),
417
+		           ''            => __('None', 'super-duper'),
418
+		           'transparent' => __('Transparent', 'super-duper'),
419 419
 	           ) + $color_options;
420 420
 
421
-	if ( false !== $overwrite_color ) {
422
-		$options['custom-color'] = __( 'Custom Color', 'super-duper' );
421
+	if (false !== $overwrite_color) {
422
+		$options['custom-color'] = __('Custom Color', 'super-duper');
423 423
 	}
424 424
 
425
-	if ( false !== $overwrite_gradient ) {
426
-		$options['custom-gradient'] = __( 'Custom Gradient', 'super-duper' );
425
+	if (false !== $overwrite_gradient) {
426
+		$options['custom-gradient'] = __('Custom Gradient', 'super-duper');
427 427
 	}
428 428
 
429 429
 	$defaults = array(
430 430
 		'type'     => 'select',
431
-		'title'    => __( 'Background Color', 'super-duper' ),
431
+		'title'    => __('Background Color', 'super-duper'),
432 432
 		'options'  => $options,
433 433
 		'default'  => '',
434 434
 		'desc_tip' => true,
435
-		'group'    => __( 'Background', 'super-duper' ),
435
+		'group'    => __('Background', 'super-duper'),
436 436
 	);
437 437
 
438
-	if ( $overwrite !== false ) {
439
-		$input[ $type ] = wp_parse_args( $overwrite, $defaults );
438
+	if ($overwrite !== false) {
439
+		$input[$type] = wp_parse_args($overwrite, $defaults);
440 440
 	}
441 441
 
442
-	if ( $overwrite_color !== false ) {
443
-		$input[ $type . '_color' ] = wp_parse_args(
442
+	if ($overwrite_color !== false) {
443
+		$input[$type . '_color'] = wp_parse_args(
444 444
 			$overwrite_color,
445 445
 			array(
446 446
 				'type'            => 'color',
447
-				'title'           => __( 'Custom color', 'super-duper' ),
447
+				'title'           => __('Custom color', 'super-duper'),
448 448
 				'placeholder'     => '',
449 449
 				'default'         => '#0073aa',
450 450
 				'desc_tip'        => true,
451
-				'group'           => __( 'Background', 'super-duper' ),
451
+				'group'           => __('Background', 'super-duper'),
452 452
 				'element_require' => '[%' . $type . '%]=="custom-color"',
453 453
 			)
454 454
 		);
455 455
 	}
456 456
 
457
-	if ( $overwrite_gradient !== false ) {
458
-		$input[ $type . '_gradient' ] = wp_parse_args(
457
+	if ($overwrite_gradient !== false) {
458
+		$input[$type . '_gradient'] = wp_parse_args(
459 459
 			$overwrite_gradient,
460 460
 			array(
461 461
 				'type'            => 'gradient',
462
-				'title'           => __( 'Custom gradient', 'super-duper' ),
462
+				'title'           => __('Custom gradient', 'super-duper'),
463 463
 				'placeholder'     => '',
464 464
 				'default'         => 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)',
465 465
 				'desc_tip'        => true,
466
-				'group'           => __( 'Background', 'super-duper' ),
466
+				'group'           => __('Background', 'super-duper'),
467 467
 				'element_require' => '[%' . $type . '%]=="custom-gradient"',
468 468
 			)
469 469
 		);
470 470
 	}
471 471
 
472
-	if ( $overwrite_image !== false ) {
472
+	if ($overwrite_image !== false) {
473 473
 
474
-		$input[ $type . '_image_fixed' ] = array(
474
+		$input[$type . '_image_fixed'] = array(
475 475
 			'type'            => 'checkbox',
476
-			'title'           => __( 'Fixed background', 'super-duper' ),
476
+			'title'           => __('Fixed background', 'super-duper'),
477 477
 			'default'         => '',
478 478
 			'desc_tip'        => true,
479
-			'group'           => ! empty( $overwrite_image['group'] ) ? $overwrite_image['group'] : __( 'Background', 'super-duper' ),
479
+			'group'           => !empty($overwrite_image['group']) ? $overwrite_image['group'] : __('Background', 'super-duper'),
480 480
 			'element_require' => '( [%' . $type . '%]=="" || [%' . $type . '%]=="custom-color" || [%' . $type . '%]=="custom-gradient" || [%' . $type . '%]=="transparent" )',
481 481
 
482 482
 		);
483 483
 
484
-		$input[ $type . '_image_use_featured' ] = array(
484
+		$input[$type . '_image_use_featured'] = array(
485 485
 			'type'            => 'checkbox',
486
-			'title'           => __( 'Use featured image', 'super-duper' ),
486
+			'title'           => __('Use featured image', 'super-duper'),
487 487
 			'default'         => '',
488 488
 			'desc_tip'        => true,
489
-			'group'           => ! empty( $overwrite_image['group'] ) ? $overwrite_image['group'] : __( 'Background', 'super-duper' ),
489
+			'group'           => !empty($overwrite_image['group']) ? $overwrite_image['group'] : __('Background', 'super-duper'),
490 490
 			'element_require' => '( [%' . $type . '%]=="" || [%' . $type . '%]=="custom-color" || [%' . $type . '%]=="custom-gradient" || [%' . $type . '%]=="transparent" )',
491 491
 
492 492
 		);
493 493
 
494
-		$input[ $type . '_image' ] = wp_parse_args(
494
+		$input[$type . '_image'] = wp_parse_args(
495 495
 			$overwrite_image,
496 496
 			array(
497 497
 				'type'        => 'image',
498
-				'title'       => __( 'Custom image', 'super-duper' ),
498
+				'title'       => __('Custom image', 'super-duper'),
499 499
 				'placeholder' => '',
500 500
 				'default'     => '',
501 501
 				'desc_tip'    => true,
502
-				'group'       => __( 'Background', 'super-duper' ),
502
+				'group'       => __('Background', 'super-duper'),
503 503
 				//          'element_require' => ' ![%' . $type . '_image_use_featured%] '
504 504
 			)
505 505
 		);
506 506
 
507
-		$input[ $type . '_image_id' ] = wp_parse_args(
507
+		$input[$type . '_image_id'] = wp_parse_args(
508 508
 			$overwrite_image,
509 509
 			array(
510 510
 				'type'        => 'hidden',
@@ -512,18 +512,18 @@  discard block
 block discarded – undo
512 512
 				'title'       => '',
513 513
 				'placeholder' => '',
514 514
 				'default'     => '',
515
-				'group'       => __( 'Background', 'super-duper' ),
515
+				'group'       => __('Background', 'super-duper'),
516 516
 			)
517 517
 		);
518 518
 
519
-		$input[ $type . '_image_xy' ] = wp_parse_args(
519
+		$input[$type . '_image_xy'] = wp_parse_args(
520 520
 			$overwrite_image,
521 521
 			array(
522 522
 				'type'        => 'image_xy',
523 523
 				'title'       => '',
524 524
 				'placeholder' => '',
525 525
 				'default'     => '',
526
-				'group'       => __( 'Background', 'super-duper' ),
526
+				'group'       => __('Background', 'super-duper'),
527 527
 			)
528 528
 		);
529 529
 	}
@@ -539,102 +539,102 @@  discard block
 block discarded – undo
539 539
  *
540 540
  * @return array
541 541
  */
542
-function sd_get_shape_divider_inputs( $type = 'sd', $overwrite = array(), $overwrite_color = array(), $overwrite_gradient = array(), $overwrite_image = array() ) {
542
+function sd_get_shape_divider_inputs($type = 'sd', $overwrite = array(), $overwrite_color = array(), $overwrite_gradient = array(), $overwrite_image = array()) {
543 543
 
544 544
 	$options = array(
545
-		''                      => __( 'None', 'super-duper' ),
546
-		'mountains'             => __( 'Mountains', 'super-duper' ),
547
-		'drops'                 => __( 'Drops', 'super-duper' ),
548
-		'clouds'                => __( 'Clouds', 'super-duper' ),
549
-		'zigzag'                => __( 'Zigzag', 'super-duper' ),
550
-		'pyramids'              => __( 'Pyramids', 'super-duper' ),
551
-		'triangle'              => __( 'Triangle', 'super-duper' ),
552
-		'triangle-asymmetrical' => __( 'Triangle Asymmetrical', 'super-duper' ),
553
-		'tilt'                  => __( 'Tilt', 'super-duper' ),
554
-		'opacity-tilt'          => __( 'Opacity Tilt', 'super-duper' ),
555
-		'opacity-fan'           => __( 'Opacity Fan', 'super-duper' ),
556
-		'curve'                 => __( 'Curve', 'super-duper' ),
557
-		'curve-asymmetrical'    => __( 'Curve Asymmetrical', 'super-duper' ),
558
-		'waves'                 => __( 'Waves', 'super-duper' ),
559
-		'wave-brush'            => __( 'Wave Brush', 'super-duper' ),
560
-		'waves-pattern'         => __( 'Waves Pattern', 'super-duper' ),
561
-		'arrow'                 => __( 'Arrow', 'super-duper' ),
562
-		'split'                 => __( 'Split', 'super-duper' ),
563
-		'book'                  => __( 'Book', 'super-duper' ),
545
+		''                      => __('None', 'super-duper'),
546
+		'mountains'             => __('Mountains', 'super-duper'),
547
+		'drops'                 => __('Drops', 'super-duper'),
548
+		'clouds'                => __('Clouds', 'super-duper'),
549
+		'zigzag'                => __('Zigzag', 'super-duper'),
550
+		'pyramids'              => __('Pyramids', 'super-duper'),
551
+		'triangle'              => __('Triangle', 'super-duper'),
552
+		'triangle-asymmetrical' => __('Triangle Asymmetrical', 'super-duper'),
553
+		'tilt'                  => __('Tilt', 'super-duper'),
554
+		'opacity-tilt'          => __('Opacity Tilt', 'super-duper'),
555
+		'opacity-fan'           => __('Opacity Fan', 'super-duper'),
556
+		'curve'                 => __('Curve', 'super-duper'),
557
+		'curve-asymmetrical'    => __('Curve Asymmetrical', 'super-duper'),
558
+		'waves'                 => __('Waves', 'super-duper'),
559
+		'wave-brush'            => __('Wave Brush', 'super-duper'),
560
+		'waves-pattern'         => __('Waves Pattern', 'super-duper'),
561
+		'arrow'                 => __('Arrow', 'super-duper'),
562
+		'split'                 => __('Split', 'super-duper'),
563
+		'book'                  => __('Book', 'super-duper'),
564 564
 	);
565 565
 
566 566
 	$defaults = array(
567 567
 		'type'     => 'select',
568
-		'title'    => __( 'Type', 'super-duper' ),
568
+		'title'    => __('Type', 'super-duper'),
569 569
 		'options'  => $options,
570 570
 		'default'  => '',
571 571
 		'desc_tip' => true,
572
-		'group'    => __( 'Shape Divider', 'super-duper' ),
572
+		'group'    => __('Shape Divider', 'super-duper'),
573 573
 	);
574 574
 
575
-	$input[ $type ] = wp_parse_args( $overwrite, $defaults );
575
+	$input[$type] = wp_parse_args($overwrite, $defaults);
576 576
 
577
-	$input[ $type . '_notice' ] = array(
577
+	$input[$type . '_notice'] = array(
578 578
 		'type'            => 'notice',
579
-		'desc'            => __( 'Parent element must be position `relative`', 'super-duper' ),
579
+		'desc'            => __('Parent element must be position `relative`', 'super-duper'),
580 580
 		'status'          => 'warning',
581
-		'group'           => __( 'Shape Divider', 'super-duper' ),
581
+		'group'           => __('Shape Divider', 'super-duper'),
582 582
 		'element_require' => '[%' . $type . '%]!=""',
583 583
 	);
584 584
 
585
-	$input[ $type . '_position' ] = wp_parse_args(
585
+	$input[$type . '_position'] = wp_parse_args(
586 586
 		$overwrite_color,
587 587
 		array(
588 588
 			'type'            => 'select',
589
-			'title'           => __( 'Position', 'super-duper' ),
589
+			'title'           => __('Position', 'super-duper'),
590 590
 			'options'         => array(
591
-				'top'    => __( 'Top', 'super-duper' ),
592
-				'bottom' => __( 'Bottom', 'super-duper' ),
591
+				'top'    => __('Top', 'super-duper'),
592
+				'bottom' => __('Bottom', 'super-duper'),
593 593
 			),
594 594
 			'desc_tip'        => true,
595
-			'group'           => __( 'Shape Divider', 'super-duper' ),
595
+			'group'           => __('Shape Divider', 'super-duper'),
596 596
 			'element_require' => '[%' . $type . '%]!=""',
597 597
 		)
598 598
 	);
599 599
 
600 600
 	$options = array(
601
-		           ''            => __( 'None', 'super-duper' ),
602
-		           'transparent' => __( 'Transparent', 'super-duper' ),
601
+		           ''            => __('None', 'super-duper'),
602
+		           'transparent' => __('Transparent', 'super-duper'),
603 603
 	           ) + sd_aui_colors()
604 604
 	           + array(
605
-		           'custom-color' => __( 'Custom Color', 'super-duper' ),
605
+		           'custom-color' => __('Custom Color', 'super-duper'),
606 606
 	           );
607 607
 
608
-	$input[ $type . '_color' ] = wp_parse_args(
608
+	$input[$type . '_color'] = wp_parse_args(
609 609
 		$overwrite_color,
610 610
 		array(
611 611
 			'type'            => 'select',
612
-			'title'           => __( 'Color', 'super-duper' ),
612
+			'title'           => __('Color', 'super-duper'),
613 613
 			'options'         => $options,
614 614
 			'desc_tip'        => true,
615
-			'group'           => __( 'Shape Divider', 'super-duper' ),
615
+			'group'           => __('Shape Divider', 'super-duper'),
616 616
 			'element_require' => '[%' . $type . '%]!=""',
617 617
 		)
618 618
 	);
619 619
 
620
-	$input[ $type . '_custom_color' ] = wp_parse_args(
620
+	$input[$type . '_custom_color'] = wp_parse_args(
621 621
 		$overwrite_color,
622 622
 		array(
623 623
 			'type'            => 'color',
624
-			'title'           => __( 'Custom color', 'super-duper' ),
624
+			'title'           => __('Custom color', 'super-duper'),
625 625
 			'placeholder'     => '',
626 626
 			'default'         => '#0073aa',
627 627
 			'desc_tip'        => true,
628
-			'group'           => __( 'Shape Divider', 'super-duper' ),
628
+			'group'           => __('Shape Divider', 'super-duper'),
629 629
 			'element_require' => '[%' . $type . '_color%]=="custom-color" && [%' . $type . '%]!=""',
630 630
 		)
631 631
 	);
632 632
 
633
-	$input[ $type . '_width' ] = wp_parse_args(
633
+	$input[$type . '_width'] = wp_parse_args(
634 634
 		$overwrite_gradient,
635 635
 		array(
636 636
 			'type'              => 'range',
637
-			'title'             => __( 'Width', 'super-duper' ),
637
+			'title'             => __('Width', 'super-duper'),
638 638
 			'placeholder'       => '',
639 639
 			'default'           => '200',
640 640
 			'desc_tip'          => true,
@@ -642,69 +642,69 @@  discard block
 block discarded – undo
642 642
 				'min' => 100,
643 643
 				'max' => 300,
644 644
 			),
645
-			'group'             => __( 'Shape Divider', 'super-duper' ),
645
+			'group'             => __('Shape Divider', 'super-duper'),
646 646
 			'element_require'   => '[%' . $type . '%]!=""',
647 647
 		)
648 648
 	);
649 649
 
650
-	$input[ $type . '_height' ] = array(
650
+	$input[$type . '_height'] = array(
651 651
 		'type'              => 'range',
652
-		'title'             => __( 'Height', 'super-duper' ),
652
+		'title'             => __('Height', 'super-duper'),
653 653
 		'default'           => '100',
654 654
 		'desc_tip'          => true,
655 655
 		'custom_attributes' => array(
656 656
 			'min' => 0,
657 657
 			'max' => 500,
658 658
 		),
659
-		'group'             => __( 'Shape Divider', 'super-duper' ),
659
+		'group'             => __('Shape Divider', 'super-duper'),
660 660
 		'element_require'   => '[%' . $type . '%]!=""',
661 661
 	);
662 662
 
663 663
 	$requires = array(
664
-		'mountains'             => array( 'flip' ),
665
-		'drops'                 => array( 'flip', 'invert' ),
666
-		'clouds'                => array( 'flip', 'invert' ),
664
+		'mountains'             => array('flip'),
665
+		'drops'                 => array('flip', 'invert'),
666
+		'clouds'                => array('flip', 'invert'),
667 667
 		'zigzag'                => array(),
668
-		'pyramids'              => array( 'flip', 'invert' ),
669
-		'triangle'              => array( 'invert' ),
670
-		'triangle-asymmetrical' => array( 'flip', 'invert' ),
671
-		'tilt'                  => array( 'flip' ),
672
-		'opacity-tilt'          => array( 'flip' ),
668
+		'pyramids'              => array('flip', 'invert'),
669
+		'triangle'              => array('invert'),
670
+		'triangle-asymmetrical' => array('flip', 'invert'),
671
+		'tilt'                  => array('flip'),
672
+		'opacity-tilt'          => array('flip'),
673 673
 		'opacity-fan'           => array(),
674
-		'curve'                 => array( 'invert' ),
675
-		'curve-asymmetrical'    => array( 'flip', 'invert' ),
676
-		'waves'                 => array( 'flip', 'invert' ),
677
-		'wave-brush'            => array( 'flip' ),
678
-		'waves-pattern'         => array( 'flip' ),
679
-		'arrow'                 => array( 'invert' ),
680
-		'split'                 => array( 'invert' ),
681
-		'book'                  => array( 'invert' ),
674
+		'curve'                 => array('invert'),
675
+		'curve-asymmetrical'    => array('flip', 'invert'),
676
+		'waves'                 => array('flip', 'invert'),
677
+		'wave-brush'            => array('flip'),
678
+		'waves-pattern'         => array('flip'),
679
+		'arrow'                 => array('invert'),
680
+		'split'                 => array('invert'),
681
+		'book'                  => array('invert'),
682 682
 	);
683 683
 
684
-	$input[ $type . '_flip' ] = array(
684
+	$input[$type . '_flip'] = array(
685 685
 		'type'            => 'checkbox',
686
-		'title'           => __( 'Flip', 'super-duper' ),
686
+		'title'           => __('Flip', 'super-duper'),
687 687
 		'default'         => '',
688 688
 		'desc_tip'        => true,
689
-		'group'           => __( 'Shape Divider', 'super-duper' ),
690
-		'element_require' => sd_get_element_require_string( $requires, 'flip', 'sd' ),
689
+		'group'           => __('Shape Divider', 'super-duper'),
690
+		'element_require' => sd_get_element_require_string($requires, 'flip', 'sd'),
691 691
 	);
692 692
 
693
-	$input[ $type . '_invert' ] = array(
693
+	$input[$type . '_invert'] = array(
694 694
 		'type'            => 'checkbox',
695
-		'title'           => __( 'Invert', 'super-duper' ),
695
+		'title'           => __('Invert', 'super-duper'),
696 696
 		'default'         => '',
697 697
 		'desc_tip'        => true,
698
-		'group'           => __( 'Shape Divider', 'super-duper' ),
699
-		'element_require' => sd_get_element_require_string( $requires, 'invert', 'sd' ),
698
+		'group'           => __('Shape Divider', 'super-duper'),
699
+		'element_require' => sd_get_element_require_string($requires, 'invert', 'sd'),
700 700
 	);
701 701
 
702
-	$input[ $type . '_btf' ] = array(
702
+	$input[$type . '_btf'] = array(
703 703
 		'type'            => 'checkbox',
704
-		'title'           => __( 'Bring to front', 'super-duper' ),
704
+		'title'           => __('Bring to front', 'super-duper'),
705 705
 		'default'         => '',
706 706
 		'desc_tip'        => true,
707
-		'group'           => __( 'Shape Divider', 'super-duper' ),
707
+		'group'           => __('Shape Divider', 'super-duper'),
708 708
 		'element_require' => '[%' . $type . '%]!=""',
709 709
 
710 710
 	);
@@ -721,19 +721,19 @@  discard block
 block discarded – undo
721 721
  *
722 722
  * @return string
723 723
  */
724
-function sd_get_element_require_string( $args, $key, $type ) {
724
+function sd_get_element_require_string($args, $key, $type) {
725 725
 	$output   = '';
726 726
 	$requires = array();
727 727
 
728
-	if ( ! empty( $args ) ) {
729
-		foreach ( $args as $t => $k ) {
730
-			if ( in_array( $key, $k ) ) {
728
+	if (!empty($args)) {
729
+		foreach ($args as $t => $k) {
730
+			if (in_array($key, $k)) {
731 731
 				$requires[] = '[%' . $type . '%]=="' . $t . '"';
732 732
 			}
733 733
 		}
734 734
 
735
-		if ( ! empty( $requires ) ) {
736
-			$output = '(' . implode( ' || ', $requires ) . ')';
735
+		if (!empty($requires)) {
736
+			$output = '(' . implode(' || ', $requires) . ')';
737 737
 		}
738 738
 	}
739 739
 
@@ -748,39 +748,39 @@  discard block
 block discarded – undo
748 748
  *
749 749
  * @return array
750 750
  */
751
-function sd_get_text_color_input( $type = 'text_color', $overwrite = array(), $has_custom = false ) {
751
+function sd_get_text_color_input($type = 'text_color', $overwrite = array(), $has_custom = false) {
752 752
 	$options = array(
753
-		           '' => __( 'None', 'super-duper' ),
753
+		           '' => __('None', 'super-duper'),
754 754
 	           ) + sd_aui_colors();
755 755
 
756
-	if ( $has_custom ) {
757
-		$options['custom'] = __( 'Custom color', 'super-duper' );
756
+	if ($has_custom) {
757
+		$options['custom'] = __('Custom color', 'super-duper');
758 758
 	}
759 759
 
760 760
 	$defaults = array(
761 761
 		'type'     => 'select',
762
-		'title'    => __( 'Text color', 'super-duper' ),
762
+		'title'    => __('Text color', 'super-duper'),
763 763
 		'options'  => $options,
764 764
 		'default'  => '',
765 765
 		'desc_tip' => true,
766
-		'group'    => __( 'Typography', 'super-duper' ),
766
+		'group'    => __('Typography', 'super-duper'),
767 767
 	);
768 768
 
769
-	$input = wp_parse_args( $overwrite, $defaults );
769
+	$input = wp_parse_args($overwrite, $defaults);
770 770
 
771 771
 	return $input;
772 772
 }
773 773
 
774
-function sd_get_text_color_input_group( $type = 'text_color', $overwrite = array(), $overwrite_custom = array() ) {
774
+function sd_get_text_color_input_group($type = 'text_color', $overwrite = array(), $overwrite_custom = array()) {
775 775
 	$inputs = array();
776 776
 
777
-	if ( $overwrite !== false ) {
778
-		$inputs[ $type ] = sd_get_text_color_input( $type, $overwrite, true );
777
+	if ($overwrite !== false) {
778
+		$inputs[$type] = sd_get_text_color_input($type, $overwrite, true);
779 779
 	}
780 780
 
781
-	if ( $overwrite_custom !== false ) {
781
+	if ($overwrite_custom !== false) {
782 782
 		$custom            = $type . '_custom';
783
-		$inputs[ $custom ] = sd_get_custom_color_input( $custom, $overwrite_custom, $type );
783
+		$inputs[$custom] = sd_get_custom_color_input($custom, $overwrite_custom, $type);
784 784
 	}
785 785
 
786 786
 	return $inputs;
@@ -794,22 +794,22 @@  discard block
 block discarded – undo
794 794
  *
795 795
  * @return array
796 796
  */
797
-function sd_get_custom_color_input( $type = 'color_custom', $overwrite = array(), $parent_type = '' ) {
797
+function sd_get_custom_color_input($type = 'color_custom', $overwrite = array(), $parent_type = '') {
798 798
 
799 799
 	$defaults = array(
800 800
 		'type'        => 'color',
801
-		'title'       => __( 'Custom color', 'super-duper' ),
801
+		'title'       => __('Custom color', 'super-duper'),
802 802
 		'default'     => '',
803 803
 		'placeholder' => '',
804 804
 		'desc_tip'    => true,
805
-		'group'       => __( 'Typography', 'super-duper' ),
805
+		'group'       => __('Typography', 'super-duper'),
806 806
 	);
807 807
 
808
-	if ( $parent_type ) {
808
+	if ($parent_type) {
809 809
 		$defaults['element_require'] = '[%' . $parent_type . '%]=="custom"';
810 810
 	}
811 811
 
812
-	$input = wp_parse_args( $overwrite, $defaults );
812
+	$input = wp_parse_args($overwrite, $defaults);
813 813
 
814 814
 	return $input;
815 815
 }
@@ -822,19 +822,19 @@  discard block
 block discarded – undo
822 822
  *
823 823
  * @return array
824 824
  */
825
-function sd_get_col_input( $type = 'col', $overwrite = array() ) {
825
+function sd_get_col_input($type = 'col', $overwrite = array()) {
826 826
 
827 827
 	$device_size = '';
828
-	if ( ! empty( $overwrite['device_type'] ) ) {
829
-		if ( $overwrite['device_type'] == 'Tablet' ) {
828
+	if (!empty($overwrite['device_type'])) {
829
+		if ($overwrite['device_type'] == 'Tablet') {
830 830
 			$device_size = '-md';
831
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
831
+		} elseif ($overwrite['device_type'] == 'Desktop') {
832 832
 			$device_size = '-lg';
833 833
 		}
834 834
 	}
835 835
 	$options = array(
836
-		''     => __( 'Default', 'super-duper' ),
837
-		'auto' => __( 'auto', 'super-duper' ),
836
+		''     => __('Default', 'super-duper'),
837
+		'auto' => __('auto', 'super-duper'),
838 838
 		'1'    => '1/12',
839 839
 		'2'    => '2/12',
840 840
 		'3'    => '3/12',
@@ -851,15 +851,15 @@  discard block
 block discarded – undo
851 851
 
852 852
 	$defaults = array(
853 853
 		'type'            => 'select',
854
-		'title'           => __( 'Column width', 'super-duper' ),
854
+		'title'           => __('Column width', 'super-duper'),
855 855
 		'options'         => $options,
856 856
 		'default'         => '',
857 857
 		'desc_tip'        => true,
858
-		'group'           => __( 'Container', 'super-duper' ),
858
+		'group'           => __('Container', 'super-duper'),
859 859
 		'element_require' => '[%container%]=="col"',
860 860
 	);
861 861
 
862
-	$input = wp_parse_args( $overwrite, $defaults );
862
+	$input = wp_parse_args($overwrite, $defaults);
863 863
 
864 864
 	return $input;
865 865
 }
@@ -872,18 +872,18 @@  discard block
 block discarded – undo
872 872
  *
873 873
  * @return array
874 874
  */
875
-function sd_get_row_cols_input( $type = 'row_cols', $overwrite = array() ) {
875
+function sd_get_row_cols_input($type = 'row_cols', $overwrite = array()) {
876 876
 
877 877
 	$device_size = '';
878
-	if ( ! empty( $overwrite['device_type'] ) ) {
879
-		if ( $overwrite['device_type'] == 'Tablet' ) {
878
+	if (!empty($overwrite['device_type'])) {
879
+		if ($overwrite['device_type'] == 'Tablet') {
880 880
 			$device_size = '-md';
881
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
881
+		} elseif ($overwrite['device_type'] == 'Desktop') {
882 882
 			$device_size = '-lg';
883 883
 		}
884 884
 	}
885 885
 	$options = array(
886
-		''  => __( 'auto', 'super-duper' ),
886
+		''  => __('auto', 'super-duper'),
887 887
 		'1' => '1',
888 888
 		'2' => '2',
889 889
 		'3' => '3',
@@ -894,15 +894,15 @@  discard block
 block discarded – undo
894 894
 
895 895
 	$defaults = array(
896 896
 		'type'            => 'select',
897
-		'title'           => __( 'Row columns', 'super-duper' ),
897
+		'title'           => __('Row columns', 'super-duper'),
898 898
 		'options'         => $options,
899 899
 		'default'         => '',
900 900
 		'desc_tip'        => true,
901
-		'group'           => __( 'Container', 'super-duper' ),
901
+		'group'           => __('Container', 'super-duper'),
902 902
 		'element_require' => '[%container%]=="row"',
903 903
 	);
904 904
 
905
-	$input = wp_parse_args( $overwrite, $defaults );
905
+	$input = wp_parse_args($overwrite, $defaults);
906 906
 
907 907
 	return $input;
908 908
 }
@@ -915,33 +915,33 @@  discard block
 block discarded – undo
915 915
  *
916 916
  * @return array
917 917
  */
918
-function sd_get_text_align_input( $type = 'text_align', $overwrite = array() ) {
918
+function sd_get_text_align_input($type = 'text_align', $overwrite = array()) {
919 919
 
920 920
 	$device_size = '';
921
-	if ( ! empty( $overwrite['device_type'] ) ) {
922
-		if ( $overwrite['device_type'] == 'Tablet' ) {
921
+	if (!empty($overwrite['device_type'])) {
922
+		if ($overwrite['device_type'] == 'Tablet') {
923 923
 			$device_size = '-md';
924
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
924
+		} elseif ($overwrite['device_type'] == 'Desktop') {
925 925
 			$device_size = '-lg';
926 926
 		}
927 927
 	}
928 928
 	$options = array(
929
-		''                                => __( 'Default', 'super-duper' ),
930
-		'text' . $device_size . '-left'   => __( 'Left', 'super-duper' ),
931
-		'text' . $device_size . '-right'  => __( 'Right', 'super-duper' ),
932
-		'text' . $device_size . '-center' => __( 'Center', 'super-duper' ),
929
+		''                                => __('Default', 'super-duper'),
930
+		'text' . $device_size . '-left'   => __('Left', 'super-duper'),
931
+		'text' . $device_size . '-right'  => __('Right', 'super-duper'),
932
+		'text' . $device_size . '-center' => __('Center', 'super-duper'),
933 933
 	);
934 934
 
935 935
 	$defaults = array(
936 936
 		'type'     => 'select',
937
-		'title'    => __( 'Text align', 'super-duper' ),
937
+		'title'    => __('Text align', 'super-duper'),
938 938
 		'options'  => $options,
939 939
 		'default'  => '',
940 940
 		'desc_tip' => true,
941
-		'group'    => __( 'Typography', 'super-duper' ),
941
+		'group'    => __('Typography', 'super-duper'),
942 942
 	);
943 943
 
944
-	$input = wp_parse_args( $overwrite, $defaults );
944
+	$input = wp_parse_args($overwrite, $defaults);
945 945
 
946 946
 	return $input;
947 947
 }
@@ -954,18 +954,18 @@  discard block
 block discarded – undo
954 954
  *
955 955
  * @return array
956 956
  */
957
-function sd_get_display_input( $type = 'display', $overwrite = array() ) {
957
+function sd_get_display_input($type = 'display', $overwrite = array()) {
958 958
 
959 959
 	$device_size = '';
960
-	if ( ! empty( $overwrite['device_type'] ) ) {
961
-		if ( $overwrite['device_type'] == 'Tablet' ) {
960
+	if (!empty($overwrite['device_type'])) {
961
+		if ($overwrite['device_type'] == 'Tablet') {
962 962
 			$device_size = '-md';
963
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
963
+		} elseif ($overwrite['device_type'] == 'Desktop') {
964 964
 			$device_size = '-lg';
965 965
 		}
966 966
 	}
967 967
 	$options = array(
968
-		''                                   => __( 'Default', 'super-duper' ),
968
+		''                                   => __('Default', 'super-duper'),
969 969
 		'd' . $device_size . '-none'         => 'none',
970 970
 		'd' . $device_size . '-inline'       => 'inline',
971 971
 		'd' . $device_size . '-inline-block' => 'inline-block',
@@ -979,14 +979,14 @@  discard block
 block discarded – undo
979 979
 
980 980
 	$defaults = array(
981 981
 		'type'     => 'select',
982
-		'title'    => __( 'Display', 'super-duper' ),
982
+		'title'    => __('Display', 'super-duper'),
983 983
 		'options'  => $options,
984 984
 		'default'  => '',
985 985
 		'desc_tip' => true,
986
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
986
+		'group'    => __('Wrapper Styles', 'super-duper'),
987 987
 	);
988 988
 
989
-	$input = wp_parse_args( $overwrite, $defaults );
989
+	$input = wp_parse_args($overwrite, $defaults);
990 990
 
991 991
 	return $input;
992 992
 }
@@ -999,17 +999,17 @@  discard block
 block discarded – undo
999 999
  *
1000 1000
  * @return array
1001 1001
  */
1002
-function sd_get_text_justify_input( $type = 'text_justify', $overwrite = array() ) {
1002
+function sd_get_text_justify_input($type = 'text_justify', $overwrite = array()) {
1003 1003
 
1004 1004
 	$defaults = array(
1005 1005
 		'type'     => 'checkbox',
1006
-		'title'    => __( 'Text justify', 'super-duper' ),
1006
+		'title'    => __('Text justify', 'super-duper'),
1007 1007
 		'default'  => '',
1008 1008
 		'desc_tip' => true,
1009
-		'group'    => __( 'Typography', 'super-duper' ),
1009
+		'group'    => __('Typography', 'super-duper'),
1010 1010
 	);
1011 1011
 
1012
-	$input = wp_parse_args( $overwrite, $defaults );
1012
+	$input = wp_parse_args($overwrite, $defaults);
1013 1013
 
1014 1014
 	return $input;
1015 1015
 }
@@ -1023,73 +1023,73 @@  discard block
 block discarded – undo
1023 1023
  *
1024 1024
  * @return array
1025 1025
  */
1026
-function sd_aui_colors( $include_branding = false, $include_outlines = false, $outline_button_only_text = false, $include_translucent = false ) {
1026
+function sd_aui_colors($include_branding = false, $include_outlines = false, $outline_button_only_text = false, $include_translucent = false) {
1027 1027
 	$theme_colors = array();
1028 1028
 
1029
-	$theme_colors['primary']   = __( 'Primary', 'super-duper' );
1030
-	$theme_colors['secondary'] = __( 'Secondary', 'super-duper' );
1031
-	$theme_colors['success']   = __( 'Success', 'super-duper' );
1032
-	$theme_colors['danger']    = __( 'Danger', 'super-duper' );
1033
-	$theme_colors['warning']   = __( 'Warning', 'super-duper' );
1034
-	$theme_colors['info']      = __( 'Info', 'super-duper' );
1035
-	$theme_colors['light']     = __( 'Light', 'super-duper' );
1036
-	$theme_colors['dark']      = __( 'Dark', 'super-duper' );
1037
-	$theme_colors['black']     = __( 'Black', 'super-duper' );
1038
-	$theme_colors['white']     = __( 'White', 'super-duper' );
1039
-	$theme_colors['purple']    = __( 'Purple', 'super-duper' );
1040
-	$theme_colors['salmon']    = __( 'Salmon', 'super-duper' );
1041
-	$theme_colors['cyan']      = __( 'Cyan', 'super-duper' );
1042
-	$theme_colors['gray']      = __( 'Gray', 'super-duper' );
1043
-	$theme_colors['muted']     = __( 'Muted', 'super-duper' );
1044
-	$theme_colors['gray-dark'] = __( 'Gray dark', 'super-duper' );
1045
-	$theme_colors['indigo']    = __( 'Indigo', 'super-duper' );
1046
-	$theme_colors['orange']    = __( 'Orange', 'super-duper' );
1047
-
1048
-	if ( $include_outlines ) {
1049
-		$button_only                       = $outline_button_only_text ? ' ' . __( '(button only)', 'super-duper' ) : '';
1050
-		$theme_colors['outline-primary']   = __( 'Primary outline', 'super-duper' ) . $button_only;
1051
-		$theme_colors['outline-secondary'] = __( 'Secondary outline', 'super-duper' ) . $button_only;
1052
-		$theme_colors['outline-success']   = __( 'Success outline', 'super-duper' ) . $button_only;
1053
-		$theme_colors['outline-danger']    = __( 'Danger outline', 'super-duper' ) . $button_only;
1054
-		$theme_colors['outline-warning']   = __( 'Warning outline', 'super-duper' ) . $button_only;
1055
-		$theme_colors['outline-info']      = __( 'Info outline', 'super-duper' ) . $button_only;
1056
-		$theme_colors['outline-light']     = __( 'Light outline', 'super-duper' ) . $button_only;
1057
-		$theme_colors['outline-dark']      = __( 'Dark outline', 'super-duper' ) . $button_only;
1058
-		$theme_colors['outline-white']     = __( 'White outline', 'super-duper' ) . $button_only;
1059
-		$theme_colors['outline-purple']    = __( 'Purple outline', 'super-duper' ) . $button_only;
1060
-		$theme_colors['outline-salmon']    = __( 'Salmon outline', 'super-duper' ) . $button_only;
1061
-		$theme_colors['outline-cyan']      = __( 'Cyan outline', 'super-duper' ) . $button_only;
1062
-		$theme_colors['outline-gray']      = __( 'Gray outline', 'super-duper' ) . $button_only;
1063
-		$theme_colors['outline-gray-dark'] = __( 'Gray dark outline', 'super-duper' ) . $button_only;
1064
-		$theme_colors['outline-indigo']    = __( 'Indigo outline', 'super-duper' ) . $button_only;
1065
-		$theme_colors['outline-orange']    = __( 'Orange outline', 'super-duper' ) . $button_only;
1066
-	}
1067
-
1068
-	if ( $include_branding ) {
1029
+	$theme_colors['primary']   = __('Primary', 'super-duper');
1030
+	$theme_colors['secondary'] = __('Secondary', 'super-duper');
1031
+	$theme_colors['success']   = __('Success', 'super-duper');
1032
+	$theme_colors['danger']    = __('Danger', 'super-duper');
1033
+	$theme_colors['warning']   = __('Warning', 'super-duper');
1034
+	$theme_colors['info']      = __('Info', 'super-duper');
1035
+	$theme_colors['light']     = __('Light', 'super-duper');
1036
+	$theme_colors['dark']      = __('Dark', 'super-duper');
1037
+	$theme_colors['black']     = __('Black', 'super-duper');
1038
+	$theme_colors['white']     = __('White', 'super-duper');
1039
+	$theme_colors['purple']    = __('Purple', 'super-duper');
1040
+	$theme_colors['salmon']    = __('Salmon', 'super-duper');
1041
+	$theme_colors['cyan']      = __('Cyan', 'super-duper');
1042
+	$theme_colors['gray']      = __('Gray', 'super-duper');
1043
+	$theme_colors['muted']     = __('Muted', 'super-duper');
1044
+	$theme_colors['gray-dark'] = __('Gray dark', 'super-duper');
1045
+	$theme_colors['indigo']    = __('Indigo', 'super-duper');
1046
+	$theme_colors['orange']    = __('Orange', 'super-duper');
1047
+
1048
+	if ($include_outlines) {
1049
+		$button_only                       = $outline_button_only_text ? ' ' . __('(button only)', 'super-duper') : '';
1050
+		$theme_colors['outline-primary']   = __('Primary outline', 'super-duper') . $button_only;
1051
+		$theme_colors['outline-secondary'] = __('Secondary outline', 'super-duper') . $button_only;
1052
+		$theme_colors['outline-success']   = __('Success outline', 'super-duper') . $button_only;
1053
+		$theme_colors['outline-danger']    = __('Danger outline', 'super-duper') . $button_only;
1054
+		$theme_colors['outline-warning']   = __('Warning outline', 'super-duper') . $button_only;
1055
+		$theme_colors['outline-info']      = __('Info outline', 'super-duper') . $button_only;
1056
+		$theme_colors['outline-light']     = __('Light outline', 'super-duper') . $button_only;
1057
+		$theme_colors['outline-dark']      = __('Dark outline', 'super-duper') . $button_only;
1058
+		$theme_colors['outline-white']     = __('White outline', 'super-duper') . $button_only;
1059
+		$theme_colors['outline-purple']    = __('Purple outline', 'super-duper') . $button_only;
1060
+		$theme_colors['outline-salmon']    = __('Salmon outline', 'super-duper') . $button_only;
1061
+		$theme_colors['outline-cyan']      = __('Cyan outline', 'super-duper') . $button_only;
1062
+		$theme_colors['outline-gray']      = __('Gray outline', 'super-duper') . $button_only;
1063
+		$theme_colors['outline-gray-dark'] = __('Gray dark outline', 'super-duper') . $button_only;
1064
+		$theme_colors['outline-indigo']    = __('Indigo outline', 'super-duper') . $button_only;
1065
+		$theme_colors['outline-orange']    = __('Orange outline', 'super-duper') . $button_only;
1066
+	}
1067
+
1068
+	if ($include_branding) {
1069 1069
 		$theme_colors = $theme_colors + sd_aui_branding_colors();
1070 1070
 	}
1071 1071
 
1072
-	if ( $include_translucent ) {
1073
-		$button_only                           = $outline_button_only_text ? ' ' . __( '(button only)', 'super-duper' ) : '';
1074
-		$theme_colors['translucent-primary']   = __( 'Primary translucent', 'super-duper' ) . $button_only;
1075
-		$theme_colors['translucent-secondary'] = __( 'Secondary translucent', 'super-duper' ) . $button_only;
1076
-		$theme_colors['translucent-success']   = __( 'Success translucent', 'super-duper' ) . $button_only;
1077
-		$theme_colors['translucent-danger']    = __( 'Danger translucent', 'super-duper' ) . $button_only;
1078
-		$theme_colors['translucent-warning']   = __( 'Warning translucent', 'super-duper' ) . $button_only;
1079
-		$theme_colors['translucent-info']      = __( 'Info translucent', 'super-duper' ) . $button_only;
1080
-		$theme_colors['translucent-light']     = __( 'Light translucent', 'super-duper' ) . $button_only;
1081
-		$theme_colors['translucent-dark']      = __( 'Dark translucent', 'super-duper' ) . $button_only;
1082
-		$theme_colors['translucent-white']     = __( 'White translucent', 'super-duper' ) . $button_only;
1083
-		$theme_colors['translucent-purple']    = __( 'Purple translucent', 'super-duper' ) . $button_only;
1084
-		$theme_colors['translucent-salmon']    = __( 'Salmon translucent', 'super-duper' ) . $button_only;
1085
-		$theme_colors['translucent-cyan']      = __( 'Cyan translucent', 'super-duper' ) . $button_only;
1086
-		$theme_colors['translucent-gray']      = __( 'Gray translucent', 'super-duper' ) . $button_only;
1087
-		$theme_colors['translucent-gray-dark'] = __( 'Gray dark translucent', 'super-duper' ) . $button_only;
1088
-		$theme_colors['translucent-indigo']    = __( 'Indigo translucent', 'super-duper' ) . $button_only;
1089
-		$theme_colors['translucent-orange']    = __( 'Orange translucent', 'super-duper' ) . $button_only;
1072
+	if ($include_translucent) {
1073
+		$button_only                           = $outline_button_only_text ? ' ' . __('(button only)', 'super-duper') : '';
1074
+		$theme_colors['translucent-primary']   = __('Primary translucent', 'super-duper') . $button_only;
1075
+		$theme_colors['translucent-secondary'] = __('Secondary translucent', 'super-duper') . $button_only;
1076
+		$theme_colors['translucent-success']   = __('Success translucent', 'super-duper') . $button_only;
1077
+		$theme_colors['translucent-danger']    = __('Danger translucent', 'super-duper') . $button_only;
1078
+		$theme_colors['translucent-warning']   = __('Warning translucent', 'super-duper') . $button_only;
1079
+		$theme_colors['translucent-info']      = __('Info translucent', 'super-duper') . $button_only;
1080
+		$theme_colors['translucent-light']     = __('Light translucent', 'super-duper') . $button_only;
1081
+		$theme_colors['translucent-dark']      = __('Dark translucent', 'super-duper') . $button_only;
1082
+		$theme_colors['translucent-white']     = __('White translucent', 'super-duper') . $button_only;
1083
+		$theme_colors['translucent-purple']    = __('Purple translucent', 'super-duper') . $button_only;
1084
+		$theme_colors['translucent-salmon']    = __('Salmon translucent', 'super-duper') . $button_only;
1085
+		$theme_colors['translucent-cyan']      = __('Cyan translucent', 'super-duper') . $button_only;
1086
+		$theme_colors['translucent-gray']      = __('Gray translucent', 'super-duper') . $button_only;
1087
+		$theme_colors['translucent-gray-dark'] = __('Gray dark translucent', 'super-duper') . $button_only;
1088
+		$theme_colors['translucent-indigo']    = __('Indigo translucent', 'super-duper') . $button_only;
1089
+		$theme_colors['translucent-orange']    = __('Orange translucent', 'super-duper') . $button_only;
1090 1090
 	}
1091 1091
 
1092
-	return apply_filters( 'sd_aui_colors', $theme_colors, $include_outlines, $include_branding );
1092
+	return apply_filters('sd_aui_colors', $theme_colors, $include_outlines, $include_branding);
1093 1093
 }
1094 1094
 
1095 1095
 /**
@@ -1099,17 +1099,17 @@  discard block
 block discarded – undo
1099 1099
  */
1100 1100
 function sd_aui_branding_colors() {
1101 1101
 	return array(
1102
-		'facebook'  => __( 'Facebook', 'super-duper' ),
1103
-		'twitter'   => __( 'Twitter', 'super-duper' ),
1104
-		'instagram' => __( 'Instagram', 'super-duper' ),
1105
-		'linkedin'  => __( 'Linkedin', 'super-duper' ),
1106
-		'flickr'    => __( 'Flickr', 'super-duper' ),
1107
-		'github'    => __( 'GitHub', 'super-duper' ),
1108
-		'youtube'   => __( 'YouTube', 'super-duper' ),
1109
-		'wordpress' => __( 'WordPress', 'super-duper' ),
1110
-		'google'    => __( 'Google', 'super-duper' ),
1111
-		'yahoo'     => __( 'Yahoo', 'super-duper' ),
1112
-		'vkontakte' => __( 'Vkontakte', 'super-duper' ),
1102
+		'facebook'  => __('Facebook', 'super-duper'),
1103
+		'twitter'   => __('Twitter', 'super-duper'),
1104
+		'instagram' => __('Instagram', 'super-duper'),
1105
+		'linkedin'  => __('Linkedin', 'super-duper'),
1106
+		'flickr'    => __('Flickr', 'super-duper'),
1107
+		'github'    => __('GitHub', 'super-duper'),
1108
+		'youtube'   => __('YouTube', 'super-duper'),
1109
+		'wordpress' => __('WordPress', 'super-duper'),
1110
+		'google'    => __('Google', 'super-duper'),
1111
+		'yahoo'     => __('Yahoo', 'super-duper'),
1112
+		'vkontakte' => __('Vkontakte', 'super-duper'),
1113 1113
 	);
1114 1114
 }
1115 1115
 
@@ -1122,10 +1122,10 @@  discard block
 block discarded – undo
1122 1122
  *
1123 1123
  * @return array
1124 1124
  */
1125
-function sd_get_container_class_input( $type = 'container', $overwrite = array() ) {
1125
+function sd_get_container_class_input($type = 'container', $overwrite = array()) {
1126 1126
 
1127 1127
 	$options = array(
1128
-		'container'       => __( 'container (default)', 'super-duper' ),
1128
+		'container'       => __('container (default)', 'super-duper'),
1129 1129
 		'container-sm'    => 'container-sm',
1130 1130
 		'container-md'    => 'container-md',
1131 1131
 		'container-lg'    => 'container-lg',
@@ -1141,19 +1141,19 @@  discard block
 block discarded – undo
1141 1141
 		'card-footer'     => 'card-footer',
1142 1142
 		'list-group'      => 'list-group',
1143 1143
 		'list-group-item' => 'list-group-item',
1144
-		''                => __( 'no container class', 'super-duper' ),
1144
+		''                => __('no container class', 'super-duper'),
1145 1145
 	);
1146 1146
 
1147 1147
 	$defaults = array(
1148 1148
 		'type'     => 'select',
1149
-		'title'    => __( 'Type', 'super-duper' ),
1149
+		'title'    => __('Type', 'super-duper'),
1150 1150
 		'options'  => $options,
1151 1151
 		'default'  => '',
1152 1152
 		'desc_tip' => true,
1153
-		'group'    => __( 'Container', 'super-duper' ),
1153
+		'group'    => __('Container', 'super-duper'),
1154 1154
 	);
1155 1155
 
1156
-	$input = wp_parse_args( $overwrite, $defaults );
1156
+	$input = wp_parse_args($overwrite, $defaults);
1157 1157
 
1158 1158
 	return $input;
1159 1159
 }
@@ -1166,10 +1166,10 @@  discard block
 block discarded – undo
1166 1166
  *
1167 1167
  * @return array
1168 1168
  */
1169
-function sd_get_position_class_input( $type = 'position', $overwrite = array() ) {
1169
+function sd_get_position_class_input($type = 'position', $overwrite = array()) {
1170 1170
 
1171 1171
 	$options = array(
1172
-		''                  => __( 'Default', 'super-duper' ),
1172
+		''                  => __('Default', 'super-duper'),
1173 1173
 		'position-static'   => 'static',
1174 1174
 		'position-relative' => 'relative',
1175 1175
 		'position-absolute' => 'absolute',
@@ -1182,14 +1182,14 @@  discard block
 block discarded – undo
1182 1182
 
1183 1183
 	$defaults = array(
1184 1184
 		'type'     => 'select',
1185
-		'title'    => __( 'Position', 'super-duper' ),
1185
+		'title'    => __('Position', 'super-duper'),
1186 1186
 		'options'  => $options,
1187 1187
 		'default'  => '',
1188 1188
 		'desc_tip' => true,
1189
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
1189
+		'group'    => __('Wrapper Styles', 'super-duper'),
1190 1190
 	);
1191 1191
 
1192
-	$input = wp_parse_args( $overwrite, $defaults );
1192
+	$input = wp_parse_args($overwrite, $defaults);
1193 1193
 
1194 1194
 	return $input;
1195 1195
 }
@@ -1200,10 +1200,10 @@  discard block
 block discarded – undo
1200 1200
  *
1201 1201
  * @return array
1202 1202
  */
1203
-function sd_get_absolute_position_input( $type = 'absolute_position', $overwrite = array() ) {
1203
+function sd_get_absolute_position_input($type = 'absolute_position', $overwrite = array()) {
1204 1204
 
1205 1205
 	$options = array(
1206
-		''              => __( 'Default', 'super-duper' ),
1206
+		''              => __('Default', 'super-duper'),
1207 1207
 		'top-left'      => 'top-left',
1208 1208
 		'top-center'    => 'top-center',
1209 1209
 		'top-right'     => 'top-right',
@@ -1217,15 +1217,15 @@  discard block
 block discarded – undo
1217 1217
 
1218 1218
 	$defaults = array(
1219 1219
 		'type'            => 'select',
1220
-		'title'           => __( 'Absolute Position', 'super-duper' ),
1220
+		'title'           => __('Absolute Position', 'super-duper'),
1221 1221
 		'options'         => $options,
1222 1222
 		'default'         => '',
1223 1223
 		'desc_tip'        => true,
1224
-		'group'           => __( 'Wrapper Styles', 'super-duper' ),
1224
+		'group'           => __('Wrapper Styles', 'super-duper'),
1225 1225
 		'element_require' => '[%position%]=="position-absolute"',
1226 1226
 	);
1227 1227
 
1228
-	$input = wp_parse_args( $overwrite, $defaults );
1228
+	$input = wp_parse_args($overwrite, $defaults);
1229 1229
 
1230 1230
 	return $input;
1231 1231
 }
@@ -1238,30 +1238,30 @@  discard block
 block discarded – undo
1238 1238
  *
1239 1239
  * @return array
1240 1240
  */
1241
-function sd_get_sticky_offset_input( $type = 'top', $overwrite = array() ) {
1241
+function sd_get_sticky_offset_input($type = 'top', $overwrite = array()) {
1242 1242
 
1243 1243
 	$defaults = array(
1244 1244
 		'type'            => 'number',
1245
-		'title'           => __( 'Sticky offset', 'super-duper' ),
1245
+		'title'           => __('Sticky offset', 'super-duper'),
1246 1246
 		//'desc' =>  __( 'Sticky offset', 'super-duper' ),
1247 1247
 		'default'         => '',
1248 1248
 		'desc_tip'        => true,
1249
-		'group'           => __( 'Wrapper Styles', 'super-duper' ),
1249
+		'group'           => __('Wrapper Styles', 'super-duper'),
1250 1250
 		'element_require' => '[%position%]=="sticky" || [%position%]=="sticky-top"',
1251 1251
 	);
1252 1252
 
1253 1253
 	// title
1254
-	if ( $type == 'top' ) {
1255
-		$defaults['title'] = __( 'Top offset', 'super-duper' );
1254
+	if ($type == 'top') {
1255
+		$defaults['title'] = __('Top offset', 'super-duper');
1256 1256
 		$defaults['icon']  = 'box-top';
1257 1257
 		$defaults['row']   = array(
1258
-			'title' => __( 'Sticky offset', 'super-duper' ),
1258
+			'title' => __('Sticky offset', 'super-duper'),
1259 1259
 			'key'   => 'sticky-offset',
1260 1260
 			'open'  => true,
1261 1261
 			'class' => 'text-center',
1262 1262
 		);
1263
-	} elseif ( $type == 'bottom' ) {
1264
-		$defaults['title'] = __( 'Bottom offset', 'super-duper' );
1263
+	} elseif ($type == 'bottom') {
1264
+		$defaults['title'] = __('Bottom offset', 'super-duper');
1265 1265
 		$defaults['icon']  = 'box-bottom';
1266 1266
 		$defaults['row']   = array(
1267 1267
 			'key'   => 'sticky-offset',
@@ -1269,7 +1269,7 @@  discard block
 block discarded – undo
1269 1269
 		);
1270 1270
 	}
1271 1271
 
1272
-	$input = wp_parse_args( $overwrite, $defaults );
1272
+	$input = wp_parse_args($overwrite, $defaults);
1273 1273
 
1274 1274
 	return $input;
1275 1275
 }
@@ -1282,11 +1282,11 @@  discard block
 block discarded – undo
1282 1282
  *
1283 1283
  * @return array
1284 1284
  */
1285
-function sd_get_font_size_input( $type = 'font_size', $overwrite = array(), $has_custom = false ) {
1285
+function sd_get_font_size_input($type = 'font_size', $overwrite = array(), $has_custom = false) {
1286 1286
 	global $aui_bs5;
1287 1287
 
1288
-	$options[] = __( 'Inherit from parent', 'super-duper' );
1289
-	if ( $aui_bs5 ) {
1288
+	$options[] = __('Inherit from parent', 'super-duper');
1289
+	if ($aui_bs5) {
1290 1290
 		// responsive font sizes
1291 1291
 		$options['fs-base'] = 'fs-base (body default)';
1292 1292
 		$options['fs-6']    = 'fs-6';
@@ -1317,25 +1317,25 @@  discard block
 block discarded – undo
1317 1317
 			'display-4' => 'display-4',
1318 1318
 		);
1319 1319
 
1320
-	if ( $aui_bs5 ) {
1320
+	if ($aui_bs5) {
1321 1321
 		$options['display-5'] = 'display-5';
1322 1322
 		$options['display-6'] = 'display-6';
1323 1323
 	}
1324 1324
 
1325
-	if ( $has_custom ) {
1326
-		$options['custom'] = __( 'Custom size', 'super-duper' );
1325
+	if ($has_custom) {
1326
+		$options['custom'] = __('Custom size', 'super-duper');
1327 1327
 	}
1328 1328
 
1329 1329
 	$defaults = array(
1330 1330
 		'type'     => 'select',
1331
-		'title'    => __( 'Font size', 'super-duper' ),
1331
+		'title'    => __('Font size', 'super-duper'),
1332 1332
 		'options'  => $options,
1333 1333
 		'default'  => '',
1334 1334
 		'desc_tip' => true,
1335
-		'group'    => __( 'Typography', 'super-duper' ),
1335
+		'group'    => __('Typography', 'super-duper'),
1336 1336
 	);
1337 1337
 
1338
-	$input = wp_parse_args( $overwrite, $defaults );
1338
+	$input = wp_parse_args($overwrite, $defaults);
1339 1339
 
1340 1340
 	return $input;
1341 1341
 }
@@ -1348,11 +1348,11 @@  discard block
 block discarded – undo
1348 1348
  *
1349 1349
  * @return array
1350 1350
  */
1351
-function sd_get_font_custom_size_input( $type = 'font_size_custom', $overwrite = array(), $parent_type = '' ) {
1351
+function sd_get_font_custom_size_input($type = 'font_size_custom', $overwrite = array(), $parent_type = '') {
1352 1352
 
1353 1353
 	$defaults = array(
1354 1354
 		'type'              => 'number',
1355
-		'title'             => __( 'Font size (rem)', 'super-duper' ),
1355
+		'title'             => __('Font size (rem)', 'super-duper'),
1356 1356
 		'default'           => '',
1357 1357
 		'placeholder'       => '1.25',
1358 1358
 		'custom_attributes' => array(
@@ -1361,14 +1361,14 @@  discard block
 block discarded – undo
1361 1361
 			'max'  => '100',
1362 1362
 		),
1363 1363
 		'desc_tip'          => true,
1364
-		'group'             => __( 'Typography', 'super-duper' ),
1364
+		'group'             => __('Typography', 'super-duper'),
1365 1365
 	);
1366 1366
 
1367
-	if ( $parent_type ) {
1367
+	if ($parent_type) {
1368 1368
 		$defaults['element_require'] = '[%' . $parent_type . '%]=="custom"';
1369 1369
 	}
1370 1370
 
1371
-	$input = wp_parse_args( $overwrite, $defaults );
1371
+	$input = wp_parse_args($overwrite, $defaults);
1372 1372
 
1373 1373
 	return $input;
1374 1374
 }
@@ -1381,11 +1381,11 @@  discard block
 block discarded – undo
1381 1381
  *
1382 1382
  * @return array
1383 1383
  */
1384
-function sd_get_font_line_height_input( $type = 'font_line_height', $overwrite = array() ) {
1384
+function sd_get_font_line_height_input($type = 'font_line_height', $overwrite = array()) {
1385 1385
 
1386 1386
 	$defaults = array(
1387 1387
 		'type'              => 'number',
1388
-		'title'             => __( 'Font Line Height', 'super-duper' ),
1388
+		'title'             => __('Font Line Height', 'super-duper'),
1389 1389
 		'default'           => '',
1390 1390
 		'placeholder'       => '1.75',
1391 1391
 		'custom_attributes' => array(
@@ -1394,10 +1394,10 @@  discard block
 block discarded – undo
1394 1394
 			'max'  => '100',
1395 1395
 		),
1396 1396
 		'desc_tip'          => true,
1397
-		'group'             => __( 'Typography', 'super-duper' ),
1397
+		'group'             => __('Typography', 'super-duper'),
1398 1398
 	);
1399 1399
 
1400
-	$input = wp_parse_args( $overwrite, $defaults );
1400
+	$input = wp_parse_args($overwrite, $defaults);
1401 1401
 
1402 1402
 	return $input;
1403 1403
 }
@@ -1410,17 +1410,17 @@  discard block
 block discarded – undo
1410 1410
  *
1411 1411
  * @return array
1412 1412
  */
1413
-function sd_get_font_size_input_group( $type = 'font_size', $overwrite = array(), $overwrite_custom = array() ) {
1413
+function sd_get_font_size_input_group($type = 'font_size', $overwrite = array(), $overwrite_custom = array()) {
1414 1414
 
1415 1415
 	$inputs = array();
1416 1416
 
1417
-	if ( $overwrite !== false ) {
1418
-		$inputs[ $type ] = sd_get_font_size_input( $type, $overwrite, true );
1417
+	if ($overwrite !== false) {
1418
+		$inputs[$type] = sd_get_font_size_input($type, $overwrite, true);
1419 1419
 	}
1420 1420
 
1421
-	if ( $overwrite_custom !== false ) {
1421
+	if ($overwrite_custom !== false) {
1422 1422
 		$custom            = $type . '_custom';
1423
-		$inputs[ $custom ] = sd_get_font_custom_size_input( $custom, $overwrite_custom, $type );
1423
+		$inputs[$custom] = sd_get_font_custom_size_input($custom, $overwrite_custom, $type);
1424 1424
 	}
1425 1425
 
1426 1426
 	return $inputs;
@@ -1434,10 +1434,10 @@  discard block
 block discarded – undo
1434 1434
  *
1435 1435
  * @return array
1436 1436
  */
1437
-function sd_get_font_weight_input( $type = 'font_weight', $overwrite = array() ) {
1437
+function sd_get_font_weight_input($type = 'font_weight', $overwrite = array()) {
1438 1438
 
1439 1439
 	$options = array(
1440
-		''                                => __( 'Inherit', 'super-duper' ),
1440
+		''                                => __('Inherit', 'super-duper'),
1441 1441
 		'font-weight-bold'                => 'bold',
1442 1442
 		'font-weight-bolder'              => 'bolder',
1443 1443
 		'font-weight-normal'              => 'normal',
@@ -1453,14 +1453,14 @@  discard block
 block discarded – undo
1453 1453
 
1454 1454
 	$defaults = array(
1455 1455
 		'type'     => 'select',
1456
-		'title'    => __( 'Appearance', 'super-duper' ),
1456
+		'title'    => __('Appearance', 'super-duper'),
1457 1457
 		'options'  => $options,
1458 1458
 		'default'  => '',
1459 1459
 		'desc_tip' => true,
1460
-		'group'    => __( 'Typography', 'super-duper' ),
1460
+		'group'    => __('Typography', 'super-duper'),
1461 1461
 	);
1462 1462
 
1463
-	$input = wp_parse_args( $overwrite, $defaults );
1463
+	$input = wp_parse_args($overwrite, $defaults);
1464 1464
 
1465 1465
 	return $input;
1466 1466
 }
@@ -1473,25 +1473,25 @@  discard block
 block discarded – undo
1473 1473
  *
1474 1474
  * @return array
1475 1475
  */
1476
-function sd_get_font_case_input( $type = 'font_weight', $overwrite = array() ) {
1476
+function sd_get_font_case_input($type = 'font_weight', $overwrite = array()) {
1477 1477
 
1478 1478
 	$options = array(
1479
-		''                => __( 'Default', 'super-duper' ),
1480
-		'text-lowercase'  => __( 'lowercase', 'super-duper' ),
1481
-		'text-uppercase'  => __( 'UPPERCASE', 'super-duper' ),
1482
-		'text-capitalize' => __( 'Capitalize', 'super-duper' ),
1479
+		''                => __('Default', 'super-duper'),
1480
+		'text-lowercase'  => __('lowercase', 'super-duper'),
1481
+		'text-uppercase'  => __('UPPERCASE', 'super-duper'),
1482
+		'text-capitalize' => __('Capitalize', 'super-duper'),
1483 1483
 	);
1484 1484
 
1485 1485
 	$defaults = array(
1486 1486
 		'type'     => 'select',
1487
-		'title'    => __( 'Letter case', 'super-duper' ),
1487
+		'title'    => __('Letter case', 'super-duper'),
1488 1488
 		'options'  => $options,
1489 1489
 		'default'  => '',
1490 1490
 		'desc_tip' => true,
1491
-		'group'    => __( 'Typography', 'super-duper' ),
1491
+		'group'    => __('Typography', 'super-duper'),
1492 1492
 	);
1493 1493
 
1494
-	$input = wp_parse_args( $overwrite, $defaults );
1494
+	$input = wp_parse_args($overwrite, $defaults);
1495 1495
 
1496 1496
 	return $input;
1497 1497
 }
@@ -1505,23 +1505,23 @@  discard block
 block discarded – undo
1505 1505
  * A helper function for font size
1506 1506
  *
1507 1507
  */
1508
-function sd_get_font_italic_input( $type = 'font_italic', $overwrite = array() ) {
1508
+function sd_get_font_italic_input($type = 'font_italic', $overwrite = array()) {
1509 1509
 
1510 1510
 	$options = array(
1511
-		''            => __( 'No', 'super-duper' ),
1512
-		'font-italic' => __( 'Yes', 'super-duper' ),
1511
+		''            => __('No', 'super-duper'),
1512
+		'font-italic' => __('Yes', 'super-duper'),
1513 1513
 	);
1514 1514
 
1515 1515
 	$defaults = array(
1516 1516
 		'type'     => 'select',
1517
-		'title'    => __( 'Font italic', 'super-duper' ),
1517
+		'title'    => __('Font italic', 'super-duper'),
1518 1518
 		'options'  => $options,
1519 1519
 		'default'  => '',
1520 1520
 		'desc_tip' => true,
1521
-		'group'    => __( 'Typography', 'super-duper' ),
1521
+		'group'    => __('Typography', 'super-duper'),
1522 1522
 	);
1523 1523
 
1524
-	$input = wp_parse_args( $overwrite, $defaults );
1524
+	$input = wp_parse_args($overwrite, $defaults);
1525 1525
 
1526 1526
 	return $input;
1527 1527
 }
@@ -1534,18 +1534,18 @@  discard block
 block discarded – undo
1534 1534
  *
1535 1535
  * @return array
1536 1536
  */
1537
-function sd_get_anchor_input( $type = 'anchor', $overwrite = array() ) {
1537
+function sd_get_anchor_input($type = 'anchor', $overwrite = array()) {
1538 1538
 
1539 1539
 	$defaults = array(
1540 1540
 		'type'     => 'text',
1541
-		'title'    => __( 'HTML anchor', 'super-duper' ),
1542
-		'desc'     => __( 'Enter a word or two — without spaces — to make a unique web address just for this block, called an “anchor.” Then, you’ll be able to link directly to this section of your page.', 'super-duper' ),
1541
+		'title'    => __('HTML anchor', 'super-duper'),
1542
+		'desc'     => __('Enter a word or two — without spaces — to make a unique web address just for this block, called an “anchor.” Then, you’ll be able to link directly to this section of your page.', 'super-duper'),
1543 1543
 		'default'  => '',
1544 1544
 		'desc_tip' => true,
1545
-		'group'    => __( 'Advanced', 'super-duper' ),
1545
+		'group'    => __('Advanced', 'super-duper'),
1546 1546
 	);
1547 1547
 
1548
-	$input = wp_parse_args( $overwrite, $defaults );
1548
+	$input = wp_parse_args($overwrite, $defaults);
1549 1549
 
1550 1550
 	return $input;
1551 1551
 }
@@ -1558,18 +1558,18 @@  discard block
 block discarded – undo
1558 1558
  *
1559 1559
  * @return array
1560 1560
  */
1561
-function sd_get_class_input( $type = 'css_class', $overwrite = array() ) {
1561
+function sd_get_class_input($type = 'css_class', $overwrite = array()) {
1562 1562
 
1563 1563
 	$defaults = array(
1564 1564
 		'type'     => 'text',
1565
-		'title'    => __( 'Additional CSS class(es)', 'super-duper' ),
1566
-		'desc'     => __( 'Separate multiple classes with spaces.', 'super-duper' ),
1565
+		'title'    => __('Additional CSS class(es)', 'super-duper'),
1566
+		'desc'     => __('Separate multiple classes with spaces.', 'super-duper'),
1567 1567
 		'default'  => '',
1568 1568
 		'desc_tip' => true,
1569
-		'group'    => __( 'Advanced', 'super-duper' ),
1569
+		'group'    => __('Advanced', 'super-duper'),
1570 1570
 	);
1571 1571
 
1572
-	$input = wp_parse_args( $overwrite, $defaults );
1572
+	$input = wp_parse_args($overwrite, $defaults);
1573 1573
 
1574 1574
 	return $input;
1575 1575
 }
@@ -1582,45 +1582,45 @@  discard block
 block discarded – undo
1582 1582
  *
1583 1583
  * @return array
1584 1584
  */
1585
-function sd_get_hover_animations_input( $type = 'hover_animations', $overwrite = array() ) {
1585
+function sd_get_hover_animations_input($type = 'hover_animations', $overwrite = array()) {
1586 1586
 
1587 1587
 	$options = array(
1588
-		''                 => __( 'none', 'super-duper' ),
1589
-		'hover-zoom'       => __( 'Zoom', 'super-duper' ),
1590
-		'hover-shadow'     => __( 'Shadow', 'super-duper' ),
1591
-		'hover-move-up'    => __( 'Move up', 'super-duper' ),
1592
-		'hover-move-down'  => __( 'Move down', 'super-duper' ),
1593
-		'hover-move-left'  => __( 'Move left', 'super-duper' ),
1594
-		'hover-move-right' => __( 'Move right', 'super-duper' ),
1588
+		''                 => __('none', 'super-duper'),
1589
+		'hover-zoom'       => __('Zoom', 'super-duper'),
1590
+		'hover-shadow'     => __('Shadow', 'super-duper'),
1591
+		'hover-move-up'    => __('Move up', 'super-duper'),
1592
+		'hover-move-down'  => __('Move down', 'super-duper'),
1593
+		'hover-move-left'  => __('Move left', 'super-duper'),
1594
+		'hover-move-right' => __('Move right', 'super-duper'),
1595 1595
 	);
1596 1596
 
1597 1597
 	$defaults = array(
1598 1598
 		'type'     => 'select',
1599 1599
 		'multiple' => true,
1600
-		'title'    => __( 'Hover Animations', 'super-duper' ),
1600
+		'title'    => __('Hover Animations', 'super-duper'),
1601 1601
 		'options'  => $options,
1602 1602
 		'default'  => '',
1603 1603
 		'desc_tip' => true,
1604
-		'group'    => __( 'Hover Animations', 'super-duper' ),
1604
+		'group'    => __('Hover Animations', 'super-duper'),
1605 1605
 	);
1606 1606
 
1607
-	$input = wp_parse_args( $overwrite, $defaults );
1607
+	$input = wp_parse_args($overwrite, $defaults);
1608 1608
 
1609 1609
 	return $input;
1610 1610
 }
1611 1611
 
1612 1612
 
1613
-function sd_get_flex_align_items_input( $type = 'align-items', $overwrite = array() ) {
1613
+function sd_get_flex_align_items_input($type = 'align-items', $overwrite = array()) {
1614 1614
 	$device_size = '';
1615
-	if ( ! empty( $overwrite['device_type'] ) ) {
1616
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1615
+	if (!empty($overwrite['device_type'])) {
1616
+		if ($overwrite['device_type'] == 'Tablet') {
1617 1617
 			$device_size = '-md';
1618
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1618
+		} elseif ($overwrite['device_type'] == 'Desktop') {
1619 1619
 			$device_size = '-lg';
1620 1620
 		}
1621 1621
 	}
1622 1622
 	$options = array(
1623
-		''                                         => __( 'Default', 'super-duper' ),
1623
+		''                                         => __('Default', 'super-duper'),
1624 1624
 		'align-items' . $device_size . '-start'    => 'align-items-start',
1625 1625
 		'align-items' . $device_size . '-end'      => 'align-items-end',
1626 1626
 		'align-items' . $device_size . '-center'   => 'align-items-center',
@@ -1630,21 +1630,21 @@  discard block
 block discarded – undo
1630 1630
 
1631 1631
 	$defaults = array(
1632 1632
 		'type'            => 'select',
1633
-		'title'           => __( 'Vertical Align Items', 'super-duper' ),
1633
+		'title'           => __('Vertical Align Items', 'super-duper'),
1634 1634
 		'options'         => $options,
1635 1635
 		'default'         => '',
1636 1636
 		'desc_tip'        => true,
1637
-		'group'           => __( 'Wrapper Styles', 'super-duper' ),
1637
+		'group'           => __('Wrapper Styles', 'super-duper'),
1638 1638
 		'element_require' => ' ( ( [%container%]=="row" ) || ( [%display%]=="d-flex" || [%display_md%]=="d-md-flex" || [%display_lg%]=="d-lg-flex" ) ) ',
1639 1639
 
1640 1640
 	);
1641 1641
 
1642
-	$input = wp_parse_args( $overwrite, $defaults );
1642
+	$input = wp_parse_args($overwrite, $defaults);
1643 1643
 
1644 1644
 	return $input;
1645 1645
 }
1646 1646
 
1647
-function sd_get_flex_align_items_input_group( $type = 'flex_align_items', $overwrite = array() ) {
1647
+function sd_get_flex_align_items_input_group($type = 'flex_align_items', $overwrite = array()) {
1648 1648
 	$inputs = array();
1649 1649
 	$sizes  = array(
1650 1650
 		''    => 'Mobile',
@@ -1652,28 +1652,28 @@  discard block
 block discarded – undo
1652 1652
 		'_lg' => 'Desktop',
1653 1653
 	);
1654 1654
 
1655
-	if ( $overwrite !== false ) {
1655
+	if ($overwrite !== false) {
1656 1656
 
1657
-		foreach ( $sizes as $ds => $dt ) {
1657
+		foreach ($sizes as $ds => $dt) {
1658 1658
 			$overwrite['device_type'] = $dt;
1659
-			$inputs[ $type . $ds ]    = sd_get_flex_align_items_input( $type, $overwrite );
1659
+			$inputs[$type . $ds]    = sd_get_flex_align_items_input($type, $overwrite);
1660 1660
 		}
1661 1661
 	}
1662 1662
 
1663 1663
 	return $inputs;
1664 1664
 }
1665 1665
 
1666
-function sd_get_flex_justify_content_input( $type = 'flex_justify_content', $overwrite = array() ) {
1666
+function sd_get_flex_justify_content_input($type = 'flex_justify_content', $overwrite = array()) {
1667 1667
 	$device_size = '';
1668
-	if ( ! empty( $overwrite['device_type'] ) ) {
1669
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1668
+	if (!empty($overwrite['device_type'])) {
1669
+		if ($overwrite['device_type'] == 'Tablet') {
1670 1670
 			$device_size = '-md';
1671
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1671
+		} elseif ($overwrite['device_type'] == 'Desktop') {
1672 1672
 			$device_size = '-lg';
1673 1673
 		}
1674 1674
 	}
1675 1675
 	$options = array(
1676
-		''                                            => __( 'Default', 'super-duper' ),
1676
+		''                                            => __('Default', 'super-duper'),
1677 1677
 		'justify-content' . $device_size . '-start'   => 'justify-content-start',
1678 1678
 		'justify-content' . $device_size . '-end'     => 'justify-content-end',
1679 1679
 		'justify-content' . $device_size . '-center'  => 'justify-content-center',
@@ -1683,21 +1683,21 @@  discard block
 block discarded – undo
1683 1683
 
1684 1684
 	$defaults = array(
1685 1685
 		'type'            => 'select',
1686
-		'title'           => __( 'Justify content', 'super-duper' ),
1686
+		'title'           => __('Justify content', 'super-duper'),
1687 1687
 		'options'         => $options,
1688 1688
 		'default'         => '',
1689 1689
 		'desc_tip'        => true,
1690
-		'group'           => __( 'Wrapper Styles', 'super-duper' ),
1690
+		'group'           => __('Wrapper Styles', 'super-duper'),
1691 1691
 		'element_require' => '( ( [%container%]=="row" ) || ( [%display%]=="d-flex" || [%display_md%]=="d-md-flex" || [%display_lg%]=="d-lg-flex" ) ) ',
1692 1692
 
1693 1693
 	);
1694 1694
 
1695
-	$input = wp_parse_args( $overwrite, $defaults );
1695
+	$input = wp_parse_args($overwrite, $defaults);
1696 1696
 
1697 1697
 	return $input;
1698 1698
 }
1699 1699
 
1700
-function sd_get_flex_justify_content_input_group( $type = 'flex_justify_content', $overwrite = array() ) {
1700
+function sd_get_flex_justify_content_input_group($type = 'flex_justify_content', $overwrite = array()) {
1701 1701
 	$inputs = array();
1702 1702
 	$sizes  = array(
1703 1703
 		''    => 'Mobile',
@@ -1705,11 +1705,11 @@  discard block
 block discarded – undo
1705 1705
 		'_lg' => 'Desktop',
1706 1706
 	);
1707 1707
 
1708
-	if ( $overwrite !== false ) {
1708
+	if ($overwrite !== false) {
1709 1709
 
1710
-		foreach ( $sizes as $ds => $dt ) {
1710
+		foreach ($sizes as $ds => $dt) {
1711 1711
 			$overwrite['device_type'] = $dt;
1712
-			$inputs[ $type . $ds ]    = sd_get_flex_justify_content_input( $type, $overwrite );
1712
+			$inputs[$type . $ds]    = sd_get_flex_justify_content_input($type, $overwrite);
1713 1713
 		}
1714 1714
 	}
1715 1715
 
@@ -1717,17 +1717,17 @@  discard block
 block discarded – undo
1717 1717
 }
1718 1718
 
1719 1719
 
1720
-function sd_get_flex_align_self_input( $type = 'flex_align_self', $overwrite = array() ) {
1720
+function sd_get_flex_align_self_input($type = 'flex_align_self', $overwrite = array()) {
1721 1721
 	$device_size = '';
1722
-	if ( ! empty( $overwrite['device_type'] ) ) {
1723
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1722
+	if (!empty($overwrite['device_type'])) {
1723
+		if ($overwrite['device_type'] == 'Tablet') {
1724 1724
 			$device_size = '-md';
1725
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1725
+		} elseif ($overwrite['device_type'] == 'Desktop') {
1726 1726
 			$device_size = '-lg';
1727 1727
 		}
1728 1728
 	}
1729 1729
 	$options = array(
1730
-		''                                         => __( 'Default', 'super-duper' ),
1730
+		''                                         => __('Default', 'super-duper'),
1731 1731
 		'align-items' . $device_size . '-start'    => 'align-items-start',
1732 1732
 		'align-items' . $device_size . '-end'      => 'align-items-end',
1733 1733
 		'align-items' . $device_size . '-center'   => 'align-items-center',
@@ -1737,21 +1737,21 @@  discard block
 block discarded – undo
1737 1737
 
1738 1738
 	$defaults = array(
1739 1739
 		'type'            => 'select',
1740
-		'title'           => __( 'Align Self', 'super-duper' ),
1740
+		'title'           => __('Align Self', 'super-duper'),
1741 1741
 		'options'         => $options,
1742 1742
 		'default'         => '',
1743 1743
 		'desc_tip'        => true,
1744
-		'group'           => __( 'Wrapper Styles', 'super-duper' ),
1744
+		'group'           => __('Wrapper Styles', 'super-duper'),
1745 1745
 		'element_require' => ' [%container%]=="col" ',
1746 1746
 
1747 1747
 	);
1748 1748
 
1749
-	$input = wp_parse_args( $overwrite, $defaults );
1749
+	$input = wp_parse_args($overwrite, $defaults);
1750 1750
 
1751 1751
 	return $input;
1752 1752
 }
1753 1753
 
1754
-function sd_get_flex_align_self_input_group( $type = 'flex_align_self', $overwrite = array() ) {
1754
+function sd_get_flex_align_self_input_group($type = 'flex_align_self', $overwrite = array()) {
1755 1755
 	$inputs = array();
1756 1756
 	$sizes  = array(
1757 1757
 		''    => 'Mobile',
@@ -1759,53 +1759,53 @@  discard block
 block discarded – undo
1759 1759
 		'_lg' => 'Desktop',
1760 1760
 	);
1761 1761
 
1762
-	if ( $overwrite !== false ) {
1762
+	if ($overwrite !== false) {
1763 1763
 
1764
-		foreach ( $sizes as $ds => $dt ) {
1764
+		foreach ($sizes as $ds => $dt) {
1765 1765
 			$overwrite['device_type'] = $dt;
1766
-			$inputs[ $type . $ds ]    = sd_get_flex_align_self_input( $type, $overwrite );
1766
+			$inputs[$type . $ds]    = sd_get_flex_align_self_input($type, $overwrite);
1767 1767
 		}
1768 1768
 	}
1769 1769
 
1770 1770
 	return $inputs;
1771 1771
 }
1772 1772
 
1773
-function sd_get_flex_order_input( $type = 'flex_order', $overwrite = array() ) {
1773
+function sd_get_flex_order_input($type = 'flex_order', $overwrite = array()) {
1774 1774
 	$device_size = '';
1775
-	if ( ! empty( $overwrite['device_type'] ) ) {
1776
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1775
+	if (!empty($overwrite['device_type'])) {
1776
+		if ($overwrite['device_type'] == 'Tablet') {
1777 1777
 			$device_size = '-md';
1778
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1778
+		} elseif ($overwrite['device_type'] == 'Desktop') {
1779 1779
 			$device_size = '-lg';
1780 1780
 		}
1781 1781
 	}
1782 1782
 	$options = array(
1783
-		'' => __( 'Default', 'super-duper' ),
1783
+		'' => __('Default', 'super-duper'),
1784 1784
 	);
1785 1785
 
1786 1786
 	$i = 0;
1787
-	while ( $i <= 5 ) {
1788
-		$options[ 'order' . $device_size . '-' . $i ] = $i;
1787
+	while ($i <= 5) {
1788
+		$options['order' . $device_size . '-' . $i] = $i;
1789 1789
 		$i++;
1790 1790
 	}
1791 1791
 
1792 1792
 	$defaults = array(
1793 1793
 		'type'            => 'select',
1794
-		'title'           => __( 'Flex Order', 'super-duper' ),
1794
+		'title'           => __('Flex Order', 'super-duper'),
1795 1795
 		'options'         => $options,
1796 1796
 		'default'         => '',
1797 1797
 		'desc_tip'        => true,
1798
-		'group'           => __( 'Wrapper Styles', 'super-duper' ),
1798
+		'group'           => __('Wrapper Styles', 'super-duper'),
1799 1799
 		'element_require' => ' [%container%]=="col" ',
1800 1800
 
1801 1801
 	);
1802 1802
 
1803
-	$input = wp_parse_args( $overwrite, $defaults );
1803
+	$input = wp_parse_args($overwrite, $defaults);
1804 1804
 
1805 1805
 	return $input;
1806 1806
 }
1807 1807
 
1808
-function sd_get_flex_order_input_group( $type = 'flex_order', $overwrite = array() ) {
1808
+function sd_get_flex_order_input_group($type = 'flex_order', $overwrite = array()) {
1809 1809
 	$inputs = array();
1810 1810
 	$sizes  = array(
1811 1811
 		''    => 'Mobile',
@@ -1813,18 +1813,18 @@  discard block
 block discarded – undo
1813 1813
 		'_lg' => 'Desktop',
1814 1814
 	);
1815 1815
 
1816
-	if ( $overwrite !== false ) {
1816
+	if ($overwrite !== false) {
1817 1817
 
1818
-		foreach ( $sizes as $ds => $dt ) {
1818
+		foreach ($sizes as $ds => $dt) {
1819 1819
 			$overwrite['device_type'] = $dt;
1820
-			$inputs[ $type . $ds ]    = sd_get_flex_order_input( $type, $overwrite );
1820
+			$inputs[$type . $ds]    = sd_get_flex_order_input($type, $overwrite);
1821 1821
 		}
1822 1822
 	}
1823 1823
 
1824 1824
 	return $inputs;
1825 1825
 }
1826 1826
 
1827
-function sd_get_flex_wrap_group( $type = 'flex_wrap', $overwrite = array() ) {
1827
+function sd_get_flex_wrap_group($type = 'flex_wrap', $overwrite = array()) {
1828 1828
 	$inputs = array();
1829 1829
 	$sizes  = array(
1830 1830
 		''    => 'Mobile',
@@ -1832,28 +1832,28 @@  discard block
 block discarded – undo
1832 1832
 		'_lg' => 'Desktop',
1833 1833
 	);
1834 1834
 
1835
-	if ( $overwrite !== false ) {
1835
+	if ($overwrite !== false) {
1836 1836
 
1837
-		foreach ( $sizes as $ds => $dt ) {
1837
+		foreach ($sizes as $ds => $dt) {
1838 1838
 			$overwrite['device_type'] = $dt;
1839
-			$inputs[ $type . $ds ]    = sd_get_flex_wrap_input( $type, $overwrite );
1839
+			$inputs[$type . $ds]    = sd_get_flex_wrap_input($type, $overwrite);
1840 1840
 		}
1841 1841
 	}
1842 1842
 
1843 1843
 	return $inputs;
1844 1844
 }
1845 1845
 
1846
-function sd_get_flex_wrap_input( $type = 'flex_wrap', $overwrite = array() ) {
1846
+function sd_get_flex_wrap_input($type = 'flex_wrap', $overwrite = array()) {
1847 1847
 	$device_size = '';
1848
-	if ( ! empty( $overwrite['device_type'] ) ) {
1849
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1848
+	if (!empty($overwrite['device_type'])) {
1849
+		if ($overwrite['device_type'] == 'Tablet') {
1850 1850
 			$device_size = '-md';
1851
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1851
+		} elseif ($overwrite['device_type'] == 'Desktop') {
1852 1852
 			$device_size = '-lg';
1853 1853
 		}
1854 1854
 	}
1855 1855
 	$options = array(
1856
-		''                                      => __( 'Default', 'super-duper' ),
1856
+		''                                      => __('Default', 'super-duper'),
1857 1857
 		'flex' . $device_size . '-nowrap'       => 'nowrap',
1858 1858
 		'flex' . $device_size . '-wrap'         => 'wrap',
1859 1859
 		'flex' . $device_size . '-wrap-reverse' => 'wrap-reverse',
@@ -1861,19 +1861,19 @@  discard block
 block discarded – undo
1861 1861
 
1862 1862
 	$defaults = array(
1863 1863
 		'type'     => 'select',
1864
-		'title'    => __( 'Flex wrap', 'super-duper' ),
1864
+		'title'    => __('Flex wrap', 'super-duper'),
1865 1865
 		'options'  => $options,
1866 1866
 		'default'  => '',
1867 1867
 		'desc_tip' => true,
1868
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
1868
+		'group'    => __('Wrapper Styles', 'super-duper'),
1869 1869
 	);
1870 1870
 
1871
-	$input = wp_parse_args( $overwrite, $defaults );
1871
+	$input = wp_parse_args($overwrite, $defaults);
1872 1872
 
1873 1873
 	return $input;
1874 1874
 }
1875 1875
 
1876
-function sd_get_float_group( $type = 'float', $overwrite = array() ) {
1876
+function sd_get_float_group($type = 'float', $overwrite = array()) {
1877 1877
 	$inputs = array();
1878 1878
 	$sizes  = array(
1879 1879
 		''    => 'Mobile',
@@ -1881,27 +1881,27 @@  discard block
 block discarded – undo
1881 1881
 		'_lg' => 'Desktop',
1882 1882
 	);
1883 1883
 
1884
-	if ( $overwrite !== false ) {
1884
+	if ($overwrite !== false) {
1885 1885
 
1886
-		foreach ( $sizes as $ds => $dt ) {
1886
+		foreach ($sizes as $ds => $dt) {
1887 1887
 			$overwrite['device_type'] = $dt;
1888
-			$inputs[ $type . $ds ]    = sd_get_float_input( $type, $overwrite );
1888
+			$inputs[$type . $ds]    = sd_get_float_input($type, $overwrite);
1889 1889
 		}
1890 1890
 	}
1891 1891
 
1892 1892
 	return $inputs;
1893 1893
 }
1894
-function sd_get_float_input( $type = 'float', $overwrite = array() ) {
1894
+function sd_get_float_input($type = 'float', $overwrite = array()) {
1895 1895
 	$device_size = '';
1896
-	if ( ! empty( $overwrite['device_type'] ) ) {
1897
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1896
+	if (!empty($overwrite['device_type'])) {
1897
+		if ($overwrite['device_type'] == 'Tablet') {
1898 1898
 			$device_size = '-md';
1899
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1899
+		} elseif ($overwrite['device_type'] == 'Desktop') {
1900 1900
 			$device_size = '-lg';
1901 1901
 		}
1902 1902
 	}
1903 1903
 	$options = array(
1904
-		''                                      => __( 'Default', 'super-duper' ),
1904
+		''                                      => __('Default', 'super-duper'),
1905 1905
 		'float' . $device_size . '-start'       => 'left',
1906 1906
 		'float' . $device_size . '-end'         => 'right',
1907 1907
 		'float' . $device_size . '-none' => 'none',
@@ -1909,14 +1909,14 @@  discard block
 block discarded – undo
1909 1909
 
1910 1910
 	$defaults = array(
1911 1911
 		'type'     => 'select',
1912
-		'title'    => __( 'Float', 'super-duper' ),
1912
+		'title'    => __('Float', 'super-duper'),
1913 1913
 		'options'  => $options,
1914 1914
 		'default'  => '',
1915 1915
 		'desc_tip' => true,
1916
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
1916
+		'group'    => __('Wrapper Styles', 'super-duper'),
1917 1917
 	);
1918 1918
 
1919
-	$input = wp_parse_args( $overwrite, $defaults );
1919
+	$input = wp_parse_args($overwrite, $defaults);
1920 1920
 
1921 1921
 	return $input;
1922 1922
 }
@@ -1927,10 +1927,10 @@  discard block
 block discarded – undo
1927 1927
  *
1928 1928
  * @return array
1929 1929
  */
1930
-function sd_get_zindex_input( $type = 'zindex', $overwrite = array() ) {
1930
+function sd_get_zindex_input($type = 'zindex', $overwrite = array()) {
1931 1931
 
1932 1932
 	$options = array(
1933
-		''          => __( 'Default', 'super-duper' ),
1933
+		''          => __('Default', 'super-duper'),
1934 1934
 		'zindex-0'  => '0',
1935 1935
 		'zindex-1'  => '1',
1936 1936
 		'zindex-5'  => '5',
@@ -1939,14 +1939,14 @@  discard block
 block discarded – undo
1939 1939
 
1940 1940
 	$defaults = array(
1941 1941
 		'type'     => 'select',
1942
-		'title'    => __( 'Z-index', 'super-duper' ),
1942
+		'title'    => __('Z-index', 'super-duper'),
1943 1943
 		'options'  => $options,
1944 1944
 		'default'  => '',
1945 1945
 		'desc_tip' => true,
1946
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
1946
+		'group'    => __('Wrapper Styles', 'super-duper'),
1947 1947
 	);
1948 1948
 
1949
-	$input = wp_parse_args( $overwrite, $defaults );
1949
+	$input = wp_parse_args($overwrite, $defaults);
1950 1950
 
1951 1951
 	return $input;
1952 1952
 }
@@ -1957,26 +1957,26 @@  discard block
 block discarded – undo
1957 1957
  *
1958 1958
  * @return array
1959 1959
  */
1960
-function sd_get_overflow_input( $type = 'overflow', $overwrite = array() ) {
1960
+function sd_get_overflow_input($type = 'overflow', $overwrite = array()) {
1961 1961
 
1962 1962
 	$options = array(
1963
-		''                 => __( 'Default', 'super-duper' ),
1964
-		'overflow-auto'    => __( 'Auto', 'super-duper' ),
1965
-		'overflow-hidden'  => __( 'Hidden', 'super-duper' ),
1966
-		'overflow-visible' => __( 'Visible', 'super-duper' ),
1967
-		'overflow-scroll'  => __( 'Scroll', 'super-duper' ),
1963
+		''                 => __('Default', 'super-duper'),
1964
+		'overflow-auto'    => __('Auto', 'super-duper'),
1965
+		'overflow-hidden'  => __('Hidden', 'super-duper'),
1966
+		'overflow-visible' => __('Visible', 'super-duper'),
1967
+		'overflow-scroll'  => __('Scroll', 'super-duper'),
1968 1968
 	);
1969 1969
 
1970 1970
 	$defaults = array(
1971 1971
 		'type'     => 'select',
1972
-		'title'    => __( 'Overflow', 'super-duper' ),
1972
+		'title'    => __('Overflow', 'super-duper'),
1973 1973
 		'options'  => $options,
1974 1974
 		'default'  => '',
1975 1975
 		'desc_tip' => true,
1976
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
1976
+		'group'    => __('Wrapper Styles', 'super-duper'),
1977 1977
 	);
1978 1978
 
1979
-	$input = wp_parse_args( $overwrite, $defaults );
1979
+	$input = wp_parse_args($overwrite, $defaults);
1980 1980
 
1981 1981
 	return $input;
1982 1982
 }
@@ -1987,19 +1987,19 @@  discard block
 block discarded – undo
1987 1987
  *
1988 1988
  * @return array
1989 1989
  */
1990
-function sd_get_max_height_input( $type = 'max_height', $overwrite = array() ) {
1990
+function sd_get_max_height_input($type = 'max_height', $overwrite = array()) {
1991 1991
 
1992 1992
 	$defaults = array(
1993 1993
 		'type'        => 'text',
1994
-		'title'       => __( 'Max height', 'super-duper' ),
1994
+		'title'       => __('Max height', 'super-duper'),
1995 1995
 		'value'       => '',
1996 1996
 		'default'     => '',
1997 1997
 		'placeholder' => '',
1998 1998
 		'desc_tip'    => true,
1999
-		'group'       => __( 'Wrapper Styles', 'super-duper' ),
1999
+		'group'       => __('Wrapper Styles', 'super-duper'),
2000 2000
 	);
2001 2001
 
2002
-	$input = wp_parse_args( $overwrite, $defaults );
2002
+	$input = wp_parse_args($overwrite, $defaults);
2003 2003
 
2004 2004
 	return $input;
2005 2005
 }
@@ -2010,23 +2010,23 @@  discard block
 block discarded – undo
2010 2010
  *
2011 2011
  * @return array
2012 2012
  */
2013
-function sd_get_scrollbars_input( $type = 'scrollbars', $overwrite = array() ) {
2013
+function sd_get_scrollbars_input($type = 'scrollbars', $overwrite = array()) {
2014 2014
 
2015 2015
 	$options = array(
2016
-		''               => __( 'Default', 'super-duper' ),
2017
-		'scrollbars-ios' => __( 'IOS Style', 'super-duper' ),
2016
+		''               => __('Default', 'super-duper'),
2017
+		'scrollbars-ios' => __('IOS Style', 'super-duper'),
2018 2018
 	);
2019 2019
 
2020 2020
 	$defaults = array(
2021 2021
 		'type'     => 'select',
2022
-		'title'    => __( 'Scrollbars', 'super-duper' ),
2022
+		'title'    => __('Scrollbars', 'super-duper'),
2023 2023
 		'options'  => $options,
2024 2024
 		'default'  => '',
2025 2025
 		'desc_tip' => true,
2026
-		'group'    => __( 'Wrapper Styles', 'super-duper' ),
2026
+		'group'    => __('Wrapper Styles', 'super-duper'),
2027 2027
 	);
2028 2028
 
2029
-	$input = wp_parse_args( $overwrite, $defaults );
2029
+	$input = wp_parse_args($overwrite, $defaults);
2030 2030
 
2031 2031
 	return $input;
2032 2032
 }
@@ -2039,12 +2039,12 @@  discard block
 block discarded – undo
2039 2039
  * @return string
2040 2040
  * @todo find best way to use px- py- or general p-
2041 2041
  */
2042
-function sd_build_aui_class( $args ) {
2042
+function sd_build_aui_class($args) {
2043 2043
 	global $aui_bs5;
2044 2044
 
2045 2045
 	$classes = array();
2046 2046
 
2047
-	if ( $aui_bs5 ) {
2047
+	if ($aui_bs5) {
2048 2048
 		$p_ml = 'ms-';
2049 2049
 		$p_mr = 'me-';
2050 2050
 
@@ -2059,254 +2059,254 @@  discard block
 block discarded – undo
2059 2059
 	}
2060 2060
 
2061 2061
 	// margins.
2062
-	if ( isset( $args['mt'] ) && $args['mt'] !== '' ) {
2063
-		$classes[] = 'mt-' . sanitize_html_class( $args['mt'] );
2062
+	if (isset($args['mt']) && $args['mt'] !== '') {
2063
+		$classes[] = 'mt-' . sanitize_html_class($args['mt']);
2064 2064
 		$mt        = $args['mt'];
2065 2065
 	} else {
2066 2066
 		$mt = null;
2067 2067
 	}
2068
-	if ( isset( $args['mr'] ) && $args['mr'] !== '' ) {
2069
-		$classes[] = $p_mr . sanitize_html_class( $args['mr'] );
2068
+	if (isset($args['mr']) && $args['mr'] !== '') {
2069
+		$classes[] = $p_mr . sanitize_html_class($args['mr']);
2070 2070
 		$mr        = $args['mr'];
2071 2071
 	} else {
2072 2072
 		$mr = null;
2073 2073
 	}
2074
-	if ( isset( $args['mb'] ) && $args['mb'] !== '' ) {
2075
-		$classes[] = 'mb-' . sanitize_html_class( $args['mb'] );
2074
+	if (isset($args['mb']) && $args['mb'] !== '') {
2075
+		$classes[] = 'mb-' . sanitize_html_class($args['mb']);
2076 2076
 		$mb        = $args['mb'];
2077 2077
 	} else {
2078 2078
 		$mb = null;
2079 2079
 	}
2080
-	if ( isset( $args['ml'] ) && $args['ml'] !== '' ) {
2081
-		$classes[] = $p_ml . sanitize_html_class( $args['ml'] );
2080
+	if (isset($args['ml']) && $args['ml'] !== '') {
2081
+		$classes[] = $p_ml . sanitize_html_class($args['ml']);
2082 2082
 		$ml        = $args['ml'];
2083 2083
 	} else {
2084 2084
 		$ml = null;
2085 2085
 	}
2086 2086
 
2087 2087
 	// margins tablet.
2088
-	if ( isset( $args['mt_md'] ) && $args['mt_md'] !== '' ) {
2089
-		$classes[] = 'mt-md-' . sanitize_html_class( $args['mt_md'] );
2088
+	if (isset($args['mt_md']) && $args['mt_md'] !== '') {
2089
+		$classes[] = 'mt-md-' . sanitize_html_class($args['mt_md']);
2090 2090
 		$mt_md     = $args['mt_md'];
2091 2091
 	} else {
2092 2092
 		$mt_md = null;
2093 2093
 	}
2094
-	if ( isset( $args['mr_md'] ) && $args['mr_md'] !== '' ) {
2095
-		$classes[] = $p_mr . 'md-' . sanitize_html_class( $args['mr_md'] );
2094
+	if (isset($args['mr_md']) && $args['mr_md'] !== '') {
2095
+		$classes[] = $p_mr . 'md-' . sanitize_html_class($args['mr_md']);
2096 2096
 		$mt_md     = $args['mr_md'];
2097 2097
 	} else {
2098 2098
 		$mr_md = null;
2099 2099
 	}
2100
-	if ( isset( $args['mb_md'] ) && $args['mb_md'] !== '' ) {
2101
-		$classes[] = 'mb-md-' . sanitize_html_class( $args['mb_md'] );
2100
+	if (isset($args['mb_md']) && $args['mb_md'] !== '') {
2101
+		$classes[] = 'mb-md-' . sanitize_html_class($args['mb_md']);
2102 2102
 		$mt_md     = $args['mb_md'];
2103 2103
 	} else {
2104 2104
 		$mb_md = null;
2105 2105
 	}
2106
-	if ( isset( $args['ml_md'] ) && $args['ml_md'] !== '' ) {
2107
-		$classes[] = $p_ml . 'md-' . sanitize_html_class( $args['ml_md'] );
2106
+	if (isset($args['ml_md']) && $args['ml_md'] !== '') {
2107
+		$classes[] = $p_ml . 'md-' . sanitize_html_class($args['ml_md']);
2108 2108
 		$mt_md     = $args['ml_md'];
2109 2109
 	} else {
2110 2110
 		$ml_md = null;
2111 2111
 	}
2112 2112
 
2113 2113
 	// margins desktop.
2114
-	if ( isset( $args['mt_lg'] ) && $args['mt_lg'] !== '' ) {
2115
-		if ( $mt == null && $mt_md == null ) {
2116
-			$classes[] = 'mt-' . sanitize_html_class( $args['mt_lg'] );
2114
+	if (isset($args['mt_lg']) && $args['mt_lg'] !== '') {
2115
+		if ($mt == null && $mt_md == null) {
2116
+			$classes[] = 'mt-' . sanitize_html_class($args['mt_lg']);
2117 2117
 		} else {
2118
-			$classes[] = 'mt-lg-' . sanitize_html_class( $args['mt_lg'] );
2118
+			$classes[] = 'mt-lg-' . sanitize_html_class($args['mt_lg']);
2119 2119
 		}
2120 2120
 	}
2121
-	if ( isset( $args['mr_lg'] ) && $args['mr_lg'] !== '' ) {
2122
-		if ( $mr == null && $mr_md == null ) {
2123
-			$classes[] = $p_mr . sanitize_html_class( $args['mr_lg'] );
2121
+	if (isset($args['mr_lg']) && $args['mr_lg'] !== '') {
2122
+		if ($mr == null && $mr_md == null) {
2123
+			$classes[] = $p_mr . sanitize_html_class($args['mr_lg']);
2124 2124
 		} else {
2125
-			$classes[] = $p_mr . 'lg-' . sanitize_html_class( $args['mr_lg'] );
2125
+			$classes[] = $p_mr . 'lg-' . sanitize_html_class($args['mr_lg']);
2126 2126
 		}
2127 2127
 	}
2128
-	if ( isset( $args['mb_lg'] ) && $args['mb_lg'] !== '' ) {
2129
-		if ( $mb == null && $mb_md == null ) {
2130
-			$classes[] = 'mb-' . sanitize_html_class( $args['mb_lg'] );
2128
+	if (isset($args['mb_lg']) && $args['mb_lg'] !== '') {
2129
+		if ($mb == null && $mb_md == null) {
2130
+			$classes[] = 'mb-' . sanitize_html_class($args['mb_lg']);
2131 2131
 		} else {
2132
-			$classes[] = 'mb-lg-' . sanitize_html_class( $args['mb_lg'] );
2132
+			$classes[] = 'mb-lg-' . sanitize_html_class($args['mb_lg']);
2133 2133
 		}
2134 2134
 	}
2135
-	if ( isset( $args['ml_lg'] ) && $args['ml_lg'] !== '' ) {
2136
-		if ( $ml == null && $ml_md == null ) {
2137
-			$classes[] = $p_ml . sanitize_html_class( $args['ml_lg'] );
2135
+	if (isset($args['ml_lg']) && $args['ml_lg'] !== '') {
2136
+		if ($ml == null && $ml_md == null) {
2137
+			$classes[] = $p_ml . sanitize_html_class($args['ml_lg']);
2138 2138
 		} else {
2139
-			$classes[] = $p_ml . 'lg-' . sanitize_html_class( $args['ml_lg'] );
2139
+			$classes[] = $p_ml . 'lg-' . sanitize_html_class($args['ml_lg']);
2140 2140
 		}
2141 2141
 	}
2142 2142
 
2143 2143
 	// padding.
2144
-	if ( isset( $args['pt'] ) && $args['pt'] !== '' ) {
2145
-		$classes[] = 'pt-' . sanitize_html_class( $args['pt'] );
2144
+	if (isset($args['pt']) && $args['pt'] !== '') {
2145
+		$classes[] = 'pt-' . sanitize_html_class($args['pt']);
2146 2146
 		$pt        = $args['pt'];
2147 2147
 	} else {
2148 2148
 		$pt = null;
2149 2149
 	}
2150
-	if ( isset( $args['pr'] ) && $args['pr'] !== '' ) {
2151
-		$classes[] = $p_pr . sanitize_html_class( $args['pr'] );
2150
+	if (isset($args['pr']) && $args['pr'] !== '') {
2151
+		$classes[] = $p_pr . sanitize_html_class($args['pr']);
2152 2152
 		$pr        = $args['pr'];
2153 2153
 	} else {
2154 2154
 		$pr = null;
2155 2155
 	}
2156
-	if ( isset( $args['pb'] ) && $args['pb'] !== '' ) {
2157
-		$classes[] = 'pb-' . sanitize_html_class( $args['pb'] );
2156
+	if (isset($args['pb']) && $args['pb'] !== '') {
2157
+		$classes[] = 'pb-' . sanitize_html_class($args['pb']);
2158 2158
 		$pb        = $args['pb'];
2159 2159
 	} else {
2160 2160
 		$pb = null;
2161 2161
 	}
2162
-	if ( isset( $args['pl'] ) && $args['pl'] !== '' ) {
2163
-		$classes[] = $p_pl . sanitize_html_class( $args['pl'] );
2162
+	if (isset($args['pl']) && $args['pl'] !== '') {
2163
+		$classes[] = $p_pl . sanitize_html_class($args['pl']);
2164 2164
 		$pl        = $args['pl'];
2165 2165
 	} else {
2166 2166
 		$pl = null;
2167 2167
 	}
2168 2168
 
2169 2169
 	// padding tablet.
2170
-	if ( isset( $args['pt_md'] ) && $args['pt_md'] !== '' ) {
2171
-		$classes[] = 'pt-md-' . sanitize_html_class( $args['pt_md'] );
2170
+	if (isset($args['pt_md']) && $args['pt_md'] !== '') {
2171
+		$classes[] = 'pt-md-' . sanitize_html_class($args['pt_md']);
2172 2172
 		$pt_md     = $args['pt_md'];
2173 2173
 	} else {
2174 2174
 		$pt_md = null;
2175 2175
 	}
2176
-	if ( isset( $args['pr_md'] ) && $args['pr_md'] !== '' ) {
2177
-		$classes[] = $p_pr . 'md-' . sanitize_html_class( $args['pr_md'] );
2176
+	if (isset($args['pr_md']) && $args['pr_md'] !== '') {
2177
+		$classes[] = $p_pr . 'md-' . sanitize_html_class($args['pr_md']);
2178 2178
 		$pr_md     = $args['pr_md'];
2179 2179
 	} else {
2180 2180
 		$pr_md = null;
2181 2181
 	}
2182
-	if ( isset( $args['pb_md'] ) && $args['pb_md'] !== '' ) {
2183
-		$classes[] = 'pb-md-' . sanitize_html_class( $args['pb_md'] );
2182
+	if (isset($args['pb_md']) && $args['pb_md'] !== '') {
2183
+		$classes[] = 'pb-md-' . sanitize_html_class($args['pb_md']);
2184 2184
 		$pb_md     = $args['pb_md'];
2185 2185
 	} else {
2186 2186
 		$pb_md = null;
2187 2187
 	}
2188
-	if ( isset( $args['pl_md'] ) && $args['pl_md'] !== '' ) {
2189
-		$classes[] = $p_pl . 'md-' . sanitize_html_class( $args['pl_md'] );
2188
+	if (isset($args['pl_md']) && $args['pl_md'] !== '') {
2189
+		$classes[] = $p_pl . 'md-' . sanitize_html_class($args['pl_md']);
2190 2190
 		$pl_md     = $args['pl_md'];
2191 2191
 	} else {
2192 2192
 		$pl_md = null;
2193 2193
 	}
2194 2194
 
2195 2195
 	// padding desktop.
2196
-	if ( isset( $args['pt_lg'] ) && $args['pt_lg'] !== '' ) {
2197
-		if ( $pt == null && $pt_md == null ) {
2198
-			$classes[] = 'pt-' . sanitize_html_class( $args['pt_lg'] );
2196
+	if (isset($args['pt_lg']) && $args['pt_lg'] !== '') {
2197
+		if ($pt == null && $pt_md == null) {
2198
+			$classes[] = 'pt-' . sanitize_html_class($args['pt_lg']);
2199 2199
 		} else {
2200
-			$classes[] = 'pt-lg-' . sanitize_html_class( $args['pt_lg'] );
2200
+			$classes[] = 'pt-lg-' . sanitize_html_class($args['pt_lg']);
2201 2201
 		}
2202 2202
 	}
2203
-	if ( isset( $args['pr_lg'] ) && $args['pr_lg'] !== '' ) {
2204
-		if ( $pr == null && $pr_md == null ) {
2205
-			$classes[] = $p_pr . sanitize_html_class( $args['pr_lg'] );
2203
+	if (isset($args['pr_lg']) && $args['pr_lg'] !== '') {
2204
+		if ($pr == null && $pr_md == null) {
2205
+			$classes[] = $p_pr . sanitize_html_class($args['pr_lg']);
2206 2206
 		} else {
2207
-			$classes[] = $p_pr . 'lg-' . sanitize_html_class( $args['pr_lg'] );
2207
+			$classes[] = $p_pr . 'lg-' . sanitize_html_class($args['pr_lg']);
2208 2208
 		}
2209 2209
 	}
2210
-	if ( isset( $args['pb_lg'] ) && $args['pb_lg'] !== '' ) {
2211
-		if ( $pb == null && $pb_md == null ) {
2212
-			$classes[] = 'pb-' . sanitize_html_class( $args['pb_lg'] );
2210
+	if (isset($args['pb_lg']) && $args['pb_lg'] !== '') {
2211
+		if ($pb == null && $pb_md == null) {
2212
+			$classes[] = 'pb-' . sanitize_html_class($args['pb_lg']);
2213 2213
 		} else {
2214
-			$classes[] = 'pb-lg-' . sanitize_html_class( $args['pb_lg'] );
2214
+			$classes[] = 'pb-lg-' . sanitize_html_class($args['pb_lg']);
2215 2215
 		}
2216 2216
 	}
2217
-	if ( isset( $args['pl_lg'] ) && $args['pl_lg'] !== '' ) {
2218
-		if ( $pl == null && $pl_md == null ) {
2219
-			$classes[] = $p_pl . sanitize_html_class( $args['pl_lg'] );
2217
+	if (isset($args['pl_lg']) && $args['pl_lg'] !== '') {
2218
+		if ($pl == null && $pl_md == null) {
2219
+			$classes[] = $p_pl . sanitize_html_class($args['pl_lg']);
2220 2220
 		} else {
2221
-			$classes[] = $p_pl . 'lg-' . sanitize_html_class( $args['pl_lg'] );
2221
+			$classes[] = $p_pl . 'lg-' . sanitize_html_class($args['pl_lg']);
2222 2222
 		}
2223 2223
 	}
2224 2224
 
2225 2225
 	// row cols, mobile, tablet, desktop
2226
-	if ( ! empty( $args['row_cols'] ) && $args['row_cols'] !== '' ) {
2227
-		$classes[] = sanitize_html_class( 'row-cols-' . $args['row_cols'] );
2226
+	if (!empty($args['row_cols']) && $args['row_cols'] !== '') {
2227
+		$classes[] = sanitize_html_class('row-cols-' . $args['row_cols']);
2228 2228
 		$row_cols  = $args['row_cols'];
2229 2229
 	} else {
2230 2230
 		$row_cols = null;
2231 2231
 	}
2232
-	if ( ! empty( $args['row_cols_md'] ) && $args['row_cols_md'] !== '' ) {
2233
-		$classes[]   = sanitize_html_class( 'row-cols-md-' . $args['row_cols_md'] );
2232
+	if (!empty($args['row_cols_md']) && $args['row_cols_md'] !== '') {
2233
+		$classes[]   = sanitize_html_class('row-cols-md-' . $args['row_cols_md']);
2234 2234
 		$row_cols_md = $args['row_cols_md'];
2235 2235
 	} else {
2236 2236
 		$row_cols_md = null;
2237 2237
 	}
2238
-	if ( ! empty( $args['row_cols_lg'] ) && $args['row_cols_lg'] !== '' ) {
2239
-		if ( $row_cols == null && $row_cols_md == null ) {
2240
-			$classes[] = sanitize_html_class( 'row-cols-' . $args['row_cols_lg'] );
2238
+	if (!empty($args['row_cols_lg']) && $args['row_cols_lg'] !== '') {
2239
+		if ($row_cols == null && $row_cols_md == null) {
2240
+			$classes[] = sanitize_html_class('row-cols-' . $args['row_cols_lg']);
2241 2241
 		} else {
2242
-			$classes[] = sanitize_html_class( 'row-cols-lg-' . $args['row_cols_lg'] );
2242
+			$classes[] = sanitize_html_class('row-cols-lg-' . $args['row_cols_lg']);
2243 2243
 		}
2244 2244
 	}
2245 2245
 
2246 2246
 	// columns , mobile, tablet, desktop
2247
-	if ( ! empty( $args['col'] ) && $args['col'] !== '' ) {
2248
-		$classes[] = sanitize_html_class( 'col-' . $args['col'] );
2247
+	if (!empty($args['col']) && $args['col'] !== '') {
2248
+		$classes[] = sanitize_html_class('col-' . $args['col']);
2249 2249
 		$col       = $args['col'];
2250 2250
 	} else {
2251 2251
 		$col = null;
2252 2252
 	}
2253
-	if ( ! empty( $args['col_md'] ) && $args['col_md'] !== '' ) {
2254
-		$classes[] = sanitize_html_class( 'col-md-' . $args['col_md'] );
2253
+	if (!empty($args['col_md']) && $args['col_md'] !== '') {
2254
+		$classes[] = sanitize_html_class('col-md-' . $args['col_md']);
2255 2255
 		$col_md    = $args['col_md'];
2256 2256
 	} else {
2257 2257
 		$col_md = null;
2258 2258
 	}
2259
-	if ( ! empty( $args['col_lg'] ) && $args['col_lg'] !== '' ) {
2260
-		if ( $col == null && $col_md == null ) {
2261
-			$classes[] = sanitize_html_class( 'col-' . $args['col_lg'] );
2259
+	if (!empty($args['col_lg']) && $args['col_lg'] !== '') {
2260
+		if ($col == null && $col_md == null) {
2261
+			$classes[] = sanitize_html_class('col-' . $args['col_lg']);
2262 2262
 		} else {
2263
-			$classes[] = sanitize_html_class( 'col-lg-' . $args['col_lg'] );
2263
+			$classes[] = sanitize_html_class('col-lg-' . $args['col_lg']);
2264 2264
 		}
2265 2265
 	}
2266 2266
 
2267 2267
 	// border
2268
-	if ( isset( $args['border'] ) && ( $args['border'] == 'none' || $args['border'] === '0' || $args['border'] === 0 ) ) {
2268
+	if (isset($args['border']) && ($args['border'] == 'none' || $args['border'] === '0' || $args['border'] === 0)) {
2269 2269
 		$classes[] = 'border-0';
2270
-	} elseif ( ! empty( $args['border'] ) ) {
2270
+	} elseif (!empty($args['border'])) {
2271 2271
 		$border_class = 'border';
2272
-		if ( ! empty( $args['border_type'] ) && strpos( $args['border_type'], '-0' ) === false ) {
2272
+		if (!empty($args['border_type']) && strpos($args['border_type'], '-0') === false) {
2273 2273
 			$border_class = '';
2274 2274
 		}
2275
-		$classes[] = $border_class . ' border-' . sanitize_html_class( $args['border'] );
2275
+		$classes[] = $border_class . ' border-' . sanitize_html_class($args['border']);
2276 2276
 	}
2277 2277
 
2278 2278
 	// border radius type
2279
-	if ( ! empty( $args['rounded'] ) ) {
2280
-		$classes[] = sanitize_html_class( $args['rounded'] );
2279
+	if (!empty($args['rounded'])) {
2280
+		$classes[] = sanitize_html_class($args['rounded']);
2281 2281
 	}
2282 2282
 
2283 2283
 	// border radius size BS4
2284
-	if ( isset( $args['rounded_size'] ) && in_array( $args['rounded_size'], array( 'sm', 'lg' ) ) ) {
2285
-		$classes[] = 'rounded-' . sanitize_html_class( $args['rounded_size'] );
2284
+	if (isset($args['rounded_size']) && in_array($args['rounded_size'], array('sm', 'lg'))) {
2285
+		$classes[] = 'rounded-' . sanitize_html_class($args['rounded_size']);
2286 2286
 		// if we set a size then we need to remove "rounded" if set
2287
-		if ( ( $key = array_search( 'rounded', $classes ) ) !== false ) {
2288
-			unset( $classes[ $key ] );
2287
+		if (($key = array_search('rounded', $classes)) !== false) {
2288
+			unset($classes[$key]);
2289 2289
 		}
2290 2290
 	} else {
2291 2291
 
2292 2292
 		// border radius size , mobile, tablet, desktop
2293
-		if ( isset( $args['rounded_size'] ) && $args['rounded_size'] !== '' ) {
2294
-			$classes[]    = sanitize_html_class( 'rounded-' . $args['rounded_size'] );
2293
+		if (isset($args['rounded_size']) && $args['rounded_size'] !== '') {
2294
+			$classes[]    = sanitize_html_class('rounded-' . $args['rounded_size']);
2295 2295
 			$rounded_size = $args['rounded_size'];
2296 2296
 		} else {
2297 2297
 			$rounded_size = null;
2298 2298
 		}
2299
-		if ( isset( $args['rounded_size_md'] ) && $args['rounded_size_md'] !== '' ) {
2300
-			$classes[]       = sanitize_html_class( 'rounded-md-' . $args['rounded_size_md'] );
2299
+		if (isset($args['rounded_size_md']) && $args['rounded_size_md'] !== '') {
2300
+			$classes[]       = sanitize_html_class('rounded-md-' . $args['rounded_size_md']);
2301 2301
 			$rounded_size_md = $args['rounded_size_md'];
2302 2302
 		} else {
2303 2303
 			$rounded_size_md = null;
2304 2304
 		}
2305
-		if ( isset( $args['rounded_size_lg'] ) && $args['rounded_size_lg'] !== '' ) {
2306
-			if ( $rounded_size == null && $rounded_size_md == null ) {
2307
-				$classes[] = sanitize_html_class( 'rounded-' . $args['rounded_size_lg'] );
2305
+		if (isset($args['rounded_size_lg']) && $args['rounded_size_lg'] !== '') {
2306
+			if ($rounded_size == null && $rounded_size_md == null) {
2307
+				$classes[] = sanitize_html_class('rounded-' . $args['rounded_size_lg']);
2308 2308
 			} else {
2309
-				$classes[] = sanitize_html_class( 'rounded-lg-' . $args['rounded_size_lg'] );
2309
+				$classes[] = sanitize_html_class('rounded-lg-' . $args['rounded_size_lg']);
2310 2310
 			}
2311 2311
 		}
2312 2312
 	}
@@ -2315,140 +2315,140 @@  discard block
 block discarded – undo
2315 2315
 	//if ( !empty( $args['shadow'] ) ) { $classes[] = sanitize_html_class($args['shadow']); }
2316 2316
 
2317 2317
 	// background
2318
-	if ( ! empty( $args['bg'] ) ) {
2319
-		$classes[] = 'bg-' . sanitize_html_class( $args['bg'] );
2318
+	if (!empty($args['bg'])) {
2319
+		$classes[] = 'bg-' . sanitize_html_class($args['bg']);
2320 2320
 	}
2321 2321
 
2322 2322
 	// text_color
2323
-	if ( ! empty( $args['text_color'] ) ) {
2324
-		$classes[] = 'text-' . sanitize_html_class( $args['text_color'] );
2323
+	if (!empty($args['text_color'])) {
2324
+		$classes[] = 'text-' . sanitize_html_class($args['text_color']);
2325 2325
 	}
2326 2326
 
2327 2327
 	// text_align
2328
-	if ( ! empty( $args['text_justify'] ) ) {
2328
+	if (!empty($args['text_justify'])) {
2329 2329
 		$classes[] = 'text-justify';
2330 2330
 	} else {
2331
-		if ( ! empty( $args['text_align'] ) ) {
2332
-			$classes[]  = sanitize_html_class( $args['text_align'] );
2331
+		if (!empty($args['text_align'])) {
2332
+			$classes[]  = sanitize_html_class($args['text_align']);
2333 2333
 			$text_align = $args['text_align'];
2334 2334
 		} else {
2335 2335
 			$text_align = null;
2336 2336
 		}
2337
-		if ( ! empty( $args['text_align_md'] ) && $args['text_align_md'] !== '' ) {
2338
-			$classes[]     = sanitize_html_class( $args['text_align_md'] );
2337
+		if (!empty($args['text_align_md']) && $args['text_align_md'] !== '') {
2338
+			$classes[]     = sanitize_html_class($args['text_align_md']);
2339 2339
 			$text_align_md = $args['text_align_md'];
2340 2340
 		} else {
2341 2341
 			$text_align_md = null;
2342 2342
 		}
2343
-		if ( ! empty( $args['text_align_lg'] ) && $args['text_align_lg'] !== '' ) {
2344
-			if ( $text_align == null && $text_align_md == null ) {
2345
-				$classes[] = sanitize_html_class( str_replace( '-lg', '', $args['text_align_lg'] ) );
2343
+		if (!empty($args['text_align_lg']) && $args['text_align_lg'] !== '') {
2344
+			if ($text_align == null && $text_align_md == null) {
2345
+				$classes[] = sanitize_html_class(str_replace('-lg', '', $args['text_align_lg']));
2346 2346
 			} else {
2347
-				$classes[] = sanitize_html_class( $args['text_align_lg'] );
2347
+				$classes[] = sanitize_html_class($args['text_align_lg']);
2348 2348
 			}
2349 2349
 		}
2350 2350
 	}
2351 2351
 
2352 2352
 	// display
2353
-	if ( ! empty( $args['display'] ) ) {
2354
-		$classes[] = sanitize_html_class( $args['display'] );
2353
+	if (!empty($args['display'])) {
2354
+		$classes[] = sanitize_html_class($args['display']);
2355 2355
 		$display   = $args['display'];
2356 2356
 	} else {
2357 2357
 		$display = null;
2358 2358
 	}
2359
-	if ( ! empty( $args['display_md'] ) && $args['display_md'] !== '' ) {
2360
-		$classes[]  = sanitize_html_class( $args['display_md'] );
2359
+	if (!empty($args['display_md']) && $args['display_md'] !== '') {
2360
+		$classes[]  = sanitize_html_class($args['display_md']);
2361 2361
 		$display_md = $args['display_md'];
2362 2362
 	} else {
2363 2363
 		$display_md = null;
2364 2364
 	}
2365
-	if ( ! empty( $args['display_lg'] ) && $args['display_lg'] !== '' ) {
2366
-		if ( $display == null && $display_md == null ) {
2367
-			$classes[] = sanitize_html_class( str_replace( '-lg', '', $args['display_lg'] ) );
2365
+	if (!empty($args['display_lg']) && $args['display_lg'] !== '') {
2366
+		if ($display == null && $display_md == null) {
2367
+			$classes[] = sanitize_html_class(str_replace('-lg', '', $args['display_lg']));
2368 2368
 		} else {
2369
-			$classes[] = sanitize_html_class( $args['display_lg'] );
2369
+			$classes[] = sanitize_html_class($args['display_lg']);
2370 2370
 		}
2371 2371
 	}
2372 2372
 
2373 2373
 	// bgtus - background transparent until scroll
2374
-	if ( ! empty( $args['bgtus'] ) ) {
2375
-		$classes[] = sanitize_html_class( 'bg-transparent-until-scroll' );
2374
+	if (!empty($args['bgtus'])) {
2375
+		$classes[] = sanitize_html_class('bg-transparent-until-scroll');
2376 2376
 	}
2377 2377
 
2378 2378
 	// cscos - change color scheme on scroll
2379
-	if ( ! empty( $args['bgtus'] ) && ! empty( $args['cscos'] ) ) {
2380
-		$classes[] = sanitize_html_class( 'color-scheme-flip-on-scroll' );
2379
+	if (!empty($args['bgtus']) && !empty($args['cscos'])) {
2380
+		$classes[] = sanitize_html_class('color-scheme-flip-on-scroll');
2381 2381
 	}
2382 2382
 
2383 2383
 	// hover animations
2384
-	if ( ! empty( $args['hover_animations'] ) ) {
2385
-		$classes[] = sd_sanitize_html_classes( str_replace( ',', ' ', $args['hover_animations'] ) );
2384
+	if (!empty($args['hover_animations'])) {
2385
+		$classes[] = sd_sanitize_html_classes(str_replace(',', ' ', $args['hover_animations']));
2386 2386
 	}
2387 2387
 
2388 2388
 	// absolute_position
2389
-	if ( ! empty( $args['absolute_position'] ) ) {
2390
-		if ( 'top-left' === $args['absolute_position'] ) {
2389
+	if (!empty($args['absolute_position'])) {
2390
+		if ('top-left' === $args['absolute_position']) {
2391 2391
 			$classes[] = 'start-0 top-0';
2392
-		} elseif ( 'top-center' === $args['absolute_position'] ) {
2392
+		} elseif ('top-center' === $args['absolute_position']) {
2393 2393
 			$classes[] = 'start-50 top-0 translate-middle';
2394
-		} elseif ( 'top-right' === $args['absolute_position'] ) {
2394
+		} elseif ('top-right' === $args['absolute_position']) {
2395 2395
 			$classes[] = 'end-0 top-0';
2396
-		} elseif ( 'center-left' === $args['absolute_position'] ) {
2396
+		} elseif ('center-left' === $args['absolute_position']) {
2397 2397
 			$classes[] = 'start-0 top-50';
2398
-		} elseif ( 'center' === $args['absolute_position'] ) {
2398
+		} elseif ('center' === $args['absolute_position']) {
2399 2399
 			$classes[] = 'start-50 top-50 translate-middle';
2400
-		} elseif ( 'center-right' === $args['absolute_position'] ) {
2400
+		} elseif ('center-right' === $args['absolute_position']) {
2401 2401
 			$classes[] = 'end-0 top-50';
2402
-		} elseif ( 'bottom-left' === $args['absolute_position'] ) {
2402
+		} elseif ('bottom-left' === $args['absolute_position']) {
2403 2403
 			$classes[] = 'start-0 bottom-0';
2404
-		} elseif ( 'bottom-center' === $args['absolute_position'] ) {
2404
+		} elseif ('bottom-center' === $args['absolute_position']) {
2405 2405
 			$classes[] = 'start-50 bottom-0 translate-middle';
2406
-		} elseif ( 'bottom-right' === $args['absolute_position'] ) {
2406
+		} elseif ('bottom-right' === $args['absolute_position']) {
2407 2407
 			$classes[] = 'end-0 bottom-0';
2408 2408
 		}
2409 2409
 	}
2410 2410
 
2411 2411
 	// build classes from build keys
2412 2412
 	$build_keys = sd_get_class_build_keys();
2413
-	if ( ! empty( $build_keys ) ) {
2414
-		foreach ( $build_keys as $key ) {
2413
+	if (!empty($build_keys)) {
2414
+		foreach ($build_keys as $key) {
2415 2415
 
2416
-			if ( substr( $key, -4 ) == '-MTD' ) {
2416
+			if (substr($key, -4) == '-MTD') {
2417 2417
 
2418
-				$k = str_replace( '-MTD', '', $key );
2418
+				$k = str_replace('-MTD', '', $key);
2419 2419
 
2420 2420
 				// Mobile, Tablet, Desktop
2421
-				if ( ! empty( $args[ $k ] ) && $args[ $k ] !== '' ) {
2422
-					$classes[] = sanitize_html_class( $args[ $k ] );
2423
-					$v         = $args[ $k ];
2421
+				if (!empty($args[$k]) && $args[$k] !== '') {
2422
+					$classes[] = sanitize_html_class($args[$k]);
2423
+					$v         = $args[$k];
2424 2424
 				} else {
2425 2425
 					$v = null;
2426 2426
 				}
2427
-				if ( ! empty( $args[ $k . '_md' ] ) && $args[ $k . '_md' ] !== '' ) {
2428
-					$classes[] = sanitize_html_class( $args[ $k . '_md' ] );
2429
-					$v_md      = $args[ $k . '_md' ];
2427
+				if (!empty($args[$k . '_md']) && $args[$k . '_md'] !== '') {
2428
+					$classes[] = sanitize_html_class($args[$k . '_md']);
2429
+					$v_md      = $args[$k . '_md'];
2430 2430
 				} else {
2431 2431
 					$v_md = null;
2432 2432
 				}
2433
-				if ( ! empty( $args[ $k . '_lg' ] ) && $args[ $k . '_lg' ] !== '' ) {
2434
-					if ( $v == null && $v_md == null ) {
2435
-						$classes[] = sanitize_html_class( str_replace( '-lg', '', $args[ $k . '_lg' ] ) );
2433
+				if (!empty($args[$k . '_lg']) && $args[$k . '_lg'] !== '') {
2434
+					if ($v == null && $v_md == null) {
2435
+						$classes[] = sanitize_html_class(str_replace('-lg', '', $args[$k . '_lg']));
2436 2436
 					} else {
2437
-						$classes[] = sanitize_html_class( $args[ $k . '_lg' ] );
2437
+						$classes[] = sanitize_html_class($args[$k . '_lg']);
2438 2438
 					}
2439 2439
 				}
2440 2440
 			} else {
2441
-				if ( $key == 'font_size' && ! empty( $args[ $key ] ) && $args[ $key ] == 'custom' ) {
2441
+				if ($key == 'font_size' && !empty($args[$key]) && $args[$key] == 'custom') {
2442 2442
 					continue;
2443 2443
 				}
2444
-				if ( ! empty( $args[ $key ] ) ) {
2445
-					$classes[] = sd_sanitize_html_classes( $args[ $key ] );
2444
+				if (!empty($args[$key])) {
2445
+					$classes[] = sd_sanitize_html_classes($args[$key]);
2446 2446
 				}
2447 2447
 			}
2448 2448
 		}
2449 2449
 	}
2450 2450
 
2451
-	return implode( ' ', $classes );
2451
+	return implode(' ', $classes);
2452 2452
 }
2453 2453
 
2454 2454
 /**
@@ -2458,19 +2458,19 @@  discard block
 block discarded – undo
2458 2458
  *
2459 2459
  * @return array
2460 2460
  */
2461
-function sd_build_aui_styles( $args ) {
2461
+function sd_build_aui_styles($args) {
2462 2462
 
2463 2463
 	$styles = array();
2464 2464
 
2465 2465
 	// background color
2466
-	if ( ! empty( $args['bg'] ) && $args['bg'] !== '' ) {
2467
-		if ( $args['bg'] == 'custom-color' ) {
2466
+	if (!empty($args['bg']) && $args['bg'] !== '') {
2467
+		if ($args['bg'] == 'custom-color') {
2468 2468
 			$styles['background-color'] = $args['bg_color'];
2469
-		} elseif ( $args['bg'] == 'custom-gradient' ) {
2469
+		} elseif ($args['bg'] == 'custom-gradient') {
2470 2470
 			$styles['background-image'] = $args['bg_gradient'];
2471 2471
 
2472 2472
 			// use background on text.
2473
-			if ( ! empty( $args['bg_on_text'] ) && $args['bg_on_text'] ) {
2473
+			if (!empty($args['bg_on_text']) && $args['bg_on_text']) {
2474 2474
 				$styles['background-clip']         = 'text';
2475 2475
 				$styles['-webkit-background-clip'] = 'text';
2476 2476
 				$styles['text-fill-color']         = 'transparent';
@@ -2479,67 +2479,67 @@  discard block
 block discarded – undo
2479 2479
 		}
2480 2480
 	}
2481 2481
 
2482
-	if ( ! empty( $args['bg_image'] ) && $args['bg_image'] !== '' ) {
2482
+	if (!empty($args['bg_image']) && $args['bg_image'] !== '') {
2483 2483
 		$hasImage = true;
2484
-		if ( ! empty( $styles['background-color'] ) && $args['bg'] == 'custom-color' ) {
2484
+		if (!empty($styles['background-color']) && $args['bg'] == 'custom-color') {
2485 2485
 			$styles['background-image']      = 'url(' . $args['bg_image'] . ')';
2486 2486
 			$styles['background-blend-mode'] = 'overlay';
2487
-		} elseif ( ! empty( $styles['background-image'] ) && $args['bg'] == 'custom-gradient' ) {
2487
+		} elseif (!empty($styles['background-image']) && $args['bg'] == 'custom-gradient') {
2488 2488
 			$styles['background-image'] .= ',url(' . $args['bg_image'] . ')';
2489
-		} elseif ( ! empty( $args['bg'] ) && $args['bg'] != '' && $args['bg'] != 'transparent' ) {
2489
+		} elseif (!empty($args['bg']) && $args['bg'] != '' && $args['bg'] != 'transparent') {
2490 2490
 			// do nothing as we alreay have a preset
2491 2491
 			$hasImage = false;
2492 2492
 		} else {
2493 2493
 			$styles['background-image'] = 'url(' . $args['bg_image'] . ')';
2494 2494
 		}
2495 2495
 
2496
-		if ( $hasImage ) {
2496
+		if ($hasImage) {
2497 2497
 			$styles['background-size'] = 'cover';
2498 2498
 
2499
-			if ( ! empty( $args['bg_image_fixed'] ) && $args['bg_image_fixed'] ) {
2499
+			if (!empty($args['bg_image_fixed']) && $args['bg_image_fixed']) {
2500 2500
 				$styles['background-attachment'] = 'fixed';
2501 2501
 			}
2502 2502
 		}
2503 2503
 
2504
-		if ( $hasImage && ! empty( $args['bg_image_xy'] ) && ! empty( $args['bg_image_xy']['x'] ) ) {
2505
-			$styles['background-position'] = ( $args['bg_image_xy']['x'] * 100 ) . '% ' . ( $args['bg_image_xy']['y'] * 100 ) . '%';
2504
+		if ($hasImage && !empty($args['bg_image_xy']) && !empty($args['bg_image_xy']['x'])) {
2505
+			$styles['background-position'] = ($args['bg_image_xy']['x'] * 100) . '% ' . ($args['bg_image_xy']['y'] * 100) . '%';
2506 2506
 		}
2507 2507
 	}
2508 2508
 
2509 2509
 	// sticky offset top
2510
-	if ( ! empty( $args['sticky_offset_top'] ) && $args['sticky_offset_top'] !== '' ) {
2511
-		$styles['top'] = absint( $args['sticky_offset_top'] );
2510
+	if (!empty($args['sticky_offset_top']) && $args['sticky_offset_top'] !== '') {
2511
+		$styles['top'] = absint($args['sticky_offset_top']);
2512 2512
 	}
2513 2513
 
2514 2514
 	// sticky offset bottom
2515
-	if ( ! empty( $args['sticky_offset_bottom'] ) && $args['sticky_offset_bottom'] !== '' ) {
2516
-		$styles['bottom'] = absint( $args['sticky_offset_bottom'] );
2515
+	if (!empty($args['sticky_offset_bottom']) && $args['sticky_offset_bottom'] !== '') {
2516
+		$styles['bottom'] = absint($args['sticky_offset_bottom']);
2517 2517
 	}
2518 2518
 
2519 2519
 	// font size
2520
-	if ( ! empty( $args['font_size_custom'] ) && $args['font_size_custom'] !== '' ) {
2520
+	if (!empty($args['font_size_custom']) && $args['font_size_custom'] !== '') {
2521 2521
 		$styles['font-size'] = (float) $args['font_size_custom'] . 'rem';
2522 2522
 	}
2523 2523
 
2524 2524
 	// font color
2525
-	if ( ! empty( $args['text_color_custom'] ) && $args['text_color_custom'] !== '' ) {
2526
-		$styles['color'] = esc_attr( $args['text_color_custom'] );
2525
+	if (!empty($args['text_color_custom']) && $args['text_color_custom'] !== '') {
2526
+		$styles['color'] = esc_attr($args['text_color_custom']);
2527 2527
 	}
2528 2528
 
2529 2529
 	// font line height
2530
-	if ( ! empty( $args['font_line_height'] ) && $args['font_line_height'] !== '' ) {
2531
-		$styles['line-height'] = esc_attr( $args['font_line_height'] );
2530
+	if (!empty($args['font_line_height']) && $args['font_line_height'] !== '') {
2531
+		$styles['line-height'] = esc_attr($args['font_line_height']);
2532 2532
 	}
2533 2533
 
2534 2534
 	// max height
2535
-	if ( ! empty( $args['max_height'] ) && $args['max_height'] !== '' ) {
2536
-		$styles['max-height'] = esc_attr( $args['max_height'] );
2535
+	if (!empty($args['max_height']) && $args['max_height'] !== '') {
2536
+		$styles['max-height'] = esc_attr($args['max_height']);
2537 2537
 	}
2538 2538
 
2539 2539
 	$style_string = '';
2540
-	if ( ! empty( $styles ) ) {
2541
-		foreach ( $styles as $key => $val ) {
2542
-			$style_string .= esc_attr( $key ) . ':' . esc_attr( $val ) . ';';
2540
+	if (!empty($styles)) {
2541
+		foreach ($styles as $key => $val) {
2542
+			$style_string .= esc_attr($key) . ':' . esc_attr($val) . ';';
2543 2543
 		}
2544 2544
 	}
2545 2545
 
@@ -2555,28 +2555,28 @@  discard block
 block discarded – undo
2555 2555
  *
2556 2556
  * @return string
2557 2557
  */
2558
-function sd_build_hover_styles( $args, $is_preview = false ) {
2558
+function sd_build_hover_styles($args, $is_preview = false) {
2559 2559
 	$rules = '';
2560 2560
 	// text color
2561
-	if ( ! empty( $args['styleid'] ) ) {
2562
-		$styleid = $is_preview ? 'html .editor-styles-wrapper .' . esc_attr( $args['styleid'] ) : 'html .' . esc_attr( $args['styleid'] );
2561
+	if (!empty($args['styleid'])) {
2562
+		$styleid = $is_preview ? 'html .editor-styles-wrapper .' . esc_attr($args['styleid']) : 'html .' . esc_attr($args['styleid']);
2563 2563
 
2564 2564
 		// text
2565
-		if ( ! empty( $args['text_color_hover'] ) ) {
2566
-			$key    = 'custom' === $args['text_color_hover'] && ! empty( $args['text_color_hover_custom'] ) ? 'text_color_hover_custom' : 'text_color_hover';
2567
-			$color  = sd_get_color_from_var( $args[ $key ] );
2565
+		if (!empty($args['text_color_hover'])) {
2566
+			$key    = 'custom' === $args['text_color_hover'] && !empty($args['text_color_hover_custom']) ? 'text_color_hover_custom' : 'text_color_hover';
2567
+			$color  = sd_get_color_from_var($args[$key]);
2568 2568
 			$rules .= $styleid . ':hover {color: ' . $color . ' !important;} ';
2569 2569
 		}
2570 2570
 
2571 2571
 		// bg
2572
-		if ( ! empty( $args['bg_hover'] ) ) {
2573
-			if ( 'custom-gradient' === $args['bg_hover'] ) {
2572
+		if (!empty($args['bg_hover'])) {
2573
+			if ('custom-gradient' === $args['bg_hover']) {
2574 2574
 				$color  = $args['bg_hover_gradient'];
2575 2575
 				$rules .= $styleid . ':hover {background-image: ' . $color . ' !important;} ';
2576 2576
 				$rules .= $styleid . '.btn:hover {border-color: transparent !important;} ';
2577 2577
 			} else {
2578 2578
 				$key    = 'custom-color' === $args['bg_hover'] ? 'bg_hover_color' : 'bg_hover';
2579
-				$color  = sd_get_color_from_var( $args[ $key ] );
2579
+				$color  = sd_get_color_from_var($args[$key]);
2580 2580
 				$rules .= $styleid . ':hover {background: ' . $color . ' !important;} ';
2581 2581
 				$rules .= $styleid . '.btn:hover {border-color: ' . $color . ' !important;} ';
2582 2582
 			}
@@ -2593,11 +2593,11 @@  discard block
 block discarded – undo
2593 2593
  *
2594 2594
  * @return mixed|string
2595 2595
  */
2596
-function sd_get_color_from_var( $var ) {
2596
+function sd_get_color_from_var($var) {
2597 2597
 
2598 2598
 	//sanitize_hex_color() @todo this does not cover transparency
2599
-	if ( strpos( $var, '#' ) === false ) {
2600
-		$var = defined( 'BLOCKSTRAP_BLOCKS_VERSION' ) ? 'var(--wp--preset--color--' . esc_attr( $var ) . ')' : 'var(--' . esc_attr( $var ) . ')';
2599
+	if (strpos($var, '#') === false) {
2600
+		$var = defined('BLOCKSTRAP_BLOCKS_VERSION') ? 'var(--wp--preset--color--' . esc_attr($var) . ')' : 'var(--' . esc_attr($var) . ')';
2601 2601
 	}
2602 2602
 
2603 2603
 	return $var;
@@ -2611,16 +2611,16 @@  discard block
 block discarded – undo
2611 2611
  *
2612 2612
  * @return string
2613 2613
  */
2614
-function sd_sanitize_html_classes( $classes, $sep = ' ' ) {
2614
+function sd_sanitize_html_classes($classes, $sep = ' ') {
2615 2615
 	$return = '';
2616 2616
 
2617
-	if ( ! is_array( $classes ) ) {
2618
-		$classes = explode( $sep, $classes );
2617
+	if (!is_array($classes)) {
2618
+		$classes = explode($sep, $classes);
2619 2619
 	}
2620 2620
 
2621
-	if ( ! empty( $classes ) ) {
2622
-		foreach ( $classes as $class ) {
2623
-			$return .= sanitize_html_class( $class ) . ' ';
2621
+	if (!empty($classes)) {
2622
+		foreach ($classes as $class) {
2623
+			$return .= sanitize_html_class($class) . ' ';
2624 2624
 		}
2625 2625
 	}
2626 2626
 
@@ -2665,7 +2665,7 @@  discard block
 block discarded – undo
2665 2665
 		'float-MTD'
2666 2666
 	);
2667 2667
 
2668
-	return apply_filters( 'sd_class_build_keys', $keys );
2668
+	return apply_filters('sd_class_build_keys', $keys);
2669 2669
 }
2670 2670
 
2671 2671
 /**
@@ -2676,17 +2676,17 @@  discard block
 block discarded – undo
2676 2676
  *
2677 2677
  * @return array
2678 2678
  */
2679
-function sd_get_visibility_conditions_input( $type = 'visibility_conditions', $overwrite = array() ) {
2679
+function sd_get_visibility_conditions_input($type = 'visibility_conditions', $overwrite = array()) {
2680 2680
 	$defaults = array(
2681 2681
 		'type'         => 'visibility_conditions',
2682
-		'title'        => __( 'Block Visibility', 'super-duper' ),
2683
-		'button_title' => __( 'Set Block Visibility', 'super-duper' ),
2682
+		'title'        => __('Block Visibility', 'super-duper'),
2683
+		'button_title' => __('Set Block Visibility', 'super-duper'),
2684 2684
 		'default'      => '',
2685 2685
 		'desc_tip'     => true,
2686
-		'group'        => __( 'Visibility Conditions', 'super-duper' ),
2686
+		'group'        => __('Visibility Conditions', 'super-duper'),
2687 2687
 	);
2688 2688
 
2689
-	$input = wp_parse_args( $overwrite, $defaults );
2689
+	$input = wp_parse_args($overwrite, $defaults);
2690 2690
 
2691 2691
 	return $input;
2692 2692
 }
@@ -2699,22 +2699,22 @@  discard block
 block discarded – undo
2699 2699
  * @param array $exclude An array of roles to exclude from the return array.
2700 2700
  * @return array An array of roles.
2701 2701
  */
2702
-function sd_user_roles_options( $exclude = array() ) {
2702
+function sd_user_roles_options($exclude = array()) {
2703 2703
 	$user_roles = array();
2704 2704
 
2705
-	if ( !function_exists('get_editable_roles') ) {
2706
-		require_once( ABSPATH . '/wp-admin/includes/user.php' );
2705
+	if (!function_exists('get_editable_roles')) {
2706
+		require_once(ABSPATH . '/wp-admin/includes/user.php');
2707 2707
 	}
2708 2708
 
2709 2709
 	$roles = get_editable_roles();
2710 2710
 
2711
-	foreach ( $roles as $role => $data ) {
2712
-		if ( ! ( ! empty( $exclude ) && in_array( $role, $exclude ) ) ) {
2713
-			$user_roles[ esc_attr( $role ) ] = translate_user_role( $data['name'] );
2711
+	foreach ($roles as $role => $data) {
2712
+		if (!(!empty($exclude) && in_array($role, $exclude))) {
2713
+			$user_roles[esc_attr($role)] = translate_user_role($data['name']);
2714 2714
 		}
2715 2715
 	}
2716 2716
 
2717
-	return apply_filters( 'sd_user_roles_options', $user_roles );
2717
+	return apply_filters('sd_user_roles_options', $user_roles);
2718 2718
 }
2719 2719
 
2720 2720
 /**
@@ -2726,16 +2726,16 @@  discard block
 block discarded – undo
2726 2726
  */
2727 2727
 function sd_visibility_rules_options() {
2728 2728
 	$options = array(
2729
-		'logged_in'  => __( 'Logged In', 'super-duper' ),
2730
-		'logged_out' => __( 'Logged Out', 'super-duper' ),
2731
-		'user_roles' => __( 'Specific User Roles', 'super-duper' )
2729
+		'logged_in'  => __('Logged In', 'super-duper'),
2730
+		'logged_out' => __('Logged Out', 'super-duper'),
2731
+		'user_roles' => __('Specific User Roles', 'super-duper')
2732 2732
 	);
2733 2733
 
2734
-	if ( class_exists( 'GeoDirectory' ) ) {
2735
-		$options['gd_field'] = __( 'GD Field', 'super-duper' );
2734
+	if (class_exists('GeoDirectory')) {
2735
+		$options['gd_field'] = __('GD Field', 'super-duper');
2736 2736
 	}
2737 2737
 
2738
-	return apply_filters( 'sd_visibility_rules_options', $options );
2738
+	return apply_filters('sd_visibility_rules_options', $options);
2739 2739
 }
2740 2740
 
2741 2741
 /**
@@ -2743,38 +2743,38 @@  discard block
 block discarded – undo
2743 2743
  *
2744 2744
  * @return array
2745 2745
  */
2746
-function sd_visibility_gd_field_options(){
2747
-	$fields = geodir_post_custom_fields( '', 'all', 'all', 'none' );
2746
+function sd_visibility_gd_field_options() {
2747
+	$fields = geodir_post_custom_fields('', 'all', 'all', 'none');
2748 2748
 
2749 2749
 	$keys = array();
2750
-	if ( ! empty( $fields ) ) {
2751
-		foreach( $fields as $field ) {
2752
-			if ( apply_filters( 'geodir_badge_field_skip_key', false, $field ) ) {
2750
+	if (!empty($fields)) {
2751
+		foreach ($fields as $field) {
2752
+			if (apply_filters('geodir_badge_field_skip_key', false, $field)) {
2753 2753
 				continue;
2754 2754
 			}
2755 2755
 
2756
-			$keys[ $field['htmlvar_name'] ] = $field['htmlvar_name'] . ' ( ' . __( $field['admin_title'], 'geodirectory' ) . ' )';
2756
+			$keys[$field['htmlvar_name']] = $field['htmlvar_name'] . ' ( ' . __($field['admin_title'], 'geodirectory') . ' )';
2757 2757
 
2758 2758
 			// Extra address fields
2759
-			if ( $field['htmlvar_name'] == 'address' && ( $address_fields = geodir_post_meta_address_fields( '' ) ) ) {
2760
-				foreach ( $address_fields as $_field => $args ) {
2761
-					if ( $_field != 'map_directions' && $_field != 'street' ) {
2762
-						$keys[ $_field ] = $_field . ' ( ' . $args['frontend_title'] . ' )';
2759
+			if ($field['htmlvar_name'] == 'address' && ($address_fields = geodir_post_meta_address_fields(''))) {
2760
+				foreach ($address_fields as $_field => $args) {
2761
+					if ($_field != 'map_directions' && $_field != 'street') {
2762
+						$keys[$_field] = $_field . ' ( ' . $args['frontend_title'] . ' )';
2763 2763
 					}
2764 2764
 				}
2765 2765
 			}
2766 2766
 		}
2767 2767
 	}
2768 2768
 
2769
-	$keys['post_date'] = 'post_date ( ' . __( 'post date', 'geodirectory' ) . ' )';
2770
-	$keys['post_modified'] = 'post_modified ( ' . __( 'post modified', 'geodirectory' ) . ' )';
2771
-	$keys['default_category'] = 'default_category ( ' . __( 'Default Category', 'geodirectory' ) . ' )';
2772
-	$keys['post_id'] = 'post_id ( ' . __( 'post id', 'geodirectory' ) . ' )';
2773
-	$keys['post_status'] = 'post_status ( ' . __( 'Post Status', 'geodirectory' ) . ' )';
2769
+	$keys['post_date'] = 'post_date ( ' . __('post date', 'geodirectory') . ' )';
2770
+	$keys['post_modified'] = 'post_modified ( ' . __('post modified', 'geodirectory') . ' )';
2771
+	$keys['default_category'] = 'default_category ( ' . __('Default Category', 'geodirectory') . ' )';
2772
+	$keys['post_id'] = 'post_id ( ' . __('post id', 'geodirectory') . ' )';
2773
+	$keys['post_status'] = 'post_status ( ' . __('Post Status', 'geodirectory') . ' )';
2774 2774
 
2775
-	$options = apply_filters( 'geodir_badge_field_keys', $keys );
2775
+	$options = apply_filters('geodir_badge_field_keys', $keys);
2776 2776
 
2777
-	return apply_filters( 'sd_visibility_gd_field_options', $options );
2777
+	return apply_filters('sd_visibility_gd_field_options', $options);
2778 2778
 }
2779 2779
 
2780 2780
 /**
@@ -2782,19 +2782,19 @@  discard block
 block discarded – undo
2782 2782
  *
2783 2783
  * @return array
2784 2784
  */
2785
-function sd_visibility_field_condition_options(){
2785
+function sd_visibility_field_condition_options() {
2786 2786
 	$options = array(
2787
-		'is_empty' => __( 'is empty', 'super-duper' ),
2788
-		'is_not_empty' => __( 'is not empty', 'super-duper' ),
2789
-		'is_equal' => __( 'is equal', 'super-duper' ),
2790
-		'is_not_equal' => __( 'is not equal', 'super-duper' ),
2791
-		'is_greater_than' => __( 'is greater than', 'super-duper' ),
2792
-		'is_less_than' => __( 'is less than', 'super-duper' ),
2793
-		'is_contains' => __( 'is contains', 'super-duper' ),
2794
-		'is_not_contains' => __( 'is not contains', 'super-duper' ),
2787
+		'is_empty' => __('is empty', 'super-duper'),
2788
+		'is_not_empty' => __('is not empty', 'super-duper'),
2789
+		'is_equal' => __('is equal', 'super-duper'),
2790
+		'is_not_equal' => __('is not equal', 'super-duper'),
2791
+		'is_greater_than' => __('is greater than', 'super-duper'),
2792
+		'is_less_than' => __('is less than', 'super-duper'),
2793
+		'is_contains' => __('is contains', 'super-duper'),
2794
+		'is_not_contains' => __('is not contains', 'super-duper'),
2795 2795
 	);
2796 2796
 
2797
-	return apply_filters( 'sd_visibility_field_condition_options', $options );
2797
+	return apply_filters('sd_visibility_field_condition_options', $options);
2798 2798
 }
2799 2799
 
2800 2800
 /**
@@ -2806,13 +2806,13 @@  discard block
 block discarded – undo
2806 2806
  */
2807 2807
 function sd_visibility_output_options() {
2808 2808
 	$options = array(
2809
-		'hide'          => __( 'Hide Block', 'super-duper' ),
2810
-		'message'       => __( 'Show Custom Message', 'super-duper' ),
2811
-		'page'          => __( 'Show Page Content', 'super-duper' ),
2812
-		'template_part' => __( 'Show Template Part', 'super-duper' ),
2809
+		'hide'          => __('Hide Block', 'super-duper'),
2810
+		'message'       => __('Show Custom Message', 'super-duper'),
2811
+		'page'          => __('Show Page Content', 'super-duper'),
2812
+		'template_part' => __('Show Template Part', 'super-duper'),
2813 2813
 	);
2814 2814
 
2815
-	return apply_filters( 'sd_visibility_output_options', $options );
2815
+	return apply_filters('sd_visibility_output_options', $options);
2816 2816
 }
2817 2817
 
2818 2818
 /**
@@ -2823,46 +2823,46 @@  discard block
 block discarded – undo
2823 2823
  * @param array $args Array of arguments.
2824 2824
  * @return array Template page options.
2825 2825
  */
2826
-function sd_template_page_options( $args = array() ) {
2826
+function sd_template_page_options($args = array()) {
2827 2827
 	global $sd_tmpl_page_options;
2828 2828
 
2829
-	if ( ! empty( $sd_tmpl_page_options ) ) {
2829
+	if (!empty($sd_tmpl_page_options)) {
2830 2830
 		return $sd_tmpl_page_options;
2831 2831
 	}
2832 2832
 
2833
-	$args = wp_parse_args( $args, array(
2833
+	$args = wp_parse_args($args, array(
2834 2834
 		'child_of'    => 0,
2835 2835
 		'sort_column' => 'post_title',
2836 2836
 		'sort_order'  => 'ASC'
2837
-	) );
2837
+	));
2838 2838
 
2839 2839
 	$exclude_pages = array();
2840
-	if ( $page_on_front = get_option( 'page_on_front' ) ) {
2840
+	if ($page_on_front = get_option('page_on_front')) {
2841 2841
 		$exclude_pages[] = $page_on_front;
2842 2842
 	}
2843 2843
 
2844
-	if ( $page_for_posts = get_option( 'page_for_posts' ) ) {
2844
+	if ($page_for_posts = get_option('page_for_posts')) {
2845 2845
 		$exclude_pages[] = $page_for_posts;
2846 2846
 	}
2847 2847
 
2848
-	if ( ! empty( $exclude_pages ) ) {
2848
+	if (!empty($exclude_pages)) {
2849 2849
 		$args['exclude'] = $exclude_pages;
2850 2850
 	}
2851 2851
 
2852
-	$pages = get_pages( $args );
2852
+	$pages = get_pages($args);
2853 2853
 
2854
-	$options = array( '' => __( 'Select Page...', 'super-duper' ) );
2855
-	if ( ! empty( $pages ) ) {
2856
-		foreach ( $pages as $page ) {
2857
-			if ( ! empty( $page->ID ) && ! empty( $page->post_title ) ) {
2858
-				$options[ $page->ID ] = $page->post_title . ' (#' . $page->ID . ')';
2854
+	$options = array('' => __('Select Page...', 'super-duper'));
2855
+	if (!empty($pages)) {
2856
+		foreach ($pages as $page) {
2857
+			if (!empty($page->ID) && !empty($page->post_title)) {
2858
+				$options[$page->ID] = $page->post_title . ' (#' . $page->ID . ')';
2859 2859
 			}
2860 2860
 		}
2861 2861
 	}
2862 2862
 
2863 2863
 	$sd_tmpl_page_options = $options;
2864 2864
 
2865
-	return apply_filters( 'sd_template_page_options', $options );
2865
+	return apply_filters('sd_template_page_options', $options);
2866 2866
 }
2867 2867
 
2868 2868
 /**
@@ -2873,26 +2873,26 @@  discard block
 block discarded – undo
2873 2873
  * @param array $args Array of arguments.
2874 2874
  * @return array Template part options.
2875 2875
  */
2876
-function sd_template_part_options( $args = array() ) {
2876
+function sd_template_part_options($args = array()) {
2877 2877
 	global $sd_tmpl_part_options;
2878 2878
 
2879
-	if ( ! empty( $sd_tmpl_part_options ) ) {
2879
+	if (!empty($sd_tmpl_part_options)) {
2880 2880
 		return $sd_tmpl_part_options;
2881 2881
 	}
2882 2882
 
2883
-	$options = array( '' => __( 'Select Template Part...', 'super-duper' ) );
2883
+	$options = array('' => __('Select Template Part...', 'super-duper'));
2884 2884
 
2885
-	$parts = get_block_templates( array(), 'wp_template_part' );
2885
+	$parts = get_block_templates(array(), 'wp_template_part');
2886 2886
 
2887
-	if ( ! empty( $parts ) ) {
2888
-		foreach ( $parts as $part ) {
2889
-			$options[ $part->slug ] = $part->title . ' (#' . $part->slug . ')';
2887
+	if (!empty($parts)) {
2888
+		foreach ($parts as $part) {
2889
+			$options[$part->slug] = $part->title . ' (#' . $part->slug . ')';
2890 2890
 		}
2891 2891
 	}
2892 2892
 
2893 2893
 	$sd_tmpl_part_options = $options;
2894 2894
 
2895
-	return apply_filters( 'sd_template_part_options', $options, $args );
2895
+	return apply_filters('sd_template_part_options', $options, $args);
2896 2896
 }
2897 2897
 
2898 2898
 /**
@@ -2903,26 +2903,26 @@  discard block
 block discarded – undo
2903 2903
  * @param string $slug Template slug.
2904 2904
  * @return array Template part object.
2905 2905
  */
2906
-function sd_get_template_part_by_slug( $slug ) {
2906
+function sd_get_template_part_by_slug($slug) {
2907 2907
 	global $bs_tmpl_part_by_slug;
2908 2908
 
2909
-	if ( empty( $bs_tmpl_part_by_slug ) ) {
2909
+	if (empty($bs_tmpl_part_by_slug)) {
2910 2910
 		$bs_tmpl_part_by_slug = array();
2911 2911
 	}
2912 2912
 
2913
-	if ( isset( $bs_tmpl_part_by_slug[ $slug ] ) ) {
2914
-		return $bs_tmpl_part_by_slug[ $slug ];
2913
+	if (isset($bs_tmpl_part_by_slug[$slug])) {
2914
+		return $bs_tmpl_part_by_slug[$slug];
2915 2915
 	}
2916 2916
 
2917
-	$template_query = get_block_templates( array( 'slug__in' => array( $slug ) ), 'wp_template_part' );
2917
+	$template_query = get_block_templates(array('slug__in' => array($slug)), 'wp_template_part');
2918 2918
 
2919
-	$query_post = ! empty( $template_query ) ? $template_query[0] : array();
2919
+	$query_post = !empty($template_query) ? $template_query[0] : array();
2920 2920
 
2921
-	$template_part = ! empty( $query_post ) && $query_post->status == 'publish' ? $query_post : array();
2921
+	$template_part = !empty($query_post) && $query_post->status == 'publish' ? $query_post : array();
2922 2922
 
2923
-	$bs_tmpl_part_by_slug[ $slug ] = $template_part;
2923
+	$bs_tmpl_part_by_slug[$slug] = $template_part;
2924 2924
 
2925
-	return apply_filters( 'sd_get_template_part_by_slug', $template_part, $slug );
2925
+	return apply_filters('sd_get_template_part_by_slug', $template_part, $slug);
2926 2926
 }
2927 2927
 
2928 2928
 /**
@@ -2934,25 +2934,25 @@  discard block
 block discarded – undo
2934 2934
  * @param array    $block         The full block, including name and attributes.
2935 2935
  * @param WP_Block $instance      The block instance.
2936 2936
  */
2937
-function sd_render_block( $block_content, $block, $instance = '' ) {
2937
+function sd_render_block($block_content, $block, $instance = '') {
2938 2938
 	// No block visibility conditions set.
2939
-	if ( empty( $block['attrs']['visibility_conditions'] ) ) {
2939
+	if (empty($block['attrs']['visibility_conditions'])) {
2940 2940
 		return $block_content;
2941 2941
 	}
2942 2942
 
2943
-	$attributes = json_decode( $block['attrs']['visibility_conditions'], true );
2944
-	$rules = ! empty( $attributes ) ? sd_block_parse_rules( $attributes ) : array();
2943
+	$attributes = json_decode($block['attrs']['visibility_conditions'], true);
2944
+	$rules = !empty($attributes) ? sd_block_parse_rules($attributes) : array();
2945 2945
 
2946 2946
 	// No rules set.
2947
-	if ( empty( $rules ) ) {
2947
+	if (empty($rules)) {
2948 2948
 		return $block_content;
2949 2949
 	}
2950 2950
 
2951 2951
 	$_block_content = $block_content;
2952 2952
 
2953
-	if ( ! empty( $rules ) && sd_block_check_rules( $rules ) ) {
2954
-		if ( ! empty( $attributes['output']['type'] ) ) {
2955
-			switch ( $attributes['output']['type'] ) {
2953
+	if (!empty($rules) && sd_block_check_rules($rules)) {
2954
+		if (!empty($attributes['output']['type'])) {
2955
+			switch ($attributes['output']['type']) {
2956 2956
 				case 'hide':
2957 2957
 					$valid_type = true;
2958 2958
 					$content = '';
@@ -2961,11 +2961,11 @@  discard block
 block discarded – undo
2961 2961
 				case 'message':
2962 2962
 					$valid_type = true;
2963 2963
 
2964
-					if ( isset( $attributes['output']['message'] ) ) {
2965
-						$content = $attributes['output']['message'] != '' ? __( stripslashes( $attributes['output']['message'] ), 'super-duper' ) : $attributes['output']['message'];
2964
+					if (isset($attributes['output']['message'])) {
2965
+						$content = $attributes['output']['message'] != '' ? __(stripslashes($attributes['output']['message']), 'super-duper') : $attributes['output']['message'];
2966 2966
 
2967
-						if ( ! empty( $attributes['output']['message_type'] ) ) {
2968
-							$content = aui()->alert( array(
2967
+						if (!empty($attributes['output']['message_type'])) {
2968
+							$content = aui()->alert(array(
2969 2969
 									'type'=> $attributes['output']['message_type'],
2970 2970
 									'content'=> $content
2971 2971
 								)
@@ -2977,15 +2977,15 @@  discard block
 block discarded – undo
2977 2977
 				case 'page':
2978 2978
 					$valid_type = true;
2979 2979
 
2980
-					$page_id = ! empty( $attributes['output']['page'] ) ? absint( $attributes['output']['page'] ) : 0;
2981
-					$content = sd_get_page_content( $page_id );
2980
+					$page_id = !empty($attributes['output']['page']) ? absint($attributes['output']['page']) : 0;
2981
+					$content = sd_get_page_content($page_id);
2982 2982
 
2983 2983
 					break;
2984 2984
 				case 'template_part':
2985 2985
 					$valid_type = true;
2986 2986
 
2987
-					$template_part = ! empty( $attributes['output']['template_part'] ) ? $attributes['output']['template_part'] : '';
2988
-					$content = sd_get_template_part_content( $template_part );
2987
+					$template_part = !empty($attributes['output']['template_part']) ? $attributes['output']['template_part'] : '';
2988
+					$content = sd_get_template_part_content($template_part);
2989 2989
 
2990 2990
 					break;
2991 2991
 				default:
@@ -2993,115 +2993,115 @@  discard block
 block discarded – undo
2993 2993
 					break;
2994 2994
 			}
2995 2995
 
2996
-			if ( $valid_type ) {
2997
-				$block_content = '<div class="' . esc_attr( wp_get_block_default_classname( $instance->name ) ) . ' sd-block-has-rule">' . $content . '</div>';
2996
+			if ($valid_type) {
2997
+				$block_content = '<div class="' . esc_attr(wp_get_block_default_classname($instance->name)) . ' sd-block-has-rule">' . $content . '</div>';
2998 2998
 			}
2999 2999
 		}
3000 3000
 	}
3001 3001
 
3002
-	return apply_filters( 'sd_render_block_visibility_content', $block_content, $_block_content, $attributes, $block, $instance );
3002
+	return apply_filters('sd_render_block_visibility_content', $block_content, $_block_content, $attributes, $block, $instance);
3003 3003
 }
3004
-add_filter( 'render_block', 'sd_render_block', 9, 3 );
3004
+add_filter('render_block', 'sd_render_block', 9, 3);
3005 3005
 
3006
-function sd_get_page_content( $page_id ) {
3007
-	$content = $page_id > 0 ? get_post_field( 'post_content', (int) $page_id ) : '';
3006
+function sd_get_page_content($page_id) {
3007
+	$content = $page_id > 0 ? get_post_field('post_content', (int) $page_id) : '';
3008 3008
 
3009 3009
 	// Maybe bypass content
3010
-	$bypass_content = apply_filters( 'sd_bypass_page_content', '', $content, $page_id );
3011
-	if ( $bypass_content ) {
3010
+	$bypass_content = apply_filters('sd_bypass_page_content', '', $content, $page_id);
3011
+	if ($bypass_content) {
3012 3012
 		return $bypass_content;
3013 3013
 	}
3014 3014
 
3015 3015
 	// Run the shortcodes on the content.
3016
-	$content = do_shortcode( $content );
3016
+	$content = do_shortcode($content);
3017 3017
 
3018 3018
 	// Run block content if its available.
3019
-	if ( function_exists( 'do_blocks' ) ) {
3020
-		$content = do_blocks( $content );
3019
+	if (function_exists('do_blocks')) {
3020
+		$content = do_blocks($content);
3021 3021
 	}
3022 3022
 
3023
-	return apply_filters( 'sd_get_page_content', $content, $page_id );
3023
+	return apply_filters('sd_get_page_content', $content, $page_id);
3024 3024
 }
3025 3025
 
3026
-function sd_get_template_part_content( $template_part ) {
3027
-	$template_part_post = $template_part ? sd_get_template_part_by_slug( $template_part ) : array();
3028
-	$content = ! empty( $template_part_post ) ? $template_part_post->content : '';
3026
+function sd_get_template_part_content($template_part) {
3027
+	$template_part_post = $template_part ? sd_get_template_part_by_slug($template_part) : array();
3028
+	$content = !empty($template_part_post) ? $template_part_post->content : '';
3029 3029
 
3030 3030
 	// Maybe bypass content
3031
-	$bypass_content = apply_filters( 'sd_bypass_template_part_content', '', $content, $template_part );
3032
-	if ( $bypass_content ) {
3031
+	$bypass_content = apply_filters('sd_bypass_template_part_content', '', $content, $template_part);
3032
+	if ($bypass_content) {
3033 3033
 		return $bypass_content;
3034 3034
 	}
3035 3035
 
3036 3036
 	// Run the shortcodes on the content.
3037
-	$content = do_shortcode( $content );
3037
+	$content = do_shortcode($content);
3038 3038
 
3039 3039
 	// Run block content if its available.
3040
-	if ( function_exists( 'do_blocks' ) ) {
3041
-		$content = do_blocks( $content );
3040
+	if (function_exists('do_blocks')) {
3041
+		$content = do_blocks($content);
3042 3042
 	}
3043 3043
 
3044
-	return apply_filters( 'sd_get_template_part_content', $content, $template_part );
3044
+	return apply_filters('sd_get_template_part_content', $content, $template_part);
3045 3045
 }
3046 3046
 
3047
-function sd_block_parse_rules( $attrs ) {
3047
+function sd_block_parse_rules($attrs) {
3048 3048
 	$rules = array();
3049 3049
 
3050
-	if ( ! empty( $attrs ) && is_array( $attrs ) ) {
3051
-		$attrs_keys = array_keys( $attrs );
3050
+	if (!empty($attrs) && is_array($attrs)) {
3051
+		$attrs_keys = array_keys($attrs);
3052 3052
 
3053
-		for ( $i = 1; $i <= count( $attrs_keys ); $i++ ) {
3054
-			if ( ! empty( $attrs[ 'rule' . $i ] ) && is_array( $attrs[ 'rule' . $i ] ) ) {
3055
-				$rules[] = $attrs[ 'rule' . $i ];
3053
+		for ($i = 1; $i <= count($attrs_keys); $i++) {
3054
+			if (!empty($attrs['rule' . $i]) && is_array($attrs['rule' . $i])) {
3055
+				$rules[] = $attrs['rule' . $i];
3056 3056
 			}
3057 3057
 		}
3058 3058
 	}
3059 3059
 
3060
-	return apply_filters( 'sd_block_parse_rules', $rules, $attrs );
3060
+	return apply_filters('sd_block_parse_rules', $rules, $attrs);
3061 3061
 }
3062 3062
 
3063
-function sd_block_check_rules( $rules ) {
3064
-	if ( ! ( is_array( $rules ) && ! empty( $rules ) ) ) {
3063
+function sd_block_check_rules($rules) {
3064
+	if (!(is_array($rules) && !empty($rules))) {
3065 3065
 		return true;
3066 3066
 	}
3067 3067
 
3068
-	foreach ( $rules as $key => $rule ) {
3069
-		$match = apply_filters( 'sd_block_check_rule', true, $rule );
3068
+	foreach ($rules as $key => $rule) {
3069
+		$match = apply_filters('sd_block_check_rule', true, $rule);
3070 3070
 
3071
-		if ( ! $match ) {
3071
+		if (!$match) {
3072 3072
 			break;
3073 3073
 		}
3074 3074
 	}
3075 3075
 
3076
-	return apply_filters( 'sd_block_check_rules', $match, $rules );
3076
+	return apply_filters('sd_block_check_rules', $match, $rules);
3077 3077
 }
3078 3078
 
3079
-function sd_block_check_rule( $match, $rule ) {
3080
-	if ( $match && ! empty( $rule['type'] ) ) {
3081
-		switch ( $rule['type'] ) {
3079
+function sd_block_check_rule($match, $rule) {
3080
+	if ($match && !empty($rule['type'])) {
3081
+		switch ($rule['type']) {
3082 3082
 			case 'logged_in':
3083 3083
 				$match = (bool) is_user_logged_in();
3084 3084
 
3085 3085
 				break;
3086 3086
 			case 'logged_out':
3087
-				$match = ! is_user_logged_in();
3087
+				$match = !is_user_logged_in();
3088 3088
 
3089 3089
 				break;
3090 3090
 			case 'user_roles':
3091 3091
 				$match = false;
3092 3092
 
3093
-				if ( ! empty( $rule['user_roles'] ) ) {
3094
-					$user_roles = is_scalar( $rule['user_roles'] ) ? explode( ",", $rule['user_roles'] ) : $rule['user_roles'];
3093
+				if (!empty($rule['user_roles'])) {
3094
+					$user_roles = is_scalar($rule['user_roles']) ? explode(",", $rule['user_roles']) : $rule['user_roles'];
3095 3095
 
3096
-					if ( is_array( $user_roles ) ) {
3097
-						$user_roles = array_filter( array_map( 'trim', $user_roles ) );
3096
+					if (is_array($user_roles)) {
3097
+						$user_roles = array_filter(array_map('trim', $user_roles));
3098 3098
 					}
3099 3099
 
3100
-					if ( ! empty( $user_roles ) && is_array( $user_roles ) && is_user_logged_in() && ( $current_user = wp_get_current_user() ) ) {
3100
+					if (!empty($user_roles) && is_array($user_roles) && is_user_logged_in() && ($current_user = wp_get_current_user())) {
3101 3101
 						$current_user_roles = $current_user->roles;
3102 3102
 
3103
-						foreach ( $user_roles as $role ) {
3104
-							if ( in_array( $role, $current_user_roles ) ) {
3103
+						foreach ($user_roles as $role) {
3104
+							if (in_array($role, $current_user_roles)) {
3105 3105
 								$match = true;
3106 3106
 							}
3107 3107
 						}
@@ -3110,7 +3110,7 @@  discard block
 block discarded – undo
3110 3110
 
3111 3111
 				break;
3112 3112
 			case 'gd_field':
3113
-				$match = sd_block_check_rule_gd_field( $rule );
3113
+				$match = sd_block_check_rule_gd_field($rule);
3114 3114
 
3115 3115
 				break;
3116 3116
 		}
@@ -3118,181 +3118,181 @@  discard block
 block discarded – undo
3118 3118
 
3119 3119
 	return $match;
3120 3120
 }
3121
-add_filter( 'sd_block_check_rule', 'sd_block_check_rule', 10, 2 );
3121
+add_filter('sd_block_check_rule', 'sd_block_check_rule', 10, 2);
3122 3122
 
3123
-function sd_block_check_rule_gd_field( $rule ) {
3123
+function sd_block_check_rule_gd_field($rule) {
3124 3124
 	global $gd_post;
3125 3125
 
3126 3126
 	$match_found = false;
3127 3127
 
3128
-	if ( class_exists( 'GeoDirectory' ) && ! empty( $gd_post->ID ) && ! empty( $rule['field'] ) && ! empty( $rule['condition'] ) ) {
3128
+	if (class_exists('GeoDirectory') && !empty($gd_post->ID) && !empty($rule['field']) && !empty($rule['condition'])) {
3129 3129
 		$args['block_visibility'] = true;
3130 3130
 		$args['key'] = $rule['field'];
3131 3131
 		$args['condition'] = $rule['condition'];
3132
-		$args['search'] = isset( $rule['search'] ) ? $rule['search'] : '';
3132
+		$args['search'] = isset($rule['search']) ? $rule['search'] : '';
3133 3133
 
3134
-		if ( $args['key'] == 'street' ) {
3134
+		if ($args['key'] == 'street') {
3135 3135
 			$args['key'] = 'address';
3136 3136
 		}
3137 3137
 
3138 3138
 		$match_field = $_match_field = $args['key'];
3139 3139
 
3140
-		if ( $match_field == 'address' ) {
3140
+		if ($match_field == 'address') {
3141 3141
 			$match_field = 'street';
3142
-		} elseif ( $match_field == 'post_images' ) {
3142
+		} elseif ($match_field == 'post_images') {
3143 3143
 			$match_field = 'featured_image';
3144 3144
 		}
3145 3145
 
3146 3146
 		$find_post = $gd_post;
3147
-		$find_post_keys = ! empty( $find_post ) ? array_keys( (array) $find_post ) : array();
3147
+		$find_post_keys = !empty($find_post) ? array_keys((array) $find_post) : array();
3148 3148
 
3149
-		if ( ! empty( $find_post->ID ) && ! in_array( 'post_category', $find_post_keys ) ) {
3150
-			$find_post = geodir_get_post_info( (int) $find_post->ID );
3151
-			$find_post_keys = ! empty( $find_post ) ? array_keys( (array) $find_post ) : array();
3149
+		if (!empty($find_post->ID) && !in_array('post_category', $find_post_keys)) {
3150
+			$find_post = geodir_get_post_info((int) $find_post->ID);
3151
+			$find_post_keys = !empty($find_post) ? array_keys((array) $find_post) : array();
3152 3152
 		}
3153 3153
 
3154
-		if ( $match_field === '' || ( ! empty( $find_post_keys ) && ( in_array( $match_field, $find_post_keys ) || in_array( $_match_field, $find_post_keys ) ) ) ) {
3155
-			$address_fields = array( 'street2', 'neighbourhood', 'city', 'region', 'country', 'zip', 'latitude', 'longitude' ); // Address fields
3154
+		if ($match_field === '' || (!empty($find_post_keys) && (in_array($match_field, $find_post_keys) || in_array($_match_field, $find_post_keys)))) {
3155
+			$address_fields = array('street2', 'neighbourhood', 'city', 'region', 'country', 'zip', 'latitude', 'longitude'); // Address fields
3156 3156
 			$field = array();
3157 3157
 
3158
-			if ( $match_field && ! in_array( $match_field, array( 'post_date', 'post_modified', 'default_category', 'post_id', 'post_status' ) ) && ! in_array( $match_field, $address_fields ) ) {
3159
-				$package_id = geodir_get_post_package_id( $find_post->ID, $find_post->post_type );
3160
-				$fields = geodir_post_custom_fields( $package_id, 'all', $find_post->post_type, 'none' );
3158
+			if ($match_field && !in_array($match_field, array('post_date', 'post_modified', 'default_category', 'post_id', 'post_status')) && !in_array($match_field, $address_fields)) {
3159
+				$package_id = geodir_get_post_package_id($find_post->ID, $find_post->post_type);
3160
+				$fields = geodir_post_custom_fields($package_id, 'all', $find_post->post_type, 'none');
3161 3161
 
3162
-				foreach ( $fields as $field_info ) {
3163
-					if ( $match_field == $field_info['htmlvar_name'] ) {
3162
+				foreach ($fields as $field_info) {
3163
+					if ($match_field == $field_info['htmlvar_name']) {
3164 3164
 						$field = $field_info;
3165 3165
 						break;
3166
-					} elseif( $_match_field == $field_info['htmlvar_name'] ) {
3166
+					} elseif ($_match_field == $field_info['htmlvar_name']) {
3167 3167
 						$field = $field_info;
3168 3168
 						break;
3169 3169
 					}
3170 3170
 				}
3171 3171
 
3172
-				if ( empty( $field ) ) {
3172
+				if (empty($field)) {
3173 3173
 					return false;
3174 3174
 				}
3175 3175
 			}
3176 3176
 
3177 3177
 			// Parse search.
3178
-			$search = sd_gd_field_rule_search( $args['search'], $find_post->post_type, $rule );
3178
+			$search = sd_gd_field_rule_search($args['search'], $find_post->post_type, $rule);
3179 3179
 
3180 3180
 			// Address fields.
3181
-			if ( in_array( $match_field, $address_fields ) && ( $address_fields = geodir_post_meta_address_fields( '' ) ) ) {
3182
-				if ( ! empty( $address_fields[ $match_field ] ) ) {
3183
-					$field = $address_fields[ $match_field ];
3181
+			if (in_array($match_field, $address_fields) && ($address_fields = geodir_post_meta_address_fields(''))) {
3182
+				if (!empty($address_fields[$match_field])) {
3183
+					$field = $address_fields[$match_field];
3184 3184
 				}
3185 3185
 			}
3186 3186
 
3187
-			$is_date = ( ! empty( $field['type'] ) && $field['type'] == 'datepicker' ) || in_array( $match_field, array( 'post_date', 'post_modified' ) ) ? true : false;
3188
-			$is_date = apply_filters( 'geodir_post_badge_is_date', $is_date, $match_field, $field, $args, $find_post );
3187
+			$is_date = (!empty($field['type']) && $field['type'] == 'datepicker') || in_array($match_field, array('post_date', 'post_modified')) ? true : false;
3188
+			$is_date = apply_filters('geodir_post_badge_is_date', $is_date, $match_field, $field, $args, $find_post);
3189 3189
 
3190
-			$match_value = isset($find_post->{$match_field}) ? esc_attr( trim( $find_post->{$match_field} ) ) : '';
3190
+			$match_value = isset($find_post->{$match_field}) ? esc_attr(trim($find_post->{$match_field} )) : '';
3191 3191
 			$match_found = $match_field === '' ? true : false;
3192 3192
 
3193
-			if ( ! $match_found ) {
3194
-				if ( ( $match_field == 'post_date' || $match_field == 'post_modified' ) && ( empty( $args['condition'] ) || $args['condition'] == 'is_greater_than' || $args['condition'] == 'is_less_than' ) ) {
3195
-					if ( strpos( $search, '+' ) === false && strpos( $search, '-' ) === false ) {
3193
+			if (!$match_found) {
3194
+				if (($match_field == 'post_date' || $match_field == 'post_modified') && (empty($args['condition']) || $args['condition'] == 'is_greater_than' || $args['condition'] == 'is_less_than')) {
3195
+					if (strpos($search, '+') === false && strpos($search, '-') === false) {
3196 3196
 						$search = '+' . $search;
3197 3197
 					}
3198
-					$the_time = $match_field == 'post_modified' ? get_the_modified_date( 'Y-m-d', $find_post ) : get_the_time( 'Y-m-d', $find_post );
3199
-					$until_time = strtotime( $the_time . ' ' . $search . ' days' );
3200
-					$now_time   = strtotime( date_i18n( 'Y-m-d', current_time( 'timestamp' ) ) );
3201
-					if ( ( empty( $args['condition'] ) || $args['condition'] == 'is_less_than' ) && $until_time > $now_time ) {
3198
+					$the_time = $match_field == 'post_modified' ? get_the_modified_date('Y-m-d', $find_post) : get_the_time('Y-m-d', $find_post);
3199
+					$until_time = strtotime($the_time . ' ' . $search . ' days');
3200
+					$now_time   = strtotime(date_i18n('Y-m-d', current_time('timestamp')));
3201
+					if ((empty($args['condition']) || $args['condition'] == 'is_less_than') && $until_time > $now_time) {
3202 3202
 						$match_found = true;
3203
-					} elseif ( $args['condition'] == 'is_greater_than' && $until_time < $now_time ) {
3203
+					} elseif ($args['condition'] == 'is_greater_than' && $until_time < $now_time) {
3204 3204
 						$match_found = true;
3205 3205
 					}
3206 3206
 				} else {
3207
-					switch ( $args['condition'] ) {
3207
+					switch ($args['condition']) {
3208 3208
 						case 'is_equal':
3209
-							$match_found = (bool) ( $search != '' && $match_value == $search );
3209
+							$match_found = (bool) ($search != '' && $match_value == $search);
3210 3210
 							break;
3211 3211
 						case 'is_not_equal':
3212
-							$match_found = (bool) ( $search != '' && $match_value != $search );
3212
+							$match_found = (bool) ($search != '' && $match_value != $search);
3213 3213
 							break;
3214 3214
 						case 'is_greater_than':
3215
-							$match_found = (bool) ( $search != '' && ( is_float( $search ) || is_numeric( $search ) ) && ( is_float( $match_value ) || is_numeric( $match_value ) ) && $match_value > $search );
3215
+							$match_found = (bool) ($search != '' && (is_float($search) || is_numeric($search)) && (is_float($match_value) || is_numeric($match_value)) && $match_value > $search);
3216 3216
 							break;
3217 3217
 						case 'is_less_than':
3218
-							$match_found = (bool) ( $search != '' && ( is_float( $search ) || is_numeric( $search ) ) && ( is_float( $match_value ) || is_numeric( $match_value ) ) && $match_value < $search );
3218
+							$match_found = (bool) ($search != '' && (is_float($search) || is_numeric($search)) && (is_float($match_value) || is_numeric($match_value)) && $match_value < $search);
3219 3219
 							break;
3220 3220
 						case 'is_empty':
3221
-							$match_found = (bool) ( $match_value === '' || $match_value === false || $match_value === '0' || is_null( $match_value ) );
3221
+							$match_found = (bool) ($match_value === '' || $match_value === false || $match_value === '0' || is_null($match_value));
3222 3222
 							break;
3223 3223
 						case 'is_not_empty':
3224
-							$match_found = (bool) ( $match_value !== '' && $match_value !== false && $match_value !== '0' && ! is_null( $match_value ) );
3224
+							$match_found = (bool) ($match_value !== '' && $match_value !== false && $match_value !== '0' && !is_null($match_value));
3225 3225
 							break;
3226 3226
 						case 'is_contains':
3227
-							$match_found = (bool) ( $search != '' && stripos( $match_value, $search ) !== false );
3227
+							$match_found = (bool) ($search != '' && stripos($match_value, $search) !== false);
3228 3228
 							break;
3229 3229
 						case 'is_not_contains':
3230
-							$match_found = (bool) ( $search != '' && stripos( $match_value, $search ) === false );
3230
+							$match_found = (bool) ($search != '' && stripos($match_value, $search) === false);
3231 3231
 							break;
3232 3232
 					}
3233 3233
 				}
3234 3234
 			}
3235 3235
 
3236
-			$match_found = apply_filters( 'geodir_post_badge_check_match_found', $match_found, $args, $find_post );
3236
+			$match_found = apply_filters('geodir_post_badge_check_match_found', $match_found, $args, $find_post);
3237 3237
 		}
3238 3238
 	}
3239 3239
 
3240 3240
 	return $match_found;
3241 3241
 }
3242 3242
 
3243
-function sd_gd_field_rule_search( $search, $post_type, $rule ) {
3244
-	if ( ! $search ) {
3243
+function sd_gd_field_rule_search($search, $post_type, $rule) {
3244
+	if (!$search) {
3245 3245
 		return $search;
3246 3246
 	}
3247 3247
 
3248 3248
 	$orig_search = $search;
3249
-	$_search = strtolower( $search );
3250
-
3251
-	if ( $_search == 'date_today' ) {
3252
-		$search = date( 'Y-m-d' );
3253
-	} else if ( $_search == 'date_tomorrow' ) {
3254
-		$search = date( 'Y-m-d', strtotime( "+1 day" ) );
3255
-	} else if ( $_search == 'date_yesterday' ) {
3256
-		$search = date( 'Y-m-d', strtotime( "-1 day" ) );
3257
-	} else if ( $_search == 'time_his' ) {
3258
-		$search = date( 'H:i:s' );
3259
-	} else if ( $_search == 'time_hi' ) {
3260
-		$search = date( 'H:i' );
3261
-	} else if ( $_search == 'datetime_now' ) {
3262
-		$search = date( 'Y-m-d H:i:s' );
3263
-	} else if ( strpos( $_search, 'datetime_after_' ) === 0 ) {
3264
-		$_searches = explode( 'datetime_after_', $_search, 2 );
3265
-
3266
-		if ( ! empty( $_searches[1] ) ) {
3267
-			$search = date( 'Y-m-d H:i:s', strtotime( "+ " . str_replace( "_", " ", $_searches[1] ) ) );
3249
+	$_search = strtolower($search);
3250
+
3251
+	if ($_search == 'date_today') {
3252
+		$search = date('Y-m-d');
3253
+	} else if ($_search == 'date_tomorrow') {
3254
+		$search = date('Y-m-d', strtotime("+1 day"));
3255
+	} else if ($_search == 'date_yesterday') {
3256
+		$search = date('Y-m-d', strtotime("-1 day"));
3257
+	} else if ($_search == 'time_his') {
3258
+		$search = date('H:i:s');
3259
+	} else if ($_search == 'time_hi') {
3260
+		$search = date('H:i');
3261
+	} else if ($_search == 'datetime_now') {
3262
+		$search = date('Y-m-d H:i:s');
3263
+	} else if (strpos($_search, 'datetime_after_') === 0) {
3264
+		$_searches = explode('datetime_after_', $_search, 2);
3265
+
3266
+		if (!empty($_searches[1])) {
3267
+			$search = date('Y-m-d H:i:s', strtotime("+ " . str_replace("_", " ", $_searches[1])));
3268 3268
 		} else {
3269
-			$search = date( 'Y-m-d H:i:s' );
3269
+			$search = date('Y-m-d H:i:s');
3270 3270
 		}
3271
-	} else if ( strpos( $_search, 'datetime_before_' ) === 0 ) {
3272
-		$_searches = explode( 'datetime_before_', $_search, 2 );
3271
+	} else if (strpos($_search, 'datetime_before_') === 0) {
3272
+		$_searches = explode('datetime_before_', $_search, 2);
3273 3273
 
3274
-		if ( ! empty( $_searches[1] ) ) {
3275
-			$search = date( 'Y-m-d H:i:s', strtotime( "- " . str_replace( "_", " ", $_searches[1] ) ) );
3274
+		if (!empty($_searches[1])) {
3275
+			$search = date('Y-m-d H:i:s', strtotime("- " . str_replace("_", " ", $_searches[1])));
3276 3276
 		} else {
3277
-			$search = date( 'Y-m-d H:i:s' );
3277
+			$search = date('Y-m-d H:i:s');
3278 3278
 		}
3279
-	} else if ( strpos( $_search, 'date_after_' ) === 0 ) {
3280
-		$_searches = explode( 'date_after_', $_search, 2 );
3279
+	} else if (strpos($_search, 'date_after_') === 0) {
3280
+		$_searches = explode('date_after_', $_search, 2);
3281 3281
 
3282
-		if ( ! empty( $_searches[1] ) ) {
3283
-			$search = date( 'Y-m-d', strtotime( "+ " . str_replace( "_", " ", $_searches[1] ) ) );
3282
+		if (!empty($_searches[1])) {
3283
+			$search = date('Y-m-d', strtotime("+ " . str_replace("_", " ", $_searches[1])));
3284 3284
 		} else {
3285
-			$search = date( 'Y-m-d' );
3285
+			$search = date('Y-m-d');
3286 3286
 		}
3287
-	} else if ( strpos( $_search, 'date_before_' ) === 0 ) {
3288
-		$_searches = explode( 'date_before_', $_search, 2 );
3287
+	} else if (strpos($_search, 'date_before_') === 0) {
3288
+		$_searches = explode('date_before_', $_search, 2);
3289 3289
 
3290
-		if ( ! empty( $_searches[1] ) ) {
3291
-			$search = date( 'Y-m-d', strtotime( "- " . str_replace( "_", " ", $_searches[1] ) ) );
3290
+		if (!empty($_searches[1])) {
3291
+			$search = date('Y-m-d', strtotime("- " . str_replace("_", " ", $_searches[1])));
3292 3292
 		} else {
3293
-			$search = date( 'Y-m-d' );
3293
+			$search = date('Y-m-d');
3294 3294
 		}
3295 3295
 	}
3296 3296
 
3297
-	return apply_filters( 'sd_gd_field_rule_search', $search, $post_type, $rule, $orig_search );
3297
+	return apply_filters('sd_gd_field_rule_search', $search, $post_type, $rule, $orig_search);
3298 3298
 }
3299 3299
\ No newline at end of file
Please login to merge, or discard this patch.
vendor/ayecode/wp-font-awesome-settings/wp-font-awesome-settings.php 3 patches
Indentation   +805 added lines, -805 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,416 +21,416 @@  discard block
 block discarded – undo
21 21
  */
22 22
 if ( ! class_exists( 'WP_Font_Awesome_Settings' ) ) {
23 23
 
24
-	/**
25
-	 * A Class to be able to change settings for Font Awesome.
26
-	 *
27
-	 * Class WP_Font_Awesome_Settings
28
-	 * @since 1.0.10 Now able to pass wp.org theme check.
29
-	 * @since 1.0.11 Font Awesome Pro now supported.
30
-	 * @since 1.0.11 Font Awesome Kits now supported.
31
-	 * @since 1.0.13 RTL language support added.
32
-	 * @since 1.0.14 Warning added for v6 pro requires kit and will now not work if official FA plugin installed.
33
-	 * @since 1.0.15 Font Awesome will now load in the FSE if enable din the backend.
34
-	 * @since 1.1.0 Option added to load FontAwesome locally.
35
-	 * @since 1.1.1 Requires to re-save settings to load locally when option does not exists - FIXED.
36
-	 * @since 1.1.2 Bumped the latest version to 6.3.0 - CHANGED.
24
+    /**
25
+     * A Class to be able to change settings for Font Awesome.
26
+     *
27
+     * Class WP_Font_Awesome_Settings
28
+     * @since 1.0.10 Now able to pass wp.org theme check.
29
+     * @since 1.0.11 Font Awesome Pro now supported.
30
+     * @since 1.0.11 Font Awesome Kits now supported.
31
+     * @since 1.0.13 RTL language support added.
32
+     * @since 1.0.14 Warning added for v6 pro requires kit and will now not work if official FA plugin installed.
33
+     * @since 1.0.15 Font Awesome will now load in the FSE if enable din the backend.
34
+     * @since 1.1.0 Option added to load FontAwesome locally.
35
+     * @since 1.1.1 Requires to re-save settings to load locally when option does not exists - FIXED.
36
+     * @since 1.1.2 Bumped the latest version to 6.3.0 - CHANGED.
37 37
      * @since 1.1.3 Added JS files for iconpicker and added constant for URL for AyeCode-UI - ADDED.
38 38
      * @since 1.1.5 Added constant for when pro enabled - ADDED.
39 39
      * @since 1.1.6 Calling FA in wp_footer can cause issues on frontend - REVERTED
40
-	 * @ver 1.1.6
41
-	 * @todo decide how to implement textdomain
42
-	 */
43
-	class WP_Font_Awesome_Settings {
44
-
45
-		/**
46
-		 * Class version version.
47
-		 *
48
-		 * @var string
49
-		 */
50
-		public $version = '1.1.6';
51
-
52
-		/**
53
-		 * Class textdomain.
54
-		 *
55
-		 * @var string
56
-		 */
57
-		public $textdomain = 'font-awesome-settings';
58
-
59
-		/**
60
-		 * Latest version of Font Awesome at time of publish published.
61
-		 *
62
-		 * @var string
63
-		 */
64
-		public $latest = "6.4.2";
65
-
66
-		/**
67
-		 * The title.
68
-		 *
69
-		 * @var string
70
-		 */
71
-		public $name = 'Font Awesome';
72
-
73
-		/**
74
-		 * Holds the settings values.
75
-		 *
76
-		 * @var array
77
-		 */
78
-		private $settings;
79
-
80
-		/**
81
-		 * WP_Font_Awesome_Settings instance.
82
-		 *
83
-		 * @access private
84
-		 * @since  1.0.0
85
-		 * @var    WP_Font_Awesome_Settings There can be only one!
86
-		 */
87
-		private static $instance = null;
88
-
89
-		/**
90
-		 * Main WP_Font_Awesome_Settings Instance.
91
-		 *
92
-		 * Ensures only one instance of WP_Font_Awesome_Settings is loaded or can be loaded.
93
-		 *
94
-		 * @since 1.0.0
95
-		 * @static
96
-		 * @return WP_Font_Awesome_Settings - Main instance.
97
-		 */
98
-		public static function instance() {
99
-			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WP_Font_Awesome_Settings ) ) {
100
-				self::$instance = new WP_Font_Awesome_Settings;
101
-
102
-				add_action( 'init', array( self::$instance, 'init' ) ); // set settings
103
-
104
-				if ( is_admin() ) {
105
-					add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
106
-					add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
107
-					add_action( 'admin_init', array( self::$instance, 'constants' ) );
108
-					add_action( 'admin_notices', array( self::$instance, 'admin_notices' ) );
109
-				}
110
-
111
-				do_action( 'wp_font_awesome_settings_loaded' );
112
-			}
113
-
114
-			return self::$instance;
115
-		}
116
-
117
-		/**
40
+     * @ver 1.1.6
41
+     * @todo decide how to implement textdomain
42
+     */
43
+    class WP_Font_Awesome_Settings {
44
+
45
+        /**
46
+         * Class version version.
47
+         *
48
+         * @var string
49
+         */
50
+        public $version = '1.1.6';
51
+
52
+        /**
53
+         * Class textdomain.
54
+         *
55
+         * @var string
56
+         */
57
+        public $textdomain = 'font-awesome-settings';
58
+
59
+        /**
60
+         * Latest version of Font Awesome at time of publish published.
61
+         *
62
+         * @var string
63
+         */
64
+        public $latest = "6.4.2";
65
+
66
+        /**
67
+         * The title.
68
+         *
69
+         * @var string
70
+         */
71
+        public $name = 'Font Awesome';
72
+
73
+        /**
74
+         * Holds the settings values.
75
+         *
76
+         * @var array
77
+         */
78
+        private $settings;
79
+
80
+        /**
81
+         * WP_Font_Awesome_Settings instance.
82
+         *
83
+         * @access private
84
+         * @since  1.0.0
85
+         * @var    WP_Font_Awesome_Settings There can be only one!
86
+         */
87
+        private static $instance = null;
88
+
89
+        /**
90
+         * Main WP_Font_Awesome_Settings Instance.
91
+         *
92
+         * Ensures only one instance of WP_Font_Awesome_Settings is loaded or can be loaded.
93
+         *
94
+         * @since 1.0.0
95
+         * @static
96
+         * @return WP_Font_Awesome_Settings - Main instance.
97
+         */
98
+        public static function instance() {
99
+            if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WP_Font_Awesome_Settings ) ) {
100
+                self::$instance = new WP_Font_Awesome_Settings;
101
+
102
+                add_action( 'init', array( self::$instance, 'init' ) ); // set settings
103
+
104
+                if ( is_admin() ) {
105
+                    add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
106
+                    add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
107
+                    add_action( 'admin_init', array( self::$instance, 'constants' ) );
108
+                    add_action( 'admin_notices', array( self::$instance, 'admin_notices' ) );
109
+                }
110
+
111
+                do_action( 'wp_font_awesome_settings_loaded' );
112
+            }
113
+
114
+            return self::$instance;
115
+        }
116
+
117
+        /**
118 118
          * Define any constants that may be needed by other packages.
119 119
          *
120
-		 * @return void
121
-		 */
122
-		public function constants(){
120
+         * @return void
121
+         */
122
+        public function constants(){
123 123
 
124
-			// register iconpicker constant
125
-			if ( ! defined( 'FAS_ICONPICKER_JS_URL' ) ) {
126
-				$url = $this->get_path_url();
127
-				$version = $this->settings['version'];
124
+            // register iconpicker constant
125
+            if ( ! defined( 'FAS_ICONPICKER_JS_URL' ) ) {
126
+                $url = $this->get_path_url();
127
+                $version = $this->settings['version'];
128 128
 
129
-				if( !$version || version_compare($version,'5.999','>')){
130
-					$url .= 'assets/js/fa-iconpicker-v6.min.js';
131
-				}else{
132
-					$url .= 'assets/js/fa-iconpicker-v5.min.js';
133
-				}
129
+                if( !$version || version_compare($version,'5.999','>')){
130
+                    $url .= 'assets/js/fa-iconpicker-v6.min.js';
131
+                }else{
132
+                    $url .= 'assets/js/fa-iconpicker-v5.min.js';
133
+                }
134 134
 
135
-				define( 'FAS_ICONPICKER_JS_URL', $url );
135
+                define( 'FAS_ICONPICKER_JS_URL', $url );
136 136
 
137
-			}
137
+            }
138 138
 
139 139
             // Set a constant if pro enbaled
140
-			if ( ! defined( 'FAS_PRO' ) && $this->settings['pro'] ) {
141
-				define( 'FAS_PRO', true );
142
-			}
143
-		}
144
-
145
-		/**
146
-		 * Get the url path to the current folder.
147
-		 *
148
-		 * @return string
149
-		 */
150
-		public function get_path_url() {
151
-			$content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
152
-			$content_url = untrailingslashit( WP_CONTENT_URL );
153
-
154
-			// Replace http:// to https://.
155
-			if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
156
-				$content_url = str_replace( 'http://', 'https://', $content_url );
157
-			}
158
-
159
-			// Check if we are inside a plugin
160
-			$file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
161
-			$url = str_replace( $content_dir, $content_url, $file_dir );
162
-
163
-			return trailingslashit( $url );
164
-		}
165
-
166
-		/**
167
-		 * Initiate the settings and add the required action hooks.
168
-		 *
169
-		 * @since 1.0.8 Settings name wrong - FIXED
170
-		 */
171
-		public function init() {
172
-			// Download fontawesome locally.
173
-			add_action( 'add_option_wp-font-awesome-settings', array( $this, 'add_option_wp_font_awesome_settings' ), 10, 2 );
174
-			add_action( 'update_option_wp-font-awesome-settings', array( $this, 'update_option_wp_font_awesome_settings' ), 10, 2 );
175
-
176
-			$this->settings = $this->get_settings();
177
-
178
-			// check if the official plugin is active and use that instead if so.
179
-			if ( ! defined( 'FONTAWESOME_PLUGIN_FILE' ) ) {
180
-
181
-				if ( $this->settings['type'] == 'CSS' ) {
182
-
183
-					if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
184
-						add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
140
+            if ( ! defined( 'FAS_PRO' ) && $this->settings['pro'] ) {
141
+                define( 'FAS_PRO', true );
142
+            }
143
+        }
144
+
145
+        /**
146
+         * Get the url path to the current folder.
147
+         *
148
+         * @return string
149
+         */
150
+        public function get_path_url() {
151
+            $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
152
+            $content_url = untrailingslashit( WP_CONTENT_URL );
153
+
154
+            // Replace http:// to https://.
155
+            if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
156
+                $content_url = str_replace( 'http://', 'https://', $content_url );
157
+            }
158
+
159
+            // Check if we are inside a plugin
160
+            $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
161
+            $url = str_replace( $content_dir, $content_url, $file_dir );
162
+
163
+            return trailingslashit( $url );
164
+        }
165
+
166
+        /**
167
+         * Initiate the settings and add the required action hooks.
168
+         *
169
+         * @since 1.0.8 Settings name wrong - FIXED
170
+         */
171
+        public function init() {
172
+            // Download fontawesome locally.
173
+            add_action( 'add_option_wp-font-awesome-settings', array( $this, 'add_option_wp_font_awesome_settings' ), 10, 2 );
174
+            add_action( 'update_option_wp-font-awesome-settings', array( $this, 'update_option_wp_font_awesome_settings' ), 10, 2 );
175
+
176
+            $this->settings = $this->get_settings();
177
+
178
+            // check if the official plugin is active and use that instead if so.
179
+            if ( ! defined( 'FONTAWESOME_PLUGIN_FILE' ) ) {
180
+
181
+                if ( $this->settings['type'] == 'CSS' ) {
182
+
183
+                    if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
184
+                        add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
185 185
 //						add_action( 'wp_footer', array( $this, 'enqueue_style' ), 5000 ); // not sure why this was added, seems to break frontend
186
-					}
187
-
188
-					if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
189
-						add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
190
-						add_filter( 'block_editor_settings_all', array( $this, 'enqueue_editor_styles' ), 10, 2 );
191
-					}
192
-
193
-				} else {
194
-
195
-					if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
196
-						add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
197
-					}
198
-
199
-					if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
200
-						add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
201
-						add_filter( 'block_editor_settings_all', array( $this, 'enqueue_editor_scripts' ), 10, 2 );
202
-					}
203
-				}
204
-
205
-				// remove font awesome if set to do so
206
-				if ( $this->settings['dequeue'] == '1' ) {
207
-					add_action( 'clean_url', array( $this, 'remove_font_awesome' ), 5000, 3 );
208
-				}
209
-			}
210
-
211
-		}
212
-
213
-		/**
214
-		 * Add FA to the FSE.
215
-		 *
216
-		 * @param $editor_settings
217
-		 * @param $block_editor_context
218
-		 *
219
-		 * @return array
220
-		 */
221
-		public function enqueue_editor_styles( $editor_settings, $block_editor_context ){
222
-
223
-			if ( ! empty( $editor_settings['__unstableResolvedAssets']['styles'] ) ) {
224
-				$url = $this->get_url();
225
-				$editor_settings['__unstableResolvedAssets']['styles'] .= "<link rel='stylesheet' id='font-awesome-css'  href='$url' media='all' />";
226
-			}
227
-
228
-			return $editor_settings;
229
-		}
230
-
231
-		/**
232
-		 * Add FA to the FSE.
233
-		 *
234
-		 * @param $editor_settings
235
-		 * @param $block_editor_context
236
-		 *
237
-		 * @return array
238
-		 */
239
-		public function enqueue_editor_scripts( $editor_settings, $block_editor_context ){
240
-
241
-			$url = $this->get_url();
242
-			$editor_settings['__unstableResolvedAssets']['scripts'] .= "<script src='$url' id='font-awesome-js'></script>";
243
-
244
-			return $editor_settings;
245
-		}
246
-
247
-		/**
248
-		 * Adds the Font Awesome styles.
249
-		 */
250
-		public function enqueue_style() {
251
-			// build url
252
-			$url = $this->get_url();
253
-			$version = ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) ? strip_tags( $this->settings['local_version'] ) : null;
254
-
255
-			wp_deregister_style( 'font-awesome' ); // deregister in case its already there
256
-			wp_register_style( 'font-awesome', $url, array(), $version );
257
-			wp_enqueue_style( 'font-awesome' );
258
-
259
-			// RTL language support CSS.
260
-			if ( is_rtl() ) {
261
-				wp_add_inline_style( 'font-awesome', $this->rtl_inline_css() );
262
-			}
263
-
264
-			if ( $this->settings['shims'] ) {
265
-				$url = $this->get_url( true );
266
-				wp_deregister_style( 'font-awesome-shims' ); // deregister in case its already there
267
-				wp_register_style( 'font-awesome-shims', $url, array(), $version );
268
-				wp_enqueue_style( 'font-awesome-shims' );
269
-			}
270
-		}
271
-
272
-		/**
273
-		 * Adds the Font Awesome JS.
274
-		 */
275
-		public function enqueue_scripts() {
276
-			// build url
277
-			$url = $this->get_url();
278
-
279
-			$deregister_function = 'wp' . '_' . 'deregister' . '_' . 'script';
280
-			call_user_func( $deregister_function, 'font-awesome' ); // deregister in case its already there
281
-			wp_register_script( 'font-awesome', $url, array(), null );
282
-			wp_enqueue_script( 'font-awesome' );
283
-
284
-			if ( $this->settings['shims'] ) {
285
-				$url = $this->get_url( true );
286
-				call_user_func( $deregister_function, 'font-awesome-shims' ); // deregister in case its already there
287
-				wp_register_script( 'font-awesome-shims', $url, array(), null );
288
-				wp_enqueue_script( 'font-awesome-shims' );
289
-			}
290
-		}
291
-
292
-		/**
293
-		 * Get the url of the Font Awesome files.
294
-		 *
295
-		 * @param bool $shims If this is a shim file or not.
296
-		 * @param bool $local Load locally if allowed.
297
-		 *
298
-		 * @return string The url to the file.
299
-		 */
300
-		public function get_url( $shims = false, $local = true ) {
301
-			$script  = $shims ? 'v4-shims' : 'all';
302
-			$sub     = $this->settings['pro'] ? 'pro' : 'use';
303
-			$type    = $this->settings['type'];
304
-			$version = $this->settings['version'];
305
-			$kit_url = $this->settings['kit-url'] ? esc_url( $this->settings['kit-url'] ) : '';
306
-			$url     = '';
307
-
308
-			if ( $type == 'KIT' && $kit_url ) {
309
-				if ( $shims ) {
310
-					// if its a kit then we don't add shims here
311
-					return '';
312
-				}
313
-				$url .= $kit_url; // CDN
314
-				$url .= "?wpfas=true"; // set our var so our version is not removed
315
-			} else {
316
-				$v = '';
317
-				// Check and load locally.
318
-				if ( $local && $this->has_local() ) {
319
-					$script .= ".min";
320
-					$v .= '&ver=' . strip_tags( $this->settings['local_version'] );
321
-					$url .= $this->get_fonts_url(); // Local fonts url.
322
-				} else {
323
-					$url .= "https://$sub.fontawesome.com/releases/"; // CDN
324
-					$url .= ! empty( $version ) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version
325
-				}
326
-				$url .= $type == 'CSS' ? 'css/' : 'js/'; // type
327
-				$url .= $type == 'CSS' ? $script . '.css' : $script . '.js'; // type
328
-				$url .= "?wpfas=true" . $v; // set our var so our version is not removed
329
-			}
330
-
331
-			return $url;
332
-		}
333
-
334
-		/**
335
-		 * Try and remove any other versions of Font Awesome added by other plugins/themes.
336
-		 *
337
-		 * Uses the clean_url filter to try and remove any other Font Awesome files added, it can also add pseudo-elements flag for the JS version.
338
-		 *
339
-		 * @param $url
340
-		 * @param $original_url
341
-		 * @param $_context
342
-		 *
343
-		 * @return string The filtered url.
344
-		 */
345
-		public function remove_font_awesome( $url, $original_url, $_context ) {
346
-
347
-			if ( $_context == 'display'
348
-			     && ( strstr( $url, "fontawesome" ) !== false || strstr( $url, "font-awesome" ) !== false )
349
-			     && ( strstr( $url, ".js" ) !== false || strstr( $url, ".css" ) !== false )
350
-			) {// it's a font-awesome-url (probably)
351
-
352
-				if ( strstr( $url, "wpfas=true" ) !== false ) {
353
-					if ( $this->settings['type'] == 'JS' ) {
354
-						if ( $this->settings['js-pseudo'] ) {
355
-							$url .= "' data-search-pseudo-elements defer='defer";
356
-						} else {
357
-							$url .= "' defer='defer";
358
-						}
359
-					}
360
-				} else {
361
-					$url = ''; // removing the url removes the file
362
-				}
363
-
364
-			}
365
-
366
-			return $url;
367
-		}
368
-
369
-		/**
370
-		 * Register the database settings with WordPress.
371
-		 */
372
-		public function register_settings() {
373
-			register_setting( 'wp-font-awesome-settings', 'wp-font-awesome-settings' );
374
-		}
375
-
376
-		/**
377
-		 * Add the WordPress settings menu item.
378
-		 * @since 1.0.10 Calling function name direct will fail theme check so we don't.
379
-		 */
380
-		public function menu_item() {
381
-			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
382
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array(
383
-				$this,
384
-				'settings_page'
385
-			) );
386
-		}
387
-
388
-		/**
389
-		 * Get the current Font Awesome output settings.
390
-		 *
391
-		 * @return array The array of settings.
392
-		 */
393
-		public function get_settings() {
394
-			$db_settings = get_option( 'wp-font-awesome-settings' );
395
-
396
-			$defaults = array(
397
-				'type'      => 'CSS', // type to use, CSS or JS or KIT
398
-				'version'   => '', // latest
399
-				'enqueue'   => '', // front and backend
400
-				'shims'     => '0', // default OFF now in 2020
401
-				'js-pseudo' => '0', // if the pseudo elements flag should be set (CPU intensive)
402
-				'dequeue'   => '0', // if we should try to remove other versions added by other plugins/themes
403
-				'pro'       => '0', // if pro CDN url should be used
404
-				'local'     => '0', // Store fonts locally.
405
-				'local_version' => '', // Local fonts version.
406
-				'kit-url'   => '', // the kit url
407
-			);
408
-
409
-			$settings = wp_parse_args( $db_settings, $defaults );
410
-
411
-			/**
412
-			 * Filter the Font Awesome settings.
413
-			 *
414
-			 * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
415
-			 */
416
-			return $this->settings = apply_filters( 'wp-font-awesome-settings', $settings, $db_settings, $defaults );
417
-		}
418
-
419
-		/**
420
-		 * The settings page html output.
421
-		 */
422
-		public function settings_page() {
423
-			if ( ! current_user_can( 'manage_options' ) ) {
424
-				wp_die( __( 'You do not have sufficient permissions to access this page.', 'font-awesome-settings' ) );
425
-			}
426
-
427
-			// a hidden way to force the update of the version number via api instead of waiting the 48 hours
428
-			if ( isset( $_REQUEST['force-version-check'] ) ) {
429
-				$this->get_latest_version( $force_api = true );
430
-			}
431
-
432
-			if ( ! defined( 'FONTAWESOME_PLUGIN_FILE' ) ) {
433
-				?>
186
+                    }
187
+
188
+                    if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
189
+                        add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
190
+                        add_filter( 'block_editor_settings_all', array( $this, 'enqueue_editor_styles' ), 10, 2 );
191
+                    }
192
+
193
+                } else {
194
+
195
+                    if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
196
+                        add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
197
+                    }
198
+
199
+                    if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
200
+                        add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
201
+                        add_filter( 'block_editor_settings_all', array( $this, 'enqueue_editor_scripts' ), 10, 2 );
202
+                    }
203
+                }
204
+
205
+                // remove font awesome if set to do so
206
+                if ( $this->settings['dequeue'] == '1' ) {
207
+                    add_action( 'clean_url', array( $this, 'remove_font_awesome' ), 5000, 3 );
208
+                }
209
+            }
210
+
211
+        }
212
+
213
+        /**
214
+         * Add FA to the FSE.
215
+         *
216
+         * @param $editor_settings
217
+         * @param $block_editor_context
218
+         *
219
+         * @return array
220
+         */
221
+        public function enqueue_editor_styles( $editor_settings, $block_editor_context ){
222
+
223
+            if ( ! empty( $editor_settings['__unstableResolvedAssets']['styles'] ) ) {
224
+                $url = $this->get_url();
225
+                $editor_settings['__unstableResolvedAssets']['styles'] .= "<link rel='stylesheet' id='font-awesome-css'  href='$url' media='all' />";
226
+            }
227
+
228
+            return $editor_settings;
229
+        }
230
+
231
+        /**
232
+         * Add FA to the FSE.
233
+         *
234
+         * @param $editor_settings
235
+         * @param $block_editor_context
236
+         *
237
+         * @return array
238
+         */
239
+        public function enqueue_editor_scripts( $editor_settings, $block_editor_context ){
240
+
241
+            $url = $this->get_url();
242
+            $editor_settings['__unstableResolvedAssets']['scripts'] .= "<script src='$url' id='font-awesome-js'></script>";
243
+
244
+            return $editor_settings;
245
+        }
246
+
247
+        /**
248
+         * Adds the Font Awesome styles.
249
+         */
250
+        public function enqueue_style() {
251
+            // build url
252
+            $url = $this->get_url();
253
+            $version = ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) ? strip_tags( $this->settings['local_version'] ) : null;
254
+
255
+            wp_deregister_style( 'font-awesome' ); // deregister in case its already there
256
+            wp_register_style( 'font-awesome', $url, array(), $version );
257
+            wp_enqueue_style( 'font-awesome' );
258
+
259
+            // RTL language support CSS.
260
+            if ( is_rtl() ) {
261
+                wp_add_inline_style( 'font-awesome', $this->rtl_inline_css() );
262
+            }
263
+
264
+            if ( $this->settings['shims'] ) {
265
+                $url = $this->get_url( true );
266
+                wp_deregister_style( 'font-awesome-shims' ); // deregister in case its already there
267
+                wp_register_style( 'font-awesome-shims', $url, array(), $version );
268
+                wp_enqueue_style( 'font-awesome-shims' );
269
+            }
270
+        }
271
+
272
+        /**
273
+         * Adds the Font Awesome JS.
274
+         */
275
+        public function enqueue_scripts() {
276
+            // build url
277
+            $url = $this->get_url();
278
+
279
+            $deregister_function = 'wp' . '_' . 'deregister' . '_' . 'script';
280
+            call_user_func( $deregister_function, 'font-awesome' ); // deregister in case its already there
281
+            wp_register_script( 'font-awesome', $url, array(), null );
282
+            wp_enqueue_script( 'font-awesome' );
283
+
284
+            if ( $this->settings['shims'] ) {
285
+                $url = $this->get_url( true );
286
+                call_user_func( $deregister_function, 'font-awesome-shims' ); // deregister in case its already there
287
+                wp_register_script( 'font-awesome-shims', $url, array(), null );
288
+                wp_enqueue_script( 'font-awesome-shims' );
289
+            }
290
+        }
291
+
292
+        /**
293
+         * Get the url of the Font Awesome files.
294
+         *
295
+         * @param bool $shims If this is a shim file or not.
296
+         * @param bool $local Load locally if allowed.
297
+         *
298
+         * @return string The url to the file.
299
+         */
300
+        public function get_url( $shims = false, $local = true ) {
301
+            $script  = $shims ? 'v4-shims' : 'all';
302
+            $sub     = $this->settings['pro'] ? 'pro' : 'use';
303
+            $type    = $this->settings['type'];
304
+            $version = $this->settings['version'];
305
+            $kit_url = $this->settings['kit-url'] ? esc_url( $this->settings['kit-url'] ) : '';
306
+            $url     = '';
307
+
308
+            if ( $type == 'KIT' && $kit_url ) {
309
+                if ( $shims ) {
310
+                    // if its a kit then we don't add shims here
311
+                    return '';
312
+                }
313
+                $url .= $kit_url; // CDN
314
+                $url .= "?wpfas=true"; // set our var so our version is not removed
315
+            } else {
316
+                $v = '';
317
+                // Check and load locally.
318
+                if ( $local && $this->has_local() ) {
319
+                    $script .= ".min";
320
+                    $v .= '&ver=' . strip_tags( $this->settings['local_version'] );
321
+                    $url .= $this->get_fonts_url(); // Local fonts url.
322
+                } else {
323
+                    $url .= "https://$sub.fontawesome.com/releases/"; // CDN
324
+                    $url .= ! empty( $version ) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version
325
+                }
326
+                $url .= $type == 'CSS' ? 'css/' : 'js/'; // type
327
+                $url .= $type == 'CSS' ? $script . '.css' : $script . '.js'; // type
328
+                $url .= "?wpfas=true" . $v; // set our var so our version is not removed
329
+            }
330
+
331
+            return $url;
332
+        }
333
+
334
+        /**
335
+         * Try and remove any other versions of Font Awesome added by other plugins/themes.
336
+         *
337
+         * Uses the clean_url filter to try and remove any other Font Awesome files added, it can also add pseudo-elements flag for the JS version.
338
+         *
339
+         * @param $url
340
+         * @param $original_url
341
+         * @param $_context
342
+         *
343
+         * @return string The filtered url.
344
+         */
345
+        public function remove_font_awesome( $url, $original_url, $_context ) {
346
+
347
+            if ( $_context == 'display'
348
+                 && ( strstr( $url, "fontawesome" ) !== false || strstr( $url, "font-awesome" ) !== false )
349
+                 && ( strstr( $url, ".js" ) !== false || strstr( $url, ".css" ) !== false )
350
+            ) {// it's a font-awesome-url (probably)
351
+
352
+                if ( strstr( $url, "wpfas=true" ) !== false ) {
353
+                    if ( $this->settings['type'] == 'JS' ) {
354
+                        if ( $this->settings['js-pseudo'] ) {
355
+                            $url .= "' data-search-pseudo-elements defer='defer";
356
+                        } else {
357
+                            $url .= "' defer='defer";
358
+                        }
359
+                    }
360
+                } else {
361
+                    $url = ''; // removing the url removes the file
362
+                }
363
+
364
+            }
365
+
366
+            return $url;
367
+        }
368
+
369
+        /**
370
+         * Register the database settings with WordPress.
371
+         */
372
+        public function register_settings() {
373
+            register_setting( 'wp-font-awesome-settings', 'wp-font-awesome-settings' );
374
+        }
375
+
376
+        /**
377
+         * Add the WordPress settings menu item.
378
+         * @since 1.0.10 Calling function name direct will fail theme check so we don't.
379
+         */
380
+        public function menu_item() {
381
+            $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
382
+            call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array(
383
+                $this,
384
+                'settings_page'
385
+            ) );
386
+        }
387
+
388
+        /**
389
+         * Get the current Font Awesome output settings.
390
+         *
391
+         * @return array The array of settings.
392
+         */
393
+        public function get_settings() {
394
+            $db_settings = get_option( 'wp-font-awesome-settings' );
395
+
396
+            $defaults = array(
397
+                'type'      => 'CSS', // type to use, CSS or JS or KIT
398
+                'version'   => '', // latest
399
+                'enqueue'   => '', // front and backend
400
+                'shims'     => '0', // default OFF now in 2020
401
+                'js-pseudo' => '0', // if the pseudo elements flag should be set (CPU intensive)
402
+                'dequeue'   => '0', // if we should try to remove other versions added by other plugins/themes
403
+                'pro'       => '0', // if pro CDN url should be used
404
+                'local'     => '0', // Store fonts locally.
405
+                'local_version' => '', // Local fonts version.
406
+                'kit-url'   => '', // the kit url
407
+            );
408
+
409
+            $settings = wp_parse_args( $db_settings, $defaults );
410
+
411
+            /**
412
+             * Filter the Font Awesome settings.
413
+             *
414
+             * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
415
+             */
416
+            return $this->settings = apply_filters( 'wp-font-awesome-settings', $settings, $db_settings, $defaults );
417
+        }
418
+
419
+        /**
420
+         * The settings page html output.
421
+         */
422
+        public function settings_page() {
423
+            if ( ! current_user_can( 'manage_options' ) ) {
424
+                wp_die( __( 'You do not have sufficient permissions to access this page.', 'font-awesome-settings' ) );
425
+            }
426
+
427
+            // a hidden way to force the update of the version number via api instead of waiting the 48 hours
428
+            if ( isset( $_REQUEST['force-version-check'] ) ) {
429
+                $this->get_latest_version( $force_api = true );
430
+            }
431
+
432
+            if ( ! defined( 'FONTAWESOME_PLUGIN_FILE' ) ) {
433
+                ?>
434 434
                 <style>
435 435
                     .wpfas-kit-show {
436 436
                         display: none;
@@ -456,16 +456,16 @@  discard block
 block discarded – undo
456 456
                     <h1><?php echo $this->name; ?></h1>
457 457
                     <form method="post" action="options.php" class="fas-settings-form">
458 458
 						<?php
459
-						settings_fields( 'wp-font-awesome-settings' );
460
-						do_settings_sections( 'wp-font-awesome-settings' );
461
-						$table_class = '';
462
-						if ( $this->settings['type'] ) {
463
-							$table_class .= 'wpfas-' . sanitize_html_class( strtolower( $this->settings['type'] ) ) . '-set';
464
-						}
465
-						if ( ! empty( $this->settings['pro'] ) ) {
466
-							$table_class .= ' wpfas-has-pro';
467
-						}
468
-						?>
459
+                        settings_fields( 'wp-font-awesome-settings' );
460
+                        do_settings_sections( 'wp-font-awesome-settings' );
461
+                        $table_class = '';
462
+                        if ( $this->settings['type'] ) {
463
+                            $table_class .= 'wpfas-' . sanitize_html_class( strtolower( $this->settings['type'] ) ) . '-set';
464
+                        }
465
+                        if ( ! empty( $this->settings['pro'] ) ) {
466
+                            $table_class .= ' wpfas-has-pro';
467
+                        }
468
+                        ?>
469 469
 						<?php if ( $this->settings['type'] != 'KIT' && ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) ) { ?>
470 470
 							<?php if ( $this->has_local() ) { ?>
471 471
                                 <div class="notice notice-info"><p><strong><?php _e( 'Font Awesome fonts are loading locally.', 'font-awesome-settings' ); ?></strong></p></div>
@@ -490,12 +490,12 @@  discard block
 block discarded – undo
490 490
                                 <td>
491 491
                                     <input class="regular-text" id="wpfas-kit-url" type="url" name="wp-font-awesome-settings[kit-url]" value="<?php echo esc_attr( $this->settings['kit-url'] ); ?>" placeholder="<?php echo 'https://kit.font';echo 'awesome.com/123abc.js'; // this won't pass theme check :(?>"/>
492 492
                                     <span><?php
493
-										echo sprintf(
494
-											__( 'Requires a free account with Font Awesome. %sGet kit url%s', 'font-awesome-settings' ),
495
-											'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/kits"><i class="fas fa-external-link-alt"></i>',
496
-											'</a>'
497
-										);
498
-										?></span>
493
+                                        echo sprintf(
494
+                                            __( 'Requires a free account with Font Awesome. %sGet kit url%s', 'font-awesome-settings' ),
495
+                                            '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/kits"><i class="fas fa-external-link-alt"></i>',
496
+                                            '</a>'
497
+                                        );
498
+                                        ?></span>
499 499
                                 </td>
500 500
                             </tr>
501 501
 
@@ -536,14 +536,14 @@  discard block
 block discarded – undo
536 536
                                     <input type="hidden" name="wp-font-awesome-settings[pro]" value="0"/>
537 537
                                     <input type="checkbox" name="wp-font-awesome-settings[pro]" value="1" <?php checked( $this->settings['pro'], '1' ); ?> id="wpfas-pro" onchange="if(jQuery(this).is(':checked')){jQuery('.wpfas-table-settings').addClass('wpfas-has-pro')}else{jQuery('.wpfas-table-settings').removeClass('wpfas-has-pro')}"/>
538 538
                                     <span><?php
539
-										echo wp_sprintf(
540
-											__( 'Requires a subscription. %sLearn more%s  %sManage my allowed domains%s', 'font-awesome-settings' ),
541
-											'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/referral?a=c9b89e1418">',
542
-											' <i class="fas fa-external-link-alt"></i></a>',
543
-											'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/account/cdn">',
544
-											' <i class="fas fa-external-link-alt"></i></a>'
545
-										);
546
-										?></span>
539
+                                        echo wp_sprintf(
540
+                                            __( 'Requires a subscription. %sLearn more%s  %sManage my allowed domains%s', 'font-awesome-settings' ),
541
+                                            '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/referral?a=c9b89e1418">',
542
+                                            ' <i class="fas fa-external-link-alt"></i></a>',
543
+                                            '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/account/cdn">',
544
+                                            ' <i class="fas fa-external-link-alt"></i></a>'
545
+                                        );
546
+                                        ?></span>
547 547
                                 </td>
548 548
                             </tr>
549 549
 
@@ -597,8 +597,8 @@  discard block
 block discarded – undo
597 597
                         </table>
598 598
                         <div class="fas-buttons">
599 599
 							<?php
600
-							submit_button();
601
-							?>
600
+                            submit_button();
601
+                            ?>
602 602
                             <p class="submit"><a href="https://fontawesome.com/referral?a=c9b89e1418" class="button button-secondary"><?php _e('Get 24,000+ more icons with Font Awesome Pro','font-awesome-settings'); ?> <i class="fas fa-external-link-alt"></i></a></p>
603 603
 
604 604
                         </div>
@@ -607,392 +607,392 @@  discard block
 block discarded – undo
607 607
                     <div id="wpfas-version"><?php echo sprintf(__( 'Version: %s (affiliate links provided)', 'font-awesome-settings' ), $this->version ); ?></div>
608 608
                 </div>
609 609
 				<?php
610
-			}
611
-		}
612
-
613
-		/**
614
-		 * Check a version number is valid and if so return it or else return an empty string.
615
-		 *
616
-		 * @param $version string The version number to check.
617
-		 *
618
-		 * @since 1.0.6
619
-		 *
620
-		 * @return string Either a valid version number or an empty string.
621
-		 */
622
-		public function validate_version_number( $version ) {
623
-
624
-			if ( version_compare( $version, '0.0.1', '>=' ) >= 0 ) {
625
-				// valid
626
-			} else {
627
-				$version = '';// not validated
628
-			}
629
-
630
-			return $version;
631
-		}
632
-
633
-
634
-		/**
635
-		 * Get the latest version of Font Awesome.
636
-		 *
637
-		 * We check for a cached version and if none we will check for a live version via API and then cache it for 48 hours.
638
-		 *
639
-		 * @since 1.0.7
640
-		 * @return mixed|string The latest version number found.
641
-		 */
642
-		public function get_latest_version( $force_api = false ) {
643
-			$latest_version = $this->latest;
644
-
645
-			$cache = get_transient( 'wp-font-awesome-settings-version' );
646
-
647
-			if ( $cache === false || $force_api ) { // its not set
648
-				$api_ver = $this->get_latest_version_from_api();
649
-				if ( version_compare( $api_ver, $this->latest, '>=' ) >= 0 ) {
650
-					$latest_version = $api_ver;
651
-					set_transient( 'wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS );
652
-				}
653
-			} elseif ( $this->validate_version_number( $cache ) ) {
654
-				if ( version_compare( $cache, $this->latest, '>=' ) >= 0 ) {
655
-					$latest_version = $cache;
656
-				}
657
-			}
658
-
659
-			// Check and auto download fonts locally.
660
-			if ( empty( $this->settings['pro'] ) && empty( $this->settings['version'] ) && $this->settings['type'] != 'KIT' && ! empty( $this->settings['local'] ) && ! empty( $this->settings['local_version'] ) && ! empty( $latest_version ) ) {
661
-				if ( version_compare( $latest_version, $this->settings['local_version'], '>' ) && is_admin() && ! wp_doing_ajax() ) {
662
-					$this->download_package( $latest_version );
663
-				}
664
-			}
665
-
666
-			return $latest_version;
667
-		}
668
-
669
-		/**
670
-		 * Get the latest Font Awesome version from the github API.
671
-		 *
672
-		 * @since 1.0.7
673
-		 * @return string The latest version number or `0` on API fail.
674
-		 */
675
-		public function get_latest_version_from_api() {
676
-			$version  = "0";
677
-			$response = wp_remote_get( "https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest" );
678
-			if ( ! is_wp_error( $response ) && is_array( $response ) ) {
679
-				$api_response = json_decode( wp_remote_retrieve_body( $response ), true );
680
-				if ( isset( $api_response['tag_name'] ) && version_compare( $api_response['tag_name'], $this->latest, '>=' ) >= 0 && empty( $api_response['prerelease'] ) ) {
681
-					$version = $api_response['tag_name'];
682
-				}
683
-			}
684
-
685
-			return $version;
686
-		}
687
-
688
-		/**
689
-		 * Inline CSS for RTL language support.
690
-		 *
691
-		 * @since 1.0.13
692
-		 * @return string Inline CSS.
693
-		 */
694
-		public function rtl_inline_css() {
695
-			$inline_css = '[dir=rtl] .fa-address,[dir=rtl] .fa-address-card,[dir=rtl] .fa-adjust,[dir=rtl] .fa-alarm-clock,[dir=rtl] .fa-align-left,[dir=rtl] .fa-align-right,[dir=rtl] .fa-analytics,[dir=rtl] .fa-angle-double-left,[dir=rtl] .fa-angle-double-right,[dir=rtl] .fa-angle-left,[dir=rtl] .fa-angle-right,[dir=rtl] .fa-arrow-alt-circle-left,[dir=rtl] .fa-arrow-alt-circle-right,[dir=rtl] .fa-arrow-alt-from-left,[dir=rtl] .fa-arrow-alt-from-right,[dir=rtl] .fa-arrow-alt-left,[dir=rtl] .fa-arrow-alt-right,[dir=rtl] .fa-arrow-alt-square-left,[dir=rtl] .fa-arrow-alt-square-right,[dir=rtl] .fa-arrow-alt-to-left,[dir=rtl] .fa-arrow-alt-to-right,[dir=rtl] .fa-arrow-circle-left,[dir=rtl] .fa-arrow-circle-right,[dir=rtl] .fa-arrow-from-left,[dir=rtl] .fa-arrow-from-right,[dir=rtl] .fa-arrow-left,[dir=rtl] .fa-arrow-right,[dir=rtl] .fa-arrow-square-left,[dir=rtl] .fa-arrow-square-right,[dir=rtl] .fa-arrow-to-left,[dir=rtl] .fa-arrow-to-right,[dir=rtl] .fa-balance-scale-left,[dir=rtl] .fa-balance-scale-right,[dir=rtl] .fa-bed,[dir=rtl] .fa-bed-bunk,[dir=rtl] .fa-bed-empty,[dir=rtl] .fa-border-left,[dir=rtl] .fa-border-right,[dir=rtl] .fa-calendar-check,[dir=rtl] .fa-caret-circle-left,[dir=rtl] .fa-caret-circle-right,[dir=rtl] .fa-caret-left,[dir=rtl] .fa-caret-right,[dir=rtl] .fa-caret-square-left,[dir=rtl] .fa-caret-square-right,[dir=rtl] .fa-cart-arrow-down,[dir=rtl] .fa-cart-plus,[dir=rtl] .fa-chart-area,[dir=rtl] .fa-chart-bar,[dir=rtl] .fa-chart-line,[dir=rtl] .fa-chart-line-down,[dir=rtl] .fa-chart-network,[dir=rtl] .fa-chart-pie,[dir=rtl] .fa-chart-pie-alt,[dir=rtl] .fa-chart-scatter,[dir=rtl] .fa-check-circle,[dir=rtl] .fa-check-square,[dir=rtl] .fa-chevron-circle-left,[dir=rtl] .fa-chevron-circle-right,[dir=rtl] .fa-chevron-double-left,[dir=rtl] .fa-chevron-double-right,[dir=rtl] .fa-chevron-left,[dir=rtl] .fa-chevron-right,[dir=rtl] .fa-chevron-square-left,[dir=rtl] .fa-chevron-square-right,[dir=rtl] .fa-clock,[dir=rtl] .fa-file,[dir=rtl] .fa-file-alt,[dir=rtl] .fa-file-archive,[dir=rtl] .fa-file-audio,[dir=rtl] .fa-file-chart-line,[dir=rtl] .fa-file-chart-pie,[dir=rtl] .fa-file-code,[dir=rtl] .fa-file-excel,[dir=rtl] .fa-file-image,[dir=rtl] .fa-file-pdf,[dir=rtl] .fa-file-powerpoint,[dir=rtl] .fa-file-video,[dir=rtl] .fa-file-word,[dir=rtl] .fa-flag,[dir=rtl] .fa-folder,[dir=rtl] .fa-folder-open,[dir=rtl] .fa-hand-lizard,[dir=rtl] .fa-hand-point-down,[dir=rtl] .fa-hand-point-left,[dir=rtl] .fa-hand-point-right,[dir=rtl] .fa-hand-point-up,[dir=rtl] .fa-hand-scissors,[dir=rtl] .fa-image,[dir=rtl] .fa-long-arrow-alt-left,[dir=rtl] .fa-long-arrow-alt-right,[dir=rtl] .fa-long-arrow-left,[dir=rtl] .fa-long-arrow-right,[dir=rtl] .fa-luggage-cart,[dir=rtl] .fa-moon,[dir=rtl] .fa-pencil,[dir=rtl] .fa-pencil-alt,[dir=rtl] .fa-play-circle,[dir=rtl] .fa-project-diagram,[dir=rtl] .fa-quote-left,[dir=rtl] .fa-quote-right,[dir=rtl] .fa-shopping-cart,[dir=rtl] .fa-thumbs-down,[dir=rtl] .fa-thumbs-up,[dir=rtl] .fa-user-chart{filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);transform:scale(-1,1)}[dir=rtl] .fa-spin{animation-direction:reverse}';
696
-
697
-			return $inline_css;
698
-		}
699
-
700
-		/**
701
-		 * Show any warnings as an admin notice.
702
-		 *
703
-		 * @return void
704
-		 */
705
-		public function admin_notices() {
706
-			$settings = $this->settings;
707
-
708
-			if ( defined( 'FONTAWESOME_PLUGIN_FILE' ) ) {
709
-				if ( ! empty( $_REQUEST['page'] ) && $_REQUEST['page'] == 'wp-font-awesome-settings' ) {
710
-					?>
610
+            }
611
+        }
612
+
613
+        /**
614
+         * Check a version number is valid and if so return it or else return an empty string.
615
+         *
616
+         * @param $version string The version number to check.
617
+         *
618
+         * @since 1.0.6
619
+         *
620
+         * @return string Either a valid version number or an empty string.
621
+         */
622
+        public function validate_version_number( $version ) {
623
+
624
+            if ( version_compare( $version, '0.0.1', '>=' ) >= 0 ) {
625
+                // valid
626
+            } else {
627
+                $version = '';// not validated
628
+            }
629
+
630
+            return $version;
631
+        }
632
+
633
+
634
+        /**
635
+         * Get the latest version of Font Awesome.
636
+         *
637
+         * We check for a cached version and if none we will check for a live version via API and then cache it for 48 hours.
638
+         *
639
+         * @since 1.0.7
640
+         * @return mixed|string The latest version number found.
641
+         */
642
+        public function get_latest_version( $force_api = false ) {
643
+            $latest_version = $this->latest;
644
+
645
+            $cache = get_transient( 'wp-font-awesome-settings-version' );
646
+
647
+            if ( $cache === false || $force_api ) { // its not set
648
+                $api_ver = $this->get_latest_version_from_api();
649
+                if ( version_compare( $api_ver, $this->latest, '>=' ) >= 0 ) {
650
+                    $latest_version = $api_ver;
651
+                    set_transient( 'wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS );
652
+                }
653
+            } elseif ( $this->validate_version_number( $cache ) ) {
654
+                if ( version_compare( $cache, $this->latest, '>=' ) >= 0 ) {
655
+                    $latest_version = $cache;
656
+                }
657
+            }
658
+
659
+            // Check and auto download fonts locally.
660
+            if ( empty( $this->settings['pro'] ) && empty( $this->settings['version'] ) && $this->settings['type'] != 'KIT' && ! empty( $this->settings['local'] ) && ! empty( $this->settings['local_version'] ) && ! empty( $latest_version ) ) {
661
+                if ( version_compare( $latest_version, $this->settings['local_version'], '>' ) && is_admin() && ! wp_doing_ajax() ) {
662
+                    $this->download_package( $latest_version );
663
+                }
664
+            }
665
+
666
+            return $latest_version;
667
+        }
668
+
669
+        /**
670
+         * Get the latest Font Awesome version from the github API.
671
+         *
672
+         * @since 1.0.7
673
+         * @return string The latest version number or `0` on API fail.
674
+         */
675
+        public function get_latest_version_from_api() {
676
+            $version  = "0";
677
+            $response = wp_remote_get( "https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest" );
678
+            if ( ! is_wp_error( $response ) && is_array( $response ) ) {
679
+                $api_response = json_decode( wp_remote_retrieve_body( $response ), true );
680
+                if ( isset( $api_response['tag_name'] ) && version_compare( $api_response['tag_name'], $this->latest, '>=' ) >= 0 && empty( $api_response['prerelease'] ) ) {
681
+                    $version = $api_response['tag_name'];
682
+                }
683
+            }
684
+
685
+            return $version;
686
+        }
687
+
688
+        /**
689
+         * Inline CSS for RTL language support.
690
+         *
691
+         * @since 1.0.13
692
+         * @return string Inline CSS.
693
+         */
694
+        public function rtl_inline_css() {
695
+            $inline_css = '[dir=rtl] .fa-address,[dir=rtl] .fa-address-card,[dir=rtl] .fa-adjust,[dir=rtl] .fa-alarm-clock,[dir=rtl] .fa-align-left,[dir=rtl] .fa-align-right,[dir=rtl] .fa-analytics,[dir=rtl] .fa-angle-double-left,[dir=rtl] .fa-angle-double-right,[dir=rtl] .fa-angle-left,[dir=rtl] .fa-angle-right,[dir=rtl] .fa-arrow-alt-circle-left,[dir=rtl] .fa-arrow-alt-circle-right,[dir=rtl] .fa-arrow-alt-from-left,[dir=rtl] .fa-arrow-alt-from-right,[dir=rtl] .fa-arrow-alt-left,[dir=rtl] .fa-arrow-alt-right,[dir=rtl] .fa-arrow-alt-square-left,[dir=rtl] .fa-arrow-alt-square-right,[dir=rtl] .fa-arrow-alt-to-left,[dir=rtl] .fa-arrow-alt-to-right,[dir=rtl] .fa-arrow-circle-left,[dir=rtl] .fa-arrow-circle-right,[dir=rtl] .fa-arrow-from-left,[dir=rtl] .fa-arrow-from-right,[dir=rtl] .fa-arrow-left,[dir=rtl] .fa-arrow-right,[dir=rtl] .fa-arrow-square-left,[dir=rtl] .fa-arrow-square-right,[dir=rtl] .fa-arrow-to-left,[dir=rtl] .fa-arrow-to-right,[dir=rtl] .fa-balance-scale-left,[dir=rtl] .fa-balance-scale-right,[dir=rtl] .fa-bed,[dir=rtl] .fa-bed-bunk,[dir=rtl] .fa-bed-empty,[dir=rtl] .fa-border-left,[dir=rtl] .fa-border-right,[dir=rtl] .fa-calendar-check,[dir=rtl] .fa-caret-circle-left,[dir=rtl] .fa-caret-circle-right,[dir=rtl] .fa-caret-left,[dir=rtl] .fa-caret-right,[dir=rtl] .fa-caret-square-left,[dir=rtl] .fa-caret-square-right,[dir=rtl] .fa-cart-arrow-down,[dir=rtl] .fa-cart-plus,[dir=rtl] .fa-chart-area,[dir=rtl] .fa-chart-bar,[dir=rtl] .fa-chart-line,[dir=rtl] .fa-chart-line-down,[dir=rtl] .fa-chart-network,[dir=rtl] .fa-chart-pie,[dir=rtl] .fa-chart-pie-alt,[dir=rtl] .fa-chart-scatter,[dir=rtl] .fa-check-circle,[dir=rtl] .fa-check-square,[dir=rtl] .fa-chevron-circle-left,[dir=rtl] .fa-chevron-circle-right,[dir=rtl] .fa-chevron-double-left,[dir=rtl] .fa-chevron-double-right,[dir=rtl] .fa-chevron-left,[dir=rtl] .fa-chevron-right,[dir=rtl] .fa-chevron-square-left,[dir=rtl] .fa-chevron-square-right,[dir=rtl] .fa-clock,[dir=rtl] .fa-file,[dir=rtl] .fa-file-alt,[dir=rtl] .fa-file-archive,[dir=rtl] .fa-file-audio,[dir=rtl] .fa-file-chart-line,[dir=rtl] .fa-file-chart-pie,[dir=rtl] .fa-file-code,[dir=rtl] .fa-file-excel,[dir=rtl] .fa-file-image,[dir=rtl] .fa-file-pdf,[dir=rtl] .fa-file-powerpoint,[dir=rtl] .fa-file-video,[dir=rtl] .fa-file-word,[dir=rtl] .fa-flag,[dir=rtl] .fa-folder,[dir=rtl] .fa-folder-open,[dir=rtl] .fa-hand-lizard,[dir=rtl] .fa-hand-point-down,[dir=rtl] .fa-hand-point-left,[dir=rtl] .fa-hand-point-right,[dir=rtl] .fa-hand-point-up,[dir=rtl] .fa-hand-scissors,[dir=rtl] .fa-image,[dir=rtl] .fa-long-arrow-alt-left,[dir=rtl] .fa-long-arrow-alt-right,[dir=rtl] .fa-long-arrow-left,[dir=rtl] .fa-long-arrow-right,[dir=rtl] .fa-luggage-cart,[dir=rtl] .fa-moon,[dir=rtl] .fa-pencil,[dir=rtl] .fa-pencil-alt,[dir=rtl] .fa-play-circle,[dir=rtl] .fa-project-diagram,[dir=rtl] .fa-quote-left,[dir=rtl] .fa-quote-right,[dir=rtl] .fa-shopping-cart,[dir=rtl] .fa-thumbs-down,[dir=rtl] .fa-thumbs-up,[dir=rtl] .fa-user-chart{filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);transform:scale(-1,1)}[dir=rtl] .fa-spin{animation-direction:reverse}';
696
+
697
+            return $inline_css;
698
+        }
699
+
700
+        /**
701
+         * Show any warnings as an admin notice.
702
+         *
703
+         * @return void
704
+         */
705
+        public function admin_notices() {
706
+            $settings = $this->settings;
707
+
708
+            if ( defined( 'FONTAWESOME_PLUGIN_FILE' ) ) {
709
+                if ( ! empty( $_REQUEST['page'] ) && $_REQUEST['page'] == 'wp-font-awesome-settings' ) {
710
+                    ?>
711 711
                     <div class="notice  notice-error is-dismissible">
712 712
                         <p><?php _e( 'The Official Font Awesome Plugin is active, please adjust your settings there.', 'font-awesome-settings' ); ?></p>
713 713
                     </div>
714 714
 					<?php
715
-				}
716
-			} else {
717
-				if ( ! empty( $settings ) ) {
718
-					if ( $settings['type'] != 'KIT' && $settings['pro'] && ( $settings['version'] == '' || version_compare( $settings['version'], '6', '>=' ) ) ) {
719
-						$link = admin_url('options-general.php?page=wp-font-awesome-settings');
720
-						?>
715
+                }
716
+            } else {
717
+                if ( ! empty( $settings ) ) {
718
+                    if ( $settings['type'] != 'KIT' && $settings['pro'] && ( $settings['version'] == '' || version_compare( $settings['version'], '6', '>=' ) ) ) {
719
+                        $link = admin_url('options-general.php?page=wp-font-awesome-settings');
720
+                        ?>
721 721
                         <div class="notice  notice-error is-dismissible">
722 722
                             <p><?php echo sprintf( __( 'Font Awesome Pro v6 requires the use of a kit, please setup your kit in %ssettings.%s', 'font-awesome-settings' ),"<a href='". esc_url_raw( $link )."'>","</a>" ); ?></p>
723 723
                         </div>
724 724
 						<?php
725
-					}
726
-				}
727
-			}
728
-		}
729
-
730
-		/**
731
-		 * Handle fontawesome add settings to download fontawesome to store locally.
732
-		 *
733
-		 * @since 1.1.1
734
-		 *
735
-		 * @param string $option The option name.
736
-		 * @param mixed  $value  The option value.
737
-		 */
738
-		public function add_option_wp_font_awesome_settings( $option, $value ) {
739
-			// Do nothing if WordPress is being installed.
740
-			if ( wp_installing() ) {
741
-				return;
742
-			}
743
-
744
-			if ( ! empty( $value['local'] ) && empty( $value['pro'] ) && ! ( ! empty( $value['type'] ) && $value['type'] == 'KIT' ) ) {
745
-				$version = isset( $value['version'] ) && $value['version'] ? $value['version'] : $this->get_latest_version();
746
-
747
-				if ( ! empty( $version ) ) {
748
-					$response = $this->download_package( $version, $value );
749
-
750
-					if ( is_wp_error( $response ) ) {
751
-						add_settings_error( 'general', 'fontawesome_download', __( 'ERROR:', 'font-awesome-settings' ) . ' ' . $response->get_error_message(), 'error' );
752
-					}
753
-				}
754
-			}
755
-		}
756
-
757
-		/**
758
-		 * Handle fontawesome update settings to download fontawesome to store locally.
759
-		 *
760
-		 * @since 1.1.0
761
-		 *
762
-		 * @param mixed $old_value The old option value.
763
-		 * @param mixed $value     The new option value.
764
-		 */
765
-		public function update_option_wp_font_awesome_settings( $old_value, $new_value ) {
766
-			// Do nothing if WordPress is being installed.
767
-			if ( wp_installing() ) {
768
-				return;
769
-			}
770
-
771
-			if ( ! empty( $new_value['local'] ) && empty( $new_value['pro'] ) && ! ( ! empty( $new_value['type'] ) && $new_value['type'] == 'KIT' ) ) {
772
-				// Old values
773
-				$old_version = isset( $old_value['version'] ) && $old_value['version'] ? $old_value['version'] : ( isset( $old_value['local_version'] ) ? $old_value['local_version'] : '' );
774
-				$old_local = isset( $old_value['local'] ) ? (int) $old_value['local'] : 0;
775
-
776
-				// New values
777
-				$new_version = isset( $new_value['version'] ) && $new_value['version'] ? $new_value['version'] : $this->get_latest_version();
778
-
779
-				if ( empty( $old_local ) || $old_version !== $new_version || ! file_exists( $this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css' ) ) {
780
-					$response = $this->download_package( $new_version, $new_value );
781
-
782
-					if ( is_wp_error( $response ) ) {
783
-						add_settings_error( 'general', 'fontawesome_download', __( 'ERROR:', 'font-awesome-settings' ) . ' ' . $response->get_error_message(), 'error' );
784
-					}
785
-				}
786
-			}
787
-		}
788
-
789
-		/**
790
-		 * Get the fonts directory local path.
791
-		 *
792
-		 * @since 1.1.0
793
-		 *
794
-		 * @param string Fonts directory local path.
795
-		 */
796
-		public function get_fonts_dir() {
797
-			$upload_dir = wp_upload_dir( null, false );
798
-
799
-			return $upload_dir['basedir'] . DIRECTORY_SEPARATOR .  'ayefonts' . DIRECTORY_SEPARATOR . 'fa' . DIRECTORY_SEPARATOR;
800
-		}
801
-
802
-		/**
803
-		 * Get the fonts directory local url.
804
-		 *
805
-		 * @since 1.1.0
806
-		 *
807
-		 * @param string Fonts directory local url.
808
-		 */
809
-		public function get_fonts_url() {
810
-			$upload_dir = wp_upload_dir( null, false );
811
-
812
-			return $upload_dir['baseurl'] .  '/ayefonts/fa/';
813
-		}
814
-
815
-		/**
816
-		 * Check whether load locally active.
817
-		 *
818
-		 * @since 1.1.0
819
-		 *
820
-		 * @return bool True if active else false.
821
-		 */
822
-		public function has_local() {
823
-			if ( ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) && file_exists( $this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css' ) ) {
824
-				return true;
825
-			}
826
-
827
-			return false;
828
-		}
829
-
830
-		/**
831
-		 * Get the WP Filesystem access.
832
-		 *
833
-		 * @since 1.1.0
834
-		 *
835
-		 * @return object The WP Filesystem.
836
-		 */
837
-		public function get_wp_filesystem() {
838
-			if ( ! function_exists( 'get_filesystem_method' ) ) {
839
-				require_once( ABSPATH . "/wp-admin/includes/file.php" );
840
-			}
841
-
842
-			$access_type = get_filesystem_method();
843
-
844
-			if ( $access_type === 'direct' ) {
845
-				/* You can safely run request_filesystem_credentials() without any issues and don't need to worry about passing in a URL */
846
-				$creds = request_filesystem_credentials( trailingslashit( site_url() ) . 'wp-admin/', '', false, false, array() );
847
-
848
-				/* Initialize the API */
849
-				if ( ! WP_Filesystem( $creds ) ) {
850
-					/* Any problems and we exit */
851
-					return false;
852
-				}
853
-
854
-				global $wp_filesystem;
855
-
856
-				return $wp_filesystem;
857
-				/* Do our file manipulations below */
858
-			} else if ( defined( 'FTP_USER' ) ) {
859
-				$creds = request_filesystem_credentials( trailingslashit( site_url() ) . 'wp-admin/', '', false, false, array() );
860
-
861
-				/* Initialize the API */
862
-				if ( ! WP_Filesystem( $creds ) ) {
863
-					/* Any problems and we exit */
864
-					return false;
865
-				}
866
-
867
-				global $wp_filesystem;
868
-
869
-				return $wp_filesystem;
870
-			} else {
871
-				/* Don't have direct write access. Prompt user with our notice */
872
-				return false;
873
-			}
874
-		}
875
-
876
-		/**
877
-		 * Download the fontawesome package file.
878
-		 *
879
-		 * @since 1.1.0
880
-		 *
881
-		 * @param mixed $version The font awesome.
882
-		 * @param array $option Fontawesome settings.
883
-		 * @return WP_ERROR|bool Error on fail and true on success.
884
-		 */
885
-		public function download_package( $version, $option = array() ) {
886
-			$filename = 'fontawesome-free-' . $version . '-web';
887
-			$url = 'https://use.fontawesome.com/releases/v' . $version . '/' . $filename . '.zip';
888
-
889
-			if ( ! function_exists( 'wp_handle_upload' ) ) {
890
-				require_once ABSPATH . 'wp-admin/includes/file.php';
891
-			}
892
-
893
-			$download_file = download_url( esc_url_raw( $url ) );
894
-
895
-			if ( is_wp_error( $download_file ) ) {
896
-				return new WP_Error( 'fontawesome_download_failed', __( $download_file->get_error_message(), 'font-awesome-settings' ) );
897
-			} else if ( empty( $download_file ) ) {
898
-				return new WP_Error( 'fontawesome_download_failed', __( 'Something went wrong in downloading the font awesome to store locally.', 'font-awesome-settings' ) );
899
-			}
900
-
901
-			$response = $this->extract_package( $download_file, $filename, true );
902
-
903
-			// Update local version.
904
-			if ( is_wp_error( $response ) ) {
905
-				return $response;
906
-			} else if ( $response ) {
907
-				if ( empty( $option ) ) {
908
-					$option = get_option( 'wp-font-awesome-settings' );
909
-				}
910
-
911
-				$option['local_version'] = $version;
912
-
913
-				// Remove action to prevent looping.
914
-				remove_action( 'update_option_wp-font-awesome-settings', array( $this, 'update_option_wp_font_awesome_settings' ), 10, 2 );
915
-
916
-				update_option( 'wp-font-awesome-settings', $option );
917
-
918
-				return true;
919
-			}
920
-
921
-			return false;
922
-		}
923
-
924
-		/**
925
-		 * Extract the fontawesome package file.
926
-		 *
927
-		 * @since 1.1.0
928
-		 *
929
-		 * @param string $package The package file path.
930
-		 * @param string $dirname Package file name.
931
-		 * @param bool   $delete_package Delete temp file or not.
932
-		 * @return WP_Error|bool True on success WP_Error on fail.
933
-		 */
934
-		public function extract_package( $package, $dirname = '', $delete_package = false ) {
935
-			global $wp_filesystem;
936
-
937
-			$wp_filesystem = $this->get_wp_filesystem();
938
-
939
-			if ( empty( $wp_filesystem ) && isset( $wp_filesystem->errors ) && is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->get_error_code() ) {
940
-				return new WP_Error( 'fontawesome_filesystem_error', __( $wp_filesystem->errors->get_error_message(), 'font-awesome-settings' ) );
941
-			} else if ( empty( $wp_filesystem ) ) {
942
-				return new WP_Error( 'fontawesome_filesystem_error', __( 'Failed to initialise WP_Filesystem while trying to download the Font Awesome package.', 'font-awesome-settings' ) );
943
-			}
944
-
945
-			$fonts_dir = $this->get_fonts_dir();
946
-			$fonts_tmp_dir = dirname( $fonts_dir ) . DIRECTORY_SEPARATOR . 'fa-tmp' . DIRECTORY_SEPARATOR;
947
-
948
-			if ( $wp_filesystem->is_dir( $fonts_tmp_dir ) ) {
949
-				$wp_filesystem->delete( $fonts_tmp_dir, true );
950
-			}
951
-
952
-			// Unzip package to working directory.
953
-			$result = unzip_file( $package, $fonts_tmp_dir );
954
-
955
-			if ( is_wp_error( $result ) ) {
956
-				$wp_filesystem->delete( $fonts_tmp_dir, true );
957
-
958
-				if ( 'incompatible_archive' === $result->get_error_code() ) {
959
-					return new WP_Error( 'fontawesome_incompatible_archive', __( $result->get_error_message(), 'font-awesome-settings' ) );
960
-				}
961
-
962
-				return $result;
963
-			}
964
-
965
-			if ( $wp_filesystem->is_dir( $fonts_dir ) ) {
966
-				$wp_filesystem->delete( $fonts_dir, true );
967
-			}
968
-
969
-			$extract_dir = $fonts_tmp_dir;
970
-
971
-			if ( $dirname && $wp_filesystem->is_dir( $extract_dir . $dirname . DIRECTORY_SEPARATOR ) ) {
972
-				$extract_dir .= $dirname . DIRECTORY_SEPARATOR;
973
-			}
974
-
975
-			try {
976
-				$return = $wp_filesystem->move( $extract_dir, $fonts_dir, true );
977
-			} catch ( Exception $e ) {
978
-				$return = new WP_Error( 'fontawesome_move_package', __( 'Fail to move font awesome package!', 'font-awesome-settings' ) );
979
-			}
980
-
981
-			if ( $wp_filesystem->is_dir( $fonts_tmp_dir ) ) {
982
-				$wp_filesystem->delete( $fonts_tmp_dir, true );
983
-			}
984
-
985
-			// Once extracted, delete the package if required.
986
-			if ( $delete_package ) {
987
-				unlink( $package );
988
-			}
989
-
990
-			return $return;
991
-		}
992
-	}
993
-
994
-	/**
995
-	 * Run the class if found.
996
-	 */
997
-	WP_Font_Awesome_Settings::instance();
725
+                    }
726
+                }
727
+            }
728
+        }
729
+
730
+        /**
731
+         * Handle fontawesome add settings to download fontawesome to store locally.
732
+         *
733
+         * @since 1.1.1
734
+         *
735
+         * @param string $option The option name.
736
+         * @param mixed  $value  The option value.
737
+         */
738
+        public function add_option_wp_font_awesome_settings( $option, $value ) {
739
+            // Do nothing if WordPress is being installed.
740
+            if ( wp_installing() ) {
741
+                return;
742
+            }
743
+
744
+            if ( ! empty( $value['local'] ) && empty( $value['pro'] ) && ! ( ! empty( $value['type'] ) && $value['type'] == 'KIT' ) ) {
745
+                $version = isset( $value['version'] ) && $value['version'] ? $value['version'] : $this->get_latest_version();
746
+
747
+                if ( ! empty( $version ) ) {
748
+                    $response = $this->download_package( $version, $value );
749
+
750
+                    if ( is_wp_error( $response ) ) {
751
+                        add_settings_error( 'general', 'fontawesome_download', __( 'ERROR:', 'font-awesome-settings' ) . ' ' . $response->get_error_message(), 'error' );
752
+                    }
753
+                }
754
+            }
755
+        }
756
+
757
+        /**
758
+         * Handle fontawesome update settings to download fontawesome to store locally.
759
+         *
760
+         * @since 1.1.0
761
+         *
762
+         * @param mixed $old_value The old option value.
763
+         * @param mixed $value     The new option value.
764
+         */
765
+        public function update_option_wp_font_awesome_settings( $old_value, $new_value ) {
766
+            // Do nothing if WordPress is being installed.
767
+            if ( wp_installing() ) {
768
+                return;
769
+            }
770
+
771
+            if ( ! empty( $new_value['local'] ) && empty( $new_value['pro'] ) && ! ( ! empty( $new_value['type'] ) && $new_value['type'] == 'KIT' ) ) {
772
+                // Old values
773
+                $old_version = isset( $old_value['version'] ) && $old_value['version'] ? $old_value['version'] : ( isset( $old_value['local_version'] ) ? $old_value['local_version'] : '' );
774
+                $old_local = isset( $old_value['local'] ) ? (int) $old_value['local'] : 0;
775
+
776
+                // New values
777
+                $new_version = isset( $new_value['version'] ) && $new_value['version'] ? $new_value['version'] : $this->get_latest_version();
778
+
779
+                if ( empty( $old_local ) || $old_version !== $new_version || ! file_exists( $this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css' ) ) {
780
+                    $response = $this->download_package( $new_version, $new_value );
781
+
782
+                    if ( is_wp_error( $response ) ) {
783
+                        add_settings_error( 'general', 'fontawesome_download', __( 'ERROR:', 'font-awesome-settings' ) . ' ' . $response->get_error_message(), 'error' );
784
+                    }
785
+                }
786
+            }
787
+        }
788
+
789
+        /**
790
+         * Get the fonts directory local path.
791
+         *
792
+         * @since 1.1.0
793
+         *
794
+         * @param string Fonts directory local path.
795
+         */
796
+        public function get_fonts_dir() {
797
+            $upload_dir = wp_upload_dir( null, false );
798
+
799
+            return $upload_dir['basedir'] . DIRECTORY_SEPARATOR .  'ayefonts' . DIRECTORY_SEPARATOR . 'fa' . DIRECTORY_SEPARATOR;
800
+        }
801
+
802
+        /**
803
+         * Get the fonts directory local url.
804
+         *
805
+         * @since 1.1.0
806
+         *
807
+         * @param string Fonts directory local url.
808
+         */
809
+        public function get_fonts_url() {
810
+            $upload_dir = wp_upload_dir( null, false );
811
+
812
+            return $upload_dir['baseurl'] .  '/ayefonts/fa/';
813
+        }
814
+
815
+        /**
816
+         * Check whether load locally active.
817
+         *
818
+         * @since 1.1.0
819
+         *
820
+         * @return bool True if active else false.
821
+         */
822
+        public function has_local() {
823
+            if ( ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) && file_exists( $this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css' ) ) {
824
+                return true;
825
+            }
826
+
827
+            return false;
828
+        }
829
+
830
+        /**
831
+         * Get the WP Filesystem access.
832
+         *
833
+         * @since 1.1.0
834
+         *
835
+         * @return object The WP Filesystem.
836
+         */
837
+        public function get_wp_filesystem() {
838
+            if ( ! function_exists( 'get_filesystem_method' ) ) {
839
+                require_once( ABSPATH . "/wp-admin/includes/file.php" );
840
+            }
841
+
842
+            $access_type = get_filesystem_method();
843
+
844
+            if ( $access_type === 'direct' ) {
845
+                /* You can safely run request_filesystem_credentials() without any issues and don't need to worry about passing in a URL */
846
+                $creds = request_filesystem_credentials( trailingslashit( site_url() ) . 'wp-admin/', '', false, false, array() );
847
+
848
+                /* Initialize the API */
849
+                if ( ! WP_Filesystem( $creds ) ) {
850
+                    /* Any problems and we exit */
851
+                    return false;
852
+                }
853
+
854
+                global $wp_filesystem;
855
+
856
+                return $wp_filesystem;
857
+                /* Do our file manipulations below */
858
+            } else if ( defined( 'FTP_USER' ) ) {
859
+                $creds = request_filesystem_credentials( trailingslashit( site_url() ) . 'wp-admin/', '', false, false, array() );
860
+
861
+                /* Initialize the API */
862
+                if ( ! WP_Filesystem( $creds ) ) {
863
+                    /* Any problems and we exit */
864
+                    return false;
865
+                }
866
+
867
+                global $wp_filesystem;
868
+
869
+                return $wp_filesystem;
870
+            } else {
871
+                /* Don't have direct write access. Prompt user with our notice */
872
+                return false;
873
+            }
874
+        }
875
+
876
+        /**
877
+         * Download the fontawesome package file.
878
+         *
879
+         * @since 1.1.0
880
+         *
881
+         * @param mixed $version The font awesome.
882
+         * @param array $option Fontawesome settings.
883
+         * @return WP_ERROR|bool Error on fail and true on success.
884
+         */
885
+        public function download_package( $version, $option = array() ) {
886
+            $filename = 'fontawesome-free-' . $version . '-web';
887
+            $url = 'https://use.fontawesome.com/releases/v' . $version . '/' . $filename . '.zip';
888
+
889
+            if ( ! function_exists( 'wp_handle_upload' ) ) {
890
+                require_once ABSPATH . 'wp-admin/includes/file.php';
891
+            }
892
+
893
+            $download_file = download_url( esc_url_raw( $url ) );
894
+
895
+            if ( is_wp_error( $download_file ) ) {
896
+                return new WP_Error( 'fontawesome_download_failed', __( $download_file->get_error_message(), 'font-awesome-settings' ) );
897
+            } else if ( empty( $download_file ) ) {
898
+                return new WP_Error( 'fontawesome_download_failed', __( 'Something went wrong in downloading the font awesome to store locally.', 'font-awesome-settings' ) );
899
+            }
900
+
901
+            $response = $this->extract_package( $download_file, $filename, true );
902
+
903
+            // Update local version.
904
+            if ( is_wp_error( $response ) ) {
905
+                return $response;
906
+            } else if ( $response ) {
907
+                if ( empty( $option ) ) {
908
+                    $option = get_option( 'wp-font-awesome-settings' );
909
+                }
910
+
911
+                $option['local_version'] = $version;
912
+
913
+                // Remove action to prevent looping.
914
+                remove_action( 'update_option_wp-font-awesome-settings', array( $this, 'update_option_wp_font_awesome_settings' ), 10, 2 );
915
+
916
+                update_option( 'wp-font-awesome-settings', $option );
917
+
918
+                return true;
919
+            }
920
+
921
+            return false;
922
+        }
923
+
924
+        /**
925
+         * Extract the fontawesome package file.
926
+         *
927
+         * @since 1.1.0
928
+         *
929
+         * @param string $package The package file path.
930
+         * @param string $dirname Package file name.
931
+         * @param bool   $delete_package Delete temp file or not.
932
+         * @return WP_Error|bool True on success WP_Error on fail.
933
+         */
934
+        public function extract_package( $package, $dirname = '', $delete_package = false ) {
935
+            global $wp_filesystem;
936
+
937
+            $wp_filesystem = $this->get_wp_filesystem();
938
+
939
+            if ( empty( $wp_filesystem ) && isset( $wp_filesystem->errors ) && is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->get_error_code() ) {
940
+                return new WP_Error( 'fontawesome_filesystem_error', __( $wp_filesystem->errors->get_error_message(), 'font-awesome-settings' ) );
941
+            } else if ( empty( $wp_filesystem ) ) {
942
+                return new WP_Error( 'fontawesome_filesystem_error', __( 'Failed to initialise WP_Filesystem while trying to download the Font Awesome package.', 'font-awesome-settings' ) );
943
+            }
944
+
945
+            $fonts_dir = $this->get_fonts_dir();
946
+            $fonts_tmp_dir = dirname( $fonts_dir ) . DIRECTORY_SEPARATOR . 'fa-tmp' . DIRECTORY_SEPARATOR;
947
+
948
+            if ( $wp_filesystem->is_dir( $fonts_tmp_dir ) ) {
949
+                $wp_filesystem->delete( $fonts_tmp_dir, true );
950
+            }
951
+
952
+            // Unzip package to working directory.
953
+            $result = unzip_file( $package, $fonts_tmp_dir );
954
+
955
+            if ( is_wp_error( $result ) ) {
956
+                $wp_filesystem->delete( $fonts_tmp_dir, true );
957
+
958
+                if ( 'incompatible_archive' === $result->get_error_code() ) {
959
+                    return new WP_Error( 'fontawesome_incompatible_archive', __( $result->get_error_message(), 'font-awesome-settings' ) );
960
+                }
961
+
962
+                return $result;
963
+            }
964
+
965
+            if ( $wp_filesystem->is_dir( $fonts_dir ) ) {
966
+                $wp_filesystem->delete( $fonts_dir, true );
967
+            }
968
+
969
+            $extract_dir = $fonts_tmp_dir;
970
+
971
+            if ( $dirname && $wp_filesystem->is_dir( $extract_dir . $dirname . DIRECTORY_SEPARATOR ) ) {
972
+                $extract_dir .= $dirname . DIRECTORY_SEPARATOR;
973
+            }
974
+
975
+            try {
976
+                $return = $wp_filesystem->move( $extract_dir, $fonts_dir, true );
977
+            } catch ( Exception $e ) {
978
+                $return = new WP_Error( 'fontawesome_move_package', __( 'Fail to move font awesome package!', 'font-awesome-settings' ) );
979
+            }
980
+
981
+            if ( $wp_filesystem->is_dir( $fonts_tmp_dir ) ) {
982
+                $wp_filesystem->delete( $fonts_tmp_dir, true );
983
+            }
984
+
985
+            // Once extracted, delete the package if required.
986
+            if ( $delete_package ) {
987
+                unlink( $package );
988
+            }
989
+
990
+            return $return;
991
+        }
992
+    }
993
+
994
+    /**
995
+     * Run the class if found.
996
+     */
997
+    WP_Font_Awesome_Settings::instance();
998 998
 }
Please login to merge, or discard this patch.
Spacing   +229 added lines, -229 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( 'WP_Font_Awesome_Settings' ) ) {
22
+if (!class_exists('WP_Font_Awesome_Settings')) {
23 23
 
24 24
 	/**
25 25
 	 * A Class to be able to change settings for Font Awesome.
@@ -96,19 +96,19 @@  discard block
 block discarded – undo
96 96
 		 * @return WP_Font_Awesome_Settings - Main instance.
97 97
 		 */
98 98
 		public static function instance() {
99
-			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WP_Font_Awesome_Settings ) ) {
99
+			if (!isset(self::$instance) && !(self::$instance instanceof WP_Font_Awesome_Settings)) {
100 100
 				self::$instance = new WP_Font_Awesome_Settings;
101 101
 
102
-				add_action( 'init', array( self::$instance, 'init' ) ); // set settings
102
+				add_action('init', array(self::$instance, 'init')); // set settings
103 103
 
104
-				if ( is_admin() ) {
105
-					add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
106
-					add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
107
-					add_action( 'admin_init', array( self::$instance, 'constants' ) );
108
-					add_action( 'admin_notices', array( self::$instance, 'admin_notices' ) );
104
+				if (is_admin()) {
105
+					add_action('admin_menu', array(self::$instance, 'menu_item'));
106
+					add_action('admin_init', array(self::$instance, 'register_settings'));
107
+					add_action('admin_init', array(self::$instance, 'constants'));
108
+					add_action('admin_notices', array(self::$instance, 'admin_notices'));
109 109
 				}
110 110
 
111
-				do_action( 'wp_font_awesome_settings_loaded' );
111
+				do_action('wp_font_awesome_settings_loaded');
112 112
 			}
113 113
 
114 114
 			return self::$instance;
@@ -119,26 +119,26 @@  discard block
 block discarded – undo
119 119
          *
120 120
 		 * @return void
121 121
 		 */
122
-		public function constants(){
122
+		public function constants() {
123 123
 
124 124
 			// register iconpicker constant
125
-			if ( ! defined( 'FAS_ICONPICKER_JS_URL' ) ) {
125
+			if (!defined('FAS_ICONPICKER_JS_URL')) {
126 126
 				$url = $this->get_path_url();
127 127
 				$version = $this->settings['version'];
128 128
 
129
-				if( !$version || version_compare($version,'5.999','>')){
129
+				if (!$version || version_compare($version, '5.999', '>')) {
130 130
 					$url .= 'assets/js/fa-iconpicker-v6.min.js';
131
-				}else{
131
+				} else {
132 132
 					$url .= 'assets/js/fa-iconpicker-v5.min.js';
133 133
 				}
134 134
 
135
-				define( 'FAS_ICONPICKER_JS_URL', $url );
135
+				define('FAS_ICONPICKER_JS_URL', $url);
136 136
 
137 137
 			}
138 138
 
139 139
             // Set a constant if pro enbaled
140
-			if ( ! defined( 'FAS_PRO' ) && $this->settings['pro'] ) {
141
-				define( 'FAS_PRO', true );
140
+			if (!defined('FAS_PRO') && $this->settings['pro']) {
141
+				define('FAS_PRO', true);
142 142
 			}
143 143
 		}
144 144
 
@@ -148,19 +148,19 @@  discard block
 block discarded – undo
148 148
 		 * @return string
149 149
 		 */
150 150
 		public function get_path_url() {
151
-			$content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
152
-			$content_url = untrailingslashit( WP_CONTENT_URL );
151
+			$content_dir = wp_normalize_path(untrailingslashit(WP_CONTENT_DIR));
152
+			$content_url = untrailingslashit(WP_CONTENT_URL);
153 153
 
154 154
 			// Replace http:// to https://.
155
-			if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
156
-				$content_url = str_replace( 'http://', 'https://', $content_url );
155
+			if (strpos($content_url, 'http://') === 0 && strpos(plugins_url(), 'https://') === 0) {
156
+				$content_url = str_replace('http://', 'https://', $content_url);
157 157
 			}
158 158
 
159 159
 			// Check if we are inside a plugin
160
-			$file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
161
-			$url = str_replace( $content_dir, $content_url, $file_dir );
160
+			$file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__)));
161
+			$url = str_replace($content_dir, $content_url, $file_dir);
162 162
 
163
-			return trailingslashit( $url );
163
+			return trailingslashit($url);
164 164
 		}
165 165
 
166 166
 		/**
@@ -170,41 +170,41 @@  discard block
 block discarded – undo
170 170
 		 */
171 171
 		public function init() {
172 172
 			// Download fontawesome locally.
173
-			add_action( 'add_option_wp-font-awesome-settings', array( $this, 'add_option_wp_font_awesome_settings' ), 10, 2 );
174
-			add_action( 'update_option_wp-font-awesome-settings', array( $this, 'update_option_wp_font_awesome_settings' ), 10, 2 );
173
+			add_action('add_option_wp-font-awesome-settings', array($this, 'add_option_wp_font_awesome_settings'), 10, 2);
174
+			add_action('update_option_wp-font-awesome-settings', array($this, 'update_option_wp_font_awesome_settings'), 10, 2);
175 175
 
176 176
 			$this->settings = $this->get_settings();
177 177
 
178 178
 			// check if the official plugin is active and use that instead if so.
179
-			if ( ! defined( 'FONTAWESOME_PLUGIN_FILE' ) ) {
179
+			if (!defined('FONTAWESOME_PLUGIN_FILE')) {
180 180
 
181
-				if ( $this->settings['type'] == 'CSS' ) {
181
+				if ($this->settings['type'] == 'CSS') {
182 182
 
183
-					if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
184
-						add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
183
+					if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend') {
184
+						add_action('wp_enqueue_scripts', array($this, 'enqueue_style'), 5000);
185 185
 //						add_action( 'wp_footer', array( $this, 'enqueue_style' ), 5000 ); // not sure why this was added, seems to break frontend
186 186
 					}
187 187
 
188
-					if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
189
-						add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
190
-						add_filter( 'block_editor_settings_all', array( $this, 'enqueue_editor_styles' ), 10, 2 );
188
+					if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend') {
189
+						add_action('admin_enqueue_scripts', array($this, 'enqueue_style'), 5000);
190
+						add_filter('block_editor_settings_all', array($this, 'enqueue_editor_styles'), 10, 2);
191 191
 					}
192 192
 
193 193
 				} else {
194 194
 
195
-					if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
196
-						add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
195
+					if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend') {
196
+						add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 5000);
197 197
 					}
198 198
 
199
-					if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
200
-						add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
201
-						add_filter( 'block_editor_settings_all', array( $this, 'enqueue_editor_scripts' ), 10, 2 );
199
+					if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend') {
200
+						add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'), 5000);
201
+						add_filter('block_editor_settings_all', array($this, 'enqueue_editor_scripts'), 10, 2);
202 202
 					}
203 203
 				}
204 204
 
205 205
 				// remove font awesome if set to do so
206
-				if ( $this->settings['dequeue'] == '1' ) {
207
-					add_action( 'clean_url', array( $this, 'remove_font_awesome' ), 5000, 3 );
206
+				if ($this->settings['dequeue'] == '1') {
207
+					add_action('clean_url', array($this, 'remove_font_awesome'), 5000, 3);
208 208
 				}
209 209
 			}
210 210
 
@@ -218,9 +218,9 @@  discard block
 block discarded – undo
218 218
 		 *
219 219
 		 * @return array
220 220
 		 */
221
-		public function enqueue_editor_styles( $editor_settings, $block_editor_context ){
221
+		public function enqueue_editor_styles($editor_settings, $block_editor_context) {
222 222
 
223
-			if ( ! empty( $editor_settings['__unstableResolvedAssets']['styles'] ) ) {
223
+			if (!empty($editor_settings['__unstableResolvedAssets']['styles'])) {
224 224
 				$url = $this->get_url();
225 225
 				$editor_settings['__unstableResolvedAssets']['styles'] .= "<link rel='stylesheet' id='font-awesome-css'  href='$url' media='all' />";
226 226
 			}
@@ -236,7 +236,7 @@  discard block
 block discarded – undo
236 236
 		 *
237 237
 		 * @return array
238 238
 		 */
239
-		public function enqueue_editor_scripts( $editor_settings, $block_editor_context ){
239
+		public function enqueue_editor_scripts($editor_settings, $block_editor_context) {
240 240
 
241 241
 			$url = $this->get_url();
242 242
 			$editor_settings['__unstableResolvedAssets']['scripts'] .= "<script src='$url' id='font-awesome-js'></script>";
@@ -250,22 +250,22 @@  discard block
 block discarded – undo
250 250
 		public function enqueue_style() {
251 251
 			// build url
252 252
 			$url = $this->get_url();
253
-			$version = ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) ? strip_tags( $this->settings['local_version'] ) : null;
253
+			$version = !empty($this->settings['local']) && empty($this->settings['pro']) ? strip_tags($this->settings['local_version']) : null;
254 254
 
255
-			wp_deregister_style( 'font-awesome' ); // deregister in case its already there
256
-			wp_register_style( 'font-awesome', $url, array(), $version );
257
-			wp_enqueue_style( 'font-awesome' );
255
+			wp_deregister_style('font-awesome'); // deregister in case its already there
256
+			wp_register_style('font-awesome', $url, array(), $version);
257
+			wp_enqueue_style('font-awesome');
258 258
 
259 259
 			// RTL language support CSS.
260
-			if ( is_rtl() ) {
261
-				wp_add_inline_style( 'font-awesome', $this->rtl_inline_css() );
260
+			if (is_rtl()) {
261
+				wp_add_inline_style('font-awesome', $this->rtl_inline_css());
262 262
 			}
263 263
 
264
-			if ( $this->settings['shims'] ) {
265
-				$url = $this->get_url( true );
266
-				wp_deregister_style( 'font-awesome-shims' ); // deregister in case its already there
267
-				wp_register_style( 'font-awesome-shims', $url, array(), $version );
268
-				wp_enqueue_style( 'font-awesome-shims' );
264
+			if ($this->settings['shims']) {
265
+				$url = $this->get_url(true);
266
+				wp_deregister_style('font-awesome-shims'); // deregister in case its already there
267
+				wp_register_style('font-awesome-shims', $url, array(), $version);
268
+				wp_enqueue_style('font-awesome-shims');
269 269
 			}
270 270
 		}
271 271
 
@@ -277,15 +277,15 @@  discard block
 block discarded – undo
277 277
 			$url = $this->get_url();
278 278
 
279 279
 			$deregister_function = 'wp' . '_' . 'deregister' . '_' . 'script';
280
-			call_user_func( $deregister_function, 'font-awesome' ); // deregister in case its already there
281
-			wp_register_script( 'font-awesome', $url, array(), null );
282
-			wp_enqueue_script( 'font-awesome' );
280
+			call_user_func($deregister_function, 'font-awesome'); // deregister in case its already there
281
+			wp_register_script('font-awesome', $url, array(), null);
282
+			wp_enqueue_script('font-awesome');
283 283
 
284
-			if ( $this->settings['shims'] ) {
285
-				$url = $this->get_url( true );
286
-				call_user_func( $deregister_function, 'font-awesome-shims' ); // deregister in case its already there
287
-				wp_register_script( 'font-awesome-shims', $url, array(), null );
288
-				wp_enqueue_script( 'font-awesome-shims' );
284
+			if ($this->settings['shims']) {
285
+				$url = $this->get_url(true);
286
+				call_user_func($deregister_function, 'font-awesome-shims'); // deregister in case its already there
287
+				wp_register_script('font-awesome-shims', $url, array(), null);
288
+				wp_enqueue_script('font-awesome-shims');
289 289
 			}
290 290
 		}
291 291
 
@@ -297,16 +297,16 @@  discard block
 block discarded – undo
297 297
 		 *
298 298
 		 * @return string The url to the file.
299 299
 		 */
300
-		public function get_url( $shims = false, $local = true ) {
300
+		public function get_url($shims = false, $local = true) {
301 301
 			$script  = $shims ? 'v4-shims' : 'all';
302 302
 			$sub     = $this->settings['pro'] ? 'pro' : 'use';
303 303
 			$type    = $this->settings['type'];
304 304
 			$version = $this->settings['version'];
305
-			$kit_url = $this->settings['kit-url'] ? esc_url( $this->settings['kit-url'] ) : '';
305
+			$kit_url = $this->settings['kit-url'] ? esc_url($this->settings['kit-url']) : '';
306 306
 			$url     = '';
307 307
 
308
-			if ( $type == 'KIT' && $kit_url ) {
309
-				if ( $shims ) {
308
+			if ($type == 'KIT' && $kit_url) {
309
+				if ($shims) {
310 310
 					// if its a kit then we don't add shims here
311 311
 					return '';
312 312
 				}
@@ -315,13 +315,13 @@  discard block
 block discarded – undo
315 315
 			} else {
316 316
 				$v = '';
317 317
 				// Check and load locally.
318
-				if ( $local && $this->has_local() ) {
318
+				if ($local && $this->has_local()) {
319 319
 					$script .= ".min";
320
-					$v .= '&ver=' . strip_tags( $this->settings['local_version'] );
320
+					$v .= '&ver=' . strip_tags($this->settings['local_version']);
321 321
 					$url .= $this->get_fonts_url(); // Local fonts url.
322 322
 				} else {
323 323
 					$url .= "https://$sub.fontawesome.com/releases/"; // CDN
324
-					$url .= ! empty( $version ) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version
324
+					$url .= !empty($version) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version
325 325
 				}
326 326
 				$url .= $type == 'CSS' ? 'css/' : 'js/'; // type
327 327
 				$url .= $type == 'CSS' ? $script . '.css' : $script . '.js'; // type
@@ -342,16 +342,16 @@  discard block
 block discarded – undo
342 342
 		 *
343 343
 		 * @return string The filtered url.
344 344
 		 */
345
-		public function remove_font_awesome( $url, $original_url, $_context ) {
345
+		public function remove_font_awesome($url, $original_url, $_context) {
346 346
 
347
-			if ( $_context == 'display'
348
-			     && ( strstr( $url, "fontawesome" ) !== false || strstr( $url, "font-awesome" ) !== false )
349
-			     && ( strstr( $url, ".js" ) !== false || strstr( $url, ".css" ) !== false )
347
+			if ($_context == 'display'
348
+			     && (strstr($url, "fontawesome") !== false || strstr($url, "font-awesome") !== false)
349
+			     && (strstr($url, ".js") !== false || strstr($url, ".css") !== false)
350 350
 			) {// it's a font-awesome-url (probably)
351 351
 
352
-				if ( strstr( $url, "wpfas=true" ) !== false ) {
353
-					if ( $this->settings['type'] == 'JS' ) {
354
-						if ( $this->settings['js-pseudo'] ) {
352
+				if (strstr($url, "wpfas=true") !== false) {
353
+					if ($this->settings['type'] == 'JS') {
354
+						if ($this->settings['js-pseudo']) {
355 355
 							$url .= "' data-search-pseudo-elements defer='defer";
356 356
 						} else {
357 357
 							$url .= "' defer='defer";
@@ -370,7 +370,7 @@  discard block
 block discarded – undo
370 370
 		 * Register the database settings with WordPress.
371 371
 		 */
372 372
 		public function register_settings() {
373
-			register_setting( 'wp-font-awesome-settings', 'wp-font-awesome-settings' );
373
+			register_setting('wp-font-awesome-settings', 'wp-font-awesome-settings');
374 374
 		}
375 375
 
376 376
 		/**
@@ -379,10 +379,10 @@  discard block
 block discarded – undo
379 379
 		 */
380 380
 		public function menu_item() {
381 381
 			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
382
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array(
382
+			call_user_func($menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array(
383 383
 				$this,
384 384
 				'settings_page'
385
-			) );
385
+			));
386 386
 		}
387 387
 
388 388
 		/**
@@ -391,7 +391,7 @@  discard block
 block discarded – undo
391 391
 		 * @return array The array of settings.
392 392
 		 */
393 393
 		public function get_settings() {
394
-			$db_settings = get_option( 'wp-font-awesome-settings' );
394
+			$db_settings = get_option('wp-font-awesome-settings');
395 395
 
396 396
 			$defaults = array(
397 397
 				'type'      => 'CSS', // type to use, CSS or JS or KIT
@@ -406,30 +406,30 @@  discard block
 block discarded – undo
406 406
 				'kit-url'   => '', // the kit url
407 407
 			);
408 408
 
409
-			$settings = wp_parse_args( $db_settings, $defaults );
409
+			$settings = wp_parse_args($db_settings, $defaults);
410 410
 
411 411
 			/**
412 412
 			 * Filter the Font Awesome settings.
413 413
 			 *
414 414
 			 * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
415 415
 			 */
416
-			return $this->settings = apply_filters( 'wp-font-awesome-settings', $settings, $db_settings, $defaults );
416
+			return $this->settings = apply_filters('wp-font-awesome-settings', $settings, $db_settings, $defaults);
417 417
 		}
418 418
 
419 419
 		/**
420 420
 		 * The settings page html output.
421 421
 		 */
422 422
 		public function settings_page() {
423
-			if ( ! current_user_can( 'manage_options' ) ) {
424
-				wp_die( __( 'You do not have sufficient permissions to access this page.', 'font-awesome-settings' ) );
423
+			if (!current_user_can('manage_options')) {
424
+				wp_die(__('You do not have sufficient permissions to access this page.', 'font-awesome-settings'));
425 425
 			}
426 426
 
427 427
 			// a hidden way to force the update of the version number via api instead of waiting the 48 hours
428
-			if ( isset( $_REQUEST['force-version-check'] ) ) {
429
-				$this->get_latest_version( $force_api = true );
428
+			if (isset($_REQUEST['force-version-check'])) {
429
+				$this->get_latest_version($force_api = true);
430 430
 			}
431 431
 
432
-			if ( ! defined( 'FONTAWESOME_PLUGIN_FILE' ) ) {
432
+			if (!defined('FONTAWESOME_PLUGIN_FILE')) {
433 433
 				?>
434 434
                 <style>
435 435
                     .wpfas-kit-show {
@@ -456,42 +456,42 @@  discard block
 block discarded – undo
456 456
                     <h1><?php echo $this->name; ?></h1>
457 457
                     <form method="post" action="options.php" class="fas-settings-form">
458 458
 						<?php
459
-						settings_fields( 'wp-font-awesome-settings' );
460
-						do_settings_sections( 'wp-font-awesome-settings' );
459
+						settings_fields('wp-font-awesome-settings');
460
+						do_settings_sections('wp-font-awesome-settings');
461 461
 						$table_class = '';
462
-						if ( $this->settings['type'] ) {
463
-							$table_class .= 'wpfas-' . sanitize_html_class( strtolower( $this->settings['type'] ) ) . '-set';
462
+						if ($this->settings['type']) {
463
+							$table_class .= 'wpfas-' . sanitize_html_class(strtolower($this->settings['type'])) . '-set';
464 464
 						}
465
-						if ( ! empty( $this->settings['pro'] ) ) {
465
+						if (!empty($this->settings['pro'])) {
466 466
 							$table_class .= ' wpfas-has-pro';
467 467
 						}
468 468
 						?>
469
-						<?php if ( $this->settings['type'] != 'KIT' && ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) ) { ?>
470
-							<?php if ( $this->has_local() ) { ?>
471
-                                <div class="notice notice-info"><p><strong><?php _e( 'Font Awesome fonts are loading locally.', 'font-awesome-settings' ); ?></strong></p></div>
469
+						<?php if ($this->settings['type'] != 'KIT' && !empty($this->settings['local']) && empty($this->settings['pro'])) { ?>
470
+							<?php if ($this->has_local()) { ?>
471
+                                <div class="notice notice-info"><p><strong><?php _e('Font Awesome fonts are loading locally.', 'font-awesome-settings'); ?></strong></p></div>
472 472
 							<?php } else { ?>
473
-                                <div class="notice notice-error"><p><strong><?php _e( 'Font Awesome fonts are not loading locally!', 'font-awesome-settings' ); ?></strong></p></div>
473
+                                <div class="notice notice-error"><p><strong><?php _e('Font Awesome fonts are not loading locally!', 'font-awesome-settings'); ?></strong></p></div>
474 474
 							<?php } ?>
475 475
 						<?php } ?>
476
-                        <table class="form-table wpfas-table-settings <?php echo esc_attr( $table_class ); ?>">
476
+                        <table class="form-table wpfas-table-settings <?php echo esc_attr($table_class); ?>">
477 477
                             <tr valign="top">
478
-                                <th scope="row"><label for="wpfas-type"><?php _e( 'Type', 'font-awesome-settings' ); ?></label></th>
478
+                                <th scope="row"><label for="wpfas-type"><?php _e('Type', 'font-awesome-settings'); ?></label></th>
479 479
                                 <td>
480 480
                                     <select name="wp-font-awesome-settings[type]" id="wpfas-type" onchange="if(this.value=='KIT'){jQuery('.wpfas-table-settings').addClass('wpfas-kit-set');}else{jQuery('.wpfas-table-settings').removeClass('wpfas-kit-set');}">
481
-                                        <option value="CSS" <?php selected( $this->settings['type'], 'CSS' ); ?>><?php _e( 'CSS (default)', 'font-awesome-settings' ); ?></option>
482
-                                        <option value="JS" <?php selected( $this->settings['type'], 'JS' ); ?>>JS</option>
483
-                                        <option value="KIT" <?php selected( $this->settings['type'], 'KIT' ); ?>><?php _e( 'Kits (settings managed on fontawesome.com)', 'font-awesome-settings' ); ?></option>
481
+                                        <option value="CSS" <?php selected($this->settings['type'], 'CSS'); ?>><?php _e('CSS (default)', 'font-awesome-settings'); ?></option>
482
+                                        <option value="JS" <?php selected($this->settings['type'], 'JS'); ?>>JS</option>
483
+                                        <option value="KIT" <?php selected($this->settings['type'], 'KIT'); ?>><?php _e('Kits (settings managed on fontawesome.com)', 'font-awesome-settings'); ?></option>
484 484
                                     </select>
485 485
                                 </td>
486 486
                             </tr>
487 487
 
488 488
                             <tr valign="top" class="wpfas-kit-show">
489
-                                <th scope="row"><label for="wpfas-kit-url"><?php _e( 'Kit URL', 'font-awesome-settings' ); ?></label></th>
489
+                                <th scope="row"><label for="wpfas-kit-url"><?php _e('Kit URL', 'font-awesome-settings'); ?></label></th>
490 490
                                 <td>
491
-                                    <input class="regular-text" id="wpfas-kit-url" type="url" name="wp-font-awesome-settings[kit-url]" value="<?php echo esc_attr( $this->settings['kit-url'] ); ?>" placeholder="<?php echo 'https://kit.font';echo 'awesome.com/123abc.js'; // this won't pass theme check :(?>"/>
491
+                                    <input class="regular-text" id="wpfas-kit-url" type="url" name="wp-font-awesome-settings[kit-url]" value="<?php echo esc_attr($this->settings['kit-url']); ?>" placeholder="<?php echo 'https://kit.font'; echo 'awesome.com/123abc.js'; // this won't pass theme check :(?>"/>
492 492
                                     <span><?php
493 493
 										echo sprintf(
494
-											__( 'Requires a free account with Font Awesome. %sGet kit url%s', 'font-awesome-settings' ),
494
+											__('Requires a free account with Font Awesome. %sGet kit url%s', 'font-awesome-settings'),
495 495
 											'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/kits"><i class="fas fa-external-link-alt"></i>',
496 496
 											'</a>'
497 497
 										);
@@ -500,44 +500,44 @@  discard block
 block discarded – undo
500 500
                             </tr>
501 501
 
502 502
                             <tr valign="top" class="wpfas-kit-hide">
503
-                                <th scope="row"><label for="wpfas-version"><?php _e( 'Version', 'font-awesome-settings' ); ?></label></th>
503
+                                <th scope="row"><label for="wpfas-version"><?php _e('Version', 'font-awesome-settings'); ?></label></th>
504 504
                                 <td>
505 505
                                     <select name="wp-font-awesome-settings[version]" id="wpfas-version">
506
-                                        <option value="" <?php selected( $this->settings['version'], '' ); ?>><?php echo sprintf( __( 'Latest - %s (default)', 'font-awesome-settings' ), $this->get_latest_version() ); ?></option>
507
-                                        <option value="6.1.0" <?php selected( $this->settings['version'], '6.1.0' ); ?>>6.1.0</option>
508
-                                        <option value="6.0.0" <?php selected( $this->settings['version'], '6.0.0' ); ?>>6.0.0</option>
509
-                                        <option value="5.15.4" <?php selected( $this->settings['version'], '5.15.4' ); ?>>5.15.4</option>
510
-                                        <option value="5.6.0" <?php selected( $this->settings['version'], '5.6.0' ); ?>>5.6.0</option>
511
-                                        <option value="5.5.0" <?php selected( $this->settings['version'], '5.5.0' ); ?>>5.5.0</option>
512
-                                        <option value="5.4.0" <?php selected( $this->settings['version'], '5.4.0' ); ?>>5.4.0</option>
513
-                                        <option value="5.3.0" <?php selected( $this->settings['version'], '5.3.0' ); ?>>5.3.0</option>
514
-                                        <option value="5.2.0" <?php selected( $this->settings['version'], '5.2.0' ); ?>>5.2.0</option>
515
-                                        <option value="5.1.0" <?php selected( $this->settings['version'], '5.1.0' ); ?>>5.1.0</option>
516
-                                        <option value="4.7.0" <?php selected( $this->settings['version'], '4.7.0' ); ?>>4.7.1 (CSS only)</option>
506
+                                        <option value="" <?php selected($this->settings['version'], ''); ?>><?php echo sprintf(__('Latest - %s (default)', 'font-awesome-settings'), $this->get_latest_version()); ?></option>
507
+                                        <option value="6.1.0" <?php selected($this->settings['version'], '6.1.0'); ?>>6.1.0</option>
508
+                                        <option value="6.0.0" <?php selected($this->settings['version'], '6.0.0'); ?>>6.0.0</option>
509
+                                        <option value="5.15.4" <?php selected($this->settings['version'], '5.15.4'); ?>>5.15.4</option>
510
+                                        <option value="5.6.0" <?php selected($this->settings['version'], '5.6.0'); ?>>5.6.0</option>
511
+                                        <option value="5.5.0" <?php selected($this->settings['version'], '5.5.0'); ?>>5.5.0</option>
512
+                                        <option value="5.4.0" <?php selected($this->settings['version'], '5.4.0'); ?>>5.4.0</option>
513
+                                        <option value="5.3.0" <?php selected($this->settings['version'], '5.3.0'); ?>>5.3.0</option>
514
+                                        <option value="5.2.0" <?php selected($this->settings['version'], '5.2.0'); ?>>5.2.0</option>
515
+                                        <option value="5.1.0" <?php selected($this->settings['version'], '5.1.0'); ?>>5.1.0</option>
516
+                                        <option value="4.7.0" <?php selected($this->settings['version'], '4.7.0'); ?>>4.7.1 (CSS only)</option>
517 517
                                     </select>
518 518
                                 </td>
519 519
                             </tr>
520 520
 
521 521
                             <tr valign="top">
522
-                                <th scope="row"><label for="wpfas-enqueue"><?php _e( 'Enqueue', 'font-awesome-settings' ); ?></label></th>
522
+                                <th scope="row"><label for="wpfas-enqueue"><?php _e('Enqueue', 'font-awesome-settings'); ?></label></th>
523 523
                                 <td>
524 524
                                     <select name="wp-font-awesome-settings[enqueue]" id="wpfas-enqueue">
525
-                                        <option value="" <?php selected( $this->settings['enqueue'], '' ); ?>><?php _e( 'Frontend + Backend (default)', 'font-awesome-settings' ); ?></option>
526
-                                        <option value="frontend" <?php selected( $this->settings['enqueue'], 'frontend' ); ?>><?php _e( 'Frontend', 'font-awesome-settings' ); ?></option>
527
-                                        <option value="backend" <?php selected( $this->settings['enqueue'], 'backend' ); ?>><?php _e( 'Backend', 'font-awesome-settings' ); ?></option>
525
+                                        <option value="" <?php selected($this->settings['enqueue'], ''); ?>><?php _e('Frontend + Backend (default)', 'font-awesome-settings'); ?></option>
526
+                                        <option value="frontend" <?php selected($this->settings['enqueue'], 'frontend'); ?>><?php _e('Frontend', 'font-awesome-settings'); ?></option>
527
+                                        <option value="backend" <?php selected($this->settings['enqueue'], 'backend'); ?>><?php _e('Backend', 'font-awesome-settings'); ?></option>
528 528
                                     </select>
529 529
                                 </td>
530 530
                             </tr>
531 531
 
532 532
                             <tr valign="top" class="wpfas-kit-hide">
533 533
                                 <th scope="row"><label
534
-                                            for="wpfas-pro"><?php _e( 'Enable pro', 'font-awesome-settings' ); ?></label></th>
534
+                                            for="wpfas-pro"><?php _e('Enable pro', 'font-awesome-settings'); ?></label></th>
535 535
                                 <td>
536 536
                                     <input type="hidden" name="wp-font-awesome-settings[pro]" value="0"/>
537
-                                    <input type="checkbox" name="wp-font-awesome-settings[pro]" value="1" <?php checked( $this->settings['pro'], '1' ); ?> id="wpfas-pro" onchange="if(jQuery(this).is(':checked')){jQuery('.wpfas-table-settings').addClass('wpfas-has-pro')}else{jQuery('.wpfas-table-settings').removeClass('wpfas-has-pro')}"/>
537
+                                    <input type="checkbox" name="wp-font-awesome-settings[pro]" value="1" <?php checked($this->settings['pro'], '1'); ?> id="wpfas-pro" onchange="if(jQuery(this).is(':checked')){jQuery('.wpfas-table-settings').addClass('wpfas-has-pro')}else{jQuery('.wpfas-table-settings').removeClass('wpfas-has-pro')}"/>
538 538
                                     <span><?php
539 539
 										echo wp_sprintf(
540
-											__( 'Requires a subscription. %sLearn more%s  %sManage my allowed domains%s', 'font-awesome-settings' ),
540
+											__('Requires a subscription. %sLearn more%s  %sManage my allowed domains%s', 'font-awesome-settings'),
541 541
 											'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/referral?a=c9b89e1418">',
542 542
 											' <i class="fas fa-external-link-alt"></i></a>',
543 543
 											'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/account/cdn">',
@@ -548,49 +548,49 @@  discard block
 block discarded – undo
548 548
                             </tr>
549 549
 
550 550
                             <tr valign="top" class="wpfas-kit-hide wpfas-hide-pro">
551
-                                <th scope="row"><label for="wpfas-local"><?php _e( 'Load Fonts Locally', 'font-awesome-settings' ); ?></label></th>
551
+                                <th scope="row"><label for="wpfas-local"><?php _e('Load Fonts Locally', 'font-awesome-settings'); ?></label></th>
552 552
                                 <td>
553 553
                                     <input type="hidden" name="wp-font-awesome-settings[local]" value="0"/>
554
-                                    <input type="hidden" name="wp-font-awesome-settings[local_version]" value="<?php echo esc_attr( $this->settings['local_version'] ); ?>"/>
555
-                                    <input type="checkbox" name="wp-font-awesome-settings[local]" value="1" <?php checked( $this->settings['local'], '1' ); ?> id="wpfas-local"/>
556
-                                    <span><?php _e( '(For free version only) Load FontAwesome fonts from locally. This downloads FontAwesome fonts from fontawesome.com & stores at the local site.', 'font-awesome-settings' ); ?></span>
554
+                                    <input type="hidden" name="wp-font-awesome-settings[local_version]" value="<?php echo esc_attr($this->settings['local_version']); ?>"/>
555
+                                    <input type="checkbox" name="wp-font-awesome-settings[local]" value="1" <?php checked($this->settings['local'], '1'); ?> id="wpfas-local"/>
556
+                                    <span><?php _e('(For free version only) Load FontAwesome fonts from locally. This downloads FontAwesome fonts from fontawesome.com & stores at the local site.', 'font-awesome-settings'); ?></span>
557 557
                                 </td>
558 558
                             </tr>
559 559
 
560 560
                             <tr valign="top" class="wpfas-kit-hide">
561 561
                                 <th scope="row"><label
562
-                                            for="wpfas-shims"><?php _e( 'Enable v4 shims compatibility', 'font-awesome-settings' ); ?></label>
562
+                                            for="wpfas-shims"><?php _e('Enable v4 shims compatibility', 'font-awesome-settings'); ?></label>
563 563
                                 </th>
564 564
                                 <td>
565 565
                                     <input type="hidden" name="wp-font-awesome-settings[shims]" value="0"/>
566 566
                                     <input type="checkbox" name="wp-font-awesome-settings[shims]"
567
-                                           value="1" <?php checked( $this->settings['shims'], '1' ); ?> id="wpfas-shims"/>
568
-                                    <span><?php _e( 'This enables v4 classes to work with v5, sort of like a band-aid until everyone has updated everything to v5.', 'font-awesome-settings' ); ?></span>
567
+                                           value="1" <?php checked($this->settings['shims'], '1'); ?> id="wpfas-shims"/>
568
+                                    <span><?php _e('This enables v4 classes to work with v5, sort of like a band-aid until everyone has updated everything to v5.', 'font-awesome-settings'); ?></span>
569 569
                                 </td>
570 570
                             </tr>
571 571
 
572 572
                             <tr valign="top" class="wpfas-kit-hide">
573 573
                                 <th scope="row"><label
574
-                                            for="wpfas-js-pseudo"><?php _e( 'Enable JS pseudo elements (not recommended)', 'font-awesome-settings' ); ?></label>
574
+                                            for="wpfas-js-pseudo"><?php _e('Enable JS pseudo elements (not recommended)', 'font-awesome-settings'); ?></label>
575 575
                                 </th>
576 576
                                 <td>
577 577
                                     <input type="hidden" name="wp-font-awesome-settings[js-pseudo]" value="0"/>
578 578
                                     <input type="checkbox" name="wp-font-awesome-settings[js-pseudo]"
579
-                                           value="1" <?php checked( $this->settings['js-pseudo'], '1' ); ?>
579
+                                           value="1" <?php checked($this->settings['js-pseudo'], '1'); ?>
580 580
                                            id="wpfas-js-pseudo"/>
581
-                                    <span><?php _e( 'Used only with the JS version, this will make pseudo-elements work but can be CPU intensive on some sites.', 'font-awesome-settings' ); ?></span>
581
+                                    <span><?php _e('Used only with the JS version, this will make pseudo-elements work but can be CPU intensive on some sites.', 'font-awesome-settings'); ?></span>
582 582
                                 </td>
583 583
                             </tr>
584 584
 
585 585
                             <tr valign="top">
586 586
                                 <th scope="row"><label
587
-                                            for="wpfas-dequeue"><?php _e( 'Dequeue', 'font-awesome-settings' ); ?></label></th>
587
+                                            for="wpfas-dequeue"><?php _e('Dequeue', 'font-awesome-settings'); ?></label></th>
588 588
                                 <td>
589 589
                                     <input type="hidden" name="wp-font-awesome-settings[dequeue]" value="0"/>
590 590
                                     <input type="checkbox" name="wp-font-awesome-settings[dequeue]"
591
-                                           value="1" <?php checked( $this->settings['dequeue'], '1' ); ?>
591
+                                           value="1" <?php checked($this->settings['dequeue'], '1'); ?>
592 592
                                            id="wpfas-dequeue"/>
593
-                                    <span><?php _e( 'This will try to dequeue any other Font Awesome versions loaded by other sources if they are added with `font-awesome` or `fontawesome` in the name.', 'font-awesome-settings' ); ?></span>
593
+                                    <span><?php _e('This will try to dequeue any other Font Awesome versions loaded by other sources if they are added with `font-awesome` or `fontawesome` in the name.', 'font-awesome-settings'); ?></span>
594 594
                                 </td>
595 595
                             </tr>
596 596
 
@@ -599,12 +599,12 @@  discard block
 block discarded – undo
599 599
 							<?php
600 600
 							submit_button();
601 601
 							?>
602
-                            <p class="submit"><a href="https://fontawesome.com/referral?a=c9b89e1418" class="button button-secondary"><?php _e('Get 24,000+ more icons with Font Awesome Pro','font-awesome-settings'); ?> <i class="fas fa-external-link-alt"></i></a></p>
602
+                            <p class="submit"><a href="https://fontawesome.com/referral?a=c9b89e1418" class="button button-secondary"><?php _e('Get 24,000+ more icons with Font Awesome Pro', 'font-awesome-settings'); ?> <i class="fas fa-external-link-alt"></i></a></p>
603 603
 
604 604
                         </div>
605 605
                     </form>
606 606
 
607
-                    <div id="wpfas-version"><?php echo sprintf(__( 'Version: %s (affiliate links provided)', 'font-awesome-settings' ), $this->version ); ?></div>
607
+                    <div id="wpfas-version"><?php echo sprintf(__('Version: %s (affiliate links provided)', 'font-awesome-settings'), $this->version); ?></div>
608 608
                 </div>
609 609
 				<?php
610 610
 			}
@@ -619,12 +619,12 @@  discard block
 block discarded – undo
619 619
 		 *
620 620
 		 * @return string Either a valid version number or an empty string.
621 621
 		 */
622
-		public function validate_version_number( $version ) {
622
+		public function validate_version_number($version) {
623 623
 
624
-			if ( version_compare( $version, '0.0.1', '>=' ) >= 0 ) {
624
+			if (version_compare($version, '0.0.1', '>=') >= 0) {
625 625
 				// valid
626 626
 			} else {
627
-				$version = '';// not validated
627
+				$version = ''; // not validated
628 628
 			}
629 629
 
630 630
 			return $version;
@@ -639,27 +639,27 @@  discard block
 block discarded – undo
639 639
 		 * @since 1.0.7
640 640
 		 * @return mixed|string The latest version number found.
641 641
 		 */
642
-		public function get_latest_version( $force_api = false ) {
642
+		public function get_latest_version($force_api = false) {
643 643
 			$latest_version = $this->latest;
644 644
 
645
-			$cache = get_transient( 'wp-font-awesome-settings-version' );
645
+			$cache = get_transient('wp-font-awesome-settings-version');
646 646
 
647
-			if ( $cache === false || $force_api ) { // its not set
647
+			if ($cache === false || $force_api) { // its not set
648 648
 				$api_ver = $this->get_latest_version_from_api();
649
-				if ( version_compare( $api_ver, $this->latest, '>=' ) >= 0 ) {
649
+				if (version_compare($api_ver, $this->latest, '>=') >= 0) {
650 650
 					$latest_version = $api_ver;
651
-					set_transient( 'wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS );
651
+					set_transient('wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS);
652 652
 				}
653
-			} elseif ( $this->validate_version_number( $cache ) ) {
654
-				if ( version_compare( $cache, $this->latest, '>=' ) >= 0 ) {
653
+			} elseif ($this->validate_version_number($cache)) {
654
+				if (version_compare($cache, $this->latest, '>=') >= 0) {
655 655
 					$latest_version = $cache;
656 656
 				}
657 657
 			}
658 658
 
659 659
 			// Check and auto download fonts locally.
660
-			if ( empty( $this->settings['pro'] ) && empty( $this->settings['version'] ) && $this->settings['type'] != 'KIT' && ! empty( $this->settings['local'] ) && ! empty( $this->settings['local_version'] ) && ! empty( $latest_version ) ) {
661
-				if ( version_compare( $latest_version, $this->settings['local_version'], '>' ) && is_admin() && ! wp_doing_ajax() ) {
662
-					$this->download_package( $latest_version );
660
+			if (empty($this->settings['pro']) && empty($this->settings['version']) && $this->settings['type'] != 'KIT' && !empty($this->settings['local']) && !empty($this->settings['local_version']) && !empty($latest_version)) {
661
+				if (version_compare($latest_version, $this->settings['local_version'], '>') && is_admin() && !wp_doing_ajax()) {
662
+					$this->download_package($latest_version);
663 663
 				}
664 664
 			}
665 665
 
@@ -674,10 +674,10 @@  discard block
 block discarded – undo
674 674
 		 */
675 675
 		public function get_latest_version_from_api() {
676 676
 			$version  = "0";
677
-			$response = wp_remote_get( "https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest" );
678
-			if ( ! is_wp_error( $response ) && is_array( $response ) ) {
679
-				$api_response = json_decode( wp_remote_retrieve_body( $response ), true );
680
-				if ( isset( $api_response['tag_name'] ) && version_compare( $api_response['tag_name'], $this->latest, '>=' ) >= 0 && empty( $api_response['prerelease'] ) ) {
677
+			$response = wp_remote_get("https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest");
678
+			if (!is_wp_error($response) && is_array($response)) {
679
+				$api_response = json_decode(wp_remote_retrieve_body($response), true);
680
+				if (isset($api_response['tag_name']) && version_compare($api_response['tag_name'], $this->latest, '>=') >= 0 && empty($api_response['prerelease'])) {
681 681
 					$version = $api_response['tag_name'];
682 682
 				}
683 683
 			}
@@ -705,21 +705,21 @@  discard block
 block discarded – undo
705 705
 		public function admin_notices() {
706 706
 			$settings = $this->settings;
707 707
 
708
-			if ( defined( 'FONTAWESOME_PLUGIN_FILE' ) ) {
709
-				if ( ! empty( $_REQUEST['page'] ) && $_REQUEST['page'] == 'wp-font-awesome-settings' ) {
708
+			if (defined('FONTAWESOME_PLUGIN_FILE')) {
709
+				if (!empty($_REQUEST['page']) && $_REQUEST['page'] == 'wp-font-awesome-settings') {
710 710
 					?>
711 711
                     <div class="notice  notice-error is-dismissible">
712
-                        <p><?php _e( 'The Official Font Awesome Plugin is active, please adjust your settings there.', 'font-awesome-settings' ); ?></p>
712
+                        <p><?php _e('The Official Font Awesome Plugin is active, please adjust your settings there.', 'font-awesome-settings'); ?></p>
713 713
                     </div>
714 714
 					<?php
715 715
 				}
716 716
 			} else {
717
-				if ( ! empty( $settings ) ) {
718
-					if ( $settings['type'] != 'KIT' && $settings['pro'] && ( $settings['version'] == '' || version_compare( $settings['version'], '6', '>=' ) ) ) {
717
+				if (!empty($settings)) {
718
+					if ($settings['type'] != 'KIT' && $settings['pro'] && ($settings['version'] == '' || version_compare($settings['version'], '6', '>='))) {
719 719
 						$link = admin_url('options-general.php?page=wp-font-awesome-settings');
720 720
 						?>
721 721
                         <div class="notice  notice-error is-dismissible">
722
-                            <p><?php echo sprintf( __( 'Font Awesome Pro v6 requires the use of a kit, please setup your kit in %ssettings.%s', 'font-awesome-settings' ),"<a href='". esc_url_raw( $link )."'>","</a>" ); ?></p>
722
+                            <p><?php echo sprintf(__('Font Awesome Pro v6 requires the use of a kit, please setup your kit in %ssettings.%s', 'font-awesome-settings'), "<a href='" . esc_url_raw($link) . "'>", "</a>"); ?></p>
723 723
                         </div>
724 724
 						<?php
725 725
 					}
@@ -735,20 +735,20 @@  discard block
 block discarded – undo
735 735
 		 * @param string $option The option name.
736 736
 		 * @param mixed  $value  The option value.
737 737
 		 */
738
-		public function add_option_wp_font_awesome_settings( $option, $value ) {
738
+		public function add_option_wp_font_awesome_settings($option, $value) {
739 739
 			// Do nothing if WordPress is being installed.
740
-			if ( wp_installing() ) {
740
+			if (wp_installing()) {
741 741
 				return;
742 742
 			}
743 743
 
744
-			if ( ! empty( $value['local'] ) && empty( $value['pro'] ) && ! ( ! empty( $value['type'] ) && $value['type'] == 'KIT' ) ) {
745
-				$version = isset( $value['version'] ) && $value['version'] ? $value['version'] : $this->get_latest_version();
744
+			if (!empty($value['local']) && empty($value['pro']) && !(!empty($value['type']) && $value['type'] == 'KIT')) {
745
+				$version = isset($value['version']) && $value['version'] ? $value['version'] : $this->get_latest_version();
746 746
 
747
-				if ( ! empty( $version ) ) {
748
-					$response = $this->download_package( $version, $value );
747
+				if (!empty($version)) {
748
+					$response = $this->download_package($version, $value);
749 749
 
750
-					if ( is_wp_error( $response ) ) {
751
-						add_settings_error( 'general', 'fontawesome_download', __( 'ERROR:', 'font-awesome-settings' ) . ' ' . $response->get_error_message(), 'error' );
750
+					if (is_wp_error($response)) {
751
+						add_settings_error('general', 'fontawesome_download', __('ERROR:', 'font-awesome-settings') . ' ' . $response->get_error_message(), 'error');
752 752
 					}
753 753
 				}
754 754
 			}
@@ -762,25 +762,25 @@  discard block
 block discarded – undo
762 762
 		 * @param mixed $old_value The old option value.
763 763
 		 * @param mixed $value     The new option value.
764 764
 		 */
765
-		public function update_option_wp_font_awesome_settings( $old_value, $new_value ) {
765
+		public function update_option_wp_font_awesome_settings($old_value, $new_value) {
766 766
 			// Do nothing if WordPress is being installed.
767
-			if ( wp_installing() ) {
767
+			if (wp_installing()) {
768 768
 				return;
769 769
 			}
770 770
 
771
-			if ( ! empty( $new_value['local'] ) && empty( $new_value['pro'] ) && ! ( ! empty( $new_value['type'] ) && $new_value['type'] == 'KIT' ) ) {
771
+			if (!empty($new_value['local']) && empty($new_value['pro']) && !(!empty($new_value['type']) && $new_value['type'] == 'KIT')) {
772 772
 				// Old values
773
-				$old_version = isset( $old_value['version'] ) && $old_value['version'] ? $old_value['version'] : ( isset( $old_value['local_version'] ) ? $old_value['local_version'] : '' );
774
-				$old_local = isset( $old_value['local'] ) ? (int) $old_value['local'] : 0;
773
+				$old_version = isset($old_value['version']) && $old_value['version'] ? $old_value['version'] : (isset($old_value['local_version']) ? $old_value['local_version'] : '');
774
+				$old_local = isset($old_value['local']) ? (int) $old_value['local'] : 0;
775 775
 
776 776
 				// New values
777
-				$new_version = isset( $new_value['version'] ) && $new_value['version'] ? $new_value['version'] : $this->get_latest_version();
777
+				$new_version = isset($new_value['version']) && $new_value['version'] ? $new_value['version'] : $this->get_latest_version();
778 778
 
779
-				if ( empty( $old_local ) || $old_version !== $new_version || ! file_exists( $this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css' ) ) {
780
-					$response = $this->download_package( $new_version, $new_value );
779
+				if (empty($old_local) || $old_version !== $new_version || !file_exists($this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css')) {
780
+					$response = $this->download_package($new_version, $new_value);
781 781
 
782
-					if ( is_wp_error( $response ) ) {
783
-						add_settings_error( 'general', 'fontawesome_download', __( 'ERROR:', 'font-awesome-settings' ) . ' ' . $response->get_error_message(), 'error' );
782
+					if (is_wp_error($response)) {
783
+						add_settings_error('general', 'fontawesome_download', __('ERROR:', 'font-awesome-settings') . ' ' . $response->get_error_message(), 'error');
784 784
 					}
785 785
 				}
786 786
 			}
@@ -794,9 +794,9 @@  discard block
 block discarded – undo
794 794
 		 * @param string Fonts directory local path.
795 795
 		 */
796 796
 		public function get_fonts_dir() {
797
-			$upload_dir = wp_upload_dir( null, false );
797
+			$upload_dir = wp_upload_dir(null, false);
798 798
 
799
-			return $upload_dir['basedir'] . DIRECTORY_SEPARATOR .  'ayefonts' . DIRECTORY_SEPARATOR . 'fa' . DIRECTORY_SEPARATOR;
799
+			return $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'ayefonts' . DIRECTORY_SEPARATOR . 'fa' . DIRECTORY_SEPARATOR;
800 800
 		}
801 801
 
802 802
 		/**
@@ -807,9 +807,9 @@  discard block
 block discarded – undo
807 807
 		 * @param string Fonts directory local url.
808 808
 		 */
809 809
 		public function get_fonts_url() {
810
-			$upload_dir = wp_upload_dir( null, false );
810
+			$upload_dir = wp_upload_dir(null, false);
811 811
 
812
-			return $upload_dir['baseurl'] .  '/ayefonts/fa/';
812
+			return $upload_dir['baseurl'] . '/ayefonts/fa/';
813 813
 		}
814 814
 
815 815
 		/**
@@ -820,7 +820,7 @@  discard block
 block discarded – undo
820 820
 		 * @return bool True if active else false.
821 821
 		 */
822 822
 		public function has_local() {
823
-			if ( ! empty( $this->settings['local'] ) && empty( $this->settings['pro'] ) && file_exists( $this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css' ) ) {
823
+			if (!empty($this->settings['local']) && empty($this->settings['pro']) && file_exists($this->get_fonts_dir() . 'css' . DIRECTORY_SEPARATOR . 'all.css')) {
824 824
 				return true;
825 825
 			}
826 826
 
@@ -835,18 +835,18 @@  discard block
 block discarded – undo
835 835
 		 * @return object The WP Filesystem.
836 836
 		 */
837 837
 		public function get_wp_filesystem() {
838
-			if ( ! function_exists( 'get_filesystem_method' ) ) {
839
-				require_once( ABSPATH . "/wp-admin/includes/file.php" );
838
+			if (!function_exists('get_filesystem_method')) {
839
+				require_once(ABSPATH . "/wp-admin/includes/file.php");
840 840
 			}
841 841
 
842 842
 			$access_type = get_filesystem_method();
843 843
 
844
-			if ( $access_type === 'direct' ) {
844
+			if ($access_type === 'direct') {
845 845
 				/* You can safely run request_filesystem_credentials() without any issues and don't need to worry about passing in a URL */
846
-				$creds = request_filesystem_credentials( trailingslashit( site_url() ) . 'wp-admin/', '', false, false, array() );
846
+				$creds = request_filesystem_credentials(trailingslashit(site_url()) . 'wp-admin/', '', false, false, array());
847 847
 
848 848
 				/* Initialize the API */
849
-				if ( ! WP_Filesystem( $creds ) ) {
849
+				if (!WP_Filesystem($creds)) {
850 850
 					/* Any problems and we exit */
851 851
 					return false;
852 852
 				}
@@ -855,11 +855,11 @@  discard block
 block discarded – undo
855 855
 
856 856
 				return $wp_filesystem;
857 857
 				/* Do our file manipulations below */
858
-			} else if ( defined( 'FTP_USER' ) ) {
859
-				$creds = request_filesystem_credentials( trailingslashit( site_url() ) . 'wp-admin/', '', false, false, array() );
858
+			} else if (defined('FTP_USER')) {
859
+				$creds = request_filesystem_credentials(trailingslashit(site_url()) . 'wp-admin/', '', false, false, array());
860 860
 
861 861
 				/* Initialize the API */
862
-				if ( ! WP_Filesystem( $creds ) ) {
862
+				if (!WP_Filesystem($creds)) {
863 863
 					/* Any problems and we exit */
864 864
 					return false;
865 865
 				}
@@ -882,38 +882,38 @@  discard block
 block discarded – undo
882 882
 		 * @param array $option Fontawesome settings.
883 883
 		 * @return WP_ERROR|bool Error on fail and true on success.
884 884
 		 */
885
-		public function download_package( $version, $option = array() ) {
885
+		public function download_package($version, $option = array()) {
886 886
 			$filename = 'fontawesome-free-' . $version . '-web';
887 887
 			$url = 'https://use.fontawesome.com/releases/v' . $version . '/' . $filename . '.zip';
888 888
 
889
-			if ( ! function_exists( 'wp_handle_upload' ) ) {
889
+			if (!function_exists('wp_handle_upload')) {
890 890
 				require_once ABSPATH . 'wp-admin/includes/file.php';
891 891
 			}
892 892
 
893
-			$download_file = download_url( esc_url_raw( $url ) );
893
+			$download_file = download_url(esc_url_raw($url));
894 894
 
895
-			if ( is_wp_error( $download_file ) ) {
896
-				return new WP_Error( 'fontawesome_download_failed', __( $download_file->get_error_message(), 'font-awesome-settings' ) );
897
-			} else if ( empty( $download_file ) ) {
898
-				return new WP_Error( 'fontawesome_download_failed', __( 'Something went wrong in downloading the font awesome to store locally.', 'font-awesome-settings' ) );
895
+			if (is_wp_error($download_file)) {
896
+				return new WP_Error('fontawesome_download_failed', __($download_file->get_error_message(), 'font-awesome-settings'));
897
+			} else if (empty($download_file)) {
898
+				return new WP_Error('fontawesome_download_failed', __('Something went wrong in downloading the font awesome to store locally.', 'font-awesome-settings'));
899 899
 			}
900 900
 
901
-			$response = $this->extract_package( $download_file, $filename, true );
901
+			$response = $this->extract_package($download_file, $filename, true);
902 902
 
903 903
 			// Update local version.
904
-			if ( is_wp_error( $response ) ) {
904
+			if (is_wp_error($response)) {
905 905
 				return $response;
906
-			} else if ( $response ) {
907
-				if ( empty( $option ) ) {
908
-					$option = get_option( 'wp-font-awesome-settings' );
906
+			} else if ($response) {
907
+				if (empty($option)) {
908
+					$option = get_option('wp-font-awesome-settings');
909 909
 				}
910 910
 
911 911
 				$option['local_version'] = $version;
912 912
 
913 913
 				// Remove action to prevent looping.
914
-				remove_action( 'update_option_wp-font-awesome-settings', array( $this, 'update_option_wp_font_awesome_settings' ), 10, 2 );
914
+				remove_action('update_option_wp-font-awesome-settings', array($this, 'update_option_wp_font_awesome_settings'), 10, 2);
915 915
 
916
-				update_option( 'wp-font-awesome-settings', $option );
916
+				update_option('wp-font-awesome-settings', $option);
917 917
 
918 918
 				return true;
919 919
 			}
@@ -931,60 +931,60 @@  discard block
 block discarded – undo
931 931
 		 * @param bool   $delete_package Delete temp file or not.
932 932
 		 * @return WP_Error|bool True on success WP_Error on fail.
933 933
 		 */
934
-		public function extract_package( $package, $dirname = '', $delete_package = false ) {
934
+		public function extract_package($package, $dirname = '', $delete_package = false) {
935 935
 			global $wp_filesystem;
936 936
 
937 937
 			$wp_filesystem = $this->get_wp_filesystem();
938 938
 
939
-			if ( empty( $wp_filesystem ) && isset( $wp_filesystem->errors ) && is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->get_error_code() ) {
940
-				return new WP_Error( 'fontawesome_filesystem_error', __( $wp_filesystem->errors->get_error_message(), 'font-awesome-settings' ) );
941
-			} else if ( empty( $wp_filesystem ) ) {
942
-				return new WP_Error( 'fontawesome_filesystem_error', __( 'Failed to initialise WP_Filesystem while trying to download the Font Awesome package.', 'font-awesome-settings' ) );
939
+			if (empty($wp_filesystem) && isset($wp_filesystem->errors) && is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code()) {
940
+				return new WP_Error('fontawesome_filesystem_error', __($wp_filesystem->errors->get_error_message(), 'font-awesome-settings'));
941
+			} else if (empty($wp_filesystem)) {
942
+				return new WP_Error('fontawesome_filesystem_error', __('Failed to initialise WP_Filesystem while trying to download the Font Awesome package.', 'font-awesome-settings'));
943 943
 			}
944 944
 
945 945
 			$fonts_dir = $this->get_fonts_dir();
946
-			$fonts_tmp_dir = dirname( $fonts_dir ) . DIRECTORY_SEPARATOR . 'fa-tmp' . DIRECTORY_SEPARATOR;
946
+			$fonts_tmp_dir = dirname($fonts_dir) . DIRECTORY_SEPARATOR . 'fa-tmp' . DIRECTORY_SEPARATOR;
947 947
 
948
-			if ( $wp_filesystem->is_dir( $fonts_tmp_dir ) ) {
949
-				$wp_filesystem->delete( $fonts_tmp_dir, true );
948
+			if ($wp_filesystem->is_dir($fonts_tmp_dir)) {
949
+				$wp_filesystem->delete($fonts_tmp_dir, true);
950 950
 			}
951 951
 
952 952
 			// Unzip package to working directory.
953
-			$result = unzip_file( $package, $fonts_tmp_dir );
953
+			$result = unzip_file($package, $fonts_tmp_dir);
954 954
 
955
-			if ( is_wp_error( $result ) ) {
956
-				$wp_filesystem->delete( $fonts_tmp_dir, true );
955
+			if (is_wp_error($result)) {
956
+				$wp_filesystem->delete($fonts_tmp_dir, true);
957 957
 
958
-				if ( 'incompatible_archive' === $result->get_error_code() ) {
959
-					return new WP_Error( 'fontawesome_incompatible_archive', __( $result->get_error_message(), 'font-awesome-settings' ) );
958
+				if ('incompatible_archive' === $result->get_error_code()) {
959
+					return new WP_Error('fontawesome_incompatible_archive', __($result->get_error_message(), 'font-awesome-settings'));
960 960
 				}
961 961
 
962 962
 				return $result;
963 963
 			}
964 964
 
965
-			if ( $wp_filesystem->is_dir( $fonts_dir ) ) {
966
-				$wp_filesystem->delete( $fonts_dir, true );
965
+			if ($wp_filesystem->is_dir($fonts_dir)) {
966
+				$wp_filesystem->delete($fonts_dir, true);
967 967
 			}
968 968
 
969 969
 			$extract_dir = $fonts_tmp_dir;
970 970
 
971
-			if ( $dirname && $wp_filesystem->is_dir( $extract_dir . $dirname . DIRECTORY_SEPARATOR ) ) {
971
+			if ($dirname && $wp_filesystem->is_dir($extract_dir . $dirname . DIRECTORY_SEPARATOR)) {
972 972
 				$extract_dir .= $dirname . DIRECTORY_SEPARATOR;
973 973
 			}
974 974
 
975 975
 			try {
976
-				$return = $wp_filesystem->move( $extract_dir, $fonts_dir, true );
977
-			} catch ( Exception $e ) {
978
-				$return = new WP_Error( 'fontawesome_move_package', __( 'Fail to move font awesome package!', 'font-awesome-settings' ) );
976
+				$return = $wp_filesystem->move($extract_dir, $fonts_dir, true);
977
+			} catch (Exception $e) {
978
+				$return = new WP_Error('fontawesome_move_package', __('Fail to move font awesome package!', 'font-awesome-settings'));
979 979
 			}
980 980
 
981
-			if ( $wp_filesystem->is_dir( $fonts_tmp_dir ) ) {
982
-				$wp_filesystem->delete( $fonts_tmp_dir, true );
981
+			if ($wp_filesystem->is_dir($fonts_tmp_dir)) {
982
+				$wp_filesystem->delete($fonts_tmp_dir, true);
983 983
 			}
984 984
 
985 985
 			// Once extracted, delete the package if required.
986
-			if ( $delete_package ) {
987
-				unlink( $package );
986
+			if ($delete_package) {
987
+				unlink($package);
988 988
 			}
989 989
 
990 990
 			return $return;
Please login to merge, or discard this patch.
Braces   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -128,7 +128,7 @@
 block discarded – undo
128 128
 
129 129
 				if( !$version || version_compare($version,'5.999','>')){
130 130
 					$url .= 'assets/js/fa-iconpicker-v6.min.js';
131
-				}else{
131
+				} else{
132 132
 					$url .= 'assets/js/fa-iconpicker-v5.min.js';
133 133
 				}
134 134
 
Please login to merge, or discard this patch.
vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php 3 patches
Spacing   +700 added lines, -700 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>'.$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>' . $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,40 +460,40 @@  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
-			}else{
465
+			} else {
466 466
 				$css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
467 467
 
468
-				$rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
468
+				$rtl = is_rtl() && !$aui_bs5 ? '-rtl' : '';
469 469
 
470 470
                 $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
471 471
 
472
-				if($this->settings[$css_setting]){
473
-					$compatibility = $this->settings[$css_setting]=='core' ? false : true;
474
-					$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';
472
+				if ($this->settings[$css_setting]) {
473
+					$compatibility = $this->settings[$css_setting] == 'core' ? false : true;
474
+					$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';
475 475
 
476 476
 
477 477
 
478
-					wp_register_style( 'ayecode-ui', $url, array(), $this->version );
479
-					wp_enqueue_style( 'ayecode-ui' );
478
+					wp_register_style('ayecode-ui', $url, array(), $this->version);
479
+					wp_enqueue_style('ayecode-ui');
480 480
 
481
-					$current_screen = function_exists('get_current_screen' ) ? get_current_screen() : '';
481
+					$current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
482 482
 
483 483
 //					if ( is_admin() && !empty($_REQUEST['postType']) ) {
484
-					if ( is_admin() && ( !empty($_REQUEST['postType']) || $current_screen->is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
485
-						$url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
486
-						wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
487
-						wp_enqueue_style( 'ayecode-ui-fse' );
484
+					if (is_admin() && (!empty($_REQUEST['postType']) || $current_screen->is_block_editor()) && (defined('BLOCKSTRAP_VERSION') || defined('AUI_FSE'))) {
485
+						$url = $this->url . 'assets' . $bs_ver . '/css/ayecode-ui-fse.css';
486
+						wp_register_style('ayecode-ui-fse', $url, array(), $this->version);
487
+						wp_enqueue_style('ayecode-ui-fse');
488 488
 						$load_fse = true;
489 489
 					}
490 490
 
491 491
 
492 492
 					// flatpickr
493
-					wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
493
+					wp_register_style('flatpickr', $this->url . 'assets' . $bs_ver . '/css/flatpickr.min.css', array(), $this->version);
494 494
 
495 495
 					// fix some wp-admin issues
496
-					if(is_admin()){
496
+					if (is_admin()) {
497 497
 						$custom_css = "
498 498
                 body{
499 499
                     background-color: #f1f1f1;
@@ -546,14 +546,14 @@  discard block
 block discarded – undo
546 546
 						    padding: 0;
547 547
 						}
548 548
 					";
549
-						wp_add_inline_style( 'ayecode-ui', $custom_css );
549
+						wp_add_inline_style('ayecode-ui', $custom_css);
550 550
 					}
551 551
 
552 552
 					// custom changes
553
-					if ( $load_fse ) {
554
-						wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility) );
555
-					}else{
556
-						wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
553
+					if ($load_fse) {
554
+						wp_add_inline_style('ayecode-ui-fse', self::custom_css($compatibility));
555
+					} else {
556
+						wp_add_inline_style('ayecode-ui', self::custom_css($compatibility));
557 557
 
558 558
 					}
559 559
 
@@ -574,10 +574,10 @@  discard block
 block discarded – undo
574 574
 			$flatpickr_locale = self::flatpickr_locale();
575 575
 
576 576
 			ob_start();
577
-			if ( $aui_bs5 ) {
578
-				include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
579
-			}else{
580
-				include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
577
+			if ($aui_bs5) {
578
+				include_once(dirname(__FILE__) . '/inc/bs5-js.php');
579
+			} else {
580
+				include_once(dirname(__FILE__) . '/inc/bs4-js.php');
581 581
             }
582 582
 
583 583
 			$output = ob_get_clean();
@@ -585,10 +585,10 @@  discard block
 block discarded – undo
585 585
 			/*
586 586
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
587 587
 			 */
588
-			return str_replace( array(
588
+			return str_replace(array(
589 589
 				'<script>',
590 590
 				'</script>'
591
-			), '', self::minify_js($output) );
591
+			), '', self::minify_js($output));
592 592
 		}
593 593
 
594 594
 
@@ -602,13 +602,13 @@  discard block
 block discarded – undo
602 602
 			ob_start();
603 603
 			?>
604 604
             <script>
605
-				<?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
605
+				<?php if (defined('FUSION_BUILDER_VERSION')) { ?>
606 606
                 /* With Avada builder */
607 607
 
608 608
 				<?php } ?>
609 609
             </script>
610 610
 			<?php
611
-			return str_replace( array(
611
+			return str_replace(array(
612 612
 				'<script>',
613 613
 				'</script>'
614 614
 			), '', ob_get_clean());
@@ -619,7 +619,7 @@  discard block
 block discarded – undo
619 619
 		 *
620 620
 		 * If this remains small then its best to use this than to add another JS file.
621 621
 		 */
622
-		public function inline_script_file_browser(){
622
+		public function inline_script_file_browser() {
623 623
 			ob_start();
624 624
 			?>
625 625
             <script>
@@ -634,10 +634,10 @@  discard block
 block discarded – undo
634 634
 			/*
635 635
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
636 636
 			 */
637
-			return str_replace( array(
637
+			return str_replace(array(
638 638
 				'<script>',
639 639
 				'</script>'
640
-			), '', $output );
640
+			), '', $output);
641 641
 		}
642 642
 
643 643
 		/**
@@ -645,59 +645,59 @@  discard block
 block discarded – undo
645 645
 		 */
646 646
 		public function enqueue_scripts() {
647 647
 
648
-			if( is_admin() && !$this->is_aui_screen()){
648
+			if (is_admin() && !$this->is_aui_screen()) {
649 649
 				// don't add wp-admin scripts if not requested to
650
-			}else {
650
+			} else {
651 651
 
652 652
 				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
653 653
 
654 654
 				$bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
655 655
 
656 656
 				// select2
657
-				wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
657
+				wp_register_script('select2', $this->url . 'assets/js/select2.min.js', array('jquery'), $this->select2_version);
658 658
 
659 659
 				// flatpickr
660
-				wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
660
+				wp_register_script('flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version);
661 661
 
662 662
 				// iconpicker
663
-				if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
664
-					wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
665
-				}else{
666
-					wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
663
+				if (defined('FAS_ICONPICKER_JS_URL')) {
664
+					wp_register_script('iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version);
665
+				} else {
666
+					wp_register_script('iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version);
667 667
 				}
668 668
 
669 669
 				// Bootstrap file browser
670
-				wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
671
-				wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
670
+				wp_register_script('aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array('jquery'), $this->select2_version);
671
+				wp_add_inline_script('aui-custom-file-input', $this->inline_script_file_browser());
672 672
 
673 673
 				$load_inline = false;
674 674
 
675
-				if ( $this->settings[ $js_setting ] == 'core-popper' ) {
675
+				if ($this->settings[$js_setting] == 'core-popper') {
676 676
 					// Bootstrap bundle
677 677
 					$url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
678
-					wp_register_script( 'bootstrap-js-bundle', $url, array(
678
+					wp_register_script('bootstrap-js-bundle', $url, array(
679 679
 						'select2',
680 680
 						'jquery'
681
-					), $this->version, $this->is_bs3_compat() );
681
+					), $this->version, $this->is_bs3_compat());
682 682
 					// if in admin then add to footer for compatibility.
683
-					is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
683
+					is_admin() ? wp_enqueue_script('bootstrap-js-bundle', '', null, null, true) : wp_enqueue_script('bootstrap-js-bundle');
684 684
 					$script = $this->inline_script();
685
-					wp_add_inline_script( 'bootstrap-js-bundle', $script );
686
-				} elseif ( $this->settings[ $js_setting ] == 'popper' ) {
685
+					wp_add_inline_script('bootstrap-js-bundle', $script);
686
+				} elseif ($this->settings[$js_setting] == 'popper') {
687 687
 					$url = $this->url . 'assets/js/popper.min.js'; //@todo we need to update this to bs5
688
-					wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->version );
689
-					wp_enqueue_script( 'bootstrap-js-popper' );
688
+					wp_register_script('bootstrap-js-popper', $url, array('select2', 'jquery'), $this->version);
689
+					wp_enqueue_script('bootstrap-js-popper');
690 690
 					$load_inline = true;
691 691
 				} else {
692 692
 					$load_inline = true;
693 693
 				}
694 694
 
695 695
 				// Load needed inline scripts by faking the loading of a script if the main script is not being loaded
696
-				if ( $load_inline ) {
697
-					wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) );
698
-					wp_enqueue_script( 'bootstrap-dummy' );
696
+				if ($load_inline) {
697
+					wp_register_script('bootstrap-dummy', '', array('select2', 'jquery'));
698
+					wp_enqueue_script('bootstrap-dummy');
699 699
 					$script = $this->inline_script();
700
-					wp_add_inline_script( 'bootstrap-dummy', $script );
700
+					wp_add_inline_script('bootstrap-dummy', $script);
701 701
 				}
702 702
 			}
703 703
 
@@ -706,17 +706,17 @@  discard block
 block discarded – undo
706 706
 		/**
707 707
 		 * Enqueue flatpickr if called.
708 708
 		 */
709
-		public function enqueue_flatpickr(){
710
-			wp_enqueue_style( 'flatpickr' );
711
-			wp_enqueue_script( 'flatpickr' );
709
+		public function enqueue_flatpickr() {
710
+			wp_enqueue_style('flatpickr');
711
+			wp_enqueue_script('flatpickr');
712 712
 		}
713 713
 
714 714
 		/**
715 715
 		 * Enqueue iconpicker if called.
716 716
 		 */
717
-		public function enqueue_iconpicker(){
718
-			wp_enqueue_style( 'iconpicker' );
719
-			wp_enqueue_script( 'iconpicker' );
717
+		public function enqueue_iconpicker() {
718
+			wp_enqueue_style('iconpicker');
719
+			wp_enqueue_script('iconpicker');
720 720
 		}
721 721
 
722 722
 		/**
@@ -725,19 +725,19 @@  discard block
 block discarded – undo
725 725
 		 * @return string
726 726
 		 */
727 727
 		public function get_url() {
728
-			$content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
729
-			$content_url = untrailingslashit( WP_CONTENT_URL );
728
+			$content_dir = wp_normalize_path(untrailingslashit(WP_CONTENT_DIR));
729
+			$content_url = untrailingslashit(WP_CONTENT_URL);
730 730
 
731 731
 			// Replace http:// to https://.
732
-			if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
733
-				$content_url = str_replace( 'http://', 'https://', $content_url );
732
+			if (strpos($content_url, 'http://') === 0 && strpos(plugins_url(), 'https://') === 0) {
733
+				$content_url = str_replace('http://', 'https://', $content_url);
734 734
 			}
735 735
 
736 736
 			// Check if we are inside a plugin
737
-			$file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
738
-			$url = str_replace( $content_dir, $content_url, $file_dir );
737
+			$file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__)));
738
+			$url = str_replace($content_dir, $content_url, $file_dir);
739 739
 
740
-			return trailingslashit( $url );
740
+			return trailingslashit($url);
741 741
 		}
742 742
 
743 743
 		/**
@@ -749,15 +749,15 @@  discard block
 block discarded – undo
749 749
 
750 750
 			$url = '';
751 751
 			// check if we are inside a plugin
752
-			$file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
752
+			$file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__)));
753 753
 
754 754
 			// add check in-case user has changed wp-content dir name.
755 755
 			$wp_content_folder_name = basename(WP_CONTENT_DIR);
756
-			$dir_parts = explode("/$wp_content_folder_name/",$file_dir);
757
-			$url_parts = explode("/$wp_content_folder_name/",plugins_url());
756
+			$dir_parts = explode("/$wp_content_folder_name/", $file_dir);
757
+			$url_parts = explode("/$wp_content_folder_name/", plugins_url());
758 758
 
759
-			if(!empty($url_parts[0]) && !empty($dir_parts[1])){
760
-				$url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
759
+			if (!empty($url_parts[0]) && !empty($dir_parts[1])) {
760
+				$url = trailingslashit($url_parts[0] . "/$wp_content_folder_name/" . $dir_parts[1]);
761 761
 			}
762 762
 
763 763
 			return $url;
@@ -767,7 +767,7 @@  discard block
 block discarded – undo
767 767
 		 * Register the database settings with WordPress.
768 768
 		 */
769 769
 		public function register_settings() {
770
-			register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
770
+			register_setting('ayecode-ui-settings', 'ayecode-ui-settings');
771 771
 		}
772 772
 
773 773
 		/**
@@ -776,10 +776,10 @@  discard block
 block discarded – undo
776 776
 		 */
777 777
 		public function menu_item() {
778 778
 			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
779
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
779
+			call_user_func($menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
780 780
 				$this,
781 781
 				'settings_page'
782
-			) );
782
+			));
783 783
 		}
784 784
 
785 785
 		/**
@@ -787,7 +787,7 @@  discard block
 block discarded – undo
787 787
 		 *
788 788
 		 * @return array
789 789
 		 */
790
-		public function theme_js_settings(){
790
+		public function theme_js_settings() {
791 791
 			return array(
792 792
 				'ayetheme' => 'popper',
793 793
 				'listimia' => 'required',
@@ -803,24 +803,24 @@  discard block
 block discarded – undo
803 803
 		 */
804 804
 		public function get_settings() {
805 805
 
806
-			$db_settings = get_option( 'ayecode-ui-settings' );
806
+			$db_settings = get_option('ayecode-ui-settings');
807 807
 			$js_default = 'core-popper';
808 808
 			$js_default_backend = $js_default;
809 809
 
810 810
 			// maybe set defaults (if no settings set)
811
-			if(empty($db_settings)){
812
-				$active_theme = strtolower( get_template() ); // active parent theme.
811
+			if (empty($db_settings)) {
812
+				$active_theme = strtolower(get_template()); // active parent theme.
813 813
 				$theme_js_settings = self::theme_js_settings();
814
-				if(isset($theme_js_settings[$active_theme])){
814
+				if (isset($theme_js_settings[$active_theme])) {
815 815
 					$js_default = $theme_js_settings[$active_theme];
816
-					$js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
816
+					$js_default_backend = isset($theme_js_settings[$active_theme . "_backend"]) ? $theme_js_settings[$active_theme . "_backend"] : $js_default;
817 817
 				}
818 818
 			}
819 819
 
820 820
 			/**
821 821
 			 * Filter the default settings.
822 822
 			 */
823
-			$defaults = apply_filters( 'ayecode-ui-default-settings', array(
823
+			$defaults = apply_filters('ayecode-ui-default-settings', array(
824 824
 				'css'            => 'compatibility', // core, compatibility
825 825
 				'js'             => $js_default, // js to load, core-popper, popper
826 826
 				'html_font_size' => '16', // js to load, core-popper, popper
@@ -828,16 +828,16 @@  discard block
 block discarded – undo
828 828
 				'js_backend'     => $js_default_backend, // js to load, core-popper, popper
829 829
 				'disable_admin'  => '', // URL snippets to disable loading on admin
830 830
                 'bs_ver'         => '4', // The default bootstrap version to sue by default
831
-			), $db_settings );
831
+			), $db_settings);
832 832
 
833
-			$settings = wp_parse_args( $db_settings, $defaults );
833
+			$settings = wp_parse_args($db_settings, $defaults);
834 834
 
835 835
 			/**
836 836
 			 * Filter the Bootstrap settings.
837 837
 			 *
838 838
 			 * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
839 839
 			 */
840
-			return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
840
+			return $this->settings = apply_filters('ayecode-ui-settings', $settings, $db_settings, $defaults);
841 841
 		}
842 842
 
843 843
 
@@ -845,28 +845,28 @@  discard block
 block discarded – undo
845 845
 		 * The settings page html output.
846 846
 		 */
847 847
 		public function settings_page() {
848
-			if ( ! current_user_can( 'manage_options' ) ) {
849
-				wp_die( __( 'You do not have sufficient permissions to access this page.', 'aui' ) );
848
+			if (!current_user_can('manage_options')) {
849
+				wp_die(__('You do not have sufficient permissions to access this page.', 'aui'));
850 850
 			}
851
-            $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() );
851
+            $overrides = apply_filters('ayecode-ui-settings', array(), array(), array());
852 852
 
853 853
 			?>
854 854
             <div class="wrap">
855 855
                 <h1><?php echo $this->name; ?></h1>
856
-                <p><?php echo apply_filters( 'ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.",'aui') );?></p>
856
+                <p><?php echo apply_filters('ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.", 'aui')); ?></p>
857 857
                 <form method="post" action="options.php">
858 858
 					<?php
859
-					settings_fields( 'ayecode-ui-settings' );
860
-					do_settings_sections( 'ayecode-ui-settings' );
859
+					settings_fields('ayecode-ui-settings');
860
+					do_settings_sections('ayecode-ui-settings');
861 861
 					?>
862 862
 
863
-                    <h2><?php _e( 'BootStrap Version', 'aui' ); ?></h2>
864
-                    <p><?php echo 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.",'aui') );?></p>
863
+                    <h2><?php _e('BootStrap Version', 'aui'); ?></h2>
864
+                    <p><?php echo 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.", 'aui')); ?></p>
865 865
 	                <div class="bsui"><?php
866
-	                if ( ! empty( $overrides ) ) {
866
+	                if (!empty($overrides)) {
867 867
 		                echo aui()->alert(array(
868 868
 			                'type'=> 'info',
869
-			                'content'=> __("Some options are disabled as your current theme is overriding them.",'aui')
869
+			                'content'=> __("Some options are disabled as your current theme is overriding them.", 'aui')
870 870
 		                ));
871 871
 	                }
872 872
 	                ?>
@@ -874,87 +874,87 @@  discard block
 block discarded – undo
874 874
                     <table class="form-table wpbs-table-version-settings">
875 875
                         <tr valign="top">
876 876
                             <th scope="row"><label
877
-                                        for="wpbs-css"><?php _e( 'Version', 'aui' ); ?></label></th>
877
+                                        for="wpbs-css"><?php _e('Version', 'aui'); ?></label></th>
878 878
                             <td>
879 879
                                 <select name="ayecode-ui-settings[bs_ver]" id="wpbs-css" <?php echo !empty($overrides['bs_ver']) ? 'disabled' : ''; ?>>
880
-                                    <option	value="5" <?php selected( $this->settings['bs_ver'], '5' ); ?>><?php _e( 'v5 (recommended)', 'aui' ); ?></option>
881
-                                    <option value="4" <?php selected( $this->settings['bs_ver'], '4' ); ?>><?php _e( 'v4 (legacy)', 'aui' ); ?></option>
880
+                                    <option	value="5" <?php selected($this->settings['bs_ver'], '5'); ?>><?php _e('v5 (recommended)', 'aui'); ?></option>
881
+                                    <option value="4" <?php selected($this->settings['bs_ver'], '4'); ?>><?php _e('v4 (legacy)', 'aui'); ?></option>
882 882
                                 </select>
883 883
                             </td>
884 884
                         </tr>
885 885
                     </table>
886 886
 
887
-                    <h2><?php _e( 'Frontend', 'aui' ); ?></h2>
887
+                    <h2><?php _e('Frontend', 'aui'); ?></h2>
888 888
                     <table class="form-table wpbs-table-settings">
889 889
                         <tr valign="top">
890 890
                             <th scope="row"><label
891
-                                        for="wpbs-css"><?php _e( 'Load CSS', 'aui' ); ?></label></th>
891
+                                        for="wpbs-css"><?php _e('Load CSS', 'aui'); ?></label></th>
892 892
                             <td>
893 893
                                 <select name="ayecode-ui-settings[css]" id="wpbs-css" <?php echo !empty($overrides['css']) ? 'disabled' : ''; ?>>
894
-                                    <option	value="compatibility" <?php selected( $this->settings['css'], 'compatibility' ); ?>><?php _e( 'Compatibility Mode (default)', 'aui' ); ?></option>
895
-                                    <option value="core" <?php selected( $this->settings['css'], 'core' ); ?>><?php _e( 'Full Mode', 'aui' ); ?></option>
896
-                                    <option	value="" <?php selected( $this->settings['css'], '' ); ?>><?php _e( 'Disabled', 'aui' ); ?></option>
894
+                                    <option	value="compatibility" <?php selected($this->settings['css'], 'compatibility'); ?>><?php _e('Compatibility Mode (default)', 'aui'); ?></option>
895
+                                    <option value="core" <?php selected($this->settings['css'], 'core'); ?>><?php _e('Full Mode', 'aui'); ?></option>
896
+                                    <option	value="" <?php selected($this->settings['css'], ''); ?>><?php _e('Disabled', 'aui'); ?></option>
897 897
                                 </select>
898 898
                             </td>
899 899
                         </tr>
900 900
 
901 901
                         <tr valign="top">
902 902
                             <th scope="row"><label
903
-                                        for="wpbs-js"><?php _e( 'Load JS', 'aui' ); ?></label></th>
903
+                                        for="wpbs-js"><?php _e('Load JS', 'aui'); ?></label></th>
904 904
                             <td>
905 905
                                 <select name="ayecode-ui-settings[js]" id="wpbs-js" <?php echo !empty($overrides['js']) ? 'disabled' : ''; ?>>
906
-                                    <option	value="core-popper" <?php selected( $this->settings['js'], 'core-popper' ); ?>><?php _e( 'Core + Popper (default)', 'aui' ); ?></option>
907
-                                    <option value="popper" <?php selected( $this->settings['js'], 'popper' ); ?>><?php _e( 'Popper', 'aui' ); ?></option>
908
-                                    <option value="required" <?php selected( $this->settings['js'], 'required' ); ?>><?php _e( 'Required functions only', 'aui' ); ?></option>
909
-                                    <option	value="" <?php selected( $this->settings['js'], '' ); ?>><?php _e( 'Disabled (not recommended)', 'aui' ); ?></option>
906
+                                    <option	value="core-popper" <?php selected($this->settings['js'], 'core-popper'); ?>><?php _e('Core + Popper (default)', 'aui'); ?></option>
907
+                                    <option value="popper" <?php selected($this->settings['js'], 'popper'); ?>><?php _e('Popper', 'aui'); ?></option>
908
+                                    <option value="required" <?php selected($this->settings['js'], 'required'); ?>><?php _e('Required functions only', 'aui'); ?></option>
909
+                                    <option	value="" <?php selected($this->settings['js'], ''); ?>><?php _e('Disabled (not recommended)', 'aui'); ?></option>
910 910
                                 </select>
911 911
                             </td>
912 912
                         </tr>
913 913
 
914 914
                         <tr valign="top">
915 915
                             <th scope="row"><label
916
-                                        for="wpbs-font_size"><?php _e( 'HTML Font Size (px)', 'aui' ); ?></label></th>
916
+                                        for="wpbs-font_size"><?php _e('HTML Font Size (px)', 'aui'); ?></label></th>
917 917
                             <td>
918
-                                <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' : ''; ?> />
919
-                                <p class="description" ><?php _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.",'aui');?></p>
918
+                                <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' : ''; ?> />
919
+                                <p class="description" ><?php _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.", 'aui'); ?></p>
920 920
                             </td>
921 921
                         </tr>
922 922
 
923 923
                     </table>
924 924
 
925
-                    <h2><?php _e( 'Backend', 'aui' ); ?> (wp-admin)</h2>
925
+                    <h2><?php _e('Backend', 'aui'); ?> (wp-admin)</h2>
926 926
                     <table class="form-table wpbs-table-settings">
927 927
                         <tr valign="top">
928 928
                             <th scope="row"><label
929
-                                        for="wpbs-css-admin"><?php _e( 'Load CSS', 'aui' ); ?></label></th>
929
+                                        for="wpbs-css-admin"><?php _e('Load CSS', 'aui'); ?></label></th>
930 930
                             <td>
931 931
                                 <select name="ayecode-ui-settings[css_backend]" id="wpbs-css-admin" <?php echo !empty($overrides['css_backend']) ? 'disabled' : ''; ?>>
932
-                                    <option	value="compatibility" <?php selected( $this->settings['css_backend'], 'compatibility' ); ?>><?php _e( 'Compatibility Mode (default)', 'aui' ); ?></option>
933
-                                    <option value="core" <?php selected( $this->settings['css_backend'], 'core' ); ?>><?php _e( 'Full Mode (will cause style issues)', 'aui' ); ?></option>
934
-                                    <option	value="" <?php selected( $this->settings['css_backend'], '' ); ?>><?php _e( 'Disabled', 'aui' ); ?></option>
932
+                                    <option	value="compatibility" <?php selected($this->settings['css_backend'], 'compatibility'); ?>><?php _e('Compatibility Mode (default)', 'aui'); ?></option>
933
+                                    <option value="core" <?php selected($this->settings['css_backend'], 'core'); ?>><?php _e('Full Mode (will cause style issues)', 'aui'); ?></option>
934
+                                    <option	value="" <?php selected($this->settings['css_backend'], ''); ?>><?php _e('Disabled', 'aui'); ?></option>
935 935
                                 </select>
936 936
                             </td>
937 937
                         </tr>
938 938
 
939 939
                         <tr valign="top">
940 940
                             <th scope="row"><label
941
-                                        for="wpbs-js-admin"><?php _e( 'Load JS', 'aui' ); ?></label></th>
941
+                                        for="wpbs-js-admin"><?php _e('Load JS', 'aui'); ?></label></th>
942 942
                             <td>
943 943
                                 <select name="ayecode-ui-settings[js_backend]" id="wpbs-js-admin" <?php echo !empty($overrides['js_backend']) ? 'disabled' : ''; ?>>
944
-                                    <option	value="core-popper" <?php selected( $this->settings['js_backend'], 'core-popper' ); ?>><?php _e( 'Core + Popper (default)', 'aui' ); ?></option>
945
-                                    <option value="popper" <?php selected( $this->settings['js_backend'], 'popper' ); ?>><?php _e( 'Popper', 'aui' ); ?></option>
946
-                                    <option value="required" <?php selected( $this->settings['js_backend'], 'required' ); ?>><?php _e( 'Required functions only', 'aui' ); ?></option>
947
-                                    <option	value="" <?php selected( $this->settings['js_backend'], '' ); ?>><?php _e( 'Disabled (not recommended)', 'aui' ); ?></option>
944
+                                    <option	value="core-popper" <?php selected($this->settings['js_backend'], 'core-popper'); ?>><?php _e('Core + Popper (default)', 'aui'); ?></option>
945
+                                    <option value="popper" <?php selected($this->settings['js_backend'], 'popper'); ?>><?php _e('Popper', 'aui'); ?></option>
946
+                                    <option value="required" <?php selected($this->settings['js_backend'], 'required'); ?>><?php _e('Required functions only', 'aui'); ?></option>
947
+                                    <option	value="" <?php selected($this->settings['js_backend'], ''); ?>><?php _e('Disabled (not recommended)', 'aui'); ?></option>
948 948
                                 </select>
949 949
                             </td>
950 950
                         </tr>
951 951
 
952 952
                         <tr valign="top">
953 953
                             <th scope="row"><label
954
-                                        for="wpbs-disable-admin"><?php _e( 'Disable load on URL', 'aui' ); ?></label></th>
954
+                                        for="wpbs-disable-admin"><?php _e('Disable load on URL', 'aui'); ?></label></th>
955 955
                             <td>
956
-                                <p><?php _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.', 'aui' ); ?></p>
957
-                                <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 $this->settings['disable_admin'];?></textarea>
956
+                                <p><?php _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.', 'aui'); ?></p>
957
+                                <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 $this->settings['disable_admin']; ?></textarea>
958 958
 
959 959
                             </td>
960 960
                         </tr>
@@ -966,34 +966,34 @@  discard block
 block discarded – undo
966 966
 					?>
967 967
                 </form>
968 968
 
969
-                <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo $this->version; ?></div>
969
+                <div id="wpbs-version" data-aui-source="<?php echo esc_attr($this->get_load_source()); ?>"><?php echo $this->version; ?></div>
970 970
             </div>
971 971
 
972 972
 			<?php
973 973
 		}
974 974
 
975
-        public function get_load_source(){
976
-	        $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
977
-	        $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
975
+        public function get_load_source() {
976
+	        $file = str_replace(array("/", "\\"), "/", realpath(__FILE__));
977
+	        $plugins_dir = str_replace(array("/", "\\"), "/", realpath(WP_PLUGIN_DIR));
978 978
 
979 979
 	        // Find source plugin/theme of SD
980 980
 	        $source = array();
981
-	        if ( strpos( $file, $plugins_dir ) !== false ) {
982
-		        $source = explode( "/", plugin_basename( $file ) );
983
-	        } else if ( function_exists( 'get_theme_root' ) ) {
984
-		        $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
981
+	        if (strpos($file, $plugins_dir) !== false) {
982
+		        $source = explode("/", plugin_basename($file));
983
+	        } else if (function_exists('get_theme_root')) {
984
+		        $themes_dir = str_replace(array("/", "\\"), "/", realpath(get_theme_root()));
985 985
 
986
-		        if ( strpos( $file, $themes_dir ) !== false ) {
987
-			        $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
986
+		        if (strpos($file, $themes_dir) !== false) {
987
+			        $source = explode("/", ltrim(str_replace($themes_dir, "", $file), "/"));
988 988
 		        }
989 989
 	        }
990 990
 
991 991
             return isset($source[0]) ? esc_attr($source[0]) : '';
992 992
         }
993 993
 
994
-		public function customizer_settings($wp_customize){
994
+		public function customizer_settings($wp_customize) {
995 995
 			$wp_customize->add_section('aui_settings', array(
996
-				'title'    => __('AyeCode UI','aui'),
996
+				'title'    => __('AyeCode UI', 'aui'),
997 997
 				'priority' => 120,
998 998
 			));
999 999
 
@@ -1007,8 +1007,8 @@  discard block
 block discarded – undo
1007 1007
 				'type'              => 'option',
1008 1008
 				'transport'         => 'refresh',
1009 1009
 			));
1010
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1011
-				'label'    => __('Primary Color','aui'),
1010
+			$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1011
+				'label'    => __('Primary Color', 'aui'),
1012 1012
 				'section'  => 'aui_settings',
1013 1013
 				'settings' => 'aui_options[color_primary]',
1014 1014
 			)));
@@ -1020,8 +1020,8 @@  discard block
 block discarded – undo
1020 1020
 				'type'              => 'option',
1021 1021
 				'transport'         => 'refresh',
1022 1022
 			));
1023
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1024
-				'label'    => __('Secondary Color','aui'),
1023
+			$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1024
+				'label'    => __('Secondary Color', 'aui'),
1025 1025
 				'section'  => 'aui_settings',
1026 1026
 				'settings' => 'aui_options[color_secondary]',
1027 1027
 			)));
@@ -1047,12 +1047,12 @@  discard block
 block discarded – undo
1047 1047
                 .collapse.show:not(.in){display: inherit;}
1048 1048
                 .fade.show{opacity: 1;}
1049 1049
 
1050
-                <?php if( defined( 'SVQ_THEME_VERSION' ) ){ ?>
1050
+                <?php if (defined('SVQ_THEME_VERSION')) { ?>
1051 1051
                 /* KLEO theme specific */
1052 1052
                 .kleo-main-header .navbar-collapse.collapse.show:not(.in){display: block !important;}
1053 1053
                 <?php } ?>
1054 1054
 
1055
-                <?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
1055
+                <?php if (defined('FUSION_BUILDER_VERSION')) { ?>
1056 1056
                 /* With Avada builder */
1057 1057
                 body.modal-open .modal.in  {opacity:1;z-index: 99999}
1058 1058
                 body.modal-open .modal.bsui.in .modal-content  {box-shadow: none;}
@@ -1063,10 +1063,10 @@  discard block
 block discarded – undo
1063 1063
                 <?php } ?>
1064 1064
             </style>
1065 1065
 			<?php
1066
-			return str_replace( array(
1066
+			return str_replace(array(
1067 1067
 				'<style>',
1068 1068
 				'</style>'
1069
-			), '', self::minify_css( ob_get_clean() ) );
1069
+			), '', self::minify_css(ob_get_clean()));
1070 1070
 		}
1071 1071
 
1072 1072
 
@@ -1074,7 +1074,7 @@  discard block
 block discarded – undo
1074 1074
             global $aui_bs5;
1075 1075
 
1076 1076
 			$colors = array();
1077
-			if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1077
+			if (defined('BLOCKSTRAP_VERSION')) {
1078 1078
 
1079 1079
 
1080 1080
 				$setting = wp_get_global_settings();
@@ -1083,22 +1083,22 @@  discard block
 block discarded – undo
1083 1083
 //                print_r(get_default_block_editor_settings());exit;
1084 1084
 
1085 1085
 //                print_r($setting);echo  '###';exit;
1086
-				if(!empty($setting['color']['palette']['theme'])){
1087
-					foreach($setting['color']['palette']['theme'] as $color){
1086
+				if (!empty($setting['color']['palette']['theme'])) {
1087
+					foreach ($setting['color']['palette']['theme'] as $color) {
1088 1088
 						$colors[$color['slug']] = esc_attr($color['color']);
1089 1089
 					}
1090 1090
 				}
1091 1091
 
1092
-				if(!empty($setting['color']['palette']['custom'])){
1093
-					foreach($setting['color']['palette']['custom'] as $color){
1092
+				if (!empty($setting['color']['palette']['custom'])) {
1093
+					foreach ($setting['color']['palette']['custom'] as $color) {
1094 1094
 						$colors[$color['slug']] = esc_attr($color['color']);
1095 1095
 					}
1096 1096
 				}
1097
-			}else{
1097
+			} else {
1098 1098
 				$settings = get_option('aui_options');
1099 1099
 				$colors = array(
1100
-					'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1101
-					'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1100
+					'primary'   => !empty($settings['color_primary']) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1101
+					'secondary' => !empty($settings['color_secondary']) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1102 1102
 				);
1103 1103
 			}
1104 1104
 
@@ -1109,25 +1109,25 @@  discard block
 block discarded – undo
1109 1109
                 <?php
1110 1110
 
1111 1111
 					// BS v3 compat
1112
-					if( self::is_bs3_compat() ){
1112
+					if (self::is_bs3_compat()) {
1113 1113
 						echo self::bs3_compat_css();
1114 1114
 					}
1115 1115
 
1116
-					if(!empty($colors)){
1116
+					if (!empty($colors)) {
1117 1117
 						$d_colors = self::get_colors(true);
1118 1118
 
1119
-                        $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : '';
1119
+                        $current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
1120 1120
                         $is_fse = false;
1121
-                        if ( is_admin() && ( !empty($_REQUEST['postType']) || $current_screen->is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
1121
+                        if (is_admin() && (!empty($_REQUEST['postType']) || $current_screen->is_block_editor()) && (defined('BLOCKSTRAP_VERSION') || defined('AUI_FSE'))) {
1122 1122
                             $is_fse = true;
1123 1123
                         }
1124 1124
 
1125 1125
 //						$is_fse = !empty($_REQUEST['postType']) && $_REQUEST['postType']=='wp_template';
1126
-						foreach($colors as $key => $color ){
1127
-							if((empty( $d_colors[$key]) ||  $d_colors[$key] != $color) || $is_fse ) {
1126
+						foreach ($colors as $key => $color) {
1127
+							if ((empty($d_colors[$key]) || $d_colors[$key] != $color) || $is_fse) {
1128 1128
 								$var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1129 1129
 								$compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1130
-								echo $aui_bs5 ? self::css_overwrite_bs5($key,$var,$compat,$color) : self::css_overwrite($key,$var,$compat,$color);
1130
+								echo $aui_bs5 ? self::css_overwrite_bs5($key, $var, $compat, $color) : self::css_overwrite($key, $var, $compat, $color);
1131 1131
 							}
1132 1132
 						}
1133 1133
 					   // exit;
@@ -1136,17 +1136,17 @@  discard block
 block discarded – undo
1136 1136
 					// Set admin bar z-index lower when modal is open.
1137 1137
 					echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1138 1138
 
1139
-					if(is_admin()){
1139
+					if (is_admin()) {
1140 1140
 						echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1141 1141
 					}
1142 1142
 
1143
-                    if( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) ){
1143
+                    if ($aui_bs5 && defined('BLOCKSTRAP_VERSION')) {
1144 1144
                         $css = '';
1145 1145
                         $theme_settings = wp_get_global_styles();
1146 1146
 
1147 1147
                         // font face
1148
-                        if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1149
-                            $t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1148
+                        if (!empty($theme_settings['typography']['fontFamily'])) {
1149
+                            $t_fontface = str_replace(array('var:preset|', 'font-family|'), array('--wp--preset--', 'font-family--'), $theme_settings['typography']['fontFamily']); //var(--wp--preset--font-family--poppins)
1150 1150
                             $css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1151 1151
                         }
1152 1152
 
@@ -1154,7 +1154,7 @@  discard block
 block discarded – undo
1154 1154
                         $css .= '--bs-body-font-size: var(--wp--preset--font-size--small);';
1155 1155
 
1156 1156
 
1157
-                        if($css){
1157
+                        if ($css) {
1158 1158
                             echo 'body{' . $css . '}';
1159 1159
                         }
1160 1160
                     }
@@ -1166,10 +1166,10 @@  discard block
 block discarded – undo
1166 1166
 			/*
1167 1167
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1168 1168
 			 */
1169
-			return str_replace( array(
1169
+			return str_replace(array(
1170 1170
 				'<style>',
1171 1171
 				'</style>'
1172
-			), '', self::minify_css( ob_get_clean() ) );
1172
+			), '', self::minify_css(ob_get_clean()));
1173 1173
 		}
1174 1174
 
1175 1175
 
@@ -1179,7 +1179,7 @@  discard block
 block discarded – undo
1179 1179
 		 *
1180 1180
 		 * @return bool
1181 1181
 		 */
1182
-		public static function is_bs3_compat(){
1182
+		public static function is_bs3_compat() {
1183 1183
 			return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1184 1184
 		}
1185 1185
 
@@ -1188,7 +1188,7 @@  discard block
 block discarded – undo
1188 1188
 			$hex = str_replace('#', '', $hex);
1189 1189
 
1190 1190
 			// Convert 3-digit hex to 6-digit hex
1191
-			if(strlen($hex) == 3) {
1191
+			if (strlen($hex) == 3) {
1192 1192
 				$hex = str_repeat(substr($hex, 0, 1), 2) . str_repeat(substr($hex, 1, 1), 2) . str_repeat(substr($hex, 2, 1), 2);
1193 1193
 			}
1194 1194
 
@@ -1210,13 +1210,13 @@  discard block
 block discarded – undo
1210 1210
 		 *
1211 1211
 		 * @return string
1212 1212
 		 */
1213
-		public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1213
+		public static function css_overwrite_bs5($type, $color_code, $compatibility, $hex = '') {
1214 1214
 			global $aui_bs5;
1215 1215
 
1216 1216
 			$is_var = false;
1217 1217
 			$is_custom = strpos($type, 'custom-') !== false ? true : false;
1218
-			if(!$color_code){return '';}
1219
-			if(strpos($color_code, 'var') !== false){
1218
+			if (!$color_code) {return ''; }
1219
+			if (strpos($color_code, 'var') !== false) {
1220 1220
 				//if(!sanitize_hex_color($color_code)){
1221 1221
 				$color_code = esc_attr($color_code);
1222 1222
 				$is_var = true;
@@ -1226,15 +1226,15 @@  discard block
 block discarded – undo
1226 1226
 
1227 1227
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1228 1228
 
1229
-			if(!$color_code){return '';}
1229
+			if (!$color_code) {return ''; }
1230 1230
 
1231 1231
 			$rgb = self::hex_to_rgb($hex);
1232 1232
 
1233
-			if($compatibility===true || $compatibility===1){
1233
+			if ($compatibility === true || $compatibility === 1) {
1234 1234
 				$compatibility = '.bsui';
1235
-			}elseif(!$compatibility){
1235
+			}elseif (!$compatibility) {
1236 1236
 				$compatibility = '';
1237
-			}else{
1237
+			} else {
1238 1238
 				$compatibility = esc_attr($compatibility);
1239 1239
 			}
1240 1240
 
@@ -1251,30 +1251,30 @@  discard block
 block discarded – undo
1251 1251
 			 * c = color, b = background color, o = border-color, f = fill
1252 1252
 			 */
1253 1253
 			$selectors = array(
1254
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1255
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1256
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1257
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1258
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1259
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1260
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1261
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1262
-				".badge-{$type}"                                            => array( 'b' ),
1263
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1264
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1265
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1266
-				".text-{$type}"                                     => array( 'c' ),
1254
+				".btn-{$type}"                                              => array('b', 'o'),
1255
+				".btn-{$type}.disabled"                                     => array('b', 'o'),
1256
+				".btn-{$type}:disabled"                                     => array('b', 'o'),
1257
+				".btn-outline-{$type}"                                      => array('c', 'o'),
1258
+				".btn-outline-{$type}:hover"                                => array('b', 'o'),
1259
+				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array('b', 'o'),
1260
+				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array('b', 'o'),
1261
+				".show>.btn-outline-{$type}.dropdown-toggle"                => array('b', 'o'),
1262
+				".badge-{$type}"                                            => array('b'),
1263
+				".alert-{$type}"                                            => array('b', 'o'),
1264
+				".bg-{$type}"                                               => array('b', 'f'),
1265
+				".btn-link.btn-{$type}"                                     => array('c'),
1266
+				".text-{$type}"                                     => array('c'),
1267 1267
 			);
1268 1268
 
1269
-			if ( $aui_bs5 ) {
1270
-				unset($selectors[".alert-{$type}" ]);
1269
+			if ($aui_bs5) {
1270
+				unset($selectors[".alert-{$type}"]);
1271 1271
 			}
1272 1272
 
1273
-			if ( $type == 'primary' ) {
1273
+			if ($type == 'primary') {
1274 1274
 				$selectors = $selectors + array(
1275
-						'a'                                                                                                    => array( 'c' ),
1276
-						'.btn-link'                                                                                            => array( 'c' ),
1277
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1275
+						'a'                                                                                                    => array('c'),
1276
+						'.btn-link'                                                                                            => array('c'),
1277
+						'.dropdown-item.active'                                                                                => array('b'),
1278 1278
 						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1279 1279
 							'b',
1280 1280
 							'o'
@@ -1283,56 +1283,56 @@  discard block
 block discarded – undo
1283 1283
 							'b',
1284 1284
 							'o'
1285 1285
 						),
1286
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1287
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1288
-						'.page-link'                                                                                           => array( 'c' ),
1286
+						'.nav-pills .nav-link.active'                                                                          => array('b'),
1287
+						'.nav-pills .show>.nav-link'                                                                           => array('b'),
1288
+						'.page-link'                                                                                           => array('c'),
1289 1289
 						'.page-item.active .page-link'                                                                         => array(
1290 1290
 							'b',
1291 1291
 							'o'
1292 1292
 						),
1293
-						'.progress-bar'                                                                                        => array( 'b' ),
1293
+						'.progress-bar'                                                                                        => array('b'),
1294 1294
 						'.list-group-item.active'                                                                              => array(
1295 1295
 							'b',
1296 1296
 							'o'
1297 1297
 						),
1298
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1298
+						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1299 1299
 					);
1300 1300
 			}
1301 1301
 
1302 1302
 
1303 1303
 
1304 1304
             // link
1305
-			if ( $type === 'primary' ) {
1306
-				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1307
-				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1308
-				$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).'; }';
1305
+			if ($type === 'primary') {
1306
+				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-' . esc_attr($type) . '-rgb), .75); --bs-link-color: var(--bs-' . esc_attr($type) . '); }';
1307
+				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: ' . esc_attr($color_code) . ';  }';
1308
+				$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) . '; }';
1309 1309
 
1310
-				$output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1311
-				$output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1310
+				$output .= $prefix . ' a{color: var(--bs-' . esc_attr($type) . ');}';
1311
+				$output .= $prefix . ' .text-primary{color: var(--bs-' . esc_attr($type) . ') !important;}';
1312 1312
 
1313 1313
                 // dropdown
1314
-				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1314
+				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-' . esc_attr($type) . '); --bs-dropdown-link-active-color: var(--bs-' . esc_attr($type) . ');}';
1315 1315
 
1316 1316
                 // pagination
1317
-				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1317
+				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-' . esc_attr($type) . '); --bs-pagination-active-bg: var(--bs-' . esc_attr($type) . ');}';
1318 1318
 
1319 1319
 			}
1320 1320
 
1321
-			$output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1321
+			$output .= $prefix . ' .link-' . esc_attr($type) . ':hover {color: rgba(var(--bs-' . esc_attr($type) . '-rgb), .8) !important;}';
1322 1322
 
1323 1323
 			//  buttons
1324
-			$output .= $prefix . ' .btn-'.esc_attr($type).'{';
1324
+			$output .= $prefix . ' .btn-' . esc_attr($type) . '{';
1325 1325
 			$output .= ' 
1326
-            --bs-btn-bg: '.esc_attr($color_code).';
1327
-            --bs-btn-border-color: '.esc_attr($color_code).';
1328
-            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1329
-            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1330
-            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type).'-rgb;
1331
-            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1332
-            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1326
+            --bs-btn-bg: '.esc_attr($color_code) . ';
1327
+            --bs-btn-border-color: '.esc_attr($color_code) . ';
1328
+            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1329
+            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1330
+            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type) . '-rgb;
1331
+            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1332
+            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1333 1333
             --bs-btn-active-shadow: unset;
1334
-            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1335
-            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1334
+            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .5);
1335
+            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .1);
1336 1336
             ';
1337 1337
 //			$output .= '
1338 1338
 //		    --bs-btn-color: #fff;
@@ -1343,17 +1343,17 @@  discard block
 block discarded – undo
1343 1343
 			$output .= '}';
1344 1344
 
1345 1345
 			//  buttons outline
1346
-			$output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1346
+			$output .= $prefix . ' .btn-outline-' . esc_attr($type) . '{';
1347 1347
 			$output .= ' 
1348
-            --bs-btn-border-color: '.esc_attr($color_code).';
1349
-            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1350
-            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1351
-            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type).'-rgb;
1352
-            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1353
-            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1348
+            --bs-btn-border-color: '.esc_attr($color_code) . ';
1349
+            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1350
+            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1351
+            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type) . '-rgb;
1352
+            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1353
+            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1354 1354
             --bs-btn-active-shadow: unset;
1355
-            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1356
-            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1355
+            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .5);
1356
+            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .1);
1357 1357
             ';
1358 1358
 //			$output .= '
1359 1359
 //		    --bs-btn-color: #fff;
@@ -1365,32 +1365,32 @@  discard block
 block discarded – undo
1365 1365
 
1366 1366
 
1367 1367
             // button hover
1368
-			$output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1368
+			$output .= $prefix . ' .btn-' . esc_attr($type) . ':hover{';
1369 1369
 			$output .= ' 
1370
-            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);
1370
+            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);
1371 1371
             }
1372 1372
             ';
1373 1373
 
1374 1374
 
1375
-			if ( $aui_bs5 ) {
1375
+			if ($aui_bs5) {
1376 1376
 //				$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).'; }';
1377
-				$output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1378
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1377
+				$output .= 'html body {--bs-' . esc_attr($type) . ': ' . esc_attr($color_code) . '; }';
1378
+				$output .= 'html body {--bs-' . esc_attr($type) . '-rgb: ' . $rgb . '; }';
1379 1379
 			}
1380 1380
 
1381 1381
 
1382
-			if ( $is_custom ) {
1382
+			if ($is_custom) {
1383 1383
 
1384 1384
 //				echo '###'.$type;exit;
1385 1385
 
1386 1386
 				// build rules into each type
1387
-				foreach($selectors as $selector => $types){
1388
-					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1389
-					$types = array_combine($types,$types);
1390
-					if(isset($types['c'])){$color[] = $selector;}
1391
-					if(isset($types['b'])){$background[] = $selector;}
1392
-					if(isset($types['o'])){$border[] = $selector;}
1393
-					if(isset($types['f'])){$fill[] = $selector;}
1387
+				foreach ($selectors as $selector => $types) {
1388
+					$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1389
+					$types = array_combine($types, $types);
1390
+					if (isset($types['c'])) {$color[] = $selector; }
1391
+					if (isset($types['b'])) {$background[] = $selector; }
1392
+					if (isset($types['o'])) {$border[] = $selector; }
1393
+					if (isset($types['f'])) {$fill[] = $selector; }
1394 1394
 				}
1395 1395
 
1396 1396
 //				// build rules into each type
@@ -1404,36 +1404,36 @@  discard block
 block discarded – undo
1404 1404
 //				}
1405 1405
 
1406 1406
 				// add any color rules
1407
-				if(!empty($color)){
1408
-					$output .= implode(",",$color) . "{color: $color_code;} ";
1407
+				if (!empty($color)) {
1408
+					$output .= implode(",", $color) . "{color: $color_code;} ";
1409 1409
 				}
1410
-				if(!empty($color_i)){
1411
-					$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1410
+				if (!empty($color_i)) {
1411
+					$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1412 1412
 				}
1413 1413
 
1414 1414
 				// add any background color rules
1415
-				if(!empty($background)){
1416
-					$output .= implode(",",$background) . "{background-color: $color_code;} ";
1415
+				if (!empty($background)) {
1416
+					$output .= implode(",", $background) . "{background-color: $color_code;} ";
1417 1417
 				}
1418
-				if(!empty($background_i)){
1419
-					$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1418
+				if (!empty($background_i)) {
1419
+					$output .= $aui_bs5 ? '' : implode(",", $background_i) . "{background-color: $color_code !important;} ";
1420 1420
 //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1421 1421
 				}
1422 1422
 
1423 1423
 				// add any border color rules
1424
-				if(!empty($border)){
1425
-					$output .= implode(",",$border) . "{border-color: $color_code;} ";
1424
+				if (!empty($border)) {
1425
+					$output .= implode(",", $border) . "{border-color: $color_code;} ";
1426 1426
 				}
1427
-				if(!empty($border_i)){
1428
-					$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1427
+				if (!empty($border_i)) {
1428
+					$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1429 1429
 				}
1430 1430
 
1431 1431
 				// add any fill color rules
1432
-				if(!empty($fill)){
1433
-					$output .= implode(",",$fill) . "{fill: $color_code;} ";
1432
+				if (!empty($fill)) {
1433
+					$output .= implode(",", $fill) . "{fill: $color_code;} ";
1434 1434
 				}
1435
-				if(!empty($fill_i)){
1436
-					$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1435
+				if (!empty($fill_i)) {
1436
+					$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1437 1437
 				}
1438 1438
 
1439 1439
 			}
@@ -1443,25 +1443,25 @@  discard block
 block discarded – undo
1443 1443
 
1444 1444
 			$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;' : '';
1445 1445
 			// darken
1446
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1447
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1448
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1449
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1446
+			$darker_075 = $is_var ? $color_code . ';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code, "-0.075");
1447
+			$darker_10 = $is_var ? $color_code . ';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code, "-0.10");
1448
+			$darker_125 = $is_var ? $color_code . ';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code, "-0.125");
1449
+			$darker_40 = $is_var ? $color_code . ';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code, "-0.4");
1450 1450
 
1451 1451
 			// lighten
1452
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1452
+			$lighten_25 = $is_var ? $color_code . ';filter:brightness(1.25)' : self::css_hex_lighten_darken($color_code, "0.25");
1453 1453
 
1454 1454
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1455
-			$op_25 = $color_code."40"; // 25% opacity
1455
+			$op_25 = $color_code . "40"; // 25% opacity
1456 1456
 
1457 1457
 
1458 1458
 			// button states
1459
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1460
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1459
+			$output .= $is_var ? $prefix . " .btn-{$type}{{$transition }} " : '';
1460
+			$output .= $prefix . " .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1461 1461
 //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1462
-			$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;} ";
1463
-			$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.";} ";
1464
-			$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;} ";
1462
+			$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;} ";
1463
+			$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 . ";} ";
1464
+			$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;} ";
1465 1465
 
1466 1466
 			// text
1467 1467
 //			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
@@ -1479,9 +1479,9 @@  discard block
 block discarded – undo
1479 1479
 //			}
1480 1480
 
1481 1481
 			// alerts
1482
-			if ( $aui_bs5 ) {
1482
+			if ($aui_bs5) {
1483 1483
 //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1484
-				$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;} ";
1484
+				$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;} ";
1485 1485
 			}
1486 1486
 
1487 1487
 			return $output;
@@ -1496,12 +1496,12 @@  discard block
 block discarded – undo
1496 1496
 		 *
1497 1497
 		 * @return string
1498 1498
 		 */
1499
-		public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1499
+		public static function css_overwrite($type, $color_code, $compatibility, $hex = '') {
1500 1500
             global $aui_bs5;
1501 1501
 
1502 1502
 			$is_var = false;
1503
-			if(!$color_code){return '';}
1504
-			if(strpos($color_code, 'var') !== false){
1503
+			if (!$color_code) {return ''; }
1504
+			if (strpos($color_code, 'var') !== false) {
1505 1505
 				//if(!sanitize_hex_color($color_code)){
1506 1506
 				$color_code = esc_attr($color_code);
1507 1507
 				$is_var = true;
@@ -1511,15 +1511,15 @@  discard block
 block discarded – undo
1511 1511
 
1512 1512
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1513 1513
 
1514
-			if(!$color_code){return '';}
1514
+			if (!$color_code) {return ''; }
1515 1515
 
1516 1516
             $rgb = self::hex_to_rgb($hex);
1517 1517
 
1518
-			if($compatibility===true || $compatibility===1){
1518
+			if ($compatibility === true || $compatibility === 1) {
1519 1519
 				$compatibility = '.bsui';
1520
-			}elseif(!$compatibility){
1520
+			}elseif (!$compatibility) {
1521 1521
 				$compatibility = '';
1522
-			}else{
1522
+			} else {
1523 1523
 				$compatibility = esc_attr($compatibility);
1524 1524
 			}
1525 1525
 
@@ -1533,29 +1533,29 @@  discard block
 block discarded – undo
1533 1533
 			 * c = color, b = background color, o = border-color, f = fill
1534 1534
 			 */
1535 1535
 			$selectors = array(
1536
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1537
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1538
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1539
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1540
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1541
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1542
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1543
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1544
-				".badge-{$type}"                                            => array( 'b' ),
1545
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1546
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1547
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1536
+				".btn-{$type}"                                              => array('b', 'o'),
1537
+				".btn-{$type}.disabled"                                     => array('b', 'o'),
1538
+				".btn-{$type}:disabled"                                     => array('b', 'o'),
1539
+				".btn-outline-{$type}"                                      => array('c', 'o'),
1540
+				".btn-outline-{$type}:hover"                                => array('b', 'o'),
1541
+				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array('b', 'o'),
1542
+				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array('b', 'o'),
1543
+				".show>.btn-outline-{$type}.dropdown-toggle"                => array('b', 'o'),
1544
+				".badge-{$type}"                                            => array('b'),
1545
+				".alert-{$type}"                                            => array('b', 'o'),
1546
+				".bg-{$type}"                                               => array('b', 'f'),
1547
+				".btn-link.btn-{$type}"                                     => array('c'),
1548 1548
 			);
1549 1549
 
1550
-			if ( $aui_bs5 ) {
1551
-                unset($selectors[".alert-{$type}" ]);
1550
+			if ($aui_bs5) {
1551
+                unset($selectors[".alert-{$type}"]);
1552 1552
 			}
1553 1553
 
1554
-			if ( $type == 'primary' ) {
1554
+			if ($type == 'primary') {
1555 1555
 				$selectors = $selectors + array(
1556
-						'a'                                                                                                    => array( 'c' ),
1557
-						'.btn-link'                                                                                            => array( 'c' ),
1558
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1556
+						'a'                                                                                                    => array('c'),
1557
+						'.btn-link'                                                                                            => array('c'),
1558
+						'.dropdown-item.active'                                                                                => array('b'),
1559 1559
 						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1560 1560
 							'b',
1561 1561
 							'o'
@@ -1564,19 +1564,19 @@  discard block
 block discarded – undo
1564 1564
 							'b',
1565 1565
 							'o'
1566 1566
 						),
1567
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1568
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1569
-						'.page-link'                                                                                           => array( 'c' ),
1567
+						'.nav-pills .nav-link.active'                                                                          => array('b'),
1568
+						'.nav-pills .show>.nav-link'                                                                           => array('b'),
1569
+						'.page-link'                                                                                           => array('c'),
1570 1570
 						'.page-item.active .page-link'                                                                         => array(
1571 1571
 							'b',
1572 1572
 							'o'
1573 1573
 						),
1574
-						'.progress-bar'                                                                                        => array( 'b' ),
1574
+						'.progress-bar'                                                                                        => array('b'),
1575 1575
 						'.list-group-item.active'                                                                              => array(
1576 1576
 							'b',
1577 1577
 							'o'
1578 1578
 						),
1579
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1579
+						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1580 1580
 //				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1581 1581
 //				    '.custom-range::-moz-range-thumb' => array('b'),
1582 1582
 //				    '.custom-range::-ms-thumb' => array('b'),
@@ -1584,7 +1584,7 @@  discard block
 block discarded – undo
1584 1584
 			}
1585 1585
 
1586 1586
 			$important_selectors = array(
1587
-				".bg-{$type}" => array('b','f'),
1587
+				".bg-{$type}" => array('b', 'f'),
1588 1588
 				".border-{$type}" => array('o'),
1589 1589
 				".text-{$type}" => array('c'),
1590 1590
 			);
@@ -1600,62 +1600,62 @@  discard block
 block discarded – undo
1600 1600
 
1601 1601
 			$output = '';
1602 1602
 
1603
-			if ( $aui_bs5 ) {
1603
+			if ($aui_bs5) {
1604 1604
 //				$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).'; }';
1605
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1605
+				$output .= 'html body {--bs-' . esc_attr($type) . '-rgb: ' . $rgb . '; }';
1606 1606
 			}
1607 1607
 
1608 1608
 			// build rules into each type
1609
-			foreach($selectors as $selector => $types){
1610
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1611
-				$types = array_combine($types,$types);
1612
-				if(isset($types['c'])){$color[] = $selector;}
1613
-				if(isset($types['b'])){$background[] = $selector;}
1614
-				if(isset($types['o'])){$border[] = $selector;}
1615
-				if(isset($types['f'])){$fill[] = $selector;}
1609
+			foreach ($selectors as $selector => $types) {
1610
+				$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1611
+				$types = array_combine($types, $types);
1612
+				if (isset($types['c'])) {$color[] = $selector; }
1613
+				if (isset($types['b'])) {$background[] = $selector; }
1614
+				if (isset($types['o'])) {$border[] = $selector; }
1615
+				if (isset($types['f'])) {$fill[] = $selector; }
1616 1616
 			}
1617 1617
 
1618 1618
 			// build rules into each type
1619
-			foreach($important_selectors as $selector => $types){
1620
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1621
-				$types = array_combine($types,$types);
1622
-				if(isset($types['c'])){$color_i[] = $selector;}
1623
-				if(isset($types['b'])){$background_i[] = $selector;}
1624
-				if(isset($types['o'])){$border_i[] = $selector;}
1625
-				if(isset($types['f'])){$fill_i[] = $selector;}
1619
+			foreach ($important_selectors as $selector => $types) {
1620
+				$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1621
+				$types = array_combine($types, $types);
1622
+				if (isset($types['c'])) {$color_i[] = $selector; }
1623
+				if (isset($types['b'])) {$background_i[] = $selector; }
1624
+				if (isset($types['o'])) {$border_i[] = $selector; }
1625
+				if (isset($types['f'])) {$fill_i[] = $selector; }
1626 1626
 			}
1627 1627
 
1628 1628
 			// add any color rules
1629
-			if(!empty($color)){
1630
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1629
+			if (!empty($color)) {
1630
+				$output .= implode(",", $color) . "{color: $color_code;} ";
1631 1631
 			}
1632
-			if(!empty($color_i)){
1633
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1632
+			if (!empty($color_i)) {
1633
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1634 1634
 			}
1635 1635
 
1636 1636
 			// add any background color rules
1637
-			if(!empty($background)){
1638
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1637
+			if (!empty($background)) {
1638
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
1639 1639
 			}
1640
-			if(!empty($background_i)){
1641
-				$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1640
+			if (!empty($background_i)) {
1641
+				$output .= $aui_bs5 ? '' : implode(",", $background_i) . "{background-color: $color_code !important;} ";
1642 1642
 //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1643 1643
 			}
1644 1644
 
1645 1645
 			// add any border color rules
1646
-			if(!empty($border)){
1647
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1646
+			if (!empty($border)) {
1647
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
1648 1648
 			}
1649
-			if(!empty($border_i)){
1650
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1649
+			if (!empty($border_i)) {
1650
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1651 1651
 			}
1652 1652
 
1653 1653
 			// add any fill color rules
1654
-			if(!empty($fill)){
1655
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1654
+			if (!empty($fill)) {
1655
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
1656 1656
 			}
1657
-			if(!empty($fill_i)){
1658
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1657
+			if (!empty($fill_i)) {
1658
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1659 1659
 			}
1660 1660
 
1661 1661
 
@@ -1663,27 +1663,27 @@  discard block
 block discarded – undo
1663 1663
 
1664 1664
 			$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;' : '';
1665 1665
 			// darken
1666
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1667
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1668
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1669
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1666
+			$darker_075 = $is_var ? $color_code . ';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code, "-0.075");
1667
+			$darker_10 = $is_var ? $color_code . ';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code, "-0.10");
1668
+			$darker_125 = $is_var ? $color_code . ';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code, "-0.125");
1669
+			$darker_40 = $is_var ? $color_code . ';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code, "-0.4");
1670 1670
 
1671 1671
 			// lighten
1672
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1672
+			$lighten_25 = $is_var ? $color_code . ';filter:brightness(1.25)' : self::css_hex_lighten_darken($color_code, "0.25");
1673 1673
 
1674 1674
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1675
-			$op_25 = $color_code."40"; // 25% opacity
1675
+			$op_25 = $color_code . "40"; // 25% opacity
1676 1676
 
1677 1677
 
1678 1678
 			// button states
1679
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1680
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1679
+			$output .= $is_var ? $prefix . " .btn-{$type}{{$transition }} " : '';
1680
+			$output .= $prefix . " .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1681 1681
 //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1682
-			$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;} ";
1683
-			$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.";} ";
1684
-			$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;} ";
1682
+			$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;} ";
1683
+			$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 . ";} ";
1684
+			$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;} ";
1685 1685
 
1686
-			if ( $type == 'primary' ) {
1686
+			if ($type == 'primary') {
1687 1687
 				// dropdown's
1688 1688
 				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1689 1689
 
@@ -1695,9 +1695,9 @@  discard block
 block discarded – undo
1695 1695
 			}
1696 1696
 
1697 1697
             // alerts
1698
-			if ( $aui_bs5 ) {
1698
+			if ($aui_bs5) {
1699 1699
 //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1700
-				$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;} ";
1700
+				$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;} ";
1701 1701
 			}
1702 1702
 
1703 1703
 			return $output;
@@ -1713,11 +1713,11 @@  discard block
 block discarded – undo
1713 1713
 		 *
1714 1714
 		 * @return string
1715 1715
 		 */
1716
-		public static function css_primary($color_code,$compatibility, $use_variable = false){
1716
+		public static function css_primary($color_code, $compatibility, $use_variable = false) {
1717 1717
 
1718
-			if(!$use_variable){
1718
+			if (!$use_variable) {
1719 1719
 				$color_code = sanitize_hex_color($color_code);
1720
-				if(!$color_code){return '';}
1720
+				if (!$color_code) {return ''; }
1721 1721
 			}
1722 1722
 
1723 1723
 			/**
@@ -1725,36 +1725,36 @@  discard block
 block discarded – undo
1725 1725
 			 */
1726 1726
 			$selectors = array(
1727 1727
 				'a' => array('c'),
1728
-				'.btn-primary' => array('b','o'),
1729
-				'.btn-primary.disabled' => array('b','o'),
1730
-				'.btn-primary:disabled' => array('b','o'),
1731
-				'.btn-outline-primary' => array('c','o'),
1732
-				'.btn-outline-primary:hover' => array('b','o'),
1733
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1734
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1735
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1728
+				'.btn-primary' => array('b', 'o'),
1729
+				'.btn-primary.disabled' => array('b', 'o'),
1730
+				'.btn-primary:disabled' => array('b', 'o'),
1731
+				'.btn-outline-primary' => array('c', 'o'),
1732
+				'.btn-outline-primary:hover' => array('b', 'o'),
1733
+				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b', 'o'),
1734
+				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b', 'o'),
1735
+				'.show>.btn-outline-primary.dropdown-toggle' => array('b', 'o'),
1736 1736
 				'.btn-link' => array('c'),
1737 1737
 				'.dropdown-item.active' => array('b'),
1738
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1739
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1738
+				'.custom-control-input:checked~.custom-control-label::before' => array('b', 'o'),
1739
+				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b', 'o'),
1740 1740
 //				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1741 1741
 //				'.custom-range::-moz-range-thumb' => array('b'),
1742 1742
 //				'.custom-range::-ms-thumb' => array('b'),
1743 1743
 				'.nav-pills .nav-link.active' => array('b'),
1744 1744
 				'.nav-pills .show>.nav-link' => array('b'),
1745 1745
 				'.page-link' => array('c'),
1746
-				'.page-item.active .page-link' => array('b','o'),
1746
+				'.page-item.active .page-link' => array('b', 'o'),
1747 1747
 				'.badge-primary' => array('b'),
1748
-				'.alert-primary' => array('b','o'),
1748
+				'.alert-primary' => array('b', 'o'),
1749 1749
 				'.progress-bar' => array('b'),
1750
-				'.list-group-item.active' => array('b','o'),
1751
-				'.bg-primary' => array('b','f'),
1750
+				'.list-group-item.active' => array('b', 'o'),
1751
+				'.bg-primary' => array('b', 'f'),
1752 1752
 				'.btn-link.btn-primary' => array('c'),
1753 1753
 				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1754 1754
 			);
1755 1755
 
1756 1756
 			$important_selectors = array(
1757
-				'.bg-primary' => array('b','f'),
1757
+				'.bg-primary' => array('b', 'f'),
1758 1758
 				'.border-primary' => array('o'),
1759 1759
 				'.text-primary' => array('c'),
1760 1760
 			);
@@ -1771,88 +1771,88 @@  discard block
 block discarded – undo
1771 1771
 			$output = '';
1772 1772
 
1773 1773
 			// build rules into each type
1774
-			foreach($selectors as $selector => $types){
1775
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1776
-				$types = array_combine($types,$types);
1777
-				if(isset($types['c'])){$color[] = $selector;}
1778
-				if(isset($types['b'])){$background[] = $selector;}
1779
-				if(isset($types['o'])){$border[] = $selector;}
1780
-				if(isset($types['f'])){$fill[] = $selector;}
1774
+			foreach ($selectors as $selector => $types) {
1775
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1776
+				$types = array_combine($types, $types);
1777
+				if (isset($types['c'])) {$color[] = $selector; }
1778
+				if (isset($types['b'])) {$background[] = $selector; }
1779
+				if (isset($types['o'])) {$border[] = $selector; }
1780
+				if (isset($types['f'])) {$fill[] = $selector; }
1781 1781
 			}
1782 1782
 
1783 1783
 			// build rules into each type
1784
-			foreach($important_selectors as $selector => $types){
1785
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1786
-				$types = array_combine($types,$types);
1787
-				if(isset($types['c'])){$color_i[] = $selector;}
1788
-				if(isset($types['b'])){$background_i[] = $selector;}
1789
-				if(isset($types['o'])){$border_i[] = $selector;}
1790
-				if(isset($types['f'])){$fill_i[] = $selector;}
1784
+			foreach ($important_selectors as $selector => $types) {
1785
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1786
+				$types = array_combine($types, $types);
1787
+				if (isset($types['c'])) {$color_i[] = $selector; }
1788
+				if (isset($types['b'])) {$background_i[] = $selector; }
1789
+				if (isset($types['o'])) {$border_i[] = $selector; }
1790
+				if (isset($types['f'])) {$fill_i[] = $selector; }
1791 1791
 			}
1792 1792
 
1793 1793
 			// add any color rules
1794
-			if(!empty($color)){
1795
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1794
+			if (!empty($color)) {
1795
+				$output .= implode(",", $color) . "{color: $color_code;} ";
1796 1796
 			}
1797
-			if(!empty($color_i)){
1798
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1797
+			if (!empty($color_i)) {
1798
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1799 1799
 			}
1800 1800
 
1801 1801
 			// add any background color rules
1802
-			if(!empty($background)){
1803
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1802
+			if (!empty($background)) {
1803
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
1804 1804
 			}
1805
-			if(!empty($background_i)){
1806
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1805
+			if (!empty($background_i)) {
1806
+				$output .= implode(",", $background_i) . "{background-color: $color_code !important;} ";
1807 1807
 			}
1808 1808
 
1809 1809
 			// add any border color rules
1810
-			if(!empty($border)){
1811
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1810
+			if (!empty($border)) {
1811
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
1812 1812
 			}
1813
-			if(!empty($border_i)){
1814
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1813
+			if (!empty($border_i)) {
1814
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1815 1815
 			}
1816 1816
 
1817 1817
 			// add any fill color rules
1818
-			if(!empty($fill)){
1819
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1818
+			if (!empty($fill)) {
1819
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
1820 1820
 			}
1821
-			if(!empty($fill_i)){
1822
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1821
+			if (!empty($fill_i)) {
1822
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1823 1823
 			}
1824 1824
 
1825 1825
 
1826 1826
 			$prefix = $compatibility ? ".bsui " : "";
1827 1827
 
1828 1828
 			// darken
1829
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1830
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1831
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1829
+			$darker_075 = self::css_hex_lighten_darken($color_code, "-0.075");
1830
+			$darker_10 = self::css_hex_lighten_darken($color_code, "-0.10");
1831
+			$darker_125 = self::css_hex_lighten_darken($color_code, "-0.125");
1832 1832
 
1833 1833
 			// lighten
1834
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1834
+			$lighten_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 .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1842
-			$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;} ";
1843
-			$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.";} ";
1844
-			$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;} ";
1841
+			$output .= $prefix . " .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1842
+			$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;} ";
1843
+			$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 . ";} ";
1844
+			$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;} ";
1845 1845
 
1846 1846
 
1847 1847
 			// dropdown's
1848
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1848
+			$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1849 1849
 
1850 1850
 
1851 1851
 			// input states
1852
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1852
+			$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1853 1853
 
1854 1854
 			// page link
1855
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1855
+			$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1856 1856
 
1857 1857
 			return $output;
1858 1858
 		}
@@ -1866,30 +1866,30 @@  discard block
 block discarded – undo
1866 1866
 		 *
1867 1867
 		 * @return string
1868 1868
 		 */
1869
-		public static function css_secondary($color_code,$compatibility){;
1869
+		public static function css_secondary($color_code, $compatibility) {;
1870 1870
 			$color_code = sanitize_hex_color($color_code);
1871
-			if(!$color_code){return '';}
1871
+			if (!$color_code) {return ''; }
1872 1872
 			/**
1873 1873
 			 * c = color, b = background color, o = border-color, f = fill
1874 1874
 			 */
1875 1875
 			$selectors = array(
1876
-				'.btn-secondary' => array('b','o'),
1877
-				'.btn-secondary.disabled' => array('b','o'),
1878
-				'.btn-secondary:disabled' => array('b','o'),
1879
-				'.btn-outline-secondary' => array('c','o'),
1880
-				'.btn-outline-secondary:hover' => array('b','o'),
1876
+				'.btn-secondary' => array('b', 'o'),
1877
+				'.btn-secondary.disabled' => array('b', 'o'),
1878
+				'.btn-secondary:disabled' => array('b', 'o'),
1879
+				'.btn-outline-secondary' => array('c', 'o'),
1880
+				'.btn-outline-secondary:hover' => array('b', 'o'),
1881 1881
 				'.btn-outline-secondary.disabled' => array('c'),
1882 1882
 				'.btn-outline-secondary:disabled' => array('c'),
1883
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
1884
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
1885
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
1883
+				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b', 'o'),
1884
+				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b', 'o'),
1885
+				'.btn-outline-secondary.dropdown-toggle' => array('b', 'o'),
1886 1886
 				'.badge-secondary' => array('b'),
1887
-				'.alert-secondary' => array('b','o'),
1887
+				'.alert-secondary' => array('b', 'o'),
1888 1888
 				'.btn-link.btn-secondary' => array('c'),
1889 1889
 			);
1890 1890
 
1891 1891
 			$important_selectors = array(
1892
-				'.bg-secondary' => array('b','f'),
1892
+				'.bg-secondary' => array('b', 'f'),
1893 1893
 				'.border-secondary' => array('o'),
1894 1894
 				'.text-secondary' => array('c'),
1895 1895
 			);
@@ -1906,77 +1906,77 @@  discard block
 block discarded – undo
1906 1906
 			$output = '';
1907 1907
 
1908 1908
 			// build rules into each type
1909
-			foreach($selectors as $selector => $types){
1910
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1911
-				$types = array_combine($types,$types);
1912
-				if(isset($types['c'])){$color[] = $selector;}
1913
-				if(isset($types['b'])){$background[] = $selector;}
1914
-				if(isset($types['o'])){$border[] = $selector;}
1915
-				if(isset($types['f'])){$fill[] = $selector;}
1909
+			foreach ($selectors as $selector => $types) {
1910
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1911
+				$types = array_combine($types, $types);
1912
+				if (isset($types['c'])) {$color[] = $selector; }
1913
+				if (isset($types['b'])) {$background[] = $selector; }
1914
+				if (isset($types['o'])) {$border[] = $selector; }
1915
+				if (isset($types['f'])) {$fill[] = $selector; }
1916 1916
 			}
1917 1917
 
1918 1918
 			// build rules into each type
1919
-			foreach($important_selectors as $selector => $types){
1920
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1921
-				$types = array_combine($types,$types);
1922
-				if(isset($types['c'])){$color_i[] = $selector;}
1923
-				if(isset($types['b'])){$background_i[] = $selector;}
1924
-				if(isset($types['o'])){$border_i[] = $selector;}
1925
-				if(isset($types['f'])){$fill_i[] = $selector;}
1919
+			foreach ($important_selectors as $selector => $types) {
1920
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1921
+				$types = array_combine($types, $types);
1922
+				if (isset($types['c'])) {$color_i[] = $selector; }
1923
+				if (isset($types['b'])) {$background_i[] = $selector; }
1924
+				if (isset($types['o'])) {$border_i[] = $selector; }
1925
+				if (isset($types['f'])) {$fill_i[] = $selector; }
1926 1926
 			}
1927 1927
 
1928 1928
 			// add any color rules
1929
-			if(!empty($color)){
1930
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1929
+			if (!empty($color)) {
1930
+				$output .= implode(",", $color) . "{color: $color_code;} ";
1931 1931
 			}
1932
-			if(!empty($color_i)){
1933
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1932
+			if (!empty($color_i)) {
1933
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1934 1934
 			}
1935 1935
 
1936 1936
 			// add any background color rules
1937
-			if(!empty($background)){
1938
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1937
+			if (!empty($background)) {
1938
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
1939 1939
 			}
1940
-			if(!empty($background_i)){
1941
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1940
+			if (!empty($background_i)) {
1941
+				$output .= implode(",", $background_i) . "{background-color: $color_code !important;} ";
1942 1942
 			}
1943 1943
 
1944 1944
 			// add any border color rules
1945
-			if(!empty($border)){
1946
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1945
+			if (!empty($border)) {
1946
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
1947 1947
 			}
1948
-			if(!empty($border_i)){
1949
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1948
+			if (!empty($border_i)) {
1949
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1950 1950
 			}
1951 1951
 
1952 1952
 			// add any fill color rules
1953
-			if(!empty($fill)){
1954
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1953
+			if (!empty($fill)) {
1954
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
1955 1955
 			}
1956
-			if(!empty($fill_i)){
1957
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1956
+			if (!empty($fill_i)) {
1957
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1958 1958
 			}
1959 1959
 
1960 1960
 
1961 1961
 			$prefix = $compatibility ? ".bsui " : "";
1962 1962
 
1963 1963
 			// darken
1964
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1965
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1966
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1964
+			$darker_075 = self::css_hex_lighten_darken($color_code, "-0.075");
1965
+			$darker_10 = self::css_hex_lighten_darken($color_code, "-0.10");
1966
+			$darker_125 = self::css_hex_lighten_darken($color_code, "-0.125");
1967 1967
 
1968 1968
 			// lighten
1969
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1969
+			$lighten_25 = self::css_hex_lighten_darken($color_code, "0.25");
1970 1970
 
1971 1971
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1972
-			$op_25 = $color_code."40"; // 25% opacity
1972
+			$op_25 = $color_code . "40"; // 25% opacity
1973 1973
 
1974 1974
 
1975 1975
 			// button states
1976
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1977
-			$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;} ";
1978
-			$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.";} ";
1979
-			$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;} ";
1976
+			$output .= $prefix . " .btn-secondary:hover{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1977
+			$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;} ";
1978
+			$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 . ";} ";
1979
+			$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;} ";
1980 1980
 
1981 1981
 
1982 1982
 			return $output;
@@ -2012,8 +2012,8 @@  discard block
 block discarded – undo
2012 2012
 		/**
2013 2013
 		 * Check if we should display examples.
2014 2014
 		 */
2015
-		public function maybe_show_examples(){
2016
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2015
+		public function maybe_show_examples() {
2016
+			if (current_user_can('manage_options') && isset($_REQUEST['preview-aui'])) {
2017 2017
 				echo "<head>";
2018 2018
 				wp_head();
2019 2019
 				echo "</head>";
@@ -2029,7 +2029,7 @@  discard block
 block discarded – undo
2029 2029
 		 *
2030 2030
 		 * @return string
2031 2031
 		 */
2032
-		public function get_examples(){
2032
+		public function get_examples() {
2033 2033
 			$output = '';
2034 2034
 
2035 2035
 
@@ -2135,74 +2135,74 @@  discard block
 block discarded – undo
2135 2135
 		 */
2136 2136
 		public static function calendar_params() {
2137 2137
 			$params = array(
2138
-				'month_long_1' => __( 'January', 'aui' ),
2139
-				'month_long_2' => __( 'February', 'aui' ),
2140
-				'month_long_3' => __( 'March', 'aui' ),
2141
-				'month_long_4' => __( 'April', 'aui' ),
2142
-				'month_long_5' => __( 'May', 'aui' ),
2143
-				'month_long_6' => __( 'June', 'aui' ),
2144
-				'month_long_7' => __( 'July', 'aui' ),
2145
-				'month_long_8' => __( 'August', 'aui' ),
2146
-				'month_long_9' => __( 'September', 'aui' ),
2147
-				'month_long_10' => __( 'October', 'aui' ),
2148
-				'month_long_11' => __( 'November', 'aui' ),
2149
-				'month_long_12' => __( 'December', 'aui' ),
2150
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'aui' ),
2151
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'aui' ),
2152
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'aui' ),
2153
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'aui' ),
2154
-				'month_s_5' => _x( 'May', 'May abbreviation', 'aui' ),
2155
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'aui' ),
2156
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'aui' ),
2157
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'aui' ),
2158
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'aui' ),
2159
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'aui' ),
2160
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'aui' ),
2161
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'aui' ),
2162
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'aui' ),
2163
-				'day_s1_2' => _x( 'M', 'Monday initial', 'aui' ),
2164
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'aui' ),
2165
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'aui' ),
2166
-				'day_s1_5' => _x( 'T', 'Friday initial', 'aui' ),
2167
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'aui' ),
2168
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'aui' ),
2169
-				'day_s2_1' => __( 'Su', 'aui' ),
2170
-				'day_s2_2' => __( 'Mo', 'aui' ),
2171
-				'day_s2_3' => __( 'Tu', 'aui' ),
2172
-				'day_s2_4' => __( 'We', 'aui' ),
2173
-				'day_s2_5' => __( 'Th', 'aui' ),
2174
-				'day_s2_6' => __( 'Fr', 'aui' ),
2175
-				'day_s2_7' => __( 'Sa', 'aui' ),
2176
-				'day_s3_1' => __( 'Sun', 'aui' ),
2177
-				'day_s3_2' => __( 'Mon', 'aui' ),
2178
-				'day_s3_3' => __( 'Tue', 'aui' ),
2179
-				'day_s3_4' => __( 'Wed', 'aui' ),
2180
-				'day_s3_5' => __( 'Thu', 'aui' ),
2181
-				'day_s3_6' => __( 'Fri', 'aui' ),
2182
-				'day_s3_7' => __( 'Sat', 'aui' ),
2183
-				'day_s5_1' => __( 'Sunday', 'aui' ),
2184
-				'day_s5_2' => __( 'Monday', 'aui' ),
2185
-				'day_s5_3' => __( 'Tuesday', 'aui' ),
2186
-				'day_s5_4' => __( 'Wednesday', 'aui' ),
2187
-				'day_s5_5' => __( 'Thursday', 'aui' ),
2188
-				'day_s5_6' => __( 'Friday', 'aui' ),
2189
-				'day_s5_7' => __( 'Saturday', 'aui' ),
2190
-				'am_lower' => __( 'am', 'aui' ),
2191
-				'pm_lower' => __( 'pm', 'aui' ),
2192
-				'am_upper' => __( 'AM', 'aui' ),
2193
-				'pm_upper' => __( 'PM', 'aui' ),
2194
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2138
+				'month_long_1' => __('January', 'aui'),
2139
+				'month_long_2' => __('February', 'aui'),
2140
+				'month_long_3' => __('March', 'aui'),
2141
+				'month_long_4' => __('April', 'aui'),
2142
+				'month_long_5' => __('May', 'aui'),
2143
+				'month_long_6' => __('June', 'aui'),
2144
+				'month_long_7' => __('July', 'aui'),
2145
+				'month_long_8' => __('August', 'aui'),
2146
+				'month_long_9' => __('September', 'aui'),
2147
+				'month_long_10' => __('October', 'aui'),
2148
+				'month_long_11' => __('November', 'aui'),
2149
+				'month_long_12' => __('December', 'aui'),
2150
+				'month_s_1' => _x('Jan', 'January abbreviation', 'aui'),
2151
+				'month_s_2' => _x('Feb', 'February abbreviation', 'aui'),
2152
+				'month_s_3' => _x('Mar', 'March abbreviation', 'aui'),
2153
+				'month_s_4' => _x('Apr', 'April abbreviation', 'aui'),
2154
+				'month_s_5' => _x('May', 'May abbreviation', 'aui'),
2155
+				'month_s_6' => _x('Jun', 'June abbreviation', 'aui'),
2156
+				'month_s_7' => _x('Jul', 'July abbreviation', 'aui'),
2157
+				'month_s_8' => _x('Aug', 'August abbreviation', 'aui'),
2158
+				'month_s_9' => _x('Sep', 'September abbreviation', 'aui'),
2159
+				'month_s_10' => _x('Oct', 'October abbreviation', 'aui'),
2160
+				'month_s_11' => _x('Nov', 'November abbreviation', 'aui'),
2161
+				'month_s_12' => _x('Dec', 'December abbreviation', 'aui'),
2162
+				'day_s1_1' => _x('S', 'Sunday initial', 'aui'),
2163
+				'day_s1_2' => _x('M', 'Monday initial', 'aui'),
2164
+				'day_s1_3' => _x('T', 'Tuesday initial', 'aui'),
2165
+				'day_s1_4' => _x('W', 'Wednesday initial', 'aui'),
2166
+				'day_s1_5' => _x('T', 'Friday initial', 'aui'),
2167
+				'day_s1_6' => _x('F', 'Thursday initial', 'aui'),
2168
+				'day_s1_7' => _x('S', 'Saturday initial', 'aui'),
2169
+				'day_s2_1' => __('Su', 'aui'),
2170
+				'day_s2_2' => __('Mo', 'aui'),
2171
+				'day_s2_3' => __('Tu', 'aui'),
2172
+				'day_s2_4' => __('We', 'aui'),
2173
+				'day_s2_5' => __('Th', 'aui'),
2174
+				'day_s2_6' => __('Fr', 'aui'),
2175
+				'day_s2_7' => __('Sa', 'aui'),
2176
+				'day_s3_1' => __('Sun', 'aui'),
2177
+				'day_s3_2' => __('Mon', 'aui'),
2178
+				'day_s3_3' => __('Tue', 'aui'),
2179
+				'day_s3_4' => __('Wed', 'aui'),
2180
+				'day_s3_5' => __('Thu', 'aui'),
2181
+				'day_s3_6' => __('Fri', 'aui'),
2182
+				'day_s3_7' => __('Sat', 'aui'),
2183
+				'day_s5_1' => __('Sunday', 'aui'),
2184
+				'day_s5_2' => __('Monday', 'aui'),
2185
+				'day_s5_3' => __('Tuesday', 'aui'),
2186
+				'day_s5_4' => __('Wednesday', 'aui'),
2187
+				'day_s5_5' => __('Thursday', 'aui'),
2188
+				'day_s5_6' => __('Friday', 'aui'),
2189
+				'day_s5_7' => __('Saturday', 'aui'),
2190
+				'am_lower' => __('am', 'aui'),
2191
+				'pm_lower' => __('pm', 'aui'),
2192
+				'am_upper' => __('AM', 'aui'),
2193
+				'pm_upper' => __('PM', 'aui'),
2194
+				'firstDayOfWeek' => (int) get_option('start_of_week'),
2195 2195
 				'time_24hr' => false,
2196
-				'year' => __( 'Year', 'aui' ),
2197
-				'hour' => __( 'Hour', 'aui' ),
2198
-				'minute' => __( 'Minute', 'aui' ),
2199
-				'weekAbbreviation' => __( 'Wk', 'aui' ),
2200
-				'rangeSeparator' => __( ' to ', 'aui' ),
2201
-				'scrollTitle' => __( 'Scroll to increment', 'aui' ),
2202
-				'toggleTitle' => __( 'Click to toggle', 'aui' )
2196
+				'year' => __('Year', 'aui'),
2197
+				'hour' => __('Hour', 'aui'),
2198
+				'minute' => __('Minute', 'aui'),
2199
+				'weekAbbreviation' => __('Wk', 'aui'),
2200
+				'rangeSeparator' => __(' to ', 'aui'),
2201
+				'scrollTitle' => __('Scroll to increment', 'aui'),
2202
+				'toggleTitle' => __('Click to toggle', 'aui')
2203 2203
 			);
2204 2204
 
2205
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
2205
+			return apply_filters('ayecode_ui_calendar_params', $params);
2206 2206
 		}
2207 2207
 
2208 2208
 		/**
@@ -2215,47 +2215,47 @@  discard block
 block discarded – undo
2215 2215
 		public static function flatpickr_locale() {
2216 2216
 			$params = self::calendar_params();
2217 2217
 
2218
-			if ( is_string( $params ) ) {
2219
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2218
+			if (is_string($params)) {
2219
+				$params = html_entity_decode($params, ENT_QUOTES, 'UTF-8');
2220 2220
 			} else {
2221
-				foreach ( (array) $params as $key => $value ) {
2222
-					if ( ! is_scalar( $value ) ) {
2221
+				foreach ((array) $params as $key => $value) {
2222
+					if (!is_scalar($value)) {
2223 2223
 						continue;
2224 2224
 					}
2225 2225
 
2226
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2226
+					$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2227 2227
 				}
2228 2228
 			}
2229 2229
 
2230 2230
 			$day_s3 = array();
2231 2231
 			$day_s5 = array();
2232 2232
 
2233
-			for ( $i = 1; $i <= 7; $i ++ ) {
2234
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] );
2235
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] );
2233
+			for ($i = 1; $i <= 7; $i++) {
2234
+				$day_s3[] = addslashes($params['day_s3_' . $i]);
2235
+				$day_s5[] = addslashes($params['day_s3_' . $i]);
2236 2236
 			}
2237 2237
 
2238 2238
 			$month_s = array();
2239 2239
 			$month_long = array();
2240 2240
 
2241
-			for ( $i = 1; $i <= 12; $i ++ ) {
2242
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] );
2243
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] );
2241
+			for ($i = 1; $i <= 12; $i++) {
2242
+				$month_s[] = addslashes($params['month_s_' . $i]);
2243
+				$month_long[] = addslashes($params['month_long_' . $i]);
2244 2244
 			}
2245 2245
 
2246 2246
 			ob_start();
2247
-		if ( 0 ) { ?><script><?php } ?>
2247
+		if (0) { ?><script><?php } ?>
2248 2248
                 {
2249 2249
                     weekdays: {
2250
-                        shorthand: ['<?php echo implode( "','", $day_s3 ); ?>'],
2251
-                            longhand: ['<?php echo implode( "','", $day_s5 ); ?>'],
2250
+                        shorthand: ['<?php echo implode("','", $day_s3); ?>'],
2251
+                            longhand: ['<?php echo implode("','", $day_s5); ?>'],
2252 2252
                     },
2253 2253
                     months: {
2254
-                        shorthand: ['<?php echo implode( "','", $month_s ); ?>'],
2255
-                            longhand: ['<?php echo implode( "','", $month_long ); ?>'],
2254
+                        shorthand: ['<?php echo implode("','", $month_s); ?>'],
2255
+                            longhand: ['<?php echo implode("','", $month_long); ?>'],
2256 2256
                     },
2257 2257
                     daysInMonth: [31,28,31,30,31,30,31,31,30,31,30,31],
2258
-                        firstDayOfWeek: <?php echo (int) $params[ 'firstDayOfWeek' ]; ?>,
2258
+                        firstDayOfWeek: <?php echo (int) $params['firstDayOfWeek']; ?>,
2259 2259
                     ordinal: function (nth) {
2260 2260
                         var s = nth % 100;
2261 2261
                         if (s > 3 && s < 21)
@@ -2271,21 +2271,21 @@  discard block
 block discarded – undo
2271 2271
                                 return "th";
2272 2272
                         }
2273 2273
                     },
2274
-                    rangeSeparator: '<?php echo addslashes( $params[ 'rangeSeparator' ] ); ?>',
2275
-                        weekAbbreviation: '<?php echo addslashes( $params[ 'weekAbbreviation' ] ); ?>',
2276
-                    scrollTitle: '<?php echo addslashes( $params[ 'scrollTitle' ] ); ?>',
2277
-                    toggleTitle: '<?php echo addslashes( $params[ 'toggleTitle' ] ); ?>',
2278
-                    amPM: ['<?php echo addslashes( $params[ 'am_upper' ] ); ?>','<?php echo addslashes( $params[ 'pm_upper' ] ); ?>'],
2279
-                    yearAriaLabel: '<?php echo addslashes( $params[ 'year' ] ); ?>',
2280
-                    hourAriaLabel: '<?php echo addslashes( $params[ 'hour' ] ); ?>',
2281
-                    minuteAriaLabel: '<?php echo addslashes( $params[ 'minute' ] ); ?>',
2282
-                    time_24hr: <?php echo ( $params[ 'time_24hr' ] ? 'true' : 'false' ) ; ?>
2274
+                    rangeSeparator: '<?php echo addslashes($params['rangeSeparator']); ?>',
2275
+                        weekAbbreviation: '<?php echo addslashes($params['weekAbbreviation']); ?>',
2276
+                    scrollTitle: '<?php echo addslashes($params['scrollTitle']); ?>',
2277
+                    toggleTitle: '<?php echo addslashes($params['toggleTitle']); ?>',
2278
+                    amPM: ['<?php echo addslashes($params['am_upper']); ?>','<?php echo addslashes($params['pm_upper']); ?>'],
2279
+                    yearAriaLabel: '<?php echo addslashes($params['year']); ?>',
2280
+                    hourAriaLabel: '<?php echo addslashes($params['hour']); ?>',
2281
+                    minuteAriaLabel: '<?php echo addslashes($params['minute']); ?>',
2282
+                    time_24hr: <?php echo ($params['time_24hr'] ? 'true' : 'false'); ?>
2283 2283
                 }
2284
-				<?php if ( 0 ) { ?></script><?php } ?>
2284
+				<?php if (0) { ?></script><?php } ?>
2285 2285
 			<?php
2286 2286
 			$locale = ob_get_clean();
2287 2287
 
2288
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2288
+			return apply_filters('ayecode_ui_flatpickr_locale', trim($locale));
2289 2289
 		}
2290 2290
 
2291 2291
 		/**
@@ -2297,20 +2297,20 @@  discard block
 block discarded – undo
2297 2297
 		 */
2298 2298
 		public static function select2_params() {
2299 2299
 			$params = array(
2300
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'aui' ),
2301
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'aui' ),
2302
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'aui' ),
2303
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'aui' ),
2304
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'aui' ),
2305
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'aui' ),
2306
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'aui' ),
2307
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'aui' ),
2308
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'aui' ),
2309
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'aui' ),
2310
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'aui' )
2300
+				'i18n_select_state_text'    => esc_attr__('Select an option&hellip;', 'aui'),
2301
+				'i18n_no_matches'           => _x('No matches found', 'enhanced select', 'aui'),
2302
+				'i18n_ajax_error'           => _x('Loading failed', 'enhanced select', 'aui'),
2303
+				'i18n_input_too_short_1'    => _x('Please enter 1 or more characters', 'enhanced select', 'aui'),
2304
+				'i18n_input_too_short_n'    => _x('Please enter %item% or more characters', 'enhanced select', 'aui'),
2305
+				'i18n_input_too_long_1'     => _x('Please delete 1 character', 'enhanced select', 'aui'),
2306
+				'i18n_input_too_long_n'     => _x('Please delete %item% characters', 'enhanced select', 'aui'),
2307
+				'i18n_selection_too_long_1' => _x('You can only select 1 item', 'enhanced select', 'aui'),
2308
+				'i18n_selection_too_long_n' => _x('You can only select %item% items', 'enhanced select', 'aui'),
2309
+				'i18n_load_more'            => _x('Loading more results&hellip;', 'enhanced select', 'aui'),
2310
+				'i18n_searching'            => _x('Searching&hellip;', 'enhanced select', 'aui')
2311 2311
 			);
2312 2312
 
2313
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2313
+			return apply_filters('ayecode_ui_select2_params', $params);
2314 2314
 		}
2315 2315
 
2316 2316
 		/**
@@ -2323,17 +2323,17 @@  discard block
 block discarded – undo
2323 2323
 		public static function select2_locale() {
2324 2324
 			$params = self::select2_params();
2325 2325
 
2326
-			foreach ( (array) $params as $key => $value ) {
2327
-				if ( ! is_scalar( $value ) ) {
2326
+			foreach ((array) $params as $key => $value) {
2327
+				if (!is_scalar($value)) {
2328 2328
 					continue;
2329 2329
 				}
2330 2330
 
2331
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2331
+				$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2332 2332
 			}
2333 2333
 
2334
-			$locale = json_encode( $params );
2334
+			$locale = json_encode($params);
2335 2335
 
2336
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2336
+			return apply_filters('ayecode_ui_select2_locale', trim($locale));
2337 2337
 		}
2338 2338
 
2339 2339
 		/**
@@ -2346,35 +2346,35 @@  discard block
 block discarded – undo
2346 2346
 		public static function timeago_locale() {
2347 2347
 			$params = array(
2348 2348
 				'prefix_ago' => '',
2349
-				'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'aui' ),
2350
-				'prefix_after' => _x( 'after', 'time ago', 'aui' ) . ' ',
2349
+				'suffix_ago' => ' ' . _x('ago', 'time ago', 'aui'),
2350
+				'prefix_after' => _x('after', 'time ago', 'aui') . ' ',
2351 2351
 				'suffix_after' => '',
2352
-				'seconds' => _x( 'less than a minute', 'time ago', 'aui' ),
2353
-				'minute' => _x( 'about a minute', 'time ago', 'aui' ),
2354
-				'minutes' => _x( '%d minutes', 'time ago', 'aui' ),
2355
-				'hour' => _x( 'about an hour', 'time ago', 'aui' ),
2356
-				'hours' => _x( 'about %d hours', 'time ago', 'aui' ),
2357
-				'day' => _x( 'a day', 'time ago', 'aui' ),
2358
-				'days' => _x( '%d days', 'time ago', 'aui' ),
2359
-				'month' => _x( 'about a month', 'time ago', 'aui' ),
2360
-				'months' => _x( '%d months', 'time ago', 'aui' ),
2361
-				'year' => _x( 'about a year', 'time ago', 'aui' ),
2362
-				'years' => _x( '%d years', 'time ago', 'aui' ),
2352
+				'seconds' => _x('less than a minute', 'time ago', 'aui'),
2353
+				'minute' => _x('about a minute', 'time ago', 'aui'),
2354
+				'minutes' => _x('%d minutes', 'time ago', 'aui'),
2355
+				'hour' => _x('about an hour', 'time ago', 'aui'),
2356
+				'hours' => _x('about %d hours', 'time ago', 'aui'),
2357
+				'day' => _x('a day', 'time ago', 'aui'),
2358
+				'days' => _x('%d days', 'time ago', 'aui'),
2359
+				'month' => _x('about a month', 'time ago', 'aui'),
2360
+				'months' => _x('%d months', 'time ago', 'aui'),
2361
+				'year' => _x('about a year', 'time ago', 'aui'),
2362
+				'years' => _x('%d years', 'time ago', 'aui'),
2363 2363
 			);
2364 2364
 
2365
-			$params = apply_filters( 'ayecode_ui_timeago_params', $params );
2365
+			$params = apply_filters('ayecode_ui_timeago_params', $params);
2366 2366
 
2367
-			foreach ( (array) $params as $key => $value ) {
2368
-				if ( ! is_scalar( $value ) ) {
2367
+			foreach ((array) $params as $key => $value) {
2368
+				if (!is_scalar($value)) {
2369 2369
 					continue;
2370 2370
 				}
2371 2371
 
2372
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2372
+				$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2373 2373
 			}
2374 2374
 
2375
-			$locale = json_encode( $params );
2375
+			$locale = json_encode($params);
2376 2376
 
2377
-			return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2377
+			return apply_filters('ayecode_ui_timeago_locale', trim($locale));
2378 2378
 		}
2379 2379
 
2380 2380
 		/**
@@ -2385,7 +2385,7 @@  discard block
 block discarded – undo
2385 2385
 		 * @return mixed
2386 2386
 		 */
2387 2387
 		public static function minify_js($input) {
2388
-			if(trim($input) === "") return $input;
2388
+			if (trim($input) === "") return $input;
2389 2389
 			return preg_replace(
2390 2390
 				array(
2391 2391
 					// Remove comment(s)
@@ -2417,7 +2417,7 @@  discard block
 block discarded – undo
2417 2417
 		 * @return mixed
2418 2418
 		 */
2419 2419
 		public static function minify_css($input) {
2420
-			if(trim($input) === "") return $input;
2420
+			if (trim($input) === "") return $input;
2421 2421
 			return preg_replace(
2422 2422
 				array(
2423 2423
 					// Remove comment(s)
@@ -2967,12 +2967,12 @@  discard block
 block discarded – undo
2967 2967
                         });
2968 2968
                     }
2969 2969
                 }
2970
-				<?php do_action( 'aui_conditional_fields_js', $this ); ?>
2970
+				<?php do_action('aui_conditional_fields_js', $this); ?>
2971 2971
             </script>
2972 2972
 			<?php
2973 2973
 			$output = ob_get_clean();
2974 2974
 
2975
-			return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
2975
+			return str_replace(array('<script>', '</script>'), '', self::minify_js($output));
2976 2976
 		}
2977 2977
 	}
2978 2978
 
Please login to merge, or discard this patch.
Braces   +16 added lines, -12 removed lines patch added patch discarded remove patch
@@ -462,7 +462,7 @@  discard block
 block discarded – undo
462 462
 
463 463
 			if( is_admin() && !$this->is_aui_screen()){
464 464
 				// don't add wp-admin scripts if not requested to
465
-			}else{
465
+			} else{
466 466
 				$css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
467 467
 
468 468
 				$rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
@@ -552,7 +552,7 @@  discard block
 block discarded – undo
552 552
 					// custom changes
553 553
 					if ( $load_fse ) {
554 554
 						wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility) );
555
-					}else{
555
+					} else{
556 556
 						wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
557 557
 
558 558
 					}
@@ -576,7 +576,7 @@  discard block
 block discarded – undo
576 576
 			ob_start();
577 577
 			if ( $aui_bs5 ) {
578 578
 				include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
579
-			}else{
579
+			} else{
580 580
 				include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
581 581
             }
582 582
 
@@ -647,7 +647,7 @@  discard block
 block discarded – undo
647 647
 
648 648
 			if( is_admin() && !$this->is_aui_screen()){
649 649
 				// don't add wp-admin scripts if not requested to
650
-			}else {
650
+			} else {
651 651
 
652 652
 				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
653 653
 
@@ -662,7 +662,7 @@  discard block
 block discarded – undo
662 662
 				// iconpicker
663 663
 				if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
664 664
 					wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
665
-				}else{
665
+				} else{
666 666
 					wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
667 667
 				}
668 668
 
@@ -1094,7 +1094,7 @@  discard block
 block discarded – undo
1094 1094
 						$colors[$color['slug']] = esc_attr($color['color']);
1095 1095
 					}
1096 1096
 				}
1097
-			}else{
1097
+			} else{
1098 1098
 				$settings = get_option('aui_options');
1099 1099
 				$colors = array(
1100 1100
 					'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
@@ -1232,9 +1232,9 @@  discard block
 block discarded – undo
1232 1232
 
1233 1233
 			if($compatibility===true || $compatibility===1){
1234 1234
 				$compatibility = '.bsui';
1235
-			}elseif(!$compatibility){
1235
+			} elseif(!$compatibility){
1236 1236
 				$compatibility = '';
1237
-			}else{
1237
+			} else{
1238 1238
 				$compatibility = esc_attr($compatibility);
1239 1239
 			}
1240 1240
 
@@ -1517,9 +1517,9 @@  discard block
 block discarded – undo
1517 1517
 
1518 1518
 			if($compatibility===true || $compatibility===1){
1519 1519
 				$compatibility = '.bsui';
1520
-			}elseif(!$compatibility){
1520
+			} elseif(!$compatibility){
1521 1521
 				$compatibility = '';
1522
-			}else{
1522
+			} else{
1523 1523
 				$compatibility = esc_attr($compatibility);
1524 1524
 			}
1525 1525
 
@@ -2385,7 +2385,9 @@  discard block
 block discarded – undo
2385 2385
 		 * @return mixed
2386 2386
 		 */
2387 2387
 		public static function minify_js($input) {
2388
-			if(trim($input) === "") return $input;
2388
+			if(trim($input) === "") {
2389
+			    return $input;
2390
+			}
2389 2391
 			return preg_replace(
2390 2392
 				array(
2391 2393
 					// Remove comment(s)
@@ -2417,7 +2419,9 @@  discard block
 block discarded – undo
2417 2419
 		 * @return mixed
2418 2420
 		 */
2419 2421
 		public static function minify_css($input) {
2420
-			if(trim($input) === "") return $input;
2422
+			if(trim($input) === "") {
2423
+			    return $input;
2424
+			}
2421 2425
 			return preg_replace(
2422 2426
 				array(
2423 2427
 					// Remove comment(s)
Please login to merge, or discard this patch.
Indentation   +1921 added lines, -1921 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,480 +21,480 @@  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.1';
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.1';
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
+                }
119 119
 
120
-				add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
120
+                add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
121 121
 
122
-				do_action( 'ayecode_ui_settings_loaded' );
123
-			}
122
+                do_action( 'ayecode_ui_settings_loaded' );
123
+            }
124 124
 
125
-			return self::$instance;
126
-		}
125
+            return self::$instance;
126
+        }
127 127
 
128
-		/**
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 ){
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 138
 
139 139
 
140
-			$setting = wp_get_global_settings();
140
+            $setting = wp_get_global_settings();
141 141
 
142
-			if(!empty($setting['color']['palette']['custom'])){
143
-				foreach($setting['color']['palette']['custom'] as $color){
144
-					$theme_colors[$color['slug']] = esc_attr($color['name']);
145
-				}
146
-			}
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() {
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>'.$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>'.$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';
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 467
 
468
-				$rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
468
+                $rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
469 469
 
470 470
                 $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
471 471
 
472
-				if($this->settings[$css_setting]){
473
-					$compatibility = $this->settings[$css_setting]=='core' ? false : true;
474
-					$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';
472
+                if($this->settings[$css_setting]){
473
+                    $compatibility = $this->settings[$css_setting]=='core' ? false : true;
474
+                    $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';
475 475
 
476 476
 
477 477
 
478
-					wp_register_style( 'ayecode-ui', $url, array(), $this->version );
479
-					wp_enqueue_style( 'ayecode-ui' );
478
+                    wp_register_style( 'ayecode-ui', $url, array(), $this->version );
479
+                    wp_enqueue_style( 'ayecode-ui' );
480 480
 
481
-					$current_screen = function_exists('get_current_screen' ) ? get_current_screen() : '';
481
+                    $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : '';
482 482
 
483 483
 //					if ( is_admin() && !empty($_REQUEST['postType']) ) {
484
-					if ( is_admin() && ( !empty($_REQUEST['postType']) || $current_screen->is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
485
-						$url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
486
-						wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
487
-						wp_enqueue_style( 'ayecode-ui-fse' );
488
-						$load_fse = true;
489
-					}
484
+                    if ( is_admin() && ( !empty($_REQUEST['postType']) || $current_screen->is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
485
+                        $url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
486
+                        wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
487
+                        wp_enqueue_style( 'ayecode-ui-fse' );
488
+                        $load_fse = true;
489
+                    }
490 490
 
491 491
 
492
-					// flatpickr
493
-					wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
492
+                    // flatpickr
493
+                    wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
494 494
 
495
-					// fix some wp-admin issues
496
-					if(is_admin()){
497
-						$custom_css = "
495
+                    // fix some wp-admin issues
496
+                    if(is_admin()){
497
+                        $custom_css = "
498 498
                 body{
499 499
                     background-color: #f1f1f1;
500 500
                     font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;
@@ -540,67 +540,67 @@  discard block
 block discarded – undo
540 540
 				}
541 541
                 ";
542 542
 
543
-						// @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
544
-						$custom_css .= "
543
+                        // @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
544
+                        $custom_css .= "
545 545
 						.edit-post-sidebar input[type=color].components-text-control__input{
546 546
 						    padding: 0;
547 547
 						}
548 548
 					";
549
-						wp_add_inline_style( 'ayecode-ui', $custom_css );
550
-					}
549
+                        wp_add_inline_style( 'ayecode-ui', $custom_css );
550
+                    }
551 551
 
552
-					// custom changes
553
-					if ( $load_fse ) {
554
-						wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility) );
555
-					}else{
556
-						wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
552
+                    // custom changes
553
+                    if ( $load_fse ) {
554
+                        wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility) );
555
+                    }else{
556
+                        wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
557 557
 
558
-					}
558
+                    }
559 559
 
560
-				}
561
-			}
560
+                }
561
+            }
562 562
 
563 563
 
564
-		}
564
+        }
565 565
 
566
-		/**
567
-		 * Get inline script used if bootstrap enqueued
568
-		 *
569
-		 * If this remains small then its best to use this than to add another JS file.
570
-		 */
571
-		public function inline_script() {
566
+        /**
567
+         * Get inline script used if bootstrap enqueued
568
+         *
569
+         * If this remains small then its best to use this than to add another JS file.
570
+         */
571
+        public function inline_script() {
572 572
             global $aui_bs5;
573
-			// Flatpickr calendar locale
574
-			$flatpickr_locale = self::flatpickr_locale();
575
-
576
-			ob_start();
577
-			if ( $aui_bs5 ) {
578
-				include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
579
-			}else{
580
-				include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
573
+            // Flatpickr calendar locale
574
+            $flatpickr_locale = self::flatpickr_locale();
575
+
576
+            ob_start();
577
+            if ( $aui_bs5 ) {
578
+                include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
579
+            }else{
580
+                include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
581 581
             }
582 582
 
583
-			$output = ob_get_clean();
583
+            $output = ob_get_clean();
584 584
 
585
-			/*
585
+            /*
586 586
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
587 587
 			 */
588
-			return str_replace( array(
589
-				'<script>',
590
-				'</script>'
591
-			), '', self::minify_js($output) );
592
-		}
593
-
594
-
595
-		/**
596
-		 * JS to help with conflict issues with other plugins and themes using bootstrap v3.
597
-		 *
598
-		 * @TODO we may need this when other conflicts arrise.
599
-		 * @return mixed
600
-		 */
601
-		public static function bs3_compat_js() {
602
-			ob_start();
603
-			?>
588
+            return str_replace( array(
589
+                '<script>',
590
+                '</script>'
591
+            ), '', self::minify_js($output) );
592
+        }
593
+
594
+
595
+        /**
596
+         * JS to help with conflict issues with other plugins and themes using bootstrap v3.
597
+         *
598
+         * @TODO we may need this when other conflicts arrise.
599
+         * @return mixed
600
+         */
601
+        public static function bs3_compat_js() {
602
+            ob_start();
603
+            ?>
604 604
             <script>
605 605
 				<?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
606 606
                 /* With Avada builder */
@@ -608,20 +608,20 @@  discard block
 block discarded – undo
608 608
 				<?php } ?>
609 609
             </script>
610 610
 			<?php
611
-			return str_replace( array(
612
-				'<script>',
613
-				'</script>'
614
-			), '', ob_get_clean());
615
-		}
616
-
617
-		/**
618
-		 * Get inline script used if bootstrap file browser enqueued.
619
-		 *
620
-		 * If this remains small then its best to use this than to add another JS file.
621
-		 */
622
-		public function inline_script_file_browser(){
623
-			ob_start();
624
-			?>
611
+            return str_replace( array(
612
+                '<script>',
613
+                '</script>'
614
+            ), '', ob_get_clean());
615
+        }
616
+
617
+        /**
618
+         * Get inline script used if bootstrap file browser enqueued.
619
+         *
620
+         * If this remains small then its best to use this than to add another JS file.
621
+         */
622
+        public function inline_script_file_browser(){
623
+            ob_start();
624
+            ?>
625 625
             <script>
626 626
                 // run on doc ready
627 627
                 jQuery(document).ready(function () {
@@ -629,247 +629,247 @@  discard block
 block discarded – undo
629 629
                 });
630 630
             </script>
631 631
 			<?php
632
-			$output = ob_get_clean();
632
+            $output = ob_get_clean();
633 633
 
634
-			/*
634
+            /*
635 635
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
636 636
 			 */
637
-			return str_replace( array(
638
-				'<script>',
639
-				'</script>'
640
-			), '', $output );
641
-		}
637
+            return str_replace( array(
638
+                '<script>',
639
+                '</script>'
640
+            ), '', $output );
641
+        }
642 642
 
643
-		/**
644
-		 * Adds the Font Awesome JS.
645
-		 */
646
-		public function enqueue_scripts() {
643
+        /**
644
+         * Adds the Font Awesome JS.
645
+         */
646
+        public function enqueue_scripts() {
647 647
 
648
-			if( is_admin() && !$this->is_aui_screen()){
649
-				// don't add wp-admin scripts if not requested to
650
-			}else {
648
+            if( is_admin() && !$this->is_aui_screen()){
649
+                // don't add wp-admin scripts if not requested to
650
+            }else {
651 651
 
652
-				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
652
+                $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
653 653
 
654
-				$bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
654
+                $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
655 655
 
656
-				// select2
657
-				wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
656
+                // select2
657
+                wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
658 658
 
659
-				// flatpickr
660
-				wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
659
+                // flatpickr
660
+                wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
661 661
 
662
-				// iconpicker
663
-				if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
664
-					wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
665
-				}else{
666
-					wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
667
-				}
662
+                // iconpicker
663
+                if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
664
+                    wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
665
+                }else{
666
+                    wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
667
+                }
668 668
 
669
-				// Bootstrap file browser
670
-				wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
671
-				wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
672
-
673
-				$load_inline = false;
674
-
675
-				if ( $this->settings[ $js_setting ] == 'core-popper' ) {
676
-					// Bootstrap bundle
677
-					$url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
678
-					wp_register_script( 'bootstrap-js-bundle', $url, array(
679
-						'select2',
680
-						'jquery'
681
-					), $this->version, $this->is_bs3_compat() );
682
-					// if in admin then add to footer for compatibility.
683
-					is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
684
-					$script = $this->inline_script();
685
-					wp_add_inline_script( 'bootstrap-js-bundle', $script );
686
-				} elseif ( $this->settings[ $js_setting ] == 'popper' ) {
687
-					$url = $this->url . 'assets/js/popper.min.js'; //@todo we need to update this to bs5
688
-					wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->version );
689
-					wp_enqueue_script( 'bootstrap-js-popper' );
690
-					$load_inline = true;
691
-				} else {
692
-					$load_inline = true;
693
-				}
669
+                // Bootstrap file browser
670
+                wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
671
+                wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
672
+
673
+                $load_inline = false;
674
+
675
+                if ( $this->settings[ $js_setting ] == 'core-popper' ) {
676
+                    // Bootstrap bundle
677
+                    $url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
678
+                    wp_register_script( 'bootstrap-js-bundle', $url, array(
679
+                        'select2',
680
+                        'jquery'
681
+                    ), $this->version, $this->is_bs3_compat() );
682
+                    // if in admin then add to footer for compatibility.
683
+                    is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
684
+                    $script = $this->inline_script();
685
+                    wp_add_inline_script( 'bootstrap-js-bundle', $script );
686
+                } elseif ( $this->settings[ $js_setting ] == 'popper' ) {
687
+                    $url = $this->url . 'assets/js/popper.min.js'; //@todo we need to update this to bs5
688
+                    wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->version );
689
+                    wp_enqueue_script( 'bootstrap-js-popper' );
690
+                    $load_inline = true;
691
+                } else {
692
+                    $load_inline = true;
693
+                }
694 694
 
695
-				// Load needed inline scripts by faking the loading of a script if the main script is not being loaded
696
-				if ( $load_inline ) {
697
-					wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) );
698
-					wp_enqueue_script( 'bootstrap-dummy' );
699
-					$script = $this->inline_script();
700
-					wp_add_inline_script( 'bootstrap-dummy', $script );
701
-				}
702
-			}
703
-
704
-		}
705
-
706
-		/**
707
-		 * Enqueue flatpickr if called.
708
-		 */
709
-		public function enqueue_flatpickr(){
710
-			wp_enqueue_style( 'flatpickr' );
711
-			wp_enqueue_script( 'flatpickr' );
712
-		}
713
-
714
-		/**
715
-		 * Enqueue iconpicker if called.
716
-		 */
717
-		public function enqueue_iconpicker(){
718
-			wp_enqueue_style( 'iconpicker' );
719
-			wp_enqueue_script( 'iconpicker' );
720
-		}
721
-
722
-		/**
723
-		 * Get the url path to the current folder.
724
-		 *
725
-		 * @return string
726
-		 */
727
-		public function get_url() {
728
-			$content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
729
-			$content_url = untrailingslashit( WP_CONTENT_URL );
730
-
731
-			// Replace http:// to https://.
732
-			if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
733
-				$content_url = str_replace( 'http://', 'https://', $content_url );
734
-			}
735
-
736
-			// Check if we are inside a plugin
737
-			$file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
738
-			$url = str_replace( $content_dir, $content_url, $file_dir );
739
-
740
-			return trailingslashit( $url );
741
-		}
742
-
743
-		/**
744
-		 * Get the url path to the current folder.
745
-		 *
746
-		 * @return string
747
-		 */
748
-		public function get_url_old() {
749
-
750
-			$url = '';
751
-			// check if we are inside a plugin
752
-			$file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
753
-
754
-			// add check in-case user has changed wp-content dir name.
755
-			$wp_content_folder_name = basename(WP_CONTENT_DIR);
756
-			$dir_parts = explode("/$wp_content_folder_name/",$file_dir);
757
-			$url_parts = explode("/$wp_content_folder_name/",plugins_url());
758
-
759
-			if(!empty($url_parts[0]) && !empty($dir_parts[1])){
760
-				$url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
761
-			}
762
-
763
-			return $url;
764
-		}
765
-
766
-		/**
767
-		 * Register the database settings with WordPress.
768
-		 */
769
-		public function register_settings() {
770
-			register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
771
-		}
772
-
773
-		/**
774
-		 * Add the WordPress settings menu item.
775
-		 * @since 1.0.10 Calling function name direct will fail theme check so we don't.
776
-		 */
777
-		public function menu_item() {
778
-			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
779
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
780
-				$this,
781
-				'settings_page'
782
-			) );
783
-		}
784
-
785
-		/**
786
-		 * Get a list of themes and their default JS settings.
787
-		 *
788
-		 * @return array
789
-		 */
790
-		public function theme_js_settings(){
791
-			return array(
792
-				'ayetheme' => 'popper',
793
-				'listimia' => 'required',
794
-				'listimia_backend' => 'core-popper',
795
-				//'avada'    => 'required', // removed as we now add compatibility
796
-			);
797
-		}
798
-
799
-		/**
800
-		 * Get the current Font Awesome output settings.
801
-		 *
802
-		 * @return array The array of settings.
803
-		 */
804
-		public function get_settings() {
805
-
806
-			$db_settings = get_option( 'ayecode-ui-settings' );
807
-			$js_default = 'core-popper';
808
-			$js_default_backend = $js_default;
809
-
810
-			// maybe set defaults (if no settings set)
811
-			if(empty($db_settings)){
812
-				$active_theme = strtolower( get_template() ); // active parent theme.
813
-				$theme_js_settings = self::theme_js_settings();
814
-				if(isset($theme_js_settings[$active_theme])){
815
-					$js_default = $theme_js_settings[$active_theme];
816
-					$js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
817
-				}
818
-			}
695
+                // Load needed inline scripts by faking the loading of a script if the main script is not being loaded
696
+                if ( $load_inline ) {
697
+                    wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) );
698
+                    wp_enqueue_script( 'bootstrap-dummy' );
699
+                    $script = $this->inline_script();
700
+                    wp_add_inline_script( 'bootstrap-dummy', $script );
701
+                }
702
+            }
819 703
 
820
-			/**
821
-			 * Filter the default settings.
822
-			 */
823
-			$defaults = apply_filters( 'ayecode-ui-default-settings', array(
824
-				'css'            => 'compatibility', // core, compatibility
825
-				'js'             => $js_default, // js to load, core-popper, popper
826
-				'html_font_size' => '16', // js to load, core-popper, popper
827
-				'css_backend'    => 'compatibility', // core, compatibility
828
-				'js_backend'     => $js_default_backend, // js to load, core-popper, popper
829
-				'disable_admin'  => '', // URL snippets to disable loading on admin
704
+        }
705
+
706
+        /**
707
+         * Enqueue flatpickr if called.
708
+         */
709
+        public function enqueue_flatpickr(){
710
+            wp_enqueue_style( 'flatpickr' );
711
+            wp_enqueue_script( 'flatpickr' );
712
+        }
713
+
714
+        /**
715
+         * Enqueue iconpicker if called.
716
+         */
717
+        public function enqueue_iconpicker(){
718
+            wp_enqueue_style( 'iconpicker' );
719
+            wp_enqueue_script( 'iconpicker' );
720
+        }
721
+
722
+        /**
723
+         * Get the url path to the current folder.
724
+         *
725
+         * @return string
726
+         */
727
+        public function get_url() {
728
+            $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
729
+            $content_url = untrailingslashit( WP_CONTENT_URL );
730
+
731
+            // Replace http:// to https://.
732
+            if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
733
+                $content_url = str_replace( 'http://', 'https://', $content_url );
734
+            }
735
+
736
+            // Check if we are inside a plugin
737
+            $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
738
+            $url = str_replace( $content_dir, $content_url, $file_dir );
739
+
740
+            return trailingslashit( $url );
741
+        }
742
+
743
+        /**
744
+         * Get the url path to the current folder.
745
+         *
746
+         * @return string
747
+         */
748
+        public function get_url_old() {
749
+
750
+            $url = '';
751
+            // check if we are inside a plugin
752
+            $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
753
+
754
+            // add check in-case user has changed wp-content dir name.
755
+            $wp_content_folder_name = basename(WP_CONTENT_DIR);
756
+            $dir_parts = explode("/$wp_content_folder_name/",$file_dir);
757
+            $url_parts = explode("/$wp_content_folder_name/",plugins_url());
758
+
759
+            if(!empty($url_parts[0]) && !empty($dir_parts[1])){
760
+                $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
761
+            }
762
+
763
+            return $url;
764
+        }
765
+
766
+        /**
767
+         * Register the database settings with WordPress.
768
+         */
769
+        public function register_settings() {
770
+            register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
771
+        }
772
+
773
+        /**
774
+         * Add the WordPress settings menu item.
775
+         * @since 1.0.10 Calling function name direct will fail theme check so we don't.
776
+         */
777
+        public function menu_item() {
778
+            $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
779
+            call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
780
+                $this,
781
+                'settings_page'
782
+            ) );
783
+        }
784
+
785
+        /**
786
+         * Get a list of themes and their default JS settings.
787
+         *
788
+         * @return array
789
+         */
790
+        public function theme_js_settings(){
791
+            return array(
792
+                'ayetheme' => 'popper',
793
+                'listimia' => 'required',
794
+                'listimia_backend' => 'core-popper',
795
+                //'avada'    => 'required', // removed as we now add compatibility
796
+            );
797
+        }
798
+
799
+        /**
800
+         * Get the current Font Awesome output settings.
801
+         *
802
+         * @return array The array of settings.
803
+         */
804
+        public function get_settings() {
805
+
806
+            $db_settings = get_option( 'ayecode-ui-settings' );
807
+            $js_default = 'core-popper';
808
+            $js_default_backend = $js_default;
809
+
810
+            // maybe set defaults (if no settings set)
811
+            if(empty($db_settings)){
812
+                $active_theme = strtolower( get_template() ); // active parent theme.
813
+                $theme_js_settings = self::theme_js_settings();
814
+                if(isset($theme_js_settings[$active_theme])){
815
+                    $js_default = $theme_js_settings[$active_theme];
816
+                    $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
817
+                }
818
+            }
819
+
820
+            /**
821
+             * Filter the default settings.
822
+             */
823
+            $defaults = apply_filters( 'ayecode-ui-default-settings', array(
824
+                'css'            => 'compatibility', // core, compatibility
825
+                'js'             => $js_default, // js to load, core-popper, popper
826
+                'html_font_size' => '16', // js to load, core-popper, popper
827
+                'css_backend'    => 'compatibility', // core, compatibility
828
+                'js_backend'     => $js_default_backend, // js to load, core-popper, popper
829
+                'disable_admin'  => '', // URL snippets to disable loading on admin
830 830
                 'bs_ver'         => '4', // The default bootstrap version to sue by default
831
-			), $db_settings );
831
+            ), $db_settings );
832 832
 
833
-			$settings = wp_parse_args( $db_settings, $defaults );
833
+            $settings = wp_parse_args( $db_settings, $defaults );
834 834
 
835
-			/**
836
-			 * Filter the Bootstrap settings.
837
-			 *
838
-			 * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
839
-			 */
840
-			return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
841
-		}
835
+            /**
836
+             * Filter the Bootstrap settings.
837
+             *
838
+             * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
839
+             */
840
+            return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
841
+        }
842 842
 
843 843
 
844
-		/**
845
-		 * The settings page html output.
846
-		 */
847
-		public function settings_page() {
848
-			if ( ! current_user_can( 'manage_options' ) ) {
849
-				wp_die( __( 'You do not have sufficient permissions to access this page.', 'aui' ) );
850
-			}
844
+        /**
845
+         * The settings page html output.
846
+         */
847
+        public function settings_page() {
848
+            if ( ! current_user_can( 'manage_options' ) ) {
849
+                wp_die( __( 'You do not have sufficient permissions to access this page.', 'aui' ) );
850
+            }
851 851
             $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() );
852 852
 
853
-			?>
853
+            ?>
854 854
             <div class="wrap">
855 855
                 <h1><?php echo $this->name; ?></h1>
856 856
                 <p><?php echo apply_filters( 'ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.",'aui') );?></p>
857 857
                 <form method="post" action="options.php">
858 858
 					<?php
859
-					settings_fields( 'ayecode-ui-settings' );
860
-					do_settings_sections( 'ayecode-ui-settings' );
861
-					?>
859
+                    settings_fields( 'ayecode-ui-settings' );
860
+                    do_settings_sections( 'ayecode-ui-settings' );
861
+                    ?>
862 862
 
863 863
                     <h2><?php _e( 'BootStrap Version', 'aui' ); ?></h2>
864 864
                     <p><?php echo 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.",'aui') );?></p>
865 865
 	                <div class="bsui"><?php
866
-	                if ( ! empty( $overrides ) ) {
867
-		                echo aui()->alert(array(
868
-			                'type'=> 'info',
869
-			                'content'=> __("Some options are disabled as your current theme is overriding them.",'aui')
870
-		                ));
871
-	                }
872
-	                ?>
866
+                    if ( ! empty( $overrides ) ) {
867
+                        echo aui()->alert(array(
868
+                            'type'=> 'info',
869
+                            'content'=> __("Some options are disabled as your current theme is overriding them.",'aui')
870
+                        ));
871
+                    }
872
+                    ?>
873 873
                     </div>
874 874
                     <table class="form-table wpbs-table-version-settings">
875 875
                         <tr valign="top">
@@ -962,79 +962,79 @@  discard block
 block discarded – undo
962 962
                     </table>
963 963
 
964 964
 					<?php
965
-					submit_button();
966
-					?>
965
+                    submit_button();
966
+                    ?>
967 967
                 </form>
968 968
 
969 969
                 <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo $this->version; ?></div>
970 970
             </div>
971 971
 
972 972
 			<?php
973
-		}
973
+        }
974 974
 
975 975
         public function get_load_source(){
976
-	        $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
977
-	        $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
978
-
979
-	        // Find source plugin/theme of SD
980
-	        $source = array();
981
-	        if ( strpos( $file, $plugins_dir ) !== false ) {
982
-		        $source = explode( "/", plugin_basename( $file ) );
983
-	        } else if ( function_exists( 'get_theme_root' ) ) {
984
-		        $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
985
-
986
-		        if ( strpos( $file, $themes_dir ) !== false ) {
987
-			        $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
988
-		        }
989
-	        }
976
+            $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
977
+            $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
978
+
979
+            // Find source plugin/theme of SD
980
+            $source = array();
981
+            if ( strpos( $file, $plugins_dir ) !== false ) {
982
+                $source = explode( "/", plugin_basename( $file ) );
983
+            } else if ( function_exists( 'get_theme_root' ) ) {
984
+                $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
985
+
986
+                if ( strpos( $file, $themes_dir ) !== false ) {
987
+                    $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
988
+                }
989
+            }
990 990
 
991 991
             return isset($source[0]) ? esc_attr($source[0]) : '';
992 992
         }
993 993
 
994
-		public function customizer_settings($wp_customize){
995
-			$wp_customize->add_section('aui_settings', array(
996
-				'title'    => __('AyeCode UI','aui'),
997
-				'priority' => 120,
998
-			));
999
-
1000
-			//  =============================
1001
-			//  = Color Picker              =
1002
-			//  =============================
1003
-			$wp_customize->add_setting('aui_options[color_primary]', array(
1004
-				'default'           => AUI_PRIMARY_COLOR,
1005
-				'sanitize_callback' => 'sanitize_hex_color',
1006
-				'capability'        => 'edit_theme_options',
1007
-				'type'              => 'option',
1008
-				'transport'         => 'refresh',
1009
-			));
1010
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1011
-				'label'    => __('Primary Color','aui'),
1012
-				'section'  => 'aui_settings',
1013
-				'settings' => 'aui_options[color_primary]',
1014
-			)));
1015
-
1016
-			$wp_customize->add_setting('aui_options[color_secondary]', array(
1017
-				'default'           => '#6c757d',
1018
-				'sanitize_callback' => 'sanitize_hex_color',
1019
-				'capability'        => 'edit_theme_options',
1020
-				'type'              => 'option',
1021
-				'transport'         => 'refresh',
1022
-			));
1023
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1024
-				'label'    => __('Secondary Color','aui'),
1025
-				'section'  => 'aui_settings',
1026
-				'settings' => 'aui_options[color_secondary]',
1027
-			)));
1028
-		}
1029
-
1030
-		/**
1031
-		 * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1032
-		 *
1033
-		 * @return mixed
1034
-		 */
1035
-		public static function bs3_compat_css() {
1036
-			ob_start();
1037
-			?>
994
+        public function customizer_settings($wp_customize){
995
+            $wp_customize->add_section('aui_settings', array(
996
+                'title'    => __('AyeCode UI','aui'),
997
+                'priority' => 120,
998
+            ));
999
+
1000
+            //  =============================
1001
+            //  = Color Picker              =
1002
+            //  =============================
1003
+            $wp_customize->add_setting('aui_options[color_primary]', array(
1004
+                'default'           => AUI_PRIMARY_COLOR,
1005
+                'sanitize_callback' => 'sanitize_hex_color',
1006
+                'capability'        => 'edit_theme_options',
1007
+                'type'              => 'option',
1008
+                'transport'         => 'refresh',
1009
+            ));
1010
+            $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1011
+                'label'    => __('Primary Color','aui'),
1012
+                'section'  => 'aui_settings',
1013
+                'settings' => 'aui_options[color_primary]',
1014
+            )));
1015
+
1016
+            $wp_customize->add_setting('aui_options[color_secondary]', array(
1017
+                'default'           => '#6c757d',
1018
+                'sanitize_callback' => 'sanitize_hex_color',
1019
+                'capability'        => 'edit_theme_options',
1020
+                'type'              => 'option',
1021
+                'transport'         => 'refresh',
1022
+            ));
1023
+            $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1024
+                'label'    => __('Secondary Color','aui'),
1025
+                'section'  => 'aui_settings',
1026
+                'settings' => 'aui_options[color_secondary]',
1027
+            )));
1028
+        }
1029
+
1030
+        /**
1031
+         * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1032
+         *
1033
+         * @return mixed
1034
+         */
1035
+        public static function bs3_compat_css() {
1036
+            ob_start();
1037
+            ?>
1038 1038
             <style>
1039 1039
                 /* Bootstrap 3 compatibility */
1040 1040
                 body.modal-open .modal-backdrop.show:not(.in) {opacity:0.5;}
@@ -1063,58 +1063,58 @@  discard block
 block discarded – undo
1063 1063
                 <?php } ?>
1064 1064
             </style>
1065 1065
 			<?php
1066
-			return str_replace( array(
1067
-				'<style>',
1068
-				'</style>'
1069
-			), '', self::minify_css( ob_get_clean() ) );
1070
-		}
1066
+            return str_replace( array(
1067
+                '<style>',
1068
+                '</style>'
1069
+            ), '', self::minify_css( ob_get_clean() ) );
1070
+        }
1071 1071
 
1072 1072
 
1073
-		public static function custom_css($compatibility = true) {
1073
+        public static function custom_css($compatibility = true) {
1074 1074
             global $aui_bs5;
1075 1075
 
1076
-			$colors = array();
1077
-			if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1076
+            $colors = array();
1077
+            if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1078 1078
 
1079 1079
 
1080
-				$setting = wp_get_global_settings();
1080
+                $setting = wp_get_global_settings();
1081 1081
 
1082 1082
 //                print_r(wp_get_global_styles());//exit;
1083 1083
 //                print_r(get_default_block_editor_settings());exit;
1084 1084
 
1085 1085
 //                print_r($setting);echo  '###';exit;
1086
-				if(!empty($setting['color']['palette']['theme'])){
1087
-					foreach($setting['color']['palette']['theme'] as $color){
1088
-						$colors[$color['slug']] = esc_attr($color['color']);
1089
-					}
1090
-				}
1086
+                if(!empty($setting['color']['palette']['theme'])){
1087
+                    foreach($setting['color']['palette']['theme'] as $color){
1088
+                        $colors[$color['slug']] = esc_attr($color['color']);
1089
+                    }
1090
+                }
1091 1091
 
1092
-				if(!empty($setting['color']['palette']['custom'])){
1093
-					foreach($setting['color']['palette']['custom'] as $color){
1094
-						$colors[$color['slug']] = esc_attr($color['color']);
1095
-					}
1096
-				}
1097
-			}else{
1098
-				$settings = get_option('aui_options');
1099
-				$colors = array(
1100
-					'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1101
-					'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1102
-				);
1103
-			}
1092
+                if(!empty($setting['color']['palette']['custom'])){
1093
+                    foreach($setting['color']['palette']['custom'] as $color){
1094
+                        $colors[$color['slug']] = esc_attr($color['color']);
1095
+                    }
1096
+                }
1097
+            }else{
1098
+                $settings = get_option('aui_options');
1099
+                $colors = array(
1100
+                    'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1101
+                    'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1102
+                );
1103
+            }
1104 1104
 
1105
-			ob_start();
1105
+            ob_start();
1106 1106
 
1107
-			?>
1107
+            ?>
1108 1108
             <style>
1109 1109
                 <?php
1110 1110
 
1111
-					// BS v3 compat
1112
-					if( self::is_bs3_compat() ){
1113
-						echo self::bs3_compat_css();
1114
-					}
1111
+                    // BS v3 compat
1112
+                    if( self::is_bs3_compat() ){
1113
+                        echo self::bs3_compat_css();
1114
+                    }
1115 1115
 
1116
-					if(!empty($colors)){
1117
-						$d_colors = self::get_colors(true);
1116
+                    if(!empty($colors)){
1117
+                        $d_colors = self::get_colors(true);
1118 1118
 
1119 1119
                         $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : '';
1120 1120
                         $is_fse = false;
@@ -1123,22 +1123,22 @@  discard block
 block discarded – undo
1123 1123
                         }
1124 1124
 
1125 1125
 //						$is_fse = !empty($_REQUEST['postType']) && $_REQUEST['postType']=='wp_template';
1126
-						foreach($colors as $key => $color ){
1127
-							if((empty( $d_colors[$key]) ||  $d_colors[$key] != $color) || $is_fse ) {
1128
-								$var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1129
-								$compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1130
-								echo $aui_bs5 ? self::css_overwrite_bs5($key,$var,$compat,$color) : self::css_overwrite($key,$var,$compat,$color);
1131
-							}
1132
-						}
1133
-					   // exit;
1134
-					}
1126
+                        foreach($colors as $key => $color ){
1127
+                            if((empty( $d_colors[$key]) ||  $d_colors[$key] != $color) || $is_fse ) {
1128
+                                $var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1129
+                                $compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1130
+                                echo $aui_bs5 ? self::css_overwrite_bs5($key,$var,$compat,$color) : self::css_overwrite($key,$var,$compat,$color);
1131
+                            }
1132
+                        }
1133
+                        // exit;
1134
+                    }
1135 1135
 
1136
-					// Set admin bar z-index lower when modal is open.
1137
-					echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1136
+                    // Set admin bar z-index lower when modal is open.
1137
+                    echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1138 1138
 
1139
-					if(is_admin()){
1140
-						echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1141
-					}
1139
+                    if(is_admin()){
1140
+                        echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1141
+                    }
1142 1142
 
1143 1143
                     if( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) ){
1144 1144
                         $css = '';
@@ -1158,171 +1158,171 @@  discard block
 block discarded – undo
1158 1158
                             echo 'body{' . $css . '}';
1159 1159
                         }
1160 1160
                     }
1161
-				?>
1161
+                ?>
1162 1162
             </style>
1163 1163
 			<?php
1164 1164
 
1165 1165
 
1166
-			/*
1166
+            /*
1167 1167
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1168 1168
 			 */
1169
-			return str_replace( array(
1170
-				'<style>',
1171
-				'</style>'
1172
-			), '', self::minify_css( ob_get_clean() ) );
1173
-		}
1174
-
1175
-
1176
-
1177
-		/**
1178
-		 * Check if we should add booststrap 3 compatibility changes.
1179
-		 *
1180
-		 * @return bool
1181
-		 */
1182
-		public static function is_bs3_compat(){
1183
-			return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1184
-		}
1185
-
1186
-		public static function hex_to_rgb($hex) {
1187
-			// Remove '#' if present
1188
-			$hex = str_replace('#', '', $hex);
1189
-
1190
-			// Convert 3-digit hex to 6-digit hex
1191
-			if(strlen($hex) == 3) {
1192
-				$hex = str_repeat(substr($hex, 0, 1), 2) . str_repeat(substr($hex, 1, 1), 2) . str_repeat(substr($hex, 2, 1), 2);
1193
-			}
1194
-
1195
-			// Convert hex to RGB
1196
-			$r = hexdec(substr($hex, 0, 2));
1197
-			$g = hexdec(substr($hex, 2, 2));
1198
-			$b = hexdec(substr($hex, 4, 2));
1199
-
1200
-			// Return RGB values as an array
1201
-			return $r . ',' . $g . ',' . $b;
1202
-		}
1203
-
1204
-		/**
1205
-		 * Build the CSS to overwrite a bootstrap color variable.
1206
-		 *
1207
-		 * @param $type
1208
-		 * @param $color_code
1209
-		 * @param $compatibility
1210
-		 *
1211
-		 * @return string
1212
-		 */
1213
-		public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1214
-			global $aui_bs5;
1215
-
1216
-			$is_var = false;
1217
-			$is_custom = strpos($type, 'custom-') !== false ? true : false;
1218
-			if(!$color_code){return '';}
1219
-			if(strpos($color_code, 'var') !== false){
1220
-				//if(!sanitize_hex_color($color_code)){
1221
-				$color_code = esc_attr($color_code);
1222
-				$is_var = true;
1169
+            return str_replace( array(
1170
+                '<style>',
1171
+                '</style>'
1172
+            ), '', self::minify_css( ob_get_clean() ) );
1173
+        }
1174
+
1175
+
1176
+
1177
+        /**
1178
+         * Check if we should add booststrap 3 compatibility changes.
1179
+         *
1180
+         * @return bool
1181
+         */
1182
+        public static function is_bs3_compat(){
1183
+            return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1184
+        }
1185
+
1186
+        public static function hex_to_rgb($hex) {
1187
+            // Remove '#' if present
1188
+            $hex = str_replace('#', '', $hex);
1189
+
1190
+            // Convert 3-digit hex to 6-digit hex
1191
+            if(strlen($hex) == 3) {
1192
+                $hex = str_repeat(substr($hex, 0, 1), 2) . str_repeat(substr($hex, 1, 1), 2) . str_repeat(substr($hex, 2, 1), 2);
1193
+            }
1194
+
1195
+            // Convert hex to RGB
1196
+            $r = hexdec(substr($hex, 0, 2));
1197
+            $g = hexdec(substr($hex, 2, 2));
1198
+            $b = hexdec(substr($hex, 4, 2));
1199
+
1200
+            // Return RGB values as an array
1201
+            return $r . ',' . $g . ',' . $b;
1202
+        }
1203
+
1204
+        /**
1205
+         * Build the CSS to overwrite a bootstrap color variable.
1206
+         *
1207
+         * @param $type
1208
+         * @param $color_code
1209
+         * @param $compatibility
1210
+         *
1211
+         * @return string
1212
+         */
1213
+        public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1214
+            global $aui_bs5;
1215
+
1216
+            $is_var = false;
1217
+            $is_custom = strpos($type, 'custom-') !== false ? true : false;
1218
+            if(!$color_code){return '';}
1219
+            if(strpos($color_code, 'var') !== false){
1220
+                //if(!sanitize_hex_color($color_code)){
1221
+                $color_code = esc_attr($color_code);
1222
+                $is_var = true;
1223 1223
 //				$color_code = "rgba($color_code, 0.5)";
1224 1224
 //                echo '###1'.$color_code.'###';//exit;
1225
-			}
1225
+            }
1226 1226
 
1227 1227
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1228 1228
 
1229
-			if(!$color_code){return '';}
1229
+            if(!$color_code){return '';}
1230 1230
 
1231
-			$rgb = self::hex_to_rgb($hex);
1231
+            $rgb = self::hex_to_rgb($hex);
1232 1232
 
1233
-			if($compatibility===true || $compatibility===1){
1234
-				$compatibility = '.bsui';
1235
-			}elseif(!$compatibility){
1236
-				$compatibility = '';
1237
-			}else{
1238
-				$compatibility = esc_attr($compatibility);
1239
-			}
1233
+            if($compatibility===true || $compatibility===1){
1234
+                $compatibility = '.bsui';
1235
+            }elseif(!$compatibility){
1236
+                $compatibility = '';
1237
+            }else{
1238
+                $compatibility = esc_attr($compatibility);
1239
+            }
1240 1240
 
1241
-			$prefix = $compatibility ? $compatibility . " " : "";
1241
+            $prefix = $compatibility ? $compatibility . " " : "";
1242 1242
 
1243 1243
 
1244 1244
             $output = '';
1245 1245
 
1246 1246
 //            echo '####'.$color_code;exit;
1247 1247
 
1248
-			$type = sanitize_html_class($type);
1248
+            $type = sanitize_html_class($type);
1249
+
1250
+            /**
1251
+             * c = color, b = background color, o = border-color, f = fill
1252
+             */
1253
+            $selectors = array(
1254
+                ".btn-{$type}"                                              => array( 'b', 'o' ),
1255
+                ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1256
+                ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1257
+                ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1258
+                ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1259
+                ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1260
+                ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1261
+                ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1262
+                ".badge-{$type}"                                            => array( 'b' ),
1263
+                ".alert-{$type}"                                            => array( 'b', 'o' ),
1264
+                ".bg-{$type}"                                               => array( 'b', 'f' ),
1265
+                ".btn-link.btn-{$type}"                                     => array( 'c' ),
1266
+                ".text-{$type}"                                     => array( 'c' ),
1267
+            );
1268
+
1269
+            if ( $aui_bs5 ) {
1270
+                unset($selectors[".alert-{$type}" ]);
1271
+            }
1249 1272
 
1250
-			/**
1251
-			 * c = color, b = background color, o = border-color, f = fill
1252
-			 */
1253
-			$selectors = array(
1254
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1255
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1256
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1257
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1258
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1259
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1260
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1261
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1262
-				".badge-{$type}"                                            => array( 'b' ),
1263
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1264
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1265
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1266
-				".text-{$type}"                                     => array( 'c' ),
1267
-			);
1268
-
1269
-			if ( $aui_bs5 ) {
1270
-				unset($selectors[".alert-{$type}" ]);
1271
-			}
1272
-
1273
-			if ( $type == 'primary' ) {
1274
-				$selectors = $selectors + array(
1275
-						'a'                                                                                                    => array( 'c' ),
1276
-						'.btn-link'                                                                                            => array( 'c' ),
1277
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1278
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1279
-							'b',
1280
-							'o'
1281
-						),
1282
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1283
-							'b',
1284
-							'o'
1285
-						),
1286
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1287
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1288
-						'.page-link'                                                                                           => array( 'c' ),
1289
-						'.page-item.active .page-link'                                                                         => array(
1290
-							'b',
1291
-							'o'
1292
-						),
1293
-						'.progress-bar'                                                                                        => array( 'b' ),
1294
-						'.list-group-item.active'                                                                              => array(
1295
-							'b',
1296
-							'o'
1297
-						),
1298
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1299
-					);
1300
-			}
1273
+            if ( $type == 'primary' ) {
1274
+                $selectors = $selectors + array(
1275
+                        'a'                                                                                                    => array( 'c' ),
1276
+                        '.btn-link'                                                                                            => array( 'c' ),
1277
+                        '.dropdown-item.active'                                                                                => array( 'b' ),
1278
+                        '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1279
+                            'b',
1280
+                            'o'
1281
+                        ),
1282
+                        '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1283
+                            'b',
1284
+                            'o'
1285
+                        ),
1286
+                        '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1287
+                        '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1288
+                        '.page-link'                                                                                           => array( 'c' ),
1289
+                        '.page-item.active .page-link'                                                                         => array(
1290
+                            'b',
1291
+                            'o'
1292
+                        ),
1293
+                        '.progress-bar'                                                                                        => array( 'b' ),
1294
+                        '.list-group-item.active'                                                                              => array(
1295
+                            'b',
1296
+                            'o'
1297
+                        ),
1298
+                        '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1299
+                    );
1300
+            }
1301 1301
 
1302 1302
 
1303 1303
 
1304 1304
             // link
1305
-			if ( $type === 'primary' ) {
1306
-				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1307
-				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1308
-				$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).'; }';
1305
+            if ( $type === 'primary' ) {
1306
+                $output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1307
+                $output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1308
+                $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).'; }';
1309 1309
 
1310
-				$output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1311
-				$output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1310
+                $output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1311
+                $output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1312 1312
 
1313 1313
                 // dropdown
1314
-				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1314
+                $output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1315 1315
 
1316 1316
                 // pagination
1317
-				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1317
+                $output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1318 1318
 
1319
-			}
1319
+            }
1320 1320
 
1321
-			$output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1321
+            $output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1322 1322
 
1323
-			//  buttons
1324
-			$output .= $prefix . ' .btn-'.esc_attr($type).'{';
1325
-			$output .= ' 
1323
+            //  buttons
1324
+            $output .= $prefix . ' .btn-'.esc_attr($type).'{';
1325
+            $output .= ' 
1326 1326
             --bs-btn-bg: '.esc_attr($color_code).';
1327 1327
             --bs-btn-border-color: '.esc_attr($color_code).';
1328 1328
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1340,11 +1340,11 @@  discard block
 block discarded – undo
1340 1340
 //			--bs-btn-active-color: #fff;
1341 1341
 //			--bs-btn-disabled-color: #fff;
1342 1342
 //            ';
1343
-			$output .= '}';
1343
+            $output .= '}';
1344 1344
 
1345
-			//  buttons outline
1346
-			$output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1347
-			$output .= ' 
1345
+            //  buttons outline
1346
+            $output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1347
+            $output .= ' 
1348 1348
             --bs-btn-border-color: '.esc_attr($color_code).';
1349 1349
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1350 1350
             --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1361,37 +1361,37 @@  discard block
 block discarded – undo
1361 1361
 //			--bs-btn-active-color: #fff;
1362 1362
 //			--bs-btn-disabled-color: #fff;
1363 1363
 //            ';
1364
-			$output .= '}';
1364
+            $output .= '}';
1365 1365
 
1366 1366
 
1367 1367
             // button hover
1368
-			$output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1369
-			$output .= ' 
1368
+            $output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1369
+            $output .= ' 
1370 1370
             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);
1371 1371
             }
1372 1372
             ';
1373 1373
 
1374 1374
 
1375
-			if ( $aui_bs5 ) {
1375
+            if ( $aui_bs5 ) {
1376 1376
 //				$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).'; }';
1377
-				$output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1378
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1379
-			}
1377
+                $output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1378
+                $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1379
+            }
1380 1380
 
1381 1381
 
1382
-			if ( $is_custom ) {
1382
+            if ( $is_custom ) {
1383 1383
 
1384 1384
 //				echo '###'.$type;exit;
1385 1385
 
1386
-				// build rules into each type
1387
-				foreach($selectors as $selector => $types){
1388
-					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1389
-					$types = array_combine($types,$types);
1390
-					if(isset($types['c'])){$color[] = $selector;}
1391
-					if(isset($types['b'])){$background[] = $selector;}
1392
-					if(isset($types['o'])){$border[] = $selector;}
1393
-					if(isset($types['f'])){$fill[] = $selector;}
1394
-				}
1386
+                // build rules into each type
1387
+                foreach($selectors as $selector => $types){
1388
+                    $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1389
+                    $types = array_combine($types,$types);
1390
+                    if(isset($types['c'])){$color[] = $selector;}
1391
+                    if(isset($types['b'])){$background[] = $selector;}
1392
+                    if(isset($types['o'])){$border[] = $selector;}
1393
+                    if(isset($types['f'])){$fill[] = $selector;}
1394
+                }
1395 1395
 
1396 1396
 //				// build rules into each type
1397 1397
 //				foreach($important_selectors as $selector => $types){
@@ -1403,67 +1403,67 @@  discard block
 block discarded – undo
1403 1403
 //					if(isset($types['f'])){$fill_i[] = $selector;}
1404 1404
 //				}
1405 1405
 
1406
-				// add any color rules
1407
-				if(!empty($color)){
1408
-					$output .= implode(",",$color) . "{color: $color_code;} ";
1409
-				}
1410
-				if(!empty($color_i)){
1411
-					$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1412
-				}
1406
+                // add any color rules
1407
+                if(!empty($color)){
1408
+                    $output .= implode(",",$color) . "{color: $color_code;} ";
1409
+                }
1410
+                if(!empty($color_i)){
1411
+                    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1412
+                }
1413 1413
 
1414
-				// add any background color rules
1415
-				if(!empty($background)){
1416
-					$output .= implode(",",$background) . "{background-color: $color_code;} ";
1417
-				}
1418
-				if(!empty($background_i)){
1419
-					$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1414
+                // add any background color rules
1415
+                if(!empty($background)){
1416
+                    $output .= implode(",",$background) . "{background-color: $color_code;} ";
1417
+                }
1418
+                if(!empty($background_i)){
1419
+                    $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1420 1420
 //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1421
-				}
1421
+                }
1422 1422
 
1423
-				// add any border color rules
1424
-				if(!empty($border)){
1425
-					$output .= implode(",",$border) . "{border-color: $color_code;} ";
1426
-				}
1427
-				if(!empty($border_i)){
1428
-					$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1429
-				}
1423
+                // add any border color rules
1424
+                if(!empty($border)){
1425
+                    $output .= implode(",",$border) . "{border-color: $color_code;} ";
1426
+                }
1427
+                if(!empty($border_i)){
1428
+                    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1429
+                }
1430 1430
 
1431
-				// add any fill color rules
1432
-				if(!empty($fill)){
1433
-					$output .= implode(",",$fill) . "{fill: $color_code;} ";
1434
-				}
1435
-				if(!empty($fill_i)){
1436
-					$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1437
-				}
1431
+                // add any fill color rules
1432
+                if(!empty($fill)){
1433
+                    $output .= implode(",",$fill) . "{fill: $color_code;} ";
1434
+                }
1435
+                if(!empty($fill_i)){
1436
+                    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1437
+                }
1438 1438
 
1439
-			}
1439
+            }
1440 1440
 
1441 1441
 
1442 1442
 
1443 1443
 
1444
-			$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;' : '';
1445
-			// darken
1446
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1447
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1448
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1449
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1444
+            $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;' : '';
1445
+            // darken
1446
+            $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1447
+            $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1448
+            $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1449
+            $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1450 1450
 
1451
-			// lighten
1452
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1451
+            // lighten
1452
+            $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1453 1453
 
1454
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1455
-			$op_25 = $color_code."40"; // 25% opacity
1454
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1455
+            $op_25 = $color_code."40"; // 25% opacity
1456 1456
 
1457 1457
 
1458
-			// button states
1459
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1460
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1458
+            // button states
1459
+            $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1460
+            $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1461 1461
 //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1462
-			$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;} ";
1463
-			$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.";} ";
1464
-			$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;} ";
1462
+            $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;} ";
1463
+            $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.";} ";
1464
+            $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;} ";
1465 1465
 
1466
-			// text
1466
+            // text
1467 1467
 //			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
1468 1468
 
1469 1469
 
@@ -1478,773 +1478,773 @@  discard block
 block discarded – undo
1478 1478
 //				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1479 1479
 //			}
1480 1480
 
1481
-			// alerts
1482
-			if ( $aui_bs5 ) {
1481
+            // alerts
1482
+            if ( $aui_bs5 ) {
1483 1483
 //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1484
-				$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;} ";
1485
-			}
1486
-
1487
-			return $output;
1488
-		}
1489
-
1490
-		/**
1491
-		 * Build the CSS to overwrite a bootstrap color variable.
1492
-		 *
1493
-		 * @param $type
1494
-		 * @param $color_code
1495
-		 * @param $compatibility
1496
-		 *
1497
-		 * @return string
1498
-		 */
1499
-		public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1484
+                $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;} ";
1485
+            }
1486
+
1487
+            return $output;
1488
+        }
1489
+
1490
+        /**
1491
+         * Build the CSS to overwrite a bootstrap color variable.
1492
+         *
1493
+         * @param $type
1494
+         * @param $color_code
1495
+         * @param $compatibility
1496
+         *
1497
+         * @return string
1498
+         */
1499
+        public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1500 1500
             global $aui_bs5;
1501 1501
 
1502
-			$is_var = false;
1503
-			if(!$color_code){return '';}
1504
-			if(strpos($color_code, 'var') !== false){
1505
-				//if(!sanitize_hex_color($color_code)){
1506
-				$color_code = esc_attr($color_code);
1507
-				$is_var = true;
1502
+            $is_var = false;
1503
+            if(!$color_code){return '';}
1504
+            if(strpos($color_code, 'var') !== false){
1505
+                //if(!sanitize_hex_color($color_code)){
1506
+                $color_code = esc_attr($color_code);
1507
+                $is_var = true;
1508 1508
 //				$color_code = "rgba($color_code, 0.5)";
1509 1509
 //                echo '###1'.$color_code.'###';//exit;
1510
-			}
1510
+            }
1511 1511
 
1512 1512
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1513 1513
 
1514
-			if(!$color_code){return '';}
1514
+            if(!$color_code){return '';}
1515 1515
 
1516 1516
             $rgb = self::hex_to_rgb($hex);
1517 1517
 
1518
-			if($compatibility===true || $compatibility===1){
1519
-				$compatibility = '.bsui';
1520
-			}elseif(!$compatibility){
1521
-				$compatibility = '';
1522
-			}else{
1523
-				$compatibility = esc_attr($compatibility);
1524
-			}
1518
+            if($compatibility===true || $compatibility===1){
1519
+                $compatibility = '.bsui';
1520
+            }elseif(!$compatibility){
1521
+                $compatibility = '';
1522
+            }else{
1523
+                $compatibility = esc_attr($compatibility);
1524
+            }
1525 1525
 
1526 1526
 
1527 1527
 
1528 1528
 //            echo '####'.$color_code;exit;
1529 1529
 
1530
-			$type = sanitize_html_class($type);
1531
-
1532
-			/**
1533
-			 * c = color, b = background color, o = border-color, f = fill
1534
-			 */
1535
-			$selectors = array(
1536
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1537
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1538
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1539
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1540
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1541
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1542
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1543
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1544
-				".badge-{$type}"                                            => array( 'b' ),
1545
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1546
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1547
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1548
-			);
1549
-
1550
-			if ( $aui_bs5 ) {
1530
+            $type = sanitize_html_class($type);
1531
+
1532
+            /**
1533
+             * c = color, b = background color, o = border-color, f = fill
1534
+             */
1535
+            $selectors = array(
1536
+                ".btn-{$type}"                                              => array( 'b', 'o' ),
1537
+                ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1538
+                ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1539
+                ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1540
+                ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1541
+                ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1542
+                ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1543
+                ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1544
+                ".badge-{$type}"                                            => array( 'b' ),
1545
+                ".alert-{$type}"                                            => array( 'b', 'o' ),
1546
+                ".bg-{$type}"                                               => array( 'b', 'f' ),
1547
+                ".btn-link.btn-{$type}"                                     => array( 'c' ),
1548
+            );
1549
+
1550
+            if ( $aui_bs5 ) {
1551 1551
                 unset($selectors[".alert-{$type}" ]);
1552
-			}
1553
-
1554
-			if ( $type == 'primary' ) {
1555
-				$selectors = $selectors + array(
1556
-						'a'                                                                                                    => array( 'c' ),
1557
-						'.btn-link'                                                                                            => array( 'c' ),
1558
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1559
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1560
-							'b',
1561
-							'o'
1562
-						),
1563
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1564
-							'b',
1565
-							'o'
1566
-						),
1567
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1568
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1569
-						'.page-link'                                                                                           => array( 'c' ),
1570
-						'.page-item.active .page-link'                                                                         => array(
1571
-							'b',
1572
-							'o'
1573
-						),
1574
-						'.progress-bar'                                                                                        => array( 'b' ),
1575
-						'.list-group-item.active'                                                                              => array(
1576
-							'b',
1577
-							'o'
1578
-						),
1579
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1552
+            }
1553
+
1554
+            if ( $type == 'primary' ) {
1555
+                $selectors = $selectors + array(
1556
+                        'a'                                                                                                    => array( 'c' ),
1557
+                        '.btn-link'                                                                                            => array( 'c' ),
1558
+                        '.dropdown-item.active'                                                                                => array( 'b' ),
1559
+                        '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1560
+                            'b',
1561
+                            'o'
1562
+                        ),
1563
+                        '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1564
+                            'b',
1565
+                            'o'
1566
+                        ),
1567
+                        '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1568
+                        '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1569
+                        '.page-link'                                                                                           => array( 'c' ),
1570
+                        '.page-item.active .page-link'                                                                         => array(
1571
+                            'b',
1572
+                            'o'
1573
+                        ),
1574
+                        '.progress-bar'                                                                                        => array( 'b' ),
1575
+                        '.list-group-item.active'                                                                              => array(
1576
+                            'b',
1577
+                            'o'
1578
+                        ),
1579
+                        '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1580 1580
 //				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1581 1581
 //				    '.custom-range::-moz-range-thumb' => array('b'),
1582 1582
 //				    '.custom-range::-ms-thumb' => array('b'),
1583
-					);
1584
-			}
1585
-
1586
-			$important_selectors = array(
1587
-				".bg-{$type}" => array('b','f'),
1588
-				".border-{$type}" => array('o'),
1589
-				".text-{$type}" => array('c'),
1590
-			);
1591
-
1592
-			$color = array();
1593
-			$color_i = array();
1594
-			$background = array();
1595
-			$background_i = array();
1596
-			$border = array();
1597
-			$border_i = array();
1598
-			$fill = array();
1599
-			$fill_i = array();
1600
-
1601
-			$output = '';
1602
-
1603
-			if ( $aui_bs5 ) {
1583
+                    );
1584
+            }
1585
+
1586
+            $important_selectors = array(
1587
+                ".bg-{$type}" => array('b','f'),
1588
+                ".border-{$type}" => array('o'),
1589
+                ".text-{$type}" => array('c'),
1590
+            );
1591
+
1592
+            $color = array();
1593
+            $color_i = array();
1594
+            $background = array();
1595
+            $background_i = array();
1596
+            $border = array();
1597
+            $border_i = array();
1598
+            $fill = array();
1599
+            $fill_i = array();
1600
+
1601
+            $output = '';
1602
+
1603
+            if ( $aui_bs5 ) {
1604 1604
 //				$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).'; }';
1605
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1606
-			}
1607
-
1608
-			// build rules into each type
1609
-			foreach($selectors as $selector => $types){
1610
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1611
-				$types = array_combine($types,$types);
1612
-				if(isset($types['c'])){$color[] = $selector;}
1613
-				if(isset($types['b'])){$background[] = $selector;}
1614
-				if(isset($types['o'])){$border[] = $selector;}
1615
-				if(isset($types['f'])){$fill[] = $selector;}
1616
-			}
1617
-
1618
-			// build rules into each type
1619
-			foreach($important_selectors as $selector => $types){
1620
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1621
-				$types = array_combine($types,$types);
1622
-				if(isset($types['c'])){$color_i[] = $selector;}
1623
-				if(isset($types['b'])){$background_i[] = $selector;}
1624
-				if(isset($types['o'])){$border_i[] = $selector;}
1625
-				if(isset($types['f'])){$fill_i[] = $selector;}
1626
-			}
1627
-
1628
-			// add any color rules
1629
-			if(!empty($color)){
1630
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1631
-			}
1632
-			if(!empty($color_i)){
1633
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1634
-			}
1635
-
1636
-			// add any background color rules
1637
-			if(!empty($background)){
1638
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1639
-			}
1640
-			if(!empty($background_i)){
1641
-				$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1605
+                $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1606
+            }
1607
+
1608
+            // build rules into each type
1609
+            foreach($selectors as $selector => $types){
1610
+                $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1611
+                $types = array_combine($types,$types);
1612
+                if(isset($types['c'])){$color[] = $selector;}
1613
+                if(isset($types['b'])){$background[] = $selector;}
1614
+                if(isset($types['o'])){$border[] = $selector;}
1615
+                if(isset($types['f'])){$fill[] = $selector;}
1616
+            }
1617
+
1618
+            // build rules into each type
1619
+            foreach($important_selectors as $selector => $types){
1620
+                $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1621
+                $types = array_combine($types,$types);
1622
+                if(isset($types['c'])){$color_i[] = $selector;}
1623
+                if(isset($types['b'])){$background_i[] = $selector;}
1624
+                if(isset($types['o'])){$border_i[] = $selector;}
1625
+                if(isset($types['f'])){$fill_i[] = $selector;}
1626
+            }
1627
+
1628
+            // add any color rules
1629
+            if(!empty($color)){
1630
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1631
+            }
1632
+            if(!empty($color_i)){
1633
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1634
+            }
1635
+
1636
+            // add any background color rules
1637
+            if(!empty($background)){
1638
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1639
+            }
1640
+            if(!empty($background_i)){
1641
+                $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1642 1642
 //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1643
-			}
1643
+            }
1644 1644
 
1645
-			// add any border color rules
1646
-			if(!empty($border)){
1647
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1648
-			}
1649
-			if(!empty($border_i)){
1650
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1651
-			}
1645
+            // add any border color rules
1646
+            if(!empty($border)){
1647
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1648
+            }
1649
+            if(!empty($border_i)){
1650
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1651
+            }
1652 1652
 
1653
-			// add any fill color rules
1654
-			if(!empty($fill)){
1655
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1656
-			}
1657
-			if(!empty($fill_i)){
1658
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1659
-			}
1653
+            // add any fill color rules
1654
+            if(!empty($fill)){
1655
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1656
+            }
1657
+            if(!empty($fill_i)){
1658
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1659
+            }
1660 1660
 
1661 1661
 
1662
-			$prefix = $compatibility ? $compatibility . " " : "";
1662
+            $prefix = $compatibility ? $compatibility . " " : "";
1663 1663
 
1664
-			$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;' : '';
1665
-			// darken
1666
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1667
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1668
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1669
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1664
+            $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;' : '';
1665
+            // darken
1666
+            $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1667
+            $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1668
+            $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1669
+            $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1670 1670
 
1671
-			// lighten
1672
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1671
+            // lighten
1672
+            $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1673 1673
 
1674
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1675
-			$op_25 = $color_code."40"; // 25% opacity
1674
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1675
+            $op_25 = $color_code."40"; // 25% opacity
1676 1676
 
1677 1677
 
1678
-			// button states
1679
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1680
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1678
+            // button states
1679
+            $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1680
+            $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1681 1681
 //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1682
-			$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;} ";
1683
-			$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.";} ";
1684
-			$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;} ";
1682
+            $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;} ";
1683
+            $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.";} ";
1684
+            $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;} ";
1685 1685
 
1686
-			if ( $type == 'primary' ) {
1687
-				// dropdown's
1688
-				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1686
+            if ( $type == 'primary' ) {
1687
+                // dropdown's
1688
+                $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1689 1689
 
1690
-				// input states
1691
-				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1690
+                // input states
1691
+                $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1692 1692
 
1693
-				// page link
1694
-				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1695
-			}
1693
+                // page link
1694
+                $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1695
+            }
1696 1696
 
1697 1697
             // alerts
1698
-			if ( $aui_bs5 ) {
1698
+            if ( $aui_bs5 ) {
1699 1699
 //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1700
-				$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;} ";
1701
-			}
1702
-
1703
-			return $output;
1704
-		}
1705
-
1706
-		/**
1707
-		 *
1708
-		 * @deprecated 0.1.76 Use css_overwrite()
1709
-		 *
1710
-		 * @param $color_code
1711
-		 * @param $compatibility
1712
-		 * @param $use_variable
1713
-		 *
1714
-		 * @return string
1715
-		 */
1716
-		public static function css_primary($color_code,$compatibility, $use_variable = false){
1717
-
1718
-			if(!$use_variable){
1719
-				$color_code = sanitize_hex_color($color_code);
1720
-				if(!$color_code){return '';}
1721
-			}
1722
-
1723
-			/**
1724
-			 * c = color, b = background color, o = border-color, f = fill
1725
-			 */
1726
-			$selectors = array(
1727
-				'a' => array('c'),
1728
-				'.btn-primary' => array('b','o'),
1729
-				'.btn-primary.disabled' => array('b','o'),
1730
-				'.btn-primary:disabled' => array('b','o'),
1731
-				'.btn-outline-primary' => array('c','o'),
1732
-				'.btn-outline-primary:hover' => array('b','o'),
1733
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1734
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1735
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1736
-				'.btn-link' => array('c'),
1737
-				'.dropdown-item.active' => array('b'),
1738
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1739
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1700
+                $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;} ";
1701
+            }
1702
+
1703
+            return $output;
1704
+        }
1705
+
1706
+        /**
1707
+         *
1708
+         * @deprecated 0.1.76 Use css_overwrite()
1709
+         *
1710
+         * @param $color_code
1711
+         * @param $compatibility
1712
+         * @param $use_variable
1713
+         *
1714
+         * @return string
1715
+         */
1716
+        public static function css_primary($color_code,$compatibility, $use_variable = false){
1717
+
1718
+            if(!$use_variable){
1719
+                $color_code = sanitize_hex_color($color_code);
1720
+                if(!$color_code){return '';}
1721
+            }
1722
+
1723
+            /**
1724
+             * c = color, b = background color, o = border-color, f = fill
1725
+             */
1726
+            $selectors = array(
1727
+                'a' => array('c'),
1728
+                '.btn-primary' => array('b','o'),
1729
+                '.btn-primary.disabled' => array('b','o'),
1730
+                '.btn-primary:disabled' => array('b','o'),
1731
+                '.btn-outline-primary' => array('c','o'),
1732
+                '.btn-outline-primary:hover' => array('b','o'),
1733
+                '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1734
+                '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1735
+                '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1736
+                '.btn-link' => array('c'),
1737
+                '.dropdown-item.active' => array('b'),
1738
+                '.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1739
+                '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1740 1740
 //				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1741 1741
 //				'.custom-range::-moz-range-thumb' => array('b'),
1742 1742
 //				'.custom-range::-ms-thumb' => array('b'),
1743
-				'.nav-pills .nav-link.active' => array('b'),
1744
-				'.nav-pills .show>.nav-link' => array('b'),
1745
-				'.page-link' => array('c'),
1746
-				'.page-item.active .page-link' => array('b','o'),
1747
-				'.badge-primary' => array('b'),
1748
-				'.alert-primary' => array('b','o'),
1749
-				'.progress-bar' => array('b'),
1750
-				'.list-group-item.active' => array('b','o'),
1751
-				'.bg-primary' => array('b','f'),
1752
-				'.btn-link.btn-primary' => array('c'),
1753
-				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1754
-			);
1755
-
1756
-			$important_selectors = array(
1757
-				'.bg-primary' => array('b','f'),
1758
-				'.border-primary' => array('o'),
1759
-				'.text-primary' => array('c'),
1760
-			);
1761
-
1762
-			$color = array();
1763
-			$color_i = array();
1764
-			$background = array();
1765
-			$background_i = array();
1766
-			$border = array();
1767
-			$border_i = array();
1768
-			$fill = array();
1769
-			$fill_i = array();
1770
-
1771
-			$output = '';
1772
-
1773
-			// build rules into each type
1774
-			foreach($selectors as $selector => $types){
1775
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1776
-				$types = array_combine($types,$types);
1777
-				if(isset($types['c'])){$color[] = $selector;}
1778
-				if(isset($types['b'])){$background[] = $selector;}
1779
-				if(isset($types['o'])){$border[] = $selector;}
1780
-				if(isset($types['f'])){$fill[] = $selector;}
1781
-			}
1782
-
1783
-			// build rules into each type
1784
-			foreach($important_selectors as $selector => $types){
1785
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1786
-				$types = array_combine($types,$types);
1787
-				if(isset($types['c'])){$color_i[] = $selector;}
1788
-				if(isset($types['b'])){$background_i[] = $selector;}
1789
-				if(isset($types['o'])){$border_i[] = $selector;}
1790
-				if(isset($types['f'])){$fill_i[] = $selector;}
1791
-			}
1792
-
1793
-			// add any color rules
1794
-			if(!empty($color)){
1795
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1796
-			}
1797
-			if(!empty($color_i)){
1798
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1799
-			}
1800
-
1801
-			// add any background color rules
1802
-			if(!empty($background)){
1803
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1804
-			}
1805
-			if(!empty($background_i)){
1806
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1807
-			}
1808
-
1809
-			// add any border color rules
1810
-			if(!empty($border)){
1811
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1812
-			}
1813
-			if(!empty($border_i)){
1814
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1815
-			}
1816
-
1817
-			// add any fill color rules
1818
-			if(!empty($fill)){
1819
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1820
-			}
1821
-			if(!empty($fill_i)){
1822
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1823
-			}
1824
-
1825
-
1826
-			$prefix = $compatibility ? ".bsui " : "";
1827
-
1828
-			// darken
1829
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1830
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1831
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1832
-
1833
-			// lighten
1834
-			$lighten_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 .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1842
-			$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;} ";
1843
-			$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.";} ";
1844
-			$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;} ";
1845
-
1846
-
1847
-			// dropdown's
1848
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1849
-
1850
-
1851
-			// input states
1852
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1853
-
1854
-			// page link
1855
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1856
-
1857
-			return $output;
1858
-		}
1859
-
1860
-		/**
1861
-		 *
1862
-		 * @deprecated 0.1.76 Use css_overwrite()
1863
-		 *
1864
-		 * @param $color_code
1865
-		 * @param $compatibility
1866
-		 *
1867
-		 * @return string
1868
-		 */
1869
-		public static function css_secondary($color_code,$compatibility){;
1870
-			$color_code = sanitize_hex_color($color_code);
1871
-			if(!$color_code){return '';}
1872
-			/**
1873
-			 * c = color, b = background color, o = border-color, f = fill
1874
-			 */
1875
-			$selectors = array(
1876
-				'.btn-secondary' => array('b','o'),
1877
-				'.btn-secondary.disabled' => array('b','o'),
1878
-				'.btn-secondary:disabled' => array('b','o'),
1879
-				'.btn-outline-secondary' => array('c','o'),
1880
-				'.btn-outline-secondary:hover' => array('b','o'),
1881
-				'.btn-outline-secondary.disabled' => array('c'),
1882
-				'.btn-outline-secondary:disabled' => array('c'),
1883
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
1884
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
1885
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
1886
-				'.badge-secondary' => array('b'),
1887
-				'.alert-secondary' => array('b','o'),
1888
-				'.btn-link.btn-secondary' => array('c'),
1889
-			);
1890
-
1891
-			$important_selectors = array(
1892
-				'.bg-secondary' => array('b','f'),
1893
-				'.border-secondary' => array('o'),
1894
-				'.text-secondary' => array('c'),
1895
-			);
1896
-
1897
-			$color = array();
1898
-			$color_i = array();
1899
-			$background = array();
1900
-			$background_i = array();
1901
-			$border = array();
1902
-			$border_i = array();
1903
-			$fill = array();
1904
-			$fill_i = array();
1905
-
1906
-			$output = '';
1907
-
1908
-			// build rules into each type
1909
-			foreach($selectors as $selector => $types){
1910
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1911
-				$types = array_combine($types,$types);
1912
-				if(isset($types['c'])){$color[] = $selector;}
1913
-				if(isset($types['b'])){$background[] = $selector;}
1914
-				if(isset($types['o'])){$border[] = $selector;}
1915
-				if(isset($types['f'])){$fill[] = $selector;}
1916
-			}
1917
-
1918
-			// build rules into each type
1919
-			foreach($important_selectors as $selector => $types){
1920
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1921
-				$types = array_combine($types,$types);
1922
-				if(isset($types['c'])){$color_i[] = $selector;}
1923
-				if(isset($types['b'])){$background_i[] = $selector;}
1924
-				if(isset($types['o'])){$border_i[] = $selector;}
1925
-				if(isset($types['f'])){$fill_i[] = $selector;}
1926
-			}
1927
-
1928
-			// add any color rules
1929
-			if(!empty($color)){
1930
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1931
-			}
1932
-			if(!empty($color_i)){
1933
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1934
-			}
1935
-
1936
-			// add any background color rules
1937
-			if(!empty($background)){
1938
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1939
-			}
1940
-			if(!empty($background_i)){
1941
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1942
-			}
1943
-
1944
-			// add any border color rules
1945
-			if(!empty($border)){
1946
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1947
-			}
1948
-			if(!empty($border_i)){
1949
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1950
-			}
1951
-
1952
-			// add any fill color rules
1953
-			if(!empty($fill)){
1954
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1955
-			}
1956
-			if(!empty($fill_i)){
1957
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1958
-			}
1959
-
1960
-
1961
-			$prefix = $compatibility ? ".bsui " : "";
1962
-
1963
-			// darken
1964
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1965
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1966
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1967
-
1968
-			// lighten
1969
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1970
-
1971
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1972
-			$op_25 = $color_code."40"; // 25% opacity
1973
-
1974
-
1975
-			// button states
1976
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1977
-			$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;} ";
1978
-			$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.";} ";
1979
-			$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;} ";
1980
-
1981
-
1982
-			return $output;
1983
-		}
1984
-
1985
-		/**
1986
-		 * Increases or decreases the brightness of a color by a percentage of the current brightness.
1987
-		 *
1988
-		 * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
1989
-		 * @param   float   $adjustPercent  A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker.
1990
-		 *
1991
-		 * @return  string
1992
-		 */
1993
-		public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
1994
-			$hexCode = ltrim($hexCode, '#');
1995
-
1996
-			if (strlen($hexCode) == 3) {
1997
-				$hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
1998
-			}
1999
-
2000
-			$hexCode = array_map('hexdec', str_split($hexCode, 2));
2001
-
2002
-			foreach ($hexCode as & $color) {
2003
-				$adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2004
-				$adjustAmount = ceil($adjustableLimit * $adjustPercent);
2005
-
2006
-				$color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2007
-			}
2008
-
2009
-			return '#' . implode($hexCode);
2010
-		}
2011
-
2012
-		/**
2013
-		 * Check if we should display examples.
2014
-		 */
2015
-		public function maybe_show_examples(){
2016
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2017
-				echo "<head>";
2018
-				wp_head();
2019
-				echo "</head>";
2020
-				echo "<body>";
2021
-				echo $this->get_examples();
2022
-				echo "</body>";
2023
-				exit;
2024
-			}
2025
-		}
2026
-
2027
-		/**
2028
-		 * Get developer examples.
2029
-		 *
2030
-		 * @return string
2031
-		 */
2032
-		public function get_examples(){
2033
-			$output = '';
2034
-
2035
-
2036
-			// open form
2037
-			$output .= "<form class='p-5 m-5 border rounded'>";
2038
-
2039
-			// input example
2040
-			$output .= aui()->input(array(
2041
-				'type'  =>  'text',
2042
-				'id'    =>  'text-example',
2043
-				'name'    =>  'text-example',
2044
-				'placeholder'   => 'text placeholder',
2045
-				'title'   => 'Text input example',
2046
-				'value' =>  '',
2047
-				'required'  => false,
2048
-				'help_text' => 'help text',
2049
-				'label' => 'Text input example label'
2050
-			));
2051
-
2052
-			// input example
2053
-			$output .= aui()->input(array(
2054
-				'type'  =>  'url',
2055
-				'id'    =>  'text-example2',
2056
-				'name'    =>  'text-example',
2057
-				'placeholder'   => 'url placeholder',
2058
-				'title'   => 'Text input example',
2059
-				'value' =>  '',
2060
-				'required'  => false,
2061
-				'help_text' => 'help text',
2062
-				'label' => 'Text input example label'
2063
-			));
2064
-
2065
-			// checkbox example
2066
-			$output .= aui()->input(array(
2067
-				'type'  =>  'checkbox',
2068
-				'id'    =>  'checkbox-example',
2069
-				'name'    =>  'checkbox-example',
2070
-				'placeholder'   => 'checkbox-example',
2071
-				'title'   => 'Checkbox example',
2072
-				'value' =>  '1',
2073
-				'checked'   => true,
2074
-				'required'  => false,
2075
-				'help_text' => 'help text',
2076
-				'label' => 'Checkbox checked'
2077
-			));
2078
-
2079
-			// checkbox example
2080
-			$output .= aui()->input(array(
2081
-				'type'  =>  'checkbox',
2082
-				'id'    =>  'checkbox-example2',
2083
-				'name'    =>  'checkbox-example2',
2084
-				'placeholder'   => 'checkbox-example',
2085
-				'title'   => 'Checkbox example',
2086
-				'value' =>  '1',
2087
-				'checked'   => false,
2088
-				'required'  => false,
2089
-				'help_text' => 'help text',
2090
-				'label' => 'Checkbox un-checked'
2091
-			));
2092
-
2093
-			// switch example
2094
-			$output .= aui()->input(array(
2095
-				'type'  =>  'checkbox',
2096
-				'id'    =>  'switch-example',
2097
-				'name'    =>  'switch-example',
2098
-				'placeholder'   => 'checkbox-example',
2099
-				'title'   => 'Switch example',
2100
-				'value' =>  '1',
2101
-				'checked'   => true,
2102
-				'switch'    => true,
2103
-				'required'  => false,
2104
-				'help_text' => 'help text',
2105
-				'label' => 'Switch on'
2106
-			));
2107
-
2108
-			// switch example
2109
-			$output .= aui()->input(array(
2110
-				'type'  =>  'checkbox',
2111
-				'id'    =>  'switch-example2',
2112
-				'name'    =>  'switch-example2',
2113
-				'placeholder'   => 'checkbox-example',
2114
-				'title'   => 'Switch example',
2115
-				'value' =>  '1',
2116
-				'checked'   => false,
2117
-				'switch'    => true,
2118
-				'required'  => false,
2119
-				'help_text' => 'help text',
2120
-				'label' => 'Switch off'
2121
-			));
2122
-
2123
-			// close form
2124
-			$output .= "</form>";
2125
-
2126
-			return $output;
2127
-		}
2128
-
2129
-		/**
2130
-		 * Calendar params.
2131
-		 *
2132
-		 * @since 0.1.44
2133
-		 *
2134
-		 * @return array Calendar params.
2135
-		 */
2136
-		public static function calendar_params() {
2137
-			$params = array(
2138
-				'month_long_1' => __( 'January', 'aui' ),
2139
-				'month_long_2' => __( 'February', 'aui' ),
2140
-				'month_long_3' => __( 'March', 'aui' ),
2141
-				'month_long_4' => __( 'April', 'aui' ),
2142
-				'month_long_5' => __( 'May', 'aui' ),
2143
-				'month_long_6' => __( 'June', 'aui' ),
2144
-				'month_long_7' => __( 'July', 'aui' ),
2145
-				'month_long_8' => __( 'August', 'aui' ),
2146
-				'month_long_9' => __( 'September', 'aui' ),
2147
-				'month_long_10' => __( 'October', 'aui' ),
2148
-				'month_long_11' => __( 'November', 'aui' ),
2149
-				'month_long_12' => __( 'December', 'aui' ),
2150
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'aui' ),
2151
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'aui' ),
2152
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'aui' ),
2153
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'aui' ),
2154
-				'month_s_5' => _x( 'May', 'May abbreviation', 'aui' ),
2155
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'aui' ),
2156
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'aui' ),
2157
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'aui' ),
2158
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'aui' ),
2159
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'aui' ),
2160
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'aui' ),
2161
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'aui' ),
2162
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'aui' ),
2163
-				'day_s1_2' => _x( 'M', 'Monday initial', 'aui' ),
2164
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'aui' ),
2165
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'aui' ),
2166
-				'day_s1_5' => _x( 'T', 'Friday initial', 'aui' ),
2167
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'aui' ),
2168
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'aui' ),
2169
-				'day_s2_1' => __( 'Su', 'aui' ),
2170
-				'day_s2_2' => __( 'Mo', 'aui' ),
2171
-				'day_s2_3' => __( 'Tu', 'aui' ),
2172
-				'day_s2_4' => __( 'We', 'aui' ),
2173
-				'day_s2_5' => __( 'Th', 'aui' ),
2174
-				'day_s2_6' => __( 'Fr', 'aui' ),
2175
-				'day_s2_7' => __( 'Sa', 'aui' ),
2176
-				'day_s3_1' => __( 'Sun', 'aui' ),
2177
-				'day_s3_2' => __( 'Mon', 'aui' ),
2178
-				'day_s3_3' => __( 'Tue', 'aui' ),
2179
-				'day_s3_4' => __( 'Wed', 'aui' ),
2180
-				'day_s3_5' => __( 'Thu', 'aui' ),
2181
-				'day_s3_6' => __( 'Fri', 'aui' ),
2182
-				'day_s3_7' => __( 'Sat', 'aui' ),
2183
-				'day_s5_1' => __( 'Sunday', 'aui' ),
2184
-				'day_s5_2' => __( 'Monday', 'aui' ),
2185
-				'day_s5_3' => __( 'Tuesday', 'aui' ),
2186
-				'day_s5_4' => __( 'Wednesday', 'aui' ),
2187
-				'day_s5_5' => __( 'Thursday', 'aui' ),
2188
-				'day_s5_6' => __( 'Friday', 'aui' ),
2189
-				'day_s5_7' => __( 'Saturday', 'aui' ),
2190
-				'am_lower' => __( 'am', 'aui' ),
2191
-				'pm_lower' => __( 'pm', 'aui' ),
2192
-				'am_upper' => __( 'AM', 'aui' ),
2193
-				'pm_upper' => __( 'PM', 'aui' ),
2194
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2195
-				'time_24hr' => false,
2196
-				'year' => __( 'Year', 'aui' ),
2197
-				'hour' => __( 'Hour', 'aui' ),
2198
-				'minute' => __( 'Minute', 'aui' ),
2199
-				'weekAbbreviation' => __( 'Wk', 'aui' ),
2200
-				'rangeSeparator' => __( ' to ', 'aui' ),
2201
-				'scrollTitle' => __( 'Scroll to increment', 'aui' ),
2202
-				'toggleTitle' => __( 'Click to toggle', 'aui' )
2203
-			);
2204
-
2205
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
2206
-		}
2207
-
2208
-		/**
2209
-		 * Flatpickr calendar localize.
2210
-		 *
2211
-		 * @since 0.1.44
2212
-		 *
2213
-		 * @return string Calendar locale.
2214
-		 */
2215
-		public static function flatpickr_locale() {
2216
-			$params = self::calendar_params();
2217
-
2218
-			if ( is_string( $params ) ) {
2219
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2220
-			} else {
2221
-				foreach ( (array) $params as $key => $value ) {
2222
-					if ( ! is_scalar( $value ) ) {
2223
-						continue;
2224
-					}
2225
-
2226
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2227
-				}
2228
-			}
1743
+                '.nav-pills .nav-link.active' => array('b'),
1744
+                '.nav-pills .show>.nav-link' => array('b'),
1745
+                '.page-link' => array('c'),
1746
+                '.page-item.active .page-link' => array('b','o'),
1747
+                '.badge-primary' => array('b'),
1748
+                '.alert-primary' => array('b','o'),
1749
+                '.progress-bar' => array('b'),
1750
+                '.list-group-item.active' => array('b','o'),
1751
+                '.bg-primary' => array('b','f'),
1752
+                '.btn-link.btn-primary' => array('c'),
1753
+                '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1754
+            );
1755
+
1756
+            $important_selectors = array(
1757
+                '.bg-primary' => array('b','f'),
1758
+                '.border-primary' => array('o'),
1759
+                '.text-primary' => array('c'),
1760
+            );
1761
+
1762
+            $color = array();
1763
+            $color_i = array();
1764
+            $background = array();
1765
+            $background_i = array();
1766
+            $border = array();
1767
+            $border_i = array();
1768
+            $fill = array();
1769
+            $fill_i = array();
1770
+
1771
+            $output = '';
1772
+
1773
+            // build rules into each type
1774
+            foreach($selectors as $selector => $types){
1775
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1776
+                $types = array_combine($types,$types);
1777
+                if(isset($types['c'])){$color[] = $selector;}
1778
+                if(isset($types['b'])){$background[] = $selector;}
1779
+                if(isset($types['o'])){$border[] = $selector;}
1780
+                if(isset($types['f'])){$fill[] = $selector;}
1781
+            }
1782
+
1783
+            // build rules into each type
1784
+            foreach($important_selectors as $selector => $types){
1785
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1786
+                $types = array_combine($types,$types);
1787
+                if(isset($types['c'])){$color_i[] = $selector;}
1788
+                if(isset($types['b'])){$background_i[] = $selector;}
1789
+                if(isset($types['o'])){$border_i[] = $selector;}
1790
+                if(isset($types['f'])){$fill_i[] = $selector;}
1791
+            }
1792
+
1793
+            // add any color rules
1794
+            if(!empty($color)){
1795
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1796
+            }
1797
+            if(!empty($color_i)){
1798
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1799
+            }
1800
+
1801
+            // add any background color rules
1802
+            if(!empty($background)){
1803
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1804
+            }
1805
+            if(!empty($background_i)){
1806
+                $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1807
+            }
1808
+
1809
+            // add any border color rules
1810
+            if(!empty($border)){
1811
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1812
+            }
1813
+            if(!empty($border_i)){
1814
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1815
+            }
1816
+
1817
+            // add any fill color rules
1818
+            if(!empty($fill)){
1819
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1820
+            }
1821
+            if(!empty($fill_i)){
1822
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1823
+            }
1824
+
1825
+
1826
+            $prefix = $compatibility ? ".bsui " : "";
1827
+
1828
+            // darken
1829
+            $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1830
+            $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1831
+            $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1832
+
1833
+            // lighten
1834
+            $lighten_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
+
2229 1839
 
2230
-			$day_s3 = array();
2231
-			$day_s5 = array();
1840
+            // button states
1841
+            $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1842
+            $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;} ";
1843
+            $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.";} ";
1844
+            $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;} ";
2232 1845
 
2233
-			for ( $i = 1; $i <= 7; $i ++ ) {
2234
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] );
2235
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] );
2236
-			}
2237 1846
 
2238
-			$month_s = array();
2239
-			$month_long = array();
1847
+            // dropdown's
1848
+            $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2240 1849
 
2241
-			for ( $i = 1; $i <= 12; $i ++ ) {
2242
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] );
2243
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] );
2244
-			}
2245 1850
 
2246
-			ob_start();
2247
-		if ( 0 ) { ?><script><?php } ?>
1851
+            // input states
1852
+            $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1853
+
1854
+            // page link
1855
+            $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1856
+
1857
+            return $output;
1858
+        }
1859
+
1860
+        /**
1861
+         *
1862
+         * @deprecated 0.1.76 Use css_overwrite()
1863
+         *
1864
+         * @param $color_code
1865
+         * @param $compatibility
1866
+         *
1867
+         * @return string
1868
+         */
1869
+        public static function css_secondary($color_code,$compatibility){;
1870
+            $color_code = sanitize_hex_color($color_code);
1871
+            if(!$color_code){return '';}
1872
+            /**
1873
+             * c = color, b = background color, o = border-color, f = fill
1874
+             */
1875
+            $selectors = array(
1876
+                '.btn-secondary' => array('b','o'),
1877
+                '.btn-secondary.disabled' => array('b','o'),
1878
+                '.btn-secondary:disabled' => array('b','o'),
1879
+                '.btn-outline-secondary' => array('c','o'),
1880
+                '.btn-outline-secondary:hover' => array('b','o'),
1881
+                '.btn-outline-secondary.disabled' => array('c'),
1882
+                '.btn-outline-secondary:disabled' => array('c'),
1883
+                '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
1884
+                '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
1885
+                '.btn-outline-secondary.dropdown-toggle' => array('b','o'),
1886
+                '.badge-secondary' => array('b'),
1887
+                '.alert-secondary' => array('b','o'),
1888
+                '.btn-link.btn-secondary' => array('c'),
1889
+            );
1890
+
1891
+            $important_selectors = array(
1892
+                '.bg-secondary' => array('b','f'),
1893
+                '.border-secondary' => array('o'),
1894
+                '.text-secondary' => array('c'),
1895
+            );
1896
+
1897
+            $color = array();
1898
+            $color_i = array();
1899
+            $background = array();
1900
+            $background_i = array();
1901
+            $border = array();
1902
+            $border_i = array();
1903
+            $fill = array();
1904
+            $fill_i = array();
1905
+
1906
+            $output = '';
1907
+
1908
+            // build rules into each type
1909
+            foreach($selectors as $selector => $types){
1910
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1911
+                $types = array_combine($types,$types);
1912
+                if(isset($types['c'])){$color[] = $selector;}
1913
+                if(isset($types['b'])){$background[] = $selector;}
1914
+                if(isset($types['o'])){$border[] = $selector;}
1915
+                if(isset($types['f'])){$fill[] = $selector;}
1916
+            }
1917
+
1918
+            // build rules into each type
1919
+            foreach($important_selectors as $selector => $types){
1920
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1921
+                $types = array_combine($types,$types);
1922
+                if(isset($types['c'])){$color_i[] = $selector;}
1923
+                if(isset($types['b'])){$background_i[] = $selector;}
1924
+                if(isset($types['o'])){$border_i[] = $selector;}
1925
+                if(isset($types['f'])){$fill_i[] = $selector;}
1926
+            }
1927
+
1928
+            // add any color rules
1929
+            if(!empty($color)){
1930
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1931
+            }
1932
+            if(!empty($color_i)){
1933
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1934
+            }
1935
+
1936
+            // add any background color rules
1937
+            if(!empty($background)){
1938
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1939
+            }
1940
+            if(!empty($background_i)){
1941
+                $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1942
+            }
1943
+
1944
+            // add any border color rules
1945
+            if(!empty($border)){
1946
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1947
+            }
1948
+            if(!empty($border_i)){
1949
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1950
+            }
1951
+
1952
+            // add any fill color rules
1953
+            if(!empty($fill)){
1954
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1955
+            }
1956
+            if(!empty($fill_i)){
1957
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1958
+            }
1959
+
1960
+
1961
+            $prefix = $compatibility ? ".bsui " : "";
1962
+
1963
+            // darken
1964
+            $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1965
+            $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1966
+            $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1967
+
1968
+            // lighten
1969
+            $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1970
+
1971
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1972
+            $op_25 = $color_code."40"; // 25% opacity
1973
+
1974
+
1975
+            // button states
1976
+            $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1977
+            $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;} ";
1978
+            $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.";} ";
1979
+            $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;} ";
1980
+
1981
+
1982
+            return $output;
1983
+        }
1984
+
1985
+        /**
1986
+         * Increases or decreases the brightness of a color by a percentage of the current brightness.
1987
+         *
1988
+         * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
1989
+         * @param   float   $adjustPercent  A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker.
1990
+         *
1991
+         * @return  string
1992
+         */
1993
+        public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
1994
+            $hexCode = ltrim($hexCode, '#');
1995
+
1996
+            if (strlen($hexCode) == 3) {
1997
+                $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
1998
+            }
1999
+
2000
+            $hexCode = array_map('hexdec', str_split($hexCode, 2));
2001
+
2002
+            foreach ($hexCode as & $color) {
2003
+                $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2004
+                $adjustAmount = ceil($adjustableLimit * $adjustPercent);
2005
+
2006
+                $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2007
+            }
2008
+
2009
+            return '#' . implode($hexCode);
2010
+        }
2011
+
2012
+        /**
2013
+         * Check if we should display examples.
2014
+         */
2015
+        public function maybe_show_examples(){
2016
+            if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2017
+                echo "<head>";
2018
+                wp_head();
2019
+                echo "</head>";
2020
+                echo "<body>";
2021
+                echo $this->get_examples();
2022
+                echo "</body>";
2023
+                exit;
2024
+            }
2025
+        }
2026
+
2027
+        /**
2028
+         * Get developer examples.
2029
+         *
2030
+         * @return string
2031
+         */
2032
+        public function get_examples(){
2033
+            $output = '';
2034
+
2035
+
2036
+            // open form
2037
+            $output .= "<form class='p-5 m-5 border rounded'>";
2038
+
2039
+            // input example
2040
+            $output .= aui()->input(array(
2041
+                'type'  =>  'text',
2042
+                'id'    =>  'text-example',
2043
+                'name'    =>  'text-example',
2044
+                'placeholder'   => 'text placeholder',
2045
+                'title'   => 'Text input example',
2046
+                'value' =>  '',
2047
+                'required'  => false,
2048
+                'help_text' => 'help text',
2049
+                'label' => 'Text input example label'
2050
+            ));
2051
+
2052
+            // input example
2053
+            $output .= aui()->input(array(
2054
+                'type'  =>  'url',
2055
+                'id'    =>  'text-example2',
2056
+                'name'    =>  'text-example',
2057
+                'placeholder'   => 'url placeholder',
2058
+                'title'   => 'Text input example',
2059
+                'value' =>  '',
2060
+                'required'  => false,
2061
+                'help_text' => 'help text',
2062
+                'label' => 'Text input example label'
2063
+            ));
2064
+
2065
+            // checkbox example
2066
+            $output .= aui()->input(array(
2067
+                'type'  =>  'checkbox',
2068
+                'id'    =>  'checkbox-example',
2069
+                'name'    =>  'checkbox-example',
2070
+                'placeholder'   => 'checkbox-example',
2071
+                'title'   => 'Checkbox example',
2072
+                'value' =>  '1',
2073
+                'checked'   => true,
2074
+                'required'  => false,
2075
+                'help_text' => 'help text',
2076
+                'label' => 'Checkbox checked'
2077
+            ));
2078
+
2079
+            // checkbox example
2080
+            $output .= aui()->input(array(
2081
+                'type'  =>  'checkbox',
2082
+                'id'    =>  'checkbox-example2',
2083
+                'name'    =>  'checkbox-example2',
2084
+                'placeholder'   => 'checkbox-example',
2085
+                'title'   => 'Checkbox example',
2086
+                'value' =>  '1',
2087
+                'checked'   => false,
2088
+                'required'  => false,
2089
+                'help_text' => 'help text',
2090
+                'label' => 'Checkbox un-checked'
2091
+            ));
2092
+
2093
+            // switch example
2094
+            $output .= aui()->input(array(
2095
+                'type'  =>  'checkbox',
2096
+                'id'    =>  'switch-example',
2097
+                'name'    =>  'switch-example',
2098
+                'placeholder'   => 'checkbox-example',
2099
+                'title'   => 'Switch example',
2100
+                'value' =>  '1',
2101
+                'checked'   => true,
2102
+                'switch'    => true,
2103
+                'required'  => false,
2104
+                'help_text' => 'help text',
2105
+                'label' => 'Switch on'
2106
+            ));
2107
+
2108
+            // switch example
2109
+            $output .= aui()->input(array(
2110
+                'type'  =>  'checkbox',
2111
+                'id'    =>  'switch-example2',
2112
+                'name'    =>  'switch-example2',
2113
+                'placeholder'   => 'checkbox-example',
2114
+                'title'   => 'Switch example',
2115
+                'value' =>  '1',
2116
+                'checked'   => false,
2117
+                'switch'    => true,
2118
+                'required'  => false,
2119
+                'help_text' => 'help text',
2120
+                'label' => 'Switch off'
2121
+            ));
2122
+
2123
+            // close form
2124
+            $output .= "</form>";
2125
+
2126
+            return $output;
2127
+        }
2128
+
2129
+        /**
2130
+         * Calendar params.
2131
+         *
2132
+         * @since 0.1.44
2133
+         *
2134
+         * @return array Calendar params.
2135
+         */
2136
+        public static function calendar_params() {
2137
+            $params = array(
2138
+                'month_long_1' => __( 'January', 'aui' ),
2139
+                'month_long_2' => __( 'February', 'aui' ),
2140
+                'month_long_3' => __( 'March', 'aui' ),
2141
+                'month_long_4' => __( 'April', 'aui' ),
2142
+                'month_long_5' => __( 'May', 'aui' ),
2143
+                'month_long_6' => __( 'June', 'aui' ),
2144
+                'month_long_7' => __( 'July', 'aui' ),
2145
+                'month_long_8' => __( 'August', 'aui' ),
2146
+                'month_long_9' => __( 'September', 'aui' ),
2147
+                'month_long_10' => __( 'October', 'aui' ),
2148
+                'month_long_11' => __( 'November', 'aui' ),
2149
+                'month_long_12' => __( 'December', 'aui' ),
2150
+                'month_s_1' => _x( 'Jan', 'January abbreviation', 'aui' ),
2151
+                'month_s_2' => _x( 'Feb', 'February abbreviation', 'aui' ),
2152
+                'month_s_3' => _x( 'Mar', 'March abbreviation', 'aui' ),
2153
+                'month_s_4' => _x( 'Apr', 'April abbreviation', 'aui' ),
2154
+                'month_s_5' => _x( 'May', 'May abbreviation', 'aui' ),
2155
+                'month_s_6' => _x( 'Jun', 'June abbreviation', 'aui' ),
2156
+                'month_s_7' => _x( 'Jul', 'July abbreviation', 'aui' ),
2157
+                'month_s_8' => _x( 'Aug', 'August abbreviation', 'aui' ),
2158
+                'month_s_9' => _x( 'Sep', 'September abbreviation', 'aui' ),
2159
+                'month_s_10' => _x( 'Oct', 'October abbreviation', 'aui' ),
2160
+                'month_s_11' => _x( 'Nov', 'November abbreviation', 'aui' ),
2161
+                'month_s_12' => _x( 'Dec', 'December abbreviation', 'aui' ),
2162
+                'day_s1_1' => _x( 'S', 'Sunday initial', 'aui' ),
2163
+                'day_s1_2' => _x( 'M', 'Monday initial', 'aui' ),
2164
+                'day_s1_3' => _x( 'T', 'Tuesday initial', 'aui' ),
2165
+                'day_s1_4' => _x( 'W', 'Wednesday initial', 'aui' ),
2166
+                'day_s1_5' => _x( 'T', 'Friday initial', 'aui' ),
2167
+                'day_s1_6' => _x( 'F', 'Thursday initial', 'aui' ),
2168
+                'day_s1_7' => _x( 'S', 'Saturday initial', 'aui' ),
2169
+                'day_s2_1' => __( 'Su', 'aui' ),
2170
+                'day_s2_2' => __( 'Mo', 'aui' ),
2171
+                'day_s2_3' => __( 'Tu', 'aui' ),
2172
+                'day_s2_4' => __( 'We', 'aui' ),
2173
+                'day_s2_5' => __( 'Th', 'aui' ),
2174
+                'day_s2_6' => __( 'Fr', 'aui' ),
2175
+                'day_s2_7' => __( 'Sa', 'aui' ),
2176
+                'day_s3_1' => __( 'Sun', 'aui' ),
2177
+                'day_s3_2' => __( 'Mon', 'aui' ),
2178
+                'day_s3_3' => __( 'Tue', 'aui' ),
2179
+                'day_s3_4' => __( 'Wed', 'aui' ),
2180
+                'day_s3_5' => __( 'Thu', 'aui' ),
2181
+                'day_s3_6' => __( 'Fri', 'aui' ),
2182
+                'day_s3_7' => __( 'Sat', 'aui' ),
2183
+                'day_s5_1' => __( 'Sunday', 'aui' ),
2184
+                'day_s5_2' => __( 'Monday', 'aui' ),
2185
+                'day_s5_3' => __( 'Tuesday', 'aui' ),
2186
+                'day_s5_4' => __( 'Wednesday', 'aui' ),
2187
+                'day_s5_5' => __( 'Thursday', 'aui' ),
2188
+                'day_s5_6' => __( 'Friday', 'aui' ),
2189
+                'day_s5_7' => __( 'Saturday', 'aui' ),
2190
+                'am_lower' => __( 'am', 'aui' ),
2191
+                'pm_lower' => __( 'pm', 'aui' ),
2192
+                'am_upper' => __( 'AM', 'aui' ),
2193
+                'pm_upper' => __( 'PM', 'aui' ),
2194
+                'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2195
+                'time_24hr' => false,
2196
+                'year' => __( 'Year', 'aui' ),
2197
+                'hour' => __( 'Hour', 'aui' ),
2198
+                'minute' => __( 'Minute', 'aui' ),
2199
+                'weekAbbreviation' => __( 'Wk', 'aui' ),
2200
+                'rangeSeparator' => __( ' to ', 'aui' ),
2201
+                'scrollTitle' => __( 'Scroll to increment', 'aui' ),
2202
+                'toggleTitle' => __( 'Click to toggle', 'aui' )
2203
+            );
2204
+
2205
+            return apply_filters( 'ayecode_ui_calendar_params', $params );
2206
+        }
2207
+
2208
+        /**
2209
+         * Flatpickr calendar localize.
2210
+         *
2211
+         * @since 0.1.44
2212
+         *
2213
+         * @return string Calendar locale.
2214
+         */
2215
+        public static function flatpickr_locale() {
2216
+            $params = self::calendar_params();
2217
+
2218
+            if ( is_string( $params ) ) {
2219
+                $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2220
+            } else {
2221
+                foreach ( (array) $params as $key => $value ) {
2222
+                    if ( ! is_scalar( $value ) ) {
2223
+                        continue;
2224
+                    }
2225
+
2226
+                    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2227
+                }
2228
+            }
2229
+
2230
+            $day_s3 = array();
2231
+            $day_s5 = array();
2232
+
2233
+            for ( $i = 1; $i <= 7; $i ++ ) {
2234
+                $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] );
2235
+                $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] );
2236
+            }
2237
+
2238
+            $month_s = array();
2239
+            $month_long = array();
2240
+
2241
+            for ( $i = 1; $i <= 12; $i ++ ) {
2242
+                $month_s[] = addslashes( $params[ 'month_s_' . $i ] );
2243
+                $month_long[] = addslashes( $params[ 'month_long_' . $i ] );
2244
+            }
2245
+
2246
+            ob_start();
2247
+        if ( 0 ) { ?><script><?php } ?>
2248 2248
                 {
2249 2249
                     weekdays: {
2250 2250
                         shorthand: ['<?php echo implode( "','", $day_s3 ); ?>'],
@@ -2283,189 +2283,189 @@  discard block
 block discarded – undo
2283 2283
                 }
2284 2284
 				<?php if ( 0 ) { ?></script><?php } ?>
2285 2285
 			<?php
2286
-			$locale = ob_get_clean();
2287
-
2288
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2289
-		}
2290
-
2291
-		/**
2292
-		 * Select2 JS params.
2293
-		 *
2294
-		 * @since 0.1.44
2295
-		 *
2296
-		 * @return array Select2 JS params.
2297
-		 */
2298
-		public static function select2_params() {
2299
-			$params = array(
2300
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'aui' ),
2301
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'aui' ),
2302
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'aui' ),
2303
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'aui' ),
2304
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'aui' ),
2305
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'aui' ),
2306
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'aui' ),
2307
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'aui' ),
2308
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'aui' ),
2309
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'aui' ),
2310
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'aui' )
2311
-			);
2312
-
2313
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2314
-		}
2315
-
2316
-		/**
2317
-		 * Select2 JS localize.
2318
-		 *
2319
-		 * @since 0.1.44
2320
-		 *
2321
-		 * @return string Select2 JS locale.
2322
-		 */
2323
-		public static function select2_locale() {
2324
-			$params = self::select2_params();
2325
-
2326
-			foreach ( (array) $params as $key => $value ) {
2327
-				if ( ! is_scalar( $value ) ) {
2328
-					continue;
2329
-				}
2286
+            $locale = ob_get_clean();
2330 2287
 
2331
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2332
-			}
2333
-
2334
-			$locale = json_encode( $params );
2335
-
2336
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2337
-		}
2338
-
2339
-		/**
2340
-		 * Time ago JS localize.
2341
-		 *
2342
-		 * @since 0.1.47
2343
-		 *
2344
-		 * @return string Time ago JS locale.
2345
-		 */
2346
-		public static function timeago_locale() {
2347
-			$params = array(
2348
-				'prefix_ago' => '',
2349
-				'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'aui' ),
2350
-				'prefix_after' => _x( 'after', 'time ago', 'aui' ) . ' ',
2351
-				'suffix_after' => '',
2352
-				'seconds' => _x( 'less than a minute', 'time ago', 'aui' ),
2353
-				'minute' => _x( 'about a minute', 'time ago', 'aui' ),
2354
-				'minutes' => _x( '%d minutes', 'time ago', 'aui' ),
2355
-				'hour' => _x( 'about an hour', 'time ago', 'aui' ),
2356
-				'hours' => _x( 'about %d hours', 'time ago', 'aui' ),
2357
-				'day' => _x( 'a day', 'time ago', 'aui' ),
2358
-				'days' => _x( '%d days', 'time ago', 'aui' ),
2359
-				'month' => _x( 'about a month', 'time ago', 'aui' ),
2360
-				'months' => _x( '%d months', 'time ago', 'aui' ),
2361
-				'year' => _x( 'about a year', 'time ago', 'aui' ),
2362
-				'years' => _x( '%d years', 'time ago', 'aui' ),
2363
-			);
2364
-
2365
-			$params = apply_filters( 'ayecode_ui_timeago_params', $params );
2366
-
2367
-			foreach ( (array) $params as $key => $value ) {
2368
-				if ( ! is_scalar( $value ) ) {
2369
-					continue;
2370
-				}
2288
+            return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2289
+        }
2371 2290
 
2372
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2373
-			}
2374
-
2375
-			$locale = json_encode( $params );
2376
-
2377
-			return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2378
-		}
2379
-
2380
-		/**
2381
-		 * JavaScript Minifier
2382
-		 *
2383
-		 * @param $input
2384
-		 *
2385
-		 * @return mixed
2386
-		 */
2387
-		public static function minify_js($input) {
2388
-			if(trim($input) === "") return $input;
2389
-			return preg_replace(
2390
-				array(
2391
-					// Remove comment(s)
2392
-					'#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2393
-					// Remove white-space(s) outside the string and regex
2394
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2395
-					// Remove the last semicolon
2396
-					'#;+\}#',
2397
-					// Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2398
-					'#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2399
-					// --ibid. From `foo['bar']` to `foo.bar`
2400
-					'#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2401
-				),
2402
-				array(
2403
-					'$1',
2404
-					'$1$2',
2405
-					'}',
2406
-					'$1$3',
2407
-					'$1.$3'
2408
-				),
2409
-				$input);
2410
-		}
2411
-
2412
-		/**
2413
-		 * Minify CSS
2414
-		 *
2415
-		 * @param $input
2416
-		 *
2417
-		 * @return mixed
2418
-		 */
2419
-		public static function minify_css($input) {
2420
-			if(trim($input) === "") return $input;
2421
-			return preg_replace(
2422
-				array(
2423
-					// Remove comment(s)
2424
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2425
-					// Remove unused white-space(s)
2426
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2427
-					// Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2428
-					'#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2429
-					// Replace `:0 0 0 0` with `:0`
2430
-					'#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2431
-					// Replace `background-position:0` with `background-position:0 0`
2432
-					'#(background-position):0(?=[;\}])#si',
2433
-					// Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2434
-					'#(?<=[\s:,\-])0+\.(\d+)#s',
2435
-					// Minify string value
2436
-					'#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2437
-					'#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2438
-					// Minify HEX color code
2439
-					'#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2440
-					// Replace `(border|outline):none` with `(border|outline):0`
2441
-					'#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2442
-					// Remove empty selector(s)
2443
-					'#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2444
-				),
2445
-				array(
2446
-					'$1',
2447
-					'$1$2$3$4$5$6$7',
2448
-					'$1',
2449
-					':0',
2450
-					'$1:0 0',
2451
-					'.$1',
2452
-					'$1$3',
2453
-					'$1$2$4$5',
2454
-					'$1$2$3',
2455
-					'$1:0',
2456
-					'$1$2'
2457
-				),
2458
-				$input);
2459
-		}
2460
-
2461
-		/**
2462
-		 * Get the conditional fields JavaScript.
2463
-		 *
2464
-		 * @return mixed
2465
-		 */
2466
-		public function conditional_fields_js() {
2467
-			ob_start();
2468
-			?>
2291
+        /**
2292
+         * Select2 JS params.
2293
+         *
2294
+         * @since 0.1.44
2295
+         *
2296
+         * @return array Select2 JS params.
2297
+         */
2298
+        public static function select2_params() {
2299
+            $params = array(
2300
+                'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'aui' ),
2301
+                'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'aui' ),
2302
+                'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'aui' ),
2303
+                'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'aui' ),
2304
+                'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'aui' ),
2305
+                'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'aui' ),
2306
+                'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'aui' ),
2307
+                'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'aui' ),
2308
+                'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'aui' ),
2309
+                'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'aui' ),
2310
+                'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'aui' )
2311
+            );
2312
+
2313
+            return apply_filters( 'ayecode_ui_select2_params', $params );
2314
+        }
2315
+
2316
+        /**
2317
+         * Select2 JS localize.
2318
+         *
2319
+         * @since 0.1.44
2320
+         *
2321
+         * @return string Select2 JS locale.
2322
+         */
2323
+        public static function select2_locale() {
2324
+            $params = self::select2_params();
2325
+
2326
+            foreach ( (array) $params as $key => $value ) {
2327
+                if ( ! is_scalar( $value ) ) {
2328
+                    continue;
2329
+                }
2330
+
2331
+                $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2332
+            }
2333
+
2334
+            $locale = json_encode( $params );
2335
+
2336
+            return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2337
+        }
2338
+
2339
+        /**
2340
+         * Time ago JS localize.
2341
+         *
2342
+         * @since 0.1.47
2343
+         *
2344
+         * @return string Time ago JS locale.
2345
+         */
2346
+        public static function timeago_locale() {
2347
+            $params = array(
2348
+                'prefix_ago' => '',
2349
+                'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'aui' ),
2350
+                'prefix_after' => _x( 'after', 'time ago', 'aui' ) . ' ',
2351
+                'suffix_after' => '',
2352
+                'seconds' => _x( 'less than a minute', 'time ago', 'aui' ),
2353
+                'minute' => _x( 'about a minute', 'time ago', 'aui' ),
2354
+                'minutes' => _x( '%d minutes', 'time ago', 'aui' ),
2355
+                'hour' => _x( 'about an hour', 'time ago', 'aui' ),
2356
+                'hours' => _x( 'about %d hours', 'time ago', 'aui' ),
2357
+                'day' => _x( 'a day', 'time ago', 'aui' ),
2358
+                'days' => _x( '%d days', 'time ago', 'aui' ),
2359
+                'month' => _x( 'about a month', 'time ago', 'aui' ),
2360
+                'months' => _x( '%d months', 'time ago', 'aui' ),
2361
+                'year' => _x( 'about a year', 'time ago', 'aui' ),
2362
+                'years' => _x( '%d years', 'time ago', 'aui' ),
2363
+            );
2364
+
2365
+            $params = apply_filters( 'ayecode_ui_timeago_params', $params );
2366
+
2367
+            foreach ( (array) $params as $key => $value ) {
2368
+                if ( ! is_scalar( $value ) ) {
2369
+                    continue;
2370
+                }
2371
+
2372
+                $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2373
+            }
2374
+
2375
+            $locale = json_encode( $params );
2376
+
2377
+            return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2378
+        }
2379
+
2380
+        /**
2381
+         * JavaScript Minifier
2382
+         *
2383
+         * @param $input
2384
+         *
2385
+         * @return mixed
2386
+         */
2387
+        public static function minify_js($input) {
2388
+            if(trim($input) === "") return $input;
2389
+            return preg_replace(
2390
+                array(
2391
+                    // Remove comment(s)
2392
+                    '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2393
+                    // Remove white-space(s) outside the string and regex
2394
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2395
+                    // Remove the last semicolon
2396
+                    '#;+\}#',
2397
+                    // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2398
+                    '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2399
+                    // --ibid. From `foo['bar']` to `foo.bar`
2400
+                    '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2401
+                ),
2402
+                array(
2403
+                    '$1',
2404
+                    '$1$2',
2405
+                    '}',
2406
+                    '$1$3',
2407
+                    '$1.$3'
2408
+                ),
2409
+                $input);
2410
+        }
2411
+
2412
+        /**
2413
+         * Minify CSS
2414
+         *
2415
+         * @param $input
2416
+         *
2417
+         * @return mixed
2418
+         */
2419
+        public static function minify_css($input) {
2420
+            if(trim($input) === "") return $input;
2421
+            return preg_replace(
2422
+                array(
2423
+                    // Remove comment(s)
2424
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2425
+                    // Remove unused white-space(s)
2426
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2427
+                    // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2428
+                    '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2429
+                    // Replace `:0 0 0 0` with `:0`
2430
+                    '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2431
+                    // Replace `background-position:0` with `background-position:0 0`
2432
+                    '#(background-position):0(?=[;\}])#si',
2433
+                    // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2434
+                    '#(?<=[\s:,\-])0+\.(\d+)#s',
2435
+                    // Minify string value
2436
+                    '#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2437
+                    '#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2438
+                    // Minify HEX color code
2439
+                    '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2440
+                    // Replace `(border|outline):none` with `(border|outline):0`
2441
+                    '#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2442
+                    // Remove empty selector(s)
2443
+                    '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2444
+                ),
2445
+                array(
2446
+                    '$1',
2447
+                    '$1$2$3$4$5$6$7',
2448
+                    '$1',
2449
+                    ':0',
2450
+                    '$1:0 0',
2451
+                    '.$1',
2452
+                    '$1$3',
2453
+                    '$1$2$4$5',
2454
+                    '$1$2$3',
2455
+                    '$1:0',
2456
+                    '$1$2'
2457
+                ),
2458
+                $input);
2459
+        }
2460
+
2461
+        /**
2462
+         * Get the conditional fields JavaScript.
2463
+         *
2464
+         * @return mixed
2465
+         */
2466
+        public function conditional_fields_js() {
2467
+            ob_start();
2468
+            ?>
2469 2469
             <script>
2470 2470
                 /**
2471 2471
                  * Conditional Fields
@@ -2970,14 +2970,14 @@  discard block
 block discarded – undo
2970 2970
 				<?php do_action( 'aui_conditional_fields_js', $this ); ?>
2971 2971
             </script>
2972 2972
 			<?php
2973
-			$output = ob_get_clean();
2973
+            $output = ob_get_clean();
2974 2974
 
2975
-			return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
2976
-		}
2977
-	}
2975
+            return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
2976
+        }
2977
+    }
2978 2978
 
2979
-	/**
2980
-	 * Run the class if found.
2981
-	 */
2982
-	AyeCode_UI_Settings::instance();
2979
+    /**
2980
+     * Run the class if found.
2981
+     */
2982
+    AyeCode_UI_Settings::instance();
2983 2983
 }
2984 2984
\ No newline at end of file
Please login to merge, or discard this patch.