Passed
Push — master ( 760759...814197 )
by Brian
04:26
created
includes/admin/views/wizard-gateways.php 2 patches
Spacing   +17 added lines, -17 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
 
@@ -12,54 +12,54 @@  discard block
 block discarded – undo
12 12
 
13 13
     <form method="post" class="text-center card-body">
14 14
         <div class="gp-wizard-payments">
15
-            <h2 class="gd-settings-title h3 "><?php _e( 'Gateway Setup', 'invoicing' ); ?></h2>
16
-            <p><?php _e( 'Below are a few gateways that can be setup in a few seconds.', 'invoicing' ); ?>
15
+            <h2 class="gd-settings-title h3 "><?php _e('Gateway Setup', 'invoicing'); ?></h2>
16
+            <p><?php _e('Below are a few gateways that can be setup in a few seconds.', 'invoicing'); ?>
17 17
                 <br>
18
-                <?php _e( 'We have 20+ Gateways that can be setup later.', 'invoicing' ); ?>
18
+                <?php _e('We have 20+ Gateways that can be setup later.', 'invoicing'); ?>
19 19
             </p>
20 20
 
21 21
             <ul class="list-group">
22 22
 
23 23
 				<li class="list-group-item d-flex justify-content-between align-items-center">
24
-				    <span class="mr-auto"><img src="<?php echo esc_url( WPINV_PLUGIN_URL . 'assets/images/stripe-verified.svg' );?>" class="ml-n2" alt="Stripe"></span>
25
-				    <?php if ( false === wpinv_get_option( 'stripe_live_connect_account_id' ) ) : ?>
24
+				    <span class="mr-auto"><img src="<?php echo esc_url(WPINV_PLUGIN_URL . 'assets/images/stripe-verified.svg'); ?>" class="ml-n2" alt="Stripe"></span>
25
+				    <?php if (false === wpinv_get_option('stripe_live_connect_account_id')) : ?>
26 26
                         <a href="<?php echo wp_nonce_url(
27 27
                             add_query_arg(
28 28
                                 array(
29 29
                                     'getpaid-admin-action' => 'connect_gateway',
30 30
                                     'plugin'               => 'stripe',
31
-                                    'redirect'             => urlencode( add_query_arg( 'step', 'payments' ) ),
31
+                                    'redirect'             => urlencode(add_query_arg('step', 'payments')),
32 32
                                 ),
33 33
                                 admin_url()
34 34
                             ),
35 35
                             'getpaid-nonce',
36 36
                             'getpaid-nonce'
37 37
                         ); ?>"
38
-                        class="btn btn-sm btn-outline-primary"><?php _e( 'Connect', 'invoicing' ); ?></a>
38
+                        class="btn btn-sm btn-outline-primary"><?php _e('Connect', 'invoicing'); ?></a>
39 39
                     <?php else: ?>
40
-                        <span class="btn btn-sm btn-success"><?php _e( 'Connected', 'invoicing' ); ?></span>
40
+                        <span class="btn btn-sm btn-success"><?php _e('Connected', 'invoicing'); ?></span>
41 41
                     <?php endif; ?>
42 42
 				</li>
43 43
 
44 44
 				<li class="list-group-item">
45 45
                     <div class="d-flex justify-content-between align-items-center">
46 46
                         <span class="mr-auto">
47
-                            <img src="<?php echo esc_url( WPINV_PLUGIN_URL . 'assets/images/pp-logo-150px.webp' );?>" class="" alt="PayPal" height="25">
47
+                            <img src="<?php echo esc_url(WPINV_PLUGIN_URL . 'assets/images/pp-logo-150px.webp'); ?>" class="" alt="PayPal" height="25">
48 48
                         </span>
49 49
                         <a
50 50
                             href="#"
51 51
                             onclick="jQuery('.getpaid-setup-paypal-input').toggleClass('d-none'); return false;"
52
-                            class="getpaid-setup-paypal btn btn-sm btn-outline-primary"><?php _e( 'Set-up', 'invoicing' ); ?></a>
52
+                            class="getpaid-setup-paypal btn btn-sm btn-outline-primary"><?php _e('Set-up', 'invoicing'); ?></a>
53 53
                     </div>
54 54
                     <div class="mt-4 getpaid-setup-paypal-input d-none">
55
-                        <input type="text" placeholder="<?php esc_attr_e( 'PayPal Email', 'invoicing' ); ?>" name="paypal-email" class="form-control" value="<?php echo esc_attr( wpinv_get_option( 'paypal_email' ) ); ?>">
55
+                        <input type="text" placeholder="<?php esc_attr_e('PayPal Email', 'invoicing'); ?>" name="paypal-email" class="form-control" value="<?php echo esc_attr(wpinv_get_option('paypal_email')); ?>">
56 56
                     </div>
57 57
                 </li>
58 58
 
59 59
 				<li class="list-group-item d-flex justify-content-between align-items-center">
60
-				    <span class="mr-auto"><?php _e( 'Test Getway', 'invoicing' ); ?></span>
60
+				    <span class="mr-auto"><?php _e('Test Getway', 'invoicing'); ?></span>
61 61
 					<div class="custom-control custom-switch">
62
-						<input type="checkbox" name="enable-manual-gateway" class="custom-control-input" id="enable-manual-gateway" <?php checked( wpinv_is_gateway_active( 'manual' ) ); ?>>
62
+						<input type="checkbox" name="enable-manual-gateway" class="custom-control-input" id="enable-manual-gateway" <?php checked(wpinv_is_gateway_active('manual')); ?>>
63 63
 						<label class="custom-control-label" for="enable-manual-gateway"></label>
64 64
 					</div>
65 65
 				</li>
@@ -68,10 +68,10 @@  discard block
 block discarded – undo
68 68
         </div>
69 69
 
70 70
         <p class="gp-setup-actions step text-center mt-4">
71
-			<input type="submit" class="btn btn-primary" value="<?php esc_attr_e( 'Continue', 'invoicing' ); ?>" />
71
+			<input type="submit" class="btn btn-primary" value="<?php esc_attr_e('Continue', 'invoicing'); ?>" />
72 72
 		</p>
73 73
         
74
-        <?php getpaid_hidden_field( 'save_step', 1 ); ?>
75
-        <?php wp_nonce_field( 'getpaid-setup-wizard', 'getpaid-setup-wizard' ); ?>
74
+        <?php getpaid_hidden_field('save_step', 1); ?>
75
+        <?php wp_nonce_field('getpaid-setup-wizard', 'getpaid-setup-wizard'); ?>
76 76
     </form>
77 77
 </div>
Please login to merge, or discard this patch.
Braces   +5 added lines, -2 removed lines patch added patch discarded remove patch
@@ -36,8 +36,11 @@
 block discarded – undo
36 36
                             'getpaid-nonce'
37 37
                         ); ?>"
38 38
                         class="btn btn-sm btn-outline-primary"><?php _e( 'Connect', 'invoicing' ); ?></a>
39
-                    <?php else: ?>
40
-                        <span class="btn btn-sm btn-success"><?php _e( 'Connected', 'invoicing' ); ?></span>
39
+                    <?php else {
40
+    : ?>
41
+                        <span class="btn btn-sm btn-success"><?php _e( 'Connected', 'invoicing' );
42
+}
43
+?></span>
41 44
                     <?php endif; ?>
42 45
 				</li>
43 46
 
Please login to merge, or discard this patch.
includes/admin/register-settings.php 2 patches
Indentation   +301 added lines, -301 removed lines patch added patch discarded remove patch
@@ -195,13 +195,13 @@  discard block
 block discarded – undo
195 195
     $name       = isset( $option['name'] ) ? $option['name'] : '';
196 196
     $cb         = "wpinv_{$option['type']}_callback";
197 197
     $section    = "wpinv_settings_{$tab}_$section";
198
-	$is_wizzard = is_admin() && isset( $_GET['page'] ) && 'gp-setup' == $_GET['page'];
198
+    $is_wizzard = is_admin() && isset( $_GET['page'] ) && 'gp-setup' == $_GET['page'];
199 199
 
200
-	if ( isset( $option['desc'] ) && ( ! $is_wizzard && ! empty( $option['help-tip'] ) ) ) {
201
-		$tip   = wpinv_clean( $option['desc'] );
202
-		$name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>";
203
-		unset( $option['desc'] );
204
-	}
200
+    if ( isset( $option['desc'] ) && ( ! $is_wizzard && ! empty( $option['help-tip'] ) ) ) {
201
+        $tip   = wpinv_clean( $option['desc'] );
202
+        $name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>";
203
+        unset( $option['desc'] );
204
+    }
205 205
 
206 206
     // Loop through all tabs.
207 207
     add_settings_field(
@@ -228,9 +228,9 @@  discard block
 block discarded – undo
228 228
             'faux'        => isset( $option['faux'] )        ? $option['faux']        : false,
229 229
             'onchange'    => isset( $option['onchange'] )   ? $option['onchange']     : '',
230 230
             'custom'      => isset( $option['custom'] )     ? $option['custom']       : '',
231
-			'default_content' => isset( $option['default_content'] )     ? $option['default_content']       : '',
232
-			'class'       => isset( $option['class'] )     ? $option['class']         : '',
233
-			'style'       => isset( $option['style'] )     ? $option['style']         : '',
231
+            'default_content' => isset( $option['default_content'] )     ? $option['default_content']       : '',
232
+            'class'       => isset( $option['class'] )     ? $option['class']         : '',
233
+            'style'       => isset( $option['style'] )     ? $option['style']         : '',
234 234
             'cols'        => isset( $option['cols'] ) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50,
235 235
             'rows'        => isset( $option['rows'] ) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5,
236 236
         )
@@ -244,7 +244,7 @@  discard block
 block discarded – undo
244 244
  * @return array
245 245
  */
246 246
 function wpinv_get_registered_settings() {
247
-	return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) );
247
+    return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) );
248 248
 }
249 249
 
250 250
 /**
@@ -263,18 +263,18 @@  discard block
 block discarded – undo
263 263
  */
264 264
 function wpinv_settings_sanitize( $input = array() ) {
265 265
 
266
-	$wpinv_options = wpinv_get_options();
267
-	$raw_referrer  = wp_get_raw_referer();
266
+    $wpinv_options = wpinv_get_options();
267
+    $raw_referrer  = wp_get_raw_referer();
268 268
 
269 269
     if ( empty( $raw_referrer ) ) {
270
-		return array_merge( $wpinv_options, $input );
270
+        return array_merge( $wpinv_options, $input );
271 271
     }
272 272
 
273 273
     wp_parse_str( $raw_referrer, $referrer );
274 274
 
275
-	if ( in_array( 'gp-setup', $referrer ) ) {
276
-		return array_merge( $wpinv_options, $input );
277
-	}
275
+    if ( in_array( 'gp-setup', $referrer ) ) {
276
+        return array_merge( $wpinv_options, $input );
277
+    }
278 278
 
279 279
     $settings = wpinv_get_registered_settings();
280 280
     $tab      = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general';
@@ -296,10 +296,10 @@  discard block
 block discarded – undo
296 296
         }
297 297
 
298 298
         // General filter
299
-		$input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key );
299
+        $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key );
300 300
 
301
-		// Key specific filter.
302
-		$input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] );
301
+        // Key specific filter.
302
+        $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] );
303 303
     }
304 304
 
305 305
     // Loop through the whitelist and unset any that are empty for the tab being saved
@@ -342,14 +342,14 @@  discard block
 block discarded – undo
342 342
 
343 343
     foreach ( $new_rates as $rate ) {
344 344
 
345
-		$rate['rate']    = wpinv_sanitize_amount( $rate['rate'] );
346
-		$rate['name']    = sanitize_text_field( $rate['name'] );
347
-		$rate['state']   = sanitize_text_field( $rate['state'] );
348
-		$rate['country'] = sanitize_text_field( $rate['country'] );
349
-		$rate['global']  = empty( $rate['state'] );
350
-		$tax_rates[]     = $rate;
345
+        $rate['rate']    = wpinv_sanitize_amount( $rate['rate'] );
346
+        $rate['name']    = sanitize_text_field( $rate['name'] );
347
+        $rate['state']   = sanitize_text_field( $rate['state'] );
348
+        $rate['country'] = sanitize_text_field( $rate['country'] );
349
+        $rate['global']  = empty( $rate['state'] );
350
+        $tax_rates[]     = $rate;
351 351
 
352
-	}
352
+    }
353 353
 
354 354
     update_option( 'wpinv_tax_rates', $tax_rates );
355 355
 
@@ -362,11 +362,11 @@  discard block
 block discarded – undo
362 362
     $tabs['general']  = __( 'General', 'invoicing' );
363 363
     $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' );
364 364
     $tabs['taxes']    = __( 'Taxes', 'invoicing' );
365
-	$tabs['emails']   = __( 'Emails', 'invoicing' );
365
+    $tabs['emails']   = __( 'Emails', 'invoicing' );
366 366
 
367
-	if ( count( getpaid_get_integration_settings() ) > 0 ) {
368
-		$tabs['integrations'] = __( 'Integrations', 'invoicing' );
369
-	}
367
+    if ( count( getpaid_get_integration_settings() ) > 0 ) {
368
+        $tabs['integrations'] = __( 'Integrations', 'invoicing' );
369
+    }
370 370
 
371 371
     $tabs['privacy']  = __( 'Privacy', 'invoicing' );
372 372
     $tabs['misc']     = __( 'Misc', 'invoicing' );
@@ -405,14 +405,14 @@  discard block
 block discarded – undo
405 405
         ) ),
406 406
         'taxes' => apply_filters( 'wpinv_settings_sections_taxes', array(
407 407
             'main'  => __( 'Tax Settings', 'invoicing' ),
408
-			'rates' => __( 'Tax Rates', 'invoicing' ),
409
-			'vat'   => __( 'EU VAT Settings', 'invoicing' )
408
+            'rates' => __( 'Tax Rates', 'invoicing' ),
409
+            'vat'   => __( 'EU VAT Settings', 'invoicing' )
410 410
         ) ),
411 411
         'emails' => apply_filters( 'wpinv_settings_sections_emails', array(
412 412
             'main' => __( 'Email Settings', 'invoicing' ),
413
-		) ),
413
+        ) ),
414 414
 
415
-		'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ),
415
+        'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ),
416 416
 
417 417
         'privacy' => apply_filters( 'wpinv_settings_sections_privacy', array(
418 418
             'main' => __( 'Privacy policy', 'invoicing' ),
@@ -432,48 +432,48 @@  discard block
 block discarded – undo
432 432
 }
433 433
 
434 434
 function wpinv_get_pages( $with_slug = false, $default_label = NULL ) {
435
-	$pages_options = array();
435
+    $pages_options = array();
436 436
 
437
-	if( $default_label !== NULL && $default_label !== false ) {
438
-		$pages_options = array( '' => $default_label ); // Blank option
439
-	}
437
+    if( $default_label !== NULL && $default_label !== false ) {
438
+        $pages_options = array( '' => $default_label ); // Blank option
439
+    }
440 440
 
441
-	$pages = get_pages();
442
-	if ( $pages ) {
443
-		foreach ( $pages as $page ) {
444
-			$title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
441
+    $pages = get_pages();
442
+    if ( $pages ) {
443
+        foreach ( $pages as $page ) {
444
+            $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
445 445
             $pages_options[ $page->ID ] = $title;
446
-		}
447
-	}
446
+        }
447
+    }
448 448
 
449
-	return $pages_options;
449
+    return $pages_options;
450 450
 }
451 451
 
452 452
 function wpinv_header_callback( $args ) {
453
-	if ( !empty( $args['desc'] ) ) {
453
+    if ( !empty( $args['desc'] ) ) {
454 454
         echo $args['desc'];
455 455
     }
456 456
 }
457 457
 
458 458
 function wpinv_hidden_callback( $args ) {
459 459
 
460
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
461
-	$value   = wpinv_get_option( $args['id'], $std );
460
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
461
+    $value   = wpinv_get_option( $args['id'], $std );
462 462
 
463
-	if ( isset( $args['set_value'] ) ) {
464
-		$value = $args['set_value'];
465
-	}
463
+    if ( isset( $args['set_value'] ) ) {
464
+        $value = $args['set_value'];
465
+    }
466 466
 
467
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
468
-		$args['readonly'] = true;
469
-		$name  = '';
470
-	} else {
471
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
472
-	}
467
+    if ( isset( $args['faux'] ) && true === $args['faux'] ) {
468
+        $args['readonly'] = true;
469
+        $name  = '';
470
+    } else {
471
+        $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
472
+    }
473 473
 
474
-	$html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />';
474
+    $html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />';
475 475
     
476
-	echo $html;
476
+    echo $html;
477 477
 }
478 478
 
479 479
 /**
@@ -481,12 +481,12 @@  discard block
 block discarded – undo
481 481
  */
482 482
 function wpinv_checkbox_callback( $args ) {
483 483
 
484
-	$std = isset( $args['std'] ) ? $args['std'] : '';
485
-	$std = wpinv_get_option( $args['id'], $std );
486
-	$id  = esc_attr( $args['id'] );
484
+    $std = isset( $args['std'] ) ? $args['std'] : '';
485
+    $std = wpinv_get_option( $args['id'], $std );
486
+    $id  = esc_attr( $args['id'] );
487 487
 
488
-	getpaid_hidden_field( "wpinv_settings[$id]", '0' );
489
-	?>
488
+    getpaid_hidden_field( "wpinv_settings[$id]", '0' );
489
+    ?>
490 490
 		<fieldset>
491 491
 			<label>
492 492
 				<input id="wpinv-settings-<?php echo $id; ?>" name="wpinv_settings[<?php echo $id; ?>]" <?php checked( empty( $std ), false ); ?> value="1" type="checkbox">
@@ -498,75 +498,75 @@  discard block
 block discarded – undo
498 498
 
499 499
 function wpinv_multicheck_callback( $args ) {
500 500
 
501
-	$sanitize_id = wpinv_sanitize_key( $args['id'] );
502
-	$class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
501
+    $sanitize_id = wpinv_sanitize_key( $args['id'] );
502
+    $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
503 503
 
504
-	if ( ! empty( $args['options'] ) ) {
504
+    if ( ! empty( $args['options'] ) ) {
505 505
 
506
-		$std     = isset( $args['std'] ) ? $args['std'] : array();
507
-		$value   = wpinv_get_option( $args['id'], $std );
506
+        $std     = isset( $args['std'] ) ? $args['std'] : array();
507
+        $value   = wpinv_get_option( $args['id'], $std );
508 508
 
509
-		echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">';
509
+        echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">';
510 510
         foreach( $args['options'] as $key => $option ):
511
-			$sanitize_key = wpinv_sanitize_key( $key );
512
-			if ( in_array( $sanitize_key, $value ) ) { 
513
-				$enabled = $sanitize_key;
514
-			} else { 
515
-				$enabled = NULL; 
516
-			}
517
-			echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
518
-			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>';
519
-		endforeach;
520
-		echo '</div>';
521
-		echo '<p class="description">' . $args['desc'] . '</p>';
522
-	}
511
+            $sanitize_key = wpinv_sanitize_key( $key );
512
+            if ( in_array( $sanitize_key, $value ) ) { 
513
+                $enabled = $sanitize_key;
514
+            } else { 
515
+                $enabled = NULL; 
516
+            }
517
+            echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
518
+            echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>';
519
+        endforeach;
520
+        echo '</div>';
521
+        echo '<p class="description">' . $args['desc'] . '</p>';
522
+    }
523 523
 }
524 524
 
525 525
 function wpinv_payment_icons_callback( $args ) {
526 526
     
527 527
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
528
-	$value   = wpinv_get_option( $args['id'], false);
528
+    $value   = wpinv_get_option( $args['id'], false);
529 529
 
530
-	if ( ! empty( $args['options'] ) ) {
531
-		foreach( $args['options'] as $key => $option ) {
530
+    if ( ! empty( $args['options'] ) ) {
531
+        foreach( $args['options'] as $key => $option ) {
532 532
             $sanitize_key = wpinv_sanitize_key( $key );
533 533
             
534
-			if( empty( $value ) ) {
535
-				$enabled = $option;
536
-			} else {
537
-				$enabled = NULL;
538
-			}
539
-
540
-			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
541
-
542
-				echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
543
-
544
-				if ( wpinv_string_is_image_url( $key ) ) {
545
-					echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
546
-				} else {
547
-					$card = strtolower( str_replace( ' ', '', $option ) );
548
-
549
-					if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
550
-						$image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
551
-					} else {
552
-						$image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
553
-						$content_dir = WP_CONTENT_DIR;
554
-
555
-						if ( function_exists( 'wp_normalize_path' ) ) {
556
-							// Replaces backslashes with forward slashes for Windows systems
557
-							$image = wp_normalize_path( $image );
558
-							$content_dir = wp_normalize_path( $content_dir );
559
-						}
560
-
561
-						$image = str_replace( $content_dir, content_url(), $image );
562
-					}
563
-
564
-					echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
565
-				}
566
-			echo $option . '</label>';
567
-		}
568
-		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
569
-	}
534
+            if( empty( $value ) ) {
535
+                $enabled = $option;
536
+            } else {
537
+                $enabled = NULL;
538
+            }
539
+
540
+            echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
541
+
542
+                echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
543
+
544
+                if ( wpinv_string_is_image_url( $key ) ) {
545
+                    echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
546
+                } else {
547
+                    $card = strtolower( str_replace( ' ', '', $option ) );
548
+
549
+                    if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
550
+                        $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
551
+                    } else {
552
+                        $image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
553
+                        $content_dir = WP_CONTENT_DIR;
554
+
555
+                        if ( function_exists( 'wp_normalize_path' ) ) {
556
+                            // Replaces backslashes with forward slashes for Windows systems
557
+                            $image = wp_normalize_path( $image );
558
+                            $content_dir = wp_normalize_path( $content_dir );
559
+                        }
560
+
561
+                        $image = str_replace( $content_dir, content_url(), $image );
562
+                    }
563
+
564
+                    echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
565
+                }
566
+            echo $option . '</label>';
567
+        }
568
+        echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
569
+    }
570 570
 }
571 571
 
572 572
 /**
@@ -574,9 +574,9 @@  discard block
 block discarded – undo
574 574
  */
575 575
 function wpinv_radio_callback( $args ) {
576 576
 
577
-	$std = isset( $args['std'] ) ? $args['std'] : '';
578
-	$std = wpinv_get_option( $args['id'], $std );
579
-	?>
577
+    $std = isset( $args['std'] ) ? $args['std'] : '';
578
+    $std = wpinv_get_option( $args['id'], $std );
579
+    ?>
580 580
 		<fieldset>
581 581
 			<ul id="wpinv-settings-<?php echo esc_attr( $args['id'] ); ?>" style="margin-top: 0;">
582 582
 				<?php foreach( $args['options'] as $key => $option ) : ?>
@@ -590,7 +590,7 @@  discard block
 block discarded – undo
590 590
 			</ul>
591 591
 		</fieldset>
592 592
 	<?php
593
-	getpaid_settings_description_callback( $args );
593
+    getpaid_settings_description_callback( $args );
594 594
 }
595 595
 
596 596
 /**
@@ -598,10 +598,10 @@  discard block
 block discarded – undo
598 598
  */
599 599
 function getpaid_settings_description_callback( $args ) {
600 600
 
601
-	if ( ! empty( $args['desc'] ) ) {
602
-		$description = wp_kses_post( $args['desc'] );
603
-		echo "<p class='description'>$description</p>";
604
-	}
601
+    if ( ! empty( $args['desc'] ) ) {
602
+        $description = wp_kses_post( $args['desc'] );
603
+        echo "<p class='description'>$description</p>";
604
+    }
605 605
 
606 606
 }
607 607
 
@@ -610,7 +610,7 @@  discard block
 block discarded – undo
610 610
  */
611 611
 function wpinv_gateways_callback() {
612 612
 
613
-	?>
613
+    ?>
614 614
 		</td>
615 615
 	</tr>
616 616
 	<tr class="bsui">
@@ -624,22 +624,22 @@  discard block
 block discarded – undo
624 624
     
625 625
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
626 626
     $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
627
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
628
-	$value   = wpinv_get_option( $args['id'], $std );
627
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
628
+    $value   = wpinv_get_option( $args['id'], $std );
629 629
 
630
-	echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >';
630
+    echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >';
631 631
 
632
-	foreach ( $args['options'] as $key => $option ) :
633
-		if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
632
+    foreach ( $args['options'] as $key => $option ) :
633
+        if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
634 634
             $selected = selected( $key, $args['selected'], false );
635 635
         } else {
636 636
             $selected = selected( $key, $value, false );
637 637
         }
638
-		echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>';
639
-	endforeach;
638
+        echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>';
639
+    endforeach;
640 640
 
641
-	echo '</select>';
642
-	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
641
+    echo '</select>';
642
+    echo '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
643 643
 }
644 644
 
645 645
 /**
@@ -650,29 +650,29 @@  discard block
 block discarded – undo
650 650
  */
651 651
 function wpinv_settings_attrs_helper( $args ) {
652 652
 
653
-	$value        = isset( $args['std'] ) ? $args['std'] : '';
654
-	$id           = esc_attr( $args['id'] );
655
-	$placeholder  = esc_attr( $args['placeholder'] );
653
+    $value        = isset( $args['std'] ) ? $args['std'] : '';
654
+    $id           = esc_attr( $args['id'] );
655
+    $placeholder  = esc_attr( $args['placeholder'] );
656 656
 
657
-	if ( ! empty( $args['faux'] ) ) {
658
-		$args['readonly'] = true;
659
-		$name             = '';
660
-	} else {
661
-		$value  = wpinv_get_option( $args['id'], $value );
662
-		$name   = "wpinv_settings[$id]";
663
-	}
657
+    if ( ! empty( $args['faux'] ) ) {
658
+        $args['readonly'] = true;
659
+        $name             = '';
660
+    } else {
661
+        $value  = wpinv_get_option( $args['id'], $value );
662
+        $name   = "wpinv_settings[$id]";
663
+    }
664 664
 
665
-	$value    = is_scalar( $value ) ? esc_attr( $value ) : '';
666
-	$class    = esc_attr( $args['class'] );
667
-	$style    = esc_attr( $args['style'] );
668
-	$readonly = empty( $args['readonly'] ) ? '' : 'readonly onclick="this.select()"';
665
+    $value    = is_scalar( $value ) ? esc_attr( $value ) : '';
666
+    $class    = esc_attr( $args['class'] );
667
+    $style    = esc_attr( $args['style'] );
668
+    $readonly = empty( $args['readonly'] ) ? '' : 'readonly onclick="this.select()"';
669 669
 
670
-	$onchange = '';
670
+    $onchange = '';
671 671
     if ( ! empty( $args['onchange'] ) ) {
672 672
         $onchange = ' onchange="' . esc_attr( $args['onchange'] ) . '"';
673
-	}
673
+    }
674 674
 
675
-	return "name='$name' id='wpinv-settings-$id' style='$style' value='$value' class='$class' placeholder='$placeholder' data-placeholder='$placeholder' $onchange $readonly";
675
+    return "name='$name' id='wpinv-settings-$id' style='$style' value='$value' class='$class' placeholder='$placeholder' data-placeholder='$placeholder' $onchange $readonly";
676 676
 }
677 677
 
678 678
 /**
@@ -680,11 +680,11 @@  discard block
 block discarded – undo
680 680
  */
681 681
 function wpinv_text_callback( $args ) {
682 682
 
683
-	$desc = wp_kses_post( $args['desc'] );
684
-	$desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
685
-	$attr = wpinv_settings_attrs_helper( $args );
683
+    $desc = wp_kses_post( $args['desc'] );
684
+    $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
685
+    $attr = wpinv_settings_attrs_helper( $args );
686 686
 
687
-	?>
687
+    ?>
688 688
 		<label style="width: 100%;">
689 689
 			<input type="text" <?php echo $attr; ?>>
690 690
 			<?php echo $desc; ?>
@@ -698,14 +698,14 @@  discard block
 block discarded – undo
698 698
  */
699 699
 function wpinv_number_callback( $args ) {
700 700
 
701
-	$desc = wp_kses_post( $args['desc'] );
702
-	$desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
703
-	$attr = wpinv_settings_attrs_helper( $args );
704
-	$max  = intval( $args['max'] );
705
-	$min  = intval( $args['min'] );
706
-	$step = floatval( $args['step'] );
701
+    $desc = wp_kses_post( $args['desc'] );
702
+    $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
703
+    $attr = wpinv_settings_attrs_helper( $args );
704
+    $max  = intval( $args['max'] );
705
+    $min  = intval( $args['min'] );
706
+    $step = floatval( $args['step'] );
707 707
 
708
-	?>
708
+    ?>
709 709
 		<label style="width: 100%;">
710 710
 			<input type="number" step="<?php echo $step; ?>" max="<?php echo $max; ?>" min="<?php echo $min; ?>" <?php echo $attr; ?>>
711 711
 			<?php echo $desc; ?>
@@ -717,36 +717,36 @@  discard block
 block discarded – undo
717 717
 function wpinv_textarea_callback( $args ) {
718 718
     
719 719
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
720
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
721
-	$value   = wpinv_get_option( $args['id'], $std );
720
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
721
+    $value   = wpinv_get_option( $args['id'], $std );
722 722
 
723 723
     $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
724 724
     $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text';
725 725
 
726
-	$html = '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
727
-	$html .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
726
+    $html = '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
727
+    $html .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
728 728
 
729
-	echo $html;
729
+    echo $html;
730 730
 }
731 731
 
732 732
 function wpinv_password_callback( $args ) {
733 733
     
734 734
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
735
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
736
-	$value   = wpinv_get_option( $args['id'], $std );
735
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
736
+    $value   = wpinv_get_option( $args['id'], $std );
737 737
 
738
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
739
-	$html = '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
740
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
738
+    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
739
+    $html = '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
740
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
741 741
 
742
-	echo $html;
742
+    echo $html;
743 743
 }
744 744
 
745 745
 function wpinv_missing_callback($args) {
746
-	printf(
747
-		__( 'The callback function used for the %s setting is missing.', 'invoicing' ),
748
-		'<strong>' . $args['id'] . '</strong>'
749
-	);
746
+    printf(
747
+        __( 'The callback function used for the %s setting is missing.', 'invoicing' ),
748
+        '<strong>' . $args['id'] . '</strong>'
749
+    );
750 750
 }
751 751
 
752 752
 /**
@@ -754,14 +754,14 @@  discard block
 block discarded – undo
754 754
  */
755 755
 function wpinv_select_callback( $args ) {
756 756
 
757
-	$desc   = wp_kses_post( $args['desc'] );
758
-	$desc   = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
759
-	$attr   = wpinv_settings_attrs_helper( $args );
760
-	$value  = isset( $args['std'] ) ? $args['std'] : '';
761
-	$value  = wpinv_get_option( $args['id'], $value );
762
-	$rand   = uniqid( 'random_id' );
757
+    $desc   = wp_kses_post( $args['desc'] );
758
+    $desc   = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
759
+    $attr   = wpinv_settings_attrs_helper( $args );
760
+    $value  = isset( $args['std'] ) ? $args['std'] : '';
761
+    $value  = wpinv_get_option( $args['id'], $value );
762
+    $rand   = uniqid( 'random_id' );
763 763
 
764
-	?>
764
+    ?>
765 765
 		<label style="width: 100%;">
766 766
 			<select <?php echo $attr; ?>>
767 767
 				<?php foreach ( $args['options'] as $option => $name ) : ?>
@@ -794,104 +794,104 @@  discard block
 block discarded – undo
794 794
 function wpinv_color_select_callback( $args ) {
795 795
     
796 796
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
797
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
798
-	$value   = wpinv_get_option( $args['id'], $std );
797
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
798
+    $value   = wpinv_get_option( $args['id'], $std );
799 799
 
800
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
800
+    $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
801 801
 
802
-	foreach ( $args['options'] as $option => $color ) {
803
-		$selected = selected( $option, $value, false );
804
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>';
805
-	}
802
+    foreach ( $args['options'] as $option => $color ) {
803
+        $selected = selected( $option, $value, false );
804
+        $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>';
805
+    }
806 806
 
807
-	$html .= '</select>';
808
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
807
+    $html .= '</select>';
808
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
809 809
 
810
-	echo $html;
810
+    echo $html;
811 811
 }
812 812
 
813 813
 function wpinv_rich_editor_callback( $args ) {
814
-	global $wp_version;
814
+    global $wp_version;
815 815
     
816 816
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
817 817
 
818
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
819
-	$value   = wpinv_get_option( $args['id'], $std );
818
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
819
+    $value   = wpinv_get_option( $args['id'], $std );
820 820
 	
821
-	if ( ! empty( $args['allow_blank'] ) && empty( $value ) ) {
822
-		$value = $std;
823
-	}
821
+    if ( ! empty( $args['allow_blank'] ) && empty( $value ) ) {
822
+        $value = $std;
823
+    }
824 824
 
825
-	$rows = isset( $args['size'] ) ? $args['size'] : 20;
825
+    $rows = isset( $args['size'] ) ? $args['size'] : 20;
826 826
 
827
-	$html = '<div class="getpaid-settings-editor-input">';
828
-	if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
829
-		ob_start();
830
-		wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ), 'media_buttons' => false ) );
831
-		$html .= ob_get_clean();
832
-	} else {
833
-		$html .= '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
834
-	}
827
+    $html = '<div class="getpaid-settings-editor-input">';
828
+    if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
829
+        ob_start();
830
+        wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ), 'media_buttons' => false ) );
831
+        $html .= ob_get_clean();
832
+    } else {
833
+        $html .= '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
834
+    }
835 835
 
836
-	$html .= '</div><br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
836
+    $html .= '</div><br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
837 837
 
838
-	echo $html;
838
+    echo $html;
839 839
 }
840 840
 
841 841
 function wpinv_upload_callback( $args ) {
842 842
     
843 843
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
844 844
 
845
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
846
-	$value   = wpinv_get_option( $args['id'], $std );
845
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
846
+    $value   = wpinv_get_option( $args['id'], $std );
847 847
 
848
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
849
-	$html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
850
-	$html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>';
851
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
848
+    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
849
+    $html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
850
+    $html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>';
851
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
852 852
 
853
-	echo $html;
853
+    echo $html;
854 854
 }
855 855
 
856 856
 function wpinv_color_callback( $args ) {
857 857
 
858
-	$std         = isset( $args['std'] ) ? $args['std'] : '';
859
-	$value       = wpinv_get_option( $args['id'], $std );
858
+    $std         = isset( $args['std'] ) ? $args['std'] : '';
859
+    $value       = wpinv_get_option( $args['id'], $std );
860 860
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
861 861
 
862
-	$html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $std ) . '" />';
863
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
862
+    $html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $std ) . '" />';
863
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
864 864
 
865
-	echo $html;
865
+    echo $html;
866 866
 }
867 867
 
868 868
 function wpinv_country_states_callback($args) {
869 869
 
870
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
871
-	$value   = wpinv_get_option( $args['id'], $std );
870
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
871
+    $value   = wpinv_get_option( $args['id'], $std );
872 872
 
873 873
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
874 874
 
875
-	if ( isset( $args['placeholder'] ) ) {
876
-		$placeholder = $args['placeholder'];
877
-	} else {
878
-		$placeholder = '';
879
-	}
875
+    if ( isset( $args['placeholder'] ) ) {
876
+        $placeholder = $args['placeholder'];
877
+    } else {
878
+        $placeholder = '';
879
+    }
880 880
 
881
-	$states = wpinv_get_country_states();
881
+    $states = wpinv_get_country_states();
882 882
 
883
-	$class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"';
884
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>';
883
+    $class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"';
884
+    $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>';
885 885
 
886
-	foreach ( $states as $option => $name ) {
887
-		$selected = selected( $option, $value, false );
888
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
889
-	}
886
+    foreach ( $states as $option => $name ) {
887
+        $selected = selected( $option, $value, false );
888
+        $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
889
+    }
890 890
 
891
-	$html .= '</select>';
892
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
891
+    $html .= '</select>';
892
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
893 893
 
894
-	echo $html;
894
+    echo $html;
895 895
 }
896 896
 
897 897
 /**
@@ -899,7 +899,7 @@  discard block
 block discarded – undo
899 899
  */
900 900
 function wpinv_tax_rates_callback() {
901 901
 	
902
-	?>
902
+    ?>
903 903
 		</td>
904 904
 	</tr>
905 905
 	<tr class="bsui">
@@ -914,17 +914,17 @@  discard block
 block discarded – undo
914 914
  * Displays a tax rate' edit row.
915 915
  */
916 916
 function wpinv_tax_rate_callback( $tax_rate, $key, $echo = true ) {
917
-	ob_start();
917
+    ob_start();
918 918
 
919
-	$key                      = sanitize_key( $key );
920
-	$tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate'];
921
-	include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php';
919
+    $key                      = sanitize_key( $key );
920
+    $tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate'];
921
+    include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php';
922 922
 
923
-	if ( $echo ) {
924
-		echo ob_get_clean();
925
-	} else {
926
-		return ob_get_clean(); 
927
-	}
923
+    if ( $echo ) {
924
+        echo ob_get_clean();
925
+    } else {
926
+        return ob_get_clean(); 
927
+    }
928 928
 
929 929
 }
930 930
 
@@ -952,14 +952,14 @@  discard block
 block discarded – undo
952 952
                 </td>
953 953
                 <td>
954 954
 					<a href="<?php
955
-						echo esc_url(
956
-							wp_nonce_url(
957
-								add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
958
-								'getpaid-nonce',
959
-								'getpaid-nonce'
960
-							)
961
-						);
962
-					?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
955
+                        echo esc_url(
956
+                            wp_nonce_url(
957
+                                add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
958
+                                'getpaid-nonce',
959
+                                'getpaid-nonce'
960
+                            )
961
+                        );
962
+                    ?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
963 963
                 </td>
964 964
             </tr>
965 965
 			<tr>
@@ -969,14 +969,14 @@  discard block
 block discarded – undo
969 969
                 </td>
970 970
                 <td>
971 971
 					<a href="<?php
972
-						echo esc_url(
973
-							wp_nonce_url(
974
-								add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ),
975
-								'getpaid-nonce',
976
-								'getpaid-nonce'
977
-							)
978
-						);
979
-					?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
972
+                        echo esc_url(
973
+                            wp_nonce_url(
974
+                                add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ),
975
+                                'getpaid-nonce',
976
+                                'getpaid-nonce'
977
+                            )
978
+                        );
979
+                    ?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
980 980
                 </td>
981 981
             </tr>
982 982
 			<tr>
@@ -986,14 +986,14 @@  discard block
 block discarded – undo
986 986
                 </td>
987 987
                 <td>
988 988
 					<a href="<?php
989
-						echo esc_url(
990
-							wp_nonce_url(
991
-								add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ),
992
-								'getpaid-nonce',
993
-								'getpaid-nonce'
994
-							)
995
-						);
996
-					?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
989
+                        echo esc_url(
990
+                            wp_nonce_url(
991
+                                add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ),
992
+                                'getpaid-nonce',
993
+                                'getpaid-nonce'
994
+                            )
995
+                        );
996
+                    ?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
997 997
                 </td>
998 998
             </tr>
999 999
 
@@ -1004,14 +1004,14 @@  discard block
 block discarded – undo
1004 1004
                 </td>
1005 1005
                 <td>
1006 1006
 					<a href="<?php
1007
-						echo esc_url(
1008
-							wp_nonce_url(
1009
-								add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ),
1010
-								'getpaid-nonce',
1011
-								'getpaid-nonce'
1012
-							)
1013
-						);
1014
-					?>" class="button button-primary"><?php _e( 'Run', 'invoicing' );?></a>
1007
+                        echo esc_url(
1008
+                            wp_nonce_url(
1009
+                                add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ),
1010
+                                'getpaid-nonce',
1011
+                                'getpaid-nonce'
1012
+                            )
1013
+                        );
1014
+                    ?>" class="button button-primary"><?php _e( 'Run', 'invoicing' );?></a>
1015 1015
                 </td>
1016 1016
             </tr>
1017 1017
 
@@ -1022,8 +1022,8 @@  discard block
 block discarded – undo
1022 1022
                 </td>
1023 1023
                 <td>
1024 1024
 					<a href="<?php
1025
-						echo esc_url( admin_url( 'index.php?page=gp-setup' ) );
1026
-					?>" class="button button-primary"><?php _e( 'Launch', 'invoicing' );?></a>
1025
+                        echo esc_url( admin_url( 'index.php?page=gp-setup' ) );
1026
+                    ?>" class="button button-primary"><?php _e( 'Launch', 'invoicing' );?></a>
1027 1027
                 </td>
1028 1028
             </tr>
1029 1029
 
@@ -1037,19 +1037,19 @@  discard block
 block discarded – undo
1037 1037
 
1038 1038
 
1039 1039
 function wpinv_descriptive_text_callback( $args ) {
1040
-	echo wp_kses_post( $args['desc'] );
1040
+    echo wp_kses_post( $args['desc'] );
1041 1041
 }
1042 1042
 
1043 1043
 function wpinv_raw_html_callback( $args ) {
1044
-	echo $args['desc'];
1044
+    echo $args['desc'];
1045 1045
 }
1046 1046
 
1047 1047
 function wpinv_hook_callback( $args ) {
1048
-	do_action( 'wpinv_' . $args['id'], $args );
1048
+    do_action( 'wpinv_' . $args['id'], $args );
1049 1049
 }
1050 1050
 
1051 1051
 function wpinv_set_settings_cap() {
1052
-	return wpinv_get_capability();
1052
+    return wpinv_get_capability();
1053 1053
 }
1054 1054
 add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' );
1055 1055
 
@@ -1073,15 +1073,15 @@  discard block
 block discarded – undo
1073 1073
  */
1074 1074
 function wpinv_get_merge_tags_help_text( $subscription = false ) {
1075 1075
 
1076
-	$url  = $subscription ? 'https://gist.github.com/picocodes/3d213982d57c34edf7a46fd3f0e8583e' : 'https://gist.github.com/picocodes/43bdc4d4bbba844534b2722e2af0b58f';
1077
-	$link = sprintf(
1078
-		'<strong><a href="%s" target="_blank">%s</a></strong>',
1079
-		$url,
1080
-		esc_html__( 'View available merge tags.', 'wpinv-quotes' )
1081
-	);
1076
+    $url  = $subscription ? 'https://gist.github.com/picocodes/3d213982d57c34edf7a46fd3f0e8583e' : 'https://gist.github.com/picocodes/43bdc4d4bbba844534b2722e2af0b58f';
1077
+    $link = sprintf(
1078
+        '<strong><a href="%s" target="_blank">%s</a></strong>',
1079
+        $url,
1080
+        esc_html__( 'View available merge tags.', 'wpinv-quotes' )
1081
+    );
1082 1082
 
1083
-	$description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' );
1083
+    $description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' );
1084 1084
 
1085
-	return "$description $link";
1085
+    return "$description $link";
1086 1086
 
1087 1087
 }
Please login to merge, or discard this patch.
Spacing   +373 added lines, -373 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @since   1.0.0
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Retrieves all default settings.
@@ -16,13 +16,13 @@  discard block
 block discarded – undo
16 16
 function wpinv_get_settings() {
17 17
     $defaults = array();
18 18
 
19
-    foreach ( array_values( wpinv_get_registered_settings() ) as $tab_settings ) {
19
+    foreach (array_values(wpinv_get_registered_settings()) as $tab_settings) {
20 20
 
21
-        foreach ( array_values( $tab_settings ) as $section_settings ) {
21
+        foreach (array_values($tab_settings) as $section_settings) {
22 22
 
23
-            foreach ( $section_settings as $key => $setting ) {
24
-                if ( isset( $setting['std'] ) ) {
25
-                    $defaults[ $key ] = $setting['std'];
23
+            foreach ($section_settings as $key => $setting) {
24
+                if (isset($setting['std'])) {
25
+                    $defaults[$key] = $setting['std'];
26 26
                 }
27 27
             }
28 28
 
@@ -43,12 +43,12 @@  discard block
 block discarded – undo
43 43
     global $wpinv_options;
44 44
 
45 45
     // Try fetching the saved options.
46
-    if ( empty( $wpinv_options ) ) {
47
-        $wpinv_options = get_option( 'wpinv_settings' );
46
+    if (empty($wpinv_options)) {
47
+        $wpinv_options = get_option('wpinv_settings');
48 48
     }
49 49
 
50 50
     // If that fails, don't fetch the default settings to prevent a loop.
51
-    if ( ! is_array( $wpinv_options ) ) {
51
+    if (!is_array($wpinv_options)) {
52 52
         $wpinv_options = array();
53 53
     }
54 54
 
@@ -62,13 +62,13 @@  discard block
 block discarded – undo
62 62
  * @param mixed $default The default value to use if the setting has not been set.
63 63
  * @return mixed
64 64
  */
65
-function wpinv_get_option( $key = '', $default = false ) {
65
+function wpinv_get_option($key = '', $default = false) {
66 66
 
67 67
     $options = wpinv_get_options();
68
-    $value   = isset( $options[ $key ] ) ? $options[ $key ] : $default;
69
-    $value   = apply_filters( 'wpinv_get_option', $value, $key, $default );
68
+    $value   = isset($options[$key]) ? $options[$key] : $default;
69
+    $value   = apply_filters('wpinv_get_option', $value, $key, $default);
70 70
 
71
-    return apply_filters( 'wpinv_get_option_' . $key, $value, $key, $default );
71
+    return apply_filters('wpinv_get_option_' . $key, $value, $key, $default);
72 72
 }
73 73
 
74 74
 /**
@@ -77,11 +77,11 @@  discard block
 block discarded – undo
77 77
  * @param array $options the new options.
78 78
  * @return bool
79 79
  */
80
-function wpinv_update_options( $options ) {
80
+function wpinv_update_options($options) {
81 81
     global $wpinv_options;
82 82
 
83 83
     // update the option.
84
-    if ( is_array( $options ) && update_option( 'wpinv_settings', $options ) ) {
84
+    if (is_array($options) && update_option('wpinv_settings', $options)) {
85 85
         $wpinv_options = $options;
86 86
         return true;
87 87
     }
@@ -96,24 +96,24 @@  discard block
 block discarded – undo
96 96
  * @param mixed $value The setting value.
97 97
  * @return bool
98 98
  */
99
-function wpinv_update_option( $key = '', $value = false ) {
99
+function wpinv_update_option($key = '', $value = false) {
100 100
 
101 101
     // If no key, exit.
102
-    if ( empty( $key ) ) {
102
+    if (empty($key)) {
103 103
         return false;
104 104
     }
105 105
 
106 106
     // Maybe delete the option instead.
107
-    if ( is_null( $value ) ) {
108
-        return wpinv_delete_option( $key );
107
+    if (is_null($value)) {
108
+        return wpinv_delete_option($key);
109 109
     }
110 110
 
111 111
     // Prepare the new options.
112 112
     $options         = wpinv_get_options();
113
-    $options[ $key ] = apply_filters( 'wpinv_update_option', $value, $key );
113
+    $options[$key] = apply_filters('wpinv_update_option', $value, $key);
114 114
 
115 115
     // Save the new options.
116
-    return wpinv_update_options( $options );
116
+    return wpinv_update_options($options);
117 117
 
118 118
 }
119 119
 
@@ -123,18 +123,18 @@  discard block
 block discarded – undo
123 123
  * @param string $key the setting key.
124 124
  * @return bool
125 125
  */
126
-function wpinv_delete_option( $key = '' ) {
126
+function wpinv_delete_option($key = '') {
127 127
 
128 128
     // If no key, exit
129
-    if ( empty( $key ) ) {
129
+    if (empty($key)) {
130 130
         return false;
131 131
     }
132 132
 
133 133
     $options = wpinv_get_options();
134 134
 
135
-    if ( isset( $options[ $key ] ) ) {
136
-        unset( $options[ $key ] );
137
-        return wpinv_update_options( $options );
135
+    if (isset($options[$key])) {
136
+        unset($options[$key]);
137
+        return wpinv_update_options($options);
138 138
     }
139 139
 
140 140
     return true;
@@ -148,14 +148,14 @@  discard block
 block discarded – undo
148 148
 function wpinv_register_settings() {
149 149
 
150 150
     // Loop through all tabs.
151
-    foreach ( wpinv_get_registered_settings() as $tab => $sections ) {
151
+    foreach (wpinv_get_registered_settings() as $tab => $sections) {
152 152
 
153 153
         // In each tab, loop through sections.
154
-        foreach ( $sections as $section => $settings ) {
154
+        foreach ($sections as $section => $settings) {
155 155
 
156 156
             // Check for backwards compatibility
157
-            $section_tabs = wpinv_get_settings_tab_sections( $tab );
158
-            if ( ! is_array( $section_tabs ) || ! array_key_exists( $section, $section_tabs ) ) {
157
+            $section_tabs = wpinv_get_settings_tab_sections($tab);
158
+            if (!is_array($section_tabs) || !array_key_exists($section, $section_tabs)) {
159 159
                 $section = 'main';
160 160
                 $settings = $sections;
161 161
             }
@@ -168,9 +168,9 @@  discard block
 block discarded – undo
168 168
                 'wpinv_settings_' . $tab . '_' . $section
169 169
             );
170 170
 
171
-            foreach ( $settings as $option ) {
172
-                if ( ! empty( $option['id'] ) ) {
173
-                    wpinv_register_settings_option( $tab, $section, $option );
171
+            foreach ($settings as $option) {
172
+                if (!empty($option['id'])) {
173
+                    wpinv_register_settings_option($tab, $section, $option);
174 174
                 }
175 175
             }
176 176
 
@@ -178,9 +178,9 @@  discard block
 block discarded – undo
178 178
     }
179 179
 
180 180
     // Creates our settings in the options table.
181
-    register_setting( 'wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize' );
181
+    register_setting('wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize');
182 182
 }
183
-add_action( 'admin_init', 'wpinv_register_settings' );
183
+add_action('admin_init', 'wpinv_register_settings');
184 184
 
185 185
 /**
186 186
  * Register a single settings option.
@@ -190,49 +190,49 @@  discard block
 block discarded – undo
190 190
  * @param string $option
191 191
  * 
192 192
  */
193
-function wpinv_register_settings_option( $tab, $section, $option ) {
193
+function wpinv_register_settings_option($tab, $section, $option) {
194 194
 
195
-    $name       = isset( $option['name'] ) ? $option['name'] : '';
195
+    $name       = isset($option['name']) ? $option['name'] : '';
196 196
     $cb         = "wpinv_{$option['type']}_callback";
197 197
     $section    = "wpinv_settings_{$tab}_$section";
198
-	$is_wizzard = is_admin() && isset( $_GET['page'] ) && 'gp-setup' == $_GET['page'];
198
+	$is_wizzard = is_admin() && isset($_GET['page']) && 'gp-setup' == $_GET['page'];
199 199
 
200
-	if ( isset( $option['desc'] ) && ( ! $is_wizzard && ! empty( $option['help-tip'] ) ) ) {
201
-		$tip   = wpinv_clean( $option['desc'] );
200
+	if (isset($option['desc']) && (!$is_wizzard && !empty($option['help-tip']))) {
201
+		$tip   = wpinv_clean($option['desc']);
202 202
 		$name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>";
203
-		unset( $option['desc'] );
203
+		unset($option['desc']);
204 204
 	}
205 205
 
206 206
     // Loop through all tabs.
207 207
     add_settings_field(
208 208
         'wpinv_settings[' . $option['id'] . ']',
209 209
         $name,
210
-        function_exists( $cb ) ? $cb : 'wpinv_missing_callback',
210
+        function_exists($cb) ? $cb : 'wpinv_missing_callback',
211 211
         $section,
212 212
         $section,
213 213
         array(
214 214
             'section'     => $section,
215
-            'id'          => isset( $option['id'] )          ? $option['id']          : uniqid( 'wpinv-' ),
216
-            'desc'        => isset( $option['desc'] )        ? $option['desc']        : '',
215
+            'id'          => isset($option['id']) ? $option['id'] : uniqid('wpinv-'),
216
+            'desc'        => isset($option['desc']) ? $option['desc'] : '',
217 217
             'name'        => $name,
218
-            'size'        => isset( $option['size'] )        ? $option['size']        : null,
219
-            'options'     => isset( $option['options'] )     ? $option['options']     : '',
220
-            'selected'    => isset( $option['selected'] )    ? $option['selected']    : null,
221
-            'std'         => isset( $option['std'] )         ? $option['std']         : '',
222
-            'min'         => isset( $option['min'] )         ? $option['min']         : 0,
223
-            'max'         => isset( $option['max'] )         ? $option['max']         : 999999,
224
-            'step'        => isset( $option['step'] )        ? $option['step']        : 1,
225
-            'placeholder' => isset( $option['placeholder'] ) ? $option['placeholder'] : null,
226
-            'allow_blank' => isset( $option['allow_blank'] ) ? $option['allow_blank'] : true,
227
-            'readonly'    => isset( $option['readonly'] )    ? $option['readonly']    : false,
228
-            'faux'        => isset( $option['faux'] )        ? $option['faux']        : false,
229
-            'onchange'    => isset( $option['onchange'] )   ? $option['onchange']     : '',
230
-            'custom'      => isset( $option['custom'] )     ? $option['custom']       : '',
231
-			'default_content' => isset( $option['default_content'] )     ? $option['default_content']       : '',
232
-			'class'       => isset( $option['class'] )     ? $option['class']         : '',
233
-			'style'       => isset( $option['style'] )     ? $option['style']         : '',
234
-            'cols'        => isset( $option['cols'] ) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50,
235
-            'rows'        => isset( $option['rows'] ) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5,
218
+            'size'        => isset($option['size']) ? $option['size'] : null,
219
+            'options'     => isset($option['options']) ? $option['options'] : '',
220
+            'selected'    => isset($option['selected']) ? $option['selected'] : null,
221
+            'std'         => isset($option['std']) ? $option['std'] : '',
222
+            'min'         => isset($option['min']) ? $option['min'] : 0,
223
+            'max'         => isset($option['max']) ? $option['max'] : 999999,
224
+            'step'        => isset($option['step']) ? $option['step'] : 1,
225
+            'placeholder' => isset($option['placeholder']) ? $option['placeholder'] : null,
226
+            'allow_blank' => isset($option['allow_blank']) ? $option['allow_blank'] : true,
227
+            'readonly'    => isset($option['readonly']) ? $option['readonly'] : false,
228
+            'faux'        => isset($option['faux']) ? $option['faux'] : false,
229
+            'onchange'    => isset($option['onchange']) ? $option['onchange'] : '',
230
+            'custom'      => isset($option['custom']) ? $option['custom'] : '',
231
+			'default_content' => isset($option['default_content']) ? $option['default_content'] : '',
232
+			'class'       => isset($option['class']) ? $option['class'] : '',
233
+			'style'       => isset($option['style']) ? $option['style'] : '',
234
+            'cols'        => isset($option['cols']) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50,
235
+            'rows'        => isset($option['rows']) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5,
236 236
         )
237 237
     );
238 238
 
@@ -244,7 +244,7 @@  discard block
 block discarded – undo
244 244
  * @return array
245 245
  */
246 246
 function wpinv_get_registered_settings() {
247
-	return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) );
247
+	return array_filter(apply_filters('wpinv_registered_settings', wpinv_get_data('admin-settings')));
248 248
 }
249 249
 
250 250
 /**
@@ -253,7 +253,7 @@  discard block
 block discarded – undo
253 253
  * @return array
254 254
  */
255 255
 function getpaid_get_integration_settings() {
256
-    return apply_filters( 'getpaid_integration_settings', array() );
256
+    return apply_filters('getpaid_integration_settings', array());
257 257
 }
258 258
 
259 259
 /**
@@ -261,126 +261,126 @@  discard block
 block discarded – undo
261 261
  * 
262 262
  * @return array
263 263
  */
264
-function wpinv_settings_sanitize( $input = array() ) {
264
+function wpinv_settings_sanitize($input = array()) {
265 265
 
266 266
 	$wpinv_options = wpinv_get_options();
267 267
 	$raw_referrer  = wp_get_raw_referer();
268 268
 
269
-    if ( empty( $raw_referrer ) ) {
270
-		return array_merge( $wpinv_options, $input );
269
+    if (empty($raw_referrer)) {
270
+		return array_merge($wpinv_options, $input);
271 271
     }
272 272
 
273
-    wp_parse_str( $raw_referrer, $referrer );
273
+    wp_parse_str($raw_referrer, $referrer);
274 274
 
275
-	if ( in_array( 'gp-setup', $referrer ) ) {
276
-		return array_merge( $wpinv_options, $input );
275
+	if (in_array('gp-setup', $referrer)) {
276
+		return array_merge($wpinv_options, $input);
277 277
 	}
278 278
 
279 279
     $settings = wpinv_get_registered_settings();
280
-    $tab      = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general';
281
-    $section  = isset( $referrer['section'] ) ? $referrer['section'] : 'main';
280
+    $tab      = isset($referrer['tab']) ? $referrer['tab'] : 'general';
281
+    $section  = isset($referrer['section']) ? $referrer['section'] : 'main';
282 282
 
283 283
     $input = $input ? $input : array();
284
-    $input = apply_filters( 'wpinv_settings_tab_' . $tab . '_sanitize', $input );
285
-    $input = apply_filters( 'wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input );
284
+    $input = apply_filters('wpinv_settings_tab_' . $tab . '_sanitize', $input);
285
+    $input = apply_filters('wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input);
286 286
 
287 287
     // Loop through each setting being saved and pass it through a sanitization filter
288
-    foreach ( $input as $key => $value ) {
288
+    foreach ($input as $key => $value) {
289 289
 
290 290
         // Get the setting type (checkbox, select, etc)
291
-        $type = isset( $settings[ $tab ][$section][ $key ]['type'] ) ? $settings[ $tab ][$section][ $key ]['type'] : false;
291
+        $type = isset($settings[$tab][$section][$key]['type']) ? $settings[$tab][$section][$key]['type'] : false;
292 292
 
293
-        if ( $type ) {
293
+        if ($type) {
294 294
             // Field type specific filter
295
-            $input[$key] = apply_filters( "wpinv_settings_sanitize_$type", $value, $key );
295
+            $input[$key] = apply_filters("wpinv_settings_sanitize_$type", $value, $key);
296 296
         }
297 297
 
298 298
         // General filter
299
-		$input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key );
299
+		$input[$key] = apply_filters('wpinv_settings_sanitize', $input[$key], $key);
300 300
 
301 301
 		// Key specific filter.
302
-		$input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] );
302
+		$input[$key] = apply_filters("wpinv_settings_sanitize_$key", $input[$key]);
303 303
     }
304 304
 
305 305
     // Loop through the whitelist and unset any that are empty for the tab being saved
306
-    $main_settings    = isset( $settings[ $tab ] ) ? $settings[ $tab ] : array(); // Check for extensions that aren't using new sections
307
-    $section_settings = ! empty( $settings[ $tab ][ $section ] ) ? $settings[ $tab ][ $section ] : array();
306
+    $main_settings    = isset($settings[$tab]) ? $settings[$tab] : array(); // Check for extensions that aren't using new sections
307
+    $section_settings = !empty($settings[$tab][$section]) ? $settings[$tab][$section] : array();
308 308
 
309
-    $found_settings   = array_merge( $main_settings, $section_settings );
309
+    $found_settings   = array_merge($main_settings, $section_settings);
310 310
 
311
-    if ( ! empty( $found_settings ) ) {
312
-        foreach ( $found_settings as $key => $value ) {
311
+    if (!empty($found_settings)) {
312
+        foreach ($found_settings as $key => $value) {
313 313
 
314 314
             // settings used to have numeric keys, now they have keys that match the option ID. This ensures both methods work
315
-            if ( is_numeric( $key ) ) {
315
+            if (is_numeric($key)) {
316 316
                 $key = $value['id'];
317 317
             }
318 318
 
319
-            if ( ! isset( $input[ $key ] ) && isset( $wpinv_options[ $key ] ) ) {
320
-                unset( $wpinv_options[ $key ] );
319
+            if (!isset($input[$key]) && isset($wpinv_options[$key])) {
320
+                unset($wpinv_options[$key]);
321 321
             }
322 322
         }
323 323
     }
324 324
 
325 325
     // Merge our new settings with the existing
326
-    $output = array_merge( $wpinv_options, $input );
326
+    $output = array_merge($wpinv_options, $input);
327 327
 
328
-    add_settings_error( 'wpinv-notices', '', __( 'Settings updated.', 'invoicing' ), 'updated' );
328
+    add_settings_error('wpinv-notices', '', __('Settings updated.', 'invoicing'), 'updated');
329 329
 
330 330
     return $output;
331 331
 }
332
-add_filter( 'wpinv_settings_sanitize_text', 'trim', 10, 1 );
333
-add_filter( 'wpinv_settings_sanitize_tax_rate', 'wpinv_sanitize_amount' );
332
+add_filter('wpinv_settings_sanitize_text', 'trim', 10, 1);
333
+add_filter('wpinv_settings_sanitize_tax_rate', 'wpinv_sanitize_amount');
334 334
 
335
-function wpinv_settings_sanitize_tax_rates( $input ) {
336
-    if( ! wpinv_current_user_can_manage_invoicing() ) {
335
+function wpinv_settings_sanitize_tax_rates($input) {
336
+    if (!wpinv_current_user_can_manage_invoicing()) {
337 337
         return $input;
338 338
     }
339 339
 
340
-    $new_rates = ! empty( $_POST['tax_rates'] ) ? array_values( $_POST['tax_rates'] ) : array();
340
+    $new_rates = !empty($_POST['tax_rates']) ? array_values($_POST['tax_rates']) : array();
341 341
     $tax_rates = array();
342 342
 
343
-    foreach ( $new_rates as $rate ) {
343
+    foreach ($new_rates as $rate) {
344 344
 
345
-		$rate['rate']    = wpinv_sanitize_amount( $rate['rate'] );
346
-		$rate['name']    = sanitize_text_field( $rate['name'] );
347
-		$rate['state']   = sanitize_text_field( $rate['state'] );
348
-		$rate['country'] = sanitize_text_field( $rate['country'] );
349
-		$rate['global']  = empty( $rate['state'] );
345
+		$rate['rate']    = wpinv_sanitize_amount($rate['rate']);
346
+		$rate['name']    = sanitize_text_field($rate['name']);
347
+		$rate['state']   = sanitize_text_field($rate['state']);
348
+		$rate['country'] = sanitize_text_field($rate['country']);
349
+		$rate['global']  = empty($rate['state']);
350 350
 		$tax_rates[]     = $rate;
351 351
 
352 352
 	}
353 353
 
354
-    update_option( 'wpinv_tax_rates', $tax_rates );
354
+    update_option('wpinv_tax_rates', $tax_rates);
355 355
 
356 356
     return $input;
357 357
 }
358
-add_filter( 'wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates' );
358
+add_filter('wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates');
359 359
 
360 360
 function wpinv_get_settings_tabs() {
361 361
     $tabs             = array();
362
-    $tabs['general']  = __( 'General', 'invoicing' );
363
-    $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' );
364
-    $tabs['taxes']    = __( 'Taxes', 'invoicing' );
365
-	$tabs['emails']   = __( 'Emails', 'invoicing' );
362
+    $tabs['general']  = __('General', 'invoicing');
363
+    $tabs['gateways'] = __('Payment Gateways', 'invoicing');
364
+    $tabs['taxes']    = __('Taxes', 'invoicing');
365
+	$tabs['emails'] = __('Emails', 'invoicing');
366 366
 
367
-	if ( count( getpaid_get_integration_settings() ) > 0 ) {
368
-		$tabs['integrations'] = __( 'Integrations', 'invoicing' );
367
+	if (count(getpaid_get_integration_settings()) > 0) {
368
+		$tabs['integrations'] = __('Integrations', 'invoicing');
369 369
 	}
370 370
 
371
-    $tabs['privacy']  = __( 'Privacy', 'invoicing' );
372
-    $tabs['misc']     = __( 'Misc', 'invoicing' );
373
-    $tabs['tools']    = __( 'Tools', 'invoicing' );
371
+    $tabs['privacy']  = __('Privacy', 'invoicing');
372
+    $tabs['misc']     = __('Misc', 'invoicing');
373
+    $tabs['tools']    = __('Tools', 'invoicing');
374 374
 
375
-    return apply_filters( 'wpinv_settings_tabs', $tabs );
375
+    return apply_filters('wpinv_settings_tabs', $tabs);
376 376
 }
377 377
 
378
-function wpinv_get_settings_tab_sections( $tab = false ) {
378
+function wpinv_get_settings_tab_sections($tab = false) {
379 379
     $tabs     = false;
380 380
     $sections = wpinv_get_registered_settings_sections();
381 381
 
382
-    if( $tab && ! empty( $sections[ $tab ] ) ) {
383
-        $tabs = $sections[ $tab ];
382
+    if ($tab && !empty($sections[$tab])) {
383
+        $tabs = $sections[$tab];
384 384
     }
385 385
 
386 386
     return $tabs;
@@ -389,89 +389,89 @@  discard block
 block discarded – undo
389 389
 function wpinv_get_registered_settings_sections() {
390 390
     static $sections = false;
391 391
 
392
-    if ( false !== $sections ) {
392
+    if (false !== $sections) {
393 393
         return $sections;
394 394
     }
395 395
 
396 396
     $sections = array(
397
-        'general' => apply_filters( 'wpinv_settings_sections_general', array(
398
-            'main' => __( 'General Settings', 'invoicing' ),
399
-            'page_section' => __( 'Page Settings', 'invoicing' ),
400
-            'currency_section' => __( 'Currency Settings', 'invoicing' ),
401
-            'labels' => __( 'Label Texts', 'invoicing' ),
402
-        ) ),
403
-        'gateways' => apply_filters( 'wpinv_settings_sections_gateways', array(
404
-            'main' => __( 'Gateway Settings', 'invoicing' ),
405
-        ) ),
406
-        'taxes' => apply_filters( 'wpinv_settings_sections_taxes', array(
407
-            'main'  => __( 'Tax Settings', 'invoicing' ),
408
-			'rates' => __( 'Tax Rates', 'invoicing' ),
409
-			'vat'   => __( 'EU VAT Settings', 'invoicing' )
410
-        ) ),
411
-        'emails' => apply_filters( 'wpinv_settings_sections_emails', array(
412
-            'main' => __( 'Email Settings', 'invoicing' ),
413
-		) ),
414
-
415
-		'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ),
416
-
417
-        'privacy' => apply_filters( 'wpinv_settings_sections_privacy', array(
418
-            'main' => __( 'Privacy policy', 'invoicing' ),
419
-        ) ),
420
-        'misc' => apply_filters( 'wpinv_settings_sections_misc', array(
421
-            'main' => __( 'Miscellaneous', 'invoicing' ),
422
-            'custom-css' => __( 'Custom CSS', 'invoicing' ),
423
-        ) ),
424
-        'tools' => apply_filters( 'wpinv_settings_sections_tools', array(
425
-            'main' => __( 'Diagnostic Tools', 'invoicing' ),
426
-        ) ),
397
+        'general' => apply_filters('wpinv_settings_sections_general', array(
398
+            'main' => __('General Settings', 'invoicing'),
399
+            'page_section' => __('Page Settings', 'invoicing'),
400
+            'currency_section' => __('Currency Settings', 'invoicing'),
401
+            'labels' => __('Label Texts', 'invoicing'),
402
+        )),
403
+        'gateways' => apply_filters('wpinv_settings_sections_gateways', array(
404
+            'main' => __('Gateway Settings', 'invoicing'),
405
+        )),
406
+        'taxes' => apply_filters('wpinv_settings_sections_taxes', array(
407
+            'main'  => __('Tax Settings', 'invoicing'),
408
+			'rates' => __('Tax Rates', 'invoicing'),
409
+			'vat'   => __('EU VAT Settings', 'invoicing')
410
+        )),
411
+        'emails' => apply_filters('wpinv_settings_sections_emails', array(
412
+            'main' => __('Email Settings', 'invoicing'),
413
+		)),
414
+
415
+		'integrations' => wp_list_pluck(getpaid_get_integration_settings(), 'label', 'id'),
416
+
417
+        'privacy' => apply_filters('wpinv_settings_sections_privacy', array(
418
+            'main' => __('Privacy policy', 'invoicing'),
419
+        )),
420
+        'misc' => apply_filters('wpinv_settings_sections_misc', array(
421
+            'main' => __('Miscellaneous', 'invoicing'),
422
+            'custom-css' => __('Custom CSS', 'invoicing'),
423
+        )),
424
+        'tools' => apply_filters('wpinv_settings_sections_tools', array(
425
+            'main' => __('Diagnostic Tools', 'invoicing'),
426
+        )),
427 427
     );
428 428
 
429
-    $sections = apply_filters( 'wpinv_settings_sections', $sections );
429
+    $sections = apply_filters('wpinv_settings_sections', $sections);
430 430
 
431 431
     return $sections;
432 432
 }
433 433
 
434
-function wpinv_get_pages( $with_slug = false, $default_label = NULL ) {
434
+function wpinv_get_pages($with_slug = false, $default_label = NULL) {
435 435
 	$pages_options = array();
436 436
 
437
-	if( $default_label !== NULL && $default_label !== false ) {
438
-		$pages_options = array( '' => $default_label ); // Blank option
437
+	if ($default_label !== NULL && $default_label !== false) {
438
+		$pages_options = array('' => $default_label); // Blank option
439 439
 	}
440 440
 
441 441
 	$pages = get_pages();
442
-	if ( $pages ) {
443
-		foreach ( $pages as $page ) {
442
+	if ($pages) {
443
+		foreach ($pages as $page) {
444 444
 			$title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
445
-            $pages_options[ $page->ID ] = $title;
445
+            $pages_options[$page->ID] = $title;
446 446
 		}
447 447
 	}
448 448
 
449 449
 	return $pages_options;
450 450
 }
451 451
 
452
-function wpinv_header_callback( $args ) {
453
-	if ( !empty( $args['desc'] ) ) {
452
+function wpinv_header_callback($args) {
453
+	if (!empty($args['desc'])) {
454 454
         echo $args['desc'];
455 455
     }
456 456
 }
457 457
 
458
-function wpinv_hidden_callback( $args ) {
458
+function wpinv_hidden_callback($args) {
459 459
 
460
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
461
-	$value   = wpinv_get_option( $args['id'], $std );
460
+	$std     = isset($args['std']) ? $args['std'] : '';
461
+	$value   = wpinv_get_option($args['id'], $std);
462 462
 
463
-	if ( isset( $args['set_value'] ) ) {
463
+	if (isset($args['set_value'])) {
464 464
 		$value = $args['set_value'];
465 465
 	}
466 466
 
467
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
467
+	if (isset($args['faux']) && true === $args['faux']) {
468 468
 		$args['readonly'] = true;
469
-		$name  = '';
469
+		$name = '';
470 470
 	} else {
471
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
471
+		$name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"';
472 472
 	}
473 473
 
474
-	$html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />';
474
+	$html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key($args['id']) . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '" />';
475 475
     
476 476
 	echo $html;
477 477
 }
@@ -479,59 +479,59 @@  discard block
 block discarded – undo
479 479
 /**
480 480
  * Displays a checkbox settings callback.
481 481
  */
482
-function wpinv_checkbox_callback( $args ) {
482
+function wpinv_checkbox_callback($args) {
483 483
 
484
-	$std = isset( $args['std'] ) ? $args['std'] : '';
485
-	$std = wpinv_get_option( $args['id'], $std );
486
-	$id  = esc_attr( $args['id'] );
484
+	$std = isset($args['std']) ? $args['std'] : '';
485
+	$std = wpinv_get_option($args['id'], $std);
486
+	$id  = esc_attr($args['id']);
487 487
 
488
-	getpaid_hidden_field( "wpinv_settings[$id]", '0' );
488
+	getpaid_hidden_field("wpinv_settings[$id]", '0');
489 489
 	?>
490 490
 		<fieldset>
491 491
 			<label>
492
-				<input id="wpinv-settings-<?php echo $id; ?>" name="wpinv_settings[<?php echo $id; ?>]" <?php checked( empty( $std ), false ); ?> value="1" type="checkbox">
493
-				<?php echo wp_kses_post( $args['desc'] ); ?>
492
+				<input id="wpinv-settings-<?php echo $id; ?>" name="wpinv_settings[<?php echo $id; ?>]" <?php checked(empty($std), false); ?> value="1" type="checkbox">
493
+				<?php echo wp_kses_post($args['desc']); ?>
494 494
 			</label>
495 495
 		</fieldset>
496 496
 	<?php
497 497
 }
498 498
 
499
-function wpinv_multicheck_callback( $args ) {
499
+function wpinv_multicheck_callback($args) {
500 500
 
501
-	$sanitize_id = wpinv_sanitize_key( $args['id'] );
502
-	$class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
501
+	$sanitize_id = wpinv_sanitize_key($args['id']);
502
+	$class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : '';
503 503
 
504
-	if ( ! empty( $args['options'] ) ) {
504
+	if (!empty($args['options'])) {
505 505
 
506
-		$std     = isset( $args['std'] ) ? $args['std'] : array();
507
-		$value   = wpinv_get_option( $args['id'], $std );
506
+		$std     = isset($args['std']) ? $args['std'] : array();
507
+		$value   = wpinv_get_option($args['id'], $std);
508 508
 
509 509
 		echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">';
510
-        foreach( $args['options'] as $key => $option ):
511
-			$sanitize_key = wpinv_sanitize_key( $key );
512
-			if ( in_array( $sanitize_key, $value ) ) { 
510
+        foreach ($args['options'] as $key => $option):
511
+			$sanitize_key = wpinv_sanitize_key($key);
512
+			if (in_array($sanitize_key, $value)) { 
513 513
 				$enabled = $sanitize_key;
514 514
 			} else { 
515 515
 				$enabled = NULL; 
516 516
 			}
517
-			echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
518
-			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>';
517
+			echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr($sanitize_key) . '" ' . checked($sanitize_key, $enabled, false) . '/>&nbsp;';
518
+			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post($option) . '</label></div>';
519 519
 		endforeach;
520 520
 		echo '</div>';
521 521
 		echo '<p class="description">' . $args['desc'] . '</p>';
522 522
 	}
523 523
 }
524 524
 
525
-function wpinv_payment_icons_callback( $args ) {
525
+function wpinv_payment_icons_callback($args) {
526 526
     
527
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
528
-	$value   = wpinv_get_option( $args['id'], false);
527
+    $sanitize_id = wpinv_sanitize_key($args['id']);
528
+	$value = wpinv_get_option($args['id'], false);
529 529
 
530
-	if ( ! empty( $args['options'] ) ) {
531
-		foreach( $args['options'] as $key => $option ) {
532
-            $sanitize_key = wpinv_sanitize_key( $key );
530
+	if (!empty($args['options'])) {
531
+		foreach ($args['options'] as $key => $option) {
532
+            $sanitize_key = wpinv_sanitize_key($key);
533 533
             
534
-			if( empty( $value ) ) {
534
+			if (empty($value)) {
535 535
 				$enabled = $option;
536 536
 			} else {
537 537
 				$enabled = NULL;
@@ -539,67 +539,67 @@  discard block
 block discarded – undo
539 539
 
540 540
 			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
541 541
 
542
-				echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
542
+				echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr($option) . '" ' . checked($option, $enabled, false) . '/>&nbsp;';
543 543
 
544
-				if ( wpinv_string_is_image_url( $key ) ) {
545
-					echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
544
+				if (wpinv_string_is_image_url($key)) {
545
+					echo '<img class="payment-icon" src="' . esc_url($key) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
546 546
 				} else {
547
-					$card = strtolower( str_replace( ' ', '', $option ) );
547
+					$card = strtolower(str_replace(' ', '', $option));
548 548
 
549
-					if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
550
-						$image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
549
+					if (has_filter('wpinv_accepted_payment_' . $card . '_image')) {
550
+						$image = apply_filters('wpinv_accepted_payment_' . $card . '_image', '');
551 551
 					} else {
552
-						$image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
552
+						$image       = wpinv_locate_template('images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false);
553 553
 						$content_dir = WP_CONTENT_DIR;
554 554
 
555
-						if ( function_exists( 'wp_normalize_path' ) ) {
555
+						if (function_exists('wp_normalize_path')) {
556 556
 							// Replaces backslashes with forward slashes for Windows systems
557
-							$image = wp_normalize_path( $image );
558
-							$content_dir = wp_normalize_path( $content_dir );
557
+							$image = wp_normalize_path($image);
558
+							$content_dir = wp_normalize_path($content_dir);
559 559
 						}
560 560
 
561
-						$image = str_replace( $content_dir, content_url(), $image );
561
+						$image = str_replace($content_dir, content_url(), $image);
562 562
 					}
563 563
 
564
-					echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
564
+					echo '<img class="payment-icon" src="' . esc_url($image) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
565 565
 				}
566 566
 			echo $option . '</label>';
567 567
 		}
568
-		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
568
+		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post($args['desc']) . '</p>';
569 569
 	}
570 570
 }
571 571
 
572 572
 /**
573 573
  * Displays a radio settings field.
574 574
  */
575
-function wpinv_radio_callback( $args ) {
575
+function wpinv_radio_callback($args) {
576 576
 
577
-	$std = isset( $args['std'] ) ? $args['std'] : '';
578
-	$std = wpinv_get_option( $args['id'], $std );
577
+	$std = isset($args['std']) ? $args['std'] : '';
578
+	$std = wpinv_get_option($args['id'], $std);
579 579
 	?>
580 580
 		<fieldset>
581
-			<ul id="wpinv-settings-<?php echo esc_attr( $args['id'] ); ?>" style="margin-top: 0;">
582
-				<?php foreach( $args['options'] as $key => $option ) : ?>
581
+			<ul id="wpinv-settings-<?php echo esc_attr($args['id']); ?>" style="margin-top: 0;">
582
+				<?php foreach ($args['options'] as $key => $option) : ?>
583 583
 					<li>
584 584
 						<label>
585
-							<input name="wpinv_settings[<?php echo esc_attr( $args['id'] ); ?>]" <?php checked( $std, $key ); ?> value="<?php echo esc_attr( $key ); ?>" type="radio">
586
-							<?php echo wp_kses_post( $option ); ?>
585
+							<input name="wpinv_settings[<?php echo esc_attr($args['id']); ?>]" <?php checked($std, $key); ?> value="<?php echo esc_attr($key); ?>" type="radio">
586
+							<?php echo wp_kses_post($option); ?>
587 587
 						</label>
588 588
 					</li>
589 589
 				<?php endforeach; ?>
590 590
 			</ul>
591 591
 		</fieldset>
592 592
 	<?php
593
-	getpaid_settings_description_callback( $args );
593
+	getpaid_settings_description_callback($args);
594 594
 }
595 595
 
596 596
 /**
597 597
  * Displays a description if available.
598 598
  */
599
-function getpaid_settings_description_callback( $args ) {
599
+function getpaid_settings_description_callback($args) {
600 600
 
601
-	if ( ! empty( $args['desc'] ) ) {
602
-		$description = wp_kses_post( $args['desc'] );
601
+	if (!empty($args['desc'])) {
602
+		$description = wp_kses_post($args['desc']);
603 603
 		echo "<p class='description'>$description</p>";
604 604
 	}
605 605
 
@@ -615,31 +615,31 @@  discard block
 block discarded – undo
615 615
 	</tr>
616 616
 	<tr class="bsui">
617 617
     	<td colspan="2" class="p-0">
618
-			<?php include plugin_dir_path( __FILE__ ) . 'views/html-gateways-edit.php'; ?>
618
+			<?php include plugin_dir_path(__FILE__) . 'views/html-gateways-edit.php'; ?>
619 619
 
620 620
 	<?php
621 621
 }
622 622
 
623 623
 function wpinv_gateway_select_callback($args) {
624 624
     
625
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
626
-    $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
627
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
628
-	$value   = wpinv_get_option( $args['id'], $std );
625
+    $sanitize_id = wpinv_sanitize_key($args['id']);
626
+    $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : '';
627
+	$std     = isset($args['std']) ? $args['std'] : '';
628
+	$value   = wpinv_get_option($args['id'], $std);
629 629
 
630
-	echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >';
630
+	echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="' . $class . '" >';
631 631
 
632
-	foreach ( $args['options'] as $key => $option ) :
633
-		if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
634
-            $selected = selected( $key, $args['selected'], false );
632
+	foreach ($args['options'] as $key => $option) :
633
+		if (isset($args['selected']) && $args['selected'] !== null && $args['selected'] !== false) {
634
+            $selected = selected($key, $args['selected'], false);
635 635
         } else {
636
-            $selected = selected( $key, $value, false );
636
+            $selected = selected($key, $value, false);
637 637
         }
638
-		echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>';
638
+		echo '<option value="' . wpinv_sanitize_key($key) . '"' . $selected . '>' . esc_html($option['admin_label']) . '</option>';
639 639
 	endforeach;
640 640
 
641 641
 	echo '</select>';
642
-	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
642
+	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
643 643
 }
644 644
 
645 645
 /**
@@ -648,28 +648,28 @@  discard block
 block discarded – undo
648 648
  * @param array $args
649 649
  * @return string
650 650
  */
651
-function wpinv_settings_attrs_helper( $args ) {
651
+function wpinv_settings_attrs_helper($args) {
652 652
 
653
-	$value        = isset( $args['std'] ) ? $args['std'] : '';
654
-	$id           = esc_attr( $args['id'] );
655
-	$placeholder  = esc_attr( $args['placeholder'] );
653
+	$value        = isset($args['std']) ? $args['std'] : '';
654
+	$id           = esc_attr($args['id']);
655
+	$placeholder  = esc_attr($args['placeholder']);
656 656
 
657
-	if ( ! empty( $args['faux'] ) ) {
657
+	if (!empty($args['faux'])) {
658 658
 		$args['readonly'] = true;
659 659
 		$name             = '';
660 660
 	} else {
661
-		$value  = wpinv_get_option( $args['id'], $value );
661
+		$value  = wpinv_get_option($args['id'], $value);
662 662
 		$name   = "wpinv_settings[$id]";
663 663
 	}
664 664
 
665
-	$value    = is_scalar( $value ) ? esc_attr( $value ) : '';
666
-	$class    = esc_attr( $args['class'] );
667
-	$style    = esc_attr( $args['style'] );
668
-	$readonly = empty( $args['readonly'] ) ? '' : 'readonly onclick="this.select()"';
665
+	$value    = is_scalar($value) ? esc_attr($value) : '';
666
+	$class    = esc_attr($args['class']);
667
+	$style    = esc_attr($args['style']);
668
+	$readonly = empty($args['readonly']) ? '' : 'readonly onclick="this.select()"';
669 669
 
670 670
 	$onchange = '';
671
-    if ( ! empty( $args['onchange'] ) ) {
672
-        $onchange = ' onchange="' . esc_attr( $args['onchange'] ) . '"';
671
+    if (!empty($args['onchange'])) {
672
+        $onchange = ' onchange="' . esc_attr($args['onchange']) . '"';
673 673
 	}
674 674
 
675 675
 	return "name='$name' id='wpinv-settings-$id' style='$style' value='$value' class='$class' placeholder='$placeholder' data-placeholder='$placeholder' $onchange $readonly";
@@ -678,11 +678,11 @@  discard block
 block discarded – undo
678 678
 /**
679 679
  * Displays a text input settings callback.
680 680
  */
681
-function wpinv_text_callback( $args ) {
681
+function wpinv_text_callback($args) {
682 682
 
683
-	$desc = wp_kses_post( $args['desc'] );
684
-	$desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
685
-	$attr = wpinv_settings_attrs_helper( $args );
683
+	$desc = wp_kses_post($args['desc']);
684
+	$desc = empty($desc) ? '' : "<p class='description'>$desc</p>";
685
+	$attr = wpinv_settings_attrs_helper($args);
686 686
 
687 687
 	?>
688 688
 		<label style="width: 100%;">
@@ -696,14 +696,14 @@  discard block
 block discarded – undo
696 696
 /**
697 697
  * Displays a number input settings callback.
698 698
  */
699
-function wpinv_number_callback( $args ) {
699
+function wpinv_number_callback($args) {
700 700
 
701
-	$desc = wp_kses_post( $args['desc'] );
702
-	$desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
703
-	$attr = wpinv_settings_attrs_helper( $args );
704
-	$max  = intval( $args['max'] );
705
-	$min  = intval( $args['min'] );
706
-	$step = floatval( $args['step'] );
701
+	$desc = wp_kses_post($args['desc']);
702
+	$desc = empty($desc) ? '' : "<p class='description'>$desc</p>";
703
+	$attr = wpinv_settings_attrs_helper($args);
704
+	$max  = intval($args['max']);
705
+	$min  = intval($args['min']);
706
+	$step = floatval($args['step']);
707 707
 
708 708
 	?>
709 709
 		<label style="width: 100%;">
@@ -714,37 +714,37 @@  discard block
 block discarded – undo
714 714
 
715 715
 }
716 716
 
717
-function wpinv_textarea_callback( $args ) {
717
+function wpinv_textarea_callback($args) {
718 718
     
719
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
720
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
721
-	$value   = wpinv_get_option( $args['id'], $std );
719
+    $sanitize_id = wpinv_sanitize_key($args['id']);
720
+	$std     = isset($args['std']) ? $args['std'] : '';
721
+	$value   = wpinv_get_option($args['id'], $std);
722 722
 
723
-    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
724
-    $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text';
723
+    $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
724
+    $class = (isset($args['class']) && !is_null($args['class'])) ? $args['class'] : 'large-text';
725 725
 
726
-	$html = '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
727
-	$html .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
726
+	$html = '<textarea class="' . sanitize_html_class($class) . ' txtarea-' . sanitize_html_class($size) . ' wpi-' . esc_attr(sanitize_html_class($sanitize_id)) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']">' . esc_textarea(stripslashes($value)) . '</textarea>';
727
+	$html .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
728 728
 
729 729
 	echo $html;
730 730
 }
731 731
 
732
-function wpinv_password_callback( $args ) {
732
+function wpinv_password_callback($args) {
733 733
     
734
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
735
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
736
-	$value   = wpinv_get_option( $args['id'], $std );
734
+    $sanitize_id = wpinv_sanitize_key($args['id']);
735
+	$std     = isset($args['std']) ? $args['std'] : '';
736
+	$value   = wpinv_get_option($args['id'], $std);
737 737
 
738
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
739
-	$html = '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
740
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
738
+	$size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
739
+	$html = '<input type="password" class="' . sanitize_html_class($size) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr($value) . '"/>';
740
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
741 741
 
742 742
 	echo $html;
743 743
 }
744 744
 
745 745
 function wpinv_missing_callback($args) {
746 746
 	printf(
747
-		__( 'The callback function used for the %s setting is missing.', 'invoicing' ),
747
+		__('The callback function used for the %s setting is missing.', 'invoicing'),
748 748
 		'<strong>' . $args['id'] . '</strong>'
749 749
 	);
750 750
 }
@@ -752,35 +752,35 @@  discard block
 block discarded – undo
752 752
 /**
753 753
  * Displays a number input settings callback.
754 754
  */
755
-function wpinv_select_callback( $args ) {
755
+function wpinv_select_callback($args) {
756 756
 
757
-	$desc   = wp_kses_post( $args['desc'] );
758
-	$desc   = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
759
-	$attr   = wpinv_settings_attrs_helper( $args );
760
-	$value  = isset( $args['std'] ) ? $args['std'] : '';
761
-	$value  = wpinv_get_option( $args['id'], $value );
762
-	$rand   = uniqid( 'random_id' );
757
+	$desc   = wp_kses_post($args['desc']);
758
+	$desc   = empty($desc) ? '' : "<p class='description'>$desc</p>";
759
+	$attr   = wpinv_settings_attrs_helper($args);
760
+	$value  = isset($args['std']) ? $args['std'] : '';
761
+	$value  = wpinv_get_option($args['id'], $value);
762
+	$rand   = uniqid('random_id');
763 763
 
764 764
 	?>
765 765
 		<label style="width: 100%;">
766 766
 			<select <?php echo $attr; ?>>
767
-				<?php foreach ( $args['options'] as $option => $name ) : ?>
768
-					<option value="<?php echo esc_attr( $option ); ?>" <?php echo selected( $option, $value ); ?>><?php echo wpinv_clean( $name ); ?></option>
769
-				<?php endforeach;?>
767
+				<?php foreach ($args['options'] as $option => $name) : ?>
768
+					<option value="<?php echo esc_attr($option); ?>" <?php echo selected($option, $value); ?>><?php echo wpinv_clean($name); ?></option>
769
+				<?php endforeach; ?>
770 770
 			</select>
771 771
 
772
-			<?php if ( substr( $args['id'], -5 ) === '_page' && is_numeric( $value ) ) : ?>
773
-				<a href="<?php echo get_edit_post_link( $value ); ?>" target="_blank" class="button getpaid-page-setting-edit"><?php _e( 'Edit Page', 'invoicing' ) ?></a>
772
+			<?php if (substr($args['id'], -5) === '_page' && is_numeric($value)) : ?>
773
+				<a href="<?php echo get_edit_post_link($value); ?>" target="_blank" class="button getpaid-page-setting-edit"><?php _e('Edit Page', 'invoicing') ?></a>
774 774
 			<?php endif; ?>
775 775
 
776
-			<?php if ( substr( $args['id'], -5 ) === '_page' && ! empty( $args['default_content'] ) ) : ?>
777
-				&nbsp;<a href="#TB_inline?&width=400&height=550&inlineId=<?php echo $rand; ?>" class="button thickbox getpaid-page-setting-view-default"><?php _e( 'View Default Content', 'invoicing' ) ?></a>
776
+			<?php if (substr($args['id'], -5) === '_page' && !empty($args['default_content'])) : ?>
777
+				&nbsp;<a href="#TB_inline?&width=400&height=550&inlineId=<?php echo $rand; ?>" class="button thickbox getpaid-page-setting-view-default"><?php _e('View Default Content', 'invoicing') ?></a>
778 778
 				<div id='<?php echo $rand; ?>' style='display:none;'>
779 779
 					<div>
780
-						<h3><?php _e( 'Original Content', 'invoicing' ) ?></h3>
781
-						<textarea readonly onclick="this.select()" rows="8" style="width: 100%;"><?php echo gepaid_trim_lines( wp_kses_post( $args['default_content'] ) ); ?></textarea>
782
-						<h3><?php _e( 'Current Content', 'invoicing' ) ?></h3>
783
-						<textarea readonly onclick="this.select()" rows="8" style="width: 100%;"><?php $_post = get_post( $value ); echo empty( $_post ) ? '' : gepaid_trim_lines( wp_kses_post( $_post->post_content ) ); ?></textarea>
780
+						<h3><?php _e('Original Content', 'invoicing') ?></h3>
781
+						<textarea readonly onclick="this.select()" rows="8" style="width: 100%;"><?php echo gepaid_trim_lines(wp_kses_post($args['default_content'])); ?></textarea>
782
+						<h3><?php _e('Current Content', 'invoicing') ?></h3>
783
+						<textarea readonly onclick="this.select()" rows="8" style="width: 100%;"><?php $_post = get_post($value); echo empty($_post) ? '' : gepaid_trim_lines(wp_kses_post($_post->post_content)); ?></textarea>
784 784
 					</div>
785 785
 				</div>
786 786
 			<?php endif; ?>
@@ -791,88 +791,88 @@  discard block
 block discarded – undo
791 791
 
792 792
 }
793 793
 
794
-function wpinv_color_select_callback( $args ) {
794
+function wpinv_color_select_callback($args) {
795 795
     
796
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
797
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
798
-	$value   = wpinv_get_option( $args['id'], $std );
796
+    $sanitize_id = wpinv_sanitize_key($args['id']);
797
+	$std     = isset($args['std']) ? $args['std'] : '';
798
+	$value   = wpinv_get_option($args['id'], $std);
799 799
 
800
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
800
+	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"/>';
801 801
 
802
-	foreach ( $args['options'] as $option => $color ) {
803
-		$selected = selected( $option, $value, false );
804
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>';
802
+	foreach ($args['options'] as $option => $color) {
803
+		$selected = selected($option, $value, false);
804
+		$html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($color['label']) . '</option>';
805 805
 	}
806 806
 
807 807
 	$html .= '</select>';
808
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
808
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
809 809
 
810 810
 	echo $html;
811 811
 }
812 812
 
813
-function wpinv_rich_editor_callback( $args ) {
813
+function wpinv_rich_editor_callback($args) {
814 814
 	global $wp_version;
815 815
     
816
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
816
+    $sanitize_id = wpinv_sanitize_key($args['id']);
817 817
 
818
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
819
-	$value   = wpinv_get_option( $args['id'], $std );
818
+	$std     = isset($args['std']) ? $args['std'] : '';
819
+	$value   = wpinv_get_option($args['id'], $std);
820 820
 	
821
-	if ( ! empty( $args['allow_blank'] ) && empty( $value ) ) {
821
+	if (!empty($args['allow_blank']) && empty($value)) {
822 822
 		$value = $std;
823 823
 	}
824 824
 
825
-	$rows = isset( $args['size'] ) ? $args['size'] : 20;
825
+	$rows = isset($args['size']) ? $args['size'] : 20;
826 826
 
827 827
 	$html = '<div class="getpaid-settings-editor-input">';
828
-	if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
828
+	if ($wp_version >= 3.3 && function_exists('wp_editor')) {
829 829
 		ob_start();
830
-		wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ), 'media_buttons' => false ) );
830
+		wp_editor(stripslashes($value), 'wpinv_settings_' . esc_attr($args['id']), array('textarea_name' => 'wpinv_settings[' . esc_attr($args['id']) . ']', 'textarea_rows' => absint($rows), 'media_buttons' => false));
831 831
 		$html .= ob_get_clean();
832 832
 	} else {
833
-		$html .= '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
833
+		$html .= '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" class="wpi-' . esc_attr(sanitize_html_class($args['id'])) . '">' . esc_textarea(stripslashes($value)) . '</textarea>';
834 834
 	}
835 835
 
836
-	$html .= '</div><br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
836
+	$html .= '</div><br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
837 837
 
838 838
 	echo $html;
839 839
 }
840 840
 
841
-function wpinv_upload_callback( $args ) {
841
+function wpinv_upload_callback($args) {
842 842
     
843
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
843
+    $sanitize_id = wpinv_sanitize_key($args['id']);
844 844
 
845
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
846
-	$value   = wpinv_get_option( $args['id'], $std );
845
+	$std     = isset($args['std']) ? $args['std'] : '';
846
+	$value   = wpinv_get_option($args['id'], $std);
847 847
 
848
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
849
-	$html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
850
-	$html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>';
851
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
848
+	$size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
849
+	$html = '<input type="text" class="' . sanitize_html_class($size) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr(stripslashes($value)) . '"/>';
850
+	$html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __('Upload File', 'invoicing') . '"/></span>';
851
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
852 852
 
853 853
 	echo $html;
854 854
 }
855 855
 
856
-function wpinv_color_callback( $args ) {
856
+function wpinv_color_callback($args) {
857 857
 
858
-	$std         = isset( $args['std'] ) ? $args['std'] : '';
859
-	$value       = wpinv_get_option( $args['id'], $std );
860
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
858
+	$std         = isset($args['std']) ? $args['std'] : '';
859
+	$value       = wpinv_get_option($args['id'], $std);
860
+    $sanitize_id = wpinv_sanitize_key($args['id']);
861 861
 
862
-	$html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $std ) . '" />';
863
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
862
+	$html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr($value) . '" data-default-color="' . esc_attr($std) . '" />';
863
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
864 864
 
865 865
 	echo $html;
866 866
 }
867 867
 
868 868
 function wpinv_country_states_callback($args) {
869 869
 
870
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
871
-	$value   = wpinv_get_option( $args['id'], $std );
870
+	$std     = isset($args['std']) ? $args['std'] : '';
871
+	$value   = wpinv_get_option($args['id'], $std);
872 872
 
873
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
873
+    $sanitize_id = wpinv_sanitize_key($args['id']);
874 874
 
875
-	if ( isset( $args['placeholder'] ) ) {
875
+	if (isset($args['placeholder'])) {
876 876
 		$placeholder = $args['placeholder'];
877 877
 	} else {
878 878
 		$placeholder = '';
@@ -880,16 +880,16 @@  discard block
 block discarded – undo
880 880
 
881 881
 	$states = wpinv_get_country_states();
882 882
 
883
-	$class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"';
884
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>';
883
+	$class = empty($states) ? ' class="wpinv-no-states"' : ' class="wpi_select2"';
884
+	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"' . $class . 'data-placeholder="' . esc_html($placeholder) . '"/>';
885 885
 
886
-	foreach ( $states as $option => $name ) {
887
-		$selected = selected( $option, $value, false );
888
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
886
+	foreach ($states as $option => $name) {
887
+		$selected = selected($option, $value, false);
888
+		$html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($name) . '</option>';
889 889
 	}
890 890
 
891 891
 	$html .= '</select>';
892
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
892
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
893 893
 
894 894
 	echo $html;
895 895
 }
@@ -904,7 +904,7 @@  discard block
 block discarded – undo
904 904
 	</tr>
905 905
 	<tr class="bsui">
906 906
     	<td colspan="2" class="p-0">
907
-			<?php include plugin_dir_path( __FILE__ ) . 'views/html-tax-rates-edit.php'; ?>
907
+			<?php include plugin_dir_path(__FILE__) . 'views/html-tax-rates-edit.php'; ?>
908 908
 
909 909
 	<?php
910 910
 
@@ -913,14 +913,14 @@  discard block
 block discarded – undo
913 913
 /**
914 914
  * Displays a tax rate' edit row.
915 915
  */
916
-function wpinv_tax_rate_callback( $tax_rate, $key, $echo = true ) {
916
+function wpinv_tax_rate_callback($tax_rate, $key, $echo = true) {
917 917
 	ob_start();
918 918
 
919
-	$key                      = sanitize_key( $key );
920
-	$tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate'];
921
-	include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php';
919
+	$key                      = sanitize_key($key);
920
+	$tax_rate['reduced_rate'] = empty($tax_rate['reduced_rate']) ? 0 : $tax_rate['reduced_rate'];
921
+	include plugin_dir_path(__FILE__) . 'views/html-tax-rate-edit.php';
922 922
 
923
-	if ( $echo ) {
923
+	if ($echo) {
924 924
 		echo ob_get_clean();
925 925
 	} else {
926 926
 		return ob_get_clean(); 
@@ -933,136 +933,136 @@  discard block
 block discarded – undo
933 933
     ob_start(); ?>
934 934
     </td><tr>
935 935
     <td colspan="2" class="wpinv_tools_tdbox">
936
-    <?php if ( $args['desc'] ) { ?><p><?php echo $args['desc']; ?></p><?php } ?>
937
-    <?php do_action( 'wpinv_tools_before' ); ?>
936
+    <?php if ($args['desc']) { ?><p><?php echo $args['desc']; ?></p><?php } ?>
937
+    <?php do_action('wpinv_tools_before'); ?>
938 938
     <table id="wpinv_tools_table" class="wp-list-table widefat fixed posts">
939 939
         <thead>
940 940
             <tr>
941
-                <th scope="col" class="wpinv-th-tool"><?php _e( 'Tool', 'invoicing' ); ?></th>
942
-                <th scope="col" class="wpinv-th-desc"><?php _e( 'Description', 'invoicing' ); ?></th>
943
-                <th scope="col" class="wpinv-th-action"><?php _e( 'Action', 'invoicing' ); ?></th>
941
+                <th scope="col" class="wpinv-th-tool"><?php _e('Tool', 'invoicing'); ?></th>
942
+                <th scope="col" class="wpinv-th-desc"><?php _e('Description', 'invoicing'); ?></th>
943
+                <th scope="col" class="wpinv-th-action"><?php _e('Action', 'invoicing'); ?></th>
944 944
             </tr>
945 945
         </thead>
946 946
 
947 947
         <tbody>
948 948
 			<tr>
949
-                <td><?php _e( 'Check Pages', 'invoicing' );?></td>
949
+                <td><?php _e('Check Pages', 'invoicing'); ?></td>
950 950
                 <td>
951
-                    <small><?php _e( 'Creates any missing GetPaid pages.', 'invoicing' ); ?></small>
951
+                    <small><?php _e('Creates any missing GetPaid pages.', 'invoicing'); ?></small>
952 952
                 </td>
953 953
                 <td>
954 954
 					<a href="<?php
955 955
 						echo esc_url(
956 956
 							wp_nonce_url(
957
-								add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
957
+								add_query_arg('getpaid-admin-action', 'create_missing_pages'),
958 958
 								'getpaid-nonce',
959 959
 								'getpaid-nonce'
960 960
 							)
961 961
 						);
962
-					?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
962
+					?>" class="button button-primary"><?php _e('Run', 'invoicing'); ?></a>
963 963
                 </td>
964 964
             </tr>
965 965
 			<tr>
966
-                <td><?php _e( 'Create Database Tables', 'invoicing' );?></td>
966
+                <td><?php _e('Create Database Tables', 'invoicing'); ?></td>
967 967
                 <td>
968
-                    <small><?php _e( 'Run this tool to create any missing database tables.', 'invoicing' ); ?></small>
968
+                    <small><?php _e('Run this tool to create any missing database tables.', 'invoicing'); ?></small>
969 969
                 </td>
970 970
                 <td>
971 971
 					<a href="<?php
972 972
 						echo esc_url(
973 973
 							wp_nonce_url(
974
-								add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ),
974
+								add_query_arg('getpaid-admin-action', 'create_missing_tables'),
975 975
 								'getpaid-nonce',
976 976
 								'getpaid-nonce'
977 977
 							)
978 978
 						);
979
-					?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
979
+					?>" class="button button-primary"><?php _e('Run', 'invoicing'); ?></a>
980 980
                 </td>
981 981
             </tr>
982 982
 			<tr>
983
-                <td><?php _e( 'Migrate old invoices', 'invoicing' );?></td>
983
+                <td><?php _e('Migrate old invoices', 'invoicing'); ?></td>
984 984
                 <td>
985
-                    <small><?php _e( 'If your old invoices were not migrated after updating from Invoicing to GetPaid, you can use this tool to migrate them.', 'invoicing' ); ?></small>
985
+                    <small><?php _e('If your old invoices were not migrated after updating from Invoicing to GetPaid, you can use this tool to migrate them.', 'invoicing'); ?></small>
986 986
                 </td>
987 987
                 <td>
988 988
 					<a href="<?php
989 989
 						echo esc_url(
990 990
 							wp_nonce_url(
991
-								add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ),
991
+								add_query_arg('getpaid-admin-action', 'migrate_old_invoices'),
992 992
 								'getpaid-nonce',
993 993
 								'getpaid-nonce'
994 994
 							)
995 995
 						);
996
-					?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
996
+					?>" class="button button-primary"><?php _e('Run', 'invoicing'); ?></a>
997 997
                 </td>
998 998
             </tr>
999 999
 
1000 1000
 			<tr>
1001
-                <td><?php _e( 'Recalculate Discounts', 'invoicing' );?></td>
1001
+                <td><?php _e('Recalculate Discounts', 'invoicing'); ?></td>
1002 1002
                 <td>
1003
-                    <small><?php _e( 'Recalculate discounts for existing invoices that have discount codes but are not discounted.', 'invoicing' ); ?></small>
1003
+                    <small><?php _e('Recalculate discounts for existing invoices that have discount codes but are not discounted.', 'invoicing'); ?></small>
1004 1004
                 </td>
1005 1005
                 <td>
1006 1006
 					<a href="<?php
1007 1007
 						echo esc_url(
1008 1008
 							wp_nonce_url(
1009
-								add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ),
1009
+								add_query_arg('getpaid-admin-action', 'recalculate_discounts'),
1010 1010
 								'getpaid-nonce',
1011 1011
 								'getpaid-nonce'
1012 1012
 							)
1013 1013
 						);
1014
-					?>" class="button button-primary"><?php _e( 'Run', 'invoicing' );?></a>
1014
+					?>" class="button button-primary"><?php _e('Run', 'invoicing'); ?></a>
1015 1015
                 </td>
1016 1016
             </tr>
1017 1017
 
1018 1018
 			<tr>
1019
-                <td><?php _e( 'Set-up Wizard', 'invoicing' );?></td>
1019
+                <td><?php _e('Set-up Wizard', 'invoicing'); ?></td>
1020 1020
                 <td>
1021
-                    <small><?php _e( 'Launch the quick set-up wizard.', 'invoicing' ); ?></small>
1021
+                    <small><?php _e('Launch the quick set-up wizard.', 'invoicing'); ?></small>
1022 1022
                 </td>
1023 1023
                 <td>
1024 1024
 					<a href="<?php
1025
-						echo esc_url( admin_url( 'index.php?page=gp-setup' ) );
1026
-					?>" class="button button-primary"><?php _e( 'Launch', 'invoicing' );?></a>
1025
+						echo esc_url(admin_url('index.php?page=gp-setup'));
1026
+					?>" class="button button-primary"><?php _e('Launch', 'invoicing'); ?></a>
1027 1027
                 </td>
1028 1028
             </tr>
1029 1029
 
1030
-			<?php do_action( 'wpinv_tools_row' ); ?>
1030
+			<?php do_action('wpinv_tools_row'); ?>
1031 1031
         </tbody>
1032 1032
     </table>
1033
-    <?php do_action( 'wpinv_tools_after' ); ?>
1033
+    <?php do_action('wpinv_tools_after'); ?>
1034 1034
     <?php
1035 1035
     echo ob_get_clean();
1036 1036
 }
1037 1037
 
1038 1038
 
1039
-function wpinv_descriptive_text_callback( $args ) {
1040
-	echo wp_kses_post( $args['desc'] );
1039
+function wpinv_descriptive_text_callback($args) {
1040
+	echo wp_kses_post($args['desc']);
1041 1041
 }
1042 1042
 
1043
-function wpinv_raw_html_callback( $args ) {
1043
+function wpinv_raw_html_callback($args) {
1044 1044
 	echo $args['desc'];
1045 1045
 }
1046 1046
 
1047
-function wpinv_hook_callback( $args ) {
1048
-	do_action( 'wpinv_' . $args['id'], $args );
1047
+function wpinv_hook_callback($args) {
1048
+	do_action('wpinv_' . $args['id'], $args);
1049 1049
 }
1050 1050
 
1051 1051
 function wpinv_set_settings_cap() {
1052 1052
 	return wpinv_get_capability();
1053 1053
 }
1054
-add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' );
1054
+add_filter('option_page_capability_wpinv_settings', 'wpinv_set_settings_cap');
1055 1055
 
1056 1056
 
1057
-function wpinv_on_update_settings( $old_value, $value, $option ) {
1058
-    $old = !empty( $old_value['remove_data_on_unistall'] ) ? 1 : '';
1059
-    $new = !empty( $value['remove_data_on_unistall'] ) ? 1 : '';
1057
+function wpinv_on_update_settings($old_value, $value, $option) {
1058
+    $old = !empty($old_value['remove_data_on_unistall']) ? 1 : '';
1059
+    $new = !empty($value['remove_data_on_unistall']) ? 1 : '';
1060 1060
     
1061
-    if ( $old != $new ) {
1062
-        update_option( 'wpinv_remove_data_on_invoice_unistall', $new );
1061
+    if ($old != $new) {
1062
+        update_option('wpinv_remove_data_on_invoice_unistall', $new);
1063 1063
     }
1064 1064
 }
1065
-add_action( 'update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3 );
1065
+add_action('update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3);
1066 1066
 
1067 1067
 /**
1068 1068
  * Returns the merge tags help text.
@@ -1071,16 +1071,16 @@  discard block
 block discarded – undo
1071 1071
  * 
1072 1072
  * @return string
1073 1073
  */
1074
-function wpinv_get_merge_tags_help_text( $subscription = false ) {
1074
+function wpinv_get_merge_tags_help_text($subscription = false) {
1075 1075
 
1076 1076
 	$url  = $subscription ? 'https://gist.github.com/picocodes/3d213982d57c34edf7a46fd3f0e8583e' : 'https://gist.github.com/picocodes/43bdc4d4bbba844534b2722e2af0b58f';
1077 1077
 	$link = sprintf(
1078 1078
 		'<strong><a href="%s" target="_blank">%s</a></strong>',
1079 1079
 		$url,
1080
-		esc_html__( 'View available merge tags.', 'wpinv-quotes' )
1080
+		esc_html__('View available merge tags.', 'wpinv-quotes')
1081 1081
 	);
1082 1082
 
1083
-	$description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' );
1083
+	$description = esc_html__('The content of the email (Merge Tags and HTML are allowed).', 'invoicing');
1084 1084
 
1085 1085
 	return "$description $link";
1086 1086
 
Please login to merge, or discard this patch.
includes/admin/views/wizard-introduction.php 1 patch
Spacing   +39 added lines, -39 removed lines patch added patch discarded remove patch
@@ -4,78 +4,78 @@  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
 
11 11
 <div class="card shadow-sm my-5">
12 12
 
13 13
     <h1 class="h4 card-header bg-white border-bottom-0 pt-4 pb-1">
14
-        <?php esc_html_e( 'Welcome to the GetPaid Setup Wizard!', 'invoicing' ); ?>
14
+        <?php esc_html_e('Welcome to the GetPaid Setup Wizard!', 'invoicing'); ?>
15 15
     </h1>
16 16
 
17 17
     <div class="card-body text-muted ">
18
-        <p><?php _e( 'Thank you for choosing GetPaid - The most Powerful Payments Plugin for WordPress', 'invoicing' ); ?></p>
18
+        <p><?php _e('Thank you for choosing GetPaid - The most Powerful Payments Plugin for WordPress', 'invoicing'); ?></p>
19 19
         <hr class="mt-4 pt-3 pb-0" />
20
-        <p class="small"><?php _e( 'This quick setup wizard will help you <b>configure the basic settings</b>. It’s <b>completely optional</b> and shouldn’t take longer than <b>five minutes</b>.', 'invoicing' ); ?></p>
20
+        <p class="small"><?php _e('This quick setup wizard will help you <b>configure the basic settings</b>. It’s <b>completely optional</b> and shouldn’t take longer than <b>five minutes</b>.', 'invoicing'); ?></p>
21 21
     </div>
22 22
 
23 23
     <div class="card-footer mb-0 bg-white gp-setup-actions step border-top-0">
24 24
         <a
25
-            href="<?php echo esc_url( $next_url ); ?>"
26
-            class="btn btn-primary button-next"><?php esc_html_e( "Let's go!", 'invoicing' ); ?></a>
25
+            href="<?php echo esc_url($next_url); ?>"
26
+            class="btn btn-primary button-next"><?php esc_html_e("Let's go!", 'invoicing'); ?></a>
27 27
         <a
28
-            href="<?php echo esc_url( admin_url() ); ?>"
29
-            class="btn btn-link d-block mt-2 "><?php esc_html_e( 'Not right now', 'invoicing' ); ?></a>
28
+            href="<?php echo esc_url(admin_url()); ?>"
29
+            class="btn btn-link d-block mt-2 "><?php esc_html_e('Not right now', 'invoicing'); ?></a>
30 30
     </div>
31 31
 </div>
32 32
 
33 33
 <div class="card shadow-sm my-5 overflow-hidden">
34 34
     <h1 class="h4 card-header bg-white border-bottom-0  pt-4 pb-1">
35
-        <?php esc_html_e( 'GetPaid Features & Addons!', 'invoicing' ); ?>
35
+        <?php esc_html_e('GetPaid Features & Addons!', 'invoicing'); ?>
36 36
     </h1>
37 37
 
38 38
     <div class="card-body text-muted overflow-hidden">
39
-		<p><?php _e( 'Collect one time & recurring payments online within minutes. No complex setup required.', 'invoicing' ); ?></p>
39
+		<p><?php _e('Collect one time & recurring payments online within minutes. No complex setup required.', 'invoicing'); ?></p>
40 40
 		<hr>
41 41
 
42 42
 		<div class="row row-cols-2 text-left">
43 43
 			<div class="col mt-3">
44 44
 				<div class="media">
45
-                    <img src="<?php echo WPINV_PLUGIN_URL . 'assets/images/buy.svg';?>" class="mr-3" alt="...">
45
+                    <img src="<?php echo WPINV_PLUGIN_URL . 'assets/images/buy.svg'; ?>" class="mr-3" alt="...">
46 46
                     <div class="media-body">
47
-                        <h6 class="mt-0 font-weight-bold"><?php _e( 'GetPaid via Buy Now Buttons', 'invoicing' );?></h6>
48
-                        <small><?php _e( 'Sell via buy now buttons anywhere on your site', 'invoicing' );?></small>
47
+                        <h6 class="mt-0 font-weight-bold"><?php _e('GetPaid via Buy Now Buttons', 'invoicing'); ?></h6>
48
+                        <small><?php _e('Sell via buy now buttons anywhere on your site', 'invoicing'); ?></small>
49 49
                     </div>
50 50
                 </div>
51 51
 			</div>
52 52
 
53 53
             <div class="col mt-3">
54 54
                 <div class="media">
55
-                    <img src="<?php echo WPINV_PLUGIN_URL . 'assets/images/report.svg';?>" class="mr-3" alt="...">
55
+                    <img src="<?php echo WPINV_PLUGIN_URL . 'assets/images/report.svg'; ?>" class="mr-3" alt="...">
56 56
                         <div class="media-body">
57
-                        <h6 class="mt-0 font-weight-bold"><?php _e( 'GetPaid via payment form', 'invoicing' );?></h6>
58
-                        <small><?php _e( 'Payment forms are conversion-optimized checkout forms', 'invoicing' );?></small>
57
+                        <h6 class="mt-0 font-weight-bold"><?php _e('GetPaid via payment form', 'invoicing'); ?></h6>
58
+                        <small><?php _e('Payment forms are conversion-optimized checkout forms', 'invoicing'); ?></small>
59 59
                     </div>
60 60
                 </div>
61 61
 		    </div>
62 62
 
63 63
             <div class="col mt-3">
64 64
                 <div class="media">
65
-                    <img src="<?php echo WPINV_PLUGIN_URL . 'assets/images/invoices.svg';?>" class="mr-3" alt="...">
65
+                    <img src="<?php echo WPINV_PLUGIN_URL . 'assets/images/invoices.svg'; ?>" class="mr-3" alt="...">
66 66
                     <div class="media-body">
67
-                        <h6 class="mt-0 font-weight-bold"><?php _e('GetPaid via Invoice','invoicing');?></h6>
68
-                        <small><?php _e('Create and send invoices for just about anything from the WordPress dashboard','invoicing');?></small>
67
+                        <h6 class="mt-0 font-weight-bold"><?php _e('GetPaid via Invoice', 'invoicing'); ?></h6>
68
+                        <small><?php _e('Create and send invoices for just about anything from the WordPress dashboard', 'invoicing'); ?></small>
69 69
                     </div>
70 70
                 </div>
71 71
 		    </div>
72 72
 
73 73
             <div class="col mt-3">
74 74
                 <div class="media">
75
-                    <img src="<?php echo WPINV_PLUGIN_URL . 'assets/images/payment.svg';?>" class="mr-3" alt="...">
75
+                    <img src="<?php echo WPINV_PLUGIN_URL . 'assets/images/payment.svg'; ?>" class="mr-3" alt="...">
76 76
                     <div class="media-body">
77
-                        <h6 class="mt-0 font-weight-bold"><?php _e('Affordable payment gateways','invoicing');?></h6>
78
-                        <small><?php _e('On average our gateways are over 66% cheaper than our competition','invoicing');?></small>
77
+                        <h6 class="mt-0 font-weight-bold"><?php _e('Affordable payment gateways', 'invoicing'); ?></h6>
78
+                        <small><?php _e('On average our gateways are over 66% cheaper than our competition', 'invoicing'); ?></small>
79 79
                     </div>
80 80
                 </div>
81 81
 		    </div>
@@ -86,51 +86,51 @@  discard block
 block discarded – undo
86 86
 	<div class="mt-5">
87 87
 		<a
88 88
             href="https://wpgetpaid.com/features-list/"
89
-			class="btn btn-primary"><?php esc_html_e( 'View All Features!', 'invoicing' ); ?></a>
89
+			class="btn btn-primary"><?php esc_html_e('View All Features!', 'invoicing'); ?></a>
90 90
 	</div>
91 91
 
92 92
 	<div class="mt-5 mx-n4 py-4" style="background:#eafaf6;">
93
-		<h4 class="mt-0 font-weight-bold text-dark mb-4"><?php _e( 'More with Membership!' , 'invoicing' );?></h4>
93
+		<h4 class="mt-0 font-weight-bold text-dark mb-4"><?php _e('More with Membership!', 'invoicing'); ?></h4>
94 94
 		<div class="row row-cols-2 text-left px-5">
95 95
 
96 96
 			<div class="col">
97 97
 				<ul class="list-unstyled">
98
-					<li class="my-2"><i class="far fa-check-circle text-success"></i> <?php _e( 'PDF Invoices' , 'invoicing' );?></li>
99
-					<li class="my-2"><i class="far fa-check-circle text-success"></i> <?php _e( 'Gravity Forms' , 'invoicing' );?></li>
100
-					<li class="my-2"><i class="far fa-check-circle text-success"></i> <?php _e( 'Contact form 7' , 'invoicing' );?></li>
101
-					<li class="my-2"><i class="far fa-check-circle text-success"></i> <?php _e( 'AffiliateWP Integration' , 'invoicing' );?></li>
98
+					<li class="my-2"><i class="far fa-check-circle text-success"></i> <?php _e('PDF Invoices', 'invoicing'); ?></li>
99
+					<li class="my-2"><i class="far fa-check-circle text-success"></i> <?php _e('Gravity Forms', 'invoicing'); ?></li>
100
+					<li class="my-2"><i class="far fa-check-circle text-success"></i> <?php _e('Contact form 7', 'invoicing'); ?></li>
101
+					<li class="my-2"><i class="far fa-check-circle text-success"></i> <?php _e('AffiliateWP Integration', 'invoicing'); ?></li>
102 102
 				</ul>
103 103
 			</div>
104 104
 
105 105
 			<div class="col">
106 106
 				<ul class="list-unstyled">
107
-			    	<li class="my-2"><i class="far fa-check-circle text-success"></i> <?php _e( 'Ninja forms' , 'invoicing' );?></li>
108
-					<li class="my-2"><i class="far fa-check-circle text-success"></i> <?php _e( 'Digital Downloads' , 'invoicing' );?></li>
109
-					<li class="my-2"><i class="far fa-check-circle text-success"></i> <?php _e( 'Wallet' , 'invoicing' );?></li>
107
+			    	<li class="my-2"><i class="far fa-check-circle text-success"></i> <?php _e('Ninja forms', 'invoicing'); ?></li>
108
+					<li class="my-2"><i class="far fa-check-circle text-success"></i> <?php _e('Digital Downloads', 'invoicing'); ?></li>
109
+					<li class="my-2"><i class="far fa-check-circle text-success"></i> <?php _e('Wallet', 'invoicing'); ?></li>
110 110
 				</ul>
111 111
 			</div>
112 112
 		</div>
113 113
 
114
-		<h5 class="mt-4 font-weight-bold text-dark mb-3"><?php _e('Membership Starts From','invoicing');?></h5>
115
-		<h1 class="mt-0 font-weight-bold text-dark mb-4 display-3"><?php esc_html_e( '$49', 'invoicing' ); ?></h1>
114
+		<h5 class="mt-4 font-weight-bold text-dark mb-3"><?php _e('Membership Starts From', 'invoicing'); ?></h5>
115
+		<h1 class="mt-0 font-weight-bold text-dark mb-4 display-3"><?php esc_html_e('$49', 'invoicing'); ?></h1>
116 116
 
117 117
 		<div class="mt-2">
118 118
 			<a
119 119
                 href="https://wpgetpaid.com/downloads/membership/"
120
-				class="btn btn-primary"><?php esc_html_e( 'Buy Membership Now!', 'invoicing' ); ?></a>
120
+				class="btn btn-primary"><?php esc_html_e('Buy Membership Now!', 'invoicing'); ?></a>
121 121
 		</div>
122 122
 
123 123
 	</div>
124 124
 
125 125
     <div class="card-footer mb-0 bg-white gp-setup-actions step border-top-0">
126 126
         <a
127
-            href="<?php echo esc_url( $next_url ); ?>"
128
-            class="btn btn-outline-primary button-next"><?php esc_html_e( 'Launch the Setup Wizard!', 'invoicing' ); ?></a>
127
+            href="<?php echo esc_url($next_url); ?>"
128
+            class="btn btn-outline-primary button-next"><?php esc_html_e('Launch the Setup Wizard!', 'invoicing'); ?></a>
129 129
         <a
130 130
             href="https://docs.wpgetpaid.com/"
131
-            class="btn btn-outline-primary ml-4"><?php esc_html_e( 'Documentation', 'invoicing' ); ?></a>
131
+            class="btn btn-outline-primary ml-4"><?php esc_html_e('Documentation', 'invoicing'); ?></a>
132 132
         <a
133
-            href="<?php echo esc_url( admin_url() ); ?>"
134
-            class="btn btn-link d-block mt-2 "><?php esc_html_e( 'Not right now', 'invoicing' ); ?></a>
133
+            href="<?php echo esc_url(admin_url()); ?>"
134
+            class="btn btn-link d-block mt-2 "><?php esc_html_e('Not right now', 'invoicing'); ?></a>
135 135
     </div>
136 136
 </div>
Please login to merge, or discard this patch.
includes/admin/class-getpaid-admin.php 2 patches
Indentation   +543 added lines, -543 removed lines patch added patch discarded remove patch
@@ -14,89 +14,89 @@  discard block
 block discarded – undo
14 14
 class GetPaid_Admin {
15 15
 
16 16
     /**
17
-	 * Local path to this plugins admin directory
18
-	 *
19
-	 * @var         string
20
-	 */
21
-	public $admin_path;
22
-
23
-	/**
24
-	 * Web path to this plugins admin directory
25
-	 *
26
-	 * @var         string
27
-	 */
28
-	public $admin_url;
17
+     * Local path to this plugins admin directory
18
+     *
19
+     * @var         string
20
+     */
21
+    public $admin_path;
22
+
23
+    /**
24
+     * Web path to this plugins admin directory
25
+     *
26
+     * @var         string
27
+     */
28
+    public $admin_url;
29 29
 	
30
-	/**
31
-	 * Reports components.
32
-	 *
33
-	 * @var GetPaid_Reports
34
-	 */
30
+    /**
31
+     * Reports components.
32
+     *
33
+     * @var GetPaid_Reports
34
+     */
35 35
     public $reports;
36 36
 
37 37
     /**
38
-	 * Class constructor.
39
-	 */
40
-	public function __construct(){
38
+     * Class constructor.
39
+     */
40
+    public function __construct(){
41 41
 
42 42
         $this->admin_path  = plugin_dir_path( __FILE__ );
43
-		$this->admin_url   = plugins_url( '/', __FILE__ );
44
-		$this->reports     = new GetPaid_Reports();
43
+        $this->admin_url   = plugins_url( '/', __FILE__ );
44
+        $this->reports     = new GetPaid_Reports();
45 45
 
46 46
         if ( is_admin() ) {
47
-			$this->init_admin_hooks();
47
+            $this->init_admin_hooks();
48 48
         }
49 49
 
50 50
     }
51 51
 
52 52
     /**
53
-	 * Init action and filter hooks
54
-	 *
55
-	 */
56
-	private function init_admin_hooks() {
53
+     * Init action and filter hooks
54
+     *
55
+     */
56
+    private function init_admin_hooks() {
57 57
         add_action( 'admin_enqueue_scripts', array( $this, 'enqeue_scripts' ) );
58 58
         add_filter( 'admin_body_class', array( $this, 'admin_body_class' ) );
59 59
         add_action( 'admin_init', array( $this, 'init_ayecode_connect_helper' ) );
60 60
         add_action( 'admin_init', array( $this, 'activation_redirect') );
61 61
         add_action( 'admin_init', array( $this, 'maybe_do_admin_action') );
62
-		add_action( 'admin_notices', array( $this, 'show_notices' ) );
63
-		add_action( 'getpaid_authenticated_admin_action_rate_plugin', array( $this, 'redirect_to_wordpress_rating_page' ) );
64
-		add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) );
65
-		add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) );
62
+        add_action( 'admin_notices', array( $this, 'show_notices' ) );
63
+        add_action( 'getpaid_authenticated_admin_action_rate_plugin', array( $this, 'redirect_to_wordpress_rating_page' ) );
64
+        add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) );
65
+        add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) );
66 66
         add_action( 'getpaid_authenticated_admin_action_reset_tax_rates', array( $this, 'admin_reset_tax_rates' ) );
67
-		add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) );
68
-		add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) );
69
-		add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) );
70
-		add_action( 'getpaid_authenticated_admin_action_download_customers', array( $this, 'admin_download_customers' ) );
71
-		add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) );
72
-		add_action( 'getpaid_authenticated_admin_action_install_plugin', array( $this, 'admin_install_plugin' ) );
73
-		add_action( 'getpaid_authenticated_admin_action_connect_gateway', array( $this, 'admin_connect_gateway' ) );
74
-		add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) );
75
-		do_action( 'getpaid_init_admin_hooks', $this );
76
-
77
-		// Setup/welcome
78
-		if ( ! empty( $_GET['page'] ) ) {
79
-			switch ( $_GET['page'] ) {
80
-				case 'gp-setup' :
81
-					include_once( dirname( __FILE__ ) . '/class-getpaid-admin-setup-wizard.php' );
82
-					break;
83
-			}
84
-		}
67
+        add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) );
68
+        add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) );
69
+        add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) );
70
+        add_action( 'getpaid_authenticated_admin_action_download_customers', array( $this, 'admin_download_customers' ) );
71
+        add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) );
72
+        add_action( 'getpaid_authenticated_admin_action_install_plugin', array( $this, 'admin_install_plugin' ) );
73
+        add_action( 'getpaid_authenticated_admin_action_connect_gateway', array( $this, 'admin_connect_gateway' ) );
74
+        add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) );
75
+        do_action( 'getpaid_init_admin_hooks', $this );
76
+
77
+        // Setup/welcome
78
+        if ( ! empty( $_GET['page'] ) ) {
79
+            switch ( $_GET['page'] ) {
80
+                case 'gp-setup' :
81
+                    include_once( dirname( __FILE__ ) . '/class-getpaid-admin-setup-wizard.php' );
82
+                    break;
83
+            }
84
+        }
85 85
 
86 86
     }
87 87
 
88 88
     /**
89
-	 * Register admin scripts
90
-	 *
91
-	 */
92
-	public function enqeue_scripts() {
89
+     * Register admin scripts
90
+     *
91
+     */
92
+    public function enqeue_scripts() {
93 93
         global $current_screen, $pagenow;
94 94
 
95
-		$page    = isset( $_GET['page'] ) ? $_GET['page'] : '';
96
-		$editing = $pagenow == 'post.php' || $pagenow == 'post-new.php';
95
+        $page    = isset( $_GET['page'] ) ? $_GET['page'] : '';
96
+        $editing = $pagenow == 'post.php' || $pagenow == 'post-new.php';
97 97
 
98 98
         if ( ! empty( $current_screen->post_type ) ) {
99
-			$page = $current_screen->post_type;
99
+            $page = $current_screen->post_type;
100 100
         }
101 101
 
102 102
         // General styles.
@@ -117,54 +117,54 @@  discard block
 block discarded – undo
117 117
         }
118 118
 
119 119
         // Payment form scripts.
120
-		if ( 'wpi_payment_form' == $page && $editing ) {
120
+        if ( 'wpi_payment_form' == $page && $editing ) {
121 121
             $this->load_payment_form_scripts();
122 122
         }
123 123
 
124
-		if ( $page == 'wpinv-subscriptions' ) {
125
-			wp_enqueue_script( 'postbox' );
126
-		}
124
+        if ( $page == 'wpinv-subscriptions' ) {
125
+            wp_enqueue_script( 'postbox' );
126
+        }
127 127
 
128 128
     }
129 129
 
130 130
     /**
131
-	 * Returns admin js translations.
132
-	 *
133
-	 */
134
-	protected function get_admin_i18() {
131
+     * Returns admin js translations.
132
+     *
133
+     */
134
+    protected function get_admin_i18() {
135 135
         global $post;
136 136
 
137
-		$date_range = array(
138
-			'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days'
139
-		);
137
+        $date_range = array(
138
+            'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days'
139
+        );
140 140
 
141
-		if ( $date_range['period'] == 'custom' ) {
141
+        if ( $date_range['period'] == 'custom' ) {
142 142
 			
143
-			if ( isset( $_GET['from'] ) ) {
144
-				$date_range[ 'after' ] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS );
145
-			}
143
+            if ( isset( $_GET['from'] ) ) {
144
+                $date_range[ 'after' ] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS );
145
+            }
146 146
 
147
-			if ( isset( $_GET['to'] ) ) {
148
-				$date_range[ 'before' ] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS );
149
-			}
147
+            if ( isset( $_GET['to'] ) ) {
148
+                $date_range[ 'before' ] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS );
149
+            }
150 150
 
151
-		}
151
+        }
152 152
 
153 153
         $i18n = array(
154 154
             'ajax_url'                  => admin_url( 'admin-ajax.php' ),
155 155
             'post_ID'                   => isset( $post->ID ) ? $post->ID : '',
156
-			'wpinv_nonce'               => wp_create_nonce( 'wpinv-nonce' ),
157
-			'rest_nonce'                => wp_create_nonce( 'wp_rest' ),
158
-			'rest_root'                 => esc_url_raw( rest_url() ),
159
-			'date_range'                => $date_range,
156
+            'wpinv_nonce'               => wp_create_nonce( 'wpinv-nonce' ),
157
+            'rest_nonce'                => wp_create_nonce( 'wp_rest' ),
158
+            'rest_root'                 => esc_url_raw( rest_url() ),
159
+            'date_range'                => $date_range,
160 160
             'add_invoice_note_nonce'    => wp_create_nonce( 'add-invoice-note' ),
161 161
             'delete_invoice_note_nonce' => wp_create_nonce( 'delete-invoice-note' ),
162 162
             'invoice_item_nonce'        => wp_create_nonce( 'invoice-item' ),
163 163
             'billing_details_nonce'     => wp_create_nonce( 'get-billing-details' ),
164 164
             'tax'                       => wpinv_tax_amount(),
165 165
             'discount'                  => 0,
166
-			'currency_symbol'           => wpinv_currency_symbol(),
167
-			'currency'                  => wpinv_get_currency(),
166
+            'currency_symbol'           => wpinv_currency_symbol(),
167
+            'currency'                  => wpinv_get_currency(),
168 168
             'currency_pos'              => wpinv_currency_position(),
169 169
             'thousand_sep'              => wpinv_thousands_separator(),
170 170
             'decimal_sep'               => wpinv_decimal_separator(),
@@ -184,118 +184,118 @@  discard block
 block discarded – undo
184 184
             'item_description'          => __( 'Item Description', 'invoicing' ),
185 185
             'invoice_description'       => __( 'Invoice Description', 'invoicing' ),
186 186
             'discount_description'      => __( 'Discount Description', 'invoicing' ),
187
-			'searching'                 => __( 'Searching', 'invoicing' ),
188
-			'loading'                   => __( 'Loading...', 'invoicing' ),
189
-			'search_customers'          => __( 'Enter customer name or email', 'invoicing' ),
190
-			'search_items'              => __( 'Enter item name', 'invoicing' ),
187
+            'searching'                 => __( 'Searching', 'invoicing' ),
188
+            'loading'                   => __( 'Loading...', 'invoicing' ),
189
+            'search_customers'          => __( 'Enter customer name or email', 'invoicing' ),
190
+            'search_items'              => __( 'Enter item name', 'invoicing' ),
191 191
         );
192 192
 
193
-		if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) {
193
+        if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) {
194 194
 
195
-			$invoice              = new WPInv_Invoice( $post );
196
-			$i18n['save_invoice'] = sprintf(
197
-				__( 'Save %s', 'invoicing' ),
198
-				ucfirst( $invoice->get_invoice_quote_type() )
199
-			);
195
+            $invoice              = new WPInv_Invoice( $post );
196
+            $i18n['save_invoice'] = sprintf(
197
+                __( 'Save %s', 'invoicing' ),
198
+                ucfirst( $invoice->get_invoice_quote_type() )
199
+            );
200 200
 
201
-			$i18n['invoice_description'] = sprintf(
202
-				__( '%s Description', 'invoicing' ),
203
-				ucfirst( $invoice->get_invoice_quote_type() )
204
-			);
201
+            $i18n['invoice_description'] = sprintf(
202
+                __( '%s Description', 'invoicing' ),
203
+                ucfirst( $invoice->get_invoice_quote_type() )
204
+            );
205 205
 
206
-		}
207
-		return $i18n;
208
-	}
206
+        }
207
+        return $i18n;
208
+    }
209 209
 
210
-	/**
211
-	 * Change the admin footer text on GetPaid admin pages.
212
-	 *
213
-	 * @since  2.0.0
214
-	 * @param  string $footer_text
215
-	 * @return string
216
-	 */
217
-	public function admin_footer_text( $footer_text ) {
218
-		global $current_screen;
210
+    /**
211
+     * Change the admin footer text on GetPaid admin pages.
212
+     *
213
+     * @since  2.0.0
214
+     * @param  string $footer_text
215
+     * @return string
216
+     */
217
+    public function admin_footer_text( $footer_text ) {
218
+        global $current_screen;
219 219
 
220
-		$page    = isset( $_GET['page'] ) ? $_GET['page'] : '';
220
+        $page    = isset( $_GET['page'] ) ? $_GET['page'] : '';
221 221
 
222 222
         if ( ! empty( $current_screen->post_type ) ) {
223
-			$page = $current_screen->post_type;
223
+            $page = $current_screen->post_type;
224 224
         }
225 225
 
226 226
         // General styles.
227 227
         if ( apply_filters( 'getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing() ) && false !== stripos( $page, 'wpi' ) ) {
228 228
 
229
-			// Change the footer text
230
-			if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) {
231
-
232
-				$rating_url  = esc_url(
233
-					wp_nonce_url(
234
-						admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ),
235
-						'getpaid-nonce',
236
-						'getpaid-nonce'
237
-						)
238
-				);
239
-
240
-				$footer_text = sprintf(
241
-					/* translators: %s: five stars */
242
-					__( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ),
243
-					"<a href='$rating_url'>&#9733;&#9733;&#9733;&#9733;&#9733;</a>"
244
-				);
245
-
246
-			} else {
247
-
248
-				$footer_text = sprintf(
249
-					/* translators: %s: GetPaid */
250
-					__( 'Thank you for using %s!', 'invoicing' ),
251
-					"<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>"
252
-				);
253
-
254
-			}
255
-
256
-		}
257
-
258
-		return $footer_text;
259
-	}
260
-
261
-	/**
262
-	 * Redirects to wp.org to rate the plugin.
263
-	 *
264
-	 * @since  2.0.0
265
-	 */
266
-	public function redirect_to_wordpress_rating_page() {
267
-		update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 );
268
-		wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' );
269
-		exit;
270
-	}
271
-
272
-    /**
273
-	 * Loads payment form js.
274
-	 *
275
-	 */
276
-	protected function load_payment_form_scripts() {
229
+            // Change the footer text
230
+            if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) {
231
+
232
+                $rating_url  = esc_url(
233
+                    wp_nonce_url(
234
+                        admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ),
235
+                        'getpaid-nonce',
236
+                        'getpaid-nonce'
237
+                        )
238
+                );
239
+
240
+                $footer_text = sprintf(
241
+                    /* translators: %s: five stars */
242
+                    __( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ),
243
+                    "<a href='$rating_url'>&#9733;&#9733;&#9733;&#9733;&#9733;</a>"
244
+                );
245
+
246
+            } else {
247
+
248
+                $footer_text = sprintf(
249
+                    /* translators: %s: GetPaid */
250
+                    __( 'Thank you for using %s!', 'invoicing' ),
251
+                    "<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>"
252
+                );
253
+
254
+            }
255
+
256
+        }
257
+
258
+        return $footer_text;
259
+    }
260
+
261
+    /**
262
+     * Redirects to wp.org to rate the plugin.
263
+     *
264
+     * @since  2.0.0
265
+     */
266
+    public function redirect_to_wordpress_rating_page() {
267
+        update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 );
268
+        wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' );
269
+        exit;
270
+    }
271
+
272
+    /**
273
+     * Loads payment form js.
274
+     *
275
+     */
276
+    protected function load_payment_form_scripts() {
277 277
         global $post;
278 278
 
279 279
         wp_enqueue_script( 'vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.js', array(), WPINV_VERSION );
280
-		wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION );
281
-		wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION );
280
+        wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION );
281
+        wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION );
282 282
 
283
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin-payment-forms.js' );
284
-		wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.js', array( 'wpinv-admin-script', 'vue_draggable' ),  $version );
283
+        $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin-payment-forms.js' );
284
+        wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.js', array( 'wpinv-admin-script', 'vue_draggable' ),  $version );
285 285
 
286
-		wp_localize_script(
286
+        wp_localize_script(
287 287
             'wpinv-admin-payment-form-script',
288 288
             'wpinvPaymentFormAdmin',
289 289
             array(
290
-				'elements'      => wpinv_get_data( 'payment-form-elements' ),
291
-				'form_elements' => getpaid_get_payment_form_elements( $post->ID ),
292
-				'currency'      => wpinv_currency_symbol(),
293
-				'position'      => wpinv_currency_position(),
294
-				'decimals'      => (int) wpinv_decimals(),
295
-				'thousands_sep' => wpinv_thousands_separator(),
296
-				'decimals_sep'  => wpinv_decimal_separator(),
297
-				'form_items'    => gepaid_get_form_items( $post->ID ),
298
-				'is_default'    => $post->ID == wpinv_get_default_payment_form(),
290
+                'elements'      => wpinv_get_data( 'payment-form-elements' ),
291
+                'form_elements' => getpaid_get_payment_form_elements( $post->ID ),
292
+                'currency'      => wpinv_currency_symbol(),
293
+                'position'      => wpinv_currency_position(),
294
+                'decimals'      => (int) wpinv_decimals(),
295
+                'thousands_sep' => wpinv_thousands_separator(),
296
+                'decimals_sep'  => wpinv_decimal_separator(),
297
+                'form_items'    => gepaid_get_form_items( $post->ID ),
298
+                'is_default'    => $post->ID == wpinv_get_default_payment_form(),
299 299
             )
300 300
         );
301 301
 
@@ -304,20 +304,20 @@  discard block
 block discarded – undo
304 304
     }
305 305
 
306 306
     /**
307
-	 * Add our classes to admin pages.
307
+     * Add our classes to admin pages.
308 308
      *
309 309
      * @param string $classes
310 310
      * @return string
311
-	 *
312
-	 */
311
+     *
312
+     */
313 313
     public function admin_body_class( $classes ) {
314
-		global $pagenow, $post, $current_screen;
314
+        global $pagenow, $post, $current_screen;
315 315
 
316 316
 
317 317
         $page = isset( $_GET['page'] ) ? $_GET['page'] : '';
318 318
 
319 319
         if ( ! empty( $current_screen->post_type ) ) {
320
-			$page = $current_screen->post_type;
320
+            $page = $current_screen->post_type;
321 321
         }
322 322
 
323 323
         if ( false !== stripos( $page, 'wpi' ) ) {
@@ -326,68 +326,68 @@  discard block
 block discarded – undo
326 326
 
327 327
         if ( in_array( $page, wpinv_parse_list( 'wpi_invoice wpi_payment_form wpi_quote' ) ) ) {
328 328
             $classes .= ' wpinv-cpt wpinv';
329
-		}
329
+        }
330 330
 		
331
-		if ( getpaid_is_invoice_post_type( $page ) ) {
331
+        if ( getpaid_is_invoice_post_type( $page ) ) {
332 332
             $classes .= ' getpaid-is-invoice-cpt';
333 333
         }
334 334
 
335
-		return $classes;
335
+        return $classes;
336 336
     }
337 337
 
338 338
     /**
339
-	 * Maybe show the AyeCode Connect Notice.
340
-	 */
341
-	public function init_ayecode_connect_helper(){
339
+     * Maybe show the AyeCode Connect Notice.
340
+     */
341
+    public function init_ayecode_connect_helper(){
342 342
 
343
-		// Register with the deactivation survey class.
344
-		AyeCode_Deactivation_Survey::instance(array(
345
-			'slug'		        => 'invoicing',
346
-			'version'	        => WPINV_VERSION,
347
-			'support_url'       => 'https://wpgetpaid.com/support/',
348
-			'documentation_url' => 'https://docs.wpgetpaid.com/',
349
-			'activated'         => (int) get_option( 'gepaid_installed_on' ),
350
-		));
343
+        // Register with the deactivation survey class.
344
+        AyeCode_Deactivation_Survey::instance(array(
345
+            'slug'		        => 'invoicing',
346
+            'version'	        => WPINV_VERSION,
347
+            'support_url'       => 'https://wpgetpaid.com/support/',
348
+            'documentation_url' => 'https://docs.wpgetpaid.com/',
349
+            'activated'         => (int) get_option( 'gepaid_installed_on' ),
350
+        ));
351 351
 
352 352
         new AyeCode_Connect_Helper(
353 353
             array(
354
-				'connect_title' => __("WP Invoicing - an AyeCode product!","invoicing"),
355
-				'connect_external'  => __( "Please confirm you wish to connect your site?","invoicing" ),
356
-				'connect'           => sprintf( __( "<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s","invoicing" ),"<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>","</a>" ),
357
-				'connect_button'    => __("Connect Site","invoicing"),
358
-				'connecting_button'    => __("Connecting...","invoicing"),
359
-				'error_localhost'   => __( "This service will only work with a live domain, not a localhost.","invoicing" ),
360
-				'error'             => __( "Something went wrong, please refresh and try again.","invoicing" ),
354
+                'connect_title' => __("WP Invoicing - an AyeCode product!","invoicing"),
355
+                'connect_external'  => __( "Please confirm you wish to connect your site?","invoicing" ),
356
+                'connect'           => sprintf( __( "<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s","invoicing" ),"<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>","</a>" ),
357
+                'connect_button'    => __("Connect Site","invoicing"),
358
+                'connecting_button'    => __("Connecting...","invoicing"),
359
+                'error_localhost'   => __( "This service will only work with a live domain, not a localhost.","invoicing" ),
360
+                'error'             => __( "Something went wrong, please refresh and try again.","invoicing" ),
361 361
             ),
362 362
             array( 'wpi-addons' )
363 363
         );
364 364
 
365 365
     }
366 366
 
367
-	/**
368
-	 * Redirect users to settings on activation.
369
-	 *
370
-	 * @return void
371
-	 */
372
-	public function activation_redirect() {
367
+    /**
368
+     * Redirect users to settings on activation.
369
+     *
370
+     * @return void
371
+     */
372
+    public function activation_redirect() {
373 373
 
374
-		$redirected = get_option( 'wpinv_redirected_to_settings' );
374
+        $redirected = get_option( 'wpinv_redirected_to_settings' );
375 375
 
376
-		if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) {
377
-			return;
378
-		}
376
+        if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) {
377
+            return;
378
+        }
379 379
 
380
-		// Bail if activating from network, or bulk
381
-		if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
382
-			return;
383
-		}
380
+        // Bail if activating from network, or bulk
381
+        if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
382
+            return;
383
+        }
384 384
 
385
-	    update_option( 'wpinv_redirected_to_settings', 1 );
385
+        update_option( 'wpinv_redirected_to_settings', 1 );
386 386
 
387 387
         wp_safe_redirect( admin_url( 'index.php?page=gp-setup' ) );
388 388
         exit;
389 389
 
390
-	}
390
+    }
391 391
 
392 392
     /**
393 393
      * Fires an admin action after verifying that a user can fire them.
@@ -401,458 +401,458 @@  discard block
 block discarded – undo
401 401
 
402 402
     }
403 403
 
404
-	/**
404
+    /**
405 405
      * Sends a payment reminder to a customer.
406
-	 * 
407
-	 * @param array $args
406
+     * 
407
+     * @param array $args
408 408
      */
409 409
     public function send_customer_invoice( $args ) {
410
-		$sent = getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true );
410
+        $sent = getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true );
411 411
 
412
-		if ( $sent ) {
413
-			$this->show_success( __( 'Invoice was successfully sent to the customer', 'invoicing' ) );
414
-		} else {
415
-			$this->show_error( __( 'Could not send the invoice to the customer', 'invoicing' ) );
416
-		}
412
+        if ( $sent ) {
413
+            $this->show_success( __( 'Invoice was successfully sent to the customer', 'invoicing' ) );
414
+        } else {
415
+            $this->show_error( __( 'Could not send the invoice to the customer', 'invoicing' ) );
416
+        }
417 417
 
418
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
419
-		exit;
420
-	}
418
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
419
+        exit;
420
+    }
421 421
 
422
-	/**
422
+    /**
423 423
      * Sends a payment reminder to a customer.
424
-	 * 
425
-	 * @param array $args
424
+     * 
425
+     * @param array $args
426 426
      */
427 427
     public function send_customer_payment_reminder( $args ) {
428
-		$sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) );
428
+        $sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) );
429 429
 
430
-		if ( $sent ) {
431
-			$this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) );
432
-		} else {
433
-			$this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) );
434
-		}
430
+        if ( $sent ) {
431
+            $this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) );
432
+        } else {
433
+            $this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) );
434
+        }
435 435
 
436
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
437
-		exit;
438
-	}
436
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
437
+        exit;
438
+    }
439 439
 
440
-	/**
440
+    /**
441 441
      * Resets tax rates.
442
-	 * 
442
+     * 
443 443
      */
444 444
     public function admin_reset_tax_rates() {
445 445
 
446
-		update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
447
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
448
-		exit;
446
+        update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
447
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
448
+        exit;
449 449
 
450
-	}
450
+    }
451 451
 
452
-	/**
452
+    /**
453 453
      * Resets admin pages.
454
-	 * 
454
+     * 
455 455
      */
456 456
     public function admin_create_missing_pages() {
457
-		$installer = new GetPaid_Installer();
458
-		$installer->create_pages();
459
-		$this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) );
460
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
461
-		exit;
462
-	}
463
-
464
-	/**
457
+        $installer = new GetPaid_Installer();
458
+        $installer->create_pages();
459
+        $this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) );
460
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
461
+        exit;
462
+    }
463
+
464
+    /**
465 465
      * Creates an missing admin tables.
466
-	 * 
466
+     * 
467 467
      */
468 468
     public function admin_create_missing_tables() {
469
-		global $wpdb;
470
-		$installer = new GetPaid_Installer();
469
+        global $wpdb;
470
+        $installer = new GetPaid_Installer();
471 471
 
472
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}wpinv_subscriptions'" ) != $wpdb->prefix . 'wpinv_subscriptions' ) {
473
-			$installer->create_subscriptions_table();
472
+        if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}wpinv_subscriptions'" ) != $wpdb->prefix . 'wpinv_subscriptions' ) {
473
+            $installer->create_subscriptions_table();
474 474
 
475
-			if ( $wpdb->last_error !== '' ) {
476
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
477
-			}
478
-		}
475
+            if ( $wpdb->last_error !== '' ) {
476
+                $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
477
+            }
478
+        }
479 479
 
480
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) != $wpdb->prefix . 'getpaid_invoices' ) {
481
-			$installer->create_invoices_table();
480
+        if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) != $wpdb->prefix . 'getpaid_invoices' ) {
481
+            $installer->create_invoices_table();
482 482
 
483
-			if ( $wpdb->last_error !== '' ) {
484
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
485
-			}
486
-		}
483
+            if ( $wpdb->last_error !== '' ) {
484
+                $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
485
+            }
486
+        }
487 487
 
488
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoice_items'" ) != $wpdb->prefix . 'getpaid_invoice_items' ) {
489
-			$installer->create_invoice_items_table();
488
+        if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoice_items'" ) != $wpdb->prefix . 'getpaid_invoice_items' ) {
489
+            $installer->create_invoice_items_table();
490 490
 
491
-			if ( $wpdb->last_error !== '' ) {
492
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
493
-			}
494
-		}
491
+            if ( $wpdb->last_error !== '' ) {
492
+                $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
493
+            }
494
+        }
495 495
 
496
-		if ( ! $this->has_notices() ) {
497
-			$this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) );
498
-		}
496
+        if ( ! $this->has_notices() ) {
497
+            $this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) );
498
+        }
499 499
 
500
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
501
-		exit;
502
-	}
500
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
501
+        exit;
502
+    }
503 503
 
504
-	/**
504
+    /**
505 505
      * Migrates old invoices to the new database tables.
506
-	 * 
506
+     * 
507 507
      */
508 508
     public function admin_migrate_old_invoices() {
509 509
 
510
-		// Migrate the invoices.
511
-		$installer = new GetPaid_Installer();
512
-		$installer->migrate_old_invoices();
510
+        // Migrate the invoices.
511
+        $installer = new GetPaid_Installer();
512
+        $installer->migrate_old_invoices();
513 513
 
514
-		// Show an admin message.
515
-		$this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) );
514
+        // Show an admin message.
515
+        $this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) );
516 516
 
517
-		// Redirect the admin.
518
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
519
-		exit;
517
+        // Redirect the admin.
518
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
519
+        exit;
520 520
 
521
-	}
521
+    }
522 522
 
523
-	/**
523
+    /**
524 524
      * Download customers.
525
-	 * 
525
+     * 
526 526
      */
527 527
     public function admin_download_customers() {
528
-		global $wpdb;
528
+        global $wpdb;
529 529
 
530
-		$output = fopen( 'php://output', 'w' ) or die( __( 'Unsupported server', 'invoicing' ) );
530
+        $output = fopen( 'php://output', 'w' ) or die( __( 'Unsupported server', 'invoicing' ) );
531 531
 
532
-		header( "Content-Type:text/csv" );
533
-		header( "Content-Disposition:attachment;filename=customers.csv" );
532
+        header( "Content-Type:text/csv" );
533
+        header( "Content-Disposition:attachment;filename=customers.csv" );
534 534
 
535
-		$post_types = '';
535
+        $post_types = '';
536 536
 
537
-		foreach ( array_keys( getpaid_get_invoice_post_types() ) as $post_type ) {
538
-			$post_types .= $wpdb->prepare( "post_type=%s OR ", $post_type );
539
-		}
537
+        foreach ( array_keys( getpaid_get_invoice_post_types() ) as $post_type ) {
538
+            $post_types .= $wpdb->prepare( "post_type=%s OR ", $post_type );
539
+        }
540 540
 
541
-		$post_types = rtrim( $post_types, ' OR' );
541
+        $post_types = rtrim( $post_types, ' OR' );
542 542
 
543
-		$customers = $wpdb->get_col(
544
-			$wpdb->prepare(
545
-				"SELECT DISTINCT( post_author ) FROM $wpdb->posts WHERE $post_types"
546
-			)
547
-		);
543
+        $customers = $wpdb->get_col(
544
+            $wpdb->prepare(
545
+                "SELECT DISTINCT( post_author ) FROM $wpdb->posts WHERE $post_types"
546
+            )
547
+        );
548 548
 
549
-		$columns = array(
550
-			'name'     => __( 'Name', 'invoicing' ),
551
-			'email'    => __( 'Email', 'invoicing' ),
552
-			'country'  => __( 'Country', 'invoicing' ),
553
-			'state'    => __( 'State', 'invoicing' ),
554
-			'city'     => __( 'City', 'invoicing' ),
555
-			'zip'      => __( 'ZIP', 'invoicing' ),
556
-			'address'  => __( 'Address', 'invoicing' ),
557
-			'phone'    => __( 'Phone', 'invoicing' ),
558
-			'company'  => __( 'Company', 'invoicing' ),
559
-			'invoices' => __( 'Invoices', 'invoicing' ),
560
-			'total_raw' => __( 'Total Spend', 'invoicing' ),
561
-			'signup'   => __( 'Date created', 'invoicing' ),
562
-		);
549
+        $columns = array(
550
+            'name'     => __( 'Name', 'invoicing' ),
551
+            'email'    => __( 'Email', 'invoicing' ),
552
+            'country'  => __( 'Country', 'invoicing' ),
553
+            'state'    => __( 'State', 'invoicing' ),
554
+            'city'     => __( 'City', 'invoicing' ),
555
+            'zip'      => __( 'ZIP', 'invoicing' ),
556
+            'address'  => __( 'Address', 'invoicing' ),
557
+            'phone'    => __( 'Phone', 'invoicing' ),
558
+            'company'  => __( 'Company', 'invoicing' ),
559
+            'invoices' => __( 'Invoices', 'invoicing' ),
560
+            'total_raw' => __( 'Total Spend', 'invoicing' ),
561
+            'signup'   => __( 'Date created', 'invoicing' ),
562
+        );
563 563
 
564
-		// Output the csv column headers.
565
-		fputcsv( $output, array_values( $columns ) );
564
+        // Output the csv column headers.
565
+        fputcsv( $output, array_values( $columns ) );
566 566
 
567
-		// Loop through
568
-		$table = new WPInv_Customers_Table();
569
-		foreach ( $customers as $customer_id ) {
567
+        // Loop through
568
+        $table = new WPInv_Customers_Table();
569
+        foreach ( $customers as $customer_id ) {
570 570
 
571
-			$user = get_user_by( 'id', $customer_id );
572
-			$row  = array();
573
-			if ( empty( $user ) ) {
574
-				continue;
575
-			}
571
+            $user = get_user_by( 'id', $customer_id );
572
+            $row  = array();
573
+            if ( empty( $user ) ) {
574
+                continue;
575
+            }
576 576
 
577
-			foreach ( array_keys( $columns ) as $column ) {
577
+            foreach ( array_keys( $columns ) as $column ) {
578 578
 
579
-				$method = 'column_' . $column;
579
+                $method = 'column_' . $column;
580 580
 
581
-				if ( 'name' == $column ) {
582
-					$value = sanitize_text_field( $user->display_name );
583
-				} else if( 'email' == $column ) {
584
-					$value = sanitize_email( $user->user_email );
585
-				} else if ( is_callable( array( $table, $method ) ) ) {
586
-					$value = strip_tags( $table->$method( $user ) );
587
-				}
581
+                if ( 'name' == $column ) {
582
+                    $value = sanitize_text_field( $user->display_name );
583
+                } else if( 'email' == $column ) {
584
+                    $value = sanitize_email( $user->user_email );
585
+                } else if ( is_callable( array( $table, $method ) ) ) {
586
+                    $value = strip_tags( $table->$method( $user ) );
587
+                }
588 588
 
589
-				if ( empty( $value ) ) {
590
-					$value = sanitize_text_field( get_user_meta( $user->ID, '_wpinv_' . $column, true ) );
591
-				}
589
+                if ( empty( $value ) ) {
590
+                    $value = sanitize_text_field( get_user_meta( $user->ID, '_wpinv_' . $column, true ) );
591
+                }
592 592
 
593
-				$row[] = $value;
593
+                $row[] = $value;
594 594
 
595
-			}
595
+            }
596 596
 
597
-			fputcsv( $output, $row );
598
-		}
597
+            fputcsv( $output, $row );
598
+        }
599 599
 
600
-		fclose( $output );
601
-		exit;
600
+        fclose( $output );
601
+        exit;
602 602
 
603
-	}
603
+    }
604 604
 
605
-	/**
605
+    /**
606 606
      * Installs a plugin.
607
-	 *
608
-	 * @param array $data
607
+     *
608
+     * @param array $data
609 609
      */
610 610
     public function admin_install_plugin( $data ) {
611 611
 
612
-		if ( ! empty( $data['plugins'] ) ) {
613
-			include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
614
-			wp_cache_flush();
612
+        if ( ! empty( $data['plugins'] ) ) {
613
+            include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
614
+            wp_cache_flush();
615 615
 
616
-			foreach ( $data['plugins'] as $slug => $file ) {
617
-				$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' );
618
-				$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
619
-				$installed  = $upgrader->install( $plugin_zip );
616
+            foreach ( $data['plugins'] as $slug => $file ) {
617
+                $plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' );
618
+                $upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
619
+                $installed  = $upgrader->install( $plugin_zip );
620 620
 
621
-				if ( ! is_wp_error( $installed ) && $installed ) {
622
-					activate_plugin( $file, '', false, true );
623
-				} else {
624
-					wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false );
625
-				}
621
+                if ( ! is_wp_error( $installed ) && $installed ) {
622
+                    activate_plugin( $file, '', false, true );
623
+                } else {
624
+                    wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false );
625
+                }
626 626
 
627
-			}
627
+            }
628 628
 
629
-		}
629
+        }
630 630
 
631
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' );
632
-		wp_safe_redirect( $redirect );
633
-		exit;
631
+        $redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' );
632
+        wp_safe_redirect( $redirect );
633
+        exit;
634 634
 
635
-	}
635
+    }
636 636
 
637
-	/**
637
+    /**
638 638
      * Connects a gateway.
639
-	 *
640
-	 * @param array $data
639
+     *
640
+     * @param array $data
641 641
      */
642 642
     public function admin_connect_gateway( $data ) {
643 643
 
644
-		if ( ! empty( $data['plugin'] ) ) {
644
+        if ( ! empty( $data['plugin'] ) ) {
645 645
 
646
-			$gateway     = sanitize_key( $data['plugin'] );
647
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
646
+            $gateway     = sanitize_key( $data['plugin'] );
647
+            $connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
648 648
 
649
-			if ( ! empty( $connect_url ) ) {
650
-				wp_redirect( $connect_url );
651
-				exit;
652
-			}
649
+            if ( ! empty( $connect_url ) ) {
650
+                wp_redirect( $connect_url );
651
+                exit;
652
+            }
653 653
 
654
-			if ( 'stripe' == $data['plugin'] ) {
655
-				require_once ABSPATH . 'wp-admin/includes/plugin.php';
654
+            if ( 'stripe' == $data['plugin'] ) {
655
+                require_once ABSPATH . 'wp-admin/includes/plugin.php';
656 656
 
657
-				if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) {
658
-					$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' );
659
-					$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
660
-					$upgrader->install( $plugin_zip );
661
-				}
657
+                if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) {
658
+                    $plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' );
659
+                    $upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
660
+                    $upgrader->install( $plugin_zip );
661
+                }
662 662
 
663
-				activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true );
664
-			}
663
+                activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true );
664
+            }
665 665
 
666
-			if ( ! empty( $connect_url ) ) {
667
-				wp_redirect( $connect_url );
668
-				exit;
669
-			}
666
+            if ( ! empty( $connect_url ) ) {
667
+                wp_redirect( $connect_url );
668
+                exit;
669
+            }
670 670
 
671
-		}
671
+        }
672 672
 
673
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' );
674
-		wp_safe_redirect( $redirect );
675
-		exit;
673
+        $redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' );
674
+        wp_safe_redirect( $redirect );
675
+        exit;
676 676
 
677
-	}
677
+    }
678 678
 
679
-	/**
679
+    /**
680 680
      * Recalculates discounts.
681
-	 * 
681
+     * 
682 682
      */
683 683
     public function admin_recalculate_discounts() {
684
-		global $wpdb;
684
+        global $wpdb;
685 685
 
686
-		// Fetch all invoices that have discount codes.
687
-		$table    = $wpdb->prefix . 'getpaid_invoices';
688
-		$invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" );
686
+        // Fetch all invoices that have discount codes.
687
+        $table    = $wpdb->prefix . 'getpaid_invoices';
688
+        $invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" );
689 689
 
690
-		foreach ( $invoices as $invoice ) {
690
+        foreach ( $invoices as $invoice ) {
691 691
 
692
-			$invoice = new WPInv_Invoice( $invoice );
692
+            $invoice = new WPInv_Invoice( $invoice );
693 693
 
694
-			if ( ! $invoice->exists() ) {
695
-				continue;
696
-			}
694
+            if ( ! $invoice->exists() ) {
695
+                continue;
696
+            }
697 697
 
698
-			// Abort if the discount does not exist or does not apply here.
699
-			$discount = new WPInv_Discount( $invoice->get_discount_code() );
700
-			if ( ! $discount->exists() ) {
701
-				continue;
702
-			}
698
+            // Abort if the discount does not exist or does not apply here.
699
+            $discount = new WPInv_Discount( $invoice->get_discount_code() );
700
+            if ( ! $discount->exists() ) {
701
+                continue;
702
+            }
703 703
 
704
-			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
705
-			$invoice->recalculate_total();
704
+            $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
705
+            $invoice->recalculate_total();
706 706
 
707
-			if ( $invoice->get_total_discount() > 0 ) {
708
-				$invoice->save();
709
-			}
707
+            if ( $invoice->get_total_discount() > 0 ) {
708
+                $invoice->save();
709
+            }
710 710
 
711
-		}
711
+        }
712 712
 
713
-		// Show an admin message.
714
-		$this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) );
713
+        // Show an admin message.
714
+        $this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) );
715 715
 
716
-		// Redirect the admin.
717
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
718
-		exit;
716
+        // Redirect the admin.
717
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
718
+        exit;
719 719
 
720
-	}
720
+    }
721 721
 
722 722
     /**
723
-	 * Returns an array of admin notices.
724
-	 *
725
-	 * @since       1.0.19
723
+     * Returns an array of admin notices.
724
+     *
725
+     * @since       1.0.19
726 726
      * @return array
727
-	 */
728
-	public function get_notices() {
729
-		$notices = get_option( 'wpinv_admin_notices' );
727
+     */
728
+    public function get_notices() {
729
+        $notices = get_option( 'wpinv_admin_notices' );
730 730
         return is_array( $notices ) ? $notices : array();
731
-	}
731
+    }
732 732
 
733
-	/**
734
-	 * Checks if we have any admin notices.
735
-	 *
736
-	 * @since       2.0.4
733
+    /**
734
+     * Checks if we have any admin notices.
735
+     *
736
+     * @since       2.0.4
737 737
      * @return array
738
-	 */
739
-	public function has_notices() {
740
-		return count( $this->get_notices() ) > 0;
741
-	}
742
-
743
-	/**
744
-	 * Clears all admin notices
745
-	 *
746
-	 * @access      public
747
-	 * @since       1.0.19
748
-	 */
749
-	public function clear_notices() {
750
-		delete_option( 'wpinv_admin_notices' );
751
-	}
752
-
753
-	/**
754
-	 * Saves a new admin notice
755
-	 *
756
-	 * @access      public
757
-	 * @since       1.0.19
758
-	 */
759
-	public function save_notice( $type, $message ) {
760
-		$notices = $this->get_notices();
761
-
762
-		if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ]) ) {
763
-			$notices[ $type ] = array();
764
-		}
765
-
766
-		$notices[ $type ][] = $message;
767
-
768
-		update_option( 'wpinv_admin_notices', $notices );
769
-	}
770
-
771
-	/**
772
-	 * Displays a success notice
773
-	 *
774
-	 * @param       string $msg The message to qeue.
775
-	 * @access      public
776
-	 * @since       1.0.19
777
-	 */
778
-	public function show_success( $msg ) {
779
-		$this->save_notice( 'success', $msg );
780
-	}
781
-
782
-	/**
783
-	 * Displays a error notice
784
-	 *
785
-	 * @access      public
786
-	 * @param       string $msg The message to qeue.
787
-	 * @since       1.0.19
788
-	 */
789
-	public function show_error( $msg ) {
790
-		$this->save_notice( 'error', $msg );
791
-	}
792
-
793
-	/**
794
-	 * Displays a warning notice
795
-	 *
796
-	 * @access      public
797
-	 * @param       string $msg The message to qeue.
798
-	 * @since       1.0.19
799
-	 */
800
-	public function show_warning( $msg ) {
801
-		$this->save_notice( 'warning', $msg );
802
-	}
803
-
804
-	/**
805
-	 * Displays a info notice
806
-	 *
807
-	 * @access      public
808
-	 * @param       string $msg The message to qeue.
809
-	 * @since       1.0.19
810
-	 */
811
-	public function show_info( $msg ) {
812
-		$this->save_notice( 'info', $msg );
813
-	}
814
-
815
-	/**
816
-	 * Show notices
817
-	 *
818
-	 * @access      public
819
-	 * @since       1.0.19
820
-	 */
821
-	public function show_notices() {
738
+     */
739
+    public function has_notices() {
740
+        return count( $this->get_notices() ) > 0;
741
+    }
742
+
743
+    /**
744
+     * Clears all admin notices
745
+     *
746
+     * @access      public
747
+     * @since       1.0.19
748
+     */
749
+    public function clear_notices() {
750
+        delete_option( 'wpinv_admin_notices' );
751
+    }
752
+
753
+    /**
754
+     * Saves a new admin notice
755
+     *
756
+     * @access      public
757
+     * @since       1.0.19
758
+     */
759
+    public function save_notice( $type, $message ) {
760
+        $notices = $this->get_notices();
761
+
762
+        if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ]) ) {
763
+            $notices[ $type ] = array();
764
+        }
765
+
766
+        $notices[ $type ][] = $message;
767
+
768
+        update_option( 'wpinv_admin_notices', $notices );
769
+    }
770
+
771
+    /**
772
+     * Displays a success notice
773
+     *
774
+     * @param       string $msg The message to qeue.
775
+     * @access      public
776
+     * @since       1.0.19
777
+     */
778
+    public function show_success( $msg ) {
779
+        $this->save_notice( 'success', $msg );
780
+    }
781
+
782
+    /**
783
+     * Displays a error notice
784
+     *
785
+     * @access      public
786
+     * @param       string $msg The message to qeue.
787
+     * @since       1.0.19
788
+     */
789
+    public function show_error( $msg ) {
790
+        $this->save_notice( 'error', $msg );
791
+    }
792
+
793
+    /**
794
+     * Displays a warning notice
795
+     *
796
+     * @access      public
797
+     * @param       string $msg The message to qeue.
798
+     * @since       1.0.19
799
+     */
800
+    public function show_warning( $msg ) {
801
+        $this->save_notice( 'warning', $msg );
802
+    }
803
+
804
+    /**
805
+     * Displays a info notice
806
+     *
807
+     * @access      public
808
+     * @param       string $msg The message to qeue.
809
+     * @since       1.0.19
810
+     */
811
+    public function show_info( $msg ) {
812
+        $this->save_notice( 'info', $msg );
813
+    }
814
+
815
+    /**
816
+     * Show notices
817
+     *
818
+     * @access      public
819
+     * @since       1.0.19
820
+     */
821
+    public function show_notices() {
822 822
 
823 823
         $notices = $this->get_notices();
824 824
         $this->clear_notices();
825 825
 
826
-		foreach ( $notices as $type => $messages ) {
826
+        foreach ( $notices as $type => $messages ) {
827 827
 
828
-			if ( ! is_array( $messages ) ) {
829
-				continue;
830
-			}
828
+            if ( ! is_array( $messages ) ) {
829
+                continue;
830
+            }
831 831
 
832 832
             $type  = sanitize_key( $type );
833
-			foreach ( $messages as $message ) {
833
+            foreach ( $messages as $message ) {
834 834
                 $message = wp_kses_post( $message );
835
-				echo "<div class='notice notice-$type is-dismissible'><p>$message</p></div>";
835
+                echo "<div class='notice notice-$type is-dismissible'><p>$message</p></div>";
836 836
             }
837 837
 
838 838
         }
839 839
 
840
-		foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) {
841
-
842
-			if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) {
843
-				$url     = wp_nonce_url(
844
-					add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
845
-					'getpaid-nonce',
846
-					'getpaid-nonce'
847
-				);
848
-				$message  = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' );
849
-				$message2 = __( 'Generate Pages', 'invoicing' );
850
-				echo "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>";
851
-				break;
852
-			}
840
+        foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) {
841
+
842
+            if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) {
843
+                $url     = wp_nonce_url(
844
+                    add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
845
+                    'getpaid-nonce',
846
+                    'getpaid-nonce'
847
+                );
848
+                $message  = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' );
849
+                $message2 = __( 'Generate Pages', 'invoicing' );
850
+                echo "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>";
851
+                break;
852
+            }
853 853
 
854
-		}
854
+        }
855 855
 
856
-	}
856
+    }
857 857
 
858 858
 }
Please login to merge, or discard this patch.
Spacing   +253 added lines, -253 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
  * The main admin class.
@@ -37,13 +37,13 @@  discard block
 block discarded – undo
37 37
     /**
38 38
 	 * Class constructor.
39 39
 	 */
40
-	public function __construct(){
40
+	public function __construct() {
41 41
 
42
-        $this->admin_path  = plugin_dir_path( __FILE__ );
43
-		$this->admin_url   = plugins_url( '/', __FILE__ );
42
+        $this->admin_path = plugin_dir_path(__FILE__);
43
+		$this->admin_url   = plugins_url('/', __FILE__);
44 44
 		$this->reports     = new GetPaid_Reports();
45 45
 
46
-        if ( is_admin() ) {
46
+        if (is_admin()) {
47 47
 			$this->init_admin_hooks();
48 48
         }
49 49
 
@@ -54,31 +54,31 @@  discard block
 block discarded – undo
54 54
 	 *
55 55
 	 */
56 56
 	private function init_admin_hooks() {
57
-        add_action( 'admin_enqueue_scripts', array( $this, 'enqeue_scripts' ) );
58
-        add_filter( 'admin_body_class', array( $this, 'admin_body_class' ) );
59
-        add_action( 'admin_init', array( $this, 'init_ayecode_connect_helper' ) );
60
-        add_action( 'admin_init', array( $this, 'activation_redirect') );
61
-        add_action( 'admin_init', array( $this, 'maybe_do_admin_action') );
62
-		add_action( 'admin_notices', array( $this, 'show_notices' ) );
63
-		add_action( 'getpaid_authenticated_admin_action_rate_plugin', array( $this, 'redirect_to_wordpress_rating_page' ) );
64
-		add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) );
65
-		add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) );
66
-        add_action( 'getpaid_authenticated_admin_action_reset_tax_rates', array( $this, 'admin_reset_tax_rates' ) );
67
-		add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) );
68
-		add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) );
69
-		add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) );
70
-		add_action( 'getpaid_authenticated_admin_action_download_customers', array( $this, 'admin_download_customers' ) );
71
-		add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) );
72
-		add_action( 'getpaid_authenticated_admin_action_install_plugin', array( $this, 'admin_install_plugin' ) );
73
-		add_action( 'getpaid_authenticated_admin_action_connect_gateway', array( $this, 'admin_connect_gateway' ) );
74
-		add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) );
75
-		do_action( 'getpaid_init_admin_hooks', $this );
57
+        add_action('admin_enqueue_scripts', array($this, 'enqeue_scripts'));
58
+        add_filter('admin_body_class', array($this, 'admin_body_class'));
59
+        add_action('admin_init', array($this, 'init_ayecode_connect_helper'));
60
+        add_action('admin_init', array($this, 'activation_redirect'));
61
+        add_action('admin_init', array($this, 'maybe_do_admin_action'));
62
+		add_action('admin_notices', array($this, 'show_notices'));
63
+		add_action('getpaid_authenticated_admin_action_rate_plugin', array($this, 'redirect_to_wordpress_rating_page'));
64
+		add_action('getpaid_authenticated_admin_action_send_invoice', array($this, 'send_customer_invoice'));
65
+		add_action('getpaid_authenticated_admin_action_send_invoice_reminder', array($this, 'send_customer_payment_reminder'));
66
+        add_action('getpaid_authenticated_admin_action_reset_tax_rates', array($this, 'admin_reset_tax_rates'));
67
+		add_action('getpaid_authenticated_admin_action_create_missing_pages', array($this, 'admin_create_missing_pages'));
68
+		add_action('getpaid_authenticated_admin_action_create_missing_tables', array($this, 'admin_create_missing_tables'));
69
+		add_action('getpaid_authenticated_admin_action_migrate_old_invoices', array($this, 'admin_migrate_old_invoices'));
70
+		add_action('getpaid_authenticated_admin_action_download_customers', array($this, 'admin_download_customers'));
71
+		add_action('getpaid_authenticated_admin_action_recalculate_discounts', array($this, 'admin_recalculate_discounts'));
72
+		add_action('getpaid_authenticated_admin_action_install_plugin', array($this, 'admin_install_plugin'));
73
+		add_action('getpaid_authenticated_admin_action_connect_gateway', array($this, 'admin_connect_gateway'));
74
+		add_filter('admin_footer_text', array($this, 'admin_footer_text'));
75
+		do_action('getpaid_init_admin_hooks', $this);
76 76
 
77 77
 		// Setup/welcome
78
-		if ( ! empty( $_GET['page'] ) ) {
79
-			switch ( $_GET['page'] ) {
78
+		if (!empty($_GET['page'])) {
79
+			switch ($_GET['page']) {
80 80
 				case 'gp-setup' :
81
-					include_once( dirname( __FILE__ ) . '/class-getpaid-admin-setup-wizard.php' );
81
+					include_once(dirname(__FILE__) . '/class-getpaid-admin-setup-wizard.php');
82 82
 					break;
83 83
 			}
84 84
 		}
@@ -92,37 +92,37 @@  discard block
 block discarded – undo
92 92
 	public function enqeue_scripts() {
93 93
         global $current_screen, $pagenow;
94 94
 
95
-		$page    = isset( $_GET['page'] ) ? $_GET['page'] : '';
95
+		$page    = isset($_GET['page']) ? $_GET['page'] : '';
96 96
 		$editing = $pagenow == 'post.php' || $pagenow == 'post-new.php';
97 97
 
98
-        if ( ! empty( $current_screen->post_type ) ) {
98
+        if (!empty($current_screen->post_type)) {
99 99
 			$page = $current_screen->post_type;
100 100
         }
101 101
 
102 102
         // General styles.
103
-        if ( false !== stripos( $page, 'wpi' ) || 'gp-setup' == $page ) {
103
+        if (false !== stripos($page, 'wpi') || 'gp-setup' == $page) {
104 104
 
105 105
             // Styles.
106
-            $version = filemtime( WPINV_PLUGIN_DIR . 'assets/css/admin.css' );
107
-            wp_enqueue_style( 'wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array( 'wp-color-picker' ), $version );
108
-            wp_enqueue_style( 'select2', WPINV_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), '4.0.13', 'all' );
106
+            $version = filemtime(WPINV_PLUGIN_DIR . 'assets/css/admin.css');
107
+            wp_enqueue_style('wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array('wp-color-picker'), $version);
108
+            wp_enqueue_style('select2', WPINV_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), '4.0.13', 'all');
109 109
 
110 110
             // Scripts.
111
-            wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full.min.js', array( 'jquery' ), WPINV_VERSION );
111
+            wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full.min.js', array('jquery'), WPINV_VERSION);
112 112
 
113
-            $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin.js' );
114
-            wp_enqueue_script( 'wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array( 'jquery', 'wp-color-picker', 'jquery-ui-tooltip' ),  $version );
115
-            wp_localize_script( 'wpinv-admin-script', 'WPInv_Admin', apply_filters( 'wpinv_admin_js_localize', $this->get_admin_i18() ) );
113
+            $version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/admin.js');
114
+            wp_enqueue_script('wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array('jquery', 'wp-color-picker', 'jquery-ui-tooltip'), $version);
115
+            wp_localize_script('wpinv-admin-script', 'WPInv_Admin', apply_filters('wpinv_admin_js_localize', $this->get_admin_i18()));
116 116
 
117 117
         }
118 118
 
119 119
         // Payment form scripts.
120
-		if ( 'wpi_payment_form' == $page && $editing ) {
120
+		if ('wpi_payment_form' == $page && $editing) {
121 121
             $this->load_payment_form_scripts();
122 122
         }
123 123
 
124
-		if ( $page == 'wpinv-subscriptions' ) {
125
-			wp_enqueue_script( 'postbox' );
124
+		if ($page == 'wpinv-subscriptions') {
125
+			wp_enqueue_script('postbox');
126 126
 		}
127 127
 
128 128
     }
@@ -135,32 +135,32 @@  discard block
 block discarded – undo
135 135
         global $post;
136 136
 
137 137
 		$date_range = array(
138
-			'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days'
138
+			'period' => isset($_GET['date_range']) ? sanitize_text_field($_GET['date_range']) : '7_days'
139 139
 		);
140 140
 
141
-		if ( $date_range['period'] == 'custom' ) {
141
+		if ($date_range['period'] == 'custom') {
142 142
 			
143
-			if ( isset( $_GET['from'] ) ) {
144
-				$date_range[ 'after' ] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS );
143
+			if (isset($_GET['from'])) {
144
+				$date_range['after'] = date('Y-m-d', strtotime(sanitize_text_field($_GET['from']), current_time('timestamp')) - DAY_IN_SECONDS);
145 145
 			}
146 146
 
147
-			if ( isset( $_GET['to'] ) ) {
148
-				$date_range[ 'before' ] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS );
147
+			if (isset($_GET['to'])) {
148
+				$date_range['before'] = date('Y-m-d', strtotime(sanitize_text_field($_GET['to']), current_time('timestamp')) + DAY_IN_SECONDS);
149 149
 			}
150 150
 
151 151
 		}
152 152
 
153 153
         $i18n = array(
154
-            'ajax_url'                  => admin_url( 'admin-ajax.php' ),
155
-            'post_ID'                   => isset( $post->ID ) ? $post->ID : '',
156
-			'wpinv_nonce'               => wp_create_nonce( 'wpinv-nonce' ),
157
-			'rest_nonce'                => wp_create_nonce( 'wp_rest' ),
158
-			'rest_root'                 => esc_url_raw( rest_url() ),
154
+            'ajax_url'                  => admin_url('admin-ajax.php'),
155
+            'post_ID'                   => isset($post->ID) ? $post->ID : '',
156
+			'wpinv_nonce'               => wp_create_nonce('wpinv-nonce'),
157
+			'rest_nonce'                => wp_create_nonce('wp_rest'),
158
+			'rest_root'                 => esc_url_raw(rest_url()),
159 159
 			'date_range'                => $date_range,
160
-            'add_invoice_note_nonce'    => wp_create_nonce( 'add-invoice-note' ),
161
-            'delete_invoice_note_nonce' => wp_create_nonce( 'delete-invoice-note' ),
162
-            'invoice_item_nonce'        => wp_create_nonce( 'invoice-item' ),
163
-            'billing_details_nonce'     => wp_create_nonce( 'get-billing-details' ),
160
+            'add_invoice_note_nonce'    => wp_create_nonce('add-invoice-note'),
161
+            'delete_invoice_note_nonce' => wp_create_nonce('delete-invoice-note'),
162
+            'invoice_item_nonce'        => wp_create_nonce('invoice-item'),
163
+            'billing_details_nonce'     => wp_create_nonce('get-billing-details'),
164 164
             'tax'                       => wpinv_tax_amount(),
165 165
             'discount'                  => 0,
166 166
 			'currency_symbol'           => wpinv_currency_symbol(),
@@ -169,38 +169,38 @@  discard block
 block discarded – undo
169 169
             'thousand_sep'              => wpinv_thousands_separator(),
170 170
             'decimal_sep'               => wpinv_decimal_separator(),
171 171
             'decimals'                  => wpinv_decimals(),
172
-            'save_invoice'              => __( 'Save Invoice', 'invoicing' ),
173
-            'status_publish'            => wpinv_status_nicename( 'publish' ),
174
-            'status_pending'            => wpinv_status_nicename( 'wpi-pending' ),
175
-            'delete_tax_rate'           => __( 'Are you sure you wish to delete this tax rate?', 'invoicing' ),
176
-            'status_pending'            => wpinv_status_nicename( 'wpi-pending' ),
177
-            'FillBillingDetails'        => __( 'Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing' ),
178
-            'confirmCalcTotals'         => __( 'Recalculate totals? This will recalculate totals based on the user billing country. If no billing country is set it will use the base country.', 'invoicing' ),
179
-            'AreYouSure'                => __( 'Are you sure?', 'invoicing' ),
180
-            'errDeleteItem'             => __( 'This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing' ),
181
-            'delete_subscription'       => __( 'Are you sure you want to delete this subscription?', 'invoicing' ),
182
-            'action_edit'               => __( 'Edit', 'invoicing' ),
183
-            'action_cancel'             => __( 'Cancel', 'invoicing' ),
184
-            'item_description'          => __( 'Item Description', 'invoicing' ),
185
-            'invoice_description'       => __( 'Invoice Description', 'invoicing' ),
186
-            'discount_description'      => __( 'Discount Description', 'invoicing' ),
187
-			'searching'                 => __( 'Searching', 'invoicing' ),
188
-			'loading'                   => __( 'Loading...', 'invoicing' ),
189
-			'search_customers'          => __( 'Enter customer name or email', 'invoicing' ),
190
-			'search_items'              => __( 'Enter item name', 'invoicing' ),
172
+            'save_invoice'              => __('Save Invoice', 'invoicing'),
173
+            'status_publish'            => wpinv_status_nicename('publish'),
174
+            'status_pending'            => wpinv_status_nicename('wpi-pending'),
175
+            'delete_tax_rate'           => __('Are you sure you wish to delete this tax rate?', 'invoicing'),
176
+            'status_pending'            => wpinv_status_nicename('wpi-pending'),
177
+            'FillBillingDetails'        => __('Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing'),
178
+            'confirmCalcTotals'         => __('Recalculate totals? This will recalculate totals based on the user billing country. If no billing country is set it will use the base country.', 'invoicing'),
179
+            'AreYouSure'                => __('Are you sure?', 'invoicing'),
180
+            'errDeleteItem'             => __('This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing'),
181
+            'delete_subscription'       => __('Are you sure you want to delete this subscription?', 'invoicing'),
182
+            'action_edit'               => __('Edit', 'invoicing'),
183
+            'action_cancel'             => __('Cancel', 'invoicing'),
184
+            'item_description'          => __('Item Description', 'invoicing'),
185
+            'invoice_description'       => __('Invoice Description', 'invoicing'),
186
+            'discount_description'      => __('Discount Description', 'invoicing'),
187
+			'searching'                 => __('Searching', 'invoicing'),
188
+			'loading'                   => __('Loading...', 'invoicing'),
189
+			'search_customers'          => __('Enter customer name or email', 'invoicing'),
190
+			'search_items'              => __('Enter item name', 'invoicing'),
191 191
         );
192 192
 
193
-		if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) {
193
+		if (!empty($post) && getpaid_is_invoice_post_type($post->post_type)) {
194 194
 
195
-			$invoice              = new WPInv_Invoice( $post );
195
+			$invoice              = new WPInv_Invoice($post);
196 196
 			$i18n['save_invoice'] = sprintf(
197
-				__( 'Save %s', 'invoicing' ),
198
-				ucfirst( $invoice->get_invoice_quote_type() )
197
+				__('Save %s', 'invoicing'),
198
+				ucfirst($invoice->get_invoice_quote_type())
199 199
 			);
200 200
 
201 201
 			$i18n['invoice_description'] = sprintf(
202
-				__( '%s Description', 'invoicing' ),
203
-				ucfirst( $invoice->get_invoice_quote_type() )
202
+				__('%s Description', 'invoicing'),
203
+				ucfirst($invoice->get_invoice_quote_type())
204 204
 			);
205 205
 
206 206
 		}
@@ -214,24 +214,24 @@  discard block
 block discarded – undo
214 214
 	 * @param  string $footer_text
215 215
 	 * @return string
216 216
 	 */
217
-	public function admin_footer_text( $footer_text ) {
217
+	public function admin_footer_text($footer_text) {
218 218
 		global $current_screen;
219 219
 
220
-		$page    = isset( $_GET['page'] ) ? $_GET['page'] : '';
220
+		$page = isset($_GET['page']) ? $_GET['page'] : '';
221 221
 
222
-        if ( ! empty( $current_screen->post_type ) ) {
222
+        if (!empty($current_screen->post_type)) {
223 223
 			$page = $current_screen->post_type;
224 224
         }
225 225
 
226 226
         // General styles.
227
-        if ( apply_filters( 'getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing() ) && false !== stripos( $page, 'wpi' ) ) {
227
+        if (apply_filters('getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing()) && false !== stripos($page, 'wpi')) {
228 228
 
229 229
 			// Change the footer text
230
-			if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) {
230
+			if (!get_user_meta(get_current_user_id(), 'getpaid_admin_footer_text_rated', true)) {
231 231
 
232
-				$rating_url  = esc_url(
232
+				$rating_url = esc_url(
233 233
 					wp_nonce_url(
234
-						admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ),
234
+						admin_url('admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin'),
235 235
 						'getpaid-nonce',
236 236
 						'getpaid-nonce'
237 237
 						)
@@ -239,7 +239,7 @@  discard block
 block discarded – undo
239 239
 
240 240
 				$footer_text = sprintf(
241 241
 					/* translators: %s: five stars */
242
-					__( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ),
242
+					__('If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing'),
243 243
 					"<a href='$rating_url'>&#9733;&#9733;&#9733;&#9733;&#9733;</a>"
244 244
 				);
245 245
 
@@ -247,7 +247,7 @@  discard block
 block discarded – undo
247 247
 
248 248
 				$footer_text = sprintf(
249 249
 					/* translators: %s: GetPaid */
250
-					__( 'Thank you for using %s!', 'invoicing' ),
250
+					__('Thank you for using %s!', 'invoicing'),
251 251
 					"<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>"
252 252
 				);
253 253
 
@@ -264,8 +264,8 @@  discard block
 block discarded – undo
264 264
 	 * @since  2.0.0
265 265
 	 */
266 266
 	public function redirect_to_wordpress_rating_page() {
267
-		update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 );
268
-		wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' );
267
+		update_user_meta(get_current_user_id(), 'getpaid_admin_footer_text_rated', 1);
268
+		wp_redirect('https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post');
269 269
 		exit;
270 270
 	}
271 271
 
@@ -276,30 +276,30 @@  discard block
 block discarded – undo
276 276
 	protected function load_payment_form_scripts() {
277 277
         global $post;
278 278
 
279
-        wp_enqueue_script( 'vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.js', array(), WPINV_VERSION );
280
-		wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION );
281
-		wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION );
279
+        wp_enqueue_script('vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.js', array(), WPINV_VERSION);
280
+		wp_enqueue_script('sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION);
281
+		wp_enqueue_script('vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array('sortable', 'vue'), WPINV_VERSION);
282 282
 
283
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin-payment-forms.js' );
284
-		wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.js', array( 'wpinv-admin-script', 'vue_draggable' ),  $version );
283
+		$version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/admin-payment-forms.js');
284
+		wp_register_script('wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.js', array('wpinv-admin-script', 'vue_draggable'), $version);
285 285
 
286 286
 		wp_localize_script(
287 287
             'wpinv-admin-payment-form-script',
288 288
             'wpinvPaymentFormAdmin',
289 289
             array(
290
-				'elements'      => wpinv_get_data( 'payment-form-elements' ),
291
-				'form_elements' => getpaid_get_payment_form_elements( $post->ID ),
290
+				'elements'      => wpinv_get_data('payment-form-elements'),
291
+				'form_elements' => getpaid_get_payment_form_elements($post->ID),
292 292
 				'currency'      => wpinv_currency_symbol(),
293 293
 				'position'      => wpinv_currency_position(),
294 294
 				'decimals'      => (int) wpinv_decimals(),
295 295
 				'thousands_sep' => wpinv_thousands_separator(),
296 296
 				'decimals_sep'  => wpinv_decimal_separator(),
297
-				'form_items'    => gepaid_get_form_items( $post->ID ),
297
+				'form_items'    => gepaid_get_form_items($post->ID),
298 298
 				'is_default'    => $post->ID == wpinv_get_default_payment_form(),
299 299
             )
300 300
         );
301 301
 
302
-        wp_enqueue_script( 'wpinv-admin-payment-form-script' );
302
+        wp_enqueue_script('wpinv-admin-payment-form-script');
303 303
 
304 304
     }
305 305
 
@@ -310,25 +310,25 @@  discard block
 block discarded – undo
310 310
      * @return string
311 311
 	 *
312 312
 	 */
313
-    public function admin_body_class( $classes ) {
313
+    public function admin_body_class($classes) {
314 314
 		global $pagenow, $post, $current_screen;
315 315
 
316 316
 
317
-        $page = isset( $_GET['page'] ) ? $_GET['page'] : '';
317
+        $page = isset($_GET['page']) ? $_GET['page'] : '';
318 318
 
319
-        if ( ! empty( $current_screen->post_type ) ) {
319
+        if (!empty($current_screen->post_type)) {
320 320
 			$page = $current_screen->post_type;
321 321
         }
322 322
 
323
-        if ( false !== stripos( $page, 'wpi' ) ) {
324
-            $classes .= ' wpi-' . sanitize_key( $page );
323
+        if (false !== stripos($page, 'wpi')) {
324
+            $classes .= ' wpi-' . sanitize_key($page);
325 325
         }
326 326
 
327
-        if ( in_array( $page, wpinv_parse_list( 'wpi_invoice wpi_payment_form wpi_quote' ) ) ) {
327
+        if (in_array($page, wpinv_parse_list('wpi_invoice wpi_payment_form wpi_quote'))) {
328 328
             $classes .= ' wpinv-cpt wpinv';
329 329
 		}
330 330
 		
331
-		if ( getpaid_is_invoice_post_type( $page ) ) {
331
+		if (getpaid_is_invoice_post_type($page)) {
332 332
             $classes .= ' getpaid-is-invoice-cpt';
333 333
         }
334 334
 
@@ -338,7 +338,7 @@  discard block
 block discarded – undo
338 338
     /**
339 339
 	 * Maybe show the AyeCode Connect Notice.
340 340
 	 */
341
-	public function init_ayecode_connect_helper(){
341
+	public function init_ayecode_connect_helper() {
342 342
 
343 343
 		// Register with the deactivation survey class.
344 344
 		AyeCode_Deactivation_Survey::instance(array(
@@ -346,20 +346,20 @@  discard block
 block discarded – undo
346 346
 			'version'	        => WPINV_VERSION,
347 347
 			'support_url'       => 'https://wpgetpaid.com/support/',
348 348
 			'documentation_url' => 'https://docs.wpgetpaid.com/',
349
-			'activated'         => (int) get_option( 'gepaid_installed_on' ),
349
+			'activated'         => (int) get_option('gepaid_installed_on'),
350 350
 		));
351 351
 
352 352
         new AyeCode_Connect_Helper(
353 353
             array(
354
-				'connect_title' => __("WP Invoicing - an AyeCode product!","invoicing"),
355
-				'connect_external'  => __( "Please confirm you wish to connect your site?","invoicing" ),
356
-				'connect'           => sprintf( __( "<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s","invoicing" ),"<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>","</a>" ),
357
-				'connect_button'    => __("Connect Site","invoicing"),
358
-				'connecting_button'    => __("Connecting...","invoicing"),
359
-				'error_localhost'   => __( "This service will only work with a live domain, not a localhost.","invoicing" ),
360
-				'error'             => __( "Something went wrong, please refresh and try again.","invoicing" ),
354
+				'connect_title' => __("WP Invoicing - an AyeCode product!", "invoicing"),
355
+				'connect_external'  => __("Please confirm you wish to connect your site?", "invoicing"),
356
+				'connect'           => sprintf(__("<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s", "invoicing"), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", "</a>"),
357
+				'connect_button'    => __("Connect Site", "invoicing"),
358
+				'connecting_button'    => __("Connecting...", "invoicing"),
359
+				'error_localhost'   => __("This service will only work with a live domain, not a localhost.", "invoicing"),
360
+				'error'             => __("Something went wrong, please refresh and try again.", "invoicing"),
361 361
             ),
362
-            array( 'wpi-addons' )
362
+            array('wpi-addons')
363 363
         );
364 364
 
365 365
     }
@@ -371,20 +371,20 @@  discard block
 block discarded – undo
371 371
 	 */
372 372
 	public function activation_redirect() {
373 373
 
374
-		$redirected = get_option( 'wpinv_redirected_to_settings' );
374
+		$redirected = get_option('wpinv_redirected_to_settings');
375 375
 
376
-		if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) {
376
+		if (!empty($redirected) || wp_doing_ajax() || !current_user_can('manage_options')) {
377 377
 			return;
378 378
 		}
379 379
 
380 380
 		// Bail if activating from network, or bulk
381
-		if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
381
+		if (is_network_admin() || isset($_GET['activate-multi'])) {
382 382
 			return;
383 383
 		}
384 384
 
385
-	    update_option( 'wpinv_redirected_to_settings', 1 );
385
+	    update_option('wpinv_redirected_to_settings', 1);
386 386
 
387
-        wp_safe_redirect( admin_url( 'index.php?page=gp-setup' ) );
387
+        wp_safe_redirect(admin_url('index.php?page=gp-setup'));
388 388
         exit;
389 389
 
390 390
 	}
@@ -394,9 +394,9 @@  discard block
 block discarded – undo
394 394
      */
395 395
     public function maybe_do_admin_action() {
396 396
 
397
-        if ( wpinv_current_user_can_manage_invoicing() && isset( $_REQUEST['getpaid-admin-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
398
-            $key = sanitize_key( $_REQUEST['getpaid-admin-action'] );
399
-            do_action( "getpaid_authenticated_admin_action_$key", $_REQUEST );
397
+        if (wpinv_current_user_can_manage_invoicing() && isset($_REQUEST['getpaid-admin-action']) && isset($_REQUEST['getpaid-nonce']) && wp_verify_nonce($_REQUEST['getpaid-nonce'], 'getpaid-nonce')) {
398
+            $key = sanitize_key($_REQUEST['getpaid-admin-action']);
399
+            do_action("getpaid_authenticated_admin_action_$key", $_REQUEST);
400 400
         }
401 401
 
402 402
     }
@@ -406,16 +406,16 @@  discard block
 block discarded – undo
406 406
 	 * 
407 407
 	 * @param array $args
408 408
      */
409
-    public function send_customer_invoice( $args ) {
410
-		$sent = getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true );
409
+    public function send_customer_invoice($args) {
410
+		$sent = getpaid()->get('invoice_emails')->user_invoice(new WPInv_Invoice($args['invoice_id']), true);
411 411
 
412
-		if ( $sent ) {
413
-			$this->show_success( __( 'Invoice was successfully sent to the customer', 'invoicing' ) );
412
+		if ($sent) {
413
+			$this->show_success(__('Invoice was successfully sent to the customer', 'invoicing'));
414 414
 		} else {
415
-			$this->show_error( __( 'Could not send the invoice to the customer', 'invoicing' ) );
415
+			$this->show_error(__('Could not send the invoice to the customer', 'invoicing'));
416 416
 		}
417 417
 
418
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
418
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce', 'invoice_id')));
419 419
 		exit;
420 420
 	}
421 421
 
@@ -424,16 +424,16 @@  discard block
 block discarded – undo
424 424
 	 * 
425 425
 	 * @param array $args
426 426
      */
427
-    public function send_customer_payment_reminder( $args ) {
428
-		$sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) );
427
+    public function send_customer_payment_reminder($args) {
428
+		$sent = getpaid()->get('invoice_emails')->force_send_overdue_notice(new WPInv_Invoice($args['invoice_id']));
429 429
 
430
-		if ( $sent ) {
431
-			$this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) );
430
+		if ($sent) {
431
+			$this->show_success(__('Payment reminder was successfully sent to the customer', 'invoicing'));
432 432
 		} else {
433
-			$this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) );
433
+			$this->show_error(__('Could not sent payment reminder to the customer', 'invoicing'));
434 434
 		}
435 435
 
436
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
436
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce', 'invoice_id')));
437 437
 		exit;
438 438
 	}
439 439
 
@@ -443,8 +443,8 @@  discard block
 block discarded – undo
443 443
      */
444 444
     public function admin_reset_tax_rates() {
445 445
 
446
-		update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
447
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
446
+		update_option('wpinv_tax_rates', wpinv_get_data('tax-rates'));
447
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
448 448
 		exit;
449 449
 
450 450
 	}
@@ -456,8 +456,8 @@  discard block
 block discarded – undo
456 456
     public function admin_create_missing_pages() {
457 457
 		$installer = new GetPaid_Installer();
458 458
 		$installer->create_pages();
459
-		$this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) );
460
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
459
+		$this->show_success(__('GetPaid pages updated.', 'invoicing'));
460
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
461 461
 		exit;
462 462
 	}
463 463
 
@@ -469,35 +469,35 @@  discard block
 block discarded – undo
469 469
 		global $wpdb;
470 470
 		$installer = new GetPaid_Installer();
471 471
 
472
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}wpinv_subscriptions'" ) != $wpdb->prefix . 'wpinv_subscriptions' ) {
472
+		if ($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->prefix}wpinv_subscriptions'") != $wpdb->prefix . 'wpinv_subscriptions') {
473 473
 			$installer->create_subscriptions_table();
474 474
 
475
-			if ( $wpdb->last_error !== '' ) {
476
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
475
+			if ($wpdb->last_error !== '') {
476
+				$this->show_error(__('Your GetPaid tables have been updated:', 'invoicing') . ' ' . $wpdb->last_error);
477 477
 			}
478 478
 		}
479 479
 
480
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) != $wpdb->prefix . 'getpaid_invoices' ) {
480
+		if ($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'") != $wpdb->prefix . 'getpaid_invoices') {
481 481
 			$installer->create_invoices_table();
482 482
 
483
-			if ( $wpdb->last_error !== '' ) {
484
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
483
+			if ($wpdb->last_error !== '') {
484
+				$this->show_error(__('Your GetPaid tables have been updated:', 'invoicing') . ' ' . $wpdb->last_error);
485 485
 			}
486 486
 		}
487 487
 
488
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoice_items'" ) != $wpdb->prefix . 'getpaid_invoice_items' ) {
488
+		if ($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoice_items'") != $wpdb->prefix . 'getpaid_invoice_items') {
489 489
 			$installer->create_invoice_items_table();
490 490
 
491
-			if ( $wpdb->last_error !== '' ) {
492
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
491
+			if ($wpdb->last_error !== '') {
492
+				$this->show_error(__('Your GetPaid tables have been updated:', 'invoicing') . ' ' . $wpdb->last_error);
493 493
 			}
494 494
 		}
495 495
 
496
-		if ( ! $this->has_notices() ) {
497
-			$this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) );
496
+		if (!$this->has_notices()) {
497
+			$this->show_success(__('Your GetPaid tables have been updated.', 'invoicing'));
498 498
 		}
499 499
 
500
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
500
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
501 501
 		exit;
502 502
 	}
503 503
 
@@ -512,10 +512,10 @@  discard block
 block discarded – undo
512 512
 		$installer->migrate_old_invoices();
513 513
 
514 514
 		// Show an admin message.
515
-		$this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) );
515
+		$this->show_success(__('Your invoices have been migrated.', 'invoicing'));
516 516
 
517 517
 		// Redirect the admin.
518
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
518
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
519 519
 		exit;
520 520
 
521 521
 	}
@@ -527,18 +527,18 @@  discard block
 block discarded – undo
527 527
     public function admin_download_customers() {
528 528
 		global $wpdb;
529 529
 
530
-		$output = fopen( 'php://output', 'w' ) or die( __( 'Unsupported server', 'invoicing' ) );
530
+		$output = fopen('php://output', 'w') or die(__('Unsupported server', 'invoicing'));
531 531
 
532
-		header( "Content-Type:text/csv" );
533
-		header( "Content-Disposition:attachment;filename=customers.csv" );
532
+		header("Content-Type:text/csv");
533
+		header("Content-Disposition:attachment;filename=customers.csv");
534 534
 
535 535
 		$post_types = '';
536 536
 
537
-		foreach ( array_keys( getpaid_get_invoice_post_types() ) as $post_type ) {
538
-			$post_types .= $wpdb->prepare( "post_type=%s OR ", $post_type );
537
+		foreach (array_keys(getpaid_get_invoice_post_types()) as $post_type) {
538
+			$post_types .= $wpdb->prepare("post_type=%s OR ", $post_type);
539 539
 		}
540 540
 
541
-		$post_types = rtrim( $post_types, ' OR' );
541
+		$post_types = rtrim($post_types, ' OR');
542 542
 
543 543
 		$customers = $wpdb->get_col(
544 544
 			$wpdb->prepare(
@@ -547,57 +547,57 @@  discard block
 block discarded – undo
547 547
 		);
548 548
 
549 549
 		$columns = array(
550
-			'name'     => __( 'Name', 'invoicing' ),
551
-			'email'    => __( 'Email', 'invoicing' ),
552
-			'country'  => __( 'Country', 'invoicing' ),
553
-			'state'    => __( 'State', 'invoicing' ),
554
-			'city'     => __( 'City', 'invoicing' ),
555
-			'zip'      => __( 'ZIP', 'invoicing' ),
556
-			'address'  => __( 'Address', 'invoicing' ),
557
-			'phone'    => __( 'Phone', 'invoicing' ),
558
-			'company'  => __( 'Company', 'invoicing' ),
559
-			'invoices' => __( 'Invoices', 'invoicing' ),
560
-			'total_raw' => __( 'Total Spend', 'invoicing' ),
561
-			'signup'   => __( 'Date created', 'invoicing' ),
550
+			'name'     => __('Name', 'invoicing'),
551
+			'email'    => __('Email', 'invoicing'),
552
+			'country'  => __('Country', 'invoicing'),
553
+			'state'    => __('State', 'invoicing'),
554
+			'city'     => __('City', 'invoicing'),
555
+			'zip'      => __('ZIP', 'invoicing'),
556
+			'address'  => __('Address', 'invoicing'),
557
+			'phone'    => __('Phone', 'invoicing'),
558
+			'company'  => __('Company', 'invoicing'),
559
+			'invoices' => __('Invoices', 'invoicing'),
560
+			'total_raw' => __('Total Spend', 'invoicing'),
561
+			'signup'   => __('Date created', 'invoicing'),
562 562
 		);
563 563
 
564 564
 		// Output the csv column headers.
565
-		fputcsv( $output, array_values( $columns ) );
565
+		fputcsv($output, array_values($columns));
566 566
 
567 567
 		// Loop through
568 568
 		$table = new WPInv_Customers_Table();
569
-		foreach ( $customers as $customer_id ) {
569
+		foreach ($customers as $customer_id) {
570 570
 
571
-			$user = get_user_by( 'id', $customer_id );
571
+			$user = get_user_by('id', $customer_id);
572 572
 			$row  = array();
573
-			if ( empty( $user ) ) {
573
+			if (empty($user)) {
574 574
 				continue;
575 575
 			}
576 576
 
577
-			foreach ( array_keys( $columns ) as $column ) {
577
+			foreach (array_keys($columns) as $column) {
578 578
 
579 579
 				$method = 'column_' . $column;
580 580
 
581
-				if ( 'name' == $column ) {
582
-					$value = sanitize_text_field( $user->display_name );
583
-				} else if( 'email' == $column ) {
584
-					$value = sanitize_email( $user->user_email );
585
-				} else if ( is_callable( array( $table, $method ) ) ) {
586
-					$value = strip_tags( $table->$method( $user ) );
581
+				if ('name' == $column) {
582
+					$value = sanitize_text_field($user->display_name);
583
+				} else if ('email' == $column) {
584
+					$value = sanitize_email($user->user_email);
585
+				} else if (is_callable(array($table, $method))) {
586
+					$value = strip_tags($table->$method($user));
587 587
 				}
588 588
 
589
-				if ( empty( $value ) ) {
590
-					$value = sanitize_text_field( get_user_meta( $user->ID, '_wpinv_' . $column, true ) );
589
+				if (empty($value)) {
590
+					$value = sanitize_text_field(get_user_meta($user->ID, '_wpinv_' . $column, true));
591 591
 				}
592 592
 
593 593
 				$row[] = $value;
594 594
 
595 595
 			}
596 596
 
597
-			fputcsv( $output, $row );
597
+			fputcsv($output, $row);
598 598
 		}
599 599
 
600
-		fclose( $output );
600
+		fclose($output);
601 601
 		exit;
602 602
 
603 603
 	}
@@ -607,29 +607,29 @@  discard block
 block discarded – undo
607 607
 	 *
608 608
 	 * @param array $data
609 609
      */
610
-    public function admin_install_plugin( $data ) {
610
+    public function admin_install_plugin($data) {
611 611
 
612
-		if ( ! empty( $data['plugins'] ) ) {
612
+		if (!empty($data['plugins'])) {
613 613
 			include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
614 614
 			wp_cache_flush();
615 615
 
616
-			foreach ( $data['plugins'] as $slug => $file ) {
617
-				$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' );
618
-				$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
619
-				$installed  = $upgrader->install( $plugin_zip );
616
+			foreach ($data['plugins'] as $slug => $file) {
617
+				$plugin_zip = esc_url('https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip');
618
+				$upgrader   = new Plugin_Upgrader(new Automatic_Upgrader_Skin());
619
+				$installed  = $upgrader->install($plugin_zip);
620 620
 
621
-				if ( ! is_wp_error( $installed ) && $installed ) {
622
-					activate_plugin( $file, '', false, true );
621
+				if (!is_wp_error($installed) && $installed) {
622
+					activate_plugin($file, '', false, true);
623 623
 				} else {
624
-					wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false );
624
+					wpinv_error_log($upgrader->skin->get_upgrade_messages(), false);
625 625
 				}
626 626
 
627 627
 			}
628 628
 
629 629
 		}
630 630
 
631
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' );
632
-		wp_safe_redirect( $redirect );
631
+		$redirect = isset($data['redirect']) ? esc_url_raw($data['redirect']) : admin_url('plugins.php');
632
+		wp_safe_redirect($redirect);
633 633
 		exit;
634 634
 
635 635
 	}
@@ -639,39 +639,39 @@  discard block
 block discarded – undo
639 639
 	 *
640 640
 	 * @param array $data
641 641
      */
642
-    public function admin_connect_gateway( $data ) {
642
+    public function admin_connect_gateway($data) {
643 643
 
644
-		if ( ! empty( $data['plugin'] ) ) {
644
+		if (!empty($data['plugin'])) {
645 645
 
646
-			$gateway     = sanitize_key( $data['plugin'] );
647
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
646
+			$gateway     = sanitize_key($data['plugin']);
647
+			$connect_url = apply_filters("getpaid_get_{$gateway}_connect_url", false, $data);
648 648
 
649
-			if ( ! empty( $connect_url ) ) {
650
-				wp_redirect( $connect_url );
649
+			if (!empty($connect_url)) {
650
+				wp_redirect($connect_url);
651 651
 				exit;
652 652
 			}
653 653
 
654
-			if ( 'stripe' == $data['plugin'] ) {
654
+			if ('stripe' == $data['plugin']) {
655 655
 				require_once ABSPATH . 'wp-admin/includes/plugin.php';
656 656
 
657
-				if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) {
658
-					$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' );
659
-					$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
660
-					$upgrader->install( $plugin_zip );
657
+				if (!array_key_exists('getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins())) {
658
+					$plugin_zip = esc_url('https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip');
659
+					$upgrader   = new Plugin_Upgrader(new Automatic_Upgrader_Skin());
660
+					$upgrader->install($plugin_zip);
661 661
 				}
662 662
 
663
-				activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true );
663
+				activate_plugin('getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true);
664 664
 			}
665 665
 
666
-			if ( ! empty( $connect_url ) ) {
667
-				wp_redirect( $connect_url );
666
+			if (!empty($connect_url)) {
667
+				wp_redirect($connect_url);
668 668
 				exit;
669 669
 			}
670 670
 
671 671
 		}
672 672
 
673
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' );
674
-		wp_safe_redirect( $redirect );
673
+		$redirect = isset($data['redirect']) ? esc_url_raw(urldecode($data['redirect'])) : admin_url('admin.php?page=wpinv-settings&tab=gateways');
674
+		wp_safe_redirect($redirect);
675 675
 		exit;
676 676
 
677 677
 	}
@@ -685,36 +685,36 @@  discard block
 block discarded – undo
685 685
 
686 686
 		// Fetch all invoices that have discount codes.
687 687
 		$table    = $wpdb->prefix . 'getpaid_invoices';
688
-		$invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" );
688
+		$invoices = $wpdb->get_col("SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''");
689 689
 
690
-		foreach ( $invoices as $invoice ) {
690
+		foreach ($invoices as $invoice) {
691 691
 
692
-			$invoice = new WPInv_Invoice( $invoice );
692
+			$invoice = new WPInv_Invoice($invoice);
693 693
 
694
-			if ( ! $invoice->exists() ) {
694
+			if (!$invoice->exists()) {
695 695
 				continue;
696 696
 			}
697 697
 
698 698
 			// Abort if the discount does not exist or does not apply here.
699
-			$discount = new WPInv_Discount( $invoice->get_discount_code() );
700
-			if ( ! $discount->exists() ) {
699
+			$discount = new WPInv_Discount($invoice->get_discount_code());
700
+			if (!$discount->exists()) {
701 701
 				continue;
702 702
 			}
703 703
 
704
-			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
704
+			$invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount));
705 705
 			$invoice->recalculate_total();
706 706
 
707
-			if ( $invoice->get_total_discount() > 0 ) {
707
+			if ($invoice->get_total_discount() > 0) {
708 708
 				$invoice->save();
709 709
 			}
710 710
 
711 711
 		}
712 712
 
713 713
 		// Show an admin message.
714
-		$this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) );
714
+		$this->show_success(__('Discounts have been recalculated.', 'invoicing'));
715 715
 
716 716
 		// Redirect the admin.
717
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
717
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
718 718
 		exit;
719 719
 
720 720
 	}
@@ -726,8 +726,8 @@  discard block
 block discarded – undo
726 726
      * @return array
727 727
 	 */
728 728
 	public function get_notices() {
729
-		$notices = get_option( 'wpinv_admin_notices' );
730
-        return is_array( $notices ) ? $notices : array();
729
+		$notices = get_option('wpinv_admin_notices');
730
+        return is_array($notices) ? $notices : array();
731 731
 	}
732 732
 
733 733
 	/**
@@ -737,7 +737,7 @@  discard block
 block discarded – undo
737 737
      * @return array
738 738
 	 */
739 739
 	public function has_notices() {
740
-		return count( $this->get_notices() ) > 0;
740
+		return count($this->get_notices()) > 0;
741 741
 	}
742 742
 
743 743
 	/**
@@ -747,7 +747,7 @@  discard block
 block discarded – undo
747 747
 	 * @since       1.0.19
748 748
 	 */
749 749
 	public function clear_notices() {
750
-		delete_option( 'wpinv_admin_notices' );
750
+		delete_option('wpinv_admin_notices');
751 751
 	}
752 752
 
753 753
 	/**
@@ -756,16 +756,16 @@  discard block
 block discarded – undo
756 756
 	 * @access      public
757 757
 	 * @since       1.0.19
758 758
 	 */
759
-	public function save_notice( $type, $message ) {
759
+	public function save_notice($type, $message) {
760 760
 		$notices = $this->get_notices();
761 761
 
762
-		if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ]) ) {
763
-			$notices[ $type ] = array();
762
+		if (empty($notices[$type]) || !is_array($notices[$type])) {
763
+			$notices[$type] = array();
764 764
 		}
765 765
 
766
-		$notices[ $type ][] = $message;
766
+		$notices[$type][] = $message;
767 767
 
768
-		update_option( 'wpinv_admin_notices', $notices );
768
+		update_option('wpinv_admin_notices', $notices);
769 769
 	}
770 770
 
771 771
 	/**
@@ -775,8 +775,8 @@  discard block
 block discarded – undo
775 775
 	 * @access      public
776 776
 	 * @since       1.0.19
777 777
 	 */
778
-	public function show_success( $msg ) {
779
-		$this->save_notice( 'success', $msg );
778
+	public function show_success($msg) {
779
+		$this->save_notice('success', $msg);
780 780
 	}
781 781
 
782 782
 	/**
@@ -786,8 +786,8 @@  discard block
 block discarded – undo
786 786
 	 * @param       string $msg The message to qeue.
787 787
 	 * @since       1.0.19
788 788
 	 */
789
-	public function show_error( $msg ) {
790
-		$this->save_notice( 'error', $msg );
789
+	public function show_error($msg) {
790
+		$this->save_notice('error', $msg);
791 791
 	}
792 792
 
793 793
 	/**
@@ -797,8 +797,8 @@  discard block
 block discarded – undo
797 797
 	 * @param       string $msg The message to qeue.
798 798
 	 * @since       1.0.19
799 799
 	 */
800
-	public function show_warning( $msg ) {
801
-		$this->save_notice( 'warning', $msg );
800
+	public function show_warning($msg) {
801
+		$this->save_notice('warning', $msg);
802 802
 	}
803 803
 
804 804
 	/**
@@ -808,8 +808,8 @@  discard block
 block discarded – undo
808 808
 	 * @param       string $msg The message to qeue.
809 809
 	 * @since       1.0.19
810 810
 	 */
811
-	public function show_info( $msg ) {
812
-		$this->save_notice( 'info', $msg );
811
+	public function show_info($msg) {
812
+		$this->save_notice('info', $msg);
813 813
 	}
814 814
 
815 815
 	/**
@@ -823,30 +823,30 @@  discard block
 block discarded – undo
823 823
         $notices = $this->get_notices();
824 824
         $this->clear_notices();
825 825
 
826
-		foreach ( $notices as $type => $messages ) {
826
+		foreach ($notices as $type => $messages) {
827 827
 
828
-			if ( ! is_array( $messages ) ) {
828
+			if (!is_array($messages)) {
829 829
 				continue;
830 830
 			}
831 831
 
832
-            $type  = sanitize_key( $type );
833
-			foreach ( $messages as $message ) {
834
-                $message = wp_kses_post( $message );
832
+            $type = sanitize_key($type);
833
+			foreach ($messages as $message) {
834
+                $message = wp_kses_post($message);
835 835
 				echo "<div class='notice notice-$type is-dismissible'><p>$message</p></div>";
836 836
             }
837 837
 
838 838
         }
839 839
 
840
-		foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) {
840
+		foreach (array('checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page') as $page) {
841 841
 
842
-			if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) {
843
-				$url     = wp_nonce_url(
844
-					add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
842
+			if (!is_numeric(wpinv_get_option($page, false))) {
843
+				$url = wp_nonce_url(
844
+					add_query_arg('getpaid-admin-action', 'create_missing_pages'),
845 845
 					'getpaid-nonce',
846 846
 					'getpaid-nonce'
847 847
 				);
848
-				$message  = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' );
849
-				$message2 = __( 'Generate Pages', 'invoicing' );
848
+				$message  = __('Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing');
849
+				$message2 = __('Generate Pages', 'invoicing');
850 850
 				echo "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>";
851 851
 				break;
852 852
 			}
Please login to merge, or discard this patch.
includes/class-getpaid-post-types.php 2 patches
Indentation   +305 added lines, -305 removed lines patch added patch discarded remove patch
@@ -15,331 +15,331 @@
 block discarded – undo
15 15
 class GetPaid_Post_Types {
16 16
 
17 17
     /**
18
-	 * Hook in methods.
19
-	 */
20
-	public function __construct() {
21
-		add_action( 'init', array( __CLASS__, 'register_post_types' ), 1 );
22
-		add_action( 'init', array( __CLASS__, 'register_post_status' ), 4 );
23
-		add_action( 'getpaid_flush_rewrite_rules', array( __CLASS__, 'flush_rewrite_rules' ) );
24
-		add_action( 'getpaid_after_register_post_types', array( __CLASS__, 'maybe_flush_rewrite_rules' ) );
25
-	}
18
+     * Hook in methods.
19
+     */
20
+    public function __construct() {
21
+        add_action( 'init', array( __CLASS__, 'register_post_types' ), 1 );
22
+        add_action( 'init', array( __CLASS__, 'register_post_status' ), 4 );
23
+        add_action( 'getpaid_flush_rewrite_rules', array( __CLASS__, 'flush_rewrite_rules' ) );
24
+        add_action( 'getpaid_after_register_post_types', array( __CLASS__, 'maybe_flush_rewrite_rules' ) );
25
+    }
26 26
 
27
-	/**
28
-	 * Register core post types.
29
-	 */
30
-	public static function register_post_types() {
27
+    /**
28
+     * Register core post types.
29
+     */
30
+    public static function register_post_types() {
31 31
 
32
-		if ( ! is_blog_installed() || post_type_exists( 'wpi_item' ) ) {
33
-			return;
34
-		}
32
+        if ( ! is_blog_installed() || post_type_exists( 'wpi_item' ) ) {
33
+            return;
34
+        }
35 35
 
36
-		$capabilities = wpinv_current_user_can_manage_invoicing();
36
+        $capabilities = wpinv_current_user_can_manage_invoicing();
37 37
 
38
-		// Fires before registering post types.
39
-		do_action( 'getpaid_register_post_types' );
38
+        // Fires before registering post types.
39
+        do_action( 'getpaid_register_post_types' );
40 40
 
41
-		// Register item post type.
42
-		register_post_type(
43
-			'wpi_item',
44
-			apply_filters(
45
-				'wpinv_register_post_type_invoice_item',
46
-				array(
47
-					'labels'             => array(
48
-						'name'               => _x( 'Items', 'post type general name', 'invoicing' ),
49
-						'singular_name'      => _x( 'Item', 'post type singular name', 'invoicing' ),
50
-						'menu_name'          => _x( 'Items', 'admin menu', 'invoicing' ),
51
-						'name_admin_bar'     => _x( 'Item', 'add new on admin bar', 'invoicing' ),
52
-						'add_new'            => _x( 'Add New', 'Item', 'invoicing' ),
53
-						'add_new_item'       => __( 'Add New Item', 'invoicing' ),
54
-						'new_item'           => __( 'New Item', 'invoicing' ),
55
-						'edit_item'          => __( 'Edit Item', 'invoicing' ),
56
-						'view_item'          => __( 'View Item', 'invoicing' ),
57
-						'all_items'          => __( 'Items', 'invoicing' ),
58
-						'search_items'       => __( 'Search items', 'invoicing' ),
59
-						'parent_item_colon'  => __( 'Parent item:', 'invoicing' ),
60
-						'not_found'          => __( 'No items found.', 'invoicing' ),
61
-						'not_found_in_trash' => __( 'No items found in trash.', 'invoicing' )
62
-					),
63
-					'description'           => __( 'This is where you can add new invoice items.', 'invoicing' ),
64
-					'public'                => false,
65
-					'has_archive'           => false,
66
-					'_builtin'              => false,
67
-					'show_ui'               => true,
68
-					'show_in_menu'          => wpinv_current_user_can_manage_invoicing() ? 'wpinv' : false,
69
-					'show_in_nav_menus'     => false,
70
-					'supports'              => array( 'title', 'excerpt', 'thumbnail' ),
71
-					'rewrite'               => false,
72
-					'query_var'             => false,
73
-					'map_meta_cap'          => true,
74
-					'show_in_admin_bar'     => true,
75
-					'can_export'            => true,
76
-				)
77
-			)
78
-		);
41
+        // Register item post type.
42
+        register_post_type(
43
+            'wpi_item',
44
+            apply_filters(
45
+                'wpinv_register_post_type_invoice_item',
46
+                array(
47
+                    'labels'             => array(
48
+                        'name'               => _x( 'Items', 'post type general name', 'invoicing' ),
49
+                        'singular_name'      => _x( 'Item', 'post type singular name', 'invoicing' ),
50
+                        'menu_name'          => _x( 'Items', 'admin menu', 'invoicing' ),
51
+                        'name_admin_bar'     => _x( 'Item', 'add new on admin bar', 'invoicing' ),
52
+                        'add_new'            => _x( 'Add New', 'Item', 'invoicing' ),
53
+                        'add_new_item'       => __( 'Add New Item', 'invoicing' ),
54
+                        'new_item'           => __( 'New Item', 'invoicing' ),
55
+                        'edit_item'          => __( 'Edit Item', 'invoicing' ),
56
+                        'view_item'          => __( 'View Item', 'invoicing' ),
57
+                        'all_items'          => __( 'Items', 'invoicing' ),
58
+                        'search_items'       => __( 'Search items', 'invoicing' ),
59
+                        'parent_item_colon'  => __( 'Parent item:', 'invoicing' ),
60
+                        'not_found'          => __( 'No items found.', 'invoicing' ),
61
+                        'not_found_in_trash' => __( 'No items found in trash.', 'invoicing' )
62
+                    ),
63
+                    'description'           => __( 'This is where you can add new invoice items.', 'invoicing' ),
64
+                    'public'                => false,
65
+                    'has_archive'           => false,
66
+                    '_builtin'              => false,
67
+                    'show_ui'               => true,
68
+                    'show_in_menu'          => wpinv_current_user_can_manage_invoicing() ? 'wpinv' : false,
69
+                    'show_in_nav_menus'     => false,
70
+                    'supports'              => array( 'title', 'excerpt', 'thumbnail' ),
71
+                    'rewrite'               => false,
72
+                    'query_var'             => false,
73
+                    'map_meta_cap'          => true,
74
+                    'show_in_admin_bar'     => true,
75
+                    'can_export'            => true,
76
+                )
77
+            )
78
+        );
79 79
 
80
-		// Register payment form post type.
81
-		register_post_type(
82
-			'wpi_payment_form',
83
-			apply_filters(
84
-				'wpinv_register_post_type_payment_form',
85
-				array(
86
-					'labels'             => array(
87
-						'name'               => _x( 'Payment Forms', 'post type general name', 'invoicing' ),
88
-						'singular_name'      => _x( 'Payment Form', 'post type singular name', 'invoicing' ),
89
-						'menu_name'          => _x( 'Payment Forms', 'admin menu', 'invoicing' ),
90
-						'name_admin_bar'     => _x( 'Payment Form', 'add new on admin bar', 'invoicing' ),
91
-						'add_new'            => _x( 'Add New', 'Payment Form', 'invoicing' ),
92
-						'add_new_item'       => __( 'Add New Payment Form', 'invoicing' ),
93
-						'new_item'           => __( 'New Payment Form', 'invoicing' ),
94
-						'edit_item'          => __( 'Edit Payment Form', 'invoicing' ),
95
-						'view_item'          => __( 'View Payment Form', 'invoicing' ),
96
-						'all_items'          => __( 'Payment Forms', 'invoicing' ),
97
-						'search_items'       => __( 'Search Payment Forms', 'invoicing' ),
98
-						'parent_item_colon'  => __( 'Parent Payment Forms:', 'invoicing' ),
99
-						'not_found'          => __( 'No payment forms found.', 'invoicing' ),
100
-						'not_found_in_trash' => __( 'No payment forms found in trash.', 'invoicing' )
101
-					),
102
-					'description'        => __( 'Add new payment forms.', 'invoicing' ),
103
-					'public'             => false,
104
-					'show_ui'            => true,
105
-					'show_in_menu'       => $capabilities ? 'wpinv' : false,
106
-					'show_in_nav_menus'  => false,
107
-					'query_var'          => false,
108
-					'rewrite'            => true,
109
-					'map_meta_cap'       => true,
110
-					'has_archive'        => false,
111
-					'hierarchical'       => false,
112
-					'menu_position'      => null,
113
-					'supports'           => array( 'title' ),
114
-					'menu_icon'          => 'dashicons-media-form',
115
-					'capabilities' => array(
116
-						'edit_post'          => $capabilities,
117
-						'read_post'          => $capabilities,
118
-						'delete_post'        => $capabilities,
119
-						'edit_posts'         => 'update_core',
120
-						'edit_others_posts'  => 'update_core',
121
-						'delete_posts'       => 'update_core',
122
-						'publish_posts'      => 'update_core',
123
-						'read_private_posts' => 'update_core'
124
-					),
125
-				)
126
-			)
127
-		);
80
+        // Register payment form post type.
81
+        register_post_type(
82
+            'wpi_payment_form',
83
+            apply_filters(
84
+                'wpinv_register_post_type_payment_form',
85
+                array(
86
+                    'labels'             => array(
87
+                        'name'               => _x( 'Payment Forms', 'post type general name', 'invoicing' ),
88
+                        'singular_name'      => _x( 'Payment Form', 'post type singular name', 'invoicing' ),
89
+                        'menu_name'          => _x( 'Payment Forms', 'admin menu', 'invoicing' ),
90
+                        'name_admin_bar'     => _x( 'Payment Form', 'add new on admin bar', 'invoicing' ),
91
+                        'add_new'            => _x( 'Add New', 'Payment Form', 'invoicing' ),
92
+                        'add_new_item'       => __( 'Add New Payment Form', 'invoicing' ),
93
+                        'new_item'           => __( 'New Payment Form', 'invoicing' ),
94
+                        'edit_item'          => __( 'Edit Payment Form', 'invoicing' ),
95
+                        'view_item'          => __( 'View Payment Form', 'invoicing' ),
96
+                        'all_items'          => __( 'Payment Forms', 'invoicing' ),
97
+                        'search_items'       => __( 'Search Payment Forms', 'invoicing' ),
98
+                        'parent_item_colon'  => __( 'Parent Payment Forms:', 'invoicing' ),
99
+                        'not_found'          => __( 'No payment forms found.', 'invoicing' ),
100
+                        'not_found_in_trash' => __( 'No payment forms found in trash.', 'invoicing' )
101
+                    ),
102
+                    'description'        => __( 'Add new payment forms.', 'invoicing' ),
103
+                    'public'             => false,
104
+                    'show_ui'            => true,
105
+                    'show_in_menu'       => $capabilities ? 'wpinv' : false,
106
+                    'show_in_nav_menus'  => false,
107
+                    'query_var'          => false,
108
+                    'rewrite'            => true,
109
+                    'map_meta_cap'       => true,
110
+                    'has_archive'        => false,
111
+                    'hierarchical'       => false,
112
+                    'menu_position'      => null,
113
+                    'supports'           => array( 'title' ),
114
+                    'menu_icon'          => 'dashicons-media-form',
115
+                    'capabilities' => array(
116
+                        'edit_post'          => $capabilities,
117
+                        'read_post'          => $capabilities,
118
+                        'delete_post'        => $capabilities,
119
+                        'edit_posts'         => 'update_core',
120
+                        'edit_others_posts'  => 'update_core',
121
+                        'delete_posts'       => 'update_core',
122
+                        'publish_posts'      => 'update_core',
123
+                        'read_private_posts' => 'update_core'
124
+                    ),
125
+                )
126
+            )
127
+        );
128 128
 
129
-		// Register invoice post type.
130
-		register_post_type(
131
-			'wpi_invoice',
132
-			apply_filters(
133
-				'wpinv_register_post_type_invoice',
134
-				array(
135
-					'labels'                 => array(
136
-						'name'                  => __( 'Invoices', 'invoicing' ),
137
-						'singular_name'         => __( 'Invoice', 'invoicing' ),
138
-						'all_items'             => __( 'Invoices', 'invoicing' ),
139
-						'menu_name'             => _x( 'Invoices', 'Admin menu name', 'invoicing' ),
140
-						'add_new'               => __( 'Add New', 'invoicing' ),
141
-						'add_new_item'          => __( 'Add new invoice', 'invoicing' ),
142
-						'edit'                  => __( 'Edit', 'invoicing' ),
143
-						'edit_item'             => __( 'Edit invoice', 'invoicing' ),
144
-						'new_item'              => __( 'New invoice', 'invoicing' ),
145
-						'view_item'             => __( 'View invoice', 'invoicing' ),
146
-						'view_items'            => __( 'View Invoices', 'invoicing' ),
147
-						'search_items'          => __( 'Search invoices', 'invoicing' ),
148
-						'not_found'             => __( 'No invoices found', 'invoicing' ),
149
-						'not_found_in_trash'    => __( 'No invoices found in trash', 'invoicing' ),
150
-						'parent'                => __( 'Parent invoice', 'invoicing' ),
151
-						'featured_image'        => __( 'Invoice image', 'invoicing' ),
152
-						'set_featured_image'    => __( 'Set invoice image', 'invoicing' ),
153
-						'remove_featured_image' => __( 'Remove invoice image', 'invoicing' ),
154
-						'use_featured_image'    => __( 'Use as invoice image', 'invoicing' ),
155
-						'insert_into_item'      => __( 'Insert into invoice', 'invoicing' ),
156
-						'uploaded_to_this_item' => __( 'Uploaded to this invoice', 'invoicing' ),
157
-						'filter_items_list'     => __( 'Filter invoices', 'invoicing' ),
158
-						'items_list_navigation' => __( 'Invoices navigation', 'invoicing' ),
159
-						'items_list'            => __( 'Invoices list', 'invoicing' ),
160
-					),
161
-					'description'           => __( 'This is where invoices are stored.', 'invoicing' ),
162
-					'public'                => true,
163
-					'has_archive'           => false,
164
-					'publicly_queryable'    => true,
165
-        			'exclude_from_search'   => true,
166
-        			'show_ui'               => true,
167
-					'show_in_menu'          => wpinv_current_user_can_manage_invoicing() ? 'wpinv' : false,
168
-					'show_in_nav_menus'     => false,
169
-					'supports'              => array( 'title', 'author', 'excerpt'  ),
170
-					'rewrite'               => array(
171
-						'slug'              => 'invoice',
172
-						'with_front'        => false,
173
-					),
174
-					'query_var'             => false,
175
-					'map_meta_cap'          => true,
176
-					'show_in_admin_bar'     => true,
177
-					'can_export'            => true,
178
-					'hierarchical'          => false,
179
-					'menu_position'         => null,
180
-					'menu_icon'             => 'dashicons-media-spreadsheet',
181
-				)
182
-			)
183
-		);
129
+        // Register invoice post type.
130
+        register_post_type(
131
+            'wpi_invoice',
132
+            apply_filters(
133
+                'wpinv_register_post_type_invoice',
134
+                array(
135
+                    'labels'                 => array(
136
+                        'name'                  => __( 'Invoices', 'invoicing' ),
137
+                        'singular_name'         => __( 'Invoice', 'invoicing' ),
138
+                        'all_items'             => __( 'Invoices', 'invoicing' ),
139
+                        'menu_name'             => _x( 'Invoices', 'Admin menu name', 'invoicing' ),
140
+                        'add_new'               => __( 'Add New', 'invoicing' ),
141
+                        'add_new_item'          => __( 'Add new invoice', 'invoicing' ),
142
+                        'edit'                  => __( 'Edit', 'invoicing' ),
143
+                        'edit_item'             => __( 'Edit invoice', 'invoicing' ),
144
+                        'new_item'              => __( 'New invoice', 'invoicing' ),
145
+                        'view_item'             => __( 'View invoice', 'invoicing' ),
146
+                        'view_items'            => __( 'View Invoices', 'invoicing' ),
147
+                        'search_items'          => __( 'Search invoices', 'invoicing' ),
148
+                        'not_found'             => __( 'No invoices found', 'invoicing' ),
149
+                        'not_found_in_trash'    => __( 'No invoices found in trash', 'invoicing' ),
150
+                        'parent'                => __( 'Parent invoice', 'invoicing' ),
151
+                        'featured_image'        => __( 'Invoice image', 'invoicing' ),
152
+                        'set_featured_image'    => __( 'Set invoice image', 'invoicing' ),
153
+                        'remove_featured_image' => __( 'Remove invoice image', 'invoicing' ),
154
+                        'use_featured_image'    => __( 'Use as invoice image', 'invoicing' ),
155
+                        'insert_into_item'      => __( 'Insert into invoice', 'invoicing' ),
156
+                        'uploaded_to_this_item' => __( 'Uploaded to this invoice', 'invoicing' ),
157
+                        'filter_items_list'     => __( 'Filter invoices', 'invoicing' ),
158
+                        'items_list_navigation' => __( 'Invoices navigation', 'invoicing' ),
159
+                        'items_list'            => __( 'Invoices list', 'invoicing' ),
160
+                    ),
161
+                    'description'           => __( 'This is where invoices are stored.', 'invoicing' ),
162
+                    'public'                => true,
163
+                    'has_archive'           => false,
164
+                    'publicly_queryable'    => true,
165
+                    'exclude_from_search'   => true,
166
+                    'show_ui'               => true,
167
+                    'show_in_menu'          => wpinv_current_user_can_manage_invoicing() ? 'wpinv' : false,
168
+                    'show_in_nav_menus'     => false,
169
+                    'supports'              => array( 'title', 'author', 'excerpt'  ),
170
+                    'rewrite'               => array(
171
+                        'slug'              => 'invoice',
172
+                        'with_front'        => false,
173
+                    ),
174
+                    'query_var'             => false,
175
+                    'map_meta_cap'          => true,
176
+                    'show_in_admin_bar'     => true,
177
+                    'can_export'            => true,
178
+                    'hierarchical'          => false,
179
+                    'menu_position'         => null,
180
+                    'menu_icon'             => 'dashicons-media-spreadsheet',
181
+                )
182
+            )
183
+        );
184 184
 
185
-		// Register discount post type.
186
-		register_post_type(
187
-			'wpi_discount',
188
-			apply_filters(
189
-				'wpinv_register_post_type_discount',
190
-				array(
191
-					'labels'                 => array(
192
-						'name'                  => __( 'Discounts', 'invoicing' ),
193
-						'singular_name'         => __( 'Discount', 'invoicing' ),
194
-						'all_items'             => __( 'Discounts', 'invoicing' ),
195
-						'menu_name'             => _x( 'Discounts', 'Admin menu name', 'invoicing' ),
196
-						'add_new'               => __( 'Add New', 'invoicing' ),
197
-						'add_new_item'          => __( 'Add new discount', 'invoicing' ),
198
-						'edit'                  => __( 'Edit', 'invoicing' ),
199
-						'edit_item'             => __( 'Edit discount', 'invoicing' ),
200
-						'new_item'              => __( 'New discount', 'invoicing' ),
201
-						'view_item'             => __( 'View discount', 'invoicing' ),
202
-						'view_items'            => __( 'View Discounts', 'invoicing' ),
203
-						'search_items'          => __( 'Search discounts', 'invoicing' ),
204
-						'not_found'             => __( 'No discounts found', 'invoicing' ),
205
-						'not_found_in_trash'    => __( 'No discounts found in trash', 'invoicing' ),
206
-						'parent'                => __( 'Parent discount', 'invoicing' ),
207
-						'featured_image'        => __( 'Discount image', 'invoicing' ),
208
-						'set_featured_image'    => __( 'Set discount image', 'invoicing' ),
209
-						'remove_featured_image' => __( 'Remove discount image', 'invoicing' ),
210
-						'use_featured_image'    => __( 'Use as discount image', 'invoicing' ),
211
-						'insert_into_item'      => __( 'Insert into discount', 'invoicing' ),
212
-						'uploaded_to_this_item' => __( 'Uploaded to this discount', 'invoicing' ),
213
-						'filter_items_list'     => __( 'Filter discounts', 'invoicing' ),
214
-						'items_list_navigation' => __( 'Discount navigation', 'invoicing' ),
215
-						'items_list'            => __( 'Discounts list', 'invoicing' ),
216
-					),
217
-					'description'        => __( 'This is where you can add new discounts that users can use in invoices.', 'invoicing' ),
218
-					'public'             => false,
219
-					'can_export'         => true,
220
-					'_builtin'           => false,
221
-					'publicly_queryable' => false,
222
-					'exclude_from_search'=> true,
223
-					'show_ui'            => true,
224
-					'show_in_menu'       => wpinv_current_user_can_manage_invoicing() ? 'wpinv' : false,
225
-					'query_var'          => false,
226
-					'rewrite'            => false,
227
-					'map_meta_cap'       => true,
228
-					'has_archive'        => false,
229
-					'hierarchical'       => false,
230
-					'supports'           => array( 'title', 'excerpt' ),
231
-					'show_in_nav_menus'  => false,
232
-					'show_in_admin_bar'  => true,
233
-					'menu_position'      => null,
234
-				)
235
-			)
236
-		);
185
+        // Register discount post type.
186
+        register_post_type(
187
+            'wpi_discount',
188
+            apply_filters(
189
+                'wpinv_register_post_type_discount',
190
+                array(
191
+                    'labels'                 => array(
192
+                        'name'                  => __( 'Discounts', 'invoicing' ),
193
+                        'singular_name'         => __( 'Discount', 'invoicing' ),
194
+                        'all_items'             => __( 'Discounts', 'invoicing' ),
195
+                        'menu_name'             => _x( 'Discounts', 'Admin menu name', 'invoicing' ),
196
+                        'add_new'               => __( 'Add New', 'invoicing' ),
197
+                        'add_new_item'          => __( 'Add new discount', 'invoicing' ),
198
+                        'edit'                  => __( 'Edit', 'invoicing' ),
199
+                        'edit_item'             => __( 'Edit discount', 'invoicing' ),
200
+                        'new_item'              => __( 'New discount', 'invoicing' ),
201
+                        'view_item'             => __( 'View discount', 'invoicing' ),
202
+                        'view_items'            => __( 'View Discounts', 'invoicing' ),
203
+                        'search_items'          => __( 'Search discounts', 'invoicing' ),
204
+                        'not_found'             => __( 'No discounts found', 'invoicing' ),
205
+                        'not_found_in_trash'    => __( 'No discounts found in trash', 'invoicing' ),
206
+                        'parent'                => __( 'Parent discount', 'invoicing' ),
207
+                        'featured_image'        => __( 'Discount image', 'invoicing' ),
208
+                        'set_featured_image'    => __( 'Set discount image', 'invoicing' ),
209
+                        'remove_featured_image' => __( 'Remove discount image', 'invoicing' ),
210
+                        'use_featured_image'    => __( 'Use as discount image', 'invoicing' ),
211
+                        'insert_into_item'      => __( 'Insert into discount', 'invoicing' ),
212
+                        'uploaded_to_this_item' => __( 'Uploaded to this discount', 'invoicing' ),
213
+                        'filter_items_list'     => __( 'Filter discounts', 'invoicing' ),
214
+                        'items_list_navigation' => __( 'Discount navigation', 'invoicing' ),
215
+                        'items_list'            => __( 'Discounts list', 'invoicing' ),
216
+                    ),
217
+                    'description'        => __( 'This is where you can add new discounts that users can use in invoices.', 'invoicing' ),
218
+                    'public'             => false,
219
+                    'can_export'         => true,
220
+                    '_builtin'           => false,
221
+                    'publicly_queryable' => false,
222
+                    'exclude_from_search'=> true,
223
+                    'show_ui'            => true,
224
+                    'show_in_menu'       => wpinv_current_user_can_manage_invoicing() ? 'wpinv' : false,
225
+                    'query_var'          => false,
226
+                    'rewrite'            => false,
227
+                    'map_meta_cap'       => true,
228
+                    'has_archive'        => false,
229
+                    'hierarchical'       => false,
230
+                    'supports'           => array( 'title', 'excerpt' ),
231
+                    'show_in_nav_menus'  => false,
232
+                    'show_in_admin_bar'  => true,
233
+                    'menu_position'      => null,
234
+                )
235
+            )
236
+        );
237 237
 
238
-		do_action( 'getpaid_after_register_post_types' );
239
-	}
238
+        do_action( 'getpaid_after_register_post_types' );
239
+    }
240 240
 
241
-	/**
242
-	 * Register our custom post statuses.
243
-	 */
244
-	public static function register_post_status() {
241
+    /**
242
+     * Register our custom post statuses.
243
+     */
244
+    public static function register_post_status() {
245 245
 
246
-		$invoice_statuses = apply_filters(
247
-			'getpaid_register_invoice_post_statuses',
248
-			array(
246
+        $invoice_statuses = apply_filters(
247
+            'getpaid_register_invoice_post_statuses',
248
+            array(
249 249
 
250
-				'wpi-pending' => array(
251
-					'label'                     => _x( 'Pending Payment', 'Invoice status', 'invoicing' ),
252
-        			'public'                    => true,
253
-        			'exclude_from_search'       => true,
254
-        			'show_in_admin_all_list'    => true,
255
-					'show_in_admin_status_list' => true,
256
-					/* translators: %s: number of invoices */
257
-        			'label_count'               => _n_noop( 'Pending Payment <span class="count">(%s)</span>', 'Pending Payment <span class="count">(%s)</span>', 'invoicing' )
258
-				),
250
+                'wpi-pending' => array(
251
+                    'label'                     => _x( 'Pending Payment', 'Invoice status', 'invoicing' ),
252
+                    'public'                    => true,
253
+                    'exclude_from_search'       => true,
254
+                    'show_in_admin_all_list'    => true,
255
+                    'show_in_admin_status_list' => true,
256
+                    /* translators: %s: number of invoices */
257
+                    'label_count'               => _n_noop( 'Pending Payment <span class="count">(%s)</span>', 'Pending Payment <span class="count">(%s)</span>', 'invoicing' )
258
+                ),
259 259
 
260
-				'wpi-processing' => array(
261
-					'label'                     => _x( 'Processing', 'Invoice status', 'invoicing' ),
262
-        			'public'                    => true,
263
-        			'exclude_from_search'       => true,
264
-        			'show_in_admin_all_list'    => true,
265
-					'show_in_admin_status_list' => true,
266
-					/* translators: %s: number of invoices */
267
-        			'label_count'               => _n_noop( 'Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing' )
268
-				),
260
+                'wpi-processing' => array(
261
+                    'label'                     => _x( 'Processing', 'Invoice status', 'invoicing' ),
262
+                    'public'                    => true,
263
+                    'exclude_from_search'       => true,
264
+                    'show_in_admin_all_list'    => true,
265
+                    'show_in_admin_status_list' => true,
266
+                    /* translators: %s: number of invoices */
267
+                    'label_count'               => _n_noop( 'Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing' )
268
+                ),
269 269
 
270
-				'wpi-onhold' => array(
271
-					'label'                     => _x( 'On Hold', 'Invoice status', 'invoicing' ),
272
-        			'public'                    => true,
273
-        			'exclude_from_search'       => true,
274
-        			'show_in_admin_all_list'    => true,
275
-					'show_in_admin_status_list' => true,
276
-					/* translators: %s: number of invoices */
277
-        			'label_count'               => _n_noop( 'On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing' )
278
-				),
270
+                'wpi-onhold' => array(
271
+                    'label'                     => _x( 'On Hold', 'Invoice status', 'invoicing' ),
272
+                    'public'                    => true,
273
+                    'exclude_from_search'       => true,
274
+                    'show_in_admin_all_list'    => true,
275
+                    'show_in_admin_status_list' => true,
276
+                    /* translators: %s: number of invoices */
277
+                    'label_count'               => _n_noop( 'On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing' )
278
+                ),
279 279
 
280
-				'wpi-cancelled' => array(
281
-					'label'                     => _x( 'Cancelled', 'Invoice status', 'invoicing' ),
282
-        			'public'                    => true,
283
-        			'exclude_from_search'       => true,
284
-        			'show_in_admin_all_list'    => true,
285
-					'show_in_admin_status_list' => true,
286
-					/* translators: %s: number of invoices */
287
-        			'label_count'               => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing' )
288
-				),
280
+                'wpi-cancelled' => array(
281
+                    'label'                     => _x( 'Cancelled', 'Invoice status', 'invoicing' ),
282
+                    'public'                    => true,
283
+                    'exclude_from_search'       => true,
284
+                    'show_in_admin_all_list'    => true,
285
+                    'show_in_admin_status_list' => true,
286
+                    /* translators: %s: number of invoices */
287
+                    'label_count'               => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing' )
288
+                ),
289 289
 
290
-				'wpi-refunded' => array(
291
-					'label'                     => _x( 'Refunded', 'Invoice status', 'invoicing' ),
292
-        			'public'                    => true,
293
-        			'exclude_from_search'       => true,
294
-        			'show_in_admin_all_list'    => true,
295
-					'show_in_admin_status_list' => true,
296
-					/* translators: %s: number of invoices */
297
-        			'label_count'               => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing' )
298
-				),
290
+                'wpi-refunded' => array(
291
+                    'label'                     => _x( 'Refunded', 'Invoice status', 'invoicing' ),
292
+                    'public'                    => true,
293
+                    'exclude_from_search'       => true,
294
+                    'show_in_admin_all_list'    => true,
295
+                    'show_in_admin_status_list' => true,
296
+                    /* translators: %s: number of invoices */
297
+                    'label_count'               => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing' )
298
+                ),
299 299
 
300
-				'wpi-failed' => array(
301
-					'label'                     => _x( 'Failed', 'Invoice status', 'invoicing' ),
302
-        			'public'                    => true,
303
-        			'exclude_from_search'       => true,
304
-        			'show_in_admin_all_list'    => true,
305
-					'show_in_admin_status_list' => true,
306
-					/* translators: %s: number of invoices */
307
-        			'label_count'               => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing' )
308
-				),
300
+                'wpi-failed' => array(
301
+                    'label'                     => _x( 'Failed', 'Invoice status', 'invoicing' ),
302
+                    'public'                    => true,
303
+                    'exclude_from_search'       => true,
304
+                    'show_in_admin_all_list'    => true,
305
+                    'show_in_admin_status_list' => true,
306
+                    /* translators: %s: number of invoices */
307
+                    'label_count'               => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing' )
308
+                ),
309 309
 
310
-				'wpi-renewal' => array(
311
-					'label'                     => _x( 'Renewal', 'Invoice status', 'invoicing' ),
312
-        			'public'                    => true,
313
-        			'exclude_from_search'       => true,
314
-        			'show_in_admin_all_list'    => true,
315
-					'show_in_admin_status_list' => true,
316
-					/* translators: %s: number of invoices */
317
-        			'label_count'               => _n_noop( 'Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing' )
318
-				)
319
-			)
320
-		);
310
+                'wpi-renewal' => array(
311
+                    'label'                     => _x( 'Renewal', 'Invoice status', 'invoicing' ),
312
+                    'public'                    => true,
313
+                    'exclude_from_search'       => true,
314
+                    'show_in_admin_all_list'    => true,
315
+                    'show_in_admin_status_list' => true,
316
+                    /* translators: %s: number of invoices */
317
+                    'label_count'               => _n_noop( 'Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing' )
318
+                )
319
+            )
320
+        );
321 321
 
322
-		foreach ( $invoice_statuses as $invoice_statuse => $args ) {
323
-			register_post_status( $invoice_statuse, $args );
324
-		}
325
-	}
322
+        foreach ( $invoice_statuses as $invoice_statuse => $args ) {
323
+            register_post_status( $invoice_statuse, $args );
324
+        }
325
+    }
326 326
 
327
-	/**
328
-	 * Flush rewrite rules.
329
-	 */
330
-	public static function flush_rewrite_rules() {
331
-		flush_rewrite_rules();
332
-	}
327
+    /**
328
+     * Flush rewrite rules.
329
+     */
330
+    public static function flush_rewrite_rules() {
331
+        flush_rewrite_rules();
332
+    }
333 333
 
334
-	/**
335
-	 * Flush rules to prevent 404.
336
-	 *
337
-	 */
338
-	public static function maybe_flush_rewrite_rules() {
339
-		if ( ! get_option( 'getpaid_flushed_rewrite_rules' ) ) {
340
-			update_option( 'getpaid_flushed_rewrite_rules', '1' );
341
-			self::flush_rewrite_rules();
342
-		}
343
-	}
334
+    /**
335
+     * Flush rules to prevent 404.
336
+     *
337
+     */
338
+    public static function maybe_flush_rewrite_rules() {
339
+        if ( ! get_option( 'getpaid_flushed_rewrite_rules' ) ) {
340
+            update_option( 'getpaid_flushed_rewrite_rules', '1' );
341
+            self::flush_rewrite_rules();
342
+        }
343
+    }
344 344
 
345 345
 }
Please login to merge, or discard this patch.
Spacing   +110 added lines, -110 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  *
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Post types Class
@@ -18,10 +18,10 @@  discard block
 block discarded – undo
18 18
 	 * Hook in methods.
19 19
 	 */
20 20
 	public function __construct() {
21
-		add_action( 'init', array( __CLASS__, 'register_post_types' ), 1 );
22
-		add_action( 'init', array( __CLASS__, 'register_post_status' ), 4 );
23
-		add_action( 'getpaid_flush_rewrite_rules', array( __CLASS__, 'flush_rewrite_rules' ) );
24
-		add_action( 'getpaid_after_register_post_types', array( __CLASS__, 'maybe_flush_rewrite_rules' ) );
21
+		add_action('init', array(__CLASS__, 'register_post_types'), 1);
22
+		add_action('init', array(__CLASS__, 'register_post_status'), 4);
23
+		add_action('getpaid_flush_rewrite_rules', array(__CLASS__, 'flush_rewrite_rules'));
24
+		add_action('getpaid_after_register_post_types', array(__CLASS__, 'maybe_flush_rewrite_rules'));
25 25
 	}
26 26
 
27 27
 	/**
@@ -29,14 +29,14 @@  discard block
 block discarded – undo
29 29
 	 */
30 30
 	public static function register_post_types() {
31 31
 
32
-		if ( ! is_blog_installed() || post_type_exists( 'wpi_item' ) ) {
32
+		if (!is_blog_installed() || post_type_exists('wpi_item')) {
33 33
 			return;
34 34
 		}
35 35
 
36 36
 		$capabilities = wpinv_current_user_can_manage_invoicing();
37 37
 
38 38
 		// Fires before registering post types.
39
-		do_action( 'getpaid_register_post_types' );
39
+		do_action('getpaid_register_post_types');
40 40
 
41 41
 		// Register item post type.
42 42
 		register_post_type(
@@ -45,29 +45,29 @@  discard block
 block discarded – undo
45 45
 				'wpinv_register_post_type_invoice_item',
46 46
 				array(
47 47
 					'labels'             => array(
48
-						'name'               => _x( 'Items', 'post type general name', 'invoicing' ),
49
-						'singular_name'      => _x( 'Item', 'post type singular name', 'invoicing' ),
50
-						'menu_name'          => _x( 'Items', 'admin menu', 'invoicing' ),
51
-						'name_admin_bar'     => _x( 'Item', 'add new on admin bar', 'invoicing' ),
52
-						'add_new'            => _x( 'Add New', 'Item', 'invoicing' ),
53
-						'add_new_item'       => __( 'Add New Item', 'invoicing' ),
54
-						'new_item'           => __( 'New Item', 'invoicing' ),
55
-						'edit_item'          => __( 'Edit Item', 'invoicing' ),
56
-						'view_item'          => __( 'View Item', 'invoicing' ),
57
-						'all_items'          => __( 'Items', 'invoicing' ),
58
-						'search_items'       => __( 'Search items', 'invoicing' ),
59
-						'parent_item_colon'  => __( 'Parent item:', 'invoicing' ),
60
-						'not_found'          => __( 'No items found.', 'invoicing' ),
61
-						'not_found_in_trash' => __( 'No items found in trash.', 'invoicing' )
48
+						'name'               => _x('Items', 'post type general name', 'invoicing'),
49
+						'singular_name'      => _x('Item', 'post type singular name', 'invoicing'),
50
+						'menu_name'          => _x('Items', 'admin menu', 'invoicing'),
51
+						'name_admin_bar'     => _x('Item', 'add new on admin bar', 'invoicing'),
52
+						'add_new'            => _x('Add New', 'Item', 'invoicing'),
53
+						'add_new_item'       => __('Add New Item', 'invoicing'),
54
+						'new_item'           => __('New Item', 'invoicing'),
55
+						'edit_item'          => __('Edit Item', 'invoicing'),
56
+						'view_item'          => __('View Item', 'invoicing'),
57
+						'all_items'          => __('Items', 'invoicing'),
58
+						'search_items'       => __('Search items', 'invoicing'),
59
+						'parent_item_colon'  => __('Parent item:', 'invoicing'),
60
+						'not_found'          => __('No items found.', 'invoicing'),
61
+						'not_found_in_trash' => __('No items found in trash.', 'invoicing')
62 62
 					),
63
-					'description'           => __( 'This is where you can add new invoice items.', 'invoicing' ),
63
+					'description'           => __('This is where you can add new invoice items.', 'invoicing'),
64 64
 					'public'                => false,
65 65
 					'has_archive'           => false,
66 66
 					'_builtin'              => false,
67 67
 					'show_ui'               => true,
68 68
 					'show_in_menu'          => wpinv_current_user_can_manage_invoicing() ? 'wpinv' : false,
69 69
 					'show_in_nav_menus'     => false,
70
-					'supports'              => array( 'title', 'excerpt', 'thumbnail' ),
70
+					'supports'              => array('title', 'excerpt', 'thumbnail'),
71 71
 					'rewrite'               => false,
72 72
 					'query_var'             => false,
73 73
 					'map_meta_cap'          => true,
@@ -84,22 +84,22 @@  discard block
 block discarded – undo
84 84
 				'wpinv_register_post_type_payment_form',
85 85
 				array(
86 86
 					'labels'             => array(
87
-						'name'               => _x( 'Payment Forms', 'post type general name', 'invoicing' ),
88
-						'singular_name'      => _x( 'Payment Form', 'post type singular name', 'invoicing' ),
89
-						'menu_name'          => _x( 'Payment Forms', 'admin menu', 'invoicing' ),
90
-						'name_admin_bar'     => _x( 'Payment Form', 'add new on admin bar', 'invoicing' ),
91
-						'add_new'            => _x( 'Add New', 'Payment Form', 'invoicing' ),
92
-						'add_new_item'       => __( 'Add New Payment Form', 'invoicing' ),
93
-						'new_item'           => __( 'New Payment Form', 'invoicing' ),
94
-						'edit_item'          => __( 'Edit Payment Form', 'invoicing' ),
95
-						'view_item'          => __( 'View Payment Form', 'invoicing' ),
96
-						'all_items'          => __( 'Payment Forms', 'invoicing' ),
97
-						'search_items'       => __( 'Search Payment Forms', 'invoicing' ),
98
-						'parent_item_colon'  => __( 'Parent Payment Forms:', 'invoicing' ),
99
-						'not_found'          => __( 'No payment forms found.', 'invoicing' ),
100
-						'not_found_in_trash' => __( 'No payment forms found in trash.', 'invoicing' )
87
+						'name'               => _x('Payment Forms', 'post type general name', 'invoicing'),
88
+						'singular_name'      => _x('Payment Form', 'post type singular name', 'invoicing'),
89
+						'menu_name'          => _x('Payment Forms', 'admin menu', 'invoicing'),
90
+						'name_admin_bar'     => _x('Payment Form', 'add new on admin bar', 'invoicing'),
91
+						'add_new'            => _x('Add New', 'Payment Form', 'invoicing'),
92
+						'add_new_item'       => __('Add New Payment Form', 'invoicing'),
93
+						'new_item'           => __('New Payment Form', 'invoicing'),
94
+						'edit_item'          => __('Edit Payment Form', 'invoicing'),
95
+						'view_item'          => __('View Payment Form', 'invoicing'),
96
+						'all_items'          => __('Payment Forms', 'invoicing'),
97
+						'search_items'       => __('Search Payment Forms', 'invoicing'),
98
+						'parent_item_colon'  => __('Parent Payment Forms:', 'invoicing'),
99
+						'not_found'          => __('No payment forms found.', 'invoicing'),
100
+						'not_found_in_trash' => __('No payment forms found in trash.', 'invoicing')
101 101
 					),
102
-					'description'        => __( 'Add new payment forms.', 'invoicing' ),
102
+					'description'        => __('Add new payment forms.', 'invoicing'),
103 103
 					'public'             => false,
104 104
 					'show_ui'            => true,
105 105
 					'show_in_menu'       => $capabilities ? 'wpinv' : false,
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
 					'has_archive'        => false,
111 111
 					'hierarchical'       => false,
112 112
 					'menu_position'      => null,
113
-					'supports'           => array( 'title' ),
113
+					'supports'           => array('title'),
114 114
 					'menu_icon'          => 'dashicons-media-form',
115 115
 					'capabilities' => array(
116 116
 						'edit_post'          => $capabilities,
@@ -133,32 +133,32 @@  discard block
 block discarded – undo
133 133
 				'wpinv_register_post_type_invoice',
134 134
 				array(
135 135
 					'labels'                 => array(
136
-						'name'                  => __( 'Invoices', 'invoicing' ),
137
-						'singular_name'         => __( 'Invoice', 'invoicing' ),
138
-						'all_items'             => __( 'Invoices', 'invoicing' ),
139
-						'menu_name'             => _x( 'Invoices', 'Admin menu name', 'invoicing' ),
140
-						'add_new'               => __( 'Add New', 'invoicing' ),
141
-						'add_new_item'          => __( 'Add new invoice', 'invoicing' ),
142
-						'edit'                  => __( 'Edit', 'invoicing' ),
143
-						'edit_item'             => __( 'Edit invoice', 'invoicing' ),
144
-						'new_item'              => __( 'New invoice', 'invoicing' ),
145
-						'view_item'             => __( 'View invoice', 'invoicing' ),
146
-						'view_items'            => __( 'View Invoices', 'invoicing' ),
147
-						'search_items'          => __( 'Search invoices', 'invoicing' ),
148
-						'not_found'             => __( 'No invoices found', 'invoicing' ),
149
-						'not_found_in_trash'    => __( 'No invoices found in trash', 'invoicing' ),
150
-						'parent'                => __( 'Parent invoice', 'invoicing' ),
151
-						'featured_image'        => __( 'Invoice image', 'invoicing' ),
152
-						'set_featured_image'    => __( 'Set invoice image', 'invoicing' ),
153
-						'remove_featured_image' => __( 'Remove invoice image', 'invoicing' ),
154
-						'use_featured_image'    => __( 'Use as invoice image', 'invoicing' ),
155
-						'insert_into_item'      => __( 'Insert into invoice', 'invoicing' ),
156
-						'uploaded_to_this_item' => __( 'Uploaded to this invoice', 'invoicing' ),
157
-						'filter_items_list'     => __( 'Filter invoices', 'invoicing' ),
158
-						'items_list_navigation' => __( 'Invoices navigation', 'invoicing' ),
159
-						'items_list'            => __( 'Invoices list', 'invoicing' ),
136
+						'name'                  => __('Invoices', 'invoicing'),
137
+						'singular_name'         => __('Invoice', 'invoicing'),
138
+						'all_items'             => __('Invoices', 'invoicing'),
139
+						'menu_name'             => _x('Invoices', 'Admin menu name', 'invoicing'),
140
+						'add_new'               => __('Add New', 'invoicing'),
141
+						'add_new_item'          => __('Add new invoice', 'invoicing'),
142
+						'edit'                  => __('Edit', 'invoicing'),
143
+						'edit_item'             => __('Edit invoice', 'invoicing'),
144
+						'new_item'              => __('New invoice', 'invoicing'),
145
+						'view_item'             => __('View invoice', 'invoicing'),
146
+						'view_items'            => __('View Invoices', 'invoicing'),
147
+						'search_items'          => __('Search invoices', 'invoicing'),
148
+						'not_found'             => __('No invoices found', 'invoicing'),
149
+						'not_found_in_trash'    => __('No invoices found in trash', 'invoicing'),
150
+						'parent'                => __('Parent invoice', 'invoicing'),
151
+						'featured_image'        => __('Invoice image', 'invoicing'),
152
+						'set_featured_image'    => __('Set invoice image', 'invoicing'),
153
+						'remove_featured_image' => __('Remove invoice image', 'invoicing'),
154
+						'use_featured_image'    => __('Use as invoice image', 'invoicing'),
155
+						'insert_into_item'      => __('Insert into invoice', 'invoicing'),
156
+						'uploaded_to_this_item' => __('Uploaded to this invoice', 'invoicing'),
157
+						'filter_items_list'     => __('Filter invoices', 'invoicing'),
158
+						'items_list_navigation' => __('Invoices navigation', 'invoicing'),
159
+						'items_list'            => __('Invoices list', 'invoicing'),
160 160
 					),
161
-					'description'           => __( 'This is where invoices are stored.', 'invoicing' ),
161
+					'description'           => __('This is where invoices are stored.', 'invoicing'),
162 162
 					'public'                => true,
163 163
 					'has_archive'           => false,
164 164
 					'publicly_queryable'    => true,
@@ -166,7 +166,7 @@  discard block
 block discarded – undo
166 166
         			'show_ui'               => true,
167 167
 					'show_in_menu'          => wpinv_current_user_can_manage_invoicing() ? 'wpinv' : false,
168 168
 					'show_in_nav_menus'     => false,
169
-					'supports'              => array( 'title', 'author', 'excerpt'  ),
169
+					'supports'              => array('title', 'author', 'excerpt'),
170 170
 					'rewrite'               => array(
171 171
 						'slug'              => 'invoice',
172 172
 						'with_front'        => false,
@@ -189,32 +189,32 @@  discard block
 block discarded – undo
189 189
 				'wpinv_register_post_type_discount',
190 190
 				array(
191 191
 					'labels'                 => array(
192
-						'name'                  => __( 'Discounts', 'invoicing' ),
193
-						'singular_name'         => __( 'Discount', 'invoicing' ),
194
-						'all_items'             => __( 'Discounts', 'invoicing' ),
195
-						'menu_name'             => _x( 'Discounts', 'Admin menu name', 'invoicing' ),
196
-						'add_new'               => __( 'Add New', 'invoicing' ),
197
-						'add_new_item'          => __( 'Add new discount', 'invoicing' ),
198
-						'edit'                  => __( 'Edit', 'invoicing' ),
199
-						'edit_item'             => __( 'Edit discount', 'invoicing' ),
200
-						'new_item'              => __( 'New discount', 'invoicing' ),
201
-						'view_item'             => __( 'View discount', 'invoicing' ),
202
-						'view_items'            => __( 'View Discounts', 'invoicing' ),
203
-						'search_items'          => __( 'Search discounts', 'invoicing' ),
204
-						'not_found'             => __( 'No discounts found', 'invoicing' ),
205
-						'not_found_in_trash'    => __( 'No discounts found in trash', 'invoicing' ),
206
-						'parent'                => __( 'Parent discount', 'invoicing' ),
207
-						'featured_image'        => __( 'Discount image', 'invoicing' ),
208
-						'set_featured_image'    => __( 'Set discount image', 'invoicing' ),
209
-						'remove_featured_image' => __( 'Remove discount image', 'invoicing' ),
210
-						'use_featured_image'    => __( 'Use as discount image', 'invoicing' ),
211
-						'insert_into_item'      => __( 'Insert into discount', 'invoicing' ),
212
-						'uploaded_to_this_item' => __( 'Uploaded to this discount', 'invoicing' ),
213
-						'filter_items_list'     => __( 'Filter discounts', 'invoicing' ),
214
-						'items_list_navigation' => __( 'Discount navigation', 'invoicing' ),
215
-						'items_list'            => __( 'Discounts list', 'invoicing' ),
192
+						'name'                  => __('Discounts', 'invoicing'),
193
+						'singular_name'         => __('Discount', 'invoicing'),
194
+						'all_items'             => __('Discounts', 'invoicing'),
195
+						'menu_name'             => _x('Discounts', 'Admin menu name', 'invoicing'),
196
+						'add_new'               => __('Add New', 'invoicing'),
197
+						'add_new_item'          => __('Add new discount', 'invoicing'),
198
+						'edit'                  => __('Edit', 'invoicing'),
199
+						'edit_item'             => __('Edit discount', 'invoicing'),
200
+						'new_item'              => __('New discount', 'invoicing'),
201
+						'view_item'             => __('View discount', 'invoicing'),
202
+						'view_items'            => __('View Discounts', 'invoicing'),
203
+						'search_items'          => __('Search discounts', 'invoicing'),
204
+						'not_found'             => __('No discounts found', 'invoicing'),
205
+						'not_found_in_trash'    => __('No discounts found in trash', 'invoicing'),
206
+						'parent'                => __('Parent discount', 'invoicing'),
207
+						'featured_image'        => __('Discount image', 'invoicing'),
208
+						'set_featured_image'    => __('Set discount image', 'invoicing'),
209
+						'remove_featured_image' => __('Remove discount image', 'invoicing'),
210
+						'use_featured_image'    => __('Use as discount image', 'invoicing'),
211
+						'insert_into_item'      => __('Insert into discount', 'invoicing'),
212
+						'uploaded_to_this_item' => __('Uploaded to this discount', 'invoicing'),
213
+						'filter_items_list'     => __('Filter discounts', 'invoicing'),
214
+						'items_list_navigation' => __('Discount navigation', 'invoicing'),
215
+						'items_list'            => __('Discounts list', 'invoicing'),
216 216
 					),
217
-					'description'        => __( 'This is where you can add new discounts that users can use in invoices.', 'invoicing' ),
217
+					'description'        => __('This is where you can add new discounts that users can use in invoices.', 'invoicing'),
218 218
 					'public'             => false,
219 219
 					'can_export'         => true,
220 220
 					'_builtin'           => false,
@@ -227,7 +227,7 @@  discard block
 block discarded – undo
227 227
 					'map_meta_cap'       => true,
228 228
 					'has_archive'        => false,
229 229
 					'hierarchical'       => false,
230
-					'supports'           => array( 'title', 'excerpt' ),
230
+					'supports'           => array('title', 'excerpt'),
231 231
 					'show_in_nav_menus'  => false,
232 232
 					'show_in_admin_bar'  => true,
233 233
 					'menu_position'      => null,
@@ -235,7 +235,7 @@  discard block
 block discarded – undo
235 235
 			)
236 236
 		);
237 237
 
238
-		do_action( 'getpaid_after_register_post_types' );
238
+		do_action('getpaid_after_register_post_types');
239 239
 	}
240 240
 
241 241
 	/**
@@ -248,79 +248,79 @@  discard block
 block discarded – undo
248 248
 			array(
249 249
 
250 250
 				'wpi-pending' => array(
251
-					'label'                     => _x( 'Pending Payment', 'Invoice status', 'invoicing' ),
251
+					'label'                     => _x('Pending Payment', 'Invoice status', 'invoicing'),
252 252
         			'public'                    => true,
253 253
         			'exclude_from_search'       => true,
254 254
         			'show_in_admin_all_list'    => true,
255 255
 					'show_in_admin_status_list' => true,
256 256
 					/* translators: %s: number of invoices */
257
-        			'label_count'               => _n_noop( 'Pending Payment <span class="count">(%s)</span>', 'Pending Payment <span class="count">(%s)</span>', 'invoicing' )
257
+        			'label_count'               => _n_noop('Pending Payment <span class="count">(%s)</span>', 'Pending Payment <span class="count">(%s)</span>', 'invoicing')
258 258
 				),
259 259
 
260 260
 				'wpi-processing' => array(
261
-					'label'                     => _x( 'Processing', 'Invoice status', 'invoicing' ),
261
+					'label'                     => _x('Processing', 'Invoice status', 'invoicing'),
262 262
         			'public'                    => true,
263 263
         			'exclude_from_search'       => true,
264 264
         			'show_in_admin_all_list'    => true,
265 265
 					'show_in_admin_status_list' => true,
266 266
 					/* translators: %s: number of invoices */
267
-        			'label_count'               => _n_noop( 'Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing' )
267
+        			'label_count'               => _n_noop('Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing')
268 268
 				),
269 269
 
270 270
 				'wpi-onhold' => array(
271
-					'label'                     => _x( 'On Hold', 'Invoice status', 'invoicing' ),
271
+					'label'                     => _x('On Hold', 'Invoice status', 'invoicing'),
272 272
         			'public'                    => true,
273 273
         			'exclude_from_search'       => true,
274 274
         			'show_in_admin_all_list'    => true,
275 275
 					'show_in_admin_status_list' => true,
276 276
 					/* translators: %s: number of invoices */
277
-        			'label_count'               => _n_noop( 'On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing' )
277
+        			'label_count'               => _n_noop('On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing')
278 278
 				),
279 279
 
280 280
 				'wpi-cancelled' => array(
281
-					'label'                     => _x( 'Cancelled', 'Invoice status', 'invoicing' ),
281
+					'label'                     => _x('Cancelled', 'Invoice status', 'invoicing'),
282 282
         			'public'                    => true,
283 283
         			'exclude_from_search'       => true,
284 284
         			'show_in_admin_all_list'    => true,
285 285
 					'show_in_admin_status_list' => true,
286 286
 					/* translators: %s: number of invoices */
287
-        			'label_count'               => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing' )
287
+        			'label_count'               => _n_noop('Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing')
288 288
 				),
289 289
 
290 290
 				'wpi-refunded' => array(
291
-					'label'                     => _x( 'Refunded', 'Invoice status', 'invoicing' ),
291
+					'label'                     => _x('Refunded', 'Invoice status', 'invoicing'),
292 292
         			'public'                    => true,
293 293
         			'exclude_from_search'       => true,
294 294
         			'show_in_admin_all_list'    => true,
295 295
 					'show_in_admin_status_list' => true,
296 296
 					/* translators: %s: number of invoices */
297
-        			'label_count'               => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing' )
297
+        			'label_count'               => _n_noop('Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing')
298 298
 				),
299 299
 
300 300
 				'wpi-failed' => array(
301
-					'label'                     => _x( 'Failed', 'Invoice status', 'invoicing' ),
301
+					'label'                     => _x('Failed', 'Invoice status', 'invoicing'),
302 302
         			'public'                    => true,
303 303
         			'exclude_from_search'       => true,
304 304
         			'show_in_admin_all_list'    => true,
305 305
 					'show_in_admin_status_list' => true,
306 306
 					/* translators: %s: number of invoices */
307
-        			'label_count'               => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing' )
307
+        			'label_count'               => _n_noop('Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing')
308 308
 				),
309 309
 
310 310
 				'wpi-renewal' => array(
311
-					'label'                     => _x( 'Renewal', 'Invoice status', 'invoicing' ),
311
+					'label'                     => _x('Renewal', 'Invoice status', 'invoicing'),
312 312
         			'public'                    => true,
313 313
         			'exclude_from_search'       => true,
314 314
         			'show_in_admin_all_list'    => true,
315 315
 					'show_in_admin_status_list' => true,
316 316
 					/* translators: %s: number of invoices */
317
-        			'label_count'               => _n_noop( 'Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing' )
317
+        			'label_count'               => _n_noop('Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing')
318 318
 				)
319 319
 			)
320 320
 		);
321 321
 
322
-		foreach ( $invoice_statuses as $invoice_statuse => $args ) {
323
-			register_post_status( $invoice_statuse, $args );
322
+		foreach ($invoice_statuses as $invoice_statuse => $args) {
323
+			register_post_status($invoice_statuse, $args);
324 324
 		}
325 325
 	}
326 326
 
@@ -336,8 +336,8 @@  discard block
 block discarded – undo
336 336
 	 *
337 337
 	 */
338 338
 	public static function maybe_flush_rewrite_rules() {
339
-		if ( ! get_option( 'getpaid_flushed_rewrite_rules' ) ) {
340
-			update_option( 'getpaid_flushed_rewrite_rules', '1' );
339
+		if (!get_option('getpaid_flushed_rewrite_rules')) {
340
+			update_option('getpaid_flushed_rewrite_rules', '1');
341 341
 			self::flush_rewrite_rules();
342 342
 		}
343 343
 	}
Please login to merge, or discard this patch.
includes/class-wpinv.php 2 patches
Indentation   +528 added lines, -528 removed lines patch added patch discarded remove patch
@@ -14,591 +14,591 @@
 block discarded – undo
14 14
  */
15 15
 class WPInv_Plugin {
16 16
 
17
-	/**
18
-	 * GetPaid version.
19
-	 *
20
-	 * @var string
21
-	 */
22
-	public $version;
23
-
24
-	/**
25
-	 * Data container.
26
-	 *
27
-	 * @var array
28
-	 */
29
-	protected $data = array();
30
-
31
-	/**
32
-	 * Form elements instance.
33
-	 *
34
-	 * @var WPInv_Payment_Form_Elements
35
-	 */
36
-	public $form_elements;
37
-
38
-	/**
39
-	 * @var array An array of payment gateways.
40
-	 */
41
-	public $gateways;
42
-
43
-	/**
44
-	 * Class constructor.
45
-	 */
46
-	public function __construct() {
47
-		$this->define_constants();
48
-		$this->includes();
49
-		$this->init_hooks();
50
-		$this->set_properties();
51
-	}
52
-
53
-	/**
54
-	 * Sets a custom data property.
55
-	 * 
56
-	 * @param string $prop The prop to set.
57
-	 * @param mixed $value The value to retrieve.
58
-	 */
59
-	public function set( $prop, $value ) {
60
-		$this->data[ $prop ] = $value;
61
-	}
62
-
63
-	/**
64
-	 * Gets a custom data property.
65
-	 *
66
-	 * @param string $prop The prop to set.
67
-	 * @return mixed The value.
68
-	 */
69
-	public function get( $prop ) {
70
-
71
-		if ( isset( $this->data[ $prop ] ) ) {
72
-			return $this->data[ $prop ];
73
-		}
74
-
75
-		return null;
76
-	}
77
-
78
-	/**
79
-	 * Define class properties.
80
-	 */
81
-	public function set_properties() {
82
-
83
-		// Sessions.
84
-		$this->set( 'session', new WPInv_Session_Handler() );
85
-		$GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
86
-		$GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility.
87
-
88
-		// Init other objects.
89
-		$this->set( 'session', new WPInv_Session_Handler() );
90
-		$this->set( 'notes', new WPInv_Notes() );
91
-		$this->set( 'api', new WPInv_API() );
92
-		$this->set( 'post_types', new GetPaid_Post_Types() );
93
-		$this->set( 'template', new GetPaid_Template() );
94
-		$this->set( 'admin', new GetPaid_Admin() );
95
-		$this->set( 'subscriptions', new WPInv_Subscriptions() );
96
-		$this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
97
-		$this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
98
-		$this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
99
-		$this->set( 'payment_forms', new GetPaid_Payment_Forms() );
100
-		$this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() );
101
-
102
-	}
103
-
104
-	 /**
105
-	 * Define plugin constants.
106
-	 */
107
-	public function define_constants() {
108
-		define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
109
-		define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
110
-		$this->version = WPINV_VERSION;
111
-	}
112
-
113
-	/**
114
-	 * Hook into actions and filters.
115
-	 *
116
-	 * @since 1.0.19
117
-	 */
118
-	protected function init_hooks() {
119
-		/* Internationalize the text strings used. */
120
-		add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
121
-
122
-		// Init the plugin after WordPress inits.
123
-		add_action( 'init', array( $this, 'init' ), 1 );
124
-		add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
125
-		add_action( 'init', array( $this, 'wpinv_actions' ) );
126
-		add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
127
-		add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
128
-		add_action( 'wp_footer', array( $this, 'wp_footer' ) );
129
-		add_action( 'wp_head', array( $this, 'wp_head' ) );
130
-		add_action( 'widgets_init', array( &$this, 'register_widgets' ) );
131
-		add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
132
-		add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
133
-
134
-		add_filter( 'query_vars', array( $this, 'custom_query_vars' ) );
17
+    /**
18
+     * GetPaid version.
19
+     *
20
+     * @var string
21
+     */
22
+    public $version;
23
+
24
+    /**
25
+     * Data container.
26
+     *
27
+     * @var array
28
+     */
29
+    protected $data = array();
30
+
31
+    /**
32
+     * Form elements instance.
33
+     *
34
+     * @var WPInv_Payment_Form_Elements
35
+     */
36
+    public $form_elements;
37
+
38
+    /**
39
+     * @var array An array of payment gateways.
40
+     */
41
+    public $gateways;
42
+
43
+    /**
44
+     * Class constructor.
45
+     */
46
+    public function __construct() {
47
+        $this->define_constants();
48
+        $this->includes();
49
+        $this->init_hooks();
50
+        $this->set_properties();
51
+    }
52
+
53
+    /**
54
+     * Sets a custom data property.
55
+     * 
56
+     * @param string $prop The prop to set.
57
+     * @param mixed $value The value to retrieve.
58
+     */
59
+    public function set( $prop, $value ) {
60
+        $this->data[ $prop ] = $value;
61
+    }
62
+
63
+    /**
64
+     * Gets a custom data property.
65
+     *
66
+     * @param string $prop The prop to set.
67
+     * @return mixed The value.
68
+     */
69
+    public function get( $prop ) {
70
+
71
+        if ( isset( $this->data[ $prop ] ) ) {
72
+            return $this->data[ $prop ];
73
+        }
74
+
75
+        return null;
76
+    }
77
+
78
+    /**
79
+     * Define class properties.
80
+     */
81
+    public function set_properties() {
82
+
83
+        // Sessions.
84
+        $this->set( 'session', new WPInv_Session_Handler() );
85
+        $GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
86
+        $GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility.
87
+
88
+        // Init other objects.
89
+        $this->set( 'session', new WPInv_Session_Handler() );
90
+        $this->set( 'notes', new WPInv_Notes() );
91
+        $this->set( 'api', new WPInv_API() );
92
+        $this->set( 'post_types', new GetPaid_Post_Types() );
93
+        $this->set( 'template', new GetPaid_Template() );
94
+        $this->set( 'admin', new GetPaid_Admin() );
95
+        $this->set( 'subscriptions', new WPInv_Subscriptions() );
96
+        $this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
97
+        $this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
98
+        $this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
99
+        $this->set( 'payment_forms', new GetPaid_Payment_Forms() );
100
+        $this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() );
101
+
102
+    }
103
+
104
+        /**
105
+         * Define plugin constants.
106
+         */
107
+    public function define_constants() {
108
+        define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
109
+        define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
110
+        $this->version = WPINV_VERSION;
111
+    }
112
+
113
+    /**
114
+     * Hook into actions and filters.
115
+     *
116
+     * @since 1.0.19
117
+     */
118
+    protected function init_hooks() {
119
+        /* Internationalize the text strings used. */
120
+        add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
121
+
122
+        // Init the plugin after WordPress inits.
123
+        add_action( 'init', array( $this, 'init' ), 1 );
124
+        add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
125
+        add_action( 'init', array( $this, 'wpinv_actions' ) );
126
+        add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
127
+        add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
128
+        add_action( 'wp_footer', array( $this, 'wp_footer' ) );
129
+        add_action( 'wp_head', array( $this, 'wp_head' ) );
130
+        add_action( 'widgets_init', array( &$this, 'register_widgets' ) );
131
+        add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
132
+        add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
133
+
134
+        add_filter( 'query_vars', array( $this, 'custom_query_vars' ) );
135 135
         add_action( 'init', array( $this, 'add_rewrite_rule' ), 10, 0 );
136
-		add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 );
137
-
138
-		// Fires after registering actions.
139
-		do_action( 'wpinv_actions', $this );
140
-		do_action( 'getpaid_actions', $this );
141
-
142
-	}
143
-
144
-	public function plugins_loaded() {
145
-		/* Internationalize the text strings used. */
146
-		$this->load_textdomain();
147
-
148
-		do_action( 'wpinv_loaded' );
149
-
150
-		// Fix oxygen page builder conflict
151
-		if ( function_exists( 'ct_css_output' ) ) {
152
-			wpinv_oxygen_fix_conflict();
153
-		}
154
-	}
155
-
156
-	/**
157
-	 * Load Localisation files.
158
-	 *
159
-	 * Note: the first-loaded translation file overrides any following ones if the same translation is present.
160
-	 *
161
-	 * Locales found in:
162
-	 *      - WP_LANG_DIR/plugins/invoicing-LOCALE.mo
163
-	 *      - WP_PLUGIN_DIR/invoicing/languages/invoicing-LOCALE.mo
164
-	 * 
165
-	 * @since 1.0.0
166
-	 */
167
-	public function load_textdomain() {
168
-
169
-		load_plugin_textdomain(
170
-			'invoicing',
171
-			false,
172
-			plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/'
173
-		);
174
-
175
-	}
176
-
177
-	/**
178
-	 * Include required core files used in admin and on the frontend.
179
-	 */
180
-	public function includes() {
181
-
182
-		// Start with the settings.
183
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
184
-
185
-		// Packages/libraries.
186
-		require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' );
187
-		require_once( WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php' );
188
-
189
-		// Load functions.
190
-		require_once( WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php' );
191
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
192
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
193
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
194
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
195
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
196
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
197
-		require_once( WPINV_PLUGIN_DIR . 'includes/invoice-functions.php' );
198
-		require_once( WPINV_PLUGIN_DIR . 'includes/subscription-functions.php' );
199
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
200
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
201
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
202
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
203
-		require_once( WPINV_PLUGIN_DIR . 'includes/user-functions.php' );
204
-		require_once( WPINV_PLUGIN_DIR . 'includes/error-functions.php' );
205
-
206
-		// Register autoloader.
207
-		try {
208
-			spl_autoload_register( array( $this, 'autoload' ), true );
209
-		} catch ( Exception $e ) {
210
-			wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
211
-		}
212
-
213
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' );
214
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' );
215
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
216
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
217
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
218
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
219
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
220
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
221
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' );
222
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' );
223
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' );
224
-		require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' );
225
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' );
226
-		require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' );
227
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' );
228
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' );
229
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' );
230
-		require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' );
231
-		require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' );
232
-		require_once( WPINV_PLUGIN_DIR . 'widgets/getpaid.php' );
233
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
234
-
235
-		if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
236
-			GetPaid_Post_Types_Admin::init();
237
-
238
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
239
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php' );
240
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
241
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' );
242
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' );
243
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php' );
244
-			// load the user class only on the users.php page
245
-			global $pagenow;
246
-			if($pagenow=='users.php'){
247
-				new WPInv_Admin_Users();
248
-			}
249
-		}
250
-
251
-		// Register cli commands
252
-		if ( defined( 'WP_CLI' ) && WP_CLI ) {
253
-			require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' );
254
-			WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
255
-		}
256
-
257
-	}
258
-
259
-	/**
260
-	 * Class autoloader
261
-	 *
262
-	 * @param       string $class_name The name of the class to load.
263
-	 * @access      public
264
-	 * @since       1.0.19
265
-	 * @return      void
266
-	 */
267
-	public function autoload( $class_name ) {
268
-
269
-		// Normalize the class name...
270
-		$class_name  = strtolower( $class_name );
271
-
272
-		// ... and make sure it is our class.
273
-		if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
274
-			return;
275
-		}
276
-
277
-		// Next, prepare the file name from the class.
278
-		$file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
279
-
280
-		// Base path of the classes.
281
-		$plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
282
-
283
-		// And an array of possible locations in order of importance.
284
-		$locations = array(
285
-			"$plugin_path/includes",
286
-			"$plugin_path/includes/data-stores",
287
-			"$plugin_path/includes/gateways",
288
-			"$plugin_path/includes/payments",
289
-			"$plugin_path/includes/geolocation",
290
-			"$plugin_path/includes/reports",
291
-			"$plugin_path/includes/api",
292
-			"$plugin_path/includes/admin",
293
-			"$plugin_path/includes/admin/meta-boxes",
294
-		);
295
-
296
-		foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
297
-
298
-			if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
299
-				include trailingslashit( $location ) . $file_name;
300
-				break;
301
-			}
302
-
303
-		}
304
-
305
-	}
306
-
307
-	/**
308
-	 * Inits hooks etc.
309
-	 */
310
-	public function init() {
311
-
312
-		// Fires before getpaid inits.
313
-		do_action( 'before_getpaid_init', $this );
314
-
315
-		// Maybe upgrade.
316
-		$this->maybe_upgrade_database();
317
-
318
-		// Load default gateways.
319
-		$gateways = apply_filters(
320
-			'getpaid_default_gateways',
321
-			array(
322
-				'manual'        => 'GetPaid_Manual_Gateway',
323
-				'paypal'        => 'GetPaid_Paypal_Gateway',
324
-				'worldpay'      => 'GetPaid_Worldpay_Gateway',
325
-				'bank_transfer' => 'GetPaid_Bank_Transfer_Gateway',
326
-				'authorizenet'  => 'GetPaid_Authorize_Net_Gateway',
327
-			)
328
-		);
329
-
330
-		foreach ( $gateways as $id => $class ) {
331
-			$this->gateways[ $id ] = new $class();
332
-		}
333
-
334
-		if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) {
335
-			GetPaid_Installer::rename_gateways_label();
336
-			update_option( 'wpinv_renamed_gateways', 'yes' );
337
-		}
338
-
339
-		// Fires after getpaid inits.
340
-		do_action( 'getpaid_init', $this );
341
-
342
-	}
343
-
344
-	/**
345
-	 * Checks if this is an IPN request and processes it.
346
-	 */
347
-	public function maybe_process_ipn() {
348
-
349
-		// Ensure that this is an IPN request.
350
-		if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
351
-			return;
352
-		}
353
-
354
-		$gateway = wpinv_clean( $_GET['wpi-gateway'] );
355
-
356
-		do_action( 'wpinv_verify_payment_ipn', $gateway );
357
-		do_action( "wpinv_verify_{$gateway}_ipn" );
358
-		exit;
359
-
360
-	}
361
-
362
-	public function enqueue_scripts() {
363
-
364
-		// Fires before adding scripts.
365
-		do_action( 'getpaid_enqueue_scripts' );
366
-
367
-		$localize                         = array();
368
-		$localize['ajax_url']             = admin_url( 'admin-ajax.php' );
369
-		$localize['thousands']            = wpinv_thousands_separator();
370
-		$localize['decimals']             = wpinv_decimal_separator();
371
-		$localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
372
-		$localize['txtComplete']          = __( 'Continue', 'invoicing' );
373
-		$localize['UseTaxes']             = wpinv_use_taxes();
374
-		$localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
375
-		$localize['loading']              = __( 'Loading...', 'invoicing' );
376
-		$localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
377
-
378
-		$localize = apply_filters( 'wpinv_front_js_localize', $localize );
379
-
380
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
381
-		wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ),  $version, true );
382
-		wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
383
-	}
384
-
385
-	public function wpinv_actions() {
386
-		if ( isset( $_REQUEST['wpi_action'] ) ) {
387
-			do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
388
-		}
389
-	}
390
-
391
-	/**
136
+        add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 );
137
+
138
+        // Fires after registering actions.
139
+        do_action( 'wpinv_actions', $this );
140
+        do_action( 'getpaid_actions', $this );
141
+
142
+    }
143
+
144
+    public function plugins_loaded() {
145
+        /* Internationalize the text strings used. */
146
+        $this->load_textdomain();
147
+
148
+        do_action( 'wpinv_loaded' );
149
+
150
+        // Fix oxygen page builder conflict
151
+        if ( function_exists( 'ct_css_output' ) ) {
152
+            wpinv_oxygen_fix_conflict();
153
+        }
154
+    }
155
+
156
+    /**
157
+     * Load Localisation files.
158
+     *
159
+     * Note: the first-loaded translation file overrides any following ones if the same translation is present.
160
+     *
161
+     * Locales found in:
162
+     *      - WP_LANG_DIR/plugins/invoicing-LOCALE.mo
163
+     *      - WP_PLUGIN_DIR/invoicing/languages/invoicing-LOCALE.mo
164
+     * 
165
+     * @since 1.0.0
166
+     */
167
+    public function load_textdomain() {
168
+
169
+        load_plugin_textdomain(
170
+            'invoicing',
171
+            false,
172
+            plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/'
173
+        );
174
+
175
+    }
176
+
177
+    /**
178
+     * Include required core files used in admin and on the frontend.
179
+     */
180
+    public function includes() {
181
+
182
+        // Start with the settings.
183
+        require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
184
+
185
+        // Packages/libraries.
186
+        require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' );
187
+        require_once( WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php' );
188
+
189
+        // Load functions.
190
+        require_once( WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php' );
191
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
192
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
193
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
194
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
195
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
196
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
197
+        require_once( WPINV_PLUGIN_DIR . 'includes/invoice-functions.php' );
198
+        require_once( WPINV_PLUGIN_DIR . 'includes/subscription-functions.php' );
199
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
200
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
201
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
202
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
203
+        require_once( WPINV_PLUGIN_DIR . 'includes/user-functions.php' );
204
+        require_once( WPINV_PLUGIN_DIR . 'includes/error-functions.php' );
205
+
206
+        // Register autoloader.
207
+        try {
208
+            spl_autoload_register( array( $this, 'autoload' ), true );
209
+        } catch ( Exception $e ) {
210
+            wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
211
+        }
212
+
213
+        require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' );
214
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' );
215
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
216
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
217
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
218
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
219
+        require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
220
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
221
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' );
222
+        require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' );
223
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' );
224
+        require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' );
225
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' );
226
+        require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' );
227
+        require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' );
228
+        require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' );
229
+        require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' );
230
+        require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' );
231
+        require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' );
232
+        require_once( WPINV_PLUGIN_DIR . 'widgets/getpaid.php' );
233
+        require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
234
+
235
+        if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
236
+            GetPaid_Post_Types_Admin::init();
237
+
238
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
239
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php' );
240
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
241
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' );
242
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' );
243
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php' );
244
+            // load the user class only on the users.php page
245
+            global $pagenow;
246
+            if($pagenow=='users.php'){
247
+                new WPInv_Admin_Users();
248
+            }
249
+        }
250
+
251
+        // Register cli commands
252
+        if ( defined( 'WP_CLI' ) && WP_CLI ) {
253
+            require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' );
254
+            WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
255
+        }
256
+
257
+    }
258
+
259
+    /**
260
+     * Class autoloader
261
+     *
262
+     * @param       string $class_name The name of the class to load.
263
+     * @access      public
264
+     * @since       1.0.19
265
+     * @return      void
266
+     */
267
+    public function autoload( $class_name ) {
268
+
269
+        // Normalize the class name...
270
+        $class_name  = strtolower( $class_name );
271
+
272
+        // ... and make sure it is our class.
273
+        if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
274
+            return;
275
+        }
276
+
277
+        // Next, prepare the file name from the class.
278
+        $file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
279
+
280
+        // Base path of the classes.
281
+        $plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
282
+
283
+        // And an array of possible locations in order of importance.
284
+        $locations = array(
285
+            "$plugin_path/includes",
286
+            "$plugin_path/includes/data-stores",
287
+            "$plugin_path/includes/gateways",
288
+            "$plugin_path/includes/payments",
289
+            "$plugin_path/includes/geolocation",
290
+            "$plugin_path/includes/reports",
291
+            "$plugin_path/includes/api",
292
+            "$plugin_path/includes/admin",
293
+            "$plugin_path/includes/admin/meta-boxes",
294
+        );
295
+
296
+        foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
297
+
298
+            if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
299
+                include trailingslashit( $location ) . $file_name;
300
+                break;
301
+            }
302
+
303
+        }
304
+
305
+    }
306
+
307
+    /**
308
+     * Inits hooks etc.
309
+     */
310
+    public function init() {
311
+
312
+        // Fires before getpaid inits.
313
+        do_action( 'before_getpaid_init', $this );
314
+
315
+        // Maybe upgrade.
316
+        $this->maybe_upgrade_database();
317
+
318
+        // Load default gateways.
319
+        $gateways = apply_filters(
320
+            'getpaid_default_gateways',
321
+            array(
322
+                'manual'        => 'GetPaid_Manual_Gateway',
323
+                'paypal'        => 'GetPaid_Paypal_Gateway',
324
+                'worldpay'      => 'GetPaid_Worldpay_Gateway',
325
+                'bank_transfer' => 'GetPaid_Bank_Transfer_Gateway',
326
+                'authorizenet'  => 'GetPaid_Authorize_Net_Gateway',
327
+            )
328
+        );
329
+
330
+        foreach ( $gateways as $id => $class ) {
331
+            $this->gateways[ $id ] = new $class();
332
+        }
333
+
334
+        if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) {
335
+            GetPaid_Installer::rename_gateways_label();
336
+            update_option( 'wpinv_renamed_gateways', 'yes' );
337
+        }
338
+
339
+        // Fires after getpaid inits.
340
+        do_action( 'getpaid_init', $this );
341
+
342
+    }
343
+
344
+    /**
345
+     * Checks if this is an IPN request and processes it.
346
+     */
347
+    public function maybe_process_ipn() {
348
+
349
+        // Ensure that this is an IPN request.
350
+        if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
351
+            return;
352
+        }
353
+
354
+        $gateway = wpinv_clean( $_GET['wpi-gateway'] );
355
+
356
+        do_action( 'wpinv_verify_payment_ipn', $gateway );
357
+        do_action( "wpinv_verify_{$gateway}_ipn" );
358
+        exit;
359
+
360
+    }
361
+
362
+    public function enqueue_scripts() {
363
+
364
+        // Fires before adding scripts.
365
+        do_action( 'getpaid_enqueue_scripts' );
366
+
367
+        $localize                         = array();
368
+        $localize['ajax_url']             = admin_url( 'admin-ajax.php' );
369
+        $localize['thousands']            = wpinv_thousands_separator();
370
+        $localize['decimals']             = wpinv_decimal_separator();
371
+        $localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
372
+        $localize['txtComplete']          = __( 'Continue', 'invoicing' );
373
+        $localize['UseTaxes']             = wpinv_use_taxes();
374
+        $localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
375
+        $localize['loading']              = __( 'Loading...', 'invoicing' );
376
+        $localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
377
+
378
+        $localize = apply_filters( 'wpinv_front_js_localize', $localize );
379
+
380
+        $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
381
+        wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ),  $version, true );
382
+        wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
383
+    }
384
+
385
+    public function wpinv_actions() {
386
+        if ( isset( $_REQUEST['wpi_action'] ) ) {
387
+            do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
388
+        }
389
+    }
390
+
391
+    /**
392 392
      * Fires an action after verifying that a user can fire them.
393
-	 *
394
-	 * Note: If the action is on an invoice, subscription etc, esure that the
395
-	 * current user owns the invoice/subscription.
393
+     *
394
+     * Note: If the action is on an invoice, subscription etc, esure that the
395
+     * current user owns the invoice/subscription.
396 396
      */
397 397
     public function maybe_do_authenticated_action() {
398 398
 
399
-		if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
399
+        if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
400 400
 
401
-			$key  = sanitize_key( $_REQUEST['getpaid-action'] );
402
-			$data = wp_unslash( $_REQUEST );
403
-			if ( is_user_logged_in() ) {
404
-				do_action( "getpaid_authenticated_action_$key", $data );
405
-			}
401
+            $key  = sanitize_key( $_REQUEST['getpaid-action'] );
402
+            $data = wp_unslash( $_REQUEST );
403
+            if ( is_user_logged_in() ) {
404
+                do_action( "getpaid_authenticated_action_$key", $data );
405
+            }
406 406
 
407
-			do_action( "getpaid_unauthenticated_action_$key", $data );
407
+            do_action( "getpaid_unauthenticated_action_$key", $data );
408 408
 
409
-		}
409
+        }
410 410
 
411 411
     }
412 412
 
413
-	public function pre_get_posts( $wp_query ) {
414
-
415
-		if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
416
-			$wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
417
-		}
418
-
419
-		return $wp_query;
420
-	}
421
-
422
-	/**
423
-	 * Register widgets
424
-	 *
425
-	 */
426
-	public function register_widgets() {
427
-
428
-		// Currently, UX Builder does not work particulaly well with SuperDuper.
429
-		// So we disable our widgets when editing a page with UX Builder.
430
-		if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) {
431
-			return;
432
-		}
433
-
434
-		$widgets = apply_filters(
435
-			'getpaid_widget_classes',
436
-			array(
437
-				'WPInv_Checkout_Widget',
438
-				'WPInv_History_Widget',
439
-				'WPInv_Receipt_Widget',
440
-				'WPInv_Subscriptions_Widget',
441
-				'WPInv_Buy_Item_Widget',
442
-				'WPInv_Messages_Widget',
443
-				'WPInv_GetPaid_Widget'
444
-			)
445
-		);
446
-
447
-		foreach ( $widgets as $widget ) {
448
-			register_widget( $widget );
449
-		}
413
+    public function pre_get_posts( $wp_query ) {
414
+
415
+        if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
416
+            $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
417
+        }
418
+
419
+        return $wp_query;
420
+    }
421
+
422
+    /**
423
+     * Register widgets
424
+     *
425
+     */
426
+    public function register_widgets() {
427
+
428
+        // Currently, UX Builder does not work particulaly well with SuperDuper.
429
+        // So we disable our widgets when editing a page with UX Builder.
430
+        if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) {
431
+            return;
432
+        }
433
+
434
+        $widgets = apply_filters(
435
+            'getpaid_widget_classes',
436
+            array(
437
+                'WPInv_Checkout_Widget',
438
+                'WPInv_History_Widget',
439
+                'WPInv_Receipt_Widget',
440
+                'WPInv_Subscriptions_Widget',
441
+                'WPInv_Buy_Item_Widget',
442
+                'WPInv_Messages_Widget',
443
+                'WPInv_GetPaid_Widget'
444
+            )
445
+        );
446
+
447
+        foreach ( $widgets as $widget ) {
448
+            register_widget( $widget );
449
+        }
450 450
 		
451
-	}
451
+    }
452 452
 
453
-	/**
454
-	 * Upgrades the database.
455
-	 *
456
-	 * @since 2.0.2
457
-	 */
458
-	public function maybe_upgrade_database() {
453
+    /**
454
+     * Upgrades the database.
455
+     *
456
+     * @since 2.0.2
457
+     */
458
+    public function maybe_upgrade_database() {
459 459
 
460
-		$wpi_version = get_option( 'wpinv_version', 0 );
460
+        $wpi_version = get_option( 'wpinv_version', 0 );
461 461
 
462
-		if ( $wpi_version == WPINV_VERSION ) {
463
-			return;
464
-		}
462
+        if ( $wpi_version == WPINV_VERSION ) {
463
+            return;
464
+        }
465 465
 
466
-		$installer = new GetPaid_Installer();
466
+        $installer = new GetPaid_Installer();
467 467
 
468
-		if ( empty( $wpi_version ) ) {
469
-			return $installer->upgrade_db( 0 );
470
-		}
468
+        if ( empty( $wpi_version ) ) {
469
+            return $installer->upgrade_db( 0 );
470
+        }
471 471
 
472
-		$upgrades  = array(
473
-			'0.0.5' => '004',
474
-			'1.0.3' => '102',
475
-			'2.0.0' => '118',
476
-			'2.0.8' => '207',
477
-		);
472
+        $upgrades  = array(
473
+            '0.0.5' => '004',
474
+            '1.0.3' => '102',
475
+            '2.0.0' => '118',
476
+            '2.0.8' => '207',
477
+        );
478 478
 
479
-		foreach ( $upgrades as $key => $method ) {
479
+        foreach ( $upgrades as $key => $method ) {
480 480
 
481
-			if ( version_compare( $wpi_version, $key, '<' ) ) {
482
-				return $installer->upgrade_db( $method );
483
-			}
481
+            if ( version_compare( $wpi_version, $key, '<' ) ) {
482
+                return $installer->upgrade_db( $method );
483
+            }
484 484
 
485
-		}
485
+        }
486 486
 
487
-	}
487
+    }
488 488
 
489
-	/**
490
-	 * Flushes the permalinks if needed.
491
-	 *
492
-	 * @since 2.0.8
493
-	 */
494
-	public function maybe_flush_permalinks() {
489
+    /**
490
+     * Flushes the permalinks if needed.
491
+     *
492
+     * @since 2.0.8
493
+     */
494
+    public function maybe_flush_permalinks() {
495 495
 
496
-		$flush = get_option( 'wpinv_flush_permalinks', 0 );
496
+        $flush = get_option( 'wpinv_flush_permalinks', 0 );
497 497
 
498
-		if ( ! empty( $flush ) ) {
499
-			flush_rewrite_rules();
500
-			delete_option( 'wpinv_flush_permalinks' );
501
-		}
498
+        if ( ! empty( $flush ) ) {
499
+            flush_rewrite_rules();
500
+            delete_option( 'wpinv_flush_permalinks' );
501
+        }
502 502
 
503
-	}
503
+    }
504 504
 
505
-	/**
506
-	 * Remove our pages from yoast sitemaps.
507
-	 *
508
-	 * @since 1.0.19
509
-	 * @param int[] $excluded_posts_ids
510
-	 */
511
-	public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ){
505
+    /**
506
+     * Remove our pages from yoast sitemaps.
507
+     *
508
+     * @since 1.0.19
509
+     * @param int[] $excluded_posts_ids
510
+     */
511
+    public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ){
512 512
 
513
-		// Ensure that we have an array.
514
-		if ( ! is_array( $excluded_posts_ids ) ) {
515
-			$excluded_posts_ids = array();
516
-		}
513
+        // Ensure that we have an array.
514
+        if ( ! is_array( $excluded_posts_ids ) ) {
515
+            $excluded_posts_ids = array();
516
+        }
517 517
 
518
-		// Prepare our pages.
519
-		$our_pages = array();
518
+        // Prepare our pages.
519
+        $our_pages = array();
520 520
 
521
-		// Checkout page.
522
-		$our_pages[] = wpinv_get_option( 'checkout_page', false );
521
+        // Checkout page.
522
+        $our_pages[] = wpinv_get_option( 'checkout_page', false );
523 523
 
524
-		// Success page.
525
-		$our_pages[] = wpinv_get_option( 'success_page', false );
524
+        // Success page.
525
+        $our_pages[] = wpinv_get_option( 'success_page', false );
526 526
 
527
-		// Failure page.
528
-		$our_pages[] = wpinv_get_option( 'failure_page', false );
527
+        // Failure page.
528
+        $our_pages[] = wpinv_get_option( 'failure_page', false );
529 529
 
530
-		// History page.
531
-		$our_pages[] = wpinv_get_option( 'invoice_history_page', false );
530
+        // History page.
531
+        $our_pages[] = wpinv_get_option( 'invoice_history_page', false );
532 532
 
533
-		// Subscriptions page.
534
-		$our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
533
+        // Subscriptions page.
534
+        $our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
535 535
 
536
-		$our_pages   = array_map( 'intval', array_filter( $our_pages ) );
536
+        $our_pages   = array_map( 'intval', array_filter( $our_pages ) );
537 537
 
538
-		$excluded_posts_ids = $excluded_posts_ids + $our_pages;
539
-		return array_unique( $excluded_posts_ids );
538
+        $excluded_posts_ids = $excluded_posts_ids + $our_pages;
539
+        return array_unique( $excluded_posts_ids );
540 540
 
541
-	}
541
+    }
542 542
 
543
-	/**
544
-	 * Displays additional footer code.
545
-	 * 
546
-	 * @since 2.0.0
547
-	 */
548
-	public function wp_footer() {
549
-		wpinv_get_template( 'frontend-footer.php' );
550
-	}
543
+    /**
544
+     * Displays additional footer code.
545
+     * 
546
+     * @since 2.0.0
547
+     */
548
+    public function wp_footer() {
549
+        wpinv_get_template( 'frontend-footer.php' );
550
+    }
551 551
 
552
-	/**
553
-	 * Displays additional header code.
554
-	 * 
555
-	 * @since 2.0.0
556
-	 */
557
-	public function wp_head() {
558
-		wpinv_get_template( 'frontend-head.php' );
559
-	}
552
+    /**
553
+     * Displays additional header code.
554
+     * 
555
+     * @since 2.0.0
556
+     */
557
+    public function wp_head() {
558
+        wpinv_get_template( 'frontend-head.php' );
559
+    }
560 560
 
561
-	/**
562
-	 * Custom query vars.
563
-	 *
564
-	 */
565
-	public function custom_query_vars( $vars ) {
561
+    /**
562
+     * Custom query vars.
563
+     *
564
+     */
565
+    public function custom_query_vars( $vars ) {
566 566
         $vars[] = 'getpaid-ipn';
567 567
         return $vars;
568
-	}
568
+    }
569 569
 
570
-	/**
571
-	 * Add rewrite tags and rules.
572
-	 *
573
-	 */
574
-	public function add_rewrite_rule() {
570
+    /**
571
+     * Add rewrite tags and rules.
572
+     *
573
+     */
574
+    public function add_rewrite_rule() {
575 575
         $tag = 'getpaid-ipn';
576 576
         add_rewrite_tag( "%$tag%", '([^&]+)' );
577 577
         add_rewrite_rule( "^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]",'top' );
578
-	}
578
+    }
579 579
 
580
-	/**
581
-	 * Processes non-query string ipns.
582
-	 *
583
-	 */
584
-	public function maybe_process_new_ipn( $query ) {
580
+    /**
581
+     * Processes non-query string ipns.
582
+     *
583
+     */
584
+    public function maybe_process_new_ipn( $query ) {
585 585
 
586 586
         if ( is_admin() || ! $query->is_main_query() ) {
587 587
             return;
588 588
         }
589 589
 
590
-		$gateway = get_query_var( 'getpaid-ipn' );
590
+        $gateway = get_query_var( 'getpaid-ipn' );
591 591
 
592 592
         if ( ! empty( $gateway ) ){
593 593
 
594
-			$gateway = sanitize_text_field( $gateway );
595
-			nocache_headers();
596
-			do_action( 'wpinv_verify_payment_ipn', $gateway );
597
-			do_action( "wpinv_verify_{$gateway}_ipn" );
598
-			exit;
594
+            $gateway = sanitize_text_field( $gateway );
595
+            nocache_headers();
596
+            do_action( 'wpinv_verify_payment_ipn', $gateway );
597
+            do_action( "wpinv_verify_{$gateway}_ipn" );
598
+            exit;
599 599
 
600 600
         }
601 601
 
602
-	}
602
+    }
603 603
 
604 604
 }
Please login to merge, or discard this patch.
Spacing   +171 added lines, -171 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @since   1.0.0
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Main Invoicing class.
@@ -56,8 +56,8 @@  discard block
 block discarded – undo
56 56
 	 * @param string $prop The prop to set.
57 57
 	 * @param mixed $value The value to retrieve.
58 58
 	 */
59
-	public function set( $prop, $value ) {
60
-		$this->data[ $prop ] = $value;
59
+	public function set($prop, $value) {
60
+		$this->data[$prop] = $value;
61 61
 	}
62 62
 
63 63
 	/**
@@ -66,10 +66,10 @@  discard block
 block discarded – undo
66 66
 	 * @param string $prop The prop to set.
67 67
 	 * @return mixed The value.
68 68
 	 */
69
-	public function get( $prop ) {
69
+	public function get($prop) {
70 70
 
71
-		if ( isset( $this->data[ $prop ] ) ) {
72
-			return $this->data[ $prop ];
71
+		if (isset($this->data[$prop])) {
72
+			return $this->data[$prop];
73 73
 		}
74 74
 
75 75
 		return null;
@@ -81,23 +81,23 @@  discard block
 block discarded – undo
81 81
 	public function set_properties() {
82 82
 
83 83
 		// Sessions.
84
-		$this->set( 'session', new WPInv_Session_Handler() );
85
-		$GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
84
+		$this->set('session', new WPInv_Session_Handler());
85
+		$GLOBALS['wpi_session'] = $this->get('session'); // Backwards compatibility.
86 86
 		$GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility.
87 87
 
88 88
 		// Init other objects.
89
-		$this->set( 'session', new WPInv_Session_Handler() );
90
-		$this->set( 'notes', new WPInv_Notes() );
91
-		$this->set( 'api', new WPInv_API() );
92
-		$this->set( 'post_types', new GetPaid_Post_Types() );
93
-		$this->set( 'template', new GetPaid_Template() );
94
-		$this->set( 'admin', new GetPaid_Admin() );
95
-		$this->set( 'subscriptions', new WPInv_Subscriptions() );
96
-		$this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
97
-		$this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
98
-		$this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
99
-		$this->set( 'payment_forms', new GetPaid_Payment_Forms() );
100
-		$this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() );
89
+		$this->set('session', new WPInv_Session_Handler());
90
+		$this->set('notes', new WPInv_Notes());
91
+		$this->set('api', new WPInv_API());
92
+		$this->set('post_types', new GetPaid_Post_Types());
93
+		$this->set('template', new GetPaid_Template());
94
+		$this->set('admin', new GetPaid_Admin());
95
+		$this->set('subscriptions', new WPInv_Subscriptions());
96
+		$this->set('invoice_emails', new GetPaid_Invoice_Notification_Emails());
97
+		$this->set('subscription_emails', new GetPaid_Subscription_Notification_Emails());
98
+		$this->set('daily_maintenace', new GetPaid_Daily_Maintenance());
99
+		$this->set('payment_forms', new GetPaid_Payment_Forms());
100
+		$this->set('maxmind', new GetPaid_MaxMind_Geolocation());
101 101
 
102 102
 	}
103 103
 
@@ -105,8 +105,8 @@  discard block
 block discarded – undo
105 105
 	 * Define plugin constants.
106 106
 	 */
107 107
 	public function define_constants() {
108
-		define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
109
-		define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
108
+		define('WPINV_PLUGIN_DIR', plugin_dir_path(WPINV_PLUGIN_FILE));
109
+		define('WPINV_PLUGIN_URL', plugin_dir_url(WPINV_PLUGIN_FILE));
110 110
 		$this->version = WPINV_VERSION;
111 111
 	}
112 112
 
@@ -117,27 +117,27 @@  discard block
 block discarded – undo
117 117
 	 */
118 118
 	protected function init_hooks() {
119 119
 		/* Internationalize the text strings used. */
120
-		add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
120
+		add_action('plugins_loaded', array(&$this, 'plugins_loaded'));
121 121
 
122 122
 		// Init the plugin after WordPress inits.
123
-		add_action( 'init', array( $this, 'init' ), 1 );
124
-		add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
125
-		add_action( 'init', array( $this, 'wpinv_actions' ) );
126
-		add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
127
-		add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
128
-		add_action( 'wp_footer', array( $this, 'wp_footer' ) );
129
-		add_action( 'wp_head', array( $this, 'wp_head' ) );
130
-		add_action( 'widgets_init', array( &$this, 'register_widgets' ) );
131
-		add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
132
-		add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
133
-
134
-		add_filter( 'query_vars', array( $this, 'custom_query_vars' ) );
135
-        add_action( 'init', array( $this, 'add_rewrite_rule' ), 10, 0 );
136
-		add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 );
123
+		add_action('init', array($this, 'init'), 1);
124
+		add_action('init', array($this, 'maybe_process_ipn'), 10);
125
+		add_action('init', array($this, 'wpinv_actions'));
126
+		add_action('init', array($this, 'maybe_do_authenticated_action'), 100);
127
+		add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 11);
128
+		add_action('wp_footer', array($this, 'wp_footer'));
129
+		add_action('wp_head', array($this, 'wp_head'));
130
+		add_action('widgets_init', array(&$this, 'register_widgets'));
131
+		add_filter('wpseo_exclude_from_sitemap_by_post_ids', array($this, 'wpseo_exclude_from_sitemap_by_post_ids'));
132
+		add_filter('pre_get_posts', array(&$this, 'pre_get_posts'));
133
+
134
+		add_filter('query_vars', array($this, 'custom_query_vars'));
135
+        add_action('init', array($this, 'add_rewrite_rule'), 10, 0);
136
+		add_action('pre_get_posts', array($this, 'maybe_process_new_ipn'), 1);
137 137
 
138 138
 		// Fires after registering actions.
139
-		do_action( 'wpinv_actions', $this );
140
-		do_action( 'getpaid_actions', $this );
139
+		do_action('wpinv_actions', $this);
140
+		do_action('getpaid_actions', $this);
141 141
 
142 142
 	}
143 143
 
@@ -145,10 +145,10 @@  discard block
 block discarded – undo
145 145
 		/* Internationalize the text strings used. */
146 146
 		$this->load_textdomain();
147 147
 
148
-		do_action( 'wpinv_loaded' );
148
+		do_action('wpinv_loaded');
149 149
 
150 150
 		// Fix oxygen page builder conflict
151
-		if ( function_exists( 'ct_css_output' ) ) {
151
+		if (function_exists('ct_css_output')) {
152 152
 			wpinv_oxygen_fix_conflict();
153 153
 		}
154 154
 	}
@@ -169,7 +169,7 @@  discard block
 block discarded – undo
169 169
 		load_plugin_textdomain(
170 170
 			'invoicing',
171 171
 			false,
172
-			plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/'
172
+			plugin_basename(dirname(WPINV_PLUGIN_FILE)) . '/languages/'
173 173
 		);
174 174
 
175 175
 	}
@@ -180,78 +180,78 @@  discard block
 block discarded – undo
180 180
 	public function includes() {
181 181
 
182 182
 		// Start with the settings.
183
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
183
+		require_once(WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php');
184 184
 
185 185
 		// Packages/libraries.
186
-		require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' );
187
-		require_once( WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php' );
186
+		require_once(WPINV_PLUGIN_DIR . 'vendor/autoload.php');
187
+		require_once(WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php');
188 188
 
189 189
 		// Load functions.
190
-		require_once( WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php' );
191
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
192
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
193
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
194
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
195
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
196
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
197
-		require_once( WPINV_PLUGIN_DIR . 'includes/invoice-functions.php' );
198
-		require_once( WPINV_PLUGIN_DIR . 'includes/subscription-functions.php' );
199
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
200
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
201
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
202
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
203
-		require_once( WPINV_PLUGIN_DIR . 'includes/user-functions.php' );
204
-		require_once( WPINV_PLUGIN_DIR . 'includes/error-functions.php' );
190
+		require_once(WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php');
191
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php');
192
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php');
193
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php');
194
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php');
195
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php');
196
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php');
197
+		require_once(WPINV_PLUGIN_DIR . 'includes/invoice-functions.php');
198
+		require_once(WPINV_PLUGIN_DIR . 'includes/subscription-functions.php');
199
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php');
200
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php');
201
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php');
202
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php');
203
+		require_once(WPINV_PLUGIN_DIR . 'includes/user-functions.php');
204
+		require_once(WPINV_PLUGIN_DIR . 'includes/error-functions.php');
205 205
 
206 206
 		// Register autoloader.
207 207
 		try {
208
-			spl_autoload_register( array( $this, 'autoload' ), true );
209
-		} catch ( Exception $e ) {
210
-			wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
208
+			spl_autoload_register(array($this, 'autoload'), true);
209
+		} catch (Exception $e) {
210
+			wpinv_error_log($e->getMessage(), '', __FILE__, 149, true);
211 211
 		}
212 212
 
213
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' );
214
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' );
215
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
216
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
217
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
218
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
219
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
220
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
221
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' );
222
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' );
223
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' );
224
-		require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' );
225
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' );
226
-		require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' );
227
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' );
228
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' );
229
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' );
230
-		require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' );
231
-		require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' );
232
-		require_once( WPINV_PLUGIN_DIR . 'widgets/getpaid.php' );
233
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
234
-
235
-		if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
213
+		require_once(WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php');
214
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php');
215
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php');
216
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php');
217
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php');
218
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php');
219
+		require_once(WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php');
220
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php');
221
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php');
222
+		require_once(WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php');
223
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php');
224
+		require_once(WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php');
225
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php');
226
+		require_once(WPINV_PLUGIN_DIR . 'widgets/checkout.php');
227
+		require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-history.php');
228
+		require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php');
229
+		require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php');
230
+		require_once(WPINV_PLUGIN_DIR . 'widgets/subscriptions.php');
231
+		require_once(WPINV_PLUGIN_DIR . 'widgets/buy-item.php');
232
+		require_once(WPINV_PLUGIN_DIR . 'widgets/getpaid.php');
233
+		require_once(WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php');
234
+
235
+		if (is_admin() || (defined('WP_CLI') && WP_CLI)) {
236 236
 			GetPaid_Post_Types_Admin::init();
237 237
 
238
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
239
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php' );
240
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
241
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' );
242
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' );
243
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php' );
238
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php');
239
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php');
240
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php');
241
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php');
242
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php');
243
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php');
244 244
 			// load the user class only on the users.php page
245 245
 			global $pagenow;
246
-			if($pagenow=='users.php'){
246
+			if ($pagenow == 'users.php') {
247 247
 				new WPInv_Admin_Users();
248 248
 			}
249 249
 		}
250 250
 
251 251
 		// Register cli commands
252
-		if ( defined( 'WP_CLI' ) && WP_CLI ) {
253
-			require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' );
254
-			WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
252
+		if (defined('WP_CLI') && WP_CLI) {
253
+			require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php');
254
+			WP_CLI::add_command('invoicing', 'WPInv_CLI');
255 255
 		}
256 256
 
257 257
 	}
@@ -264,21 +264,21 @@  discard block
 block discarded – undo
264 264
 	 * @since       1.0.19
265 265
 	 * @return      void
266 266
 	 */
267
-	public function autoload( $class_name ) {
267
+	public function autoload($class_name) {
268 268
 
269 269
 		// Normalize the class name...
270
-		$class_name  = strtolower( $class_name );
270
+		$class_name = strtolower($class_name);
271 271
 
272 272
 		// ... and make sure it is our class.
273
-		if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
273
+		if (false === strpos($class_name, 'getpaid_') && false === strpos($class_name, 'wpinv_')) {
274 274
 			return;
275 275
 		}
276 276
 
277 277
 		// Next, prepare the file name from the class.
278
-		$file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
278
+		$file_name = 'class-' . str_replace('_', '-', $class_name) . '.php';
279 279
 
280 280
 		// Base path of the classes.
281
-		$plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
281
+		$plugin_path = untrailingslashit(WPINV_PLUGIN_DIR);
282 282
 
283 283
 		// And an array of possible locations in order of importance.
284 284
 		$locations = array(
@@ -293,10 +293,10 @@  discard block
 block discarded – undo
293 293
 			"$plugin_path/includes/admin/meta-boxes",
294 294
 		);
295 295
 
296
-		foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
296
+		foreach (apply_filters('getpaid_autoload_locations', $locations) as $location) {
297 297
 
298
-			if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
299
-				include trailingslashit( $location ) . $file_name;
298
+			if (file_exists(trailingslashit($location) . $file_name)) {
299
+				include trailingslashit($location) . $file_name;
300 300
 				break;
301 301
 			}
302 302
 
@@ -310,7 +310,7 @@  discard block
 block discarded – undo
310 310
 	public function init() {
311 311
 
312 312
 		// Fires before getpaid inits.
313
-		do_action( 'before_getpaid_init', $this );
313
+		do_action('before_getpaid_init', $this);
314 314
 
315 315
 		// Maybe upgrade.
316 316
 		$this->maybe_upgrade_database();
@@ -327,17 +327,17 @@  discard block
 block discarded – undo
327 327
 			)
328 328
 		);
329 329
 
330
-		foreach ( $gateways as $id => $class ) {
331
-			$this->gateways[ $id ] = new $class();
330
+		foreach ($gateways as $id => $class) {
331
+			$this->gateways[$id] = new $class();
332 332
 		}
333 333
 
334
-		if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) {
334
+		if ('yes' != get_option('wpinv_renamed_gateways')) {
335 335
 			GetPaid_Installer::rename_gateways_label();
336
-			update_option( 'wpinv_renamed_gateways', 'yes' );
336
+			update_option('wpinv_renamed_gateways', 'yes');
337 337
 		}
338 338
 
339 339
 		// Fires after getpaid inits.
340
-		do_action( 'getpaid_init', $this );
340
+		do_action('getpaid_init', $this);
341 341
 
342 342
 	}
343 343
 
@@ -347,14 +347,14 @@  discard block
 block discarded – undo
347 347
 	public function maybe_process_ipn() {
348 348
 
349 349
 		// Ensure that this is an IPN request.
350
-		if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
350
+		if (empty($_GET['wpi-listener']) || 'IPN' !== $_GET['wpi-listener'] || empty($_GET['wpi-gateway'])) {
351 351
 			return;
352 352
 		}
353 353
 
354
-		$gateway = wpinv_clean( $_GET['wpi-gateway'] );
354
+		$gateway = wpinv_clean($_GET['wpi-gateway']);
355 355
 
356
-		do_action( 'wpinv_verify_payment_ipn', $gateway );
357
-		do_action( "wpinv_verify_{$gateway}_ipn" );
356
+		do_action('wpinv_verify_payment_ipn', $gateway);
357
+		do_action("wpinv_verify_{$gateway}_ipn");
358 358
 		exit;
359 359
 
360 360
 	}
@@ -362,29 +362,29 @@  discard block
 block discarded – undo
362 362
 	public function enqueue_scripts() {
363 363
 
364 364
 		// Fires before adding scripts.
365
-		do_action( 'getpaid_enqueue_scripts' );
365
+		do_action('getpaid_enqueue_scripts');
366 366
 
367 367
 		$localize                         = array();
368
-		$localize['ajax_url']             = admin_url( 'admin-ajax.php' );
368
+		$localize['ajax_url']             = admin_url('admin-ajax.php');
369 369
 		$localize['thousands']            = wpinv_thousands_separator();
370 370
 		$localize['decimals']             = wpinv_decimal_separator();
371
-		$localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
372
-		$localize['txtComplete']          = __( 'Continue', 'invoicing' );
371
+		$localize['nonce']                = wp_create_nonce('wpinv-nonce');
372
+		$localize['txtComplete']          = __('Continue', 'invoicing');
373 373
 		$localize['UseTaxes']             = wpinv_use_taxes();
374
-		$localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
375
-		$localize['loading']              = __( 'Loading...', 'invoicing' );
376
-		$localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
374
+		$localize['formNonce']            = wp_create_nonce('getpaid_form_nonce');
375
+		$localize['loading']              = __('Loading...', 'invoicing');
376
+		$localize['connectionError']      = __('Could not establish a connection to the server.', 'invoicing');
377 377
 
378
-		$localize = apply_filters( 'wpinv_front_js_localize', $localize );
378
+		$localize = apply_filters('wpinv_front_js_localize', $localize);
379 379
 
380
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
381
-		wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ),  $version, true );
382
-		wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
380
+		$version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js');
381
+		wp_enqueue_script('wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array('jquery'), $version, true);
382
+		wp_localize_script('wpinv-front-script', 'WPInv', $localize);
383 383
 	}
384 384
 
385 385
 	public function wpinv_actions() {
386
-		if ( isset( $_REQUEST['wpi_action'] ) ) {
387
-			do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
386
+		if (isset($_REQUEST['wpi_action'])) {
387
+			do_action('wpinv_' . wpinv_sanitize_key($_REQUEST['wpi_action']), $_REQUEST);
388 388
 		}
389 389
 	}
390 390
 
@@ -396,24 +396,24 @@  discard block
 block discarded – undo
396 396
      */
397 397
     public function maybe_do_authenticated_action() {
398 398
 
399
-		if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
399
+		if (isset($_REQUEST['getpaid-action']) && isset($_REQUEST['getpaid-nonce']) && wp_verify_nonce($_REQUEST['getpaid-nonce'], 'getpaid-nonce')) {
400 400
 
401
-			$key  = sanitize_key( $_REQUEST['getpaid-action'] );
402
-			$data = wp_unslash( $_REQUEST );
403
-			if ( is_user_logged_in() ) {
404
-				do_action( "getpaid_authenticated_action_$key", $data );
401
+			$key  = sanitize_key($_REQUEST['getpaid-action']);
402
+			$data = wp_unslash($_REQUEST);
403
+			if (is_user_logged_in()) {
404
+				do_action("getpaid_authenticated_action_$key", $data);
405 405
 			}
406 406
 
407
-			do_action( "getpaid_unauthenticated_action_$key", $data );
407
+			do_action("getpaid_unauthenticated_action_$key", $data);
408 408
 
409 409
 		}
410 410
 
411 411
     }
412 412
 
413
-	public function pre_get_posts( $wp_query ) {
413
+	public function pre_get_posts($wp_query) {
414 414
 
415
-		if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
416
-			$wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
415
+		if (!is_admin() && !empty($wp_query->query_vars['post_type']) && getpaid_is_invoice_post_type($wp_query->query_vars['post_type']) && is_user_logged_in() && is_single() && $wp_query->is_main_query()) {
416
+			$wp_query->query_vars['post_status'] = array_keys(wpinv_get_invoice_statuses(false, false, $wp_query->query_vars['post_type']));
417 417
 		}
418 418
 
419 419
 		return $wp_query;
@@ -427,7 +427,7 @@  discard block
 block discarded – undo
427 427
 
428 428
 		// Currently, UX Builder does not work particulaly well with SuperDuper.
429 429
 		// So we disable our widgets when editing a page with UX Builder.
430
-		if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) {
430
+		if (function_exists('ux_builder_is_active') && ux_builder_is_active()) {
431 431
 			return;
432 432
 		}
433 433
 
@@ -444,8 +444,8 @@  discard block
 block discarded – undo
444 444
 			)
445 445
 		);
446 446
 
447
-		foreach ( $widgets as $widget ) {
448
-			register_widget( $widget );
447
+		foreach ($widgets as $widget) {
448
+			register_widget($widget);
449 449
 		}
450 450
 		
451 451
 	}
@@ -457,29 +457,29 @@  discard block
 block discarded – undo
457 457
 	 */
458 458
 	public function maybe_upgrade_database() {
459 459
 
460
-		$wpi_version = get_option( 'wpinv_version', 0 );
460
+		$wpi_version = get_option('wpinv_version', 0);
461 461
 
462
-		if ( $wpi_version == WPINV_VERSION ) {
462
+		if ($wpi_version == WPINV_VERSION) {
463 463
 			return;
464 464
 		}
465 465
 
466 466
 		$installer = new GetPaid_Installer();
467 467
 
468
-		if ( empty( $wpi_version ) ) {
469
-			return $installer->upgrade_db( 0 );
468
+		if (empty($wpi_version)) {
469
+			return $installer->upgrade_db(0);
470 470
 		}
471 471
 
472
-		$upgrades  = array(
472
+		$upgrades = array(
473 473
 			'0.0.5' => '004',
474 474
 			'1.0.3' => '102',
475 475
 			'2.0.0' => '118',
476 476
 			'2.0.8' => '207',
477 477
 		);
478 478
 
479
-		foreach ( $upgrades as $key => $method ) {
479
+		foreach ($upgrades as $key => $method) {
480 480
 
481
-			if ( version_compare( $wpi_version, $key, '<' ) ) {
482
-				return $installer->upgrade_db( $method );
481
+			if (version_compare($wpi_version, $key, '<')) {
482
+				return $installer->upgrade_db($method);
483 483
 			}
484 484
 
485 485
 		}
@@ -493,11 +493,11 @@  discard block
 block discarded – undo
493 493
 	 */
494 494
 	public function maybe_flush_permalinks() {
495 495
 
496
-		$flush = get_option( 'wpinv_flush_permalinks', 0 );
496
+		$flush = get_option('wpinv_flush_permalinks', 0);
497 497
 
498
-		if ( ! empty( $flush ) ) {
498
+		if (!empty($flush)) {
499 499
 			flush_rewrite_rules();
500
-			delete_option( 'wpinv_flush_permalinks' );
500
+			delete_option('wpinv_flush_permalinks');
501 501
 		}
502 502
 
503 503
 	}
@@ -508,10 +508,10 @@  discard block
 block discarded – undo
508 508
 	 * @since 1.0.19
509 509
 	 * @param int[] $excluded_posts_ids
510 510
 	 */
511
-	public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ){
511
+	public function wpseo_exclude_from_sitemap_by_post_ids($excluded_posts_ids) {
512 512
 
513 513
 		// Ensure that we have an array.
514
-		if ( ! is_array( $excluded_posts_ids ) ) {
514
+		if (!is_array($excluded_posts_ids)) {
515 515
 			$excluded_posts_ids = array();
516 516
 		}
517 517
 
@@ -519,24 +519,24 @@  discard block
 block discarded – undo
519 519
 		$our_pages = array();
520 520
 
521 521
 		// Checkout page.
522
-		$our_pages[] = wpinv_get_option( 'checkout_page', false );
522
+		$our_pages[] = wpinv_get_option('checkout_page', false);
523 523
 
524 524
 		// Success page.
525
-		$our_pages[] = wpinv_get_option( 'success_page', false );
525
+		$our_pages[] = wpinv_get_option('success_page', false);
526 526
 
527 527
 		// Failure page.
528
-		$our_pages[] = wpinv_get_option( 'failure_page', false );
528
+		$our_pages[] = wpinv_get_option('failure_page', false);
529 529
 
530 530
 		// History page.
531
-		$our_pages[] = wpinv_get_option( 'invoice_history_page', false );
531
+		$our_pages[] = wpinv_get_option('invoice_history_page', false);
532 532
 
533 533
 		// Subscriptions page.
534
-		$our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
534
+		$our_pages[] = wpinv_get_option('invoice_subscription_page', false);
535 535
 
536
-		$our_pages   = array_map( 'intval', array_filter( $our_pages ) );
536
+		$our_pages   = array_map('intval', array_filter($our_pages));
537 537
 
538 538
 		$excluded_posts_ids = $excluded_posts_ids + $our_pages;
539
-		return array_unique( $excluded_posts_ids );
539
+		return array_unique($excluded_posts_ids);
540 540
 
541 541
 	}
542 542
 
@@ -546,7 +546,7 @@  discard block
 block discarded – undo
546 546
 	 * @since 2.0.0
547 547
 	 */
548 548
 	public function wp_footer() {
549
-		wpinv_get_template( 'frontend-footer.php' );
549
+		wpinv_get_template('frontend-footer.php');
550 550
 	}
551 551
 
552 552
 	/**
@@ -555,14 +555,14 @@  discard block
 block discarded – undo
555 555
 	 * @since 2.0.0
556 556
 	 */
557 557
 	public function wp_head() {
558
-		wpinv_get_template( 'frontend-head.php' );
558
+		wpinv_get_template('frontend-head.php');
559 559
 	}
560 560
 
561 561
 	/**
562 562
 	 * Custom query vars.
563 563
 	 *
564 564
 	 */
565
-	public function custom_query_vars( $vars ) {
565
+	public function custom_query_vars($vars) {
566 566
         $vars[] = 'getpaid-ipn';
567 567
         return $vars;
568 568
 	}
@@ -573,28 +573,28 @@  discard block
 block discarded – undo
573 573
 	 */
574 574
 	public function add_rewrite_rule() {
575 575
         $tag = 'getpaid-ipn';
576
-        add_rewrite_tag( "%$tag%", '([^&]+)' );
577
-        add_rewrite_rule( "^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]",'top' );
576
+        add_rewrite_tag("%$tag%", '([^&]+)');
577
+        add_rewrite_rule("^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top');
578 578
 	}
579 579
 
580 580
 	/**
581 581
 	 * Processes non-query string ipns.
582 582
 	 *
583 583
 	 */
584
-	public function maybe_process_new_ipn( $query ) {
584
+	public function maybe_process_new_ipn($query) {
585 585
 
586
-        if ( is_admin() || ! $query->is_main_query() ) {
586
+        if (is_admin() || !$query->is_main_query()) {
587 587
             return;
588 588
         }
589 589
 
590
-		$gateway = get_query_var( 'getpaid-ipn' );
590
+		$gateway = get_query_var('getpaid-ipn');
591 591
 
592
-        if ( ! empty( $gateway ) ){
592
+        if (!empty($gateway)) {
593 593
 
594
-			$gateway = sanitize_text_field( $gateway );
594
+			$gateway = sanitize_text_field($gateway);
595 595
 			nocache_headers();
596
-			do_action( 'wpinv_verify_payment_ipn', $gateway );
597
-			do_action( "wpinv_verify_{$gateway}_ipn" );
596
+			do_action('wpinv_verify_payment_ipn', $gateway);
597
+			do_action("wpinv_verify_{$gateway}_ipn");
598 598
 			exit;
599 599
 
600 600
         }
Please login to merge, or discard this patch.
includes/class-getpaid-daily-maintenance.php 2 patches
Indentation   +140 added lines, -140 removed lines patch added patch discarded remove patch
@@ -12,145 +12,145 @@
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Daily_Maintenance {
14 14
 
15
-	/**
16
-	 * Class constructor.
17
-	 */
18
-	public function __construct(){
19
-
20
-		// Clear deprecated events.
21
-		add_action( 'wp', array( $this, 'maybe_clear_deprecated_events' ) );
22
-
23
-		// (Maybe) schedule a cron that runs daily.
24
-		add_action( 'wp', array( $this, 'maybe_create_scheduled_event' ) );
25
-
26
-		// Fired everyday at 7 a.m (this might vary for sites with few visitors)
27
-		add_action( 'getpaid_daily_maintenance', array( $this, 'log_cron_run' ) );
28
-		add_action( 'getpaid_daily_maintenance', array( $this, 'backwards_compat' ) );
29
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_expire_subscriptions' ) );
30
-		add_action( 'getpaid_daily_maintenance', array( $this, 'check_renewing_subscriptions' ) );
31
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_update_geoip_databases' ) );
32
-
33
-	}
34
-
35
-	/**
36
-	 * Schedules a cron to run every day at 7 a.m
37
-	 *
38
-	 */
39
-	public function maybe_create_scheduled_event() {
40
-
41
-		if ( ! wp_next_scheduled( 'getpaid_daily_maintenance' ) ) {
42
-			$timestamp = strtotime( 'tomorrow 07:00:00', current_time( 'timestamp' ) );
43
-			wp_schedule_event( $timestamp, 'daily', 'getpaid_daily_maintenance' );
44
-		}
45
-
46
-	}
47
-
48
-	/**
49
-	 * Clears deprecated events.
50
-	 *
51
-	 */
52
-	public function maybe_clear_deprecated_events() {
53
-
54
-		if ( ! get_option( 'wpinv_cleared_old_events' ) ) {
55
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_twicedaily' );
56
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_daily' );
57
-			update_option( 'wpinv_cleared_old_events', 1 );
58
-		}
59
-
60
-	}
61
-
62
-	/**
63
-	 * Fires the old hook for backwards compatibility.
64
-	 *
65
-	 */
66
-	public function backwards_compat() {
67
-		do_action( 'wpinv_register_schedule_event_daily' );
68
-	}
69
-
70
-	/**
71
-	 * Checks for subscriptions that are scheduled to renew.
72
-	 *
73
-	 */
74
-	public function check_renewing_subscriptions() {
75
-
76
-		// Fetch subscriptions that expire today.
77
-		$args  = array(
78
-			'number'             => -1,
79
-			'count_total'        => false,
80
-			'status'             => 'trialling active',
81
-			'date_expires_query' => array(
82
-				array(
83
-					'year'          => date( 'Y', current_time( 'timestamp' ) ),
84
-					'month'         => date( 'n', current_time( 'timestamp' ) ),
85
-					'day'           => date( 'j', current_time( 'timestamp' ) ),
86
-					'compare'       => '=',
87
-				),
88
-			),
89
-		);
90
-
91
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
92
-
93
-		foreach ( $subscriptions->get_results() as $subscription ) {
94
-
95
-			/** @var WPInv_Subscription $subscription */
96
-			if ( $subscription->is_last_renewal() ) {
97
-				$subscription->complete();
98
-			} else {
99
-				do_action( 'getpaid_should_renew_subscription', $subscription );
100
-			}
101
-
102
-		}
103
-
104
-	}
105
-
106
-	/**
107
-	 * Expires expired subscriptions.
108
-	 *
109
-	 */
110
-	public function maybe_expire_subscriptions() {
111
-
112
-		// Fetch expired subscriptions (skips those that expire today).
113
-		$args  = array(
114
-			'number'             => -1,
115
-			'count_total'        => false,
116
-			'status'             => 'trialling active failing cancelled',
117
-			'date_expires_query' => array(
118
-				'before'    => 'yesterday',
119
-				'inclusive' => false,
120
-			),
121
-		);
122
-
123
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
124
-
125
-		foreach ( $subscriptions->get_results() as $subscription ) {
126
-			if ( apply_filters( 'getpaid_daily_maintenance_should_expire_subscription', false, $subscription ) ) {
127
-				$subscription->set_status( 'expired' );
128
-				$subscription->save();
129
-			}
130
-		}
131
-
132
-	}
133
-
134
-	/**
135
-	 * Logs cron runs.
136
-	 *
137
-	 */
138
-	public function log_cron_run() {
139
-		wpinv_error_log( 'GetPaid Daily Cron', false );
140
-	}
141
-
142
-	/**
143
-	 * Updates GeoIP databases.
144
-	 *
145
-	 */
146
-	public function maybe_update_geoip_databases() {
147
-		$updated = get_transient( 'getpaid_updated_geoip_databases' );
148
-
149
-		if ( false === $updated ) {
150
-			set_transient( 'getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS );
151
-			do_action( 'getpaid_update_geoip_databases' );
152
-		}
153
-
154
-	}
15
+    /**
16
+     * Class constructor.
17
+     */
18
+    public function __construct(){
19
+
20
+        // Clear deprecated events.
21
+        add_action( 'wp', array( $this, 'maybe_clear_deprecated_events' ) );
22
+
23
+        // (Maybe) schedule a cron that runs daily.
24
+        add_action( 'wp', array( $this, 'maybe_create_scheduled_event' ) );
25
+
26
+        // Fired everyday at 7 a.m (this might vary for sites with few visitors)
27
+        add_action( 'getpaid_daily_maintenance', array( $this, 'log_cron_run' ) );
28
+        add_action( 'getpaid_daily_maintenance', array( $this, 'backwards_compat' ) );
29
+        add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_expire_subscriptions' ) );
30
+        add_action( 'getpaid_daily_maintenance', array( $this, 'check_renewing_subscriptions' ) );
31
+        add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_update_geoip_databases' ) );
32
+
33
+    }
34
+
35
+    /**
36
+     * Schedules a cron to run every day at 7 a.m
37
+     *
38
+     */
39
+    public function maybe_create_scheduled_event() {
40
+
41
+        if ( ! wp_next_scheduled( 'getpaid_daily_maintenance' ) ) {
42
+            $timestamp = strtotime( 'tomorrow 07:00:00', current_time( 'timestamp' ) );
43
+            wp_schedule_event( $timestamp, 'daily', 'getpaid_daily_maintenance' );
44
+        }
45
+
46
+    }
47
+
48
+    /**
49
+     * Clears deprecated events.
50
+     *
51
+     */
52
+    public function maybe_clear_deprecated_events() {
53
+
54
+        if ( ! get_option( 'wpinv_cleared_old_events' ) ) {
55
+            wp_clear_scheduled_hook( 'wpinv_register_schedule_event_twicedaily' );
56
+            wp_clear_scheduled_hook( 'wpinv_register_schedule_event_daily' );
57
+            update_option( 'wpinv_cleared_old_events', 1 );
58
+        }
59
+
60
+    }
61
+
62
+    /**
63
+     * Fires the old hook for backwards compatibility.
64
+     *
65
+     */
66
+    public function backwards_compat() {
67
+        do_action( 'wpinv_register_schedule_event_daily' );
68
+    }
69
+
70
+    /**
71
+     * Checks for subscriptions that are scheduled to renew.
72
+     *
73
+     */
74
+    public function check_renewing_subscriptions() {
75
+
76
+        // Fetch subscriptions that expire today.
77
+        $args  = array(
78
+            'number'             => -1,
79
+            'count_total'        => false,
80
+            'status'             => 'trialling active',
81
+            'date_expires_query' => array(
82
+                array(
83
+                    'year'          => date( 'Y', current_time( 'timestamp' ) ),
84
+                    'month'         => date( 'n', current_time( 'timestamp' ) ),
85
+                    'day'           => date( 'j', current_time( 'timestamp' ) ),
86
+                    'compare'       => '=',
87
+                ),
88
+            ),
89
+        );
90
+
91
+        $subscriptions = new GetPaid_Subscriptions_Query( $args );
92
+
93
+        foreach ( $subscriptions->get_results() as $subscription ) {
94
+
95
+            /** @var WPInv_Subscription $subscription */
96
+            if ( $subscription->is_last_renewal() ) {
97
+                $subscription->complete();
98
+            } else {
99
+                do_action( 'getpaid_should_renew_subscription', $subscription );
100
+            }
101
+
102
+        }
103
+
104
+    }
105
+
106
+    /**
107
+     * Expires expired subscriptions.
108
+     *
109
+     */
110
+    public function maybe_expire_subscriptions() {
111
+
112
+        // Fetch expired subscriptions (skips those that expire today).
113
+        $args  = array(
114
+            'number'             => -1,
115
+            'count_total'        => false,
116
+            'status'             => 'trialling active failing cancelled',
117
+            'date_expires_query' => array(
118
+                'before'    => 'yesterday',
119
+                'inclusive' => false,
120
+            ),
121
+        );
122
+
123
+        $subscriptions = new GetPaid_Subscriptions_Query( $args );
124
+
125
+        foreach ( $subscriptions->get_results() as $subscription ) {
126
+            if ( apply_filters( 'getpaid_daily_maintenance_should_expire_subscription', false, $subscription ) ) {
127
+                $subscription->set_status( 'expired' );
128
+                $subscription->save();
129
+            }
130
+        }
131
+
132
+    }
133
+
134
+    /**
135
+     * Logs cron runs.
136
+     *
137
+     */
138
+    public function log_cron_run() {
139
+        wpinv_error_log( 'GetPaid Daily Cron', false );
140
+    }
141
+
142
+    /**
143
+     * Updates GeoIP databases.
144
+     *
145
+     */
146
+    public function maybe_update_geoip_databases() {
147
+        $updated = get_transient( 'getpaid_updated_geoip_databases' );
148
+
149
+        if ( false === $updated ) {
150
+            set_transient( 'getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS );
151
+            do_action( 'getpaid_update_geoip_databases' );
152
+        }
153
+
154
+    }
155 155
 
156 156
 }
Please login to merge, or discard this patch.
Spacing   +35 added lines, -35 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 
9 9
 /**
10 10
  * Daily maintenance class.
@@ -15,20 +15,20 @@  discard block
 block discarded – undo
15 15
 	/**
16 16
 	 * Class constructor.
17 17
 	 */
18
-	public function __construct(){
18
+	public function __construct() {
19 19
 
20 20
 		// Clear deprecated events.
21
-		add_action( 'wp', array( $this, 'maybe_clear_deprecated_events' ) );
21
+		add_action('wp', array($this, 'maybe_clear_deprecated_events'));
22 22
 
23 23
 		// (Maybe) schedule a cron that runs daily.
24
-		add_action( 'wp', array( $this, 'maybe_create_scheduled_event' ) );
24
+		add_action('wp', array($this, 'maybe_create_scheduled_event'));
25 25
 
26 26
 		// Fired everyday at 7 a.m (this might vary for sites with few visitors)
27
-		add_action( 'getpaid_daily_maintenance', array( $this, 'log_cron_run' ) );
28
-		add_action( 'getpaid_daily_maintenance', array( $this, 'backwards_compat' ) );
29
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_expire_subscriptions' ) );
30
-		add_action( 'getpaid_daily_maintenance', array( $this, 'check_renewing_subscriptions' ) );
31
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_update_geoip_databases' ) );
27
+		add_action('getpaid_daily_maintenance', array($this, 'log_cron_run'));
28
+		add_action('getpaid_daily_maintenance', array($this, 'backwards_compat'));
29
+		add_action('getpaid_daily_maintenance', array($this, 'maybe_expire_subscriptions'));
30
+		add_action('getpaid_daily_maintenance', array($this, 'check_renewing_subscriptions'));
31
+		add_action('getpaid_daily_maintenance', array($this, 'maybe_update_geoip_databases'));
32 32
 
33 33
 	}
34 34
 
@@ -38,9 +38,9 @@  discard block
 block discarded – undo
38 38
 	 */
39 39
 	public function maybe_create_scheduled_event() {
40 40
 
41
-		if ( ! wp_next_scheduled( 'getpaid_daily_maintenance' ) ) {
42
-			$timestamp = strtotime( 'tomorrow 07:00:00', current_time( 'timestamp' ) );
43
-			wp_schedule_event( $timestamp, 'daily', 'getpaid_daily_maintenance' );
41
+		if (!wp_next_scheduled('getpaid_daily_maintenance')) {
42
+			$timestamp = strtotime('tomorrow 07:00:00', current_time('timestamp'));
43
+			wp_schedule_event($timestamp, 'daily', 'getpaid_daily_maintenance');
44 44
 		}
45 45
 
46 46
 	}
@@ -51,10 +51,10 @@  discard block
 block discarded – undo
51 51
 	 */
52 52
 	public function maybe_clear_deprecated_events() {
53 53
 
54
-		if ( ! get_option( 'wpinv_cleared_old_events' ) ) {
55
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_twicedaily' );
56
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_daily' );
57
-			update_option( 'wpinv_cleared_old_events', 1 );
54
+		if (!get_option('wpinv_cleared_old_events')) {
55
+			wp_clear_scheduled_hook('wpinv_register_schedule_event_twicedaily');
56
+			wp_clear_scheduled_hook('wpinv_register_schedule_event_daily');
57
+			update_option('wpinv_cleared_old_events', 1);
58 58
 		}
59 59
 
60 60
 	}
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
 	 *
65 65
 	 */
66 66
 	public function backwards_compat() {
67
-		do_action( 'wpinv_register_schedule_event_daily' );
67
+		do_action('wpinv_register_schedule_event_daily');
68 68
 	}
69 69
 
70 70
 	/**
@@ -74,29 +74,29 @@  discard block
 block discarded – undo
74 74
 	public function check_renewing_subscriptions() {
75 75
 
76 76
 		// Fetch subscriptions that expire today.
77
-		$args  = array(
77
+		$args = array(
78 78
 			'number'             => -1,
79 79
 			'count_total'        => false,
80 80
 			'status'             => 'trialling active',
81 81
 			'date_expires_query' => array(
82 82
 				array(
83
-					'year'          => date( 'Y', current_time( 'timestamp' ) ),
84
-					'month'         => date( 'n', current_time( 'timestamp' ) ),
85
-					'day'           => date( 'j', current_time( 'timestamp' ) ),
83
+					'year'          => date('Y', current_time('timestamp')),
84
+					'month'         => date('n', current_time('timestamp')),
85
+					'day'           => date('j', current_time('timestamp')),
86 86
 					'compare'       => '=',
87 87
 				),
88 88
 			),
89 89
 		);
90 90
 
91
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
91
+		$subscriptions = new GetPaid_Subscriptions_Query($args);
92 92
 
93
-		foreach ( $subscriptions->get_results() as $subscription ) {
93
+		foreach ($subscriptions->get_results() as $subscription) {
94 94
 
95 95
 			/** @var WPInv_Subscription $subscription */
96
-			if ( $subscription->is_last_renewal() ) {
96
+			if ($subscription->is_last_renewal()) {
97 97
 				$subscription->complete();
98 98
 			} else {
99
-				do_action( 'getpaid_should_renew_subscription', $subscription );
99
+				do_action('getpaid_should_renew_subscription', $subscription);
100 100
 			}
101 101
 
102 102
 		}
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
 	public function maybe_expire_subscriptions() {
111 111
 
112 112
 		// Fetch expired subscriptions (skips those that expire today).
113
-		$args  = array(
113
+		$args = array(
114 114
 			'number'             => -1,
115 115
 			'count_total'        => false,
116 116
 			'status'             => 'trialling active failing cancelled',
@@ -120,11 +120,11 @@  discard block
 block discarded – undo
120 120
 			),
121 121
 		);
122 122
 
123
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
123
+		$subscriptions = new GetPaid_Subscriptions_Query($args);
124 124
 
125
-		foreach ( $subscriptions->get_results() as $subscription ) {
126
-			if ( apply_filters( 'getpaid_daily_maintenance_should_expire_subscription', false, $subscription ) ) {
127
-				$subscription->set_status( 'expired' );
125
+		foreach ($subscriptions->get_results() as $subscription) {
126
+			if (apply_filters('getpaid_daily_maintenance_should_expire_subscription', false, $subscription)) {
127
+				$subscription->set_status('expired');
128 128
 				$subscription->save();
129 129
 			}
130 130
 		}
@@ -136,7 +136,7 @@  discard block
 block discarded – undo
136 136
 	 *
137 137
 	 */
138 138
 	public function log_cron_run() {
139
-		wpinv_error_log( 'GetPaid Daily Cron', false );
139
+		wpinv_error_log('GetPaid Daily Cron', false);
140 140
 	}
141 141
 
142 142
 	/**
@@ -144,11 +144,11 @@  discard block
 block discarded – undo
144 144
 	 *
145 145
 	 */
146 146
 	public function maybe_update_geoip_databases() {
147
-		$updated = get_transient( 'getpaid_updated_geoip_databases' );
147
+		$updated = get_transient('getpaid_updated_geoip_databases');
148 148
 
149
-		if ( false === $updated ) {
150
-			set_transient( 'getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS );
151
-			do_action( 'getpaid_update_geoip_databases' );
149
+		if (false === $updated) {
150
+			set_transient('getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS);
151
+			do_action('getpaid_update_geoip_databases');
152 152
 		}
153 153
 
154 154
 	}
Please login to merge, or discard this patch.
vendor/ayecode/wp-font-awesome-settings/wp-font-awesome-settings.php 2 patches
Indentation   +403 added lines, -403 removed lines patch added patch discarded remove patch
@@ -13,7 +13,7 @@  discard block
 block discarded – undo
13 13
  * Bail if we are not in WP.
14 14
  */
15 15
 if ( ! defined( 'ABSPATH' ) ) {
16
-	exit;
16
+    exit;
17 17
 }
18 18
 
19 19
 /**
@@ -21,300 +21,300 @@  discard block
 block discarded – undo
21 21
  */
22 22
 if ( ! class_exists( 'WP_Font_Awesome_Settings' ) ) {
23 23
 
24
-	/**
25
-	 * A Class to be able to change settings for Font Awesome.
26
-	 *
27
-	 * Class WP_Font_Awesome_Settings
28
-	 * @since 1.0.10 Now able to pass wp.org theme check.
29
-	 * @since 1.0.11 Font Awesome Pro now supported.
30
-	 * @since 1.0.11 Font Awesome Kits now supported.
31
-	 * @since 1.0.13 RTL language support added.
32
-	 * @ver 1.0.13
33
-	 * @todo decide how to implement textdomain
34
-	 */
35
-	class WP_Font_Awesome_Settings {
36
-
37
-		/**
38
-		 * Class version version.
39
-		 *
40
-		 * @var string
41
-		 */
42
-		public $version = '1.0.13';
43
-
44
-		/**
45
-		 * Class textdomain.
46
-		 *
47
-		 * @var string
48
-		 */
49
-		public $textdomain = 'font-awesome-settings';
50
-
51
-		/**
52
-		 * Latest version of Font Awesome at time of publish published.
53
-		 *
54
-		 * @var string
55
-		 */
56
-		public $latest = "5.8.2";
57
-
58
-		/**
59
-		 * The title.
60
-		 *
61
-		 * @var string
62
-		 */
63
-		public $name = 'Font Awesome';
64
-
65
-		/**
66
-		 * Holds the settings values.
67
-		 *
68
-		 * @var array
69
-		 */
70
-		private $settings;
71
-
72
-		/**
73
-		 * WP_Font_Awesome_Settings instance.
74
-		 *
75
-		 * @access private
76
-		 * @since  1.0.0
77
-		 * @var    WP_Font_Awesome_Settings There can be only one!
78
-		 */
79
-		private static $instance = null;
80
-
81
-		/**
82
-		 * Main WP_Font_Awesome_Settings Instance.
83
-		 *
84
-		 * Ensures only one instance of WP_Font_Awesome_Settings is loaded or can be loaded.
85
-		 *
86
-		 * @since 1.0.0
87
-		 * @static
88
-		 * @return WP_Font_Awesome_Settings - Main instance.
89
-		 */
90
-		public static function instance() {
91
-			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WP_Font_Awesome_Settings ) ) {
92
-				self::$instance = new WP_Font_Awesome_Settings;
93
-
94
-				add_action( 'init', array( self::$instance, 'init' ) ); // set settings
95
-
96
-				if ( is_admin() ) {
97
-					add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
98
-					add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
99
-				}
100
-
101
-				do_action( 'wp_font_awesome_settings_loaded' );
102
-			}
103
-
104
-			return self::$instance;
105
-		}
106
-
107
-		/**
108
-		 * Initiate the settings and add the required action hooks.
109
-		 *
110
-		 * @since 1.0.8 Settings name wrong - FIXED
111
-		 */
112
-		public function init() {
113
-			$this->settings = $this->get_settings();
114
-
115
-			if ( $this->settings['type'] == 'CSS' ) {
116
-
117
-				if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
118
-					add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
119
-				}
120
-
121
-				if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
122
-					add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
123
-				}
124
-
125
-			} else {
126
-
127
-				if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
128
-					add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
129
-				}
130
-
131
-				if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
132
-					add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
133
-				}
134
-			}
135
-
136
-			// remove font awesome if set to do so
137
-			if ( $this->settings['dequeue'] == '1' ) {
138
-				add_action( 'clean_url', array( $this, 'remove_font_awesome' ), 5000, 3 );
139
-			}
140
-
141
-		}
142
-
143
-		/**
144
-		 * Adds the Font Awesome styles.
145
-		 */
146
-		public function enqueue_style() {
147
-			// build url
148
-			$url = $this->get_url();
149
-
150
-			wp_deregister_style( 'font-awesome' ); // deregister in case its already there
151
-			wp_register_style( 'font-awesome', $url, array(), null );
152
-			wp_enqueue_style( 'font-awesome' );
153
-
154
-			// RTL language support CSS.
155
-			if ( is_rtl() ) {
156
-				wp_add_inline_style( 'font-awesome', $this->rtl_inline_css() );
157
-			}
158
-
159
-			if ( $this->settings['shims'] ) {
160
-				$url = $this->get_url( true );
161
-				wp_deregister_style( 'font-awesome-shims' ); // deregister in case its already there
162
-				wp_register_style( 'font-awesome-shims', $url, array(), null );
163
-				wp_enqueue_style( 'font-awesome-shims' );
164
-			}
165
-		}
166
-
167
-		/**
168
-		 * Adds the Font Awesome JS.
169
-		 */
170
-		public function enqueue_scripts() {
171
-			// build url
172
-			$url = $this->get_url();
173
-
174
-			$deregister_function = 'wp' . '_' . 'deregister' . '_' . 'script';
175
-			call_user_func( $deregister_function, 'font-awesome' ); // deregister in case its already there
176
-			wp_register_script( 'font-awesome', $url, array(), null );
177
-			wp_enqueue_script( 'font-awesome' );
178
-
179
-			if ( $this->settings['shims'] ) {
180
-				$url = $this->get_url( true );
181
-				call_user_func( $deregister_function, 'font-awesome-shims' ); // deregister in case its already there
182
-				wp_register_script( 'font-awesome-shims', $url, array(), null );
183
-				wp_enqueue_script( 'font-awesome-shims' );
184
-			}
185
-		}
186
-
187
-		/**
188
-		 * Get the url of the Font Awesome files.
189
-		 *
190
-		 * @param bool $shims If this is a shim file or not.
191
-		 *
192
-		 * @return string The url to the file.
193
-		 */
194
-		public function get_url( $shims = false ) {
195
-			$script  = $shims ? 'v4-shims' : 'all';
196
-			$sub     = $this->settings['pro'] ? 'pro' : 'use';
197
-			$type    = $this->settings['type'];
198
-			$version = $this->settings['version'];
199
-			$kit_url = $this->settings['kit-url'] ? esc_url( $this->settings['kit-url'] ) : '';
200
-			$url     = '';
201
-
202
-			if ( $type == 'KIT' && $kit_url ) {
203
-				if ( $shims ) {
204
-					// if its a kit then we don't add shims here
205
-					return '';
206
-				}
207
-				$url .= $kit_url; // CDN
208
-				$url .= "?wpfas=true"; // set our var so our version is not removed
209
-			} else {
210
-				$url .= "https://$sub.fontawesome.com/releases/"; // CDN
211
-				$url .= ! empty( $version ) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version
212
-				$url .= $type == 'CSS' ? 'css/' : 'js/'; // type
213
-				$url .= $type == 'CSS' ? $script . '.css' : $script . '.js'; // type
214
-				$url .= "?wpfas=true"; // set our var so our version is not removed
215
-			}
216
-
217
-			return $url;
218
-		}
219
-
220
-		/**
221
-		 * Try and remove any other versions of Font Awesome added by other plugins/themes.
222
-		 *
223
-		 * Uses the clean_url filter to try and remove any other Font Awesome files added, it can also add pseudo-elements flag for the JS version.
224
-		 *
225
-		 * @param $url
226
-		 * @param $original_url
227
-		 * @param $_context
228
-		 *
229
-		 * @return string The filtered url.
230
-		 */
231
-		public function remove_font_awesome( $url, $original_url, $_context ) {
232
-
233
-			if ( $_context == 'display'
234
-			     && ( strstr( $url, "fontawesome" ) !== false || strstr( $url, "font-awesome" ) !== false )
235
-			     && ( strstr( $url, ".js" ) !== false || strstr( $url, ".css" ) !== false )
236
-			) {// it's a font-awesome-url (probably)
237
-
238
-				if ( strstr( $url, "wpfas=true" ) !== false ) {
239
-					if ( $this->settings['type'] == 'JS' ) {
240
-						if ( $this->settings['js-pseudo'] ) {
241
-							$url .= "' data-search-pseudo-elements defer='defer";
242
-						} else {
243
-							$url .= "' defer='defer";
244
-						}
245
-					}
246
-				} else {
247
-					$url = ''; // removing the url removes the file
248
-				}
249
-
250
-			}
251
-
252
-			return $url;
253
-		}
254
-
255
-		/**
256
-		 * Register the database settings with WordPress.
257
-		 */
258
-		public function register_settings() {
259
-			register_setting( 'wp-font-awesome-settings', 'wp-font-awesome-settings' );
260
-		}
261
-
262
-		/**
263
-		 * Add the WordPress settings menu item.
264
-		 * @since 1.0.10 Calling function name direct will fail theme check so we don't.
265
-		 */
266
-		public function menu_item() {
267
-			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
268
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array(
269
-				$this,
270
-				'settings_page'
271
-			) );
272
-		}
273
-
274
-		/**
275
-		 * Get the current Font Awesome output settings.
276
-		 *
277
-		 * @return array The array of settings.
278
-		 */
279
-		public function get_settings() {
280
-
281
-			$db_settings = get_option( 'wp-font-awesome-settings' );
282
-
283
-			$defaults = array(
284
-				'type'      => 'CSS', // type to use, CSS or JS or KIT
285
-				'version'   => '', // latest
286
-				'enqueue'   => '', // front and backend
287
-				'shims'     => '0', // default OFF now in 2020
288
-				'js-pseudo' => '0', // if the pseudo elements flag should be set (CPU intensive)
289
-				'dequeue'   => '0', // if we should try to remove other versions added by other plugins/themes
290
-				'pro'       => '0', // if pro CDN url should be used
291
-				'kit-url'   => '', // the kit url
292
-			);
293
-
294
-			$settings = wp_parse_args( $db_settings, $defaults );
295
-
296
-			/**
297
-			 * Filter the Font Awesome settings.
298
-			 *
299
-			 * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
300
-			 */
301
-			return $this->settings = apply_filters( 'wp-font-awesome-settings', $settings, $db_settings, $defaults );
302
-		}
303
-
304
-
305
-		/**
306
-		 * The settings page html output.
307
-		 */
308
-		public function settings_page() {
309
-			if ( ! current_user_can( 'manage_options' ) ) {
310
-				wp_die( __( 'You do not have sufficient permissions to access this page.', 'font-awesome-settings' ) );
311
-			}
312
-
313
-			// a hidden way to force the update of the version number via api instead of waiting the 48 hours
314
-			if ( isset( $_REQUEST['force-version-check'] ) ) {
315
-				$this->get_latest_version( $force_api = true );
316
-			}
317
-			?>
24
+    /**
25
+     * A Class to be able to change settings for Font Awesome.
26
+     *
27
+     * Class WP_Font_Awesome_Settings
28
+     * @since 1.0.10 Now able to pass wp.org theme check.
29
+     * @since 1.0.11 Font Awesome Pro now supported.
30
+     * @since 1.0.11 Font Awesome Kits now supported.
31
+     * @since 1.0.13 RTL language support added.
32
+     * @ver 1.0.13
33
+     * @todo decide how to implement textdomain
34
+     */
35
+    class WP_Font_Awesome_Settings {
36
+
37
+        /**
38
+         * Class version version.
39
+         *
40
+         * @var string
41
+         */
42
+        public $version = '1.0.13';
43
+
44
+        /**
45
+         * Class textdomain.
46
+         *
47
+         * @var string
48
+         */
49
+        public $textdomain = 'font-awesome-settings';
50
+
51
+        /**
52
+         * Latest version of Font Awesome at time of publish published.
53
+         *
54
+         * @var string
55
+         */
56
+        public $latest = "5.8.2";
57
+
58
+        /**
59
+         * The title.
60
+         *
61
+         * @var string
62
+         */
63
+        public $name = 'Font Awesome';
64
+
65
+        /**
66
+         * Holds the settings values.
67
+         *
68
+         * @var array
69
+         */
70
+        private $settings;
71
+
72
+        /**
73
+         * WP_Font_Awesome_Settings instance.
74
+         *
75
+         * @access private
76
+         * @since  1.0.0
77
+         * @var    WP_Font_Awesome_Settings There can be only one!
78
+         */
79
+        private static $instance = null;
80
+
81
+        /**
82
+         * Main WP_Font_Awesome_Settings Instance.
83
+         *
84
+         * Ensures only one instance of WP_Font_Awesome_Settings is loaded or can be loaded.
85
+         *
86
+         * @since 1.0.0
87
+         * @static
88
+         * @return WP_Font_Awesome_Settings - Main instance.
89
+         */
90
+        public static function instance() {
91
+            if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WP_Font_Awesome_Settings ) ) {
92
+                self::$instance = new WP_Font_Awesome_Settings;
93
+
94
+                add_action( 'init', array( self::$instance, 'init' ) ); // set settings
95
+
96
+                if ( is_admin() ) {
97
+                    add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
98
+                    add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
99
+                }
100
+
101
+                do_action( 'wp_font_awesome_settings_loaded' );
102
+            }
103
+
104
+            return self::$instance;
105
+        }
106
+
107
+        /**
108
+         * Initiate the settings and add the required action hooks.
109
+         *
110
+         * @since 1.0.8 Settings name wrong - FIXED
111
+         */
112
+        public function init() {
113
+            $this->settings = $this->get_settings();
114
+
115
+            if ( $this->settings['type'] == 'CSS' ) {
116
+
117
+                if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
118
+                    add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
119
+                }
120
+
121
+                if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
122
+                    add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
123
+                }
124
+
125
+            } else {
126
+
127
+                if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
128
+                    add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
129
+                }
130
+
131
+                if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
132
+                    add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
133
+                }
134
+            }
135
+
136
+            // remove font awesome if set to do so
137
+            if ( $this->settings['dequeue'] == '1' ) {
138
+                add_action( 'clean_url', array( $this, 'remove_font_awesome' ), 5000, 3 );
139
+            }
140
+
141
+        }
142
+
143
+        /**
144
+         * Adds the Font Awesome styles.
145
+         */
146
+        public function enqueue_style() {
147
+            // build url
148
+            $url = $this->get_url();
149
+
150
+            wp_deregister_style( 'font-awesome' ); // deregister in case its already there
151
+            wp_register_style( 'font-awesome', $url, array(), null );
152
+            wp_enqueue_style( 'font-awesome' );
153
+
154
+            // RTL language support CSS.
155
+            if ( is_rtl() ) {
156
+                wp_add_inline_style( 'font-awesome', $this->rtl_inline_css() );
157
+            }
158
+
159
+            if ( $this->settings['shims'] ) {
160
+                $url = $this->get_url( true );
161
+                wp_deregister_style( 'font-awesome-shims' ); // deregister in case its already there
162
+                wp_register_style( 'font-awesome-shims', $url, array(), null );
163
+                wp_enqueue_style( 'font-awesome-shims' );
164
+            }
165
+        }
166
+
167
+        /**
168
+         * Adds the Font Awesome JS.
169
+         */
170
+        public function enqueue_scripts() {
171
+            // build url
172
+            $url = $this->get_url();
173
+
174
+            $deregister_function = 'wp' . '_' . 'deregister' . '_' . 'script';
175
+            call_user_func( $deregister_function, 'font-awesome' ); // deregister in case its already there
176
+            wp_register_script( 'font-awesome', $url, array(), null );
177
+            wp_enqueue_script( 'font-awesome' );
178
+
179
+            if ( $this->settings['shims'] ) {
180
+                $url = $this->get_url( true );
181
+                call_user_func( $deregister_function, 'font-awesome-shims' ); // deregister in case its already there
182
+                wp_register_script( 'font-awesome-shims', $url, array(), null );
183
+                wp_enqueue_script( 'font-awesome-shims' );
184
+            }
185
+        }
186
+
187
+        /**
188
+         * Get the url of the Font Awesome files.
189
+         *
190
+         * @param bool $shims If this is a shim file or not.
191
+         *
192
+         * @return string The url to the file.
193
+         */
194
+        public function get_url( $shims = false ) {
195
+            $script  = $shims ? 'v4-shims' : 'all';
196
+            $sub     = $this->settings['pro'] ? 'pro' : 'use';
197
+            $type    = $this->settings['type'];
198
+            $version = $this->settings['version'];
199
+            $kit_url = $this->settings['kit-url'] ? esc_url( $this->settings['kit-url'] ) : '';
200
+            $url     = '';
201
+
202
+            if ( $type == 'KIT' && $kit_url ) {
203
+                if ( $shims ) {
204
+                    // if its a kit then we don't add shims here
205
+                    return '';
206
+                }
207
+                $url .= $kit_url; // CDN
208
+                $url .= "?wpfas=true"; // set our var so our version is not removed
209
+            } else {
210
+                $url .= "https://$sub.fontawesome.com/releases/"; // CDN
211
+                $url .= ! empty( $version ) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version
212
+                $url .= $type == 'CSS' ? 'css/' : 'js/'; // type
213
+                $url .= $type == 'CSS' ? $script . '.css' : $script . '.js'; // type
214
+                $url .= "?wpfas=true"; // set our var so our version is not removed
215
+            }
216
+
217
+            return $url;
218
+        }
219
+
220
+        /**
221
+         * Try and remove any other versions of Font Awesome added by other plugins/themes.
222
+         *
223
+         * Uses the clean_url filter to try and remove any other Font Awesome files added, it can also add pseudo-elements flag for the JS version.
224
+         *
225
+         * @param $url
226
+         * @param $original_url
227
+         * @param $_context
228
+         *
229
+         * @return string The filtered url.
230
+         */
231
+        public function remove_font_awesome( $url, $original_url, $_context ) {
232
+
233
+            if ( $_context == 'display'
234
+                 && ( strstr( $url, "fontawesome" ) !== false || strstr( $url, "font-awesome" ) !== false )
235
+                 && ( strstr( $url, ".js" ) !== false || strstr( $url, ".css" ) !== false )
236
+            ) {// it's a font-awesome-url (probably)
237
+
238
+                if ( strstr( $url, "wpfas=true" ) !== false ) {
239
+                    if ( $this->settings['type'] == 'JS' ) {
240
+                        if ( $this->settings['js-pseudo'] ) {
241
+                            $url .= "' data-search-pseudo-elements defer='defer";
242
+                        } else {
243
+                            $url .= "' defer='defer";
244
+                        }
245
+                    }
246
+                } else {
247
+                    $url = ''; // removing the url removes the file
248
+                }
249
+
250
+            }
251
+
252
+            return $url;
253
+        }
254
+
255
+        /**
256
+         * Register the database settings with WordPress.
257
+         */
258
+        public function register_settings() {
259
+            register_setting( 'wp-font-awesome-settings', 'wp-font-awesome-settings' );
260
+        }
261
+
262
+        /**
263
+         * Add the WordPress settings menu item.
264
+         * @since 1.0.10 Calling function name direct will fail theme check so we don't.
265
+         */
266
+        public function menu_item() {
267
+            $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
268
+            call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array(
269
+                $this,
270
+                'settings_page'
271
+            ) );
272
+        }
273
+
274
+        /**
275
+         * Get the current Font Awesome output settings.
276
+         *
277
+         * @return array The array of settings.
278
+         */
279
+        public function get_settings() {
280
+
281
+            $db_settings = get_option( 'wp-font-awesome-settings' );
282
+
283
+            $defaults = array(
284
+                'type'      => 'CSS', // type to use, CSS or JS or KIT
285
+                'version'   => '', // latest
286
+                'enqueue'   => '', // front and backend
287
+                'shims'     => '0', // default OFF now in 2020
288
+                'js-pseudo' => '0', // if the pseudo elements flag should be set (CPU intensive)
289
+                'dequeue'   => '0', // if we should try to remove other versions added by other plugins/themes
290
+                'pro'       => '0', // if pro CDN url should be used
291
+                'kit-url'   => '', // the kit url
292
+            );
293
+
294
+            $settings = wp_parse_args( $db_settings, $defaults );
295
+
296
+            /**
297
+             * Filter the Font Awesome settings.
298
+             *
299
+             * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
300
+             */
301
+            return $this->settings = apply_filters( 'wp-font-awesome-settings', $settings, $db_settings, $defaults );
302
+        }
303
+
304
+
305
+        /**
306
+         * The settings page html output.
307
+         */
308
+        public function settings_page() {
309
+            if ( ! current_user_can( 'manage_options' ) ) {
310
+                wp_die( __( 'You do not have sufficient permissions to access this page.', 'font-awesome-settings' ) );
311
+            }
312
+
313
+            // a hidden way to force the update of the version number via api instead of waiting the 48 hours
314
+            if ( isset( $_REQUEST['force-version-check'] ) ) {
315
+                $this->get_latest_version( $force_api = true );
316
+            }
317
+            ?>
318 318
 			<style>
319 319
 				.wpfas-kit-show {
320 320
 					display: none;
@@ -332,10 +332,10 @@  discard block
 block discarded – undo
332 332
 				<h1><?php echo $this->name; ?></h1>
333 333
 				<form method="post" action="options.php">
334 334
 					<?php
335
-					settings_fields( 'wp-font-awesome-settings' );
336
-					do_settings_sections( 'wp-font-awesome-settings' );
337
-					$kit_set = $this->settings['type'] == 'KIT' ? 'wpfas-kit-set' : '';
338
-					?>
335
+                    settings_fields( 'wp-font-awesome-settings' );
336
+                    do_settings_sections( 'wp-font-awesome-settings' );
337
+                    $kit_set = $this->settings['type'] == 'KIT' ? 'wpfas-kit-set' : '';
338
+                    ?>
339 339
 					<table class="form-table wpfas-table-settings <?php echo esc_attr( $kit_set ); ?>">
340 340
 						<tr valign="top">
341 341
 							<th scope="row"><label
@@ -361,12 +361,12 @@  discard block
 block discarded – undo
361 361
 								       value="<?php echo esc_attr( $this->settings['kit-url'] ); ?>"
362 362
 								       placeholder="<?php echo 'https://kit.font';echo 'awesome.com/123abc.js'; // this won't pass theme check :(?>"/>
363 363
 								<span><?php
364
-									echo sprintf(
365
-										__( 'Requires a free account with Font Awesome. %sGet kit url%s', 'font-awesome-settings' ),
366
-										'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/kits"><i class="fas fa-external-link-alt"></i>',
367
-										'</a>'
368
-									);
369
-									?></span>
364
+                                    echo sprintf(
365
+                                        __( 'Requires a free account with Font Awesome. %sGet kit url%s', 'font-awesome-settings' ),
366
+                                        '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/kits"><i class="fas fa-external-link-alt"></i>',
367
+                                        '</a>'
368
+                                    );
369
+                                    ?></span>
370 370
 							</td>
371 371
 						</tr>
372 372
 
@@ -426,14 +426,14 @@  discard block
 block discarded – undo
426 426
 								<input type="checkbox" name="wp-font-awesome-settings[pro]"
427 427
 								       value="1" <?php checked( $this->settings['pro'], '1' ); ?> id="wpfas-pro"/>
428 428
 								<span><?php
429
-									echo sprintf(
430
-										__( 'Requires a subscription. %sLearn more%s %sManage my allowed domains%s', 'font-awesome-settings' ),
431
-										'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/pro"><i class="fas fa-external-link-alt"></i>',
432
-										'</a>',
433
-										'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/account/cdn"><i class="fas fa-external-link-alt"></i>',
434
-										'</a>'
435
-									);
436
-									?></span>
429
+                                    echo sprintf(
430
+                                        __( 'Requires a subscription. %sLearn more%s %sManage my allowed domains%s', 'font-awesome-settings' ),
431
+                                        '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/pro"><i class="fas fa-external-link-alt"></i>',
432
+                                        '</a>',
433
+                                        '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/account/cdn"><i class="fas fa-external-link-alt"></i>',
434
+                                        '</a>'
435
+                                    );
436
+                                    ?></span>
437 437
 							</td>
438 438
 						</tr>
439 439
 
@@ -476,100 +476,100 @@  discard block
 block discarded – undo
476 476
 
477 477
 					</table>
478 478
 					<?php
479
-					submit_button();
480
-					?>
479
+                    submit_button();
480
+                    ?>
481 481
 				</form>
482 482
 
483 483
 				<div id="wpfas-version"><?php echo $this->version; ?></div>
484 484
 			</div>
485 485
 
486 486
 			<?php
487
-		}
488
-
489
-		/**
490
-		 * Check a version number is valid and if so return it or else return an empty string.
491
-		 *
492
-		 * @param $version string The version number to check.
493
-		 *
494
-		 * @since 1.0.6
495
-		 *
496
-		 * @return string Either a valid version number or an empty string.
497
-		 */
498
-		public function validate_version_number( $version ) {
499
-
500
-			if ( version_compare( $version, '0.0.1', '>=' ) >= 0 ) {
501
-				// valid
502
-			} else {
503
-				$version = '';// not validated
504
-			}
505
-
506
-			return $version;
507
-		}
508
-
509
-
510
-		/**
511
-		 * Get the latest version of Font Awesome.
512
-		 *
513
-		 * We check for a cached version and if none we will check for a live version via API and then cache it for 48 hours.
514
-		 *
515
-		 * @since 1.0.7
516
-		 * @return mixed|string The latest version number found.
517
-		 */
518
-		public function get_latest_version( $force_api = false ) {
519
-			$latest_version = $this->latest;
520
-
521
-			$cache = get_transient( 'wp-font-awesome-settings-version' );
522
-
523
-			if ( $cache === false || $force_api ) { // its not set
524
-				$api_ver = $this->get_latest_version_from_api();
525
-				if ( version_compare( $api_ver, $this->latest, '>=' ) >= 0 ) {
526
-					$latest_version = $api_ver;
527
-					set_transient( 'wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS );
528
-				}
529
-			} elseif ( $this->validate_version_number( $cache ) ) {
530
-				if ( version_compare( $cache, $this->latest, '>=' ) >= 0 ) {
531
-					$latest_version = $cache;
532
-				}
533
-			}
534
-
535
-			return $latest_version;
536
-		}
537
-
538
-		/**
539
-		 * Get the latest Font Awesome version from the github API.
540
-		 *
541
-		 * @since 1.0.7
542
-		 * @return string The latest version number or `0` on API fail.
543
-		 */
544
-		public function get_latest_version_from_api() {
545
-			$version  = "0";
546
-			$response = wp_remote_get( "https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest" );
547
-			if ( ! is_wp_error( $response ) && is_array( $response ) ) {
548
-				$api_response = json_decode( wp_remote_retrieve_body( $response ), true );
549
-				if ( isset( $api_response['tag_name'] ) && version_compare( $api_response['tag_name'], $this->latest, '>=' ) >= 0 && empty( $api_response['prerelease'] ) ) {
550
-					$version = $api_response['tag_name'];
551
-				}
552
-			}
553
-
554
-			return $version;
555
-		}
556
-
557
-		/**
558
-		 * Inline CSS for RTL language support.
559
-		 *
560
-		 * @since 1.0.13
561
-		 * @return string Inline CSS.
562
-		 */
563
-		public function rtl_inline_css() {
564
-			$inline_css = '[dir=rtl] .fa-address,[dir=rtl] .fa-address-card,[dir=rtl] .fa-adjust,[dir=rtl] .fa-alarm-clock,[dir=rtl] .fa-align-left,[dir=rtl] .fa-align-right,[dir=rtl] .fa-analytics,[dir=rtl] .fa-angle-double-left,[dir=rtl] .fa-angle-double-right,[dir=rtl] .fa-angle-left,[dir=rtl] .fa-angle-right,[dir=rtl] .fa-arrow-alt-circle-left,[dir=rtl] .fa-arrow-alt-circle-right,[dir=rtl] .fa-arrow-alt-from-left,[dir=rtl] .fa-arrow-alt-from-right,[dir=rtl] .fa-arrow-alt-left,[dir=rtl] .fa-arrow-alt-right,[dir=rtl] .fa-arrow-alt-square-left,[dir=rtl] .fa-arrow-alt-square-right,[dir=rtl] .fa-arrow-alt-to-left,[dir=rtl] .fa-arrow-alt-to-right,[dir=rtl] .fa-arrow-circle-left,[dir=rtl] .fa-arrow-circle-right,[dir=rtl] .fa-arrow-from-left,[dir=rtl] .fa-arrow-from-right,[dir=rtl] .fa-arrow-left,[dir=rtl] .fa-arrow-right,[dir=rtl] .fa-arrow-square-left,[dir=rtl] .fa-arrow-square-right,[dir=rtl] .fa-arrow-to-left,[dir=rtl] .fa-arrow-to-right,[dir=rtl] .fa-balance-scale-left,[dir=rtl] .fa-balance-scale-right,[dir=rtl] .fa-bed,[dir=rtl] .fa-bed-bunk,[dir=rtl] .fa-bed-empty,[dir=rtl] .fa-border-left,[dir=rtl] .fa-border-right,[dir=rtl] .fa-calendar-check,[dir=rtl] .fa-caret-circle-left,[dir=rtl] .fa-caret-circle-right,[dir=rtl] .fa-caret-left,[dir=rtl] .fa-caret-right,[dir=rtl] .fa-caret-square-left,[dir=rtl] .fa-caret-square-right,[dir=rtl] .fa-cart-arrow-down,[dir=rtl] .fa-cart-plus,[dir=rtl] .fa-chart-area,[dir=rtl] .fa-chart-bar,[dir=rtl] .fa-chart-line,[dir=rtl] .fa-chart-line-down,[dir=rtl] .fa-chart-network,[dir=rtl] .fa-chart-pie,[dir=rtl] .fa-chart-pie-alt,[dir=rtl] .fa-chart-scatter,[dir=rtl] .fa-check-circle,[dir=rtl] .fa-check-square,[dir=rtl] .fa-chevron-circle-left,[dir=rtl] .fa-chevron-circle-right,[dir=rtl] .fa-chevron-double-left,[dir=rtl] .fa-chevron-double-right,[dir=rtl] .fa-chevron-left,[dir=rtl] .fa-chevron-right,[dir=rtl] .fa-chevron-square-left,[dir=rtl] .fa-chevron-square-right,[dir=rtl] .fa-clock,[dir=rtl] .fa-file,[dir=rtl] .fa-file-alt,[dir=rtl] .fa-file-archive,[dir=rtl] .fa-file-audio,[dir=rtl] .fa-file-chart-line,[dir=rtl] .fa-file-chart-pie,[dir=rtl] .fa-file-code,[dir=rtl] .fa-file-excel,[dir=rtl] .fa-file-image,[dir=rtl] .fa-file-pdf,[dir=rtl] .fa-file-powerpoint,[dir=rtl] .fa-file-video,[dir=rtl] .fa-file-word,[dir=rtl] .fa-flag,[dir=rtl] .fa-folder,[dir=rtl] .fa-folder-open,[dir=rtl] .fa-hand-lizard,[dir=rtl] .fa-hand-point-down,[dir=rtl] .fa-hand-point-left,[dir=rtl] .fa-hand-point-right,[dir=rtl] .fa-hand-point-up,[dir=rtl] .fa-hand-scissors,[dir=rtl] .fa-image,[dir=rtl] .fa-long-arrow-alt-left,[dir=rtl] .fa-long-arrow-alt-right,[dir=rtl] .fa-long-arrow-left,[dir=rtl] .fa-long-arrow-right,[dir=rtl] .fa-luggage-cart,[dir=rtl] .fa-moon,[dir=rtl] .fa-pencil,[dir=rtl] .fa-pencil-alt,[dir=rtl] .fa-play-circle,[dir=rtl] .fa-project-diagram,[dir=rtl] .fa-quote-left,[dir=rtl] .fa-quote-right,[dir=rtl] .fa-shopping-cart,[dir=rtl] .fa-thumbs-down,[dir=rtl] .fa-thumbs-up,[dir=rtl] .fa-user-chart{filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);transform:scale(-1,1)}[dir=rtl] .fa-spin{animation-direction:reverse}';
565
-
566
-			return $inline_css;
567
-		}
568
-
569
-	}
570
-
571
-	/**
572
-	 * Run the class if found.
573
-	 */
574
-	WP_Font_Awesome_Settings::instance();
487
+        }
488
+
489
+        /**
490
+         * Check a version number is valid and if so return it or else return an empty string.
491
+         *
492
+         * @param $version string The version number to check.
493
+         *
494
+         * @since 1.0.6
495
+         *
496
+         * @return string Either a valid version number or an empty string.
497
+         */
498
+        public function validate_version_number( $version ) {
499
+
500
+            if ( version_compare( $version, '0.0.1', '>=' ) >= 0 ) {
501
+                // valid
502
+            } else {
503
+                $version = '';// not validated
504
+            }
505
+
506
+            return $version;
507
+        }
508
+
509
+
510
+        /**
511
+         * Get the latest version of Font Awesome.
512
+         *
513
+         * We check for a cached version and if none we will check for a live version via API and then cache it for 48 hours.
514
+         *
515
+         * @since 1.0.7
516
+         * @return mixed|string The latest version number found.
517
+         */
518
+        public function get_latest_version( $force_api = false ) {
519
+            $latest_version = $this->latest;
520
+
521
+            $cache = get_transient( 'wp-font-awesome-settings-version' );
522
+
523
+            if ( $cache === false || $force_api ) { // its not set
524
+                $api_ver = $this->get_latest_version_from_api();
525
+                if ( version_compare( $api_ver, $this->latest, '>=' ) >= 0 ) {
526
+                    $latest_version = $api_ver;
527
+                    set_transient( 'wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS );
528
+                }
529
+            } elseif ( $this->validate_version_number( $cache ) ) {
530
+                if ( version_compare( $cache, $this->latest, '>=' ) >= 0 ) {
531
+                    $latest_version = $cache;
532
+                }
533
+            }
534
+
535
+            return $latest_version;
536
+        }
537
+
538
+        /**
539
+         * Get the latest Font Awesome version from the github API.
540
+         *
541
+         * @since 1.0.7
542
+         * @return string The latest version number or `0` on API fail.
543
+         */
544
+        public function get_latest_version_from_api() {
545
+            $version  = "0";
546
+            $response = wp_remote_get( "https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest" );
547
+            if ( ! is_wp_error( $response ) && is_array( $response ) ) {
548
+                $api_response = json_decode( wp_remote_retrieve_body( $response ), true );
549
+                if ( isset( $api_response['tag_name'] ) && version_compare( $api_response['tag_name'], $this->latest, '>=' ) >= 0 && empty( $api_response['prerelease'] ) ) {
550
+                    $version = $api_response['tag_name'];
551
+                }
552
+            }
553
+
554
+            return $version;
555
+        }
556
+
557
+        /**
558
+         * Inline CSS for RTL language support.
559
+         *
560
+         * @since 1.0.13
561
+         * @return string Inline CSS.
562
+         */
563
+        public function rtl_inline_css() {
564
+            $inline_css = '[dir=rtl] .fa-address,[dir=rtl] .fa-address-card,[dir=rtl] .fa-adjust,[dir=rtl] .fa-alarm-clock,[dir=rtl] .fa-align-left,[dir=rtl] .fa-align-right,[dir=rtl] .fa-analytics,[dir=rtl] .fa-angle-double-left,[dir=rtl] .fa-angle-double-right,[dir=rtl] .fa-angle-left,[dir=rtl] .fa-angle-right,[dir=rtl] .fa-arrow-alt-circle-left,[dir=rtl] .fa-arrow-alt-circle-right,[dir=rtl] .fa-arrow-alt-from-left,[dir=rtl] .fa-arrow-alt-from-right,[dir=rtl] .fa-arrow-alt-left,[dir=rtl] .fa-arrow-alt-right,[dir=rtl] .fa-arrow-alt-square-left,[dir=rtl] .fa-arrow-alt-square-right,[dir=rtl] .fa-arrow-alt-to-left,[dir=rtl] .fa-arrow-alt-to-right,[dir=rtl] .fa-arrow-circle-left,[dir=rtl] .fa-arrow-circle-right,[dir=rtl] .fa-arrow-from-left,[dir=rtl] .fa-arrow-from-right,[dir=rtl] .fa-arrow-left,[dir=rtl] .fa-arrow-right,[dir=rtl] .fa-arrow-square-left,[dir=rtl] .fa-arrow-square-right,[dir=rtl] .fa-arrow-to-left,[dir=rtl] .fa-arrow-to-right,[dir=rtl] .fa-balance-scale-left,[dir=rtl] .fa-balance-scale-right,[dir=rtl] .fa-bed,[dir=rtl] .fa-bed-bunk,[dir=rtl] .fa-bed-empty,[dir=rtl] .fa-border-left,[dir=rtl] .fa-border-right,[dir=rtl] .fa-calendar-check,[dir=rtl] .fa-caret-circle-left,[dir=rtl] .fa-caret-circle-right,[dir=rtl] .fa-caret-left,[dir=rtl] .fa-caret-right,[dir=rtl] .fa-caret-square-left,[dir=rtl] .fa-caret-square-right,[dir=rtl] .fa-cart-arrow-down,[dir=rtl] .fa-cart-plus,[dir=rtl] .fa-chart-area,[dir=rtl] .fa-chart-bar,[dir=rtl] .fa-chart-line,[dir=rtl] .fa-chart-line-down,[dir=rtl] .fa-chart-network,[dir=rtl] .fa-chart-pie,[dir=rtl] .fa-chart-pie-alt,[dir=rtl] .fa-chart-scatter,[dir=rtl] .fa-check-circle,[dir=rtl] .fa-check-square,[dir=rtl] .fa-chevron-circle-left,[dir=rtl] .fa-chevron-circle-right,[dir=rtl] .fa-chevron-double-left,[dir=rtl] .fa-chevron-double-right,[dir=rtl] .fa-chevron-left,[dir=rtl] .fa-chevron-right,[dir=rtl] .fa-chevron-square-left,[dir=rtl] .fa-chevron-square-right,[dir=rtl] .fa-clock,[dir=rtl] .fa-file,[dir=rtl] .fa-file-alt,[dir=rtl] .fa-file-archive,[dir=rtl] .fa-file-audio,[dir=rtl] .fa-file-chart-line,[dir=rtl] .fa-file-chart-pie,[dir=rtl] .fa-file-code,[dir=rtl] .fa-file-excel,[dir=rtl] .fa-file-image,[dir=rtl] .fa-file-pdf,[dir=rtl] .fa-file-powerpoint,[dir=rtl] .fa-file-video,[dir=rtl] .fa-file-word,[dir=rtl] .fa-flag,[dir=rtl] .fa-folder,[dir=rtl] .fa-folder-open,[dir=rtl] .fa-hand-lizard,[dir=rtl] .fa-hand-point-down,[dir=rtl] .fa-hand-point-left,[dir=rtl] .fa-hand-point-right,[dir=rtl] .fa-hand-point-up,[dir=rtl] .fa-hand-scissors,[dir=rtl] .fa-image,[dir=rtl] .fa-long-arrow-alt-left,[dir=rtl] .fa-long-arrow-alt-right,[dir=rtl] .fa-long-arrow-left,[dir=rtl] .fa-long-arrow-right,[dir=rtl] .fa-luggage-cart,[dir=rtl] .fa-moon,[dir=rtl] .fa-pencil,[dir=rtl] .fa-pencil-alt,[dir=rtl] .fa-play-circle,[dir=rtl] .fa-project-diagram,[dir=rtl] .fa-quote-left,[dir=rtl] .fa-quote-right,[dir=rtl] .fa-shopping-cart,[dir=rtl] .fa-thumbs-down,[dir=rtl] .fa-thumbs-up,[dir=rtl] .fa-user-chart{filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);transform:scale(-1,1)}[dir=rtl] .fa-spin{animation-direction:reverse}';
565
+
566
+            return $inline_css;
567
+        }
568
+
569
+    }
570
+
571
+    /**
572
+     * Run the class if found.
573
+     */
574
+    WP_Font_Awesome_Settings::instance();
575 575
 }
576 576
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +110 added lines, -110 removed lines patch added patch discarded remove patch
@@ -12,14 +12,14 @@  discard block
 block discarded – undo
12 12
 /**
13 13
  * Bail if we are not in WP.
14 14
  */
15
-if ( ! defined( 'ABSPATH' ) ) {
15
+if (!defined('ABSPATH')) {
16 16
 	exit;
17 17
 }
18 18
 
19 19
 /**
20 20
  * Only add if the class does not already exist.
21 21
  */
22
-if ( ! class_exists( 'WP_Font_Awesome_Settings' ) ) {
22
+if (!class_exists('WP_Font_Awesome_Settings')) {
23 23
 
24 24
 	/**
25 25
 	 * A Class to be able to change settings for Font Awesome.
@@ -88,17 +88,17 @@  discard block
 block discarded – undo
88 88
 		 * @return WP_Font_Awesome_Settings - Main instance.
89 89
 		 */
90 90
 		public static function instance() {
91
-			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WP_Font_Awesome_Settings ) ) {
91
+			if (!isset(self::$instance) && !(self::$instance instanceof WP_Font_Awesome_Settings)) {
92 92
 				self::$instance = new WP_Font_Awesome_Settings;
93 93
 
94
-				add_action( 'init', array( self::$instance, 'init' ) ); // set settings
94
+				add_action('init', array(self::$instance, 'init')); // set settings
95 95
 
96
-				if ( is_admin() ) {
97
-					add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
98
-					add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
96
+				if (is_admin()) {
97
+					add_action('admin_menu', array(self::$instance, 'menu_item'));
98
+					add_action('admin_init', array(self::$instance, 'register_settings'));
99 99
 				}
100 100
 
101
-				do_action( 'wp_font_awesome_settings_loaded' );
101
+				do_action('wp_font_awesome_settings_loaded');
102 102
 			}
103 103
 
104 104
 			return self::$instance;
@@ -112,30 +112,30 @@  discard block
 block discarded – undo
112 112
 		public function init() {
113 113
 			$this->settings = $this->get_settings();
114 114
 
115
-			if ( $this->settings['type'] == 'CSS' ) {
115
+			if ($this->settings['type'] == 'CSS') {
116 116
 
117
-				if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
118
-					add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
117
+				if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend') {
118
+					add_action('wp_enqueue_scripts', array($this, 'enqueue_style'), 5000);
119 119
 				}
120 120
 
121
-				if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
122
-					add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
121
+				if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend') {
122
+					add_action('admin_enqueue_scripts', array($this, 'enqueue_style'), 5000);
123 123
 				}
124 124
 
125 125
 			} else {
126 126
 
127
-				if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
128
-					add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
127
+				if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend') {
128
+					add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 5000);
129 129
 				}
130 130
 
131
-				if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
132
-					add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
131
+				if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend') {
132
+					add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'), 5000);
133 133
 				}
134 134
 			}
135 135
 
136 136
 			// remove font awesome if set to do so
137
-			if ( $this->settings['dequeue'] == '1' ) {
138
-				add_action( 'clean_url', array( $this, 'remove_font_awesome' ), 5000, 3 );
137
+			if ($this->settings['dequeue'] == '1') {
138
+				add_action('clean_url', array($this, 'remove_font_awesome'), 5000, 3);
139 139
 			}
140 140
 
141 141
 		}
@@ -147,20 +147,20 @@  discard block
 block discarded – undo
147 147
 			// build url
148 148
 			$url = $this->get_url();
149 149
 
150
-			wp_deregister_style( 'font-awesome' ); // deregister in case its already there
151
-			wp_register_style( 'font-awesome', $url, array(), null );
152
-			wp_enqueue_style( 'font-awesome' );
150
+			wp_deregister_style('font-awesome'); // deregister in case its already there
151
+			wp_register_style('font-awesome', $url, array(), null);
152
+			wp_enqueue_style('font-awesome');
153 153
 
154 154
 			// RTL language support CSS.
155
-			if ( is_rtl() ) {
156
-				wp_add_inline_style( 'font-awesome', $this->rtl_inline_css() );
155
+			if (is_rtl()) {
156
+				wp_add_inline_style('font-awesome', $this->rtl_inline_css());
157 157
 			}
158 158
 
159
-			if ( $this->settings['shims'] ) {
160
-				$url = $this->get_url( true );
161
-				wp_deregister_style( 'font-awesome-shims' ); // deregister in case its already there
162
-				wp_register_style( 'font-awesome-shims', $url, array(), null );
163
-				wp_enqueue_style( 'font-awesome-shims' );
159
+			if ($this->settings['shims']) {
160
+				$url = $this->get_url(true);
161
+				wp_deregister_style('font-awesome-shims'); // deregister in case its already there
162
+				wp_register_style('font-awesome-shims', $url, array(), null);
163
+				wp_enqueue_style('font-awesome-shims');
164 164
 			}
165 165
 		}
166 166
 
@@ -172,15 +172,15 @@  discard block
 block discarded – undo
172 172
 			$url = $this->get_url();
173 173
 
174 174
 			$deregister_function = 'wp' . '_' . 'deregister' . '_' . 'script';
175
-			call_user_func( $deregister_function, 'font-awesome' ); // deregister in case its already there
176
-			wp_register_script( 'font-awesome', $url, array(), null );
177
-			wp_enqueue_script( 'font-awesome' );
178
-
179
-			if ( $this->settings['shims'] ) {
180
-				$url = $this->get_url( true );
181
-				call_user_func( $deregister_function, 'font-awesome-shims' ); // deregister in case its already there
182
-				wp_register_script( 'font-awesome-shims', $url, array(), null );
183
-				wp_enqueue_script( 'font-awesome-shims' );
175
+			call_user_func($deregister_function, 'font-awesome'); // deregister in case its already there
176
+			wp_register_script('font-awesome', $url, array(), null);
177
+			wp_enqueue_script('font-awesome');
178
+
179
+			if ($this->settings['shims']) {
180
+				$url = $this->get_url(true);
181
+				call_user_func($deregister_function, 'font-awesome-shims'); // deregister in case its already there
182
+				wp_register_script('font-awesome-shims', $url, array(), null);
183
+				wp_enqueue_script('font-awesome-shims');
184 184
 			}
185 185
 		}
186 186
 
@@ -191,16 +191,16 @@  discard block
 block discarded – undo
191 191
 		 *
192 192
 		 * @return string The url to the file.
193 193
 		 */
194
-		public function get_url( $shims = false ) {
194
+		public function get_url($shims = false) {
195 195
 			$script  = $shims ? 'v4-shims' : 'all';
196 196
 			$sub     = $this->settings['pro'] ? 'pro' : 'use';
197 197
 			$type    = $this->settings['type'];
198 198
 			$version = $this->settings['version'];
199
-			$kit_url = $this->settings['kit-url'] ? esc_url( $this->settings['kit-url'] ) : '';
199
+			$kit_url = $this->settings['kit-url'] ? esc_url($this->settings['kit-url']) : '';
200 200
 			$url     = '';
201 201
 
202
-			if ( $type == 'KIT' && $kit_url ) {
203
-				if ( $shims ) {
202
+			if ($type == 'KIT' && $kit_url) {
203
+				if ($shims) {
204 204
 					// if its a kit then we don't add shims here
205 205
 					return '';
206 206
 				}
@@ -208,7 +208,7 @@  discard block
 block discarded – undo
208 208
 				$url .= "?wpfas=true"; // set our var so our version is not removed
209 209
 			} else {
210 210
 				$url .= "https://$sub.fontawesome.com/releases/"; // CDN
211
-				$url .= ! empty( $version ) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version
211
+				$url .= !empty($version) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version
212 212
 				$url .= $type == 'CSS' ? 'css/' : 'js/'; // type
213 213
 				$url .= $type == 'CSS' ? $script . '.css' : $script . '.js'; // type
214 214
 				$url .= "?wpfas=true"; // set our var so our version is not removed
@@ -228,16 +228,16 @@  discard block
 block discarded – undo
228 228
 		 *
229 229
 		 * @return string The filtered url.
230 230
 		 */
231
-		public function remove_font_awesome( $url, $original_url, $_context ) {
231
+		public function remove_font_awesome($url, $original_url, $_context) {
232 232
 
233
-			if ( $_context == 'display'
234
-			     && ( strstr( $url, "fontawesome" ) !== false || strstr( $url, "font-awesome" ) !== false )
235
-			     && ( strstr( $url, ".js" ) !== false || strstr( $url, ".css" ) !== false )
233
+			if ($_context == 'display'
234
+			     && (strstr($url, "fontawesome") !== false || strstr($url, "font-awesome") !== false)
235
+			     && (strstr($url, ".js") !== false || strstr($url, ".css") !== false)
236 236
 			) {// it's a font-awesome-url (probably)
237 237
 
238
-				if ( strstr( $url, "wpfas=true" ) !== false ) {
239
-					if ( $this->settings['type'] == 'JS' ) {
240
-						if ( $this->settings['js-pseudo'] ) {
238
+				if (strstr($url, "wpfas=true") !== false) {
239
+					if ($this->settings['type'] == 'JS') {
240
+						if ($this->settings['js-pseudo']) {
241 241
 							$url .= "' data-search-pseudo-elements defer='defer";
242 242
 						} else {
243 243
 							$url .= "' defer='defer";
@@ -256,7 +256,7 @@  discard block
 block discarded – undo
256 256
 		 * Register the database settings with WordPress.
257 257
 		 */
258 258
 		public function register_settings() {
259
-			register_setting( 'wp-font-awesome-settings', 'wp-font-awesome-settings' );
259
+			register_setting('wp-font-awesome-settings', 'wp-font-awesome-settings');
260 260
 		}
261 261
 
262 262
 		/**
@@ -265,10 +265,10 @@  discard block
 block discarded – undo
265 265
 		 */
266 266
 		public function menu_item() {
267 267
 			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
268
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array(
268
+			call_user_func($menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array(
269 269
 				$this,
270 270
 				'settings_page'
271
-			) );
271
+			));
272 272
 		}
273 273
 
274 274
 		/**
@@ -278,7 +278,7 @@  discard block
 block discarded – undo
278 278
 		 */
279 279
 		public function get_settings() {
280 280
 
281
-			$db_settings = get_option( 'wp-font-awesome-settings' );
281
+			$db_settings = get_option('wp-font-awesome-settings');
282 282
 
283 283
 			$defaults = array(
284 284
 				'type'      => 'CSS', // type to use, CSS or JS or KIT
@@ -291,14 +291,14 @@  discard block
 block discarded – undo
291 291
 				'kit-url'   => '', // the kit url
292 292
 			);
293 293
 
294
-			$settings = wp_parse_args( $db_settings, $defaults );
294
+			$settings = wp_parse_args($db_settings, $defaults);
295 295
 
296 296
 			/**
297 297
 			 * Filter the Font Awesome settings.
298 298
 			 *
299 299
 			 * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
300 300
 			 */
301
-			return $this->settings = apply_filters( 'wp-font-awesome-settings', $settings, $db_settings, $defaults );
301
+			return $this->settings = apply_filters('wp-font-awesome-settings', $settings, $db_settings, $defaults);
302 302
 		}
303 303
 
304 304
 
@@ -306,13 +306,13 @@  discard block
 block discarded – undo
306 306
 		 * The settings page html output.
307 307
 		 */
308 308
 		public function settings_page() {
309
-			if ( ! current_user_can( 'manage_options' ) ) {
310
-				wp_die( __( 'You do not have sufficient permissions to access this page.', 'font-awesome-settings' ) );
309
+			if (!current_user_can('manage_options')) {
310
+				wp_die(__('You do not have sufficient permissions to access this page.', 'font-awesome-settings'));
311 311
 			}
312 312
 
313 313
 			// a hidden way to force the update of the version number via api instead of waiting the 48 hours
314
-			if ( isset( $_REQUEST['force-version-check'] ) ) {
315
-				$this->get_latest_version( $force_api = true );
314
+			if (isset($_REQUEST['force-version-check'])) {
315
+				$this->get_latest_version($force_api = true);
316 316
 			}
317 317
 			?>
318 318
 			<style>
@@ -332,37 +332,37 @@  discard block
 block discarded – undo
332 332
 				<h1><?php echo $this->name; ?></h1>
333 333
 				<form method="post" action="options.php">
334 334
 					<?php
335
-					settings_fields( 'wp-font-awesome-settings' );
336
-					do_settings_sections( 'wp-font-awesome-settings' );
335
+					settings_fields('wp-font-awesome-settings');
336
+					do_settings_sections('wp-font-awesome-settings');
337 337
 					$kit_set = $this->settings['type'] == 'KIT' ? 'wpfas-kit-set' : '';
338 338
 					?>
339
-					<table class="form-table wpfas-table-settings <?php echo esc_attr( $kit_set ); ?>">
339
+					<table class="form-table wpfas-table-settings <?php echo esc_attr($kit_set); ?>">
340 340
 						<tr valign="top">
341 341
 							<th scope="row"><label
342
-									for="wpfas-type"><?php _e( 'Type', 'font-awesome-settings' ); ?></label></th>
342
+									for="wpfas-type"><?php _e('Type', 'font-awesome-settings'); ?></label></th>
343 343
 							<td>
344 344
 								<select name="wp-font-awesome-settings[type]" id="wpfas-type"
345 345
 								        onchange="if(this.value=='KIT'){jQuery('.wpfas-table-settings').addClass('wpfas-kit-set');}else{jQuery('.wpfas-table-settings').removeClass('wpfas-kit-set');}">
346 346
 									<option
347
-										value="CSS" <?php selected( $this->settings['type'], 'CSS' ); ?>><?php _e( 'CSS (default)', 'font-awesome-settings' ); ?></option>
348
-									<option value="JS" <?php selected( $this->settings['type'], 'JS' ); ?>>JS</option>
347
+										value="CSS" <?php selected($this->settings['type'], 'CSS'); ?>><?php _e('CSS (default)', 'font-awesome-settings'); ?></option>
348
+									<option value="JS" <?php selected($this->settings['type'], 'JS'); ?>>JS</option>
349 349
 									<option
350
-										value="KIT" <?php selected( $this->settings['type'], 'KIT' ); ?>><?php _e( 'Kits (settings managed on fontawesome.com)', 'font-awesome-settings' ); ?></option>
350
+										value="KIT" <?php selected($this->settings['type'], 'KIT'); ?>><?php _e('Kits (settings managed on fontawesome.com)', 'font-awesome-settings'); ?></option>
351 351
 								</select>
352 352
 							</td>
353 353
 						</tr>
354 354
 
355 355
 						<tr valign="top" class="wpfas-kit-show">
356 356
 							<th scope="row"><label
357
-									for="wpfas-kit-url"><?php _e( 'Kit URL', 'font-awesome-settings' ); ?></label></th>
357
+									for="wpfas-kit-url"><?php _e('Kit URL', 'font-awesome-settings'); ?></label></th>
358 358
 							<td>
359 359
 								<input class="regular-text" id="wpfas-kit-url" type="url"
360 360
 								       name="wp-font-awesome-settings[kit-url]"
361
-								       value="<?php echo esc_attr( $this->settings['kit-url'] ); ?>"
362
-								       placeholder="<?php echo 'https://kit.font';echo 'awesome.com/123abc.js'; // this won't pass theme check :(?>"/>
361
+								       value="<?php echo esc_attr($this->settings['kit-url']); ?>"
362
+								       placeholder="<?php echo 'https://kit.font'; echo 'awesome.com/123abc.js'; // this won't pass theme check :(?>"/>
363 363
 								<span><?php
364 364
 									echo sprintf(
365
-										__( 'Requires a free account with Font Awesome. %sGet kit url%s', 'font-awesome-settings' ),
365
+										__('Requires a free account with Font Awesome. %sGet kit url%s', 'font-awesome-settings'),
366 366
 										'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/kits"><i class="fas fa-external-link-alt"></i>',
367 367
 										'</a>'
368 368
 									);
@@ -372,31 +372,31 @@  discard block
 block discarded – undo
372 372
 
373 373
 						<tr valign="top" class="wpfas-kit-hide">
374 374
 							<th scope="row"><label
375
-									for="wpfas-version"><?php _e( 'Version', 'font-awesome-settings' ); ?></label></th>
375
+									for="wpfas-version"><?php _e('Version', 'font-awesome-settings'); ?></label></th>
376 376
 							<td>
377 377
 								<select name="wp-font-awesome-settings[version]" id="wpfas-version">
378 378
 									<option
379
-										value="" <?php selected( $this->settings['version'], '' ); ?>><?php echo sprintf( __( 'Latest - %s (default)', 'font-awesome-settings' ), $this->get_latest_version() ); ?>
379
+										value="" <?php selected($this->settings['version'], ''); ?>><?php echo sprintf(__('Latest - %s (default)', 'font-awesome-settings'), $this->get_latest_version()); ?>
380 380
 									</option>
381
-									<option value="5.6.0" <?php selected( $this->settings['version'], '5.6.0' ); ?>>
381
+									<option value="5.6.0" <?php selected($this->settings['version'], '5.6.0'); ?>>
382 382
 										5.6.0
383 383
 									</option>
384
-									<option value="5.5.0" <?php selected( $this->settings['version'], '5.5.0' ); ?>>
384
+									<option value="5.5.0" <?php selected($this->settings['version'], '5.5.0'); ?>>
385 385
 										5.5.0
386 386
 									</option>
387
-									<option value="5.4.0" <?php selected( $this->settings['version'], '5.4.0' ); ?>>
387
+									<option value="5.4.0" <?php selected($this->settings['version'], '5.4.0'); ?>>
388 388
 										5.4.0
389 389
 									</option>
390
-									<option value="5.3.0" <?php selected( $this->settings['version'], '5.3.0' ); ?>>
390
+									<option value="5.3.0" <?php selected($this->settings['version'], '5.3.0'); ?>>
391 391
 										5.3.0
392 392
 									</option>
393
-									<option value="5.2.0" <?php selected( $this->settings['version'], '5.2.0' ); ?>>
393
+									<option value="5.2.0" <?php selected($this->settings['version'], '5.2.0'); ?>>
394 394
 										5.2.0
395 395
 									</option>
396
-									<option value="5.1.0" <?php selected( $this->settings['version'], '5.1.0' ); ?>>
396
+									<option value="5.1.0" <?php selected($this->settings['version'], '5.1.0'); ?>>
397 397
 										5.1.0
398 398
 									</option>
399
-									<option value="4.7.0" <?php selected( $this->settings['version'], '4.7.0' ); ?>>
399
+									<option value="4.7.0" <?php selected($this->settings['version'], '4.7.0'); ?>>
400 400
 										4.7.1 (CSS only)
401 401
 									</option>
402 402
 								</select>
@@ -405,29 +405,29 @@  discard block
 block discarded – undo
405 405
 
406 406
 						<tr valign="top">
407 407
 							<th scope="row"><label
408
-									for="wpfas-enqueue"><?php _e( 'Enqueue', 'font-awesome-settings' ); ?></label></th>
408
+									for="wpfas-enqueue"><?php _e('Enqueue', 'font-awesome-settings'); ?></label></th>
409 409
 							<td>
410 410
 								<select name="wp-font-awesome-settings[enqueue]" id="wpfas-enqueue">
411 411
 									<option
412
-										value="" <?php selected( $this->settings['enqueue'], '' ); ?>><?php _e( 'Frontend + Backend (default)', 'font-awesome-settings' ); ?></option>
412
+										value="" <?php selected($this->settings['enqueue'], ''); ?>><?php _e('Frontend + Backend (default)', 'font-awesome-settings'); ?></option>
413 413
 									<option
414
-										value="frontend" <?php selected( $this->settings['enqueue'], 'frontend' ); ?>><?php _e( 'Frontend', 'font-awesome-settings' ); ?></option>
414
+										value="frontend" <?php selected($this->settings['enqueue'], 'frontend'); ?>><?php _e('Frontend', 'font-awesome-settings'); ?></option>
415 415
 									<option
416
-										value="backend" <?php selected( $this->settings['enqueue'], 'backend' ); ?>><?php _e( 'Backend', 'font-awesome-settings' ); ?></option>
416
+										value="backend" <?php selected($this->settings['enqueue'], 'backend'); ?>><?php _e('Backend', 'font-awesome-settings'); ?></option>
417 417
 								</select>
418 418
 							</td>
419 419
 						</tr>
420 420
 
421 421
 						<tr valign="top" class="wpfas-kit-hide">
422 422
 							<th scope="row"><label
423
-									for="wpfas-pro"><?php _e( 'Enable pro', 'font-awesome-settings' ); ?></label></th>
423
+									for="wpfas-pro"><?php _e('Enable pro', 'font-awesome-settings'); ?></label></th>
424 424
 							<td>
425 425
 								<input type="hidden" name="wp-font-awesome-settings[pro]" value="0"/>
426 426
 								<input type="checkbox" name="wp-font-awesome-settings[pro]"
427
-								       value="1" <?php checked( $this->settings['pro'], '1' ); ?> id="wpfas-pro"/>
427
+								       value="1" <?php checked($this->settings['pro'], '1'); ?> id="wpfas-pro"/>
428 428
 								<span><?php
429 429
 									echo sprintf(
430
-										__( 'Requires a subscription. %sLearn more%s %sManage my allowed domains%s', 'font-awesome-settings' ),
430
+										__('Requires a subscription. %sLearn more%s %sManage my allowed domains%s', 'font-awesome-settings'),
431 431
 										'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/pro"><i class="fas fa-external-link-alt"></i>',
432 432
 										'</a>',
433 433
 										'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/account/cdn"><i class="fas fa-external-link-alt"></i>',
@@ -439,38 +439,38 @@  discard block
 block discarded – undo
439 439
 
440 440
 						<tr valign="top" class="wpfas-kit-hide">
441 441
 							<th scope="row"><label
442
-									for="wpfas-shims"><?php _e( 'Enable v4 shims compatibility', 'font-awesome-settings' ); ?></label>
442
+									for="wpfas-shims"><?php _e('Enable v4 shims compatibility', 'font-awesome-settings'); ?></label>
443 443
 							</th>
444 444
 							<td>
445 445
 								<input type="hidden" name="wp-font-awesome-settings[shims]" value="0"/>
446 446
 								<input type="checkbox" name="wp-font-awesome-settings[shims]"
447
-								       value="1" <?php checked( $this->settings['shims'], '1' ); ?> id="wpfas-shims"/>
448
-								<span><?php _e( 'This enables v4 classes to work with v5, sort of like a band-aid until everyone has updated everything to v5.', 'font-awesome-settings' ); ?></span>
447
+								       value="1" <?php checked($this->settings['shims'], '1'); ?> id="wpfas-shims"/>
448
+								<span><?php _e('This enables v4 classes to work with v5, sort of like a band-aid until everyone has updated everything to v5.', 'font-awesome-settings'); ?></span>
449 449
 							</td>
450 450
 						</tr>
451 451
 
452 452
 						<tr valign="top" class="wpfas-kit-hide">
453 453
 							<th scope="row"><label
454
-									for="wpfas-js-pseudo"><?php _e( 'Enable JS pseudo elements (not recommended)', 'font-awesome-settings' ); ?></label>
454
+									for="wpfas-js-pseudo"><?php _e('Enable JS pseudo elements (not recommended)', 'font-awesome-settings'); ?></label>
455 455
 							</th>
456 456
 							<td>
457 457
 								<input type="hidden" name="wp-font-awesome-settings[js-pseudo]" value="0"/>
458 458
 								<input type="checkbox" name="wp-font-awesome-settings[js-pseudo]"
459
-								       value="1" <?php checked( $this->settings['js-pseudo'], '1' ); ?>
459
+								       value="1" <?php checked($this->settings['js-pseudo'], '1'); ?>
460 460
 								       id="wpfas-js-pseudo"/>
461
-								<span><?php _e( 'Used only with the JS version, this will make pseudo-elements work but can be CPU intensive on some sites.', 'font-awesome-settings' ); ?></span>
461
+								<span><?php _e('Used only with the JS version, this will make pseudo-elements work but can be CPU intensive on some sites.', 'font-awesome-settings'); ?></span>
462 462
 							</td>
463 463
 						</tr>
464 464
 
465 465
 						<tr valign="top">
466 466
 							<th scope="row"><label
467
-									for="wpfas-dequeue"><?php _e( 'Dequeue', 'font-awesome-settings' ); ?></label></th>
467
+									for="wpfas-dequeue"><?php _e('Dequeue', 'font-awesome-settings'); ?></label></th>
468 468
 							<td>
469 469
 								<input type="hidden" name="wp-font-awesome-settings[dequeue]" value="0"/>
470 470
 								<input type="checkbox" name="wp-font-awesome-settings[dequeue]"
471
-								       value="1" <?php checked( $this->settings['dequeue'], '1' ); ?>
471
+								       value="1" <?php checked($this->settings['dequeue'], '1'); ?>
472 472
 								       id="wpfas-dequeue"/>
473
-								<span><?php _e( 'This will try to dequeue any other Font Awesome versions loaded by other sources if they are added with `font-awesome` or `fontawesome` in the name.', 'font-awesome-settings' ); ?></span>
473
+								<span><?php _e('This will try to dequeue any other Font Awesome versions loaded by other sources if they are added with `font-awesome` or `fontawesome` in the name.', 'font-awesome-settings'); ?></span>
474 474
 							</td>
475 475
 						</tr>
476 476
 
@@ -495,12 +495,12 @@  discard block
 block discarded – undo
495 495
 		 *
496 496
 		 * @return string Either a valid version number or an empty string.
497 497
 		 */
498
-		public function validate_version_number( $version ) {
498
+		public function validate_version_number($version) {
499 499
 
500
-			if ( version_compare( $version, '0.0.1', '>=' ) >= 0 ) {
500
+			if (version_compare($version, '0.0.1', '>=') >= 0) {
501 501
 				// valid
502 502
 			} else {
503
-				$version = '';// not validated
503
+				$version = ''; // not validated
504 504
 			}
505 505
 
506 506
 			return $version;
@@ -515,19 +515,19 @@  discard block
 block discarded – undo
515 515
 		 * @since 1.0.7
516 516
 		 * @return mixed|string The latest version number found.
517 517
 		 */
518
-		public function get_latest_version( $force_api = false ) {
518
+		public function get_latest_version($force_api = false) {
519 519
 			$latest_version = $this->latest;
520 520
 
521
-			$cache = get_transient( 'wp-font-awesome-settings-version' );
521
+			$cache = get_transient('wp-font-awesome-settings-version');
522 522
 
523
-			if ( $cache === false || $force_api ) { // its not set
523
+			if ($cache === false || $force_api) { // its not set
524 524
 				$api_ver = $this->get_latest_version_from_api();
525
-				if ( version_compare( $api_ver, $this->latest, '>=' ) >= 0 ) {
525
+				if (version_compare($api_ver, $this->latest, '>=') >= 0) {
526 526
 					$latest_version = $api_ver;
527
-					set_transient( 'wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS );
527
+					set_transient('wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS);
528 528
 				}
529
-			} elseif ( $this->validate_version_number( $cache ) ) {
530
-				if ( version_compare( $cache, $this->latest, '>=' ) >= 0 ) {
529
+			} elseif ($this->validate_version_number($cache)) {
530
+				if (version_compare($cache, $this->latest, '>=') >= 0) {
531 531
 					$latest_version = $cache;
532 532
 				}
533 533
 			}
@@ -543,10 +543,10 @@  discard block
 block discarded – undo
543 543
 		 */
544 544
 		public function get_latest_version_from_api() {
545 545
 			$version  = "0";
546
-			$response = wp_remote_get( "https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest" );
547
-			if ( ! is_wp_error( $response ) && is_array( $response ) ) {
548
-				$api_response = json_decode( wp_remote_retrieve_body( $response ), true );
549
-				if ( isset( $api_response['tag_name'] ) && version_compare( $api_response['tag_name'], $this->latest, '>=' ) >= 0 && empty( $api_response['prerelease'] ) ) {
546
+			$response = wp_remote_get("https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest");
547
+			if (!is_wp_error($response) && is_array($response)) {
548
+				$api_response = json_decode(wp_remote_retrieve_body($response), true);
549
+				if (isset($api_response['tag_name']) && version_compare($api_response['tag_name'], $this->latest, '>=') >= 0 && empty($api_response['prerelease'])) {
550 550
 					$version = $api_response['tag_name'];
551 551
 				}
552 552
 			}
Please login to merge, or discard this patch.
vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php 2 patches
Indentation   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -7,40 +7,40 @@
 block discarded – undo
7 7
  * Bail if we are not in WP.
8 8
  */
9 9
 if ( ! defined( 'ABSPATH' ) ) {
10
-	exit;
10
+    exit;
11 11
 }
12 12
 
13 13
 /**
14 14
  * Set the version only if its the current newest while loading.
15 15
  */
16 16
 add_action('after_setup_theme', function () {
17
-	global $ayecode_ui_version,$ayecode_ui_file_key;
18
-	$this_version = "0.1.55";
19
-	if(version_compare($this_version , $ayecode_ui_version, '>')){
20
-		$ayecode_ui_version = $this_version ;
21
-		$ayecode_ui_file_key = wp_hash( __FILE__ );
22
-	}
17
+    global $ayecode_ui_version,$ayecode_ui_file_key;
18
+    $this_version = "0.1.55";
19
+    if(version_compare($this_version , $ayecode_ui_version, '>')){
20
+        $ayecode_ui_version = $this_version ;
21
+        $ayecode_ui_file_key = wp_hash( __FILE__ );
22
+    }
23 23
 },0);
24 24
 
25 25
 /**
26 26
  * Load this version of WP Bootstrap Settings only if the file hash is the current one.
27 27
  */
28 28
 add_action('after_setup_theme', function () {
29
-	global $ayecode_ui_file_key;
30
-	if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){
31
-		include_once( dirname( __FILE__ ) . '/includes/class-aui.php' );
32
-		include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' );
33
-	}
29
+    global $ayecode_ui_file_key;
30
+    if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){
31
+        include_once( dirname( __FILE__ ) . '/includes/class-aui.php' );
32
+        include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' );
33
+    }
34 34
 },1);
35 35
 
36 36
 /**
37 37
  * Add the function that calls the class.
38 38
  */
39 39
 if(!function_exists('aui')){
40
-	function aui(){
41
-		if(!class_exists("AUI",false)){
42
-			return false;
43
-		}
44
-		return AUI::instance();
45
-	}
40
+    function aui(){
41
+        if(!class_exists("AUI",false)){
42
+            return false;
43
+        }
44
+        return AUI::instance();
45
+    }
46 46
 }
47 47
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -6,39 +6,39 @@
 block discarded – undo
6 6
 /**
7 7
  * Bail if we are not in WP.
8 8
  */
9
-if ( ! defined( 'ABSPATH' ) ) {
9
+if (!defined('ABSPATH')) {
10 10
 	exit;
11 11
 }
12 12
 
13 13
 /**
14 14
  * Set the version only if its the current newest while loading.
15 15
  */
16
-add_action('after_setup_theme', function () {
17
-	global $ayecode_ui_version,$ayecode_ui_file_key;
16
+add_action('after_setup_theme', function() {
17
+	global $ayecode_ui_version, $ayecode_ui_file_key;
18 18
 	$this_version = "0.1.55";
19
-	if(version_compare($this_version , $ayecode_ui_version, '>')){
20
-		$ayecode_ui_version = $this_version ;
21
-		$ayecode_ui_file_key = wp_hash( __FILE__ );
19
+	if (version_compare($this_version, $ayecode_ui_version, '>')) {
20
+		$ayecode_ui_version = $this_version;
21
+		$ayecode_ui_file_key = wp_hash(__FILE__);
22 22
 	}
23 23
 },0);
24 24
 
25 25
 /**
26 26
  * Load this version of WP Bootstrap Settings only if the file hash is the current one.
27 27
  */
28
-add_action('after_setup_theme', function () {
28
+add_action('after_setup_theme', function() {
29 29
 	global $ayecode_ui_file_key;
30
-	if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){
31
-		include_once( dirname( __FILE__ ) . '/includes/class-aui.php' );
32
-		include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' );
30
+	if ($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash(__FILE__)) {
31
+		include_once(dirname(__FILE__) . '/includes/class-aui.php');
32
+		include_once(dirname(__FILE__) . '/includes/ayecode-ui-settings.php');
33 33
 	}
34 34
 },1);
35 35
 
36 36
 /**
37 37
  * Add the function that calls the class.
38 38
  */
39
-if(!function_exists('aui')){
40
-	function aui(){
41
-		if(!class_exists("AUI",false)){
39
+if (!function_exists('aui')) {
40
+	function aui() {
41
+		if (!class_exists("AUI", false)) {
42 42
 			return false;
43 43
 		}
44 44
 		return AUI::instance();
Please login to merge, or discard this patch.