Passed
Push — master ( 3a0618...5aee45 )
by Stiofan
05:13
created
includes/user-functions.php 2 patches
Indentation   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -34,11 +34,11 @@  discard block
 block discarded – undo
34 34
  */
35 35
 function wpinv_get_capability( $capalibilty = 'manage_invoicing' ) {
36 36
 
37
-	if ( current_user_can( 'manage_options' ) ) {
38
-		return 'manage_options';
39
-	};
37
+    if ( current_user_can( 'manage_options' ) ) {
38
+        return 'manage_options';
39
+    };
40 40
 
41
-	return $capalibilty;
41
+    return $capalibilty;
42 42
 }
43 43
 
44 44
 /**
@@ -62,10 +62,10 @@  discard block
 block discarded – undo
62 62
     // Prepare user values.
63 63
     $prefix = preg_replace( '/\s+/', '', $prefix );
64 64
     $prefix = empty( $prefix ) ? $email : $prefix;
65
-	$args   = array(
66
-		'user_login' => wpinv_generate_user_name( $prefix ),
67
-		'user_pass'  => wp_generate_password(),
68
-		'user_email' => $email,
65
+    $args   = array(
66
+        'user_login' => wpinv_generate_user_name( $prefix ),
67
+        'user_pass'  => wp_generate_password(),
68
+        'user_email' => $email,
69 69
         'role'       => 'subscriber',
70 70
     );
71 71
 
@@ -82,16 +82,16 @@  discard block
 block discarded – undo
82 82
 function wpinv_generate_user_name( $prefix = '' ) {
83 83
 
84 84
     // If prefix is an email, retrieve the part before the email.
85
-	$prefix = strtok( $prefix, '@' );
85
+    $prefix = strtok( $prefix, '@' );
86 86
     $prefix = trim( $prefix, '.' );
87 87
 
88
-	// Sanitize the username.
89
-	$prefix = sanitize_user( $prefix, true );
88
+    // Sanitize the username.
89
+    $prefix = sanitize_user( $prefix, true );
90 90
 
91
-	$illegal_logins = (array) apply_filters( 'illegal_user_logins', array() );
92
-	if ( empty( $prefix ) || in_array( strtolower( $prefix ), array_map( 'strtolower', $illegal_logins ), true ) ) {
93
-		$prefix = 'gtp_' . zeroise( wp_rand( 0, 9999 ), 4 );
94
-	}
91
+    $illegal_logins = (array) apply_filters( 'illegal_user_logins', array() );
92
+    if ( empty( $prefix ) || in_array( strtolower( $prefix ), array_map( 'strtolower', $illegal_logins ), true ) ) {
93
+        $prefix = 'gtp_' . zeroise( wp_rand( 0, 9999 ), 4 );
94
+    }
95 95
 
96 96
     $username = $prefix;
97 97
     $postfix  = 2;
Please login to merge, or discard this patch.
Spacing   +109 added lines, -109 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package GetPaid
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  *  Generates a users select dropdown.
@@ -16,13 +16,13 @@  discard block
 block discarded – undo
16 16
  * @param array $args
17 17
  * @see wp_dropdown_users
18 18
  */
19
-function wpinv_dropdown_users( $args = '' ) {
19
+function wpinv_dropdown_users($args = '') {
20 20
 
21
-    if ( is_array( $args ) && ! empty( $args['show'] ) && 'display_name_with_email' == $args['show'] ) {
21
+    if (is_array($args) && !empty($args['show']) && 'display_name_with_email' == $args['show']) {
22 22
         $args['show'] = 'display_name_with_login';
23 23
     }
24 24
 
25
-    return wp_dropdown_users( $args );
25
+    return wp_dropdown_users($args);
26 26
 }
27 27
 
28 28
 /**
@@ -32,9 +32,9 @@  discard block
 block discarded – undo
32 32
  * @return string capability to check against
33 33
  * @param string $capalibilty Optional. The alternative capability to check against.
34 34
  */
35
-function wpinv_get_capability( $capalibilty = 'manage_invoicing' ) {
35
+function wpinv_get_capability($capalibilty = 'manage_invoicing') {
36 36
 
37
-	if ( current_user_can( 'manage_options' ) ) {
37
+	if (current_user_can('manage_options')) {
38 38
 		return 'manage_options';
39 39
 	};
40 40
 
@@ -48,7 +48,7 @@  discard block
 block discarded – undo
48 48
  * @return bool
49 49
  */
50 50
 function wpinv_current_user_can_manage_invoicing() {
51
-    return current_user_can( wpinv_get_capability() );
51
+    return current_user_can(wpinv_get_capability());
52 52
 }
53 53
 
54 54
 /**
@@ -57,19 +57,19 @@  discard block
 block discarded – undo
57 57
  * @since 1.0.19
58 58
  * @return int|WP_Error
59 59
  */
60
-function wpinv_create_user( $email, $prefix = '' ) {
60
+function wpinv_create_user($email, $prefix = '') {
61 61
 
62 62
     // Prepare user values.
63
-    $prefix = preg_replace( '/\s+/', '', $prefix );
64
-    $prefix = empty( $prefix ) ? $email : $prefix;
65
-	$args   = array(
66
-		'user_login' => wpinv_generate_user_name( $prefix ),
63
+    $prefix = preg_replace('/\s+/', '', $prefix);
64
+    $prefix = empty($prefix) ? $email : $prefix;
65
+	$args = array(
66
+		'user_login' => wpinv_generate_user_name($prefix),
67 67
 		'user_pass'  => wp_generate_password(),
68 68
 		'user_email' => $email,
69 69
         'role'       => 'subscriber',
70 70
     );
71 71
 
72
-    return wp_insert_user( $args );
72
+    return wp_insert_user($args);
73 73
 
74 74
 }
75 75
 
@@ -79,26 +79,26 @@  discard block
 block discarded – undo
79 79
  * @since 1.0.19
80 80
  * @return bool|WP_User
81 81
  */
82
-function wpinv_generate_user_name( $prefix = '' ) {
82
+function wpinv_generate_user_name($prefix = '') {
83 83
 
84 84
     // If prefix is an email, retrieve the part before the email.
85
-	$prefix = strtok( $prefix, '@' );
86
-    $prefix = trim( $prefix, '.' );
85
+	$prefix = strtok($prefix, '@');
86
+    $prefix = trim($prefix, '.');
87 87
 
88 88
 	// Sanitize the username.
89
-	$prefix = sanitize_user( $prefix, true );
89
+	$prefix = sanitize_user($prefix, true);
90 90
 
91
-	$illegal_logins = (array) apply_filters( 'illegal_user_logins', array() );
92
-	if ( empty( $prefix ) || in_array( strtolower( $prefix ), array_map( 'strtolower', $illegal_logins ), true ) ) {
93
-		$prefix = 'gtp_' . zeroise( wp_rand( 0, 9999 ), 4 );
91
+	$illegal_logins = (array) apply_filters('illegal_user_logins', array());
92
+	if (empty($prefix) || in_array(strtolower($prefix), array_map('strtolower', $illegal_logins), true)) {
93
+		$prefix = 'gtp_' . zeroise(wp_rand(0, 9999), 4);
94 94
 	}
95 95
 
96 96
     $username = $prefix;
97 97
     $postfix  = 2;
98 98
 
99
-    while ( username_exists( $username ) ) {
99
+    while (username_exists($username)) {
100 100
         $username = $prefix + $postfix;
101
-        $postfix ++;
101
+        $postfix++;
102 102
     }
103 103
 
104 104
     return $username;
@@ -115,31 +115,31 @@  discard block
 block discarded – undo
115 115
     $tabs = array(
116 116
 
117 117
         'gp-invoices'   => array(
118
-            'label'     => __( 'Invoices', 'invoicing' ), // Name of the tab.
118
+            'label'     => __('Invoices', 'invoicing'), // Name of the tab.
119 119
             'content'   => '[wpinv_history]', // Content of the tab. Or specify "callback" to provide a callback instead.
120 120
             'icon'      => 'fas fa-file-invoice', // Shown on some profile plugins.
121 121
         ),
122 122
 
123 123
         'gp-subscriptions' => array(
124
-            'label'        => __( 'Subscriptions', 'invoicing' ),
124
+            'label'        => __('Subscriptions', 'invoicing'),
125 125
             'content'      => '[wpinv_subscriptions]',
126 126
             'icon'         => 'fas fa-redo',
127 127
         ),
128 128
 
129 129
         'gp-edit-address'  => array(
130
-            'label'        => __( 'Billing Address', 'invoicing' ),
130
+            'label'        => __('Billing Address', 'invoicing'),
131 131
             'callback'     => 'getpaid_display_address_edit_tab',
132 132
             'icon'         => 'fas fa-credit-card',
133 133
         ),
134 134
 
135 135
     );
136 136
 
137
-    $tabs = apply_filters( 'getpaid_user_content_tabs', $tabs );
137
+    $tabs = apply_filters('getpaid_user_content_tabs', $tabs);
138 138
 
139 139
     // Make sure address editing is last on the list.
140
-    if ( isset( $tabs['gp-edit-address'] ) ) {
140
+    if (isset($tabs['gp-edit-address'])) {
141 141
         $address = $tabs['gp-edit-address'];
142
-        unset( $tabs['gp-edit-address'] );
142
+        unset($tabs['gp-edit-address']);
143 143
         $tabs['gp-edit-address'] = $address;
144 144
     }
145 145
 
@@ -153,19 +153,19 @@  discard block
 block discarded – undo
153 153
  * @param array $tab
154 154
  * @return array
155 155
  */
156
-function getpaid_prepare_user_content_tab( $tab ) {
156
+function getpaid_prepare_user_content_tab($tab) {
157 157
 
158
-    if ( ! empty( $tab['callback'] ) ) {
159
-        return call_user_func( $tab['callback'] );
158
+    if (!empty($tab['callback'])) {
159
+        return call_user_func($tab['callback']);
160 160
     }
161 161
 
162
-    if ( ! empty( $tab['content'] ) ) {
163
-        return convert_smilies( capital_P_dangit( wp_filter_content_tags( do_shortcode( shortcode_unautop( wpautop( wptexturize( do_blocks( $tab['content'] ) ) ) ) ) ) ) );
162
+    if (!empty($tab['content'])) {
163
+        return convert_smilies(capital_P_dangit(wp_filter_content_tags(do_shortcode(shortcode_unautop(wpautop(wptexturize(do_blocks($tab['content']))))))));
164 164
     }
165 165
 
166 166
     $notice = aui()->alert(
167 167
         array(
168
-            'content'     => __( 'This tab has no content or content callback.', 'invoicing' ),
168
+            'content'     => __('This tab has no content or content callback.', 'invoicing'),
169 169
             'type'        => 'error',
170 170
         )
171 171
     );
@@ -181,14 +181,14 @@  discard block
 block discarded – undo
181 181
  * @param string $default
182 182
  * @return array
183 183
  */
184
-function getpaid_get_tab_url( $tab, $default ) {
184
+function getpaid_get_tab_url($tab, $default) {
185 185
     global $getpaid_tab_url;
186 186
 
187
-    if ( empty( $getpaid_tab_url ) ) {
187
+    if (empty($getpaid_tab_url)) {
188 188
         return $default;
189 189
     }
190 190
 
191
-    return sprintf( $getpaid_tab_url, $tab );
191
+    return sprintf($getpaid_tab_url, $tab);
192 192
 
193 193
 }
194 194
 
@@ -208,19 +208,19 @@  discard block
 block discarded – undo
208 208
 
209 209
                 <?php
210 210
 
211
-                    foreach ( getpaid_user_address_fields() as $key => $label ) {
211
+                    foreach (getpaid_user_address_fields() as $key => $label) {
212 212
 
213 213
                         // Display the country.
214
-                        if ( 'country' == $key ) {
214
+                        if ('country' == $key) {
215 215
 
216 216
                             echo aui()->select(
217 217
                                 array(
218 218
                                     'options'     => wpinv_get_country_list(),
219
-                                    'name'        => 'getpaid_address[' . esc_attr( $key ) . ']',
220
-                                    'id'          => 'wpinv-' . sanitize_html_class( $key ),
221
-                                    'value'       => sanitize_text_field( getpaid_get_user_address_field( get_current_user_id(), $key ) ),
219
+                                    'name'        => 'getpaid_address[' . esc_attr($key) . ']',
220
+                                    'id'          => 'wpinv-' . sanitize_html_class($key),
221
+                                    'value'       => sanitize_text_field(getpaid_get_user_address_field(get_current_user_id(), $key)),
222 222
                                     'placeholder' => $label,
223
-                                    'label'       => wp_kses_post( $label ),
223
+                                    'label'       => wp_kses_post($label),
224 224
                                     'label_type'  => 'vertical',
225 225
                                     'class'       => 'getpaid-address-field',
226 226
                                 )
@@ -229,30 +229,30 @@  discard block
 block discarded – undo
229 229
                         }
230 230
 
231 231
                         // Display the state.
232
-                        else if ( 'state' == $key ) {
232
+                        else if ('state' == $key) {
233 233
 
234
-                            echo getpaid_get_states_select_markup (
235
-                                getpaid_get_user_address_field( get_current_user_id(), 'country' ),
236
-                                getpaid_get_user_address_field( get_current_user_id(), 'state' ),
234
+                            echo getpaid_get_states_select_markup(
235
+                                getpaid_get_user_address_field(get_current_user_id(), 'country'),
236
+                                getpaid_get_user_address_field(get_current_user_id(), 'state'),
237 237
                                 $label,
238 238
                                 $label,
239 239
                                 '',
240 240
                                 false,
241 241
                                 '',
242
-                                'getpaid_address[' . esc_attr( $key ) . ']'
242
+                                'getpaid_address[' . esc_attr($key) . ']'
243 243
                             );
244 244
 
245 245
                         } else {
246 246
 
247 247
                             echo aui()->input(
248 248
                                 array(
249
-                                    'name'        => 'getpaid_address[' . esc_attr( $key ) . ']',
250
-                                    'id'          => 'wpinv-' . sanitize_html_class( $key ),
249
+                                    'name'        => 'getpaid_address[' . esc_attr($key) . ']',
250
+                                    'id'          => 'wpinv-' . sanitize_html_class($key),
251 251
                                     'placeholder' => $label,
252
-                                    'label'       => wp_kses_post( $label ),
252
+                                    'label'       => wp_kses_post($label),
253 253
                                     'label_type'  => 'vertical',
254 254
                                     'type'        => 'text',
255
-                                    'value'       => sanitize_text_field( getpaid_get_user_address_field( get_current_user_id(), $key ) ),
255
+                                    'value'       => sanitize_text_field(getpaid_get_user_address_field(get_current_user_id(), $key)),
256 256
                                     'class'       => 'getpaid-address-field',
257 257
                                 )
258 258
                             );
@@ -261,21 +261,21 @@  discard block
 block discarded – undo
261 261
 
262 262
                     }
263 263
 
264
-                    do_action( 'getpaid_display_address_edit_tab' );
264
+                    do_action('getpaid_display_address_edit_tab');
265 265
 
266 266
                     echo aui()->input(
267 267
                         array(
268 268
                             'name'             => 'getpaid_profile_edit_submit_button',
269 269
                             'id'               => 'getpaid_profile_edit_submit_button',
270
-                            'value'            => __( 'Save Address', 'invoicing' ),
271
-                            'help_text'        => __( 'New invoices will use this address as the billing address.', 'invoicing' ),
270
+                            'value'            => __('Save Address', 'invoicing'),
271
+                            'help_text'        => __('New invoices will use this address as the billing address.', 'invoicing'),
272 272
                             'type'             => 'submit',
273 273
                             'class'            => 'btn btn-primary btn-block submit-button',
274 274
                         )
275 275
                     );
276 276
 
277
-                    wp_nonce_field( 'getpaid-nonce', 'getpaid-nonce' );
278
-                    getpaid_hidden_field( 'getpaid-action', 'edit_billing_details' );
277
+                    wp_nonce_field('getpaid-nonce', 'getpaid-nonce');
278
+                    getpaid_hidden_field('getpaid-action', 'edit_billing_details');
279 279
                 ?>
280 280
 
281 281
             </form>
@@ -292,27 +292,27 @@  discard block
 block discarded – undo
292 292
  * @since 2.1.4
293 293
  * @param array $data
294 294
  */
295
-function getpaid_save_address_edit_tab( $data ) {
295
+function getpaid_save_address_edit_tab($data) {
296 296
 
297
-    if ( empty( $data['getpaid_address'] ) || ! is_array( $data['getpaid_address'] ) ) {
297
+    if (empty($data['getpaid_address']) || !is_array($data['getpaid_address'])) {
298 298
         return;
299 299
     }
300 300
 
301 301
     $data    = $data['getpaid_address'];
302 302
     $user_id = get_current_user_id();
303 303
 
304
-    foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
304
+    foreach (array_keys(getpaid_user_address_fields()) as $field) {
305 305
 
306
-        if ( isset( $data[ $field ] ) ) {
307
-            $value = sanitize_text_field( $data[ $field ] );
308
-            update_user_meta( $user_id, '_wpinv_' . $field, $value );
306
+        if (isset($data[$field])) {
307
+            $value = sanitize_text_field($data[$field]);
308
+            update_user_meta($user_id, '_wpinv_' . $field, $value);
309 309
         }
310 310
 
311
-        wpinv_set_error( 'address_updated', __( 'Your billing address has been updated', 'invoicing' ), 'success');
311
+        wpinv_set_error('address_updated', __('Your billing address has been updated', 'invoicing'), 'success');
312 312
     }
313 313
 
314 314
 }
315
-add_action( 'getpaid_authenticated_action_edit_billing_details', 'getpaid_save_address_edit_tab' );
315
+add_action('getpaid_authenticated_action_edit_billing_details', 'getpaid_save_address_edit_tab');
316 316
 
317 317
 
318 318
 /*
@@ -330,27 +330,27 @@  discard block
 block discarded – undo
330 330
  * @param  array $tabs
331 331
  * @return array
332 332
  */
333
-function getpaid_filter_userswp_account_tabs( $tabs ) {
333
+function getpaid_filter_userswp_account_tabs($tabs) {
334 334
 
335 335
     // Abort if the integration is inactive.
336
-    if ( ! getpaid_is_userswp_integration_active() ) {
336
+    if (!getpaid_is_userswp_integration_active()) {
337 337
         return $tabs;
338 338
     }
339 339
 
340
-    $new_tabs   = array();
340
+    $new_tabs = array();
341 341
 
342
-    foreach ( getpaid_get_user_content_tabs() as $slug => $tab ) {
342
+    foreach (getpaid_get_user_content_tabs() as $slug => $tab) {
343 343
 
344
-        $new_tabs[ $slug ] = array(
345
-            'title' => $tab[ 'label'],
346
-            'icon'  =>  $tab[ 'icon'],
344
+        $new_tabs[$slug] = array(
345
+            'title' => $tab['label'],
346
+            'icon'  =>  $tab['icon'],
347 347
         );
348 348
 
349 349
     }
350 350
 
351
-    return array_merge( $tabs, $new_tabs );
351
+    return array_merge($tabs, $new_tabs);
352 352
 }
353
-add_filter( 'uwp_account_available_tabs', 'getpaid_filter_userswp_account_tabs' );
353
+add_filter('uwp_account_available_tabs', 'getpaid_filter_userswp_account_tabs');
354 354
 
355 355
 /**
356 356
  * Display our UsersWP account tabs.
@@ -359,18 +359,18 @@  discard block
 block discarded – undo
359 359
  * @param  array $tabs
360 360
  * @return array
361 361
  */
362
-function getpaid_display_userswp_account_tabs( $tab ) {
362
+function getpaid_display_userswp_account_tabs($tab) {
363 363
     global $getpaid_tab_url;
364 364
 
365 365
     $our_tabs = getpaid_get_user_content_tabs();
366 366
 
367
-    if ( getpaid_is_userswp_integration_active() && isset( $our_tabs[ $tab ] ) ) {
368
-        $getpaid_tab_url = add_query_arg( 'type', '%s', uwp_get_account_page_url() );
369
-        echo getpaid_prepare_user_content_tab( $our_tabs[ $tab ] );
367
+    if (getpaid_is_userswp_integration_active() && isset($our_tabs[$tab])) {
368
+        $getpaid_tab_url = add_query_arg('type', '%s', uwp_get_account_page_url());
369
+        echo getpaid_prepare_user_content_tab($our_tabs[$tab]);
370 370
     }
371 371
 
372 372
 }
373
-add_action( 'uwp_account_form_display', 'getpaid_display_userswp_account_tabs' );
373
+add_action('uwp_account_form_display', 'getpaid_display_userswp_account_tabs');
374 374
 
375 375
 
376 376
 /**
@@ -381,17 +381,17 @@  discard block
 block discarded – undo
381 381
  * @param  string $tab   Current tab.
382 382
  * @return string Title.
383 383
  */
384
-function getpaid_filter_userswp_account_title( $title, $tab ) {
384
+function getpaid_filter_userswp_account_title($title, $tab) {
385 385
 
386
-    $our_tabs   = getpaid_get_user_content_tabs();
386
+    $our_tabs = getpaid_get_user_content_tabs();
387 387
 
388
-    if ( getpaid_is_userswp_integration_active() && isset( $our_tabs[ $tab ] ) ) {
389
-        return $our_tabs[ $tab ]['label'];
388
+    if (getpaid_is_userswp_integration_active() && isset($our_tabs[$tab])) {
389
+        return $our_tabs[$tab]['label'];
390 390
     }
391 391
 
392 392
     return $title;
393 393
 }
394
-add_filter( 'uwp_account_page_title', 'getpaid_filter_userswp_account_title', 10, 2 );
394
+add_filter('uwp_account_page_title', 'getpaid_filter_userswp_account_title', 10, 2);
395 395
 
396 396
 /**
397 397
  * Registers the UsersWP integration settings.
@@ -400,26 +400,26 @@  discard block
 block discarded – undo
400 400
  * @param  array $settings An array of integration settings.
401 401
  * @return array
402 402
  */
403
-function getpaid_register_userswp_settings( $settings ) {
403
+function getpaid_register_userswp_settings($settings) {
404 404
 
405
-    if ( defined( 'USERSWP_PLUGIN_FILE' ) ) {
405
+    if (defined('USERSWP_PLUGIN_FILE')) {
406 406
 
407 407
         $settings[] = array(
408 408
 
409 409
             'id'       => 'userswp',
410
-            'label'    => __( 'UsersWP', 'invoicing' ),
410
+            'label'    => __('UsersWP', 'invoicing'),
411 411
             'settings' => array(
412 412
 
413 413
                 'userswp_settings' => array(
414 414
                     'id'   => 'userswp_settings',
415
-                    'name' => '<h3>' . __( 'UsersWP', 'invoicing' ) . '</h3>',
415
+                    'name' => '<h3>' . __('UsersWP', 'invoicing') . '</h3>',
416 416
                     'type' => 'header',
417 417
                 ),
418 418
 
419 419
                 'enable_userswp' => array(
420 420
                     'id'         => 'enable_userswp',
421
-                    'name'       => __( 'Enable Integration', 'invoicing' ),
422
-                    'desc'       => __( 'Display GetPaid items on UsersWP account page.', 'invoicing' ),
421
+                    'name'       => __('Enable Integration', 'invoicing'),
422
+                    'desc'       => __('Display GetPaid items on UsersWP account page.', 'invoicing'),
423 423
                     'type'       => 'checkbox',
424 424
                     'std'        => 1,
425 425
                 )
@@ -432,7 +432,7 @@  discard block
 block discarded – undo
432 432
 
433 433
     return $settings;
434 434
 }
435
-add_filter( 'getpaid_integration_settings', 'getpaid_register_userswp_settings' );
435
+add_filter('getpaid_integration_settings', 'getpaid_register_userswp_settings');
436 436
 
437 437
 /**
438 438
  * Ovewrites the invoices history page to UsersWP.
@@ -440,18 +440,18 @@  discard block
 block discarded – undo
440 440
  * @since  2.3.1
441 441
  * @return bool
442 442
  */
443
-function getpaid_userswp_overwrite_invoice_history_page( $url, $post_type ) {
443
+function getpaid_userswp_overwrite_invoice_history_page($url, $post_type) {
444 444
 
445 445
     $our_tabs = getpaid_get_user_content_tabs();
446 446
     $tab      = "gp-{$post_type}s";
447
-    if ( getpaid_is_userswp_integration_active() && isset( $our_tabs[ $tab ] ) ) {
448
-        return add_query_arg( 'type', $tab, uwp_get_account_page_url() );
447
+    if (getpaid_is_userswp_integration_active() && isset($our_tabs[$tab])) {
448
+        return add_query_arg('type', $tab, uwp_get_account_page_url());
449 449
     }
450 450
 
451 451
     return $url;
452 452
 
453 453
 }
454
-add_filter( 'wpinv_get_history_page_uri', 'getpaid_userswp_overwrite_invoice_history_page', 10, 2 );
454
+add_filter('wpinv_get_history_page_uri', 'getpaid_userswp_overwrite_invoice_history_page', 10, 2);
455 455
 
456 456
 /**
457 457
  * Checks if the integration is enabled.
@@ -460,8 +460,8 @@  discard block
 block discarded – undo
460 460
  * @return bool
461 461
  */
462 462
 function getpaid_is_userswp_integration_active() {
463
-    $enabled = wpinv_get_option( 'enable_userswp', 1 );
464
-    return defined( 'USERSWP_PLUGIN_FILE' ) && ! empty( $enabled );
463
+    $enabled = wpinv_get_option('enable_userswp', 1);
464
+    return defined('USERSWP_PLUGIN_FILE') && !empty($enabled);
465 465
 }
466 466
 
467 467
 /*
@@ -479,26 +479,26 @@  discard block
 block discarded – undo
479 479
  * @param  array $settings An array of integration settings.
480 480
  * @return array
481 481
  */
482
-function getpaid_register_buddypress_settings( $settings ) {
482
+function getpaid_register_buddypress_settings($settings) {
483 483
 
484
-    if ( class_exists( 'BuddyPress' ) ) {
484
+    if (class_exists('BuddyPress')) {
485 485
 
486 486
         $settings[] = array(
487 487
 
488 488
             'id'       => 'buddypress',
489
-            'label'    => __( 'BuddyPress', 'invoicing' ),
489
+            'label'    => __('BuddyPress', 'invoicing'),
490 490
             'settings' => array(
491 491
 
492 492
                 'buddypress_settings' => array(
493 493
                     'id'   => 'buddypress_settings',
494
-                    'name' => '<h3>' . __( 'BuddyPress', 'invoicing' ) . '</h3>',
494
+                    'name' => '<h3>' . __('BuddyPress', 'invoicing') . '</h3>',
495 495
                     'type' => 'header',
496 496
                 ),
497 497
 
498 498
                 'enable_buddypress' => array(
499 499
                     'id'         => 'enable_buddypress',
500
-                    'name'       => __( 'Enable Integration', 'invoicing' ),
501
-                    'desc'       => __( 'Display GetPaid items on BuddyPress account pages.', 'invoicing' ),
500
+                    'name'       => __('Enable Integration', 'invoicing'),
501
+                    'desc'       => __('Display GetPaid items on BuddyPress account pages.', 'invoicing'),
502 502
                     'type'       => 'checkbox',
503 503
                     'std'        => 1,
504 504
                 )
@@ -511,7 +511,7 @@  discard block
 block discarded – undo
511 511
 
512 512
     return $settings;
513 513
 }
514
-add_filter( 'getpaid_integration_settings', 'getpaid_register_buddypress_settings' );
514
+add_filter('getpaid_integration_settings', 'getpaid_register_buddypress_settings');
515 515
 
516 516
 /**
517 517
  * Checks if the integration is enabled.
@@ -520,8 +520,8 @@  discard block
 block discarded – undo
520 520
  * @return bool
521 521
  */
522 522
 function getpaid_is_buddypress_integration_active() {
523
-    $enabled = wpinv_get_option( 'enable_buddypress', 1 );
524
-    return class_exists( 'BuddyPress' ) && ! empty( $enabled );
523
+    $enabled = wpinv_get_option('enable_buddypress', 1);
524
+    return class_exists('BuddyPress') && !empty($enabled);
525 525
 }
526 526
 
527 527
 /**
@@ -532,10 +532,10 @@  discard block
 block discarded – undo
532 532
  */
533 533
 function getpaid_setup_buddypress_integration() {
534 534
 
535
-    if ( getpaid_is_buddypress_integration_active() ) {
536
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-bp-getpaid-component.php' );
535
+    if (getpaid_is_buddypress_integration_active()) {
536
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-bp-getpaid-component.php');
537 537
         buddypress()->getpaid = new BP_GetPaid_Component();
538 538
     }
539 539
 
540 540
 }
541
-add_action( 'bp_setup_components', 'getpaid_setup_buddypress_integration' );
541
+add_action('bp_setup_components', 'getpaid_setup_buddypress_integration');
Please login to merge, or discard this patch.
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-super-duper/wp-super-duper.php 3 patches
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.
Indentation   +1933 added lines, -1933 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.26";
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.26";
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,405 +1233,405 @@  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
-						if ( is_array( $value ) ) {
1308
-							$value = implode( ",", $value );
1309
-						}
1310
-						$attributes .= " " . sanitize_title_with_dashes( $key ) . "='" . wp_slash( $value ) . "' ";
1311
-					}
1312
-				}
1313
-
1314
-				$shortcode = "[" . $shortcode_name . " " . $attributes . "]";
1315
-
1316
-				echo do_shortcode( $shortcode );
1317
-
1318
-			}
1319
-			wp_die();
1320
-		}
1321
-
1322
-		/**
1323
-		 * Output the shortcode.
1324
-		 *
1325
-		 * @param array $args
1326
-		 * @param string $content
1327
-		 *
1328
-		 * @return string
1329
-		 */
1330
-		public function shortcode_output( $args = array(), $content = '' ) {
1331
-			$args = $this->argument_values( $args );
1332
-
1333
-			// add extra argument so we know its a output to gutenberg
1334
-			//$args
1335
-			$args = $this->string_to_bool( $args );
1336
-
1337
-			// if we have a enclosed shortcode we add it to the special `html` argument
1338
-			if ( ! empty( $content ) ) {
1339
-				$args['html'] = $content;
1340
-			}
1341
-
1342
-			$class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1343
-			$class .= " sdel-".$this->get_instance_hash();
1344
-
1345
-			$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1346
-			$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1347
-
1348
-			$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1349
-			$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); //@todo this does not seem right @kiran?
1350
-
1351
-			$shortcode_args = array();
1352
-			$output         = '';
1353
-			$no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1354
-			if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1355
-				$no_wrap = true;
1356
-			}
1357
-			$main_content = $this->output( $args, $shortcode_args, $content );
1358
-			if ( $main_content && ! $no_wrap ) {
1359
-				// wrap the shortcode in a div with the same class as the widget
1360
-				$output .= '<div class="' . $class . '" ' . $attrs . '>';
1361
-				if ( ! empty( $args['title'] ) ) {
1362
-					// if its a shortcode and there is a title try to grab the title wrappers
1363
-					$shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1364
-					if ( empty( $instance ) ) {
1365
-						global $wp_registered_sidebars;
1366
-						if ( ! empty( $wp_registered_sidebars ) ) {
1367
-							foreach ( $wp_registered_sidebars as $sidebar ) {
1368
-								if ( ! empty( $sidebar['before_title'] ) ) {
1369
-									$shortcode_args['before_title'] = $sidebar['before_title'];
1370
-									$shortcode_args['after_title']  = $sidebar['after_title'];
1371
-									break;
1372
-								}
1373
-							}
1374
-						}
1375
-					}
1376
-					$output .= $this->output_title( $shortcode_args, $args );
1377
-				}
1378
-				$output .= $main_content;
1379
-				$output .= '</div>';
1380
-			} elseif ( $main_content && $no_wrap ) {
1381
-				$output .= $main_content;
1382
-			}
1383
-
1384
-			// if preview show a placeholder if empty
1385
-			if ( $this->is_preview() && $output == '' ) {
1386
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1387
-			}
1388
-
1389
-			return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1390
-		}
1391
-
1392
-		/**
1393
-		 * Placeholder text to show if output is empty and we are on a preview/builder page.
1394
-		 *
1395
-		 * @param string $name
1396
-		 *
1397
-		 * @return string
1398
-		 */
1399
-		public function preview_placeholder_text( $name = '' ) {
1400
-			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf( __( 'Placeholder for: %s' ), $name ) . "</div>";
1401
-		}
1402
-
1403
-		/**
1404
-		 * Sometimes booleans values can be turned to strings, so we fix that.
1405
-		 *
1406
-		 * @param $options
1407
-		 *
1408
-		 * @return mixed
1409
-		 */
1410
-		public function string_to_bool( $options ) {
1411
-			// convert bool strings to booleans
1412
-			foreach ( $options as $key => $val ) {
1413
-				if ( $val == 'false' ) {
1414
-					$options[ $key ] = false;
1415
-				} elseif ( $val == 'true' ) {
1416
-					$options[ $key ] = true;
1417
-				}
1418
-			}
1419
-
1420
-			return $options;
1421
-		}
1422
-
1423
-		/**
1424
-		 * Get the argument values that are also filterable.
1425
-		 *
1426
-		 * @param $instance
1427
-		 *
1428
-		 * @since 1.0.12 Don't set checkbox default value if the value is empty.
1429
-		 *
1430
-		 * @return array
1431
-		 */
1432
-		public function argument_values( $instance ) {
1433
-			$argument_values = array();
1434
-
1435
-			// set widget instance
1436
-			$this->instance = $instance;
1437
-
1438
-			if ( empty( $this->arguments ) ) {
1439
-				$this->arguments = $this->get_arguments();
1440
-			}
1441
-
1442
-			if ( ! empty( $this->arguments ) ) {
1443
-				foreach ( $this->arguments as $key => $args ) {
1444
-					// set the input name from the key
1445
-					$args['name'] = $key;
1446
-					//
1447
-					$argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1448
-					if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1449
-						// don't set default for an empty checkbox
1450
-					} elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1451
-						$argument_values[ $key ] = $args['default'];
1452
-					}
1453
-				}
1454
-			}
1455
-
1456
-			return $argument_values;
1457
-		}
1458
-
1459
-		/**
1460
-		 * Set arguments in super duper.
1461
-		 *
1462
-		 * @since 1.0.0
1463
-		 *
1464
-		 * @return array Set arguments.
1465
-		 */
1466
-		public function set_arguments() {
1467
-			return $this->arguments;
1468
-		}
1469
-
1470
-		/**
1471
-		 * Get arguments in super duper.
1472
-		 *
1473
-		 * @since 1.0.0
1474
-		 *
1475
-		 * @return array Get arguments.
1476
-		 */
1477
-		public function get_arguments() {
1478
-			if ( empty( $this->arguments ) ) {
1479
-				$this->arguments = $this->set_arguments();
1480
-			}
1481
-
1482
-			$this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1483
-			$this->arguments = $this->add_name_from_key( $this->arguments, true );
1484
-
1485
-			return $this->arguments;
1486
-		}
1487
-
1488
-		/**
1489
-		 * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class.
1490
-		 *
1491
-		 * @param array $args
1492
-		 * @param array $widget_args
1493
-		 * @param string $content
1494
-		 */
1495
-		public function output( $args = array(), $widget_args = array(), $content = '' ) {
1496
-
1497
-		}
1498
-
1499
-		/**
1500
-		 * Add the dynamic block code inline when the wp-block in enqueued.
1501
-		 */
1502
-		public function register_block() {
1503
-			wp_add_inline_script( 'wp-blocks', $this->block() );
1504
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
1505
-				wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1506
-			}
1507
-		}
1508
-
1509
-		/**
1510
-		 * Check if we need to show advanced options.
1511
-		 *
1512
-		 * @return bool
1513
-		 */
1514
-		public function block_show_advanced() {
1515
-
1516
-			$show      = false;
1517
-			$arguments = $this->arguments;
1518
-
1519
-			if ( empty( $arguments ) ) {
1520
-				$arguments = $this->get_arguments();
1521
-			}
1522
-
1523
-			if ( ! empty( $arguments ) ) {
1524
-				foreach ( $arguments as $argument ) {
1525
-					if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1526
-						$show = true;
1527
-						break; // no need to continue if we know we have it
1528
-					}
1529
-				}
1530
-			}
1531
-
1532
-			return $show;
1533
-		}
1534
-
1535
-		/**
1536
-		 * Get the url path to the current folder.
1537
-		 *
1538
-		 * @return string
1539
-		 */
1540
-		public function get_url() {
1541
-
1542
-			$url = $this->url;
1543
-
1544
-			if ( ! $url ) {
1545
-				// check if we are inside a plugin
1546
-				$file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1547
-
1548
-				$dir_parts = explode( "/wp-content/", $file_dir );
1549
-				$url_parts = explode( "/wp-content/", plugins_url() );
1550
-
1551
-				if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1552
-					$url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1553
-					$this->url = $url;
1554
-				}
1555
-			}
1556
-
1557
-
1558
-			return $url;
1559
-		}
1560
-
1561
-		/**
1562
-		 * Generate the block icon.
1563
-		 *
1564
-		 * Enables the use of Font Awesome icons.
1565
-		 *
1566
-		 * @note xlink:href is actually deprecated but href is not supported by all so we use both.
1567
-		 *
1568
-		 * @param $icon
1569
-		 *
1570
-		 * @since 1.1.0
1571
-		 * @return string
1572
-		 */
1573
-		public function get_block_icon( $icon ) {
1574
-
1575
-			// check if we have a Font Awesome icon
1576
-			$fa_type = '';
1577
-			if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1578
-				$fa_type = 'solid';
1579
-			} elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1580
-				$fa_type = 'regular';
1581
-			} elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1582
-				$fa_type = 'brands';
1583
-			} else {
1584
-				$icon = "'" . $icon . "'";
1585
-			}
1586
-
1587
-			// set the icon if we found one
1588
-			if ( $fa_type ) {
1589
-				$fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1590
-				$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 . "'}))";
1591
-			}
1592
-
1593
-			return $icon;
1594
-		}
1595
-
1596
-		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
+                        if ( is_array( $value ) ) {
1308
+                            $value = implode( ",", $value );
1309
+                        }
1310
+                        $attributes .= " " . sanitize_title_with_dashes( $key ) . "='" . wp_slash( $value ) . "' ";
1311
+                    }
1312
+                }
1313
+
1314
+                $shortcode = "[" . $shortcode_name . " " . $attributes . "]";
1315
+
1316
+                echo do_shortcode( $shortcode );
1317
+
1318
+            }
1319
+            wp_die();
1320
+        }
1321
+
1322
+        /**
1323
+         * Output the shortcode.
1324
+         *
1325
+         * @param array $args
1326
+         * @param string $content
1327
+         *
1328
+         * @return string
1329
+         */
1330
+        public function shortcode_output( $args = array(), $content = '' ) {
1331
+            $args = $this->argument_values( $args );
1332
+
1333
+            // add extra argument so we know its a output to gutenberg
1334
+            //$args
1335
+            $args = $this->string_to_bool( $args );
1336
+
1337
+            // if we have a enclosed shortcode we add it to the special `html` argument
1338
+            if ( ! empty( $content ) ) {
1339
+                $args['html'] = $content;
1340
+            }
1341
+
1342
+            $class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1343
+            $class .= " sdel-".$this->get_instance_hash();
1344
+
1345
+            $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1346
+            $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1347
+
1348
+            $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1349
+            $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); //@todo this does not seem right @kiran?
1350
+
1351
+            $shortcode_args = array();
1352
+            $output         = '';
1353
+            $no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1354
+            if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1355
+                $no_wrap = true;
1356
+            }
1357
+            $main_content = $this->output( $args, $shortcode_args, $content );
1358
+            if ( $main_content && ! $no_wrap ) {
1359
+                // wrap the shortcode in a div with the same class as the widget
1360
+                $output .= '<div class="' . $class . '" ' . $attrs . '>';
1361
+                if ( ! empty( $args['title'] ) ) {
1362
+                    // if its a shortcode and there is a title try to grab the title wrappers
1363
+                    $shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1364
+                    if ( empty( $instance ) ) {
1365
+                        global $wp_registered_sidebars;
1366
+                        if ( ! empty( $wp_registered_sidebars ) ) {
1367
+                            foreach ( $wp_registered_sidebars as $sidebar ) {
1368
+                                if ( ! empty( $sidebar['before_title'] ) ) {
1369
+                                    $shortcode_args['before_title'] = $sidebar['before_title'];
1370
+                                    $shortcode_args['after_title']  = $sidebar['after_title'];
1371
+                                    break;
1372
+                                }
1373
+                            }
1374
+                        }
1375
+                    }
1376
+                    $output .= $this->output_title( $shortcode_args, $args );
1377
+                }
1378
+                $output .= $main_content;
1379
+                $output .= '</div>';
1380
+            } elseif ( $main_content && $no_wrap ) {
1381
+                $output .= $main_content;
1382
+            }
1383
+
1384
+            // if preview show a placeholder if empty
1385
+            if ( $this->is_preview() && $output == '' ) {
1386
+                $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1387
+            }
1388
+
1389
+            return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1390
+        }
1391
+
1392
+        /**
1393
+         * Placeholder text to show if output is empty and we are on a preview/builder page.
1394
+         *
1395
+         * @param string $name
1396
+         *
1397
+         * @return string
1398
+         */
1399
+        public function preview_placeholder_text( $name = '' ) {
1400
+            return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf( __( 'Placeholder for: %s' ), $name ) . "</div>";
1401
+        }
1402
+
1403
+        /**
1404
+         * Sometimes booleans values can be turned to strings, so we fix that.
1405
+         *
1406
+         * @param $options
1407
+         *
1408
+         * @return mixed
1409
+         */
1410
+        public function string_to_bool( $options ) {
1411
+            // convert bool strings to booleans
1412
+            foreach ( $options as $key => $val ) {
1413
+                if ( $val == 'false' ) {
1414
+                    $options[ $key ] = false;
1415
+                } elseif ( $val == 'true' ) {
1416
+                    $options[ $key ] = true;
1417
+                }
1418
+            }
1419
+
1420
+            return $options;
1421
+        }
1422
+
1423
+        /**
1424
+         * Get the argument values that are also filterable.
1425
+         *
1426
+         * @param $instance
1427
+         *
1428
+         * @since 1.0.12 Don't set checkbox default value if the value is empty.
1429
+         *
1430
+         * @return array
1431
+         */
1432
+        public function argument_values( $instance ) {
1433
+            $argument_values = array();
1434
+
1435
+            // set widget instance
1436
+            $this->instance = $instance;
1437
+
1438
+            if ( empty( $this->arguments ) ) {
1439
+                $this->arguments = $this->get_arguments();
1440
+            }
1441
+
1442
+            if ( ! empty( $this->arguments ) ) {
1443
+                foreach ( $this->arguments as $key => $args ) {
1444
+                    // set the input name from the key
1445
+                    $args['name'] = $key;
1446
+                    //
1447
+                    $argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1448
+                    if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1449
+                        // don't set default for an empty checkbox
1450
+                    } elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1451
+                        $argument_values[ $key ] = $args['default'];
1452
+                    }
1453
+                }
1454
+            }
1455
+
1456
+            return $argument_values;
1457
+        }
1458
+
1459
+        /**
1460
+         * Set arguments in super duper.
1461
+         *
1462
+         * @since 1.0.0
1463
+         *
1464
+         * @return array Set arguments.
1465
+         */
1466
+        public function set_arguments() {
1467
+            return $this->arguments;
1468
+        }
1469
+
1470
+        /**
1471
+         * Get arguments in super duper.
1472
+         *
1473
+         * @since 1.0.0
1474
+         *
1475
+         * @return array Get arguments.
1476
+         */
1477
+        public function get_arguments() {
1478
+            if ( empty( $this->arguments ) ) {
1479
+                $this->arguments = $this->set_arguments();
1480
+            }
1481
+
1482
+            $this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1483
+            $this->arguments = $this->add_name_from_key( $this->arguments, true );
1484
+
1485
+            return $this->arguments;
1486
+        }
1487
+
1488
+        /**
1489
+         * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class.
1490
+         *
1491
+         * @param array $args
1492
+         * @param array $widget_args
1493
+         * @param string $content
1494
+         */
1495
+        public function output( $args = array(), $widget_args = array(), $content = '' ) {
1496
+
1497
+        }
1498
+
1499
+        /**
1500
+         * Add the dynamic block code inline when the wp-block in enqueued.
1501
+         */
1502
+        public function register_block() {
1503
+            wp_add_inline_script( 'wp-blocks', $this->block() );
1504
+            if ( class_exists( 'SiteOrigin_Panels' ) ) {
1505
+                wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1506
+            }
1507
+        }
1508
+
1509
+        /**
1510
+         * Check if we need to show advanced options.
1511
+         *
1512
+         * @return bool
1513
+         */
1514
+        public function block_show_advanced() {
1515
+
1516
+            $show      = false;
1517
+            $arguments = $this->arguments;
1518
+
1519
+            if ( empty( $arguments ) ) {
1520
+                $arguments = $this->get_arguments();
1521
+            }
1522
+
1523
+            if ( ! empty( $arguments ) ) {
1524
+                foreach ( $arguments as $argument ) {
1525
+                    if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1526
+                        $show = true;
1527
+                        break; // no need to continue if we know we have it
1528
+                    }
1529
+                }
1530
+            }
1531
+
1532
+            return $show;
1533
+        }
1534
+
1535
+        /**
1536
+         * Get the url path to the current folder.
1537
+         *
1538
+         * @return string
1539
+         */
1540
+        public function get_url() {
1541
+
1542
+            $url = $this->url;
1543
+
1544
+            if ( ! $url ) {
1545
+                // check if we are inside a plugin
1546
+                $file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1547
+
1548
+                $dir_parts = explode( "/wp-content/", $file_dir );
1549
+                $url_parts = explode( "/wp-content/", plugins_url() );
1550
+
1551
+                if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1552
+                    $url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1553
+                    $this->url = $url;
1554
+                }
1555
+            }
1556
+
1557
+
1558
+            return $url;
1559
+        }
1560
+
1561
+        /**
1562
+         * Generate the block icon.
1563
+         *
1564
+         * Enables the use of Font Awesome icons.
1565
+         *
1566
+         * @note xlink:href is actually deprecated but href is not supported by all so we use both.
1567
+         *
1568
+         * @param $icon
1569
+         *
1570
+         * @since 1.1.0
1571
+         * @return string
1572
+         */
1573
+        public function get_block_icon( $icon ) {
1574
+
1575
+            // check if we have a Font Awesome icon
1576
+            $fa_type = '';
1577
+            if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1578
+                $fa_type = 'solid';
1579
+            } elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1580
+                $fa_type = 'regular';
1581
+            } elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1582
+                $fa_type = 'brands';
1583
+            } else {
1584
+                $icon = "'" . $icon . "'";
1585
+            }
1586
+
1587
+            // set the icon if we found one
1588
+            if ( $fa_type ) {
1589
+                $fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1590
+                $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 . "'}))";
1591
+            }
1592
+
1593
+            return $icon;
1594
+        }
1595
+
1596
+        public function group_arguments( $arguments ) {
1597 1597
 //			echo '###';print_r($arguments);
1598
-			if ( ! empty( $arguments ) ) {
1599
-				$temp_arguments = array();
1600
-				$general        = __( "General" );
1601
-				$add_sections   = false;
1602
-				foreach ( $arguments as $key => $args ) {
1603
-					if ( isset( $args['group'] ) ) {
1604
-						$temp_arguments[ $args['group'] ][ $key ] = $args;
1605
-						$add_sections                             = true;
1606
-					} else {
1607
-						$temp_arguments[ $general ][ $key ] = $args;
1608
-					}
1609
-				}
1610
-
1611
-				// only add sections if more than one
1612
-				if ( $add_sections ) {
1613
-					$arguments = $temp_arguments;
1614
-				}
1615
-			}
1598
+            if ( ! empty( $arguments ) ) {
1599
+                $temp_arguments = array();
1600
+                $general        = __( "General" );
1601
+                $add_sections   = false;
1602
+                foreach ( $arguments as $key => $args ) {
1603
+                    if ( isset( $args['group'] ) ) {
1604
+                        $temp_arguments[ $args['group'] ][ $key ] = $args;
1605
+                        $add_sections                             = true;
1606
+                    } else {
1607
+                        $temp_arguments[ $general ][ $key ] = $args;
1608
+                    }
1609
+                }
1610
+
1611
+                // only add sections if more than one
1612
+                if ( $add_sections ) {
1613
+                    $arguments = $temp_arguments;
1614
+                }
1615
+            }
1616 1616
 
1617 1617
 //			echo '###';print_r($arguments);
1618
-			return $arguments;
1619
-		}
1620
-
1621
-
1622
-		/**
1623
-		 * Output the JS for building the dynamic Guntenberg block.
1624
-		 *
1625
-		 * @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.
1626
-		 * @since 1.0.9 Save numbers as numbers and not strings.
1627
-		 * @since 1.1.0 Font Awesome classes can be used for icons.
1628
-		 * @return mixed
1629
-		 */
1630
-		public function block() {
1631
-			ob_start();
1632
-
1633
-			$show_advanced = $this->block_show_advanced();
1634
-			?>
1618
+            return $arguments;
1619
+        }
1620
+
1621
+
1622
+        /**
1623
+         * Output the JS for building the dynamic Guntenberg block.
1624
+         *
1625
+         * @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.
1626
+         * @since 1.0.9 Save numbers as numbers and not strings.
1627
+         * @since 1.1.0 Font Awesome classes can be used for icons.
1628
+         * @return mixed
1629
+         */
1630
+        public function block() {
1631
+            ob_start();
1632
+
1633
+            $show_advanced = $this->block_show_advanced();
1634
+            ?>
1635 1635
 			<script>
1636 1636
 				/**
1637 1637
 				 * BLOCK: Basic
@@ -1675,97 +1675,97 @@  discard block
 block discarded – undo
1675 1675
 						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/.
1676 1676
 						supports: {
1677 1677
 							<?php
1678
-							if ( isset( $this->options['block-supports'] ) ) {
1679
-								echo $this->array_to_attributes( $this->options['block-supports'] );
1680
-							}
1681
-							?>
1678
+                            if ( isset( $this->options['block-supports'] ) ) {
1679
+                                echo $this->array_to_attributes( $this->options['block-supports'] );
1680
+                            }
1681
+                            ?>
1682 1682
 						},
1683 1683
 						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.
1684 1684
 						<?php if ( isset( $this->options['block-keywords'] ) ) {
1685
-						echo "keywords : " . $this->options['block-keywords'] . ",";
1686
-					}?>
1685
+                        echo "keywords : " . $this->options['block-keywords'] . ",";
1686
+                    }?>
1687 1687
 
1688 1688
 						<?php
1689 1689
 
1690
-						// maybe set no_wrap
1691
-						$no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1692
-						if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
1693
-							$no_wrap = true;
1694
-						}
1695
-						if ( $no_wrap ) {
1696
-							$this->options['block-wrap'] = '';
1697
-						}
1690
+                        // maybe set no_wrap
1691
+                        $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1692
+                        if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
1693
+                            $no_wrap = true;
1694
+                        }
1695
+                        if ( $no_wrap ) {
1696
+                            $this->options['block-wrap'] = '';
1697
+                        }
1698 1698
 
1699 1699
 
1700 1700
 
1701
-						$show_alignment = false;
1702
-						// align feature
1703
-						/*echo "supports: {";
1701
+                        $show_alignment = false;
1702
+                        // align feature
1703
+                        /*echo "supports: {";
1704 1704
 						echo "	align: true,";
1705 1705
 						echo "  html: false";
1706 1706
 						echo "},";*/
1707 1707
 
1708
-						if ( ! empty( $this->arguments ) ) {
1709
-							echo "attributes : {";
1710
-
1711
-							if ( $show_advanced ) {
1712
-								echo "show_advanced: {";
1713
-								echo "	type: 'boolean',";
1714
-								echo "  default: false,";
1715
-								echo "},";
1716
-							}
1717
-
1718
-							// block wrap element
1719
-							if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
1720
-								echo "block_wrap: {";
1721
-								echo "	type: 'string',";
1722
-								echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
1723
-								echo "},";
1724
-							}
1725
-
1726
-							foreach ( $this->arguments as $key => $args ) {
1727
-
1728
-								// set if we should show alignment
1729
-								if ( $key == 'alignment' ) {
1730
-									$show_alignment = true;
1731
-								}
1732
-
1733
-								$extra = '';
1734
-
1735
-								if ( $args['type'] == 'checkbox' ) {
1736
-									$type    = 'boolean';
1737
-									$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
1738
-								} elseif ( $args['type'] == 'number' ) {
1739
-									$type    = 'number';
1740
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1741
-								} elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
1742
-									$type = 'array';
1743
-									if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
1744
-										$default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
1745
-									} else {
1746
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1747
-									}
1748
-								} elseif ( $args['type'] == 'multiselect' ) {
1749
-									$type    = 'array';
1750
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1751
-								} else {
1752
-									$type    = 'string';
1753
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1754
-								}
1755
-								echo $key . " : {";
1756
-								echo "type : '$type',";
1757
-								echo "default : $default,";
1758
-								echo "},";
1759
-							}
1760
-
1761
-							echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
1762
-							echo "className: { type: 'string', default: '' },";
1763
-
1764
-							echo "},";
1765
-
1766
-						}
1767
-
1768
-						?>
1708
+                        if ( ! empty( $this->arguments ) ) {
1709
+                            echo "attributes : {";
1710
+
1711
+                            if ( $show_advanced ) {
1712
+                                echo "show_advanced: {";
1713
+                                echo "	type: 'boolean',";
1714
+                                echo "  default: false,";
1715
+                                echo "},";
1716
+                            }
1717
+
1718
+                            // block wrap element
1719
+                            if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
1720
+                                echo "block_wrap: {";
1721
+                                echo "	type: 'string',";
1722
+                                echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
1723
+                                echo "},";
1724
+                            }
1725
+
1726
+                            foreach ( $this->arguments as $key => $args ) {
1727
+
1728
+                                // set if we should show alignment
1729
+                                if ( $key == 'alignment' ) {
1730
+                                    $show_alignment = true;
1731
+                                }
1732
+
1733
+                                $extra = '';
1734
+
1735
+                                if ( $args['type'] == 'checkbox' ) {
1736
+                                    $type    = 'boolean';
1737
+                                    $default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
1738
+                                } elseif ( $args['type'] == 'number' ) {
1739
+                                    $type    = 'number';
1740
+                                    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1741
+                                } elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
1742
+                                    $type = 'array';
1743
+                                    if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
1744
+                                        $default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
1745
+                                    } else {
1746
+                                        $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1747
+                                    }
1748
+                                } elseif ( $args['type'] == 'multiselect' ) {
1749
+                                    $type    = 'array';
1750
+                                    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1751
+                                } else {
1752
+                                    $type    = 'string';
1753
+                                    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1754
+                                }
1755
+                                echo $key . " : {";
1756
+                                echo "type : '$type',";
1757
+                                echo "default : $default,";
1758
+                                echo "},";
1759
+                            }
1760
+
1761
+                            echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
1762
+                            echo "className: { type: 'string', default: '' },";
1763
+
1764
+                            echo "},";
1765
+
1766
+                        }
1767
+
1768
+                        ?>
1769 1769
 
1770 1770
 						// The "edit" property must be a valid function.
1771 1771
 						edit: function (props) {
@@ -1773,9 +1773,9 @@  discard block
 block discarded – undo
1773 1773
 
1774 1774
 							var $value = '';
1775 1775
 							<?php
1776
-							// if we have a post_type and a category then link them
1777
-							if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
1778
-							?>
1776
+                            // if we have a post_type and a category then link them
1777
+                            if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
1778
+                            ?>
1779 1779
 							if(typeof(prev_attributes[props.id]) != 'undefined' ){
1780 1780
 								$pt = props.attributes.post_type;
1781 1781
 								if(post_type_rest_slugs.length){
@@ -1859,8 +1859,8 @@  discard block
 block discarded – undo
1859 1859
 										'shortcode': '<?php echo $this->options['base_id'];?>',
1860 1860
 										'attributes': props.attributes,
1861 1861
 										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
1862
-										echo $post->ID;
1863
-									}else{echo '0';}?>,
1862
+                                        echo $post->ID;
1863
+                                    }else{echo '0';}?>,
1864 1864
 										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
1865 1865
 									};
1866 1866
 
@@ -1912,10 +1912,10 @@  discard block
 block discarded – undo
1912 1912
 
1913 1913
 									<?php
1914 1914
 
1915
-									if(! empty( $this->arguments )){
1915
+                                    if(! empty( $this->arguments )){
1916 1916
 
1917
-									if ( $show_advanced ) {
1918
-									?>
1917
+                                    if ( $show_advanced ) {
1918
+                                    ?>
1919 1919
 									el('div', {
1920 1920
 											style: {'padding-left': '16px','padding-right': '16px'}
1921 1921
 										},
@@ -1933,79 +1933,79 @@  discard block
 block discarded – undo
1933 1933
 									,
1934 1934
 									<?php
1935 1935
 
1936
-									}
1936
+                                    }
1937 1937
 
1938
-									$arguments = $this->group_arguments( $this->arguments );
1938
+                                    $arguments = $this->group_arguments( $this->arguments );
1939 1939
 
1940
-									// Do we have sections?
1941
-									$has_sections = $arguments == $this->arguments ? false : true;
1940
+                                    // Do we have sections?
1941
+                                    $has_sections = $arguments == $this->arguments ? false : true;
1942 1942
 
1943 1943
 
1944
-									if($has_sections){
1945
-									$panel_count = 0;
1946
-									foreach($arguments as $key => $args){
1947
-									?>
1944
+                                    if($has_sections){
1945
+                                    $panel_count = 0;
1946
+                                    foreach($arguments as $key => $args){
1947
+                                    ?>
1948 1948
 									el(wp.components.PanelBody, {
1949 1949
 											title: '<?php esc_attr_e( $key ); ?>',
1950 1950
 											initialOpen: <?php if ( $panel_count ) {
1951
-											echo "false";
1952
-										} else {
1953
-											echo "true";
1954
-										}?>
1951
+                                            echo "false";
1952
+                                        } else {
1953
+                                            echo "true";
1954
+                                        }?>
1955 1955
 										},
1956 1956
 										<?php
1957 1957
 
1958 1958
 
1959 1959
 
1960
-										foreach ( $args as $k => $a ) {
1960
+                                        foreach ( $args as $k => $a ) {
1961 1961
 
1962
-											$this->block_row_start( $k, $a );
1963
-											$this->build_block_arguments( $k, $a );
1964
-											$this->block_row_end( $k, $a );
1965
-										}
1966
-										?>
1962
+                                            $this->block_row_start( $k, $a );
1963
+                                            $this->build_block_arguments( $k, $a );
1964
+                                            $this->block_row_end( $k, $a );
1965
+                                        }
1966
+                                        ?>
1967 1967
 									),
1968 1968
 									<?php
1969
-									$panel_count ++;
1969
+                                    $panel_count ++;
1970 1970
 
1971
-									}
1972
-									}else {
1973
-									?>
1971
+                                    }
1972
+                                    }else {
1973
+                                    ?>
1974 1974
 									el(wp.components.PanelBody, {
1975 1975
 											title: '<?php esc_attr_e( "Settings" ); ?>',
1976 1976
 											initialOpen: true
1977 1977
 										},
1978 1978
 										<?php
1979
-										foreach ( $this->arguments as $key => $args ) {
1980
-											$this->block_row_start( $key, $args );
1981
-											$this->build_block_arguments( $key, $args );
1982
-											$this->block_row_end( $key, $args );
1983
-										}
1984
-										?>
1979
+                                        foreach ( $this->arguments as $key => $args ) {
1980
+                                            $this->block_row_start( $key, $args );
1981
+                                            $this->build_block_arguments( $key, $args );
1982
+                                            $this->block_row_end( $key, $args );
1983
+                                        }
1984
+                                        ?>
1985 1985
 									),
1986 1986
 									<?php
1987
-									}
1987
+                                    }
1988 1988
 
1989
-									}
1990
-									?>
1989
+                                    }
1990
+                                    ?>
1991 1991
 
1992 1992
 								),
1993 1993
 
1994 1994
 								<?php
1995
-								// If the user sets block-output array then build it
1996
-								if ( ! empty( $this->options['block-output'] ) ) {
1997
-								$this->block_element( $this->options['block-output'] );
1998
-							}else{
1999
-								// if no block-output is set then we try and get the shortcode html output via ajax.
2000
-								?>
1995
+                                // If the user sets block-output array then build it
1996
+                                if ( ! empty( $this->options['block-output'] ) ) {
1997
+                                $this->block_element( $this->options['block-output'] );
1998
+                            }else{
1999
+                                // if no block-output is set then we try and get the shortcode html output via ajax.
2000
+                                ?>
2001 2001
 								el('div', {
2002 2002
 									dangerouslySetInnerHTML: {__html: onChangeContent()},
2003 2003
 									className: props.className,
2004 2004
 									style: {'minHeight': '30px'}
2005 2005
 								})
2006 2006
 								<?php
2007
-								}
2008
-								?>
2007
+                                }
2008
+                                ?>
2009 2009
 							]; // end return
2010 2010
 						},
2011 2011
 
@@ -2023,10 +2023,10 @@  discard block
 block discarded – undo
2023 2023
 							$html = '';
2024 2024
 							<?php
2025 2025
 
2026
-							if(! empty( $this->arguments )){
2026
+                            if(! empty( $this->arguments )){
2027 2027
 
2028
-							foreach($this->arguments as $key => $args){
2029
-							?>
2028
+                            foreach($this->arguments as $key => $args){
2029
+                            ?>
2030 2030
 							if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
2031 2031
 								if ('<?php echo esc_attr( $key );?>' == 'html') {
2032 2032
 									$html = attr.<?php echo esc_attr( $key );?>;
@@ -2035,10 +2035,10 @@  discard block
 block discarded – undo
2035 2035
 								}
2036 2036
 							}
2037 2037
 							<?php
2038
-							}
2039
-							}
2038
+                            }
2039
+                            }
2040 2040
 
2041
-							?>
2041
+                            ?>
2042 2042
 							content += "]";
2043 2043
 
2044 2044
 							// if has html element
@@ -2061,20 +2061,20 @@  discard block
 block discarded – undo
2061 2061
 							}
2062 2062
 
2063 2063
 							<?php
2064
-							if(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
2065
-							?>
2064
+                            if(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
2065
+                            ?>
2066 2066
 							return content;
2067 2067
 							<?php
2068
-							}else{
2069
-							?>
2068
+                            }else{
2069
+                            ?>
2070 2070
 							var block_wrap = 'div';
2071 2071
 							if (attr.hasOwnProperty("block_wrap")) {
2072 2072
 								block_wrap = attr.block_wrap;
2073 2073
 							}
2074 2074
 							return el(block_wrap, {dangerouslySetInnerHTML: {__html: content}, className: align});
2075 2075
 							<?php
2076
-							}
2077
-							?>
2076
+                            }
2077
+                            ?>
2078 2078
 
2079 2079
 
2080 2080
 						}
@@ -2082,30 +2082,30 @@  discard block
 block discarded – undo
2082 2082
 				})();
2083 2083
 			</script>
2084 2084
 			<?php
2085
-			$output = ob_get_clean();
2085
+            $output = ob_get_clean();
2086 2086
 
2087
-			/*
2087
+            /*
2088 2088
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
2089 2089
 			 */
2090 2090
 
2091
-			return str_replace( array(
2092
-				'<script>',
2093
-				'</script>'
2094
-			), '', $output );
2095
-		}
2091
+            return str_replace( array(
2092
+                '<script>',
2093
+                '</script>'
2094
+            ), '', $output );
2095
+        }
2096 2096
 
2097
-		public function block_row_start($key, $args){
2097
+        public function block_row_start($key, $args){
2098 2098
 
2099
-			// check for row
2100
-			if(!empty($args['row'])){
2099
+            // check for row
2100
+            if(!empty($args['row'])){
2101 2101
 
2102
-				if(!empty($args['row']['open'])){
2102
+                if(!empty($args['row']['open'])){
2103 2103
 
2104
-				// element require
2105
-				$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2106
-				echo $element_require;
2104
+                // element require
2105
+                $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2106
+                echo $element_require;
2107 2107
 
2108
-					if(false){?><script><?php }?>
2108
+                    if(false){?><script><?php }?>
2109 2109
 						el('div', {
2110 2110
 								className: 'bsui components-base-control',
2111 2111
 							},
@@ -2135,87 +2135,87 @@  discard block
 block discarded – undo
2135 2135
 									},
2136 2136
 
2137 2137
 					<?php
2138
-					if(false){?></script><?php }
2139
-				}elseif(!empty($args['row']['close'])){
2140
-					if(false){?><script><?php }?>
2138
+                    if(false){?></script><?php }
2139
+                }elseif(!empty($args['row']['close'])){
2140
+                    if(false){?><script><?php }?>
2141 2141
 						el(
2142 2142
 							'div',
2143 2143
 							{
2144 2144
 								className: 'col pl-0',
2145 2145
 							},
2146 2146
 					<?php
2147
-					if(false){?></script><?php }
2148
-				}else{
2149
-					if(false){?><script><?php }?>
2147
+                    if(false){?></script><?php }
2148
+                }else{
2149
+                    if(false){?><script><?php }?>
2150 2150
 						el(
2151 2151
 							'div',
2152 2152
 							{
2153 2153
 								className: 'col pl-0 pr-2',
2154 2154
 							},
2155 2155
 					<?php
2156
-					if(false){?></script><?php }
2157
-				}
2158
-
2159
-			}
2160
-
2161
-		}
2162
-
2163
-		public function block_row_end($key, $args){
2164
-
2165
-			if(!empty($args['row'])){
2166
-				// maybe close
2167
-				if(!empty($args['row']['close'])){
2168
-					echo "))";
2169
-				}
2170
-
2171
-				echo "),";
2172
-			}
2173
-		}
2174
-
2175
-		public function build_block_arguments( $key, $args ) {
2176
-			$custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
2177
-			$options           = '';
2178
-			$extra             = '';
2179
-			$require           = '';
2180
-
2181
-			// `content` is a protected and special argument
2182
-			if ( $key == 'content' ) {
2183
-				return;
2184
-			}
2185
-
2186
-
2187
-			// icon
2188
-			$icon = '';
2189
-			if( !empty( $args['icon'] ) ){
2190
-				$icon .= "el('div', {";
2191
-									$icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
2192
-									$icon .= "className: 'text-center',";
2193
-									$icon .= "title: '".addslashes( $args['title'] )."',";
2194
-								$icon .= "}),";
2195
-
2196
-				// blank title as its added to the icon.
2197
-				$args['title'] = '';
2198
-			}
2199
-
2200
-			// require advanced
2201
-			$require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
2202
-
2203
-			// element require
2204
-			$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2205
-
2206
-
2207
-			$onchange  = "props.setAttributes({ $key: $key } )";
2208
-			$onchangecomplete  = "";
2209
-			$value     = "props.attributes.$key";
2210
-			$text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx' );
2211
-			if ( in_array( $args['type'], $text_type ) ) {
2212
-				$type = 'TextControl';
2213
-				// Save numbers as numbers and not strings
2214
-				if ( $args['type'] == 'number' ) {
2215
-					$onchange = "props.setAttributes({ $key: Number($key) } )";
2216
-				}
2217
-			}
2218
-			/*
2156
+                    if(false){?></script><?php }
2157
+                }
2158
+
2159
+            }
2160
+
2161
+        }
2162
+
2163
+        public function block_row_end($key, $args){
2164
+
2165
+            if(!empty($args['row'])){
2166
+                // maybe close
2167
+                if(!empty($args['row']['close'])){
2168
+                    echo "))";
2169
+                }
2170
+
2171
+                echo "),";
2172
+            }
2173
+        }
2174
+
2175
+        public function build_block_arguments( $key, $args ) {
2176
+            $custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
2177
+            $options           = '';
2178
+            $extra             = '';
2179
+            $require           = '';
2180
+
2181
+            // `content` is a protected and special argument
2182
+            if ( $key == 'content' ) {
2183
+                return;
2184
+            }
2185
+
2186
+
2187
+            // icon
2188
+            $icon = '';
2189
+            if( !empty( $args['icon'] ) ){
2190
+                $icon .= "el('div', {";
2191
+                                    $icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
2192
+                                    $icon .= "className: 'text-center',";
2193
+                                    $icon .= "title: '".addslashes( $args['title'] )."',";
2194
+                                $icon .= "}),";
2195
+
2196
+                // blank title as its added to the icon.
2197
+                $args['title'] = '';
2198
+            }
2199
+
2200
+            // require advanced
2201
+            $require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
2202
+
2203
+            // element require
2204
+            $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2205
+
2206
+
2207
+            $onchange  = "props.setAttributes({ $key: $key } )";
2208
+            $onchangecomplete  = "";
2209
+            $value     = "props.attributes.$key";
2210
+            $text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx' );
2211
+            if ( in_array( $args['type'], $text_type ) ) {
2212
+                $type = 'TextControl';
2213
+                // Save numbers as numbers and not strings
2214
+                if ( $args['type'] == 'number' ) {
2215
+                    $onchange = "props.setAttributes({ $key: Number($key) } )";
2216
+                }
2217
+            }
2218
+            /*
2219 2219
 			 * https://www.wptricks.com/question/set-current-tab-on-a-gutenberg-tabpanel-component-from-outside-that-component/ es5 layout
2220 2220
 						elseif($args['type']=='tabs'){
2221 2221
 							?>
@@ -2249,85 +2249,85 @@  discard block
 block discarded – undo
2249 2249
 							return;
2250 2250
 						}
2251 2251
 			*/
2252
-			elseif ( $args['type'] == 'color' ) {
2253
-				$type = 'ColorPicker';
2254
-				$onchange = "";
2255
-				$extra = "color: $value,";
2256
-				if(!empty($args['disable_alpha'])){
2257
-					$extra .= "disableAlpha: true,";
2258
-				}
2259
-				$onchangecomplete = "onChangeComplete: function($key) {
2252
+            elseif ( $args['type'] == 'color' ) {
2253
+                $type = 'ColorPicker';
2254
+                $onchange = "";
2255
+                $extra = "color: $value,";
2256
+                if(!empty($args['disable_alpha'])){
2257
+                    $extra .= "disableAlpha: true,";
2258
+                }
2259
+                $onchangecomplete = "onChangeComplete: function($key) {
2260 2260
 				value =  $key.rgb.a && $key.rgb.a < 1 ? \"rgba(\"+$key.rgb.r+\",\"+$key.rgb.g+\",\"+$key.rgb.b+\",\"+$key.rgb.a+\")\" : $key.hex;
2261 2261
                         props.setAttributes({
2262 2262
                             $key: value
2263 2263
                         });
2264 2264
                     },";
2265
-			}
2266
-			elseif ( $args['type'] == 'checkbox' ) {
2267
-				$type = 'CheckboxControl';
2268
-				$extra .= "checked: props.attributes.$key,";
2269
-				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
2270
-			} elseif ( $args['type'] == 'textarea' ) {
2271
-				$type = 'TextareaControl';
2272
-			} elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
2273
-				$type = 'SelectControl';
2274
-
2275
-				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
2276
-					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
2277
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
2278
-					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
2279
-				}else {
2280
-
2281
-					if ( ! empty( $args['options'] ) ) {
2282
-						$options .= "options: [";
2283
-						foreach ( $args['options'] as $option_val => $option_label ) {
2284
-							$options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . addslashes( $option_label ) . "' },";
2285
-						}
2286
-						$options .= "],";
2287
-					}
2288
-				}
2289
-				if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
2290
-					$extra .= ' multiple: true, ';
2291
-				}
2292
-			} elseif ( $args['type'] == 'alignment' ) {
2293
-				$type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
2294
-			}elseif ( $args['type'] == 'margins' ) {
2295
-
2296
-			} else {
2297
-				return;// if we have not implemented the control then don't break the JS.
2298
-			}
2299
-
2300
-
2301
-
2302
-			// color input does not show the labels so we add them
2303
-			if($args['type']=='color'){
2304
-				// add show only if advanced
2305
-				echo $require_advanced;
2306
-				// add setting require if defined
2307
-				echo $element_require;
2308
-				echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
2309
-			}
2310
-
2311
-			// add show only if advanced
2312
-			echo $require_advanced;
2313
-			// add setting require if defined
2314
-			echo $element_require;
2315
-
2316
-			// icon
2317
-			echo $icon;
2318
-			?>
2265
+            }
2266
+            elseif ( $args['type'] == 'checkbox' ) {
2267
+                $type = 'CheckboxControl';
2268
+                $extra .= "checked: props.attributes.$key,";
2269
+                $onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
2270
+            } elseif ( $args['type'] == 'textarea' ) {
2271
+                $type = 'TextareaControl';
2272
+            } elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
2273
+                $type = 'SelectControl';
2274
+
2275
+                if($args['name'] == 'category' && !empty($args['post_type_linked'])){
2276
+                    $options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
2277
+                }elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
2278
+                    $options .= "options: sort_by_".str_replace("-","_", $this->id).",";
2279
+                }else {
2280
+
2281
+                    if ( ! empty( $args['options'] ) ) {
2282
+                        $options .= "options: [";
2283
+                        foreach ( $args['options'] as $option_val => $option_label ) {
2284
+                            $options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . addslashes( $option_label ) . "' },";
2285
+                        }
2286
+                        $options .= "],";
2287
+                    }
2288
+                }
2289
+                if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
2290
+                    $extra .= ' multiple: true, ';
2291
+                }
2292
+            } elseif ( $args['type'] == 'alignment' ) {
2293
+                $type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
2294
+            }elseif ( $args['type'] == 'margins' ) {
2295
+
2296
+            } else {
2297
+                return;// if we have not implemented the control then don't break the JS.
2298
+            }
2299
+
2300
+
2301
+
2302
+            // color input does not show the labels so we add them
2303
+            if($args['type']=='color'){
2304
+                // add show only if advanced
2305
+                echo $require_advanced;
2306
+                // add setting require if defined
2307
+                echo $element_require;
2308
+                echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
2309
+            }
2310
+
2311
+            // add show only if advanced
2312
+            echo $require_advanced;
2313
+            // add setting require if defined
2314
+            echo $element_require;
2315
+
2316
+            // icon
2317
+            echo $icon;
2318
+            ?>
2319 2319
 			el( wp.components.<?php echo $type; ?>, {
2320 2320
 			label: '<?php echo addslashes( $args['title'] ); ?>',
2321 2321
 			help: '<?php if ( isset( $args['desc'] ) ) {
2322
-				echo addslashes( $args['desc'] );
2323
-			} ?>',
2322
+                echo addslashes( $args['desc'] );
2323
+            } ?>',
2324 2324
 			value: <?php echo $value; ?>,
2325 2325
 			<?php if ( $type == 'TextControl' && $args['type'] != 'text' ) {
2326
-				echo "type: '" . addslashes( $args['type'] ) . "',";
2327
-			} ?>
2326
+                echo "type: '" . addslashes( $args['type'] ) . "',";
2327
+            } ?>
2328 2328
 			<?php if ( ! empty( $args['placeholder'] ) ) {
2329
-				echo "placeholder: '" . addslashes( $args['placeholder'] ) . "',";
2330
-			} ?>
2329
+                echo "placeholder: '" . addslashes( $args['placeholder'] ) . "',";
2330
+            } ?>
2331 2331
 			<?php echo $options; ?>
2332 2332
 			<?php echo $extra; ?>
2333 2333
 			<?php echo $custom_attributes; ?>
@@ -2339,601 +2339,601 @@  discard block
 block discarded – undo
2339 2339
 			<?php
2340 2340
 
2341 2341
 
2342
-		}
2343
-
2344
-		/**
2345
-		 * Convert an array of attributes to block string.
2346
-		 *
2347
-		 * @todo there is prob a faster way to do this, also we could add some validation here.
2348
-		 *
2349
-		 * @param $custom_attributes
2350
-		 *
2351
-		 * @return string
2352
-		 */
2353
-		public function array_to_attributes( $custom_attributes, $html = false ) {
2354
-			$attributes = '';
2355
-			if ( ! empty( $custom_attributes ) ) {
2356
-
2357
-				if ( $html ) {
2358
-					foreach ( $custom_attributes as $key => $val ) {
2359
-						$attributes .= " $key='$val' ";
2360
-					}
2361
-				} else {
2362
-					foreach ( $custom_attributes as $key => $val ) {
2363
-						$attributes .= "'$key': '$val',";
2364
-					}
2365
-				}
2366
-			}
2367
-
2368
-			return $attributes;
2369
-		}
2370
-
2371
-		/**
2372
-		 * A self looping function to create the output for JS block elements.
2373
-		 *
2374
-		 * This is what is output in the WP Editor visual view.
2375
-		 *
2376
-		 * @param $args
2377
-		 */
2378
-		public function block_element( $args ) {
2379
-
2380
-
2381
-			if ( ! empty( $args ) ) {
2382
-				foreach ( $args as $element => $new_args ) {
2383
-
2384
-					if ( is_array( $new_args ) ) { // its an element
2385
-
2386
-
2387
-						if ( isset( $new_args['element'] ) ) {
2388
-
2389
-							if ( isset( $new_args['element_require'] ) ) {
2390
-								echo str_replace( array(
2391
-										"'+",
2392
-										"+'"
2393
-									), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
2394
-								unset( $new_args['element_require'] );
2395
-							}
2396
-
2397
-							echo "\n el( '" . $new_args['element'] . "', {";
2398
-
2399
-							// get the attributes
2400
-							foreach ( $new_args as $new_key => $new_value ) {
2401
-
2402
-
2403
-								if ( $new_key == 'element' || $new_key == 'content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
2404
-									// do nothing
2405
-								} else {
2406
-									echo $this->block_element( array( $new_key => $new_value ) );
2407
-								}
2408
-							}
2409
-
2410
-							echo "},";// end attributes
2411
-
2412
-							// get the content
2413
-							$first_item = 0;
2414
-							foreach ( $new_args as $new_key => $new_value ) {
2415
-								if ( $new_key === 'content' || is_array( $new_value ) ) {
2416
-
2417
-									if ( $new_key === 'content' ) {
2418
-										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
2419
-									}
2420
-
2421
-									if ( is_array( $new_value ) ) {
2422
-
2423
-										if ( isset( $new_value['element_require'] ) ) {
2424
-											echo str_replace( array(
2425
-													"'+",
2426
-													"+'"
2427
-												), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
2428
-											unset( $new_value['element_require'] );
2429
-										}
2430
-
2431
-										if ( isset( $new_value['element_repeat'] ) ) {
2432
-											$x = 1;
2433
-											while ( $x <= absint( $new_value['element_repeat'] ) ) {
2434
-												$this->block_element( array( '' => $new_value ) );
2435
-												$x ++;
2436
-											}
2437
-										} else {
2438
-											$this->block_element( array( '' => $new_value ) );
2439
-										}
2440
-									}
2441
-									$first_item ++;
2442
-								}
2443
-							}
2444
-
2445
-							echo ")";// end content
2446
-
2447
-							echo ", \n";
2448
-
2449
-						}
2450
-					} else {
2451
-
2452
-						if ( substr( $element, 0, 3 ) === "if_" ) {
2453
-							echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
2454
-						} elseif ( $element == 'style' ) {
2455
-							echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
2456
-						} else {
2457
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
2458
-						}
2459
-
2460
-					}
2461
-				}
2462
-			}
2463
-		}
2464
-
2465
-		/**
2466
-		 * Replace block attributes placeholders with the proper naming.
2467
-		 *
2468
-		 * @param $string
2469
-		 *
2470
-		 * @return mixed
2471
-		 */
2472
-		public function block_props_replace( $string, $no_wrap = false ) {
2473
-
2474
-			if ( $no_wrap ) {
2475
-				$string = str_replace( array( "[%", "%]" ), array( "props.attributes.", "" ), $string );
2476
-			} else {
2477
-				$string = str_replace( array( "[%", "%]" ), array( "'+props.attributes.", "+'" ), $string );
2478
-			}
2479
-
2480
-			return $string;
2481
-		}
2482
-
2483
-		/**
2484
-		 * Outputs the content of the widget
2485
-		 *
2486
-		 * @param array $args
2487
-		 * @param array $instance
2488
-		 */
2489
-		public function widget( $args, $instance ) {
2490
-
2491
-			// get the filtered values
2492
-			$argument_values = $this->argument_values( $instance );
2493
-			$argument_values = $this->string_to_bool( $argument_values );
2494
-			$output          = $this->output( $argument_values, $args );
2495
-
2496
-			$no_wrap = false;
2497
-			if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
2498
-				$no_wrap = true;
2499
-			}
2500
-
2501
-			ob_start();
2502
-			if ( $output && ! $no_wrap ) {
2503
-
2504
-				$class_original = $this->options['widget_ops']['classname'];
2505
-				$class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
2506
-
2507
-				// Before widget
2508
-				$before_widget = $args['before_widget'];
2509
-				$before_widget = str_replace($class_original,$class,$before_widget);
2510
-				$before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
2511
-				$before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
2512
-
2513
-				// After widget
2514
-				$after_widget = $args['after_widget'];
2515
-				$after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
2516
-				$after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
2517
-
2518
-				echo $before_widget;
2519
-				// elementor strips the widget wrapping div so we check for and add it back if needed
2520
-				if ( $this->is_elementor_widget_output() ) {
2521
-					echo ! empty( $this->options['widget_ops']['classname'] ) ? "<span class='" . esc_attr( $class  ) . "'>" : '';
2522
-				}
2523
-				echo $this->output_title( $args, $instance );
2524
-				echo $output;
2525
-				if ( $this->is_elementor_widget_output() ) {
2526
-					echo ! empty( $this->options['widget_ops']['classname'] ) ? "</span>" : '';
2527
-				}
2528
-				echo $after_widget;
2529
-			} elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
2530
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
2531
-				echo $output;
2532
-			} elseif ( $output && $no_wrap ) {
2533
-				echo $output;
2534
-			}
2535
-			$output = ob_get_clean();
2536
-
2537
-			$output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
2538
-
2539
-			echo $output;
2540
-		}
2541
-
2542
-		/**
2543
-		 * Tests if the current output is inside a elementor container.
2544
-		 *
2545
-		 * @since 1.0.4
2546
-		 * @return bool
2547
-		 */
2548
-		public function is_elementor_widget_output() {
2549
-			$result = false;
2550
-			if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
2551
-				$result = true;
2552
-			}
2553
-
2554
-			return $result;
2555
-		}
2556
-
2557
-		/**
2558
-		 * Tests if the current output is inside a elementor preview.
2559
-		 *
2560
-		 * @since 1.0.4
2561
-		 * @return bool
2562
-		 */
2563
-		public function is_elementor_preview() {
2564
-			$result = false;
2565
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
2566
-				$result = true;
2567
-			}
2568
-
2569
-			return $result;
2570
-		}
2571
-
2572
-		/**
2573
-		 * Tests if the current output is inside a Divi preview.
2574
-		 *
2575
-		 * @since 1.0.6
2576
-		 * @return bool
2577
-		 */
2578
-		public function is_divi_preview() {
2579
-			$result = false;
2580
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
2581
-				$result = true;
2582
-			}
2583
-
2584
-			return $result;
2585
-		}
2586
-
2587
-		/**
2588
-		 * Tests if the current output is inside a Beaver builder preview.
2589
-		 *
2590
-		 * @since 1.0.6
2591
-		 * @return bool
2592
-		 */
2593
-		public function is_beaver_preview() {
2594
-			$result = false;
2595
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
2596
-				$result = true;
2597
-			}
2598
-
2599
-			return $result;
2600
-		}
2601
-
2602
-		/**
2603
-		 * Tests if the current output is inside a siteorigin builder preview.
2604
-		 *
2605
-		 * @since 1.0.6
2606
-		 * @return bool
2607
-		 */
2608
-		public function is_siteorigin_preview() {
2609
-			$result = false;
2610
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
2611
-				$result = true;
2612
-			}
2613
-
2614
-			return $result;
2615
-		}
2616
-
2617
-		/**
2618
-		 * Tests if the current output is inside a cornerstone builder preview.
2619
-		 *
2620
-		 * @since 1.0.8
2621
-		 * @return bool
2622
-		 */
2623
-		public function is_cornerstone_preview() {
2624
-			$result = false;
2625
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
2626
-				$result = true;
2627
-			}
2628
-
2629
-			return $result;
2630
-		}
2631
-
2632
-		/**
2633
-		 * Tests if the current output is inside a fusion builder preview.
2634
-		 *
2635
-		 * @since 1.1.0
2636
-		 * @return bool
2637
-		 */
2638
-		public function is_fusion_preview() {
2639
-			$result = false;
2640
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
2641
-				$result = true;
2642
-			}
2643
-
2644
-			return $result;
2645
-		}
2646
-
2647
-		/**
2648
-		 * Tests if the current output is inside a Oxygen builder preview.
2649
-		 *
2650
-		 * @since 1.0.18
2651
-		 * @return bool
2652
-		 */
2653
-		public function is_oxygen_preview() {
2654
-			$result = false;
2655
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
2656
-				$result = true;
2657
-			}
2658
-
2659
-			return $result;
2660
-		}
2661
-
2662
-		/**
2663
-		 * General function to check if we are in a preview situation.
2664
-		 *
2665
-		 * @since 1.0.6
2666
-		 * @return bool
2667
-		 */
2668
-		public function is_preview() {
2669
-			$preview = false;
2670
-			if ( $this->is_divi_preview() ) {
2671
-				$preview = true;
2672
-			} elseif ( $this->is_elementor_preview() ) {
2673
-				$preview = true;
2674
-			} elseif ( $this->is_beaver_preview() ) {
2675
-				$preview = true;
2676
-			} elseif ( $this->is_siteorigin_preview() ) {
2677
-				$preview = true;
2678
-			} elseif ( $this->is_cornerstone_preview() ) {
2679
-				$preview = true;
2680
-			} elseif ( $this->is_fusion_preview() ) {
2681
-				$preview = true;
2682
-			} elseif ( $this->is_oxygen_preview() ) {
2683
-				$preview = true;
2684
-			} elseif( $this->is_block_content_call() ) {
2685
-				$preview = true;
2686
-			}
2687
-
2688
-			return $preview;
2689
-		}
2690
-
2691
-		/**
2692
-		 * Output the super title.
2693
-		 *
2694
-		 * @param $args
2695
-		 * @param array $instance
2696
-		 *
2697
-		 * @return string
2698
-		 */
2699
-		public function output_title( $args, $instance = array() ) {
2700
-			$output = '';
2701
-			if ( ! empty( $instance['title'] ) ) {
2702
-				/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
2703
-				$title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
2704
-
2705
-				if(empty($instance['widget_title_tag'])){
2706
-					$output = $args['before_title'] . $title . $args['after_title'];
2707
-				}else{
2708
-					$title_tag = esc_attr( $instance['widget_title_tag'] );
2709
-
2710
-					// classes
2711
-					$title_classes = array();
2712
-					$title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
2713
-					$title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
2714
-					$title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
2715
-					$title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
2716
-					$title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
2717
-					$title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
2718
-					$title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
2719
-					$title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
2720
-					$title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
2721
-					$title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
2722
-					$title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
2723
-					$title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
2724
-					$title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
2725
-
2726
-					$class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
2727
-					$output = "<$title_tag class='$class' >$title</$title_tag>";
2728
-				}
2729
-
2730
-			}
2731
-
2732
-			return $output;
2733
-		}
2734
-
2735
-		/**
2736
-		 * Outputs the options form inputs for the widget.
2737
-		 *
2738
-		 * @param array $instance The widget options.
2739
-		 */
2740
-		public function form( $instance ) {
2741
-
2742
-			// set widget instance
2743
-			$this->instance = $instance;
2744
-
2745
-			// set it as a SD widget
2746
-			echo $this->widget_advanced_toggle();
2747
-
2748
-			echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
2749
-			$arguments_raw = $this->get_arguments();
2750
-
2751
-			if ( is_array( $arguments_raw ) ) {
2752
-
2753
-				$arguments = $this->group_arguments( $arguments_raw );
2754
-
2755
-				// Do we have sections?
2756
-				$has_sections = $arguments == $arguments_raw ? false : true;
2757
-
2758
-
2759
-				if ( $has_sections ) {
2760
-					$panel_count = 0;
2761
-					foreach ( $arguments as $key => $args ) {
2762
-
2763
-						?>
2342
+        }
2343
+
2344
+        /**
2345
+         * Convert an array of attributes to block string.
2346
+         *
2347
+         * @todo there is prob a faster way to do this, also we could add some validation here.
2348
+         *
2349
+         * @param $custom_attributes
2350
+         *
2351
+         * @return string
2352
+         */
2353
+        public function array_to_attributes( $custom_attributes, $html = false ) {
2354
+            $attributes = '';
2355
+            if ( ! empty( $custom_attributes ) ) {
2356
+
2357
+                if ( $html ) {
2358
+                    foreach ( $custom_attributes as $key => $val ) {
2359
+                        $attributes .= " $key='$val' ";
2360
+                    }
2361
+                } else {
2362
+                    foreach ( $custom_attributes as $key => $val ) {
2363
+                        $attributes .= "'$key': '$val',";
2364
+                    }
2365
+                }
2366
+            }
2367
+
2368
+            return $attributes;
2369
+        }
2370
+
2371
+        /**
2372
+         * A self looping function to create the output for JS block elements.
2373
+         *
2374
+         * This is what is output in the WP Editor visual view.
2375
+         *
2376
+         * @param $args
2377
+         */
2378
+        public function block_element( $args ) {
2379
+
2380
+
2381
+            if ( ! empty( $args ) ) {
2382
+                foreach ( $args as $element => $new_args ) {
2383
+
2384
+                    if ( is_array( $new_args ) ) { // its an element
2385
+
2386
+
2387
+                        if ( isset( $new_args['element'] ) ) {
2388
+
2389
+                            if ( isset( $new_args['element_require'] ) ) {
2390
+                                echo str_replace( array(
2391
+                                        "'+",
2392
+                                        "+'"
2393
+                                    ), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
2394
+                                unset( $new_args['element_require'] );
2395
+                            }
2396
+
2397
+                            echo "\n el( '" . $new_args['element'] . "', {";
2398
+
2399
+                            // get the attributes
2400
+                            foreach ( $new_args as $new_key => $new_value ) {
2401
+
2402
+
2403
+                                if ( $new_key == 'element' || $new_key == 'content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
2404
+                                    // do nothing
2405
+                                } else {
2406
+                                    echo $this->block_element( array( $new_key => $new_value ) );
2407
+                                }
2408
+                            }
2409
+
2410
+                            echo "},";// end attributes
2411
+
2412
+                            // get the content
2413
+                            $first_item = 0;
2414
+                            foreach ( $new_args as $new_key => $new_value ) {
2415
+                                if ( $new_key === 'content' || is_array( $new_value ) ) {
2416
+
2417
+                                    if ( $new_key === 'content' ) {
2418
+                                        echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
2419
+                                    }
2420
+
2421
+                                    if ( is_array( $new_value ) ) {
2422
+
2423
+                                        if ( isset( $new_value['element_require'] ) ) {
2424
+                                            echo str_replace( array(
2425
+                                                    "'+",
2426
+                                                    "+'"
2427
+                                                ), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
2428
+                                            unset( $new_value['element_require'] );
2429
+                                        }
2430
+
2431
+                                        if ( isset( $new_value['element_repeat'] ) ) {
2432
+                                            $x = 1;
2433
+                                            while ( $x <= absint( $new_value['element_repeat'] ) ) {
2434
+                                                $this->block_element( array( '' => $new_value ) );
2435
+                                                $x ++;
2436
+                                            }
2437
+                                        } else {
2438
+                                            $this->block_element( array( '' => $new_value ) );
2439
+                                        }
2440
+                                    }
2441
+                                    $first_item ++;
2442
+                                }
2443
+                            }
2444
+
2445
+                            echo ")";// end content
2446
+
2447
+                            echo ", \n";
2448
+
2449
+                        }
2450
+                    } else {
2451
+
2452
+                        if ( substr( $element, 0, 3 ) === "if_" ) {
2453
+                            echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
2454
+                        } elseif ( $element == 'style' ) {
2455
+                            echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
2456
+                        } else {
2457
+                            echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
2458
+                        }
2459
+
2460
+                    }
2461
+                }
2462
+            }
2463
+        }
2464
+
2465
+        /**
2466
+         * Replace block attributes placeholders with the proper naming.
2467
+         *
2468
+         * @param $string
2469
+         *
2470
+         * @return mixed
2471
+         */
2472
+        public function block_props_replace( $string, $no_wrap = false ) {
2473
+
2474
+            if ( $no_wrap ) {
2475
+                $string = str_replace( array( "[%", "%]" ), array( "props.attributes.", "" ), $string );
2476
+            } else {
2477
+                $string = str_replace( array( "[%", "%]" ), array( "'+props.attributes.", "+'" ), $string );
2478
+            }
2479
+
2480
+            return $string;
2481
+        }
2482
+
2483
+        /**
2484
+         * Outputs the content of the widget
2485
+         *
2486
+         * @param array $args
2487
+         * @param array $instance
2488
+         */
2489
+        public function widget( $args, $instance ) {
2490
+
2491
+            // get the filtered values
2492
+            $argument_values = $this->argument_values( $instance );
2493
+            $argument_values = $this->string_to_bool( $argument_values );
2494
+            $output          = $this->output( $argument_values, $args );
2495
+
2496
+            $no_wrap = false;
2497
+            if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
2498
+                $no_wrap = true;
2499
+            }
2500
+
2501
+            ob_start();
2502
+            if ( $output && ! $no_wrap ) {
2503
+
2504
+                $class_original = $this->options['widget_ops']['classname'];
2505
+                $class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
2506
+
2507
+                // Before widget
2508
+                $before_widget = $args['before_widget'];
2509
+                $before_widget = str_replace($class_original,$class,$before_widget);
2510
+                $before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
2511
+                $before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
2512
+
2513
+                // After widget
2514
+                $after_widget = $args['after_widget'];
2515
+                $after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
2516
+                $after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
2517
+
2518
+                echo $before_widget;
2519
+                // elementor strips the widget wrapping div so we check for and add it back if needed
2520
+                if ( $this->is_elementor_widget_output() ) {
2521
+                    echo ! empty( $this->options['widget_ops']['classname'] ) ? "<span class='" . esc_attr( $class  ) . "'>" : '';
2522
+                }
2523
+                echo $this->output_title( $args, $instance );
2524
+                echo $output;
2525
+                if ( $this->is_elementor_widget_output() ) {
2526
+                    echo ! empty( $this->options['widget_ops']['classname'] ) ? "</span>" : '';
2527
+                }
2528
+                echo $after_widget;
2529
+            } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
2530
+                $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
2531
+                echo $output;
2532
+            } elseif ( $output && $no_wrap ) {
2533
+                echo $output;
2534
+            }
2535
+            $output = ob_get_clean();
2536
+
2537
+            $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
2538
+
2539
+            echo $output;
2540
+        }
2541
+
2542
+        /**
2543
+         * Tests if the current output is inside a elementor container.
2544
+         *
2545
+         * @since 1.0.4
2546
+         * @return bool
2547
+         */
2548
+        public function is_elementor_widget_output() {
2549
+            $result = false;
2550
+            if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
2551
+                $result = true;
2552
+            }
2553
+
2554
+            return $result;
2555
+        }
2556
+
2557
+        /**
2558
+         * Tests if the current output is inside a elementor preview.
2559
+         *
2560
+         * @since 1.0.4
2561
+         * @return bool
2562
+         */
2563
+        public function is_elementor_preview() {
2564
+            $result = false;
2565
+            if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
2566
+                $result = true;
2567
+            }
2568
+
2569
+            return $result;
2570
+        }
2571
+
2572
+        /**
2573
+         * Tests if the current output is inside a Divi preview.
2574
+         *
2575
+         * @since 1.0.6
2576
+         * @return bool
2577
+         */
2578
+        public function is_divi_preview() {
2579
+            $result = false;
2580
+            if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
2581
+                $result = true;
2582
+            }
2583
+
2584
+            return $result;
2585
+        }
2586
+
2587
+        /**
2588
+         * Tests if the current output is inside a Beaver builder preview.
2589
+         *
2590
+         * @since 1.0.6
2591
+         * @return bool
2592
+         */
2593
+        public function is_beaver_preview() {
2594
+            $result = false;
2595
+            if ( isset( $_REQUEST['fl_builder'] ) ) {
2596
+                $result = true;
2597
+            }
2598
+
2599
+            return $result;
2600
+        }
2601
+
2602
+        /**
2603
+         * Tests if the current output is inside a siteorigin builder preview.
2604
+         *
2605
+         * @since 1.0.6
2606
+         * @return bool
2607
+         */
2608
+        public function is_siteorigin_preview() {
2609
+            $result = false;
2610
+            if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
2611
+                $result = true;
2612
+            }
2613
+
2614
+            return $result;
2615
+        }
2616
+
2617
+        /**
2618
+         * Tests if the current output is inside a cornerstone builder preview.
2619
+         *
2620
+         * @since 1.0.8
2621
+         * @return bool
2622
+         */
2623
+        public function is_cornerstone_preview() {
2624
+            $result = false;
2625
+            if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
2626
+                $result = true;
2627
+            }
2628
+
2629
+            return $result;
2630
+        }
2631
+
2632
+        /**
2633
+         * Tests if the current output is inside a fusion builder preview.
2634
+         *
2635
+         * @since 1.1.0
2636
+         * @return bool
2637
+         */
2638
+        public function is_fusion_preview() {
2639
+            $result = false;
2640
+            if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
2641
+                $result = true;
2642
+            }
2643
+
2644
+            return $result;
2645
+        }
2646
+
2647
+        /**
2648
+         * Tests if the current output is inside a Oxygen builder preview.
2649
+         *
2650
+         * @since 1.0.18
2651
+         * @return bool
2652
+         */
2653
+        public function is_oxygen_preview() {
2654
+            $result = false;
2655
+            if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
2656
+                $result = true;
2657
+            }
2658
+
2659
+            return $result;
2660
+        }
2661
+
2662
+        /**
2663
+         * General function to check if we are in a preview situation.
2664
+         *
2665
+         * @since 1.0.6
2666
+         * @return bool
2667
+         */
2668
+        public function is_preview() {
2669
+            $preview = false;
2670
+            if ( $this->is_divi_preview() ) {
2671
+                $preview = true;
2672
+            } elseif ( $this->is_elementor_preview() ) {
2673
+                $preview = true;
2674
+            } elseif ( $this->is_beaver_preview() ) {
2675
+                $preview = true;
2676
+            } elseif ( $this->is_siteorigin_preview() ) {
2677
+                $preview = true;
2678
+            } elseif ( $this->is_cornerstone_preview() ) {
2679
+                $preview = true;
2680
+            } elseif ( $this->is_fusion_preview() ) {
2681
+                $preview = true;
2682
+            } elseif ( $this->is_oxygen_preview() ) {
2683
+                $preview = true;
2684
+            } elseif( $this->is_block_content_call() ) {
2685
+                $preview = true;
2686
+            }
2687
+
2688
+            return $preview;
2689
+        }
2690
+
2691
+        /**
2692
+         * Output the super title.
2693
+         *
2694
+         * @param $args
2695
+         * @param array $instance
2696
+         *
2697
+         * @return string
2698
+         */
2699
+        public function output_title( $args, $instance = array() ) {
2700
+            $output = '';
2701
+            if ( ! empty( $instance['title'] ) ) {
2702
+                /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
2703
+                $title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
2704
+
2705
+                if(empty($instance['widget_title_tag'])){
2706
+                    $output = $args['before_title'] . $title . $args['after_title'];
2707
+                }else{
2708
+                    $title_tag = esc_attr( $instance['widget_title_tag'] );
2709
+
2710
+                    // classes
2711
+                    $title_classes = array();
2712
+                    $title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
2713
+                    $title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
2714
+                    $title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
2715
+                    $title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
2716
+                    $title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
2717
+                    $title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
2718
+                    $title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
2719
+                    $title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
2720
+                    $title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
2721
+                    $title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
2722
+                    $title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
2723
+                    $title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
2724
+                    $title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
2725
+
2726
+                    $class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
2727
+                    $output = "<$title_tag class='$class' >$title</$title_tag>";
2728
+                }
2729
+
2730
+            }
2731
+
2732
+            return $output;
2733
+        }
2734
+
2735
+        /**
2736
+         * Outputs the options form inputs for the widget.
2737
+         *
2738
+         * @param array $instance The widget options.
2739
+         */
2740
+        public function form( $instance ) {
2741
+
2742
+            // set widget instance
2743
+            $this->instance = $instance;
2744
+
2745
+            // set it as a SD widget
2746
+            echo $this->widget_advanced_toggle();
2747
+
2748
+            echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
2749
+            $arguments_raw = $this->get_arguments();
2750
+
2751
+            if ( is_array( $arguments_raw ) ) {
2752
+
2753
+                $arguments = $this->group_arguments( $arguments_raw );
2754
+
2755
+                // Do we have sections?
2756
+                $has_sections = $arguments == $arguments_raw ? false : true;
2757
+
2758
+
2759
+                if ( $has_sections ) {
2760
+                    $panel_count = 0;
2761
+                    foreach ( $arguments as $key => $args ) {
2762
+
2763
+                        ?>
2764 2764
 						<script>
2765 2765
 							//							jQuery(this).find("i").toggleClass("fas fa-chevron-up fas fa-chevron-down");jQuery(this).next().toggle();
2766 2766
 						</script>
2767 2767
 						<?php
2768 2768
 
2769
-						$hide       = $panel_count ? ' style="display:none;" ' : '';
2770
-						$icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
2771
-						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>";
2772
-						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
2769
+                        $hide       = $panel_count ? ' style="display:none;" ' : '';
2770
+                        $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
2771
+                        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>";
2772
+                        echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
2773 2773
 
2774
-						foreach ( $args as $k => $a ) {
2774
+                        foreach ( $args as $k => $a ) {
2775 2775
 
2776
-							$this->widget_inputs_row_start($k, $a);
2777
-							$this->widget_inputs( $a, $instance );
2778
-							$this->widget_inputs_row_end($k, $a);
2776
+                            $this->widget_inputs_row_start($k, $a);
2777
+                            $this->widget_inputs( $a, $instance );
2778
+                            $this->widget_inputs_row_end($k, $a);
2779 2779
 
2780
-						}
2780
+                        }
2781 2781
 
2782
-						echo "</div>";
2782
+                        echo "</div>";
2783 2783
 
2784
-						$panel_count ++;
2784
+                        $panel_count ++;
2785 2785
 
2786
-					}
2787
-				} else {
2788
-					foreach ( $arguments as $key => $args ) {
2789
-						$this->widget_inputs_row_start($key, $args);
2790
-						$this->widget_inputs( $args, $instance );
2791
-						$this->widget_inputs_row_end($key, $args);
2792
-					}
2793
-				}
2786
+                    }
2787
+                } else {
2788
+                    foreach ( $arguments as $key => $args ) {
2789
+                        $this->widget_inputs_row_start($key, $args);
2790
+                        $this->widget_inputs( $args, $instance );
2791
+                        $this->widget_inputs_row_end($key, $args);
2792
+                    }
2793
+                }
2794 2794
 
2795
-			}
2796
-		}
2795
+            }
2796
+        }
2797 2797
 
2798
-		public function widget_inputs_row_start($key, $args){
2799
-			if(!empty($args['row'])){
2800
-				// maybe open
2801
-				if(!empty($args['row']['open'])){
2802
-					?>
2798
+        public function widget_inputs_row_start($key, $args){
2799
+            if(!empty($args['row'])){
2800
+                // maybe open
2801
+                if(!empty($args['row']['open'])){
2802
+                    ?>
2803 2803
 					<div class='bsui sd-argument ' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php if ( !empty($args['row']['element_require'])) {
2804
-						echo $this->convert_element_require( $args['row']['element_require'] );
2805
-					} ?>'>
2804
+                        echo $this->convert_element_require( $args['row']['element_require'] );
2805
+                    } ?>'>
2806 2806
 					<?php if(!empty($args['row']['title'])){ ?>
2807 2807
 					<label class="mb-0 "><?php echo esc_attr( $args['row']['title'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label>
2808 2808
 					<?php }?>
2809 2809
 					<div class='row <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>'>
2810 2810
 					<div class='col pr-2'>
2811 2811
 					<?php
2812
-				}elseif(!empty($args['row']['close'])){
2813
-					echo "<div class='col pl-0'>";
2814
-				}else{
2815
-					echo "<div class='col pl-0 pr-2'>";
2816
-				}
2817
-			}
2818
-		}
2819
-
2820
-		public function widget_inputs_row_end($key, $args){
2821
-
2822
-			if(!empty($args['row'])){
2823
-				// maybe close
2824
-				if(!empty($args['row']['close'])){
2825
-					echo "</div></div>";
2826
-				}
2827
-
2828
-				echo "</div>";
2829
-			}
2830
-		}
2831
-
2832
-		/**
2833
-		 * Get the hidden input that when added makes the advanced button show on widget settings.
2834
-		 *
2835
-		 * @return string
2836
-		 */
2837
-		public function widget_advanced_toggle() {
2838
-
2839
-			$output = '';
2840
-			if ( $this->block_show_advanced() ) {
2841
-				$val = 1;
2842
-			} else {
2843
-				$val = 0;
2844
-			}
2845
-
2846
-			$output .= "<input type='hidden'  class='sd-show-advanced' value='$val' />";
2847
-
2848
-			return $output;
2849
-		}
2850
-
2851
-		/**
2852
-		 * Convert require element.
2853
-		 *
2854
-		 * @since 1.0.0
2855
-		 *
2856
-		 * @param string $input Input element.
2857
-		 *
2858
-		 * @return string $output
2859
-		 */
2860
-		public function convert_element_require( $input ) {
2861
-
2862
-			$input = str_replace( "'", '"', $input );// we only want double quotes
2863
-
2864
-			$output = esc_attr( str_replace( array( "[%", "%]" ), array(
2865
-				"jQuery(form).find('[data-argument=\"",
2866
-				"\"]').find('input,select,textarea').val()"
2867
-			), $input ) );
2868
-
2869
-			return $output;
2870
-		}
2871
-
2872
-		/**
2873
-		 * Builds the inputs for the widget options.
2874
-		 *
2875
-		 * @param $args
2876
-		 * @param $instance
2877
-		 */
2878
-		public function widget_inputs( $args, $instance ) {
2879
-
2880
-			$class             = "";
2881
-			$element_require   = "";
2882
-			$custom_attributes = "";
2883
-
2884
-			// get value
2885
-			if ( isset( $instance[ $args['name'] ] ) ) {
2886
-				$value = $instance[ $args['name'] ];
2887
-			} elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
2888
-				$value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
2889
-			} else {
2890
-				$value = '';
2891
-			}
2892
-
2893
-			// get placeholder
2894
-			if ( ! empty( $args['placeholder'] ) ) {
2895
-				$placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
2896
-			} else {
2897
-				$placeholder = '';
2898
-			}
2899
-
2900
-			// get if advanced
2901
-			if ( isset( $args['advanced'] ) && $args['advanced'] ) {
2902
-				$class .= " sd-advanced-setting ";
2903
-			}
2904
-
2905
-			// element_require
2906
-			if ( isset( $args['element_require'] ) && $args['element_require'] ) {
2907
-				$element_require = $args['element_require'];
2908
-			}
2909
-
2910
-			// custom_attributes
2911
-			if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
2912
-				$custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
2913
-			}
2914
-
2915
-
2916
-			// before wrapper
2917
-			?>
2812
+                }elseif(!empty($args['row']['close'])){
2813
+                    echo "<div class='col pl-0'>";
2814
+                }else{
2815
+                    echo "<div class='col pl-0 pr-2'>";
2816
+                }
2817
+            }
2818
+        }
2819
+
2820
+        public function widget_inputs_row_end($key, $args){
2821
+
2822
+            if(!empty($args['row'])){
2823
+                // maybe close
2824
+                if(!empty($args['row']['close'])){
2825
+                    echo "</div></div>";
2826
+                }
2827
+
2828
+                echo "</div>";
2829
+            }
2830
+        }
2831
+
2832
+        /**
2833
+         * Get the hidden input that when added makes the advanced button show on widget settings.
2834
+         *
2835
+         * @return string
2836
+         */
2837
+        public function widget_advanced_toggle() {
2838
+
2839
+            $output = '';
2840
+            if ( $this->block_show_advanced() ) {
2841
+                $val = 1;
2842
+            } else {
2843
+                $val = 0;
2844
+            }
2845
+
2846
+            $output .= "<input type='hidden'  class='sd-show-advanced' value='$val' />";
2847
+
2848
+            return $output;
2849
+        }
2850
+
2851
+        /**
2852
+         * Convert require element.
2853
+         *
2854
+         * @since 1.0.0
2855
+         *
2856
+         * @param string $input Input element.
2857
+         *
2858
+         * @return string $output
2859
+         */
2860
+        public function convert_element_require( $input ) {
2861
+
2862
+            $input = str_replace( "'", '"', $input );// we only want double quotes
2863
+
2864
+            $output = esc_attr( str_replace( array( "[%", "%]" ), array(
2865
+                "jQuery(form).find('[data-argument=\"",
2866
+                "\"]').find('input,select,textarea').val()"
2867
+            ), $input ) );
2868
+
2869
+            return $output;
2870
+        }
2871
+
2872
+        /**
2873
+         * Builds the inputs for the widget options.
2874
+         *
2875
+         * @param $args
2876
+         * @param $instance
2877
+         */
2878
+        public function widget_inputs( $args, $instance ) {
2879
+
2880
+            $class             = "";
2881
+            $element_require   = "";
2882
+            $custom_attributes = "";
2883
+
2884
+            // get value
2885
+            if ( isset( $instance[ $args['name'] ] ) ) {
2886
+                $value = $instance[ $args['name'] ];
2887
+            } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
2888
+                $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
2889
+            } else {
2890
+                $value = '';
2891
+            }
2892
+
2893
+            // get placeholder
2894
+            if ( ! empty( $args['placeholder'] ) ) {
2895
+                $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
2896
+            } else {
2897
+                $placeholder = '';
2898
+            }
2899
+
2900
+            // get if advanced
2901
+            if ( isset( $args['advanced'] ) && $args['advanced'] ) {
2902
+                $class .= " sd-advanced-setting ";
2903
+            }
2904
+
2905
+            // element_require
2906
+            if ( isset( $args['element_require'] ) && $args['element_require'] ) {
2907
+                $element_require = $args['element_require'];
2908
+            }
2909
+
2910
+            // custom_attributes
2911
+            if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
2912
+                $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
2913
+            }
2914
+
2915
+
2916
+            // before wrapper
2917
+            ?>
2918 2918
 			<p class="sd-argument <?php echo esc_attr( $class ); ?>"
2919 2919
 			data-argument='<?php echo esc_attr( $args['name'] ); ?>'
2920 2920
 			data-element_require='<?php if ( $element_require ) {
2921
-				echo $this->convert_element_require( $element_require );
2922
-			} ?>'
2921
+                echo $this->convert_element_require( $element_require );
2922
+            } ?>'
2923 2923
 			>
2924 2924
 			<?php
2925 2925
 
2926 2926
 
2927
-			switch ( $args['type'] ) {
2928
-				//array('text','password','number','email','tel','url','color')
2929
-				case "text":
2930
-				case "password":
2931
-				case "number":
2932
-				case "email":
2933
-				case "tel":
2934
-				case "url":
2935
-				case "color":
2936
-					?>
2927
+            switch ( $args['type'] ) {
2928
+                //array('text','password','number','email','tel','url','color')
2929
+                case "text":
2930
+                case "password":
2931
+                case "number":
2932
+                case "email":
2933
+                case "tel":
2934
+                case "url":
2935
+                case "color":
2936
+                    ?>
2937 2937
 					<label
2938 2938
 						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>
2939 2939
 					<input <?php echo $placeholder; ?> class="widefat"
@@ -2944,47 +2944,47 @@  discard block
 block discarded – undo
2944 2944
 						                               value="<?php echo esc_attr( $value ); ?>">
2945 2945
 					<?php
2946 2946
 
2947
-					break;
2948
-				case "select":
2949
-					$multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
2950
-					if ( $multiple ) {
2951
-						if ( empty( $value ) ) {
2952
-							$value = array();
2953
-						}
2954
-					}
2955
-					?>
2947
+                    break;
2948
+                case "select":
2949
+                    $multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
2950
+                    if ( $multiple ) {
2951
+                        if ( empty( $value ) ) {
2952
+                            $value = array();
2953
+                        }
2954
+                    }
2955
+                    ?>
2956 2956
 					<label
2957 2957
 						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>
2958 2958
 					<select <?php echo $placeholder; ?> class="widefat"
2959 2959
 						<?php echo $custom_attributes; ?>
2960 2960
 						                                id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
2961 2961
 						                                name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) );
2962
-						                                if ( $multiple ) {
2963
-							                                echo "[]";
2964
-						                                } ?>"
2962
+                                                        if ( $multiple ) {
2963
+                                                            echo "[]";
2964
+                                                        } ?>"
2965 2965
 						<?php if ( $multiple ) {
2966
-							echo "multiple";
2967
-						} //@todo not implemented yet due to gutenberg not supporting it
2968
-						?>
2966
+                            echo "multiple";
2967
+                        } //@todo not implemented yet due to gutenberg not supporting it
2968
+                        ?>
2969 2969
 					>
2970 2970
 						<?php
2971 2971
 
2972
-						if ( ! empty( $args['options'] ) ) {
2973
-							foreach ( $args['options'] as $val => $label ) {
2974
-								if ( $multiple ) {
2975
-									$selected = in_array( $val, $value ) ? 'selected="selected"' : '';
2976
-								} else {
2977
-									$selected = selected( $value, $val, false );
2978
-								}
2979
-								echo "<option value='$val' " . $selected . ">$label</option>";
2980
-							}
2981
-						}
2982
-						?>
2972
+                        if ( ! empty( $args['options'] ) ) {
2973
+                            foreach ( $args['options'] as $val => $label ) {
2974
+                                if ( $multiple ) {
2975
+                                    $selected = in_array( $val, $value ) ? 'selected="selected"' : '';
2976
+                                } else {
2977
+                                    $selected = selected( $value, $val, false );
2978
+                                }
2979
+                                echo "<option value='$val' " . $selected . ">$label</option>";
2980
+                            }
2981
+                        }
2982
+                        ?>
2983 2983
 					</select>
2984 2984
 					<?php
2985
-					break;
2986
-				case "checkbox":
2987
-					?>
2985
+                    break;
2986
+                case "checkbox":
2987
+                    ?>
2988 2988
 					<input <?php echo $placeholder; ?>
2989 2989
 						<?php checked( 1, $value, true ) ?>
2990 2990
 						<?php echo $custom_attributes; ?>
@@ -2994,9 +2994,9 @@  discard block
 block discarded – undo
2994 2994
 					<label
2995 2995
 						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>
2996 2996
 					<?php
2997
-					break;
2998
-				case "textarea":
2999
-					?>
2997
+                    break;
2998
+                case "textarea":
2999
+                    ?>
3000 3000
 					<label
3001 3001
 						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>
3002 3002
 					<textarea <?php echo $placeholder; ?> class="widefat"
@@ -3006,207 +3006,207 @@  discard block
 block discarded – undo
3006 3006
 					><?php echo esc_attr( $value ); ?></textarea>
3007 3007
 					<?php
3008 3008
 
3009
-					break;
3010
-				case "hidden":
3011
-					?>
3009
+                    break;
3010
+                case "hidden":
3011
+                    ?>
3012 3012
 					<input id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
3013 3013
 					       name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="hidden"
3014 3014
 					       value="<?php echo esc_attr( $value ); ?>">
3015 3015
 					<?php
3016
-					break;
3017
-				default:
3018
-					echo "No input type found!"; // @todo we need to add more input types.
3019
-			}
3016
+                    break;
3017
+                default:
3018
+                    echo "No input type found!"; // @todo we need to add more input types.
3019
+            }
3020 3020
 
3021
-			// after wrapper
3022
-			?>
3021
+            // after wrapper
3022
+            ?>
3023 3023
 			</p>
3024 3024
 			<?php
3025 3025
 
3026 3026
 
3027
-		}
3028
-
3029
-		public function get_widget_icon($icon = 'box-top', $title = ''){
3030
-			if($icon=='box-top'){
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.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>';
3032
-			}elseif($icon=='box-right'){
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.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>';
3034
-			}elseif($icon=='box-bottom'){
3035
-				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>';
3036
-			}elseif($icon=='box-left'){
3037
-				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>';
3038
-			}
3039
-		}
3040
-
3041
-		/**
3042
-		 * Get the widget input description html.
3043
-		 *
3044
-		 * @param $args
3045
-		 *
3046
-		 * @return string
3047
-		 * @todo, need to make its own tooltip script
3048
-		 */
3049
-		public function widget_field_desc( $args ) {
3050
-
3051
-			$description = '';
3052
-			if ( isset( $args['desc'] ) && $args['desc'] ) {
3053
-				if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
3054
-					$description = $this->desc_tip( $args['desc'] );
3055
-				} else {
3056
-					$description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
3057
-				}
3058
-			}
3059
-
3060
-			return $description;
3061
-		}
3062
-
3063
-		/**
3064
-		 * Get the widget input title html.
3065
-		 *
3066
-		 * @param $args
3067
-		 *
3068
-		 * @return string
3069
-		 */
3070
-		public function widget_field_title( $args ) {
3071
-
3072
-			$title = '';
3073
-			if ( isset( $args['title'] ) && $args['title'] ) {
3074
-				if ( isset( $args['icon'] ) && $args['icon'] ) {
3075
-					$title = self::get_widget_icon( $args['icon'], $args['title']  );
3076
-				} else {
3077
-					$title = esc_attr($args['title']);
3078
-				}
3079
-			}
3080
-
3081
-			return $title;
3082
-		}
3083
-
3084
-		/**
3085
-		 * Get the tool tip html.
3086
-		 *
3087
-		 * @param $tip
3088
-		 * @param bool $allow_html
3089
-		 *
3090
-		 * @return string
3091
-		 */
3092
-		function desc_tip( $tip, $allow_html = false ) {
3093
-			if ( $allow_html ) {
3094
-				$tip = $this->sanitize_tooltip( $tip );
3095
-			} else {
3096
-				$tip = esc_attr( $tip );
3097
-			}
3098
-
3099
-			return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
3100
-		}
3101
-
3102
-		/**
3103
-		 * Sanitize a string destined to be a tooltip.
3104
-		 *
3105
-		 * @param string $var
3106
-		 *
3107
-		 * @return string
3108
-		 */
3109
-		public function sanitize_tooltip( $var ) {
3110
-			return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
3111
-				'br'     => array(),
3112
-				'em'     => array(),
3113
-				'strong' => array(),
3114
-				'small'  => array(),
3115
-				'span'   => array(),
3116
-				'ul'     => array(),
3117
-				'li'     => array(),
3118
-				'ol'     => array(),
3119
-				'p'      => array(),
3120
-			) ) );
3121
-		}
3122
-
3123
-		/**
3124
-		 * Processing widget options on save
3125
-		 *
3126
-		 * @param array $new_instance The new options
3127
-		 * @param array $old_instance The previous options
3128
-		 *
3129
-		 * @return array
3130
-		 * @todo we should add some sanitation here.
3131
-		 */
3132
-		public function update( $new_instance, $old_instance ) {
3133
-
3134
-			//save the widget
3135
-			$instance = array_merge( (array) $old_instance, (array) $new_instance );
3136
-
3137
-			// set widget instance
3138
-			$this->instance = $instance;
3139
-
3140
-			if ( empty( $this->arguments ) ) {
3141
-				$this->get_arguments();
3142
-			}
3143
-
3144
-			// check for checkboxes
3145
-			if ( ! empty( $this->arguments ) ) {
3146
-				foreach ( $this->arguments as $argument ) {
3147
-					if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
3148
-						$instance[ $argument['name'] ] = '0';
3149
-					}
3150
-				}
3151
-			}
3152
-
3153
-			return $instance;
3154
-		}
3155
-
3156
-		/**
3157
-		 * Checks if the current call is a ajax call to get the block content.
3158
-		 *
3159
-		 * This can be used in your widget to return different content as the block content.
3160
-		 *
3161
-		 * @since 1.0.3
3162
-		 * @return bool
3163
-		 */
3164
-		public function is_block_content_call() {
3165
-			$result = false;
3166
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3167
-				$result = true;
3168
-			}
3169
-
3170
-			return $result;
3171
-		}
3172
-
3173
-		/**
3174
-		 * Get an instance hash that will be unique to the type and settings.
3175
-		 *
3176
-		 * @since 1.0.20
3177
-		 * @return string
3178
-		 */
3179
-		public function get_instance_hash(){
3180
-			$instance_string = $this->base_id.serialize($this->instance);
3181
-			return hash('crc32b',$instance_string);
3182
-		}
3183
-
3184
-		/**
3185
-		 * Generate and return inline styles from CSS rules that will match the unique class of the instance.
3186
-		 *
3187
-		 * @param array $rules
3188
-		 *
3189
-		 * @since 1.0.20
3190
-		 * @return string
3191
-		 */
3192
-		public function get_instance_style($rules = array()){
3193
-			$css = '';
3194
-
3195
-			if(!empty($rules)){
3196
-				$rules = array_unique($rules);
3197
-				$instance_hash = $this->get_instance_hash();
3198
-				$css .= "<style>";
3199
-				foreach($rules as $rule){
3200
-					$css .= ".sdel-$instance_hash $rule";
3201
-				}
3202
-				$css .= "</style>";
3203
-			}
3204
-
3205
-
3206
-			return $css;
3207
-
3208
-		}
3209
-
3210
-	}
3027
+        }
3028
+
3029
+        public function get_widget_icon($icon = 'box-top', $title = ''){
3030
+            if($icon=='box-top'){
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.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>';
3032
+            }elseif($icon=='box-right'){
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.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>';
3034
+            }elseif($icon=='box-bottom'){
3035
+                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>';
3036
+            }elseif($icon=='box-left'){
3037
+                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>';
3038
+            }
3039
+        }
3040
+
3041
+        /**
3042
+         * Get the widget input description html.
3043
+         *
3044
+         * @param $args
3045
+         *
3046
+         * @return string
3047
+         * @todo, need to make its own tooltip script
3048
+         */
3049
+        public function widget_field_desc( $args ) {
3050
+
3051
+            $description = '';
3052
+            if ( isset( $args['desc'] ) && $args['desc'] ) {
3053
+                if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
3054
+                    $description = $this->desc_tip( $args['desc'] );
3055
+                } else {
3056
+                    $description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
3057
+                }
3058
+            }
3059
+
3060
+            return $description;
3061
+        }
3062
+
3063
+        /**
3064
+         * Get the widget input title html.
3065
+         *
3066
+         * @param $args
3067
+         *
3068
+         * @return string
3069
+         */
3070
+        public function widget_field_title( $args ) {
3071
+
3072
+            $title = '';
3073
+            if ( isset( $args['title'] ) && $args['title'] ) {
3074
+                if ( isset( $args['icon'] ) && $args['icon'] ) {
3075
+                    $title = self::get_widget_icon( $args['icon'], $args['title']  );
3076
+                } else {
3077
+                    $title = esc_attr($args['title']);
3078
+                }
3079
+            }
3080
+
3081
+            return $title;
3082
+        }
3083
+
3084
+        /**
3085
+         * Get the tool tip html.
3086
+         *
3087
+         * @param $tip
3088
+         * @param bool $allow_html
3089
+         *
3090
+         * @return string
3091
+         */
3092
+        function desc_tip( $tip, $allow_html = false ) {
3093
+            if ( $allow_html ) {
3094
+                $tip = $this->sanitize_tooltip( $tip );
3095
+            } else {
3096
+                $tip = esc_attr( $tip );
3097
+            }
3098
+
3099
+            return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
3100
+        }
3101
+
3102
+        /**
3103
+         * Sanitize a string destined to be a tooltip.
3104
+         *
3105
+         * @param string $var
3106
+         *
3107
+         * @return string
3108
+         */
3109
+        public function sanitize_tooltip( $var ) {
3110
+            return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
3111
+                'br'     => array(),
3112
+                'em'     => array(),
3113
+                'strong' => array(),
3114
+                'small'  => array(),
3115
+                'span'   => array(),
3116
+                'ul'     => array(),
3117
+                'li'     => array(),
3118
+                'ol'     => array(),
3119
+                'p'      => array(),
3120
+            ) ) );
3121
+        }
3122
+
3123
+        /**
3124
+         * Processing widget options on save
3125
+         *
3126
+         * @param array $new_instance The new options
3127
+         * @param array $old_instance The previous options
3128
+         *
3129
+         * @return array
3130
+         * @todo we should add some sanitation here.
3131
+         */
3132
+        public function update( $new_instance, $old_instance ) {
3133
+
3134
+            //save the widget
3135
+            $instance = array_merge( (array) $old_instance, (array) $new_instance );
3136
+
3137
+            // set widget instance
3138
+            $this->instance = $instance;
3139
+
3140
+            if ( empty( $this->arguments ) ) {
3141
+                $this->get_arguments();
3142
+            }
3143
+
3144
+            // check for checkboxes
3145
+            if ( ! empty( $this->arguments ) ) {
3146
+                foreach ( $this->arguments as $argument ) {
3147
+                    if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
3148
+                        $instance[ $argument['name'] ] = '0';
3149
+                    }
3150
+                }
3151
+            }
3152
+
3153
+            return $instance;
3154
+        }
3155
+
3156
+        /**
3157
+         * Checks if the current call is a ajax call to get the block content.
3158
+         *
3159
+         * This can be used in your widget to return different content as the block content.
3160
+         *
3161
+         * @since 1.0.3
3162
+         * @return bool
3163
+         */
3164
+        public function is_block_content_call() {
3165
+            $result = false;
3166
+            if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3167
+                $result = true;
3168
+            }
3169
+
3170
+            return $result;
3171
+        }
3172
+
3173
+        /**
3174
+         * Get an instance hash that will be unique to the type and settings.
3175
+         *
3176
+         * @since 1.0.20
3177
+         * @return string
3178
+         */
3179
+        public function get_instance_hash(){
3180
+            $instance_string = $this->base_id.serialize($this->instance);
3181
+            return hash('crc32b',$instance_string);
3182
+        }
3183
+
3184
+        /**
3185
+         * Generate and return inline styles from CSS rules that will match the unique class of the instance.
3186
+         *
3187
+         * @param array $rules
3188
+         *
3189
+         * @since 1.0.20
3190
+         * @return string
3191
+         */
3192
+        public function get_instance_style($rules = array()){
3193
+            $css = '';
3194
+
3195
+            if(!empty($rules)){
3196
+                $rules = array_unique($rules);
3197
+                $instance_hash = $this->get_instance_hash();
3198
+                $css .= "<style>";
3199
+                foreach($rules as $rule){
3200
+                    $css .= ".sdel-$instance_hash $rule";
3201
+                }
3202
+                $css .= "</style>";
3203
+            }
3204
+
3205
+
3206
+            return $css;
3207
+
3208
+        }
3209
+
3210
+    }
3211 3211
 
3212 3212
 }
Please login to merge, or discard this patch.
Spacing   +559 added lines, -559 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,36 +1284,36 @@  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
-						if ( is_array( $value ) ) {
1308
-							$value = implode( ",", $value );
1305
+				if (!empty($attributes_array)) {
1306
+					foreach ($attributes_array as $key => $value) {
1307
+						if (is_array($value)) {
1308
+							$value = implode(",", $value);
1309 1309
 						}
1310
-						$attributes .= " " . sanitize_title_with_dashes( $key ) . "='" . wp_slash( $value ) . "' ";
1310
+						$attributes .= " " . sanitize_title_with_dashes($key) . "='" . wp_slash($value) . "' ";
1311 1311
 					}
1312 1312
 				}
1313 1313
 
1314 1314
 				$shortcode = "[" . $shortcode_name . " " . $attributes . "]";
1315 1315
 
1316
-				echo do_shortcode( $shortcode );
1316
+				echo do_shortcode($shortcode);
1317 1317
 
1318 1318
 			}
1319 1319
 			wp_die();
@@ -1327,45 +1327,45 @@  discard block
 block discarded – undo
1327 1327
 		 *
1328 1328
 		 * @return string
1329 1329
 		 */
1330
-		public function shortcode_output( $args = array(), $content = '' ) {
1331
-			$args = $this->argument_values( $args );
1330
+		public function shortcode_output($args = array(), $content = '') {
1331
+			$args = $this->argument_values($args);
1332 1332
 
1333 1333
 			// add extra argument so we know its a output to gutenberg
1334 1334
 			//$args
1335
-			$args = $this->string_to_bool( $args );
1335
+			$args = $this->string_to_bool($args);
1336 1336
 
1337 1337
 			// if we have a enclosed shortcode we add it to the special `html` argument
1338
-			if ( ! empty( $content ) ) {
1338
+			if (!empty($content)) {
1339 1339
 				$args['html'] = $content;
1340 1340
 			}
1341 1341
 
1342
-			$class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1343
-			$class .= " sdel-".$this->get_instance_hash();
1342
+			$class = isset($this->options['widget_ops']['classname']) ? esc_attr($this->options['widget_ops']['classname']) : '';
1343
+			$class .= " sdel-" . $this->get_instance_hash();
1344 1344
 
1345
-			$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1346
-			$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1345
+			$class = apply_filters('wp_super_duper_div_classname', $class, $args, $this);
1346
+			$class = apply_filters('wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this);
1347 1347
 
1348
-			$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1349
-			$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); //@todo this does not seem right @kiran?
1348
+			$attrs = apply_filters('wp_super_duper_div_attrs', '', $args, $this);
1349
+			$attrs = apply_filters('wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this); //@todo this does not seem right @kiran?
1350 1350
 
1351 1351
 			$shortcode_args = array();
1352 1352
 			$output         = '';
1353
-			$no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1354
-			if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1353
+			$no_wrap        = isset($this->options['no_wrap']) && $this->options['no_wrap'] ? true : false;
1354
+			if (isset($args['no_wrap']) && $args['no_wrap']) {
1355 1355
 				$no_wrap = true;
1356 1356
 			}
1357
-			$main_content = $this->output( $args, $shortcode_args, $content );
1358
-			if ( $main_content && ! $no_wrap ) {
1357
+			$main_content = $this->output($args, $shortcode_args, $content);
1358
+			if ($main_content && !$no_wrap) {
1359 1359
 				// wrap the shortcode in a div with the same class as the widget
1360 1360
 				$output .= '<div class="' . $class . '" ' . $attrs . '>';
1361
-				if ( ! empty( $args['title'] ) ) {
1361
+				if (!empty($args['title'])) {
1362 1362
 					// if its a shortcode and there is a title try to grab the title wrappers
1363
-					$shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1364
-					if ( empty( $instance ) ) {
1363
+					$shortcode_args = array('before_title' => '', 'after_title' => '');
1364
+					if (empty($instance)) {
1365 1365
 						global $wp_registered_sidebars;
1366
-						if ( ! empty( $wp_registered_sidebars ) ) {
1367
-							foreach ( $wp_registered_sidebars as $sidebar ) {
1368
-								if ( ! empty( $sidebar['before_title'] ) ) {
1366
+						if (!empty($wp_registered_sidebars)) {
1367
+							foreach ($wp_registered_sidebars as $sidebar) {
1368
+								if (!empty($sidebar['before_title'])) {
1369 1369
 									$shortcode_args['before_title'] = $sidebar['before_title'];
1370 1370
 									$shortcode_args['after_title']  = $sidebar['after_title'];
1371 1371
 									break;
@@ -1373,20 +1373,20 @@  discard block
 block discarded – undo
1373 1373
 							}
1374 1374
 						}
1375 1375
 					}
1376
-					$output .= $this->output_title( $shortcode_args, $args );
1376
+					$output .= $this->output_title($shortcode_args, $args);
1377 1377
 				}
1378 1378
 				$output .= $main_content;
1379 1379
 				$output .= '</div>';
1380
-			} elseif ( $main_content && $no_wrap ) {
1380
+			} elseif ($main_content && $no_wrap) {
1381 1381
 				$output .= $main_content;
1382 1382
 			}
1383 1383
 
1384 1384
 			// if preview show a placeholder if empty
1385
-			if ( $this->is_preview() && $output == '' ) {
1386
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1385
+			if ($this->is_preview() && $output == '') {
1386
+				$output = $this->preview_placeholder_text("{{" . $this->base_id . "}}");
1387 1387
 			}
1388 1388
 
1389
-			return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1389
+			return apply_filters('wp_super_duper_widget_output', $output, $args, $shortcode_args, $this);
1390 1390
 		}
1391 1391
 
1392 1392
 		/**
@@ -1396,8 +1396,8 @@  discard block
 block discarded – undo
1396 1396
 		 *
1397 1397
 		 * @return string
1398 1398
 		 */
1399
-		public function preview_placeholder_text( $name = '' ) {
1400
-			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf( __( 'Placeholder for: %s' ), $name ) . "</div>";
1399
+		public function preview_placeholder_text($name = '') {
1400
+			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf(__('Placeholder for: %s'), $name) . "</div>";
1401 1401
 		}
1402 1402
 
1403 1403
 		/**
@@ -1407,13 +1407,13 @@  discard block
 block discarded – undo
1407 1407
 		 *
1408 1408
 		 * @return mixed
1409 1409
 		 */
1410
-		public function string_to_bool( $options ) {
1410
+		public function string_to_bool($options) {
1411 1411
 			// convert bool strings to booleans
1412
-			foreach ( $options as $key => $val ) {
1413
-				if ( $val == 'false' ) {
1414
-					$options[ $key ] = false;
1415
-				} elseif ( $val == 'true' ) {
1416
-					$options[ $key ] = true;
1412
+			foreach ($options as $key => $val) {
1413
+				if ($val == 'false') {
1414
+					$options[$key] = false;
1415
+				} elseif ($val == 'true') {
1416
+					$options[$key] = true;
1417 1417
 				}
1418 1418
 			}
1419 1419
 
@@ -1429,26 +1429,26 @@  discard block
 block discarded – undo
1429 1429
 		 *
1430 1430
 		 * @return array
1431 1431
 		 */
1432
-		public function argument_values( $instance ) {
1432
+		public function argument_values($instance) {
1433 1433
 			$argument_values = array();
1434 1434
 
1435 1435
 			// set widget instance
1436 1436
 			$this->instance = $instance;
1437 1437
 
1438
-			if ( empty( $this->arguments ) ) {
1438
+			if (empty($this->arguments)) {
1439 1439
 				$this->arguments = $this->get_arguments();
1440 1440
 			}
1441 1441
 
1442
-			if ( ! empty( $this->arguments ) ) {
1443
-				foreach ( $this->arguments as $key => $args ) {
1442
+			if (!empty($this->arguments)) {
1443
+				foreach ($this->arguments as $key => $args) {
1444 1444
 					// set the input name from the key
1445 1445
 					$args['name'] = $key;
1446 1446
 					//
1447
-					$argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1448
-					if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1447
+					$argument_values[$key] = isset($instance[$key]) ? $instance[$key] : '';
1448
+					if ($args['type'] == 'checkbox' && $argument_values[$key] == '') {
1449 1449
 						// don't set default for an empty checkbox
1450
-					} elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1451
-						$argument_values[ $key ] = $args['default'];
1450
+					} elseif ($argument_values[$key] == '' && isset($args['default'])) {
1451
+						$argument_values[$key] = $args['default'];
1452 1452
 					}
1453 1453
 				}
1454 1454
 			}
@@ -1475,12 +1475,12 @@  discard block
 block discarded – undo
1475 1475
 		 * @return array Get arguments.
1476 1476
 		 */
1477 1477
 		public function get_arguments() {
1478
-			if ( empty( $this->arguments ) ) {
1478
+			if (empty($this->arguments)) {
1479 1479
 				$this->arguments = $this->set_arguments();
1480 1480
 			}
1481 1481
 
1482
-			$this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1483
-			$this->arguments = $this->add_name_from_key( $this->arguments, true );
1482
+			$this->arguments = apply_filters('wp_super_duper_arguments', $this->arguments, $this->options, $this->instance);
1483
+			$this->arguments = $this->add_name_from_key($this->arguments, true);
1484 1484
 
1485 1485
 			return $this->arguments;
1486 1486
 		}
@@ -1492,7 +1492,7 @@  discard block
 block discarded – undo
1492 1492
 		 * @param array $widget_args
1493 1493
 		 * @param string $content
1494 1494
 		 */
1495
-		public function output( $args = array(), $widget_args = array(), $content = '' ) {
1495
+		public function output($args = array(), $widget_args = array(), $content = '') {
1496 1496
 
1497 1497
 		}
1498 1498
 
@@ -1500,9 +1500,9 @@  discard block
 block discarded – undo
1500 1500
 		 * Add the dynamic block code inline when the wp-block in enqueued.
1501 1501
 		 */
1502 1502
 		public function register_block() {
1503
-			wp_add_inline_script( 'wp-blocks', $this->block() );
1504
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
1505
-				wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1503
+			wp_add_inline_script('wp-blocks', $this->block());
1504
+			if (class_exists('SiteOrigin_Panels')) {
1505
+				wp_add_inline_script('wp-blocks', $this->siteorigin_js());
1506 1506
 			}
1507 1507
 		}
1508 1508
 
@@ -1516,13 +1516,13 @@  discard block
 block discarded – undo
1516 1516
 			$show      = false;
1517 1517
 			$arguments = $this->arguments;
1518 1518
 
1519
-			if ( empty( $arguments ) ) {
1519
+			if (empty($arguments)) {
1520 1520
 				$arguments = $this->get_arguments();
1521 1521
 			}
1522 1522
 
1523
-			if ( ! empty( $arguments ) ) {
1524
-				foreach ( $arguments as $argument ) {
1525
-					if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1523
+			if (!empty($arguments)) {
1524
+				foreach ($arguments as $argument) {
1525
+					if (isset($argument['advanced']) && $argument['advanced']) {
1526 1526
 						$show = true;
1527 1527
 						break; // no need to continue if we know we have it
1528 1528
 					}
@@ -1541,15 +1541,15 @@  discard block
 block discarded – undo
1541 1541
 
1542 1542
 			$url = $this->url;
1543 1543
 
1544
-			if ( ! $url ) {
1544
+			if (!$url) {
1545 1545
 				// check if we are inside a plugin
1546
-				$file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1546
+				$file_dir = str_replace("/includes", "", dirname(__FILE__));
1547 1547
 
1548
-				$dir_parts = explode( "/wp-content/", $file_dir );
1549
-				$url_parts = explode( "/wp-content/", plugins_url() );
1548
+				$dir_parts = explode("/wp-content/", $file_dir);
1549
+				$url_parts = explode("/wp-content/", plugins_url());
1550 1550
 
1551
-				if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1552
-					$url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1551
+				if (!empty($url_parts[0]) && !empty($dir_parts[1])) {
1552
+					$url       = trailingslashit($url_parts[0] . "/wp-content/" . $dir_parts[1]);
1553 1553
 					$this->url = $url;
1554 1554
 				}
1555 1555
 			}
@@ -1570,46 +1570,46 @@  discard block
 block discarded – undo
1570 1570
 		 * @since 1.1.0
1571 1571
 		 * @return string
1572 1572
 		 */
1573
-		public function get_block_icon( $icon ) {
1573
+		public function get_block_icon($icon) {
1574 1574
 
1575 1575
 			// check if we have a Font Awesome icon
1576 1576
 			$fa_type = '';
1577
-			if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1577
+			if (substr($icon, 0, 7) === "fas fa-") {
1578 1578
 				$fa_type = 'solid';
1579
-			} elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1579
+			} elseif (substr($icon, 0, 7) === "far fa-") {
1580 1580
 				$fa_type = 'regular';
1581
-			} elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1581
+			} elseif (substr($icon, 0, 7) === "fab fa-") {
1582 1582
 				$fa_type = 'brands';
1583 1583
 			} else {
1584 1584
 				$icon = "'" . $icon . "'";
1585 1585
 			}
1586 1586
 
1587 1587
 			// set the icon if we found one
1588
-			if ( $fa_type ) {
1589
-				$fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1588
+			if ($fa_type) {
1589
+				$fa_icon = str_replace(array("fas fa-", "far fa-", "fab fa-"), "", $icon);
1590 1590
 				$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 . "'}))";
1591 1591
 			}
1592 1592
 
1593 1593
 			return $icon;
1594 1594
 		}
1595 1595
 
1596
-		public function group_arguments( $arguments ) {
1596
+		public function group_arguments($arguments) {
1597 1597
 //			echo '###';print_r($arguments);
1598
-			if ( ! empty( $arguments ) ) {
1598
+			if (!empty($arguments)) {
1599 1599
 				$temp_arguments = array();
1600
-				$general        = __( "General" );
1600
+				$general        = __("General");
1601 1601
 				$add_sections   = false;
1602
-				foreach ( $arguments as $key => $args ) {
1603
-					if ( isset( $args['group'] ) ) {
1604
-						$temp_arguments[ $args['group'] ][ $key ] = $args;
1602
+				foreach ($arguments as $key => $args) {
1603
+					if (isset($args['group'])) {
1604
+						$temp_arguments[$args['group']][$key] = $args;
1605 1605
 						$add_sections                             = true;
1606 1606
 					} else {
1607
-						$temp_arguments[ $general ][ $key ] = $args;
1607
+						$temp_arguments[$general][$key] = $args;
1608 1608
 					}
1609 1609
 				}
1610 1610
 
1611 1611
 				// only add sections if more than one
1612
-				if ( $add_sections ) {
1612
+				if ($add_sections) {
1613 1613
 					$arguments = $temp_arguments;
1614 1614
 				}
1615 1615
 			}
@@ -1653,9 +1653,9 @@  discard block
 block discarded – undo
1653 1653
 					var prev_attributes = [];
1654 1654
 
1655 1655
 					var term_query_type = '';
1656
-					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 "[]";} ?>;
1657
-					const taxonomies_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
1658
-					const sort_by_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
1656
+					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 "[]"; } ?>;
1657
+					const taxonomies_<?php echo str_replace("-", "_", $this->id); ?> = [{label: "Please wait", value: 0}];
1658
+					const sort_by_<?php echo str_replace("-", "_", $this->id); ?> = [{label: "Please wait", value: 0}];
1659 1659
 
1660 1660
 					/**
1661 1661
 					 * Register Basic Block.
@@ -1669,30 +1669,30 @@  discard block
 block discarded – undo
1669 1669
 					 * @return {?WPBlock}          The block, if it has been successfully
1670 1670
 					 *                             registered; otherwise `undefined`.
1671 1671
 					 */
1672
-					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.
1673
-						title: '<?php echo addslashes( $this->options['name'] ); ?>', // Block title.
1674
-						description: '<?php echo addslashes( $this->options['widget_ops']['description'] )?>', // Block title.
1675
-						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/.
1672
+					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.
1673
+						title: '<?php echo addslashes($this->options['name']); ?>', // Block title.
1674
+						description: '<?php echo addslashes($this->options['widget_ops']['description'])?>', // Block title.
1675
+						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/.
1676 1676
 						supports: {
1677 1677
 							<?php
1678
-							if ( isset( $this->options['block-supports'] ) ) {
1679
-								echo $this->array_to_attributes( $this->options['block-supports'] );
1678
+							if (isset($this->options['block-supports'])) {
1679
+								echo $this->array_to_attributes($this->options['block-supports']);
1680 1680
 							}
1681 1681
 							?>
1682 1682
 						},
1683
-						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.
1684
-						<?php if ( isset( $this->options['block-keywords'] ) ) {
1683
+						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.
1684
+						<?php if (isset($this->options['block-keywords'])) {
1685 1685
 						echo "keywords : " . $this->options['block-keywords'] . ",";
1686 1686
 					}?>
1687 1687
 
1688 1688
 						<?php
1689 1689
 
1690 1690
 						// maybe set no_wrap
1691
-						$no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1692
-						if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
1691
+						$no_wrap = isset($this->options['no_wrap']) && $this->options['no_wrap'] ? true : false;
1692
+						if (isset($this->arguments['no_wrap']) && $this->arguments['no_wrap']) {
1693 1693
 							$no_wrap = true;
1694 1694
 						}
1695
-						if ( $no_wrap ) {
1695
+						if ($no_wrap) {
1696 1696
 							$this->options['block-wrap'] = '';
1697 1697
 						}
1698 1698
 
@@ -1705,10 +1705,10 @@  discard block
 block discarded – undo
1705 1705
 						echo "  html: false";
1706 1706
 						echo "},";*/
1707 1707
 
1708
-						if ( ! empty( $this->arguments ) ) {
1708
+						if (!empty($this->arguments)) {
1709 1709
 							echo "attributes : {";
1710 1710
 
1711
-							if ( $show_advanced ) {
1711
+							if ($show_advanced) {
1712 1712
 								echo "show_advanced: {";
1713 1713
 								echo "	type: 'boolean',";
1714 1714
 								echo "  default: false,";
@@ -1716,41 +1716,41 @@  discard block
 block discarded – undo
1716 1716
 							}
1717 1717
 
1718 1718
 							// block wrap element
1719
-							if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
1719
+							if (!empty($this->options['block-wrap'])) { //@todo we should validate this?
1720 1720
 								echo "block_wrap: {";
1721 1721
 								echo "	type: 'string',";
1722
-								echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
1722
+								echo "  default: '" . esc_attr($this->options['block-wrap']) . "',";
1723 1723
 								echo "},";
1724 1724
 							}
1725 1725
 
1726
-							foreach ( $this->arguments as $key => $args ) {
1726
+							foreach ($this->arguments as $key => $args) {
1727 1727
 
1728 1728
 								// set if we should show alignment
1729
-								if ( $key == 'alignment' ) {
1729
+								if ($key == 'alignment') {
1730 1730
 									$show_alignment = true;
1731 1731
 								}
1732 1732
 
1733 1733
 								$extra = '';
1734 1734
 
1735
-								if ( $args['type'] == 'checkbox' ) {
1735
+								if ($args['type'] == 'checkbox') {
1736 1736
 									$type    = 'boolean';
1737
-									$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
1738
-								} elseif ( $args['type'] == 'number' ) {
1737
+									$default = isset($args['default']) && $args['default'] ? 'true' : 'false';
1738
+								} elseif ($args['type'] == 'number') {
1739 1739
 									$type    = 'number';
1740
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1741
-								} elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
1740
+									$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
1741
+								} elseif ($args['type'] == 'select' && !empty($args['multiple'])) {
1742 1742
 									$type = 'array';
1743
-									if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
1744
-										$default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
1743
+									if (isset($args['default']) && is_array($args['default'])) {
1744
+										$default = !empty($args['default']) ? "['" . implode("','", $args['default']) . "']" : "[]";
1745 1745
 									} else {
1746
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1746
+										$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
1747 1747
 									}
1748
-								} elseif ( $args['type'] == 'multiselect' ) {
1748
+								} elseif ($args['type'] == 'multiselect') {
1749 1749
 									$type    = 'array';
1750
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1750
+									$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
1751 1751
 								} else {
1752 1752
 									$type    = 'string';
1753
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1753
+									$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
1754 1754
 								}
1755 1755
 								echo $key . " : {";
1756 1756
 								echo "type : '$type',";
@@ -1774,7 +1774,7 @@  discard block
 block discarded – undo
1774 1774
 							var $value = '';
1775 1775
 							<?php
1776 1776
 							// if we have a post_type and a category then link them
1777
-							if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
1777
+							if (isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked'])) {
1778 1778
 							?>
1779 1779
 							if(typeof(prev_attributes[props.id]) != 'undefined' ){
1780 1780
 								$pt = props.attributes.post_type;
@@ -1790,13 +1790,13 @@  discard block
 block discarded – undo
1790 1790
 
1791 1791
 								// taxonomies
1792 1792
 								if( $value && 'post_type' in prev_attributes[props.id] && 'category' in prev_attributes[props.id] && run ){
1793
-									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 => {
1794
-										while (taxonomies_<?php echo str_replace("-","_", $this->id);?>.length) {
1795
-										taxonomies_<?php echo str_replace("-","_", $this->id);?>.pop();
1793
+									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 => {
1794
+										while (taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.length) {
1795
+										taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.pop();
1796 1796
 									}
1797
-									taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: "All", value: 0});
1797
+									taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: "All", value: 0});
1798 1798
 									jQuery.each( terms, function( key, val ) {
1799
-										taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: val.name, value: val.id});
1799
+										taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val.name, value: val.id});
1800 1800
 									});
1801 1801
 
1802 1802
 									// setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options.
@@ -1804,7 +1804,7 @@  discard block
 block discarded – undo
1804 1804
 									props.setAttributes({category: [0] });
1805 1805
 									props.setAttributes({category: $old_cat_value });
1806 1806
 
1807
-									return taxonomies_<?php echo str_replace("-","_", $this->id);?>;
1807
+									return taxonomies_<?php echo str_replace("-", "_", $this->id); ?>;
1808 1808
 								});
1809 1809
 								}
1810 1810
 
@@ -1816,12 +1816,12 @@  discard block
 block discarded – undo
1816 1816
 									};
1817 1817
 									jQuery.post(ajaxurl, data, function(response) {
1818 1818
 										response = JSON.parse(response);
1819
-										while (sort_by_<?php echo str_replace("-","_", $this->id);?>.length) {
1820
-											sort_by_<?php echo str_replace("-","_", $this->id);?>.pop();
1819
+										while (sort_by_<?php echo str_replace("-", "_", $this->id); ?>.length) {
1820
+											sort_by_<?php echo str_replace("-", "_", $this->id); ?>.pop();
1821 1821
 										}
1822 1822
 
1823 1823
 										jQuery.each( response, function( key, val ) {
1824
-											sort_by_<?php echo str_replace("-","_", $this->id);?>.push({label: val, value: key});
1824
+											sort_by_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val, value: key});
1825 1825
 										});
1826 1826
 
1827 1827
 										// setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options.
@@ -1829,7 +1829,7 @@  discard block
 block discarded – undo
1829 1829
 										props.setAttributes({sort_by: [0] });
1830 1830
 										props.setAttributes({sort_by: $old_sort_by_value });
1831 1831
 
1832
-										return sort_by_<?php echo str_replace("-","_", $this->id);?>;
1832
+										return sort_by_<?php echo str_replace("-", "_", $this->id); ?>;
1833 1833
 									});
1834 1834
 
1835 1835
 								}
@@ -1856,12 +1856,12 @@  discard block
 block discarded – undo
1856 1856
 									is_fetching = true;
1857 1857
 									var data = {
1858 1858
 										'action': 'super_duper_output_shortcode',
1859
-										'shortcode': '<?php echo $this->options['base_id'];?>',
1859
+										'shortcode': '<?php echo $this->options['base_id']; ?>',
1860 1860
 										'attributes': props.attributes,
1861
-										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
1861
+										'post_id': <?php global $post; if (isset($post->ID)) {
1862 1862
 										echo $post->ID;
1863
-									}else{echo '0';}?>,
1864
-										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
1863
+									} else {echo '0'; }?>,
1864
+										'_ajax_nonce': '<?php echo wp_create_nonce('super_duper_output_shortcode'); ?>'
1865 1865
 									};
1866 1866
 
1867 1867
 									jQuery.post(ajaxurl, data, function (response) {
@@ -1870,7 +1870,7 @@  discard block
 block discarded – undo
1870 1870
 
1871 1871
 										// if the content is empty then we place some placeholder text
1872 1872
 										if (env == '') {
1873
-											env = "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" + "<?php _e( 'Placeholder for: ' );?>" + props.name + "</div>";
1873
+											env = "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" + "<?php _e('Placeholder for: '); ?>" + props.name + "</div>";
1874 1874
 										}
1875 1875
 
1876 1876
 										props.setAttributes({content: env});
@@ -1894,7 +1894,7 @@  discard block
 block discarded – undo
1894 1894
 
1895 1895
 								el(wp.blockEditor.BlockControls, {key: 'controls'},
1896 1896
 
1897
-									<?php if($show_alignment){?>
1897
+									<?php if ($show_alignment) {?>
1898 1898
 									el(
1899 1899
 										wp.blockEditor.AlignmentToolbar,
1900 1900
 										{
@@ -1912,9 +1912,9 @@  discard block
 block discarded – undo
1912 1912
 
1913 1913
 									<?php
1914 1914
 
1915
-									if(! empty( $this->arguments )){
1915
+									if (!empty($this->arguments)) {
1916 1916
 
1917
-									if ( $show_advanced ) {
1917
+									if ($show_advanced) {
1918 1918
 									?>
1919 1919
 									el('div', {
1920 1920
 											style: {'padding-left': '16px','padding-right': '16px'}
@@ -1935,19 +1935,19 @@  discard block
 block discarded – undo
1935 1935
 
1936 1936
 									}
1937 1937
 
1938
-									$arguments = $this->group_arguments( $this->arguments );
1938
+									$arguments = $this->group_arguments($this->arguments);
1939 1939
 
1940 1940
 									// Do we have sections?
1941 1941
 									$has_sections = $arguments == $this->arguments ? false : true;
1942 1942
 
1943 1943
 
1944
-									if($has_sections){
1944
+									if ($has_sections) {
1945 1945
 									$panel_count = 0;
1946
-									foreach($arguments as $key => $args){
1946
+									foreach ($arguments as $key => $args) {
1947 1947
 									?>
1948 1948
 									el(wp.components.PanelBody, {
1949
-											title: '<?php esc_attr_e( $key ); ?>',
1950
-											initialOpen: <?php if ( $panel_count ) {
1949
+											title: '<?php esc_attr_e($key); ?>',
1950
+											initialOpen: <?php if ($panel_count) {
1951 1951
 											echo "false";
1952 1952
 										} else {
1953 1953
 											echo "true";
@@ -1957,29 +1957,29 @@  discard block
 block discarded – undo
1957 1957
 
1958 1958
 
1959 1959
 
1960
-										foreach ( $args as $k => $a ) {
1960
+										foreach ($args as $k => $a) {
1961 1961
 
1962
-											$this->block_row_start( $k, $a );
1963
-											$this->build_block_arguments( $k, $a );
1964
-											$this->block_row_end( $k, $a );
1962
+											$this->block_row_start($k, $a);
1963
+											$this->build_block_arguments($k, $a);
1964
+											$this->block_row_end($k, $a);
1965 1965
 										}
1966 1966
 										?>
1967 1967
 									),
1968 1968
 									<?php
1969
-									$panel_count ++;
1969
+									$panel_count++;
1970 1970
 
1971 1971
 									}
1972
-									}else {
1972
+									} else {
1973 1973
 									?>
1974 1974
 									el(wp.components.PanelBody, {
1975
-											title: '<?php esc_attr_e( "Settings" ); ?>',
1975
+											title: '<?php esc_attr_e("Settings"); ?>',
1976 1976
 											initialOpen: true
1977 1977
 										},
1978 1978
 										<?php
1979
-										foreach ( $this->arguments as $key => $args ) {
1980
-											$this->block_row_start( $key, $args );
1981
-											$this->build_block_arguments( $key, $args );
1982
-											$this->block_row_end( $key, $args );
1979
+										foreach ($this->arguments as $key => $args) {
1980
+											$this->block_row_start($key, $args);
1981
+											$this->build_block_arguments($key, $args);
1982
+											$this->block_row_end($key, $args);
1983 1983
 										}
1984 1984
 										?>
1985 1985
 									),
@@ -1993,9 +1993,9 @@  discard block
 block discarded – undo
1993 1993
 
1994 1994
 								<?php
1995 1995
 								// If the user sets block-output array then build it
1996
-								if ( ! empty( $this->options['block-output'] ) ) {
1997
-								$this->block_element( $this->options['block-output'] );
1998
-							}else{
1996
+								if (!empty($this->options['block-output'])) {
1997
+								$this->block_element($this->options['block-output']);
1998
+							} else {
1999 1999
 								// if no block-output is set then we try and get the shortcode html output via ajax.
2000 2000
 								?>
2001 2001
 								el('div', {
@@ -2019,19 +2019,19 @@  discard block
 block discarded – undo
2019 2019
 							var align = '';
2020 2020
 
2021 2021
 							// build the shortcode.
2022
-							var content = "[<?php echo $this->options['base_id'];?>";
2022
+							var content = "[<?php echo $this->options['base_id']; ?>";
2023 2023
 							$html = '';
2024 2024
 							<?php
2025 2025
 
2026
-							if(! empty( $this->arguments )){
2026
+							if (!empty($this->arguments)) {
2027 2027
 
2028
-							foreach($this->arguments as $key => $args){
2028
+							foreach ($this->arguments as $key => $args) {
2029 2029
 							?>
2030
-							if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
2031
-								if ('<?php echo esc_attr( $key );?>' == 'html') {
2032
-									$html = attr.<?php echo esc_attr( $key );?>;
2030
+							if (attr.hasOwnProperty("<?php echo esc_attr($key); ?>")) {
2031
+								if ('<?php echo esc_attr($key); ?>' == 'html') {
2032
+									$html = attr.<?php echo esc_attr($key); ?>;
2033 2033
 								} else {
2034
-									content += " <?php echo esc_attr( $key );?>='" + attr.<?php echo esc_attr( $key );?>+ "' ";
2034
+									content += " <?php echo esc_attr($key); ?>='" + attr.<?php echo esc_attr($key); ?>+ "' ";
2035 2035
 								}
2036 2036
 							}
2037 2037
 							<?php
@@ -2043,7 +2043,7 @@  discard block
 block discarded – undo
2043 2043
 
2044 2044
 							// if has html element
2045 2045
 							if ($html) {
2046
-								content += $html + "[/<?php echo $this->options['base_id'];?>]";
2046
+								content += $html + "[/<?php echo $this->options['base_id']; ?>]";
2047 2047
 							}
2048 2048
 
2049 2049
 
@@ -2061,11 +2061,11 @@  discard block
 block discarded – undo
2061 2061
 							}
2062 2062
 
2063 2063
 							<?php
2064
-							if(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
2064
+							if (isset($this->options['block-wrap']) && $this->options['block-wrap'] == '') {
2065 2065
 							?>
2066 2066
 							return content;
2067 2067
 							<?php
2068
-							}else{
2068
+							} else {
2069 2069
 							?>
2070 2070
 							var block_wrap = 'div';
2071 2071
 							if (attr.hasOwnProperty("block_wrap")) {
@@ -2088,45 +2088,45 @@  discard block
 block discarded – undo
2088 2088
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
2089 2089
 			 */
2090 2090
 
2091
-			return str_replace( array(
2091
+			return str_replace(array(
2092 2092
 				'<script>',
2093 2093
 				'</script>'
2094
-			), '', $output );
2094
+			), '', $output);
2095 2095
 		}
2096 2096
 
2097
-		public function block_row_start($key, $args){
2097
+		public function block_row_start($key, $args) {
2098 2098
 
2099 2099
 			// check for row
2100
-			if(!empty($args['row'])){
2100
+			if (!empty($args['row'])) {
2101 2101
 
2102
-				if(!empty($args['row']['open'])){
2102
+				if (!empty($args['row']['open'])) {
2103 2103
 
2104 2104
 				// element require
2105
-				$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2105
+				$element_require = !empty($args['element_require']) ? $this->block_props_replace($args['element_require'], true) . " && " : "";
2106 2106
 				echo $element_require;
2107 2107
 
2108
-					if(false){?><script><?php }?>
2108
+					if (false) {?><script><?php }?>
2109 2109
 						el('div', {
2110 2110
 								className: 'bsui components-base-control',
2111 2111
 							},
2112
-							<?php if(!empty($args['row']['title'])){ ?>
2112
+							<?php if (!empty($args['row']['title'])) { ?>
2113 2113
 							el('label', {
2114 2114
 									className: 'components-base-control__label',
2115 2115
 								},
2116
-								'<?php echo addslashes( $args['row']['title'] ); ?>'
2116
+								'<?php echo addslashes($args['row']['title']); ?>'
2117 2117
 							),
2118 2118
 							<?php }?>
2119
-							<?php if(!empty($args['row']['desc'])){ ?>
2119
+							<?php if (!empty($args['row']['desc'])) { ?>
2120 2120
 							el('p', {
2121 2121
 									className: 'components-base-control__help mb-0',
2122 2122
 								},
2123
-								'<?php echo addslashes( $args['row']['desc'] ); ?>'
2123
+								'<?php echo addslashes($args['row']['desc']); ?>'
2124 2124
 							),
2125 2125
 							<?php }?>
2126 2126
 							el(
2127 2127
 								'div',
2128 2128
 								{
2129
-									className: 'row mb-n2 <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>',
2129
+									className: 'row mb-n2 <?php if (!empty($args['row']['class'])) { echo esc_attr($args['row']['class']); } ?>',
2130 2130
 								},
2131 2131
 								el(
2132 2132
 									'div',
@@ -2135,36 +2135,36 @@  discard block
 block discarded – undo
2135 2135
 									},
2136 2136
 
2137 2137
 					<?php
2138
-					if(false){?></script><?php }
2139
-				}elseif(!empty($args['row']['close'])){
2140
-					if(false){?><script><?php }?>
2138
+					if (false) {?></script><?php }
2139
+				}elseif (!empty($args['row']['close'])) {
2140
+					if (false) {?><script><?php }?>
2141 2141
 						el(
2142 2142
 							'div',
2143 2143
 							{
2144 2144
 								className: 'col pl-0',
2145 2145
 							},
2146 2146
 					<?php
2147
-					if(false){?></script><?php }
2148
-				}else{
2149
-					if(false){?><script><?php }?>
2147
+					if (false) {?></script><?php }
2148
+				} else {
2149
+					if (false) {?><script><?php }?>
2150 2150
 						el(
2151 2151
 							'div',
2152 2152
 							{
2153 2153
 								className: 'col pl-0 pr-2',
2154 2154
 							},
2155 2155
 					<?php
2156
-					if(false){?></script><?php }
2156
+					if (false) {?></script><?php }
2157 2157
 				}
2158 2158
 
2159 2159
 			}
2160 2160
 
2161 2161
 		}
2162 2162
 
2163
-		public function block_row_end($key, $args){
2163
+		public function block_row_end($key, $args) {
2164 2164
 
2165
-			if(!empty($args['row'])){
2165
+			if (!empty($args['row'])) {
2166 2166
 				// maybe close
2167
-				if(!empty($args['row']['close'])){
2167
+				if (!empty($args['row']['close'])) {
2168 2168
 					echo "))";
2169 2169
 				}
2170 2170
 
@@ -2172,25 +2172,25 @@  discard block
 block discarded – undo
2172 2172
 			}
2173 2173
 		}
2174 2174
 
2175
-		public function build_block_arguments( $key, $args ) {
2176
-			$custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
2175
+		public function build_block_arguments($key, $args) {
2176
+			$custom_attributes = !empty($args['custom_attributes']) ? $this->array_to_attributes($args['custom_attributes']) : '';
2177 2177
 			$options           = '';
2178 2178
 			$extra             = '';
2179 2179
 			$require           = '';
2180 2180
 
2181 2181
 			// `content` is a protected and special argument
2182
-			if ( $key == 'content' ) {
2182
+			if ($key == 'content') {
2183 2183
 				return;
2184 2184
 			}
2185 2185
 
2186 2186
 
2187 2187
 			// icon
2188 2188
 			$icon = '';
2189
-			if( !empty( $args['icon'] ) ){
2189
+			if (!empty($args['icon'])) {
2190 2190
 				$icon .= "el('div', {";
2191
-									$icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
2191
+									$icon .= "dangerouslySetInnerHTML: {__html: '" . self::get_widget_icon(esc_attr($args['icon'])) . "'},";
2192 2192
 									$icon .= "className: 'text-center',";
2193
-									$icon .= "title: '".addslashes( $args['title'] )."',";
2193
+									$icon .= "title: '" . addslashes($args['title']) . "',";
2194 2194
 								$icon .= "}),";
2195 2195
 
2196 2196
 				// blank title as its added to the icon.
@@ -2198,20 +2198,20 @@  discard block
 block discarded – undo
2198 2198
 			}
2199 2199
 
2200 2200
 			// require advanced
2201
-			$require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
2201
+			$require_advanced = !empty($args['advanced']) ? "props.attributes.show_advanced && " : "";
2202 2202
 
2203 2203
 			// element require
2204
-			$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2204
+			$element_require = !empty($args['element_require']) ? $this->block_props_replace($args['element_require'], true) . " && " : "";
2205 2205
 
2206 2206
 
2207 2207
 			$onchange  = "props.setAttributes({ $key: $key } )";
2208
-			$onchangecomplete  = "";
2208
+			$onchangecomplete = "";
2209 2209
 			$value     = "props.attributes.$key";
2210
-			$text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx' );
2211
-			if ( in_array( $args['type'], $text_type ) ) {
2210
+			$text_type = array('text', 'password', 'number', 'email', 'tel', 'url', 'colorx');
2211
+			if (in_array($args['type'], $text_type)) {
2212 2212
 				$type = 'TextControl';
2213 2213
 				// Save numbers as numbers and not strings
2214
-				if ( $args['type'] == 'number' ) {
2214
+				if ($args['type'] == 'number') {
2215 2215
 					$onchange = "props.setAttributes({ $key: Number($key) } )";
2216 2216
 				}
2217 2217
 			}
@@ -2249,11 +2249,11 @@  discard block
 block discarded – undo
2249 2249
 							return;
2250 2250
 						}
2251 2251
 			*/
2252
-			elseif ( $args['type'] == 'color' ) {
2252
+			elseif ($args['type'] == 'color') {
2253 2253
 				$type = 'ColorPicker';
2254 2254
 				$onchange = "";
2255 2255
 				$extra = "color: $value,";
2256
-				if(!empty($args['disable_alpha'])){
2256
+				if (!empty($args['disable_alpha'])) {
2257 2257
 					$extra .= "disableAlpha: true,";
2258 2258
 				}
2259 2259
 				$onchangecomplete = "onChangeComplete: function($key) {
@@ -2263,49 +2263,49 @@  discard block
 block discarded – undo
2263 2263
                         });
2264 2264
                     },";
2265 2265
 			}
2266
-			elseif ( $args['type'] == 'checkbox' ) {
2266
+			elseif ($args['type'] == 'checkbox') {
2267 2267
 				$type = 'CheckboxControl';
2268 2268
 				$extra .= "checked: props.attributes.$key,";
2269 2269
 				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
2270
-			} elseif ( $args['type'] == 'textarea' ) {
2270
+			} elseif ($args['type'] == 'textarea') {
2271 2271
 				$type = 'TextareaControl';
2272
-			} elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
2272
+			} elseif ($args['type'] == 'select' || $args['type'] == 'multiselect') {
2273 2273
 				$type = 'SelectControl';
2274 2274
 
2275
-				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
2276
-					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
2277
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
2278
-					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
2279
-				}else {
2275
+				if ($args['name'] == 'category' && !empty($args['post_type_linked'])) {
2276
+					$options .= "options: taxonomies_" . str_replace("-", "_", $this->id) . ",";
2277
+				}elseif ($args['name'] == 'sort_by' && !empty($args['post_type_linked'])) {
2278
+					$options .= "options: sort_by_" . str_replace("-", "_", $this->id) . ",";
2279
+				} else {
2280 2280
 
2281
-					if ( ! empty( $args['options'] ) ) {
2281
+					if (!empty($args['options'])) {
2282 2282
 						$options .= "options: [";
2283
-						foreach ( $args['options'] as $option_val => $option_label ) {
2284
-							$options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . addslashes( $option_label ) . "' },";
2283
+						foreach ($args['options'] as $option_val => $option_label) {
2284
+							$options .= "{ value: '" . esc_attr($option_val) . "', label: '" . addslashes($option_label) . "' },";
2285 2285
 						}
2286 2286
 						$options .= "],";
2287 2287
 					}
2288 2288
 				}
2289
-				if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
2289
+				if (isset($args['multiple']) && $args['multiple']) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
2290 2290
 					$extra .= ' multiple: true, ';
2291 2291
 				}
2292
-			} elseif ( $args['type'] == 'alignment' ) {
2292
+			} elseif ($args['type'] == 'alignment') {
2293 2293
 				$type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
2294
-			}elseif ( $args['type'] == 'margins' ) {
2294
+			}elseif ($args['type'] == 'margins') {
2295 2295
 
2296 2296
 			} else {
2297
-				return;// if we have not implemented the control then don't break the JS.
2297
+				return; // if we have not implemented the control then don't break the JS.
2298 2298
 			}
2299 2299
 
2300 2300
 
2301 2301
 
2302 2302
 			// color input does not show the labels so we add them
2303
-			if($args['type']=='color'){
2303
+			if ($args['type'] == 'color') {
2304 2304
 				// add show only if advanced
2305 2305
 				echo $require_advanced;
2306 2306
 				// add setting require if defined
2307 2307
 				echo $element_require;
2308
-				echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
2308
+				echo "el('div', {style: {'marginBottom': '8px'}}, '" . addslashes($args['title']) . "'),";
2309 2309
 			}
2310 2310
 
2311 2311
 			// add show only if advanced
@@ -2317,21 +2317,21 @@  discard block
 block discarded – undo
2317 2317
 			echo $icon;
2318 2318
 			?>
2319 2319
 			el( wp.components.<?php echo $type; ?>, {
2320
-			label: '<?php echo addslashes( $args['title'] ); ?>',
2321
-			help: '<?php if ( isset( $args['desc'] ) ) {
2322
-				echo addslashes( $args['desc'] );
2320
+			label: '<?php echo addslashes($args['title']); ?>',
2321
+			help: '<?php if (isset($args['desc'])) {
2322
+				echo addslashes($args['desc']);
2323 2323
 			} ?>',
2324 2324
 			value: <?php echo $value; ?>,
2325
-			<?php if ( $type == 'TextControl' && $args['type'] != 'text' ) {
2326
-				echo "type: '" . addslashes( $args['type'] ) . "',";
2325
+			<?php if ($type == 'TextControl' && $args['type'] != 'text') {
2326
+				echo "type: '" . addslashes($args['type']) . "',";
2327 2327
 			} ?>
2328
-			<?php if ( ! empty( $args['placeholder'] ) ) {
2329
-				echo "placeholder: '" . addslashes( $args['placeholder'] ) . "',";
2328
+			<?php if (!empty($args['placeholder'])) {
2329
+				echo "placeholder: '" . addslashes($args['placeholder']) . "',";
2330 2330
 			} ?>
2331 2331
 			<?php echo $options; ?>
2332 2332
 			<?php echo $extra; ?>
2333 2333
 			<?php echo $custom_attributes; ?>
2334
-			<?php echo $onchangecomplete;?>
2334
+			<?php echo $onchangecomplete; ?>
2335 2335
 			onChange: function ( <?php echo $key; ?> ) {
2336 2336
 			<?php echo $onchange; ?>
2337 2337
 			}
@@ -2350,16 +2350,16 @@  discard block
 block discarded – undo
2350 2350
 		 *
2351 2351
 		 * @return string
2352 2352
 		 */
2353
-		public function array_to_attributes( $custom_attributes, $html = false ) {
2353
+		public function array_to_attributes($custom_attributes, $html = false) {
2354 2354
 			$attributes = '';
2355
-			if ( ! empty( $custom_attributes ) ) {
2355
+			if (!empty($custom_attributes)) {
2356 2356
 
2357
-				if ( $html ) {
2358
-					foreach ( $custom_attributes as $key => $val ) {
2357
+				if ($html) {
2358
+					foreach ($custom_attributes as $key => $val) {
2359 2359
 						$attributes .= " $key='$val' ";
2360 2360
 					}
2361 2361
 				} else {
2362
-					foreach ( $custom_attributes as $key => $val ) {
2362
+					foreach ($custom_attributes as $key => $val) {
2363 2363
 						$attributes .= "'$key': '$val',";
2364 2364
 					}
2365 2365
 				}
@@ -2375,86 +2375,86 @@  discard block
 block discarded – undo
2375 2375
 		 *
2376 2376
 		 * @param $args
2377 2377
 		 */
2378
-		public function block_element( $args ) {
2378
+		public function block_element($args) {
2379 2379
 
2380 2380
 
2381
-			if ( ! empty( $args ) ) {
2382
-				foreach ( $args as $element => $new_args ) {
2381
+			if (!empty($args)) {
2382
+				foreach ($args as $element => $new_args) {
2383 2383
 
2384
-					if ( is_array( $new_args ) ) { // its an element
2384
+					if (is_array($new_args)) { // its an element
2385 2385
 
2386 2386
 
2387
-						if ( isset( $new_args['element'] ) ) {
2387
+						if (isset($new_args['element'])) {
2388 2388
 
2389
-							if ( isset( $new_args['element_require'] ) ) {
2390
-								echo str_replace( array(
2389
+							if (isset($new_args['element_require'])) {
2390
+								echo str_replace(array(
2391 2391
 										"'+",
2392 2392
 										"+'"
2393
-									), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
2394
-								unset( $new_args['element_require'] );
2393
+									), '', $this->block_props_replace($new_args['element_require'])) . " &&  ";
2394
+								unset($new_args['element_require']);
2395 2395
 							}
2396 2396
 
2397 2397
 							echo "\n el( '" . $new_args['element'] . "', {";
2398 2398
 
2399 2399
 							// get the attributes
2400
-							foreach ( $new_args as $new_key => $new_value ) {
2400
+							foreach ($new_args as $new_key => $new_value) {
2401 2401
 
2402 2402
 
2403
-								if ( $new_key == 'element' || $new_key == 'content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
2403
+								if ($new_key == 'element' || $new_key == 'content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array($new_value)) {
2404 2404
 									// do nothing
2405 2405
 								} else {
2406
-									echo $this->block_element( array( $new_key => $new_value ) );
2406
+									echo $this->block_element(array($new_key => $new_value));
2407 2407
 								}
2408 2408
 							}
2409 2409
 
2410
-							echo "},";// end attributes
2410
+							echo "},"; // end attributes
2411 2411
 
2412 2412
 							// get the content
2413 2413
 							$first_item = 0;
2414
-							foreach ( $new_args as $new_key => $new_value ) {
2415
-								if ( $new_key === 'content' || is_array( $new_value ) ) {
2414
+							foreach ($new_args as $new_key => $new_value) {
2415
+								if ($new_key === 'content' || is_array($new_value)) {
2416 2416
 
2417
-									if ( $new_key === 'content' ) {
2418
-										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
2417
+									if ($new_key === 'content') {
2418
+										echo "'" . $this->block_props_replace(wp_slash($new_value)) . "'";
2419 2419
 									}
2420 2420
 
2421
-									if ( is_array( $new_value ) ) {
2421
+									if (is_array($new_value)) {
2422 2422
 
2423
-										if ( isset( $new_value['element_require'] ) ) {
2424
-											echo str_replace( array(
2423
+										if (isset($new_value['element_require'])) {
2424
+											echo str_replace(array(
2425 2425
 													"'+",
2426 2426
 													"+'"
2427
-												), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
2428
-											unset( $new_value['element_require'] );
2427
+												), '', $this->block_props_replace($new_value['element_require'])) . " &&  ";
2428
+											unset($new_value['element_require']);
2429 2429
 										}
2430 2430
 
2431
-										if ( isset( $new_value['element_repeat'] ) ) {
2431
+										if (isset($new_value['element_repeat'])) {
2432 2432
 											$x = 1;
2433
-											while ( $x <= absint( $new_value['element_repeat'] ) ) {
2434
-												$this->block_element( array( '' => $new_value ) );
2435
-												$x ++;
2433
+											while ($x <= absint($new_value['element_repeat'])) {
2434
+												$this->block_element(array('' => $new_value));
2435
+												$x++;
2436 2436
 											}
2437 2437
 										} else {
2438
-											$this->block_element( array( '' => $new_value ) );
2438
+											$this->block_element(array('' => $new_value));
2439 2439
 										}
2440 2440
 									}
2441
-									$first_item ++;
2441
+									$first_item++;
2442 2442
 								}
2443 2443
 							}
2444 2444
 
2445
-							echo ")";// end content
2445
+							echo ")"; // end content
2446 2446
 
2447 2447
 							echo ", \n";
2448 2448
 
2449 2449
 						}
2450 2450
 					} else {
2451 2451
 
2452
-						if ( substr( $element, 0, 3 ) === "if_" ) {
2453
-							echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
2454
-						} elseif ( $element == 'style' ) {
2455
-							echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
2452
+						if (substr($element, 0, 3) === "if_") {
2453
+							echo str_replace("if_", "", $element) . ": " . $this->block_props_replace($new_args, true) . ",";
2454
+						} elseif ($element == 'style') {
2455
+							echo $element . ": " . $this->block_props_replace($new_args) . ",";
2456 2456
 						} else {
2457
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
2457
+							echo $element . ": '" . $this->block_props_replace($new_args) . "',";
2458 2458
 						}
2459 2459
 
2460 2460
 					}
@@ -2469,12 +2469,12 @@  discard block
 block discarded – undo
2469 2469
 		 *
2470 2470
 		 * @return mixed
2471 2471
 		 */
2472
-		public function block_props_replace( $string, $no_wrap = false ) {
2472
+		public function block_props_replace($string, $no_wrap = false) {
2473 2473
 
2474
-			if ( $no_wrap ) {
2475
-				$string = str_replace( array( "[%", "%]" ), array( "props.attributes.", "" ), $string );
2474
+			if ($no_wrap) {
2475
+				$string = str_replace(array("[%", "%]"), array("props.attributes.", ""), $string);
2476 2476
 			} else {
2477
-				$string = str_replace( array( "[%", "%]" ), array( "'+props.attributes.", "+'" ), $string );
2477
+				$string = str_replace(array("[%", "%]"), array("'+props.attributes.", "+'"), $string);
2478 2478
 			}
2479 2479
 
2480 2480
 			return $string;
@@ -2486,55 +2486,55 @@  discard block
 block discarded – undo
2486 2486
 		 * @param array $args
2487 2487
 		 * @param array $instance
2488 2488
 		 */
2489
-		public function widget( $args, $instance ) {
2489
+		public function widget($args, $instance) {
2490 2490
 
2491 2491
 			// get the filtered values
2492
-			$argument_values = $this->argument_values( $instance );
2493
-			$argument_values = $this->string_to_bool( $argument_values );
2494
-			$output          = $this->output( $argument_values, $args );
2492
+			$argument_values = $this->argument_values($instance);
2493
+			$argument_values = $this->string_to_bool($argument_values);
2494
+			$output          = $this->output($argument_values, $args);
2495 2495
 
2496 2496
 			$no_wrap = false;
2497
-			if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
2497
+			if (isset($argument_values['no_wrap']) && $argument_values['no_wrap']) {
2498 2498
 				$no_wrap = true;
2499 2499
 			}
2500 2500
 
2501 2501
 			ob_start();
2502
-			if ( $output && ! $no_wrap ) {
2502
+			if ($output && !$no_wrap) {
2503 2503
 
2504 2504
 				$class_original = $this->options['widget_ops']['classname'];
2505
-				$class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
2505
+				$class = $this->options['widget_ops']['classname'] . " sdel-" . $this->get_instance_hash();
2506 2506
 
2507 2507
 				// Before widget
2508 2508
 				$before_widget = $args['before_widget'];
2509
-				$before_widget = str_replace($class_original,$class,$before_widget);
2510
-				$before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
2511
-				$before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
2509
+				$before_widget = str_replace($class_original, $class, $before_widget);
2510
+				$before_widget = apply_filters('wp_super_duper_before_widget', $before_widget, $args, $instance, $this);
2511
+				$before_widget = apply_filters('wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this);
2512 2512
 
2513 2513
 				// After widget
2514 2514
 				$after_widget = $args['after_widget'];
2515
-				$after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
2516
-				$after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
2515
+				$after_widget = apply_filters('wp_super_duper_after_widget', $after_widget, $args, $instance, $this);
2516
+				$after_widget = apply_filters('wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this);
2517 2517
 
2518 2518
 				echo $before_widget;
2519 2519
 				// elementor strips the widget wrapping div so we check for and add it back if needed
2520
-				if ( $this->is_elementor_widget_output() ) {
2521
-					echo ! empty( $this->options['widget_ops']['classname'] ) ? "<span class='" . esc_attr( $class  ) . "'>" : '';
2520
+				if ($this->is_elementor_widget_output()) {
2521
+					echo !empty($this->options['widget_ops']['classname']) ? "<span class='" . esc_attr($class) . "'>" : '';
2522 2522
 				}
2523
-				echo $this->output_title( $args, $instance );
2523
+				echo $this->output_title($args, $instance);
2524 2524
 				echo $output;
2525
-				if ( $this->is_elementor_widget_output() ) {
2526
-					echo ! empty( $this->options['widget_ops']['classname'] ) ? "</span>" : '';
2525
+				if ($this->is_elementor_widget_output()) {
2526
+					echo !empty($this->options['widget_ops']['classname']) ? "</span>" : '';
2527 2527
 				}
2528 2528
 				echo $after_widget;
2529
-			} elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
2530
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
2529
+			} elseif ($this->is_preview() && $output == '') {// if preview show a placeholder if empty
2530
+				$output = $this->preview_placeholder_text("{{" . $this->base_id . "}}");
2531 2531
 				echo $output;
2532
-			} elseif ( $output && $no_wrap ) {
2532
+			} elseif ($output && $no_wrap) {
2533 2533
 				echo $output;
2534 2534
 			}
2535 2535
 			$output = ob_get_clean();
2536 2536
 
2537
-			$output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
2537
+			$output = apply_filters('wp_super_duper_widget_output', $output, $instance, $args, $this);
2538 2538
 
2539 2539
 			echo $output;
2540 2540
 		}
@@ -2547,7 +2547,7 @@  discard block
 block discarded – undo
2547 2547
 		 */
2548 2548
 		public function is_elementor_widget_output() {
2549 2549
 			$result = false;
2550
-			if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
2550
+			if (defined('ELEMENTOR_VERSION') && isset($this->number) && $this->number == 'REPLACE_TO_ID') {
2551 2551
 				$result = true;
2552 2552
 			}
2553 2553
 
@@ -2562,7 +2562,7 @@  discard block
 block discarded – undo
2562 2562
 		 */
2563 2563
 		public function is_elementor_preview() {
2564 2564
 			$result = false;
2565
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
2565
+			if (isset($_REQUEST['elementor-preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') || (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor_ajax')) {
2566 2566
 				$result = true;
2567 2567
 			}
2568 2568
 
@@ -2577,7 +2577,7 @@  discard block
 block discarded – undo
2577 2577
 		 */
2578 2578
 		public function is_divi_preview() {
2579 2579
 			$result = false;
2580
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
2580
+			if (isset($_REQUEST['et_fb']) || isset($_REQUEST['et_pb_preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor')) {
2581 2581
 				$result = true;
2582 2582
 			}
2583 2583
 
@@ -2592,7 +2592,7 @@  discard block
 block discarded – undo
2592 2592
 		 */
2593 2593
 		public function is_beaver_preview() {
2594 2594
 			$result = false;
2595
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
2595
+			if (isset($_REQUEST['fl_builder'])) {
2596 2596
 				$result = true;
2597 2597
 			}
2598 2598
 
@@ -2607,7 +2607,7 @@  discard block
 block discarded – undo
2607 2607
 		 */
2608 2608
 		public function is_siteorigin_preview() {
2609 2609
 			$result = false;
2610
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
2610
+			if (!empty($_REQUEST['siteorigin_panels_live_editor'])) {
2611 2611
 				$result = true;
2612 2612
 			}
2613 2613
 
@@ -2622,7 +2622,7 @@  discard block
 block discarded – undo
2622 2622
 		 */
2623 2623
 		public function is_cornerstone_preview() {
2624 2624
 			$result = false;
2625
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
2625
+			if (!empty($_REQUEST['cornerstone_preview']) || basename($_SERVER['REQUEST_URI']) == 'cornerstone-endpoint') {
2626 2626
 				$result = true;
2627 2627
 			}
2628 2628
 
@@ -2637,7 +2637,7 @@  discard block
 block discarded – undo
2637 2637
 		 */
2638 2638
 		public function is_fusion_preview() {
2639 2639
 			$result = false;
2640
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
2640
+			if (!empty($_REQUEST['fb-edit']) || !empty($_REQUEST['fusion_load_nonce'])) {
2641 2641
 				$result = true;
2642 2642
 			}
2643 2643
 
@@ -2652,7 +2652,7 @@  discard block
 block discarded – undo
2652 2652
 		 */
2653 2653
 		public function is_oxygen_preview() {
2654 2654
 			$result = false;
2655
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
2655
+			if (!empty($_REQUEST['ct_builder']) || (!empty($_REQUEST['action']) && (substr($_REQUEST['action'], 0, 11) === "oxy_render_" || substr($_REQUEST['action'], 0, 10) === "ct_render_"))) {
2656 2656
 				$result = true;
2657 2657
 			}
2658 2658
 
@@ -2667,21 +2667,21 @@  discard block
 block discarded – undo
2667 2667
 		 */
2668 2668
 		public function is_preview() {
2669 2669
 			$preview = false;
2670
-			if ( $this->is_divi_preview() ) {
2670
+			if ($this->is_divi_preview()) {
2671 2671
 				$preview = true;
2672
-			} elseif ( $this->is_elementor_preview() ) {
2672
+			} elseif ($this->is_elementor_preview()) {
2673 2673
 				$preview = true;
2674
-			} elseif ( $this->is_beaver_preview() ) {
2674
+			} elseif ($this->is_beaver_preview()) {
2675 2675
 				$preview = true;
2676
-			} elseif ( $this->is_siteorigin_preview() ) {
2676
+			} elseif ($this->is_siteorigin_preview()) {
2677 2677
 				$preview = true;
2678
-			} elseif ( $this->is_cornerstone_preview() ) {
2678
+			} elseif ($this->is_cornerstone_preview()) {
2679 2679
 				$preview = true;
2680
-			} elseif ( $this->is_fusion_preview() ) {
2680
+			} elseif ($this->is_fusion_preview()) {
2681 2681
 				$preview = true;
2682
-			} elseif ( $this->is_oxygen_preview() ) {
2682
+			} elseif ($this->is_oxygen_preview()) {
2683 2683
 				$preview = true;
2684
-			} elseif( $this->is_block_content_call() ) {
2684
+			} elseif ($this->is_block_content_call()) {
2685 2685
 				$preview = true;
2686 2686
 			}
2687 2687
 
@@ -2696,34 +2696,34 @@  discard block
 block discarded – undo
2696 2696
 		 *
2697 2697
 		 * @return string
2698 2698
 		 */
2699
-		public function output_title( $args, $instance = array() ) {
2699
+		public function output_title($args, $instance = array()) {
2700 2700
 			$output = '';
2701
-			if ( ! empty( $instance['title'] ) ) {
2701
+			if (!empty($instance['title'])) {
2702 2702
 				/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
2703
-				$title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
2703
+				$title = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);
2704 2704
 
2705
-				if(empty($instance['widget_title_tag'])){
2705
+				if (empty($instance['widget_title_tag'])) {
2706 2706
 					$output = $args['before_title'] . $title . $args['after_title'];
2707
-				}else{
2708
-					$title_tag = esc_attr( $instance['widget_title_tag'] );
2707
+				} else {
2708
+					$title_tag = esc_attr($instance['widget_title_tag']);
2709 2709
 
2710 2710
 					// classes
2711 2711
 					$title_classes = array();
2712
-					$title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
2713
-					$title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
2714
-					$title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
2715
-					$title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
2716
-					$title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
2717
-					$title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
2718
-					$title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
2719
-					$title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
2720
-					$title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
2721
-					$title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
2722
-					$title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
2723
-					$title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
2724
-					$title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
2725
-
2726
-					$class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
2712
+					$title_classes[] = !empty($instance['widget_title_size_class']) ? sanitize_html_class($instance['widget_title_size_class']) : '';
2713
+					$title_classes[] = !empty($instance['widget_title_align_class']) ? sanitize_html_class($instance['widget_title_align_class']) : '';
2714
+					$title_classes[] = !empty($instance['widget_title_color_class']) ? "text-" . sanitize_html_class($instance['widget_title_color_class']) : '';
2715
+					$title_classes[] = !empty($instance['widget_title_border_class']) ? sanitize_html_class($instance['widget_title_border_class']) : '';
2716
+					$title_classes[] = !empty($instance['widget_title_border_color_class']) ? "border-" . sanitize_html_class($instance['widget_title_border_color_class']) : '';
2717
+					$title_classes[] = !empty($instance['widget_title_mt_class']) ? "mt-" . absint($instance['widget_title_mt_class']) : '';
2718
+					$title_classes[] = !empty($instance['widget_title_mr_class']) ? "mr-" . absint($instance['widget_title_mr_class']) : '';
2719
+					$title_classes[] = !empty($instance['widget_title_mb_class']) ? "mb-" . absint($instance['widget_title_mb_class']) : '';
2720
+					$title_classes[] = !empty($instance['widget_title_ml_class']) ? "ml-" . absint($instance['widget_title_ml_class']) : '';
2721
+					$title_classes[] = !empty($instance['widget_title_pt_class']) ? "pt-" . absint($instance['widget_title_pt_class']) : '';
2722
+					$title_classes[] = !empty($instance['widget_title_pr_class']) ? "pr-" . absint($instance['widget_title_pr_class']) : '';
2723
+					$title_classes[] = !empty($instance['widget_title_pb_class']) ? "pb-" . absint($instance['widget_title_pb_class']) : '';
2724
+					$title_classes[] = !empty($instance['widget_title_pl_class']) ? "pl-" . absint($instance['widget_title_pl_class']) : '';
2725
+
2726
+					$class = !empty($title_classes) ? implode(" ", $title_classes) : '';
2727 2727
 					$output = "<$title_tag class='$class' >$title</$title_tag>";
2728 2728
 				}
2729 2729
 
@@ -2737,7 +2737,7 @@  discard block
 block discarded – undo
2737 2737
 		 *
2738 2738
 		 * @param array $instance The widget options.
2739 2739
 		 */
2740
-		public function form( $instance ) {
2740
+		public function form($instance) {
2741 2741
 
2742 2742
 			// set widget instance
2743 2743
 			$this->instance = $instance;
@@ -2745,20 +2745,20 @@  discard block
 block discarded – undo
2745 2745
 			// set it as a SD widget
2746 2746
 			echo $this->widget_advanced_toggle();
2747 2747
 
2748
-			echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
2748
+			echo "<p>" . esc_attr($this->options['widget_ops']['description']) . "</p>";
2749 2749
 			$arguments_raw = $this->get_arguments();
2750 2750
 
2751
-			if ( is_array( $arguments_raw ) ) {
2751
+			if (is_array($arguments_raw)) {
2752 2752
 
2753
-				$arguments = $this->group_arguments( $arguments_raw );
2753
+				$arguments = $this->group_arguments($arguments_raw);
2754 2754
 
2755 2755
 				// Do we have sections?
2756 2756
 				$has_sections = $arguments == $arguments_raw ? false : true;
2757 2757
 
2758 2758
 
2759
-				if ( $has_sections ) {
2759
+				if ($has_sections) {
2760 2760
 					$panel_count = 0;
2761
-					foreach ( $arguments as $key => $args ) {
2761
+					foreach ($arguments as $key => $args) {
2762 2762
 
2763 2763
 						?>
2764 2764
 						<script>
@@ -2768,26 +2768,26 @@  discard block
 block discarded – undo
2768 2768
 
2769 2769
 						$hide       = $panel_count ? ' style="display:none;" ' : '';
2770 2770
 						$icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
2771
-						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>";
2772
-						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
2771
+						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>";
2772
+						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes($key) . "' $hide>";
2773 2773
 
2774
-						foreach ( $args as $k => $a ) {
2774
+						foreach ($args as $k => $a) {
2775 2775
 
2776 2776
 							$this->widget_inputs_row_start($k, $a);
2777
-							$this->widget_inputs( $a, $instance );
2777
+							$this->widget_inputs($a, $instance);
2778 2778
 							$this->widget_inputs_row_end($k, $a);
2779 2779
 
2780 2780
 						}
2781 2781
 
2782 2782
 						echo "</div>";
2783 2783
 
2784
-						$panel_count ++;
2784
+						$panel_count++;
2785 2785
 
2786 2786
 					}
2787 2787
 				} else {
2788
-					foreach ( $arguments as $key => $args ) {
2788
+					foreach ($arguments as $key => $args) {
2789 2789
 						$this->widget_inputs_row_start($key, $args);
2790
-						$this->widget_inputs( $args, $instance );
2790
+						$this->widget_inputs($args, $instance);
2791 2791
 						$this->widget_inputs_row_end($key, $args);
2792 2792
 					}
2793 2793
 				}
@@ -2795,33 +2795,33 @@  discard block
 block discarded – undo
2795 2795
 			}
2796 2796
 		}
2797 2797
 
2798
-		public function widget_inputs_row_start($key, $args){
2799
-			if(!empty($args['row'])){
2798
+		public function widget_inputs_row_start($key, $args) {
2799
+			if (!empty($args['row'])) {
2800 2800
 				// maybe open
2801
-				if(!empty($args['row']['open'])){
2801
+				if (!empty($args['row']['open'])) {
2802 2802
 					?>
2803
-					<div class='bsui sd-argument ' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php if ( !empty($args['row']['element_require'])) {
2804
-						echo $this->convert_element_require( $args['row']['element_require'] );
2803
+					<div class='bsui sd-argument ' data-argument='<?php echo esc_attr($args['row']['key']); ?>' data-element_require='<?php if (!empty($args['row']['element_require'])) {
2804
+						echo $this->convert_element_require($args['row']['element_require']);
2805 2805
 					} ?>'>
2806
-					<?php if(!empty($args['row']['title'])){ ?>
2807
-					<label class="mb-0 "><?php echo esc_attr( $args['row']['title'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label>
2806
+					<?php if (!empty($args['row']['title'])) { ?>
2807
+					<label class="mb-0 "><?php echo esc_attr($args['row']['title']); ?><?php echo $this->widget_field_desc($args['row']); ?></label>
2808 2808
 					<?php }?>
2809
-					<div class='row <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>'>
2809
+					<div class='row <?php if (!empty($args['row']['class'])) { echo esc_attr($args['row']['class']); } ?>'>
2810 2810
 					<div class='col pr-2'>
2811 2811
 					<?php
2812
-				}elseif(!empty($args['row']['close'])){
2812
+				}elseif (!empty($args['row']['close'])) {
2813 2813
 					echo "<div class='col pl-0'>";
2814
-				}else{
2814
+				} else {
2815 2815
 					echo "<div class='col pl-0 pr-2'>";
2816 2816
 				}
2817 2817
 			}
2818 2818
 		}
2819 2819
 
2820
-		public function widget_inputs_row_end($key, $args){
2820
+		public function widget_inputs_row_end($key, $args) {
2821 2821
 
2822
-			if(!empty($args['row'])){
2822
+			if (!empty($args['row'])) {
2823 2823
 				// maybe close
2824
-				if(!empty($args['row']['close'])){
2824
+				if (!empty($args['row']['close'])) {
2825 2825
 					echo "</div></div>";
2826 2826
 				}
2827 2827
 
@@ -2837,7 +2837,7 @@  discard block
 block discarded – undo
2837 2837
 		public function widget_advanced_toggle() {
2838 2838
 
2839 2839
 			$output = '';
2840
-			if ( $this->block_show_advanced() ) {
2840
+			if ($this->block_show_advanced()) {
2841 2841
 				$val = 1;
2842 2842
 			} else {
2843 2843
 				$val = 0;
@@ -2857,14 +2857,14 @@  discard block
 block discarded – undo
2857 2857
 		 *
2858 2858
 		 * @return string $output
2859 2859
 		 */
2860
-		public function convert_element_require( $input ) {
2860
+		public function convert_element_require($input) {
2861 2861
 
2862
-			$input = str_replace( "'", '"', $input );// we only want double quotes
2862
+			$input = str_replace("'", '"', $input); // we only want double quotes
2863 2863
 
2864
-			$output = esc_attr( str_replace( array( "[%", "%]" ), array(
2864
+			$output = esc_attr(str_replace(array("[%", "%]"), array(
2865 2865
 				"jQuery(form).find('[data-argument=\"",
2866 2866
 				"\"]').find('input,select,textarea').val()"
2867
-			), $input ) );
2867
+			), $input));
2868 2868
 
2869 2869
 			return $output;
2870 2870
 		}
@@ -2875,56 +2875,56 @@  discard block
 block discarded – undo
2875 2875
 		 * @param $args
2876 2876
 		 * @param $instance
2877 2877
 		 */
2878
-		public function widget_inputs( $args, $instance ) {
2878
+		public function widget_inputs($args, $instance) {
2879 2879
 
2880 2880
 			$class             = "";
2881 2881
 			$element_require   = "";
2882 2882
 			$custom_attributes = "";
2883 2883
 
2884 2884
 			// get value
2885
-			if ( isset( $instance[ $args['name'] ] ) ) {
2886
-				$value = $instance[ $args['name'] ];
2887
-			} elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
2888
-				$value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
2885
+			if (isset($instance[$args['name']])) {
2886
+				$value = $instance[$args['name']];
2887
+			} elseif (!isset($instance[$args['name']]) && !empty($args['default'])) {
2888
+				$value = is_array($args['default']) ? array_map("esc_html", $args['default']) : esc_html($args['default']);
2889 2889
 			} else {
2890 2890
 				$value = '';
2891 2891
 			}
2892 2892
 
2893 2893
 			// get placeholder
2894
-			if ( ! empty( $args['placeholder'] ) ) {
2895
-				$placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
2894
+			if (!empty($args['placeholder'])) {
2895
+				$placeholder = "placeholder='" . esc_html($args['placeholder']) . "'";
2896 2896
 			} else {
2897 2897
 				$placeholder = '';
2898 2898
 			}
2899 2899
 
2900 2900
 			// get if advanced
2901
-			if ( isset( $args['advanced'] ) && $args['advanced'] ) {
2901
+			if (isset($args['advanced']) && $args['advanced']) {
2902 2902
 				$class .= " sd-advanced-setting ";
2903 2903
 			}
2904 2904
 
2905 2905
 			// element_require
2906
-			if ( isset( $args['element_require'] ) && $args['element_require'] ) {
2906
+			if (isset($args['element_require']) && $args['element_require']) {
2907 2907
 				$element_require = $args['element_require'];
2908 2908
 			}
2909 2909
 
2910 2910
 			// custom_attributes
2911
-			if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
2912
-				$custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
2911
+			if (isset($args['custom_attributes']) && $args['custom_attributes']) {
2912
+				$custom_attributes = $this->array_to_attributes($args['custom_attributes'], true);
2913 2913
 			}
2914 2914
 
2915 2915
 
2916 2916
 			// before wrapper
2917 2917
 			?>
2918
-			<p class="sd-argument <?php echo esc_attr( $class ); ?>"
2919
-			data-argument='<?php echo esc_attr( $args['name'] ); ?>'
2920
-			data-element_require='<?php if ( $element_require ) {
2921
-				echo $this->convert_element_require( $element_require );
2918
+			<p class="sd-argument <?php echo esc_attr($class); ?>"
2919
+			data-argument='<?php echo esc_attr($args['name']); ?>'
2920
+			data-element_require='<?php if ($element_require) {
2921
+				echo $this->convert_element_require($element_require);
2922 2922
 			} ?>'
2923 2923
 			>
2924 2924
 			<?php
2925 2925
 
2926 2926
 
2927
-			switch ( $args['type'] ) {
2927
+			switch ($args['type']) {
2928 2928
 				//array('text','password','number','email','tel','url','color')
2929 2929
 				case "text":
2930 2930
 				case "password":
@@ -2935,46 +2935,46 @@  discard block
 block discarded – undo
2935 2935
 				case "color":
2936 2936
 					?>
2937 2937
 					<label
2938
-						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>
2938
+						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>
2939 2939
 					<input <?php echo $placeholder; ?> class="widefat"
2940 2940
 						<?php echo $custom_attributes; ?>
2941
-						                               id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
2942
-						                               name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>"
2943
-						                               type="<?php echo esc_attr( $args['type'] ); ?>"
2944
-						                               value="<?php echo esc_attr( $value ); ?>">
2941
+						                               id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"
2942
+						                               name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>"
2943
+						                               type="<?php echo esc_attr($args['type']); ?>"
2944
+						                               value="<?php echo esc_attr($value); ?>">
2945 2945
 					<?php
2946 2946
 
2947 2947
 					break;
2948 2948
 				case "select":
2949
-					$multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
2950
-					if ( $multiple ) {
2951
-						if ( empty( $value ) ) {
2949
+					$multiple = isset($args['multiple']) && $args['multiple'] ? true : false;
2950
+					if ($multiple) {
2951
+						if (empty($value)) {
2952 2952
 							$value = array();
2953 2953
 						}
2954 2954
 					}
2955 2955
 					?>
2956 2956
 					<label
2957
-						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>
2957
+						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>
2958 2958
 					<select <?php echo $placeholder; ?> class="widefat"
2959 2959
 						<?php echo $custom_attributes; ?>
2960
-						                                id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
2961
-						                                name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) );
2962
-						                                if ( $multiple ) {
2960
+						                                id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"
2961
+						                                name="<?php echo esc_attr($this->get_field_name($args['name']));
2962
+						                                if ($multiple) {
2963 2963
 							                                echo "[]";
2964 2964
 						                                } ?>"
2965
-						<?php if ( $multiple ) {
2965
+						<?php if ($multiple) {
2966 2966
 							echo "multiple";
2967 2967
 						} //@todo not implemented yet due to gutenberg not supporting it
2968 2968
 						?>
2969 2969
 					>
2970 2970
 						<?php
2971 2971
 
2972
-						if ( ! empty( $args['options'] ) ) {
2973
-							foreach ( $args['options'] as $val => $label ) {
2974
-								if ( $multiple ) {
2975
-									$selected = in_array( $val, $value ) ? 'selected="selected"' : '';
2972
+						if (!empty($args['options'])) {
2973
+							foreach ($args['options'] as $val => $label) {
2974
+								if ($multiple) {
2975
+									$selected = in_array($val, $value) ? 'selected="selected"' : '';
2976 2976
 								} else {
2977
-									$selected = selected( $value, $val, false );
2977
+									$selected = selected($value, $val, false);
2978 2978
 								}
2979 2979
 								echo "<option value='$val' " . $selected . ">$label</option>";
2980 2980
 							}
@@ -2986,32 +2986,32 @@  discard block
 block discarded – undo
2986 2986
 				case "checkbox":
2987 2987
 					?>
2988 2988
 					<input <?php echo $placeholder; ?>
2989
-						<?php checked( 1, $value, true ) ?>
2989
+						<?php checked(1, $value, true) ?>
2990 2990
 						<?php echo $custom_attributes; ?>
2991
-						class="widefat" id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
2992
-						name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="checkbox"
2991
+						class="widefat" id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"
2992
+						name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="checkbox"
2993 2993
 						value="1">
2994 2994
 					<label
2995
-						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>
2995
+						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>
2996 2996
 					<?php
2997 2997
 					break;
2998 2998
 				case "textarea":
2999 2999
 					?>
3000 3000
 					<label
3001
-						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>
3001
+						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>
3002 3002
 					<textarea <?php echo $placeholder; ?> class="widefat"
3003 3003
 						<?php echo $custom_attributes; ?>
3004
-						                                  id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
3005
-						                                  name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>"
3006
-					><?php echo esc_attr( $value ); ?></textarea>
3004
+						                                  id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"
3005
+						                                  name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>"
3006
+					><?php echo esc_attr($value); ?></textarea>
3007 3007
 					<?php
3008 3008
 
3009 3009
 					break;
3010 3010
 				case "hidden":
3011 3011
 					?>
3012
-					<input id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
3013
-					       name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="hidden"
3014
-					       value="<?php echo esc_attr( $value ); ?>">
3012
+					<input id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"
3013
+					       name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="hidden"
3014
+					       value="<?php echo esc_attr($value); ?>">
3015 3015
 					<?php
3016 3016
 					break;
3017 3017
 				default:
@@ -3026,15 +3026,15 @@  discard block
 block discarded – undo
3026 3026
 
3027 3027
 		}
3028 3028
 
3029
-		public function get_widget_icon($icon = 'box-top', $title = ''){
3030
-			if($icon=='box-top'){
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.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>';
3032
-			}elseif($icon=='box-right'){
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.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>';
3034
-			}elseif($icon=='box-bottom'){
3035
-				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>';
3036
-			}elseif($icon=='box-left'){
3037
-				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>';
3029
+		public function get_widget_icon($icon = 'box-top', $title = '') {
3030
+			if ($icon == 'box-top') {
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.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>';
3032
+			}elseif ($icon == 'box-right') {
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.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>';
3034
+			}elseif ($icon == 'box-bottom') {
3035
+				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>';
3036
+			}elseif ($icon == 'box-left') {
3037
+				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>';
3038 3038
 			}
3039 3039
 		}
3040 3040
 
@@ -3046,14 +3046,14 @@  discard block
 block discarded – undo
3046 3046
 		 * @return string
3047 3047
 		 * @todo, need to make its own tooltip script
3048 3048
 		 */
3049
-		public function widget_field_desc( $args ) {
3049
+		public function widget_field_desc($args) {
3050 3050
 
3051 3051
 			$description = '';
3052
-			if ( isset( $args['desc'] ) && $args['desc'] ) {
3053
-				if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
3054
-					$description = $this->desc_tip( $args['desc'] );
3052
+			if (isset($args['desc']) && $args['desc']) {
3053
+				if (isset($args['desc_tip']) && $args['desc_tip']) {
3054
+					$description = $this->desc_tip($args['desc']);
3055 3055
 				} else {
3056
-					$description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
3056
+					$description = '<span class="description">' . wp_kses_post($args['desc']) . '</span>';
3057 3057
 				}
3058 3058
 			}
3059 3059
 
@@ -3067,12 +3067,12 @@  discard block
 block discarded – undo
3067 3067
 		 *
3068 3068
 		 * @return string
3069 3069
 		 */
3070
-		public function widget_field_title( $args ) {
3070
+		public function widget_field_title($args) {
3071 3071
 
3072 3072
 			$title = '';
3073
-			if ( isset( $args['title'] ) && $args['title'] ) {
3074
-				if ( isset( $args['icon'] ) && $args['icon'] ) {
3075
-					$title = self::get_widget_icon( $args['icon'], $args['title']  );
3073
+			if (isset($args['title']) && $args['title']) {
3074
+				if (isset($args['icon']) && $args['icon']) {
3075
+					$title = self::get_widget_icon($args['icon'], $args['title']);
3076 3076
 				} else {
3077 3077
 					$title = esc_attr($args['title']);
3078 3078
 				}
@@ -3089,11 +3089,11 @@  discard block
 block discarded – undo
3089 3089
 		 *
3090 3090
 		 * @return string
3091 3091
 		 */
3092
-		function desc_tip( $tip, $allow_html = false ) {
3093
-			if ( $allow_html ) {
3094
-				$tip = $this->sanitize_tooltip( $tip );
3092
+		function desc_tip($tip, $allow_html = false) {
3093
+			if ($allow_html) {
3094
+				$tip = $this->sanitize_tooltip($tip);
3095 3095
 			} else {
3096
-				$tip = esc_attr( $tip );
3096
+				$tip = esc_attr($tip);
3097 3097
 			}
3098 3098
 
3099 3099
 			return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
@@ -3106,8 +3106,8 @@  discard block
 block discarded – undo
3106 3106
 		 *
3107 3107
 		 * @return string
3108 3108
 		 */
3109
-		public function sanitize_tooltip( $var ) {
3110
-			return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
3109
+		public function sanitize_tooltip($var) {
3110
+			return htmlspecialchars(wp_kses(html_entity_decode($var), array(
3111 3111
 				'br'     => array(),
3112 3112
 				'em'     => array(),
3113 3113
 				'strong' => array(),
@@ -3117,7 +3117,7 @@  discard block
 block discarded – undo
3117 3117
 				'li'     => array(),
3118 3118
 				'ol'     => array(),
3119 3119
 				'p'      => array(),
3120
-			) ) );
3120
+			)));
3121 3121
 		}
3122 3122
 
3123 3123
 		/**
@@ -3129,23 +3129,23 @@  discard block
 block discarded – undo
3129 3129
 		 * @return array
3130 3130
 		 * @todo we should add some sanitation here.
3131 3131
 		 */
3132
-		public function update( $new_instance, $old_instance ) {
3132
+		public function update($new_instance, $old_instance) {
3133 3133
 
3134 3134
 			//save the widget
3135
-			$instance = array_merge( (array) $old_instance, (array) $new_instance );
3135
+			$instance = array_merge((array) $old_instance, (array) $new_instance);
3136 3136
 
3137 3137
 			// set widget instance
3138 3138
 			$this->instance = $instance;
3139 3139
 
3140
-			if ( empty( $this->arguments ) ) {
3140
+			if (empty($this->arguments)) {
3141 3141
 				$this->get_arguments();
3142 3142
 			}
3143 3143
 
3144 3144
 			// check for checkboxes
3145
-			if ( ! empty( $this->arguments ) ) {
3146
-				foreach ( $this->arguments as $argument ) {
3147
-					if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
3148
-						$instance[ $argument['name'] ] = '0';
3145
+			if (!empty($this->arguments)) {
3146
+				foreach ($this->arguments as $argument) {
3147
+					if (isset($argument['type']) && $argument['type'] == 'checkbox' && !isset($new_instance[$argument['name']])) {
3148
+						$instance[$argument['name']] = '0';
3149 3149
 					}
3150 3150
 				}
3151 3151
 			}
@@ -3163,7 +3163,7 @@  discard block
 block discarded – undo
3163 3163
 		 */
3164 3164
 		public function is_block_content_call() {
3165 3165
 			$result = false;
3166
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3166
+			if (wp_doing_ajax() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'super_duper_output_shortcode') {
3167 3167
 				$result = true;
3168 3168
 			}
3169 3169
 
@@ -3176,9 +3176,9 @@  discard block
 block discarded – undo
3176 3176
 		 * @since 1.0.20
3177 3177
 		 * @return string
3178 3178
 		 */
3179
-		public function get_instance_hash(){
3180
-			$instance_string = $this->base_id.serialize($this->instance);
3181
-			return hash('crc32b',$instance_string);
3179
+		public function get_instance_hash() {
3180
+			$instance_string = $this->base_id . serialize($this->instance);
3181
+			return hash('crc32b', $instance_string);
3182 3182
 		}
3183 3183
 
3184 3184
 		/**
@@ -3189,14 +3189,14 @@  discard block
 block discarded – undo
3189 3189
 		 * @since 1.0.20
3190 3190
 		 * @return string
3191 3191
 		 */
3192
-		public function get_instance_style($rules = array()){
3192
+		public function get_instance_style($rules = array()) {
3193 3193
 			$css = '';
3194 3194
 
3195
-			if(!empty($rules)){
3195
+			if (!empty($rules)) {
3196 3196
 				$rules = array_unique($rules);
3197 3197
 				$instance_hash = $this->get_instance_hash();
3198 3198
 				$css .= "<style>";
3199
-				foreach($rules as $rule){
3199
+				foreach ($rules as $rule) {
3200 3200
 					$css .= ".sdel-$instance_hash $rule";
3201 3201
 				}
3202 3202
 				$css .= "</style>";
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.