Passed
Push — master ( 4acfb0...00541b )
by Brian
04:13
created
includes/gateways/class-getpaid-bank-transfer-gateway.php 2 patches
Indentation   +175 added lines, -175 removed lines patch added patch discarded remove patch
@@ -13,30 +13,30 @@  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( 'addons' );
22
+    /**
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27
+    protected $supports = array( 'addons' );
28 28
 
29 29
     /**
30
-	 * Payment method order.
31
-	 *
32
-	 * @var int
33
-	 */
34
-	public $order = 8;
30
+     * Payment method order.
31
+     *
32
+     * @var int
33
+     */
34
+    public $order = 8;
35 35
 
36 36
     /**
37
-	 * Class constructor.
38
-	 */
39
-	public function __construct() {
37
+     * Class constructor.
38
+     */
39
+    public function __construct() {
40 40
         parent::__construct();
41 41
 
42 42
         $this->title                = __( 'Direct bank transfer', 'invoicing' );
@@ -44,23 +44,23 @@  discard block
 block discarded – undo
44 44
         $this->checkout_button_text = __( 'Proceed', 'invoicing' );
45 45
         $this->instructions         = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) );
46 46
 
47
-		add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
48
-		add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
49
-		add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
50
-		add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
47
+        add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
48
+        add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
49
+        add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
50
+        add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
51 51
 
52 52
     }
53 53
 
54 54
     /**
55
-	 * Process Payment.
56
-	 *
57
-	 *
58
-	 * @param WPInv_Invoice $invoice Invoice.
59
-	 * @param array $submission_data Posted checkout fields.
60
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
61
-	 * @return array
62
-	 */
63
-	public function process_payment( $invoice, $submission_data, $submission ) {
55
+     * Process Payment.
56
+     *
57
+     *
58
+     * @param WPInv_Invoice $invoice Invoice.
59
+     * @param array $submission_data Posted checkout fields.
60
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
61
+     * @return array
62
+     */
63
+    public function process_payment( $invoice, $submission_data, $submission ) {
64 64
 
65 65
         // Add a transaction id.
66 66
         $invoice->set_transaction_id( $invoice->generate_key('trans_') );
@@ -81,66 +81,66 @@  discard block
 block discarded – undo
81 81
     }
82 82
 
83 83
     /**
84
-	 * Output for the order received page.
85
-	 *
86
-	 * @param WPInv_Invoice $invoice Invoice.
87
-	 */
88
-	public function thankyou_page( $invoice ) {
84
+     * Output for the order received page.
85
+     *
86
+     * @param WPInv_Invoice $invoice Invoice.
87
+     */
88
+    public function thankyou_page( $invoice ) {
89 89
 
90 90
         if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
91 91
 
92
-			echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
92
+            echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
93 93
 
94 94
             if ( ! empty( $this->instructions ) ) {
95 95
                 echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) );
96
-			}
96
+            }
97 97
 
98
-			$this->bank_details( $invoice );
98
+            $this->bank_details( $invoice );
99 99
 
100
-			echo '</div>';
100
+            echo '</div>';
101 101
 
102 102
         }
103 103
 
104
-	}
104
+    }
105 105
 
106 106
     /**
107
-	 * Add content to the WPI emails.
108
-	 *
109
-	 * @param WPInv_Invoice $invoice Invoice.
110
-	 * @param string     $email_type Email format: plain text or HTML.
111
-	 * @param bool     $sent_to_admin Sent to admin.
112
-	 */
113
-	public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
107
+     * Add content to the WPI emails.
108
+     *
109
+     * @param WPInv_Invoice $invoice Invoice.
110
+     * @param string     $email_type Email format: plain text or HTML.
111
+     * @param bool     $sent_to_admin Sent to admin.
112
+     */
113
+    public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
114 114
 
115
-		if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
115
+        if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
116 116
 
117
-			echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
117
+            echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
118 118
 
119
-			if ( $this->instructions ) {
120
-				echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
119
+            if ( $this->instructions ) {
120
+                echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
121 121
             }
122 122
 
123
-			$this->bank_details( $invoice );
123
+            $this->bank_details( $invoice );
124 124
 			
125
-			echo '</div>';
125
+            echo '</div>';
126 126
 
127
-		}
127
+        }
128 128
 
129 129
     }
130 130
     
131 131
     /**
132
-	 * Get bank details and place into a list format.
133
-	 *
134
-	 * @param WPInv_Invoice $invoice Invoice.
135
-	 */
136
-	protected function bank_details( $invoice ) {
132
+     * Get bank details and place into a list format.
133
+     *
134
+     * @param WPInv_Invoice $invoice Invoice.
135
+     */
136
+    protected function bank_details( $invoice ) {
137 137
 
138
-		// Get the invoice country and country $locale.
139
-		$country = $invoice->get_country();
140
-		$locale  = $this->get_country_locale();
138
+        // Get the invoice country and country $locale.
139
+        $country = $invoice->get_country();
140
+        $locale  = $this->get_country_locale();
141 141
 
142
-		// Get sortcode label in the $locale array and use appropriate one.
143
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
142
+        // Get sortcode label in the $locale array and use appropriate one.
143
+        $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
144 144
 
145 145
         $bank_fields = array(
146 146
             'ac_name'     => __( 'Account Name', 'invoicing' ),
@@ -169,144 +169,144 @@  discard block
 block discarded – undo
169 169
             return;
170 170
         }
171 171
 
172
-		echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ) ) . '</h3>' . PHP_EOL;
172
+        echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ) ) . '</h3>' . PHP_EOL;
173 173
 
174
-		echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
174
+        echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
175 175
 
176
-		foreach ( $bank_info as $key => $data ) {
176
+        foreach ( $bank_info as $key => $data ) {
177 177
 
178
-			$key   = sanitize_html_class( $key );
179
-			$label = wp_kses_post( $data['label'] );
180
-			$value = wp_kses_post( wptexturize( $data['value'] ) );
178
+            $key   = sanitize_html_class( $key );
179
+            $label = wp_kses_post( $data['label'] );
180
+            $value = wp_kses_post( wptexturize( $data['value'] ) );
181 181
 
182
-			echo "<tr class='getpaid-bank-transfer-$key'><th class='font-weight-bold'>$label</th><td class='w-75'>$value</td></tr>" . PHP_EOL;
183
-		}
182
+            echo "<tr class='getpaid-bank-transfer-$key'><th class='font-weight-bold'>$label</th><td class='w-75'>$value</td></tr>" . PHP_EOL;
183
+        }
184 184
 
185
-		echo '</table>';
185
+        echo '</table>';
186 186
 
187 187
     }
188 188
     
189 189
     /**
190
-	 * Get country locale if localized.
191
-	 *
192
-	 * @return array
193
-	 */
194
-	public function get_country_locale() {
195
-
196
-		if ( empty( $this->locale ) ) {
197
-
198
-			// Locale information to be used - only those that are not 'Sort Code'.
199
-			$this->locale = apply_filters(
200
-				'getpaid_get_bank_transfer_locale',
201
-				array(
202
-					'AU' => array(
203
-						'sortcode' => array(
204
-							'label' => __( 'BSB', 'invoicing' ),
205
-						),
206
-					),
207
-					'CA' => array(
208
-						'sortcode' => array(
209
-							'label' => __( 'Bank transit number', 'invoicing' ),
210
-						),
211
-					),
212
-					'IN' => array(
213
-						'sortcode' => array(
214
-							'label' => __( 'IFSC', 'invoicing' ),
215
-						),
216
-					),
217
-					'IT' => array(
218
-						'sortcode' => array(
219
-							'label' => __( 'Branch sort', 'invoicing' ),
220
-						),
221
-					),
222
-					'NZ' => array(
223
-						'sortcode' => array(
224
-							'label' => __( 'Bank code', 'invoicing' ),
225
-						),
226
-					),
227
-					'SE' => array(
228
-						'sortcode' => array(
229
-							'label' => __( 'Bank code', 'invoicing' ),
230
-						),
231
-					),
232
-					'US' => array(
233
-						'sortcode' => array(
234
-							'label' => __( 'Routing number', 'invoicing' ),
235
-						),
236
-					),
237
-					'ZA' => array(
238
-						'sortcode' => array(
239
-							'label' => __( 'Branch code', 'invoicing' ),
240
-						),
241
-					),
242
-				)
243
-			);
244
-
245
-		}
246
-
247
-		return $this->locale;
248
-
249
-	}
250
-
251
-	/**
252
-	 * Filters the gateway settings.
253
-	 * 
254
-	 * @param array $admin_settings
255
-	 */
256
-	public function admin_settings( $admin_settings ) {
190
+     * Get country locale if localized.
191
+     *
192
+     * @return array
193
+     */
194
+    public function get_country_locale() {
195
+
196
+        if ( empty( $this->locale ) ) {
197
+
198
+            // Locale information to be used - only those that are not 'Sort Code'.
199
+            $this->locale = apply_filters(
200
+                'getpaid_get_bank_transfer_locale',
201
+                array(
202
+                    'AU' => array(
203
+                        'sortcode' => array(
204
+                            'label' => __( 'BSB', 'invoicing' ),
205
+                        ),
206
+                    ),
207
+                    'CA' => array(
208
+                        'sortcode' => array(
209
+                            'label' => __( 'Bank transit number', 'invoicing' ),
210
+                        ),
211
+                    ),
212
+                    'IN' => array(
213
+                        'sortcode' => array(
214
+                            'label' => __( 'IFSC', 'invoicing' ),
215
+                        ),
216
+                    ),
217
+                    'IT' => array(
218
+                        'sortcode' => array(
219
+                            'label' => __( 'Branch sort', 'invoicing' ),
220
+                        ),
221
+                    ),
222
+                    'NZ' => array(
223
+                        'sortcode' => array(
224
+                            'label' => __( 'Bank code', 'invoicing' ),
225
+                        ),
226
+                    ),
227
+                    'SE' => array(
228
+                        'sortcode' => array(
229
+                            'label' => __( 'Bank code', 'invoicing' ),
230
+                        ),
231
+                    ),
232
+                    'US' => array(
233
+                        'sortcode' => array(
234
+                            'label' => __( 'Routing number', 'invoicing' ),
235
+                        ),
236
+                    ),
237
+                    'ZA' => array(
238
+                        'sortcode' => array(
239
+                            'label' => __( 'Branch code', 'invoicing' ),
240
+                        ),
241
+                    ),
242
+                )
243
+            );
244
+
245
+        }
246
+
247
+        return $this->locale;
248
+
249
+    }
250
+
251
+    /**
252
+     * Filters the gateway settings.
253
+     * 
254
+     * @param array $admin_settings
255
+     */
256
+    public function admin_settings( $admin_settings ) {
257 257
 
258 258
         $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' );
259
-		$admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
259
+        $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
260 260
 
261
-		$locale  = $this->get_country_locale();
261
+        $locale  = $this->get_country_locale();
262 262
 
263
-		// Get sortcode label in the $locale array and use appropriate one.
264
-		$country  = wpinv_default_billing_country();
265
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
263
+        // Get sortcode label in the $locale array and use appropriate one.
264
+        $country  = wpinv_default_billing_country();
265
+        $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
266 266
 
267
-		$admin_settings['bank_transfer_ac_name'] = array(
267
+        $admin_settings['bank_transfer_ac_name'] = array(
268 268
             'type' => 'text',
269 269
             'id'   => 'bank_transfer_ac_name',
270 270
             'name' => __( 'Account Name', 'invoicing' ),
271
-		);
271
+        );
272 272
 		
273
-		$admin_settings['bank_transfer_ac_no'] = array(
273
+        $admin_settings['bank_transfer_ac_no'] = array(
274 274
             'type' => 'text',
275 275
             'id'   => 'bank_transfer_ac_no',
276 276
             'name' => __( 'Account Number', 'invoicing' ),
277
-		);
277
+        );
278 278
 		
279
-		$admin_settings['bank_transfer_bank_name'] = array(
279
+        $admin_settings['bank_transfer_bank_name'] = array(
280 280
             'type' => 'text',
281 281
             'id'   => 'bank_transfer_bank_name',
282 282
             'name' => __( 'Bank Name', 'invoicing' ),
283
-		);
283
+        );
284 284
 
285
-		$admin_settings['bank_transfer_ifsc'] = array(
285
+        $admin_settings['bank_transfer_ifsc'] = array(
286 286
             'type' => 'text',
287 287
             'id'   => 'bank_transfer_ifsc',
288 288
             'name' => __( 'IFSC Code', 'invoicing' ),
289
-		);
289
+        );
290 290
 
291
-		$admin_settings['bank_transfer_iban'] = array(
291
+        $admin_settings['bank_transfer_iban'] = array(
292 292
             'type' => 'text',
293 293
             'id'   => 'bank_transfer_iban',
294 294
             'name' => __( 'IBAN', 'invoicing' ),
295
-		);
295
+        );
296 296
 
297
-		$admin_settings['bank_transfer_bic'] = array(
297
+        $admin_settings['bank_transfer_bic'] = array(
298 298
             'type' => 'text',
299 299
             'id'   => 'bank_transfer_bic',
300 300
             'name' => __( 'BIC/Swift Code', 'invoicing' ),
301
-		);
301
+        );
302 302
 		
303
-		$admin_settings['bank_transfer_sort_code'] = array(
304
-			'type' => 'text',
305
-			'id'   => 'bank_transfer_sort_code',
306
-			'name' => $sortcode,
307
-		);
303
+        $admin_settings['bank_transfer_sort_code'] = array(
304
+            'type' => 'text',
305
+            'id'   => 'bank_transfer_sort_code',
306
+            'name' => $sortcode,
307
+        );
308 308
 
309
-		$admin_settings['bank_transfer_info'] = array(
309
+        $admin_settings['bank_transfer_info'] = array(
310 310
             'id'   => 'bank_transfer_info',
311 311
             'name' => __( 'Instructions', 'invoicing' ),
312 312
             'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ),
@@ -316,17 +316,17 @@  discard block
 block discarded – undo
316 316
             'rows' => 5
317 317
         );
318 318
 
319
-		return $admin_settings;
320
-	}
319
+        return $admin_settings;
320
+    }
321 321
 
322
-	/**
323
-	 * Processes invoice addons.
324
-	 *
325
-	 * @param WPInv_Invoice $invoice
326
-	 * @param GetPaid_Form_Item[] $items
327
-	 * @return WPInv_Invoice
328
-	 */
329
-	public function process_addons( $invoice, $items ) {
322
+    /**
323
+     * Processes invoice addons.
324
+     *
325
+     * @param WPInv_Invoice $invoice
326
+     * @param GetPaid_Form_Item[] $items
327
+     * @return WPInv_Invoice
328
+     */
329
+    public function process_addons( $invoice, $items ) {
330 330
 
331 331
         foreach ( $items as $item ) {
332 332
             $invoice->add_item( $item );
@@ -334,6 +334,6 @@  discard block
 block discarded – undo
334 334
 
335 335
         $invoice->recalculate_total();
336 336
         $invoice->save();
337
-	}
337
+    }
338 338
 
339 339
 }
Please login to merge, or discard this patch.
Spacing   +71 added lines, -71 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.
@@ -24,7 +24,7 @@  discard block
 block discarded – undo
24 24
 	 *
25 25
 	 * @var array
26 26
 	 */
27
-	protected $supports = array( 'addons' );
27
+	protected $supports = array('addons');
28 28
 
29 29
     /**
30 30
 	 * Payment method order.
@@ -39,15 +39,15 @@  discard block
 block discarded – undo
39 39
 	public function __construct() {
40 40
         parent::__construct();
41 41
 
42
-        $this->title                = __( 'Direct bank transfer', 'invoicing' );
43
-        $this->method_title         = __( 'Bank transfer', 'invoicing' );
44
-        $this->checkout_button_text = __( 'Proceed', 'invoicing' );
45
-        $this->instructions         = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) );
42
+        $this->title                = __('Direct bank transfer', 'invoicing');
43
+        $this->method_title         = __('Bank transfer', 'invoicing');
44
+        $this->checkout_button_text = __('Proceed', 'invoicing');
45
+        $this->instructions         = apply_filters('wpinv_bank_instructions', $this->get_option('info'));
46 46
 
47
-		add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
48
-		add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
49
-		add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
50
-		add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
47
+		add_action('wpinv_receipt_end', array($this, 'thankyou_page'));
48
+		add_action('getpaid_invoice_line_items', array($this, 'thankyou_page'), 40);
49
+		add_action('wpinv_pdf_content_billing', array($this, 'thankyou_page'), 11);
50
+		add_action('wpinv_email_invoice_details', array($this, 'email_instructions'), 10, 3);
51 51
 
52 52
     }
53 53
 
@@ -60,23 +60,23 @@  discard block
 block discarded – undo
60 60
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
61 61
 	 * @return array
62 62
 	 */
63
-	public function process_payment( $invoice, $submission_data, $submission ) {
63
+	public function process_payment($invoice, $submission_data, $submission) {
64 64
 
65 65
         // Add a transaction id.
66
-        $invoice->set_transaction_id( $invoice->generate_key('trans_') );
66
+        $invoice->set_transaction_id($invoice->generate_key('trans_'));
67 67
 
68 68
         // Set it as pending payment.
69
-        if ( ! $invoice->needs_payment() ) {
69
+        if (!$invoice->needs_payment()) {
70 70
             $invoice->mark_paid();
71
-        } else if ( ! $invoice->is_paid() ) {
72
-            $invoice->set_status( 'wpi-onhold' );
71
+        } else if (!$invoice->is_paid()) {
72
+            $invoice->set_status('wpi-onhold');
73 73
         }
74 74
 
75 75
         // Save it.
76 76
         $invoice->save();
77 77
 
78 78
         // Send to the success page.
79
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
79
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
80 80
 
81 81
     }
82 82
 
@@ -85,17 +85,17 @@  discard block
 block discarded – undo
85 85
 	 *
86 86
 	 * @param WPInv_Invoice $invoice Invoice.
87 87
 	 */
88
-	public function thankyou_page( $invoice ) {
88
+	public function thankyou_page($invoice) {
89 89
 
90
-        if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
90
+        if ('bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) {
91 91
 
92 92
 			echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
93 93
 
94
-            if ( ! empty( $this->instructions ) ) {
95
-                echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) );
94
+            if (!empty($this->instructions)) {
95
+                echo wp_kses_post(wpautop(wptexturize($this->instructions)));
96 96
 			}
97 97
 
98
-			$this->bank_details( $invoice );
98
+			$this->bank_details($invoice);
99 99
 
100 100
 			echo '</div>';
101 101
 
@@ -110,17 +110,17 @@  discard block
 block discarded – undo
110 110
 	 * @param string     $email_type Email format: plain text or HTML.
111 111
 	 * @param bool     $sent_to_admin Sent to admin.
112 112
 	 */
113
-	public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
113
+	public function email_instructions($invoice, $email_type, $sent_to_admin) {
114 114
 
115
-		if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
115
+		if (!$sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) {
116 116
 
117 117
 			echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
118 118
 
119
-			if ( $this->instructions ) {
120
-				echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
119
+			if ($this->instructions) {
120
+				echo wp_kses_post(wpautop(wptexturize($this->instructions)) . PHP_EOL);
121 121
             }
122 122
 
123
-			$this->bank_details( $invoice );
123
+			$this->bank_details($invoice);
124 124
 			
125 125
 			echo '</div>';
126 126
 
@@ -133,51 +133,51 @@  discard block
 block discarded – undo
133 133
 	 *
134 134
 	 * @param WPInv_Invoice $invoice Invoice.
135 135
 	 */
136
-	protected function bank_details( $invoice ) {
136
+	protected function bank_details($invoice) {
137 137
 
138 138
 		// Get the invoice country and country $locale.
139 139
 		$country = $invoice->get_country();
140 140
 		$locale  = $this->get_country_locale();
141 141
 
142 142
 		// Get sortcode label in the $locale array and use appropriate one.
143
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
143
+		$sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing');
144 144
 
145 145
         $bank_fields = array(
146
-            'ac_name'     => __( 'Account Name', 'invoicing' ),
147
-            'ac_no'       => __( 'Account Number', 'invoicing' ),
148
-            'bank_name'   => __( 'Bank Name', 'invoicing' ),
149
-            'ifsc'        => __( 'IFSC code', 'invoicing' ),
150
-            'iban'        => __( 'IBAN', 'invoicing' ),
151
-            'bic'         => __( 'BIC/Swift code', 'invoicing' ),
146
+            'ac_name'     => __('Account Name', 'invoicing'),
147
+            'ac_no'       => __('Account Number', 'invoicing'),
148
+            'bank_name'   => __('Bank Name', 'invoicing'),
149
+            'ifsc'        => __('IFSC code', 'invoicing'),
150
+            'iban'        => __('IBAN', 'invoicing'),
151
+            'bic'         => __('BIC/Swift code', 'invoicing'),
152 152
             'sort_code'   => $sortcode,
153 153
         );
154 154
 
155 155
         $bank_info = array();
156 156
 
157
-        foreach ( $bank_fields as $field => $label ) {
158
-            $value = $this->get_option( $field );
157
+        foreach ($bank_fields as $field => $label) {
158
+            $value = $this->get_option($field);
159 159
 
160
-            if ( ! empty( $value ) ) {
161
-                $bank_info[$field] = array( 'label' => $label, 'value' => $value );
160
+            if (!empty($value)) {
161
+                $bank_info[$field] = array('label' => $label, 'value' => $value);
162 162
             }
163 163
 
164 164
         }
165 165
 
166
-        $bank_info = apply_filters( 'wpinv_bank_info', $bank_info );
166
+        $bank_info = apply_filters('wpinv_bank_info', $bank_info);
167 167
 
168
-        if ( empty( $bank_info ) ) {
168
+        if (empty($bank_info)) {
169 169
             return;
170 170
         }
171 171
 
172
-		echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ) ) . '</h3>' . PHP_EOL;
172
+		echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters('wpinv_receipt_bank_details_title', __('Bank Details', 'invoicing')) . '</h3>' . PHP_EOL;
173 173
 
174 174
 		echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
175 175
 
176
-		foreach ( $bank_info as $key => $data ) {
176
+		foreach ($bank_info as $key => $data) {
177 177
 
178
-			$key   = sanitize_html_class( $key );
179
-			$label = wp_kses_post( $data['label'] );
180
-			$value = wp_kses_post( wptexturize( $data['value'] ) );
178
+			$key   = sanitize_html_class($key);
179
+			$label = wp_kses_post($data['label']);
180
+			$value = wp_kses_post(wptexturize($data['value']));
181 181
 
182 182
 			echo "<tr class='getpaid-bank-transfer-$key'><th class='font-weight-bold'>$label</th><td class='w-75'>$value</td></tr>" . PHP_EOL;
183 183
 		}
@@ -193,7 +193,7 @@  discard block
 block discarded – undo
193 193
 	 */
194 194
 	public function get_country_locale() {
195 195
 
196
-		if ( empty( $this->locale ) ) {
196
+		if (empty($this->locale)) {
197 197
 
198 198
 			// Locale information to be used - only those that are not 'Sort Code'.
199 199
 			$this->locale = apply_filters(
@@ -201,42 +201,42 @@  discard block
 block discarded – undo
201 201
 				array(
202 202
 					'AU' => array(
203 203
 						'sortcode' => array(
204
-							'label' => __( 'BSB', 'invoicing' ),
204
+							'label' => __('BSB', 'invoicing'),
205 205
 						),
206 206
 					),
207 207
 					'CA' => array(
208 208
 						'sortcode' => array(
209
-							'label' => __( 'Bank transit number', 'invoicing' ),
209
+							'label' => __('Bank transit number', 'invoicing'),
210 210
 						),
211 211
 					),
212 212
 					'IN' => array(
213 213
 						'sortcode' => array(
214
-							'label' => __( 'IFSC', 'invoicing' ),
214
+							'label' => __('IFSC', 'invoicing'),
215 215
 						),
216 216
 					),
217 217
 					'IT' => array(
218 218
 						'sortcode' => array(
219
-							'label' => __( 'Branch sort', 'invoicing' ),
219
+							'label' => __('Branch sort', 'invoicing'),
220 220
 						),
221 221
 					),
222 222
 					'NZ' => array(
223 223
 						'sortcode' => array(
224
-							'label' => __( 'Bank code', 'invoicing' ),
224
+							'label' => __('Bank code', 'invoicing'),
225 225
 						),
226 226
 					),
227 227
 					'SE' => array(
228 228
 						'sortcode' => array(
229
-							'label' => __( 'Bank code', 'invoicing' ),
229
+							'label' => __('Bank code', 'invoicing'),
230 230
 						),
231 231
 					),
232 232
 					'US' => array(
233 233
 						'sortcode' => array(
234
-							'label' => __( 'Routing number', 'invoicing' ),
234
+							'label' => __('Routing number', 'invoicing'),
235 235
 						),
236 236
 					),
237 237
 					'ZA' => array(
238 238
 						'sortcode' => array(
239
-							'label' => __( 'Branch code', 'invoicing' ),
239
+							'label' => __('Branch code', 'invoicing'),
240 240
 						),
241 241
 					),
242 242
 				)
@@ -253,51 +253,51 @@  discard block
 block discarded – undo
253 253
 	 * 
254 254
 	 * @param array $admin_settings
255 255
 	 */
256
-	public function admin_settings( $admin_settings ) {
256
+	public function admin_settings($admin_settings) {
257 257
 
258
-        $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' );
259
-		$admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
258
+        $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');
259
+		$admin_settings['bank_transfer_active']['desc'] = __('Enable bank transfer', 'invoicing');
260 260
 
261
-		$locale  = $this->get_country_locale();
261
+		$locale = $this->get_country_locale();
262 262
 
263 263
 		// Get sortcode label in the $locale array and use appropriate one.
264 264
 		$country  = wpinv_default_billing_country();
265
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
265
+		$sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing');
266 266
 
267 267
 		$admin_settings['bank_transfer_ac_name'] = array(
268 268
             'type' => 'text',
269 269
             'id'   => 'bank_transfer_ac_name',
270
-            'name' => __( 'Account Name', 'invoicing' ),
270
+            'name' => __('Account Name', 'invoicing'),
271 271
 		);
272 272
 		
273 273
 		$admin_settings['bank_transfer_ac_no'] = array(
274 274
             'type' => 'text',
275 275
             'id'   => 'bank_transfer_ac_no',
276
-            'name' => __( 'Account Number', 'invoicing' ),
276
+            'name' => __('Account Number', 'invoicing'),
277 277
 		);
278 278
 		
279 279
 		$admin_settings['bank_transfer_bank_name'] = array(
280 280
             'type' => 'text',
281 281
             'id'   => 'bank_transfer_bank_name',
282
-            'name' => __( 'Bank Name', 'invoicing' ),
282
+            'name' => __('Bank Name', 'invoicing'),
283 283
 		);
284 284
 
285 285
 		$admin_settings['bank_transfer_ifsc'] = array(
286 286
             'type' => 'text',
287 287
             'id'   => 'bank_transfer_ifsc',
288
-            'name' => __( 'IFSC Code', 'invoicing' ),
288
+            'name' => __('IFSC Code', 'invoicing'),
289 289
 		);
290 290
 
291 291
 		$admin_settings['bank_transfer_iban'] = array(
292 292
             'type' => 'text',
293 293
             'id'   => 'bank_transfer_iban',
294
-            'name' => __( 'IBAN', 'invoicing' ),
294
+            'name' => __('IBAN', 'invoicing'),
295 295
 		);
296 296
 
297 297
 		$admin_settings['bank_transfer_bic'] = array(
298 298
             'type' => 'text',
299 299
             'id'   => 'bank_transfer_bic',
300
-            'name' => __( 'BIC/Swift Code', 'invoicing' ),
300
+            'name' => __('BIC/Swift Code', 'invoicing'),
301 301
 		);
302 302
 		
303 303
 		$admin_settings['bank_transfer_sort_code'] = array(
@@ -308,10 +308,10 @@  discard block
 block discarded – undo
308 308
 
309 309
 		$admin_settings['bank_transfer_info'] = array(
310 310
             'id'   => 'bank_transfer_info',
311
-            'name' => __( 'Instructions', 'invoicing' ),
312
-            'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ),
311
+            'name' => __('Instructions', 'invoicing'),
312
+            'desc' => __('Instructions that will be added to the thank you page and emails.', 'invoicing'),
313 313
             'type' => 'textarea',
314
-            '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' ),
314
+            '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'),
315 315
             'cols' => 50,
316 316
             'rows' => 5
317 317
         );
@@ -326,10 +326,10 @@  discard block
 block discarded – undo
326 326
 	 * @param GetPaid_Form_Item[] $items
327 327
 	 * @return WPInv_Invoice
328 328
 	 */
329
-	public function process_addons( $invoice, $items ) {
329
+	public function process_addons($invoice, $items) {
330 330
 
331
-        foreach ( $items as $item ) {
332
-            $invoice->add_item( $item );
331
+        foreach ($items as $item) {
332
+            $invoice->add_item($item);
333 333
         }
334 334
 
335 335
         $invoice->recalculate_total();
Please login to merge, or discard this patch.
templates/frontend-head.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@
 block discarded – undo
7 7
  * @version 1.0.19
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12 12
 ?>
13 13
 
Please login to merge, or discard this patch.
templates/frontend-footer.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
  * @version 1.0.19
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12 12
 ?>
13 13
 
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
 		<div class="modal-dialog modal-dialog-centered modal-lg" role="checkout" style="max-width: 650px;">
17 17
 			<div class="modal-content">
18 18
 				<div class="modal-body">
19
-					<button type="button" class="close p-2 getpaid-payment-modal-close d-sm-none" data-dismiss="modal" aria-label="<?php esc_attr__( 'Close', 'invoicing' ); ?>">
19
+					<button type="button" class="close p-2 getpaid-payment-modal-close d-sm-none" data-dismiss="modal" aria-label="<?php esc_attr__('Close', 'invoicing'); ?>">
20 20
 						<i class="fa fa-times" aria-hidden="true"></i>
21 21
 					</button>
22 22
 					<div class="modal-body-wrapper"></div>
Please login to merge, or discard this patch.
templates/invoice/company-address.php 1 patch
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -7,17 +7,17 @@  discard block
 block discarded – undo
7 7
  * @version 1.0.19
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12 12
 // Prepare the company name.
13
-$company_name = wpinv_get_option( 'vat_company_name' );
13
+$company_name = wpinv_get_option('vat_company_name');
14 14
 
15
-if ( empty( $company_name ) ) {
15
+if (empty($company_name)) {
16 16
     $company_name = wpinv_get_business_name();
17 17
 }
18 18
 
19 19
 // Prepare the VAT number.
20
-$vat_number = wpinv_get_option( 'vat_number' );
20
+$vat_number = wpinv_get_option('vat_number');
21 21
 
22 22
 ?>
23 23
     <div class="getpaid-company-address form-group">
@@ -25,36 +25,36 @@  discard block
 block discarded – undo
25 25
         <div class="row">
26 26
 
27 27
             <div class="invoice-company-address-label col-2">
28
-                <strong><?php _e( 'From:', 'invoicing' ) ?></strong>
28
+                <strong><?php _e('From:', 'invoicing') ?></strong>
29 29
             </div>
30 30
 
31 31
             <div class="invoice-company-address-value col-10">
32 32
 
33
-                <?php do_action( 'getpaid_company_address_top' ); ?>
33
+                <?php do_action('getpaid_company_address_top'); ?>
34 34
 
35 35
                 <div class="name">
36
-                    <a target="_blank" class="text-dark" href="<?php echo esc_url( wpinv_get_business_website() ); ?>">
37
-                        <?php echo esc_html( $company_name ); ?>
36
+                    <a target="_blank" class="text-dark" href="<?php echo esc_url(wpinv_get_business_website()); ?>">
37
+                        <?php echo esc_html($company_name); ?>
38 38
                     </a>
39 39
                 </div>
40 40
 
41
-                <?php if ( $address = wpinv_get_business_address() ) { ?>
42
-                    <?php echo $address;?>
41
+                <?php if ($address = wpinv_get_business_address()) { ?>
42
+                    <?php echo $address; ?>
43 43
                 <?php } ?>
44 44
 
45
-                <?php if ( $email_from = wpinv_mail_get_from_address() ) { ?>
45
+                <?php if ($email_from = wpinv_mail_get_from_address()) { ?>
46 46
                     <div class="email_from">
47
-                        <?php echo wp_sprintf( __( 'Email: %s', 'invoicing' ), $email_from );?>
47
+                        <?php echo wp_sprintf(__('Email: %s', 'invoicing'), $email_from); ?>
48 48
                     </div>
49 49
                 <?php } ?>
50 50
 
51
-                <?php if ( ! empty( $vat_number ) ) { ?>
51
+                <?php if (!empty($vat_number)) { ?>
52 52
                     <div class="email_from">
53
-                        <?php echo wp_sprintf( __( 'VAT Number: %s', 'invoicing' ), sanitize_text_field( $vat_number ) );?>
53
+                        <?php echo wp_sprintf(__('VAT Number: %s', 'invoicing'), sanitize_text_field($vat_number)); ?>
54 54
                     </div>
55 55
                 <?php } ?>
56 56
 
57
-                <?php do_action( 'getpaid_company_address_bottom' ); ?>
57
+                <?php do_action('getpaid_company_address_bottom'); ?>
58 58
 
59 59
             </div>
60 60
 
Please login to merge, or discard this patch.
templates/invoice/billing-address.php 1 patch
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -7,10 +7,10 @@  discard block
 block discarded – undo
7 7
  * @version 1.0.19
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12
-$invoice     = new WPInv_Invoice( $invoice );
13
-$address_row = wpinv_get_invoice_address_markup( $invoice->get_user_info() );
12
+$invoice     = new WPInv_Invoice($invoice);
13
+$address_row = wpinv_get_invoice_address_markup($invoice->get_user_info());
14 14
 $phone       = $invoice->get_phone();
15 15
 $email       = $invoice->get_email();
16 16
 $vat_number  = $invoice->get_vat_number();
@@ -21,41 +21,41 @@  discard block
 block discarded – undo
21 21
 
22 22
 
23 23
             <div class="invoice-billing-address-label col-2">
24
-                <strong><?php _e( 'To:', 'invoicing' ) ?></strong>
24
+                <strong><?php _e('To:', 'invoicing') ?></strong>
25 25
             </div>
26 26
 
27 27
 
28 28
             <div class="invoice-billing-address-value col-10">
29 29
 
30
-                <?php do_action( 'getpaid_billing_address_top' ); ?>
30
+                <?php do_action('getpaid_billing_address_top'); ?>
31 31
 
32
-                <?php if ( ! empty( $address_row ) ) : ?>
32
+                <?php if (!empty($address_row)) : ?>
33 33
                     <div class="billing-address">
34 34
                         <?php echo $address_row; ?>
35 35
                     </div>
36 36
                 <?php endif; ?>
37 37
 
38 38
 
39
-                <?php if ( ! empty( $phone ) ) : ?>
39
+                <?php if (!empty($phone)) : ?>
40 40
                     <div class="billing-phone">
41
-                        <?php echo wp_sprintf( __( 'Phone: %s', 'invoicing' ), esc_html( $phone ) ); ?>
41
+                        <?php echo wp_sprintf(__('Phone: %s', 'invoicing'), esc_html($phone)); ?>
42 42
                     </div>
43 43
                 <?php endif; ?>
44 44
 
45 45
 
46
-                <?php if ( ! empty( $email ) ) : ?>
46
+                <?php if (!empty($email)) : ?>
47 47
                     <div class="billing-email">
48
-                        <?php echo wp_sprintf( __( 'Email: %s', 'invoicing' ), sanitize_email( $email ) ); ?>
48
+                        <?php echo wp_sprintf(__('Email: %s', 'invoicing'), sanitize_email($email)); ?>
49 49
                     </div>
50 50
                 <?php endif; ?>
51 51
 
52
-                <?php if ( ! empty( $vat_number ) ) : ?>
52
+                <?php if (!empty($vat_number)) : ?>
53 53
                     <div class="vat-number">
54
-                        <?php echo wp_sprintf( __( 'Vat Number: %s', 'invoicing' ), sanitize_text_field( $vat_number ) ); ?>
54
+                        <?php echo wp_sprintf(__('Vat Number: %s', 'invoicing'), sanitize_text_field($vat_number)); ?>
55 55
                     </div>
56 56
                 <?php endif; ?>
57 57
 
58
-                <?php do_action( 'getpaid_billing_address_bottom' ); ?>
58
+                <?php do_action('getpaid_billing_address_bottom'); ?>
59 59
 
60 60
             </div>
61 61
 
Please login to merge, or discard this patch.
templates/payment-forms/cart-item.php 2 patches
Indentation   +57 added lines, -57 removed lines patch added patch discarded remove patch
@@ -24,64 +24,64 @@  discard block
 block discarded – undo
24 24
 
25 25
 				<?php
26 26
 
27
-					// Fires before printing a line item column.
28
-					do_action( "getpaid_form_cart_item_before_$key", $item, $form );
27
+                    // Fires before printing a line item column.
28
+                    do_action( "getpaid_form_cart_item_before_$key", $item, $form );
29 29
 
30
-					// Item name.
31
-					if ( 'name' == $key ) {
30
+                    // Item name.
31
+                    if ( 'name' == $key ) {
32 32
 
33
-						// Display the name.
34
-						echo '<div class="mb-1">' . sanitize_text_field( $item->get_name() ) . '</div>';
33
+                        // Display the name.
34
+                        echo '<div class="mb-1">' . sanitize_text_field( $item->get_name() ) . '</div>';
35 35
 
36
-						// And an optional description.
36
+                        // And an optional description.
37 37
                         $description = $item->get_description();
38 38
 
39 39
                         if ( ! empty( $description ) ) {
40 40
                             $description = wp_kses_post( $description );
41 41
                             echo "<small class='form-text text-muted pr-2 m-0'>$description</small>";
42
-						}
42
+                        }
43 43
 
44
-						// Price help text.
44
+                        // Price help text.
45 45
                         $description = getpaid_item_recurring_price_help_text( $item, $currency );
46 46
                         if ( $description ) {
47 47
                             echo "<small class='getpaid-form-item-price-desc form-text text-muted pr-2 m-0'>$description</small>";
48
-						}
48
+                        }
49 49
 
50
-					}
50
+                    }
51 51
 
52
-					// Item price.
53
-					if ( 'price' == $key ) {
52
+                    // Item price.
53
+                    if ( 'price' == $key ) {
54 54
 
55
-						// Set the currency position.
56
-						$position = wpinv_currency_position();
55
+                        // Set the currency position.
56
+                        $position = wpinv_currency_position();
57 57
 
58
-						if ( $position == 'left_space' ) {
59
-							$position = 'left';
60
-						}
58
+                        if ( $position == 'left_space' ) {
59
+                            $position = 'left';
60
+                        }
61 61
 
62
-						if ( $position == 'right_space' ) {
63
-							$position = 'right';
64
-						}
62
+                        if ( $position == 'right_space' ) {
63
+                            $position = 'right';
64
+                        }
65 65
 
66
-						if ( $item->user_can_set_their_price() ) {
67
-							$price            = max( (float) $item->get_price(), (float) $item->get_minimum_price() );
68
-							$minimum          = (float) $item->get_minimum_price();
69
-							$validate_minimum = '';
70
-							$class            = '';
71
-							$data_minimum     = '';
66
+                        if ( $item->user_can_set_their_price() ) {
67
+                            $price            = max( (float) $item->get_price(), (float) $item->get_minimum_price() );
68
+                            $minimum          = (float) $item->get_minimum_price();
69
+                            $validate_minimum = '';
70
+                            $class            = '';
71
+                            $data_minimum     = '';
72 72
 
73
-							if ( $minimum > 0 ) {
74
-								$validate_minimum = sprintf(
75
-									esc_attr__( 'The minimum allowed amount is %s', 'invoicing' ),
76
-									sanitize_text_field( wpinv_price( $minimum, $currency ) )
77
-								);
73
+                            if ( $minimum > 0 ) {
74
+                                $validate_minimum = sprintf(
75
+                                    esc_attr__( 'The minimum allowed amount is %s', 'invoicing' ),
76
+                                    sanitize_text_field( wpinv_price( $minimum, $currency ) )
77
+                                );
78 78
 
79
-								$class = 'getpaid-validate-minimum-amount';
79
+                                $class = 'getpaid-validate-minimum-amount';
80 80
 
81
-								$data_minimum     = "data-minimum-amount='$minimum'";
82
-							}
81
+                                $data_minimum     = "data-minimum-amount='$minimum'";
82
+                            }
83 83
 
84
-							?>
84
+                            ?>
85 85
 								<div class="input-group input-group-sm">
86 86
 									<?php if( 'left' == $position ) : ?>
87 87
 										<div class="input-group-prepend">
@@ -105,37 +105,37 @@  discard block
 block discarded – undo
105 105
 								</div>
106 106
 
107 107
 							<?php
108
-						} else {
109
-							echo wpinv_price( $item->get_price(), $currency );
110
-							?>
108
+                        } else {
109
+                            echo wpinv_price( $item->get_price(), $currency );
110
+                            ?>
111 111
 								<input name='getpaid-items[<?php echo (int) $item->get_id(); ?>][price]' type='hidden' class='getpaid-item-price-input' value='<?php echo esc_attr( $item->get_price() ); ?>'>
112 112
 							<?php
113
-						}
114
-					}
113
+                        }
114
+                    }
115 115
 
116
-					// Item quantity.
117
-					if ( 'quantity' == $key ) {
116
+                    // Item quantity.
117
+                    if ( 'quantity' == $key ) {
118 118
 
119
-						if ( $item->allows_quantities() ) {
120
-							?>
119
+                        if ( $item->allows_quantities() ) {
120
+                            ?>
121 121
 								<input name='getpaid-items[<?php echo (int) $item->get_id(); ?>][quantity]' type='text' style='width: 64px; line-height: 1; min-height: 35px;' class='getpaid-item-quantity-input p-1 align-middle font-weight-normal shadow-none m-0 rounded-0 text-center border' value='<?php echo (float) $item->get_quantity(); ?>' min='1' required>
122 122
 							<?php
123
-						} else {
124
-							echo (float) $item->get_quantity();
125
-							echo '&nbsp;&nbsp;&nbsp;';
126
-							?>
123
+                        } else {
124
+                            echo (float) $item->get_quantity();
125
+                            echo '&nbsp;&nbsp;&nbsp;';
126
+                            ?>
127 127
 								<input type='hidden' name='getpaid-items[<?php echo (int) $item->get_id(); ?>][quantity]' class='getpaid-item-quantity-input' value='<?php echo (float) $item->get_quantity(); ?>'>
128 128
 							<?php
129
-						}
130
-					}
129
+                        }
130
+                    }
131 131
 
132
-					// Item sub total.
133
-					if ( 'subtotal' == $key ) {
134
-						echo wpinv_price( $item->get_sub_total(), $currency );
135
-					}
132
+                    // Item sub total.
133
+                    if ( 'subtotal' == $key ) {
134
+                        echo wpinv_price( $item->get_sub_total(), $currency );
135
+                    }
136 136
 
137
-					do_action( "getpaid_payment_form_cart_item_$key", $item, $form );
138
-				?>
137
+                    do_action( "getpaid_payment_form_cart_item_$key", $item, $form );
138
+                ?>
139 139
 
140 140
 			</div>
141 141
 
Please login to merge, or discard this patch.
Spacing   +35 added lines, -35 removed lines patch added patch discarded remove patch
@@ -7,116 +7,116 @@  discard block
 block discarded – undo
7 7
  * @version 1.0.19
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12
-do_action( 'getpaid_before_payment_form_cart_item', $form, $item );
12
+do_action('getpaid_before_payment_form_cart_item', $form, $item);
13 13
 
14 14
 $currency = $form->get_currency();
15 15
 
16 16
 ?>
17
-<div class='getpaid-payment-form-items-cart-item getpaid-<?php echo $item->is_required() ? 'required'  : 'selectable'; ?> item-<?php echo $item->get_id(); ?> border-bottom py-2 px-3'>
17
+<div class='getpaid-payment-form-items-cart-item getpaid-<?php echo $item->is_required() ? 'required' : 'selectable'; ?> item-<?php echo $item->get_id(); ?> border-bottom py-2 px-3'>
18 18
 
19 19
 	<div class="form-row needs-validation">
20 20
 
21
-		<?php foreach ( array_keys( $columns ) as $key ) : ?>
21
+		<?php foreach (array_keys($columns) as $key) : ?>
22 22
 
23
-			<div class="<?php echo 'name' == $key ? 'col-12 col-sm-6' : 'col-12 col-sm' ?> position-relative getpaid-form-cart-item-<?php echo sanitize_html_class( $key ); ?> getpaid-form-cart-item-<?php echo sanitize_html_class( $key ); ?>-<?php echo $item->get_id(); ?>">
23
+			<div class="<?php echo 'name' == $key ? 'col-12 col-sm-6' : 'col-12 col-sm' ?> position-relative getpaid-form-cart-item-<?php echo sanitize_html_class($key); ?> getpaid-form-cart-item-<?php echo sanitize_html_class($key); ?>-<?php echo $item->get_id(); ?>">
24 24
 
25 25
 				<?php
26 26
 
27 27
 					// Fires before printing a line item column.
28
-					do_action( "getpaid_form_cart_item_before_$key", $item, $form );
28
+					do_action("getpaid_form_cart_item_before_$key", $item, $form);
29 29
 
30 30
 					// Item name.
31
-					if ( 'name' == $key ) {
31
+					if ('name' == $key) {
32 32
 
33 33
 						// Display the name.
34
-						echo '<div class="mb-1">' . sanitize_text_field( $item->get_name() ) . '</div>';
34
+						echo '<div class="mb-1">' . sanitize_text_field($item->get_name()) . '</div>';
35 35
 
36 36
 						// And an optional description.
37 37
                         $description = $item->get_description();
38 38
 
39
-                        if ( ! empty( $description ) ) {
40
-                            $description = wp_kses_post( $description );
39
+                        if (!empty($description)) {
40
+                            $description = wp_kses_post($description);
41 41
                             echo "<small class='form-text text-muted pr-2 m-0'>$description</small>";
42 42
 						}
43 43
 
44 44
 						// Price help text.
45
-                        $description = getpaid_item_recurring_price_help_text( $item, $currency );
46
-                        if ( $description ) {
45
+                        $description = getpaid_item_recurring_price_help_text($item, $currency);
46
+                        if ($description) {
47 47
                             echo "<small class='getpaid-form-item-price-desc form-text text-muted pr-2 m-0'>$description</small>";
48 48
 						}
49 49
 
50 50
 					}
51 51
 
52 52
 					// Item price.
53
-					if ( 'price' == $key ) {
53
+					if ('price' == $key) {
54 54
 
55 55
 						// Set the currency position.
56 56
 						$position = wpinv_currency_position();
57 57
 
58
-						if ( $position == 'left_space' ) {
58
+						if ($position == 'left_space') {
59 59
 							$position = 'left';
60 60
 						}
61 61
 
62
-						if ( $position == 'right_space' ) {
62
+						if ($position == 'right_space') {
63 63
 							$position = 'right';
64 64
 						}
65 65
 
66
-						if ( $item->user_can_set_their_price() ) {
67
-							$price            = max( (float) $item->get_price(), (float) $item->get_minimum_price() );
66
+						if ($item->user_can_set_their_price()) {
67
+							$price            = max((float) $item->get_price(), (float) $item->get_minimum_price());
68 68
 							$minimum          = (float) $item->get_minimum_price();
69 69
 							$validate_minimum = '';
70 70
 							$class            = '';
71 71
 							$data_minimum     = '';
72 72
 
73
-							if ( $minimum > 0 ) {
73
+							if ($minimum > 0) {
74 74
 								$validate_minimum = sprintf(
75
-									esc_attr__( 'The minimum allowed amount is %s', 'invoicing' ),
76
-									sanitize_text_field( wpinv_price( $minimum, $currency ) )
75
+									esc_attr__('The minimum allowed amount is %s', 'invoicing'),
76
+									sanitize_text_field(wpinv_price($minimum, $currency))
77 77
 								);
78 78
 
79 79
 								$class = 'getpaid-validate-minimum-amount';
80 80
 
81
-								$data_minimum     = "data-minimum-amount='$minimum'";
81
+								$data_minimum = "data-minimum-amount='$minimum'";
82 82
 							}
83 83
 
84 84
 							?>
85 85
 								<div class="input-group input-group-sm">
86
-									<?php if( 'left' == $position ) : ?>
86
+									<?php if ('left' == $position) : ?>
87 87
 										<div class="input-group-prepend">
88
-											<span class="input-group-text"><?php echo wpinv_currency_symbol( $currency ); ?></span>
88
+											<span class="input-group-text"><?php echo wpinv_currency_symbol($currency); ?></span>
89 89
 										</div>
90 90
 									<?php endif; ?>
91 91
 
92
-									<input type="text" <?php echo $data_minimum; ?> name="getpaid-items[<?php echo (int) $item->get_id(); ?>][price]" value="<?php echo $price; ?>" placeholder="<?php echo esc_attr( $item->get_minimum_price() ); ?>" class="getpaid-item-price-input p-1 align-middle font-weight-normal shadow-none m-0 rounded-0 text-center border <?php echo $class; ?>" style="width: 64px; line-height: 1; min-height: 35px;">
92
+									<input type="text" <?php echo $data_minimum; ?> name="getpaid-items[<?php echo (int) $item->get_id(); ?>][price]" value="<?php echo $price; ?>" placeholder="<?php echo esc_attr($item->get_minimum_price()); ?>" class="getpaid-item-price-input p-1 align-middle font-weight-normal shadow-none m-0 rounded-0 text-center border <?php echo $class; ?>" style="width: 64px; line-height: 1; min-height: 35px;">
93 93
 
94
-									<?php if ( ! empty( $validate_minimum ) ) : ?>
94
+									<?php if (!empty($validate_minimum)) : ?>
95 95
 										<div class="invalid-tooltip">
96 96
 											<?php echo $validate_minimum; ?>
97 97
 										</div>
98 98
 									<?php endif; ?>
99 99
 
100
-									<?php if( 'left' != $position ) : ?>
100
+									<?php if ('left' != $position) : ?>
101 101
 										<div class="input-group-append">
102
-											<span class="input-group-text"><?php echo wpinv_currency_symbol( $currency ); ?></span>
102
+											<span class="input-group-text"><?php echo wpinv_currency_symbol($currency); ?></span>
103 103
 										</div>
104 104
 									<?php endif; ?>
105 105
 								</div>
106 106
 
107 107
 							<?php
108 108
 						} else {
109
-							echo wpinv_price( $item->get_price(), $currency );
109
+							echo wpinv_price($item->get_price(), $currency);
110 110
 							?>
111
-								<input name='getpaid-items[<?php echo (int) $item->get_id(); ?>][price]' type='hidden' class='getpaid-item-price-input' value='<?php echo esc_attr( $item->get_price() ); ?>'>
111
+								<input name='getpaid-items[<?php echo (int) $item->get_id(); ?>][price]' type='hidden' class='getpaid-item-price-input' value='<?php echo esc_attr($item->get_price()); ?>'>
112 112
 							<?php
113 113
 						}
114 114
 					}
115 115
 
116 116
 					// Item quantity.
117
-					if ( 'quantity' == $key ) {
117
+					if ('quantity' == $key) {
118 118
 
119
-						if ( $item->allows_quantities() ) {
119
+						if ($item->allows_quantities()) {
120 120
 							?>
121 121
 								<input name='getpaid-items[<?php echo (int) $item->get_id(); ?>][quantity]' type='text' style='width: 64px; line-height: 1; min-height: 35px;' class='getpaid-item-quantity-input p-1 align-middle font-weight-normal shadow-none m-0 rounded-0 text-center border' value='<?php echo (float) $item->get_quantity(); ?>' min='1' required>
122 122
 							<?php
@@ -130,11 +130,11 @@  discard block
 block discarded – undo
130 130
 					}
131 131
 
132 132
 					// Item sub total.
133
-					if ( 'subtotal' == $key ) {
134
-						echo wpinv_price( $item->get_sub_total(), $currency );
133
+					if ('subtotal' == $key) {
134
+						echo wpinv_price($item->get_sub_total(), $currency);
135 135
 					}
136 136
 
137
-					do_action( "getpaid_payment_form_cart_item_$key", $item, $form );
137
+					do_action("getpaid_payment_form_cart_item_$key", $item, $form);
138 138
 				?>
139 139
 
140 140
 			</div>
@@ -145,4 +145,4 @@  discard block
 block discarded – undo
145 145
 
146 146
 </div>
147 147
 <?php
148
-do_action(  'getpaid_payment_form_cart_item', $form, $item );
148
+do_action('getpaid_payment_form_cart_item', $form, $item);
Please login to merge, or discard this patch.
vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php 3 patches
Braces   +8 added lines, -4 removed lines patch added patch discarded remove patch
@@ -126,8 +126,12 @@  discard block
 block discarded – undo
126 126
 		public function constants(){
127 127
 			define('AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be");
128 128
 			define('AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d');
129
-			if (!defined('AUI_PRIMARY_COLOR')) define('AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL);
130
-			if (!defined('AUI_SECONDARY_COLOR')) define('AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL);
129
+			if (!defined('AUI_PRIMARY_COLOR')) {
130
+			    define('AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL);
131
+			}
132
+			if (!defined('AUI_SECONDARY_COLOR')) {
133
+			    define('AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL);
134
+			}
131 135
 		}
132 136
 
133 137
 		/**
@@ -232,7 +236,7 @@  discard block
 block discarded – undo
232 236
 
233 237
 			if( is_admin() && !$this->is_aui_screen()){
234 238
 				// don't add wp-admin scripts if not requested to
235
-			}else{
239
+			} else{
236 240
 				$css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
237 241
 
238 242
 				$rtl = is_rtl() ? '-rtl' : '';
@@ -869,7 +873,7 @@  discard block
 block discarded – undo
869 873
 
870 874
 			if( is_admin() && !$this->is_aui_screen()){
871 875
 				// don't add wp-admin scripts if not requested to
872
-			}else {
876
+			} else {
873 877
 
874 878
 				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
875 879
 
Please login to merge, or discard this patch.
Spacing   +358 added lines, -358 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.
@@ -98,23 +98,23 @@  discard block
 block discarded – undo
98 98
 		 * @return AyeCode_UI_Settings - Main instance.
99 99
 		 */
100 100
 		public static function instance() {
101
-			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
101
+			if (!isset(self::$instance) && !(self::$instance instanceof AyeCode_UI_Settings)) {
102 102
 
103 103
 				self::$instance = new AyeCode_UI_Settings;
104 104
 
105
-				add_action( 'init', array( self::$instance, 'init' ) ); // set settings
105
+				add_action('init', array(self::$instance, 'init')); // set settings
106 106
 
107
-				if ( is_admin() ) {
108
-					add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
109
-					add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
107
+				if (is_admin()) {
108
+					add_action('admin_menu', array(self::$instance, 'menu_item'));
109
+					add_action('admin_init', array(self::$instance, 'register_settings'));
110 110
 
111 111
 					// Maybe show example page
112
-					add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) );
112
+					add_action('template_redirect', array(self::$instance, 'maybe_show_examples'));
113 113
 				}
114 114
 
115
-				add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
115
+				add_action('customize_register', array(self::$instance, 'customizer_settings'));
116 116
 
117
-				do_action( 'ayecode_ui_settings_loaded' );
117
+				do_action('ayecode_ui_settings_loaded');
118 118
 			}
119 119
 
120 120
 			return self::$instance;
@@ -123,7 +123,7 @@  discard block
 block discarded – undo
123 123
 		/**
124 124
 		 * Setup some constants.
125 125
 		 */
126
-		public function constants(){
126
+		public function constants() {
127 127
 			define('AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be");
128 128
 			define('AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d');
129 129
 			if (!defined('AUI_PRIMARY_COLOR')) define('AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL);
@@ -143,25 +143,25 @@  discard block
 block discarded – undo
143 143
 			 *
144 144
 			 * We load super early in case there is a theme version that might change the colors
145 145
 			 */
146
-			if ( $this->settings['css'] ) {
147
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
146
+			if ($this->settings['css']) {
147
+				add_action('wp_enqueue_scripts', array($this, 'enqueue_style'), 1);
148 148
 			}
149
-			if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) {
150
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
149
+			if ($this->settings['css_backend'] && $this->load_admin_scripts()) {
150
+				add_action('admin_enqueue_scripts', array($this, 'enqueue_style'), 1);
151 151
 			}
152 152
 
153 153
 			// maybe load JS
154
-			if ( $this->settings['js'] ) {
154
+			if ($this->settings['js']) {
155 155
 				$priority = $this->is_bs3_compat() ? 100 : 1;
156
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority );
156
+				add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), $priority);
157 157
 			}
158
-			if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) {
159
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 );
158
+			if ($this->settings['js_backend'] && $this->load_admin_scripts()) {
159
+				add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'), 1);
160 160
 			}
161 161
 
162 162
 			// Maybe set the HTML font size
163
-			if ( $this->settings['html_font_size'] ) {
164
-				add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 );
163
+			if ($this->settings['html_font_size']) {
164
+				add_action('wp_footer', array($this, 'html_font_size'), 10);
165 165
 			}
166 166
 
167 167
 
@@ -172,14 +172,14 @@  discard block
 block discarded – undo
172 172
 		 *
173 173
 		 * @return bool
174 174
 		 */
175
-		public function load_admin_scripts(){
175
+		public function load_admin_scripts() {
176 176
 			$result = true;
177 177
 
178 178
 			// check if specifically disabled
179
-			if(!empty($this->settings['disable_admin'])){
180
-				$url_parts = explode("\n",$this->settings['disable_admin']);
181
-				foreach($url_parts as $part){
182
-					if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){
179
+			if (!empty($this->settings['disable_admin'])) {
180
+				$url_parts = explode("\n", $this->settings['disable_admin']);
181
+				foreach ($url_parts as $part) {
182
+					if (strpos($_SERVER['REQUEST_URI'], trim($part)) !== false) {
183 183
 						return false; // return early, no point checking further
184 184
 					}
185 185
 				}
@@ -191,9 +191,9 @@  discard block
 block discarded – undo
191 191
 		/**
192 192
 		 * Add a html font size to the footer.
193 193
 		 */
194
-		public function html_font_size(){
194
+		public function html_font_size() {
195 195
 			$this->settings = $this->get_settings();
196
-			echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>";
196
+			echo "<style>html{font-size:" . absint($this->settings['html_font_size']) . "px;}</style>";
197 197
 		}
198 198
 
199 199
 		/**
@@ -201,10 +201,10 @@  discard block
 block discarded – undo
201 201
 		 * 
202 202
 		 * @return bool
203 203
 		 */
204
-		public function is_aui_screen(){
204
+		public function is_aui_screen() {
205 205
 			$load = false;
206 206
 			// check if we should load or not
207
-			if ( is_admin() ) {
207
+			if (is_admin()) {
208 208
 				// Only enable on set pages
209 209
 				$aui_screens = array(
210 210
 					'page',
@@ -212,13 +212,13 @@  discard block
 block discarded – undo
212 212
 					'settings_page_ayecode-ui-settings',
213 213
 					'appearance_page_gutenberg-widgets'
214 214
 				);
215
-				$screen_ids = apply_filters( 'aui_screen_ids', $aui_screens );
215
+				$screen_ids = apply_filters('aui_screen_ids', $aui_screens);
216 216
 
217 217
 				$screen = get_current_screen();
218 218
 
219 219
 //				echo '###'.$screen->id;
220 220
 				
221
-				if ( $screen && in_array( $screen->id, $screen_ids ) ) {
221
+				if ($screen && in_array($screen->id, $screen_ids)) {
222 222
 					$load = true;
223 223
 				}
224 224
 			}
@@ -231,25 +231,25 @@  discard block
 block discarded – undo
231 231
 		 */
232 232
 		public function enqueue_style() {
233 233
 
234
-			if( is_admin() && !$this->is_aui_screen()){
234
+			if (is_admin() && !$this->is_aui_screen()) {
235 235
 				// don't add wp-admin scripts if not requested to
236
-			}else{
236
+			} else {
237 237
 				$css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
238 238
 
239 239
 				$rtl = is_rtl() ? '-rtl' : '';
240 240
 
241
-				if($this->settings[$css_setting]){
242
-					$compatibility = $this->settings[$css_setting]=='core' ? false : true;
243
-					$url = $this->settings[$css_setting]=='core' ? $this->url.'assets/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets/css/ayecode-ui-compatibility'.$rtl.'.css';
244
-					wp_register_style( 'ayecode-ui', $url, array(), $this->latest );
245
-					wp_enqueue_style( 'ayecode-ui' );
241
+				if ($this->settings[$css_setting]) {
242
+					$compatibility = $this->settings[$css_setting] == 'core' ? false : true;
243
+					$url = $this->settings[$css_setting] == 'core' ? $this->url . 'assets/css/ayecode-ui' . $rtl . '.css' : $this->url . 'assets/css/ayecode-ui-compatibility' . $rtl . '.css';
244
+					wp_register_style('ayecode-ui', $url, array(), $this->latest);
245
+					wp_enqueue_style('ayecode-ui');
246 246
 
247 247
 					// flatpickr
248
-					wp_register_style( 'flatpickr', $this->url.'assets/css/flatpickr.min.css', array(), $this->latest );
248
+					wp_register_style('flatpickr', $this->url . 'assets/css/flatpickr.min.css', array(), $this->latest);
249 249
 
250 250
 
251 251
 					// fix some wp-admin issues
252
-					if(is_admin()){
252
+					if (is_admin()) {
253 253
 						$custom_css = "
254 254
                 body{
255 255
                     background-color: #f1f1f1;
@@ -295,11 +295,11 @@  discard block
 block discarded – undo
295 295
 						    padding: 0;
296 296
 						}
297 297
 					";
298
-						wp_add_inline_style( 'ayecode-ui', $custom_css );
298
+						wp_add_inline_style('ayecode-ui', $custom_css);
299 299
 					}
300 300
 
301 301
 					// custom changes
302
-					wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
302
+					wp_add_inline_style('ayecode-ui', self::custom_css($compatibility));
303 303
 
304 304
 				}
305 305
 			}
@@ -558,7 +558,7 @@  discard block
 block discarded – undo
558 558
 				function aui_init_flatpickr(){
559 559
 					if ( typeof jQuery.fn.flatpickr === "function" && !$aui_doing_init_flatpickr) {
560 560
 						$aui_doing_init_flatpickr = true;
561
-						<?php if ( ! empty( $flatpickr_locale ) ) { ?>try{flatpickr.localize(<?php echo $flatpickr_locale; ?>);}catch(err){console.log(err.message);}<?php } ?>
561
+						<?php if (!empty($flatpickr_locale)) { ?>try{flatpickr.localize(<?php echo $flatpickr_locale; ?>);}catch(err){console.log(err.message);}<?php } ?>
562 562
 						jQuery('input[data-aui-init="flatpickr"]:not(.flatpickr-input)').flatpickr();
563 563
 					}
564 564
 					$aui_doing_init_flatpickr = false;
@@ -858,10 +858,10 @@  discard block
 block discarded – undo
858 858
 			/*
859 859
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
860 860
 			 */
861
-			return str_replace( array(
861
+			return str_replace(array(
862 862
 				'<script>',
863 863
 				'</script>'
864
-			), '', $output );
864
+			), '', $output);
865 865
 		}
866 866
 
867 867
 
@@ -875,13 +875,13 @@  discard block
 block discarded – undo
875 875
 			ob_start();
876 876
 			?>
877 877
 			<script>
878
-				<?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
878
+				<?php if (defined('FUSION_BUILDER_VERSION')) { ?>
879 879
 				/* With Avada builder */
880 880
 
881 881
 				<?php } ?>
882 882
 			</script>
883 883
 			<?php
884
-			return str_replace( array(
884
+			return str_replace(array(
885 885
 				'<script>',
886 886
 				'</script>'
887 887
 			), '', ob_get_clean());
@@ -892,7 +892,7 @@  discard block
 block discarded – undo
892 892
 		 *
893 893
 		 * If this remains small then its best to use this than to add another JS file.
894 894
 		 */
895
-		public function inline_script_file_browser(){
895
+		public function inline_script_file_browser() {
896 896
 			ob_start();
897 897
 			?>
898 898
 			<script>
@@ -907,10 +907,10 @@  discard block
 block discarded – undo
907 907
 			/*
908 908
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
909 909
 			 */
910
-			return str_replace( array(
910
+			return str_replace(array(
911 911
 				'<script>',
912 912
 				'</script>'
913
-			), '', $output );
913
+			), '', $output);
914 914
 		}
915 915
 
916 916
 		/**
@@ -918,50 +918,50 @@  discard block
 block discarded – undo
918 918
 		 */
919 919
 		public function enqueue_scripts() {
920 920
 
921
-			if( is_admin() && !$this->is_aui_screen()){
921
+			if (is_admin() && !$this->is_aui_screen()) {
922 922
 				// don't add wp-admin scripts if not requested to
923
-			}else {
923
+			} else {
924 924
 
925 925
 				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
926 926
 
927 927
 				// select2
928
-				wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
928
+				wp_register_script('select2', $this->url . 'assets/js/select2.min.js', array('jquery'), $this->select2_version);
929 929
 
930 930
 				// flatpickr
931
-				wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->latest );
931
+				wp_register_script('flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->latest);
932 932
 
933 933
 				// Bootstrap file browser
934
-				wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
935
-				wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
934
+				wp_register_script('aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array('jquery'), $this->select2_version);
935
+				wp_add_inline_script('aui-custom-file-input', $this->inline_script_file_browser());
936 936
 
937 937
 				$load_inline = false;
938 938
 
939
-				if ( $this->settings[ $js_setting ] == 'core-popper' ) {
939
+				if ($this->settings[$js_setting] == 'core-popper') {
940 940
 					// Bootstrap bundle
941 941
 					$url = $this->url . 'assets/js/bootstrap.bundle.min.js';
942
-					wp_register_script( 'bootstrap-js-bundle', $url, array(
942
+					wp_register_script('bootstrap-js-bundle', $url, array(
943 943
 						'select2',
944 944
 						'jquery'
945
-					), $this->latest, $this->is_bs3_compat() );
945
+					), $this->latest, $this->is_bs3_compat());
946 946
 					// if in admin then add to footer for compatibility.
947
-					is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
947
+					is_admin() ? wp_enqueue_script('bootstrap-js-bundle', '', null, null, true) : wp_enqueue_script('bootstrap-js-bundle');
948 948
 					$script = $this->inline_script();
949
-					wp_add_inline_script( 'bootstrap-js-bundle', $script );
950
-				} elseif ( $this->settings[ $js_setting ] == 'popper' ) {
949
+					wp_add_inline_script('bootstrap-js-bundle', $script);
950
+				} elseif ($this->settings[$js_setting] == 'popper') {
951 951
 					$url = $this->url . 'assets/js/popper.min.js';
952
-					wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->latest );
953
-					wp_enqueue_script( 'bootstrap-js-popper' );
952
+					wp_register_script('bootstrap-js-popper', $url, array('select2', 'jquery'), $this->latest);
953
+					wp_enqueue_script('bootstrap-js-popper');
954 954
 					$load_inline = true;
955 955
 				} else {
956 956
 					$load_inline = true;
957 957
 				}
958 958
 
959 959
 				// Load needed inline scripts by faking the loading of a script if the main script is not being loaded
960
-				if ( $load_inline ) {
961
-					wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) );
962
-					wp_enqueue_script( 'bootstrap-dummy' );
960
+				if ($load_inline) {
961
+					wp_register_script('bootstrap-dummy', '', array('select2', 'jquery'));
962
+					wp_enqueue_script('bootstrap-dummy');
963 963
 					$script = $this->inline_script();
964
-					wp_add_inline_script( 'bootstrap-dummy', $script );
964
+					wp_add_inline_script('bootstrap-dummy', $script);
965 965
 				}
966 966
 			}
967 967
 
@@ -970,9 +970,9 @@  discard block
 block discarded – undo
970 970
 		/**
971 971
 		 * Enqueue flatpickr if called.
972 972
 		 */
973
-		public function enqueue_flatpickr(){
974
-			wp_enqueue_style( 'flatpickr' );
975
-			wp_enqueue_script( 'flatpickr' );
973
+		public function enqueue_flatpickr() {
974
+			wp_enqueue_style('flatpickr');
975
+			wp_enqueue_script('flatpickr');
976 976
 		}
977 977
 
978 978
 		/**
@@ -984,15 +984,15 @@  discard block
 block discarded – undo
984 984
 
985 985
 			$url = '';
986 986
 			// check if we are inside a plugin
987
-			$file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
987
+			$file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__)));
988 988
 
989 989
 			// add check in-case user has changed wp-content dir name.
990 990
 			$wp_content_folder_name = basename(WP_CONTENT_DIR);
991
-			$dir_parts = explode("/$wp_content_folder_name/",$file_dir);
992
-			$url_parts = explode("/$wp_content_folder_name/",plugins_url());
991
+			$dir_parts = explode("/$wp_content_folder_name/", $file_dir);
992
+			$url_parts = explode("/$wp_content_folder_name/", plugins_url());
993 993
 
994
-			if(!empty($url_parts[0]) && !empty($dir_parts[1])){
995
-				$url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
994
+			if (!empty($url_parts[0]) && !empty($dir_parts[1])) {
995
+				$url = trailingslashit($url_parts[0] . "/$wp_content_folder_name/" . $dir_parts[1]);
996 996
 			}
997 997
 
998 998
 			return $url;
@@ -1002,7 +1002,7 @@  discard block
 block discarded – undo
1002 1002
 		 * Register the database settings with WordPress.
1003 1003
 		 */
1004 1004
 		public function register_settings() {
1005
-			register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
1005
+			register_setting('ayecode-ui-settings', 'ayecode-ui-settings');
1006 1006
 		}
1007 1007
 
1008 1008
 		/**
@@ -1011,10 +1011,10 @@  discard block
 block discarded – undo
1011 1011
 		 */
1012 1012
 		public function menu_item() {
1013 1013
 			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
1014
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
1014
+			call_user_func($menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
1015 1015
 				$this,
1016 1016
 				'settings_page'
1017
-			) );
1017
+			));
1018 1018
 		}
1019 1019
 
1020 1020
 		/**
@@ -1022,7 +1022,7 @@  discard block
 block discarded – undo
1022 1022
 		 *
1023 1023
 		 * @return array
1024 1024
 		 */
1025
-		public function theme_js_settings(){
1025
+		public function theme_js_settings() {
1026 1026
 			return array(
1027 1027
 				'ayetheme' => 'popper',
1028 1028
 				'listimia' => 'required',
@@ -1038,17 +1038,17 @@  discard block
 block discarded – undo
1038 1038
 		 */
1039 1039
 		public function get_settings() {
1040 1040
 
1041
-			$db_settings = get_option( 'ayecode-ui-settings' );
1041
+			$db_settings = get_option('ayecode-ui-settings');
1042 1042
 			$js_default = 'core-popper';
1043 1043
 			$js_default_backend = $js_default;
1044 1044
 
1045 1045
 			// maybe set defaults (if no settings set)
1046
-			if(empty($db_settings)){
1047
-				$active_theme = strtolower( get_template() ); // active parent theme.
1046
+			if (empty($db_settings)) {
1047
+				$active_theme = strtolower(get_template()); // active parent theme.
1048 1048
 				$theme_js_settings = self::theme_js_settings();
1049
-				if(isset($theme_js_settings[$active_theme])){
1049
+				if (isset($theme_js_settings[$active_theme])) {
1050 1050
 					$js_default = $theme_js_settings[$active_theme];
1051
-					$js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
1051
+					$js_default_backend = isset($theme_js_settings[$active_theme . "_backend"]) ? $theme_js_settings[$active_theme . "_backend"] : $js_default;
1052 1052
 				}
1053 1053
 			}
1054 1054
 
@@ -1061,14 +1061,14 @@  discard block
 block discarded – undo
1061 1061
 				'disable_admin'     =>  '', // URL snippets to disable loading on admin
1062 1062
 			);
1063 1063
 
1064
-			$settings = wp_parse_args( $db_settings, $defaults );
1064
+			$settings = wp_parse_args($db_settings, $defaults);
1065 1065
 
1066 1066
 			/**
1067 1067
 			 * Filter the Bootstrap settings.
1068 1068
 			 *
1069 1069
 			 * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
1070 1070
 			 */
1071
-			return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
1071
+			return $this->settings = apply_filters('ayecode-ui-settings', $settings, $db_settings, $defaults);
1072 1072
 		}
1073 1073
 
1074 1074
 
@@ -1076,90 +1076,90 @@  discard block
 block discarded – undo
1076 1076
 		 * The settings page html output.
1077 1077
 		 */
1078 1078
 		public function settings_page() {
1079
-			if ( ! current_user_can( 'manage_options' ) ) {
1080
-				wp_die( __( 'You do not have sufficient permissions to access this page.', 'aui' ) );
1079
+			if (!current_user_can('manage_options')) {
1080
+				wp_die(__('You do not have sufficient permissions to access this page.', 'aui'));
1081 1081
 			}
1082 1082
 			?>
1083 1083
 			<div class="wrap">
1084 1084
 				<h1><?php echo $this->name; ?></h1>
1085
-				<p><?php _e("Here you can adjust settings if you are having compatibility issues.",'aui');?></p>
1085
+				<p><?php _e("Here you can adjust settings if you are having compatibility issues.", 'aui'); ?></p>
1086 1086
 				<form method="post" action="options.php">
1087 1087
 					<?php
1088
-					settings_fields( 'ayecode-ui-settings' );
1089
-					do_settings_sections( 'ayecode-ui-settings' );
1088
+					settings_fields('ayecode-ui-settings');
1089
+					do_settings_sections('ayecode-ui-settings');
1090 1090
 					?>
1091 1091
 
1092
-					<h2><?php _e( 'Frontend', 'aui' ); ?></h2>
1092
+					<h2><?php _e('Frontend', 'aui'); ?></h2>
1093 1093
 					<table class="form-table wpbs-table-settings">
1094 1094
 						<tr valign="top">
1095 1095
 							<th scope="row"><label
1096
-									for="wpbs-css"><?php _e( 'Load CSS', 'aui' ); ?></label></th>
1096
+									for="wpbs-css"><?php _e('Load CSS', 'aui'); ?></label></th>
1097 1097
 							<td>
1098 1098
 								<select name="ayecode-ui-settings[css]" id="wpbs-css">
1099
-									<option	value="compatibility" <?php selected( $this->settings['css'], 'compatibility' ); ?>><?php _e( 'Compatibility Mode (default)', 'aui' ); ?></option>
1100
-									<option value="core" <?php selected( $this->settings['css'], 'core' ); ?>><?php _e( 'Full Mode', 'aui' ); ?></option>
1101
-									<option	value="" <?php selected( $this->settings['css'], '' ); ?>><?php _e( 'Disabled', 'aui' ); ?></option>
1099
+									<option	value="compatibility" <?php selected($this->settings['css'], 'compatibility'); ?>><?php _e('Compatibility Mode (default)', 'aui'); ?></option>
1100
+									<option value="core" <?php selected($this->settings['css'], 'core'); ?>><?php _e('Full Mode', 'aui'); ?></option>
1101
+									<option	value="" <?php selected($this->settings['css'], ''); ?>><?php _e('Disabled', 'aui'); ?></option>
1102 1102
 								</select>
1103 1103
 							</td>
1104 1104
 						</tr>
1105 1105
 
1106 1106
 						<tr valign="top">
1107 1107
 							<th scope="row"><label
1108
-									for="wpbs-js"><?php _e( 'Load JS', 'aui' ); ?></label></th>
1108
+									for="wpbs-js"><?php _e('Load JS', 'aui'); ?></label></th>
1109 1109
 							<td>
1110 1110
 								<select name="ayecode-ui-settings[js]" id="wpbs-js">
1111
-									<option	value="core-popper" <?php selected( $this->settings['js'], 'core-popper' ); ?>><?php _e( 'Core + Popper (default)', 'aui' ); ?></option>
1112
-									<option value="popper" <?php selected( $this->settings['js'], 'popper' ); ?>><?php _e( 'Popper', 'aui' ); ?></option>
1113
-									<option value="required" <?php selected( $this->settings['js'], 'required' ); ?>><?php _e( 'Required functions only', 'aui' ); ?></option>
1114
-									<option	value="" <?php selected( $this->settings['js'], '' ); ?>><?php _e( 'Disabled (not recommended)', 'aui' ); ?></option>
1111
+									<option	value="core-popper" <?php selected($this->settings['js'], 'core-popper'); ?>><?php _e('Core + Popper (default)', 'aui'); ?></option>
1112
+									<option value="popper" <?php selected($this->settings['js'], 'popper'); ?>><?php _e('Popper', 'aui'); ?></option>
1113
+									<option value="required" <?php selected($this->settings['js'], 'required'); ?>><?php _e('Required functions only', 'aui'); ?></option>
1114
+									<option	value="" <?php selected($this->settings['js'], ''); ?>><?php _e('Disabled (not recommended)', 'aui'); ?></option>
1115 1115
 								</select>
1116 1116
 							</td>
1117 1117
 						</tr>
1118 1118
 
1119 1119
 						<tr valign="top">
1120 1120
 							<th scope="row"><label
1121
-									for="wpbs-font_size"><?php _e( 'HTML Font Size (px)', 'aui' ); ?></label></th>
1121
+									for="wpbs-font_size"><?php _e('HTML Font Size (px)', 'aui'); ?></label></th>
1122 1122
 							<td>
1123
-								<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" />
1124
-								<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>
1123
+								<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" />
1124
+								<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>
1125 1125
 							</td>
1126 1126
 						</tr>
1127 1127
 
1128 1128
 					</table>
1129 1129
 
1130
-					<h2><?php _e( 'Backend', 'aui' ); ?> (wp-admin)</h2>
1130
+					<h2><?php _e('Backend', 'aui'); ?> (wp-admin)</h2>
1131 1131
 					<table class="form-table wpbs-table-settings">
1132 1132
 						<tr valign="top">
1133 1133
 							<th scope="row"><label
1134
-									for="wpbs-css-admin"><?php _e( 'Load CSS', 'aui' ); ?></label></th>
1134
+									for="wpbs-css-admin"><?php _e('Load CSS', 'aui'); ?></label></th>
1135 1135
 							<td>
1136 1136
 								<select name="ayecode-ui-settings[css_backend]" id="wpbs-css-admin">
1137
-									<option	value="compatibility" <?php selected( $this->settings['css_backend'], 'compatibility' ); ?>><?php _e( 'Compatibility Mode (default)', 'aui' ); ?></option>
1138
-									<option value="core" <?php selected( $this->settings['css_backend'], 'core' ); ?>><?php _e( 'Full Mode (will cause style issues)', 'aui' ); ?></option>
1139
-									<option	value="" <?php selected( $this->settings['css_backend'], '' ); ?>><?php _e( 'Disabled', 'aui' ); ?></option>
1137
+									<option	value="compatibility" <?php selected($this->settings['css_backend'], 'compatibility'); ?>><?php _e('Compatibility Mode (default)', 'aui'); ?></option>
1138
+									<option value="core" <?php selected($this->settings['css_backend'], 'core'); ?>><?php _e('Full Mode (will cause style issues)', 'aui'); ?></option>
1139
+									<option	value="" <?php selected($this->settings['css_backend'], ''); ?>><?php _e('Disabled', 'aui'); ?></option>
1140 1140
 								</select>
1141 1141
 							</td>
1142 1142
 						</tr>
1143 1143
 
1144 1144
 						<tr valign="top">
1145 1145
 							<th scope="row"><label
1146
-									for="wpbs-js-admin"><?php _e( 'Load JS', 'aui' ); ?></label></th>
1146
+									for="wpbs-js-admin"><?php _e('Load JS', 'aui'); ?></label></th>
1147 1147
 							<td>
1148 1148
 								<select name="ayecode-ui-settings[js_backend]" id="wpbs-js-admin">
1149
-									<option	value="core-popper" <?php selected( $this->settings['js_backend'], 'core-popper' ); ?>><?php _e( 'Core + Popper (default)', 'aui' ); ?></option>
1150
-									<option value="popper" <?php selected( $this->settings['js_backend'], 'popper' ); ?>><?php _e( 'Popper', 'aui' ); ?></option>
1151
-									<option value="required" <?php selected( $this->settings['js_backend'], 'required' ); ?>><?php _e( 'Required functions only', 'aui' ); ?></option>
1152
-									<option	value="" <?php selected( $this->settings['js_backend'], '' ); ?>><?php _e( 'Disabled (not recommended)', 'aui' ); ?></option>
1149
+									<option	value="core-popper" <?php selected($this->settings['js_backend'], 'core-popper'); ?>><?php _e('Core + Popper (default)', 'aui'); ?></option>
1150
+									<option value="popper" <?php selected($this->settings['js_backend'], 'popper'); ?>><?php _e('Popper', 'aui'); ?></option>
1151
+									<option value="required" <?php selected($this->settings['js_backend'], 'required'); ?>><?php _e('Required functions only', 'aui'); ?></option>
1152
+									<option	value="" <?php selected($this->settings['js_backend'], ''); ?>><?php _e('Disabled (not recommended)', 'aui'); ?></option>
1153 1153
 								</select>
1154 1154
 							</td>
1155 1155
 						</tr>
1156 1156
 
1157 1157
 						<tr valign="top">
1158 1158
 							<th scope="row"><label
1159
-									for="wpbs-disable-admin"><?php _e( 'Disable load on URL', 'aui' ); ?></label></th>
1159
+									for="wpbs-disable-admin"><?php _e('Disable load on URL', 'aui'); ?></label></th>
1160 1160
 							<td>
1161
-								<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>
1162
-								<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>
1161
+								<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>
1162
+								<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>
1163 1163
 
1164 1164
 							</td>
1165 1165
 						</tr>
@@ -1177,9 +1177,9 @@  discard block
 block discarded – undo
1177 1177
 			<?php
1178 1178
 		}
1179 1179
 
1180
-		public function customizer_settings($wp_customize){
1180
+		public function customizer_settings($wp_customize) {
1181 1181
 			$wp_customize->add_section('aui_settings', array(
1182
-				'title'    => __('AyeCode UI','aui'),
1182
+				'title'    => __('AyeCode UI', 'aui'),
1183 1183
 				'priority' => 120,
1184 1184
 			));
1185 1185
 
@@ -1193,8 +1193,8 @@  discard block
 block discarded – undo
1193 1193
 				'type'              => 'option',
1194 1194
 				'transport'         => 'refresh',
1195 1195
 			));
1196
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1197
-				'label'    => __('Primary Color','aui'),
1196
+			$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1197
+				'label'    => __('Primary Color', 'aui'),
1198 1198
 				'section'  => 'aui_settings',
1199 1199
 				'settings' => 'aui_options[color_primary]',
1200 1200
 			)));
@@ -1206,8 +1206,8 @@  discard block
 block discarded – undo
1206 1206
 				'type'              => 'option',
1207 1207
 				'transport'         => 'refresh',
1208 1208
 			));
1209
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1210
-				'label'    => __('Secondary Color','aui'),
1209
+			$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1210
+				'label'    => __('Secondary Color', 'aui'),
1211 1211
 				'section'  => 'aui_settings',
1212 1212
 				'settings' => 'aui_options[color_secondary]',
1213 1213
 			)));
@@ -1233,12 +1233,12 @@  discard block
 block discarded – undo
1233 1233
 			.collapse.show:not(.in){display: inherit;}
1234 1234
 			.fade.show{opacity: 1;}
1235 1235
 
1236
-			<?php if( defined( 'SVQ_THEME_VERSION' ) ){ ?>
1236
+			<?php if (defined('SVQ_THEME_VERSION')) { ?>
1237 1237
 			/* KLEO theme specific */
1238 1238
 			.kleo-main-header .navbar-collapse.collapse.show:not(.in){display: inherit !important;}
1239 1239
 			<?php } ?>
1240 1240
 
1241
-			<?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
1241
+			<?php if (defined('FUSION_BUILDER_VERSION')) { ?>
1242 1242
 			/* With Avada builder */
1243 1243
 			body.modal-open .modal.in  {opacity:1;z-index: 99999}
1244 1244
 			body.modal-open .modal.bsui.in .modal-content  {box-shadow: none;}
@@ -1246,7 +1246,7 @@  discard block
 block discarded – undo
1246 1246
 			<?php } ?>
1247 1247
 			</style>
1248 1248
 			<?php
1249
-			return str_replace( array(
1249
+			return str_replace(array(
1250 1250
 				'<style>',
1251 1251
 				'</style>'
1252 1252
 			), '', ob_get_clean());
@@ -1266,16 +1266,16 @@  discard block
 block discarded – undo
1266 1266
 				<?php
1267 1267
 
1268 1268
 					// BS v3 compat
1269
-					if( self::is_bs3_compat() ){
1269
+					if (self::is_bs3_compat()) {
1270 1270
 					    echo self::bs3_compat_css();
1271 1271
 					}
1272 1272
 
1273
-					if(!is_admin() && $primary_color != AUI_PRIMARY_COLOR_ORIGINAL){
1274
-						echo self::css_primary($primary_color,$compatibility);
1273
+					if (!is_admin() && $primary_color != AUI_PRIMARY_COLOR_ORIGINAL) {
1274
+						echo self::css_primary($primary_color, $compatibility);
1275 1275
 					}
1276 1276
 
1277
-					if(!is_admin() && $secondary_color != AUI_SECONDARY_COLOR_ORIGINAL){
1278
-						echo self::css_secondary($settings['color_secondary'],$compatibility);
1277
+					if (!is_admin() && $secondary_color != AUI_SECONDARY_COLOR_ORIGINAL) {
1278
+						echo self::css_secondary($settings['color_secondary'], $compatibility);
1279 1279
 					}
1280 1280
 
1281 1281
 					// Set admin bar z-index lower when modal is open.
@@ -1288,7 +1288,7 @@  discard block
 block discarded – undo
1288 1288
 			/*
1289 1289
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1290 1290
 			 */
1291
-			return str_replace( array(
1291
+			return str_replace(array(
1292 1292
 				'<style>',
1293 1293
 				'</style>'
1294 1294
 			), '', ob_get_clean());
@@ -1299,48 +1299,48 @@  discard block
 block discarded – undo
1299 1299
 		 *
1300 1300
 		 * @return bool
1301 1301
 		 */
1302
-		public static function is_bs3_compat(){
1302
+		public static function is_bs3_compat() {
1303 1303
 			return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1304 1304
 		}
1305 1305
 
1306
-		public static function css_primary($color_code,$compatibility){;
1306
+		public static function css_primary($color_code, $compatibility) {;
1307 1307
 			$color_code = sanitize_hex_color($color_code);
1308
-			if(!$color_code){return '';}
1308
+			if (!$color_code) {return ''; }
1309 1309
 			/**
1310 1310
 			 * c = color, b = background color, o = border-color, f = fill
1311 1311
 			 */
1312 1312
 			$selectors = array(
1313 1313
 				'a' => array('c'),
1314
-				'.btn-primary' => array('b','o'),
1315
-				'.btn-primary.disabled' => array('b','o'),
1316
-				'.btn-primary:disabled' => array('b','o'),
1317
-				'.btn-outline-primary' => array('c','o'),
1318
-				'.btn-outline-primary:hover' => array('b','o'),
1319
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1320
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1321
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1314
+				'.btn-primary' => array('b', 'o'),
1315
+				'.btn-primary.disabled' => array('b', 'o'),
1316
+				'.btn-primary:disabled' => array('b', 'o'),
1317
+				'.btn-outline-primary' => array('c', 'o'),
1318
+				'.btn-outline-primary:hover' => array('b', 'o'),
1319
+				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b', 'o'),
1320
+				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b', 'o'),
1321
+				'.show>.btn-outline-primary.dropdown-toggle' => array('b', 'o'),
1322 1322
 				'.btn-link' => array('c'),
1323 1323
 				'.dropdown-item.active' => array('b'),
1324
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1325
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1324
+				'.custom-control-input:checked~.custom-control-label::before' => array('b', 'o'),
1325
+				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b', 'o'),
1326 1326
 //				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1327 1327
 //				'.custom-range::-moz-range-thumb' => array('b'),
1328 1328
 //				'.custom-range::-ms-thumb' => array('b'),
1329 1329
 				'.nav-pills .nav-link.active' => array('b'),
1330 1330
 				'.nav-pills .show>.nav-link' => array('b'),
1331 1331
 				'.page-link' => array('c'),
1332
-				'.page-item.active .page-link' => array('b','o'),
1332
+				'.page-item.active .page-link' => array('b', 'o'),
1333 1333
 				'.badge-primary' => array('b'),
1334
-				'.alert-primary' => array('b','o'),
1334
+				'.alert-primary' => array('b', 'o'),
1335 1335
 				'.progress-bar' => array('b'),
1336
-				'.list-group-item.active' => array('b','o'),
1337
-				'.bg-primary' => array('b','f'),
1336
+				'.list-group-item.active' => array('b', 'o'),
1337
+				'.bg-primary' => array('b', 'f'),
1338 1338
 				'.btn-link.btn-primary' => array('c'),
1339 1339
 				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1340 1340
 			);
1341 1341
 
1342 1342
 			$important_selectors = array(
1343
-				'.bg-primary' => array('b','f'),
1343
+				'.bg-primary' => array('b', 'f'),
1344 1344
 				'.border-primary' => array('o'),
1345 1345
 				'.text-primary' => array('c'),
1346 1346
 			);
@@ -1357,116 +1357,116 @@  discard block
 block discarded – undo
1357 1357
 			$output = '';
1358 1358
 
1359 1359
 			// build rules into each type
1360
-			foreach($selectors as $selector => $types){
1361
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1362
-				$types = array_combine($types,$types);
1363
-				if(isset($types['c'])){$color[] = $selector;}
1364
-				if(isset($types['b'])){$background[] = $selector;}
1365
-				if(isset($types['o'])){$border[] = $selector;}
1366
-				if(isset($types['f'])){$fill[] = $selector;}
1360
+			foreach ($selectors as $selector => $types) {
1361
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1362
+				$types = array_combine($types, $types);
1363
+				if (isset($types['c'])) {$color[] = $selector; }
1364
+				if (isset($types['b'])) {$background[] = $selector; }
1365
+				if (isset($types['o'])) {$border[] = $selector; }
1366
+				if (isset($types['f'])) {$fill[] = $selector; }
1367 1367
 			}
1368 1368
 
1369 1369
 			// build rules into each type
1370
-			foreach($important_selectors as $selector => $types){
1371
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1372
-				$types = array_combine($types,$types);
1373
-				if(isset($types['c'])){$color_i[] = $selector;}
1374
-				if(isset($types['b'])){$background_i[] = $selector;}
1375
-				if(isset($types['o'])){$border_i[] = $selector;}
1376
-				if(isset($types['f'])){$fill_i[] = $selector;}
1370
+			foreach ($important_selectors as $selector => $types) {
1371
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1372
+				$types = array_combine($types, $types);
1373
+				if (isset($types['c'])) {$color_i[] = $selector; }
1374
+				if (isset($types['b'])) {$background_i[] = $selector; }
1375
+				if (isset($types['o'])) {$border_i[] = $selector; }
1376
+				if (isset($types['f'])) {$fill_i[] = $selector; }
1377 1377
 			}
1378 1378
 
1379 1379
 			// add any color rules
1380
-			if(!empty($color)){
1381
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1380
+			if (!empty($color)) {
1381
+				$output .= implode(",", $color) . "{color: $color_code;} ";
1382 1382
 			}
1383
-			if(!empty($color_i)){
1384
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1383
+			if (!empty($color_i)) {
1384
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1385 1385
 			}
1386 1386
 
1387 1387
 			// add any background color rules
1388
-			if(!empty($background)){
1389
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1388
+			if (!empty($background)) {
1389
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
1390 1390
 			}
1391
-			if(!empty($background_i)){
1392
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1391
+			if (!empty($background_i)) {
1392
+				$output .= implode(",", $background_i) . "{background-color: $color_code !important;} ";
1393 1393
 			}
1394 1394
 
1395 1395
 			// add any border color rules
1396
-			if(!empty($border)){
1397
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1396
+			if (!empty($border)) {
1397
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
1398 1398
 			}
1399
-			if(!empty($border_i)){
1400
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1399
+			if (!empty($border_i)) {
1400
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1401 1401
 			}
1402 1402
 
1403 1403
 			// add any fill color rules
1404
-			if(!empty($fill)){
1405
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1404
+			if (!empty($fill)) {
1405
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
1406 1406
 			}
1407
-			if(!empty($fill_i)){
1408
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1407
+			if (!empty($fill_i)) {
1408
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1409 1409
 			}
1410 1410
 
1411 1411
 
1412 1412
 			$prefix = $compatibility ? ".bsui " : "";
1413 1413
 
1414 1414
 			// darken
1415
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1416
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1417
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1415
+			$darker_075 = self::css_hex_lighten_darken($color_code, "-0.075");
1416
+			$darker_10 = self::css_hex_lighten_darken($color_code, "-0.10");
1417
+			$darker_125 = self::css_hex_lighten_darken($color_code, "-0.125");
1418 1418
 
1419 1419
 			// lighten
1420
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1420
+			$lighten_25 = self::css_hex_lighten_darken($color_code, "0.25");
1421 1421
 
1422 1422
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1423
-			$op_25 = $color_code."40"; // 25% opacity
1423
+			$op_25 = $color_code . "40"; // 25% opacity
1424 1424
 
1425 1425
 
1426 1426
 			// button states
1427
-			$output .= $prefix ." .btn-primary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1428
-			$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;} ";
1429
-			$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.";} ";
1430
-			$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;} ";
1427
+			$output .= $prefix . " .btn-primary:hover{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1428
+			$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;} ";
1429
+			$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 . ";} ";
1430
+			$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;} ";
1431 1431
 
1432 1432
 
1433 1433
 			// dropdown's
1434
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1434
+			$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1435 1435
 
1436 1436
 
1437 1437
 			// input states
1438
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1438
+			$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1439 1439
 
1440 1440
 			// page link
1441
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1441
+			$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1442 1442
 
1443 1443
 			return $output;
1444 1444
 		}
1445 1445
 
1446
-		public static function css_secondary($color_code,$compatibility){;
1446
+		public static function css_secondary($color_code, $compatibility) {;
1447 1447
 			$color_code = sanitize_hex_color($color_code);
1448
-			if(!$color_code){return '';}
1448
+			if (!$color_code) {return ''; }
1449 1449
 			/**
1450 1450
 			 * c = color, b = background color, o = border-color, f = fill
1451 1451
 			 */
1452 1452
 			$selectors = array(
1453
-				'.btn-secondary' => array('b','o'),
1454
-				'.btn-secondary.disabled' => array('b','o'),
1455
-				'.btn-secondary:disabled' => array('b','o'),
1456
-				'.btn-outline-secondary' => array('c','o'),
1457
-				'.btn-outline-secondary:hover' => array('b','o'),
1453
+				'.btn-secondary' => array('b', 'o'),
1454
+				'.btn-secondary.disabled' => array('b', 'o'),
1455
+				'.btn-secondary:disabled' => array('b', 'o'),
1456
+				'.btn-outline-secondary' => array('c', 'o'),
1457
+				'.btn-outline-secondary:hover' => array('b', 'o'),
1458 1458
 				'.btn-outline-secondary.disabled' => array('c'),
1459 1459
 				'.btn-outline-secondary:disabled' => array('c'),
1460
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
1461
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
1462
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
1460
+				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b', 'o'),
1461
+				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b', 'o'),
1462
+				'.btn-outline-secondary.dropdown-toggle' => array('b', 'o'),
1463 1463
 				'.badge-secondary' => array('b'),
1464
-				'.alert-secondary' => array('b','o'),
1464
+				'.alert-secondary' => array('b', 'o'),
1465 1465
 				'.btn-link.btn-secondary' => array('c'),
1466 1466
 			);
1467 1467
 
1468 1468
 			$important_selectors = array(
1469
-				'.bg-secondary' => array('b','f'),
1469
+				'.bg-secondary' => array('b', 'f'),
1470 1470
 				'.border-secondary' => array('o'),
1471 1471
 				'.text-secondary' => array('c'),
1472 1472
 			);
@@ -1483,77 +1483,77 @@  discard block
 block discarded – undo
1483 1483
 			$output = '';
1484 1484
 
1485 1485
 			// build rules into each type
1486
-			foreach($selectors as $selector => $types){
1487
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1488
-				$types = array_combine($types,$types);
1489
-				if(isset($types['c'])){$color[] = $selector;}
1490
-				if(isset($types['b'])){$background[] = $selector;}
1491
-				if(isset($types['o'])){$border[] = $selector;}
1492
-				if(isset($types['f'])){$fill[] = $selector;}
1486
+			foreach ($selectors as $selector => $types) {
1487
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1488
+				$types = array_combine($types, $types);
1489
+				if (isset($types['c'])) {$color[] = $selector; }
1490
+				if (isset($types['b'])) {$background[] = $selector; }
1491
+				if (isset($types['o'])) {$border[] = $selector; }
1492
+				if (isset($types['f'])) {$fill[] = $selector; }
1493 1493
 			}
1494 1494
 
1495 1495
 			// build rules into each type
1496
-			foreach($important_selectors as $selector => $types){
1497
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1498
-				$types = array_combine($types,$types);
1499
-				if(isset($types['c'])){$color_i[] = $selector;}
1500
-				if(isset($types['b'])){$background_i[] = $selector;}
1501
-				if(isset($types['o'])){$border_i[] = $selector;}
1502
-				if(isset($types['f'])){$fill_i[] = $selector;}
1496
+			foreach ($important_selectors as $selector => $types) {
1497
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1498
+				$types = array_combine($types, $types);
1499
+				if (isset($types['c'])) {$color_i[] = $selector; }
1500
+				if (isset($types['b'])) {$background_i[] = $selector; }
1501
+				if (isset($types['o'])) {$border_i[] = $selector; }
1502
+				if (isset($types['f'])) {$fill_i[] = $selector; }
1503 1503
 			}
1504 1504
 
1505 1505
 			// add any color rules
1506
-			if(!empty($color)){
1507
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1506
+			if (!empty($color)) {
1507
+				$output .= implode(",", $color) . "{color: $color_code;} ";
1508 1508
 			}
1509
-			if(!empty($color_i)){
1510
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1509
+			if (!empty($color_i)) {
1510
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1511 1511
 			}
1512 1512
 
1513 1513
 			// add any background color rules
1514
-			if(!empty($background)){
1515
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1514
+			if (!empty($background)) {
1515
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
1516 1516
 			}
1517
-			if(!empty($background_i)){
1518
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1517
+			if (!empty($background_i)) {
1518
+				$output .= implode(",", $background_i) . "{background-color: $color_code !important;} ";
1519 1519
 			}
1520 1520
 
1521 1521
 			// add any border color rules
1522
-			if(!empty($border)){
1523
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1522
+			if (!empty($border)) {
1523
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
1524 1524
 			}
1525
-			if(!empty($border_i)){
1526
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1525
+			if (!empty($border_i)) {
1526
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1527 1527
 			}
1528 1528
 
1529 1529
 			// add any fill color rules
1530
-			if(!empty($fill)){
1531
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1530
+			if (!empty($fill)) {
1531
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
1532 1532
 			}
1533
-			if(!empty($fill_i)){
1534
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1533
+			if (!empty($fill_i)) {
1534
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1535 1535
 			}
1536 1536
 
1537 1537
 
1538 1538
 			$prefix = $compatibility ? ".bsui " : "";
1539 1539
 
1540 1540
 			// darken
1541
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1542
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1543
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1541
+			$darker_075 = self::css_hex_lighten_darken($color_code, "-0.075");
1542
+			$darker_10 = self::css_hex_lighten_darken($color_code, "-0.10");
1543
+			$darker_125 = self::css_hex_lighten_darken($color_code, "-0.125");
1544 1544
 
1545 1545
 			// lighten
1546
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1546
+			$lighten_25 = self::css_hex_lighten_darken($color_code, "0.25");
1547 1547
 
1548 1548
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1549
-			$op_25 = $color_code."40"; // 25% opacity
1549
+			$op_25 = $color_code . "40"; // 25% opacity
1550 1550
 
1551 1551
 
1552 1552
 			// button states
1553
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1554
-			$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;} ";
1555
-			$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.";} ";
1556
-			$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;} ";
1553
+			$output .= $prefix . " .btn-secondary:hover{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1554
+			$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;} ";
1555
+			$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 . ";} ";
1556
+			$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;} ";
1557 1557
 
1558 1558
 
1559 1559
 			return $output;
@@ -1589,8 +1589,8 @@  discard block
 block discarded – undo
1589 1589
 		/**
1590 1590
 		 * Check if we should display examples.
1591 1591
 		 */
1592
-		public function maybe_show_examples(){
1593
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
1592
+		public function maybe_show_examples() {
1593
+			if (current_user_can('manage_options') && isset($_REQUEST['preview-aui'])) {
1594 1594
 				echo "<head>";
1595 1595
 				wp_head();
1596 1596
 				echo "</head>";
@@ -1606,7 +1606,7 @@  discard block
 block discarded – undo
1606 1606
 		 *
1607 1607
 		 * @return string
1608 1608
 		 */
1609
-		public function get_examples(){
1609
+		public function get_examples() {
1610 1610
 			$output = '';
1611 1611
 
1612 1612
 
@@ -1712,74 +1712,74 @@  discard block
 block discarded – undo
1712 1712
 		 */
1713 1713
 		public static function calendar_params() {
1714 1714
 			$params = array(
1715
-				'month_long_1' => __( 'January', 'aui' ),
1716
-				'month_long_2' => __( 'February', 'aui' ),
1717
-				'month_long_3' => __( 'March', 'aui' ),
1718
-				'month_long_4' => __( 'April', 'aui' ),
1719
-				'month_long_5' => __( 'May', 'aui' ),
1720
-				'month_long_6' => __( 'June', 'aui' ),
1721
-				'month_long_7' => __( 'July', 'aui' ),
1722
-				'month_long_8' => __( 'August', 'aui' ),
1723
-				'month_long_9' => __( 'September', 'aui' ),
1724
-				'month_long_10' => __( 'October', 'aui' ),
1725
-				'month_long_11' => __( 'November', 'aui' ),
1726
-				'month_long_12' => __( 'December', 'aui' ),
1727
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'aui' ),
1728
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'aui' ),
1729
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'aui' ),
1730
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'aui' ),
1731
-				'month_s_5' => _x( 'May', 'May abbreviation', 'aui' ),
1732
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'aui' ),
1733
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'aui' ),
1734
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'aui' ),
1735
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'aui' ),
1736
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'aui' ),
1737
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'aui' ),
1738
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'aui' ),
1739
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'aui' ),
1740
-				'day_s1_2' => _x( 'M', 'Monday initial', 'aui' ),
1741
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'aui' ),
1742
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'aui' ),
1743
-				'day_s1_5' => _x( 'T', 'Friday initial', 'aui' ),
1744
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'aui' ),
1745
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'aui' ),
1746
-				'day_s2_1' => __( 'Su', 'aui' ),
1747
-				'day_s2_2' => __( 'Mo', 'aui' ),
1748
-				'day_s2_3' => __( 'Tu', 'aui' ),
1749
-				'day_s2_4' => __( 'We', 'aui' ),
1750
-				'day_s2_5' => __( 'Th', 'aui' ),
1751
-				'day_s2_6' => __( 'Fr', 'aui' ),
1752
-				'day_s2_7' => __( 'Sa', 'aui' ),
1753
-				'day_s3_1' => __( 'Sun', 'aui' ),
1754
-				'day_s3_2' => __( 'Mon', 'aui' ),
1755
-				'day_s3_3' => __( 'Tue', 'aui' ),
1756
-				'day_s3_4' => __( 'Wed', 'aui' ),
1757
-				'day_s3_5' => __( 'Thu', 'aui' ),
1758
-				'day_s3_6' => __( 'Fri', 'aui' ),
1759
-				'day_s3_7' => __( 'Sat', 'aui' ),
1760
-				'day_s5_1' => __( 'Sunday', 'aui' ),
1761
-				'day_s5_2' => __( 'Monday', 'aui' ),
1762
-				'day_s5_3' => __( 'Tuesday', 'aui' ),
1763
-				'day_s5_4' => __( 'Wednesday', 'aui' ),
1764
-				'day_s5_5' => __( 'Thursday', 'aui' ),
1765
-				'day_s5_6' => __( 'Friday', 'aui' ),
1766
-				'day_s5_7' => __( 'Saturday', 'aui' ),
1767
-				'am_lower' => __( 'am', 'aui' ),
1768
-				'pm_lower' => __( 'pm', 'aui' ),
1769
-				'am_upper' => __( 'AM', 'aui' ),
1770
-				'pm_upper' => __( 'PM', 'aui' ),
1771
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
1715
+				'month_long_1' => __('January', 'aui'),
1716
+				'month_long_2' => __('February', 'aui'),
1717
+				'month_long_3' => __('March', 'aui'),
1718
+				'month_long_4' => __('April', 'aui'),
1719
+				'month_long_5' => __('May', 'aui'),
1720
+				'month_long_6' => __('June', 'aui'),
1721
+				'month_long_7' => __('July', 'aui'),
1722
+				'month_long_8' => __('August', 'aui'),
1723
+				'month_long_9' => __('September', 'aui'),
1724
+				'month_long_10' => __('October', 'aui'),
1725
+				'month_long_11' => __('November', 'aui'),
1726
+				'month_long_12' => __('December', 'aui'),
1727
+				'month_s_1' => _x('Jan', 'January abbreviation', 'aui'),
1728
+				'month_s_2' => _x('Feb', 'February abbreviation', 'aui'),
1729
+				'month_s_3' => _x('Mar', 'March abbreviation', 'aui'),
1730
+				'month_s_4' => _x('Apr', 'April abbreviation', 'aui'),
1731
+				'month_s_5' => _x('May', 'May abbreviation', 'aui'),
1732
+				'month_s_6' => _x('Jun', 'June abbreviation', 'aui'),
1733
+				'month_s_7' => _x('Jul', 'July abbreviation', 'aui'),
1734
+				'month_s_8' => _x('Aug', 'August abbreviation', 'aui'),
1735
+				'month_s_9' => _x('Sep', 'September abbreviation', 'aui'),
1736
+				'month_s_10' => _x('Oct', 'October abbreviation', 'aui'),
1737
+				'month_s_11' => _x('Nov', 'November abbreviation', 'aui'),
1738
+				'month_s_12' => _x('Dec', 'December abbreviation', 'aui'),
1739
+				'day_s1_1' => _x('S', 'Sunday initial', 'aui'),
1740
+				'day_s1_2' => _x('M', 'Monday initial', 'aui'),
1741
+				'day_s1_3' => _x('T', 'Tuesday initial', 'aui'),
1742
+				'day_s1_4' => _x('W', 'Wednesday initial', 'aui'),
1743
+				'day_s1_5' => _x('T', 'Friday initial', 'aui'),
1744
+				'day_s1_6' => _x('F', 'Thursday initial', 'aui'),
1745
+				'day_s1_7' => _x('S', 'Saturday initial', 'aui'),
1746
+				'day_s2_1' => __('Su', 'aui'),
1747
+				'day_s2_2' => __('Mo', 'aui'),
1748
+				'day_s2_3' => __('Tu', 'aui'),
1749
+				'day_s2_4' => __('We', 'aui'),
1750
+				'day_s2_5' => __('Th', 'aui'),
1751
+				'day_s2_6' => __('Fr', 'aui'),
1752
+				'day_s2_7' => __('Sa', 'aui'),
1753
+				'day_s3_1' => __('Sun', 'aui'),
1754
+				'day_s3_2' => __('Mon', 'aui'),
1755
+				'day_s3_3' => __('Tue', 'aui'),
1756
+				'day_s3_4' => __('Wed', 'aui'),
1757
+				'day_s3_5' => __('Thu', 'aui'),
1758
+				'day_s3_6' => __('Fri', 'aui'),
1759
+				'day_s3_7' => __('Sat', 'aui'),
1760
+				'day_s5_1' => __('Sunday', 'aui'),
1761
+				'day_s5_2' => __('Monday', 'aui'),
1762
+				'day_s5_3' => __('Tuesday', 'aui'),
1763
+				'day_s5_4' => __('Wednesday', 'aui'),
1764
+				'day_s5_5' => __('Thursday', 'aui'),
1765
+				'day_s5_6' => __('Friday', 'aui'),
1766
+				'day_s5_7' => __('Saturday', 'aui'),
1767
+				'am_lower' => __('am', 'aui'),
1768
+				'pm_lower' => __('pm', 'aui'),
1769
+				'am_upper' => __('AM', 'aui'),
1770
+				'pm_upper' => __('PM', 'aui'),
1771
+				'firstDayOfWeek' => (int) get_option('start_of_week'),
1772 1772
 				'time_24hr' => false,
1773
-				'year' => __( 'Year', 'aui' ),
1774
-				'hour' => __( 'Hour', 'aui' ),
1775
-				'minute' => __( 'Minute', 'aui' ),
1776
-				'weekAbbreviation' => __( 'Wk', 'aui' ),
1777
-				'rangeSeparator' => __( ' to ', 'aui' ),
1778
-				'scrollTitle' => __( 'Scroll to increment', 'aui' ),
1779
-				'toggleTitle' => __( 'Click to toggle', 'aui' )
1773
+				'year' => __('Year', 'aui'),
1774
+				'hour' => __('Hour', 'aui'),
1775
+				'minute' => __('Minute', 'aui'),
1776
+				'weekAbbreviation' => __('Wk', 'aui'),
1777
+				'rangeSeparator' => __(' to ', 'aui'),
1778
+				'scrollTitle' => __('Scroll to increment', 'aui'),
1779
+				'toggleTitle' => __('Click to toggle', 'aui')
1780 1780
 			);
1781 1781
 
1782
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
1782
+			return apply_filters('ayecode_ui_calendar_params', $params);
1783 1783
 		}
1784 1784
 
1785 1785
 		/**
@@ -1792,47 +1792,47 @@  discard block
 block discarded – undo
1792 1792
 		public static function flatpickr_locale() {
1793 1793
 			$params = self::calendar_params();
1794 1794
 
1795
-			if ( is_string( $params ) ) {
1796
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
1795
+			if (is_string($params)) {
1796
+				$params = html_entity_decode($params, ENT_QUOTES, 'UTF-8');
1797 1797
 			} else {
1798
-				foreach ( (array) $params as $key => $value ) {
1799
-					if ( ! is_scalar( $value ) ) {
1798
+				foreach ((array) $params as $key => $value) {
1799
+					if (!is_scalar($value)) {
1800 1800
 						continue;
1801 1801
 					}
1802 1802
 
1803
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
1803
+					$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
1804 1804
 				}
1805 1805
 			}
1806 1806
 
1807 1807
 			$day_s3 = array();
1808 1808
 			$day_s5 = array();
1809 1809
 
1810
-			for ( $i = 1; $i <= 7; $i ++ ) {
1811
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] );
1812
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] );
1810
+			for ($i = 1; $i <= 7; $i++) {
1811
+				$day_s3[] = addslashes($params['day_s3_' . $i]);
1812
+				$day_s5[] = addslashes($params['day_s3_' . $i]);
1813 1813
 			}
1814 1814
 
1815 1815
 			$month_s = array();
1816 1816
 			$month_long = array();
1817 1817
 
1818
-			for ( $i = 1; $i <= 12; $i ++ ) {
1819
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] );
1820
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] );
1818
+			for ($i = 1; $i <= 12; $i++) {
1819
+				$month_s[] = addslashes($params['month_s_' . $i]);
1820
+				$month_long[] = addslashes($params['month_long_' . $i]);
1821 1821
 			}
1822 1822
 
1823 1823
 ob_start();
1824
-if ( 0 ) { ?><script><?php } ?>
1824
+if (0) { ?><script><?php } ?>
1825 1825
 {
1826 1826
 	weekdays: {
1827
-		shorthand: ['<?php echo implode( "','", $day_s3 ); ?>'],
1828
-		longhand: ['<?php echo implode( "','", $day_s5 ); ?>'],
1827
+		shorthand: ['<?php echo implode("','", $day_s3); ?>'],
1828
+		longhand: ['<?php echo implode("','", $day_s5); ?>'],
1829 1829
 	},
1830 1830
 	months: {
1831
-		shorthand: ['<?php echo implode( "','", $month_s ); ?>'],
1832
-		longhand: ['<?php echo implode( "','", $month_long ); ?>'],
1831
+		shorthand: ['<?php echo implode("','", $month_s); ?>'],
1832
+		longhand: ['<?php echo implode("','", $month_long); ?>'],
1833 1833
 	},
1834 1834
 	daysInMonth: [31,28,31,30,31,30,31,31,30,31,30,31],
1835
-	firstDayOfWeek: <?php echo (int) $params[ 'firstDayOfWeek' ]; ?>,
1835
+	firstDayOfWeek: <?php echo (int) $params['firstDayOfWeek']; ?>,
1836 1836
 	ordinal: function (nth) {
1837 1837
 		var s = nth % 100;
1838 1838
 		if (s > 3 && s < 21)
@@ -1848,21 +1848,21 @@  discard block
 block discarded – undo
1848 1848
 				return "th";
1849 1849
 		}
1850 1850
 	},
1851
-	rangeSeparator: '<?php echo addslashes( $params[ 'rangeSeparator' ] ); ?>',
1852
-	weekAbbreviation: '<?php echo addslashes( $params[ 'weekAbbreviation' ] ); ?>',
1853
-	scrollTitle: '<?php echo addslashes( $params[ 'scrollTitle' ] ); ?>',
1854
-	toggleTitle: '<?php echo addslashes( $params[ 'toggleTitle' ] ); ?>',
1855
-	amPM: ['<?php echo addslashes( $params[ 'am_upper' ] ); ?>','<?php echo addslashes( $params[ 'pm_upper' ] ); ?>'],
1856
-	yearAriaLabel: '<?php echo addslashes( $params[ 'year' ] ); ?>',
1857
-	hourAriaLabel: '<?php echo addslashes( $params[ 'hour' ] ); ?>',
1858
-	minuteAriaLabel: '<?php echo addslashes( $params[ 'minute' ] ); ?>',
1859
-	time_24hr: <?php echo ( $params[ 'time_24hr' ] ? 'true' : 'false' ) ; ?>
1851
+	rangeSeparator: '<?php echo addslashes($params['rangeSeparator']); ?>',
1852
+	weekAbbreviation: '<?php echo addslashes($params['weekAbbreviation']); ?>',
1853
+	scrollTitle: '<?php echo addslashes($params['scrollTitle']); ?>',
1854
+	toggleTitle: '<?php echo addslashes($params['toggleTitle']); ?>',
1855
+	amPM: ['<?php echo addslashes($params['am_upper']); ?>','<?php echo addslashes($params['pm_upper']); ?>'],
1856
+	yearAriaLabel: '<?php echo addslashes($params['year']); ?>',
1857
+	hourAriaLabel: '<?php echo addslashes($params['hour']); ?>',
1858
+	minuteAriaLabel: '<?php echo addslashes($params['minute']); ?>',
1859
+	time_24hr: <?php echo ($params['time_24hr'] ? 'true' : 'false'); ?>
1860 1860
 }
1861
-<?php if ( 0 ) { ?></script><?php } ?>
1861
+<?php if (0) { ?></script><?php } ?>
1862 1862
 <?php
1863 1863
 			$locale = ob_get_clean();
1864 1864
 
1865
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
1865
+			return apply_filters('ayecode_ui_flatpickr_locale', trim($locale));
1866 1866
 		}
1867 1867
 
1868 1868
 		/**
@@ -1874,20 +1874,20 @@  discard block
 block discarded – undo
1874 1874
 		 */
1875 1875
 		public static function select2_params() {
1876 1876
 			$params = array(
1877
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'aui' ),
1878
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'aui' ),
1879
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'aui' ),
1880
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'aui' ),
1881
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'aui' ),
1882
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'aui' ),
1883
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'aui' ),
1884
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'aui' ),
1885
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'aui' ),
1886
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'aui' ),
1887
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'aui' )
1877
+				'i18n_select_state_text'    => esc_attr__('Select an option&hellip;', 'aui'),
1878
+				'i18n_no_matches'           => _x('No matches found', 'enhanced select', 'aui'),
1879
+				'i18n_ajax_error'           => _x('Loading failed', 'enhanced select', 'aui'),
1880
+				'i18n_input_too_short_1'    => _x('Please enter 1 or more characters', 'enhanced select', 'aui'),
1881
+				'i18n_input_too_short_n'    => _x('Please enter %item% or more characters', 'enhanced select', 'aui'),
1882
+				'i18n_input_too_long_1'     => _x('Please delete 1 character', 'enhanced select', 'aui'),
1883
+				'i18n_input_too_long_n'     => _x('Please delete %item% characters', 'enhanced select', 'aui'),
1884
+				'i18n_selection_too_long_1' => _x('You can only select 1 item', 'enhanced select', 'aui'),
1885
+				'i18n_selection_too_long_n' => _x('You can only select %item% items', 'enhanced select', 'aui'),
1886
+				'i18n_load_more'            => _x('Loading more results&hellip;', 'enhanced select', 'aui'),
1887
+				'i18n_searching'            => _x('Searching&hellip;', 'enhanced select', 'aui')
1888 1888
 			);
1889 1889
 
1890
-			return apply_filters( 'ayecode_ui_select2_params', $params );
1890
+			return apply_filters('ayecode_ui_select2_params', $params);
1891 1891
 		}
1892 1892
 
1893 1893
 		/**
@@ -1900,17 +1900,17 @@  discard block
 block discarded – undo
1900 1900
 		public static function select2_locale() {
1901 1901
 			$params = self::select2_params();
1902 1902
 
1903
-			foreach ( (array) $params as $key => $value ) {
1904
-				if ( ! is_scalar( $value ) ) {
1903
+			foreach ((array) $params as $key => $value) {
1904
+				if (!is_scalar($value)) {
1905 1905
 					continue;
1906 1906
 				}
1907 1907
 
1908
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
1908
+				$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
1909 1909
 			}
1910 1910
 
1911
-			$locale = json_encode( $params );
1911
+			$locale = json_encode($params);
1912 1912
 
1913
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
1913
+			return apply_filters('ayecode_ui_select2_locale', trim($locale));
1914 1914
 		}
1915 1915
 	}
1916 1916
 
Please login to merge, or discard this patch.
Indentation   +1099 added lines, -1099 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,236 +21,236 @@  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.1.46';
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 = "4.5.3";
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
-		 * Main AyeCode_UI_Settings Instance.
93
-		 *
94
-		 * Ensures only one instance of AyeCode_UI_Settings is loaded or can be loaded.
95
-		 *
96
-		 * @since 1.0.0
97
-		 * @static
98
-		 * @return AyeCode_UI_Settings - Main instance.
99
-		 */
100
-		public static function instance() {
101
-			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
102
-
103
-				self::$instance = new AyeCode_UI_Settings;
104
-
105
-				add_action( 'init', array( self::$instance, 'init' ) ); // set settings
106
-
107
-				if ( is_admin() ) {
108
-					add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
109
-					add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
110
-
111
-					// Maybe show example page
112
-					add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) );
113
-				}
114
-
115
-				add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
116
-
117
-				do_action( 'ayecode_ui_settings_loaded' );
118
-			}
119
-
120
-			return self::$instance;
121
-		}
122
-
123
-		/**
124
-		 * Setup some constants.
125
-		 */
126
-		public function constants(){
127
-			define('AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be");
128
-			define('AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d');
129
-			if (!defined('AUI_PRIMARY_COLOR')) define('AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL);
130
-			if (!defined('AUI_SECONDARY_COLOR')) define('AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL);
131
-		}
132
-
133
-		/**
134
-		 * Initiate the settings and add the required action hooks.
135
-		 */
136
-		public function init() {
137
-			$this->constants();
138
-			$this->settings = $this->get_settings();
139
-			$this->url = $this->get_url();
140
-
141
-			/**
142
-			 * Maybe load CSS
143
-			 *
144
-			 * We load super early in case there is a theme version that might change the colors
145
-			 */
146
-			if ( $this->settings['css'] ) {
147
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
148
-			}
149
-			if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) {
150
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
151
-			}
152
-
153
-			// maybe load JS
154
-			if ( $this->settings['js'] ) {
155
-				$priority = $this->is_bs3_compat() ? 100 : 1;
156
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority );
157
-			}
158
-			if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) {
159
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 );
160
-			}
161
-
162
-			// Maybe set the HTML font size
163
-			if ( $this->settings['html_font_size'] ) {
164
-				add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 );
165
-			}
166
-
167
-
168
-		}
169
-
170
-		/**
171
-		 * Check if we should load the admin scripts or not.
172
-		 *
173
-		 * @return bool
174
-		 */
175
-		public function load_admin_scripts(){
176
-			$result = true;
177
-
178
-			// check if specifically disabled
179
-			if(!empty($this->settings['disable_admin'])){
180
-				$url_parts = explode("\n",$this->settings['disable_admin']);
181
-				foreach($url_parts as $part){
182
-					if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){
183
-						return false; // return early, no point checking further
184
-					}
185
-				}
186
-			}
187
-
188
-			return $result;
189
-		}
190
-
191
-		/**
192
-		 * Add a html font size to the footer.
193
-		 */
194
-		public function html_font_size(){
195
-			$this->settings = $this->get_settings();
196
-			echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>";
197
-		}
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.1.46';
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 = "4.5.3";
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
+         * Main AyeCode_UI_Settings Instance.
93
+         *
94
+         * Ensures only one instance of AyeCode_UI_Settings is loaded or can be loaded.
95
+         *
96
+         * @since 1.0.0
97
+         * @static
98
+         * @return AyeCode_UI_Settings - Main instance.
99
+         */
100
+        public static function instance() {
101
+            if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
102
+
103
+                self::$instance = new AyeCode_UI_Settings;
104
+
105
+                add_action( 'init', array( self::$instance, 'init' ) ); // set settings
106
+
107
+                if ( is_admin() ) {
108
+                    add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
109
+                    add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
110
+
111
+                    // Maybe show example page
112
+                    add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) );
113
+                }
198 114
 
199
-		/**
200
-		 * Check if the current admin screen should load scripts.
201
-		 * 
202
-		 * @return bool
203
-		 */
204
-		public function is_aui_screen(){
205
-			$load = false;
206
-			// check if we should load or not
207
-			if ( is_admin() ) {
208
-				// Only enable on set pages
209
-				$aui_screens = array(
210
-					'page',
211
-					'post',
212
-					'settings_page_ayecode-ui-settings',
213
-					'appearance_page_gutenberg-widgets'
214
-				);
215
-				$screen_ids = apply_filters( 'aui_screen_ids', $aui_screens );
216
-
217
-				$screen = get_current_screen();
115
+                add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
116
+
117
+                do_action( 'ayecode_ui_settings_loaded' );
118
+            }
119
+
120
+            return self::$instance;
121
+        }
122
+
123
+        /**
124
+         * Setup some constants.
125
+         */
126
+        public function constants(){
127
+            define('AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be");
128
+            define('AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d');
129
+            if (!defined('AUI_PRIMARY_COLOR')) define('AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL);
130
+            if (!defined('AUI_SECONDARY_COLOR')) define('AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL);
131
+        }
132
+
133
+        /**
134
+         * Initiate the settings and add the required action hooks.
135
+         */
136
+        public function init() {
137
+            $this->constants();
138
+            $this->settings = $this->get_settings();
139
+            $this->url = $this->get_url();
140
+
141
+            /**
142
+             * Maybe load CSS
143
+             *
144
+             * We load super early in case there is a theme version that might change the colors
145
+             */
146
+            if ( $this->settings['css'] ) {
147
+                add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
148
+            }
149
+            if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) {
150
+                add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
151
+            }
152
+
153
+            // maybe load JS
154
+            if ( $this->settings['js'] ) {
155
+                $priority = $this->is_bs3_compat() ? 100 : 1;
156
+                add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority );
157
+            }
158
+            if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) {
159
+                add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 );
160
+            }
161
+
162
+            // Maybe set the HTML font size
163
+            if ( $this->settings['html_font_size'] ) {
164
+                add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 );
165
+            }
166
+
167
+
168
+        }
169
+
170
+        /**
171
+         * Check if we should load the admin scripts or not.
172
+         *
173
+         * @return bool
174
+         */
175
+        public function load_admin_scripts(){
176
+            $result = true;
177
+
178
+            // check if specifically disabled
179
+            if(!empty($this->settings['disable_admin'])){
180
+                $url_parts = explode("\n",$this->settings['disable_admin']);
181
+                foreach($url_parts as $part){
182
+                    if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){
183
+                        return false; // return early, no point checking further
184
+                    }
185
+                }
186
+            }
187
+
188
+            return $result;
189
+        }
190
+
191
+        /**
192
+         * Add a html font size to the footer.
193
+         */
194
+        public function html_font_size(){
195
+            $this->settings = $this->get_settings();
196
+            echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>";
197
+        }
198
+
199
+        /**
200
+         * Check if the current admin screen should load scripts.
201
+         * 
202
+         * @return bool
203
+         */
204
+        public function is_aui_screen(){
205
+            $load = false;
206
+            // check if we should load or not
207
+            if ( is_admin() ) {
208
+                // Only enable on set pages
209
+                $aui_screens = array(
210
+                    'page',
211
+                    'post',
212
+                    'settings_page_ayecode-ui-settings',
213
+                    'appearance_page_gutenberg-widgets'
214
+                );
215
+                $screen_ids = apply_filters( 'aui_screen_ids', $aui_screens );
216
+
217
+                $screen = get_current_screen();
218 218
 
219 219
 //				echo '###'.$screen->id;
220 220
 				
221
-				if ( $screen && in_array( $screen->id, $screen_ids ) ) {
222
-					$load = true;
223
-				}
224
-			}
221
+                if ( $screen && in_array( $screen->id, $screen_ids ) ) {
222
+                    $load = true;
223
+                }
224
+            }
225 225
 
226
-			return $load;
227
-		}
226
+            return $load;
227
+        }
228 228
 
229
-		/**
230
-		 * Adds the styles.
231
-		 */
232
-		public function enqueue_style() {
229
+        /**
230
+         * Adds the styles.
231
+         */
232
+        public function enqueue_style() {
233 233
 
234
-			if( is_admin() && !$this->is_aui_screen()){
235
-				// don't add wp-admin scripts if not requested to
236
-			}else{
237
-				$css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
234
+            if( is_admin() && !$this->is_aui_screen()){
235
+                // don't add wp-admin scripts if not requested to
236
+            }else{
237
+                $css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
238 238
 
239
-				$rtl = is_rtl() ? '-rtl' : '';
239
+                $rtl = is_rtl() ? '-rtl' : '';
240 240
 
241
-				if($this->settings[$css_setting]){
242
-					$compatibility = $this->settings[$css_setting]=='core' ? false : true;
243
-					$url = $this->settings[$css_setting]=='core' ? $this->url.'assets/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets/css/ayecode-ui-compatibility'.$rtl.'.css';
244
-					wp_register_style( 'ayecode-ui', $url, array(), $this->latest );
245
-					wp_enqueue_style( 'ayecode-ui' );
241
+                if($this->settings[$css_setting]){
242
+                    $compatibility = $this->settings[$css_setting]=='core' ? false : true;
243
+                    $url = $this->settings[$css_setting]=='core' ? $this->url.'assets/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets/css/ayecode-ui-compatibility'.$rtl.'.css';
244
+                    wp_register_style( 'ayecode-ui', $url, array(), $this->latest );
245
+                    wp_enqueue_style( 'ayecode-ui' );
246 246
 
247
-					// flatpickr
248
-					wp_register_style( 'flatpickr', $this->url.'assets/css/flatpickr.min.css', array(), $this->latest );
247
+                    // flatpickr
248
+                    wp_register_style( 'flatpickr', $this->url.'assets/css/flatpickr.min.css', array(), $this->latest );
249 249
 
250 250
 
251
-					// fix some wp-admin issues
252
-					if(is_admin()){
253
-						$custom_css = "
251
+                    // fix some wp-admin issues
252
+                    if(is_admin()){
253
+                        $custom_css = "
254 254
                 body{
255 255
                     background-color: #f1f1f1;
256 256
                     font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;
@@ -289,35 +289,35 @@  discard block
 block discarded – undo
289 289
 				}
290 290
                 ";
291 291
 
292
-						// @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
293
-						$custom_css .= "
292
+                        // @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
293
+                        $custom_css .= "
294 294
 						.edit-post-sidebar input[type=color].components-text-control__input{
295 295
 						    padding: 0;
296 296
 						}
297 297
 					";
298
-						wp_add_inline_style( 'ayecode-ui', $custom_css );
299
-					}
298
+                        wp_add_inline_style( 'ayecode-ui', $custom_css );
299
+                    }
300 300
 
301
-					// custom changes
302
-					wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
301
+                    // custom changes
302
+                    wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
303 303
 
304
-				}
305
-			}
304
+                }
305
+            }
306 306
 
307 307
 
308
-		}
308
+        }
309
+
310
+        /**
311
+         * Get inline script used if bootstrap enqueued
312
+         *
313
+         * If this remains small then its best to use this than to add another JS file.
314
+         */
315
+        public function inline_script() {
316
+            // Flatpickr calendar locale
317
+            $flatpickr_locale = self::flatpickr_locale();
309 318
 
310
-		/**
311
-		 * Get inline script used if bootstrap enqueued
312
-		 *
313
-		 * If this remains small then its best to use this than to add another JS file.
314
-		 */
315
-		public function inline_script() {
316
-			// Flatpickr calendar locale
317
-			$flatpickr_locale = self::flatpickr_locale();
318
-
319
-			ob_start();
320
-			?>
319
+            ob_start();
320
+            ?>
321 321
 			<script>
322 322
 				/**
323 323
 				 * An AUI bootstrap adaptation of GreedyNav.js ( by Luke Jackson ).
@@ -981,27 +981,27 @@  discard block
 block discarded – undo
981 981
 
982 982
 			</script>
983 983
 			<?php
984
-			$output = ob_get_clean();
984
+            $output = ob_get_clean();
985 985
 
986
-			/*
986
+            /*
987 987
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
988 988
 			 */
989
-			return str_replace( array(
990
-				'<script>',
991
-				'</script>'
992
-			), '', $output );
993
-		}
994
-
995
-
996
-		/**
997
-		 * JS to help with conflict issues with other plugins and themes using bootstrap v3.
998
-		 *
999
-		 * @TODO we may need this when other conflicts arrise.
1000
-		 * @return mixed
1001
-		 */
1002
-		public static function bs3_compat_js() {
1003
-			ob_start();
1004
-			?>
989
+            return str_replace( array(
990
+                '<script>',
991
+                '</script>'
992
+            ), '', $output );
993
+        }
994
+
995
+
996
+        /**
997
+         * JS to help with conflict issues with other plugins and themes using bootstrap v3.
998
+         *
999
+         * @TODO we may need this when other conflicts arrise.
1000
+         * @return mixed
1001
+         */
1002
+        public static function bs3_compat_js() {
1003
+            ob_start();
1004
+            ?>
1005 1005
 			<script>
1006 1006
 				<?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
1007 1007
 				/* With Avada builder */
@@ -1009,20 +1009,20 @@  discard block
 block discarded – undo
1009 1009
 				<?php } ?>
1010 1010
 			</script>
1011 1011
 			<?php
1012
-			return str_replace( array(
1013
-				'<script>',
1014
-				'</script>'
1015
-			), '', ob_get_clean());
1016
-		}
1017
-
1018
-		/**
1019
-		 * Get inline script used if bootstrap file browser enqueued.
1020
-		 *
1021
-		 * If this remains small then its best to use this than to add another JS file.
1022
-		 */
1023
-		public function inline_script_file_browser(){
1024
-			ob_start();
1025
-			?>
1012
+            return str_replace( array(
1013
+                '<script>',
1014
+                '</script>'
1015
+            ), '', ob_get_clean());
1016
+        }
1017
+
1018
+        /**
1019
+         * Get inline script used if bootstrap file browser enqueued.
1020
+         *
1021
+         * If this remains small then its best to use this than to add another JS file.
1022
+         */
1023
+        public function inline_script_file_browser(){
1024
+            ob_start();
1025
+            ?>
1026 1026
 			<script>
1027 1027
 				// run on doc ready
1028 1028
 				jQuery(document).ready(function () {
@@ -1030,192 +1030,192 @@  discard block
 block discarded – undo
1030 1030
 				});
1031 1031
 			</script>
1032 1032
 			<?php
1033
-			$output = ob_get_clean();
1033
+            $output = ob_get_clean();
1034 1034
 
1035
-			/*
1035
+            /*
1036 1036
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1037 1037
 			 */
1038
-			return str_replace( array(
1039
-				'<script>',
1040
-				'</script>'
1041
-			), '', $output );
1042
-		}
1043
-
1044
-		/**
1045
-		 * Adds the Font Awesome JS.
1046
-		 */
1047
-		public function enqueue_scripts() {
1048
-
1049
-			if( is_admin() && !$this->is_aui_screen()){
1050
-				// don't add wp-admin scripts if not requested to
1051
-			}else {
1052
-
1053
-				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
1054
-
1055
-				// select2
1056
-				wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
1057
-
1058
-				// flatpickr
1059
-				wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->latest );
1060
-
1061
-				// Bootstrap file browser
1062
-				wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
1063
-				wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
1064
-
1065
-				$load_inline = false;
1066
-
1067
-				if ( $this->settings[ $js_setting ] == 'core-popper' ) {
1068
-					// Bootstrap bundle
1069
-					$url = $this->url . 'assets/js/bootstrap.bundle.min.js';
1070
-					wp_register_script( 'bootstrap-js-bundle', $url, array(
1071
-						'select2',
1072
-						'jquery'
1073
-					), $this->latest, $this->is_bs3_compat() );
1074
-					// if in admin then add to footer for compatibility.
1075
-					is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
1076
-					$script = $this->inline_script();
1077
-					wp_add_inline_script( 'bootstrap-js-bundle', $script );
1078
-				} elseif ( $this->settings[ $js_setting ] == 'popper' ) {
1079
-					$url = $this->url . 'assets/js/popper.min.js';
1080
-					wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->latest );
1081
-					wp_enqueue_script( 'bootstrap-js-popper' );
1082
-					$load_inline = true;
1083
-				} else {
1084
-					$load_inline = true;
1085
-				}
1086
-
1087
-				// Load needed inline scripts by faking the loading of a script if the main script is not being loaded
1088
-				if ( $load_inline ) {
1089
-					wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) );
1090
-					wp_enqueue_script( 'bootstrap-dummy' );
1091
-					$script = $this->inline_script();
1092
-					wp_add_inline_script( 'bootstrap-dummy', $script );
1093
-				}
1094
-			}
1095
-
1096
-		}
1097
-
1098
-		/**
1099
-		 * Enqueue flatpickr if called.
1100
-		 */
1101
-		public function enqueue_flatpickr(){
1102
-			wp_enqueue_style( 'flatpickr' );
1103
-			wp_enqueue_script( 'flatpickr' );
1104
-		}
1105
-
1106
-		/**
1107
-		 * Get the url path to the current folder.
1108
-		 *
1109
-		 * @return string
1110
-		 */
1111
-		public function get_url() {
1112
-
1113
-			$url = '';
1114
-			// check if we are inside a plugin
1115
-			$file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
1116
-
1117
-			// add check in-case user has changed wp-content dir name.
1118
-			$wp_content_folder_name = basename(WP_CONTENT_DIR);
1119
-			$dir_parts = explode("/$wp_content_folder_name/",$file_dir);
1120
-			$url_parts = explode("/$wp_content_folder_name/",plugins_url());
1121
-
1122
-			if(!empty($url_parts[0]) && !empty($dir_parts[1])){
1123
-				$url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
1124
-			}
1125
-
1126
-			return $url;
1127
-		}
1128
-
1129
-		/**
1130
-		 * Register the database settings with WordPress.
1131
-		 */
1132
-		public function register_settings() {
1133
-			register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
1134
-		}
1135
-
1136
-		/**
1137
-		 * Add the WordPress settings menu item.
1138
-		 * @since 1.0.10 Calling function name direct will fail theme check so we don't.
1139
-		 */
1140
-		public function menu_item() {
1141
-			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
1142
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
1143
-				$this,
1144
-				'settings_page'
1145
-			) );
1146
-		}
1147
-
1148
-		/**
1149
-		 * Get a list of themes and their default JS settings.
1150
-		 *
1151
-		 * @return array
1152
-		 */
1153
-		public function theme_js_settings(){
1154
-			return array(
1155
-				'ayetheme' => 'popper',
1156
-				'listimia' => 'required',
1157
-				'listimia_backend' => 'core-popper',
1158
-				//'avada'    => 'required', // removed as we now add compatibility
1159
-			);
1160
-		}
1161
-
1162
-		/**
1163
-		 * Get the current Font Awesome output settings.
1164
-		 *
1165
-		 * @return array The array of settings.
1166
-		 */
1167
-		public function get_settings() {
1168
-
1169
-			$db_settings = get_option( 'ayecode-ui-settings' );
1170
-			$js_default = 'core-popper';
1171
-			$js_default_backend = $js_default;
1172
-
1173
-			// maybe set defaults (if no settings set)
1174
-			if(empty($db_settings)){
1175
-				$active_theme = strtolower( get_template() ); // active parent theme.
1176
-				$theme_js_settings = self::theme_js_settings();
1177
-				if(isset($theme_js_settings[$active_theme])){
1178
-					$js_default = $theme_js_settings[$active_theme];
1179
-					$js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
1180
-				}
1181
-			}
1182
-
1183
-			$defaults = array(
1184
-				'css'       => 'compatibility', // core, compatibility
1185
-				'js'        => $js_default, // js to load, core-popper, popper
1186
-				'html_font_size'        => '16', // js to load, core-popper, popper
1187
-				'css_backend'       => 'compatibility', // core, compatibility
1188
-				'js_backend'        => $js_default_backend, // js to load, core-popper, popper
1189
-				'disable_admin'     =>  '', // URL snippets to disable loading on admin
1190
-			);
1191
-
1192
-			$settings = wp_parse_args( $db_settings, $defaults );
1193
-
1194
-			/**
1195
-			 * Filter the Bootstrap settings.
1196
-			 *
1197
-			 * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
1198
-			 */
1199
-			return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
1200
-		}
1201
-
1038
+            return str_replace( array(
1039
+                '<script>',
1040
+                '</script>'
1041
+            ), '', $output );
1042
+        }
1043
+
1044
+        /**
1045
+         * Adds the Font Awesome JS.
1046
+         */
1047
+        public function enqueue_scripts() {
1048
+
1049
+            if( is_admin() && !$this->is_aui_screen()){
1050
+                // don't add wp-admin scripts if not requested to
1051
+            }else {
1052
+
1053
+                $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
1054
+
1055
+                // select2
1056
+                wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
1057
+
1058
+                // flatpickr
1059
+                wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->latest );
1060
+
1061
+                // Bootstrap file browser
1062
+                wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
1063
+                wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
1064
+
1065
+                $load_inline = false;
1066
+
1067
+                if ( $this->settings[ $js_setting ] == 'core-popper' ) {
1068
+                    // Bootstrap bundle
1069
+                    $url = $this->url . 'assets/js/bootstrap.bundle.min.js';
1070
+                    wp_register_script( 'bootstrap-js-bundle', $url, array(
1071
+                        'select2',
1072
+                        'jquery'
1073
+                    ), $this->latest, $this->is_bs3_compat() );
1074
+                    // if in admin then add to footer for compatibility.
1075
+                    is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
1076
+                    $script = $this->inline_script();
1077
+                    wp_add_inline_script( 'bootstrap-js-bundle', $script );
1078
+                } elseif ( $this->settings[ $js_setting ] == 'popper' ) {
1079
+                    $url = $this->url . 'assets/js/popper.min.js';
1080
+                    wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->latest );
1081
+                    wp_enqueue_script( 'bootstrap-js-popper' );
1082
+                    $load_inline = true;
1083
+                } else {
1084
+                    $load_inline = true;
1085
+                }
1202 1086
 
1203
-		/**
1204
-		 * The settings page html output.
1205
-		 */
1206
-		public function settings_page() {
1207
-			if ( ! current_user_can( 'manage_options' ) ) {
1208
-				wp_die( __( 'You do not have sufficient permissions to access this page.', 'aui' ) );
1209
-			}
1210
-			?>
1087
+                // Load needed inline scripts by faking the loading of a script if the main script is not being loaded
1088
+                if ( $load_inline ) {
1089
+                    wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) );
1090
+                    wp_enqueue_script( 'bootstrap-dummy' );
1091
+                    $script = $this->inline_script();
1092
+                    wp_add_inline_script( 'bootstrap-dummy', $script );
1093
+                }
1094
+            }
1095
+
1096
+        }
1097
+
1098
+        /**
1099
+         * Enqueue flatpickr if called.
1100
+         */
1101
+        public function enqueue_flatpickr(){
1102
+            wp_enqueue_style( 'flatpickr' );
1103
+            wp_enqueue_script( 'flatpickr' );
1104
+        }
1105
+
1106
+        /**
1107
+         * Get the url path to the current folder.
1108
+         *
1109
+         * @return string
1110
+         */
1111
+        public function get_url() {
1112
+
1113
+            $url = '';
1114
+            // check if we are inside a plugin
1115
+            $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
1116
+
1117
+            // add check in-case user has changed wp-content dir name.
1118
+            $wp_content_folder_name = basename(WP_CONTENT_DIR);
1119
+            $dir_parts = explode("/$wp_content_folder_name/",$file_dir);
1120
+            $url_parts = explode("/$wp_content_folder_name/",plugins_url());
1121
+
1122
+            if(!empty($url_parts[0]) && !empty($dir_parts[1])){
1123
+                $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
1124
+            }
1125
+
1126
+            return $url;
1127
+        }
1128
+
1129
+        /**
1130
+         * Register the database settings with WordPress.
1131
+         */
1132
+        public function register_settings() {
1133
+            register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
1134
+        }
1135
+
1136
+        /**
1137
+         * Add the WordPress settings menu item.
1138
+         * @since 1.0.10 Calling function name direct will fail theme check so we don't.
1139
+         */
1140
+        public function menu_item() {
1141
+            $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
1142
+            call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
1143
+                $this,
1144
+                'settings_page'
1145
+            ) );
1146
+        }
1147
+
1148
+        /**
1149
+         * Get a list of themes and their default JS settings.
1150
+         *
1151
+         * @return array
1152
+         */
1153
+        public function theme_js_settings(){
1154
+            return array(
1155
+                'ayetheme' => 'popper',
1156
+                'listimia' => 'required',
1157
+                'listimia_backend' => 'core-popper',
1158
+                //'avada'    => 'required', // removed as we now add compatibility
1159
+            );
1160
+        }
1161
+
1162
+        /**
1163
+         * Get the current Font Awesome output settings.
1164
+         *
1165
+         * @return array The array of settings.
1166
+         */
1167
+        public function get_settings() {
1168
+
1169
+            $db_settings = get_option( 'ayecode-ui-settings' );
1170
+            $js_default = 'core-popper';
1171
+            $js_default_backend = $js_default;
1172
+
1173
+            // maybe set defaults (if no settings set)
1174
+            if(empty($db_settings)){
1175
+                $active_theme = strtolower( get_template() ); // active parent theme.
1176
+                $theme_js_settings = self::theme_js_settings();
1177
+                if(isset($theme_js_settings[$active_theme])){
1178
+                    $js_default = $theme_js_settings[$active_theme];
1179
+                    $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
1180
+                }
1181
+            }
1182
+
1183
+            $defaults = array(
1184
+                'css'       => 'compatibility', // core, compatibility
1185
+                'js'        => $js_default, // js to load, core-popper, popper
1186
+                'html_font_size'        => '16', // js to load, core-popper, popper
1187
+                'css_backend'       => 'compatibility', // core, compatibility
1188
+                'js_backend'        => $js_default_backend, // js to load, core-popper, popper
1189
+                'disable_admin'     =>  '', // URL snippets to disable loading on admin
1190
+            );
1191
+
1192
+            $settings = wp_parse_args( $db_settings, $defaults );
1193
+
1194
+            /**
1195
+             * Filter the Bootstrap settings.
1196
+             *
1197
+             * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
1198
+             */
1199
+            return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
1200
+        }
1201
+
1202
+
1203
+        /**
1204
+         * The settings page html output.
1205
+         */
1206
+        public function settings_page() {
1207
+            if ( ! current_user_can( 'manage_options' ) ) {
1208
+                wp_die( __( 'You do not have sufficient permissions to access this page.', 'aui' ) );
1209
+            }
1210
+            ?>
1211 1211
 			<div class="wrap">
1212 1212
 				<h1><?php echo $this->name; ?></h1>
1213 1213
 				<p><?php _e("Here you can adjust settings if you are having compatibility issues.",'aui');?></p>
1214 1214
 				<form method="post" action="options.php">
1215 1215
 					<?php
1216
-					settings_fields( 'ayecode-ui-settings' );
1217
-					do_settings_sections( 'ayecode-ui-settings' );
1218
-					?>
1216
+                    settings_fields( 'ayecode-ui-settings' );
1217
+                    do_settings_sections( 'ayecode-ui-settings' );
1218
+                    ?>
1219 1219
 
1220 1220
 					<h2><?php _e( 'Frontend', 'aui' ); ?></h2>
1221 1221
 					<table class="form-table wpbs-table-settings">
@@ -1295,60 +1295,60 @@  discard block
 block discarded – undo
1295 1295
 					</table>
1296 1296
 
1297 1297
 					<?php
1298
-					submit_button();
1299
-					?>
1298
+                    submit_button();
1299
+                    ?>
1300 1300
 				</form>
1301 1301
 
1302 1302
 				<div id="wpbs-version"><?php echo $this->version; ?></div>
1303 1303
 			</div>
1304 1304
 
1305 1305
 			<?php
1306
-		}
1307
-
1308
-		public function customizer_settings($wp_customize){
1309
-			$wp_customize->add_section('aui_settings', array(
1310
-				'title'    => __('AyeCode UI','aui'),
1311
-				'priority' => 120,
1312
-			));
1313
-
1314
-			//  =============================
1315
-			//  = Color Picker              =
1316
-			//  =============================
1317
-			$wp_customize->add_setting('aui_options[color_primary]', array(
1318
-				'default'           => AUI_PRIMARY_COLOR,
1319
-				'sanitize_callback' => 'sanitize_hex_color',
1320
-				'capability'        => 'edit_theme_options',
1321
-				'type'              => 'option',
1322
-				'transport'         => 'refresh',
1323
-			));
1324
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1325
-				'label'    => __('Primary Color','aui'),
1326
-				'section'  => 'aui_settings',
1327
-				'settings' => 'aui_options[color_primary]',
1328
-			)));
1329
-
1330
-			$wp_customize->add_setting('aui_options[color_secondary]', array(
1331
-				'default'           => '#6c757d',
1332
-				'sanitize_callback' => 'sanitize_hex_color',
1333
-				'capability'        => 'edit_theme_options',
1334
-				'type'              => 'option',
1335
-				'transport'         => 'refresh',
1336
-			));
1337
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1338
-				'label'    => __('Secondary Color','aui'),
1339
-				'section'  => 'aui_settings',
1340
-				'settings' => 'aui_options[color_secondary]',
1341
-			)));
1342
-		}
1343
-
1344
-		/**
1345
-		 * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1346
-		 *
1347
-		 * @return mixed
1348
-		 */
1349
-		public static function bs3_compat_css() {
1350
-			ob_start();
1351
-			?>
1306
+        }
1307
+
1308
+        public function customizer_settings($wp_customize){
1309
+            $wp_customize->add_section('aui_settings', array(
1310
+                'title'    => __('AyeCode UI','aui'),
1311
+                'priority' => 120,
1312
+            ));
1313
+
1314
+            //  =============================
1315
+            //  = Color Picker              =
1316
+            //  =============================
1317
+            $wp_customize->add_setting('aui_options[color_primary]', array(
1318
+                'default'           => AUI_PRIMARY_COLOR,
1319
+                'sanitize_callback' => 'sanitize_hex_color',
1320
+                'capability'        => 'edit_theme_options',
1321
+                'type'              => 'option',
1322
+                'transport'         => 'refresh',
1323
+            ));
1324
+            $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1325
+                'label'    => __('Primary Color','aui'),
1326
+                'section'  => 'aui_settings',
1327
+                'settings' => 'aui_options[color_primary]',
1328
+            )));
1329
+
1330
+            $wp_customize->add_setting('aui_options[color_secondary]', array(
1331
+                'default'           => '#6c757d',
1332
+                'sanitize_callback' => 'sanitize_hex_color',
1333
+                'capability'        => 'edit_theme_options',
1334
+                'type'              => 'option',
1335
+                'transport'         => 'refresh',
1336
+            ));
1337
+            $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1338
+                'label'    => __('Secondary Color','aui'),
1339
+                'section'  => 'aui_settings',
1340
+                'settings' => 'aui_options[color_secondary]',
1341
+            )));
1342
+        }
1343
+
1344
+        /**
1345
+         * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1346
+         *
1347
+         * @return mixed
1348
+         */
1349
+        public static function bs3_compat_css() {
1350
+            ob_start();
1351
+            ?>
1352 1352
 			<style>
1353 1353
 			/* Bootstrap 3 compatibility */
1354 1354
 			body.modal-open .modal-backdrop.show:not(.in) {opacity:0.5;}
@@ -1374,579 +1374,579 @@  discard block
 block discarded – undo
1374 1374
 			<?php } ?>
1375 1375
 			</style>
1376 1376
 			<?php
1377
-			return str_replace( array(
1378
-				'<style>',
1379
-				'</style>'
1380
-			), '', ob_get_clean());
1381
-		}
1377
+            return str_replace( array(
1378
+                '<style>',
1379
+                '</style>'
1380
+            ), '', ob_get_clean());
1381
+        }
1382 1382
 
1383 1383
 
1384
-		public static function custom_css($compatibility = true) {
1385
-			$settings = get_option('aui_options');
1384
+        public static function custom_css($compatibility = true) {
1385
+            $settings = get_option('aui_options');
1386 1386
 
1387
-			ob_start();
1387
+            ob_start();
1388 1388
 
1389
-			$primary_color = !empty($settings['color_primary']) ? $settings['color_primary'] : AUI_PRIMARY_COLOR;
1390
-			$secondary_color = !empty($settings['color_secondary']) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR;
1391
-				//AUI_PRIMARY_COLOR_ORIGINAL
1392
-			?>
1389
+            $primary_color = !empty($settings['color_primary']) ? $settings['color_primary'] : AUI_PRIMARY_COLOR;
1390
+            $secondary_color = !empty($settings['color_secondary']) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR;
1391
+                //AUI_PRIMARY_COLOR_ORIGINAL
1392
+            ?>
1393 1393
 			<style>
1394 1394
 				<?php
1395 1395
 
1396
-					// BS v3 compat
1397
-					if( self::is_bs3_compat() ){
1398
-					    echo self::bs3_compat_css();
1399
-					}
1396
+                    // BS v3 compat
1397
+                    if( self::is_bs3_compat() ){
1398
+                        echo self::bs3_compat_css();
1399
+                    }
1400 1400
 
1401
-					if(!is_admin() && $primary_color != AUI_PRIMARY_COLOR_ORIGINAL){
1402
-						echo self::css_primary($primary_color,$compatibility);
1403
-					}
1401
+                    if(!is_admin() && $primary_color != AUI_PRIMARY_COLOR_ORIGINAL){
1402
+                        echo self::css_primary($primary_color,$compatibility);
1403
+                    }
1404 1404
 
1405
-					if(!is_admin() && $secondary_color != AUI_SECONDARY_COLOR_ORIGINAL){
1406
-						echo self::css_secondary($settings['color_secondary'],$compatibility);
1407
-					}
1405
+                    if(!is_admin() && $secondary_color != AUI_SECONDARY_COLOR_ORIGINAL){
1406
+                        echo self::css_secondary($settings['color_secondary'],$compatibility);
1407
+                    }
1408 1408
 
1409
-					// Set admin bar z-index lower when modal is open.
1410
-					echo ' body.modal-open #wpadminbar{z-index:999}';
1409
+                    // Set admin bar z-index lower when modal is open.
1410
+                    echo ' body.modal-open #wpadminbar{z-index:999}';
1411 1411
                 ?>
1412 1412
 			</style>
1413 1413
 			<?php
1414 1414
 
1415 1415
 
1416
-			/*
1416
+            /*
1417 1417
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1418 1418
 			 */
1419
-			return str_replace( array(
1420
-				'<style>',
1421
-				'</style>'
1422
-			), '', ob_get_clean());
1423
-		}
1424
-
1425
-		/**
1426
-		 * Check if we should add booststrap 3 compatibility changes.
1427
-		 *
1428
-		 * @return bool
1429
-		 */
1430
-		public static function is_bs3_compat(){
1431
-			return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1432
-		}
1433
-
1434
-		public static function css_primary($color_code,$compatibility){;
1435
-			$color_code = sanitize_hex_color($color_code);
1436
-			if(!$color_code){return '';}
1437
-			/**
1438
-			 * c = color, b = background color, o = border-color, f = fill
1439
-			 */
1440
-			$selectors = array(
1441
-				'a' => array('c'),
1442
-				'.btn-primary' => array('b','o'),
1443
-				'.btn-primary.disabled' => array('b','o'),
1444
-				'.btn-primary:disabled' => array('b','o'),
1445
-				'.btn-outline-primary' => array('c','o'),
1446
-				'.btn-outline-primary:hover' => array('b','o'),
1447
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1448
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1449
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1450
-				'.btn-link' => array('c'),
1451
-				'.dropdown-item.active' => array('b'),
1452
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1453
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1419
+            return str_replace( array(
1420
+                '<style>',
1421
+                '</style>'
1422
+            ), '', ob_get_clean());
1423
+        }
1424
+
1425
+        /**
1426
+         * Check if we should add booststrap 3 compatibility changes.
1427
+         *
1428
+         * @return bool
1429
+         */
1430
+        public static function is_bs3_compat(){
1431
+            return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1432
+        }
1433
+
1434
+        public static function css_primary($color_code,$compatibility){;
1435
+            $color_code = sanitize_hex_color($color_code);
1436
+            if(!$color_code){return '';}
1437
+            /**
1438
+             * c = color, b = background color, o = border-color, f = fill
1439
+             */
1440
+            $selectors = array(
1441
+                'a' => array('c'),
1442
+                '.btn-primary' => array('b','o'),
1443
+                '.btn-primary.disabled' => array('b','o'),
1444
+                '.btn-primary:disabled' => array('b','o'),
1445
+                '.btn-outline-primary' => array('c','o'),
1446
+                '.btn-outline-primary:hover' => array('b','o'),
1447
+                '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1448
+                '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1449
+                '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1450
+                '.btn-link' => array('c'),
1451
+                '.dropdown-item.active' => array('b'),
1452
+                '.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1453
+                '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1454 1454
 //				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1455 1455
 //				'.custom-range::-moz-range-thumb' => array('b'),
1456 1456
 //				'.custom-range::-ms-thumb' => array('b'),
1457
-				'.nav-pills .nav-link.active' => array('b'),
1458
-				'.nav-pills .show>.nav-link' => array('b'),
1459
-				'.page-link' => array('c'),
1460
-				'.page-item.active .page-link' => array('b','o'),
1461
-				'.badge-primary' => array('b'),
1462
-				'.alert-primary' => array('b','o'),
1463
-				'.progress-bar' => array('b'),
1464
-				'.list-group-item.active' => array('b','o'),
1465
-				'.bg-primary' => array('b','f'),
1466
-				'.btn-link.btn-primary' => array('c'),
1467
-				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1468
-			);
1469
-
1470
-			$important_selectors = array(
1471
-				'.bg-primary' => array('b','f'),
1472
-				'.border-primary' => array('o'),
1473
-				'.text-primary' => array('c'),
1474
-			);
1475
-
1476
-			$color = array();
1477
-			$color_i = array();
1478
-			$background = array();
1479
-			$background_i = array();
1480
-			$border = array();
1481
-			$border_i = array();
1482
-			$fill = array();
1483
-			$fill_i = array();
1484
-
1485
-			$output = '';
1486
-
1487
-			// build rules into each type
1488
-			foreach($selectors as $selector => $types){
1489
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1490
-				$types = array_combine($types,$types);
1491
-				if(isset($types['c'])){$color[] = $selector;}
1492
-				if(isset($types['b'])){$background[] = $selector;}
1493
-				if(isset($types['o'])){$border[] = $selector;}
1494
-				if(isset($types['f'])){$fill[] = $selector;}
1495
-			}
1496
-
1497
-			// build rules into each type
1498
-			foreach($important_selectors as $selector => $types){
1499
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1500
-				$types = array_combine($types,$types);
1501
-				if(isset($types['c'])){$color_i[] = $selector;}
1502
-				if(isset($types['b'])){$background_i[] = $selector;}
1503
-				if(isset($types['o'])){$border_i[] = $selector;}
1504
-				if(isset($types['f'])){$fill_i[] = $selector;}
1505
-			}
1506
-
1507
-			// add any color rules
1508
-			if(!empty($color)){
1509
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1510
-			}
1511
-			if(!empty($color_i)){
1512
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1513
-			}
1514
-
1515
-			// add any background color rules
1516
-			if(!empty($background)){
1517
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1518
-			}
1519
-			if(!empty($background_i)){
1520
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1521
-			}
1522
-
1523
-			// add any border color rules
1524
-			if(!empty($border)){
1525
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1526
-			}
1527
-			if(!empty($border_i)){
1528
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1529
-			}
1530
-
1531
-			// add any fill color rules
1532
-			if(!empty($fill)){
1533
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1534
-			}
1535
-			if(!empty($fill_i)){
1536
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1537
-			}
1538
-
1539
-
1540
-			$prefix = $compatibility ? ".bsui " : "";
1541
-
1542
-			// darken
1543
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1544
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1545
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1546
-
1547
-			// lighten
1548
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1549
-
1550
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1551
-			$op_25 = $color_code."40"; // 25% opacity
1552
-
1553
-
1554
-			// button states
1555
-			$output .= $prefix ." .btn-primary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1556
-			$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;} ";
1557
-			$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.";} ";
1558
-			$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;} ";
1559
-
1560
-
1561
-			// dropdown's
1562
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1563
-
1564
-
1565
-			// input states
1566
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1567
-
1568
-			// page link
1569
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1570
-
1571
-			return $output;
1572
-		}
1573
-
1574
-		public static function css_secondary($color_code,$compatibility){;
1575
-			$color_code = sanitize_hex_color($color_code);
1576
-			if(!$color_code){return '';}
1577
-			/**
1578
-			 * c = color, b = background color, o = border-color, f = fill
1579
-			 */
1580
-			$selectors = array(
1581
-				'.btn-secondary' => array('b','o'),
1582
-				'.btn-secondary.disabled' => array('b','o'),
1583
-				'.btn-secondary:disabled' => array('b','o'),
1584
-				'.btn-outline-secondary' => array('c','o'),
1585
-				'.btn-outline-secondary:hover' => array('b','o'),
1586
-				'.btn-outline-secondary.disabled' => array('c'),
1587
-				'.btn-outline-secondary:disabled' => array('c'),
1588
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
1589
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
1590
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
1591
-				'.badge-secondary' => array('b'),
1592
-				'.alert-secondary' => array('b','o'),
1593
-				'.btn-link.btn-secondary' => array('c'),
1594
-			);
1595
-
1596
-			$important_selectors = array(
1597
-				'.bg-secondary' => array('b','f'),
1598
-				'.border-secondary' => array('o'),
1599
-				'.text-secondary' => array('c'),
1600
-			);
1601
-
1602
-			$color = array();
1603
-			$color_i = array();
1604
-			$background = array();
1605
-			$background_i = array();
1606
-			$border = array();
1607
-			$border_i = array();
1608
-			$fill = array();
1609
-			$fill_i = array();
1610
-
1611
-			$output = '';
1612
-
1613
-			// build rules into each type
1614
-			foreach($selectors as $selector => $types){
1615
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1616
-				$types = array_combine($types,$types);
1617
-				if(isset($types['c'])){$color[] = $selector;}
1618
-				if(isset($types['b'])){$background[] = $selector;}
1619
-				if(isset($types['o'])){$border[] = $selector;}
1620
-				if(isset($types['f'])){$fill[] = $selector;}
1621
-			}
1622
-
1623
-			// build rules into each type
1624
-			foreach($important_selectors as $selector => $types){
1625
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1626
-				$types = array_combine($types,$types);
1627
-				if(isset($types['c'])){$color_i[] = $selector;}
1628
-				if(isset($types['b'])){$background_i[] = $selector;}
1629
-				if(isset($types['o'])){$border_i[] = $selector;}
1630
-				if(isset($types['f'])){$fill_i[] = $selector;}
1631
-			}
1632
-
1633
-			// add any color rules
1634
-			if(!empty($color)){
1635
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1636
-			}
1637
-			if(!empty($color_i)){
1638
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1639
-			}
1640
-
1641
-			// add any background color rules
1642
-			if(!empty($background)){
1643
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1644
-			}
1645
-			if(!empty($background_i)){
1646
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1647
-			}
1648
-
1649
-			// add any border color rules
1650
-			if(!empty($border)){
1651
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1652
-			}
1653
-			if(!empty($border_i)){
1654
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1655
-			}
1656
-
1657
-			// add any fill color rules
1658
-			if(!empty($fill)){
1659
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1660
-			}
1661
-			if(!empty($fill_i)){
1662
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1663
-			}
1664
-
1665
-
1666
-			$prefix = $compatibility ? ".bsui " : "";
1667
-
1668
-			// darken
1669
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1670
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1671
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1672
-
1673
-			// lighten
1674
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1675
-
1676
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1677
-			$op_25 = $color_code."40"; // 25% opacity
1678
-
1679
-
1680
-			// button states
1681
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1682
-			$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;} ";
1683
-			$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.";} ";
1684
-			$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;} ";
1685
-
1686
-
1687
-			return $output;
1688
-		}
1689
-
1690
-		/**
1691
-		 * Increases or decreases the brightness of a color by a percentage of the current brightness.
1692
-		 *
1693
-		 * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
1694
-		 * @param   float   $adjustPercent  A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker.
1695
-		 *
1696
-		 * @return  string
1697
-		 */
1698
-		public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
1699
-			$hexCode = ltrim($hexCode, '#');
1700
-
1701
-			if (strlen($hexCode) == 3) {
1702
-				$hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
1703
-			}
1704
-
1705
-			$hexCode = array_map('hexdec', str_split($hexCode, 2));
1706
-
1707
-			foreach ($hexCode as & $color) {
1708
-				$adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
1709
-				$adjustAmount = ceil($adjustableLimit * $adjustPercent);
1710
-
1711
-				$color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
1712
-			}
1713
-
1714
-			return '#' . implode($hexCode);
1715
-		}
1716
-
1717
-		/**
1718
-		 * Check if we should display examples.
1719
-		 */
1720
-		public function maybe_show_examples(){
1721
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
1722
-				echo "<head>";
1723
-				wp_head();
1724
-				echo "</head>";
1725
-				echo "<body>";
1726
-				echo $this->get_examples();
1727
-				echo "</body>";
1728
-				exit;
1729
-			}
1730
-		}
1731
-
1732
-		/**
1733
-		 * Get developer examples.
1734
-		 *
1735
-		 * @return string
1736
-		 */
1737
-		public function get_examples(){
1738
-			$output = '';
1739
-
1740
-
1741
-			// open form
1742
-			$output .= "<form class='p-5 m-5 border rounded'>";
1743
-
1744
-			// input example
1745
-			$output .= aui()->input(array(
1746
-				'type'  =>  'text',
1747
-				'id'    =>  'text-example',
1748
-				'name'    =>  'text-example',
1749
-				'placeholder'   => 'text placeholder',
1750
-				'title'   => 'Text input example',
1751
-				'value' =>  '',
1752
-				'required'  => false,
1753
-				'help_text' => 'help text',
1754
-				'label' => 'Text input example label'
1755
-			));
1756
-
1757
-			// input example
1758
-			$output .= aui()->input(array(
1759
-				'type'  =>  'url',
1760
-				'id'    =>  'text-example2',
1761
-				'name'    =>  'text-example',
1762
-				'placeholder'   => 'url placeholder',
1763
-				'title'   => 'Text input example',
1764
-				'value' =>  '',
1765
-				'required'  => false,
1766
-				'help_text' => 'help text',
1767
-				'label' => 'Text input example label'
1768
-			));
1769
-
1770
-			// checkbox example
1771
-			$output .= aui()->input(array(
1772
-				'type'  =>  'checkbox',
1773
-				'id'    =>  'checkbox-example',
1774
-				'name'    =>  'checkbox-example',
1775
-				'placeholder'   => 'checkbox-example',
1776
-				'title'   => 'Checkbox example',
1777
-				'value' =>  '1',
1778
-				'checked'   => true,
1779
-				'required'  => false,
1780
-				'help_text' => 'help text',
1781
-				'label' => 'Checkbox checked'
1782
-			));
1783
-
1784
-			// checkbox example
1785
-			$output .= aui()->input(array(
1786
-				'type'  =>  'checkbox',
1787
-				'id'    =>  'checkbox-example2',
1788
-				'name'    =>  'checkbox-example2',
1789
-				'placeholder'   => 'checkbox-example',
1790
-				'title'   => 'Checkbox example',
1791
-				'value' =>  '1',
1792
-				'checked'   => false,
1793
-				'required'  => false,
1794
-				'help_text' => 'help text',
1795
-				'label' => 'Checkbox un-checked'
1796
-			));
1797
-
1798
-			// switch example
1799
-			$output .= aui()->input(array(
1800
-				'type'  =>  'checkbox',
1801
-				'id'    =>  'switch-example',
1802
-				'name'    =>  'switch-example',
1803
-				'placeholder'   => 'checkbox-example',
1804
-				'title'   => 'Switch example',
1805
-				'value' =>  '1',
1806
-				'checked'   => true,
1807
-				'switch'    => true,
1808
-				'required'  => false,
1809
-				'help_text' => 'help text',
1810
-				'label' => 'Switch on'
1811
-			));
1812
-
1813
-			// switch example
1814
-			$output .= aui()->input(array(
1815
-				'type'  =>  'checkbox',
1816
-				'id'    =>  'switch-example2',
1817
-				'name'    =>  'switch-example2',
1818
-				'placeholder'   => 'checkbox-example',
1819
-				'title'   => 'Switch example',
1820
-				'value' =>  '1',
1821
-				'checked'   => false,
1822
-				'switch'    => true,
1823
-				'required'  => false,
1824
-				'help_text' => 'help text',
1825
-				'label' => 'Switch off'
1826
-			));
1827
-
1828
-			// close form
1829
-			$output .= "</form>";
1830
-
1831
-			return $output;
1832
-		}
1833
-
1834
-		/**
1835
-		 * Calendar params.
1836
-		 *
1837
-		 * @since 0.1.44
1838
-		 *
1839
-		 * @return array Calendar params.
1840
-		 */
1841
-		public static function calendar_params() {
1842
-			$params = array(
1843
-				'month_long_1' => __( 'January', 'aui' ),
1844
-				'month_long_2' => __( 'February', 'aui' ),
1845
-				'month_long_3' => __( 'March', 'aui' ),
1846
-				'month_long_4' => __( 'April', 'aui' ),
1847
-				'month_long_5' => __( 'May', 'aui' ),
1848
-				'month_long_6' => __( 'June', 'aui' ),
1849
-				'month_long_7' => __( 'July', 'aui' ),
1850
-				'month_long_8' => __( 'August', 'aui' ),
1851
-				'month_long_9' => __( 'September', 'aui' ),
1852
-				'month_long_10' => __( 'October', 'aui' ),
1853
-				'month_long_11' => __( 'November', 'aui' ),
1854
-				'month_long_12' => __( 'December', 'aui' ),
1855
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'aui' ),
1856
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'aui' ),
1857
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'aui' ),
1858
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'aui' ),
1859
-				'month_s_5' => _x( 'May', 'May abbreviation', 'aui' ),
1860
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'aui' ),
1861
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'aui' ),
1862
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'aui' ),
1863
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'aui' ),
1864
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'aui' ),
1865
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'aui' ),
1866
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'aui' ),
1867
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'aui' ),
1868
-				'day_s1_2' => _x( 'M', 'Monday initial', 'aui' ),
1869
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'aui' ),
1870
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'aui' ),
1871
-				'day_s1_5' => _x( 'T', 'Friday initial', 'aui' ),
1872
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'aui' ),
1873
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'aui' ),
1874
-				'day_s2_1' => __( 'Su', 'aui' ),
1875
-				'day_s2_2' => __( 'Mo', 'aui' ),
1876
-				'day_s2_3' => __( 'Tu', 'aui' ),
1877
-				'day_s2_4' => __( 'We', 'aui' ),
1878
-				'day_s2_5' => __( 'Th', 'aui' ),
1879
-				'day_s2_6' => __( 'Fr', 'aui' ),
1880
-				'day_s2_7' => __( 'Sa', 'aui' ),
1881
-				'day_s3_1' => __( 'Sun', 'aui' ),
1882
-				'day_s3_2' => __( 'Mon', 'aui' ),
1883
-				'day_s3_3' => __( 'Tue', 'aui' ),
1884
-				'day_s3_4' => __( 'Wed', 'aui' ),
1885
-				'day_s3_5' => __( 'Thu', 'aui' ),
1886
-				'day_s3_6' => __( 'Fri', 'aui' ),
1887
-				'day_s3_7' => __( 'Sat', 'aui' ),
1888
-				'day_s5_1' => __( 'Sunday', 'aui' ),
1889
-				'day_s5_2' => __( 'Monday', 'aui' ),
1890
-				'day_s5_3' => __( 'Tuesday', 'aui' ),
1891
-				'day_s5_4' => __( 'Wednesday', 'aui' ),
1892
-				'day_s5_5' => __( 'Thursday', 'aui' ),
1893
-				'day_s5_6' => __( 'Friday', 'aui' ),
1894
-				'day_s5_7' => __( 'Saturday', 'aui' ),
1895
-				'am_lower' => __( 'am', 'aui' ),
1896
-				'pm_lower' => __( 'pm', 'aui' ),
1897
-				'am_upper' => __( 'AM', 'aui' ),
1898
-				'pm_upper' => __( 'PM', 'aui' ),
1899
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
1900
-				'time_24hr' => false,
1901
-				'year' => __( 'Year', 'aui' ),
1902
-				'hour' => __( 'Hour', 'aui' ),
1903
-				'minute' => __( 'Minute', 'aui' ),
1904
-				'weekAbbreviation' => __( 'Wk', 'aui' ),
1905
-				'rangeSeparator' => __( ' to ', 'aui' ),
1906
-				'scrollTitle' => __( 'Scroll to increment', 'aui' ),
1907
-				'toggleTitle' => __( 'Click to toggle', 'aui' )
1908
-			);
1909
-
1910
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
1911
-		}
1912
-
1913
-		/**
1914
-		 * Flatpickr calendar localize.
1915
-		 *
1916
-		 * @since 0.1.44
1917
-		 *
1918
-		 * @return string Calendar locale.
1919
-		 */
1920
-		public static function flatpickr_locale() {
1921
-			$params = self::calendar_params();
1922
-
1923
-			if ( is_string( $params ) ) {
1924
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
1925
-			} else {
1926
-				foreach ( (array) $params as $key => $value ) {
1927
-					if ( ! is_scalar( $value ) ) {
1928
-						continue;
1929
-					}
1930
-
1931
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
1932
-				}
1933
-			}
1457
+                '.nav-pills .nav-link.active' => array('b'),
1458
+                '.nav-pills .show>.nav-link' => array('b'),
1459
+                '.page-link' => array('c'),
1460
+                '.page-item.active .page-link' => array('b','o'),
1461
+                '.badge-primary' => array('b'),
1462
+                '.alert-primary' => array('b','o'),
1463
+                '.progress-bar' => array('b'),
1464
+                '.list-group-item.active' => array('b','o'),
1465
+                '.bg-primary' => array('b','f'),
1466
+                '.btn-link.btn-primary' => array('c'),
1467
+                '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1468
+            );
1469
+
1470
+            $important_selectors = array(
1471
+                '.bg-primary' => array('b','f'),
1472
+                '.border-primary' => array('o'),
1473
+                '.text-primary' => array('c'),
1474
+            );
1475
+
1476
+            $color = array();
1477
+            $color_i = array();
1478
+            $background = array();
1479
+            $background_i = array();
1480
+            $border = array();
1481
+            $border_i = array();
1482
+            $fill = array();
1483
+            $fill_i = array();
1484
+
1485
+            $output = '';
1486
+
1487
+            // build rules into each type
1488
+            foreach($selectors as $selector => $types){
1489
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1490
+                $types = array_combine($types,$types);
1491
+                if(isset($types['c'])){$color[] = $selector;}
1492
+                if(isset($types['b'])){$background[] = $selector;}
1493
+                if(isset($types['o'])){$border[] = $selector;}
1494
+                if(isset($types['f'])){$fill[] = $selector;}
1495
+            }
1496
+
1497
+            // build rules into each type
1498
+            foreach($important_selectors as $selector => $types){
1499
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1500
+                $types = array_combine($types,$types);
1501
+                if(isset($types['c'])){$color_i[] = $selector;}
1502
+                if(isset($types['b'])){$background_i[] = $selector;}
1503
+                if(isset($types['o'])){$border_i[] = $selector;}
1504
+                if(isset($types['f'])){$fill_i[] = $selector;}
1505
+            }
1506
+
1507
+            // add any color rules
1508
+            if(!empty($color)){
1509
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1510
+            }
1511
+            if(!empty($color_i)){
1512
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1513
+            }
1514
+
1515
+            // add any background color rules
1516
+            if(!empty($background)){
1517
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1518
+            }
1519
+            if(!empty($background_i)){
1520
+                $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1521
+            }
1522
+
1523
+            // add any border color rules
1524
+            if(!empty($border)){
1525
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1526
+            }
1527
+            if(!empty($border_i)){
1528
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1529
+            }
1530
+
1531
+            // add any fill color rules
1532
+            if(!empty($fill)){
1533
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1534
+            }
1535
+            if(!empty($fill_i)){
1536
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1537
+            }
1538
+
1539
+
1540
+            $prefix = $compatibility ? ".bsui " : "";
1541
+
1542
+            // darken
1543
+            $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1544
+            $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1545
+            $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1546
+
1547
+            // lighten
1548
+            $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1549
+
1550
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1551
+            $op_25 = $color_code."40"; // 25% opacity
1552
+
1553
+
1554
+            // button states
1555
+            $output .= $prefix ." .btn-primary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1556
+            $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;} ";
1557
+            $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.";} ";
1558
+            $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;} ";
1559
+
1560
+
1561
+            // dropdown's
1562
+            $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1563
+
1564
+
1565
+            // input states
1566
+            $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1567
+
1568
+            // page link
1569
+            $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1570
+
1571
+            return $output;
1572
+        }
1573
+
1574
+        public static function css_secondary($color_code,$compatibility){;
1575
+            $color_code = sanitize_hex_color($color_code);
1576
+            if(!$color_code){return '';}
1577
+            /**
1578
+             * c = color, b = background color, o = border-color, f = fill
1579
+             */
1580
+            $selectors = array(
1581
+                '.btn-secondary' => array('b','o'),
1582
+                '.btn-secondary.disabled' => array('b','o'),
1583
+                '.btn-secondary:disabled' => array('b','o'),
1584
+                '.btn-outline-secondary' => array('c','o'),
1585
+                '.btn-outline-secondary:hover' => array('b','o'),
1586
+                '.btn-outline-secondary.disabled' => array('c'),
1587
+                '.btn-outline-secondary:disabled' => array('c'),
1588
+                '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
1589
+                '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
1590
+                '.btn-outline-secondary.dropdown-toggle' => array('b','o'),
1591
+                '.badge-secondary' => array('b'),
1592
+                '.alert-secondary' => array('b','o'),
1593
+                '.btn-link.btn-secondary' => array('c'),
1594
+            );
1595
+
1596
+            $important_selectors = array(
1597
+                '.bg-secondary' => array('b','f'),
1598
+                '.border-secondary' => array('o'),
1599
+                '.text-secondary' => array('c'),
1600
+            );
1601
+
1602
+            $color = array();
1603
+            $color_i = array();
1604
+            $background = array();
1605
+            $background_i = array();
1606
+            $border = array();
1607
+            $border_i = array();
1608
+            $fill = array();
1609
+            $fill_i = array();
1610
+
1611
+            $output = '';
1612
+
1613
+            // build rules into each type
1614
+            foreach($selectors as $selector => $types){
1615
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1616
+                $types = array_combine($types,$types);
1617
+                if(isset($types['c'])){$color[] = $selector;}
1618
+                if(isset($types['b'])){$background[] = $selector;}
1619
+                if(isset($types['o'])){$border[] = $selector;}
1620
+                if(isset($types['f'])){$fill[] = $selector;}
1621
+            }
1622
+
1623
+            // build rules into each type
1624
+            foreach($important_selectors as $selector => $types){
1625
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1626
+                $types = array_combine($types,$types);
1627
+                if(isset($types['c'])){$color_i[] = $selector;}
1628
+                if(isset($types['b'])){$background_i[] = $selector;}
1629
+                if(isset($types['o'])){$border_i[] = $selector;}
1630
+                if(isset($types['f'])){$fill_i[] = $selector;}
1631
+            }
1632
+
1633
+            // add any color rules
1634
+            if(!empty($color)){
1635
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1636
+            }
1637
+            if(!empty($color_i)){
1638
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1639
+            }
1640
+
1641
+            // add any background color rules
1642
+            if(!empty($background)){
1643
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1644
+            }
1645
+            if(!empty($background_i)){
1646
+                $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1647
+            }
1648
+
1649
+            // add any border color rules
1650
+            if(!empty($border)){
1651
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1652
+            }
1653
+            if(!empty($border_i)){
1654
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1655
+            }
1656
+
1657
+            // add any fill color rules
1658
+            if(!empty($fill)){
1659
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1660
+            }
1661
+            if(!empty($fill_i)){
1662
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1663
+            }
1664
+
1665
+
1666
+            $prefix = $compatibility ? ".bsui " : "";
1667
+
1668
+            // darken
1669
+            $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1670
+            $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1671
+            $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1672
+
1673
+            // lighten
1674
+            $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1675
+
1676
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1677
+            $op_25 = $color_code."40"; // 25% opacity
1678
+
1679
+
1680
+            // button states
1681
+            $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1682
+            $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;} ";
1683
+            $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.";} ";
1684
+            $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;} ";
1685
+
1686
+
1687
+            return $output;
1688
+        }
1689
+
1690
+        /**
1691
+         * Increases or decreases the brightness of a color by a percentage of the current brightness.
1692
+         *
1693
+         * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
1694
+         * @param   float   $adjustPercent  A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker.
1695
+         *
1696
+         * @return  string
1697
+         */
1698
+        public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
1699
+            $hexCode = ltrim($hexCode, '#');
1700
+
1701
+            if (strlen($hexCode) == 3) {
1702
+                $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
1703
+            }
1704
+
1705
+            $hexCode = array_map('hexdec', str_split($hexCode, 2));
1706
+
1707
+            foreach ($hexCode as & $color) {
1708
+                $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
1709
+                $adjustAmount = ceil($adjustableLimit * $adjustPercent);
1710
+
1711
+                $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
1712
+            }
1713
+
1714
+            return '#' . implode($hexCode);
1715
+        }
1716
+
1717
+        /**
1718
+         * Check if we should display examples.
1719
+         */
1720
+        public function maybe_show_examples(){
1721
+            if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
1722
+                echo "<head>";
1723
+                wp_head();
1724
+                echo "</head>";
1725
+                echo "<body>";
1726
+                echo $this->get_examples();
1727
+                echo "</body>";
1728
+                exit;
1729
+            }
1730
+        }
1731
+
1732
+        /**
1733
+         * Get developer examples.
1734
+         *
1735
+         * @return string
1736
+         */
1737
+        public function get_examples(){
1738
+            $output = '';
1739
+
1740
+
1741
+            // open form
1742
+            $output .= "<form class='p-5 m-5 border rounded'>";
1743
+
1744
+            // input example
1745
+            $output .= aui()->input(array(
1746
+                'type'  =>  'text',
1747
+                'id'    =>  'text-example',
1748
+                'name'    =>  'text-example',
1749
+                'placeholder'   => 'text placeholder',
1750
+                'title'   => 'Text input example',
1751
+                'value' =>  '',
1752
+                'required'  => false,
1753
+                'help_text' => 'help text',
1754
+                'label' => 'Text input example label'
1755
+            ));
1756
+
1757
+            // input example
1758
+            $output .= aui()->input(array(
1759
+                'type'  =>  'url',
1760
+                'id'    =>  'text-example2',
1761
+                'name'    =>  'text-example',
1762
+                'placeholder'   => 'url placeholder',
1763
+                'title'   => 'Text input example',
1764
+                'value' =>  '',
1765
+                'required'  => false,
1766
+                'help_text' => 'help text',
1767
+                'label' => 'Text input example label'
1768
+            ));
1769
+
1770
+            // checkbox example
1771
+            $output .= aui()->input(array(
1772
+                'type'  =>  'checkbox',
1773
+                'id'    =>  'checkbox-example',
1774
+                'name'    =>  'checkbox-example',
1775
+                'placeholder'   => 'checkbox-example',
1776
+                'title'   => 'Checkbox example',
1777
+                'value' =>  '1',
1778
+                'checked'   => true,
1779
+                'required'  => false,
1780
+                'help_text' => 'help text',
1781
+                'label' => 'Checkbox checked'
1782
+            ));
1783
+
1784
+            // checkbox example
1785
+            $output .= aui()->input(array(
1786
+                'type'  =>  'checkbox',
1787
+                'id'    =>  'checkbox-example2',
1788
+                'name'    =>  'checkbox-example2',
1789
+                'placeholder'   => 'checkbox-example',
1790
+                'title'   => 'Checkbox example',
1791
+                'value' =>  '1',
1792
+                'checked'   => false,
1793
+                'required'  => false,
1794
+                'help_text' => 'help text',
1795
+                'label' => 'Checkbox un-checked'
1796
+            ));
1797
+
1798
+            // switch example
1799
+            $output .= aui()->input(array(
1800
+                'type'  =>  'checkbox',
1801
+                'id'    =>  'switch-example',
1802
+                'name'    =>  'switch-example',
1803
+                'placeholder'   => 'checkbox-example',
1804
+                'title'   => 'Switch example',
1805
+                'value' =>  '1',
1806
+                'checked'   => true,
1807
+                'switch'    => true,
1808
+                'required'  => false,
1809
+                'help_text' => 'help text',
1810
+                'label' => 'Switch on'
1811
+            ));
1812
+
1813
+            // switch example
1814
+            $output .= aui()->input(array(
1815
+                'type'  =>  'checkbox',
1816
+                'id'    =>  'switch-example2',
1817
+                'name'    =>  'switch-example2',
1818
+                'placeholder'   => 'checkbox-example',
1819
+                'title'   => 'Switch example',
1820
+                'value' =>  '1',
1821
+                'checked'   => false,
1822
+                'switch'    => true,
1823
+                'required'  => false,
1824
+                'help_text' => 'help text',
1825
+                'label' => 'Switch off'
1826
+            ));
1827
+
1828
+            // close form
1829
+            $output .= "</form>";
1830
+
1831
+            return $output;
1832
+        }
1833
+
1834
+        /**
1835
+         * Calendar params.
1836
+         *
1837
+         * @since 0.1.44
1838
+         *
1839
+         * @return array Calendar params.
1840
+         */
1841
+        public static function calendar_params() {
1842
+            $params = array(
1843
+                'month_long_1' => __( 'January', 'aui' ),
1844
+                'month_long_2' => __( 'February', 'aui' ),
1845
+                'month_long_3' => __( 'March', 'aui' ),
1846
+                'month_long_4' => __( 'April', 'aui' ),
1847
+                'month_long_5' => __( 'May', 'aui' ),
1848
+                'month_long_6' => __( 'June', 'aui' ),
1849
+                'month_long_7' => __( 'July', 'aui' ),
1850
+                'month_long_8' => __( 'August', 'aui' ),
1851
+                'month_long_9' => __( 'September', 'aui' ),
1852
+                'month_long_10' => __( 'October', 'aui' ),
1853
+                'month_long_11' => __( 'November', 'aui' ),
1854
+                'month_long_12' => __( 'December', 'aui' ),
1855
+                'month_s_1' => _x( 'Jan', 'January abbreviation', 'aui' ),
1856
+                'month_s_2' => _x( 'Feb', 'February abbreviation', 'aui' ),
1857
+                'month_s_3' => _x( 'Mar', 'March abbreviation', 'aui' ),
1858
+                'month_s_4' => _x( 'Apr', 'April abbreviation', 'aui' ),
1859
+                'month_s_5' => _x( 'May', 'May abbreviation', 'aui' ),
1860
+                'month_s_6' => _x( 'Jun', 'June abbreviation', 'aui' ),
1861
+                'month_s_7' => _x( 'Jul', 'July abbreviation', 'aui' ),
1862
+                'month_s_8' => _x( 'Aug', 'August abbreviation', 'aui' ),
1863
+                'month_s_9' => _x( 'Sep', 'September abbreviation', 'aui' ),
1864
+                'month_s_10' => _x( 'Oct', 'October abbreviation', 'aui' ),
1865
+                'month_s_11' => _x( 'Nov', 'November abbreviation', 'aui' ),
1866
+                'month_s_12' => _x( 'Dec', 'December abbreviation', 'aui' ),
1867
+                'day_s1_1' => _x( 'S', 'Sunday initial', 'aui' ),
1868
+                'day_s1_2' => _x( 'M', 'Monday initial', 'aui' ),
1869
+                'day_s1_3' => _x( 'T', 'Tuesday initial', 'aui' ),
1870
+                'day_s1_4' => _x( 'W', 'Wednesday initial', 'aui' ),
1871
+                'day_s1_5' => _x( 'T', 'Friday initial', 'aui' ),
1872
+                'day_s1_6' => _x( 'F', 'Thursday initial', 'aui' ),
1873
+                'day_s1_7' => _x( 'S', 'Saturday initial', 'aui' ),
1874
+                'day_s2_1' => __( 'Su', 'aui' ),
1875
+                'day_s2_2' => __( 'Mo', 'aui' ),
1876
+                'day_s2_3' => __( 'Tu', 'aui' ),
1877
+                'day_s2_4' => __( 'We', 'aui' ),
1878
+                'day_s2_5' => __( 'Th', 'aui' ),
1879
+                'day_s2_6' => __( 'Fr', 'aui' ),
1880
+                'day_s2_7' => __( 'Sa', 'aui' ),
1881
+                'day_s3_1' => __( 'Sun', 'aui' ),
1882
+                'day_s3_2' => __( 'Mon', 'aui' ),
1883
+                'day_s3_3' => __( 'Tue', 'aui' ),
1884
+                'day_s3_4' => __( 'Wed', 'aui' ),
1885
+                'day_s3_5' => __( 'Thu', 'aui' ),
1886
+                'day_s3_6' => __( 'Fri', 'aui' ),
1887
+                'day_s3_7' => __( 'Sat', 'aui' ),
1888
+                'day_s5_1' => __( 'Sunday', 'aui' ),
1889
+                'day_s5_2' => __( 'Monday', 'aui' ),
1890
+                'day_s5_3' => __( 'Tuesday', 'aui' ),
1891
+                'day_s5_4' => __( 'Wednesday', 'aui' ),
1892
+                'day_s5_5' => __( 'Thursday', 'aui' ),
1893
+                'day_s5_6' => __( 'Friday', 'aui' ),
1894
+                'day_s5_7' => __( 'Saturday', 'aui' ),
1895
+                'am_lower' => __( 'am', 'aui' ),
1896
+                'pm_lower' => __( 'pm', 'aui' ),
1897
+                'am_upper' => __( 'AM', 'aui' ),
1898
+                'pm_upper' => __( 'PM', 'aui' ),
1899
+                'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
1900
+                'time_24hr' => false,
1901
+                'year' => __( 'Year', 'aui' ),
1902
+                'hour' => __( 'Hour', 'aui' ),
1903
+                'minute' => __( 'Minute', 'aui' ),
1904
+                'weekAbbreviation' => __( 'Wk', 'aui' ),
1905
+                'rangeSeparator' => __( ' to ', 'aui' ),
1906
+                'scrollTitle' => __( 'Scroll to increment', 'aui' ),
1907
+                'toggleTitle' => __( 'Click to toggle', 'aui' )
1908
+            );
1909
+
1910
+            return apply_filters( 'ayecode_ui_calendar_params', $params );
1911
+        }
1912
+
1913
+        /**
1914
+         * Flatpickr calendar localize.
1915
+         *
1916
+         * @since 0.1.44
1917
+         *
1918
+         * @return string Calendar locale.
1919
+         */
1920
+        public static function flatpickr_locale() {
1921
+            $params = self::calendar_params();
1922
+
1923
+            if ( is_string( $params ) ) {
1924
+                $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
1925
+            } else {
1926
+                foreach ( (array) $params as $key => $value ) {
1927
+                    if ( ! is_scalar( $value ) ) {
1928
+                        continue;
1929
+                    }
1930
+
1931
+                    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
1932
+                }
1933
+            }
1934 1934
 
1935
-			$day_s3 = array();
1936
-			$day_s5 = array();
1935
+            $day_s3 = array();
1936
+            $day_s5 = array();
1937 1937
 
1938
-			for ( $i = 1; $i <= 7; $i ++ ) {
1939
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] );
1940
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] );
1941
-			}
1938
+            for ( $i = 1; $i <= 7; $i ++ ) {
1939
+                $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] );
1940
+                $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] );
1941
+            }
1942 1942
 
1943
-			$month_s = array();
1944
-			$month_long = array();
1943
+            $month_s = array();
1944
+            $month_long = array();
1945 1945
 
1946
-			for ( $i = 1; $i <= 12; $i ++ ) {
1947
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] );
1948
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] );
1949
-			}
1946
+            for ( $i = 1; $i <= 12; $i ++ ) {
1947
+                $month_s[] = addslashes( $params[ 'month_s_' . $i ] );
1948
+                $month_long[] = addslashes( $params[ 'month_long_' . $i ] );
1949
+            }
1950 1950
 
1951 1951
 ob_start();
1952 1952
 if ( 0 ) { ?><script><?php } ?>
@@ -1988,62 +1988,62 @@  discard block
 block discarded – undo
1988 1988
 }
1989 1989
 <?php if ( 0 ) { ?></script><?php } ?>
1990 1990
 <?php
1991
-			$locale = ob_get_clean();
1992
-
1993
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
1994
-		}
1995
-
1996
-		/**
1997
-		 * Select2 JS params.
1998
-		 *
1999
-		 * @since 0.1.44
2000
-		 *
2001
-		 * @return array Select2 JS params.
2002
-		 */
2003
-		public static function select2_params() {
2004
-			$params = array(
2005
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'aui' ),
2006
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'aui' ),
2007
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'aui' ),
2008
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'aui' ),
2009
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'aui' ),
2010
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'aui' ),
2011
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'aui' ),
2012
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'aui' ),
2013
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'aui' ),
2014
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'aui' ),
2015
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'aui' )
2016
-			);
2017
-
2018
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2019
-		}
2020
-
2021
-		/**
2022
-		 * Select2 JS localize.
2023
-		 *
2024
-		 * @since 0.1.44
2025
-		 *
2026
-		 * @return string Select2 JS locale.
2027
-		 */
2028
-		public static function select2_locale() {
2029
-			$params = self::select2_params();
2030
-
2031
-			foreach ( (array) $params as $key => $value ) {
2032
-				if ( ! is_scalar( $value ) ) {
2033
-					continue;
2034
-				}
1991
+            $locale = ob_get_clean();
1992
+
1993
+            return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
1994
+        }
1995
+
1996
+        /**
1997
+         * Select2 JS params.
1998
+         *
1999
+         * @since 0.1.44
2000
+         *
2001
+         * @return array Select2 JS params.
2002
+         */
2003
+        public static function select2_params() {
2004
+            $params = array(
2005
+                'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'aui' ),
2006
+                'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'aui' ),
2007
+                'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'aui' ),
2008
+                'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'aui' ),
2009
+                'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'aui' ),
2010
+                'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'aui' ),
2011
+                'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'aui' ),
2012
+                'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'aui' ),
2013
+                'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'aui' ),
2014
+                'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'aui' ),
2015
+                'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'aui' )
2016
+            );
2017
+
2018
+            return apply_filters( 'ayecode_ui_select2_params', $params );
2019
+        }
2020
+
2021
+        /**
2022
+         * Select2 JS localize.
2023
+         *
2024
+         * @since 0.1.44
2025
+         *
2026
+         * @return string Select2 JS locale.
2027
+         */
2028
+        public static function select2_locale() {
2029
+            $params = self::select2_params();
2030
+
2031
+            foreach ( (array) $params as $key => $value ) {
2032
+                if ( ! is_scalar( $value ) ) {
2033
+                    continue;
2034
+                }
2035 2035
 
2036
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2037
-			}
2036
+                $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2037
+            }
2038 2038
 
2039
-			$locale = json_encode( $params );
2039
+            $locale = json_encode( $params );
2040 2040
 
2041
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2042
-		}
2043
-	}
2041
+            return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2042
+        }
2043
+    }
2044 2044
 
2045
-	/**
2046
-	 * Run the class if found.
2047
-	 */
2048
-	AyeCode_UI_Settings::instance();
2045
+    /**
2046
+     * Run the class if found.
2047
+     */
2048
+    AyeCode_UI_Settings::instance();
2049 2049
 }
2050 2050
\ No newline at end of file
Please login to merge, or discard this patch.
vendor/ayecode/wp-super-duper/wp-super-duper.php 3 patches
Indentation   +1930 added lines, -1930 removed lines patch added patch discarded remove patch
@@ -1,262 +1,262 @@  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 8
 
9
-	/**
10
-	 * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress.
11
-	 *
12
-	 * Should not be called direct but extended instead.
13
-	 *
14
-	 * Class WP_Super_Duper
15
-	 * @since 1.0.16 change log moved to file change-log.txt - CHANGED
16
-	 * @ver 1.0.19
17
-	 */
18
-	class WP_Super_Duper extends WP_Widget {
19
-
20
-		public $version = "1.0.24";
21
-		public $font_awesome_icon_version = "5.11.2";
22
-		public $block_code;
23
-		public $options;
24
-		public $base_id;
25
-		public $settings_hash;
26
-		public $arguments = array();
27
-		public $instance = array();
28
-		private $class_name;
29
-
30
-		/**
31
-		 * The relative url to the current folder.
32
-		 *
33
-		 * @var string
34
-		 */
35
-		public $url = '';
36
-
37
-		/**
38
-		 * Take the array options and use them to build.
39
-		 */
40
-		public function __construct( $options ) {
41
-			global $sd_widgets;
42
-
43
-			$sd_widgets[ $options['base_id'] ] = array(
44
-				'name'       => $options['name'],
45
-				'class_name' => $options['class_name']
46
-			);
47
-			$this->base_id                     = $options['base_id'];
48
-			// lets filter the options before we do anything
49
-			$options       = apply_filters( "wp_super_duper_options", $options );
50
-			$options       = apply_filters( "wp_super_duper_options_{$this->base_id}", $options );
51
-			$options       = $this->add_name_from_key( $options );
52
-			$this->options = $options;
53
-
54
-			$this->base_id   = $options['base_id'];
55
-			$this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array();
56
-
57
-			// init parent
58
-			parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] );
59
-
60
-			if ( isset( $options['class_name'] ) ) {
61
-				// register widget
62
-				$this->class_name = $options['class_name'];
63
-
64
-				// register shortcode
65
-				$this->register_shortcode();
66
-
67
-				// Fusion Builder (avada) support
68
-				if ( function_exists( 'fusion_builder_map' ) ) {
69
-					add_action( 'init', array( $this, 'register_fusion_element' ) );
70
-				}
71
-
72
-				// register block
73
-				add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
74
-			}
75
-
76
-			// add the CSS and JS we need ONCE
77
-			global $sd_widget_scripts;
78
-
79
-			if ( ! $sd_widget_scripts ) {
80
-				wp_add_inline_script( 'admin-widgets', $this->widget_js() );
81
-				wp_add_inline_script( 'customize-controls', $this->widget_js() );
82
-				wp_add_inline_style( 'widgets', $this->widget_css() );
83
-
84
-				// maybe add elementor editor styles
85
-				add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
86
-
87
-				$sd_widget_scripts = true;
88
-
89
-				// add shortcode insert button once
90
-				add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
91
-				// generatepress theme sections compatibility
92
-				if ( function_exists( 'generate_sections_sections_metabox' ) ) {
93
-					add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
94
-				}
95
-				if ( $this->is_preview() ) {
96
-					add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
97
-					// this makes the insert button work for elementor
98
-					add_action( 'elementor/editor/after_enqueue_scripts', array(
99
-						$this,
100
-						'shortcode_insert_button_script'
101
-					) ); // for elementor
102
-				}
103
-				// this makes the insert button work for cornerstone
104
-				add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
105
-
106
-				add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
107
-				add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
108
-
109
-				// add generator text to admin head
110
-				add_action( 'admin_head', array( $this, 'generator' ) );
111
-			}
112
-
113
-			do_action( 'wp_super_duper_widget_init', $options, $this );
114
-		}
115
-
116
-		/**
117
-		 * Add our widget CSS to elementor editor.
118
-		 */
119
-		public function elementor_editor_styles() {
120
-			wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
121
-		}
122
-
123
-		public function register_fusion_element() {
124
-
125
-			$options = $this->options;
126
-
127
-			if ( $this->base_id ) {
128
-
129
-				$params = $this->get_fusion_params();
130
-
131
-				$args = array(
132
-					'name'            => $options['name'],
133
-					'shortcode'       => $this->base_id,
134
-					'icon'            => $options['block-icon'] ? $options['block-icon'] : 'far fa-square',
135
-					'allow_generator' => true,
136
-				);
137
-
138
-				if ( ! empty( $params ) ) {
139
-					$args['params'] = $params;
140
-				}
141
-
142
-				fusion_builder_map( $args );
143
-			}
144
-
145
-		}
146
-
147
-		public function get_fusion_params() {
148
-			$params    = array();
149
-			$arguments = $this->get_arguments();
150
-
151
-			if ( ! empty( $arguments ) ) {
152
-				foreach ( $arguments as $key => $val ) {
153
-					$param = array();
154
-					// type
155
-					$param['type'] = str_replace(
156
-						array(
157
-							"text",
158
-							"number",
159
-							"email",
160
-							"color",
161
-							"checkbox"
162
-						),
163
-						array(
164
-							"textfield",
165
-							"textfield",
166
-							"textfield",
167
-							"colorpicker",
168
-							"select",
169
-
170
-						),
171
-						$val['type'] );
172
-
173
-					// multiselect
174
-					if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
175
-						$param['type']     = 'multiple_select';
176
-						$param['multiple'] = true;
177
-					}
178
-
179
-					// heading
180
-					$param['heading'] = $val['title'];
181
-
182
-					// description
183
-					$param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
184
-
185
-					// param_name
186
-					$param['param_name'] = $key;
187
-
188
-					// Default
189
-					$param['default'] = isset( $val['default'] ) ? $val['default'] : '';
190
-
191
-					// Group
192
-					if ( isset( $val['group'] ) ) {
193
-						$param['group'] = $val['group'];
194
-					}
195
-
196
-					// value
197
-					if ( $val['type'] == 'checkbox' ) {
198
-						if ( isset( $val['default'] ) && $val['default'] == '0' ) {
199
-							unset( $param['default'] );
200
-						}
201
-						$param['value'] = array( '' => __( "No" ), '1' => __( "Yes" ) );
202
-					} elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
203
-						$param['value'] = isset( $val['options'] ) ? $val['options'] : array();
204
-					} else {
205
-						$param['value'] = isset( $val['default'] ) ? $val['default'] : '';
206
-					}
207
-
208
-					// setup the param
209
-					$params[] = $param;
210
-
211
-				}
212
-			}
213
-
214
-
215
-			return $params;
216
-		}
217
-
218
-		/**
219
-		 * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
220
-		 */
221
-		public static function maybe_cornerstone_builder() {
222
-			if ( did_action( 'cornerstone_before_boot_app' ) ) {
223
-				self::shortcode_insert_button_script();
224
-			}
225
-		}
226
-
227
-		/**
228
-		 * A function to ge the shortcode builder picker html.
229
-		 *
230
-		 * @param string $editor_id
231
-		 *
232
-		 * @return string
233
-		 */
234
-		public static function get_picker( $editor_id = '' ) {
235
-
236
-			ob_start();
237
-			if ( isset( $_POST['editor_id'] ) ) {
238
-				$editor_id = esc_attr( $_POST['editor_id'] );
239
-			} elseif ( isset( $_REQUEST['et_fb'] ) ) {
240
-				$editor_id = 'main_content_content_vb_tiny_mce';
241
-			}
242
-
243
-			global $sd_widgets;
244
-			?>
9
+    /**
10
+     * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress.
11
+     *
12
+     * Should not be called direct but extended instead.
13
+     *
14
+     * Class WP_Super_Duper
15
+     * @since 1.0.16 change log moved to file change-log.txt - CHANGED
16
+     * @ver 1.0.19
17
+     */
18
+    class WP_Super_Duper extends WP_Widget {
19
+
20
+        public $version = "1.0.24";
21
+        public $font_awesome_icon_version = "5.11.2";
22
+        public $block_code;
23
+        public $options;
24
+        public $base_id;
25
+        public $settings_hash;
26
+        public $arguments = array();
27
+        public $instance = array();
28
+        private $class_name;
29
+
30
+        /**
31
+         * The relative url to the current folder.
32
+         *
33
+         * @var string
34
+         */
35
+        public $url = '';
36
+
37
+        /**
38
+         * Take the array options and use them to build.
39
+         */
40
+        public function __construct( $options ) {
41
+            global $sd_widgets;
42
+
43
+            $sd_widgets[ $options['base_id'] ] = array(
44
+                'name'       => $options['name'],
45
+                'class_name' => $options['class_name']
46
+            );
47
+            $this->base_id                     = $options['base_id'];
48
+            // lets filter the options before we do anything
49
+            $options       = apply_filters( "wp_super_duper_options", $options );
50
+            $options       = apply_filters( "wp_super_duper_options_{$this->base_id}", $options );
51
+            $options       = $this->add_name_from_key( $options );
52
+            $this->options = $options;
53
+
54
+            $this->base_id   = $options['base_id'];
55
+            $this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array();
56
+
57
+            // init parent
58
+            parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] );
59
+
60
+            if ( isset( $options['class_name'] ) ) {
61
+                // register widget
62
+                $this->class_name = $options['class_name'];
63
+
64
+                // register shortcode
65
+                $this->register_shortcode();
66
+
67
+                // Fusion Builder (avada) support
68
+                if ( function_exists( 'fusion_builder_map' ) ) {
69
+                    add_action( 'init', array( $this, 'register_fusion_element' ) );
70
+                }
71
+
72
+                // register block
73
+                add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
74
+            }
75
+
76
+            // add the CSS and JS we need ONCE
77
+            global $sd_widget_scripts;
78
+
79
+            if ( ! $sd_widget_scripts ) {
80
+                wp_add_inline_script( 'admin-widgets', $this->widget_js() );
81
+                wp_add_inline_script( 'customize-controls', $this->widget_js() );
82
+                wp_add_inline_style( 'widgets', $this->widget_css() );
83
+
84
+                // maybe add elementor editor styles
85
+                add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
86
+
87
+                $sd_widget_scripts = true;
88
+
89
+                // add shortcode insert button once
90
+                add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
91
+                // generatepress theme sections compatibility
92
+                if ( function_exists( 'generate_sections_sections_metabox' ) ) {
93
+                    add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
94
+                }
95
+                if ( $this->is_preview() ) {
96
+                    add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
97
+                    // this makes the insert button work for elementor
98
+                    add_action( 'elementor/editor/after_enqueue_scripts', array(
99
+                        $this,
100
+                        'shortcode_insert_button_script'
101
+                    ) ); // for elementor
102
+                }
103
+                // this makes the insert button work for cornerstone
104
+                add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
105
+
106
+                add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
107
+                add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
108
+
109
+                // add generator text to admin head
110
+                add_action( 'admin_head', array( $this, 'generator' ) );
111
+            }
112
+
113
+            do_action( 'wp_super_duper_widget_init', $options, $this );
114
+        }
115
+
116
+        /**
117
+         * Add our widget CSS to elementor editor.
118
+         */
119
+        public function elementor_editor_styles() {
120
+            wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
121
+        }
122
+
123
+        public function register_fusion_element() {
124
+
125
+            $options = $this->options;
126
+
127
+            if ( $this->base_id ) {
128
+
129
+                $params = $this->get_fusion_params();
130
+
131
+                $args = array(
132
+                    'name'            => $options['name'],
133
+                    'shortcode'       => $this->base_id,
134
+                    'icon'            => $options['block-icon'] ? $options['block-icon'] : 'far fa-square',
135
+                    'allow_generator' => true,
136
+                );
137
+
138
+                if ( ! empty( $params ) ) {
139
+                    $args['params'] = $params;
140
+                }
141
+
142
+                fusion_builder_map( $args );
143
+            }
144
+
145
+        }
146
+
147
+        public function get_fusion_params() {
148
+            $params    = array();
149
+            $arguments = $this->get_arguments();
150
+
151
+            if ( ! empty( $arguments ) ) {
152
+                foreach ( $arguments as $key => $val ) {
153
+                    $param = array();
154
+                    // type
155
+                    $param['type'] = str_replace(
156
+                        array(
157
+                            "text",
158
+                            "number",
159
+                            "email",
160
+                            "color",
161
+                            "checkbox"
162
+                        ),
163
+                        array(
164
+                            "textfield",
165
+                            "textfield",
166
+                            "textfield",
167
+                            "colorpicker",
168
+                            "select",
169
+
170
+                        ),
171
+                        $val['type'] );
172
+
173
+                    // multiselect
174
+                    if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
175
+                        $param['type']     = 'multiple_select';
176
+                        $param['multiple'] = true;
177
+                    }
178
+
179
+                    // heading
180
+                    $param['heading'] = $val['title'];
181
+
182
+                    // description
183
+                    $param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
184
+
185
+                    // param_name
186
+                    $param['param_name'] = $key;
187
+
188
+                    // Default
189
+                    $param['default'] = isset( $val['default'] ) ? $val['default'] : '';
190
+
191
+                    // Group
192
+                    if ( isset( $val['group'] ) ) {
193
+                        $param['group'] = $val['group'];
194
+                    }
195
+
196
+                    // value
197
+                    if ( $val['type'] == 'checkbox' ) {
198
+                        if ( isset( $val['default'] ) && $val['default'] == '0' ) {
199
+                            unset( $param['default'] );
200
+                        }
201
+                        $param['value'] = array( '' => __( "No" ), '1' => __( "Yes" ) );
202
+                    } elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
203
+                        $param['value'] = isset( $val['options'] ) ? $val['options'] : array();
204
+                    } else {
205
+                        $param['value'] = isset( $val['default'] ) ? $val['default'] : '';
206
+                    }
207
+
208
+                    // setup the param
209
+                    $params[] = $param;
210
+
211
+                }
212
+            }
213
+
214
+
215
+            return $params;
216
+        }
217
+
218
+        /**
219
+         * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
220
+         */
221
+        public static function maybe_cornerstone_builder() {
222
+            if ( did_action( 'cornerstone_before_boot_app' ) ) {
223
+                self::shortcode_insert_button_script();
224
+            }
225
+        }
226
+
227
+        /**
228
+         * A function to ge the shortcode builder picker html.
229
+         *
230
+         * @param string $editor_id
231
+         *
232
+         * @return string
233
+         */
234
+        public static function get_picker( $editor_id = '' ) {
235
+
236
+            ob_start();
237
+            if ( isset( $_POST['editor_id'] ) ) {
238
+                $editor_id = esc_attr( $_POST['editor_id'] );
239
+            } elseif ( isset( $_REQUEST['et_fb'] ) ) {
240
+                $editor_id = 'main_content_content_vb_tiny_mce';
241
+            }
242
+
243
+            global $sd_widgets;
244
+            ?>
245 245
 
246 246
 			<div class="sd-shortcode-left-wrap">
247 247
 				<?php
248
-				ksort( $sd_widgets );
249
-				//				print_r($sd_widgets);exit;
250
-				if ( ! empty( $sd_widgets ) ) {
251
-					echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
252
-					echo "<option>" . __( 'Select shortcode' ) . "</option>";
253
-					foreach ( $sd_widgets as $shortcode => $class ) {
254
-						echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
255
-					}
256
-					echo "</select>";
257
-
258
-				}
259
-				?>
248
+                ksort( $sd_widgets );
249
+                //				print_r($sd_widgets);exit;
250
+                if ( ! empty( $sd_widgets ) ) {
251
+                    echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
252
+                    echo "<option>" . __( 'Select shortcode' ) . "</option>";
253
+                    foreach ( $sd_widgets as $shortcode => $class ) {
254
+                        echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
255
+                    }
256
+                    echo "</select>";
257
+
258
+                }
259
+                ?>
260 260
 				<div class="sd-shortcode-settings"></div>
261 261
 
262 262
 			</div>
@@ -267,8 +267,8 @@  discard block
 block discarded – undo
267 267
 					<?php if ( $editor_id != '' ) { ?>
268 268
 						<button class="button sd-insert-shortcode-button"
269 269
 						        onclick="sd_insert_shortcode(<?php if ( ! empty( $editor_id ) ) {
270
-							        echo "'" . $editor_id . "'";
271
-						        } ?>)"><?php _e( 'Insert shortcode' ); ?></button>
270
+                                    echo "'" . $editor_id . "'";
271
+                                } ?>)"><?php _e( 'Insert shortcode' ); ?></button>
272 272
 					<?php } ?>
273 273
 					<button class="button"
274 274
 					        onclick="sd_copy_to_clipboard()"><?php _e( 'Copy shortcode' ); ?></button>
@@ -276,134 +276,134 @@  discard block
 block discarded – undo
276 276
 			</div>
277 277
 			<?php
278 278
 
279
-			$html = ob_get_clean();
280
-
281
-			if ( wp_doing_ajax() ) {
282
-				echo $html;
283
-				$should_die = true;
284
-
285
-				// some builder get the editor via ajax so we should not die on those ocasions
286
-				$dont_die = array(
287
-					'parent_tag',// WP Bakery
288
-					'avia_request' // enfold
289
-				);
290
-
291
-				foreach ( $dont_die as $request ) {
292
-					if ( isset( $_REQUEST[ $request ] ) ) {
293
-						$should_die = false;
294
-					}
295
-				}
296
-
297
-				if ( $should_die ) {
298
-					wp_die();
299
-				}
300
-
301
-			} else {
302
-				return $html;
303
-			}
304
-
305
-			return '';
306
-
307
-		}
308
-
309
-		/**
310
-		 * Output the version in the admin header.
311
-		 */
312
-		public function generator() {
313
-			echo '<meta name="generator" content="WP Super Duper v' . $this->version . '" />';
314
-		}
315
-
316
-		/**
317
-		 * Get widget settings.
318
-		 *
319
-		 * @since 1.0.0
320
-		 */
321
-		public static function get_widget_settings() {
322
-			global $sd_widgets;
323
-
324
-			$shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
325
-			if ( ! $shortcode ) {
326
-				wp_die();
327
-			}
328
-			$widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
329
-			if ( ! $widget_args ) {
330
-				wp_die();
331
-			}
332
-			$class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
333
-			if ( ! $class_name ) {
334
-				wp_die();
335
-			}
336
-
337
-			// invoke an instance method
338
-			$widget = new $class_name;
339
-
340
-			ob_start();
341
-			$widget->form( array() );
342
-			$form = ob_get_clean();
343
-			echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
344
-			echo "<style>" . $widget->widget_css() . "</style>";
345
-			echo "<script>" . $widget->widget_js() . "</script>";
346
-			?>
279
+            $html = ob_get_clean();
280
+
281
+            if ( wp_doing_ajax() ) {
282
+                echo $html;
283
+                $should_die = true;
284
+
285
+                // some builder get the editor via ajax so we should not die on those ocasions
286
+                $dont_die = array(
287
+                    'parent_tag',// WP Bakery
288
+                    'avia_request' // enfold
289
+                );
290
+
291
+                foreach ( $dont_die as $request ) {
292
+                    if ( isset( $_REQUEST[ $request ] ) ) {
293
+                        $should_die = false;
294
+                    }
295
+                }
296
+
297
+                if ( $should_die ) {
298
+                    wp_die();
299
+                }
300
+
301
+            } else {
302
+                return $html;
303
+            }
304
+
305
+            return '';
306
+
307
+        }
308
+
309
+        /**
310
+         * Output the version in the admin header.
311
+         */
312
+        public function generator() {
313
+            echo '<meta name="generator" content="WP Super Duper v' . $this->version . '" />';
314
+        }
315
+
316
+        /**
317
+         * Get widget settings.
318
+         *
319
+         * @since 1.0.0
320
+         */
321
+        public static function get_widget_settings() {
322
+            global $sd_widgets;
323
+
324
+            $shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
325
+            if ( ! $shortcode ) {
326
+                wp_die();
327
+            }
328
+            $widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
329
+            if ( ! $widget_args ) {
330
+                wp_die();
331
+            }
332
+            $class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
333
+            if ( ! $class_name ) {
334
+                wp_die();
335
+            }
336
+
337
+            // invoke an instance method
338
+            $widget = new $class_name;
339
+
340
+            ob_start();
341
+            $widget->form( array() );
342
+            $form = ob_get_clean();
343
+            echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
344
+            echo "<style>" . $widget->widget_css() . "</style>";
345
+            echo "<script>" . $widget->widget_js() . "</script>";
346
+            ?>
347 347
 			<?php
348
-			wp_die();
349
-		}
350
-
351
-		/**
352
-		 * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed).
353
-		 *
354
-		 * @since 1.0.0
355
-		 *
356
-		 * @param string $editor_id Optional. Shortcode editor id. Default null.
357
-		 * @param string $insert_shortcode_function Optional. Insert shotcode function. Default null.
358
-		 */
359
-		public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
360
-			global $sd_widgets, $shortcode_insert_button_once;
361
-			if ( $shortcode_insert_button_once ) {
362
-				return;
363
-			}
364
-			add_thickbox();
365
-
366
-
367
-			/**
368
-			 * Cornerstone makes us play dirty tricks :/
369
-			 * 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.
370
-			 */
371
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
372
-				echo '<span id="insert-media-button">';
373
-			}
374
-
375
-			echo self::shortcode_button( 'this', 'true' );
376
-
377
-			// see opening note
378
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
379
-				echo '</span>'; // end #insert-media-button
380
-			}
381
-
382
-			// Add separate script for generatepress theme sections
383
-			if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
384
-			} else {
385
-				self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
386
-			}
387
-
388
-			$shortcode_insert_button_once = true;
389
-		}
390
-
391
-		/**
392
-		 * Gets the shortcode insert button html.
393
-		 *
394
-		 * @param string $id
395
-		 * @param string $search_for_id
396
-		 *
397
-		 * @return mixed
398
-		 */
399
-		public static function shortcode_button( $id = '', $search_for_id = '' ) {
400
-			ob_start();
401
-			?>
348
+            wp_die();
349
+        }
350
+
351
+        /**
352
+         * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed).
353
+         *
354
+         * @since 1.0.0
355
+         *
356
+         * @param string $editor_id Optional. Shortcode editor id. Default null.
357
+         * @param string $insert_shortcode_function Optional. Insert shotcode function. Default null.
358
+         */
359
+        public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
360
+            global $sd_widgets, $shortcode_insert_button_once;
361
+            if ( $shortcode_insert_button_once ) {
362
+                return;
363
+            }
364
+            add_thickbox();
365
+
366
+
367
+            /**
368
+             * Cornerstone makes us play dirty tricks :/
369
+             * 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.
370
+             */
371
+            if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
372
+                echo '<span id="insert-media-button">';
373
+            }
374
+
375
+            echo self::shortcode_button( 'this', 'true' );
376
+
377
+            // see opening note
378
+            if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
379
+                echo '</span>'; // end #insert-media-button
380
+            }
381
+
382
+            // Add separate script for generatepress theme sections
383
+            if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
384
+            } else {
385
+                self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
386
+            }
387
+
388
+            $shortcode_insert_button_once = true;
389
+        }
390
+
391
+        /**
392
+         * Gets the shortcode insert button html.
393
+         *
394
+         * @param string $id
395
+         * @param string $search_for_id
396
+         *
397
+         * @return mixed
398
+         */
399
+        public static function shortcode_button( $id = '', $search_for_id = '' ) {
400
+            ob_start();
401
+            ?>
402 402
 			<span class="sd-lable-shortcode-inserter">
403 403
 				<a onclick="sd_ajax_get_picker(<?php echo $id;
404
-				if ( $search_for_id ) {
405
-					echo "," . $search_for_id;
406
-				} ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
404
+                if ( $search_for_id ) {
405
+                    echo "," . $search_for_id;
406
+                } ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
407 407
 				   class="thickbox button super-duper-content-open" title="Add Shortcode">
408 408
 					<span style="vertical-align: middle;line-height: 18px;font-size: 20px;"
409 409
 					      class="dashicons dashicons-screenoptions"></span>
@@ -414,21 +414,21 @@  discard block
 block discarded – undo
414 414
 			</span>
415 415
 
416 416
 			<?php
417
-			$html = ob_get_clean();
418
-
419
-			// remove line breaks so we can use it in js
420
-			return preg_replace( "/\r|\n/", "", trim( $html ) );
421
-		}
422
-
423
-		/**
424
-		 * Makes SD work with the siteOrigin page builder.
425
-		 *
426
-		 * @since 1.0.6
427
-		 * @return mixed
428
-		 */
429
-		public static function siteorigin_js() {
430
-			ob_start();
431
-			?>
417
+            $html = ob_get_clean();
418
+
419
+            // remove line breaks so we can use it in js
420
+            return preg_replace( "/\r|\n/", "", trim( $html ) );
421
+        }
422
+
423
+        /**
424
+         * Makes SD work with the siteOrigin page builder.
425
+         *
426
+         * @since 1.0.6
427
+         * @return mixed
428
+         */
429
+        public static function siteorigin_js() {
430
+            ob_start();
431
+            ?>
432 432
 			<script>
433 433
 				/**
434 434
 				 * Check a form to see what items shoudl be shown or hidden.
@@ -506,28 +506,28 @@  discard block
 block discarded – undo
506 506
 				});
507 507
 			</script>
508 508
 			<?php
509
-			$output = ob_get_clean();
509
+            $output = ob_get_clean();
510 510
 
511
-			/*
511
+            /*
512 512
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
513 513
 			 */
514 514
 
515
-			return str_replace( array(
516
-				'<script>',
517
-				'</script>'
518
-			), '', $output );
519
-		}
520
-
521
-		/**
522
-		 * Output the JS and CSS for the shortcode insert button.
523
-		 *
524
-		 * @since 1.0.6
525
-		 *
526
-		 * @param string $editor_id
527
-		 * @param string $insert_shortcode_function
528
-		 */
529
-		public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
530
-			?>
515
+            return str_replace( array(
516
+                '<script>',
517
+                '</script>'
518
+            ), '', $output );
519
+        }
520
+
521
+        /**
522
+         * Output the JS and CSS for the shortcode insert button.
523
+         *
524
+         * @since 1.0.6
525
+         *
526
+         * @param string $editor_id
527
+         * @param string $insert_shortcode_function
528
+         */
529
+        public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
530
+            ?>
531 531
 			<style>
532 532
 				.sd-shortcode-left-wrap {
533 533
 					float: left;
@@ -653,35 +653,35 @@  discard block
 block discarded – undo
653 653
 				<?php } ?>
654 654
 			</style>
655 655
 			<?php
656
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
657
-				echo "<script>" . self::siteorigin_js() . "</script>";
658
-			}
659
-			?>
656
+            if ( class_exists( 'SiteOrigin_Panels' ) ) {
657
+                echo "<script>" . self::siteorigin_js() . "</script>";
658
+            }
659
+            ?>
660 660
 			<script>
661 661
 				<?php
662
-				if(! empty( $insert_shortcode_function )){
663
-					echo $insert_shortcode_function;
664
-				}else{
665
-
666
-				/**
667
-				 * Function for super duper insert shortcode.
668
-				 *
669
-				 * @since 1.0.0
670
-				 */
671
-				?>
662
+                if(! empty( $insert_shortcode_function )){
663
+                    echo $insert_shortcode_function;
664
+                }else{
665
+
666
+                /**
667
+                 * Function for super duper insert shortcode.
668
+                 *
669
+                 * @since 1.0.0
670
+                 */
671
+                ?>
672 672
 				function sd_insert_shortcode($editor_id) {
673 673
 					$shortcode = jQuery('#TB_ajaxContent #sd-shortcode-output').val();
674 674
 					if ($shortcode) {
675 675
 						if (!$editor_id) {
676 676
 							<?php
677
-							if ( isset( $_REQUEST['et_fb'] ) ) {
678
-								echo '$editor_id = "#main_content_content_vb_tiny_mce";';
679
-							} elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
680
-								echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
681
-							} else {
682
-								echo '$editor_id = "#wp-content-editor-container textarea";';
683
-							}
684
-							?>
677
+                            if ( isset( $_REQUEST['et_fb'] ) ) {
678
+                                echo '$editor_id = "#main_content_content_vb_tiny_mce";';
679
+                            } elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
680
+                                echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
681
+                            } else {
682
+                                echo '$editor_id = "#wp-content-editor-container textarea";';
683
+                            }
684
+                            ?>
685 685
 						} else {
686 686
 							$editor_id = '#' + $editor_id;
687 687
 						}
@@ -1007,18 +1007,18 @@  discard block
 block discarded – undo
1007 1007
 
1008 1008
 			</script>
1009 1009
 			<?php
1010
-		}
1011
-
1012
-		/**
1013
-		 * Gets some CSS for the widgets screen.
1014
-		 *
1015
-		 * @param bool $advanced If we should include advanced CSS.
1016
-		 *
1017
-		 * @return mixed
1018
-		 */
1019
-		public function widget_css( $advanced = true ) {
1020
-			ob_start();
1021
-			?>
1010
+        }
1011
+
1012
+        /**
1013
+         * Gets some CSS for the widgets screen.
1014
+         *
1015
+         * @param bool $advanced If we should include advanced CSS.
1016
+         *
1017
+         * @return mixed
1018
+         */
1019
+        public function widget_css( $advanced = true ) {
1020
+            ob_start();
1021
+            ?>
1022 1022
 			<style>
1023 1023
 				<?php if( $advanced ){ ?>
1024 1024
 				.sd-advanced-setting {
@@ -1056,26 +1056,26 @@  discard block
 block discarded – undo
1056 1056
 				}
1057 1057
 			</style>
1058 1058
 			<?php
1059
-			$output = ob_get_clean();
1059
+            $output = ob_get_clean();
1060 1060
 
1061
-			/*
1061
+            /*
1062 1062
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1063 1063
 			 */
1064 1064
 
1065
-			return str_replace( array(
1066
-				'<style>',
1067
-				'</style>'
1068
-			), '', $output );
1069
-		}
1070
-
1071
-		/**
1072
-		 * Gets some JS for the widgets screen.
1073
-		 *
1074
-		 * @return mixed
1075
-		 */
1076
-		public function widget_js() {
1077
-			ob_start();
1078
-			?>
1065
+            return str_replace( array(
1066
+                '<style>',
1067
+                '</style>'
1068
+            ), '', $output );
1069
+        }
1070
+
1071
+        /**
1072
+         * Gets some JS for the widgets screen.
1073
+         *
1074
+         * @return mixed
1075
+         */
1076
+        public function widget_js() {
1077
+            ob_start();
1078
+            ?>
1079 1079
 			<script>
1080 1080
 
1081 1081
 				/**
@@ -1233,402 +1233,402 @@  discard block
 block discarded – undo
1233 1233
 				<?php do_action( 'wp_super_duper_widget_js', $this ); ?>
1234 1234
 			</script>
1235 1235
 			<?php
1236
-			$output = ob_get_clean();
1236
+            $output = ob_get_clean();
1237 1237
 
1238
-			/*
1238
+            /*
1239 1239
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1240 1240
 			 */
1241 1241
 
1242
-			return str_replace( array(
1243
-				'<script>',
1244
-				'</script>'
1245
-			), '', $output );
1246
-		}
1247
-
1248
-
1249
-		/**
1250
-		 * Set the name from the argument key.
1251
-		 *
1252
-		 * @param $options
1253
-		 *
1254
-		 * @return mixed
1255
-		 */
1256
-		private function add_name_from_key( $options, $arguments = false ) {
1257
-			if ( ! empty( $options['arguments'] ) ) {
1258
-				foreach ( $options['arguments'] as $key => $val ) {
1259
-					$options['arguments'][ $key ]['name'] = $key;
1260
-				}
1261
-			} elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1262
-				foreach ( $options as $key => $val ) {
1263
-					$options[ $key ]['name'] = $key;
1264
-				}
1265
-			}
1266
-
1267
-			return $options;
1268
-		}
1269
-
1270
-		/**
1271
-		 * Register the parent shortcode.
1272
-		 *
1273
-		 * @since 1.0.0
1274
-		 */
1275
-		public function register_shortcode() {
1276
-			add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1277
-			add_action( 'wp_ajax_super_duper_output_shortcode', array( __CLASS__, 'render_shortcode' ) );
1278
-		}
1279
-
1280
-		/**
1281
-		 * Render the shortcode via ajax so we can return it to Gutenberg.
1282
-		 *
1283
-		 * @since 1.0.0
1284
-		 */
1285
-		public static function render_shortcode() {
1286
-
1287
-			check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1288
-			if ( ! current_user_can( 'manage_options' ) ) {
1289
-				wp_die();
1290
-			}
1291
-
1292
-			// we might need the $post value here so lets set it.
1293
-			if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1294
-				$post_obj = get_post( absint( $_POST['post_id'] ) );
1295
-				if ( ! empty( $post_obj ) && empty( $post ) ) {
1296
-					global $post;
1297
-					$post = $post_obj;
1298
-				}
1299
-			}
1300
-
1301
-			if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1302
-				$shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1303
-				$attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1304
-				$attributes       = '';
1305
-				if ( ! empty( $attributes_array ) ) {
1306
-					foreach ( $attributes_array as $key => $value ) {
1307
-						$attributes .= " " . sanitize_title_with_dashes( $key ) . "='" . wp_slash( $value ) . "' ";
1308
-					}
1309
-				}
1310
-
1311
-				$shortcode = "[" . $shortcode_name . " " . $attributes . "]";
1312
-
1313
-				echo do_shortcode( $shortcode );
1314
-
1315
-			}
1316
-			wp_die();
1317
-		}
1318
-
1319
-		/**
1320
-		 * Output the shortcode.
1321
-		 *
1322
-		 * @param array $args
1323
-		 * @param string $content
1324
-		 *
1325
-		 * @return string
1326
-		 */
1327
-		public function shortcode_output( $args = array(), $content = '' ) {
1328
-			$args = $this->argument_values( $args );
1329
-
1330
-			// add extra argument so we know its a output to gutenberg
1331
-			//$args
1332
-			$args = $this->string_to_bool( $args );
1333
-
1334
-			// if we have a enclosed shortcode we add it to the special `html` argument
1335
-			if ( ! empty( $content ) ) {
1336
-				$args['html'] = $content;
1337
-			}
1338
-
1339
-			$class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1340
-			$class .= " sdel-".$this->get_instance_hash();
1341
-
1342
-			$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1343
-			$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1344
-
1345
-			$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1346
-			$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); //@todo this does not seem right @kiran?
1347
-
1348
-			$shortcode_args = array();
1349
-			$output         = '';
1350
-			$no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1351
-			if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1352
-				$no_wrap = true;
1353
-			}
1354
-			$main_content = $this->output( $args, $shortcode_args, $content );
1355
-			if ( $main_content && ! $no_wrap ) {
1356
-				// wrap the shortcode in a div with the same class as the widget
1357
-				$output .= '<div class="' . $class . '" ' . $attrs . '>';
1358
-				if ( ! empty( $args['title'] ) ) {
1359
-					// if its a shortcode and there is a title try to grab the title wrappers
1360
-					$shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1361
-					if ( empty( $instance ) ) {
1362
-						global $wp_registered_sidebars;
1363
-						if ( ! empty( $wp_registered_sidebars ) ) {
1364
-							foreach ( $wp_registered_sidebars as $sidebar ) {
1365
-								if ( ! empty( $sidebar['before_title'] ) ) {
1366
-									$shortcode_args['before_title'] = $sidebar['before_title'];
1367
-									$shortcode_args['after_title']  = $sidebar['after_title'];
1368
-									break;
1369
-								}
1370
-							}
1371
-						}
1372
-					}
1373
-					$output .= $this->output_title( $shortcode_args, $args );
1374
-				}
1375
-				$output .= $main_content;
1376
-				$output .= '</div>';
1377
-			} elseif ( $main_content && $no_wrap ) {
1378
-				$output .= $main_content;
1379
-			}
1380
-
1381
-			// if preview show a placeholder if empty
1382
-			if ( $this->is_preview() && $output == '' ) {
1383
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1384
-			}
1385
-
1386
-			return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1387
-		}
1388
-
1389
-		/**
1390
-		 * Placeholder text to show if output is empty and we are on a preview/builder page.
1391
-		 *
1392
-		 * @param string $name
1393
-		 *
1394
-		 * @return string
1395
-		 */
1396
-		public function preview_placeholder_text( $name = '' ) {
1397
-			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf( __( 'Placeholder for: %s' ), $name ) . "</div>";
1398
-		}
1399
-
1400
-		/**
1401
-		 * Sometimes booleans values can be turned to strings, so we fix that.
1402
-		 *
1403
-		 * @param $options
1404
-		 *
1405
-		 * @return mixed
1406
-		 */
1407
-		public function string_to_bool( $options ) {
1408
-			// convert bool strings to booleans
1409
-			foreach ( $options as $key => $val ) {
1410
-				if ( $val == 'false' ) {
1411
-					$options[ $key ] = false;
1412
-				} elseif ( $val == 'true' ) {
1413
-					$options[ $key ] = true;
1414
-				}
1415
-			}
1416
-
1417
-			return $options;
1418
-		}
1419
-
1420
-		/**
1421
-		 * Get the argument values that are also filterable.
1422
-		 *
1423
-		 * @param $instance
1424
-		 *
1425
-		 * @since 1.0.12 Don't set checkbox default value if the value is empty.
1426
-		 *
1427
-		 * @return array
1428
-		 */
1429
-		public function argument_values( $instance ) {
1430
-			$argument_values = array();
1431
-
1432
-			// set widget instance
1433
-			$this->instance = $instance;
1434
-
1435
-			if ( empty( $this->arguments ) ) {
1436
-				$this->arguments = $this->get_arguments();
1437
-			}
1438
-
1439
-			if ( ! empty( $this->arguments ) ) {
1440
-				foreach ( $this->arguments as $key => $args ) {
1441
-					// set the input name from the key
1442
-					$args['name'] = $key;
1443
-					//
1444
-					$argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1445
-					if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1446
-						// don't set default for an empty checkbox
1447
-					} elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1448
-						$argument_values[ $key ] = $args['default'];
1449
-					}
1450
-				}
1451
-			}
1452
-
1453
-			return $argument_values;
1454
-		}
1455
-
1456
-		/**
1457
-		 * Set arguments in super duper.
1458
-		 *
1459
-		 * @since 1.0.0
1460
-		 *
1461
-		 * @return array Set arguments.
1462
-		 */
1463
-		public function set_arguments() {
1464
-			return $this->arguments;
1465
-		}
1466
-
1467
-		/**
1468
-		 * Get arguments in super duper.
1469
-		 *
1470
-		 * @since 1.0.0
1471
-		 *
1472
-		 * @return array Get arguments.
1473
-		 */
1474
-		public function get_arguments() {
1475
-			if ( empty( $this->arguments ) ) {
1476
-				$this->arguments = $this->set_arguments();
1477
-			}
1478
-
1479
-			$this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1480
-			$this->arguments = $this->add_name_from_key( $this->arguments, true );
1481
-
1482
-			return $this->arguments;
1483
-		}
1484
-
1485
-		/**
1486
-		 * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class.
1487
-		 *
1488
-		 * @param array $args
1489
-		 * @param array $widget_args
1490
-		 * @param string $content
1491
-		 */
1492
-		public function output( $args = array(), $widget_args = array(), $content = '' ) {
1493
-
1494
-		}
1495
-
1496
-		/**
1497
-		 * Add the dynamic block code inline when the wp-block in enqueued.
1498
-		 */
1499
-		public function register_block() {
1500
-			wp_add_inline_script( 'wp-blocks', $this->block() );
1501
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
1502
-				wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1503
-			}
1504
-		}
1505
-
1506
-		/**
1507
-		 * Check if we need to show advanced options.
1508
-		 *
1509
-		 * @return bool
1510
-		 */
1511
-		public function block_show_advanced() {
1512
-
1513
-			$show      = false;
1514
-			$arguments = $this->arguments;
1515
-
1516
-			if ( empty( $arguments ) ) {
1517
-				$arguments = $this->get_arguments();
1518
-			}
1519
-
1520
-			if ( ! empty( $arguments ) ) {
1521
-				foreach ( $arguments as $argument ) {
1522
-					if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1523
-						$show = true;
1524
-						break; // no need to continue if we know we have it
1525
-					}
1526
-				}
1527
-			}
1528
-
1529
-			return $show;
1530
-		}
1531
-
1532
-		/**
1533
-		 * Get the url path to the current folder.
1534
-		 *
1535
-		 * @return string
1536
-		 */
1537
-		public function get_url() {
1538
-
1539
-			$url = $this->url;
1540
-
1541
-			if ( ! $url ) {
1542
-				// check if we are inside a plugin
1543
-				$file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1544
-
1545
-				$dir_parts = explode( "/wp-content/", $file_dir );
1546
-				$url_parts = explode( "/wp-content/", plugins_url() );
1547
-
1548
-				if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1549
-					$url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1550
-					$this->url = $url;
1551
-				}
1552
-			}
1553
-
1554
-
1555
-			return $url;
1556
-		}
1557
-
1558
-		/**
1559
-		 * Generate the block icon.
1560
-		 *
1561
-		 * Enables the use of Font Awesome icons.
1562
-		 *
1563
-		 * @note xlink:href is actually deprecated but href is not supported by all so we use both.
1564
-		 *
1565
-		 * @param $icon
1566
-		 *
1567
-		 * @since 1.1.0
1568
-		 * @return string
1569
-		 */
1570
-		public function get_block_icon( $icon ) {
1571
-
1572
-			// check if we have a Font Awesome icon
1573
-			$fa_type = '';
1574
-			if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1575
-				$fa_type = 'solid';
1576
-			} elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1577
-				$fa_type = 'regular';
1578
-			} elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1579
-				$fa_type = 'brands';
1580
-			} else {
1581
-				$icon = "'" . $icon . "'";
1582
-			}
1583
-
1584
-			// set the icon if we found one
1585
-			if ( $fa_type ) {
1586
-				$fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1587
-				$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 . "'}))";
1588
-			}
1589
-
1590
-			return $icon;
1591
-		}
1592
-
1593
-		public function group_arguments( $arguments ) {
1242
+            return str_replace( array(
1243
+                '<script>',
1244
+                '</script>'
1245
+            ), '', $output );
1246
+        }
1247
+
1248
+
1249
+        /**
1250
+         * Set the name from the argument key.
1251
+         *
1252
+         * @param $options
1253
+         *
1254
+         * @return mixed
1255
+         */
1256
+        private function add_name_from_key( $options, $arguments = false ) {
1257
+            if ( ! empty( $options['arguments'] ) ) {
1258
+                foreach ( $options['arguments'] as $key => $val ) {
1259
+                    $options['arguments'][ $key ]['name'] = $key;
1260
+                }
1261
+            } elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1262
+                foreach ( $options as $key => $val ) {
1263
+                    $options[ $key ]['name'] = $key;
1264
+                }
1265
+            }
1266
+
1267
+            return $options;
1268
+        }
1269
+
1270
+        /**
1271
+         * Register the parent shortcode.
1272
+         *
1273
+         * @since 1.0.0
1274
+         */
1275
+        public function register_shortcode() {
1276
+            add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1277
+            add_action( 'wp_ajax_super_duper_output_shortcode', array( __CLASS__, 'render_shortcode' ) );
1278
+        }
1279
+
1280
+        /**
1281
+         * Render the shortcode via ajax so we can return it to Gutenberg.
1282
+         *
1283
+         * @since 1.0.0
1284
+         */
1285
+        public static function render_shortcode() {
1286
+
1287
+            check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1288
+            if ( ! current_user_can( 'manage_options' ) ) {
1289
+                wp_die();
1290
+            }
1291
+
1292
+            // we might need the $post value here so lets set it.
1293
+            if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1294
+                $post_obj = get_post( absint( $_POST['post_id'] ) );
1295
+                if ( ! empty( $post_obj ) && empty( $post ) ) {
1296
+                    global $post;
1297
+                    $post = $post_obj;
1298
+                }
1299
+            }
1300
+
1301
+            if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1302
+                $shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1303
+                $attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1304
+                $attributes       = '';
1305
+                if ( ! empty( $attributes_array ) ) {
1306
+                    foreach ( $attributes_array as $key => $value ) {
1307
+                        $attributes .= " " . sanitize_title_with_dashes( $key ) . "='" . wp_slash( $value ) . "' ";
1308
+                    }
1309
+                }
1310
+
1311
+                $shortcode = "[" . $shortcode_name . " " . $attributes . "]";
1312
+
1313
+                echo do_shortcode( $shortcode );
1314
+
1315
+            }
1316
+            wp_die();
1317
+        }
1318
+
1319
+        /**
1320
+         * Output the shortcode.
1321
+         *
1322
+         * @param array $args
1323
+         * @param string $content
1324
+         *
1325
+         * @return string
1326
+         */
1327
+        public function shortcode_output( $args = array(), $content = '' ) {
1328
+            $args = $this->argument_values( $args );
1329
+
1330
+            // add extra argument so we know its a output to gutenberg
1331
+            //$args
1332
+            $args = $this->string_to_bool( $args );
1333
+
1334
+            // if we have a enclosed shortcode we add it to the special `html` argument
1335
+            if ( ! empty( $content ) ) {
1336
+                $args['html'] = $content;
1337
+            }
1338
+
1339
+            $class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1340
+            $class .= " sdel-".$this->get_instance_hash();
1341
+
1342
+            $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1343
+            $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1344
+
1345
+            $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1346
+            $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); //@todo this does not seem right @kiran?
1347
+
1348
+            $shortcode_args = array();
1349
+            $output         = '';
1350
+            $no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1351
+            if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1352
+                $no_wrap = true;
1353
+            }
1354
+            $main_content = $this->output( $args, $shortcode_args, $content );
1355
+            if ( $main_content && ! $no_wrap ) {
1356
+                // wrap the shortcode in a div with the same class as the widget
1357
+                $output .= '<div class="' . $class . '" ' . $attrs . '>';
1358
+                if ( ! empty( $args['title'] ) ) {
1359
+                    // if its a shortcode and there is a title try to grab the title wrappers
1360
+                    $shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1361
+                    if ( empty( $instance ) ) {
1362
+                        global $wp_registered_sidebars;
1363
+                        if ( ! empty( $wp_registered_sidebars ) ) {
1364
+                            foreach ( $wp_registered_sidebars as $sidebar ) {
1365
+                                if ( ! empty( $sidebar['before_title'] ) ) {
1366
+                                    $shortcode_args['before_title'] = $sidebar['before_title'];
1367
+                                    $shortcode_args['after_title']  = $sidebar['after_title'];
1368
+                                    break;
1369
+                                }
1370
+                            }
1371
+                        }
1372
+                    }
1373
+                    $output .= $this->output_title( $shortcode_args, $args );
1374
+                }
1375
+                $output .= $main_content;
1376
+                $output .= '</div>';
1377
+            } elseif ( $main_content && $no_wrap ) {
1378
+                $output .= $main_content;
1379
+            }
1380
+
1381
+            // if preview show a placeholder if empty
1382
+            if ( $this->is_preview() && $output == '' ) {
1383
+                $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1384
+            }
1385
+
1386
+            return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1387
+        }
1388
+
1389
+        /**
1390
+         * Placeholder text to show if output is empty and we are on a preview/builder page.
1391
+         *
1392
+         * @param string $name
1393
+         *
1394
+         * @return string
1395
+         */
1396
+        public function preview_placeholder_text( $name = '' ) {
1397
+            return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf( __( 'Placeholder for: %s' ), $name ) . "</div>";
1398
+        }
1399
+
1400
+        /**
1401
+         * Sometimes booleans values can be turned to strings, so we fix that.
1402
+         *
1403
+         * @param $options
1404
+         *
1405
+         * @return mixed
1406
+         */
1407
+        public function string_to_bool( $options ) {
1408
+            // convert bool strings to booleans
1409
+            foreach ( $options as $key => $val ) {
1410
+                if ( $val == 'false' ) {
1411
+                    $options[ $key ] = false;
1412
+                } elseif ( $val == 'true' ) {
1413
+                    $options[ $key ] = true;
1414
+                }
1415
+            }
1416
+
1417
+            return $options;
1418
+        }
1419
+
1420
+        /**
1421
+         * Get the argument values that are also filterable.
1422
+         *
1423
+         * @param $instance
1424
+         *
1425
+         * @since 1.0.12 Don't set checkbox default value if the value is empty.
1426
+         *
1427
+         * @return array
1428
+         */
1429
+        public function argument_values( $instance ) {
1430
+            $argument_values = array();
1431
+
1432
+            // set widget instance
1433
+            $this->instance = $instance;
1434
+
1435
+            if ( empty( $this->arguments ) ) {
1436
+                $this->arguments = $this->get_arguments();
1437
+            }
1438
+
1439
+            if ( ! empty( $this->arguments ) ) {
1440
+                foreach ( $this->arguments as $key => $args ) {
1441
+                    // set the input name from the key
1442
+                    $args['name'] = $key;
1443
+                    //
1444
+                    $argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1445
+                    if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1446
+                        // don't set default for an empty checkbox
1447
+                    } elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1448
+                        $argument_values[ $key ] = $args['default'];
1449
+                    }
1450
+                }
1451
+            }
1452
+
1453
+            return $argument_values;
1454
+        }
1455
+
1456
+        /**
1457
+         * Set arguments in super duper.
1458
+         *
1459
+         * @since 1.0.0
1460
+         *
1461
+         * @return array Set arguments.
1462
+         */
1463
+        public function set_arguments() {
1464
+            return $this->arguments;
1465
+        }
1466
+
1467
+        /**
1468
+         * Get arguments in super duper.
1469
+         *
1470
+         * @since 1.0.0
1471
+         *
1472
+         * @return array Get arguments.
1473
+         */
1474
+        public function get_arguments() {
1475
+            if ( empty( $this->arguments ) ) {
1476
+                $this->arguments = $this->set_arguments();
1477
+            }
1478
+
1479
+            $this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1480
+            $this->arguments = $this->add_name_from_key( $this->arguments, true );
1481
+
1482
+            return $this->arguments;
1483
+        }
1484
+
1485
+        /**
1486
+         * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class.
1487
+         *
1488
+         * @param array $args
1489
+         * @param array $widget_args
1490
+         * @param string $content
1491
+         */
1492
+        public function output( $args = array(), $widget_args = array(), $content = '' ) {
1493
+
1494
+        }
1495
+
1496
+        /**
1497
+         * Add the dynamic block code inline when the wp-block in enqueued.
1498
+         */
1499
+        public function register_block() {
1500
+            wp_add_inline_script( 'wp-blocks', $this->block() );
1501
+            if ( class_exists( 'SiteOrigin_Panels' ) ) {
1502
+                wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1503
+            }
1504
+        }
1505
+
1506
+        /**
1507
+         * Check if we need to show advanced options.
1508
+         *
1509
+         * @return bool
1510
+         */
1511
+        public function block_show_advanced() {
1512
+
1513
+            $show      = false;
1514
+            $arguments = $this->arguments;
1515
+
1516
+            if ( empty( $arguments ) ) {
1517
+                $arguments = $this->get_arguments();
1518
+            }
1519
+
1520
+            if ( ! empty( $arguments ) ) {
1521
+                foreach ( $arguments as $argument ) {
1522
+                    if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1523
+                        $show = true;
1524
+                        break; // no need to continue if we know we have it
1525
+                    }
1526
+                }
1527
+            }
1528
+
1529
+            return $show;
1530
+        }
1531
+
1532
+        /**
1533
+         * Get the url path to the current folder.
1534
+         *
1535
+         * @return string
1536
+         */
1537
+        public function get_url() {
1538
+
1539
+            $url = $this->url;
1540
+
1541
+            if ( ! $url ) {
1542
+                // check if we are inside a plugin
1543
+                $file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1544
+
1545
+                $dir_parts = explode( "/wp-content/", $file_dir );
1546
+                $url_parts = explode( "/wp-content/", plugins_url() );
1547
+
1548
+                if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1549
+                    $url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1550
+                    $this->url = $url;
1551
+                }
1552
+            }
1553
+
1554
+
1555
+            return $url;
1556
+        }
1557
+
1558
+        /**
1559
+         * Generate the block icon.
1560
+         *
1561
+         * Enables the use of Font Awesome icons.
1562
+         *
1563
+         * @note xlink:href is actually deprecated but href is not supported by all so we use both.
1564
+         *
1565
+         * @param $icon
1566
+         *
1567
+         * @since 1.1.0
1568
+         * @return string
1569
+         */
1570
+        public function get_block_icon( $icon ) {
1571
+
1572
+            // check if we have a Font Awesome icon
1573
+            $fa_type = '';
1574
+            if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1575
+                $fa_type = 'solid';
1576
+            } elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1577
+                $fa_type = 'regular';
1578
+            } elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1579
+                $fa_type = 'brands';
1580
+            } else {
1581
+                $icon = "'" . $icon . "'";
1582
+            }
1583
+
1584
+            // set the icon if we found one
1585
+            if ( $fa_type ) {
1586
+                $fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1587
+                $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 . "'}))";
1588
+            }
1589
+
1590
+            return $icon;
1591
+        }
1592
+
1593
+        public function group_arguments( $arguments ) {
1594 1594
 //			echo '###';print_r($arguments);
1595
-			if ( ! empty( $arguments ) ) {
1596
-				$temp_arguments = array();
1597
-				$general        = __( "General" );
1598
-				$add_sections   = false;
1599
-				foreach ( $arguments as $key => $args ) {
1600
-					if ( isset( $args['group'] ) ) {
1601
-						$temp_arguments[ $args['group'] ][ $key ] = $args;
1602
-						$add_sections                             = true;
1603
-					} else {
1604
-						$temp_arguments[ $general ][ $key ] = $args;
1605
-					}
1606
-				}
1607
-
1608
-				// only add sections if more than one
1609
-				if ( $add_sections ) {
1610
-					$arguments = $temp_arguments;
1611
-				}
1612
-			}
1595
+            if ( ! empty( $arguments ) ) {
1596
+                $temp_arguments = array();
1597
+                $general        = __( "General" );
1598
+                $add_sections   = false;
1599
+                foreach ( $arguments as $key => $args ) {
1600
+                    if ( isset( $args['group'] ) ) {
1601
+                        $temp_arguments[ $args['group'] ][ $key ] = $args;
1602
+                        $add_sections                             = true;
1603
+                    } else {
1604
+                        $temp_arguments[ $general ][ $key ] = $args;
1605
+                    }
1606
+                }
1607
+
1608
+                // only add sections if more than one
1609
+                if ( $add_sections ) {
1610
+                    $arguments = $temp_arguments;
1611
+                }
1612
+            }
1613 1613
 
1614 1614
 //			echo '###';print_r($arguments);
1615
-			return $arguments;
1616
-		}
1617
-
1618
-
1619
-		/**
1620
-		 * Output the JS for building the dynamic Guntenberg block.
1621
-		 *
1622
-		 * @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.
1623
-		 * @since 1.0.9 Save numbers as numbers and not strings.
1624
-		 * @since 1.1.0 Font Awesome classes can be used for icons.
1625
-		 * @return mixed
1626
-		 */
1627
-		public function block() {
1628
-			ob_start();
1629
-
1630
-			$show_advanced = $this->block_show_advanced();
1631
-			?>
1615
+            return $arguments;
1616
+        }
1617
+
1618
+
1619
+        /**
1620
+         * Output the JS for building the dynamic Guntenberg block.
1621
+         *
1622
+         * @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.
1623
+         * @since 1.0.9 Save numbers as numbers and not strings.
1624
+         * @since 1.1.0 Font Awesome classes can be used for icons.
1625
+         * @return mixed
1626
+         */
1627
+        public function block() {
1628
+            ob_start();
1629
+
1630
+            $show_advanced = $this->block_show_advanced();
1631
+            ?>
1632 1632
 			<script>
1633 1633
 				/**
1634 1634
 				 * BLOCK: Basic
@@ -1672,97 +1672,97 @@  discard block
 block discarded – undo
1672 1672
 						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/.
1673 1673
 						supports: {
1674 1674
 							<?php
1675
-							if ( isset( $this->options['block-supports'] ) ) {
1676
-								echo $this->array_to_attributes( $this->options['block-supports'] );
1677
-							}
1678
-							?>
1675
+                            if ( isset( $this->options['block-supports'] ) ) {
1676
+                                echo $this->array_to_attributes( $this->options['block-supports'] );
1677
+                            }
1678
+                            ?>
1679 1679
 						},
1680 1680
 						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.
1681 1681
 						<?php if ( isset( $this->options['block-keywords'] ) ) {
1682
-						echo "keywords : " . $this->options['block-keywords'] . ",";
1683
-					}?>
1682
+                        echo "keywords : " . $this->options['block-keywords'] . ",";
1683
+                    }?>
1684 1684
 
1685 1685
 						<?php
1686 1686
 
1687
-						// maybe set no_wrap
1688
-						$no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1689
-						if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
1690
-							$no_wrap = true;
1691
-						}
1692
-						if ( $no_wrap ) {
1693
-							$this->options['block-wrap'] = '';
1694
-						}
1687
+                        // maybe set no_wrap
1688
+                        $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1689
+                        if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
1690
+                            $no_wrap = true;
1691
+                        }
1692
+                        if ( $no_wrap ) {
1693
+                            $this->options['block-wrap'] = '';
1694
+                        }
1695 1695
 
1696 1696
 
1697 1697
 
1698
-						$show_alignment = false;
1699
-						// align feature
1700
-						/*echo "supports: {";
1698
+                        $show_alignment = false;
1699
+                        // align feature
1700
+                        /*echo "supports: {";
1701 1701
 						echo "	align: true,";
1702 1702
 						echo "  html: false";
1703 1703
 						echo "},";*/
1704 1704
 
1705
-						if ( ! empty( $this->arguments ) ) {
1706
-							echo "attributes : {";
1707
-
1708
-							if ( $show_advanced ) {
1709
-								echo "show_advanced: {";
1710
-								echo "	type: 'boolean',";
1711
-								echo "  default: false,";
1712
-								echo "},";
1713
-							}
1714
-
1715
-							// block wrap element
1716
-							if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
1717
-								echo "block_wrap: {";
1718
-								echo "	type: 'string',";
1719
-								echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
1720
-								echo "},";
1721
-							}
1722
-
1723
-							foreach ( $this->arguments as $key => $args ) {
1724
-
1725
-								// set if we should show alignment
1726
-								if ( $key == 'alignment' ) {
1727
-									$show_alignment = true;
1728
-								}
1729
-
1730
-								$extra = '';
1731
-
1732
-								if ( $args['type'] == 'checkbox' ) {
1733
-									$type    = 'boolean';
1734
-									$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
1735
-								} elseif ( $args['type'] == 'number' ) {
1736
-									$type    = 'number';
1737
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1738
-								} elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
1739
-									$type = 'array';
1740
-									if ( is_array( $args['default'] ) ) {
1741
-										$default = isset( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
1742
-									} else {
1743
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1744
-									}
1745
-								} elseif ( $args['type'] == 'multiselect' ) {
1746
-									$type    = 'array';
1747
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1748
-								} else {
1749
-									$type    = 'string';
1750
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1751
-								}
1752
-								echo $key . " : {";
1753
-								echo "type : '$type',";
1754
-								echo "default : $default,";
1755
-								echo "},";
1756
-							}
1757
-
1758
-							echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
1759
-							echo "className: { type: 'string', default: '' },";
1760
-
1761
-							echo "},";
1762
-
1763
-						}
1764
-
1765
-						?>
1705
+                        if ( ! empty( $this->arguments ) ) {
1706
+                            echo "attributes : {";
1707
+
1708
+                            if ( $show_advanced ) {
1709
+                                echo "show_advanced: {";
1710
+                                echo "	type: 'boolean',";
1711
+                                echo "  default: false,";
1712
+                                echo "},";
1713
+                            }
1714
+
1715
+                            // block wrap element
1716
+                            if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
1717
+                                echo "block_wrap: {";
1718
+                                echo "	type: 'string',";
1719
+                                echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
1720
+                                echo "},";
1721
+                            }
1722
+
1723
+                            foreach ( $this->arguments as $key => $args ) {
1724
+
1725
+                                // set if we should show alignment
1726
+                                if ( $key == 'alignment' ) {
1727
+                                    $show_alignment = true;
1728
+                                }
1729
+
1730
+                                $extra = '';
1731
+
1732
+                                if ( $args['type'] == 'checkbox' ) {
1733
+                                    $type    = 'boolean';
1734
+                                    $default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
1735
+                                } elseif ( $args['type'] == 'number' ) {
1736
+                                    $type    = 'number';
1737
+                                    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1738
+                                } elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
1739
+                                    $type = 'array';
1740
+                                    if ( is_array( $args['default'] ) ) {
1741
+                                        $default = isset( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
1742
+                                    } else {
1743
+                                        $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1744
+                                    }
1745
+                                } elseif ( $args['type'] == 'multiselect' ) {
1746
+                                    $type    = 'array';
1747
+                                    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1748
+                                } else {
1749
+                                    $type    = 'string';
1750
+                                    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1751
+                                }
1752
+                                echo $key . " : {";
1753
+                                echo "type : '$type',";
1754
+                                echo "default : $default,";
1755
+                                echo "},";
1756
+                            }
1757
+
1758
+                            echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
1759
+                            echo "className: { type: 'string', default: '' },";
1760
+
1761
+                            echo "},";
1762
+
1763
+                        }
1764
+
1765
+                        ?>
1766 1766
 
1767 1767
 						// The "edit" property must be a valid function.
1768 1768
 						edit: function (props) {
@@ -1770,9 +1770,9 @@  discard block
 block discarded – undo
1770 1770
 
1771 1771
 							var $value = '';
1772 1772
 							<?php
1773
-							// if we have a post_type and a category then link them
1774
-							if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
1775
-							?>
1773
+                            // if we have a post_type and a category then link them
1774
+                            if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
1775
+                            ?>
1776 1776
 							if(typeof(prev_attributes[props.id]) != 'undefined' ){
1777 1777
 								$pt = props.attributes.post_type;
1778 1778
 								if(post_type_rest_slugs.length){
@@ -1856,8 +1856,8 @@  discard block
 block discarded – undo
1856 1856
 										'shortcode': '<?php echo $this->options['base_id'];?>',
1857 1857
 										'attributes': props.attributes,
1858 1858
 										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
1859
-										echo $post->ID;
1860
-									}else{echo '0';}?>,
1859
+                                        echo $post->ID;
1860
+                                    }else{echo '0';}?>,
1861 1861
 										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
1862 1862
 									};
1863 1863
 
@@ -1909,10 +1909,10 @@  discard block
 block discarded – undo
1909 1909
 
1910 1910
 									<?php
1911 1911
 
1912
-									if(! empty( $this->arguments )){
1912
+                                    if(! empty( $this->arguments )){
1913 1913
 
1914
-									if ( $show_advanced ) {
1915
-									?>
1914
+                                    if ( $show_advanced ) {
1915
+                                    ?>
1916 1916
 									el('div', {
1917 1917
 											style: {'padding-left': '16px','padding-right': '16px'}
1918 1918
 										},
@@ -1930,79 +1930,79 @@  discard block
 block discarded – undo
1930 1930
 									,
1931 1931
 									<?php
1932 1932
 
1933
-									}
1933
+                                    }
1934 1934
 
1935
-									$arguments = $this->group_arguments( $this->arguments );
1935
+                                    $arguments = $this->group_arguments( $this->arguments );
1936 1936
 
1937
-									// Do we have sections?
1938
-									$has_sections = $arguments == $this->arguments ? false : true;
1937
+                                    // Do we have sections?
1938
+                                    $has_sections = $arguments == $this->arguments ? false : true;
1939 1939
 
1940 1940
 
1941
-									if($has_sections){
1942
-									$panel_count = 0;
1943
-									foreach($arguments as $key => $args){
1944
-									?>
1941
+                                    if($has_sections){
1942
+                                    $panel_count = 0;
1943
+                                    foreach($arguments as $key => $args){
1944
+                                    ?>
1945 1945
 									el(wp.components.PanelBody, {
1946 1946
 											title: '<?php esc_attr_e( $key ); ?>',
1947 1947
 											initialOpen: <?php if ( $panel_count ) {
1948
-											echo "false";
1949
-										} else {
1950
-											echo "true";
1951
-										}?>
1948
+                                            echo "false";
1949
+                                        } else {
1950
+                                            echo "true";
1951
+                                        }?>
1952 1952
 										},
1953 1953
 										<?php
1954 1954
 
1955 1955
 
1956 1956
 
1957
-										foreach ( $args as $k => $a ) {
1957
+                                        foreach ( $args as $k => $a ) {
1958 1958
 
1959
-											$this->block_row_start( $k, $a );
1960
-											$this->build_block_arguments( $k, $a );
1961
-											$this->block_row_end( $k, $a );
1962
-										}
1963
-										?>
1959
+                                            $this->block_row_start( $k, $a );
1960
+                                            $this->build_block_arguments( $k, $a );
1961
+                                            $this->block_row_end( $k, $a );
1962
+                                        }
1963
+                                        ?>
1964 1964
 									),
1965 1965
 									<?php
1966
-									$panel_count ++;
1966
+                                    $panel_count ++;
1967 1967
 
1968
-									}
1969
-									}else {
1970
-									?>
1968
+                                    }
1969
+                                    }else {
1970
+                                    ?>
1971 1971
 									el(wp.components.PanelBody, {
1972 1972
 											title: '<?php esc_attr_e( "Settings" ); ?>',
1973 1973
 											initialOpen: true
1974 1974
 										},
1975 1975
 										<?php
1976
-										foreach ( $this->arguments as $key => $args ) {
1977
-											$this->block_row_start( $key, $args );
1978
-											$this->build_block_arguments( $key, $args );
1979
-											$this->block_row_end( $key, $args );
1980
-										}
1981
-										?>
1976
+                                        foreach ( $this->arguments as $key => $args ) {
1977
+                                            $this->block_row_start( $key, $args );
1978
+                                            $this->build_block_arguments( $key, $args );
1979
+                                            $this->block_row_end( $key, $args );
1980
+                                        }
1981
+                                        ?>
1982 1982
 									),
1983 1983
 									<?php
1984
-									}
1984
+                                    }
1985 1985
 
1986
-									}
1987
-									?>
1986
+                                    }
1987
+                                    ?>
1988 1988
 
1989 1989
 								),
1990 1990
 
1991 1991
 								<?php
1992
-								// If the user sets block-output array then build it
1993
-								if ( ! empty( $this->options['block-output'] ) ) {
1994
-								$this->block_element( $this->options['block-output'] );
1995
-							}else{
1996
-								// if no block-output is set then we try and get the shortcode html output via ajax.
1997
-								?>
1992
+                                // If the user sets block-output array then build it
1993
+                                if ( ! empty( $this->options['block-output'] ) ) {
1994
+                                $this->block_element( $this->options['block-output'] );
1995
+                            }else{
1996
+                                // if no block-output is set then we try and get the shortcode html output via ajax.
1997
+                                ?>
1998 1998
 								el('div', {
1999 1999
 									dangerouslySetInnerHTML: {__html: onChangeContent()},
2000 2000
 									className: props.className,
2001 2001
 									style: {'minHeight': '30px'}
2002 2002
 								})
2003 2003
 								<?php
2004
-								}
2005
-								?>
2004
+                                }
2005
+                                ?>
2006 2006
 							]; // end return
2007 2007
 						},
2008 2008
 
@@ -2020,10 +2020,10 @@  discard block
 block discarded – undo
2020 2020
 							$html = '';
2021 2021
 							<?php
2022 2022
 
2023
-							if(! empty( $this->arguments )){
2023
+                            if(! empty( $this->arguments )){
2024 2024
 
2025
-							foreach($this->arguments as $key => $args){
2026
-							?>
2025
+                            foreach($this->arguments as $key => $args){
2026
+                            ?>
2027 2027
 							if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
2028 2028
 								if ('<?php echo esc_attr( $key );?>' == 'html') {
2029 2029
 									$html = attr.<?php echo esc_attr( $key );?>;
@@ -2032,10 +2032,10 @@  discard block
 block discarded – undo
2032 2032
 								}
2033 2033
 							}
2034 2034
 							<?php
2035
-							}
2036
-							}
2035
+                            }
2036
+                            }
2037 2037
 
2038
-							?>
2038
+                            ?>
2039 2039
 							content += "]";
2040 2040
 
2041 2041
 							// if has html element
@@ -2058,20 +2058,20 @@  discard block
 block discarded – undo
2058 2058
 							}
2059 2059
 
2060 2060
 							<?php
2061
-							if(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
2062
-							?>
2061
+                            if(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
2062
+                            ?>
2063 2063
 							return content;
2064 2064
 							<?php
2065
-							}else{
2066
-							?>
2065
+                            }else{
2066
+                            ?>
2067 2067
 							var block_wrap = 'div';
2068 2068
 							if (attr.hasOwnProperty("block_wrap")) {
2069 2069
 								block_wrap = attr.block_wrap;
2070 2070
 							}
2071 2071
 							return el(block_wrap, {dangerouslySetInnerHTML: {__html: content}, className: align});
2072 2072
 							<?php
2073
-							}
2074
-							?>
2073
+                            }
2074
+                            ?>
2075 2075
 
2076 2076
 
2077 2077
 						}
@@ -2079,30 +2079,30 @@  discard block
 block discarded – undo
2079 2079
 				})();
2080 2080
 			</script>
2081 2081
 			<?php
2082
-			$output = ob_get_clean();
2082
+            $output = ob_get_clean();
2083 2083
 
2084
-			/*
2084
+            /*
2085 2085
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
2086 2086
 			 */
2087 2087
 
2088
-			return str_replace( array(
2089
-				'<script>',
2090
-				'</script>'
2091
-			), '', $output );
2092
-		}
2088
+            return str_replace( array(
2089
+                '<script>',
2090
+                '</script>'
2091
+            ), '', $output );
2092
+        }
2093 2093
 
2094
-		public function block_row_start($key, $args){
2094
+        public function block_row_start($key, $args){
2095 2095
 
2096
-			// check for row
2097
-			if(!empty($args['row'])){
2096
+            // check for row
2097
+            if(!empty($args['row'])){
2098 2098
 
2099
-				if(!empty($args['row']['open'])){
2099
+                if(!empty($args['row']['open'])){
2100 2100
 
2101
-				// element require
2102
-				$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2103
-				echo $element_require;
2101
+                // element require
2102
+                $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2103
+                echo $element_require;
2104 2104
 
2105
-					if(false){?><script><?php }?>
2105
+                    if(false){?><script><?php }?>
2106 2106
 						el('div', {
2107 2107
 								className: 'bsui components-base-control',
2108 2108
 							},
@@ -2132,87 +2132,87 @@  discard block
 block discarded – undo
2132 2132
 									},
2133 2133
 
2134 2134
 					<?php
2135
-					if(false){?></script><?php }
2136
-				}elseif(!empty($args['row']['close'])){
2137
-					if(false){?><script><?php }?>
2135
+                    if(false){?></script><?php }
2136
+                }elseif(!empty($args['row']['close'])){
2137
+                    if(false){?><script><?php }?>
2138 2138
 						el(
2139 2139
 							'div',
2140 2140
 							{
2141 2141
 								className: 'col pl-0',
2142 2142
 							},
2143 2143
 					<?php
2144
-					if(false){?></script><?php }
2145
-				}else{
2146
-					if(false){?><script><?php }?>
2144
+                    if(false){?></script><?php }
2145
+                }else{
2146
+                    if(false){?><script><?php }?>
2147 2147
 						el(
2148 2148
 							'div',
2149 2149
 							{
2150 2150
 								className: 'col pl-0 pr-2',
2151 2151
 							},
2152 2152
 					<?php
2153
-					if(false){?></script><?php }
2154
-				}
2155
-
2156
-			}
2157
-
2158
-		}
2159
-
2160
-		public function block_row_end($key, $args){
2161
-
2162
-			if(!empty($args['row'])){
2163
-				// maybe close
2164
-				if(!empty($args['row']['close'])){
2165
-					echo "))";
2166
-				}
2167
-
2168
-				echo "),";
2169
-			}
2170
-		}
2171
-
2172
-		public function build_block_arguments( $key, $args ) {
2173
-			$custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
2174
-			$options           = '';
2175
-			$extra             = '';
2176
-			$require           = '';
2177
-
2178
-			// `content` is a protected and special argument
2179
-			if ( $key == 'content' ) {
2180
-				return;
2181
-			}
2182
-
2183
-
2184
-			// icon
2185
-			$icon = '';
2186
-			if( !empty( $args['icon'] ) ){
2187
-				$icon .= "el('div', {";
2188
-									$icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
2189
-									$icon .= "className: 'text-center',";
2190
-									$icon .= "title: '".addslashes( $args['title'] )."',";
2191
-								$icon .= "}),";
2192
-
2193
-				// blank title as its added to the icon.
2194
-				$args['title'] = '';
2195
-			}
2196
-
2197
-			// require advanced
2198
-			$require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
2199
-
2200
-			// element require
2201
-			$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2202
-
2203
-
2204
-			$onchange  = "props.setAttributes({ $key: $key } )";
2205
-			$onchangecomplete  = "";
2206
-			$value     = "props.attributes.$key";
2207
-			$text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx' );
2208
-			if ( in_array( $args['type'], $text_type ) ) {
2209
-				$type = 'TextControl';
2210
-				// Save numbers as numbers and not strings
2211
-				if ( $args['type'] == 'number' ) {
2212
-					$onchange = "props.setAttributes({ $key: Number($key) } )";
2213
-				}
2214
-			}
2215
-			/*
2153
+                    if(false){?></script><?php }
2154
+                }
2155
+
2156
+            }
2157
+
2158
+        }
2159
+
2160
+        public function block_row_end($key, $args){
2161
+
2162
+            if(!empty($args['row'])){
2163
+                // maybe close
2164
+                if(!empty($args['row']['close'])){
2165
+                    echo "))";
2166
+                }
2167
+
2168
+                echo "),";
2169
+            }
2170
+        }
2171
+
2172
+        public function build_block_arguments( $key, $args ) {
2173
+            $custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
2174
+            $options           = '';
2175
+            $extra             = '';
2176
+            $require           = '';
2177
+
2178
+            // `content` is a protected and special argument
2179
+            if ( $key == 'content' ) {
2180
+                return;
2181
+            }
2182
+
2183
+
2184
+            // icon
2185
+            $icon = '';
2186
+            if( !empty( $args['icon'] ) ){
2187
+                $icon .= "el('div', {";
2188
+                                    $icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
2189
+                                    $icon .= "className: 'text-center',";
2190
+                                    $icon .= "title: '".addslashes( $args['title'] )."',";
2191
+                                $icon .= "}),";
2192
+
2193
+                // blank title as its added to the icon.
2194
+                $args['title'] = '';
2195
+            }
2196
+
2197
+            // require advanced
2198
+            $require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
2199
+
2200
+            // element require
2201
+            $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2202
+
2203
+
2204
+            $onchange  = "props.setAttributes({ $key: $key } )";
2205
+            $onchangecomplete  = "";
2206
+            $value     = "props.attributes.$key";
2207
+            $text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx' );
2208
+            if ( in_array( $args['type'], $text_type ) ) {
2209
+                $type = 'TextControl';
2210
+                // Save numbers as numbers and not strings
2211
+                if ( $args['type'] == 'number' ) {
2212
+                    $onchange = "props.setAttributes({ $key: Number($key) } )";
2213
+                }
2214
+            }
2215
+            /*
2216 2216
 			 * https://www.wptricks.com/question/set-current-tab-on-a-gutenberg-tabpanel-component-from-outside-that-component/ es5 layout
2217 2217
 						elseif($args['type']=='tabs'){
2218 2218
 							?>
@@ -2246,85 +2246,85 @@  discard block
 block discarded – undo
2246 2246
 							return;
2247 2247
 						}
2248 2248
 			*/
2249
-			elseif ( $args['type'] == 'color' ) {
2250
-				$type = 'ColorPicker';
2251
-				$onchange = "";
2252
-				$extra = "color: $value,";
2253
-				if(!empty($args['disable_alpha'])){
2254
-					$extra .= "disableAlpha: true,";
2255
-				}
2256
-				$onchangecomplete = "onChangeComplete: function($key) {
2249
+            elseif ( $args['type'] == 'color' ) {
2250
+                $type = 'ColorPicker';
2251
+                $onchange = "";
2252
+                $extra = "color: $value,";
2253
+                if(!empty($args['disable_alpha'])){
2254
+                    $extra .= "disableAlpha: true,";
2255
+                }
2256
+                $onchangecomplete = "onChangeComplete: function($key) {
2257 2257
 				value =  $key.rgb.a && $key.rgb.a < 1 ? \"rgba(\"+$key.rgb.r+\",\"+$key.rgb.g+\",\"+$key.rgb.b+\",\"+$key.rgb.a+\")\" : $key.hex;
2258 2258
                         props.setAttributes({
2259 2259
                             $key: value
2260 2260
                         });
2261 2261
                     },";
2262
-			}
2263
-			elseif ( $args['type'] == 'checkbox' ) {
2264
-				$type = 'CheckboxControl';
2265
-				$extra .= "checked: props.attributes.$key,";
2266
-				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
2267
-			} elseif ( $args['type'] == 'textarea' ) {
2268
-				$type = 'TextareaControl';
2269
-			} elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
2270
-				$type = 'SelectControl';
2271
-
2272
-				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
2273
-					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
2274
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
2275
-					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
2276
-				}else {
2277
-
2278
-					if ( ! empty( $args['options'] ) ) {
2279
-						$options .= "options: [";
2280
-						foreach ( $args['options'] as $option_val => $option_label ) {
2281
-							$options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . addslashes( $option_label ) . "' },";
2282
-						}
2283
-						$options .= "],";
2284
-					}
2285
-				}
2286
-				if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
2287
-					$extra .= ' multiple: true, ';
2288
-				}
2289
-			} elseif ( $args['type'] == 'alignment' ) {
2290
-				$type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
2291
-			}elseif ( $args['type'] == 'margins' ) {
2292
-
2293
-			} else {
2294
-				return;// if we have not implemented the control then don't break the JS.
2295
-			}
2296
-
2297
-
2298
-
2299
-			// color input does not show the labels so we add them
2300
-			if($args['type']=='color'){
2301
-				// add show only if advanced
2302
-				echo $require_advanced;
2303
-				// add setting require if defined
2304
-				echo $element_require;
2305
-				echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
2306
-			}
2307
-
2308
-			// add show only if advanced
2309
-			echo $require_advanced;
2310
-			// add setting require if defined
2311
-			echo $element_require;
2312
-
2313
-			// icon
2314
-			echo $icon;
2315
-			?>
2262
+            }
2263
+            elseif ( $args['type'] == 'checkbox' ) {
2264
+                $type = 'CheckboxControl';
2265
+                $extra .= "checked: props.attributes.$key,";
2266
+                $onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
2267
+            } elseif ( $args['type'] == 'textarea' ) {
2268
+                $type = 'TextareaControl';
2269
+            } elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
2270
+                $type = 'SelectControl';
2271
+
2272
+                if($args['name'] == 'category' && !empty($args['post_type_linked'])){
2273
+                    $options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
2274
+                }elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
2275
+                    $options .= "options: sort_by_".str_replace("-","_", $this->id).",";
2276
+                }else {
2277
+
2278
+                    if ( ! empty( $args['options'] ) ) {
2279
+                        $options .= "options: [";
2280
+                        foreach ( $args['options'] as $option_val => $option_label ) {
2281
+                            $options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . addslashes( $option_label ) . "' },";
2282
+                        }
2283
+                        $options .= "],";
2284
+                    }
2285
+                }
2286
+                if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
2287
+                    $extra .= ' multiple: true, ';
2288
+                }
2289
+            } elseif ( $args['type'] == 'alignment' ) {
2290
+                $type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
2291
+            }elseif ( $args['type'] == 'margins' ) {
2292
+
2293
+            } else {
2294
+                return;// if we have not implemented the control then don't break the JS.
2295
+            }
2296
+
2297
+
2298
+
2299
+            // color input does not show the labels so we add them
2300
+            if($args['type']=='color'){
2301
+                // add show only if advanced
2302
+                echo $require_advanced;
2303
+                // add setting require if defined
2304
+                echo $element_require;
2305
+                echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
2306
+            }
2307
+
2308
+            // add show only if advanced
2309
+            echo $require_advanced;
2310
+            // add setting require if defined
2311
+            echo $element_require;
2312
+
2313
+            // icon
2314
+            echo $icon;
2315
+            ?>
2316 2316
 			el( wp.components.<?php echo $type; ?>, {
2317 2317
 			label: '<?php echo addslashes( $args['title'] ); ?>',
2318 2318
 			help: '<?php if ( isset( $args['desc'] ) ) {
2319
-				echo addslashes( $args['desc'] );
2320
-			} ?>',
2319
+                echo addslashes( $args['desc'] );
2320
+            } ?>',
2321 2321
 			value: <?php echo $value; ?>,
2322 2322
 			<?php if ( $type == 'TextControl' && $args['type'] != 'text' ) {
2323
-				echo "type: '" . addslashes( $args['type'] ) . "',";
2324
-			} ?>
2323
+                echo "type: '" . addslashes( $args['type'] ) . "',";
2324
+            } ?>
2325 2325
 			<?php if ( ! empty( $args['placeholder'] ) ) {
2326
-				echo "placeholder: '" . addslashes( $args['placeholder'] ) . "',";
2327
-			} ?>
2326
+                echo "placeholder: '" . addslashes( $args['placeholder'] ) . "',";
2327
+            } ?>
2328 2328
 			<?php echo $options; ?>
2329 2329
 			<?php echo $extra; ?>
2330 2330
 			<?php echo $custom_attributes; ?>
@@ -2336,601 +2336,601 @@  discard block
 block discarded – undo
2336 2336
 			<?php
2337 2337
 
2338 2338
 
2339
-		}
2340
-
2341
-		/**
2342
-		 * Convert an array of attributes to block string.
2343
-		 *
2344
-		 * @todo there is prob a faster way to do this, also we could add some validation here.
2345
-		 *
2346
-		 * @param $custom_attributes
2347
-		 *
2348
-		 * @return string
2349
-		 */
2350
-		public function array_to_attributes( $custom_attributes, $html = false ) {
2351
-			$attributes = '';
2352
-			if ( ! empty( $custom_attributes ) ) {
2353
-
2354
-				if ( $html ) {
2355
-					foreach ( $custom_attributes as $key => $val ) {
2356
-						$attributes .= " $key='$val' ";
2357
-					}
2358
-				} else {
2359
-					foreach ( $custom_attributes as $key => $val ) {
2360
-						$attributes .= "'$key': '$val',";
2361
-					}
2362
-				}
2363
-			}
2364
-
2365
-			return $attributes;
2366
-		}
2367
-
2368
-		/**
2369
-		 * A self looping function to create the output for JS block elements.
2370
-		 *
2371
-		 * This is what is output in the WP Editor visual view.
2372
-		 *
2373
-		 * @param $args
2374
-		 */
2375
-		public function block_element( $args ) {
2376
-
2377
-
2378
-			if ( ! empty( $args ) ) {
2379
-				foreach ( $args as $element => $new_args ) {
2380
-
2381
-					if ( is_array( $new_args ) ) { // its an element
2382
-
2383
-
2384
-						if ( isset( $new_args['element'] ) ) {
2385
-
2386
-							if ( isset( $new_args['element_require'] ) ) {
2387
-								echo str_replace( array(
2388
-										"'+",
2389
-										"+'"
2390
-									), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
2391
-								unset( $new_args['element_require'] );
2392
-							}
2393
-
2394
-							echo "\n el( '" . $new_args['element'] . "', {";
2395
-
2396
-							// get the attributes
2397
-							foreach ( $new_args as $new_key => $new_value ) {
2398
-
2399
-
2400
-								if ( $new_key == 'element' || $new_key == 'content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
2401
-									// do nothing
2402
-								} else {
2403
-									echo $this->block_element( array( $new_key => $new_value ) );
2404
-								}
2405
-							}
2406
-
2407
-							echo "},";// end attributes
2408
-
2409
-							// get the content
2410
-							$first_item = 0;
2411
-							foreach ( $new_args as $new_key => $new_value ) {
2412
-								if ( $new_key === 'content' || is_array( $new_value ) ) {
2413
-
2414
-									if ( $new_key === 'content' ) {
2415
-										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
2416
-									}
2417
-
2418
-									if ( is_array( $new_value ) ) {
2419
-
2420
-										if ( isset( $new_value['element_require'] ) ) {
2421
-											echo str_replace( array(
2422
-													"'+",
2423
-													"+'"
2424
-												), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
2425
-											unset( $new_value['element_require'] );
2426
-										}
2427
-
2428
-										if ( isset( $new_value['element_repeat'] ) ) {
2429
-											$x = 1;
2430
-											while ( $x <= absint( $new_value['element_repeat'] ) ) {
2431
-												$this->block_element( array( '' => $new_value ) );
2432
-												$x ++;
2433
-											}
2434
-										} else {
2435
-											$this->block_element( array( '' => $new_value ) );
2436
-										}
2437
-									}
2438
-									$first_item ++;
2439
-								}
2440
-							}
2441
-
2442
-							echo ")";// end content
2443
-
2444
-							echo ", \n";
2445
-
2446
-						}
2447
-					} else {
2448
-
2449
-						if ( substr( $element, 0, 3 ) === "if_" ) {
2450
-							echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
2451
-						} elseif ( $element == 'style' ) {
2452
-							echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
2453
-						} else {
2454
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
2455
-						}
2456
-
2457
-					}
2458
-				}
2459
-			}
2460
-		}
2461
-
2462
-		/**
2463
-		 * Replace block attributes placeholders with the proper naming.
2464
-		 *
2465
-		 * @param $string
2466
-		 *
2467
-		 * @return mixed
2468
-		 */
2469
-		public function block_props_replace( $string, $no_wrap = false ) {
2470
-
2471
-			if ( $no_wrap ) {
2472
-				$string = str_replace( array( "[%", "%]" ), array( "props.attributes.", "" ), $string );
2473
-			} else {
2474
-				$string = str_replace( array( "[%", "%]" ), array( "'+props.attributes.", "+'" ), $string );
2475
-			}
2476
-
2477
-			return $string;
2478
-		}
2479
-
2480
-		/**
2481
-		 * Outputs the content of the widget
2482
-		 *
2483
-		 * @param array $args
2484
-		 * @param array $instance
2485
-		 */
2486
-		public function widget( $args, $instance ) {
2487
-
2488
-			// get the filtered values
2489
-			$argument_values = $this->argument_values( $instance );
2490
-			$argument_values = $this->string_to_bool( $argument_values );
2491
-			$output          = $this->output( $argument_values, $args );
2492
-
2493
-			$no_wrap = false;
2494
-			if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
2495
-				$no_wrap = true;
2496
-			}
2497
-
2498
-			ob_start();
2499
-			if ( $output && ! $no_wrap ) {
2500
-
2501
-				$class_original = $this->options['widget_ops']['classname'];
2502
-				$class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
2503
-
2504
-				// Before widget
2505
-				$before_widget = $args['before_widget'];
2506
-				$before_widget = str_replace($class_original,$class,$before_widget);
2507
-				$before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
2508
-				$before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
2509
-
2510
-				// After widget
2511
-				$after_widget = $args['after_widget'];
2512
-				$after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
2513
-				$after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
2514
-
2515
-				echo $before_widget;
2516
-				// elementor strips the widget wrapping div so we check for and add it back if needed
2517
-				if ( $this->is_elementor_widget_output() ) {
2518
-					echo ! empty( $this->options['widget_ops']['classname'] ) ? "<span class='" . esc_attr( $class  ) . "'>" : '';
2519
-				}
2520
-				echo $this->output_title( $args, $instance );
2521
-				echo $output;
2522
-				if ( $this->is_elementor_widget_output() ) {
2523
-					echo ! empty( $this->options['widget_ops']['classname'] ) ? "</span>" : '';
2524
-				}
2525
-				echo $after_widget;
2526
-			} elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
2527
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
2528
-				echo $output;
2529
-			} elseif ( $output && $no_wrap ) {
2530
-				echo $output;
2531
-			}
2532
-			$output = ob_get_clean();
2533
-
2534
-			$output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
2535
-
2536
-			echo $output;
2537
-		}
2538
-
2539
-		/**
2540
-		 * Tests if the current output is inside a elementor container.
2541
-		 *
2542
-		 * @since 1.0.4
2543
-		 * @return bool
2544
-		 */
2545
-		public function is_elementor_widget_output() {
2546
-			$result = false;
2547
-			if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
2548
-				$result = true;
2549
-			}
2550
-
2551
-			return $result;
2552
-		}
2553
-
2554
-		/**
2555
-		 * Tests if the current output is inside a elementor preview.
2556
-		 *
2557
-		 * @since 1.0.4
2558
-		 * @return bool
2559
-		 */
2560
-		public function is_elementor_preview() {
2561
-			$result = false;
2562
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
2563
-				$result = true;
2564
-			}
2565
-
2566
-			return $result;
2567
-		}
2568
-
2569
-		/**
2570
-		 * Tests if the current output is inside a Divi preview.
2571
-		 *
2572
-		 * @since 1.0.6
2573
-		 * @return bool
2574
-		 */
2575
-		public function is_divi_preview() {
2576
-			$result = false;
2577
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
2578
-				$result = true;
2579
-			}
2580
-
2581
-			return $result;
2582
-		}
2583
-
2584
-		/**
2585
-		 * Tests if the current output is inside a Beaver builder preview.
2586
-		 *
2587
-		 * @since 1.0.6
2588
-		 * @return bool
2589
-		 */
2590
-		public function is_beaver_preview() {
2591
-			$result = false;
2592
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
2593
-				$result = true;
2594
-			}
2595
-
2596
-			return $result;
2597
-		}
2598
-
2599
-		/**
2600
-		 * Tests if the current output is inside a siteorigin builder preview.
2601
-		 *
2602
-		 * @since 1.0.6
2603
-		 * @return bool
2604
-		 */
2605
-		public function is_siteorigin_preview() {
2606
-			$result = false;
2607
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
2608
-				$result = true;
2609
-			}
2610
-
2611
-			return $result;
2612
-		}
2613
-
2614
-		/**
2615
-		 * Tests if the current output is inside a cornerstone builder preview.
2616
-		 *
2617
-		 * @since 1.0.8
2618
-		 * @return bool
2619
-		 */
2620
-		public function is_cornerstone_preview() {
2621
-			$result = false;
2622
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
2623
-				$result = true;
2624
-			}
2625
-
2626
-			return $result;
2627
-		}
2628
-
2629
-		/**
2630
-		 * Tests if the current output is inside a fusion builder preview.
2631
-		 *
2632
-		 * @since 1.1.0
2633
-		 * @return bool
2634
-		 */
2635
-		public function is_fusion_preview() {
2636
-			$result = false;
2637
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
2638
-				$result = true;
2639
-			}
2640
-
2641
-			return $result;
2642
-		}
2643
-
2644
-		/**
2645
-		 * Tests if the current output is inside a Oxygen builder preview.
2646
-		 *
2647
-		 * @since 1.0.18
2648
-		 * @return bool
2649
-		 */
2650
-		public function is_oxygen_preview() {
2651
-			$result = false;
2652
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
2653
-				$result = true;
2654
-			}
2655
-
2656
-			return $result;
2657
-		}
2658
-
2659
-		/**
2660
-		 * General function to check if we are in a preview situation.
2661
-		 *
2662
-		 * @since 1.0.6
2663
-		 * @return bool
2664
-		 */
2665
-		public function is_preview() {
2666
-			$preview = false;
2667
-			if ( $this->is_divi_preview() ) {
2668
-				$preview = true;
2669
-			} elseif ( $this->is_elementor_preview() ) {
2670
-				$preview = true;
2671
-			} elseif ( $this->is_beaver_preview() ) {
2672
-				$preview = true;
2673
-			} elseif ( $this->is_siteorigin_preview() ) {
2674
-				$preview = true;
2675
-			} elseif ( $this->is_cornerstone_preview() ) {
2676
-				$preview = true;
2677
-			} elseif ( $this->is_fusion_preview() ) {
2678
-				$preview = true;
2679
-			} elseif ( $this->is_oxygen_preview() ) {
2680
-				$preview = true;
2681
-			} elseif( $this->is_block_content_call() ) {
2682
-				$preview = true;
2683
-			}
2684
-
2685
-			return $preview;
2686
-		}
2687
-
2688
-		/**
2689
-		 * Output the super title.
2690
-		 *
2691
-		 * @param $args
2692
-		 * @param array $instance
2693
-		 *
2694
-		 * @return string
2695
-		 */
2696
-		public function output_title( $args, $instance = array() ) {
2697
-			$output = '';
2698
-			if ( ! empty( $instance['title'] ) ) {
2699
-				/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
2700
-				$title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
2701
-
2702
-				if(empty($instance['widget_title_tag'])){
2703
-					$output = $args['before_title'] . $title . $args['after_title'];
2704
-				}else{
2705
-					$title_tag = esc_attr( $instance['widget_title_tag'] );
2706
-
2707
-					// classes
2708
-					$title_classes = array();
2709
-					$title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
2710
-					$title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
2711
-					$title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
2712
-					$title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
2713
-					$title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
2714
-					$title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
2715
-					$title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
2716
-					$title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
2717
-					$title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
2718
-					$title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
2719
-					$title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
2720
-					$title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
2721
-					$title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
2722
-
2723
-					$class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
2724
-					$output = "<$title_tag class='$class' >$title</$title_tag>";
2725
-				}
2726
-
2727
-			}
2728
-
2729
-			return $output;
2730
-		}
2731
-
2732
-		/**
2733
-		 * Outputs the options form inputs for the widget.
2734
-		 *
2735
-		 * @param array $instance The widget options.
2736
-		 */
2737
-		public function form( $instance ) {
2738
-
2739
-			// set widget instance
2740
-			$this->instance = $instance;
2741
-
2742
-			// set it as a SD widget
2743
-			echo $this->widget_advanced_toggle();
2744
-
2745
-			echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
2746
-			$arguments_raw = $this->get_arguments();
2747
-
2748
-			if ( is_array( $arguments_raw ) ) {
2749
-
2750
-				$arguments = $this->group_arguments( $arguments_raw );
2751
-
2752
-				// Do we have sections?
2753
-				$has_sections = $arguments == $arguments_raw ? false : true;
2754
-
2755
-
2756
-				if ( $has_sections ) {
2757
-					$panel_count = 0;
2758
-					foreach ( $arguments as $key => $args ) {
2759
-
2760
-						?>
2339
+        }
2340
+
2341
+        /**
2342
+         * Convert an array of attributes to block string.
2343
+         *
2344
+         * @todo there is prob a faster way to do this, also we could add some validation here.
2345
+         *
2346
+         * @param $custom_attributes
2347
+         *
2348
+         * @return string
2349
+         */
2350
+        public function array_to_attributes( $custom_attributes, $html = false ) {
2351
+            $attributes = '';
2352
+            if ( ! empty( $custom_attributes ) ) {
2353
+
2354
+                if ( $html ) {
2355
+                    foreach ( $custom_attributes as $key => $val ) {
2356
+                        $attributes .= " $key='$val' ";
2357
+                    }
2358
+                } else {
2359
+                    foreach ( $custom_attributes as $key => $val ) {
2360
+                        $attributes .= "'$key': '$val',";
2361
+                    }
2362
+                }
2363
+            }
2364
+
2365
+            return $attributes;
2366
+        }
2367
+
2368
+        /**
2369
+         * A self looping function to create the output for JS block elements.
2370
+         *
2371
+         * This is what is output in the WP Editor visual view.
2372
+         *
2373
+         * @param $args
2374
+         */
2375
+        public function block_element( $args ) {
2376
+
2377
+
2378
+            if ( ! empty( $args ) ) {
2379
+                foreach ( $args as $element => $new_args ) {
2380
+
2381
+                    if ( is_array( $new_args ) ) { // its an element
2382
+
2383
+
2384
+                        if ( isset( $new_args['element'] ) ) {
2385
+
2386
+                            if ( isset( $new_args['element_require'] ) ) {
2387
+                                echo str_replace( array(
2388
+                                        "'+",
2389
+                                        "+'"
2390
+                                    ), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
2391
+                                unset( $new_args['element_require'] );
2392
+                            }
2393
+
2394
+                            echo "\n el( '" . $new_args['element'] . "', {";
2395
+
2396
+                            // get the attributes
2397
+                            foreach ( $new_args as $new_key => $new_value ) {
2398
+
2399
+
2400
+                                if ( $new_key == 'element' || $new_key == 'content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
2401
+                                    // do nothing
2402
+                                } else {
2403
+                                    echo $this->block_element( array( $new_key => $new_value ) );
2404
+                                }
2405
+                            }
2406
+
2407
+                            echo "},";// end attributes
2408
+
2409
+                            // get the content
2410
+                            $first_item = 0;
2411
+                            foreach ( $new_args as $new_key => $new_value ) {
2412
+                                if ( $new_key === 'content' || is_array( $new_value ) ) {
2413
+
2414
+                                    if ( $new_key === 'content' ) {
2415
+                                        echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
2416
+                                    }
2417
+
2418
+                                    if ( is_array( $new_value ) ) {
2419
+
2420
+                                        if ( isset( $new_value['element_require'] ) ) {
2421
+                                            echo str_replace( array(
2422
+                                                    "'+",
2423
+                                                    "+'"
2424
+                                                ), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
2425
+                                            unset( $new_value['element_require'] );
2426
+                                        }
2427
+
2428
+                                        if ( isset( $new_value['element_repeat'] ) ) {
2429
+                                            $x = 1;
2430
+                                            while ( $x <= absint( $new_value['element_repeat'] ) ) {
2431
+                                                $this->block_element( array( '' => $new_value ) );
2432
+                                                $x ++;
2433
+                                            }
2434
+                                        } else {
2435
+                                            $this->block_element( array( '' => $new_value ) );
2436
+                                        }
2437
+                                    }
2438
+                                    $first_item ++;
2439
+                                }
2440
+                            }
2441
+
2442
+                            echo ")";// end content
2443
+
2444
+                            echo ", \n";
2445
+
2446
+                        }
2447
+                    } else {
2448
+
2449
+                        if ( substr( $element, 0, 3 ) === "if_" ) {
2450
+                            echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
2451
+                        } elseif ( $element == 'style' ) {
2452
+                            echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
2453
+                        } else {
2454
+                            echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
2455
+                        }
2456
+
2457
+                    }
2458
+                }
2459
+            }
2460
+        }
2461
+
2462
+        /**
2463
+         * Replace block attributes placeholders with the proper naming.
2464
+         *
2465
+         * @param $string
2466
+         *
2467
+         * @return mixed
2468
+         */
2469
+        public function block_props_replace( $string, $no_wrap = false ) {
2470
+
2471
+            if ( $no_wrap ) {
2472
+                $string = str_replace( array( "[%", "%]" ), array( "props.attributes.", "" ), $string );
2473
+            } else {
2474
+                $string = str_replace( array( "[%", "%]" ), array( "'+props.attributes.", "+'" ), $string );
2475
+            }
2476
+
2477
+            return $string;
2478
+        }
2479
+
2480
+        /**
2481
+         * Outputs the content of the widget
2482
+         *
2483
+         * @param array $args
2484
+         * @param array $instance
2485
+         */
2486
+        public function widget( $args, $instance ) {
2487
+
2488
+            // get the filtered values
2489
+            $argument_values = $this->argument_values( $instance );
2490
+            $argument_values = $this->string_to_bool( $argument_values );
2491
+            $output          = $this->output( $argument_values, $args );
2492
+
2493
+            $no_wrap = false;
2494
+            if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
2495
+                $no_wrap = true;
2496
+            }
2497
+
2498
+            ob_start();
2499
+            if ( $output && ! $no_wrap ) {
2500
+
2501
+                $class_original = $this->options['widget_ops']['classname'];
2502
+                $class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
2503
+
2504
+                // Before widget
2505
+                $before_widget = $args['before_widget'];
2506
+                $before_widget = str_replace($class_original,$class,$before_widget);
2507
+                $before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
2508
+                $before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
2509
+
2510
+                // After widget
2511
+                $after_widget = $args['after_widget'];
2512
+                $after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
2513
+                $after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
2514
+
2515
+                echo $before_widget;
2516
+                // elementor strips the widget wrapping div so we check for and add it back if needed
2517
+                if ( $this->is_elementor_widget_output() ) {
2518
+                    echo ! empty( $this->options['widget_ops']['classname'] ) ? "<span class='" . esc_attr( $class  ) . "'>" : '';
2519
+                }
2520
+                echo $this->output_title( $args, $instance );
2521
+                echo $output;
2522
+                if ( $this->is_elementor_widget_output() ) {
2523
+                    echo ! empty( $this->options['widget_ops']['classname'] ) ? "</span>" : '';
2524
+                }
2525
+                echo $after_widget;
2526
+            } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
2527
+                $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
2528
+                echo $output;
2529
+            } elseif ( $output && $no_wrap ) {
2530
+                echo $output;
2531
+            }
2532
+            $output = ob_get_clean();
2533
+
2534
+            $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
2535
+
2536
+            echo $output;
2537
+        }
2538
+
2539
+        /**
2540
+         * Tests if the current output is inside a elementor container.
2541
+         *
2542
+         * @since 1.0.4
2543
+         * @return bool
2544
+         */
2545
+        public function is_elementor_widget_output() {
2546
+            $result = false;
2547
+            if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
2548
+                $result = true;
2549
+            }
2550
+
2551
+            return $result;
2552
+        }
2553
+
2554
+        /**
2555
+         * Tests if the current output is inside a elementor preview.
2556
+         *
2557
+         * @since 1.0.4
2558
+         * @return bool
2559
+         */
2560
+        public function is_elementor_preview() {
2561
+            $result = false;
2562
+            if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
2563
+                $result = true;
2564
+            }
2565
+
2566
+            return $result;
2567
+        }
2568
+
2569
+        /**
2570
+         * Tests if the current output is inside a Divi preview.
2571
+         *
2572
+         * @since 1.0.6
2573
+         * @return bool
2574
+         */
2575
+        public function is_divi_preview() {
2576
+            $result = false;
2577
+            if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
2578
+                $result = true;
2579
+            }
2580
+
2581
+            return $result;
2582
+        }
2583
+
2584
+        /**
2585
+         * Tests if the current output is inside a Beaver builder preview.
2586
+         *
2587
+         * @since 1.0.6
2588
+         * @return bool
2589
+         */
2590
+        public function is_beaver_preview() {
2591
+            $result = false;
2592
+            if ( isset( $_REQUEST['fl_builder'] ) ) {
2593
+                $result = true;
2594
+            }
2595
+
2596
+            return $result;
2597
+        }
2598
+
2599
+        /**
2600
+         * Tests if the current output is inside a siteorigin builder preview.
2601
+         *
2602
+         * @since 1.0.6
2603
+         * @return bool
2604
+         */
2605
+        public function is_siteorigin_preview() {
2606
+            $result = false;
2607
+            if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
2608
+                $result = true;
2609
+            }
2610
+
2611
+            return $result;
2612
+        }
2613
+
2614
+        /**
2615
+         * Tests if the current output is inside a cornerstone builder preview.
2616
+         *
2617
+         * @since 1.0.8
2618
+         * @return bool
2619
+         */
2620
+        public function is_cornerstone_preview() {
2621
+            $result = false;
2622
+            if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
2623
+                $result = true;
2624
+            }
2625
+
2626
+            return $result;
2627
+        }
2628
+
2629
+        /**
2630
+         * Tests if the current output is inside a fusion builder preview.
2631
+         *
2632
+         * @since 1.1.0
2633
+         * @return bool
2634
+         */
2635
+        public function is_fusion_preview() {
2636
+            $result = false;
2637
+            if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
2638
+                $result = true;
2639
+            }
2640
+
2641
+            return $result;
2642
+        }
2643
+
2644
+        /**
2645
+         * Tests if the current output is inside a Oxygen builder preview.
2646
+         *
2647
+         * @since 1.0.18
2648
+         * @return bool
2649
+         */
2650
+        public function is_oxygen_preview() {
2651
+            $result = false;
2652
+            if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
2653
+                $result = true;
2654
+            }
2655
+
2656
+            return $result;
2657
+        }
2658
+
2659
+        /**
2660
+         * General function to check if we are in a preview situation.
2661
+         *
2662
+         * @since 1.0.6
2663
+         * @return bool
2664
+         */
2665
+        public function is_preview() {
2666
+            $preview = false;
2667
+            if ( $this->is_divi_preview() ) {
2668
+                $preview = true;
2669
+            } elseif ( $this->is_elementor_preview() ) {
2670
+                $preview = true;
2671
+            } elseif ( $this->is_beaver_preview() ) {
2672
+                $preview = true;
2673
+            } elseif ( $this->is_siteorigin_preview() ) {
2674
+                $preview = true;
2675
+            } elseif ( $this->is_cornerstone_preview() ) {
2676
+                $preview = true;
2677
+            } elseif ( $this->is_fusion_preview() ) {
2678
+                $preview = true;
2679
+            } elseif ( $this->is_oxygen_preview() ) {
2680
+                $preview = true;
2681
+            } elseif( $this->is_block_content_call() ) {
2682
+                $preview = true;
2683
+            }
2684
+
2685
+            return $preview;
2686
+        }
2687
+
2688
+        /**
2689
+         * Output the super title.
2690
+         *
2691
+         * @param $args
2692
+         * @param array $instance
2693
+         *
2694
+         * @return string
2695
+         */
2696
+        public function output_title( $args, $instance = array() ) {
2697
+            $output = '';
2698
+            if ( ! empty( $instance['title'] ) ) {
2699
+                /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
2700
+                $title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
2701
+
2702
+                if(empty($instance['widget_title_tag'])){
2703
+                    $output = $args['before_title'] . $title . $args['after_title'];
2704
+                }else{
2705
+                    $title_tag = esc_attr( $instance['widget_title_tag'] );
2706
+
2707
+                    // classes
2708
+                    $title_classes = array();
2709
+                    $title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
2710
+                    $title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
2711
+                    $title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
2712
+                    $title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
2713
+                    $title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
2714
+                    $title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
2715
+                    $title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
2716
+                    $title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
2717
+                    $title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
2718
+                    $title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
2719
+                    $title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
2720
+                    $title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
2721
+                    $title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
2722
+
2723
+                    $class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
2724
+                    $output = "<$title_tag class='$class' >$title</$title_tag>";
2725
+                }
2726
+
2727
+            }
2728
+
2729
+            return $output;
2730
+        }
2731
+
2732
+        /**
2733
+         * Outputs the options form inputs for the widget.
2734
+         *
2735
+         * @param array $instance The widget options.
2736
+         */
2737
+        public function form( $instance ) {
2738
+
2739
+            // set widget instance
2740
+            $this->instance = $instance;
2741
+
2742
+            // set it as a SD widget
2743
+            echo $this->widget_advanced_toggle();
2744
+
2745
+            echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
2746
+            $arguments_raw = $this->get_arguments();
2747
+
2748
+            if ( is_array( $arguments_raw ) ) {
2749
+
2750
+                $arguments = $this->group_arguments( $arguments_raw );
2751
+
2752
+                // Do we have sections?
2753
+                $has_sections = $arguments == $arguments_raw ? false : true;
2754
+
2755
+
2756
+                if ( $has_sections ) {
2757
+                    $panel_count = 0;
2758
+                    foreach ( $arguments as $key => $args ) {
2759
+
2760
+                        ?>
2761 2761
 						<script>
2762 2762
 							//							jQuery(this).find("i").toggleClass("fas fa-chevron-up fas fa-chevron-down");jQuery(this).next().toggle();
2763 2763
 						</script>
2764 2764
 						<?php
2765 2765
 
2766
-						$hide       = $panel_count ? ' style="display:none;" ' : '';
2767
-						$icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
2768
-						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>";
2769
-						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
2766
+                        $hide       = $panel_count ? ' style="display:none;" ' : '';
2767
+                        $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
2768
+                        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>";
2769
+                        echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
2770 2770
 
2771
-						foreach ( $args as $k => $a ) {
2771
+                        foreach ( $args as $k => $a ) {
2772 2772
 
2773
-							$this->widget_inputs_row_start($k, $a);
2774
-							$this->widget_inputs( $a, $instance );
2775
-							$this->widget_inputs_row_end($k, $a);
2773
+                            $this->widget_inputs_row_start($k, $a);
2774
+                            $this->widget_inputs( $a, $instance );
2775
+                            $this->widget_inputs_row_end($k, $a);
2776 2776
 
2777
-						}
2777
+                        }
2778 2778
 
2779
-						echo "</div>";
2779
+                        echo "</div>";
2780 2780
 
2781
-						$panel_count ++;
2781
+                        $panel_count ++;
2782 2782
 
2783
-					}
2784
-				} else {
2785
-					foreach ( $arguments as $key => $args ) {
2786
-						$this->widget_inputs_row_start($key, $args);
2787
-						$this->widget_inputs( $args, $instance );
2788
-						$this->widget_inputs_row_end($key, $args);
2789
-					}
2790
-				}
2783
+                    }
2784
+                } else {
2785
+                    foreach ( $arguments as $key => $args ) {
2786
+                        $this->widget_inputs_row_start($key, $args);
2787
+                        $this->widget_inputs( $args, $instance );
2788
+                        $this->widget_inputs_row_end($key, $args);
2789
+                    }
2790
+                }
2791 2791
 
2792
-			}
2793
-		}
2792
+            }
2793
+        }
2794 2794
 
2795
-		public function widget_inputs_row_start($key, $args){
2796
-			if(!empty($args['row'])){
2797
-				// maybe open
2798
-				if(!empty($args['row']['open'])){
2799
-					?>
2795
+        public function widget_inputs_row_start($key, $args){
2796
+            if(!empty($args['row'])){
2797
+                // maybe open
2798
+                if(!empty($args['row']['open'])){
2799
+                    ?>
2800 2800
 					<div class='bsui sd-argument ' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php if ( !empty($args['row']['element_require'])) {
2801
-						echo $this->convert_element_require( $args['row']['element_require'] );
2802
-					} ?>'>
2801
+                        echo $this->convert_element_require( $args['row']['element_require'] );
2802
+                    } ?>'>
2803 2803
 					<?php if(!empty($args['row']['title'])){ ?>
2804 2804
 					<label class="mb-0 "><?php echo esc_attr( $args['row']['title'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label>
2805 2805
 					<?php }?>
2806 2806
 					<div class='row <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>'>
2807 2807
 					<div class='col pr-2'>
2808 2808
 					<?php
2809
-				}elseif(!empty($args['row']['close'])){
2810
-					echo "<div class='col pl-0'>";
2811
-				}else{
2812
-					echo "<div class='col pl-0 pr-2'>";
2813
-				}
2814
-			}
2815
-		}
2816
-
2817
-		public function widget_inputs_row_end($key, $args){
2818
-
2819
-			if(!empty($args['row'])){
2820
-				// maybe close
2821
-				if(!empty($args['row']['close'])){
2822
-					echo "</div></div>";
2823
-				}
2824
-
2825
-				echo "</div>";
2826
-			}
2827
-		}
2828
-
2829
-		/**
2830
-		 * Get the hidden input that when added makes the advanced button show on widget settings.
2831
-		 *
2832
-		 * @return string
2833
-		 */
2834
-		public function widget_advanced_toggle() {
2835
-
2836
-			$output = '';
2837
-			if ( $this->block_show_advanced() ) {
2838
-				$val = 1;
2839
-			} else {
2840
-				$val = 0;
2841
-			}
2842
-
2843
-			$output .= "<input type='hidden'  class='sd-show-advanced' value='$val' />";
2844
-
2845
-			return $output;
2846
-		}
2847
-
2848
-		/**
2849
-		 * Convert require element.
2850
-		 *
2851
-		 * @since 1.0.0
2852
-		 *
2853
-		 * @param string $input Input element.
2854
-		 *
2855
-		 * @return string $output
2856
-		 */
2857
-		public function convert_element_require( $input ) {
2858
-
2859
-			$input = str_replace( "'", '"', $input );// we only want double quotes
2860
-
2861
-			$output = esc_attr( str_replace( array( "[%", "%]" ), array(
2862
-				"jQuery(form).find('[data-argument=\"",
2863
-				"\"]').find('input,select,textarea').val()"
2864
-			), $input ) );
2865
-
2866
-			return $output;
2867
-		}
2868
-
2869
-		/**
2870
-		 * Builds the inputs for the widget options.
2871
-		 *
2872
-		 * @param $args
2873
-		 * @param $instance
2874
-		 */
2875
-		public function widget_inputs( $args, $instance ) {
2876
-
2877
-			$class             = "";
2878
-			$element_require   = "";
2879
-			$custom_attributes = "";
2880
-
2881
-			// get value
2882
-			if ( isset( $instance[ $args['name'] ] ) ) {
2883
-				$value = $instance[ $args['name'] ];
2884
-			} elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
2885
-				$value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
2886
-			} else {
2887
-				$value = '';
2888
-			}
2889
-
2890
-			// get placeholder
2891
-			if ( ! empty( $args['placeholder'] ) ) {
2892
-				$placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
2893
-			} else {
2894
-				$placeholder = '';
2895
-			}
2896
-
2897
-			// get if advanced
2898
-			if ( isset( $args['advanced'] ) && $args['advanced'] ) {
2899
-				$class .= " sd-advanced-setting ";
2900
-			}
2901
-
2902
-			// element_require
2903
-			if ( isset( $args['element_require'] ) && $args['element_require'] ) {
2904
-				$element_require = $args['element_require'];
2905
-			}
2906
-
2907
-			// custom_attributes
2908
-			if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
2909
-				$custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
2910
-			}
2911
-
2912
-
2913
-			// before wrapper
2914
-			?>
2809
+                }elseif(!empty($args['row']['close'])){
2810
+                    echo "<div class='col pl-0'>";
2811
+                }else{
2812
+                    echo "<div class='col pl-0 pr-2'>";
2813
+                }
2814
+            }
2815
+        }
2816
+
2817
+        public function widget_inputs_row_end($key, $args){
2818
+
2819
+            if(!empty($args['row'])){
2820
+                // maybe close
2821
+                if(!empty($args['row']['close'])){
2822
+                    echo "</div></div>";
2823
+                }
2824
+
2825
+                echo "</div>";
2826
+            }
2827
+        }
2828
+
2829
+        /**
2830
+         * Get the hidden input that when added makes the advanced button show on widget settings.
2831
+         *
2832
+         * @return string
2833
+         */
2834
+        public function widget_advanced_toggle() {
2835
+
2836
+            $output = '';
2837
+            if ( $this->block_show_advanced() ) {
2838
+                $val = 1;
2839
+            } else {
2840
+                $val = 0;
2841
+            }
2842
+
2843
+            $output .= "<input type='hidden'  class='sd-show-advanced' value='$val' />";
2844
+
2845
+            return $output;
2846
+        }
2847
+
2848
+        /**
2849
+         * Convert require element.
2850
+         *
2851
+         * @since 1.0.0
2852
+         *
2853
+         * @param string $input Input element.
2854
+         *
2855
+         * @return string $output
2856
+         */
2857
+        public function convert_element_require( $input ) {
2858
+
2859
+            $input = str_replace( "'", '"', $input );// we only want double quotes
2860
+
2861
+            $output = esc_attr( str_replace( array( "[%", "%]" ), array(
2862
+                "jQuery(form).find('[data-argument=\"",
2863
+                "\"]').find('input,select,textarea').val()"
2864
+            ), $input ) );
2865
+
2866
+            return $output;
2867
+        }
2868
+
2869
+        /**
2870
+         * Builds the inputs for the widget options.
2871
+         *
2872
+         * @param $args
2873
+         * @param $instance
2874
+         */
2875
+        public function widget_inputs( $args, $instance ) {
2876
+
2877
+            $class             = "";
2878
+            $element_require   = "";
2879
+            $custom_attributes = "";
2880
+
2881
+            // get value
2882
+            if ( isset( $instance[ $args['name'] ] ) ) {
2883
+                $value = $instance[ $args['name'] ];
2884
+            } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
2885
+                $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
2886
+            } else {
2887
+                $value = '';
2888
+            }
2889
+
2890
+            // get placeholder
2891
+            if ( ! empty( $args['placeholder'] ) ) {
2892
+                $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
2893
+            } else {
2894
+                $placeholder = '';
2895
+            }
2896
+
2897
+            // get if advanced
2898
+            if ( isset( $args['advanced'] ) && $args['advanced'] ) {
2899
+                $class .= " sd-advanced-setting ";
2900
+            }
2901
+
2902
+            // element_require
2903
+            if ( isset( $args['element_require'] ) && $args['element_require'] ) {
2904
+                $element_require = $args['element_require'];
2905
+            }
2906
+
2907
+            // custom_attributes
2908
+            if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
2909
+                $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
2910
+            }
2911
+
2912
+
2913
+            // before wrapper
2914
+            ?>
2915 2915
 			<p class="sd-argument <?php echo esc_attr( $class ); ?>"
2916 2916
 			data-argument='<?php echo esc_attr( $args['name'] ); ?>'
2917 2917
 			data-element_require='<?php if ( $element_require ) {
2918
-				echo $this->convert_element_require( $element_require );
2919
-			} ?>'
2918
+                echo $this->convert_element_require( $element_require );
2919
+            } ?>'
2920 2920
 			>
2921 2921
 			<?php
2922 2922
 
2923 2923
 
2924
-			switch ( $args['type'] ) {
2925
-				//array('text','password','number','email','tel','url','color')
2926
-				case "text":
2927
-				case "password":
2928
-				case "number":
2929
-				case "email":
2930
-				case "tel":
2931
-				case "url":
2932
-				case "color":
2933
-					?>
2924
+            switch ( $args['type'] ) {
2925
+                //array('text','password','number','email','tel','url','color')
2926
+                case "text":
2927
+                case "password":
2928
+                case "number":
2929
+                case "email":
2930
+                case "tel":
2931
+                case "url":
2932
+                case "color":
2933
+                    ?>
2934 2934
 					<label
2935 2935
 						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>
2936 2936
 					<input <?php echo $placeholder; ?> class="widefat"
@@ -2941,47 +2941,47 @@  discard block
 block discarded – undo
2941 2941
 						                               value="<?php echo esc_attr( $value ); ?>">
2942 2942
 					<?php
2943 2943
 
2944
-					break;
2945
-				case "select":
2946
-					$multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
2947
-					if ( $multiple ) {
2948
-						if ( empty( $value ) ) {
2949
-							$value = array();
2950
-						}
2951
-					}
2952
-					?>
2944
+                    break;
2945
+                case "select":
2946
+                    $multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
2947
+                    if ( $multiple ) {
2948
+                        if ( empty( $value ) ) {
2949
+                            $value = array();
2950
+                        }
2951
+                    }
2952
+                    ?>
2953 2953
 					<label
2954 2954
 						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>
2955 2955
 					<select <?php echo $placeholder; ?> class="widefat"
2956 2956
 						<?php echo $custom_attributes; ?>
2957 2957
 						                                id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
2958 2958
 						                                name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) );
2959
-						                                if ( $multiple ) {
2960
-							                                echo "[]";
2961
-						                                } ?>"
2959
+                                                        if ( $multiple ) {
2960
+                                                            echo "[]";
2961
+                                                        } ?>"
2962 2962
 						<?php if ( $multiple ) {
2963
-							echo "multiple";
2964
-						} //@todo not implemented yet due to gutenberg not supporting it
2965
-						?>
2963
+                            echo "multiple";
2964
+                        } //@todo not implemented yet due to gutenberg not supporting it
2965
+                        ?>
2966 2966
 					>
2967 2967
 						<?php
2968 2968
 
2969
-						if ( ! empty( $args['options'] ) ) {
2970
-							foreach ( $args['options'] as $val => $label ) {
2971
-								if ( $multiple ) {
2972
-									$selected = in_array( $val, $value ) ? 'selected="selected"' : '';
2973
-								} else {
2974
-									$selected = selected( $value, $val, false );
2975
-								}
2976
-								echo "<option value='$val' " . $selected . ">$label</option>";
2977
-							}
2978
-						}
2979
-						?>
2969
+                        if ( ! empty( $args['options'] ) ) {
2970
+                            foreach ( $args['options'] as $val => $label ) {
2971
+                                if ( $multiple ) {
2972
+                                    $selected = in_array( $val, $value ) ? 'selected="selected"' : '';
2973
+                                } else {
2974
+                                    $selected = selected( $value, $val, false );
2975
+                                }
2976
+                                echo "<option value='$val' " . $selected . ">$label</option>";
2977
+                            }
2978
+                        }
2979
+                        ?>
2980 2980
 					</select>
2981 2981
 					<?php
2982
-					break;
2983
-				case "checkbox":
2984
-					?>
2982
+                    break;
2983
+                case "checkbox":
2984
+                    ?>
2985 2985
 					<input <?php echo $placeholder; ?>
2986 2986
 						<?php checked( 1, $value, true ) ?>
2987 2987
 						<?php echo $custom_attributes; ?>
@@ -2991,9 +2991,9 @@  discard block
 block discarded – undo
2991 2991
 					<label
2992 2992
 						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>
2993 2993
 					<?php
2994
-					break;
2995
-				case "textarea":
2996
-					?>
2994
+                    break;
2995
+                case "textarea":
2996
+                    ?>
2997 2997
 					<label
2998 2998
 						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>
2999 2999
 					<textarea <?php echo $placeholder; ?> class="widefat"
@@ -3003,207 +3003,207 @@  discard block
 block discarded – undo
3003 3003
 					><?php echo esc_attr( $value ); ?></textarea>
3004 3004
 					<?php
3005 3005
 
3006
-					break;
3007
-				case "hidden":
3008
-					?>
3006
+                    break;
3007
+                case "hidden":
3008
+                    ?>
3009 3009
 					<input id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
3010 3010
 					       name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="hidden"
3011 3011
 					       value="<?php echo esc_attr( $value ); ?>">
3012 3012
 					<?php
3013
-					break;
3014
-				default:
3015
-					echo "No input type found!"; // @todo we need to add more input types.
3016
-			}
3013
+                    break;
3014
+                default:
3015
+                    echo "No input type found!"; // @todo we need to add more input types.
3016
+            }
3017 3017
 
3018
-			// after wrapper
3019
-			?>
3018
+            // after wrapper
3019
+            ?>
3020 3020
 			</p>
3021 3021
 			<?php
3022 3022
 
3023 3023
 
3024
-		}
3025
-
3026
-		public function get_widget_icon($icon = 'box-top', $title = ''){
3027
-			if($icon=='box-top'){
3028
-				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>';
3029
-			}elseif($icon=='box-right'){
3030
-				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>';
3031
-			}elseif($icon=='box-bottom'){
3032
-				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>';
3033
-			}elseif($icon=='box-left'){
3034
-				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>';
3035
-			}
3036
-		}
3037
-
3038
-		/**
3039
-		 * Get the widget input description html.
3040
-		 *
3041
-		 * @param $args
3042
-		 *
3043
-		 * @return string
3044
-		 * @todo, need to make its own tooltip script
3045
-		 */
3046
-		public function widget_field_desc( $args ) {
3047
-
3048
-			$description = '';
3049
-			if ( isset( $args['desc'] ) && $args['desc'] ) {
3050
-				if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
3051
-					$description = $this->desc_tip( $args['desc'] );
3052
-				} else {
3053
-					$description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
3054
-				}
3055
-			}
3056
-
3057
-			return $description;
3058
-		}
3059
-
3060
-		/**
3061
-		 * Get the widget input title html.
3062
-		 *
3063
-		 * @param $args
3064
-		 *
3065
-		 * @return string
3066
-		 */
3067
-		public function widget_field_title( $args ) {
3068
-
3069
-			$title = '';
3070
-			if ( isset( $args['title'] ) && $args['title'] ) {
3071
-				if ( isset( $args['icon'] ) && $args['icon'] ) {
3072
-					$title = self::get_widget_icon( $args['icon'], $args['title']  );
3073
-				} else {
3074
-					$title = esc_attr($args['title']);
3075
-				}
3076
-			}
3077
-
3078
-			return $title;
3079
-		}
3080
-
3081
-		/**
3082
-		 * Get the tool tip html.
3083
-		 *
3084
-		 * @param $tip
3085
-		 * @param bool $allow_html
3086
-		 *
3087
-		 * @return string
3088
-		 */
3089
-		function desc_tip( $tip, $allow_html = false ) {
3090
-			if ( $allow_html ) {
3091
-				$tip = $this->sanitize_tooltip( $tip );
3092
-			} else {
3093
-				$tip = esc_attr( $tip );
3094
-			}
3095
-
3096
-			return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
3097
-		}
3098
-
3099
-		/**
3100
-		 * Sanitize a string destined to be a tooltip.
3101
-		 *
3102
-		 * @param string $var
3103
-		 *
3104
-		 * @return string
3105
-		 */
3106
-		public function sanitize_tooltip( $var ) {
3107
-			return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
3108
-				'br'     => array(),
3109
-				'em'     => array(),
3110
-				'strong' => array(),
3111
-				'small'  => array(),
3112
-				'span'   => array(),
3113
-				'ul'     => array(),
3114
-				'li'     => array(),
3115
-				'ol'     => array(),
3116
-				'p'      => array(),
3117
-			) ) );
3118
-		}
3119
-
3120
-		/**
3121
-		 * Processing widget options on save
3122
-		 *
3123
-		 * @param array $new_instance The new options
3124
-		 * @param array $old_instance The previous options
3125
-		 *
3126
-		 * @return array
3127
-		 * @todo we should add some sanitation here.
3128
-		 */
3129
-		public function update( $new_instance, $old_instance ) {
3130
-
3131
-			//save the widget
3132
-			$instance = array_merge( (array) $old_instance, (array) $new_instance );
3133
-
3134
-			// set widget instance
3135
-			$this->instance = $instance;
3136
-
3137
-			if ( empty( $this->arguments ) ) {
3138
-				$this->get_arguments();
3139
-			}
3140
-
3141
-			// check for checkboxes
3142
-			if ( ! empty( $this->arguments ) ) {
3143
-				foreach ( $this->arguments as $argument ) {
3144
-					if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
3145
-						$instance[ $argument['name'] ] = '0';
3146
-					}
3147
-				}
3148
-			}
3149
-
3150
-			return $instance;
3151
-		}
3152
-
3153
-		/**
3154
-		 * Checks if the current call is a ajax call to get the block content.
3155
-		 *
3156
-		 * This can be used in your widget to return different content as the block content.
3157
-		 *
3158
-		 * @since 1.0.3
3159
-		 * @return bool
3160
-		 */
3161
-		public function is_block_content_call() {
3162
-			$result = false;
3163
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3164
-				$result = true;
3165
-			}
3166
-
3167
-			return $result;
3168
-		}
3169
-
3170
-		/**
3171
-		 * Get an instance hash that will be unique to the type and settings.
3172
-		 *
3173
-		 * @since 1.0.20
3174
-		 * @return string
3175
-		 */
3176
-		public function get_instance_hash(){
3177
-			$instance_string = $this->base_id.serialize($this->instance);
3178
-			return hash('crc32b',$instance_string);
3179
-		}
3180
-
3181
-		/**
3182
-		 * Generate and return inline styles from CSS rules that will match the unique class of the instance.
3183
-		 *
3184
-		 * @param array $rules
3185
-		 *
3186
-		 * @since 1.0.20
3187
-		 * @return string
3188
-		 */
3189
-		public function get_instance_style($rules = array()){
3190
-			$css = '';
3191
-
3192
-			if(!empty($rules)){
3193
-				$rules = array_unique($rules);
3194
-				$instance_hash = $this->get_instance_hash();
3195
-				$css .= "<style>";
3196
-				foreach($rules as $rule){
3197
-					$css .= ".sdel-$instance_hash $rule";
3198
-				}
3199
-				$css .= "</style>";
3200
-			}
3201
-
3202
-
3203
-			return $css;
3204
-
3205
-		}
3206
-
3207
-	}
3024
+        }
3025
+
3026
+        public function get_widget_icon($icon = 'box-top', $title = ''){
3027
+            if($icon=='box-top'){
3028
+                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>';
3029
+            }elseif($icon=='box-right'){
3030
+                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>';
3031
+            }elseif($icon=='box-bottom'){
3032
+                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>';
3033
+            }elseif($icon=='box-left'){
3034
+                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>';
3035
+            }
3036
+        }
3037
+
3038
+        /**
3039
+         * Get the widget input description html.
3040
+         *
3041
+         * @param $args
3042
+         *
3043
+         * @return string
3044
+         * @todo, need to make its own tooltip script
3045
+         */
3046
+        public function widget_field_desc( $args ) {
3047
+
3048
+            $description = '';
3049
+            if ( isset( $args['desc'] ) && $args['desc'] ) {
3050
+                if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
3051
+                    $description = $this->desc_tip( $args['desc'] );
3052
+                } else {
3053
+                    $description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
3054
+                }
3055
+            }
3056
+
3057
+            return $description;
3058
+        }
3059
+
3060
+        /**
3061
+         * Get the widget input title html.
3062
+         *
3063
+         * @param $args
3064
+         *
3065
+         * @return string
3066
+         */
3067
+        public function widget_field_title( $args ) {
3068
+
3069
+            $title = '';
3070
+            if ( isset( $args['title'] ) && $args['title'] ) {
3071
+                if ( isset( $args['icon'] ) && $args['icon'] ) {
3072
+                    $title = self::get_widget_icon( $args['icon'], $args['title']  );
3073
+                } else {
3074
+                    $title = esc_attr($args['title']);
3075
+                }
3076
+            }
3077
+
3078
+            return $title;
3079
+        }
3080
+
3081
+        /**
3082
+         * Get the tool tip html.
3083
+         *
3084
+         * @param $tip
3085
+         * @param bool $allow_html
3086
+         *
3087
+         * @return string
3088
+         */
3089
+        function desc_tip( $tip, $allow_html = false ) {
3090
+            if ( $allow_html ) {
3091
+                $tip = $this->sanitize_tooltip( $tip );
3092
+            } else {
3093
+                $tip = esc_attr( $tip );
3094
+            }
3095
+
3096
+            return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
3097
+        }
3098
+
3099
+        /**
3100
+         * Sanitize a string destined to be a tooltip.
3101
+         *
3102
+         * @param string $var
3103
+         *
3104
+         * @return string
3105
+         */
3106
+        public function sanitize_tooltip( $var ) {
3107
+            return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
3108
+                'br'     => array(),
3109
+                'em'     => array(),
3110
+                'strong' => array(),
3111
+                'small'  => array(),
3112
+                'span'   => array(),
3113
+                'ul'     => array(),
3114
+                'li'     => array(),
3115
+                'ol'     => array(),
3116
+                'p'      => array(),
3117
+            ) ) );
3118
+        }
3119
+
3120
+        /**
3121
+         * Processing widget options on save
3122
+         *
3123
+         * @param array $new_instance The new options
3124
+         * @param array $old_instance The previous options
3125
+         *
3126
+         * @return array
3127
+         * @todo we should add some sanitation here.
3128
+         */
3129
+        public function update( $new_instance, $old_instance ) {
3130
+
3131
+            //save the widget
3132
+            $instance = array_merge( (array) $old_instance, (array) $new_instance );
3133
+
3134
+            // set widget instance
3135
+            $this->instance = $instance;
3136
+
3137
+            if ( empty( $this->arguments ) ) {
3138
+                $this->get_arguments();
3139
+            }
3140
+
3141
+            // check for checkboxes
3142
+            if ( ! empty( $this->arguments ) ) {
3143
+                foreach ( $this->arguments as $argument ) {
3144
+                    if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
3145
+                        $instance[ $argument['name'] ] = '0';
3146
+                    }
3147
+                }
3148
+            }
3149
+
3150
+            return $instance;
3151
+        }
3152
+
3153
+        /**
3154
+         * Checks if the current call is a ajax call to get the block content.
3155
+         *
3156
+         * This can be used in your widget to return different content as the block content.
3157
+         *
3158
+         * @since 1.0.3
3159
+         * @return bool
3160
+         */
3161
+        public function is_block_content_call() {
3162
+            $result = false;
3163
+            if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3164
+                $result = true;
3165
+            }
3166
+
3167
+            return $result;
3168
+        }
3169
+
3170
+        /**
3171
+         * Get an instance hash that will be unique to the type and settings.
3172
+         *
3173
+         * @since 1.0.20
3174
+         * @return string
3175
+         */
3176
+        public function get_instance_hash(){
3177
+            $instance_string = $this->base_id.serialize($this->instance);
3178
+            return hash('crc32b',$instance_string);
3179
+        }
3180
+
3181
+        /**
3182
+         * Generate and return inline styles from CSS rules that will match the unique class of the instance.
3183
+         *
3184
+         * @param array $rules
3185
+         *
3186
+         * @since 1.0.20
3187
+         * @return string
3188
+         */
3189
+        public function get_instance_style($rules = array()){
3190
+            $css = '';
3191
+
3192
+            if(!empty($rules)){
3193
+                $rules = array_unique($rules);
3194
+                $instance_hash = $this->get_instance_hash();
3195
+                $css .= "<style>";
3196
+                foreach($rules as $rule){
3197
+                    $css .= ".sdel-$instance_hash $rule";
3198
+                }
3199
+                $css .= "</style>";
3200
+            }
3201
+
3202
+
3203
+            return $css;
3204
+
3205
+        }
3206
+
3207
+    }
3208 3208
 
3209 3209
 }
Please login to merge, or discard this patch.
Spacing   +557 added lines, -557 removed lines patch added patch discarded remove patch
@@ -1,9 +1,9 @@  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 8
 
9 9
 	/**
@@ -37,27 +37,27 @@  discard block
 block discarded – undo
37 37
 		/**
38 38
 		 * Take the array options and use them to build.
39 39
 		 */
40
-		public function __construct( $options ) {
40
+		public function __construct($options) {
41 41
 			global $sd_widgets;
42 42
 
43
-			$sd_widgets[ $options['base_id'] ] = array(
43
+			$sd_widgets[$options['base_id']] = array(
44 44
 				'name'       => $options['name'],
45 45
 				'class_name' => $options['class_name']
46 46
 			);
47
-			$this->base_id                     = $options['base_id'];
47
+			$this->base_id = $options['base_id'];
48 48
 			// lets filter the options before we do anything
49
-			$options       = apply_filters( "wp_super_duper_options", $options );
50
-			$options       = apply_filters( "wp_super_duper_options_{$this->base_id}", $options );
51
-			$options       = $this->add_name_from_key( $options );
49
+			$options       = apply_filters("wp_super_duper_options", $options);
50
+			$options       = apply_filters("wp_super_duper_options_{$this->base_id}", $options);
51
+			$options       = $this->add_name_from_key($options);
52 52
 			$this->options = $options;
53 53
 
54 54
 			$this->base_id   = $options['base_id'];
55
-			$this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array();
55
+			$this->arguments = isset($options['arguments']) ? $options['arguments'] : array();
56 56
 
57 57
 			// init parent
58
-			parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] );
58
+			parent::__construct($options['base_id'], $options['name'], $options['widget_ops']);
59 59
 
60
-			if ( isset( $options['class_name'] ) ) {
60
+			if (isset($options['class_name'])) {
61 61
 				// register widget
62 62
 				$this->class_name = $options['class_name'];
63 63
 
@@ -65,66 +65,66 @@  discard block
 block discarded – undo
65 65
 				$this->register_shortcode();
66 66
 
67 67
 				// Fusion Builder (avada) support
68
-				if ( function_exists( 'fusion_builder_map' ) ) {
69
-					add_action( 'init', array( $this, 'register_fusion_element' ) );
68
+				if (function_exists('fusion_builder_map')) {
69
+					add_action('init', array($this, 'register_fusion_element'));
70 70
 				}
71 71
 
72 72
 				// register block
73
-				add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
73
+				add_action('admin_enqueue_scripts', array($this, 'register_block'));
74 74
 			}
75 75
 
76 76
 			// add the CSS and JS we need ONCE
77 77
 			global $sd_widget_scripts;
78 78
 
79
-			if ( ! $sd_widget_scripts ) {
80
-				wp_add_inline_script( 'admin-widgets', $this->widget_js() );
81
-				wp_add_inline_script( 'customize-controls', $this->widget_js() );
82
-				wp_add_inline_style( 'widgets', $this->widget_css() );
79
+			if (!$sd_widget_scripts) {
80
+				wp_add_inline_script('admin-widgets', $this->widget_js());
81
+				wp_add_inline_script('customize-controls', $this->widget_js());
82
+				wp_add_inline_style('widgets', $this->widget_css());
83 83
 
84 84
 				// maybe add elementor editor styles
85
-				add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
85
+				add_action('elementor/editor/after_enqueue_styles', array($this, 'elementor_editor_styles'));
86 86
 
87 87
 				$sd_widget_scripts = true;
88 88
 
89 89
 				// add shortcode insert button once
90
-				add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
90
+				add_action('media_buttons', array($this, 'shortcode_insert_button'));
91 91
 				// generatepress theme sections compatibility
92
-				if ( function_exists( 'generate_sections_sections_metabox' ) ) {
93
-					add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
92
+				if (function_exists('generate_sections_sections_metabox')) {
93
+					add_action('generate_sections_metabox', array($this, 'shortcode_insert_button_script'));
94 94
 				}
95
-				if ( $this->is_preview() ) {
96
-					add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
95
+				if ($this->is_preview()) {
96
+					add_action('wp_footer', array($this, 'shortcode_insert_button_script'));
97 97
 					// this makes the insert button work for elementor
98
-					add_action( 'elementor/editor/after_enqueue_scripts', array(
98
+					add_action('elementor/editor/after_enqueue_scripts', array(
99 99
 						$this,
100 100
 						'shortcode_insert_button_script'
101
-					) ); // for elementor
101
+					)); // for elementor
102 102
 				}
103 103
 				// this makes the insert button work for cornerstone
104
-				add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
104
+				add_action('wp_print_footer_scripts', array(__CLASS__, 'maybe_cornerstone_builder'));
105 105
 
106
-				add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
107
-				add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
106
+				add_action('wp_ajax_super_duper_get_widget_settings', array(__CLASS__, 'get_widget_settings'));
107
+				add_action('wp_ajax_super_duper_get_picker', array(__CLASS__, 'get_picker'));
108 108
 
109 109
 				// add generator text to admin head
110
-				add_action( 'admin_head', array( $this, 'generator' ) );
110
+				add_action('admin_head', array($this, 'generator'));
111 111
 			}
112 112
 
113
-			do_action( 'wp_super_duper_widget_init', $options, $this );
113
+			do_action('wp_super_duper_widget_init', $options, $this);
114 114
 		}
115 115
 
116 116
 		/**
117 117
 		 * Add our widget CSS to elementor editor.
118 118
 		 */
119 119
 		public function elementor_editor_styles() {
120
-			wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
120
+			wp_add_inline_style('elementor-editor', $this->widget_css(false));
121 121
 		}
122 122
 
123 123
 		public function register_fusion_element() {
124 124
 
125 125
 			$options = $this->options;
126 126
 
127
-			if ( $this->base_id ) {
127
+			if ($this->base_id) {
128 128
 
129 129
 				$params = $this->get_fusion_params();
130 130
 
@@ -135,11 +135,11 @@  discard block
 block discarded – undo
135 135
 					'allow_generator' => true,
136 136
 				);
137 137
 
138
-				if ( ! empty( $params ) ) {
138
+				if (!empty($params)) {
139 139
 					$args['params'] = $params;
140 140
 				}
141 141
 
142
-				fusion_builder_map( $args );
142
+				fusion_builder_map($args);
143 143
 			}
144 144
 
145 145
 		}
@@ -148,8 +148,8 @@  discard block
 block discarded – undo
148 148
 			$params    = array();
149 149
 			$arguments = $this->get_arguments();
150 150
 
151
-			if ( ! empty( $arguments ) ) {
152
-				foreach ( $arguments as $key => $val ) {
151
+			if (!empty($arguments)) {
152
+				foreach ($arguments as $key => $val) {
153 153
 					$param = array();
154 154
 					// type
155 155
 					$param['type'] = str_replace(
@@ -171,7 +171,7 @@  discard block
 block discarded – undo
171 171
 						$val['type'] );
172 172
 
173 173
 					// multiselect
174
-					if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
174
+					if ($val['type'] == 'multiselect' || (($param['type'] == 'select' || $val['type'] == 'select') && !empty($val['multiple']))) {
175 175
 						$param['type']     = 'multiple_select';
176 176
 						$param['multiple'] = true;
177 177
 					}
@@ -180,29 +180,29 @@  discard block
 block discarded – undo
180 180
 					$param['heading'] = $val['title'];
181 181
 
182 182
 					// description
183
-					$param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
183
+					$param['description'] = isset($val['desc']) ? $val['desc'] : '';
184 184
 
185 185
 					// param_name
186 186
 					$param['param_name'] = $key;
187 187
 
188 188
 					// Default
189
-					$param['default'] = isset( $val['default'] ) ? $val['default'] : '';
189
+					$param['default'] = isset($val['default']) ? $val['default'] : '';
190 190
 
191 191
 					// Group
192
-					if ( isset( $val['group'] ) ) {
192
+					if (isset($val['group'])) {
193 193
 						$param['group'] = $val['group'];
194 194
 					}
195 195
 
196 196
 					// value
197
-					if ( $val['type'] == 'checkbox' ) {
198
-						if ( isset( $val['default'] ) && $val['default'] == '0' ) {
199
-							unset( $param['default'] );
197
+					if ($val['type'] == 'checkbox') {
198
+						if (isset($val['default']) && $val['default'] == '0') {
199
+							unset($param['default']);
200 200
 						}
201
-						$param['value'] = array( '' => __( "No" ), '1' => __( "Yes" ) );
202
-					} elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
203
-						$param['value'] = isset( $val['options'] ) ? $val['options'] : array();
201
+						$param['value'] = array('' => __("No"), '1' => __("Yes"));
202
+					} elseif ($param['type'] == 'select' || $param['type'] == 'multiple_select') {
203
+						$param['value'] = isset($val['options']) ? $val['options'] : array();
204 204
 					} else {
205
-						$param['value'] = isset( $val['default'] ) ? $val['default'] : '';
205
+						$param['value'] = isset($val['default']) ? $val['default'] : '';
206 206
 					}
207 207
 
208 208
 					// setup the param
@@ -219,7 +219,7 @@  discard block
 block discarded – undo
219 219
 		 * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
220 220
 		 */
221 221
 		public static function maybe_cornerstone_builder() {
222
-			if ( did_action( 'cornerstone_before_boot_app' ) ) {
222
+			if (did_action('cornerstone_before_boot_app')) {
223 223
 				self::shortcode_insert_button_script();
224 224
 			}
225 225
 		}
@@ -231,12 +231,12 @@  discard block
 block discarded – undo
231 231
 		 *
232 232
 		 * @return string
233 233
 		 */
234
-		public static function get_picker( $editor_id = '' ) {
234
+		public static function get_picker($editor_id = '') {
235 235
 
236 236
 			ob_start();
237
-			if ( isset( $_POST['editor_id'] ) ) {
238
-				$editor_id = esc_attr( $_POST['editor_id'] );
239
-			} elseif ( isset( $_REQUEST['et_fb'] ) ) {
237
+			if (isset($_POST['editor_id'])) {
238
+				$editor_id = esc_attr($_POST['editor_id']);
239
+			} elseif (isset($_REQUEST['et_fb'])) {
240 240
 				$editor_id = 'main_content_content_vb_tiny_mce';
241 241
 			}
242 242
 
@@ -245,13 +245,13 @@  discard block
 block discarded – undo
245 245
 
246 246
 			<div class="sd-shortcode-left-wrap">
247 247
 				<?php
248
-				ksort( $sd_widgets );
248
+				ksort($sd_widgets);
249 249
 				//				print_r($sd_widgets);exit;
250
-				if ( ! empty( $sd_widgets ) ) {
250
+				if (!empty($sd_widgets)) {
251 251
 					echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
252
-					echo "<option>" . __( 'Select shortcode' ) . "</option>";
253
-					foreach ( $sd_widgets as $shortcode => $class ) {
254
-						echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
252
+					echo "<option>" . __('Select shortcode') . "</option>";
253
+					foreach ($sd_widgets as $shortcode => $class) {
254
+						echo "<option value='" . esc_attr($shortcode) . "'>" . esc_attr($shortcode) . " (" . esc_attr($class['name']) . ")</option>";
255 255
 					}
256 256
 					echo "</select>";
257 257
 
@@ -264,37 +264,37 @@  discard block
 block discarded – undo
264 264
 			<div class="sd-shortcode-right-wrap">
265 265
 				<textarea id='sd-shortcode-output' disabled></textarea>
266 266
 				<div id='sd-shortcode-output-actions'>
267
-					<?php if ( $editor_id != '' ) { ?>
267
+					<?php if ($editor_id != '') { ?>
268 268
 						<button class="button sd-insert-shortcode-button"
269
-						        onclick="sd_insert_shortcode(<?php if ( ! empty( $editor_id ) ) {
269
+						        onclick="sd_insert_shortcode(<?php if (!empty($editor_id)) {
270 270
 							        echo "'" . $editor_id . "'";
271
-						        } ?>)"><?php _e( 'Insert shortcode' ); ?></button>
271
+						        } ?>)"><?php _e('Insert shortcode'); ?></button>
272 272
 					<?php } ?>
273 273
 					<button class="button"
274
-					        onclick="sd_copy_to_clipboard()"><?php _e( 'Copy shortcode' ); ?></button>
274
+					        onclick="sd_copy_to_clipboard()"><?php _e('Copy shortcode'); ?></button>
275 275
 				</div>
276 276
 			</div>
277 277
 			<?php
278 278
 
279 279
 			$html = ob_get_clean();
280 280
 
281
-			if ( wp_doing_ajax() ) {
281
+			if (wp_doing_ajax()) {
282 282
 				echo $html;
283 283
 				$should_die = true;
284 284
 
285 285
 				// some builder get the editor via ajax so we should not die on those ocasions
286 286
 				$dont_die = array(
287
-					'parent_tag',// WP Bakery
287
+					'parent_tag', // WP Bakery
288 288
 					'avia_request' // enfold
289 289
 				);
290 290
 
291
-				foreach ( $dont_die as $request ) {
292
-					if ( isset( $_REQUEST[ $request ] ) ) {
291
+				foreach ($dont_die as $request) {
292
+					if (isset($_REQUEST[$request])) {
293 293
 						$should_die = false;
294 294
 					}
295 295
 				}
296 296
 
297
-				if ( $should_die ) {
297
+				if ($should_die) {
298 298
 					wp_die();
299 299
 				}
300 300
 
@@ -321,16 +321,16 @@  discard block
 block discarded – undo
321 321
 		public static function get_widget_settings() {
322 322
 			global $sd_widgets;
323 323
 
324
-			$shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
325
-			if ( ! $shortcode ) {
324
+			$shortcode = isset($_REQUEST['shortcode']) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes($_REQUEST['shortcode']) : '';
325
+			if (!$shortcode) {
326 326
 				wp_die();
327 327
 			}
328
-			$widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
329
-			if ( ! $widget_args ) {
328
+			$widget_args = isset($sd_widgets[$shortcode]) ? $sd_widgets[$shortcode] : '';
329
+			if (!$widget_args) {
330 330
 				wp_die();
331 331
 			}
332
-			$class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
333
-			if ( ! $class_name ) {
332
+			$class_name = isset($widget_args['class_name']) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
333
+			if (!$class_name) {
334 334
 				wp_die();
335 335
 			}
336 336
 
@@ -338,7 +338,7 @@  discard block
 block discarded – undo
338 338
 			$widget = new $class_name;
339 339
 
340 340
 			ob_start();
341
-			$widget->form( array() );
341
+			$widget->form(array());
342 342
 			$form = ob_get_clean();
343 343
 			echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
344 344
 			echo "<style>" . $widget->widget_css() . "</style>";
@@ -356,9 +356,9 @@  discard block
 block discarded – undo
356 356
 		 * @param string $editor_id Optional. Shortcode editor id. Default null.
357 357
 		 * @param string $insert_shortcode_function Optional. Insert shotcode function. Default null.
358 358
 		 */
359
-		public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
359
+		public static function shortcode_insert_button($editor_id = '', $insert_shortcode_function = '') {
360 360
 			global $sd_widgets, $shortcode_insert_button_once;
361
-			if ( $shortcode_insert_button_once ) {
361
+			if ($shortcode_insert_button_once) {
362 362
 				return;
363 363
 			}
364 364
 			add_thickbox();
@@ -368,21 +368,21 @@  discard block
 block discarded – undo
368 368
 			 * Cornerstone makes us play dirty tricks :/
369 369
 			 * 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.
370 370
 			 */
371
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
371
+			if (function_exists('cornerstone_plugin_init') && !is_admin()) {
372 372
 				echo '<span id="insert-media-button">';
373 373
 			}
374 374
 
375
-			echo self::shortcode_button( 'this', 'true' );
375
+			echo self::shortcode_button('this', 'true');
376 376
 
377 377
 			// see opening note
378
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
378
+			if (function_exists('cornerstone_plugin_init') && !is_admin()) {
379 379
 				echo '</span>'; // end #insert-media-button
380 380
 			}
381 381
 
382 382
 			// Add separate script for generatepress theme sections
383
-			if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
383
+			if (function_exists('generate_sections_sections_metabox') && did_action('generate_sections_metabox')) {
384 384
 			} else {
385
-				self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
385
+				self::shortcode_insert_button_script($editor_id, $insert_shortcode_function);
386 386
 			}
387 387
 
388 388
 			$shortcode_insert_button_once = true;
@@ -396,12 +396,12 @@  discard block
 block discarded – undo
396 396
 		 *
397 397
 		 * @return mixed
398 398
 		 */
399
-		public static function shortcode_button( $id = '', $search_for_id = '' ) {
399
+		public static function shortcode_button($id = '', $search_for_id = '') {
400 400
 			ob_start();
401 401
 			?>
402 402
 			<span class="sd-lable-shortcode-inserter">
403 403
 				<a onclick="sd_ajax_get_picker(<?php echo $id;
404
-				if ( $search_for_id ) {
404
+				if ($search_for_id) {
405 405
 					echo "," . $search_for_id;
406 406
 				} ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
407 407
 				   class="thickbox button super-duper-content-open" title="Add Shortcode">
@@ -417,7 +417,7 @@  discard block
 block discarded – undo
417 417
 			$html = ob_get_clean();
418 418
 
419 419
 			// remove line breaks so we can use it in js
420
-			return preg_replace( "/\r|\n/", "", trim( $html ) );
420
+			return preg_replace("/\r|\n/", "", trim($html));
421 421
 		}
422 422
 
423 423
 		/**
@@ -475,7 +475,7 @@  discard block
 block discarded – undo
475 475
 						jQuery($this).data('sd-widget-enabled', true);
476 476
 					}
477 477
 
478
-					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>';
478
+					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>';
479 479
 					var form = jQuery($this).parents('' + $selector + '');
480 480
 
481 481
 					if (jQuery($this).val() == '1' && jQuery(form).find('.sd-advanced-button').length == 0) {
@@ -512,10 +512,10 @@  discard block
 block discarded – undo
512 512
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
513 513
 			 */
514 514
 
515
-			return str_replace( array(
515
+			return str_replace(array(
516 516
 				'<script>',
517 517
 				'</script>'
518
-			), '', $output );
518
+			), '', $output);
519 519
 		}
520 520
 
521 521
 		/**
@@ -526,7 +526,7 @@  discard block
 block discarded – undo
526 526
 		 * @param string $editor_id
527 527
 		 * @param string $insert_shortcode_function
528 528
 		 */
529
-		public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
529
+		public static function shortcode_insert_button_script($editor_id = '', $insert_shortcode_function = '') {
530 530
 			?>
531 531
 			<style>
532 532
 				.sd-shortcode-left-wrap {
@@ -645,7 +645,7 @@  discard block
 block discarded – undo
645 645
 					width: 100%;
646 646
 				}
647 647
 
648
-				<?php if ( function_exists( 'generate_sections_sections_metabox' ) ) { ?>
648
+				<?php if (function_exists('generate_sections_sections_metabox')) { ?>
649 649
 				.generate-sections-modal #custom-media-buttons > .sd-lable-shortcode-inserter {
650 650
 					display: inline;
651 651
 				}
@@ -653,15 +653,15 @@  discard block
 block discarded – undo
653 653
 				<?php } ?>
654 654
 			</style>
655 655
 			<?php
656
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
656
+			if (class_exists('SiteOrigin_Panels')) {
657 657
 				echo "<script>" . self::siteorigin_js() . "</script>";
658 658
 			}
659 659
 			?>
660 660
 			<script>
661 661
 				<?php
662
-				if(! empty( $insert_shortcode_function )){
662
+				if (!empty($insert_shortcode_function)) {
663 663
 					echo $insert_shortcode_function;
664
-				}else{
664
+				} else {
665 665
 
666 666
 				/**
667 667
 				 * Function for super duper insert shortcode.
@@ -674,9 +674,9 @@  discard block
 block discarded – undo
674 674
 					if ($shortcode) {
675 675
 						if (!$editor_id) {
676 676
 							<?php
677
-							if ( isset( $_REQUEST['et_fb'] ) ) {
677
+							if (isset($_REQUEST['et_fb'])) {
678 678
 								echo '$editor_id = "#main_content_content_vb_tiny_mce";';
679
-							} elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
679
+							} elseif (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') {
680 680
 								echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
681 681
 							} else {
682 682
 								echo '$editor_id = "#wp-content-editor-container textarea";';
@@ -761,11 +761,11 @@  discard block
 block discarded – undo
761 761
 							'shortcode': $short_code,
762 762
 							'attributes': 123,
763 763
 							'post_id': 321,
764
-							'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
764
+							'_ajax_nonce': '<?php echo wp_create_nonce('super_duper_output_shortcode'); ?>'
765 765
 						};
766 766
 
767 767
 						if (typeof ajaxurl === 'undefined') {
768
-							var ajaxurl = "<?php echo admin_url( 'admin-ajax.php' );?>";
768
+							var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
769 769
 						}
770 770
 
771 771
 						jQuery.post(ajaxurl, data, function (response) {
@@ -974,11 +974,11 @@  discard block
 block discarded – undo
974 974
 					var data = {
975 975
 						'action': 'super_duper_get_picker',
976 976
 						'editor_id': $id,
977
-						'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_picker' );?>'
977
+						'_ajax_nonce': '<?php echo wp_create_nonce('super_duper_picker'); ?>'
978 978
 					};
979 979
 
980 980
 					if (!ajaxurl) {
981
-						var ajaxurl = "<?php echo admin_url( 'admin-ajax.php' ); ?>";
981
+						var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
982 982
 					}
983 983
 
984 984
 					jQuery.post(ajaxurl, data, function (response) {
@@ -999,9 +999,9 @@  discard block
 block discarded – undo
999 999
 				 */
1000 1000
 				function sd_shortcode_button($id) {
1001 1001
 					if ($id) {
1002
-						return '<?php echo self::shortcode_button( "\\''+\$id+'\\'" );?>';
1002
+						return '<?php echo self::shortcode_button("\\''+\$id+'\\'"); ?>';
1003 1003
 					} else {
1004
-						return '<?php echo self::shortcode_button();?>';
1004
+						return '<?php echo self::shortcode_button(); ?>';
1005 1005
 					}
1006 1006
 				}
1007 1007
 
@@ -1016,11 +1016,11 @@  discard block
 block discarded – undo
1016 1016
 		 *
1017 1017
 		 * @return mixed
1018 1018
 		 */
1019
-		public function widget_css( $advanced = true ) {
1019
+		public function widget_css($advanced = true) {
1020 1020
 			ob_start();
1021 1021
 			?>
1022 1022
 			<style>
1023
-				<?php if( $advanced ){ ?>
1023
+				<?php if ($advanced) { ?>
1024 1024
 				.sd-advanced-setting {
1025 1025
 					display: none;
1026 1026
 				}
@@ -1062,10 +1062,10 @@  discard block
 block discarded – undo
1062 1062
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1063 1063
 			 */
1064 1064
 
1065
-			return str_replace( array(
1065
+			return str_replace(array(
1066 1066
 				'<style>',
1067 1067
 				'</style>'
1068
-			), '', $output );
1068
+			), '', $output);
1069 1069
 		}
1070 1070
 
1071 1071
 		/**
@@ -1135,7 +1135,7 @@  discard block
 block discarded – undo
1135 1135
 						jQuery($this).data('sd-widget-enabled', true);
1136 1136
 					}
1137 1137
 
1138
-					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>';
1138
+					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>';
1139 1139
 					var form = jQuery($this).parents('' + $selector + '');
1140 1140
 
1141 1141
 					if (jQuery($this).val() == '1' && jQuery(form).find('.sd-advanced-button').length == 0) {
@@ -1230,7 +1230,7 @@  discard block
 block discarded – undo
1230 1230
 					});
1231 1231
 
1232 1232
 				}
1233
-				<?php do_action( 'wp_super_duper_widget_js', $this ); ?>
1233
+				<?php do_action('wp_super_duper_widget_js', $this); ?>
1234 1234
 			</script>
1235 1235
 			<?php
1236 1236
 			$output = ob_get_clean();
@@ -1239,10 +1239,10 @@  discard block
 block discarded – undo
1239 1239
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1240 1240
 			 */
1241 1241
 
1242
-			return str_replace( array(
1242
+			return str_replace(array(
1243 1243
 				'<script>',
1244 1244
 				'</script>'
1245
-			), '', $output );
1245
+			), '', $output);
1246 1246
 		}
1247 1247
 
1248 1248
 
@@ -1253,14 +1253,14 @@  discard block
 block discarded – undo
1253 1253
 		 *
1254 1254
 		 * @return mixed
1255 1255
 		 */
1256
-		private function add_name_from_key( $options, $arguments = false ) {
1257
-			if ( ! empty( $options['arguments'] ) ) {
1258
-				foreach ( $options['arguments'] as $key => $val ) {
1259
-					$options['arguments'][ $key ]['name'] = $key;
1256
+		private function add_name_from_key($options, $arguments = false) {
1257
+			if (!empty($options['arguments'])) {
1258
+				foreach ($options['arguments'] as $key => $val) {
1259
+					$options['arguments'][$key]['name'] = $key;
1260 1260
 				}
1261
-			} elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1262
-				foreach ( $options as $key => $val ) {
1263
-					$options[ $key ]['name'] = $key;
1261
+			} elseif ($arguments && is_array($options) && !empty($options)) {
1262
+				foreach ($options as $key => $val) {
1263
+					$options[$key]['name'] = $key;
1264 1264
 				}
1265 1265
 			}
1266 1266
 
@@ -1273,8 +1273,8 @@  discard block
 block discarded – undo
1273 1273
 		 * @since 1.0.0
1274 1274
 		 */
1275 1275
 		public function register_shortcode() {
1276
-			add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1277
-			add_action( 'wp_ajax_super_duper_output_shortcode', array( __CLASS__, 'render_shortcode' ) );
1276
+			add_shortcode($this->base_id, array($this, 'shortcode_output'));
1277
+			add_action('wp_ajax_super_duper_output_shortcode', array(__CLASS__, 'render_shortcode'));
1278 1278
 		}
1279 1279
 
1280 1280
 		/**
@@ -1284,33 +1284,33 @@  discard block
 block discarded – undo
1284 1284
 		 */
1285 1285
 		public static function render_shortcode() {
1286 1286
 
1287
-			check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1288
-			if ( ! current_user_can( 'manage_options' ) ) {
1287
+			check_ajax_referer('super_duper_output_shortcode', '_ajax_nonce', true);
1288
+			if (!current_user_can('manage_options')) {
1289 1289
 				wp_die();
1290 1290
 			}
1291 1291
 
1292 1292
 			// we might need the $post value here so lets set it.
1293
-			if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1294
-				$post_obj = get_post( absint( $_POST['post_id'] ) );
1295
-				if ( ! empty( $post_obj ) && empty( $post ) ) {
1293
+			if (isset($_POST['post_id']) && $_POST['post_id']) {
1294
+				$post_obj = get_post(absint($_POST['post_id']));
1295
+				if (!empty($post_obj) && empty($post)) {
1296 1296
 					global $post;
1297 1297
 					$post = $post_obj;
1298 1298
 				}
1299 1299
 			}
1300 1300
 
1301
-			if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1302
-				$shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1303
-				$attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1301
+			if (isset($_POST['shortcode']) && $_POST['shortcode']) {
1302
+				$shortcode_name   = sanitize_title_with_dashes($_POST['shortcode']);
1303
+				$attributes_array = isset($_POST['attributes']) && $_POST['attributes'] ? $_POST['attributes'] : array();
1304 1304
 				$attributes       = '';
1305
-				if ( ! empty( $attributes_array ) ) {
1306
-					foreach ( $attributes_array as $key => $value ) {
1307
-						$attributes .= " " . sanitize_title_with_dashes( $key ) . "='" . wp_slash( $value ) . "' ";
1305
+				if (!empty($attributes_array)) {
1306
+					foreach ($attributes_array as $key => $value) {
1307
+						$attributes .= " " . sanitize_title_with_dashes($key) . "='" . wp_slash($value) . "' ";
1308 1308
 					}
1309 1309
 				}
1310 1310
 
1311 1311
 				$shortcode = "[" . $shortcode_name . " " . $attributes . "]";
1312 1312
 
1313
-				echo do_shortcode( $shortcode );
1313
+				echo do_shortcode($shortcode);
1314 1314
 
1315 1315
 			}
1316 1316
 			wp_die();
@@ -1324,45 +1324,45 @@  discard block
 block discarded – undo
1324 1324
 		 *
1325 1325
 		 * @return string
1326 1326
 		 */
1327
-		public function shortcode_output( $args = array(), $content = '' ) {
1328
-			$args = $this->argument_values( $args );
1327
+		public function shortcode_output($args = array(), $content = '') {
1328
+			$args = $this->argument_values($args);
1329 1329
 
1330 1330
 			// add extra argument so we know its a output to gutenberg
1331 1331
 			//$args
1332
-			$args = $this->string_to_bool( $args );
1332
+			$args = $this->string_to_bool($args);
1333 1333
 
1334 1334
 			// if we have a enclosed shortcode we add it to the special `html` argument
1335
-			if ( ! empty( $content ) ) {
1335
+			if (!empty($content)) {
1336 1336
 				$args['html'] = $content;
1337 1337
 			}
1338 1338
 
1339
-			$class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1340
-			$class .= " sdel-".$this->get_instance_hash();
1339
+			$class = isset($this->options['widget_ops']['classname']) ? esc_attr($this->options['widget_ops']['classname']) : '';
1340
+			$class .= " sdel-" . $this->get_instance_hash();
1341 1341
 
1342
-			$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1343
-			$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1342
+			$class = apply_filters('wp_super_duper_div_classname', $class, $args, $this);
1343
+			$class = apply_filters('wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this);
1344 1344
 
1345
-			$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1346
-			$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); //@todo this does not seem right @kiran?
1345
+			$attrs = apply_filters('wp_super_duper_div_attrs', '', $args, $this);
1346
+			$attrs = apply_filters('wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this); //@todo this does not seem right @kiran?
1347 1347
 
1348 1348
 			$shortcode_args = array();
1349 1349
 			$output         = '';
1350
-			$no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1351
-			if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1350
+			$no_wrap        = isset($this->options['no_wrap']) && $this->options['no_wrap'] ? true : false;
1351
+			if (isset($args['no_wrap']) && $args['no_wrap']) {
1352 1352
 				$no_wrap = true;
1353 1353
 			}
1354
-			$main_content = $this->output( $args, $shortcode_args, $content );
1355
-			if ( $main_content && ! $no_wrap ) {
1354
+			$main_content = $this->output($args, $shortcode_args, $content);
1355
+			if ($main_content && !$no_wrap) {
1356 1356
 				// wrap the shortcode in a div with the same class as the widget
1357 1357
 				$output .= '<div class="' . $class . '" ' . $attrs . '>';
1358
-				if ( ! empty( $args['title'] ) ) {
1358
+				if (!empty($args['title'])) {
1359 1359
 					// if its a shortcode and there is a title try to grab the title wrappers
1360
-					$shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1361
-					if ( empty( $instance ) ) {
1360
+					$shortcode_args = array('before_title' => '', 'after_title' => '');
1361
+					if (empty($instance)) {
1362 1362
 						global $wp_registered_sidebars;
1363
-						if ( ! empty( $wp_registered_sidebars ) ) {
1364
-							foreach ( $wp_registered_sidebars as $sidebar ) {
1365
-								if ( ! empty( $sidebar['before_title'] ) ) {
1363
+						if (!empty($wp_registered_sidebars)) {
1364
+							foreach ($wp_registered_sidebars as $sidebar) {
1365
+								if (!empty($sidebar['before_title'])) {
1366 1366
 									$shortcode_args['before_title'] = $sidebar['before_title'];
1367 1367
 									$shortcode_args['after_title']  = $sidebar['after_title'];
1368 1368
 									break;
@@ -1370,20 +1370,20 @@  discard block
 block discarded – undo
1370 1370
 							}
1371 1371
 						}
1372 1372
 					}
1373
-					$output .= $this->output_title( $shortcode_args, $args );
1373
+					$output .= $this->output_title($shortcode_args, $args);
1374 1374
 				}
1375 1375
 				$output .= $main_content;
1376 1376
 				$output .= '</div>';
1377
-			} elseif ( $main_content && $no_wrap ) {
1377
+			} elseif ($main_content && $no_wrap) {
1378 1378
 				$output .= $main_content;
1379 1379
 			}
1380 1380
 
1381 1381
 			// if preview show a placeholder if empty
1382
-			if ( $this->is_preview() && $output == '' ) {
1383
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1382
+			if ($this->is_preview() && $output == '') {
1383
+				$output = $this->preview_placeholder_text("{{" . $this->base_id . "}}");
1384 1384
 			}
1385 1385
 
1386
-			return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1386
+			return apply_filters('wp_super_duper_widget_output', $output, $args, $shortcode_args, $this);
1387 1387
 		}
1388 1388
 
1389 1389
 		/**
@@ -1393,8 +1393,8 @@  discard block
 block discarded – undo
1393 1393
 		 *
1394 1394
 		 * @return string
1395 1395
 		 */
1396
-		public function preview_placeholder_text( $name = '' ) {
1397
-			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf( __( 'Placeholder for: %s' ), $name ) . "</div>";
1396
+		public function preview_placeholder_text($name = '') {
1397
+			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf(__('Placeholder for: %s'), $name) . "</div>";
1398 1398
 		}
1399 1399
 
1400 1400
 		/**
@@ -1404,13 +1404,13 @@  discard block
 block discarded – undo
1404 1404
 		 *
1405 1405
 		 * @return mixed
1406 1406
 		 */
1407
-		public function string_to_bool( $options ) {
1407
+		public function string_to_bool($options) {
1408 1408
 			// convert bool strings to booleans
1409
-			foreach ( $options as $key => $val ) {
1410
-				if ( $val == 'false' ) {
1411
-					$options[ $key ] = false;
1412
-				} elseif ( $val == 'true' ) {
1413
-					$options[ $key ] = true;
1409
+			foreach ($options as $key => $val) {
1410
+				if ($val == 'false') {
1411
+					$options[$key] = false;
1412
+				} elseif ($val == 'true') {
1413
+					$options[$key] = true;
1414 1414
 				}
1415 1415
 			}
1416 1416
 
@@ -1426,26 +1426,26 @@  discard block
 block discarded – undo
1426 1426
 		 *
1427 1427
 		 * @return array
1428 1428
 		 */
1429
-		public function argument_values( $instance ) {
1429
+		public function argument_values($instance) {
1430 1430
 			$argument_values = array();
1431 1431
 
1432 1432
 			// set widget instance
1433 1433
 			$this->instance = $instance;
1434 1434
 
1435
-			if ( empty( $this->arguments ) ) {
1435
+			if (empty($this->arguments)) {
1436 1436
 				$this->arguments = $this->get_arguments();
1437 1437
 			}
1438 1438
 
1439
-			if ( ! empty( $this->arguments ) ) {
1440
-				foreach ( $this->arguments as $key => $args ) {
1439
+			if (!empty($this->arguments)) {
1440
+				foreach ($this->arguments as $key => $args) {
1441 1441
 					// set the input name from the key
1442 1442
 					$args['name'] = $key;
1443 1443
 					//
1444
-					$argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1445
-					if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1444
+					$argument_values[$key] = isset($instance[$key]) ? $instance[$key] : '';
1445
+					if ($args['type'] == 'checkbox' && $argument_values[$key] == '') {
1446 1446
 						// don't set default for an empty checkbox
1447
-					} elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1448
-						$argument_values[ $key ] = $args['default'];
1447
+					} elseif ($argument_values[$key] == '' && isset($args['default'])) {
1448
+						$argument_values[$key] = $args['default'];
1449 1449
 					}
1450 1450
 				}
1451 1451
 			}
@@ -1472,12 +1472,12 @@  discard block
 block discarded – undo
1472 1472
 		 * @return array Get arguments.
1473 1473
 		 */
1474 1474
 		public function get_arguments() {
1475
-			if ( empty( $this->arguments ) ) {
1475
+			if (empty($this->arguments)) {
1476 1476
 				$this->arguments = $this->set_arguments();
1477 1477
 			}
1478 1478
 
1479
-			$this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1480
-			$this->arguments = $this->add_name_from_key( $this->arguments, true );
1479
+			$this->arguments = apply_filters('wp_super_duper_arguments', $this->arguments, $this->options, $this->instance);
1480
+			$this->arguments = $this->add_name_from_key($this->arguments, true);
1481 1481
 
1482 1482
 			return $this->arguments;
1483 1483
 		}
@@ -1489,7 +1489,7 @@  discard block
 block discarded – undo
1489 1489
 		 * @param array $widget_args
1490 1490
 		 * @param string $content
1491 1491
 		 */
1492
-		public function output( $args = array(), $widget_args = array(), $content = '' ) {
1492
+		public function output($args = array(), $widget_args = array(), $content = '') {
1493 1493
 
1494 1494
 		}
1495 1495
 
@@ -1497,9 +1497,9 @@  discard block
 block discarded – undo
1497 1497
 		 * Add the dynamic block code inline when the wp-block in enqueued.
1498 1498
 		 */
1499 1499
 		public function register_block() {
1500
-			wp_add_inline_script( 'wp-blocks', $this->block() );
1501
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
1502
-				wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1500
+			wp_add_inline_script('wp-blocks', $this->block());
1501
+			if (class_exists('SiteOrigin_Panels')) {
1502
+				wp_add_inline_script('wp-blocks', $this->siteorigin_js());
1503 1503
 			}
1504 1504
 		}
1505 1505
 
@@ -1513,13 +1513,13 @@  discard block
 block discarded – undo
1513 1513
 			$show      = false;
1514 1514
 			$arguments = $this->arguments;
1515 1515
 
1516
-			if ( empty( $arguments ) ) {
1516
+			if (empty($arguments)) {
1517 1517
 				$arguments = $this->get_arguments();
1518 1518
 			}
1519 1519
 
1520
-			if ( ! empty( $arguments ) ) {
1521
-				foreach ( $arguments as $argument ) {
1522
-					if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1520
+			if (!empty($arguments)) {
1521
+				foreach ($arguments as $argument) {
1522
+					if (isset($argument['advanced']) && $argument['advanced']) {
1523 1523
 						$show = true;
1524 1524
 						break; // no need to continue if we know we have it
1525 1525
 					}
@@ -1538,15 +1538,15 @@  discard block
 block discarded – undo
1538 1538
 
1539 1539
 			$url = $this->url;
1540 1540
 
1541
-			if ( ! $url ) {
1541
+			if (!$url) {
1542 1542
 				// check if we are inside a plugin
1543
-				$file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1543
+				$file_dir = str_replace("/includes", "", dirname(__FILE__));
1544 1544
 
1545
-				$dir_parts = explode( "/wp-content/", $file_dir );
1546
-				$url_parts = explode( "/wp-content/", plugins_url() );
1545
+				$dir_parts = explode("/wp-content/", $file_dir);
1546
+				$url_parts = explode("/wp-content/", plugins_url());
1547 1547
 
1548
-				if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1549
-					$url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1548
+				if (!empty($url_parts[0]) && !empty($dir_parts[1])) {
1549
+					$url       = trailingslashit($url_parts[0] . "/wp-content/" . $dir_parts[1]);
1550 1550
 					$this->url = $url;
1551 1551
 				}
1552 1552
 			}
@@ -1567,46 +1567,46 @@  discard block
 block discarded – undo
1567 1567
 		 * @since 1.1.0
1568 1568
 		 * @return string
1569 1569
 		 */
1570
-		public function get_block_icon( $icon ) {
1570
+		public function get_block_icon($icon) {
1571 1571
 
1572 1572
 			// check if we have a Font Awesome icon
1573 1573
 			$fa_type = '';
1574
-			if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1574
+			if (substr($icon, 0, 7) === "fas fa-") {
1575 1575
 				$fa_type = 'solid';
1576
-			} elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1576
+			} elseif (substr($icon, 0, 7) === "far fa-") {
1577 1577
 				$fa_type = 'regular';
1578
-			} elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1578
+			} elseif (substr($icon, 0, 7) === "fab fa-") {
1579 1579
 				$fa_type = 'brands';
1580 1580
 			} else {
1581 1581
 				$icon = "'" . $icon . "'";
1582 1582
 			}
1583 1583
 
1584 1584
 			// set the icon if we found one
1585
-			if ( $fa_type ) {
1586
-				$fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1585
+			if ($fa_type) {
1586
+				$fa_icon = str_replace(array("fas fa-", "far fa-", "fab fa-"), "", $icon);
1587 1587
 				$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 . "'}))";
1588 1588
 			}
1589 1589
 
1590 1590
 			return $icon;
1591 1591
 		}
1592 1592
 
1593
-		public function group_arguments( $arguments ) {
1593
+		public function group_arguments($arguments) {
1594 1594
 //			echo '###';print_r($arguments);
1595
-			if ( ! empty( $arguments ) ) {
1595
+			if (!empty($arguments)) {
1596 1596
 				$temp_arguments = array();
1597
-				$general        = __( "General" );
1597
+				$general        = __("General");
1598 1598
 				$add_sections   = false;
1599
-				foreach ( $arguments as $key => $args ) {
1600
-					if ( isset( $args['group'] ) ) {
1601
-						$temp_arguments[ $args['group'] ][ $key ] = $args;
1599
+				foreach ($arguments as $key => $args) {
1600
+					if (isset($args['group'])) {
1601
+						$temp_arguments[$args['group']][$key] = $args;
1602 1602
 						$add_sections                             = true;
1603 1603
 					} else {
1604
-						$temp_arguments[ $general ][ $key ] = $args;
1604
+						$temp_arguments[$general][$key] = $args;
1605 1605
 					}
1606 1606
 				}
1607 1607
 
1608 1608
 				// only add sections if more than one
1609
-				if ( $add_sections ) {
1609
+				if ($add_sections) {
1610 1610
 					$arguments = $temp_arguments;
1611 1611
 				}
1612 1612
 			}
@@ -1650,9 +1650,9 @@  discard block
 block discarded – undo
1650 1650
 					var prev_attributes = [];
1651 1651
 
1652 1652
 					var term_query_type = '';
1653
-					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 "[]";} ?>;
1654
-					const taxonomies_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
1655
-					const sort_by_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
1653
+					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 "[]"; } ?>;
1654
+					const taxonomies_<?php echo str_replace("-", "_", $this->id); ?> = [{label: "Please wait", value: 0}];
1655
+					const sort_by_<?php echo str_replace("-", "_", $this->id); ?> = [{label: "Please wait", value: 0}];
1656 1656
 
1657 1657
 					/**
1658 1658
 					 * Register Basic Block.
@@ -1666,30 +1666,30 @@  discard block
 block discarded – undo
1666 1666
 					 * @return {?WPBlock}          The block, if it has been successfully
1667 1667
 					 *                             registered; otherwise `undefined`.
1668 1668
 					 */
1669
-					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.
1670
-						title: '<?php echo addslashes( $this->options['name'] ); ?>', // Block title.
1671
-						description: '<?php echo addslashes( $this->options['widget_ops']['description'] )?>', // Block title.
1672
-						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/.
1669
+					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.
1670
+						title: '<?php echo addslashes($this->options['name']); ?>', // Block title.
1671
+						description: '<?php echo addslashes($this->options['widget_ops']['description'])?>', // Block title.
1672
+						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/.
1673 1673
 						supports: {
1674 1674
 							<?php
1675
-							if ( isset( $this->options['block-supports'] ) ) {
1676
-								echo $this->array_to_attributes( $this->options['block-supports'] );
1675
+							if (isset($this->options['block-supports'])) {
1676
+								echo $this->array_to_attributes($this->options['block-supports']);
1677 1677
 							}
1678 1678
 							?>
1679 1679
 						},
1680
-						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.
1681
-						<?php if ( isset( $this->options['block-keywords'] ) ) {
1680
+						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.
1681
+						<?php if (isset($this->options['block-keywords'])) {
1682 1682
 						echo "keywords : " . $this->options['block-keywords'] . ",";
1683 1683
 					}?>
1684 1684
 
1685 1685
 						<?php
1686 1686
 
1687 1687
 						// maybe set no_wrap
1688
-						$no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1689
-						if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
1688
+						$no_wrap = isset($this->options['no_wrap']) && $this->options['no_wrap'] ? true : false;
1689
+						if (isset($this->arguments['no_wrap']) && $this->arguments['no_wrap']) {
1690 1690
 							$no_wrap = true;
1691 1691
 						}
1692
-						if ( $no_wrap ) {
1692
+						if ($no_wrap) {
1693 1693
 							$this->options['block-wrap'] = '';
1694 1694
 						}
1695 1695
 
@@ -1702,10 +1702,10 @@  discard block
 block discarded – undo
1702 1702
 						echo "  html: false";
1703 1703
 						echo "},";*/
1704 1704
 
1705
-						if ( ! empty( $this->arguments ) ) {
1705
+						if (!empty($this->arguments)) {
1706 1706
 							echo "attributes : {";
1707 1707
 
1708
-							if ( $show_advanced ) {
1708
+							if ($show_advanced) {
1709 1709
 								echo "show_advanced: {";
1710 1710
 								echo "	type: 'boolean',";
1711 1711
 								echo "  default: false,";
@@ -1713,41 +1713,41 @@  discard block
 block discarded – undo
1713 1713
 							}
1714 1714
 
1715 1715
 							// block wrap element
1716
-							if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
1716
+							if (!empty($this->options['block-wrap'])) { //@todo we should validate this?
1717 1717
 								echo "block_wrap: {";
1718 1718
 								echo "	type: 'string',";
1719
-								echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
1719
+								echo "  default: '" . esc_attr($this->options['block-wrap']) . "',";
1720 1720
 								echo "},";
1721 1721
 							}
1722 1722
 
1723
-							foreach ( $this->arguments as $key => $args ) {
1723
+							foreach ($this->arguments as $key => $args) {
1724 1724
 
1725 1725
 								// set if we should show alignment
1726
-								if ( $key == 'alignment' ) {
1726
+								if ($key == 'alignment') {
1727 1727
 									$show_alignment = true;
1728 1728
 								}
1729 1729
 
1730 1730
 								$extra = '';
1731 1731
 
1732
-								if ( $args['type'] == 'checkbox' ) {
1732
+								if ($args['type'] == 'checkbox') {
1733 1733
 									$type    = 'boolean';
1734
-									$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
1735
-								} elseif ( $args['type'] == 'number' ) {
1734
+									$default = isset($args['default']) && $args['default'] ? 'true' : 'false';
1735
+								} elseif ($args['type'] == 'number') {
1736 1736
 									$type    = 'number';
1737
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1738
-								} elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
1737
+									$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
1738
+								} elseif ($args['type'] == 'select' && !empty($args['multiple'])) {
1739 1739
 									$type = 'array';
1740
-									if ( is_array( $args['default'] ) ) {
1741
-										$default = isset( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
1740
+									if (is_array($args['default'])) {
1741
+										$default = isset($args['default']) ? "['" . implode("','", $args['default']) . "']" : "[]";
1742 1742
 									} else {
1743
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1743
+										$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
1744 1744
 									}
1745
-								} elseif ( $args['type'] == 'multiselect' ) {
1745
+								} elseif ($args['type'] == 'multiselect') {
1746 1746
 									$type    = 'array';
1747
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1747
+									$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
1748 1748
 								} else {
1749 1749
 									$type    = 'string';
1750
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1750
+									$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
1751 1751
 								}
1752 1752
 								echo $key . " : {";
1753 1753
 								echo "type : '$type',";
@@ -1771,7 +1771,7 @@  discard block
 block discarded – undo
1771 1771
 							var $value = '';
1772 1772
 							<?php
1773 1773
 							// if we have a post_type and a category then link them
1774
-							if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
1774
+							if (isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked'])) {
1775 1775
 							?>
1776 1776
 							if(typeof(prev_attributes[props.id]) != 'undefined' ){
1777 1777
 								$pt = props.attributes.post_type;
@@ -1787,13 +1787,13 @@  discard block
 block discarded – undo
1787 1787
 
1788 1788
 								// taxonomies
1789 1789
 								if( $value && 'post_type' in prev_attributes[props.id] && 'category' in prev_attributes[props.id] && run ){
1790
-									wp.apiFetch({path: "<?php if(isset($this->arguments['post_type']['onchange_rest']['path'])){echo $this->arguments['post_type']['onchange_rest']['path'];}else{'/wp/v2/"+$value+"/categories';} ?>"}).then(terms => {
1791
-										while (taxonomies_<?php echo str_replace("-","_", $this->id);?>.length) {
1792
-										taxonomies_<?php echo str_replace("-","_", $this->id);?>.pop();
1790
+									wp.apiFetch({path: "<?php if (isset($this->arguments['post_type']['onchange_rest']['path'])) {echo $this->arguments['post_type']['onchange_rest']['path']; } else {'/wp/v2/"+$value+"/categories'; } ?>"}).then(terms => {
1791
+										while (taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.length) {
1792
+										taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.pop();
1793 1793
 									}
1794
-									taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: "All", value: 0});
1794
+									taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: "All", value: 0});
1795 1795
 									jQuery.each( terms, function( key, val ) {
1796
-										taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: val.name, value: val.id});
1796
+										taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val.name, value: val.id});
1797 1797
 									});
1798 1798
 
1799 1799
 									// setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options.
@@ -1801,7 +1801,7 @@  discard block
 block discarded – undo
1801 1801
 									props.setAttributes({category: [0] });
1802 1802
 									props.setAttributes({category: $old_cat_value });
1803 1803
 
1804
-									return taxonomies_<?php echo str_replace("-","_", $this->id);?>;
1804
+									return taxonomies_<?php echo str_replace("-", "_", $this->id); ?>;
1805 1805
 								});
1806 1806
 								}
1807 1807
 
@@ -1813,12 +1813,12 @@  discard block
 block discarded – undo
1813 1813
 									};
1814 1814
 									jQuery.post(ajaxurl, data, function(response) {
1815 1815
 										response = JSON.parse(response);
1816
-										while (sort_by_<?php echo str_replace("-","_", $this->id);?>.length) {
1817
-											sort_by_<?php echo str_replace("-","_", $this->id);?>.pop();
1816
+										while (sort_by_<?php echo str_replace("-", "_", $this->id); ?>.length) {
1817
+											sort_by_<?php echo str_replace("-", "_", $this->id); ?>.pop();
1818 1818
 										}
1819 1819
 
1820 1820
 										jQuery.each( response, function( key, val ) {
1821
-											sort_by_<?php echo str_replace("-","_", $this->id);?>.push({label: val, value: key});
1821
+											sort_by_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val, value: key});
1822 1822
 										});
1823 1823
 
1824 1824
 										// setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options.
@@ -1826,7 +1826,7 @@  discard block
 block discarded – undo
1826 1826
 										props.setAttributes({sort_by: [0] });
1827 1827
 										props.setAttributes({sort_by: $old_sort_by_value });
1828 1828
 
1829
-										return sort_by_<?php echo str_replace("-","_", $this->id);?>;
1829
+										return sort_by_<?php echo str_replace("-", "_", $this->id); ?>;
1830 1830
 									});
1831 1831
 
1832 1832
 								}
@@ -1853,12 +1853,12 @@  discard block
 block discarded – undo
1853 1853
 									is_fetching = true;
1854 1854
 									var data = {
1855 1855
 										'action': 'super_duper_output_shortcode',
1856
-										'shortcode': '<?php echo $this->options['base_id'];?>',
1856
+										'shortcode': '<?php echo $this->options['base_id']; ?>',
1857 1857
 										'attributes': props.attributes,
1858
-										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
1858
+										'post_id': <?php global $post; if (isset($post->ID)) {
1859 1859
 										echo $post->ID;
1860
-									}else{echo '0';}?>,
1861
-										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
1860
+									} else {echo '0'; }?>,
1861
+										'_ajax_nonce': '<?php echo wp_create_nonce('super_duper_output_shortcode'); ?>'
1862 1862
 									};
1863 1863
 
1864 1864
 									jQuery.post(ajaxurl, data, function (response) {
@@ -1867,7 +1867,7 @@  discard block
 block discarded – undo
1867 1867
 
1868 1868
 										// if the content is empty then we place some placeholder text
1869 1869
 										if (env == '') {
1870
-											env = "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" + "<?php _e( 'Placeholder for: ' );?>" + props.name + "</div>";
1870
+											env = "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" + "<?php _e('Placeholder for: '); ?>" + props.name + "</div>";
1871 1871
 										}
1872 1872
 
1873 1873
 										props.setAttributes({content: env});
@@ -1891,7 +1891,7 @@  discard block
 block discarded – undo
1891 1891
 
1892 1892
 								el(wp.blockEditor.BlockControls, {key: 'controls'},
1893 1893
 
1894
-									<?php if($show_alignment){?>
1894
+									<?php if ($show_alignment) {?>
1895 1895
 									el(
1896 1896
 										wp.blockEditor.AlignmentToolbar,
1897 1897
 										{
@@ -1909,9 +1909,9 @@  discard block
 block discarded – undo
1909 1909
 
1910 1910
 									<?php
1911 1911
 
1912
-									if(! empty( $this->arguments )){
1912
+									if (!empty($this->arguments)) {
1913 1913
 
1914
-									if ( $show_advanced ) {
1914
+									if ($show_advanced) {
1915 1915
 									?>
1916 1916
 									el('div', {
1917 1917
 											style: {'padding-left': '16px','padding-right': '16px'}
@@ -1932,19 +1932,19 @@  discard block
 block discarded – undo
1932 1932
 
1933 1933
 									}
1934 1934
 
1935
-									$arguments = $this->group_arguments( $this->arguments );
1935
+									$arguments = $this->group_arguments($this->arguments);
1936 1936
 
1937 1937
 									// Do we have sections?
1938 1938
 									$has_sections = $arguments == $this->arguments ? false : true;
1939 1939
 
1940 1940
 
1941
-									if($has_sections){
1941
+									if ($has_sections) {
1942 1942
 									$panel_count = 0;
1943
-									foreach($arguments as $key => $args){
1943
+									foreach ($arguments as $key => $args) {
1944 1944
 									?>
1945 1945
 									el(wp.components.PanelBody, {
1946
-											title: '<?php esc_attr_e( $key ); ?>',
1947
-											initialOpen: <?php if ( $panel_count ) {
1946
+											title: '<?php esc_attr_e($key); ?>',
1947
+											initialOpen: <?php if ($panel_count) {
1948 1948
 											echo "false";
1949 1949
 										} else {
1950 1950
 											echo "true";
@@ -1954,29 +1954,29 @@  discard block
 block discarded – undo
1954 1954
 
1955 1955
 
1956 1956
 
1957
-										foreach ( $args as $k => $a ) {
1957
+										foreach ($args as $k => $a) {
1958 1958
 
1959
-											$this->block_row_start( $k, $a );
1960
-											$this->build_block_arguments( $k, $a );
1961
-											$this->block_row_end( $k, $a );
1959
+											$this->block_row_start($k, $a);
1960
+											$this->build_block_arguments($k, $a);
1961
+											$this->block_row_end($k, $a);
1962 1962
 										}
1963 1963
 										?>
1964 1964
 									),
1965 1965
 									<?php
1966
-									$panel_count ++;
1966
+									$panel_count++;
1967 1967
 
1968 1968
 									}
1969
-									}else {
1969
+									} else {
1970 1970
 									?>
1971 1971
 									el(wp.components.PanelBody, {
1972
-											title: '<?php esc_attr_e( "Settings" ); ?>',
1972
+											title: '<?php esc_attr_e("Settings"); ?>',
1973 1973
 											initialOpen: true
1974 1974
 										},
1975 1975
 										<?php
1976
-										foreach ( $this->arguments as $key => $args ) {
1977
-											$this->block_row_start( $key, $args );
1978
-											$this->build_block_arguments( $key, $args );
1979
-											$this->block_row_end( $key, $args );
1976
+										foreach ($this->arguments as $key => $args) {
1977
+											$this->block_row_start($key, $args);
1978
+											$this->build_block_arguments($key, $args);
1979
+											$this->block_row_end($key, $args);
1980 1980
 										}
1981 1981
 										?>
1982 1982
 									),
@@ -1990,9 +1990,9 @@  discard block
 block discarded – undo
1990 1990
 
1991 1991
 								<?php
1992 1992
 								// If the user sets block-output array then build it
1993
-								if ( ! empty( $this->options['block-output'] ) ) {
1994
-								$this->block_element( $this->options['block-output'] );
1995
-							}else{
1993
+								if (!empty($this->options['block-output'])) {
1994
+								$this->block_element($this->options['block-output']);
1995
+							} else {
1996 1996
 								// if no block-output is set then we try and get the shortcode html output via ajax.
1997 1997
 								?>
1998 1998
 								el('div', {
@@ -2016,19 +2016,19 @@  discard block
 block discarded – undo
2016 2016
 							var align = '';
2017 2017
 
2018 2018
 							// build the shortcode.
2019
-							var content = "[<?php echo $this->options['base_id'];?>";
2019
+							var content = "[<?php echo $this->options['base_id']; ?>";
2020 2020
 							$html = '';
2021 2021
 							<?php
2022 2022
 
2023
-							if(! empty( $this->arguments )){
2023
+							if (!empty($this->arguments)) {
2024 2024
 
2025
-							foreach($this->arguments as $key => $args){
2025
+							foreach ($this->arguments as $key => $args) {
2026 2026
 							?>
2027
-							if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
2028
-								if ('<?php echo esc_attr( $key );?>' == 'html') {
2029
-									$html = attr.<?php echo esc_attr( $key );?>;
2027
+							if (attr.hasOwnProperty("<?php echo esc_attr($key); ?>")) {
2028
+								if ('<?php echo esc_attr($key); ?>' == 'html') {
2029
+									$html = attr.<?php echo esc_attr($key); ?>;
2030 2030
 								} else {
2031
-									content += " <?php echo esc_attr( $key );?>='" + attr.<?php echo esc_attr( $key );?>+ "' ";
2031
+									content += " <?php echo esc_attr($key); ?>='" + attr.<?php echo esc_attr($key); ?>+ "' ";
2032 2032
 								}
2033 2033
 							}
2034 2034
 							<?php
@@ -2040,7 +2040,7 @@  discard block
 block discarded – undo
2040 2040
 
2041 2041
 							// if has html element
2042 2042
 							if ($html) {
2043
-								content += $html + "[/<?php echo $this->options['base_id'];?>]";
2043
+								content += $html + "[/<?php echo $this->options['base_id']; ?>]";
2044 2044
 							}
2045 2045
 
2046 2046
 
@@ -2058,11 +2058,11 @@  discard block
 block discarded – undo
2058 2058
 							}
2059 2059
 
2060 2060
 							<?php
2061
-							if(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
2061
+							if (isset($this->options['block-wrap']) && $this->options['block-wrap'] == '') {
2062 2062
 							?>
2063 2063
 							return content;
2064 2064
 							<?php
2065
-							}else{
2065
+							} else {
2066 2066
 							?>
2067 2067
 							var block_wrap = 'div';
2068 2068
 							if (attr.hasOwnProperty("block_wrap")) {
@@ -2085,45 +2085,45 @@  discard block
 block discarded – undo
2085 2085
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
2086 2086
 			 */
2087 2087
 
2088
-			return str_replace( array(
2088
+			return str_replace(array(
2089 2089
 				'<script>',
2090 2090
 				'</script>'
2091
-			), '', $output );
2091
+			), '', $output);
2092 2092
 		}
2093 2093
 
2094
-		public function block_row_start($key, $args){
2094
+		public function block_row_start($key, $args) {
2095 2095
 
2096 2096
 			// check for row
2097
-			if(!empty($args['row'])){
2097
+			if (!empty($args['row'])) {
2098 2098
 
2099
-				if(!empty($args['row']['open'])){
2099
+				if (!empty($args['row']['open'])) {
2100 2100
 
2101 2101
 				// element require
2102
-				$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2102
+				$element_require = !empty($args['element_require']) ? $this->block_props_replace($args['element_require'], true) . " && " : "";
2103 2103
 				echo $element_require;
2104 2104
 
2105
-					if(false){?><script><?php }?>
2105
+					if (false) {?><script><?php }?>
2106 2106
 						el('div', {
2107 2107
 								className: 'bsui components-base-control',
2108 2108
 							},
2109
-							<?php if(!empty($args['row']['title'])){ ?>
2109
+							<?php if (!empty($args['row']['title'])) { ?>
2110 2110
 							el('label', {
2111 2111
 									className: 'components-base-control__label',
2112 2112
 								},
2113
-								'<?php echo addslashes( $args['row']['title'] ); ?>'
2113
+								'<?php echo addslashes($args['row']['title']); ?>'
2114 2114
 							),
2115 2115
 							<?php }?>
2116
-							<?php if(!empty($args['row']['desc'])){ ?>
2116
+							<?php if (!empty($args['row']['desc'])) { ?>
2117 2117
 							el('p', {
2118 2118
 									className: 'components-base-control__help mb-0',
2119 2119
 								},
2120
-								'<?php echo addslashes( $args['row']['desc'] ); ?>'
2120
+								'<?php echo addslashes($args['row']['desc']); ?>'
2121 2121
 							),
2122 2122
 							<?php }?>
2123 2123
 							el(
2124 2124
 								'div',
2125 2125
 								{
2126
-									className: 'row mb-n2 <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>',
2126
+									className: 'row mb-n2 <?php if (!empty($args['row']['class'])) { echo esc_attr($args['row']['class']); } ?>',
2127 2127
 								},
2128 2128
 								el(
2129 2129
 									'div',
@@ -2132,36 +2132,36 @@  discard block
 block discarded – undo
2132 2132
 									},
2133 2133
 
2134 2134
 					<?php
2135
-					if(false){?></script><?php }
2136
-				}elseif(!empty($args['row']['close'])){
2137
-					if(false){?><script><?php }?>
2135
+					if (false) {?></script><?php }
2136
+				}elseif (!empty($args['row']['close'])) {
2137
+					if (false) {?><script><?php }?>
2138 2138
 						el(
2139 2139
 							'div',
2140 2140
 							{
2141 2141
 								className: 'col pl-0',
2142 2142
 							},
2143 2143
 					<?php
2144
-					if(false){?></script><?php }
2145
-				}else{
2146
-					if(false){?><script><?php }?>
2144
+					if (false) {?></script><?php }
2145
+				} else {
2146
+					if (false) {?><script><?php }?>
2147 2147
 						el(
2148 2148
 							'div',
2149 2149
 							{
2150 2150
 								className: 'col pl-0 pr-2',
2151 2151
 							},
2152 2152
 					<?php
2153
-					if(false){?></script><?php }
2153
+					if (false) {?></script><?php }
2154 2154
 				}
2155 2155
 
2156 2156
 			}
2157 2157
 
2158 2158
 		}
2159 2159
 
2160
-		public function block_row_end($key, $args){
2160
+		public function block_row_end($key, $args) {
2161 2161
 
2162
-			if(!empty($args['row'])){
2162
+			if (!empty($args['row'])) {
2163 2163
 				// maybe close
2164
-				if(!empty($args['row']['close'])){
2164
+				if (!empty($args['row']['close'])) {
2165 2165
 					echo "))";
2166 2166
 				}
2167 2167
 
@@ -2169,25 +2169,25 @@  discard block
 block discarded – undo
2169 2169
 			}
2170 2170
 		}
2171 2171
 
2172
-		public function build_block_arguments( $key, $args ) {
2173
-			$custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
2172
+		public function build_block_arguments($key, $args) {
2173
+			$custom_attributes = !empty($args['custom_attributes']) ? $this->array_to_attributes($args['custom_attributes']) : '';
2174 2174
 			$options           = '';
2175 2175
 			$extra             = '';
2176 2176
 			$require           = '';
2177 2177
 
2178 2178
 			// `content` is a protected and special argument
2179
-			if ( $key == 'content' ) {
2179
+			if ($key == 'content') {
2180 2180
 				return;
2181 2181
 			}
2182 2182
 
2183 2183
 
2184 2184
 			// icon
2185 2185
 			$icon = '';
2186
-			if( !empty( $args['icon'] ) ){
2186
+			if (!empty($args['icon'])) {
2187 2187
 				$icon .= "el('div', {";
2188
-									$icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
2188
+									$icon .= "dangerouslySetInnerHTML: {__html: '" . self::get_widget_icon(esc_attr($args['icon'])) . "'},";
2189 2189
 									$icon .= "className: 'text-center',";
2190
-									$icon .= "title: '".addslashes( $args['title'] )."',";
2190
+									$icon .= "title: '" . addslashes($args['title']) . "',";
2191 2191
 								$icon .= "}),";
2192 2192
 
2193 2193
 				// blank title as its added to the icon.
@@ -2195,20 +2195,20 @@  discard block
 block discarded – undo
2195 2195
 			}
2196 2196
 
2197 2197
 			// require advanced
2198
-			$require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
2198
+			$require_advanced = !empty($args['advanced']) ? "props.attributes.show_advanced && " : "";
2199 2199
 
2200 2200
 			// element require
2201
-			$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2201
+			$element_require = !empty($args['element_require']) ? $this->block_props_replace($args['element_require'], true) . " && " : "";
2202 2202
 
2203 2203
 
2204 2204
 			$onchange  = "props.setAttributes({ $key: $key } )";
2205
-			$onchangecomplete  = "";
2205
+			$onchangecomplete = "";
2206 2206
 			$value     = "props.attributes.$key";
2207
-			$text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx' );
2208
-			if ( in_array( $args['type'], $text_type ) ) {
2207
+			$text_type = array('text', 'password', 'number', 'email', 'tel', 'url', 'colorx');
2208
+			if (in_array($args['type'], $text_type)) {
2209 2209
 				$type = 'TextControl';
2210 2210
 				// Save numbers as numbers and not strings
2211
-				if ( $args['type'] == 'number' ) {
2211
+				if ($args['type'] == 'number') {
2212 2212
 					$onchange = "props.setAttributes({ $key: Number($key) } )";
2213 2213
 				}
2214 2214
 			}
@@ -2246,11 +2246,11 @@  discard block
 block discarded – undo
2246 2246
 							return;
2247 2247
 						}
2248 2248
 			*/
2249
-			elseif ( $args['type'] == 'color' ) {
2249
+			elseif ($args['type'] == 'color') {
2250 2250
 				$type = 'ColorPicker';
2251 2251
 				$onchange = "";
2252 2252
 				$extra = "color: $value,";
2253
-				if(!empty($args['disable_alpha'])){
2253
+				if (!empty($args['disable_alpha'])) {
2254 2254
 					$extra .= "disableAlpha: true,";
2255 2255
 				}
2256 2256
 				$onchangecomplete = "onChangeComplete: function($key) {
@@ -2260,49 +2260,49 @@  discard block
 block discarded – undo
2260 2260
                         });
2261 2261
                     },";
2262 2262
 			}
2263
-			elseif ( $args['type'] == 'checkbox' ) {
2263
+			elseif ($args['type'] == 'checkbox') {
2264 2264
 				$type = 'CheckboxControl';
2265 2265
 				$extra .= "checked: props.attributes.$key,";
2266 2266
 				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
2267
-			} elseif ( $args['type'] == 'textarea' ) {
2267
+			} elseif ($args['type'] == 'textarea') {
2268 2268
 				$type = 'TextareaControl';
2269
-			} elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
2269
+			} elseif ($args['type'] == 'select' || $args['type'] == 'multiselect') {
2270 2270
 				$type = 'SelectControl';
2271 2271
 
2272
-				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
2273
-					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
2274
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
2275
-					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
2276
-				}else {
2272
+				if ($args['name'] == 'category' && !empty($args['post_type_linked'])) {
2273
+					$options .= "options: taxonomies_" . str_replace("-", "_", $this->id) . ",";
2274
+				}elseif ($args['name'] == 'sort_by' && !empty($args['post_type_linked'])) {
2275
+					$options .= "options: sort_by_" . str_replace("-", "_", $this->id) . ",";
2276
+				} else {
2277 2277
 
2278
-					if ( ! empty( $args['options'] ) ) {
2278
+					if (!empty($args['options'])) {
2279 2279
 						$options .= "options: [";
2280
-						foreach ( $args['options'] as $option_val => $option_label ) {
2281
-							$options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . addslashes( $option_label ) . "' },";
2280
+						foreach ($args['options'] as $option_val => $option_label) {
2281
+							$options .= "{ value: '" . esc_attr($option_val) . "', label: '" . addslashes($option_label) . "' },";
2282 2282
 						}
2283 2283
 						$options .= "],";
2284 2284
 					}
2285 2285
 				}
2286
-				if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
2286
+				if (isset($args['multiple']) && $args['multiple']) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
2287 2287
 					$extra .= ' multiple: true, ';
2288 2288
 				}
2289
-			} elseif ( $args['type'] == 'alignment' ) {
2289
+			} elseif ($args['type'] == 'alignment') {
2290 2290
 				$type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
2291
-			}elseif ( $args['type'] == 'margins' ) {
2291
+			}elseif ($args['type'] == 'margins') {
2292 2292
 
2293 2293
 			} else {
2294
-				return;// if we have not implemented the control then don't break the JS.
2294
+				return; // if we have not implemented the control then don't break the JS.
2295 2295
 			}
2296 2296
 
2297 2297
 
2298 2298
 
2299 2299
 			// color input does not show the labels so we add them
2300
-			if($args['type']=='color'){
2300
+			if ($args['type'] == 'color') {
2301 2301
 				// add show only if advanced
2302 2302
 				echo $require_advanced;
2303 2303
 				// add setting require if defined
2304 2304
 				echo $element_require;
2305
-				echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
2305
+				echo "el('div', {style: {'marginBottom': '8px'}}, '" . addslashes($args['title']) . "'),";
2306 2306
 			}
2307 2307
 
2308 2308
 			// add show only if advanced
@@ -2314,21 +2314,21 @@  discard block
 block discarded – undo
2314 2314
 			echo $icon;
2315 2315
 			?>
2316 2316
 			el( wp.components.<?php echo $type; ?>, {
2317
-			label: '<?php echo addslashes( $args['title'] ); ?>',
2318
-			help: '<?php if ( isset( $args['desc'] ) ) {
2319
-				echo addslashes( $args['desc'] );
2317
+			label: '<?php echo addslashes($args['title']); ?>',
2318
+			help: '<?php if (isset($args['desc'])) {
2319
+				echo addslashes($args['desc']);
2320 2320
 			} ?>',
2321 2321
 			value: <?php echo $value; ?>,
2322
-			<?php if ( $type == 'TextControl' && $args['type'] != 'text' ) {
2323
-				echo "type: '" . addslashes( $args['type'] ) . "',";
2322
+			<?php if ($type == 'TextControl' && $args['type'] != 'text') {
2323
+				echo "type: '" . addslashes($args['type']) . "',";
2324 2324
 			} ?>
2325
-			<?php if ( ! empty( $args['placeholder'] ) ) {
2326
-				echo "placeholder: '" . addslashes( $args['placeholder'] ) . "',";
2325
+			<?php if (!empty($args['placeholder'])) {
2326
+				echo "placeholder: '" . addslashes($args['placeholder']) . "',";
2327 2327
 			} ?>
2328 2328
 			<?php echo $options; ?>
2329 2329
 			<?php echo $extra; ?>
2330 2330
 			<?php echo $custom_attributes; ?>
2331
-			<?php echo $onchangecomplete;?>
2331
+			<?php echo $onchangecomplete; ?>
2332 2332
 			onChange: function ( <?php echo $key; ?> ) {
2333 2333
 			<?php echo $onchange; ?>
2334 2334
 			}
@@ -2347,16 +2347,16 @@  discard block
 block discarded – undo
2347 2347
 		 *
2348 2348
 		 * @return string
2349 2349
 		 */
2350
-		public function array_to_attributes( $custom_attributes, $html = false ) {
2350
+		public function array_to_attributes($custom_attributes, $html = false) {
2351 2351
 			$attributes = '';
2352
-			if ( ! empty( $custom_attributes ) ) {
2352
+			if (!empty($custom_attributes)) {
2353 2353
 
2354
-				if ( $html ) {
2355
-					foreach ( $custom_attributes as $key => $val ) {
2354
+				if ($html) {
2355
+					foreach ($custom_attributes as $key => $val) {
2356 2356
 						$attributes .= " $key='$val' ";
2357 2357
 					}
2358 2358
 				} else {
2359
-					foreach ( $custom_attributes as $key => $val ) {
2359
+					foreach ($custom_attributes as $key => $val) {
2360 2360
 						$attributes .= "'$key': '$val',";
2361 2361
 					}
2362 2362
 				}
@@ -2372,86 +2372,86 @@  discard block
 block discarded – undo
2372 2372
 		 *
2373 2373
 		 * @param $args
2374 2374
 		 */
2375
-		public function block_element( $args ) {
2375
+		public function block_element($args) {
2376 2376
 
2377 2377
 
2378
-			if ( ! empty( $args ) ) {
2379
-				foreach ( $args as $element => $new_args ) {
2378
+			if (!empty($args)) {
2379
+				foreach ($args as $element => $new_args) {
2380 2380
 
2381
-					if ( is_array( $new_args ) ) { // its an element
2381
+					if (is_array($new_args)) { // its an element
2382 2382
 
2383 2383
 
2384
-						if ( isset( $new_args['element'] ) ) {
2384
+						if (isset($new_args['element'])) {
2385 2385
 
2386
-							if ( isset( $new_args['element_require'] ) ) {
2387
-								echo str_replace( array(
2386
+							if (isset($new_args['element_require'])) {
2387
+								echo str_replace(array(
2388 2388
 										"'+",
2389 2389
 										"+'"
2390
-									), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
2391
-								unset( $new_args['element_require'] );
2390
+									), '', $this->block_props_replace($new_args['element_require'])) . " &&  ";
2391
+								unset($new_args['element_require']);
2392 2392
 							}
2393 2393
 
2394 2394
 							echo "\n el( '" . $new_args['element'] . "', {";
2395 2395
 
2396 2396
 							// get the attributes
2397
-							foreach ( $new_args as $new_key => $new_value ) {
2397
+							foreach ($new_args as $new_key => $new_value) {
2398 2398
 
2399 2399
 
2400
-								if ( $new_key == 'element' || $new_key == 'content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
2400
+								if ($new_key == 'element' || $new_key == 'content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array($new_value)) {
2401 2401
 									// do nothing
2402 2402
 								} else {
2403
-									echo $this->block_element( array( $new_key => $new_value ) );
2403
+									echo $this->block_element(array($new_key => $new_value));
2404 2404
 								}
2405 2405
 							}
2406 2406
 
2407
-							echo "},";// end attributes
2407
+							echo "},"; // end attributes
2408 2408
 
2409 2409
 							// get the content
2410 2410
 							$first_item = 0;
2411
-							foreach ( $new_args as $new_key => $new_value ) {
2412
-								if ( $new_key === 'content' || is_array( $new_value ) ) {
2411
+							foreach ($new_args as $new_key => $new_value) {
2412
+								if ($new_key === 'content' || is_array($new_value)) {
2413 2413
 
2414
-									if ( $new_key === 'content' ) {
2415
-										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
2414
+									if ($new_key === 'content') {
2415
+										echo "'" . $this->block_props_replace(wp_slash($new_value)) . "'";
2416 2416
 									}
2417 2417
 
2418
-									if ( is_array( $new_value ) ) {
2418
+									if (is_array($new_value)) {
2419 2419
 
2420
-										if ( isset( $new_value['element_require'] ) ) {
2421
-											echo str_replace( array(
2420
+										if (isset($new_value['element_require'])) {
2421
+											echo str_replace(array(
2422 2422
 													"'+",
2423 2423
 													"+'"
2424
-												), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
2425
-											unset( $new_value['element_require'] );
2424
+												), '', $this->block_props_replace($new_value['element_require'])) . " &&  ";
2425
+											unset($new_value['element_require']);
2426 2426
 										}
2427 2427
 
2428
-										if ( isset( $new_value['element_repeat'] ) ) {
2428
+										if (isset($new_value['element_repeat'])) {
2429 2429
 											$x = 1;
2430
-											while ( $x <= absint( $new_value['element_repeat'] ) ) {
2431
-												$this->block_element( array( '' => $new_value ) );
2432
-												$x ++;
2430
+											while ($x <= absint($new_value['element_repeat'])) {
2431
+												$this->block_element(array('' => $new_value));
2432
+												$x++;
2433 2433
 											}
2434 2434
 										} else {
2435
-											$this->block_element( array( '' => $new_value ) );
2435
+											$this->block_element(array('' => $new_value));
2436 2436
 										}
2437 2437
 									}
2438
-									$first_item ++;
2438
+									$first_item++;
2439 2439
 								}
2440 2440
 							}
2441 2441
 
2442
-							echo ")";// end content
2442
+							echo ")"; // end content
2443 2443
 
2444 2444
 							echo ", \n";
2445 2445
 
2446 2446
 						}
2447 2447
 					} else {
2448 2448
 
2449
-						if ( substr( $element, 0, 3 ) === "if_" ) {
2450
-							echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
2451
-						} elseif ( $element == 'style' ) {
2452
-							echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
2449
+						if (substr($element, 0, 3) === "if_") {
2450
+							echo str_replace("if_", "", $element) . ": " . $this->block_props_replace($new_args, true) . ",";
2451
+						} elseif ($element == 'style') {
2452
+							echo $element . ": " . $this->block_props_replace($new_args) . ",";
2453 2453
 						} else {
2454
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
2454
+							echo $element . ": '" . $this->block_props_replace($new_args) . "',";
2455 2455
 						}
2456 2456
 
2457 2457
 					}
@@ -2466,12 +2466,12 @@  discard block
 block discarded – undo
2466 2466
 		 *
2467 2467
 		 * @return mixed
2468 2468
 		 */
2469
-		public function block_props_replace( $string, $no_wrap = false ) {
2469
+		public function block_props_replace($string, $no_wrap = false) {
2470 2470
 
2471
-			if ( $no_wrap ) {
2472
-				$string = str_replace( array( "[%", "%]" ), array( "props.attributes.", "" ), $string );
2471
+			if ($no_wrap) {
2472
+				$string = str_replace(array("[%", "%]"), array("props.attributes.", ""), $string);
2473 2473
 			} else {
2474
-				$string = str_replace( array( "[%", "%]" ), array( "'+props.attributes.", "+'" ), $string );
2474
+				$string = str_replace(array("[%", "%]"), array("'+props.attributes.", "+'"), $string);
2475 2475
 			}
2476 2476
 
2477 2477
 			return $string;
@@ -2483,55 +2483,55 @@  discard block
 block discarded – undo
2483 2483
 		 * @param array $args
2484 2484
 		 * @param array $instance
2485 2485
 		 */
2486
-		public function widget( $args, $instance ) {
2486
+		public function widget($args, $instance) {
2487 2487
 
2488 2488
 			// get the filtered values
2489
-			$argument_values = $this->argument_values( $instance );
2490
-			$argument_values = $this->string_to_bool( $argument_values );
2491
-			$output          = $this->output( $argument_values, $args );
2489
+			$argument_values = $this->argument_values($instance);
2490
+			$argument_values = $this->string_to_bool($argument_values);
2491
+			$output          = $this->output($argument_values, $args);
2492 2492
 
2493 2493
 			$no_wrap = false;
2494
-			if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
2494
+			if (isset($argument_values['no_wrap']) && $argument_values['no_wrap']) {
2495 2495
 				$no_wrap = true;
2496 2496
 			}
2497 2497
 
2498 2498
 			ob_start();
2499
-			if ( $output && ! $no_wrap ) {
2499
+			if ($output && !$no_wrap) {
2500 2500
 
2501 2501
 				$class_original = $this->options['widget_ops']['classname'];
2502
-				$class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
2502
+				$class = $this->options['widget_ops']['classname'] . " sdel-" . $this->get_instance_hash();
2503 2503
 
2504 2504
 				// Before widget
2505 2505
 				$before_widget = $args['before_widget'];
2506
-				$before_widget = str_replace($class_original,$class,$before_widget);
2507
-				$before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
2508
-				$before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
2506
+				$before_widget = str_replace($class_original, $class, $before_widget);
2507
+				$before_widget = apply_filters('wp_super_duper_before_widget', $before_widget, $args, $instance, $this);
2508
+				$before_widget = apply_filters('wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this);
2509 2509
 
2510 2510
 				// After widget
2511 2511
 				$after_widget = $args['after_widget'];
2512
-				$after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
2513
-				$after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
2512
+				$after_widget = apply_filters('wp_super_duper_after_widget', $after_widget, $args, $instance, $this);
2513
+				$after_widget = apply_filters('wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this);
2514 2514
 
2515 2515
 				echo $before_widget;
2516 2516
 				// elementor strips the widget wrapping div so we check for and add it back if needed
2517
-				if ( $this->is_elementor_widget_output() ) {
2518
-					echo ! empty( $this->options['widget_ops']['classname'] ) ? "<span class='" . esc_attr( $class  ) . "'>" : '';
2517
+				if ($this->is_elementor_widget_output()) {
2518
+					echo !empty($this->options['widget_ops']['classname']) ? "<span class='" . esc_attr($class) . "'>" : '';
2519 2519
 				}
2520
-				echo $this->output_title( $args, $instance );
2520
+				echo $this->output_title($args, $instance);
2521 2521
 				echo $output;
2522
-				if ( $this->is_elementor_widget_output() ) {
2523
-					echo ! empty( $this->options['widget_ops']['classname'] ) ? "</span>" : '';
2522
+				if ($this->is_elementor_widget_output()) {
2523
+					echo !empty($this->options['widget_ops']['classname']) ? "</span>" : '';
2524 2524
 				}
2525 2525
 				echo $after_widget;
2526
-			} elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
2527
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
2526
+			} elseif ($this->is_preview() && $output == '') {// if preview show a placeholder if empty
2527
+				$output = $this->preview_placeholder_text("{{" . $this->base_id . "}}");
2528 2528
 				echo $output;
2529
-			} elseif ( $output && $no_wrap ) {
2529
+			} elseif ($output && $no_wrap) {
2530 2530
 				echo $output;
2531 2531
 			}
2532 2532
 			$output = ob_get_clean();
2533 2533
 
2534
-			$output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
2534
+			$output = apply_filters('wp_super_duper_widget_output', $output, $instance, $args, $this);
2535 2535
 
2536 2536
 			echo $output;
2537 2537
 		}
@@ -2544,7 +2544,7 @@  discard block
 block discarded – undo
2544 2544
 		 */
2545 2545
 		public function is_elementor_widget_output() {
2546 2546
 			$result = false;
2547
-			if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
2547
+			if (defined('ELEMENTOR_VERSION') && isset($this->number) && $this->number == 'REPLACE_TO_ID') {
2548 2548
 				$result = true;
2549 2549
 			}
2550 2550
 
@@ -2559,7 +2559,7 @@  discard block
 block discarded – undo
2559 2559
 		 */
2560 2560
 		public function is_elementor_preview() {
2561 2561
 			$result = false;
2562
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
2562
+			if (isset($_REQUEST['elementor-preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') || (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor_ajax')) {
2563 2563
 				$result = true;
2564 2564
 			}
2565 2565
 
@@ -2574,7 +2574,7 @@  discard block
 block discarded – undo
2574 2574
 		 */
2575 2575
 		public function is_divi_preview() {
2576 2576
 			$result = false;
2577
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
2577
+			if (isset($_REQUEST['et_fb']) || isset($_REQUEST['et_pb_preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor')) {
2578 2578
 				$result = true;
2579 2579
 			}
2580 2580
 
@@ -2589,7 +2589,7 @@  discard block
 block discarded – undo
2589 2589
 		 */
2590 2590
 		public function is_beaver_preview() {
2591 2591
 			$result = false;
2592
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
2592
+			if (isset($_REQUEST['fl_builder'])) {
2593 2593
 				$result = true;
2594 2594
 			}
2595 2595
 
@@ -2604,7 +2604,7 @@  discard block
 block discarded – undo
2604 2604
 		 */
2605 2605
 		public function is_siteorigin_preview() {
2606 2606
 			$result = false;
2607
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
2607
+			if (!empty($_REQUEST['siteorigin_panels_live_editor'])) {
2608 2608
 				$result = true;
2609 2609
 			}
2610 2610
 
@@ -2619,7 +2619,7 @@  discard block
 block discarded – undo
2619 2619
 		 */
2620 2620
 		public function is_cornerstone_preview() {
2621 2621
 			$result = false;
2622
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
2622
+			if (!empty($_REQUEST['cornerstone_preview']) || basename($_SERVER['REQUEST_URI']) == 'cornerstone-endpoint') {
2623 2623
 				$result = true;
2624 2624
 			}
2625 2625
 
@@ -2634,7 +2634,7 @@  discard block
 block discarded – undo
2634 2634
 		 */
2635 2635
 		public function is_fusion_preview() {
2636 2636
 			$result = false;
2637
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
2637
+			if (!empty($_REQUEST['fb-edit']) || !empty($_REQUEST['fusion_load_nonce'])) {
2638 2638
 				$result = true;
2639 2639
 			}
2640 2640
 
@@ -2649,7 +2649,7 @@  discard block
 block discarded – undo
2649 2649
 		 */
2650 2650
 		public function is_oxygen_preview() {
2651 2651
 			$result = false;
2652
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
2652
+			if (!empty($_REQUEST['ct_builder']) || (!empty($_REQUEST['action']) && (substr($_REQUEST['action'], 0, 11) === "oxy_render_" || substr($_REQUEST['action'], 0, 10) === "ct_render_"))) {
2653 2653
 				$result = true;
2654 2654
 			}
2655 2655
 
@@ -2664,21 +2664,21 @@  discard block
 block discarded – undo
2664 2664
 		 */
2665 2665
 		public function is_preview() {
2666 2666
 			$preview = false;
2667
-			if ( $this->is_divi_preview() ) {
2667
+			if ($this->is_divi_preview()) {
2668 2668
 				$preview = true;
2669
-			} elseif ( $this->is_elementor_preview() ) {
2669
+			} elseif ($this->is_elementor_preview()) {
2670 2670
 				$preview = true;
2671
-			} elseif ( $this->is_beaver_preview() ) {
2671
+			} elseif ($this->is_beaver_preview()) {
2672 2672
 				$preview = true;
2673
-			} elseif ( $this->is_siteorigin_preview() ) {
2673
+			} elseif ($this->is_siteorigin_preview()) {
2674 2674
 				$preview = true;
2675
-			} elseif ( $this->is_cornerstone_preview() ) {
2675
+			} elseif ($this->is_cornerstone_preview()) {
2676 2676
 				$preview = true;
2677
-			} elseif ( $this->is_fusion_preview() ) {
2677
+			} elseif ($this->is_fusion_preview()) {
2678 2678
 				$preview = true;
2679
-			} elseif ( $this->is_oxygen_preview() ) {
2679
+			} elseif ($this->is_oxygen_preview()) {
2680 2680
 				$preview = true;
2681
-			} elseif( $this->is_block_content_call() ) {
2681
+			} elseif ($this->is_block_content_call()) {
2682 2682
 				$preview = true;
2683 2683
 			}
2684 2684
 
@@ -2693,34 +2693,34 @@  discard block
 block discarded – undo
2693 2693
 		 *
2694 2694
 		 * @return string
2695 2695
 		 */
2696
-		public function output_title( $args, $instance = array() ) {
2696
+		public function output_title($args, $instance = array()) {
2697 2697
 			$output = '';
2698
-			if ( ! empty( $instance['title'] ) ) {
2698
+			if (!empty($instance['title'])) {
2699 2699
 				/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
2700
-				$title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
2700
+				$title = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);
2701 2701
 
2702
-				if(empty($instance['widget_title_tag'])){
2702
+				if (empty($instance['widget_title_tag'])) {
2703 2703
 					$output = $args['before_title'] . $title . $args['after_title'];
2704
-				}else{
2705
-					$title_tag = esc_attr( $instance['widget_title_tag'] );
2704
+				} else {
2705
+					$title_tag = esc_attr($instance['widget_title_tag']);
2706 2706
 
2707 2707
 					// classes
2708 2708
 					$title_classes = array();
2709
-					$title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
2710
-					$title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
2711
-					$title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
2712
-					$title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
2713
-					$title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
2714
-					$title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
2715
-					$title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
2716
-					$title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
2717
-					$title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
2718
-					$title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
2719
-					$title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
2720
-					$title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
2721
-					$title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
2722
-
2723
-					$class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
2709
+					$title_classes[] = !empty($instance['widget_title_size_class']) ? sanitize_html_class($instance['widget_title_size_class']) : '';
2710
+					$title_classes[] = !empty($instance['widget_title_align_class']) ? sanitize_html_class($instance['widget_title_align_class']) : '';
2711
+					$title_classes[] = !empty($instance['widget_title_color_class']) ? "text-" . sanitize_html_class($instance['widget_title_color_class']) : '';
2712
+					$title_classes[] = !empty($instance['widget_title_border_class']) ? sanitize_html_class($instance['widget_title_border_class']) : '';
2713
+					$title_classes[] = !empty($instance['widget_title_border_color_class']) ? "border-" . sanitize_html_class($instance['widget_title_border_color_class']) : '';
2714
+					$title_classes[] = !empty($instance['widget_title_mt_class']) ? "mt-" . absint($instance['widget_title_mt_class']) : '';
2715
+					$title_classes[] = !empty($instance['widget_title_mr_class']) ? "mr-" . absint($instance['widget_title_mr_class']) : '';
2716
+					$title_classes[] = !empty($instance['widget_title_mb_class']) ? "mb-" . absint($instance['widget_title_mb_class']) : '';
2717
+					$title_classes[] = !empty($instance['widget_title_ml_class']) ? "ml-" . absint($instance['widget_title_ml_class']) : '';
2718
+					$title_classes[] = !empty($instance['widget_title_pt_class']) ? "pt-" . absint($instance['widget_title_pt_class']) : '';
2719
+					$title_classes[] = !empty($instance['widget_title_pr_class']) ? "pr-" . absint($instance['widget_title_pr_class']) : '';
2720
+					$title_classes[] = !empty($instance['widget_title_pb_class']) ? "pb-" . absint($instance['widget_title_pb_class']) : '';
2721
+					$title_classes[] = !empty($instance['widget_title_pl_class']) ? "pl-" . absint($instance['widget_title_pl_class']) : '';
2722
+
2723
+					$class = !empty($title_classes) ? implode(" ", $title_classes) : '';
2724 2724
 					$output = "<$title_tag class='$class' >$title</$title_tag>";
2725 2725
 				}
2726 2726
 
@@ -2734,7 +2734,7 @@  discard block
 block discarded – undo
2734 2734
 		 *
2735 2735
 		 * @param array $instance The widget options.
2736 2736
 		 */
2737
-		public function form( $instance ) {
2737
+		public function form($instance) {
2738 2738
 
2739 2739
 			// set widget instance
2740 2740
 			$this->instance = $instance;
@@ -2742,20 +2742,20 @@  discard block
 block discarded – undo
2742 2742
 			// set it as a SD widget
2743 2743
 			echo $this->widget_advanced_toggle();
2744 2744
 
2745
-			echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
2745
+			echo "<p>" . esc_attr($this->options['widget_ops']['description']) . "</p>";
2746 2746
 			$arguments_raw = $this->get_arguments();
2747 2747
 
2748
-			if ( is_array( $arguments_raw ) ) {
2748
+			if (is_array($arguments_raw)) {
2749 2749
 
2750
-				$arguments = $this->group_arguments( $arguments_raw );
2750
+				$arguments = $this->group_arguments($arguments_raw);
2751 2751
 
2752 2752
 				// Do we have sections?
2753 2753
 				$has_sections = $arguments == $arguments_raw ? false : true;
2754 2754
 
2755 2755
 
2756
-				if ( $has_sections ) {
2756
+				if ($has_sections) {
2757 2757
 					$panel_count = 0;
2758
-					foreach ( $arguments as $key => $args ) {
2758
+					foreach ($arguments as $key => $args) {
2759 2759
 
2760 2760
 						?>
2761 2761
 						<script>
@@ -2765,26 +2765,26 @@  discard block
 block discarded – undo
2765 2765
 
2766 2766
 						$hide       = $panel_count ? ' style="display:none;" ' : '';
2767 2767
 						$icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
2768
-						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>";
2769
-						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
2768
+						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>";
2769
+						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes($key) . "' $hide>";
2770 2770
 
2771
-						foreach ( $args as $k => $a ) {
2771
+						foreach ($args as $k => $a) {
2772 2772
 
2773 2773
 							$this->widget_inputs_row_start($k, $a);
2774
-							$this->widget_inputs( $a, $instance );
2774
+							$this->widget_inputs($a, $instance);
2775 2775
 							$this->widget_inputs_row_end($k, $a);
2776 2776
 
2777 2777
 						}
2778 2778
 
2779 2779
 						echo "</div>";
2780 2780
 
2781
-						$panel_count ++;
2781
+						$panel_count++;
2782 2782
 
2783 2783
 					}
2784 2784
 				} else {
2785
-					foreach ( $arguments as $key => $args ) {
2785
+					foreach ($arguments as $key => $args) {
2786 2786
 						$this->widget_inputs_row_start($key, $args);
2787
-						$this->widget_inputs( $args, $instance );
2787
+						$this->widget_inputs($args, $instance);
2788 2788
 						$this->widget_inputs_row_end($key, $args);
2789 2789
 					}
2790 2790
 				}
@@ -2792,33 +2792,33 @@  discard block
 block discarded – undo
2792 2792
 			}
2793 2793
 		}
2794 2794
 
2795
-		public function widget_inputs_row_start($key, $args){
2796
-			if(!empty($args['row'])){
2795
+		public function widget_inputs_row_start($key, $args) {
2796
+			if (!empty($args['row'])) {
2797 2797
 				// maybe open
2798
-				if(!empty($args['row']['open'])){
2798
+				if (!empty($args['row']['open'])) {
2799 2799
 					?>
2800
-					<div class='bsui sd-argument ' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php if ( !empty($args['row']['element_require'])) {
2801
-						echo $this->convert_element_require( $args['row']['element_require'] );
2800
+					<div class='bsui sd-argument ' data-argument='<?php echo esc_attr($args['row']['key']); ?>' data-element_require='<?php if (!empty($args['row']['element_require'])) {
2801
+						echo $this->convert_element_require($args['row']['element_require']);
2802 2802
 					} ?>'>
2803
-					<?php if(!empty($args['row']['title'])){ ?>
2804
-					<label class="mb-0 "><?php echo esc_attr( $args['row']['title'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label>
2803
+					<?php if (!empty($args['row']['title'])) { ?>
2804
+					<label class="mb-0 "><?php echo esc_attr($args['row']['title']); ?><?php echo $this->widget_field_desc($args['row']); ?></label>
2805 2805
 					<?php }?>
2806
-					<div class='row <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>'>
2806
+					<div class='row <?php if (!empty($args['row']['class'])) { echo esc_attr($args['row']['class']); } ?>'>
2807 2807
 					<div class='col pr-2'>
2808 2808
 					<?php
2809
-				}elseif(!empty($args['row']['close'])){
2809
+				}elseif (!empty($args['row']['close'])) {
2810 2810
 					echo "<div class='col pl-0'>";
2811
-				}else{
2811
+				} else {
2812 2812
 					echo "<div class='col pl-0 pr-2'>";
2813 2813
 				}
2814 2814
 			}
2815 2815
 		}
2816 2816
 
2817
-		public function widget_inputs_row_end($key, $args){
2817
+		public function widget_inputs_row_end($key, $args) {
2818 2818
 
2819
-			if(!empty($args['row'])){
2819
+			if (!empty($args['row'])) {
2820 2820
 				// maybe close
2821
-				if(!empty($args['row']['close'])){
2821
+				if (!empty($args['row']['close'])) {
2822 2822
 					echo "</div></div>";
2823 2823
 				}
2824 2824
 
@@ -2834,7 +2834,7 @@  discard block
 block discarded – undo
2834 2834
 		public function widget_advanced_toggle() {
2835 2835
 
2836 2836
 			$output = '';
2837
-			if ( $this->block_show_advanced() ) {
2837
+			if ($this->block_show_advanced()) {
2838 2838
 				$val = 1;
2839 2839
 			} else {
2840 2840
 				$val = 0;
@@ -2854,14 +2854,14 @@  discard block
 block discarded – undo
2854 2854
 		 *
2855 2855
 		 * @return string $output
2856 2856
 		 */
2857
-		public function convert_element_require( $input ) {
2857
+		public function convert_element_require($input) {
2858 2858
 
2859
-			$input = str_replace( "'", '"', $input );// we only want double quotes
2859
+			$input = str_replace("'", '"', $input); // we only want double quotes
2860 2860
 
2861
-			$output = esc_attr( str_replace( array( "[%", "%]" ), array(
2861
+			$output = esc_attr(str_replace(array("[%", "%]"), array(
2862 2862
 				"jQuery(form).find('[data-argument=\"",
2863 2863
 				"\"]').find('input,select,textarea').val()"
2864
-			), $input ) );
2864
+			), $input));
2865 2865
 
2866 2866
 			return $output;
2867 2867
 		}
@@ -2872,56 +2872,56 @@  discard block
 block discarded – undo
2872 2872
 		 * @param $args
2873 2873
 		 * @param $instance
2874 2874
 		 */
2875
-		public function widget_inputs( $args, $instance ) {
2875
+		public function widget_inputs($args, $instance) {
2876 2876
 
2877 2877
 			$class             = "";
2878 2878
 			$element_require   = "";
2879 2879
 			$custom_attributes = "";
2880 2880
 
2881 2881
 			// get value
2882
-			if ( isset( $instance[ $args['name'] ] ) ) {
2883
-				$value = $instance[ $args['name'] ];
2884
-			} elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
2885
-				$value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
2882
+			if (isset($instance[$args['name']])) {
2883
+				$value = $instance[$args['name']];
2884
+			} elseif (!isset($instance[$args['name']]) && !empty($args['default'])) {
2885
+				$value = is_array($args['default']) ? array_map("esc_html", $args['default']) : esc_html($args['default']);
2886 2886
 			} else {
2887 2887
 				$value = '';
2888 2888
 			}
2889 2889
 
2890 2890
 			// get placeholder
2891
-			if ( ! empty( $args['placeholder'] ) ) {
2892
-				$placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
2891
+			if (!empty($args['placeholder'])) {
2892
+				$placeholder = "placeholder='" . esc_html($args['placeholder']) . "'";
2893 2893
 			} else {
2894 2894
 				$placeholder = '';
2895 2895
 			}
2896 2896
 
2897 2897
 			// get if advanced
2898
-			if ( isset( $args['advanced'] ) && $args['advanced'] ) {
2898
+			if (isset($args['advanced']) && $args['advanced']) {
2899 2899
 				$class .= " sd-advanced-setting ";
2900 2900
 			}
2901 2901
 
2902 2902
 			// element_require
2903
-			if ( isset( $args['element_require'] ) && $args['element_require'] ) {
2903
+			if (isset($args['element_require']) && $args['element_require']) {
2904 2904
 				$element_require = $args['element_require'];
2905 2905
 			}
2906 2906
 
2907 2907
 			// custom_attributes
2908
-			if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
2909
-				$custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
2908
+			if (isset($args['custom_attributes']) && $args['custom_attributes']) {
2909
+				$custom_attributes = $this->array_to_attributes($args['custom_attributes'], true);
2910 2910
 			}
2911 2911
 
2912 2912
 
2913 2913
 			// before wrapper
2914 2914
 			?>
2915
-			<p class="sd-argument <?php echo esc_attr( $class ); ?>"
2916
-			data-argument='<?php echo esc_attr( $args['name'] ); ?>'
2917
-			data-element_require='<?php if ( $element_require ) {
2918
-				echo $this->convert_element_require( $element_require );
2915
+			<p class="sd-argument <?php echo esc_attr($class); ?>"
2916
+			data-argument='<?php echo esc_attr($args['name']); ?>'
2917
+			data-element_require='<?php if ($element_require) {
2918
+				echo $this->convert_element_require($element_require);
2919 2919
 			} ?>'
2920 2920
 			>
2921 2921
 			<?php
2922 2922
 
2923 2923
 
2924
-			switch ( $args['type'] ) {
2924
+			switch ($args['type']) {
2925 2925
 				//array('text','password','number','email','tel','url','color')
2926 2926
 				case "text":
2927 2927
 				case "password":
@@ -2932,46 +2932,46 @@  discard block
 block discarded – undo
2932 2932
 				case "color":
2933 2933
 					?>
2934 2934
 					<label
2935
-						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>
2935
+						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>
2936 2936
 					<input <?php echo $placeholder; ?> class="widefat"
2937 2937
 						<?php echo $custom_attributes; ?>
2938
-						                               id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
2939
-						                               name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>"
2940
-						                               type="<?php echo esc_attr( $args['type'] ); ?>"
2941
-						                               value="<?php echo esc_attr( $value ); ?>">
2938
+						                               id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"
2939
+						                               name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>"
2940
+						                               type="<?php echo esc_attr($args['type']); ?>"
2941
+						                               value="<?php echo esc_attr($value); ?>">
2942 2942
 					<?php
2943 2943
 
2944 2944
 					break;
2945 2945
 				case "select":
2946
-					$multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
2947
-					if ( $multiple ) {
2948
-						if ( empty( $value ) ) {
2946
+					$multiple = isset($args['multiple']) && $args['multiple'] ? true : false;
2947
+					if ($multiple) {
2948
+						if (empty($value)) {
2949 2949
 							$value = array();
2950 2950
 						}
2951 2951
 					}
2952 2952
 					?>
2953 2953
 					<label
2954
-						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>
2954
+						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>
2955 2955
 					<select <?php echo $placeholder; ?> class="widefat"
2956 2956
 						<?php echo $custom_attributes; ?>
2957
-						                                id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
2958
-						                                name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) );
2959
-						                                if ( $multiple ) {
2957
+						                                id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"
2958
+						                                name="<?php echo esc_attr($this->get_field_name($args['name']));
2959
+						                                if ($multiple) {
2960 2960
 							                                echo "[]";
2961 2961
 						                                } ?>"
2962
-						<?php if ( $multiple ) {
2962
+						<?php if ($multiple) {
2963 2963
 							echo "multiple";
2964 2964
 						} //@todo not implemented yet due to gutenberg not supporting it
2965 2965
 						?>
2966 2966
 					>
2967 2967
 						<?php
2968 2968
 
2969
-						if ( ! empty( $args['options'] ) ) {
2970
-							foreach ( $args['options'] as $val => $label ) {
2971
-								if ( $multiple ) {
2972
-									$selected = in_array( $val, $value ) ? 'selected="selected"' : '';
2969
+						if (!empty($args['options'])) {
2970
+							foreach ($args['options'] as $val => $label) {
2971
+								if ($multiple) {
2972
+									$selected = in_array($val, $value) ? 'selected="selected"' : '';
2973 2973
 								} else {
2974
-									$selected = selected( $value, $val, false );
2974
+									$selected = selected($value, $val, false);
2975 2975
 								}
2976 2976
 								echo "<option value='$val' " . $selected . ">$label</option>";
2977 2977
 							}
@@ -2983,32 +2983,32 @@  discard block
 block discarded – undo
2983 2983
 				case "checkbox":
2984 2984
 					?>
2985 2985
 					<input <?php echo $placeholder; ?>
2986
-						<?php checked( 1, $value, true ) ?>
2986
+						<?php checked(1, $value, true) ?>
2987 2987
 						<?php echo $custom_attributes; ?>
2988
-						class="widefat" id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
2989
-						name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="checkbox"
2988
+						class="widefat" id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"
2989
+						name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="checkbox"
2990 2990
 						value="1">
2991 2991
 					<label
2992
-						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>
2992
+						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>
2993 2993
 					<?php
2994 2994
 					break;
2995 2995
 				case "textarea":
2996 2996
 					?>
2997 2997
 					<label
2998
-						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>
2998
+						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>
2999 2999
 					<textarea <?php echo $placeholder; ?> class="widefat"
3000 3000
 						<?php echo $custom_attributes; ?>
3001
-						                                  id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
3002
-						                                  name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>"
3003
-					><?php echo esc_attr( $value ); ?></textarea>
3001
+						                                  id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"
3002
+						                                  name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>"
3003
+					><?php echo esc_attr($value); ?></textarea>
3004 3004
 					<?php
3005 3005
 
3006 3006
 					break;
3007 3007
 				case "hidden":
3008 3008
 					?>
3009
-					<input id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
3010
-					       name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="hidden"
3011
-					       value="<?php echo esc_attr( $value ); ?>">
3009
+					<input id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"
3010
+					       name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="hidden"
3011
+					       value="<?php echo esc_attr($value); ?>">
3012 3012
 					<?php
3013 3013
 					break;
3014 3014
 				default:
@@ -3023,15 +3023,15 @@  discard block
 block discarded – undo
3023 3023
 
3024 3024
 		}
3025 3025
 
3026
-		public function get_widget_icon($icon = 'box-top', $title = ''){
3027
-			if($icon=='box-top'){
3028
-				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>';
3029
-			}elseif($icon=='box-right'){
3030
-				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>';
3031
-			}elseif($icon=='box-bottom'){
3032
-				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>';
3033
-			}elseif($icon=='box-left'){
3034
-				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>';
3026
+		public function get_widget_icon($icon = 'box-top', $title = '') {
3027
+			if ($icon == 'box-top') {
3028
+				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>';
3029
+			}elseif ($icon == 'box-right') {
3030
+				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>';
3031
+			}elseif ($icon == 'box-bottom') {
3032
+				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>';
3033
+			}elseif ($icon == 'box-left') {
3034
+				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>';
3035 3035
 			}
3036 3036
 		}
3037 3037
 
@@ -3043,14 +3043,14 @@  discard block
 block discarded – undo
3043 3043
 		 * @return string
3044 3044
 		 * @todo, need to make its own tooltip script
3045 3045
 		 */
3046
-		public function widget_field_desc( $args ) {
3046
+		public function widget_field_desc($args) {
3047 3047
 
3048 3048
 			$description = '';
3049
-			if ( isset( $args['desc'] ) && $args['desc'] ) {
3050
-				if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
3051
-					$description = $this->desc_tip( $args['desc'] );
3049
+			if (isset($args['desc']) && $args['desc']) {
3050
+				if (isset($args['desc_tip']) && $args['desc_tip']) {
3051
+					$description = $this->desc_tip($args['desc']);
3052 3052
 				} else {
3053
-					$description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
3053
+					$description = '<span class="description">' . wp_kses_post($args['desc']) . '</span>';
3054 3054
 				}
3055 3055
 			}
3056 3056
 
@@ -3064,12 +3064,12 @@  discard block
 block discarded – undo
3064 3064
 		 *
3065 3065
 		 * @return string
3066 3066
 		 */
3067
-		public function widget_field_title( $args ) {
3067
+		public function widget_field_title($args) {
3068 3068
 
3069 3069
 			$title = '';
3070
-			if ( isset( $args['title'] ) && $args['title'] ) {
3071
-				if ( isset( $args['icon'] ) && $args['icon'] ) {
3072
-					$title = self::get_widget_icon( $args['icon'], $args['title']  );
3070
+			if (isset($args['title']) && $args['title']) {
3071
+				if (isset($args['icon']) && $args['icon']) {
3072
+					$title = self::get_widget_icon($args['icon'], $args['title']);
3073 3073
 				} else {
3074 3074
 					$title = esc_attr($args['title']);
3075 3075
 				}
@@ -3086,11 +3086,11 @@  discard block
 block discarded – undo
3086 3086
 		 *
3087 3087
 		 * @return string
3088 3088
 		 */
3089
-		function desc_tip( $tip, $allow_html = false ) {
3090
-			if ( $allow_html ) {
3091
-				$tip = $this->sanitize_tooltip( $tip );
3089
+		function desc_tip($tip, $allow_html = false) {
3090
+			if ($allow_html) {
3091
+				$tip = $this->sanitize_tooltip($tip);
3092 3092
 			} else {
3093
-				$tip = esc_attr( $tip );
3093
+				$tip = esc_attr($tip);
3094 3094
 			}
3095 3095
 
3096 3096
 			return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
@@ -3103,8 +3103,8 @@  discard block
 block discarded – undo
3103 3103
 		 *
3104 3104
 		 * @return string
3105 3105
 		 */
3106
-		public function sanitize_tooltip( $var ) {
3107
-			return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
3106
+		public function sanitize_tooltip($var) {
3107
+			return htmlspecialchars(wp_kses(html_entity_decode($var), array(
3108 3108
 				'br'     => array(),
3109 3109
 				'em'     => array(),
3110 3110
 				'strong' => array(),
@@ -3114,7 +3114,7 @@  discard block
 block discarded – undo
3114 3114
 				'li'     => array(),
3115 3115
 				'ol'     => array(),
3116 3116
 				'p'      => array(),
3117
-			) ) );
3117
+			)));
3118 3118
 		}
3119 3119
 
3120 3120
 		/**
@@ -3126,23 +3126,23 @@  discard block
 block discarded – undo
3126 3126
 		 * @return array
3127 3127
 		 * @todo we should add some sanitation here.
3128 3128
 		 */
3129
-		public function update( $new_instance, $old_instance ) {
3129
+		public function update($new_instance, $old_instance) {
3130 3130
 
3131 3131
 			//save the widget
3132
-			$instance = array_merge( (array) $old_instance, (array) $new_instance );
3132
+			$instance = array_merge((array) $old_instance, (array) $new_instance);
3133 3133
 
3134 3134
 			// set widget instance
3135 3135
 			$this->instance = $instance;
3136 3136
 
3137
-			if ( empty( $this->arguments ) ) {
3137
+			if (empty($this->arguments)) {
3138 3138
 				$this->get_arguments();
3139 3139
 			}
3140 3140
 
3141 3141
 			// check for checkboxes
3142
-			if ( ! empty( $this->arguments ) ) {
3143
-				foreach ( $this->arguments as $argument ) {
3144
-					if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
3145
-						$instance[ $argument['name'] ] = '0';
3142
+			if (!empty($this->arguments)) {
3143
+				foreach ($this->arguments as $argument) {
3144
+					if (isset($argument['type']) && $argument['type'] == 'checkbox' && !isset($new_instance[$argument['name']])) {
3145
+						$instance[$argument['name']] = '0';
3146 3146
 					}
3147 3147
 				}
3148 3148
 			}
@@ -3160,7 +3160,7 @@  discard block
 block discarded – undo
3160 3160
 		 */
3161 3161
 		public function is_block_content_call() {
3162 3162
 			$result = false;
3163
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3163
+			if (wp_doing_ajax() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'super_duper_output_shortcode') {
3164 3164
 				$result = true;
3165 3165
 			}
3166 3166
 
@@ -3173,9 +3173,9 @@  discard block
 block discarded – undo
3173 3173
 		 * @since 1.0.20
3174 3174
 		 * @return string
3175 3175
 		 */
3176
-		public function get_instance_hash(){
3177
-			$instance_string = $this->base_id.serialize($this->instance);
3178
-			return hash('crc32b',$instance_string);
3176
+		public function get_instance_hash() {
3177
+			$instance_string = $this->base_id . serialize($this->instance);
3178
+			return hash('crc32b', $instance_string);
3179 3179
 		}
3180 3180
 
3181 3181
 		/**
@@ -3186,14 +3186,14 @@  discard block
 block discarded – undo
3186 3186
 		 * @since 1.0.20
3187 3187
 		 * @return string
3188 3188
 		 */
3189
-		public function get_instance_style($rules = array()){
3189
+		public function get_instance_style($rules = array()) {
3190 3190
 			$css = '';
3191 3191
 
3192
-			if(!empty($rules)){
3192
+			if (!empty($rules)) {
3193 3193
 				$rules = array_unique($rules);
3194 3194
 				$instance_hash = $this->get_instance_hash();
3195 3195
 				$css .= "<style>";
3196
-				foreach($rules as $rule){
3196
+				foreach ($rules as $rule) {
3197 3197
 					$css .= ".sdel-$instance_hash $rule";
3198 3198
 				}
3199 3199
 				$css .= "</style>";
Please login to merge, or discard this patch.
Braces   +19 added lines, -20 removed lines patch added patch discarded remove patch
@@ -661,7 +661,7 @@  discard block
 block discarded – undo
661 661
 				<?php
662 662
 				if(! empty( $insert_shortcode_function )){
663 663
 					echo $insert_shortcode_function;
664
-				}else{
664
+				} else{
665 665
 
666 666
 				/**
667 667
 				 * Function for super duper insert shortcode.
@@ -1650,7 +1650,7 @@  discard block
 block discarded – undo
1650 1650
 					var prev_attributes = [];
1651 1651
 
1652 1652
 					var term_query_type = '';
1653
-					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 "[]";} ?>;
1653
+					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 "[]";} ?>;
1654 1654
 					const taxonomies_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
1655 1655
 					const sort_by_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
1656 1656
 
@@ -1787,7 +1787,7 @@  discard block
 block discarded – undo
1787 1787
 
1788 1788
 								// taxonomies
1789 1789
 								if( $value && 'post_type' in prev_attributes[props.id] && 'category' in prev_attributes[props.id] && run ){
1790
-									wp.apiFetch({path: "<?php if(isset($this->arguments['post_type']['onchange_rest']['path'])){echo $this->arguments['post_type']['onchange_rest']['path'];}else{'/wp/v2/"+$value+"/categories';} ?>"}).then(terms => {
1790
+									wp.apiFetch({path: "<?php if(isset($this->arguments['post_type']['onchange_rest']['path'])){echo $this->arguments['post_type']['onchange_rest']['path'];} else{'/wp/v2/"+$value+"/categories';} ?>"}).then(terms => {
1791 1791
 										while (taxonomies_<?php echo str_replace("-","_", $this->id);?>.length) {
1792 1792
 										taxonomies_<?php echo str_replace("-","_", $this->id);?>.pop();
1793 1793
 									}
@@ -1857,7 +1857,7 @@  discard block
 block discarded – undo
1857 1857
 										'attributes': props.attributes,
1858 1858
 										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
1859 1859
 										echo $post->ID;
1860
-									}else{echo '0';}?>,
1860
+									} else{echo '0';}?>,
1861 1861
 										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
1862 1862
 									};
1863 1863
 
@@ -1966,7 +1966,7 @@  discard block
 block discarded – undo
1966 1966
 									$panel_count ++;
1967 1967
 
1968 1968
 									}
1969
-									}else {
1969
+									} else {
1970 1970
 									?>
1971 1971
 									el(wp.components.PanelBody, {
1972 1972
 											title: '<?php esc_attr_e( "Settings" ); ?>',
@@ -1992,7 +1992,7 @@  discard block
 block discarded – undo
1992 1992
 								// If the user sets block-output array then build it
1993 1993
 								if ( ! empty( $this->options['block-output'] ) ) {
1994 1994
 								$this->block_element( $this->options['block-output'] );
1995
-							}else{
1995
+							} else{
1996 1996
 								// if no block-output is set then we try and get the shortcode html output via ajax.
1997 1997
 								?>
1998 1998
 								el('div', {
@@ -2062,7 +2062,7 @@  discard block
 block discarded – undo
2062 2062
 							?>
2063 2063
 							return content;
2064 2064
 							<?php
2065
-							}else{
2065
+							} else{
2066 2066
 							?>
2067 2067
 							var block_wrap = 'div';
2068 2068
 							if (attr.hasOwnProperty("block_wrap")) {
@@ -2133,7 +2133,7 @@  discard block
 block discarded – undo
2133 2133
 
2134 2134
 					<?php
2135 2135
 					if(false){?></script><?php }
2136
-				}elseif(!empty($args['row']['close'])){
2136
+				} elseif(!empty($args['row']['close'])){
2137 2137
 					if(false){?><script><?php }?>
2138 2138
 						el(
2139 2139
 							'div',
@@ -2142,7 +2142,7 @@  discard block
 block discarded – undo
2142 2142
 							},
2143 2143
 					<?php
2144 2144
 					if(false){?></script><?php }
2145
-				}else{
2145
+				} else{
2146 2146
 					if(false){?><script><?php }?>
2147 2147
 						el(
2148 2148
 							'div',
@@ -2259,8 +2259,7 @@  discard block
 block discarded – undo
2259 2259
                             $key: value
2260 2260
                         });
2261 2261
                     },";
2262
-			}
2263
-			elseif ( $args['type'] == 'checkbox' ) {
2262
+			} elseif ( $args['type'] == 'checkbox' ) {
2264 2263
 				$type = 'CheckboxControl';
2265 2264
 				$extra .= "checked: props.attributes.$key,";
2266 2265
 				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
@@ -2271,9 +2270,9 @@  discard block
 block discarded – undo
2271 2270
 
2272 2271
 				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
2273 2272
 					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
2274
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
2273
+				} elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
2275 2274
 					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
2276
-				}else {
2275
+				} else {
2277 2276
 
2278 2277
 					if ( ! empty( $args['options'] ) ) {
2279 2278
 						$options .= "options: [";
@@ -2288,7 +2287,7 @@  discard block
 block discarded – undo
2288 2287
 				}
2289 2288
 			} elseif ( $args['type'] == 'alignment' ) {
2290 2289
 				$type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
2291
-			}elseif ( $args['type'] == 'margins' ) {
2290
+			} elseif ( $args['type'] == 'margins' ) {
2292 2291
 
2293 2292
 			} else {
2294 2293
 				return;// if we have not implemented the control then don't break the JS.
@@ -2701,7 +2700,7 @@  discard block
 block discarded – undo
2701 2700
 
2702 2701
 				if(empty($instance['widget_title_tag'])){
2703 2702
 					$output = $args['before_title'] . $title . $args['after_title'];
2704
-				}else{
2703
+				} else{
2705 2704
 					$title_tag = esc_attr( $instance['widget_title_tag'] );
2706 2705
 
2707 2706
 					// classes
@@ -2806,9 +2805,9 @@  discard block
 block discarded – undo
2806 2805
 					<div class='row <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>'>
2807 2806
 					<div class='col pr-2'>
2808 2807
 					<?php
2809
-				}elseif(!empty($args['row']['close'])){
2808
+				} elseif(!empty($args['row']['close'])){
2810 2809
 					echo "<div class='col pl-0'>";
2811
-				}else{
2810
+				} else{
2812 2811
 					echo "<div class='col pl-0 pr-2'>";
2813 2812
 				}
2814 2813
 			}
@@ -3026,11 +3025,11 @@  discard block
 block discarded – undo
3026 3025
 		public function get_widget_icon($icon = 'box-top', $title = ''){
3027 3026
 			if($icon=='box-top'){
3028 3027
 				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>';
3029
-			}elseif($icon=='box-right'){
3028
+			} elseif($icon=='box-right'){
3030 3029
 				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>';
3031
-			}elseif($icon=='box-bottom'){
3030
+			} elseif($icon=='box-bottom'){
3032 3031
 				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>';
3033
-			}elseif($icon=='box-left'){
3032
+			} elseif($icon=='box-left'){
3034 3033
 				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>';
3035 3034
 			}
3036 3035
 		}
Please login to merge, or discard this patch.
includes/data/tax-rates.php 1 patch
Spacing   +29 added lines, -29 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
  * @version 1.0.19
9 9
  */
10 10
 
11
-defined( 'ABSPATH' ) || exit;
11
+defined('ABSPATH') || exit;
12 12
 
13 13
 return array(
14 14
 
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
         'global'       => true,
19 19
         'rate'         => 20,
20 20
         'reduced_rate' => 13,
21
-        'name'         => __( 'VAT', 'invoicing' ),
21
+        'name'         => __('VAT', 'invoicing'),
22 22
     ),
23 23
 
24 24
     array(
@@ -27,7 +27,7 @@  discard block
 block discarded – undo
27 27
         'global'       => true,
28 28
         'rate'         => 21,
29 29
         'reduced_rate' => 12,
30
-        'name'         => __( 'VAT', 'invoicing' ),
30
+        'name'         => __('VAT', 'invoicing'),
31 31
     ),
32 32
 
33 33
     array(
@@ -36,7 +36,7 @@  discard block
 block discarded – undo
36 36
         'global'       => true,
37 37
         'rate'         => 20,
38 38
         'reduced_rate' => 9,
39
-        'name'         => __( 'VAT', 'invoicing' ),
39
+        'name'         => __('VAT', 'invoicing'),
40 40
     ),
41 41
 
42 42
     array(
@@ -45,7 +45,7 @@  discard block
 block discarded – undo
45 45
         'global'       => true,
46 46
         'rate'         => 19,
47 47
         'reduced_rate' => 9,
48
-        'name'         => __( 'VAT', 'invoicing' ),
48
+        'name'         => __('VAT', 'invoicing'),
49 49
     ),
50 50
 
51 51
     array(
@@ -54,7 +54,7 @@  discard block
 block discarded – undo
54 54
         'global'       => true,
55 55
         'rate'         => 21,
56 56
         'reduced_rate' => 15,
57
-        'name'         => __( 'VAT', 'invoicing' ),
57
+        'name'         => __('VAT', 'invoicing'),
58 58
     ),
59 59
 
60 60
     array(
@@ -63,7 +63,7 @@  discard block
 block discarded – undo
63 63
         'global'       => true,
64 64
         'rate'         => 25,
65 65
         'reduced_rate' => 25,
66
-        'name'         => __( 'VAT', 'invoicing' ),
66
+        'name'         => __('VAT', 'invoicing'),
67 67
     ),
68 68
 
69 69
     array(
@@ -72,7 +72,7 @@  discard block
 block discarded – undo
72 72
         'global'       => true,
73 73
         'rate'         => 16,
74 74
         'reduced_rate' => 5,
75
-        'name'         => __( 'VAT', 'invoicing' ),
75
+        'name'         => __('VAT', 'invoicing'),
76 76
     ),
77 77
 
78 78
     array(
@@ -81,7 +81,7 @@  discard block
 block discarded – undo
81 81
         'global'       => true,
82 82
         'rate'         => 20,
83 83
         'reduced_rate' => 9,
84
-        'name'         => __( 'VAT', 'invoicing' ),
84
+        'name'         => __('VAT', 'invoicing'),
85 85
     ),
86 86
 
87 87
     array(
@@ -90,7 +90,7 @@  discard block
 block discarded – undo
90 90
         'global'       => true,
91 91
         'rate'         => 24,
92 92
         'reduced_rate' => 13,
93
-        'name'         => __( 'VAT', 'invoicing' ),
93
+        'name'         => __('VAT', 'invoicing'),
94 94
     ),
95 95
 
96 96
     array(
@@ -99,7 +99,7 @@  discard block
 block discarded – undo
99 99
         'global'       => true,
100 100
         'rate'         => 21,
101 101
         'reduced_rate' => 10,
102
-        'name'         => __( 'VAT', 'invoicing' ),
102
+        'name'         => __('VAT', 'invoicing'),
103 103
     ),
104 104
 
105 105
     array(
@@ -108,7 +108,7 @@  discard block
 block discarded – undo
108 108
         'global'       => true,
109 109
         'rate'         => 24,
110 110
         'reduced_rate' => 14,
111
-        'name'         => __( 'VAT', 'invoicing' ),
111
+        'name'         => __('VAT', 'invoicing'),
112 112
     ),
113 113
 
114 114
     array(
@@ -117,7 +117,7 @@  discard block
 block discarded – undo
117 117
         'global'       => true,
118 118
         'rate'         => 20,
119 119
         'reduced_rate' => 10,
120
-        'name'         => __( 'VAT', 'invoicing' ),
120
+        'name'         => __('VAT', 'invoicing'),
121 121
     ),
122 122
 
123 123
     array(
@@ -126,7 +126,7 @@  discard block
 block discarded – undo
126 126
         'global'       => true,
127 127
         'rate'         => 25,
128 128
         'reduced_rate' => 13,
129
-        'name'         => __( 'VAT', 'invoicing' ),
129
+        'name'         => __('VAT', 'invoicing'),
130 130
     ),
131 131
 
132 132
     array(
@@ -135,7 +135,7 @@  discard block
 block discarded – undo
135 135
         'global'       => true,
136 136
         'rate'         => 22,
137 137
         'reduced_rate' => 10,
138
-        'name'         => __( 'VAT', 'invoicing' ),
138
+        'name'         => __('VAT', 'invoicing'),
139 139
     ),
140 140
 
141 141
     array(
@@ -144,7 +144,7 @@  discard block
 block discarded – undo
144 144
         'global'       => true,
145 145
         'rate'         => 21,
146 146
         'reduced_rate' => 12,
147
-        'name'         => __( 'VAT', 'invoicing' ),
147
+        'name'         => __('VAT', 'invoicing'),
148 148
     ),
149 149
 
150 150
     array(
@@ -153,7 +153,7 @@  discard block
 block discarded – undo
153 153
         'global'       => true,
154 154
         'rate'         => 21,
155 155
         'reduced_rate' => 9,
156
-        'name'         => __( 'VAT', 'invoicing' ),
156
+        'name'         => __('VAT', 'invoicing'),
157 157
     ),
158 158
 
159 159
     array(
@@ -162,7 +162,7 @@  discard block
 block discarded – undo
162 162
         'global'       => true,
163 163
         'rate'         => 17,
164 164
         'reduced_rate' => 14,
165
-        'name'         => __( 'VAT', 'invoicing' ),
165
+        'name'         => __('VAT', 'invoicing'),
166 166
     ),
167 167
 
168 168
     array(
@@ -171,7 +171,7 @@  discard block
 block discarded – undo
171 171
         'global'       => true,
172 172
         'rate'         => 27,
173 173
         'reduced_rate' => 18,
174
-        'name'         => __( 'VAT', 'invoicing' ),
174
+        'name'         => __('VAT', 'invoicing'),
175 175
     ),
176 176
 
177 177
     array(
@@ -180,7 +180,7 @@  discard block
 block discarded – undo
180 180
         'global'       => true,
181 181
         'rate'         => 21,
182 182
         'reduced_rate' => 13.5,
183
-        'name'         => __( 'VAT', 'invoicing' ),
183
+        'name'         => __('VAT', 'invoicing'),
184 184
     ),
185 185
 
186 186
     array(
@@ -189,7 +189,7 @@  discard block
 block discarded – undo
189 189
         'global'       => true,
190 190
         'rate'         => 18,
191 191
         'reduced_rate' => 7,
192
-        'name'         => __( 'VAT', 'invoicing' ),
192
+        'name'         => __('VAT', 'invoicing'),
193 193
     ),
194 194
 
195 195
     array(
@@ -198,7 +198,7 @@  discard block
 block discarded – undo
198 198
         'global'       => true,
199 199
         'rate'         => 21,
200 200
         'reduced_rate' => 9,
201
-        'name'         => __( 'VAT', 'invoicing' ),
201
+        'name'         => __('VAT', 'invoicing'),
202 202
     ),
203 203
 
204 204
     array(
@@ -207,7 +207,7 @@  discard block
 block discarded – undo
207 207
         'global'       => true,
208 208
         'rate'         => 23,
209 209
         'reduced_rate' => 8,
210
-        'name'         => __( 'VAT', 'invoicing' ),
210
+        'name'         => __('VAT', 'invoicing'),
211 211
     ),
212 212
 
213 213
     array(
@@ -216,7 +216,7 @@  discard block
 block discarded – undo
216 216
         'global'       => true,
217 217
         'rate'         => 23,
218 218
         'reduced_rate' => 13,
219
-        'name'         => __( 'VAT', 'invoicing' ),
219
+        'name'         => __('VAT', 'invoicing'),
220 220
     ),
221 221
 
222 222
     array(
@@ -225,7 +225,7 @@  discard block
 block discarded – undo
225 225
         'global'       => true,
226 226
         'rate'         => 19,
227 227
         'reduced_rate' => 9,
228
-        'name'         => __( 'VAT', 'invoicing' ),
228
+        'name'         => __('VAT', 'invoicing'),
229 229
     ),
230 230
 
231 231
     array(
@@ -234,7 +234,7 @@  discard block
 block discarded – undo
234 234
         'global'       => true,
235 235
         'rate'         => 22,
236 236
         'reduced_rate' => 9.5,
237
-        'name'         => __( 'VAT', 'invoicing' ),
237
+        'name'         => __('VAT', 'invoicing'),
238 238
     ),
239 239
 
240 240
     array(
@@ -243,7 +243,7 @@  discard block
 block discarded – undo
243 243
         'global'       => true,
244 244
         'rate'         => 20,
245 245
         'reduced_rate' => 10,
246
-        'name'         => __( 'VAT', 'invoicing' ),
246
+        'name'         => __('VAT', 'invoicing'),
247 247
     ),
248 248
 
249 249
     array(
@@ -252,7 +252,7 @@  discard block
 block discarded – undo
252 252
         'global'       => true,
253 253
         'rate'         => 25,
254 254
         'reduced_rate' => 12,
255
-        'name'         => __( 'VAT', 'invoicing' ),
255
+        'name'         => __('VAT', 'invoicing'),
256 256
     ),
257 257
 
258 258
     array(
@@ -261,7 +261,7 @@  discard block
 block discarded – undo
261 261
         'global'       => true,
262 262
         'rate'         => 20,
263 263
         'reduced_rate' => 5,
264
-        'name'         => __( 'VAT', 'invoicing' ),
264
+        'name'         => __('VAT', 'invoicing'),
265 265
     )
266 266
 
267 267
 );
Please login to merge, or discard this patch.