Passed
Push — master ( 8614dd...22bbb7 )
by Brian
18:27
created
includes/gateways/class-getpaid-authorize-net-gateway.php 2 patches
Indentation   +232 added lines, -232 removed lines patch added patch discarded remove patch
@@ -13,58 +13,58 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Authorize_Net_Gateway extends GetPaid_Authorize_Net_Legacy_Gateway {
14 14
 
15 15
     /**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20 20
     public $id = 'authorizenet';
21 21
 
22 22
     /**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27 27
     protected $supports = array( 'subscription', 'sandbox', 'tokens', 'addons', 'single_subscription_group', 'multiple_subscription_groups' );
28 28
 
29 29
     /**
30
-	 * Payment method order.
31
-	 *
32
-	 * @var int
33
-	 */
30
+     * Payment method order.
31
+     *
32
+     * @var int
33
+     */
34 34
     public $order = 4;
35 35
 
36 36
     /**
37
-	 * Endpoint for requests from Authorize.net.
38
-	 *
39
-	 * @var string
40
-	 */
41
-	protected $notify_url;
42
-
43
-	/**
44
-	 * Endpoint for requests to Authorize.net.
45
-	 *
46
-	 * @var string
47
-	 */
37
+     * Endpoint for requests from Authorize.net.
38
+     *
39
+     * @var string
40
+     */
41
+    protected $notify_url;
42
+
43
+    /**
44
+     * Endpoint for requests to Authorize.net.
45
+     *
46
+     * @var string
47
+     */
48 48
     protected $endpoint;
49 49
 
50 50
     /**
51
-	 * Currencies this gateway is allowed for.
52
-	 *
53
-	 * @var array
54
-	 */
55
-	public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
51
+     * Currencies this gateway is allowed for.
52
+     *
53
+     * @var array
54
+     */
55
+    public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
56 56
 
57 57
     /**
58
-	 * URL to view a transaction.
59
-	 *
60
-	 * @var string
61
-	 */
58
+     * URL to view a transaction.
59
+     *
60
+     * @var string
61
+     */
62 62
     public $view_transaction_url = 'https://{sandbox}authorize.net/ui/themes/sandbox/Transaction/TransactionReceipt.aspx?transid=%s';
63 63
 
64 64
     /**
65
-	 * Class constructor.
66
-	 */
67
-	public function __construct() {
65
+     * Class constructor.
66
+     */
67
+    public function __construct() {
68 68
 
69 69
         $this->title                = __( 'Credit Card / Debit Card', 'invoicing' );
70 70
         $this->method_title         = __( 'Authorize.Net', 'invoicing' );
@@ -76,11 +76,11 @@  discard block
 block discarded – undo
76 76
     }
77 77
 
78 78
     /**
79
-	 * Displays the payment method select field.
80
-	 *
81
-	 * @param int $invoice_id 0 or invoice id.
82
-	 * @param GetPaid_Payment_Form $form Current payment form.
83
-	 */
79
+     * Displays the payment method select field.
80
+     *
81
+     * @param int $invoice_id 0 or invoice id.
82
+     * @param GetPaid_Payment_Form $form Current payment form.
83
+     */
84 84
     public function payment_fields( $invoice_id, $form ) {
85 85
 
86 86
         // Let the user select a payment method.
@@ -91,16 +91,16 @@  discard block
 block discarded – undo
91 91
     }
92 92
 
93 93
     /**
94
-	 * Creates a customer profile.
95
-	 *
96
-	 *
97
-	 * @param WPInv_Invoice $invoice Invoice.
94
+     * Creates a customer profile.
95
+     *
96
+     *
97
+     * @param WPInv_Invoice $invoice Invoice.
98 98
      * @param array $submission_data Posted checkout fields.
99 99
      * @param bool $save Whether or not to save the payment as a token.
100 100
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
101
-	 * @return string|WP_Error Payment profile id.
102
-	 */
103
-	public function create_customer_profile( $invoice, $submission_data, $save = true ) {
101
+     * @return string|WP_Error Payment profile id.
102
+     */
103
+    public function create_customer_profile( $invoice, $submission_data, $save = true ) {
104 104
 
105 105
         // Remove non-digits from the number
106 106
         $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
@@ -182,14 +182,14 @@  discard block
 block discarded – undo
182 182
     }
183 183
 
184 184
     /**
185
-	 * Retrieves a customer profile.
186
-	 *
187
-	 *
188
-	 * @param string $profile_id profile id.
189
-	 * @return string|WP_Error Profile id.
185
+     * Retrieves a customer profile.
186
+     *
187
+     *
188
+     * @param string $profile_id profile id.
189
+     * @return string|WP_Error Profile id.
190 190
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile
191
-	 */
192
-	public function get_customer_profile( $profile_id ) {
191
+     */
192
+    public function get_customer_profile( $profile_id ) {
193 193
 
194 194
         // Generate args.
195 195
         $args = array(
@@ -204,17 +204,17 @@  discard block
 block discarded – undo
204 204
     }
205 205
 
206 206
     /**
207
-	 * Creates a customer profile.
208
-	 *
209
-	 *
207
+     * Creates a customer profile.
208
+     *
209
+     *
210 210
      * @param string $profile_id profile id.
211
-	 * @param WPInv_Invoice $invoice Invoice.
211
+     * @param WPInv_Invoice $invoice Invoice.
212 212
      * @param array $submission_data Posted checkout fields.
213 213
      * @param bool $save Whether or not to save the payment as a token.
214 214
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
215
-	 * @return string|WP_Error Profile id.
216
-	 */
217
-	public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
215
+     * @return string|WP_Error Profile id.
216
+     */
217
+    public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
218 218
 
219 219
         // Remove non-digits from the number
220 220
         $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
@@ -302,13 +302,13 @@  discard block
 block discarded – undo
302 302
     }
303 303
 
304 304
     /**
305
-	 * Retrieves payment details from cache.
306
-	 *
307
-	 *
305
+     * Retrieves payment details from cache.
306
+     *
307
+     *
308 308
      * @param array $payment_details.
309
-	 * @return array|false Profile id.
310
-	 */
311
-	public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
309
+     * @return array|false Profile id.
310
+     */
311
+    public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
312 312
 
313 313
         $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
314 314
         $payment_details    = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY );
@@ -333,13 +333,13 @@  discard block
 block discarded – undo
333 333
     }
334 334
 
335 335
     /**
336
-	 * Securely adds payment details to cache.
337
-	 *
338
-	 *
336
+     * Securely adds payment details to cache.
337
+     *
338
+     *
339 339
      * @param array $payment_details.
340 340
      * @param string $payment_profile_id.
341
-	 */
342
-	public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
341
+     */
342
+    public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
343 343
 
344 344
         $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
345 345
         $cached_information = is_array( $cached_information ) ? $cached_information : array();
@@ -351,15 +351,15 @@  discard block
 block discarded – undo
351 351
     }
352 352
 
353 353
     /**
354
-	 * Retrieves a customer payment profile.
355
-	 *
356
-	 *
357
-	 * @param string $customer_profile_id customer profile id.
354
+     * Retrieves a customer payment profile.
355
+     *
356
+     *
357
+     * @param string $customer_profile_id customer profile id.
358 358
      * @param string $payment_profile_id payment profile id.
359
-	 * @return string|WP_Error Profile id.
359
+     * @return string|WP_Error Profile id.
360 360
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile
361
-	 */
362
-	public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
361
+     */
362
+    public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
363 363
 
364 364
         // Generate args.
365 365
         $args = array(
@@ -375,15 +375,15 @@  discard block
 block discarded – undo
375 375
     }
376 376
 
377 377
     /**
378
-	 * Charges a customer payment profile.
379
-	 *
378
+     * Charges a customer payment profile.
379
+     *
380 380
      * @param string $customer_profile_id customer profile id.
381 381
      * @param string $payment_profile_id payment profile id.
382
-	 * @param WPInv_Invoice $invoice Invoice.
382
+     * @param WPInv_Invoice $invoice Invoice.
383 383
      * @link https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-customer-profile
384
-	 * @return WP_Error|object
385
-	 */
386
-	public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
384
+     * @return WP_Error|object
385
+     */
386
+    public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
387 387
 
388 388
         // Generate args.
389 389
         $args = array(
@@ -429,41 +429,41 @@  discard block
 block discarded – undo
429 429
     }
430 430
 
431 431
     /**
432
-	 * Processes a customer charge.
433
-	 *
432
+     * Processes a customer charge.
433
+     *
434 434
      * @param stdClass $result Api response.
435
-	 * @param WPInv_Invoice $invoice Invoice.
436
-	 */
437
-	public function process_charge_response( $result, $invoice ) {
435
+     * @param WPInv_Invoice $invoice Invoice.
436
+     */
437
+    public function process_charge_response( $result, $invoice ) {
438 438
 
439 439
         wpinv_clear_errors();
440
-		$response_code = (int) $result->transactionResponse->responseCode;
440
+        $response_code = (int) $result->transactionResponse->responseCode;
441 441
 
442
-		// Succeeded.
443
-		if ( 1 == $response_code || 4 == $response_code ) {
442
+        // Succeeded.
443
+        if ( 1 == $response_code || 4 == $response_code ) {
444 444
 
445
-			// Maybe set a transaction id.
446
-			if ( ! empty( $result->transactionResponse->transId ) ) {
447
-				$invoice->set_transaction_id( $result->transactionResponse->transId );
448
-			}
445
+            // Maybe set a transaction id.
446
+            if ( ! empty( $result->transactionResponse->transId ) ) {
447
+                $invoice->set_transaction_id( $result->transactionResponse->transId );
448
+            }
449 449
 
450
-			$invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
450
+            $invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
451 451
 
452
-			if ( 1 == $response_code ) {
453
-				return $invoice->mark_paid();
454
-			}
452
+            if ( 1 == $response_code ) {
453
+                return $invoice->mark_paid();
454
+            }
455 455
 
456
-			$invoice->set_status( 'wpi-onhold' );
457
-        	$invoice->add_note(
456
+            $invoice->set_status( 'wpi-onhold' );
457
+            $invoice->add_note(
458 458
                 sprintf(
459 459
                     __( 'Held for review: %s', 'invoicing' ),
460 460
                     $result->transactionResponse->messages->message[0]->description
461 461
                 )
462
-			);
462
+            );
463 463
 
464
-			return $invoice->save();
464
+            return $invoice->save();
465 465
 
466
-		}
466
+        }
467 467
 
468 468
         wpinv_set_error( 'card_declined' );
469 469
 
@@ -475,13 +475,13 @@  discard block
 block discarded – undo
475 475
     }
476 476
 
477 477
     /**
478
-	 * Returns payment information.
479
-	 *
480
-	 *
481
-	 * @param array $card Card details.
482
-	 * @return array
483
-	 */
484
-	public function get_payment_information( $card ) {
478
+     * Returns payment information.
479
+     *
480
+     *
481
+     * @param array $card Card details.
482
+     * @return array
483
+     */
484
+    public function get_payment_information( $card ) {
485 485
         return array(
486 486
 
487 487
             'creditCard' => array(
@@ -494,25 +494,25 @@  discard block
 block discarded – undo
494 494
     }
495 495
 
496 496
     /**
497
-	 * Returns the customer profile meta name.
498
-	 *
499
-	 *
500
-	 * @param WPInv_Invoice $invoice Invoice.
501
-	 * @return string
502
-	 */
503
-	public function get_customer_profile_meta_name( $invoice ) {
497
+     * Returns the customer profile meta name.
498
+     *
499
+     *
500
+     * @param WPInv_Invoice $invoice Invoice.
501
+     * @return string
502
+     */
503
+    public function get_customer_profile_meta_name( $invoice ) {
504 504
         return $this->is_sandbox( $invoice ) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id';
505 505
     }
506 506
 
507 507
     /**
508
-	 * Validates the submitted data.
509
-	 *
510
-	 *
511
-	 * @param array $submission_data Posted checkout fields.
508
+     * Validates the submitted data.
509
+     *
510
+     *
511
+     * @param array $submission_data Posted checkout fields.
512 512
      * @param WPInv_Invoice $invoice
513
-	 * @return WP_Error|string The payment profile id
514
-	 */
515
-	public function validate_submission_data( $submission_data, $invoice ) {
513
+     * @return WP_Error|string The payment profile id
514
+     */
515
+    public function validate_submission_data( $submission_data, $invoice ) {
516 516
 
517 517
         // Validate authentication details.
518 518
         $auth = $this->get_auth_params();
@@ -544,13 +544,13 @@  discard block
 block discarded – undo
544 544
     }
545 545
 
546 546
     /**
547
-	 * Returns invoice line items.
548
-	 *
549
-	 *
550
-	 * @param WPInv_Invoice $invoice Invoice.
551
-	 * @return array
552
-	 */
553
-	public function get_line_items( $invoice ) {
547
+     * Returns invoice line items.
548
+     *
549
+     *
550
+     * @param WPInv_Invoice $invoice Invoice.
551
+     * @return array
552
+     */
553
+    public function get_line_items( $invoice ) {
554 554
         $items = array();
555 555
 
556 556
         foreach ( $invoice->get_items() as $item ) {
@@ -587,15 +587,15 @@  discard block
 block discarded – undo
587 587
     }
588 588
 
589 589
     /**
590
-	 * Process Payment.
591
-	 *
592
-	 *
593
-	 * @param WPInv_Invoice $invoice Invoice.
594
-	 * @param array $submission_data Posted checkout fields.
595
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
596
-	 * @return array
597
-	 */
598
-	public function process_payment( $invoice, $submission_data, $submission ) {
590
+     * Process Payment.
591
+     *
592
+     *
593
+     * @param WPInv_Invoice $invoice Invoice.
594
+     * @param array $submission_data Posted checkout fields.
595
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
596
+     * @return array
597
+     */
598
+    public function process_payment( $invoice, $submission_data, $submission ) {
599 599
 
600 600
         // Validate the submitted data.
601 601
         $payment_profile_id = $this->validate_submission_data( $submission_data, $invoice );
@@ -628,45 +628,45 @@  discard block
 block discarded – undo
628 628
 
629 629
         exit;
630 630
 
631
-	}
631
+    }
632 632
 
633
-	/**
634
-	 * Processes the initial payment.
635
-	 *
633
+    /**
634
+     * Processes the initial payment.
635
+     *
636 636
      * @param WPInv_Invoice $invoice Invoice.
637
-	 */
638
-	protected function process_initial_payment( $invoice ) {
637
+     */
638
+    protected function process_initial_payment( $invoice ) {
639 639
 
640
-		$payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
640
+        $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
641 641
         $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
642
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
642
+        $result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
643 643
 
644
-		// Do we have an error?
645
-		if ( is_wp_error( $result ) ) {
646
-			wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
647
-			wpinv_send_back_to_checkout( $invoice );
648
-		}
644
+        // Do we have an error?
645
+        if ( is_wp_error( $result ) ) {
646
+            wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
647
+            wpinv_send_back_to_checkout( $invoice );
648
+        }
649 649
 
650
-		// Process the response.
651
-		$this->process_charge_response( $result, $invoice );
650
+        // Process the response.
651
+        $this->process_charge_response( $result, $invoice );
652 652
 
653
-		if ( wpinv_get_errors() ) {
654
-			wpinv_send_back_to_checkout( $invoice );
655
-		}
653
+        if ( wpinv_get_errors() ) {
654
+            wpinv_send_back_to_checkout( $invoice );
655
+        }
656 656
 
657
-	}
657
+    }
658 658
 
659 659
     /**
660
-	 * Processes recurring payments.
661
-	 *
660
+     * Processes recurring payments.
661
+     *
662 662
      * @param WPInv_Invoice $invoice Invoice.
663 663
      * @param WPInv_Subscription[]|WPInv_Subscription $subscriptions Subscriptions.
664
-	 */
665
-	public function process_subscription( $invoice, $subscriptions ) {
664
+     */
665
+    public function process_subscription( $invoice, $subscriptions ) {
666 666
 
667 667
         // Check if there is an initial amount to charge.
668 668
         if ( (float) $invoice->get_total() > 0 ) {
669
-			$this->process_initial_payment( $invoice );
669
+            $this->process_initial_payment( $invoice );
670 670
         }
671 671
 
672 672
         // Activate the subscriptions.
@@ -684,36 +684,36 @@  discard block
 block discarded – undo
684 684
             }
685 685
         }
686 686
 
687
-		// Redirect to the success page.
687
+        // Redirect to the success page.
688 688
         wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
689 689
 
690 690
     }
691 691
 
692
-	/**
693
-	 * (Maybe) renews an authorize.net subscription profile.
694
-	 *
695
-	 *
692
+    /**
693
+     * (Maybe) renews an authorize.net subscription profile.
694
+     *
695
+     *
696 696
      * @param WPInv_Subscription $subscription
697
-	 */
698
-	public function maybe_renew_subscription( $subscription ) {
697
+     */
698
+    public function maybe_renew_subscription( $subscription ) {
699 699
 
700 700
         // Ensure its our subscription && it's active.
701 701
         if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
702 702
             $this->renew_subscription( $subscription );
703 703
         }
704 704
 
705
-	}
705
+    }
706 706
 
707 707
     /**
708
-	 * Renews a subscription.
709
-	 *
708
+     * Renews a subscription.
709
+     *
710 710
      * @param WPInv_Subscription $subscription
711
-	 */
712
-	public function renew_subscription( $subscription ) {
711
+     */
712
+    public function renew_subscription( $subscription ) {
713 713
 
714
-		// Generate the renewal invoice.
715
-		$new_invoice = $subscription->create_payment();
716
-		$old_invoice = $subscription->get_parent_payment();
714
+        // Generate the renewal invoice.
715
+        $new_invoice = $subscription->create_payment();
716
+        $old_invoice = $subscription->get_parent_payment();
717 717
 
718 718
         if ( empty( $new_invoice ) ) {
719 719
             $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false );
@@ -722,37 +722,37 @@  discard block
 block discarded – undo
722 722
         }
723 723
 
724 724
         // Charge the payment method.
725
-		$payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
726
-		$customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
727
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
728
-
729
-		// Do we have an error?
730
-		if ( is_wp_error( $result ) ) {
731
-
732
-			$old_invoice->add_note(
733
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
734
-				true,
735
-				false,
736
-				true
737
-			);
738
-			$subscription->failing();
739
-			return;
740
-
741
-		}
742
-
743
-		// Process the response.
744
-		$this->process_charge_response( $result, $new_invoice );
745
-
746
-		if ( wpinv_get_errors() ) {
747
-
748
-			$old_invoice->add_note(
749
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
750
-				true,
751
-				false,
752
-				true
753
-			);
754
-			$subscription->failing();
755
-			return;
725
+        $payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
726
+        $customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
727
+        $result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
728
+
729
+        // Do we have an error?
730
+        if ( is_wp_error( $result ) ) {
731
+
732
+            $old_invoice->add_note(
733
+                sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
734
+                true,
735
+                false,
736
+                true
737
+            );
738
+            $subscription->failing();
739
+            return;
740
+
741
+        }
742
+
743
+        // Process the response.
744
+        $this->process_charge_response( $result, $new_invoice );
745
+
746
+        if ( wpinv_get_errors() ) {
747
+
748
+            $old_invoice->add_note(
749
+                sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
750
+                true,
751
+                false,
752
+                true
753
+            );
754
+            $subscription->failing();
755
+            return;
756 756
 
757 757
         }
758 758
 
@@ -761,13 +761,13 @@  discard block
 block discarded – undo
761 761
     }
762 762
 
763 763
     /**
764
-	 * Processes invoice addons.
765
-	 *
766
-	 * @param WPInv_Invoice $invoice
767
-	 * @param GetPaid_Form_Item[] $items
768
-	 * @return WPInv_Invoice
769
-	 */
770
-	public function process_addons( $invoice, $items ) {
764
+     * Processes invoice addons.
765
+     *
766
+     * @param WPInv_Invoice $invoice
767
+     * @param GetPaid_Form_Item[] $items
768
+     * @return WPInv_Invoice
769
+     */
770
+    public function process_addons( $invoice, $items ) {
771 771
 
772 772
         global $getpaid_authorize_addons;
773 773
 
@@ -786,7 +786,7 @@  discard block
 block discarded – undo
786 786
         $invoice->recalculate_total();
787 787
 
788 788
         $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
789
-		$customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
789
+        $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
790 790
 
791 791
         add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 );
792 792
         $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
@@ -801,11 +801,11 @@  discard block
 block discarded – undo
801 801
     }
802 802
 
803 803
     /**
804
-	 * Processes invoice addons.
805
-	 *
804
+     * Processes invoice addons.
805
+     *
806 806
      * @param array $args
807
-	 * @return array
808
-	 */
807
+     * @return array
808
+     */
809 809
     public function filter_addons_request( $args ) {
810 810
 
811 811
         global $getpaid_authorize_addons;
@@ -839,11 +839,11 @@  discard block
 block discarded – undo
839 839
     }
840 840
 
841 841
     /**
842
-	 * Filters the gateway settings.
843
-	 *
844
-	 * @param array $admin_settings
845
-	 */
846
-	public function admin_settings( $admin_settings ) {
842
+     * Filters the gateway settings.
843
+     *
844
+     * @param array $admin_settings
845
+     */
846
+    public function admin_settings( $admin_settings ) {
847 847
 
848 848
         $currencies = sprintf(
849 849
             __( 'Supported Currencies: %s', 'invoicing' ),
@@ -883,7 +883,7 @@  discard block
 block discarded – undo
883 883
             'readonly' => true,
884 884
         );
885 885
 
886
-		return $admin_settings;
887
-	}
886
+        return $admin_settings;
887
+    }
888 888
 
889 889
 }
Please login to merge, or discard this patch.
Spacing   +205 added lines, -205 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 
9 9
 /**
10 10
  * Authorize.net Payment Gateway class.
@@ -24,7 +24,7 @@  discard block
 block discarded – undo
24 24
 	 *
25 25
 	 * @var array
26 26
 	 */
27
-    protected $supports = array( 'subscription', 'sandbox', 'tokens', 'addons', 'single_subscription_group', 'multiple_subscription_groups' );
27
+    protected $supports = array('subscription', 'sandbox', 'tokens', 'addons', 'single_subscription_group', 'multiple_subscription_groups');
28 28
 
29 29
     /**
30 30
 	 * Payment method order.
@@ -52,7 +52,7 @@  discard block
 block discarded – undo
52 52
 	 *
53 53
 	 * @var array
54 54
 	 */
55
-	public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
55
+	public $currencies = array('USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD');
56 56
 
57 57
     /**
58 58
 	 * URL to view a transaction.
@@ -66,12 +66,12 @@  discard block
 block discarded – undo
66 66
 	 */
67 67
 	public function __construct() {
68 68
 
69
-        $this->title                = __( 'Credit Card / Debit Card', 'invoicing' );
70
-        $this->method_title         = __( 'Authorize.Net', 'invoicing' );
71
-        $this->notify_url           = getpaid_get_non_query_string_ipn_url( $this->id );
69
+        $this->title                = __('Credit Card / Debit Card', 'invoicing');
70
+        $this->method_title         = __('Authorize.Net', 'invoicing');
71
+        $this->notify_url           = getpaid_get_non_query_string_ipn_url($this->id);
72 72
 
73
-        add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) );
74
-        add_filter( 'getpaid_authorizenet_sandbox_notice', array( $this, 'sandbox_notice' ) );
73
+        add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription'));
74
+        add_filter('getpaid_authorizenet_sandbox_notice', array($this, 'sandbox_notice'));
75 75
         parent::__construct();
76 76
     }
77 77
 
@@ -81,13 +81,13 @@  discard block
 block discarded – undo
81 81
 	 * @param int $invoice_id 0 or invoice id.
82 82
 	 * @param GetPaid_Payment_Form $form Current payment form.
83 83
 	 */
84
-    public function payment_fields( $invoice_id, $form ) {
84
+    public function payment_fields($invoice_id, $form) {
85 85
 
86 86
         // Let the user select a payment method.
87 87
         $this->saved_payment_methods();
88 88
 
89 89
         // Show the credit card entry form.
90
-        $this->new_payment_method_entry( $this->get_cc_form( true ) );
90
+        $this->new_payment_method_entry($this->get_cc_form(true));
91 91
     }
92 92
 
93 93
     /**
@@ -100,79 +100,79 @@  discard block
 block discarded – undo
100 100
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
101 101
 	 * @return string|WP_Error Payment profile id.
102 102
 	 */
103
-	public function create_customer_profile( $invoice, $submission_data, $save = true ) {
103
+	public function create_customer_profile($invoice, $submission_data, $save = true) {
104 104
 
105 105
         // Remove non-digits from the number
106
-        $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
106
+        $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number']);
107 107
 
108 108
         // Generate args.
109 109
         $args = array(
110 110
             'createCustomerProfileRequest' => array(
111 111
                 'merchantAuthentication' => $this->get_auth_params(),
112 112
                 'profile'                => array(
113
-                    'merchantCustomerId' => getpaid_limit_length( $invoice->get_user_id(), 20 ),
114
-                    'description'        => getpaid_limit_length( $invoice->get_full_name(), 255 ),
115
-                    'email'              => getpaid_limit_length( $invoice->get_email(), 255 ),
113
+                    'merchantCustomerId' => getpaid_limit_length($invoice->get_user_id(), 20),
114
+                    'description'        => getpaid_limit_length($invoice->get_full_name(), 255),
115
+                    'email'              => getpaid_limit_length($invoice->get_email(), 255),
116 116
                     'paymentProfiles'    => array(
117 117
                         'customerType' => 'individual',
118 118
 
119 119
                         // Billing information.
120 120
                         'billTo'       => array(
121
-                            'firstName' => getpaid_limit_length( $invoice->get_first_name(), 50 ),
122
-                            'lastName'  => getpaid_limit_length( $invoice->get_last_name(), 50 ),
123
-                            'address'   => getpaid_limit_length( $invoice->get_address(), 60 ),
124
-                            'city'      => getpaid_limit_length( $invoice->get_city(), 40 ),
125
-                            'state'     => getpaid_limit_length( $invoice->get_state(), 40 ),
126
-                            'zip'       => getpaid_limit_length( $invoice->get_zip(), 20 ),
127
-                            'country'   => getpaid_limit_length( $invoice->get_country(), 60 ),
121
+                            'firstName' => getpaid_limit_length($invoice->get_first_name(), 50),
122
+                            'lastName'  => getpaid_limit_length($invoice->get_last_name(), 50),
123
+                            'address'   => getpaid_limit_length($invoice->get_address(), 60),
124
+                            'city'      => getpaid_limit_length($invoice->get_city(), 40),
125
+                            'state'     => getpaid_limit_length($invoice->get_state(), 40),
126
+                            'zip'       => getpaid_limit_length($invoice->get_zip(), 20),
127
+                            'country'   => getpaid_limit_length($invoice->get_country(), 60),
128 128
                         ),
129 129
 
130 130
                         // Payment information.
131
-                        'payment'      => $this->get_payment_information( $submission_data['authorizenet'] ),
131
+                        'payment'      => $this->get_payment_information($submission_data['authorizenet']),
132 132
                     ),
133 133
                 ),
134
-                'validationMode'         => $this->is_sandbox( $invoice ) ? 'testMode' : 'liveMode',
134
+                'validationMode'         => $this->is_sandbox($invoice) ? 'testMode' : 'liveMode',
135 135
             ),
136 136
         );
137 137
 
138
-        $response = $this->post( apply_filters( 'getpaid_authorizenet_customer_profile_args', $args, $invoice ), $invoice );
138
+        $response = $this->post(apply_filters('getpaid_authorizenet_customer_profile_args', $args, $invoice), $invoice);
139 139
 
140
-        if ( is_wp_error( $response ) ) {
140
+        if (is_wp_error($response)) {
141 141
 
142 142
             // In case the payment profile already exists remotely.
143
-            if ( 'dup_payment_profile' === $response->get_error_code() ) {
144
-                $customer_profile_id = strtok( $response->get_error_message(), '.' );
145
-                update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile_id );
146
-                return strtok( '.' );
143
+            if ('dup_payment_profile' === $response->get_error_code()) {
144
+                $customer_profile_id = strtok($response->get_error_message(), '.');
145
+                update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile_id);
146
+                return strtok('.');
147 147
             }
148 148
 
149 149
             // In case the customer profile already exists remotely.
150
-            if ( 'E00039' === $response->get_error_code() ) {
151
-                $customer_profile_id = str_replace( 'A duplicate record with ID ', '', $response->get_error_message() );
152
-                $customer_profile_id = str_replace( ' already exists.', '', $customer_profile_id );
153
-                return $this->create_customer_payment_profile( trim( $customer_profile_id ), $invoice, $submission_data, $save );
150
+            if ('E00039' === $response->get_error_code()) {
151
+                $customer_profile_id = str_replace('A duplicate record with ID ', '', $response->get_error_message());
152
+                $customer_profile_id = str_replace(' already exists.', '', $customer_profile_id);
153
+                return $this->create_customer_payment_profile(trim($customer_profile_id), $invoice, $submission_data, $save);
154 154
             }
155 155
 
156 156
             return $response;
157 157
         }
158 158
 
159
-        update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $response->customerProfileId );
159
+        update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $response->customerProfileId);
160 160
 
161 161
         // Save the payment token.
162
-        if ( $save ) {
162
+        if ($save) {
163 163
             $this->save_token(
164 164
                 array(
165 165
                     'id'      => $response->customerPaymentProfileIdList[0],
166
-                    'name'    => getpaid_get_card_name( $submission_data['authorizenet']['cc_number'] ) . '····' . substr( $submission_data['authorizenet']['cc_number'], -4 ),
166
+                    'name'    => getpaid_get_card_name($submission_data['authorizenet']['cc_number']) . '····' . substr($submission_data['authorizenet']['cc_number'], -4),
167 167
                     'default' => true,
168
-                    'type'    => $this->is_sandbox( $invoice ) ? 'sandbox' : 'live',
168
+                    'type'    => $this->is_sandbox($invoice) ? 'sandbox' : 'live',
169 169
                 )
170 170
             );
171 171
         }
172 172
 
173 173
         // Add a note about the validation response.
174 174
         $invoice->add_note(
175
-            sprintf( __( 'Created Authorize.NET customer profile: %s', 'invoicing' ), $response->validationDirectResponseList[0] ),
175
+            sprintf(__('Created Authorize.NET customer profile: %s', 'invoicing'), $response->validationDirectResponseList[0]),
176 176
             false,
177 177
             false,
178 178
             true
@@ -189,7 +189,7 @@  discard block
 block discarded – undo
189 189
 	 * @return string|WP_Error Profile id.
190 190
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile
191 191
 	 */
192
-	public function get_customer_profile( $profile_id ) {
192
+	public function get_customer_profile($profile_id) {
193 193
 
194 194
         // Generate args.
195 195
         $args = array(
@@ -199,7 +199,7 @@  discard block
 block discarded – undo
199 199
             ),
200 200
         );
201 201
 
202
-        return $this->post( $args, false );
202
+        return $this->post($args, false);
203 203
 
204 204
     }
205 205
 
@@ -214,18 +214,18 @@  discard block
 block discarded – undo
214 214
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
215 215
 	 * @return string|WP_Error Profile id.
216 216
 	 */
217
-	public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
217
+	public function create_customer_payment_profile($customer_profile, $invoice, $submission_data, $save) {
218 218
 
219 219
         // Remove non-digits from the number
220
-        $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
220
+        $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number']);
221 221
 
222 222
         // Prepare card details.
223
-        $payment_information                          = $this->get_payment_information( $submission_data['authorizenet'] );
223
+        $payment_information                          = $this->get_payment_information($submission_data['authorizenet']);
224 224
 
225 225
         // Authorize.NET does not support saving the same card twice.
226
-        $cached_information                           = $this->retrieve_payment_profile_from_cache( $payment_information, $customer_profile, $invoice );
226
+        $cached_information                           = $this->retrieve_payment_profile_from_cache($payment_information, $customer_profile, $invoice);
227 227
 
228
-        if ( $cached_information ) {
228
+        if ($cached_information) {
229 229
             return $cached_information;
230 230
         }
231 231
 
@@ -238,34 +238,34 @@  discard block
 block discarded – undo
238 238
 
239 239
                     // Billing information.
240 240
                     'billTo'  => array(
241
-                        'firstName' => getpaid_limit_length( $invoice->get_first_name(), 50 ),
242
-                        'lastName'  => getpaid_limit_length( $invoice->get_last_name(), 50 ),
243
-                        'address'   => getpaid_limit_length( $invoice->get_address(), 60 ),
244
-                        'city'      => getpaid_limit_length( $invoice->get_city(), 40 ),
245
-                        'state'     => getpaid_limit_length( $invoice->get_state(), 40 ),
246
-                        'zip'       => getpaid_limit_length( $invoice->get_zip(), 20 ),
247
-                        'country'   => getpaid_limit_length( $invoice->get_country(), 60 ),
241
+                        'firstName' => getpaid_limit_length($invoice->get_first_name(), 50),
242
+                        'lastName'  => getpaid_limit_length($invoice->get_last_name(), 50),
243
+                        'address'   => getpaid_limit_length($invoice->get_address(), 60),
244
+                        'city'      => getpaid_limit_length($invoice->get_city(), 40),
245
+                        'state'     => getpaid_limit_length($invoice->get_state(), 40),
246
+                        'zip'       => getpaid_limit_length($invoice->get_zip(), 20),
247
+                        'country'   => getpaid_limit_length($invoice->get_country(), 60),
248 248
                     ),
249 249
 
250 250
                     // Payment information.
251 251
                     'payment' => $payment_information,
252 252
                 ),
253
-                'validationMode'         => $this->is_sandbox( $invoice ) ? 'testMode' : 'liveMode',
253
+                'validationMode'         => $this->is_sandbox($invoice) ? 'testMode' : 'liveMode',
254 254
             ),
255 255
         );
256 256
 
257
-        $response = $this->post( apply_filters( 'getpaid_authorizenet_create_customer_payment_profile_args', $args, $invoice ), $invoice );
257
+        $response = $this->post(apply_filters('getpaid_authorizenet_create_customer_payment_profile_args', $args, $invoice), $invoice);
258 258
 
259
-        if ( is_wp_error( $response ) ) {
259
+        if (is_wp_error($response)) {
260 260
 
261 261
             // In case the payment profile already exists remotely.
262
-            if ( 'dup_payment_profile' == $response->get_error_code() ) {
263
-                $customer_profile_id = strtok( $response->get_error_message(), '.' );
264
-                $payment_profile_id  = strtok( '.' );
265
-                update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile_id );
262
+            if ('dup_payment_profile' == $response->get_error_code()) {
263
+                $customer_profile_id = strtok($response->get_error_message(), '.');
264
+                $payment_profile_id  = strtok('.');
265
+                update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile_id);
266 266
 
267 267
                 // Cache payment profile id.
268
-                $this->add_payment_profile_to_cache( $payment_information, $payment_profile_id );
268
+                $this->add_payment_profile_to_cache($payment_information, $payment_profile_id);
269 269
 
270 270
                 return $payment_profile_id;
271 271
             }
@@ -274,29 +274,29 @@  discard block
 block discarded – undo
274 274
         }
275 275
 
276 276
         // Save the payment token.
277
-        if ( $save ) {
277
+        if ($save) {
278 278
             $this->save_token(
279 279
                 array(
280 280
                     'id'      => $response->customerPaymentProfileId,
281
-                    'name'    => getpaid_get_card_name( $submission_data['authorizenet']['cc_number'] ) . ' ···· ' . substr( $submission_data['authorizenet']['cc_number'], -4 ),
281
+                    'name'    => getpaid_get_card_name($submission_data['authorizenet']['cc_number']) . ' ···· ' . substr($submission_data['authorizenet']['cc_number'], -4),
282 282
                     'default' => true,
283
-                    'type'    => $this->is_sandbox( $invoice ) ? 'sandbox' : 'live',
283
+                    'type'    => $this->is_sandbox($invoice) ? 'sandbox' : 'live',
284 284
                 )
285 285
             );
286 286
         }
287 287
 
288 288
         // Cache payment profile id.
289
-        $this->add_payment_profile_to_cache( $payment_information, $response->customerPaymentProfileId );
289
+        $this->add_payment_profile_to_cache($payment_information, $response->customerPaymentProfileId);
290 290
 
291 291
         // Add a note about the validation response.
292 292
         $invoice->add_note(
293
-            sprintf( __( 'Saved Authorize.NET payment profile: %s', 'invoicing' ), $response->validationDirectResponse ),
293
+            sprintf(__('Saved Authorize.NET payment profile: %s', 'invoicing'), $response->validationDirectResponse),
294 294
             false,
295 295
             false,
296 296
             true
297 297
         );
298 298
 
299
-        update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile );
299
+        update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile);
300 300
 
301 301
         return $response->customerPaymentProfileId;
302 302
     }
@@ -308,12 +308,12 @@  discard block
 block discarded – undo
308 308
      * @param array $payment_details.
309 309
 	 * @return array|false Profile id.
310 310
 	 */
311
-	public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
311
+	public function retrieve_payment_profile_from_cache($payment_details, $customer_profile, $invoice) {
312 312
 
313
-        $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
314
-        $payment_details    = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY );
313
+        $cached_information = get_option('getpaid_authorize_net_cached_profiles', array());
314
+        $payment_details    = hash_hmac('sha256', json_encode($payment_details), SECURE_AUTH_KEY);
315 315
 
316
-        if ( ! is_array( $cached_information ) || ! array_key_exists( $payment_details, $cached_information ) ) {
316
+        if (!is_array($cached_information) || !array_key_exists($payment_details, $cached_information)) {
317 317
             return false;
318 318
         }
319 319
 
@@ -322,13 +322,13 @@  discard block
 block discarded – undo
322 322
             'getCustomerPaymentProfileRequest' => array(
323 323
                 'merchantAuthentication'   => $this->get_auth_params(),
324 324
                 'customerProfileId'        => $customer_profile,
325
-                'customerPaymentProfileId' => $cached_information[ $payment_details ],
325
+                'customerPaymentProfileId' => $cached_information[$payment_details],
326 326
             ),
327 327
         );
328 328
 
329
-        $response = $this->post( $args, $invoice );
329
+        $response = $this->post($args, $invoice);
330 330
 
331
-        return is_wp_error( $response ) ? false : $cached_information[ $payment_details ];
331
+        return is_wp_error($response) ? false : $cached_information[$payment_details];
332 332
 
333 333
     }
334 334
 
@@ -339,14 +339,14 @@  discard block
 block discarded – undo
339 339
      * @param array $payment_details.
340 340
      * @param string $payment_profile_id.
341 341
 	 */
342
-	public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
342
+	public function add_payment_profile_to_cache($payment_details, $payment_profile_id) {
343 343
 
344
-        $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
345
-        $cached_information = is_array( $cached_information ) ? $cached_information : array();
346
-        $payment_details    = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY );
344
+        $cached_information = get_option('getpaid_authorize_net_cached_profiles', array());
345
+        $cached_information = is_array($cached_information) ? $cached_information : array();
346
+        $payment_details    = hash_hmac('sha256', json_encode($payment_details), SECURE_AUTH_KEY);
347 347
 
348
-        $cached_information[ $payment_details ] = $payment_profile_id;
349
-        update_option( 'getpaid_authorize_net_cached_profiles', $cached_information );
348
+        $cached_information[$payment_details] = $payment_profile_id;
349
+        update_option('getpaid_authorize_net_cached_profiles', $cached_information);
350 350
 
351 351
     }
352 352
 
@@ -359,7 +359,7 @@  discard block
 block discarded – undo
359 359
 	 * @return string|WP_Error Profile id.
360 360
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile
361 361
 	 */
362
-	public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
362
+	public function get_customer_payment_profile($customer_profile_id, $payment_profile_id) {
363 363
 
364 364
         // Generate args.
365 365
         $args = array(
@@ -370,7 +370,7 @@  discard block
 block discarded – undo
370 370
             ),
371 371
         );
372 372
 
373
-        return $this->post( $args, false );
373
+        return $this->post($args, false);
374 374
 
375 375
     }
376 376
 
@@ -383,7 +383,7 @@  discard block
 block discarded – undo
383 383
      * @link https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-customer-profile
384 384
 	 * @return WP_Error|object
385 385
 	 */
386
-	public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
386
+	public function charge_customer_payment_profile($customer_profile_id, $payment_profile_id, $invoice) {
387 387
 
388 388
         // Generate args.
389 389
         $args = array(
@@ -403,28 +403,28 @@  discard block
 block discarded – undo
403 403
                         ),
404 404
                     ),
405 405
                     'order'           => array(
406
-                        'invoiceNumber' => getpaid_limit_length( $invoice->get_number(), 20 ),
406
+                        'invoiceNumber' => getpaid_limit_length($invoice->get_number(), 20),
407 407
                     ),
408
-                    'lineItems'       => array( 'lineItem' => $this->get_line_items( $invoice ) ),
408
+                    'lineItems'       => array('lineItem' => $this->get_line_items($invoice)),
409 409
                     'tax'             => array(
410 410
                         'amount' => $invoice->get_total_tax(),
411
-                        'name'   => __( 'TAX', 'invoicing' ),
411
+                        'name'   => __('TAX', 'invoicing'),
412 412
                     ),
413
-                    'poNumber'        => getpaid_limit_length( $invoice->get_number(), 25 ),
413
+                    'poNumber'        => getpaid_limit_length($invoice->get_number(), 25),
414 414
                     'customer'        => array(
415
-                        'id'    => getpaid_limit_length( $invoice->get_user_id(), 25 ),
416
-                        'email' => getpaid_limit_length( $invoice->get_email(), 25 ),
415
+                        'id'    => getpaid_limit_length($invoice->get_user_id(), 25),
416
+                        'email' => getpaid_limit_length($invoice->get_email(), 25),
417 417
                     ),
418 418
                     'customerIP'      => $invoice->get_ip(),
419 419
                 ),
420 420
             ),
421 421
         );
422 422
 
423
-        if ( 0 == $invoice->get_total_tax() ) {
424
-            unset( $args['createTransactionRequest']['transactionRequest']['tax'] );
423
+        if (0 == $invoice->get_total_tax()) {
424
+            unset($args['createTransactionRequest']['transactionRequest']['tax']);
425 425
         }
426 426
 
427
-        return $this->post( apply_filters( 'getpaid_authorizenet_charge_customer_payment_profile_args', $args, $invoice ), $invoice );
427
+        return $this->post(apply_filters('getpaid_authorizenet_charge_customer_payment_profile_args', $args, $invoice), $invoice);
428 428
 
429 429
     }
430 430
 
@@ -434,29 +434,29 @@  discard block
 block discarded – undo
434 434
      * @param stdClass $result Api response.
435 435
 	 * @param WPInv_Invoice $invoice Invoice.
436 436
 	 */
437
-	public function process_charge_response( $result, $invoice ) {
437
+	public function process_charge_response($result, $invoice) {
438 438
 
439 439
         wpinv_clear_errors();
440 440
 		$response_code = (int) $result->transactionResponse->responseCode;
441 441
 
442 442
 		// Succeeded.
443
-		if ( 1 == $response_code || 4 == $response_code ) {
443
+		if (1 == $response_code || 4 == $response_code) {
444 444
 
445 445
 			// Maybe set a transaction id.
446
-			if ( ! empty( $result->transactionResponse->transId ) ) {
447
-				$invoice->set_transaction_id( $result->transactionResponse->transId );
446
+			if (!empty($result->transactionResponse->transId)) {
447
+				$invoice->set_transaction_id($result->transactionResponse->transId);
448 448
 			}
449 449
 
450
-			$invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
450
+			$invoice->add_note(sprintf(__('Authentication code: %1$s (%2$s).', 'invoicing'), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber), false, false, true);
451 451
 
452
-			if ( 1 == $response_code ) {
452
+			if (1 == $response_code) {
453 453
 				return $invoice->mark_paid();
454 454
 			}
455 455
 
456
-			$invoice->set_status( 'wpi-onhold' );
456
+			$invoice->set_status('wpi-onhold');
457 457
         	$invoice->add_note(
458 458
                 sprintf(
459
-                    __( 'Held for review: %s', 'invoicing' ),
459
+                    __('Held for review: %s', 'invoicing'),
460 460
                     $result->transactionResponse->messages->message[0]->description
461 461
                 )
462 462
 			);
@@ -465,11 +465,11 @@  discard block
 block discarded – undo
465 465
 
466 466
 		}
467 467
 
468
-        wpinv_set_error( 'card_declined' );
468
+        wpinv_set_error('card_declined');
469 469
 
470
-        if ( ! empty( $result->transactionResponse->errors ) ) {
470
+        if (!empty($result->transactionResponse->errors)) {
471 471
             $errors = (object) $result->transactionResponse->errors;
472
-            wpinv_set_error( $errors->error[0]->errorCode, esc_html( $errors->error[0]->errorText ) );
472
+            wpinv_set_error($errors->error[0]->errorCode, esc_html($errors->error[0]->errorText));
473 473
         }
474 474
 
475 475
     }
@@ -481,7 +481,7 @@  discard block
 block discarded – undo
481 481
 	 * @param array $card Card details.
482 482
 	 * @return array
483 483
 	 */
484
-	public function get_payment_information( $card ) {
484
+	public function get_payment_information($card) {
485 485
         return array(
486 486
 
487 487
             'creditCard' => array(
@@ -500,8 +500,8 @@  discard block
 block discarded – undo
500 500
 	 * @param WPInv_Invoice $invoice Invoice.
501 501
 	 * @return string
502 502
 	 */
503
-	public function get_customer_profile_meta_name( $invoice ) {
504
-        return $this->is_sandbox( $invoice ) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id';
503
+	public function get_customer_profile_meta_name($invoice) {
504
+        return $this->is_sandbox($invoice) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id';
505 505
     }
506 506
 
507 507
     /**
@@ -512,34 +512,34 @@  discard block
 block discarded – undo
512 512
      * @param WPInv_Invoice $invoice
513 513
 	 * @return WP_Error|string The payment profile id
514 514
 	 */
515
-	public function validate_submission_data( $submission_data, $invoice ) {
515
+	public function validate_submission_data($submission_data, $invoice) {
516 516
 
517 517
         // Validate authentication details.
518 518
         $auth = $this->get_auth_params();
519 519
 
520
-        if ( empty( $auth['name'] ) || empty( $auth['transactionKey'] ) ) {
521
-            return new WP_Error( 'invalid_settings', __( 'Please set-up your login id and transaction key before using this gateway.', 'invoicing' ) );
520
+        if (empty($auth['name']) || empty($auth['transactionKey'])) {
521
+            return new WP_Error('invalid_settings', __('Please set-up your login id and transaction key before using this gateway.', 'invoicing'));
522 522
         }
523 523
 
524 524
         // Validate the payment method.
525
-        if ( empty( $submission_data['getpaid-authorizenet-payment-method'] ) ) {
526
-            return new WP_Error( 'invalid_payment_method', __( 'Please select a different payment method or add a new card.', 'invoicing' ) );
525
+        if (empty($submission_data['getpaid-authorizenet-payment-method'])) {
526
+            return new WP_Error('invalid_payment_method', __('Please select a different payment method or add a new card.', 'invoicing'));
527 527
         }
528 528
 
529 529
         // Are we adding a new payment method?
530
-        if ( 'new' != $submission_data['getpaid-authorizenet-payment-method'] ) {
530
+        if ('new' != $submission_data['getpaid-authorizenet-payment-method']) {
531 531
             return $submission_data['getpaid-authorizenet-payment-method'];
532 532
         }
533 533
 
534 534
         // Retrieve the customer profile id.
535
-        $profile_id = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
535
+        $profile_id = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true);
536 536
 
537 537
         // Create payment method.
538
-        if ( empty( $profile_id ) ) {
539
-            return $this->create_customer_profile( $invoice, $submission_data, ! empty( $submission_data['getpaid-authorizenet-new-payment-method'] ) );
538
+        if (empty($profile_id)) {
539
+            return $this->create_customer_profile($invoice, $submission_data, !empty($submission_data['getpaid-authorizenet-new-payment-method']));
540 540
         }
541 541
 
542
-        return $this->create_customer_payment_profile( $profile_id, $invoice, $submission_data, ! empty( $submission_data['getpaid-authorizenet-new-payment-method'] ) );
542
+        return $this->create_customer_payment_profile($profile_id, $invoice, $submission_data, !empty($submission_data['getpaid-authorizenet-new-payment-method']));
543 543
 
544 544
     }
545 545
 
@@ -550,32 +550,32 @@  discard block
 block discarded – undo
550 550
 	 * @param WPInv_Invoice $invoice Invoice.
551 551
 	 * @return array
552 552
 	 */
553
-	public function get_line_items( $invoice ) {
553
+	public function get_line_items($invoice) {
554 554
         $items = array();
555 555
 
556
-        foreach ( $invoice->get_items() as $item ) {
556
+        foreach ($invoice->get_items() as $item) {
557 557
 
558 558
             $amount  = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
559 559
             $items[] = array(
560
-                'itemId'      => getpaid_limit_length( $item->get_id(), 31 ),
561
-                'name'        => getpaid_limit_length( $item->get_raw_name(), 31 ),
562
-                'description' => getpaid_limit_length( $item->get_description(), 255 ),
563
-                'quantity'    => (string) ( $invoice->get_template() == 'amount' ? 1 : $item->get_quantity() ),
560
+                'itemId'      => getpaid_limit_length($item->get_id(), 31),
561
+                'name'        => getpaid_limit_length($item->get_raw_name(), 31),
562
+                'description' => getpaid_limit_length($item->get_description(), 255),
563
+                'quantity'    => (string) ($invoice->get_template() == 'amount' ? 1 : $item->get_quantity()),
564 564
                 'unitPrice'   => (float) $amount,
565 565
                 'taxable'     => wpinv_use_taxes() && $invoice->is_taxable() && 'tax-exempt' != $item->get_vat_rule(),
566 566
             );
567 567
 
568 568
         }
569 569
 
570
-        foreach ( $invoice->get_fees() as $fee_name => $fee ) {
570
+        foreach ($invoice->get_fees() as $fee_name => $fee) {
571 571
 
572
-            $amount  = $invoice->is_renewal() ? $fee['recurring_fee'] : $fee['initial_fee'];
572
+            $amount = $invoice->is_renewal() ? $fee['recurring_fee'] : $fee['initial_fee'];
573 573
 
574
-            if ( $amount > 0 ) {
574
+            if ($amount > 0) {
575 575
                 $items[] = array(
576
-                    'itemId'      => getpaid_limit_length( $fee_name, 31 ),
577
-                    'name'        => getpaid_limit_length( $fee_name, 31 ),
578
-                    'description' => getpaid_limit_length( $fee_name, 255 ),
576
+                    'itemId'      => getpaid_limit_length($fee_name, 31),
577
+                    'name'        => getpaid_limit_length($fee_name, 31),
578
+                    'description' => getpaid_limit_length($fee_name, 255),
579 579
                     'quantity'    => '1',
580 580
                     'unitPrice'   => (float) $amount,
581 581
                     'taxable'     => false,
@@ -595,36 +595,36 @@  discard block
 block discarded – undo
595 595
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
596 596
 	 * @return array
597 597
 	 */
598
-	public function process_payment( $invoice, $submission_data, $submission ) {
598
+	public function process_payment($invoice, $submission_data, $submission) {
599 599
 
600 600
         // Validate the submitted data.
601
-        $payment_profile_id = $this->validate_submission_data( $submission_data, $invoice );
601
+        $payment_profile_id = $this->validate_submission_data($submission_data, $invoice);
602 602
 
603 603
         // Do we have an error?
604
-        if ( is_wp_error( $payment_profile_id ) ) {
605
-            wpinv_set_error( $payment_profile_id->get_error_code(), $payment_profile_id->get_error_message() );
606
-            wpinv_send_back_to_checkout( $invoice );
604
+        if (is_wp_error($payment_profile_id)) {
605
+            wpinv_set_error($payment_profile_id->get_error_code(), $payment_profile_id->get_error_message());
606
+            wpinv_send_back_to_checkout($invoice);
607 607
         }
608 608
 
609 609
         // Save the payment method to the order.
610
-        update_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', $payment_profile_id );
610
+        update_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', $payment_profile_id);
611 611
 
612 612
         // Check if this is a subscription or not.
613
-        $subscriptions = getpaid_get_invoice_subscriptions( $invoice );
614
-        if ( ! empty( $subscriptions ) ) {
615
-            $this->process_subscription( $invoice, $subscriptions );
613
+        $subscriptions = getpaid_get_invoice_subscriptions($invoice);
614
+        if (!empty($subscriptions)) {
615
+            $this->process_subscription($invoice, $subscriptions);
616 616
         }
617 617
 
618 618
         // If it is free, send to the success page.
619
-        if ( ! $invoice->needs_payment() ) {
619
+        if (!$invoice->needs_payment()) {
620 620
             $invoice->mark_paid();
621
-            wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
621
+            wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
622 622
         }
623 623
 
624 624
         // Charge the payment profile.
625
-        $this->process_initial_payment( $invoice );
625
+        $this->process_initial_payment($invoice);
626 626
 
627
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
627
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
628 628
 
629 629
         exit;
630 630
 
@@ -635,23 +635,23 @@  discard block
 block discarded – undo
635 635
 	 *
636 636
      * @param WPInv_Invoice $invoice Invoice.
637 637
 	 */
638
-	protected function process_initial_payment( $invoice ) {
638
+	protected function process_initial_payment($invoice) {
639 639
 
640
-		$payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
641
-        $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
642
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
640
+		$payment_profile_id = get_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
641
+        $customer_profile = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true);
642
+		$result             = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $invoice);
643 643
 
644 644
 		// Do we have an error?
645
-		if ( is_wp_error( $result ) ) {
646
-			wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
647
-			wpinv_send_back_to_checkout( $invoice );
645
+		if (is_wp_error($result)) {
646
+			wpinv_set_error($result->get_error_code(), $result->get_error_message());
647
+			wpinv_send_back_to_checkout($invoice);
648 648
 		}
649 649
 
650 650
 		// Process the response.
651
-		$this->process_charge_response( $result, $invoice );
651
+		$this->process_charge_response($result, $invoice);
652 652
 
653
-		if ( wpinv_get_errors() ) {
654
-			wpinv_send_back_to_checkout( $invoice );
653
+		if (wpinv_get_errors()) {
654
+			wpinv_send_back_to_checkout($invoice);
655 655
 		}
656 656
 
657 657
 	}
@@ -662,30 +662,30 @@  discard block
 block discarded – undo
662 662
      * @param WPInv_Invoice $invoice Invoice.
663 663
      * @param WPInv_Subscription[]|WPInv_Subscription $subscriptions Subscriptions.
664 664
 	 */
665
-	public function process_subscription( $invoice, $subscriptions ) {
665
+	public function process_subscription($invoice, $subscriptions) {
666 666
 
667 667
         // Check if there is an initial amount to charge.
668
-        if ( (float) $invoice->get_total() > 0 ) {
669
-			$this->process_initial_payment( $invoice );
668
+        if ((float) $invoice->get_total() > 0) {
669
+			$this->process_initial_payment($invoice);
670 670
         }
671 671
 
672 672
         // Activate the subscriptions.
673
-        $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
673
+        $subscriptions = is_array($subscriptions) ? $subscriptions : array($subscriptions);
674 674
 
675
-        foreach ( $subscriptions as $subscription ) {
676
-            if ( $subscription->exists() ) {
677
-                $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
678
-                $expiry   = date( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
675
+        foreach ($subscriptions as $subscription) {
676
+            if ($subscription->exists()) {
677
+                $duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created());
678
+                $expiry   = date('Y-m-d H:i:s', (current_time('timestamp') + $duration));
679 679
 
680
-                $subscription->set_next_renewal_date( $expiry );
681
-                $subscription->set_date_created( current_time( 'mysql' ) );
682
-                $subscription->set_profile_id( $invoice->generate_key( 'authnet_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ) );
680
+                $subscription->set_next_renewal_date($expiry);
681
+                $subscription->set_date_created(current_time('mysql'));
682
+                $subscription->set_profile_id($invoice->generate_key('authnet_sub_' . $invoice->get_id() . '_' . $subscription->get_id()));
683 683
                 $subscription->activate();
684 684
             }
685 685
         }
686 686
 
687 687
 		// Redirect to the success page.
688
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
688
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
689 689
 
690 690
     }
691 691
 
@@ -695,11 +695,11 @@  discard block
 block discarded – undo
695 695
 	 *
696 696
      * @param WPInv_Subscription $subscription
697 697
 	 */
698
-	public function maybe_renew_subscription( $subscription ) {
698
+	public function maybe_renew_subscription($subscription) {
699 699
 
700 700
         // Ensure its our subscription && it's active.
701
-        if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
702
-            $this->renew_subscription( $subscription );
701
+        if ($this->id === $subscription->get_gateway() && $subscription->has_status('active trialling')) {
702
+            $this->renew_subscription($subscription);
703 703
         }
704 704
 
705 705
 	}
@@ -709,28 +709,28 @@  discard block
 block discarded – undo
709 709
 	 *
710 710
      * @param WPInv_Subscription $subscription
711 711
 	 */
712
-	public function renew_subscription( $subscription ) {
712
+	public function renew_subscription($subscription) {
713 713
 
714 714
 		// Generate the renewal invoice.
715 715
 		$new_invoice = $subscription->create_payment();
716 716
 		$old_invoice = $subscription->get_parent_payment();
717 717
 
718
-        if ( empty( $new_invoice ) ) {
719
-            $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false );
718
+        if (empty($new_invoice)) {
719
+            $old_invoice->add_note(__('Error generating a renewal invoice.', 'invoicing'), false, false, false);
720 720
             $subscription->failing();
721 721
             return;
722 722
         }
723 723
 
724 724
         // Charge the payment method.
725
-		$payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
726
-		$customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
727
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
725
+		$payment_profile_id = get_post_meta($old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
726
+		$customer_profile   = get_user_meta($old_invoice->get_user_id(), $this->get_customer_profile_meta_name($old_invoice), true);
727
+		$result             = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $new_invoice);
728 728
 
729 729
 		// Do we have an error?
730
-		if ( is_wp_error( $result ) ) {
730
+		if (is_wp_error($result)) {
731 731
 
732 732
 			$old_invoice->add_note(
733
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
733
+				sprintf(__('Error renewing subscription : ( %s ).', 'invoicing'), $result->get_error_message()),
734 734
 				true,
735 735
 				false,
736 736
 				true
@@ -741,12 +741,12 @@  discard block
 block discarded – undo
741 741
 		}
742 742
 
743 743
 		// Process the response.
744
-		$this->process_charge_response( $result, $new_invoice );
744
+		$this->process_charge_response($result, $new_invoice);
745 745
 
746
-		if ( wpinv_get_errors() ) {
746
+		if (wpinv_get_errors()) {
747 747
 
748 748
 			$old_invoice->add_note(
749
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
749
+				sprintf(__('Error renewing subscription : ( %s ).', 'invoicing'), getpaid_get_errors_html()),
750 750
 				true,
751 751
 				false,
752 752
 				true
@@ -756,7 +756,7 @@  discard block
 block discarded – undo
756 756
 
757 757
         }
758 758
 
759
-        $subscription->add_payment( array(), $new_invoice );
759
+        $subscription->add_payment(array(), $new_invoice);
760 760
         $subscription->renew();
761 761
     }
762 762
 
@@ -767,33 +767,33 @@  discard block
 block discarded – undo
767 767
 	 * @param GetPaid_Form_Item[] $items
768 768
 	 * @return WPInv_Invoice
769 769
 	 */
770
-	public function process_addons( $invoice, $items ) {
770
+	public function process_addons($invoice, $items) {
771 771
 
772 772
         global $getpaid_authorize_addons;
773 773
 
774 774
         $getpaid_authorize_addons = array();
775
-        foreach ( $items as $item ) {
775
+        foreach ($items as $item) {
776 776
 
777
-            if ( is_null( $invoice->get_item( $item->get_id() ) ) && ! is_wp_error( $invoice->add_item( $item ) ) ) {
777
+            if (is_null($invoice->get_item($item->get_id())) && !is_wp_error($invoice->add_item($item))) {
778 778
                 $getpaid_authorize_addons[] = $item;
779 779
             }
780 780
 }
781 781
 
782
-        if ( empty( $getpaid_authorize_addons ) ) {
782
+        if (empty($getpaid_authorize_addons)) {
783 783
             return;
784 784
         }
785 785
 
786 786
         $invoice->recalculate_total();
787 787
 
788
-        $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
789
-		$customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
788
+        $payment_profile_id = get_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
789
+		$customer_profile = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true);
790 790
 
791
-        add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 );
792
-        $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
793
-        remove_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ) );
791
+        add_filter('getpaid_authorizenet_charge_customer_payment_profile_args', array($this, 'filter_addons_request'), 10, 2);
792
+        $result = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $invoice);
793
+        remove_filter('getpaid_authorizenet_charge_customer_payment_profile_args', array($this, 'filter_addons_request'));
794 794
 
795
-        if ( is_wp_error( $result ) ) {
796
-            wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
795
+        if (is_wp_error($result)) {
796
+            wpinv_set_error($result->get_error_code(), $result->get_error_message());
797 797
             return;
798 798
         }
799 799
 
@@ -806,19 +806,19 @@  discard block
 block discarded – undo
806 806
      * @param array $args
807 807
 	 * @return array
808 808
 	 */
809
-    public function filter_addons_request( $args ) {
809
+    public function filter_addons_request($args) {
810 810
 
811 811
         global $getpaid_authorize_addons;
812 812
         $total = 0;
813 813
 
814
-        foreach ( $getpaid_authorize_addons as $addon ) {
814
+        foreach ($getpaid_authorize_addons as $addon) {
815 815
             $total += $addon->get_sub_total();
816 816
         }
817 817
 
818 818
         $args['createTransactionRequest']['transactionRequest']['amount'] = $total;
819 819
 
820
-        if ( isset( $args['createTransactionRequest']['transactionRequest']['tax'] ) ) {
821
-            unset( $args['createTransactionRequest']['transactionRequest']['tax'] );
820
+        if (isset($args['createTransactionRequest']['transactionRequest']['tax'])) {
821
+            unset($args['createTransactionRequest']['transactionRequest']['tax']);
822 822
         }
823 823
 
824 824
         return $args;
@@ -831,7 +831,7 @@  discard block
 block discarded – undo
831 831
     public function sandbox_notice() {
832 832
 
833 833
         return sprintf(
834
-            __( 'SANDBOX ENABLED. You can use sandbox testing details only. See the %1$sAuthorize.NET Sandbox Testing Guide%2$s for more details.', 'invoicing' ),
834
+            __('SANDBOX ENABLED. You can use sandbox testing details only. See the %1$sAuthorize.NET Sandbox Testing Guide%2$s for more details.', 'invoicing'),
835 835
             '<a href="https://developer.authorize.net/hello_world/testing_guide.html">',
836 836
             '</a>'
837 837
         );
@@ -843,42 +843,42 @@  discard block
 block discarded – undo
843 843
 	 *
844 844
 	 * @param array $admin_settings
845 845
 	 */
846
-	public function admin_settings( $admin_settings ) {
846
+	public function admin_settings($admin_settings) {
847 847
 
848 848
         $currencies = sprintf(
849
-            __( 'Supported Currencies: %s', 'invoicing' ),
850
-            implode( ', ', $this->currencies )
849
+            __('Supported Currencies: %s', 'invoicing'),
850
+            implode(', ', $this->currencies)
851 851
         );
852 852
 
853 853
         $admin_settings['authorizenet_active']['desc'] .= " ($currencies)";
854
-        $admin_settings['authorizenet_desc']['std']     = __( 'Pay securely using your credit or debit card.', 'invoicing' );
854
+        $admin_settings['authorizenet_desc']['std']     = __('Pay securely using your credit or debit card.', 'invoicing');
855 855
 
856 856
         $admin_settings['authorizenet_login_id'] = array(
857 857
             'type' => 'text',
858 858
             'id'   => 'authorizenet_login_id',
859
-            'name' => __( 'API Login ID', 'invoicing' ),
860
-            'desc' => '<a href="https://support.authorize.net/s/article/How-do-I-obtain-my-API-Login-ID-and-Transaction-Key"><em>' . __( 'How do I obtain my API Login ID and Transaction Key?', 'invoicing' ) . '</em></a>',
859
+            'name' => __('API Login ID', 'invoicing'),
860
+            'desc' => '<a href="https://support.authorize.net/s/article/How-do-I-obtain-my-API-Login-ID-and-Transaction-Key"><em>' . __('How do I obtain my API Login ID and Transaction Key?', 'invoicing') . '</em></a>',
861 861
         );
862 862
 
863 863
         $admin_settings['authorizenet_transaction_key'] = array(
864 864
             'type' => 'text',
865 865
             'id'   => 'authorizenet_transaction_key',
866
-            'name' => __( 'Transaction Key', 'invoicing' ),
866
+            'name' => __('Transaction Key', 'invoicing'),
867 867
         );
868 868
 
869 869
         $admin_settings['authorizenet_signature_key'] = array(
870 870
             'type' => 'text',
871 871
             'id'   => 'authorizenet_signature_key',
872
-            'name' => __( 'Signature Key', 'invoicing' ),
873
-            'desc' => '<a href="https://support.authorize.net/s/article/What-is-a-Signature-Key"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>',
872
+            'name' => __('Signature Key', 'invoicing'),
873
+            'desc' => '<a href="https://support.authorize.net/s/article/What-is-a-Signature-Key"><em>' . __('Learn more.', 'invoicing') . '</em></a>',
874 874
         );
875 875
 
876 876
         $admin_settings['authorizenet_ipn_url'] = array(
877 877
             'type'     => 'ipn_url',
878 878
             'id'       => 'authorizenet_ipn_url',
879
-            'name'     => __( 'Webhook URL', 'invoicing' ),
879
+            'name'     => __('Webhook URL', 'invoicing'),
880 880
             'std'      => $this->notify_url,
881
-            'desc'     => __( 'Create a new webhook using this URL as the endpoint URL and set it to receive all payment events.', 'invoicing' ) . ' <a href="https://support.authorize.net/s/article/How-do-I-add-edit-Webhook-notification-end-points"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>',
881
+            'desc'     => __('Create a new webhook using this URL as the endpoint URL and set it to receive all payment events.', 'invoicing') . ' <a href="https://support.authorize.net/s/article/How-do-I-add-edit-Webhook-notification-end-points"><em>' . __('Learn more.', 'invoicing') . '</em></a>',
882 882
             'custom'   => 'authorizenet',
883 883
             'readonly' => true,
884 884
         );
Please login to merge, or discard this patch.
includes/payments/class-getpaid-checkout.php 2 patches
Indentation   +304 added lines, -304 removed lines patch added patch discarded remove patch
@@ -12,184 +12,184 @@  discard block
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Checkout {
14 14
 
15
-	/**
16
-	 * @var GetPaid_Payment_Form_Submission
17
-	 */
18
-	protected $payment_form_submission;
19
-
20
-	/**
21
-	 * Class constructor.
22
-	 *
23
-	 * @param GetPaid_Payment_Form_Submission $submission
24
-	 */
25
-	public function __construct( $submission ) {
26
-		$this->payment_form_submission = $submission;
27
-	}
28
-
29
-	/**
30
-	 * Processes the checkout.
31
-	 *
32
-	 */
33
-	public function process_checkout() {
34
-
35
-		// Validate the submission.
36
-		$this->validate_submission();
37
-
38
-		// Prepare the invoice.
39
-		$items      = $this->get_submission_items();
40
-		$invoice    = $this->get_submission_invoice();
41
-		$invoice    = $this->process_submission_invoice( $invoice, $items );
42
-		$prepared   = $this->prepare_submission_data_for_saving();
43
-
44
-		$this->prepare_billing_info( $invoice );
45
-
46
-		$shipping   = $this->prepare_shipping_info( $invoice );
47
-
48
-		// Save the invoice.
49
-		$invoice->set_is_viewed( true );
50
-		$invoice->recalculate_total();
15
+    /**
16
+     * @var GetPaid_Payment_Form_Submission
17
+     */
18
+    protected $payment_form_submission;
19
+
20
+    /**
21
+     * Class constructor.
22
+     *
23
+     * @param GetPaid_Payment_Form_Submission $submission
24
+     */
25
+    public function __construct( $submission ) {
26
+        $this->payment_form_submission = $submission;
27
+    }
28
+
29
+    /**
30
+     * Processes the checkout.
31
+     *
32
+     */
33
+    public function process_checkout() {
34
+
35
+        // Validate the submission.
36
+        $this->validate_submission();
37
+
38
+        // Prepare the invoice.
39
+        $items      = $this->get_submission_items();
40
+        $invoice    = $this->get_submission_invoice();
41
+        $invoice    = $this->process_submission_invoice( $invoice, $items );
42
+        $prepared   = $this->prepare_submission_data_for_saving();
43
+
44
+        $this->prepare_billing_info( $invoice );
45
+
46
+        $shipping   = $this->prepare_shipping_info( $invoice );
47
+
48
+        // Save the invoice.
49
+        $invoice->set_is_viewed( true );
50
+        $invoice->recalculate_total();
51 51
         $invoice->save();
52 52
 
53
-		do_action( 'getpaid_checkout_invoice_updated', $invoice );
53
+        do_action( 'getpaid_checkout_invoice_updated', $invoice );
54 54
 
55
-		// Send to the gateway.
56
-		$this->post_process_submission( $invoice, $prepared, $shipping );
57
-	}
55
+        // Send to the gateway.
56
+        $this->post_process_submission( $invoice, $prepared, $shipping );
57
+    }
58 58
 
59
-	/**
60
-	 * Validates the submission.
61
-	 *
62
-	 */
63
-	protected function validate_submission() {
59
+    /**
60
+     * Validates the submission.
61
+     *
62
+     */
63
+    protected function validate_submission() {
64 64
 
65
-		$submission = $this->payment_form_submission;
66
-		$data       = $submission->get_data();
65
+        $submission = $this->payment_form_submission;
66
+        $data       = $submission->get_data();
67 67
 
68
-		// Do we have an error?
68
+        // Do we have an error?
69 69
         if ( ! empty( $submission->last_error ) ) {
70
-			wp_send_json_error( $submission->last_error );
70
+            wp_send_json_error( $submission->last_error );
71 71
         }
72 72
 
73
-		// We need a billing email.
73
+        // We need a billing email.
74 74
         if ( ! $submission->has_billing_email() ) {
75 75
             wp_send_json_error( __( 'Provide a valid billing email.', 'invoicing' ) );
76
-		}
76
+        }
77 77
 
78
-		// Non-recurring gateways should not be allowed to process recurring invoices.
79
-		if ( $submission->should_collect_payment_details() && $submission->has_recurring && ! wpinv_gateway_support_subscription( $data['wpi-gateway'] ) ) {
80
-			wp_send_json_error( __( 'The selected payment gateway does not support subscription payments.', 'invoicing' ) );
81
-		}
78
+        // Non-recurring gateways should not be allowed to process recurring invoices.
79
+        if ( $submission->should_collect_payment_details() && $submission->has_recurring && ! wpinv_gateway_support_subscription( $data['wpi-gateway'] ) ) {
80
+            wp_send_json_error( __( 'The selected payment gateway does not support subscription payments.', 'invoicing' ) );
81
+        }
82 82
 
83
-		// Ensure the gateway is active.
84
-		if ( $submission->should_collect_payment_details() && ! wpinv_is_gateway_active( $data['wpi-gateway'] ) ) {
85
-			wp_send_json_error( __( 'The selected payment gateway is not active', 'invoicing' ) );
86
-		}
83
+        // Ensure the gateway is active.
84
+        if ( $submission->should_collect_payment_details() && ! wpinv_is_gateway_active( $data['wpi-gateway'] ) ) {
85
+            wp_send_json_error( __( 'The selected payment gateway is not active', 'invoicing' ) );
86
+        }
87 87
 
88
-		// Clear any existing errors.
89
-		wpinv_clear_errors();
88
+        // Clear any existing errors.
89
+        wpinv_clear_errors();
90 90
 
91
-		// Allow themes and plugins to hook to errors
92
-		do_action( 'getpaid_checkout_error_checks', $submission );
91
+        // Allow themes and plugins to hook to errors
92
+        do_action( 'getpaid_checkout_error_checks', $submission );
93 93
 
94
-		// Do we have any errors?
94
+        // Do we have any errors?
95 95
         if ( wpinv_get_errors() ) {
96 96
             wp_send_json_error( getpaid_get_errors_html() );
97
-		}
97
+        }
98 98
 
99
-	}
99
+    }
100 100
 
101
-	/**
102
-	 * Retrieves submission items.
103
-	 *
104
-	 * @return GetPaid_Form_Item[]
105
-	 */
106
-	protected function get_submission_items() {
101
+    /**
102
+     * Retrieves submission items.
103
+     *
104
+     * @return GetPaid_Form_Item[]
105
+     */
106
+    protected function get_submission_items() {
107 107
 
108
-		$items = $this->payment_form_submission->get_items();
108
+        $items = $this->payment_form_submission->get_items();
109 109
 
110 110
         // Ensure that we have items.
111 111
         if ( empty( $items ) && ! $this->payment_form_submission->has_fees() ) {
112 112
             wp_send_json_error( __( 'Please provide at least one item or amount.', 'invoicing' ) );
113
-		}
114
-
115
-		return $items;
116
-	}
117
-
118
-	/**
119
-	 * Retrieves submission invoice.
120
-	 *
121
-	 * @return WPInv_Invoice
122
-	 */
123
-	protected function get_submission_invoice() {
124
-		$submission = $this->payment_form_submission;
125
-
126
-		if ( ! $submission->has_invoice() ) {
127
-			$invoice = new WPInv_Invoice();
128
-			$invoice->set_created_via( 'payment_form' );
129
-			return $invoice;
130 113
         }
131 114
 
132
-		$invoice = $submission->get_invoice();
115
+        return $items;
116
+    }
133 117
 
134
-		// Make sure that it is neither paid or refunded.
135
-		if ( $invoice->is_paid() || $invoice->is_refunded() ) {
136
-			wp_send_json_error( __( 'This invoice has already been paid for.', 'invoicing' ) );
137
-		}
118
+    /**
119
+     * Retrieves submission invoice.
120
+     *
121
+     * @return WPInv_Invoice
122
+     */
123
+    protected function get_submission_invoice() {
124
+        $submission = $this->payment_form_submission;
138 125
 
139
-		return $invoice;
140
-	}
126
+        if ( ! $submission->has_invoice() ) {
127
+            $invoice = new WPInv_Invoice();
128
+            $invoice->set_created_via( 'payment_form' );
129
+            return $invoice;
130
+        }
141 131
 
142
-	/**
143
-	 * Processes the submission invoice.
144
-	 *
145
-	 * @param WPInv_Invoice $invoice
146
-	 * @param GetPaid_Form_Item[] $items
147
-	 * @return WPInv_Invoice
148
-	 */
149
-	protected function process_submission_invoice( $invoice, $items ) {
132
+        $invoice = $submission->get_invoice();
150 133
 
151
-		$submission = $this->payment_form_submission;
134
+        // Make sure that it is neither paid or refunded.
135
+        if ( $invoice->is_paid() || $invoice->is_refunded() ) {
136
+            wp_send_json_error( __( 'This invoice has already been paid for.', 'invoicing' ) );
137
+        }
152 138
 
153
-		// Set-up the invoice details.
154
-		$invoice->set_email( sanitize_email( $submission->get_billing_email() ) );
155
-		$invoice->set_user_id( $this->get_submission_customer() );
156
-		$invoice->set_payment_form( absint( $submission->get_payment_form()->get_id() ) );
139
+        return $invoice;
140
+    }
141
+
142
+    /**
143
+     * Processes the submission invoice.
144
+     *
145
+     * @param WPInv_Invoice $invoice
146
+     * @param GetPaid_Form_Item[] $items
147
+     * @return WPInv_Invoice
148
+     */
149
+    protected function process_submission_invoice( $invoice, $items ) {
150
+
151
+        $submission = $this->payment_form_submission;
152
+
153
+        // Set-up the invoice details.
154
+        $invoice->set_email( sanitize_email( $submission->get_billing_email() ) );
155
+        $invoice->set_user_id( $this->get_submission_customer() );
156
+        $invoice->set_payment_form( absint( $submission->get_payment_form()->get_id() ) );
157 157
         $invoice->set_items( $items );
158 158
         $invoice->set_fees( $submission->get_fees() );
159 159
         $invoice->set_taxes( $submission->get_taxes() );
160
-		$invoice->set_discounts( $submission->get_discounts() );
161
-		$invoice->set_gateway( $submission->get_field( 'wpi-gateway' ) );
162
-		$invoice->set_currency( $submission->get_currency() );
160
+        $invoice->set_discounts( $submission->get_discounts() );
161
+        $invoice->set_gateway( $submission->get_field( 'wpi-gateway' ) );
162
+        $invoice->set_currency( $submission->get_currency() );
163 163
 
164
-		if ( $submission->has_shipping() ) {
165
-			$invoice->set_shipping( $submission->get_shipping() );
166
-		}
164
+        if ( $submission->has_shipping() ) {
165
+            $invoice->set_shipping( $submission->get_shipping() );
166
+        }
167 167
 
168
-		$address_confirmed = $submission->get_field( 'confirm-address' );
169
-		$invoice->set_address_confirmed( ! empty( $address_confirmed ) );
168
+        $address_confirmed = $submission->get_field( 'confirm-address' );
169
+        $invoice->set_address_confirmed( ! empty( $address_confirmed ) );
170 170
 
171
-		if ( $submission->has_discount_code() ) {
171
+        if ( $submission->has_discount_code() ) {
172 172
             $invoice->set_discount_code( $submission->get_discount_code() );
173
-		}
174
-
175
-		getpaid_maybe_add_default_address( $invoice );
176
-		return $invoice;
177
-	}
178
-
179
-	/**
180
-	 * Retrieves the submission's customer.
181
-	 *
182
-	 * @return int The customer id.
183
-	 */
184
-	protected function get_submission_customer() {
185
-		$submission = $this->payment_form_submission;
186
-
187
-		// If this is an existing invoice...
188
-		if ( $submission->has_invoice() ) {
189
-			return $submission->get_invoice()->get_user_id();
190
-		}
191
-
192
-		// (Maybe) create the user.
173
+        }
174
+
175
+        getpaid_maybe_add_default_address( $invoice );
176
+        return $invoice;
177
+    }
178
+
179
+    /**
180
+     * Retrieves the submission's customer.
181
+     *
182
+     * @return int The customer id.
183
+     */
184
+    protected function get_submission_customer() {
185
+        $submission = $this->payment_form_submission;
186
+
187
+        // If this is an existing invoice...
188
+        if ( $submission->has_invoice() ) {
189
+            return $submission->get_invoice()->get_user_id();
190
+        }
191
+
192
+        // (Maybe) create the user.
193 193
         $user = get_current_user_id();
194 194
 
195 195
         if ( empty( $user ) ) {
@@ -197,16 +197,16 @@  discard block
 block discarded – undo
197 197
         }
198 198
 
199 199
         if ( empty( $user ) ) {
200
-			$name = array( $submission->get_field( 'wpinv_first_name', 'billing' ), $submission->get_field( 'wpinv_last_name', 'billing' ) );
201
-			$name = implode( '', array_filter( $name ) );
200
+            $name = array( $submission->get_field( 'wpinv_first_name', 'billing' ), $submission->get_field( 'wpinv_last_name', 'billing' ) );
201
+            $name = implode( '', array_filter( $name ) );
202 202
             $user = wpinv_create_user( $submission->get_billing_email(), $name );
203 203
 
204
-			// (Maybe) send new user notification.
205
-			$should_send_notification = wpinv_get_option( 'disable_new_user_emails' );
206
-			if ( ! empty( $user ) && is_numeric( $user ) && apply_filters( 'getpaid_send_new_user_notification', empty( $should_send_notification ), $user ) ) {
207
-				wp_send_new_user_notifications( $user, 'user' );
208
-			}
209
-		}
204
+            // (Maybe) send new user notification.
205
+            $should_send_notification = wpinv_get_option( 'disable_new_user_emails' );
206
+            if ( ! empty( $user ) && is_numeric( $user ) && apply_filters( 'getpaid_send_new_user_notification', empty( $should_send_notification ), $user ) ) {
207
+                wp_send_new_user_notifications( $user, 'user' );
208
+            }
209
+        }
210 210
 
211 211
         if ( is_wp_error( $user ) ) {
212 212
             wp_send_json_error( $user->get_error_message() );
@@ -214,49 +214,49 @@  discard block
 block discarded – undo
214 214
 
215 215
         if ( is_numeric( $user ) ) {
216 216
             return $user;
217
-		}
217
+        }
218 218
 
219
-		return $user->ID;
219
+        return $user->ID;
220 220
 
221
-	}
221
+    }
222 222
 
223
-	/**
223
+    /**
224 224
      * Prepares submission data for saving to the database.
225 225
      *
226
-	 * @return array
226
+     * @return array
227 227
      */
228 228
     public function prepare_submission_data_for_saving() {
229 229
 
230
-		$submission = $this->payment_form_submission;
230
+        $submission = $this->payment_form_submission;
231 231
 
232
-		// Prepared submission details.
232
+        // Prepared submission details.
233 233
         $prepared = array(
234
-			'all'  => array(),
235
-			'meta' => array(),
236
-		);
234
+            'all'  => array(),
235
+            'meta' => array(),
236
+        );
237 237
 
238 238
         // Raw submission details.
239
-		$data     = $submission->get_data();
239
+        $data     = $submission->get_data();
240 240
 
241
-		// Loop through the submitted details.
241
+        // Loop through the submitted details.
242 242
         foreach ( $submission->get_payment_form()->get_elements() as $field ) {
243 243
 
244
-			// Skip premade fields.
244
+            // Skip premade fields.
245 245
             if ( ! empty( $field['premade'] ) ) {
246 246
                 continue;
247 247
             }
248 248
 
249
-			// Ensure address is provided.
250
-			if ( $field['type'] == 'address' ) {
249
+            // Ensure address is provided.
250
+            if ( $field['type'] == 'address' ) {
251 251
                 $address_type = isset( $field['address_type'] ) && 'shipping' === $field['address_type'] ? 'shipping' : 'billing';
252 252
 
253
-				foreach ( $field['fields'] as $address_field ) {
253
+                foreach ( $field['fields'] as $address_field ) {
254 254
 
255
-					if ( ! empty( $address_field['visible'] ) && ! empty( $address_field['required'] ) && '' === trim( $_POST[ $address_type ][ $address_field['name'] ] ) ) {
256
-						wp_send_json_error( __( 'Please fill all required fields.', 'invoicing' ) );
257
-					}
258
-			}
259
-		}
255
+                    if ( ! empty( $address_field['visible'] ) && ! empty( $address_field['required'] ) && '' === trim( $_POST[ $address_type ][ $address_field['name'] ] ) ) {
256
+                        wp_send_json_error( __( 'Please fill all required fields.', 'invoicing' ) );
257
+                    }
258
+            }
259
+        }
260 260
 
261 261
             // If it is required and not set, abort.
262 262
             if ( ! $submission->is_required_field_set( $field ) ) {
@@ -266,31 +266,31 @@  discard block
 block discarded – undo
266 266
             // Handle misc fields.
267 267
             if ( isset( $data[ $field['id'] ] ) ) {
268 268
 
269
-				// Uploads.
270
-				if ( $field['type'] === 'file_upload' ) {
271
-					$max_file_num = empty( $field['max_file_num'] ) ? 1 : absint( $field['max_file_num'] );
269
+                // Uploads.
270
+                if ( $field['type'] === 'file_upload' ) {
271
+                    $max_file_num = empty( $field['max_file_num'] ) ? 1 : absint( $field['max_file_num'] );
272 272
 
273
-					if ( count( $data[ $field['id'] ] ) > $max_file_num ) {
274
-						wp_send_json_error( __( 'Maximum number of allowed files exceeded.', 'invoicing' ) );
275
-					}
273
+                    if ( count( $data[ $field['id'] ] ) > $max_file_num ) {
274
+                        wp_send_json_error( __( 'Maximum number of allowed files exceeded.', 'invoicing' ) );
275
+                    }
276 276
 
277
-					$value = array();
277
+                    $value = array();
278 278
 
279
-					foreach ( $data[ $field['id'] ] as $url => $name ) {
280
-						$value[] = sprintf(
281
-							'<a href="%s" target="_blank">%s</a>',
282
-							esc_url_raw( $url ),
283
-							esc_html( $name )
284
-						);
285
-					}
279
+                    foreach ( $data[ $field['id'] ] as $url => $name ) {
280
+                        $value[] = sprintf(
281
+                            '<a href="%s" target="_blank">%s</a>',
282
+                            esc_url_raw( $url ),
283
+                            esc_html( $name )
284
+                        );
285
+                    }
286 286
 
287
-					$value = implode( ' | ', $value );
287
+                    $value = implode( ' | ', $value );
288 288
 
289
-				} elseif ( $field['type'] === 'checkbox' ) {
290
-					$value = isset( $data[ $field['id'] ] ) ? __( 'Yes', 'invoicing' ) : __( 'No', 'invoicing' );
291
-				} else {
292
-					$value = wp_kses_post( $data[ $field['id'] ] );
293
-				}
289
+                } elseif ( $field['type'] === 'checkbox' ) {
290
+                    $value = isset( $data[ $field['id'] ] ) ? __( 'Yes', 'invoicing' ) : __( 'No', 'invoicing' );
291
+                } else {
292
+                    $value = wp_kses_post( $data[ $field['id'] ] );
293
+                }
294 294
 
295 295
                 $label = $field['id'];
296 296
 
@@ -298,188 +298,188 @@  discard block
 block discarded – undo
298 298
                     $label = $field['label'];
299 299
                 }
300 300
 
301
-				if ( ! empty( $field['add_meta'] ) ) {
302
-					$prepared['meta'][ wpinv_clean( $label ) ] = wp_kses_post_deep( $value );
303
-				}
304
-				$prepared['all'][ wpinv_clean( $label ) ] = wp_kses_post_deep( $value );
301
+                if ( ! empty( $field['add_meta'] ) ) {
302
+                    $prepared['meta'][ wpinv_clean( $label ) ] = wp_kses_post_deep( $value );
303
+                }
304
+                $prepared['all'][ wpinv_clean( $label ) ] = wp_kses_post_deep( $value );
305 305
 
306 306
             }
307
-		}
307
+        }
308 308
 
309
-		return $prepared;
309
+        return $prepared;
310 310
 
311
-	}
311
+    }
312 312
 
313
-	/**
313
+    /**
314 314
      * Retrieves address details.
315 315
      *
316
-	 * @return array
317
-	 * @param WPInv_Invoice $invoice
318
-	 * @param string $type
316
+     * @return array
317
+     * @param WPInv_Invoice $invoice
318
+     * @param string $type
319 319
      */
320 320
     public function prepare_address_details( $invoice, $type = 'billing' ) {
321 321
 
322
-		$data     = $this->payment_form_submission->get_data();
323
-		$type     = sanitize_key( $type );
324
-		$address  = array();
325
-		$prepared = array();
322
+        $data     = $this->payment_form_submission->get_data();
323
+        $type     = sanitize_key( $type );
324
+        $address  = array();
325
+        $prepared = array();
326 326
 
327
-		if ( ! empty( $data[ $type ] ) ) {
328
-			$address = $data[ $type ];
329
-		}
327
+        if ( ! empty( $data[ $type ] ) ) {
328
+            $address = $data[ $type ];
329
+        }
330 330
 
331
-		// Clean address details.
332
-		foreach ( $address as $key => $value ) {
333
-			$key             = sanitize_key( $key );
334
-			$key             = str_replace( 'wpinv_', '', $key );
335
-			$value           = wpinv_clean( $value );
336
-			$prepared[ $key ] = apply_filters( "getpaid_checkout_{$type}_address_$key", $value, $this->payment_form_submission, $invoice );
337
-		}
331
+        // Clean address details.
332
+        foreach ( $address as $key => $value ) {
333
+            $key             = sanitize_key( $key );
334
+            $key             = str_replace( 'wpinv_', '', $key );
335
+            $value           = wpinv_clean( $value );
336
+            $prepared[ $key ] = apply_filters( "getpaid_checkout_{$type}_address_$key", $value, $this->payment_form_submission, $invoice );
337
+        }
338 338
 
339
-		// Filter address details.
340
-		$prepared = apply_filters( "getpaid_checkout_{$type}_address", $prepared, $this->payment_form_submission, $invoice );
339
+        // Filter address details.
340
+        $prepared = apply_filters( "getpaid_checkout_{$type}_address", $prepared, $this->payment_form_submission, $invoice );
341 341
 
342
-		// Remove non-whitelisted values.
343
-		return array_filter( $prepared, 'getpaid_is_address_field_whitelisted', ARRAY_FILTER_USE_KEY );
342
+        // Remove non-whitelisted values.
343
+        return array_filter( $prepared, 'getpaid_is_address_field_whitelisted', ARRAY_FILTER_USE_KEY );
344 344
 
345
-	}
345
+    }
346 346
 
347
-	/**
347
+    /**
348 348
      * Prepares the billing details.
349 349
      *
350
-	 * @return array
351
-	 * @param WPInv_Invoice $invoice
350
+     * @return array
351
+     * @param WPInv_Invoice $invoice
352 352
      */
353 353
     protected function prepare_billing_info( &$invoice ) {
354 354
 
355
-		$billing_address = $this->prepare_address_details( $invoice, 'billing' );
355
+        $billing_address = $this->prepare_address_details( $invoice, 'billing' );
356 356
 
357
-		// Update the invoice with the billing details.
358
-		$invoice->set_props( $billing_address );
357
+        // Update the invoice with the billing details.
358
+        $invoice->set_props( $billing_address );
359 359
 
360
-	}
360
+    }
361 361
 
362
-	/**
362
+    /**
363 363
      * Prepares the shipping details.
364 364
      *
365
-	 * @return array
366
-	 * @param WPInv_Invoice $invoice
365
+     * @return array
366
+     * @param WPInv_Invoice $invoice
367 367
      */
368 368
     protected function prepare_shipping_info( $invoice ) {
369 369
 
370
-		$data = $this->payment_form_submission->get_data();
370
+        $data = $this->payment_form_submission->get_data();
371 371
 
372
-		if ( empty( $data['same-shipping-address'] ) ) {
373
-			return $this->prepare_address_details( $invoice, 'shipping' );
374
-		}
372
+        if ( empty( $data['same-shipping-address'] ) ) {
373
+            return $this->prepare_address_details( $invoice, 'shipping' );
374
+        }
375 375
 
376
-		return $this->prepare_address_details( $invoice, 'billing' );
376
+        return $this->prepare_address_details( $invoice, 'billing' );
377 377
 
378
-	}
378
+    }
379 379
 
380
-	/**
381
-	 * Confirms the submission is valid and send users to the gateway.
382
-	 *
383
-	 * @param WPInv_Invoice $invoice
384
-	 * @param array $prepared_payment_form_data
385
-	 * @param array $shipping
386
-	 */
387
-	protected function post_process_submission( $invoice, $prepared_payment_form_data, $shipping ) {
380
+    /**
381
+     * Confirms the submission is valid and send users to the gateway.
382
+     *
383
+     * @param WPInv_Invoice $invoice
384
+     * @param array $prepared_payment_form_data
385
+     * @param array $shipping
386
+     */
387
+    protected function post_process_submission( $invoice, $prepared_payment_form_data, $shipping ) {
388 388
 
389
-		// Ensure the invoice exists.
389
+        // Ensure the invoice exists.
390 390
         if ( ! $invoice->exists() ) {
391 391
             wp_send_json_error( __( 'An error occured while saving your invoice. Please try again.', 'invoicing' ) );
392 392
         }
393 393
 
394
-		// Save payment form data.
395
-		$prepared_payment_form_data = apply_filters( 'getpaid_prepared_payment_form_data', $prepared_payment_form_data, $invoice );
394
+        // Save payment form data.
395
+        $prepared_payment_form_data = apply_filters( 'getpaid_prepared_payment_form_data', $prepared_payment_form_data, $invoice );
396 396
         delete_post_meta( $invoice->get_id(), 'payment_form_data' );
397
-		delete_post_meta( $invoice->get_id(), 'additional_meta_data' );
398
-		if ( ! empty( $prepared_payment_form_data ) ) {
397
+        delete_post_meta( $invoice->get_id(), 'additional_meta_data' );
398
+        if ( ! empty( $prepared_payment_form_data ) ) {
399 399
 
400
-			if ( ! empty( $prepared_payment_form_data['all'] ) ) {
401
-				update_post_meta( $invoice->get_id(), 'payment_form_data', $prepared_payment_form_data['all'] );
402
-			}
400
+            if ( ! empty( $prepared_payment_form_data['all'] ) ) {
401
+                update_post_meta( $invoice->get_id(), 'payment_form_data', $prepared_payment_form_data['all'] );
402
+            }
403 403
 
404
-			if ( ! empty( $prepared_payment_form_data['meta'] ) ) {
405
-				update_post_meta( $invoice->get_id(), 'additional_meta_data', $prepared_payment_form_data['meta'] );
406
-			}
404
+            if ( ! empty( $prepared_payment_form_data['meta'] ) ) {
405
+                update_post_meta( $invoice->get_id(), 'additional_meta_data', $prepared_payment_form_data['meta'] );
406
+            }
407 407
 }
408 408
 
409
-		// Save payment form data.
410
-		$shipping = apply_filters( 'getpaid_checkout_shipping_details', $shipping, $this->payment_form_submission );
409
+        // Save payment form data.
410
+        $shipping = apply_filters( 'getpaid_checkout_shipping_details', $shipping, $this->payment_form_submission );
411 411
         if ( ! empty( $shipping ) ) {
412 412
             update_post_meta( $invoice->get_id(), 'shipping_address', $shipping );
413
-		}
413
+        }
414 414
 
415
-		// Backwards compatibility.
415
+        // Backwards compatibility.
416 416
         add_filter( 'wp_redirect', array( $this, 'send_redirect_response' ) );
417 417
 
418
-		$this->process_payment( $invoice );
418
+        $this->process_payment( $invoice );
419 419
 
420 420
         // If we are here, there was an error.
421
-		wpinv_send_back_to_checkout( $invoice );
421
+        wpinv_send_back_to_checkout( $invoice );
422 422
 
423
-	}
423
+    }
424 424
 
425
-	/**
426
-	 * Processes the actual payment.
427
-	 *
428
-	 * @param WPInv_Invoice $invoice
429
-	 */
430
-	protected function process_payment( $invoice ) {
425
+    /**
426
+     * Processes the actual payment.
427
+     *
428
+     * @param WPInv_Invoice $invoice
429
+     */
430
+    protected function process_payment( $invoice ) {
431 431
 
432
-		// Clear any checkout errors.
433
-		wpinv_clear_errors();
432
+        // Clear any checkout errors.
433
+        wpinv_clear_errors();
434 434
 
435
-		// No need to send free invoices to the gateway.
436
-		if ( $invoice->is_free() ) {
437
-			$this->process_free_payment( $invoice );
438
-		}
435
+        // No need to send free invoices to the gateway.
436
+        if ( $invoice->is_free() ) {
437
+            $this->process_free_payment( $invoice );
438
+        }
439 439
 
440
-		$submission = $this->payment_form_submission;
440
+        $submission = $this->payment_form_submission;
441 441
 
442
-		// Fires before sending to the gateway.
443
-		do_action( 'getpaid_checkout_before_gateway', $invoice, $submission );
442
+        // Fires before sending to the gateway.
443
+        do_action( 'getpaid_checkout_before_gateway', $invoice, $submission );
444 444
 
445
-		// Allow the sumission data to be modified before it is sent to the gateway.
446
-		$submission_data    = $submission->get_data();
447
-		$submission_gateway = apply_filters( 'getpaid_gateway_submission_gateway', $invoice->get_gateway(), $submission, $invoice );
448
-		$submission_data    = apply_filters( 'getpaid_gateway_submission_data', $submission_data, $submission, $invoice );
445
+        // Allow the sumission data to be modified before it is sent to the gateway.
446
+        $submission_data    = $submission->get_data();
447
+        $submission_gateway = apply_filters( 'getpaid_gateway_submission_gateway', $invoice->get_gateway(), $submission, $invoice );
448
+        $submission_data    = apply_filters( 'getpaid_gateway_submission_data', $submission_data, $submission, $invoice );
449 449
 
450
-		// Validate the currency.
451
-		if ( ! apply_filters( "getpaid_gateway_{$submission_gateway}_is_valid_for_currency", true, $invoice->get_currency() ) ) {
452
-			wpinv_set_error( 'invalid_currency' );
453
-		}
450
+        // Validate the currency.
451
+        if ( ! apply_filters( "getpaid_gateway_{$submission_gateway}_is_valid_for_currency", true, $invoice->get_currency() ) ) {
452
+            wpinv_set_error( 'invalid_currency' );
453
+        }
454 454
 
455
-		// Check to see if we have any errors.
456
-		if ( wpinv_get_errors() ) {
457
-			wpinv_send_back_to_checkout( $invoice );
458
-		}
455
+        // Check to see if we have any errors.
456
+        if ( wpinv_get_errors() ) {
457
+            wpinv_send_back_to_checkout( $invoice );
458
+        }
459 459
 
460
-		// Send info to the gateway for payment processing
461
-		do_action( "getpaid_gateway_$submission_gateway", $invoice, $submission_data, $submission );
460
+        // Send info to the gateway for payment processing
461
+        do_action( "getpaid_gateway_$submission_gateway", $invoice, $submission_data, $submission );
462 462
 
463
-		// Backwards compatibility.
464
-		wpinv_send_to_gateway( $submission_gateway, $invoice );
463
+        // Backwards compatibility.
464
+        wpinv_send_to_gateway( $submission_gateway, $invoice );
465 465
 
466
-	}
466
+    }
467 467
 
468
-	/**
469
-	 * Marks the invoice as paid in case the checkout is free.
470
-	 *
471
-	 * @param WPInv_Invoice $invoice
472
-	 */
473
-	protected function process_free_payment( $invoice ) {
468
+    /**
469
+     * Marks the invoice as paid in case the checkout is free.
470
+     *
471
+     * @param WPInv_Invoice $invoice
472
+     */
473
+    protected function process_free_payment( $invoice ) {
474 474
 
475
-		$invoice->set_gateway( 'none' );
476
-		$invoice->add_note( __( "This is a free invoice and won't be sent to the payment gateway", 'invoicing' ), false, false, true );
477
-		$invoice->mark_paid();
478
-		wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
475
+        $invoice->set_gateway( 'none' );
476
+        $invoice->add_note( __( "This is a free invoice and won't be sent to the payment gateway", 'invoicing' ), false, false, true );
477
+        $invoice->mark_paid();
478
+        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
479 479
 
480
-	}
480
+    }
481 481
 
482
-	/**
482
+    /**
483 483
      * Sends a redrect response to payment details.
484 484
      *
485 485
      */
Please login to merge, or discard this patch.
Spacing   +136 added lines, -136 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
  * Main Checkout Class.
@@ -22,7 +22,7 @@  discard block
 block discarded – undo
22 22
 	 *
23 23
 	 * @param GetPaid_Payment_Form_Submission $submission
24 24
 	 */
25
-	public function __construct( $submission ) {
25
+	public function __construct($submission) {
26 26
 		$this->payment_form_submission = $submission;
27 27
 	}
28 28
 
@@ -38,22 +38,22 @@  discard block
 block discarded – undo
38 38
 		// Prepare the invoice.
39 39
 		$items      = $this->get_submission_items();
40 40
 		$invoice    = $this->get_submission_invoice();
41
-		$invoice    = $this->process_submission_invoice( $invoice, $items );
41
+		$invoice    = $this->process_submission_invoice($invoice, $items);
42 42
 		$prepared   = $this->prepare_submission_data_for_saving();
43 43
 
44
-		$this->prepare_billing_info( $invoice );
44
+		$this->prepare_billing_info($invoice);
45 45
 
46
-		$shipping   = $this->prepare_shipping_info( $invoice );
46
+		$shipping = $this->prepare_shipping_info($invoice);
47 47
 
48 48
 		// Save the invoice.
49
-		$invoice->set_is_viewed( true );
49
+		$invoice->set_is_viewed(true);
50 50
 		$invoice->recalculate_total();
51 51
         $invoice->save();
52 52
 
53
-		do_action( 'getpaid_checkout_invoice_updated', $invoice );
53
+		do_action('getpaid_checkout_invoice_updated', $invoice);
54 54
 
55 55
 		// Send to the gateway.
56
-		$this->post_process_submission( $invoice, $prepared, $shipping );
56
+		$this->post_process_submission($invoice, $prepared, $shipping);
57 57
 	}
58 58
 
59 59
 	/**
@@ -66,34 +66,34 @@  discard block
 block discarded – undo
66 66
 		$data       = $submission->get_data();
67 67
 
68 68
 		// Do we have an error?
69
-        if ( ! empty( $submission->last_error ) ) {
70
-			wp_send_json_error( $submission->last_error );
69
+        if (!empty($submission->last_error)) {
70
+			wp_send_json_error($submission->last_error);
71 71
         }
72 72
 
73 73
 		// We need a billing email.
74
-        if ( ! $submission->has_billing_email() ) {
75
-            wp_send_json_error( __( 'Provide a valid billing email.', 'invoicing' ) );
74
+        if (!$submission->has_billing_email()) {
75
+            wp_send_json_error(__('Provide a valid billing email.', 'invoicing'));
76 76
 		}
77 77
 
78 78
 		// Non-recurring gateways should not be allowed to process recurring invoices.
79
-		if ( $submission->should_collect_payment_details() && $submission->has_recurring && ! wpinv_gateway_support_subscription( $data['wpi-gateway'] ) ) {
80
-			wp_send_json_error( __( 'The selected payment gateway does not support subscription payments.', 'invoicing' ) );
79
+		if ($submission->should_collect_payment_details() && $submission->has_recurring && !wpinv_gateway_support_subscription($data['wpi-gateway'])) {
80
+			wp_send_json_error(__('The selected payment gateway does not support subscription payments.', 'invoicing'));
81 81
 		}
82 82
 
83 83
 		// Ensure the gateway is active.
84
-		if ( $submission->should_collect_payment_details() && ! wpinv_is_gateway_active( $data['wpi-gateway'] ) ) {
85
-			wp_send_json_error( __( 'The selected payment gateway is not active', 'invoicing' ) );
84
+		if ($submission->should_collect_payment_details() && !wpinv_is_gateway_active($data['wpi-gateway'])) {
85
+			wp_send_json_error(__('The selected payment gateway is not active', 'invoicing'));
86 86
 		}
87 87
 
88 88
 		// Clear any existing errors.
89 89
 		wpinv_clear_errors();
90 90
 
91 91
 		// Allow themes and plugins to hook to errors
92
-		do_action( 'getpaid_checkout_error_checks', $submission );
92
+		do_action('getpaid_checkout_error_checks', $submission);
93 93
 
94 94
 		// Do we have any errors?
95
-        if ( wpinv_get_errors() ) {
96
-            wp_send_json_error( getpaid_get_errors_html() );
95
+        if (wpinv_get_errors()) {
96
+            wp_send_json_error(getpaid_get_errors_html());
97 97
 		}
98 98
 
99 99
 	}
@@ -108,8 +108,8 @@  discard block
 block discarded – undo
108 108
 		$items = $this->payment_form_submission->get_items();
109 109
 
110 110
         // Ensure that we have items.
111
-        if ( empty( $items ) && ! $this->payment_form_submission->has_fees() ) {
112
-            wp_send_json_error( __( 'Please provide at least one item or amount.', 'invoicing' ) );
111
+        if (empty($items) && !$this->payment_form_submission->has_fees()) {
112
+            wp_send_json_error(__('Please provide at least one item or amount.', 'invoicing'));
113 113
 		}
114 114
 
115 115
 		return $items;
@@ -123,17 +123,17 @@  discard block
 block discarded – undo
123 123
 	protected function get_submission_invoice() {
124 124
 		$submission = $this->payment_form_submission;
125 125
 
126
-		if ( ! $submission->has_invoice() ) {
126
+		if (!$submission->has_invoice()) {
127 127
 			$invoice = new WPInv_Invoice();
128
-			$invoice->set_created_via( 'payment_form' );
128
+			$invoice->set_created_via('payment_form');
129 129
 			return $invoice;
130 130
         }
131 131
 
132 132
 		$invoice = $submission->get_invoice();
133 133
 
134 134
 		// Make sure that it is neither paid or refunded.
135
-		if ( $invoice->is_paid() || $invoice->is_refunded() ) {
136
-			wp_send_json_error( __( 'This invoice has already been paid for.', 'invoicing' ) );
135
+		if ($invoice->is_paid() || $invoice->is_refunded()) {
136
+			wp_send_json_error(__('This invoice has already been paid for.', 'invoicing'));
137 137
 		}
138 138
 
139 139
 		return $invoice;
@@ -146,33 +146,33 @@  discard block
 block discarded – undo
146 146
 	 * @param GetPaid_Form_Item[] $items
147 147
 	 * @return WPInv_Invoice
148 148
 	 */
149
-	protected function process_submission_invoice( $invoice, $items ) {
149
+	protected function process_submission_invoice($invoice, $items) {
150 150
 
151 151
 		$submission = $this->payment_form_submission;
152 152
 
153 153
 		// Set-up the invoice details.
154
-		$invoice->set_email( sanitize_email( $submission->get_billing_email() ) );
155
-		$invoice->set_user_id( $this->get_submission_customer() );
156
-		$invoice->set_payment_form( absint( $submission->get_payment_form()->get_id() ) );
157
-        $invoice->set_items( $items );
158
-        $invoice->set_fees( $submission->get_fees() );
159
-        $invoice->set_taxes( $submission->get_taxes() );
160
-		$invoice->set_discounts( $submission->get_discounts() );
161
-		$invoice->set_gateway( $submission->get_field( 'wpi-gateway' ) );
162
-		$invoice->set_currency( $submission->get_currency() );
163
-
164
-		if ( $submission->has_shipping() ) {
165
-			$invoice->set_shipping( $submission->get_shipping() );
154
+		$invoice->set_email(sanitize_email($submission->get_billing_email()));
155
+		$invoice->set_user_id($this->get_submission_customer());
156
+		$invoice->set_payment_form(absint($submission->get_payment_form()->get_id()));
157
+        $invoice->set_items($items);
158
+        $invoice->set_fees($submission->get_fees());
159
+        $invoice->set_taxes($submission->get_taxes());
160
+		$invoice->set_discounts($submission->get_discounts());
161
+		$invoice->set_gateway($submission->get_field('wpi-gateway'));
162
+		$invoice->set_currency($submission->get_currency());
163
+
164
+		if ($submission->has_shipping()) {
165
+			$invoice->set_shipping($submission->get_shipping());
166 166
 		}
167 167
 
168
-		$address_confirmed = $submission->get_field( 'confirm-address' );
169
-		$invoice->set_address_confirmed( ! empty( $address_confirmed ) );
168
+		$address_confirmed = $submission->get_field('confirm-address');
169
+		$invoice->set_address_confirmed(!empty($address_confirmed));
170 170
 
171
-		if ( $submission->has_discount_code() ) {
172
-            $invoice->set_discount_code( $submission->get_discount_code() );
171
+		if ($submission->has_discount_code()) {
172
+            $invoice->set_discount_code($submission->get_discount_code());
173 173
 		}
174 174
 
175
-		getpaid_maybe_add_default_address( $invoice );
175
+		getpaid_maybe_add_default_address($invoice);
176 176
 		return $invoice;
177 177
 	}
178 178
 
@@ -185,34 +185,34 @@  discard block
 block discarded – undo
185 185
 		$submission = $this->payment_form_submission;
186 186
 
187 187
 		// If this is an existing invoice...
188
-		if ( $submission->has_invoice() ) {
188
+		if ($submission->has_invoice()) {
189 189
 			return $submission->get_invoice()->get_user_id();
190 190
 		}
191 191
 
192 192
 		// (Maybe) create the user.
193 193
         $user = get_current_user_id();
194 194
 
195
-        if ( empty( $user ) ) {
196
-            $user = get_user_by( 'email', $submission->get_billing_email() );
195
+        if (empty($user)) {
196
+            $user = get_user_by('email', $submission->get_billing_email());
197 197
         }
198 198
 
199
-        if ( empty( $user ) ) {
200
-			$name = array( $submission->get_field( 'wpinv_first_name', 'billing' ), $submission->get_field( 'wpinv_last_name', 'billing' ) );
201
-			$name = implode( '', array_filter( $name ) );
202
-            $user = wpinv_create_user( $submission->get_billing_email(), $name );
199
+        if (empty($user)) {
200
+			$name = array($submission->get_field('wpinv_first_name', 'billing'), $submission->get_field('wpinv_last_name', 'billing'));
201
+			$name = implode('', array_filter($name));
202
+            $user = wpinv_create_user($submission->get_billing_email(), $name);
203 203
 
204 204
 			// (Maybe) send new user notification.
205
-			$should_send_notification = wpinv_get_option( 'disable_new_user_emails' );
206
-			if ( ! empty( $user ) && is_numeric( $user ) && apply_filters( 'getpaid_send_new_user_notification', empty( $should_send_notification ), $user ) ) {
207
-				wp_send_new_user_notifications( $user, 'user' );
205
+			$should_send_notification = wpinv_get_option('disable_new_user_emails');
206
+			if (!empty($user) && is_numeric($user) && apply_filters('getpaid_send_new_user_notification', empty($should_send_notification), $user)) {
207
+				wp_send_new_user_notifications($user, 'user');
208 208
 			}
209 209
 		}
210 210
 
211
-        if ( is_wp_error( $user ) ) {
212
-            wp_send_json_error( $user->get_error_message() );
211
+        if (is_wp_error($user)) {
212
+            wp_send_json_error($user->get_error_message());
213 213
         }
214 214
 
215
-        if ( is_numeric( $user ) ) {
215
+        if (is_numeric($user)) {
216 216
             return $user;
217 217
 		}
218 218
 
@@ -236,72 +236,72 @@  discard block
 block discarded – undo
236 236
 		);
237 237
 
238 238
         // Raw submission details.
239
-		$data     = $submission->get_data();
239
+		$data = $submission->get_data();
240 240
 
241 241
 		// Loop through the submitted details.
242
-        foreach ( $submission->get_payment_form()->get_elements() as $field ) {
242
+        foreach ($submission->get_payment_form()->get_elements() as $field) {
243 243
 
244 244
 			// Skip premade fields.
245
-            if ( ! empty( $field['premade'] ) ) {
245
+            if (!empty($field['premade'])) {
246 246
                 continue;
247 247
             }
248 248
 
249 249
 			// Ensure address is provided.
250
-			if ( $field['type'] == 'address' ) {
251
-                $address_type = isset( $field['address_type'] ) && 'shipping' === $field['address_type'] ? 'shipping' : 'billing';
250
+			if ($field['type'] == 'address') {
251
+                $address_type = isset($field['address_type']) && 'shipping' === $field['address_type'] ? 'shipping' : 'billing';
252 252
 
253
-				foreach ( $field['fields'] as $address_field ) {
253
+				foreach ($field['fields'] as $address_field) {
254 254
 
255
-					if ( ! empty( $address_field['visible'] ) && ! empty( $address_field['required'] ) && '' === trim( $_POST[ $address_type ][ $address_field['name'] ] ) ) {
256
-						wp_send_json_error( __( 'Please fill all required fields.', 'invoicing' ) );
255
+					if (!empty($address_field['visible']) && !empty($address_field['required']) && '' === trim($_POST[$address_type][$address_field['name']])) {
256
+						wp_send_json_error(__('Please fill all required fields.', 'invoicing'));
257 257
 					}
258 258
 			}
259 259
 		}
260 260
 
261 261
             // If it is required and not set, abort.
262
-            if ( ! $submission->is_required_field_set( $field ) ) {
263
-                wp_send_json_error( __( 'Please fill all required fields.', 'invoicing' ) );
262
+            if (!$submission->is_required_field_set($field)) {
263
+                wp_send_json_error(__('Please fill all required fields.', 'invoicing'));
264 264
             }
265 265
 
266 266
             // Handle misc fields.
267
-            if ( isset( $data[ $field['id'] ] ) ) {
267
+            if (isset($data[$field['id']])) {
268 268
 
269 269
 				// Uploads.
270
-				if ( $field['type'] === 'file_upload' ) {
271
-					$max_file_num = empty( $field['max_file_num'] ) ? 1 : absint( $field['max_file_num'] );
270
+				if ($field['type'] === 'file_upload') {
271
+					$max_file_num = empty($field['max_file_num']) ? 1 : absint($field['max_file_num']);
272 272
 
273
-					if ( count( $data[ $field['id'] ] ) > $max_file_num ) {
274
-						wp_send_json_error( __( 'Maximum number of allowed files exceeded.', 'invoicing' ) );
273
+					if (count($data[$field['id']]) > $max_file_num) {
274
+						wp_send_json_error(__('Maximum number of allowed files exceeded.', 'invoicing'));
275 275
 					}
276 276
 
277 277
 					$value = array();
278 278
 
279
-					foreach ( $data[ $field['id'] ] as $url => $name ) {
279
+					foreach ($data[$field['id']] as $url => $name) {
280 280
 						$value[] = sprintf(
281 281
 							'<a href="%s" target="_blank">%s</a>',
282
-							esc_url_raw( $url ),
283
-							esc_html( $name )
282
+							esc_url_raw($url),
283
+							esc_html($name)
284 284
 						);
285 285
 					}
286 286
 
287
-					$value = implode( ' | ', $value );
287
+					$value = implode(' | ', $value);
288 288
 
289
-				} elseif ( $field['type'] === 'checkbox' ) {
290
-					$value = isset( $data[ $field['id'] ] ) ? __( 'Yes', 'invoicing' ) : __( 'No', 'invoicing' );
289
+				} elseif ($field['type'] === 'checkbox') {
290
+					$value = isset($data[$field['id']]) ? __('Yes', 'invoicing') : __('No', 'invoicing');
291 291
 				} else {
292
-					$value = wp_kses_post( $data[ $field['id'] ] );
292
+					$value = wp_kses_post($data[$field['id']]);
293 293
 				}
294 294
 
295 295
                 $label = $field['id'];
296 296
 
297
-                if ( isset( $field['label'] ) ) {
297
+                if (isset($field['label'])) {
298 298
                     $label = $field['label'];
299 299
                 }
300 300
 
301
-				if ( ! empty( $field['add_meta'] ) ) {
302
-					$prepared['meta'][ wpinv_clean( $label ) ] = wp_kses_post_deep( $value );
301
+				if (!empty($field['add_meta'])) {
302
+					$prepared['meta'][wpinv_clean($label)] = wp_kses_post_deep($value);
303 303
 				}
304
-				$prepared['all'][ wpinv_clean( $label ) ] = wp_kses_post_deep( $value );
304
+				$prepared['all'][wpinv_clean($label)] = wp_kses_post_deep($value);
305 305
 
306 306
             }
307 307
 		}
@@ -317,30 +317,30 @@  discard block
 block discarded – undo
317 317
 	 * @param WPInv_Invoice $invoice
318 318
 	 * @param string $type
319 319
      */
320
-    public function prepare_address_details( $invoice, $type = 'billing' ) {
320
+    public function prepare_address_details($invoice, $type = 'billing') {
321 321
 
322 322
 		$data     = $this->payment_form_submission->get_data();
323
-		$type     = sanitize_key( $type );
323
+		$type     = sanitize_key($type);
324 324
 		$address  = array();
325 325
 		$prepared = array();
326 326
 
327
-		if ( ! empty( $data[ $type ] ) ) {
328
-			$address = $data[ $type ];
327
+		if (!empty($data[$type])) {
328
+			$address = $data[$type];
329 329
 		}
330 330
 
331 331
 		// Clean address details.
332
-		foreach ( $address as $key => $value ) {
333
-			$key             = sanitize_key( $key );
334
-			$key             = str_replace( 'wpinv_', '', $key );
335
-			$value           = wpinv_clean( $value );
336
-			$prepared[ $key ] = apply_filters( "getpaid_checkout_{$type}_address_$key", $value, $this->payment_form_submission, $invoice );
332
+		foreach ($address as $key => $value) {
333
+			$key             = sanitize_key($key);
334
+			$key             = str_replace('wpinv_', '', $key);
335
+			$value           = wpinv_clean($value);
336
+			$prepared[$key] = apply_filters("getpaid_checkout_{$type}_address_$key", $value, $this->payment_form_submission, $invoice);
337 337
 		}
338 338
 
339 339
 		// Filter address details.
340
-		$prepared = apply_filters( "getpaid_checkout_{$type}_address", $prepared, $this->payment_form_submission, $invoice );
340
+		$prepared = apply_filters("getpaid_checkout_{$type}_address", $prepared, $this->payment_form_submission, $invoice);
341 341
 
342 342
 		// Remove non-whitelisted values.
343
-		return array_filter( $prepared, 'getpaid_is_address_field_whitelisted', ARRAY_FILTER_USE_KEY );
343
+		return array_filter($prepared, 'getpaid_is_address_field_whitelisted', ARRAY_FILTER_USE_KEY);
344 344
 
345 345
 	}
346 346
 
@@ -350,12 +350,12 @@  discard block
 block discarded – undo
350 350
 	 * @return array
351 351
 	 * @param WPInv_Invoice $invoice
352 352
      */
353
-    protected function prepare_billing_info( &$invoice ) {
353
+    protected function prepare_billing_info(&$invoice) {
354 354
 
355
-		$billing_address = $this->prepare_address_details( $invoice, 'billing' );
355
+		$billing_address = $this->prepare_address_details($invoice, 'billing');
356 356
 
357 357
 		// Update the invoice with the billing details.
358
-		$invoice->set_props( $billing_address );
358
+		$invoice->set_props($billing_address);
359 359
 
360 360
 	}
361 361
 
@@ -365,15 +365,15 @@  discard block
 block discarded – undo
365 365
 	 * @return array
366 366
 	 * @param WPInv_Invoice $invoice
367 367
      */
368
-    protected function prepare_shipping_info( $invoice ) {
368
+    protected function prepare_shipping_info($invoice) {
369 369
 
370 370
 		$data = $this->payment_form_submission->get_data();
371 371
 
372
-		if ( empty( $data['same-shipping-address'] ) ) {
373
-			return $this->prepare_address_details( $invoice, 'shipping' );
372
+		if (empty($data['same-shipping-address'])) {
373
+			return $this->prepare_address_details($invoice, 'shipping');
374 374
 		}
375 375
 
376
-		return $this->prepare_address_details( $invoice, 'billing' );
376
+		return $this->prepare_address_details($invoice, 'billing');
377 377
 
378 378
 	}
379 379
 
@@ -384,41 +384,41 @@  discard block
 block discarded – undo
384 384
 	 * @param array $prepared_payment_form_data
385 385
 	 * @param array $shipping
386 386
 	 */
387
-	protected function post_process_submission( $invoice, $prepared_payment_form_data, $shipping ) {
387
+	protected function post_process_submission($invoice, $prepared_payment_form_data, $shipping) {
388 388
 
389 389
 		// Ensure the invoice exists.
390
-        if ( ! $invoice->exists() ) {
391
-            wp_send_json_error( __( 'An error occured while saving your invoice. Please try again.', 'invoicing' ) );
390
+        if (!$invoice->exists()) {
391
+            wp_send_json_error(__('An error occured while saving your invoice. Please try again.', 'invoicing'));
392 392
         }
393 393
 
394 394
 		// Save payment form data.
395
-		$prepared_payment_form_data = apply_filters( 'getpaid_prepared_payment_form_data', $prepared_payment_form_data, $invoice );
396
-        delete_post_meta( $invoice->get_id(), 'payment_form_data' );
397
-		delete_post_meta( $invoice->get_id(), 'additional_meta_data' );
398
-		if ( ! empty( $prepared_payment_form_data ) ) {
395
+		$prepared_payment_form_data = apply_filters('getpaid_prepared_payment_form_data', $prepared_payment_form_data, $invoice);
396
+        delete_post_meta($invoice->get_id(), 'payment_form_data');
397
+		delete_post_meta($invoice->get_id(), 'additional_meta_data');
398
+		if (!empty($prepared_payment_form_data)) {
399 399
 
400
-			if ( ! empty( $prepared_payment_form_data['all'] ) ) {
401
-				update_post_meta( $invoice->get_id(), 'payment_form_data', $prepared_payment_form_data['all'] );
400
+			if (!empty($prepared_payment_form_data['all'])) {
401
+				update_post_meta($invoice->get_id(), 'payment_form_data', $prepared_payment_form_data['all']);
402 402
 			}
403 403
 
404
-			if ( ! empty( $prepared_payment_form_data['meta'] ) ) {
405
-				update_post_meta( $invoice->get_id(), 'additional_meta_data', $prepared_payment_form_data['meta'] );
404
+			if (!empty($prepared_payment_form_data['meta'])) {
405
+				update_post_meta($invoice->get_id(), 'additional_meta_data', $prepared_payment_form_data['meta']);
406 406
 			}
407 407
 }
408 408
 
409 409
 		// Save payment form data.
410
-		$shipping = apply_filters( 'getpaid_checkout_shipping_details', $shipping, $this->payment_form_submission );
411
-        if ( ! empty( $shipping ) ) {
412
-            update_post_meta( $invoice->get_id(), 'shipping_address', $shipping );
410
+		$shipping = apply_filters('getpaid_checkout_shipping_details', $shipping, $this->payment_form_submission);
411
+        if (!empty($shipping)) {
412
+            update_post_meta($invoice->get_id(), 'shipping_address', $shipping);
413 413
 		}
414 414
 
415 415
 		// Backwards compatibility.
416
-        add_filter( 'wp_redirect', array( $this, 'send_redirect_response' ) );
416
+        add_filter('wp_redirect', array($this, 'send_redirect_response'));
417 417
 
418
-		$this->process_payment( $invoice );
418
+		$this->process_payment($invoice);
419 419
 
420 420
         // If we are here, there was an error.
421
-		wpinv_send_back_to_checkout( $invoice );
421
+		wpinv_send_back_to_checkout($invoice);
422 422
 
423 423
 	}
424 424
 
@@ -427,41 +427,41 @@  discard block
 block discarded – undo
427 427
 	 *
428 428
 	 * @param WPInv_Invoice $invoice
429 429
 	 */
430
-	protected function process_payment( $invoice ) {
430
+	protected function process_payment($invoice) {
431 431
 
432 432
 		// Clear any checkout errors.
433 433
 		wpinv_clear_errors();
434 434
 
435 435
 		// No need to send free invoices to the gateway.
436
-		if ( $invoice->is_free() ) {
437
-			$this->process_free_payment( $invoice );
436
+		if ($invoice->is_free()) {
437
+			$this->process_free_payment($invoice);
438 438
 		}
439 439
 
440 440
 		$submission = $this->payment_form_submission;
441 441
 
442 442
 		// Fires before sending to the gateway.
443
-		do_action( 'getpaid_checkout_before_gateway', $invoice, $submission );
443
+		do_action('getpaid_checkout_before_gateway', $invoice, $submission);
444 444
 
445 445
 		// Allow the sumission data to be modified before it is sent to the gateway.
446 446
 		$submission_data    = $submission->get_data();
447
-		$submission_gateway = apply_filters( 'getpaid_gateway_submission_gateway', $invoice->get_gateway(), $submission, $invoice );
448
-		$submission_data    = apply_filters( 'getpaid_gateway_submission_data', $submission_data, $submission, $invoice );
447
+		$submission_gateway = apply_filters('getpaid_gateway_submission_gateway', $invoice->get_gateway(), $submission, $invoice);
448
+		$submission_data    = apply_filters('getpaid_gateway_submission_data', $submission_data, $submission, $invoice);
449 449
 
450 450
 		// Validate the currency.
451
-		if ( ! apply_filters( "getpaid_gateway_{$submission_gateway}_is_valid_for_currency", true, $invoice->get_currency() ) ) {
452
-			wpinv_set_error( 'invalid_currency' );
451
+		if (!apply_filters("getpaid_gateway_{$submission_gateway}_is_valid_for_currency", true, $invoice->get_currency())) {
452
+			wpinv_set_error('invalid_currency');
453 453
 		}
454 454
 
455 455
 		// Check to see if we have any errors.
456
-		if ( wpinv_get_errors() ) {
457
-			wpinv_send_back_to_checkout( $invoice );
456
+		if (wpinv_get_errors()) {
457
+			wpinv_send_back_to_checkout($invoice);
458 458
 		}
459 459
 
460 460
 		// Send info to the gateway for payment processing
461
-		do_action( "getpaid_gateway_$submission_gateway", $invoice, $submission_data, $submission );
461
+		do_action("getpaid_gateway_$submission_gateway", $invoice, $submission_data, $submission);
462 462
 
463 463
 		// Backwards compatibility.
464
-		wpinv_send_to_gateway( $submission_gateway, $invoice );
464
+		wpinv_send_to_gateway($submission_gateway, $invoice);
465 465
 
466 466
 	}
467 467
 
@@ -470,12 +470,12 @@  discard block
 block discarded – undo
470 470
 	 *
471 471
 	 * @param WPInv_Invoice $invoice
472 472
 	 */
473
-	protected function process_free_payment( $invoice ) {
473
+	protected function process_free_payment($invoice) {
474 474
 
475
-		$invoice->set_gateway( 'none' );
476
-		$invoice->add_note( __( "This is a free invoice and won't be sent to the payment gateway", 'invoicing' ), false, false, true );
475
+		$invoice->set_gateway('none');
476
+		$invoice->add_note(__("This is a free invoice and won't be sent to the payment gateway", 'invoicing'), false, false, true);
477 477
 		$invoice->mark_paid();
478
-		wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
478
+		wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
479 479
 
480 480
 	}
481 481
 
@@ -483,9 +483,9 @@  discard block
 block discarded – undo
483 483
      * Sends a redrect response to payment details.
484 484
      *
485 485
      */
486
-    public function send_redirect_response( $url ) {
487
-        $url = urlencode( $url );
488
-        wp_send_json_success( $url );
486
+    public function send_redirect_response($url) {
487
+        $url = urlencode($url);
488
+        wp_send_json_success($url);
489 489
     }
490 490
 
491 491
 }
Please login to merge, or discard this patch.
includes/class-wpinv-session-handler.php 2 patches
Indentation   +274 added lines, -274 removed lines patch added patch discarded remove patch
@@ -14,125 +14,125 @@  discard block
 block discarded – undo
14 14
  */
15 15
 class WPInv_Session_Handler extends WPInv_Session {
16 16
 
17
-	/**
18
-	 * Cookie name used for the session.
19
-	 *
20
-	 * @var string cookie name
21
-	 */
22
-	protected $_cookie;
23
-
24
-	/**
25
-	 * Stores session expiry.
26
-	 *
27
-	 * @var int session due to expire timestamp
28
-	 */
29
-	protected $_session_expiring;
30
-
31
-	/**
32
-	 * Stores session due to expire timestamp.
33
-	 *
34
-	 * @var string session expiration timestamp
35
-	 */
36
-	protected $_session_expiration;
37
-
38
-	/**
39
-	 * True when the cookie exists.
40
-	 *
41
-	 * @var bool Based on whether a cookie exists.
42
-	 */
43
-	protected $_has_cookie = false;
44
-
45
-	/**
46
-	 * Table name for session data.
47
-	 *
48
-	 * @var string Custom session table name
49
-	 */
50
-	protected $_table;
51
-
52
-	/**
53
-	 * Constructor for the session class.
54
-	 */
55
-	public function old__construct() {
56
-
57
-	    $this->_cookie = apply_filters( 'wpinv_cookie', 'wpinv_session_' . COOKIEHASH );
17
+    /**
18
+     * Cookie name used for the session.
19
+     *
20
+     * @var string cookie name
21
+     */
22
+    protected $_cookie;
23
+
24
+    /**
25
+     * Stores session expiry.
26
+     *
27
+     * @var int session due to expire timestamp
28
+     */
29
+    protected $_session_expiring;
30
+
31
+    /**
32
+     * Stores session due to expire timestamp.
33
+     *
34
+     * @var string session expiration timestamp
35
+     */
36
+    protected $_session_expiration;
37
+
38
+    /**
39
+     * True when the cookie exists.
40
+     *
41
+     * @var bool Based on whether a cookie exists.
42
+     */
43
+    protected $_has_cookie = false;
44
+
45
+    /**
46
+     * Table name for session data.
47
+     *
48
+     * @var string Custom session table name
49
+     */
50
+    protected $_table;
51
+
52
+    /**
53
+     * Constructor for the session class.
54
+     */
55
+    public function old__construct() {
56
+
57
+        $this->_cookie = apply_filters( 'wpinv_cookie', 'wpinv_session_' . COOKIEHASH );
58 58
         add_action( 'init', array( $this, 'init' ), -1 );
59
-		add_action( 'wp_logout', array( $this, 'destroy_session' ) );
60
-		add_action( 'wp', array( $this, 'set_customer_session_cookie' ), 10 );
61
-		add_action( 'shutdown', array( $this, 'save_data' ), 20 );
62
-
63
-	}
64
-
65
-	/**
66
-	 * Init hooks and session data.
67
-	 *
68
-	 * @since 3.3.0
69
-	 */
70
-	public function init() {
71
-		$this->init_session_cookie();
72
-
73
-		if ( ! is_user_logged_in() ) {
74
-			add_filter( 'nonce_user_logged_out', array( $this, 'nonce_user_logged_out' ), 10, 2 );
75
-		}
76
-	}
77
-
78
-	/**
79
-	 * Setup cookie and customer ID.
80
-	 *
81
-	 * @since 3.6.0
82
-	 */
83
-	public function init_session_cookie() {
84
-		$cookie = $this->get_session_cookie();
85
-
86
-		if ( $cookie ) {
87
-			$this->_customer_id        = $cookie[0];
88
-			$this->_session_expiration = $cookie[1];
89
-			$this->_session_expiring   = $cookie[2];
90
-			$this->_has_cookie         = true;
91
-			$this->_data               = $this->get_session_data();
92
-
93
-			// If the user logs in, update session.
94
-			if ( is_user_logged_in() && get_current_user_id() != $this->_customer_id ) {
95
-				$this->_customer_id = get_current_user_id();
96
-				$this->_dirty       = true;
97
-				$this->save_data();
98
-				$this->set_customer_session_cookie( true );
99
-			}
100
-
101
-			// Update session if its close to expiring.
102
-			if ( time() > $this->_session_expiring ) {
103
-				$this->set_session_expiration();
104
-				$this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
105
-			}
106
-		} else {
107
-			$this->set_session_expiration();
108
-			$this->_customer_id = $this->generate_customer_id();
109
-			$this->_data        = $this->get_session_data();
110
-		}
111
-	}
112
-
113
-	/**
114
-	 * Sets the session cookie on-demand (usually after adding an item to the cart).
115
-	 *
116
-	 * Since the cookie name (as of 2.1) is prepended with wp, cache systems like batcache will not cache pages when set.
117
-	 *
118
-	 * Warning: Cookies will only be set if this is called before the headers are sent.
119
-	 *
120
-	 * @param bool $set Should the session cookie be set.
121
-	 */
122
-	public function set_customer_session_cookie( $set ) {
123
-		if ( $set ) {
124
-			$to_hash           = $this->_customer_id . '|' . $this->_session_expiration;
125
-			$cookie_hash       = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
126
-			$cookie_value      = $this->_customer_id . '||' . $this->_session_expiration . '||' . $this->_session_expiring . '||' . $cookie_hash;
127
-			$this->_has_cookie = true;
128
-
129
-			if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
130
-				$this->setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true );
131
-			}
132
-		}
133
-	}
134
-
135
-	public function setcookie( $name, $value, $expire = 0, $secure = false, $httponly = false ) {
59
+        add_action( 'wp_logout', array( $this, 'destroy_session' ) );
60
+        add_action( 'wp', array( $this, 'set_customer_session_cookie' ), 10 );
61
+        add_action( 'shutdown', array( $this, 'save_data' ), 20 );
62
+
63
+    }
64
+
65
+    /**
66
+     * Init hooks and session data.
67
+     *
68
+     * @since 3.3.0
69
+     */
70
+    public function init() {
71
+        $this->init_session_cookie();
72
+
73
+        if ( ! is_user_logged_in() ) {
74
+            add_filter( 'nonce_user_logged_out', array( $this, 'nonce_user_logged_out' ), 10, 2 );
75
+        }
76
+    }
77
+
78
+    /**
79
+     * Setup cookie and customer ID.
80
+     *
81
+     * @since 3.6.0
82
+     */
83
+    public function init_session_cookie() {
84
+        $cookie = $this->get_session_cookie();
85
+
86
+        if ( $cookie ) {
87
+            $this->_customer_id        = $cookie[0];
88
+            $this->_session_expiration = $cookie[1];
89
+            $this->_session_expiring   = $cookie[2];
90
+            $this->_has_cookie         = true;
91
+            $this->_data               = $this->get_session_data();
92
+
93
+            // If the user logs in, update session.
94
+            if ( is_user_logged_in() && get_current_user_id() != $this->_customer_id ) {
95
+                $this->_customer_id = get_current_user_id();
96
+                $this->_dirty       = true;
97
+                $this->save_data();
98
+                $this->set_customer_session_cookie( true );
99
+            }
100
+
101
+            // Update session if its close to expiring.
102
+            if ( time() > $this->_session_expiring ) {
103
+                $this->set_session_expiration();
104
+                $this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
105
+            }
106
+        } else {
107
+            $this->set_session_expiration();
108
+            $this->_customer_id = $this->generate_customer_id();
109
+            $this->_data        = $this->get_session_data();
110
+        }
111
+    }
112
+
113
+    /**
114
+     * Sets the session cookie on-demand (usually after adding an item to the cart).
115
+     *
116
+     * Since the cookie name (as of 2.1) is prepended with wp, cache systems like batcache will not cache pages when set.
117
+     *
118
+     * Warning: Cookies will only be set if this is called before the headers are sent.
119
+     *
120
+     * @param bool $set Should the session cookie be set.
121
+     */
122
+    public function set_customer_session_cookie( $set ) {
123
+        if ( $set ) {
124
+            $to_hash           = $this->_customer_id . '|' . $this->_session_expiration;
125
+            $cookie_hash       = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
126
+            $cookie_value      = $this->_customer_id . '||' . $this->_session_expiration . '||' . $this->_session_expiring . '||' . $cookie_hash;
127
+            $this->_has_cookie = true;
128
+
129
+            if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
130
+                $this->setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true );
131
+            }
132
+        }
133
+    }
134
+
135
+    public function setcookie( $name, $value, $expire = 0, $secure = false, $httponly = false ) {
136 136
         if ( ! headers_sent() ) {
137 137
             setcookie( $name, $value, $expire, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN, $secure, apply_filters( 'wpinv_cookie_httponly', $httponly, $name, $value, $expire, $secure ) );
138 138
         } elseif ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
@@ -141,86 +141,86 @@  discard block
 block discarded – undo
141 141
         }
142 142
     }
143 143
 
144
-	/**
145
-	 * Should the session cookie be secure?
146
-	 *
147
-	 * @since 3.6.0
148
-	 * @return bool
149
-	 */
150
-	protected function use_secure_cookie() {
144
+    /**
145
+     * Should the session cookie be secure?
146
+     *
147
+     * @since 3.6.0
148
+     * @return bool
149
+     */
150
+    protected function use_secure_cookie() {
151 151
         $is_https = false !== strstr( get_option( 'home' ), 'https:' );
152
-		return apply_filters( 'wpinv_session_use_secure_cookie', $is_https && is_ssl() );
153
-	}
154
-
155
-	/**
156
-	 * Return true if the current user has an active session, i.e. a cookie to retrieve values.
157
-	 *
158
-	 * @return bool
159
-	 */
160
-	public function has_session() {
161
-		return isset( $_COOKIE[ $this->_cookie ] ) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
162
-	}
163
-
164
-	/**
165
-	 * Set session expiration.
166
-	 */
167
-	public function set_session_expiration() {
168
-		$this->_session_expiring   = time() + intval( apply_filters( 'wpinv_session_expiring', 60 * 60 * 47 ) ); // 47 Hours.
169
-		$this->_session_expiration = time() + intval( apply_filters( 'wpinv_session_expiration', 60 * 60 * 48 ) ); // 48 Hours.
170
-	}
171
-
172
-	/**
173
-	 * Generates session ids.
174
-	 *
175
-	 * @return string
176
-	 */
177
-	public function generate_customer_id() {
178
-		require_once ABSPATH . 'wp-includes/class-phpass.php';
179
-		$hasher      = new PasswordHash( 8, false );
180
-		return md5( $hasher->get_random_bytes( 32 ) );
181
-	}
182
-
183
-	/**
184
-	 * Get the session cookie, if set. Otherwise return false.
185
-	 *
186
-	 * Session cookies without a customer ID are invalid.
187
-	 *
188
-	 * @return bool|array
189
-	 */
190
-	public function get_session_cookie() {
191
-		$cookie_value = isset( $_COOKIE[ $this->_cookie ] ) ? wp_unslash( $_COOKIE[ $this->_cookie ] ) : false; // @codingStandardsIgnoreLine.
192
-
193
-		if ( empty( $cookie_value ) || ! is_string( $cookie_value ) ) {
194
-			return false;
195
-		}
196
-
197
-		list( $customer_id, $session_expiration, $session_expiring, $cookie_hash ) = explode( '||', $cookie_value );
198
-
199
-		if ( empty( $customer_id ) ) {
200
-			return false;
201
-		}
202
-
203
-		// Validate hash.
204
-		$to_hash = $customer_id . '|' . $session_expiration;
205
-		$hash    = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
206
-
207
-		if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
208
-			return false;
209
-		}
210
-
211
-		return array( $customer_id, $session_expiration, $session_expiring, $cookie_hash );
212
-	}
213
-
214
-	/**
215
-	 * Get session data.
216
-	 *
217
-	 * @return array
218
-	 */
219
-	public function get_session_data() {
220
-		return $this->has_session() ? (array) $this->get_session( $this->_customer_id ) : array();
221
-	}
222
-
223
-	public function generate_key( $customer_id ) {
152
+        return apply_filters( 'wpinv_session_use_secure_cookie', $is_https && is_ssl() );
153
+    }
154
+
155
+    /**
156
+     * Return true if the current user has an active session, i.e. a cookie to retrieve values.
157
+     *
158
+     * @return bool
159
+     */
160
+    public function has_session() {
161
+        return isset( $_COOKIE[ $this->_cookie ] ) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
162
+    }
163
+
164
+    /**
165
+     * Set session expiration.
166
+     */
167
+    public function set_session_expiration() {
168
+        $this->_session_expiring   = time() + intval( apply_filters( 'wpinv_session_expiring', 60 * 60 * 47 ) ); // 47 Hours.
169
+        $this->_session_expiration = time() + intval( apply_filters( 'wpinv_session_expiration', 60 * 60 * 48 ) ); // 48 Hours.
170
+    }
171
+
172
+    /**
173
+     * Generates session ids.
174
+     *
175
+     * @return string
176
+     */
177
+    public function generate_customer_id() {
178
+        require_once ABSPATH . 'wp-includes/class-phpass.php';
179
+        $hasher      = new PasswordHash( 8, false );
180
+        return md5( $hasher->get_random_bytes( 32 ) );
181
+    }
182
+
183
+    /**
184
+     * Get the session cookie, if set. Otherwise return false.
185
+     *
186
+     * Session cookies without a customer ID are invalid.
187
+     *
188
+     * @return bool|array
189
+     */
190
+    public function get_session_cookie() {
191
+        $cookie_value = isset( $_COOKIE[ $this->_cookie ] ) ? wp_unslash( $_COOKIE[ $this->_cookie ] ) : false; // @codingStandardsIgnoreLine.
192
+
193
+        if ( empty( $cookie_value ) || ! is_string( $cookie_value ) ) {
194
+            return false;
195
+        }
196
+
197
+        list( $customer_id, $session_expiration, $session_expiring, $cookie_hash ) = explode( '||', $cookie_value );
198
+
199
+        if ( empty( $customer_id ) ) {
200
+            return false;
201
+        }
202
+
203
+        // Validate hash.
204
+        $to_hash = $customer_id . '|' . $session_expiration;
205
+        $hash    = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
206
+
207
+        if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
208
+            return false;
209
+        }
210
+
211
+        return array( $customer_id, $session_expiration, $session_expiring, $cookie_hash );
212
+    }
213
+
214
+    /**
215
+     * Get session data.
216
+     *
217
+     * @return array
218
+     */
219
+    public function get_session_data() {
220
+        return $this->has_session() ? (array) $this->get_session( $this->_customer_id ) : array();
221
+    }
222
+
223
+    public function generate_key( $customer_id ) {
224 224
         if ( ! $customer_id ) {
225 225
             return;
226 226
         }
@@ -228,68 +228,68 @@  discard block
 block discarded – undo
228 228
         return 'wpi_trans_' . $customer_id;
229 229
     }
230 230
 
231
-	/**
232
-	 * Save data.
233
-	 */
234
-	public function save_data() {
235
-		// Dirty if something changed - prevents saving nothing new.
236
-		if ( $this->_dirty && $this->has_session() ) {
231
+    /**
232
+     * Save data.
233
+     */
234
+    public function save_data() {
235
+        // Dirty if something changed - prevents saving nothing new.
236
+        if ( $this->_dirty && $this->has_session() ) {
237 237
 
238 238
             set_transient( $this->generate_key( $this->_customer_id ), $this->_data, $this->_session_expiration );
239 239
 
240
-			$this->_dirty = false;
241
-		}
242
-	}
243
-
244
-	/**
245
-	 * Destroy all session data.
246
-	 */
247
-	public function destroy_session() {
248
-		$this->delete_session( $this->_customer_id );
249
-		$this->forget_session();
250
-	}
251
-
252
-	/**
253
-	 * Forget all session data without destroying it.
254
-	 */
255
-	public function forget_session() {
256
-		$this->setcookie( $this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true );
257
-
258
-		wpinv_empty_cart();
259
-
260
-		$this->_data        = array();
261
-		$this->_dirty       = false;
262
-		$this->_customer_id = $this->generate_customer_id();
263
-	}
264
-
265
-	/**
266
-	 * When a user is logged out, ensure they have a unique nonce by using the customer/session ID.
267
-	 *
268
-	 * @param int $uid User ID.
269
-	 * @return string
270
-	 */
271
-	public function nonce_user_logged_out( $uid ) {
272
-
273
-		// Check if one of our nonces.
274
-		if ( substr( $uid, 0, 5 ) === 'wpinv' || substr( $uid, 0, 7 ) === 'getpaid' ) {
275
-			return $this->has_session() && $this->_customer_id ? $this->_customer_id : $uid;
276
-		}
277
-
278
-		return $uid;
279
-	}
280
-
281
-	/**
282
-	 * Returns the session.
283
-	 *
284
-	 * @param string $customer_id Customer ID.
285
-	 * @param mixed  $default Default session value.
286
-	 * @return string|array
287
-	 */
288
-	public function get_session( $customer_id, $default = false ) {
289
-
290
-		if ( defined( 'WP_SETUP_CONFIG' ) ) {
291
-			return array();
292
-		}
240
+            $this->_dirty = false;
241
+        }
242
+    }
243
+
244
+    /**
245
+     * Destroy all session data.
246
+     */
247
+    public function destroy_session() {
248
+        $this->delete_session( $this->_customer_id );
249
+        $this->forget_session();
250
+    }
251
+
252
+    /**
253
+     * Forget all session data without destroying it.
254
+     */
255
+    public function forget_session() {
256
+        $this->setcookie( $this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true );
257
+
258
+        wpinv_empty_cart();
259
+
260
+        $this->_data        = array();
261
+        $this->_dirty       = false;
262
+        $this->_customer_id = $this->generate_customer_id();
263
+    }
264
+
265
+    /**
266
+     * When a user is logged out, ensure they have a unique nonce by using the customer/session ID.
267
+     *
268
+     * @param int $uid User ID.
269
+     * @return string
270
+     */
271
+    public function nonce_user_logged_out( $uid ) {
272
+
273
+        // Check if one of our nonces.
274
+        if ( substr( $uid, 0, 5 ) === 'wpinv' || substr( $uid, 0, 7 ) === 'getpaid' ) {
275
+            return $this->has_session() && $this->_customer_id ? $this->_customer_id : $uid;
276
+        }
277
+
278
+        return $uid;
279
+    }
280
+
281
+    /**
282
+     * Returns the session.
283
+     *
284
+     * @param string $customer_id Customer ID.
285
+     * @param mixed  $default Default session value.
286
+     * @return string|array
287
+     */
288
+    public function get_session( $customer_id, $default = false ) {
289
+
290
+        if ( defined( 'WP_SETUP_CONFIG' ) ) {
291
+            return array();
292
+        }
293 293
 
294 294
         $key = $this->generate_key( $customer_id );
295 295
         $value = get_transient( $key );
@@ -298,30 +298,30 @@  discard block
 block discarded – undo
298 298
             $value = $default;
299 299
         }
300 300
 
301
-		return maybe_unserialize( $value );
302
-	}
301
+        return maybe_unserialize( $value );
302
+    }
303 303
 
304
-	/**
305
-	 * Delete the session from the cache and database.
306
-	 *
307
-	 * @param int $customer_id Customer ID.
308
-	 */
309
-	public function delete_session( $customer_id ) {
304
+    /**
305
+     * Delete the session from the cache and database.
306
+     *
307
+     * @param int $customer_id Customer ID.
308
+     */
309
+    public function delete_session( $customer_id ) {
310 310
 
311 311
         $key = $this->generate_key( $customer_id );
312 312
 
313
-		delete_transient( $key );
314
-	}
313
+        delete_transient( $key );
314
+    }
315 315
 
316
-	/**
317
-	 * Update the session expiry timestamp.
318
-	 *
319
-	 * @param string $customer_id Customer ID.
320
-	 * @param int    $timestamp Timestamp to expire the cookie.
321
-	 */
322
-	public function update_session_timestamp( $customer_id, $timestamp ) {
316
+    /**
317
+     * Update the session expiry timestamp.
318
+     *
319
+     * @param string $customer_id Customer ID.
320
+     * @param int    $timestamp Timestamp to expire the cookie.
321
+     */
322
+    public function update_session_timestamp( $customer_id, $timestamp ) {
323 323
 
324 324
         set_transient( $this->generate_key( $customer_id ), maybe_serialize( $this->_data ), $timestamp );
325 325
 
326
-	}
326
+    }
327 327
 }
Please login to merge, or discard this patch.
Spacing   +58 added lines, -58 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  *
6 6
  */
7 7
 
8
-defined( 'ABSPATH' ) || exit;
8
+defined('ABSPATH') || exit;
9 9
 
10 10
 /**
11 11
  * Session handler class.
@@ -54,11 +54,11 @@  discard block
 block discarded – undo
54 54
 	 */
55 55
 	public function old__construct() {
56 56
 
57
-	    $this->_cookie = apply_filters( 'wpinv_cookie', 'wpinv_session_' . COOKIEHASH );
58
-        add_action( 'init', array( $this, 'init' ), -1 );
59
-		add_action( 'wp_logout', array( $this, 'destroy_session' ) );
60
-		add_action( 'wp', array( $this, 'set_customer_session_cookie' ), 10 );
61
-		add_action( 'shutdown', array( $this, 'save_data' ), 20 );
57
+	    $this->_cookie = apply_filters('wpinv_cookie', 'wpinv_session_' . COOKIEHASH);
58
+        add_action('init', array($this, 'init'), -1);
59
+		add_action('wp_logout', array($this, 'destroy_session'));
60
+		add_action('wp', array($this, 'set_customer_session_cookie'), 10);
61
+		add_action('shutdown', array($this, 'save_data'), 20);
62 62
 
63 63
 	}
64 64
 
@@ -70,8 +70,8 @@  discard block
 block discarded – undo
70 70
 	public function init() {
71 71
 		$this->init_session_cookie();
72 72
 
73
-		if ( ! is_user_logged_in() ) {
74
-			add_filter( 'nonce_user_logged_out', array( $this, 'nonce_user_logged_out' ), 10, 2 );
73
+		if (!is_user_logged_in()) {
74
+			add_filter('nonce_user_logged_out', array($this, 'nonce_user_logged_out'), 10, 2);
75 75
 		}
76 76
 	}
77 77
 
@@ -83,7 +83,7 @@  discard block
 block discarded – undo
83 83
 	public function init_session_cookie() {
84 84
 		$cookie = $this->get_session_cookie();
85 85
 
86
-		if ( $cookie ) {
86
+		if ($cookie) {
87 87
 			$this->_customer_id        = $cookie[0];
88 88
 			$this->_session_expiration = $cookie[1];
89 89
 			$this->_session_expiring   = $cookie[2];
@@ -91,17 +91,17 @@  discard block
 block discarded – undo
91 91
 			$this->_data               = $this->get_session_data();
92 92
 
93 93
 			// If the user logs in, update session.
94
-			if ( is_user_logged_in() && get_current_user_id() != $this->_customer_id ) {
94
+			if (is_user_logged_in() && get_current_user_id() != $this->_customer_id) {
95 95
 				$this->_customer_id = get_current_user_id();
96 96
 				$this->_dirty       = true;
97 97
 				$this->save_data();
98
-				$this->set_customer_session_cookie( true );
98
+				$this->set_customer_session_cookie(true);
99 99
 			}
100 100
 
101 101
 			// Update session if its close to expiring.
102
-			if ( time() > $this->_session_expiring ) {
102
+			if (time() > $this->_session_expiring) {
103 103
 				$this->set_session_expiration();
104
-				$this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
104
+				$this->update_session_timestamp($this->_customer_id, $this->_session_expiration);
105 105
 			}
106 106
 		} else {
107 107
 			$this->set_session_expiration();
@@ -119,25 +119,25 @@  discard block
 block discarded – undo
119 119
 	 *
120 120
 	 * @param bool $set Should the session cookie be set.
121 121
 	 */
122
-	public function set_customer_session_cookie( $set ) {
123
-		if ( $set ) {
122
+	public function set_customer_session_cookie($set) {
123
+		if ($set) {
124 124
 			$to_hash           = $this->_customer_id . '|' . $this->_session_expiration;
125
-			$cookie_hash       = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
125
+			$cookie_hash       = hash_hmac('md5', $to_hash, wp_hash($to_hash));
126 126
 			$cookie_value      = $this->_customer_id . '||' . $this->_session_expiration . '||' . $this->_session_expiring . '||' . $cookie_hash;
127 127
 			$this->_has_cookie = true;
128 128
 
129
-			if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
130
-				$this->setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true );
129
+			if (!isset($_COOKIE[$this->_cookie]) || $_COOKIE[$this->_cookie] !== $cookie_value) {
130
+				$this->setcookie($this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true);
131 131
 			}
132 132
 		}
133 133
 	}
134 134
 
135
-	public function setcookie( $name, $value, $expire = 0, $secure = false, $httponly = false ) {
136
-        if ( ! headers_sent() ) {
137
-            setcookie( $name, $value, $expire, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN, $secure, apply_filters( 'wpinv_cookie_httponly', $httponly, $name, $value, $expire, $secure ) );
138
-        } elseif ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
139
-            headers_sent( $file, $line );
140
-            trigger_error( "{$name} cookie cannot be set - headers already sent by {$file} on line {$line}", E_USER_NOTICE ); // @codingStandardsIgnoreLine
135
+	public function setcookie($name, $value, $expire = 0, $secure = false, $httponly = false) {
136
+        if (!headers_sent()) {
137
+            setcookie($name, $value, $expire, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN, $secure, apply_filters('wpinv_cookie_httponly', $httponly, $name, $value, $expire, $secure));
138
+        } elseif (defined('WP_DEBUG') && WP_DEBUG) {
139
+            headers_sent($file, $line);
140
+            trigger_error("{$name} cookie cannot be set - headers already sent by {$file} on line {$line}", E_USER_NOTICE); // @codingStandardsIgnoreLine
141 141
         }
142 142
     }
143 143
 
@@ -148,8 +148,8 @@  discard block
 block discarded – undo
148 148
 	 * @return bool
149 149
 	 */
150 150
 	protected function use_secure_cookie() {
151
-        $is_https = false !== strstr( get_option( 'home' ), 'https:' );
152
-		return apply_filters( 'wpinv_session_use_secure_cookie', $is_https && is_ssl() );
151
+        $is_https = false !== strstr(get_option('home'), 'https:');
152
+		return apply_filters('wpinv_session_use_secure_cookie', $is_https && is_ssl());
153 153
 	}
154 154
 
155 155
 	/**
@@ -158,15 +158,15 @@  discard block
 block discarded – undo
158 158
 	 * @return bool
159 159
 	 */
160 160
 	public function has_session() {
161
-		return isset( $_COOKIE[ $this->_cookie ] ) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
161
+		return isset($_COOKIE[$this->_cookie]) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
162 162
 	}
163 163
 
164 164
 	/**
165 165
 	 * Set session expiration.
166 166
 	 */
167 167
 	public function set_session_expiration() {
168
-		$this->_session_expiring   = time() + intval( apply_filters( 'wpinv_session_expiring', 60 * 60 * 47 ) ); // 47 Hours.
169
-		$this->_session_expiration = time() + intval( apply_filters( 'wpinv_session_expiration', 60 * 60 * 48 ) ); // 48 Hours.
168
+		$this->_session_expiring   = time() + intval(apply_filters('wpinv_session_expiring', 60 * 60 * 47)); // 47 Hours.
169
+		$this->_session_expiration = time() + intval(apply_filters('wpinv_session_expiration', 60 * 60 * 48)); // 48 Hours.
170 170
 	}
171 171
 
172 172
 	/**
@@ -176,8 +176,8 @@  discard block
 block discarded – undo
176 176
 	 */
177 177
 	public function generate_customer_id() {
178 178
 		require_once ABSPATH . 'wp-includes/class-phpass.php';
179
-		$hasher      = new PasswordHash( 8, false );
180
-		return md5( $hasher->get_random_bytes( 32 ) );
179
+		$hasher = new PasswordHash(8, false);
180
+		return md5($hasher->get_random_bytes(32));
181 181
 	}
182 182
 
183 183
 	/**
@@ -188,27 +188,27 @@  discard block
 block discarded – undo
188 188
 	 * @return bool|array
189 189
 	 */
190 190
 	public function get_session_cookie() {
191
-		$cookie_value = isset( $_COOKIE[ $this->_cookie ] ) ? wp_unslash( $_COOKIE[ $this->_cookie ] ) : false; // @codingStandardsIgnoreLine.
191
+		$cookie_value = isset($_COOKIE[$this->_cookie]) ? wp_unslash($_COOKIE[$this->_cookie]) : false; // @codingStandardsIgnoreLine.
192 192
 
193
-		if ( empty( $cookie_value ) || ! is_string( $cookie_value ) ) {
193
+		if (empty($cookie_value) || !is_string($cookie_value)) {
194 194
 			return false;
195 195
 		}
196 196
 
197
-		list( $customer_id, $session_expiration, $session_expiring, $cookie_hash ) = explode( '||', $cookie_value );
197
+		list($customer_id, $session_expiration, $session_expiring, $cookie_hash) = explode('||', $cookie_value);
198 198
 
199
-		if ( empty( $customer_id ) ) {
199
+		if (empty($customer_id)) {
200 200
 			return false;
201 201
 		}
202 202
 
203 203
 		// Validate hash.
204 204
 		$to_hash = $customer_id . '|' . $session_expiration;
205
-		$hash    = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
205
+		$hash    = hash_hmac('md5', $to_hash, wp_hash($to_hash));
206 206
 
207
-		if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
207
+		if (empty($cookie_hash) || !hash_equals($hash, $cookie_hash)) {
208 208
 			return false;
209 209
 		}
210 210
 
211
-		return array( $customer_id, $session_expiration, $session_expiring, $cookie_hash );
211
+		return array($customer_id, $session_expiration, $session_expiring, $cookie_hash);
212 212
 	}
213 213
 
214 214
 	/**
@@ -217,11 +217,11 @@  discard block
 block discarded – undo
217 217
 	 * @return array
218 218
 	 */
219 219
 	public function get_session_data() {
220
-		return $this->has_session() ? (array) $this->get_session( $this->_customer_id ) : array();
220
+		return $this->has_session() ? (array) $this->get_session($this->_customer_id) : array();
221 221
 	}
222 222
 
223
-	public function generate_key( $customer_id ) {
224
-        if ( ! $customer_id ) {
223
+	public function generate_key($customer_id) {
224
+        if (!$customer_id) {
225 225
             return;
226 226
         }
227 227
 
@@ -233,9 +233,9 @@  discard block
 block discarded – undo
233 233
 	 */
234 234
 	public function save_data() {
235 235
 		// Dirty if something changed - prevents saving nothing new.
236
-		if ( $this->_dirty && $this->has_session() ) {
236
+		if ($this->_dirty && $this->has_session()) {
237 237
 
238
-            set_transient( $this->generate_key( $this->_customer_id ), $this->_data, $this->_session_expiration );
238
+            set_transient($this->generate_key($this->_customer_id), $this->_data, $this->_session_expiration);
239 239
 
240 240
 			$this->_dirty = false;
241 241
 		}
@@ -245,7 +245,7 @@  discard block
 block discarded – undo
245 245
 	 * Destroy all session data.
246 246
 	 */
247 247
 	public function destroy_session() {
248
-		$this->delete_session( $this->_customer_id );
248
+		$this->delete_session($this->_customer_id);
249 249
 		$this->forget_session();
250 250
 	}
251 251
 
@@ -253,7 +253,7 @@  discard block
 block discarded – undo
253 253
 	 * Forget all session data without destroying it.
254 254
 	 */
255 255
 	public function forget_session() {
256
-		$this->setcookie( $this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true );
256
+		$this->setcookie($this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true);
257 257
 
258 258
 		wpinv_empty_cart();
259 259
 
@@ -268,10 +268,10 @@  discard block
 block discarded – undo
268 268
 	 * @param int $uid User ID.
269 269
 	 * @return string
270 270
 	 */
271
-	public function nonce_user_logged_out( $uid ) {
271
+	public function nonce_user_logged_out($uid) {
272 272
 
273 273
 		// Check if one of our nonces.
274
-		if ( substr( $uid, 0, 5 ) === 'wpinv' || substr( $uid, 0, 7 ) === 'getpaid' ) {
274
+		if (substr($uid, 0, 5) === 'wpinv' || substr($uid, 0, 7) === 'getpaid') {
275 275
 			return $this->has_session() && $this->_customer_id ? $this->_customer_id : $uid;
276 276
 		}
277 277
 
@@ -285,20 +285,20 @@  discard block
 block discarded – undo
285 285
 	 * @param mixed  $default Default session value.
286 286
 	 * @return string|array
287 287
 	 */
288
-	public function get_session( $customer_id, $default = false ) {
288
+	public function get_session($customer_id, $default = false) {
289 289
 
290
-		if ( defined( 'WP_SETUP_CONFIG' ) ) {
290
+		if (defined('WP_SETUP_CONFIG')) {
291 291
 			return array();
292 292
 		}
293 293
 
294
-        $key = $this->generate_key( $customer_id );
295
-        $value = get_transient( $key );
294
+        $key = $this->generate_key($customer_id);
295
+        $value = get_transient($key);
296 296
 
297
-        if ( ! $value ) {
297
+        if (!$value) {
298 298
             $value = $default;
299 299
         }
300 300
 
301
-		return maybe_unserialize( $value );
301
+		return maybe_unserialize($value);
302 302
 	}
303 303
 
304 304
 	/**
@@ -306,11 +306,11 @@  discard block
 block discarded – undo
306 306
 	 *
307 307
 	 * @param int $customer_id Customer ID.
308 308
 	 */
309
-	public function delete_session( $customer_id ) {
309
+	public function delete_session($customer_id) {
310 310
 
311
-        $key = $this->generate_key( $customer_id );
311
+        $key = $this->generate_key($customer_id);
312 312
 
313
-		delete_transient( $key );
313
+		delete_transient($key);
314 314
 	}
315 315
 
316 316
 	/**
@@ -319,9 +319,9 @@  discard block
 block discarded – undo
319 319
 	 * @param string $customer_id Customer ID.
320 320
 	 * @param int    $timestamp Timestamp to expire the cookie.
321 321
 	 */
322
-	public function update_session_timestamp( $customer_id, $timestamp ) {
322
+	public function update_session_timestamp($customer_id, $timestamp) {
323 323
 
324
-        set_transient( $this->generate_key( $customer_id ), maybe_serialize( $this->_data ), $timestamp );
324
+        set_transient($this->generate_key($customer_id), maybe_serialize($this->_data), $timestamp);
325 325
 
326 326
 	}
327 327
 }
Please login to merge, or discard this patch.
includes/admin/class-getpaid-admin.php 2 patches
Indentation   +600 added lines, -600 removed lines patch added patch discarded remove patch
@@ -14,92 +14,92 @@  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;
29
-
30
-	/**
31
-	 * Reports components.
32
-	 *
33
-	 * @var GetPaid_Reports
34
-	 */
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
+
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' ), 9 );
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_duplicate_form', array( $this, 'duplicate_payment_form' ) );
65
-		add_action( 'getpaid_authenticated_admin_action_duplicate_invoice', array( $this, 'duplicate_invoice' ) );
66
-		add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) );
67
-		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_duplicate_form', array( $this, 'duplicate_payment_form' ) );
65
+        add_action( 'getpaid_authenticated_admin_action_duplicate_invoice', array( $this, 'duplicate_invoice' ) );
66
+        add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) );
67
+        add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) );
68 68
         add_action( 'getpaid_authenticated_admin_action_reset_tax_rates', array( $this, 'admin_reset_tax_rates' ) );
69
-		add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) );
70
-		add_action( 'getpaid_authenticated_admin_action_refresh_permalinks', array( $this, 'admin_refresh_permalinks' ) );
71
-		add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) );
72
-		add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) );
73
-		add_action( 'getpaid_authenticated_admin_action_download_customers', array( $this, 'admin_download_customers' ) );
74
-		add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) );
75
-		add_action( 'getpaid_authenticated_admin_action_install_plugin', array( $this, 'admin_install_plugin' ) );
76
-		add_action( 'getpaid_authenticated_admin_action_connect_gateway', array( $this, 'admin_connect_gateway' ) );
77
-		add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) );
78
-		do_action( 'getpaid_init_admin_hooks', $this );
79
-
80
-		// Setup/welcome
81
-		if ( ! empty( $_GET['page'] ) ) {
82
-			switch ( sanitize_text_field( $_GET['page'] ) ) {
83
-				case 'gp-setup':
84
-					include_once dirname( __FILE__ ) . '/class-getpaid-admin-setup-wizard.php';
85
-					break;
86
-			}
87
-		}
88
-
89
-    }
90
-
91
-    /**
92
-	 * Register admin scripts
93
-	 *
94
-	 */
95
-	public function enqeue_scripts() {
69
+        add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) );
70
+        add_action( 'getpaid_authenticated_admin_action_refresh_permalinks', array( $this, 'admin_refresh_permalinks' ) );
71
+        add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) );
72
+        add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) );
73
+        add_action( 'getpaid_authenticated_admin_action_download_customers', array( $this, 'admin_download_customers' ) );
74
+        add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) );
75
+        add_action( 'getpaid_authenticated_admin_action_install_plugin', array( $this, 'admin_install_plugin' ) );
76
+        add_action( 'getpaid_authenticated_admin_action_connect_gateway', array( $this, 'admin_connect_gateway' ) );
77
+        add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) );
78
+        do_action( 'getpaid_init_admin_hooks', $this );
79
+
80
+        // Setup/welcome
81
+        if ( ! empty( $_GET['page'] ) ) {
82
+            switch ( sanitize_text_field( $_GET['page'] ) ) {
83
+                case 'gp-setup':
84
+                    include_once dirname( __FILE__ ) . '/class-getpaid-admin-setup-wizard.php';
85
+                    break;
86
+            }
87
+        }
88
+
89
+    }
90
+
91
+    /**
92
+     * Register admin scripts
93
+     *
94
+     */
95
+    public function enqeue_scripts() {
96 96
         global $current_screen, $pagenow;
97 97
 
98
-		$page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
99
-		$editing = $pagenow == 'post.php' || $pagenow == 'post-new.php';
98
+        $page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
99
+        $editing = $pagenow == 'post.php' || $pagenow == 'post-new.php';
100 100
 
101 101
         if ( ! empty( $current_screen->post_type ) ) {
102
-			$page = $current_screen->post_type;
102
+            $page = $current_screen->post_type;
103 103
         }
104 104
 
105 105
         // General styles.
@@ -120,53 +120,53 @@  discard block
 block discarded – undo
120 120
         }
121 121
 
122 122
         // Payment form scripts.
123
-		if ( 'wpi_payment_form' == $page && $editing ) {
123
+        if ( 'wpi_payment_form' == $page && $editing ) {
124 124
             $this->load_payment_form_scripts();
125 125
         }
126 126
 
127
-		if ( $page == 'wpinv-subscriptions' ) {
128
-			wp_enqueue_script( 'postbox' );
129
-		}
127
+        if ( $page == 'wpinv-subscriptions' ) {
128
+            wp_enqueue_script( 'postbox' );
129
+        }
130 130
 
131 131
     }
132 132
 
133 133
     /**
134
-	 * Returns admin js translations.
135
-	 *
136
-	 */
137
-	protected function get_admin_i18() {
134
+     * Returns admin js translations.
135
+     *
136
+     */
137
+    protected function get_admin_i18() {
138 138
         global $post;
139 139
 
140
-		$date_range = array(
141
-			'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days',
142
-		);
140
+        $date_range = array(
141
+            'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days',
142
+        );
143 143
 
144
-		if ( $date_range['period'] == 'custom' ) {
144
+        if ( $date_range['period'] == 'custom' ) {
145 145
 
146
-			if ( isset( $_GET['from'] ) ) {
147
-				$date_range['after'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS );
148
-			}
146
+            if ( isset( $_GET['from'] ) ) {
147
+                $date_range['after'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS );
148
+            }
149 149
 
150
-			if ( isset( $_GET['to'] ) ) {
151
-				$date_range['before'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS );
152
-			}
150
+            if ( isset( $_GET['to'] ) ) {
151
+                $date_range['before'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS );
152
+            }
153 153
 }
154 154
 
155 155
         $i18n = array(
156 156
             'ajax_url'                  => admin_url( 'admin-ajax.php' ),
157 157
             'post_ID'                   => isset( $post->ID ) ? $post->ID : '',
158
-			'wpinv_nonce'               => wp_create_nonce( 'wpinv-nonce' ),
159
-			'rest_nonce'                => wp_create_nonce( 'wp_rest' ),
160
-			'rest_root'                 => esc_url_raw( rest_url() ),
161
-			'date_range'                => $date_range,
158
+            'wpinv_nonce'               => wp_create_nonce( 'wpinv-nonce' ),
159
+            'rest_nonce'                => wp_create_nonce( 'wp_rest' ),
160
+            'rest_root'                 => esc_url_raw( rest_url() ),
161
+            'date_range'                => $date_range,
162 162
             'add_invoice_note_nonce'    => wp_create_nonce( 'add-invoice-note' ),
163 163
             'delete_invoice_note_nonce' => wp_create_nonce( 'delete-invoice-note' ),
164 164
             'invoice_item_nonce'        => wp_create_nonce( 'invoice-item' ),
165 165
             'billing_details_nonce'     => wp_create_nonce( 'get-billing-details' ),
166 166
             'tax'                       => wpinv_tax_amount(),
167 167
             'discount'                  => 0,
168
-			'currency_symbol'           => wpinv_currency_symbol(),
169
-			'currency'                  => wpinv_get_currency(),
168
+            'currency_symbol'           => wpinv_currency_symbol(),
169
+            'currency'                  => wpinv_get_currency(),
170 170
             'currency_pos'              => wpinv_currency_position(),
171 171
             'thousand_sep'              => wpinv_thousands_separator(),
172 172
             'decimal_sep'               => wpinv_decimal_separator(),
@@ -186,118 +186,118 @@  discard block
 block discarded – undo
186 186
             'item_description'          => __( 'Item Description', 'invoicing' ),
187 187
             'invoice_description'       => __( 'Invoice Description', 'invoicing' ),
188 188
             'discount_description'      => __( 'Discount Description', 'invoicing' ),
189
-			'searching'                 => __( 'Searching', 'invoicing' ),
190
-			'loading'                   => __( 'Loading...', 'invoicing' ),
191
-			'search_customers'          => __( 'Enter customer name or email', 'invoicing' ),
192
-			'search_items'              => __( 'Enter item name', 'invoicing' ),
193
-			'graphs'                    => array_merge( array( 'refunded_fees', 'refunded_items', 'refunded_subtotal', 'refunded_tax' ), array_keys( wpinv_get_report_graphs() ) ),
189
+            'searching'                 => __( 'Searching', 'invoicing' ),
190
+            'loading'                   => __( 'Loading...', 'invoicing' ),
191
+            'search_customers'          => __( 'Enter customer name or email', 'invoicing' ),
192
+            'search_items'              => __( 'Enter item name', 'invoicing' ),
193
+            'graphs'                    => array_merge( array( 'refunded_fees', 'refunded_items', 'refunded_subtotal', 'refunded_tax' ), array_keys( wpinv_get_report_graphs() ) ),
194 194
         );
195 195
 
196
-		if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) {
196
+        if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) {
197 197
 
198
-			$invoice              = new WPInv_Invoice( $post );
199
-			$i18n['save_invoice'] = sprintf(
200
-				__( 'Save %s', 'invoicing' ),
201
-				ucfirst( $invoice->get_invoice_quote_type() )
202
-			);
198
+            $invoice              = new WPInv_Invoice( $post );
199
+            $i18n['save_invoice'] = sprintf(
200
+                __( 'Save %s', 'invoicing' ),
201
+                ucfirst( $invoice->get_invoice_quote_type() )
202
+            );
203 203
 
204
-			$i18n['invoice_description'] = sprintf(
205
-				__( '%s Description', 'invoicing' ),
206
-				ucfirst( $invoice->get_invoice_quote_type() )
207
-			);
204
+            $i18n['invoice_description'] = sprintf(
205
+                __( '%s Description', 'invoicing' ),
206
+                ucfirst( $invoice->get_invoice_quote_type() )
207
+            );
208 208
 
209
-		}
210
-		return $i18n;
211
-	}
209
+        }
210
+        return $i18n;
211
+    }
212 212
 
213
-	/**
214
-	 * Change the admin footer text on GetPaid admin pages.
215
-	 *
216
-	 * @since  2.0.0
217
-	 * @param  string $footer_text
218
-	 * @return string
219
-	 */
220
-	public function admin_footer_text( $footer_text ) {
221
-		global $current_screen;
213
+    /**
214
+     * Change the admin footer text on GetPaid admin pages.
215
+     *
216
+     * @since  2.0.0
217
+     * @param  string $footer_text
218
+     * @return string
219
+     */
220
+    public function admin_footer_text( $footer_text ) {
221
+        global $current_screen;
222 222
 
223
-		$page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
223
+        $page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
224 224
 
225 225
         if ( ! empty( $current_screen->post_type ) ) {
226
-			$page = $current_screen->post_type;
226
+            $page = $current_screen->post_type;
227 227
         }
228 228
 
229 229
         // General styles.
230 230
         if ( apply_filters( 'getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing() ) && false !== stripos( $page, 'wpi' ) ) {
231 231
 
232
-			// Change the footer text
233
-			if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) {
232
+            // Change the footer text
233
+            if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) {
234 234
 
235
-				$rating_url  = esc_url(
236
-					wp_nonce_url(
237
-						admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ),
238
-						'getpaid-nonce',
239
-						'getpaid-nonce'
235
+                $rating_url  = esc_url(
236
+                    wp_nonce_url(
237
+                        admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ),
238
+                        'getpaid-nonce',
239
+                        'getpaid-nonce'
240 240
                     )
241
-				);
241
+                );
242 242
 
243
-				$footer_text = sprintf(
244
-					/* translators: %s: five stars */
245
-					__( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ),
246
-					"<a href='$rating_url'>&#9733;&#9733;&#9733;&#9733;&#9733;</a>"
247
-				);
243
+                $footer_text = sprintf(
244
+                    /* translators: %s: five stars */
245
+                    __( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ),
246
+                    "<a href='$rating_url'>&#9733;&#9733;&#9733;&#9733;&#9733;</a>"
247
+                );
248 248
 
249
-			} else {
249
+            } else {
250 250
 
251
-				$footer_text = sprintf(
252
-					/* translators: %s: GetPaid */
253
-					__( 'Thank you for using %s!', 'invoicing' ),
254
-					"<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>"
255
-				);
251
+                $footer_text = sprintf(
252
+                    /* translators: %s: GetPaid */
253
+                    __( 'Thank you for using %s!', 'invoicing' ),
254
+                    "<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>"
255
+                );
256 256
 
257
-			}
257
+            }
258 258
 }
259 259
 
260
-		return $footer_text;
261
-	}
262
-
263
-	/**
264
-	 * Redirects to wp.org to rate the plugin.
265
-	 *
266
-	 * @since  2.0.0
267
-	 */
268
-	public function redirect_to_wordpress_rating_page() {
269
-		update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 );
270
-		wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' );
271
-		exit;
272
-	}
273
-
274
-    /**
275
-	 * Loads payment form js.
276
-	 *
277
-	 */
278
-	protected function load_payment_form_scripts() {
260
+        return $footer_text;
261
+    }
262
+
263
+    /**
264
+     * Redirects to wp.org to rate the plugin.
265
+     *
266
+     * @since  2.0.0
267
+     */
268
+    public function redirect_to_wordpress_rating_page() {
269
+        update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 );
270
+        wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' );
271
+        exit;
272
+    }
273
+
274
+    /**
275
+     * Loads payment form js.
276
+     *
277
+     */
278
+    protected function load_payment_form_scripts() {
279 279
         global $post;
280 280
 
281 281
         wp_enqueue_script( 'vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.min.js', array(), WPINV_VERSION );
282
-		wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION );
283
-		wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION );
282
+        wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION );
283
+        wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION );
284 284
 
285
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin-payment-forms.js' );
286
-		wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.js', array( 'wpinv-admin-script', 'vue_draggable', 'wp-hooks' ), $version );
285
+        $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin-payment-forms.js' );
286
+        wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.js', array( 'wpinv-admin-script', 'vue_draggable', 'wp-hooks' ), $version );
287 287
 
288
-		wp_localize_script(
288
+        wp_localize_script(
289 289
             'wpinv-admin-payment-form-script',
290 290
             'wpinvPaymentFormAdmin',
291 291
             array(
292
-				'elements'      => wpinv_get_data( 'payment-form-elements' ),
293
-				'form_elements' => getpaid_get_payment_form_elements( $post->ID ),
294
-				'currency'      => wpinv_currency_symbol(),
295
-				'position'      => wpinv_currency_position(),
296
-				'decimals'      => (int) wpinv_decimals(),
297
-				'thousands_sep' => wpinv_thousands_separator(),
298
-				'decimals_sep'  => wpinv_decimal_separator(),
299
-				'form_items'    => gepaid_get_form_items( $post->ID ),
300
-				'is_default'    => $post->ID == wpinv_get_default_payment_form(),
292
+                'elements'      => wpinv_get_data( 'payment-form-elements' ),
293
+                'form_elements' => getpaid_get_payment_form_elements( $post->ID ),
294
+                'currency'      => wpinv_currency_symbol(),
295
+                'position'      => wpinv_currency_position(),
296
+                'decimals'      => (int) wpinv_decimals(),
297
+                'thousands_sep' => wpinv_thousands_separator(),
298
+                'decimals_sep'  => wpinv_decimal_separator(),
299
+                'form_items'    => gepaid_get_form_items( $post->ID ),
300
+                'is_default'    => $post->ID == wpinv_get_default_payment_form(),
301 301
             )
302 302
         );
303 303
 
@@ -306,19 +306,19 @@  discard block
 block discarded – undo
306 306
     }
307 307
 
308 308
     /**
309
-	 * Add our classes to admin pages.
309
+     * Add our classes to admin pages.
310 310
      *
311 311
      * @param string $classes
312 312
      * @return string
313
-	 *
314
-	 */
313
+     *
314
+     */
315 315
     public function admin_body_class( $classes ) {
316
-		global $pagenow, $post, $current_screen;
316
+        global $pagenow, $post, $current_screen;
317 317
 
318 318
         $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
319 319
 
320 320
         if ( ! empty( $current_screen->post_type ) ) {
321
-			$page = $current_screen->post_type;
321
+            $page = $current_screen->post_type;
322 322
         }
323 323
 
324 324
         if ( false !== stripos( $page, 'wpi' ) ) {
@@ -327,70 +327,70 @@  discard block
 block discarded – undo
327 327
 
328 328
         if ( in_array( $page, wpinv_parse_list( 'wpi_invoice wpi_payment_form wpi_quote' ) ) ) {
329 329
             $classes .= ' wpinv-cpt wpinv';
330
-		}
330
+        }
331 331
 
332
-		if ( getpaid_is_invoice_post_type( $page ) ) {
332
+        if ( getpaid_is_invoice_post_type( $page ) ) {
333 333
             $classes .= ' getpaid-is-invoice-cpt';
334 334
         }
335 335
 
336
-		return $classes;
336
+        return $classes;
337 337
     }
338 338
 
339 339
     /**
340
-	 * Maybe show the AyeCode Connect Notice.
341
-	 */
342
-	public function init_ayecode_connect_helper() {
340
+     * Maybe show the AyeCode Connect Notice.
341
+     */
342
+    public function init_ayecode_connect_helper() {
343 343
 
344
-		// Register with the deactivation survey class.
345
-		AyeCode_Deactivation_Survey::instance(
344
+        // Register with the deactivation survey class.
345
+        AyeCode_Deactivation_Survey::instance(
346 346
             array(
347
-				'slug'              => 'invoicing',
348
-				'version'           => WPINV_VERSION,
349
-				'support_url'       => 'https://wpgetpaid.com/support/',
350
-				'documentation_url' => 'https://docs.wpgetpaid.com/',
351
-				'activated'         => (int) get_option( 'gepaid_installed_on' ),
347
+                'slug'              => 'invoicing',
348
+                'version'           => WPINV_VERSION,
349
+                'support_url'       => 'https://wpgetpaid.com/support/',
350
+                'documentation_url' => 'https://docs.wpgetpaid.com/',
351
+                'activated'         => (int) get_option( 'gepaid_installed_on' ),
352 352
             )
353 353
         );
354 354
 
355 355
         new AyeCode_Connect_Helper(
356 356
             array(
357
-				'connect_title'     => __( 'WP Invoicing - an AyeCode product!', 'invoicing' ),
358
-				'connect_external'  => __( 'Please confirm you wish to connect your site?', 'invoicing' ),
359
-				'connect'           => sprintf( __( '<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %1$slearn more%2$s', 'invoicing' ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", '</a>' ),
360
-				'connect_button'    => __( 'Connect Site', 'invoicing' ),
361
-				'connecting_button' => __( 'Connecting...', 'invoicing' ),
362
-				'error_localhost'   => __( 'This service will only work with a live domain, not a localhost.', 'invoicing' ),
363
-				'error'             => __( 'Something went wrong, please refresh and try again.', 'invoicing' ),
357
+                'connect_title'     => __( 'WP Invoicing - an AyeCode product!', 'invoicing' ),
358
+                'connect_external'  => __( 'Please confirm you wish to connect your site?', 'invoicing' ),
359
+                'connect'           => sprintf( __( '<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %1$slearn more%2$s', 'invoicing' ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", '</a>' ),
360
+                'connect_button'    => __( 'Connect Site', 'invoicing' ),
361
+                'connecting_button' => __( 'Connecting...', 'invoicing' ),
362
+                'error_localhost'   => __( 'This service will only work with a live domain, not a localhost.', 'invoicing' ),
363
+                'error'             => __( 'Something went wrong, please refresh and try again.', 'invoicing' ),
364 364
             ),
365 365
             array( 'wpi-addons' )
366 366
         );
367 367
 
368 368
     }
369 369
 
370
-	/**
371
-	 * Redirect users to settings on activation.
372
-	 *
373
-	 * @return void
374
-	 */
375
-	public function activation_redirect() {
370
+    /**
371
+     * Redirect users to settings on activation.
372
+     *
373
+     * @return void
374
+     */
375
+    public function activation_redirect() {
376 376
 
377
-		$redirected = get_option( 'wpinv_redirected_to_settings' );
377
+        $redirected = get_option( 'wpinv_redirected_to_settings' );
378 378
 
379
-		if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) {
380
-			return;
381
-		}
379
+        if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) {
380
+            return;
381
+        }
382 382
 
383
-		// Bail if activating from network, or bulk
384
-		if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
385
-			return;
386
-		}
383
+        // Bail if activating from network, or bulk
384
+        if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
385
+            return;
386
+        }
387 387
 
388
-	    update_option( 'wpinv_redirected_to_settings', 1 );
388
+        update_option( 'wpinv_redirected_to_settings', 1 );
389 389
 
390 390
         wp_safe_redirect( admin_url( 'index.php?page=gp-setup' ) );
391 391
         exit;
392 392
 
393
-	}
393
+    }
394 394
 
395 395
     /**
396 396
      * Fires an admin action after verifying that a user can fire them.
@@ -404,535 +404,535 @@  discard block
 block discarded – undo
404 404
 
405 405
     }
406 406
 
407
-	/**
407
+    /**
408 408
      * Duplicate invoice.
409
-	 *
410
-	 * @param array $args
409
+     *
410
+     * @param array $args
411 411
      */
412 412
     public function duplicate_invoice( $args ) {
413 413
 
414
-		if ( empty( $args['invoice_id'] ) ) {
415
-			return;
416
-		}
414
+        if ( empty( $args['invoice_id'] ) ) {
415
+            return;
416
+        }
417 417
 
418
-		$invoice = new WPInv_Invoice( (int) $args['invoice_id'] );
418
+        $invoice = new WPInv_Invoice( (int) $args['invoice_id'] );
419 419
 
420
-		if ( ! $invoice->exists() ) {
421
-			return;
422
-		}
420
+        if ( ! $invoice->exists() ) {
421
+            return;
422
+        }
423 423
 
424
-		$new_invoice = getpaid_duplicate_invoice( $invoice );
425
-		$new_invoice->save();
424
+        $new_invoice = getpaid_duplicate_invoice( $invoice );
425
+        $new_invoice->save();
426 426
 
427
-		if ( $new_invoice->exists() ) {
427
+        if ( $new_invoice->exists() ) {
428 428
 
429
-			getpaid_admin()->show_success( __( 'Invoice duplicated successfully.', 'invoicing' ) );
429
+            getpaid_admin()->show_success( __( 'Invoice duplicated successfully.', 'invoicing' ) );
430 430
 
431
-			wp_safe_redirect(
432
-				add_query_arg(
433
-					array(
434
-						'action' => 'edit',
435
-						'post'   => $new_invoice->get_id(),
436
-					),
437
-					admin_url( 'post.php' )
438
-				)
439
-			);
440
-			exit;
431
+            wp_safe_redirect(
432
+                add_query_arg(
433
+                    array(
434
+                        'action' => 'edit',
435
+                        'post'   => $new_invoice->get_id(),
436
+                    ),
437
+                    admin_url( 'post.php' )
438
+                )
439
+            );
440
+            exit;
441 441
 
442
-		}
442
+        }
443 443
 
444
-		getpaid_admin()->show_error( __( 'There was an error duplicating this invoice. Please try again.', 'invoicing' ) );
444
+        getpaid_admin()->show_error( __( 'There was an error duplicating this invoice. Please try again.', 'invoicing' ) );
445 445
 
446
-	}
446
+    }
447 447
 
448
-	/**
448
+    /**
449 449
      * Sends a payment reminder to a customer.
450
-	 *
451
-	 * @param array $args
450
+     *
451
+     * @param array $args
452 452
      */
453 453
     public function duplicate_payment_form( $args ) {
454 454
 
455
-		if ( empty( $args['form_id'] ) ) {
456
-			return;
457
-		}
458
-
459
-		$form = new GetPaid_Payment_Form( (int) $args['form_id'] );
455
+        if ( empty( $args['form_id'] ) ) {
456
+            return;
457
+        }
460 458
 
461
-		if ( ! $form->exists() ) {
462
-			return;
463
-		}
459
+        $form = new GetPaid_Payment_Form( (int) $args['form_id'] );
464 460
 
465
-		$new_form = new GetPaid_Payment_Form();
466
-		$new_form->set_author( $form->get_author( 'edit' ) );
467
-		$new_form->set_name( $form->get_name( 'edit' ) . __( '(copy)', 'invoicing' ) );
468
-		$new_form->set_elements( $form->get_elements( 'edit' ) );
469
-		$new_form->set_items( $form->get_items( 'edit' ) );
470
-		$new_form->save();
461
+        if ( ! $form->exists() ) {
462
+            return;
463
+        }
471 464
 
472
-		if ( $new_form->exists() ) {
473
-			$this->show_success( __( 'Form duplicated successfully', 'invoicing' ) );
474
-			$url = get_edit_post_link( $new_form->get_id(), 'edit' );
475
-		} else {
476
-			$this->show_error( __( 'Unable to duplicate form', 'invoicing' ) );
477
-			$url = remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) );
478
-		}
465
+        $new_form = new GetPaid_Payment_Form();
466
+        $new_form->set_author( $form->get_author( 'edit' ) );
467
+        $new_form->set_name( $form->get_name( 'edit' ) . __( '(copy)', 'invoicing' ) );
468
+        $new_form->set_elements( $form->get_elements( 'edit' ) );
469
+        $new_form->set_items( $form->get_items( 'edit' ) );
470
+        $new_form->save();
471
+
472
+        if ( $new_form->exists() ) {
473
+            $this->show_success( __( 'Form duplicated successfully', 'invoicing' ) );
474
+            $url = get_edit_post_link( $new_form->get_id(), 'edit' );
475
+        } else {
476
+            $this->show_error( __( 'Unable to duplicate form', 'invoicing' ) );
477
+            $url = remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) );
478
+        }
479 479
 
480
-		wp_redirect( $url );
481
-		exit;
482
-	}
480
+        wp_redirect( $url );
481
+        exit;
482
+    }
483 483
 
484
-	/**
484
+    /**
485 485
      * Sends a payment reminder to a customer.
486
-	 *
487
-	 * @param array $args
486
+     *
487
+     * @param array $args
488 488
      */
489 489
     public function send_customer_invoice( $args ) {
490
-		getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true );
491
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
492
-		exit;
493
-	}
490
+        getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true );
491
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
492
+        exit;
493
+    }
494 494
 
495
-	/**
495
+    /**
496 496
      * Sends a payment reminder to a customer.
497
-	 *
498
-	 * @param array $args
497
+     *
498
+     * @param array $args
499 499
      */
500 500
     public function send_customer_payment_reminder( $args ) {
501
-		$sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) );
501
+        $sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) );
502 502
 
503
-		if ( $sent ) {
504
-			$this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) );
505
-		} else {
506
-			$this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) );
507
-		}
503
+        if ( $sent ) {
504
+            $this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) );
505
+        } else {
506
+            $this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) );
507
+        }
508 508
 
509
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
510
-		exit;
511
-	}
509
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
510
+        exit;
511
+    }
512 512
 
513
-	/**
513
+    /**
514 514
      * Resets tax rates.
515
-	 *
515
+     *
516 516
      */
517 517
     public function admin_reset_tax_rates() {
518 518
 
519
-		update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
520
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
521
-		exit;
519
+        update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
520
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
521
+        exit;
522 522
 
523
-	}
523
+    }
524 524
 
525
-	/**
525
+    /**
526 526
      * Resets admin pages.
527
-	 *
527
+     *
528 528
      */
529 529
     public function admin_create_missing_pages() {
530
-		$installer = new GetPaid_Installer();
531
-		$installer->create_pages();
532
-		$this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) );
533
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
534
-		exit;
535
-	}
536
-
537
-	/**
538
-	 * Refreshes the permalinks.
539
-	 */
540
-	public function admin_refresh_permalinks() {
541
-		flush_rewrite_rules();
542
-		$this->show_success( __( 'Permalinks refreshed.', 'invoicing' ) );
543
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
544
-		exit;
545
-	}
546
-
547
-	/**
530
+        $installer = new GetPaid_Installer();
531
+        $installer->create_pages();
532
+        $this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) );
533
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
534
+        exit;
535
+    }
536
+
537
+    /**
538
+     * Refreshes the permalinks.
539
+     */
540
+    public function admin_refresh_permalinks() {
541
+        flush_rewrite_rules();
542
+        $this->show_success( __( 'Permalinks refreshed.', 'invoicing' ) );
543
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
544
+        exit;
545
+    }
546
+
547
+    /**
548 548
      * Creates an missing admin tables.
549
-	 *
549
+     *
550 550
      */
551 551
     public function admin_create_missing_tables() {
552
-		global $wpdb;
553
-		$installer = new GetPaid_Installer();
552
+        global $wpdb;
553
+        $installer = new GetPaid_Installer();
554 554
 
555
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}wpinv_subscriptions'" ) != $wpdb->prefix . 'wpinv_subscriptions' ) {
556
-			$installer->create_subscriptions_table();
555
+        if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}wpinv_subscriptions'" ) != $wpdb->prefix . 'wpinv_subscriptions' ) {
556
+            $installer->create_subscriptions_table();
557 557
 
558
-			if ( $wpdb->last_error !== '' ) {
559
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
560
-			}
561
-		}
558
+            if ( $wpdb->last_error !== '' ) {
559
+                $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
560
+            }
561
+        }
562 562
 
563
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) != $wpdb->prefix . 'getpaid_invoices' ) {
564
-			$installer->create_invoices_table();
563
+        if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) != $wpdb->prefix . 'getpaid_invoices' ) {
564
+            $installer->create_invoices_table();
565 565
 
566
-			if ( '' !== $wpdb->last_error ) {
567
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
568
-			}
569
-		}
566
+            if ( '' !== $wpdb->last_error ) {
567
+                $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
568
+            }
569
+        }
570 570
 
571
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoice_items'" ) != $wpdb->prefix . 'getpaid_invoice_items' ) {
572
-			$installer->create_invoice_items_table();
571
+        if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoice_items'" ) != $wpdb->prefix . 'getpaid_invoice_items' ) {
572
+            $installer->create_invoice_items_table();
573 573
 
574
-			if ( '' !== $wpdb->last_error ) {
575
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
576
-			}
577
-		}
574
+            if ( '' !== $wpdb->last_error ) {
575
+                $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
576
+            }
577
+        }
578 578
 
579
-		if ( ! $this->has_notices() ) {
580
-			$this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) );
581
-		}
579
+        if ( ! $this->has_notices() ) {
580
+            $this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) );
581
+        }
582 582
 
583
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
584
-		exit;
585
-	}
583
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
584
+        exit;
585
+    }
586 586
 
587
-	/**
587
+    /**
588 588
      * Migrates old invoices to the new database tables.
589
-	 *
589
+     *
590 590
      */
591 591
     public function admin_migrate_old_invoices() {
592 592
 
593
-		// Migrate the invoices.
594
-		$installer = new GetPaid_Installer();
595
-		$installer->migrate_old_invoices();
593
+        // Migrate the invoices.
594
+        $installer = new GetPaid_Installer();
595
+        $installer->migrate_old_invoices();
596 596
 
597
-		// Show an admin message.
598
-		$this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) );
597
+        // Show an admin message.
598
+        $this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) );
599 599
 
600
-		// Redirect the admin.
601
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
602
-		exit;
600
+        // Redirect the admin.
601
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
602
+        exit;
603 603
 
604
-	}
604
+    }
605 605
 
606
-	/**
606
+    /**
607 607
      * Download customers.
608
-	 *
608
+     *
609 609
      */
610 610
     public function admin_download_customers() {
611
-		global $wpdb;
612
-
613
-		$output = fopen( 'php://output', 'w' );
614
-
615
-		if ( false === $output ) {
616
-			wp_die( esc_html__( 'Unsupported server', 'invoicing' ), 500 );
617
-		}
611
+        global $wpdb;
618 612
 
619
-		header( 'Content-Type:text/csv' );
620
-		header( 'Content-Disposition:attachment;filename=customers.csv' );
613
+        $output = fopen( 'php://output', 'w' );
621 614
 
622
-		$post_types = '';
615
+        if ( false === $output ) {
616
+            wp_die( esc_html__( 'Unsupported server', 'invoicing' ), 500 );
617
+        }
623 618
 
624
-		foreach ( array_keys( getpaid_get_invoice_post_types() ) as $post_type ) {
625
-			$post_types .= $wpdb->prepare( 'post_type=%s OR ', $post_type );
626
-		}
619
+        header( 'Content-Type:text/csv' );
620
+        header( 'Content-Disposition:attachment;filename=customers.csv' );
627 621
 
628
-		$post_types = rtrim( $post_types, ' OR' );
622
+        $post_types = '';
629 623
 
630
-		$customers = $wpdb->get_col( "SELECT DISTINCT( post_author ) FROM $wpdb->posts WHERE $post_types" );
624
+        foreach ( array_keys( getpaid_get_invoice_post_types() ) as $post_type ) {
625
+            $post_types .= $wpdb->prepare( 'post_type=%s OR ', $post_type );
626
+        }
631 627
 
632
-		$columns = array(
633
-			'name'       => __( 'Name', 'invoicing' ),
634
-			'email'      => __( 'Email', 'invoicing' ),
635
-			'country'    => __( 'Country', 'invoicing' ),
636
-			'state'      => __( 'State', 'invoicing' ),
637
-			'city'       => __( 'City', 'invoicing' ),
638
-			'zip'        => __( 'ZIP', 'invoicing' ),
639
-			'address'    => __( 'Address', 'invoicing' ),
640
-			'phone'      => __( 'Phone', 'invoicing' ),
641
-			'company'    => __( 'Company', 'invoicing' ),
642
-			'company_id' => __( 'Company ID', 'invoicing' ),
643
-			'invoices'   => __( 'Invoices', 'invoicing' ),
644
-			'total_raw'  => __( 'Total Spend', 'invoicing' ),
645
-			'signup'     => __( 'Date created', 'invoicing' ),
646
-		);
628
+        $post_types = rtrim( $post_types, ' OR' );
629
+
630
+        $customers = $wpdb->get_col( "SELECT DISTINCT( post_author ) FROM $wpdb->posts WHERE $post_types" );
631
+
632
+        $columns = array(
633
+            'name'       => __( 'Name', 'invoicing' ),
634
+            'email'      => __( 'Email', 'invoicing' ),
635
+            'country'    => __( 'Country', 'invoicing' ),
636
+            'state'      => __( 'State', 'invoicing' ),
637
+            'city'       => __( 'City', 'invoicing' ),
638
+            'zip'        => __( 'ZIP', 'invoicing' ),
639
+            'address'    => __( 'Address', 'invoicing' ),
640
+            'phone'      => __( 'Phone', 'invoicing' ),
641
+            'company'    => __( 'Company', 'invoicing' ),
642
+            'company_id' => __( 'Company ID', 'invoicing' ),
643
+            'invoices'   => __( 'Invoices', 'invoicing' ),
644
+            'total_raw'  => __( 'Total Spend', 'invoicing' ),
645
+            'signup'     => __( 'Date created', 'invoicing' ),
646
+        );
647 647
 
648
-		// Output the csv column headers.
649
-		fputcsv( $output, array_values( $columns ) );
648
+        // Output the csv column headers.
649
+        fputcsv( $output, array_values( $columns ) );
650 650
 
651
-		// Loop through
652
-		$table = new WPInv_Customers_Table();
653
-		foreach ( $customers as $customer_id ) {
651
+        // Loop through
652
+        $table = new WPInv_Customers_Table();
653
+        foreach ( $customers as $customer_id ) {
654 654
 
655
-			$user = get_user_by( 'id', $customer_id );
656
-			$row  = array();
657
-			if ( empty( $user ) ) {
658
-				continue;
659
-			}
655
+            $user = get_user_by( 'id', $customer_id );
656
+            $row  = array();
657
+            if ( empty( $user ) ) {
658
+                continue;
659
+            }
660 660
 
661
-			foreach ( array_keys( $columns ) as $column ) {
661
+            foreach ( array_keys( $columns ) as $column ) {
662 662
 
663
-				$method = 'column_' . $column;
663
+                $method = 'column_' . $column;
664 664
 
665
-				if ( 'name' == $column ) {
666
-					$value = esc_html( $user->display_name );
667
-				} elseif ( 'email' == $column ) {
668
-					$value = sanitize_email( $user->user_email );
669
-				} elseif ( is_callable( array( $table, $method ) ) ) {
670
-					$value = wp_strip_all_tags( $table->$method( $user ) );
671
-				}
665
+                if ( 'name' == $column ) {
666
+                    $value = esc_html( $user->display_name );
667
+                } elseif ( 'email' == $column ) {
668
+                    $value = sanitize_email( $user->user_email );
669
+                } elseif ( is_callable( array( $table, $method ) ) ) {
670
+                    $value = wp_strip_all_tags( $table->$method( $user ) );
671
+                }
672 672
 
673
-				if ( empty( $value ) ) {
674
-					$value = esc_html( get_user_meta( $user->ID, '_wpinv_' . $column, true ) );
675
-				}
673
+                if ( empty( $value ) ) {
674
+                    $value = esc_html( get_user_meta( $user->ID, '_wpinv_' . $column, true ) );
675
+                }
676 676
 
677
-				$row[] = $value;
677
+                $row[] = $value;
678 678
 
679
-			}
679
+            }
680 680
 
681
-			fputcsv( $output, $row );
682
-		}
681
+            fputcsv( $output, $row );
682
+        }
683 683
 
684
-		fclose( $output );
685
-		exit;
684
+        fclose( $output );
685
+        exit;
686 686
 
687
-	}
687
+    }
688 688
 
689
-	/**
689
+    /**
690 690
      * Installs a plugin.
691
-	 *
692
-	 * @param array $data
691
+     *
692
+     * @param array $data
693 693
      */
694 694
     public function admin_install_plugin( $data ) {
695 695
 
696
-		if ( ! empty( $data['plugins'] ) ) {
697
-			include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
698
-			wp_cache_flush();
696
+        if ( ! empty( $data['plugins'] ) ) {
697
+            include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
698
+            wp_cache_flush();
699 699
 
700
-			foreach ( $data['plugins'] as $slug => $file ) {
701
-				$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' );
702
-				$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
703
-				$installed  = $upgrader->install( $plugin_zip );
700
+            foreach ( $data['plugins'] as $slug => $file ) {
701
+                $plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' );
702
+                $upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
703
+                $installed  = $upgrader->install( $plugin_zip );
704 704
 
705
-				if ( ! is_wp_error( $installed ) && $installed ) {
706
-					activate_plugin( $file, '', false, true );
707
-				} else {
708
-					wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false );
709
-				}
705
+                if ( ! is_wp_error( $installed ) && $installed ) {
706
+                    activate_plugin( $file, '', false, true );
707
+                } else {
708
+                    wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false );
709
+                }
710 710
 }
711 711
 }
712 712
 
713
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' );
714
-		wp_safe_redirect( $redirect );
715
-		exit;
713
+        $redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' );
714
+        wp_safe_redirect( $redirect );
715
+        exit;
716 716
 
717
-	}
717
+    }
718 718
 
719
-	/**
719
+    /**
720 720
      * Connects a gateway.
721
-	 *
722
-	 * @param array $data
721
+     *
722
+     * @param array $data
723 723
      */
724 724
     public function admin_connect_gateway( $data ) {
725 725
 
726
-		if ( ! empty( $data['plugin'] ) ) {
726
+        if ( ! empty( $data['plugin'] ) ) {
727 727
 
728
-			$gateway     = sanitize_key( $data['plugin'] );
729
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
728
+            $gateway     = sanitize_key( $data['plugin'] );
729
+            $connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
730 730
 
731
-			if ( ! empty( $connect_url ) ) {
732
-				wp_redirect( $connect_url );
733
-				exit;
734
-			}
731
+            if ( ! empty( $connect_url ) ) {
732
+                wp_redirect( $connect_url );
733
+                exit;
734
+            }
735 735
 
736
-			if ( 'stripe' == $data['plugin'] ) {
737
-				require_once ABSPATH . 'wp-admin/includes/plugin.php';
738
-				include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
739
-				wp_cache_flush();
736
+            if ( 'stripe' == $data['plugin'] ) {
737
+                require_once ABSPATH . 'wp-admin/includes/plugin.php';
738
+                include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
739
+                wp_cache_flush();
740 740
 
741
-				if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) {
742
-					$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' );
743
-					$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
744
-					$upgrader->install( $plugin_zip );
745
-				}
741
+                if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) {
742
+                    $plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' );
743
+                    $upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
744
+                    $upgrader->install( $plugin_zip );
745
+                }
746 746
 
747
-				activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true );
748
-			}
747
+                activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true );
748
+            }
749 749
 
750
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
751
-			if ( ! empty( $connect_url ) ) {
752
-				wp_redirect( $connect_url );
753
-				exit;
754
-			}
750
+            $connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
751
+            if ( ! empty( $connect_url ) ) {
752
+                wp_redirect( $connect_url );
753
+                exit;
754
+            }
755 755
 }
756 756
 
757
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' );
758
-		wp_safe_redirect( $redirect );
759
-		exit;
757
+        $redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' );
758
+        wp_safe_redirect( $redirect );
759
+        exit;
760 760
 
761
-	}
761
+    }
762 762
 
763
-	/**
763
+    /**
764 764
      * Recalculates discounts.
765
-	 *
765
+     *
766 766
      */
767 767
     public function admin_recalculate_discounts() {
768
-		global $wpdb;
768
+        global $wpdb;
769 769
 
770
-		// Fetch all invoices that have discount codes.
771
-		$table    = $wpdb->prefix . 'getpaid_invoices';
772
-		$invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" );
770
+        // Fetch all invoices that have discount codes.
771
+        $table    = $wpdb->prefix . 'getpaid_invoices';
772
+        $invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" );
773 773
 
774
-		foreach ( $invoices as $invoice ) {
774
+        foreach ( $invoices as $invoice ) {
775 775
 
776
-			$invoice = new WPInv_Invoice( $invoice );
776
+            $invoice = new WPInv_Invoice( $invoice );
777 777
 
778
-			if ( ! $invoice->exists() ) {
779
-				continue;
780
-			}
778
+            if ( ! $invoice->exists() ) {
779
+                continue;
780
+            }
781 781
 
782
-			// Abort if the discount does not exist or does not apply here.
783
-			$discount = new WPInv_Discount( $invoice->get_discount_code() );
784
-			if ( ! $discount->exists() ) {
785
-				continue;
786
-			}
782
+            // Abort if the discount does not exist or does not apply here.
783
+            $discount = new WPInv_Discount( $invoice->get_discount_code() );
784
+            if ( ! $discount->exists() ) {
785
+                continue;
786
+            }
787 787
 
788
-			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
789
-			$invoice->recalculate_total();
788
+            $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
789
+            $invoice->recalculate_total();
790 790
 
791
-			if ( $invoice->get_total_discount() > 0 ) {
792
-				$invoice->save();
793
-			}
791
+            if ( $invoice->get_total_discount() > 0 ) {
792
+                $invoice->save();
793
+            }
794 794
 }
795 795
 
796
-		// Show an admin message.
797
-		$this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) );
796
+        // Show an admin message.
797
+        $this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) );
798 798
 
799
-		// Redirect the admin.
800
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
801
-		exit;
799
+        // Redirect the admin.
800
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
801
+        exit;
802 802
 
803
-	}
803
+    }
804 804
 
805 805
     /**
806
-	 * Returns an array of admin notices.
807
-	 *
808
-	 * @since       1.0.19
806
+     * Returns an array of admin notices.
807
+     *
808
+     * @since       1.0.19
809 809
      * @return array
810
-	 */
811
-	public function get_notices() {
812
-		$notices = get_option( 'wpinv_admin_notices' );
810
+     */
811
+    public function get_notices() {
812
+        $notices = get_option( 'wpinv_admin_notices' );
813 813
         return is_array( $notices ) ? $notices : array();
814
-	}
814
+    }
815 815
 
816
-	/**
817
-	 * Checks if we have any admin notices.
818
-	 *
819
-	 * @since       2.0.4
816
+    /**
817
+     * Checks if we have any admin notices.
818
+     *
819
+     * @since       2.0.4
820 820
      * @return array
821
-	 */
822
-	public function has_notices() {
823
-		return count( $this->get_notices() ) > 0;
824
-	}
825
-
826
-	/**
827
-	 * Clears all admin notices
828
-	 *
829
-	 * @access      public
830
-	 * @since       1.0.19
831
-	 */
832
-	public function clear_notices() {
833
-		delete_option( 'wpinv_admin_notices' );
834
-	}
835
-
836
-	/**
837
-	 * Saves a new admin notice
838
-	 *
839
-	 * @access      public
840
-	 * @since       1.0.19
841
-	 */
842
-	public function save_notice( $type, $message ) {
843
-		$notices = $this->get_notices();
844
-
845
-		if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ] ) ) {
846
-			$notices[ $type ] = array();
847
-		}
848
-
849
-		$notices[ $type ][] = $message;
850
-
851
-		update_option( 'wpinv_admin_notices', $notices );
852
-	}
853
-
854
-	/**
855
-	 * Displays a success notice
856
-	 *
857
-	 * @param       string $msg The message to qeue.
858
-	 * @access      public
859
-	 * @since       1.0.19
860
-	 */
861
-	public function show_success( $msg ) {
862
-		$this->save_notice( 'success', $msg );
863
-	}
864
-
865
-	/**
866
-	 * Displays a error notice
867
-	 *
868
-	 * @access      public
869
-	 * @param       string $msg The message to qeue.
870
-	 * @since       1.0.19
871
-	 */
872
-	public function show_error( $msg ) {
873
-		$this->save_notice( 'error', $msg );
874
-	}
875
-
876
-	/**
877
-	 * Displays a warning notice
878
-	 *
879
-	 * @access      public
880
-	 * @param       string $msg The message to qeue.
881
-	 * @since       1.0.19
882
-	 */
883
-	public function show_warning( $msg ) {
884
-		$this->save_notice( 'warning', $msg );
885
-	}
886
-
887
-	/**
888
-	 * Displays a info notice
889
-	 *
890
-	 * @access      public
891
-	 * @param       string $msg The message to qeue.
892
-	 * @since       1.0.19
893
-	 */
894
-	public function show_info( $msg ) {
895
-		$this->save_notice( 'info', $msg );
896
-	}
897
-
898
-	/**
899
-	 * Show notices
900
-	 *
901
-	 * @access      public
902
-	 * @since       1.0.19
903
-	 */
904
-	public function show_notices() {
821
+     */
822
+    public function has_notices() {
823
+        return count( $this->get_notices() ) > 0;
824
+    }
825
+
826
+    /**
827
+     * Clears all admin notices
828
+     *
829
+     * @access      public
830
+     * @since       1.0.19
831
+     */
832
+    public function clear_notices() {
833
+        delete_option( 'wpinv_admin_notices' );
834
+    }
835
+
836
+    /**
837
+     * Saves a new admin notice
838
+     *
839
+     * @access      public
840
+     * @since       1.0.19
841
+     */
842
+    public function save_notice( $type, $message ) {
843
+        $notices = $this->get_notices();
844
+
845
+        if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ] ) ) {
846
+            $notices[ $type ] = array();
847
+        }
848
+
849
+        $notices[ $type ][] = $message;
850
+
851
+        update_option( 'wpinv_admin_notices', $notices );
852
+    }
853
+
854
+    /**
855
+     * Displays a success notice
856
+     *
857
+     * @param       string $msg The message to qeue.
858
+     * @access      public
859
+     * @since       1.0.19
860
+     */
861
+    public function show_success( $msg ) {
862
+        $this->save_notice( 'success', $msg );
863
+    }
864
+
865
+    /**
866
+     * Displays a error notice
867
+     *
868
+     * @access      public
869
+     * @param       string $msg The message to qeue.
870
+     * @since       1.0.19
871
+     */
872
+    public function show_error( $msg ) {
873
+        $this->save_notice( 'error', $msg );
874
+    }
875
+
876
+    /**
877
+     * Displays a warning notice
878
+     *
879
+     * @access      public
880
+     * @param       string $msg The message to qeue.
881
+     * @since       1.0.19
882
+     */
883
+    public function show_warning( $msg ) {
884
+        $this->save_notice( 'warning', $msg );
885
+    }
886
+
887
+    /**
888
+     * Displays a info notice
889
+     *
890
+     * @access      public
891
+     * @param       string $msg The message to qeue.
892
+     * @since       1.0.19
893
+     */
894
+    public function show_info( $msg ) {
895
+        $this->save_notice( 'info', $msg );
896
+    }
897
+
898
+    /**
899
+     * Show notices
900
+     *
901
+     * @access      public
902
+     * @since       1.0.19
903
+     */
904
+    public function show_notices() {
905 905
 
906 906
         $notices = $this->get_notices();
907 907
         $this->clear_notices();
908 908
 
909
-		foreach ( $notices as $type => $messages ) {
909
+        foreach ( $notices as $type => $messages ) {
910 910
 
911
-			if ( ! is_array( $messages ) ) {
912
-				continue;
913
-			}
911
+            if ( ! is_array( $messages ) ) {
912
+                continue;
913
+            }
914 914
 
915 915
             $type  = esc_attr( $type );
916
-			foreach ( $messages as $message ) {
917
-				echo wp_kses_post( "<div class='notice notice-$type is-dismissible'><p>$message</p></div>" );
916
+            foreach ( $messages as $message ) {
917
+                echo wp_kses_post( "<div class='notice notice-$type is-dismissible'><p>$message</p></div>" );
918 918
             }
919 919
 }
920 920
 
921
-		foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) {
922
-
923
-			if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) {
924
-				$url     = wp_nonce_url(
925
-					add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
926
-					'getpaid-nonce',
927
-					'getpaid-nonce'
928
-				);
929
-				$message  = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' );
930
-				$message2 = __( 'Generate Pages', 'invoicing' );
931
-				echo wp_kses_post( "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>" );
932
-				break;
933
-			}
921
+        foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) {
922
+
923
+            if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) {
924
+                $url     = wp_nonce_url(
925
+                    add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
926
+                    'getpaid-nonce',
927
+                    'getpaid-nonce'
928
+                );
929
+                $message  = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' );
930
+                $message2 = __( 'Generate Pages', 'invoicing' );
931
+                echo wp_kses_post( "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>" );
932
+                break;
933
+            }
934 934
 }
935 935
 
936
-	}
936
+    }
937 937
 
938 938
 }
Please login to merge, or discard this patch.
Spacing   +283 added lines, -283 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.
@@ -39,11 +39,11 @@  discard block
 block discarded – undo
39 39
 	 */
40 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,34 +54,34 @@  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' ), 9 );
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_duplicate_form', array( $this, 'duplicate_payment_form' ) );
65
-		add_action( 'getpaid_authenticated_admin_action_duplicate_invoice', array( $this, 'duplicate_invoice' ) );
66
-		add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) );
67
-		add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) );
68
-        add_action( 'getpaid_authenticated_admin_action_reset_tax_rates', array( $this, 'admin_reset_tax_rates' ) );
69
-		add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) );
70
-		add_action( 'getpaid_authenticated_admin_action_refresh_permalinks', array( $this, 'admin_refresh_permalinks' ) );
71
-		add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) );
72
-		add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) );
73
-		add_action( 'getpaid_authenticated_admin_action_download_customers', array( $this, 'admin_download_customers' ) );
74
-		add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) );
75
-		add_action( 'getpaid_authenticated_admin_action_install_plugin', array( $this, 'admin_install_plugin' ) );
76
-		add_action( 'getpaid_authenticated_admin_action_connect_gateway', array( $this, 'admin_connect_gateway' ) );
77
-		add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) );
78
-		do_action( 'getpaid_init_admin_hooks', $this );
57
+        add_action('admin_enqueue_scripts', array($this, 'enqeue_scripts'), 9);
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_duplicate_form', array($this, 'duplicate_payment_form'));
65
+		add_action('getpaid_authenticated_admin_action_duplicate_invoice', array($this, 'duplicate_invoice'));
66
+		add_action('getpaid_authenticated_admin_action_send_invoice', array($this, 'send_customer_invoice'));
67
+		add_action('getpaid_authenticated_admin_action_send_invoice_reminder', array($this, 'send_customer_payment_reminder'));
68
+        add_action('getpaid_authenticated_admin_action_reset_tax_rates', array($this, 'admin_reset_tax_rates'));
69
+		add_action('getpaid_authenticated_admin_action_create_missing_pages', array($this, 'admin_create_missing_pages'));
70
+		add_action('getpaid_authenticated_admin_action_refresh_permalinks', array($this, 'admin_refresh_permalinks'));
71
+		add_action('getpaid_authenticated_admin_action_create_missing_tables', array($this, 'admin_create_missing_tables'));
72
+		add_action('getpaid_authenticated_admin_action_migrate_old_invoices', array($this, 'admin_migrate_old_invoices'));
73
+		add_action('getpaid_authenticated_admin_action_download_customers', array($this, 'admin_download_customers'));
74
+		add_action('getpaid_authenticated_admin_action_recalculate_discounts', array($this, 'admin_recalculate_discounts'));
75
+		add_action('getpaid_authenticated_admin_action_install_plugin', array($this, 'admin_install_plugin'));
76
+		add_action('getpaid_authenticated_admin_action_connect_gateway', array($this, 'admin_connect_gateway'));
77
+		add_filter('admin_footer_text', array($this, 'admin_footer_text'));
78
+		do_action('getpaid_init_admin_hooks', $this);
79 79
 
80 80
 		// Setup/welcome
81
-		if ( ! empty( $_GET['page'] ) ) {
82
-			switch ( sanitize_text_field( $_GET['page'] ) ) {
81
+		if (!empty($_GET['page'])) {
82
+			switch (sanitize_text_field($_GET['page'])) {
83 83
 				case 'gp-setup':
84
-					include_once dirname( __FILE__ ) . '/class-getpaid-admin-setup-wizard.php';
84
+					include_once dirname(__FILE__) . '/class-getpaid-admin-setup-wizard.php';
85 85
 					break;
86 86
 			}
87 87
 		}
@@ -95,37 +95,37 @@  discard block
 block discarded – undo
95 95
 	public function enqeue_scripts() {
96 96
         global $current_screen, $pagenow;
97 97
 
98
-		$page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
98
+		$page    = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : '';
99 99
 		$editing = $pagenow == 'post.php' || $pagenow == 'post-new.php';
100 100
 
101
-        if ( ! empty( $current_screen->post_type ) ) {
101
+        if (!empty($current_screen->post_type)) {
102 102
 			$page = $current_screen->post_type;
103 103
         }
104 104
 
105 105
         // General styles.
106
-        if ( false !== stripos( $page, 'wpi' ) || false !== stripos( $page, 'getpaid' ) || 'gp-setup' == $page || false !== stripos( $page, 'geodir-tickets' ) ) {
106
+        if (false !== stripos($page, 'wpi') || false !== stripos($page, 'getpaid') || 'gp-setup' == $page || false !== stripos($page, 'geodir-tickets')) {
107 107
 
108 108
             // Styles.
109
-            $version = filemtime( WPINV_PLUGIN_DIR . 'assets/css/admin.css' );
110
-            wp_enqueue_style( 'wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array( 'wp-color-picker' ), $version );
111
-            wp_enqueue_style( 'select2', WPINV_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), '4.0.13', 'all' );
109
+            $version = filemtime(WPINV_PLUGIN_DIR . 'assets/css/admin.css');
110
+            wp_enqueue_style('wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array('wp-color-picker'), $version);
111
+            wp_enqueue_style('select2', WPINV_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), '4.0.13', 'all');
112 112
 
113 113
             // Scripts.
114
-            wp_enqueue_script( 'select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full.min.js', array( 'jquery' ), WPINV_VERSION );
114
+            wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full.min.js', array('jquery'), WPINV_VERSION);
115 115
 
116
-            $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin.js' );
117
-            wp_enqueue_script( 'wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array( 'jquery', 'wp-color-picker', 'jquery-ui-tooltip' ), $version );
118
-            wp_localize_script( 'wpinv-admin-script', 'WPInv_Admin', apply_filters( 'wpinv_admin_js_localize', $this->get_admin_i18() ) );
116
+            $version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/admin.js');
117
+            wp_enqueue_script('wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array('jquery', 'wp-color-picker', 'jquery-ui-tooltip'), $version);
118
+            wp_localize_script('wpinv-admin-script', 'WPInv_Admin', apply_filters('wpinv_admin_js_localize', $this->get_admin_i18()));
119 119
 
120 120
         }
121 121
 
122 122
         // Payment form scripts.
123
-		if ( 'wpi_payment_form' == $page && $editing ) {
123
+		if ('wpi_payment_form' == $page && $editing) {
124 124
             $this->load_payment_form_scripts();
125 125
         }
126 126
 
127
-		if ( $page == 'wpinv-subscriptions' ) {
128
-			wp_enqueue_script( 'postbox' );
127
+		if ($page == 'wpinv-subscriptions') {
128
+			wp_enqueue_script('postbox');
129 129
 		}
130 130
 
131 131
     }
@@ -138,31 +138,31 @@  discard block
 block discarded – undo
138 138
         global $post;
139 139
 
140 140
 		$date_range = array(
141
-			'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days',
141
+			'period' => isset($_GET['date_range']) ? sanitize_text_field($_GET['date_range']) : '7_days',
142 142
 		);
143 143
 
144
-		if ( $date_range['period'] == 'custom' ) {
144
+		if ($date_range['period'] == 'custom') {
145 145
 
146
-			if ( isset( $_GET['from'] ) ) {
147
-				$date_range['after'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS );
146
+			if (isset($_GET['from'])) {
147
+				$date_range['after'] = date('Y-m-d', strtotime(sanitize_text_field($_GET['from']), current_time('timestamp')) - DAY_IN_SECONDS);
148 148
 			}
149 149
 
150
-			if ( isset( $_GET['to'] ) ) {
151
-				$date_range['before'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS );
150
+			if (isset($_GET['to'])) {
151
+				$date_range['before'] = date('Y-m-d', strtotime(sanitize_text_field($_GET['to']), current_time('timestamp')) + DAY_IN_SECONDS);
152 152
 			}
153 153
 }
154 154
 
155 155
         $i18n = array(
156
-            'ajax_url'                  => admin_url( 'admin-ajax.php' ),
157
-            'post_ID'                   => isset( $post->ID ) ? $post->ID : '',
158
-			'wpinv_nonce'               => wp_create_nonce( 'wpinv-nonce' ),
159
-			'rest_nonce'                => wp_create_nonce( 'wp_rest' ),
160
-			'rest_root'                 => esc_url_raw( rest_url() ),
156
+            'ajax_url'                  => admin_url('admin-ajax.php'),
157
+            'post_ID'                   => isset($post->ID) ? $post->ID : '',
158
+			'wpinv_nonce'               => wp_create_nonce('wpinv-nonce'),
159
+			'rest_nonce'                => wp_create_nonce('wp_rest'),
160
+			'rest_root'                 => esc_url_raw(rest_url()),
161 161
 			'date_range'                => $date_range,
162
-            'add_invoice_note_nonce'    => wp_create_nonce( 'add-invoice-note' ),
163
-            'delete_invoice_note_nonce' => wp_create_nonce( 'delete-invoice-note' ),
164
-            'invoice_item_nonce'        => wp_create_nonce( 'invoice-item' ),
165
-            'billing_details_nonce'     => wp_create_nonce( 'get-billing-details' ),
162
+            'add_invoice_note_nonce'    => wp_create_nonce('add-invoice-note'),
163
+            'delete_invoice_note_nonce' => wp_create_nonce('delete-invoice-note'),
164
+            'invoice_item_nonce'        => wp_create_nonce('invoice-item'),
165
+            'billing_details_nonce'     => wp_create_nonce('get-billing-details'),
166 166
             'tax'                       => wpinv_tax_amount(),
167 167
             'discount'                  => 0,
168 168
 			'currency_symbol'           => wpinv_currency_symbol(),
@@ -171,39 +171,39 @@  discard block
 block discarded – undo
171 171
             'thousand_sep'              => wpinv_thousands_separator(),
172 172
             'decimal_sep'               => wpinv_decimal_separator(),
173 173
             'decimals'                  => wpinv_decimals(),
174
-            'save_invoice'              => __( 'Save Invoice', 'invoicing' ),
175
-            'status_publish'            => wpinv_status_nicename( 'publish' ),
176
-            'status_pending'            => wpinv_status_nicename( 'wpi-pending' ),
177
-            'delete_tax_rate'           => __( 'Are you sure you wish to delete this tax rate?', 'invoicing' ),
178
-            'status_pending'            => wpinv_status_nicename( 'wpi-pending' ),
179
-            'FillBillingDetails'        => __( 'Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing' ),
180
-            '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' ),
181
-            'AreYouSure'                => __( 'Are you sure?', 'invoicing' ),
182
-            'errDeleteItem'             => __( 'This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing' ),
183
-            'delete_subscription'       => __( 'Are you sure you want to delete this subscription?', 'invoicing' ),
184
-            'action_edit'               => __( 'Edit', 'invoicing' ),
185
-            'action_cancel'             => __( 'Cancel', 'invoicing' ),
186
-            'item_description'          => __( 'Item Description', 'invoicing' ),
187
-            'invoice_description'       => __( 'Invoice Description', 'invoicing' ),
188
-            'discount_description'      => __( 'Discount Description', 'invoicing' ),
189
-			'searching'                 => __( 'Searching', 'invoicing' ),
190
-			'loading'                   => __( 'Loading...', 'invoicing' ),
191
-			'search_customers'          => __( 'Enter customer name or email', 'invoicing' ),
192
-			'search_items'              => __( 'Enter item name', 'invoicing' ),
193
-			'graphs'                    => array_merge( array( 'refunded_fees', 'refunded_items', 'refunded_subtotal', 'refunded_tax' ), array_keys( wpinv_get_report_graphs() ) ),
174
+            'save_invoice'              => __('Save Invoice', 'invoicing'),
175
+            'status_publish'            => wpinv_status_nicename('publish'),
176
+            'status_pending'            => wpinv_status_nicename('wpi-pending'),
177
+            'delete_tax_rate'           => __('Are you sure you wish to delete this tax rate?', 'invoicing'),
178
+            'status_pending'            => wpinv_status_nicename('wpi-pending'),
179
+            'FillBillingDetails'        => __('Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing'),
180
+            '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'),
181
+            'AreYouSure'                => __('Are you sure?', 'invoicing'),
182
+            'errDeleteItem'             => __('This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing'),
183
+            'delete_subscription'       => __('Are you sure you want to delete this subscription?', 'invoicing'),
184
+            'action_edit'               => __('Edit', 'invoicing'),
185
+            'action_cancel'             => __('Cancel', 'invoicing'),
186
+            'item_description'          => __('Item Description', 'invoicing'),
187
+            'invoice_description'       => __('Invoice Description', 'invoicing'),
188
+            'discount_description'      => __('Discount Description', 'invoicing'),
189
+			'searching'                 => __('Searching', 'invoicing'),
190
+			'loading'                   => __('Loading...', 'invoicing'),
191
+			'search_customers'          => __('Enter customer name or email', 'invoicing'),
192
+			'search_items'              => __('Enter item name', 'invoicing'),
193
+			'graphs'                    => array_merge(array('refunded_fees', 'refunded_items', 'refunded_subtotal', 'refunded_tax'), array_keys(wpinv_get_report_graphs())),
194 194
         );
195 195
 
196
-		if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) {
196
+		if (!empty($post) && getpaid_is_invoice_post_type($post->post_type)) {
197 197
 
198
-			$invoice              = new WPInv_Invoice( $post );
198
+			$invoice              = new WPInv_Invoice($post);
199 199
 			$i18n['save_invoice'] = sprintf(
200
-				__( 'Save %s', 'invoicing' ),
201
-				ucfirst( $invoice->get_invoice_quote_type() )
200
+				__('Save %s', 'invoicing'),
201
+				ucfirst($invoice->get_invoice_quote_type())
202 202
 			);
203 203
 
204 204
 			$i18n['invoice_description'] = sprintf(
205
-				__( '%s Description', 'invoicing' ),
206
-				ucfirst( $invoice->get_invoice_quote_type() )
205
+				__('%s Description', 'invoicing'),
206
+				ucfirst($invoice->get_invoice_quote_type())
207 207
 			);
208 208
 
209 209
 		}
@@ -217,24 +217,24 @@  discard block
 block discarded – undo
217 217
 	 * @param  string $footer_text
218 218
 	 * @return string
219 219
 	 */
220
-	public function admin_footer_text( $footer_text ) {
220
+	public function admin_footer_text($footer_text) {
221 221
 		global $current_screen;
222 222
 
223
-		$page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
223
+		$page = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : '';
224 224
 
225
-        if ( ! empty( $current_screen->post_type ) ) {
225
+        if (!empty($current_screen->post_type)) {
226 226
 			$page = $current_screen->post_type;
227 227
         }
228 228
 
229 229
         // General styles.
230
-        if ( apply_filters( 'getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing() ) && false !== stripos( $page, 'wpi' ) ) {
230
+        if (apply_filters('getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing()) && false !== stripos($page, 'wpi')) {
231 231
 
232 232
 			// Change the footer text
233
-			if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) {
233
+			if (!get_user_meta(get_current_user_id(), 'getpaid_admin_footer_text_rated', true)) {
234 234
 
235
-				$rating_url  = esc_url(
235
+				$rating_url = esc_url(
236 236
 					wp_nonce_url(
237
-						admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ),
237
+						admin_url('admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin'),
238 238
 						'getpaid-nonce',
239 239
 						'getpaid-nonce'
240 240
                     )
@@ -242,7 +242,7 @@  discard block
 block discarded – undo
242 242
 
243 243
 				$footer_text = sprintf(
244 244
 					/* translators: %s: five stars */
245
-					__( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ),
245
+					__('If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing'),
246 246
 					"<a href='$rating_url'>&#9733;&#9733;&#9733;&#9733;&#9733;</a>"
247 247
 				);
248 248
 
@@ -250,7 +250,7 @@  discard block
 block discarded – undo
250 250
 
251 251
 				$footer_text = sprintf(
252 252
 					/* translators: %s: GetPaid */
253
-					__( 'Thank you for using %s!', 'invoicing' ),
253
+					__('Thank you for using %s!', 'invoicing'),
254 254
 					"<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>"
255 255
 				);
256 256
 
@@ -266,8 +266,8 @@  discard block
 block discarded – undo
266 266
 	 * @since  2.0.0
267 267
 	 */
268 268
 	public function redirect_to_wordpress_rating_page() {
269
-		update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 );
270
-		wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' );
269
+		update_user_meta(get_current_user_id(), 'getpaid_admin_footer_text_rated', 1);
270
+		wp_redirect('https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post');
271 271
 		exit;
272 272
 	}
273 273
 
@@ -278,30 +278,30 @@  discard block
 block discarded – undo
278 278
 	protected function load_payment_form_scripts() {
279 279
         global $post;
280 280
 
281
-        wp_enqueue_script( 'vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.min.js', array(), WPINV_VERSION );
282
-		wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION );
283
-		wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION );
281
+        wp_enqueue_script('vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.min.js', array(), WPINV_VERSION);
282
+		wp_enqueue_script('sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION);
283
+		wp_enqueue_script('vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array('sortable', 'vue'), WPINV_VERSION);
284 284
 
285
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin-payment-forms.js' );
286
-		wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.js', array( 'wpinv-admin-script', 'vue_draggable', 'wp-hooks' ), $version );
285
+		$version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/admin-payment-forms.js');
286
+		wp_register_script('wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.js', array('wpinv-admin-script', 'vue_draggable', 'wp-hooks'), $version);
287 287
 
288 288
 		wp_localize_script(
289 289
             'wpinv-admin-payment-form-script',
290 290
             'wpinvPaymentFormAdmin',
291 291
             array(
292
-				'elements'      => wpinv_get_data( 'payment-form-elements' ),
293
-				'form_elements' => getpaid_get_payment_form_elements( $post->ID ),
292
+				'elements'      => wpinv_get_data('payment-form-elements'),
293
+				'form_elements' => getpaid_get_payment_form_elements($post->ID),
294 294
 				'currency'      => wpinv_currency_symbol(),
295 295
 				'position'      => wpinv_currency_position(),
296 296
 				'decimals'      => (int) wpinv_decimals(),
297 297
 				'thousands_sep' => wpinv_thousands_separator(),
298 298
 				'decimals_sep'  => wpinv_decimal_separator(),
299
-				'form_items'    => gepaid_get_form_items( $post->ID ),
299
+				'form_items'    => gepaid_get_form_items($post->ID),
300 300
 				'is_default'    => $post->ID == wpinv_get_default_payment_form(),
301 301
             )
302 302
         );
303 303
 
304
-        wp_enqueue_script( 'wpinv-admin-payment-form-script' );
304
+        wp_enqueue_script('wpinv-admin-payment-form-script');
305 305
 
306 306
     }
307 307
 
@@ -312,24 +312,24 @@  discard block
 block discarded – undo
312 312
      * @return string
313 313
 	 *
314 314
 	 */
315
-    public function admin_body_class( $classes ) {
315
+    public function admin_body_class($classes) {
316 316
 		global $pagenow, $post, $current_screen;
317 317
 
318
-        $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
318
+        $page = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : '';
319 319
 
320
-        if ( ! empty( $current_screen->post_type ) ) {
320
+        if (!empty($current_screen->post_type)) {
321 321
 			$page = $current_screen->post_type;
322 322
         }
323 323
 
324
-        if ( false !== stripos( $page, 'wpi' ) ) {
325
-            $classes .= ' wpi-' . sanitize_key( $page );
324
+        if (false !== stripos($page, 'wpi')) {
325
+            $classes .= ' wpi-' . sanitize_key($page);
326 326
         }
327 327
 
328
-        if ( in_array( $page, wpinv_parse_list( 'wpi_invoice wpi_payment_form wpi_quote' ) ) ) {
328
+        if (in_array($page, wpinv_parse_list('wpi_invoice wpi_payment_form wpi_quote'))) {
329 329
             $classes .= ' wpinv-cpt wpinv';
330 330
 		}
331 331
 
332
-		if ( getpaid_is_invoice_post_type( $page ) ) {
332
+		if (getpaid_is_invoice_post_type($page)) {
333 333
             $classes .= ' getpaid-is-invoice-cpt';
334 334
         }
335 335
 
@@ -348,21 +348,21 @@  discard block
 block discarded – undo
348 348
 				'version'           => WPINV_VERSION,
349 349
 				'support_url'       => 'https://wpgetpaid.com/support/',
350 350
 				'documentation_url' => 'https://docs.wpgetpaid.com/',
351
-				'activated'         => (int) get_option( 'gepaid_installed_on' ),
351
+				'activated'         => (int) get_option('gepaid_installed_on'),
352 352
             )
353 353
         );
354 354
 
355 355
         new AyeCode_Connect_Helper(
356 356
             array(
357
-				'connect_title'     => __( 'WP Invoicing - an AyeCode product!', 'invoicing' ),
358
-				'connect_external'  => __( 'Please confirm you wish to connect your site?', 'invoicing' ),
359
-				'connect'           => sprintf( __( '<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %1$slearn more%2$s', 'invoicing' ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", '</a>' ),
360
-				'connect_button'    => __( 'Connect Site', 'invoicing' ),
361
-				'connecting_button' => __( 'Connecting...', 'invoicing' ),
362
-				'error_localhost'   => __( 'This service will only work with a live domain, not a localhost.', 'invoicing' ),
363
-				'error'             => __( 'Something went wrong, please refresh and try again.', 'invoicing' ),
357
+				'connect_title'     => __('WP Invoicing - an AyeCode product!', 'invoicing'),
358
+				'connect_external'  => __('Please confirm you wish to connect your site?', 'invoicing'),
359
+				'connect'           => sprintf(__('<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %1$slearn more%2$s', 'invoicing'), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", '</a>'),
360
+				'connect_button'    => __('Connect Site', 'invoicing'),
361
+				'connecting_button' => __('Connecting...', 'invoicing'),
362
+				'error_localhost'   => __('This service will only work with a live domain, not a localhost.', 'invoicing'),
363
+				'error'             => __('Something went wrong, please refresh and try again.', 'invoicing'),
364 364
             ),
365
-            array( 'wpi-addons' )
365
+            array('wpi-addons')
366 366
         );
367 367
 
368 368
     }
@@ -374,20 +374,20 @@  discard block
 block discarded – undo
374 374
 	 */
375 375
 	public function activation_redirect() {
376 376
 
377
-		$redirected = get_option( 'wpinv_redirected_to_settings' );
377
+		$redirected = get_option('wpinv_redirected_to_settings');
378 378
 
379
-		if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) {
379
+		if (!empty($redirected) || wp_doing_ajax() || !current_user_can('manage_options')) {
380 380
 			return;
381 381
 		}
382 382
 
383 383
 		// Bail if activating from network, or bulk
384
-		if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
384
+		if (is_network_admin() || isset($_GET['activate-multi'])) {
385 385
 			return;
386 386
 		}
387 387
 
388
-	    update_option( 'wpinv_redirected_to_settings', 1 );
388
+	    update_option('wpinv_redirected_to_settings', 1);
389 389
 
390
-        wp_safe_redirect( admin_url( 'index.php?page=gp-setup' ) );
390
+        wp_safe_redirect(admin_url('index.php?page=gp-setup'));
391 391
         exit;
392 392
 
393 393
 	}
@@ -397,9 +397,9 @@  discard block
 block discarded – undo
397 397
      */
398 398
     public function maybe_do_admin_action() {
399 399
 
400
-        if ( wpinv_current_user_can_manage_invoicing() && isset( $_REQUEST['getpaid-admin-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
401
-            $key = sanitize_key( $_REQUEST['getpaid-admin-action'] );
402
-            do_action( "getpaid_authenticated_admin_action_$key", $_REQUEST );
400
+        if (wpinv_current_user_can_manage_invoicing() && isset($_REQUEST['getpaid-admin-action']) && isset($_REQUEST['getpaid-nonce']) && wp_verify_nonce($_REQUEST['getpaid-nonce'], 'getpaid-nonce')) {
401
+            $key = sanitize_key($_REQUEST['getpaid-admin-action']);
402
+            do_action("getpaid_authenticated_admin_action_$key", $_REQUEST);
403 403
         }
404 404
 
405 405
     }
@@ -409,24 +409,24 @@  discard block
 block discarded – undo
409 409
 	 *
410 410
 	 * @param array $args
411 411
      */
412
-    public function duplicate_invoice( $args ) {
412
+    public function duplicate_invoice($args) {
413 413
 
414
-		if ( empty( $args['invoice_id'] ) ) {
414
+		if (empty($args['invoice_id'])) {
415 415
 			return;
416 416
 		}
417 417
 
418
-		$invoice = new WPInv_Invoice( (int) $args['invoice_id'] );
418
+		$invoice = new WPInv_Invoice((int) $args['invoice_id']);
419 419
 
420
-		if ( ! $invoice->exists() ) {
420
+		if (!$invoice->exists()) {
421 421
 			return;
422 422
 		}
423 423
 
424
-		$new_invoice = getpaid_duplicate_invoice( $invoice );
424
+		$new_invoice = getpaid_duplicate_invoice($invoice);
425 425
 		$new_invoice->save();
426 426
 
427
-		if ( $new_invoice->exists() ) {
427
+		if ($new_invoice->exists()) {
428 428
 
429
-			getpaid_admin()->show_success( __( 'Invoice duplicated successfully.', 'invoicing' ) );
429
+			getpaid_admin()->show_success(__('Invoice duplicated successfully.', 'invoicing'));
430 430
 
431 431
 			wp_safe_redirect(
432 432
 				add_query_arg(
@@ -434,14 +434,14 @@  discard block
 block discarded – undo
434 434
 						'action' => 'edit',
435 435
 						'post'   => $new_invoice->get_id(),
436 436
 					),
437
-					admin_url( 'post.php' )
437
+					admin_url('post.php')
438 438
 				)
439 439
 			);
440 440
 			exit;
441 441
 
442 442
 		}
443 443
 
444
-		getpaid_admin()->show_error( __( 'There was an error duplicating this invoice. Please try again.', 'invoicing' ) );
444
+		getpaid_admin()->show_error(__('There was an error duplicating this invoice. Please try again.', 'invoicing'));
445 445
 
446 446
 	}
447 447
 
@@ -450,34 +450,34 @@  discard block
 block discarded – undo
450 450
 	 *
451 451
 	 * @param array $args
452 452
      */
453
-    public function duplicate_payment_form( $args ) {
453
+    public function duplicate_payment_form($args) {
454 454
 
455
-		if ( empty( $args['form_id'] ) ) {
455
+		if (empty($args['form_id'])) {
456 456
 			return;
457 457
 		}
458 458
 
459
-		$form = new GetPaid_Payment_Form( (int) $args['form_id'] );
459
+		$form = new GetPaid_Payment_Form((int) $args['form_id']);
460 460
 
461
-		if ( ! $form->exists() ) {
461
+		if (!$form->exists()) {
462 462
 			return;
463 463
 		}
464 464
 
465 465
 		$new_form = new GetPaid_Payment_Form();
466
-		$new_form->set_author( $form->get_author( 'edit' ) );
467
-		$new_form->set_name( $form->get_name( 'edit' ) . __( '(copy)', 'invoicing' ) );
468
-		$new_form->set_elements( $form->get_elements( 'edit' ) );
469
-		$new_form->set_items( $form->get_items( 'edit' ) );
466
+		$new_form->set_author($form->get_author('edit'));
467
+		$new_form->set_name($form->get_name('edit') . __('(copy)', 'invoicing'));
468
+		$new_form->set_elements($form->get_elements('edit'));
469
+		$new_form->set_items($form->get_items('edit'));
470 470
 		$new_form->save();
471 471
 
472
-		if ( $new_form->exists() ) {
473
-			$this->show_success( __( 'Form duplicated successfully', 'invoicing' ) );
474
-			$url = get_edit_post_link( $new_form->get_id(), 'edit' );
472
+		if ($new_form->exists()) {
473
+			$this->show_success(__('Form duplicated successfully', 'invoicing'));
474
+			$url = get_edit_post_link($new_form->get_id(), 'edit');
475 475
 		} else {
476
-			$this->show_error( __( 'Unable to duplicate form', 'invoicing' ) );
477
-			$url = remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) );
476
+			$this->show_error(__('Unable to duplicate form', 'invoicing'));
477
+			$url = remove_query_arg(array('getpaid-admin-action', 'form_id', 'getpaid-nonce'));
478 478
 		}
479 479
 
480
-		wp_redirect( $url );
480
+		wp_redirect($url);
481 481
 		exit;
482 482
 	}
483 483
 
@@ -486,9 +486,9 @@  discard block
 block discarded – undo
486 486
 	 *
487 487
 	 * @param array $args
488 488
      */
489
-    public function send_customer_invoice( $args ) {
490
-		getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true );
491
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
489
+    public function send_customer_invoice($args) {
490
+		getpaid()->get('invoice_emails')->user_invoice(new WPInv_Invoice($args['invoice_id']), true);
491
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce', 'invoice_id')));
492 492
 		exit;
493 493
 	}
494 494
 
@@ -497,16 +497,16 @@  discard block
 block discarded – undo
497 497
 	 *
498 498
 	 * @param array $args
499 499
      */
500
-    public function send_customer_payment_reminder( $args ) {
501
-		$sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) );
500
+    public function send_customer_payment_reminder($args) {
501
+		$sent = getpaid()->get('invoice_emails')->force_send_overdue_notice(new WPInv_Invoice($args['invoice_id']));
502 502
 
503
-		if ( $sent ) {
504
-			$this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) );
503
+		if ($sent) {
504
+			$this->show_success(__('Payment reminder was successfully sent to the customer', 'invoicing'));
505 505
 		} else {
506
-			$this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) );
506
+			$this->show_error(__('Could not sent payment reminder to the customer', 'invoicing'));
507 507
 		}
508 508
 
509
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
509
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce', 'invoice_id')));
510 510
 		exit;
511 511
 	}
512 512
 
@@ -516,8 +516,8 @@  discard block
 block discarded – undo
516 516
      */
517 517
     public function admin_reset_tax_rates() {
518 518
 
519
-		update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
520
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
519
+		update_option('wpinv_tax_rates', wpinv_get_data('tax-rates'));
520
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
521 521
 		exit;
522 522
 
523 523
 	}
@@ -529,8 +529,8 @@  discard block
 block discarded – undo
529 529
     public function admin_create_missing_pages() {
530 530
 		$installer = new GetPaid_Installer();
531 531
 		$installer->create_pages();
532
-		$this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) );
533
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
532
+		$this->show_success(__('GetPaid pages updated.', 'invoicing'));
533
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
534 534
 		exit;
535 535
 	}
536 536
 
@@ -539,8 +539,8 @@  discard block
 block discarded – undo
539 539
 	 */
540 540
 	public function admin_refresh_permalinks() {
541 541
 		flush_rewrite_rules();
542
-		$this->show_success( __( 'Permalinks refreshed.', 'invoicing' ) );
543
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
542
+		$this->show_success(__('Permalinks refreshed.', 'invoicing'));
543
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
544 544
 		exit;
545 545
 	}
546 546
 
@@ -552,35 +552,35 @@  discard block
 block discarded – undo
552 552
 		global $wpdb;
553 553
 		$installer = new GetPaid_Installer();
554 554
 
555
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}wpinv_subscriptions'" ) != $wpdb->prefix . 'wpinv_subscriptions' ) {
555
+		if ($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->prefix}wpinv_subscriptions'") != $wpdb->prefix . 'wpinv_subscriptions') {
556 556
 			$installer->create_subscriptions_table();
557 557
 
558
-			if ( $wpdb->last_error !== '' ) {
559
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
558
+			if ($wpdb->last_error !== '') {
559
+				$this->show_error(__('Your GetPaid tables have been updated:', 'invoicing') . ' ' . $wpdb->last_error);
560 560
 			}
561 561
 		}
562 562
 
563
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) != $wpdb->prefix . 'getpaid_invoices' ) {
563
+		if ($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'") != $wpdb->prefix . 'getpaid_invoices') {
564 564
 			$installer->create_invoices_table();
565 565
 
566
-			if ( '' !== $wpdb->last_error ) {
567
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
566
+			if ('' !== $wpdb->last_error) {
567
+				$this->show_error(__('Your GetPaid tables have been updated:', 'invoicing') . ' ' . $wpdb->last_error);
568 568
 			}
569 569
 		}
570 570
 
571
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoice_items'" ) != $wpdb->prefix . 'getpaid_invoice_items' ) {
571
+		if ($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoice_items'") != $wpdb->prefix . 'getpaid_invoice_items') {
572 572
 			$installer->create_invoice_items_table();
573 573
 
574
-			if ( '' !== $wpdb->last_error ) {
575
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
574
+			if ('' !== $wpdb->last_error) {
575
+				$this->show_error(__('Your GetPaid tables have been updated:', 'invoicing') . ' ' . $wpdb->last_error);
576 576
 			}
577 577
 		}
578 578
 
579
-		if ( ! $this->has_notices() ) {
580
-			$this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) );
579
+		if (!$this->has_notices()) {
580
+			$this->show_success(__('Your GetPaid tables have been updated.', 'invoicing'));
581 581
 		}
582 582
 
583
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
583
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
584 584
 		exit;
585 585
 	}
586 586
 
@@ -595,10 +595,10 @@  discard block
 block discarded – undo
595 595
 		$installer->migrate_old_invoices();
596 596
 
597 597
 		// Show an admin message.
598
-		$this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) );
598
+		$this->show_success(__('Your invoices have been migrated.', 'invoicing'));
599 599
 
600 600
 		// Redirect the admin.
601
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
601
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
602 602
 		exit;
603 603
 
604 604
 	}
@@ -610,78 +610,78 @@  discard block
 block discarded – undo
610 610
     public function admin_download_customers() {
611 611
 		global $wpdb;
612 612
 
613
-		$output = fopen( 'php://output', 'w' );
613
+		$output = fopen('php://output', 'w');
614 614
 
615
-		if ( false === $output ) {
616
-			wp_die( esc_html__( 'Unsupported server', 'invoicing' ), 500 );
615
+		if (false === $output) {
616
+			wp_die(esc_html__('Unsupported server', 'invoicing'), 500);
617 617
 		}
618 618
 
619
-		header( 'Content-Type:text/csv' );
620
-		header( 'Content-Disposition:attachment;filename=customers.csv' );
619
+		header('Content-Type:text/csv');
620
+		header('Content-Disposition:attachment;filename=customers.csv');
621 621
 
622 622
 		$post_types = '';
623 623
 
624
-		foreach ( array_keys( getpaid_get_invoice_post_types() ) as $post_type ) {
625
-			$post_types .= $wpdb->prepare( 'post_type=%s OR ', $post_type );
624
+		foreach (array_keys(getpaid_get_invoice_post_types()) as $post_type) {
625
+			$post_types .= $wpdb->prepare('post_type=%s OR ', $post_type);
626 626
 		}
627 627
 
628
-		$post_types = rtrim( $post_types, ' OR' );
628
+		$post_types = rtrim($post_types, ' OR');
629 629
 
630
-		$customers = $wpdb->get_col( "SELECT DISTINCT( post_author ) FROM $wpdb->posts WHERE $post_types" );
630
+		$customers = $wpdb->get_col("SELECT DISTINCT( post_author ) FROM $wpdb->posts WHERE $post_types");
631 631
 
632 632
 		$columns = array(
633
-			'name'       => __( 'Name', 'invoicing' ),
634
-			'email'      => __( 'Email', 'invoicing' ),
635
-			'country'    => __( 'Country', 'invoicing' ),
636
-			'state'      => __( 'State', 'invoicing' ),
637
-			'city'       => __( 'City', 'invoicing' ),
638
-			'zip'        => __( 'ZIP', 'invoicing' ),
639
-			'address'    => __( 'Address', 'invoicing' ),
640
-			'phone'      => __( 'Phone', 'invoicing' ),
641
-			'company'    => __( 'Company', 'invoicing' ),
642
-			'company_id' => __( 'Company ID', 'invoicing' ),
643
-			'invoices'   => __( 'Invoices', 'invoicing' ),
644
-			'total_raw'  => __( 'Total Spend', 'invoicing' ),
645
-			'signup'     => __( 'Date created', 'invoicing' ),
633
+			'name'       => __('Name', 'invoicing'),
634
+			'email'      => __('Email', 'invoicing'),
635
+			'country'    => __('Country', 'invoicing'),
636
+			'state'      => __('State', 'invoicing'),
637
+			'city'       => __('City', 'invoicing'),
638
+			'zip'        => __('ZIP', 'invoicing'),
639
+			'address'    => __('Address', 'invoicing'),
640
+			'phone'      => __('Phone', 'invoicing'),
641
+			'company'    => __('Company', 'invoicing'),
642
+			'company_id' => __('Company ID', 'invoicing'),
643
+			'invoices'   => __('Invoices', 'invoicing'),
644
+			'total_raw'  => __('Total Spend', 'invoicing'),
645
+			'signup'     => __('Date created', 'invoicing'),
646 646
 		);
647 647
 
648 648
 		// Output the csv column headers.
649
-		fputcsv( $output, array_values( $columns ) );
649
+		fputcsv($output, array_values($columns));
650 650
 
651 651
 		// Loop through
652 652
 		$table = new WPInv_Customers_Table();
653
-		foreach ( $customers as $customer_id ) {
653
+		foreach ($customers as $customer_id) {
654 654
 
655
-			$user = get_user_by( 'id', $customer_id );
655
+			$user = get_user_by('id', $customer_id);
656 656
 			$row  = array();
657
-			if ( empty( $user ) ) {
657
+			if (empty($user)) {
658 658
 				continue;
659 659
 			}
660 660
 
661
-			foreach ( array_keys( $columns ) as $column ) {
661
+			foreach (array_keys($columns) as $column) {
662 662
 
663 663
 				$method = 'column_' . $column;
664 664
 
665
-				if ( 'name' == $column ) {
666
-					$value = esc_html( $user->display_name );
667
-				} elseif ( 'email' == $column ) {
668
-					$value = sanitize_email( $user->user_email );
669
-				} elseif ( is_callable( array( $table, $method ) ) ) {
670
-					$value = wp_strip_all_tags( $table->$method( $user ) );
665
+				if ('name' == $column) {
666
+					$value = esc_html($user->display_name);
667
+				} elseif ('email' == $column) {
668
+					$value = sanitize_email($user->user_email);
669
+				} elseif (is_callable(array($table, $method))) {
670
+					$value = wp_strip_all_tags($table->$method($user));
671 671
 				}
672 672
 
673
-				if ( empty( $value ) ) {
674
-					$value = esc_html( get_user_meta( $user->ID, '_wpinv_' . $column, true ) );
673
+				if (empty($value)) {
674
+					$value = esc_html(get_user_meta($user->ID, '_wpinv_' . $column, true));
675 675
 				}
676 676
 
677 677
 				$row[] = $value;
678 678
 
679 679
 			}
680 680
 
681
-			fputcsv( $output, $row );
681
+			fputcsv($output, $row);
682 682
 		}
683 683
 
684
-		fclose( $output );
684
+		fclose($output);
685 685
 		exit;
686 686
 
687 687
 	}
@@ -691,27 +691,27 @@  discard block
 block discarded – undo
691 691
 	 *
692 692
 	 * @param array $data
693 693
      */
694
-    public function admin_install_plugin( $data ) {
694
+    public function admin_install_plugin($data) {
695 695
 
696
-		if ( ! empty( $data['plugins'] ) ) {
696
+		if (!empty($data['plugins'])) {
697 697
 			include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
698 698
 			wp_cache_flush();
699 699
 
700
-			foreach ( $data['plugins'] as $slug => $file ) {
701
-				$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' );
702
-				$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
703
-				$installed  = $upgrader->install( $plugin_zip );
700
+			foreach ($data['plugins'] as $slug => $file) {
701
+				$plugin_zip = esc_url('https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip');
702
+				$upgrader   = new Plugin_Upgrader(new Automatic_Upgrader_Skin());
703
+				$installed  = $upgrader->install($plugin_zip);
704 704
 
705
-				if ( ! is_wp_error( $installed ) && $installed ) {
706
-					activate_plugin( $file, '', false, true );
705
+				if (!is_wp_error($installed) && $installed) {
706
+					activate_plugin($file, '', false, true);
707 707
 				} else {
708
-					wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false );
708
+					wpinv_error_log($upgrader->skin->get_upgrade_messages(), false);
709 709
 				}
710 710
 }
711 711
 }
712 712
 
713
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' );
714
-		wp_safe_redirect( $redirect );
713
+		$redirect = isset($data['redirect']) ? esc_url_raw($data['redirect']) : admin_url('plugins.php');
714
+		wp_safe_redirect($redirect);
715 715
 		exit;
716 716
 
717 717
 	}
@@ -721,41 +721,41 @@  discard block
 block discarded – undo
721 721
 	 *
722 722
 	 * @param array $data
723 723
      */
724
-    public function admin_connect_gateway( $data ) {
724
+    public function admin_connect_gateway($data) {
725 725
 
726
-		if ( ! empty( $data['plugin'] ) ) {
726
+		if (!empty($data['plugin'])) {
727 727
 
728
-			$gateway     = sanitize_key( $data['plugin'] );
729
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
728
+			$gateway     = sanitize_key($data['plugin']);
729
+			$connect_url = apply_filters("getpaid_get_{$gateway}_connect_url", false, $data);
730 730
 
731
-			if ( ! empty( $connect_url ) ) {
732
-				wp_redirect( $connect_url );
731
+			if (!empty($connect_url)) {
732
+				wp_redirect($connect_url);
733 733
 				exit;
734 734
 			}
735 735
 
736
-			if ( 'stripe' == $data['plugin'] ) {
736
+			if ('stripe' == $data['plugin']) {
737 737
 				require_once ABSPATH . 'wp-admin/includes/plugin.php';
738 738
 				include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
739 739
 				wp_cache_flush();
740 740
 
741
-				if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) {
742
-					$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' );
743
-					$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
744
-					$upgrader->install( $plugin_zip );
741
+				if (!array_key_exists('getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins())) {
742
+					$plugin_zip = esc_url('https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip');
743
+					$upgrader   = new Plugin_Upgrader(new Automatic_Upgrader_Skin());
744
+					$upgrader->install($plugin_zip);
745 745
 				}
746 746
 
747
-				activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true );
747
+				activate_plugin('getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true);
748 748
 			}
749 749
 
750
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
751
-			if ( ! empty( $connect_url ) ) {
752
-				wp_redirect( $connect_url );
750
+			$connect_url = apply_filters("getpaid_get_{$gateway}_connect_url", false, $data);
751
+			if (!empty($connect_url)) {
752
+				wp_redirect($connect_url);
753 753
 				exit;
754 754
 			}
755 755
 }
756 756
 
757
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' );
758
-		wp_safe_redirect( $redirect );
757
+		$redirect = isset($data['redirect']) ? esc_url_raw(urldecode($data['redirect'])) : admin_url('admin.php?page=wpinv-settings&tab=gateways');
758
+		wp_safe_redirect($redirect);
759 759
 		exit;
760 760
 
761 761
 	}
@@ -769,35 +769,35 @@  discard block
 block discarded – undo
769 769
 
770 770
 		// Fetch all invoices that have discount codes.
771 771
 		$table    = $wpdb->prefix . 'getpaid_invoices';
772
-		$invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" );
772
+		$invoices = $wpdb->get_col("SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''");
773 773
 
774
-		foreach ( $invoices as $invoice ) {
774
+		foreach ($invoices as $invoice) {
775 775
 
776
-			$invoice = new WPInv_Invoice( $invoice );
776
+			$invoice = new WPInv_Invoice($invoice);
777 777
 
778
-			if ( ! $invoice->exists() ) {
778
+			if (!$invoice->exists()) {
779 779
 				continue;
780 780
 			}
781 781
 
782 782
 			// Abort if the discount does not exist or does not apply here.
783
-			$discount = new WPInv_Discount( $invoice->get_discount_code() );
784
-			if ( ! $discount->exists() ) {
783
+			$discount = new WPInv_Discount($invoice->get_discount_code());
784
+			if (!$discount->exists()) {
785 785
 				continue;
786 786
 			}
787 787
 
788
-			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
788
+			$invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount));
789 789
 			$invoice->recalculate_total();
790 790
 
791
-			if ( $invoice->get_total_discount() > 0 ) {
791
+			if ($invoice->get_total_discount() > 0) {
792 792
 				$invoice->save();
793 793
 			}
794 794
 }
795 795
 
796 796
 		// Show an admin message.
797
-		$this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) );
797
+		$this->show_success(__('Discounts have been recalculated.', 'invoicing'));
798 798
 
799 799
 		// Redirect the admin.
800
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
800
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
801 801
 		exit;
802 802
 
803 803
 	}
@@ -809,8 +809,8 @@  discard block
 block discarded – undo
809 809
      * @return array
810 810
 	 */
811 811
 	public function get_notices() {
812
-		$notices = get_option( 'wpinv_admin_notices' );
813
-        return is_array( $notices ) ? $notices : array();
812
+		$notices = get_option('wpinv_admin_notices');
813
+        return is_array($notices) ? $notices : array();
814 814
 	}
815 815
 
816 816
 	/**
@@ -820,7 +820,7 @@  discard block
 block discarded – undo
820 820
      * @return array
821 821
 	 */
822 822
 	public function has_notices() {
823
-		return count( $this->get_notices() ) > 0;
823
+		return count($this->get_notices()) > 0;
824 824
 	}
825 825
 
826 826
 	/**
@@ -830,7 +830,7 @@  discard block
 block discarded – undo
830 830
 	 * @since       1.0.19
831 831
 	 */
832 832
 	public function clear_notices() {
833
-		delete_option( 'wpinv_admin_notices' );
833
+		delete_option('wpinv_admin_notices');
834 834
 	}
835 835
 
836 836
 	/**
@@ -839,16 +839,16 @@  discard block
 block discarded – undo
839 839
 	 * @access      public
840 840
 	 * @since       1.0.19
841 841
 	 */
842
-	public function save_notice( $type, $message ) {
842
+	public function save_notice($type, $message) {
843 843
 		$notices = $this->get_notices();
844 844
 
845
-		if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ] ) ) {
846
-			$notices[ $type ] = array();
845
+		if (empty($notices[$type]) || !is_array($notices[$type])) {
846
+			$notices[$type] = array();
847 847
 		}
848 848
 
849
-		$notices[ $type ][] = $message;
849
+		$notices[$type][] = $message;
850 850
 
851
-		update_option( 'wpinv_admin_notices', $notices );
851
+		update_option('wpinv_admin_notices', $notices);
852 852
 	}
853 853
 
854 854
 	/**
@@ -858,8 +858,8 @@  discard block
 block discarded – undo
858 858
 	 * @access      public
859 859
 	 * @since       1.0.19
860 860
 	 */
861
-	public function show_success( $msg ) {
862
-		$this->save_notice( 'success', $msg );
861
+	public function show_success($msg) {
862
+		$this->save_notice('success', $msg);
863 863
 	}
864 864
 
865 865
 	/**
@@ -869,8 +869,8 @@  discard block
 block discarded – undo
869 869
 	 * @param       string $msg The message to qeue.
870 870
 	 * @since       1.0.19
871 871
 	 */
872
-	public function show_error( $msg ) {
873
-		$this->save_notice( 'error', $msg );
872
+	public function show_error($msg) {
873
+		$this->save_notice('error', $msg);
874 874
 	}
875 875
 
876 876
 	/**
@@ -880,8 +880,8 @@  discard block
 block discarded – undo
880 880
 	 * @param       string $msg The message to qeue.
881 881
 	 * @since       1.0.19
882 882
 	 */
883
-	public function show_warning( $msg ) {
884
-		$this->save_notice( 'warning', $msg );
883
+	public function show_warning($msg) {
884
+		$this->save_notice('warning', $msg);
885 885
 	}
886 886
 
887 887
 	/**
@@ -891,8 +891,8 @@  discard block
 block discarded – undo
891 891
 	 * @param       string $msg The message to qeue.
892 892
 	 * @since       1.0.19
893 893
 	 */
894
-	public function show_info( $msg ) {
895
-		$this->save_notice( 'info', $msg );
894
+	public function show_info($msg) {
895
+		$this->save_notice('info', $msg);
896 896
 	}
897 897
 
898 898
 	/**
@@ -906,29 +906,29 @@  discard block
 block discarded – undo
906 906
         $notices = $this->get_notices();
907 907
         $this->clear_notices();
908 908
 
909
-		foreach ( $notices as $type => $messages ) {
909
+		foreach ($notices as $type => $messages) {
910 910
 
911
-			if ( ! is_array( $messages ) ) {
911
+			if (!is_array($messages)) {
912 912
 				continue;
913 913
 			}
914 914
 
915
-            $type  = esc_attr( $type );
916
-			foreach ( $messages as $message ) {
917
-				echo wp_kses_post( "<div class='notice notice-$type is-dismissible'><p>$message</p></div>" );
915
+            $type = esc_attr($type);
916
+			foreach ($messages as $message) {
917
+				echo wp_kses_post("<div class='notice notice-$type is-dismissible'><p>$message</p></div>");
918 918
             }
919 919
 }
920 920
 
921
-		foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) {
921
+		foreach (array('checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page') as $page) {
922 922
 
923
-			if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) {
924
-				$url     = wp_nonce_url(
925
-					add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
923
+			if (!is_numeric(wpinv_get_option($page, false))) {
924
+				$url = wp_nonce_url(
925
+					add_query_arg('getpaid-admin-action', 'create_missing_pages'),
926 926
 					'getpaid-nonce',
927 927
 					'getpaid-nonce'
928 928
 				);
929
-				$message  = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' );
930
-				$message2 = __( 'Generate Pages', 'invoicing' );
931
-				echo wp_kses_post( "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>" );
929
+				$message  = __('Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing');
930
+				$message2 = __('Generate Pages', 'invoicing');
931
+				echo wp_kses_post("<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>");
932 932
 				break;
933 933
 			}
934 934
 }
Please login to merge, or discard this patch.
includes/admin/register-settings.php 2 patches
Indentation   +318 added lines, -318 removed lines patch added patch discarded remove patch
@@ -144,7 +144,7 @@  discard block
 block discarded – undo
144 144
  *
145 145
  */
146 146
 function wpinv_register_settings() {
147
-	do_action( 'getpaid_before_register_settings' );
147
+    do_action( 'getpaid_before_register_settings' );
148 148
 
149 149
     // Loop through all tabs.
150 150
     foreach ( wpinv_get_registered_settings() as $tab => $sections ) {
@@ -159,7 +159,7 @@  discard block
 block discarded – undo
159 159
                 $settings = $sections;
160 160
             }
161 161
 
162
-			do_action( "getpaid_register_{$tab}_{$section}" );
162
+            do_action( "getpaid_register_{$tab}_{$section}" );
163 163
 
164 164
             // Register the setting section.
165 165
             add_settings_section(
@@ -180,7 +180,7 @@  discard block
 block discarded – undo
180 180
     // Creates our settings in the options table.
181 181
     register_setting( 'wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize' );
182 182
 
183
-	do_action( 'getpaid_after_register_settings' );
183
+    do_action( 'getpaid_after_register_settings' );
184 184
 }
185 185
 add_action( 'admin_init', 'wpinv_register_settings' );
186 186
 
@@ -197,13 +197,13 @@  discard block
 block discarded – undo
197 197
     $name       = isset( $option['name'] ) ? $option['name'] : '';
198 198
     $cb         = "wpinv_{$option['type']}_callback";
199 199
     $section    = "wpinv_settings_{$tab}_$section";
200
-	$is_wizzard = is_admin() && isset( $_GET['page'] ) && 'gp-setup' == $_GET['page'];
200
+    $is_wizzard = is_admin() && isset( $_GET['page'] ) && 'gp-setup' == $_GET['page'];
201 201
 
202
-	if ( isset( $option['desc'] ) && ( ! $is_wizzard && ! empty( $option['help-tip'] ) ) ) {
203
-		$tip   = wpinv_clean( $option['desc'] );
204
-		$name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>";
205
-		unset( $option['desc'] );
206
-	}
202
+    if ( isset( $option['desc'] ) && ( ! $is_wizzard && ! empty( $option['help-tip'] ) ) ) {
203
+        $tip   = wpinv_clean( $option['desc'] );
204
+        $name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>";
205
+        unset( $option['desc'] );
206
+    }
207 207
 
208 208
     // Loop through all tabs.
209 209
     add_settings_field(
@@ -230,9 +230,9 @@  discard block
 block discarded – undo
230 230
             'faux'            => isset( $option['faux'] ) ? $option['faux'] : false,
231 231
             'onchange'        => isset( $option['onchange'] ) ? $option['onchange'] : '',
232 232
             'custom'          => isset( $option['custom'] ) ? $option['custom'] : '',
233
-			'default_content' => isset( $option['default_content'] ) ? $option['default_content'] : '',
234
-			'class'           => isset( $option['class'] ) ? $option['class'] : '',
235
-			'style'           => isset( $option['style'] ) ? $option['style'] : '',
233
+            'default_content' => isset( $option['default_content'] ) ? $option['default_content'] : '',
234
+            'class'           => isset( $option['class'] ) ? $option['class'] : '',
235
+            'style'           => isset( $option['style'] ) ? $option['style'] : '',
236 236
             'cols'            => isset( $option['cols'] ) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50,
237 237
             'rows'            => isset( $option['rows'] ) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5,
238 238
         )
@@ -246,7 +246,7 @@  discard block
 block discarded – undo
246 246
  * @return array
247 247
  */
248 248
 function wpinv_get_registered_settings() {
249
-	return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) );
249
+    return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) );
250 250
 }
251 251
 
252 252
 /**
@@ -265,18 +265,18 @@  discard block
 block discarded – undo
265 265
  */
266 266
 function wpinv_settings_sanitize( $input = array() ) {
267 267
 
268
-	$wpinv_options = wpinv_get_options();
269
-	$raw_referrer  = wp_get_raw_referer();
268
+    $wpinv_options = wpinv_get_options();
269
+    $raw_referrer  = wp_get_raw_referer();
270 270
 
271 271
     if ( empty( $raw_referrer ) ) {
272
-		return array_merge( $wpinv_options, $input );
272
+        return array_merge( $wpinv_options, $input );
273 273
     }
274 274
 
275 275
     wp_parse_str( $raw_referrer, $referrer );
276 276
 
277
-	if ( in_array( 'gp-setup', $referrer ) ) {
278
-		return array_merge( $wpinv_options, $input );
279
-	}
277
+    if ( in_array( 'gp-setup', $referrer ) ) {
278
+        return array_merge( $wpinv_options, $input );
279
+    }
280 280
 
281 281
     $settings = wpinv_get_registered_settings();
282 282
     $tab      = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general';
@@ -298,10 +298,10 @@  discard block
 block discarded – undo
298 298
         }
299 299
 
300 300
         // General filter
301
-		$input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key );
301
+        $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key );
302 302
 
303
-		// Key specific filter.
304
-		$input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] );
303
+        // Key specific filter.
304
+        $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] );
305 305
     }
306 306
 
307 307
     // Loop through the whitelist and unset any that are empty for the tab being saved
@@ -344,14 +344,14 @@  discard block
 block discarded – undo
344 344
 
345 345
     foreach ( $new_rates as $rate ) {
346 346
 
347
-		$rate['rate']    = wpinv_sanitize_amount( $rate['rate'] );
348
-		$rate['name']    = sanitize_text_field( $rate['name'] );
349
-		$rate['state']   = sanitize_text_field( $rate['state'] );
350
-		$rate['country'] = sanitize_text_field( $rate['country'] );
351
-		$rate['global']  = empty( $rate['state'] );
352
-		$tax_rates[]     = $rate;
347
+        $rate['rate']    = wpinv_sanitize_amount( $rate['rate'] );
348
+        $rate['name']    = sanitize_text_field( $rate['name'] );
349
+        $rate['state']   = sanitize_text_field( $rate['state'] );
350
+        $rate['country'] = sanitize_text_field( $rate['country'] );
351
+        $rate['global']  = empty( $rate['state'] );
352
+        $tax_rates[]     = $rate;
353 353
 
354
-	}
354
+    }
355 355
 
356 356
     update_option( 'wpinv_tax_rates', $tax_rates );
357 357
 
@@ -364,21 +364,21 @@  discard block
 block discarded – undo
364 364
         return $input;
365 365
     }
366 366
 
367
-	if ( empty( $_POST['wpinv_tax_rules_nonce'] ) || ! wp_verify_nonce( $_POST['wpinv_tax_rules_nonce'], 'wpinv_tax_rules' ) ) {
368
-		return $input;
369
-	}
367
+    if ( empty( $_POST['wpinv_tax_rules_nonce'] ) || ! wp_verify_nonce( $_POST['wpinv_tax_rules_nonce'], 'wpinv_tax_rules' ) ) {
368
+        return $input;
369
+    }
370 370
 
371 371
     $new_rules = ! empty( $_POST['tax_rules'] ) ? wp_kses_post_deep( array_values( $_POST['tax_rules'] ) ) : array();
372 372
     $tax_rules = array();
373 373
 
374 374
     foreach ( $new_rules as $rule ) {
375 375
 
376
-		$rule['key']      = sanitize_title_with_dashes( $rule['key'] );
377
-		$rule['label']    = sanitize_text_field( $rule['label'] );
378
-		$rule['tax_base'] = sanitize_text_field( $rule['tax_base'] );
379
-		$tax_rules[]      = $rule;
376
+        $rule['key']      = sanitize_title_with_dashes( $rule['key'] );
377
+        $rule['label']    = sanitize_text_field( $rule['label'] );
378
+        $rule['tax_base'] = sanitize_text_field( $rule['tax_base'] );
379
+        $tax_rules[]      = $rule;
380 380
 
381
-	}
381
+    }
382 382
 
383 383
     update_option( 'wpinv_tax_rules', $tax_rules );
384 384
 
@@ -391,11 +391,11 @@  discard block
 block discarded – undo
391 391
     $tabs['general']  = __( 'General', 'invoicing' );
392 392
     $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' );
393 393
     $tabs['taxes']    = __( 'Taxes', 'invoicing' );
394
-	$tabs['emails']   = __( 'Emails', 'invoicing' );
394
+    $tabs['emails']   = __( 'Emails', 'invoicing' );
395 395
 
396
-	if ( count( getpaid_get_integration_settings() ) > 0 ) {
397
-		$tabs['integrations'] = __( 'Integrations', 'invoicing' );
398
-	}
396
+    if ( count( getpaid_get_integration_settings() ) > 0 ) {
397
+        $tabs['integrations'] = __( 'Integrations', 'invoicing' );
398
+    }
399 399
 
400 400
     $tabs['privacy']  = __( 'Privacy', 'invoicing' );
401 401
     $tabs['misc']     = __( 'Misc', 'invoicing' );
@@ -426,53 +426,53 @@  discard block
 block discarded – undo
426 426
         'general'      => apply_filters(
427 427
             'wpinv_settings_sections_general',
428 428
             array(
429
-				'main'             => __( 'General Settings', 'invoicing' ),
430
-				'page_section'     => __( 'Page Settings', 'invoicing' ),
431
-				'currency_section' => __( 'Currency Settings', 'invoicing' ),
432
-				'labels'           => __( 'Label Texts', 'invoicing' ),
429
+                'main'             => __( 'General Settings', 'invoicing' ),
430
+                'page_section'     => __( 'Page Settings', 'invoicing' ),
431
+                'currency_section' => __( 'Currency Settings', 'invoicing' ),
432
+                'labels'           => __( 'Label Texts', 'invoicing' ),
433 433
             )
434 434
         ),
435 435
         'gateways'     => apply_filters(
436 436
             'wpinv_settings_sections_gateways',
437 437
             array(
438
-				'main' => __( 'Gateway Settings', 'invoicing' ),
438
+                'main' => __( 'Gateway Settings', 'invoicing' ),
439 439
             )
440 440
         ),
441 441
         'taxes'        => apply_filters(
442 442
             'wpinv_settings_sections_taxes',
443 443
             array(
444
-				'main'  => __( 'Tax Settings', 'invoicing' ),
445
-				'rules' => __( 'Tax Rules', 'invoicing' ),
446
-				'rates' => __( 'Tax Rates', 'invoicing' ),
447
-				'vat'   => __( 'EU VAT Settings', 'invoicing' ),
444
+                'main'  => __( 'Tax Settings', 'invoicing' ),
445
+                'rules' => __( 'Tax Rules', 'invoicing' ),
446
+                'rates' => __( 'Tax Rates', 'invoicing' ),
447
+                'vat'   => __( 'EU VAT Settings', 'invoicing' ),
448 448
             )
449 449
         ),
450 450
         'emails'       => apply_filters(
451 451
             'wpinv_settings_sections_emails',
452 452
             array(
453
-				'main' => __( 'Email Settings', 'invoicing' ),
453
+                'main' => __( 'Email Settings', 'invoicing' ),
454 454
             )
455 455
         ),
456 456
 
457
-		'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ),
457
+        'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ),
458 458
 
459 459
         'privacy'      => apply_filters(
460 460
             'wpinv_settings_sections_privacy',
461 461
             array(
462
-				'main' => __( 'Privacy policy', 'invoicing' ),
462
+                'main' => __( 'Privacy policy', 'invoicing' ),
463 463
             )
464 464
         ),
465 465
         'misc'         => apply_filters(
466 466
             'wpinv_settings_sections_misc',
467 467
             array(
468
-				'main'       => __( 'Miscellaneous', 'invoicing' ),
469
-				'custom-css' => __( 'Custom CSS', 'invoicing' ),
468
+                'main'       => __( 'Miscellaneous', 'invoicing' ),
469
+                'custom-css' => __( 'Custom CSS', 'invoicing' ),
470 470
             )
471 471
         ),
472 472
         'tools'        => apply_filters(
473 473
             'wpinv_settings_sections_tools',
474 474
             array(
475
-				'main' => __( 'Diagnostic Tools', 'invoicing' ),
475
+                'main' => __( 'Diagnostic Tools', 'invoicing' ),
476 476
             )
477 477
         ),
478 478
     );
@@ -483,46 +483,46 @@  discard block
 block discarded – undo
483 483
 }
484 484
 
485 485
 function wpinv_get_pages( $with_slug = false, $default_label = null ) {
486
-	$pages_options = array();
486
+    $pages_options = array();
487 487
 
488
-	if ( $default_label !== null && $default_label !== false ) {
489
-		$pages_options = array( '' => $default_label ); // Blank option
490
-	}
488
+    if ( $default_label !== null && $default_label !== false ) {
489
+        $pages_options = array( '' => $default_label ); // Blank option
490
+    }
491 491
 
492
-	$pages = get_pages();
493
-	if ( $pages ) {
494
-		foreach ( $pages as $page ) {
495
-			$title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
492
+    $pages = get_pages();
493
+    if ( $pages ) {
494
+        foreach ( $pages as $page ) {
495
+            $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
496 496
             $pages_options[ $page->ID ] = $title;
497
-		}
498
-	}
497
+        }
498
+    }
499 499
 
500
-	return $pages_options;
500
+    return $pages_options;
501 501
 }
502 502
 
503 503
 function wpinv_header_callback( $args ) {
504
-	if ( ! empty( $args['desc'] ) ) {
504
+    if ( ! empty( $args['desc'] ) ) {
505 505
         echo wp_kses_post( $args['desc'] );
506 506
     }
507 507
 }
508 508
 
509 509
 function wpinv_hidden_callback( $args ) {
510 510
 
511
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
512
-	$value   = wpinv_get_option( $args['id'], $std );
511
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
512
+    $value   = wpinv_get_option( $args['id'], $std );
513 513
 
514
-	if ( isset( $args['set_value'] ) ) {
515
-		$value = $args['set_value'];
516
-	}
514
+    if ( isset( $args['set_value'] ) ) {
515
+        $value = $args['set_value'];
516
+    }
517 517
 
518
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
519
-		$args['readonly'] = true;
520
-		$name  = '';
521
-	} else {
522
-		$name = 'wpinv_settings[' . esc_attr( $args['id'] ) . ']';
523
-	}
518
+    if ( isset( $args['faux'] ) && true === $args['faux'] ) {
519
+        $args['readonly'] = true;
520
+        $name  = '';
521
+    } else {
522
+        $name = 'wpinv_settings[' . esc_attr( $args['id'] ) . ']';
523
+    }
524 524
 
525
-	echo '<input type="hidden" id="wpinv_settings[' . esc_attr( $args['id'] ) . ']" name="' . esc_attr( $name ) . '" value="' . esc_attr( stripslashes( $value ) ) . '" />';
525
+    echo '<input type="hidden" id="wpinv_settings[' . esc_attr( $args['id'] ) . ']" name="' . esc_attr( $name ) . '" value="' . esc_attr( stripslashes( $value ) ) . '" />';
526 526
 
527 527
 }
528 528
 
@@ -531,12 +531,12 @@  discard block
 block discarded – undo
531 531
  */
532 532
 function wpinv_checkbox_callback( $args ) {
533 533
 
534
-	$std = isset( $args['std'] ) ? $args['std'] : '';
535
-	$std = wpinv_get_option( $args['id'], $std );
536
-	$id  = esc_attr( $args['id'] );
534
+    $std = isset( $args['std'] ) ? $args['std'] : '';
535
+    $std = wpinv_get_option( $args['id'], $std );
536
+    $id  = esc_attr( $args['id'] );
537 537
 
538
-	getpaid_hidden_field( "wpinv_settings[$id]", '0' );
539
-	?>
538
+    getpaid_hidden_field( "wpinv_settings[$id]", '0' );
539
+    ?>
540 540
 		<fieldset>
541 541
 			<label>
542 542
 				<input id="wpinv-settings-<?php echo esc_attr( $id ); ?>" name="wpinv_settings[<?php echo esc_attr( $id ); ?>]" <?php checked( empty( $std ), false ); ?> value="1" type="checkbox" />
@@ -548,75 +548,75 @@  discard block
 block discarded – undo
548 548
 
549 549
 function wpinv_multicheck_callback( $args ) {
550 550
 
551
-	$sanitize_id = wpinv_sanitize_key( $args['id'] );
552
-	$class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
551
+    $sanitize_id = wpinv_sanitize_key( $args['id'] );
552
+    $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
553 553
 
554
-	if ( ! empty( $args['options'] ) ) {
554
+    if ( ! empty( $args['options'] ) ) {
555 555
 
556
-		$std     = isset( $args['std'] ) ? $args['std'] : array();
557
-		$value   = wpinv_get_option( $args['id'], $std );
556
+        $std     = isset( $args['std'] ) ? $args['std'] : array();
557
+        $value   = wpinv_get_option( $args['id'], $std );
558 558
 
559
-		echo '<div class="wpi-mcheck-rows wpi-mcheck-' . esc_attr( $sanitize_id . $class ) . '">';
559
+        echo '<div class="wpi-mcheck-rows wpi-mcheck-' . esc_attr( $sanitize_id . $class ) . '">';
560 560
         foreach ( $args['options'] as $key => $option ) :
561
-			$sanitize_key = esc_attr( wpinv_sanitize_key( $key ) );
562
-			if ( in_array( $sanitize_key, $value ) ) {
563
-				$enabled = $sanitize_key;
564
-			} else {
565
-				$enabled = null;
566
-			}
567
-			echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
568
-			echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']">' . wp_kses_post( $option ) . '</label></div>';
569
-		endforeach;
570
-		echo '</div>';
571
-		echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>';
572
-	}
561
+            $sanitize_key = esc_attr( wpinv_sanitize_key( $key ) );
562
+            if ( in_array( $sanitize_key, $value ) ) {
563
+                $enabled = $sanitize_key;
564
+            } else {
565
+                $enabled = null;
566
+            }
567
+            echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
568
+            echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']">' . wp_kses_post( $option ) . '</label></div>';
569
+        endforeach;
570
+        echo '</div>';
571
+        echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>';
572
+    }
573 573
 }
574 574
 
575 575
 function wpinv_payment_icons_callback( $args ) {
576 576
 
577 577
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
578
-	$value   = wpinv_get_option( $args['id'], false );
578
+    $value   = wpinv_get_option( $args['id'], false );
579 579
 
580
-	if ( ! empty( $args['options'] ) ) {
581
-		foreach ( $args['options'] as $key => $option ) {
580
+    if ( ! empty( $args['options'] ) ) {
581
+        foreach ( $args['options'] as $key => $option ) {
582 582
             $sanitize_key = wpinv_sanitize_key( $key );
583 583
 
584
-			if ( empty( $value ) ) {
585
-				$enabled = $option;
586
-			} else {
587
-				$enabled = null;
588
-			}
589
-
590
-			echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
591
-
592
-				echo '<input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
593
-
594
-				if ( wpinv_string_is_image_url( $key ) ) {
595
-				echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
596
-				} else {
597
-				$card = strtolower( str_replace( ' ', '', $option ) );
598
-
599
-				if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
600
-					$image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
601
-					} else {
602
-					$image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
603
-					$content_dir = WP_CONTENT_DIR;
604
-
605
-					if ( function_exists( 'wp_normalize_path' ) ) {
606
-						// Replaces backslashes with forward slashes for Windows systems
607
-						$image = wp_normalize_path( $image );
608
-						$content_dir = wp_normalize_path( $content_dir );
609
-						}
610
-
611
-					$image = str_replace( $content_dir, content_url(), $image );
612
-					}
613
-
614
-				echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
615
-				}
616
-			echo wp_kses_post( $option ) . '</label>';
617
-		}
618
-		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
619
-	}
584
+            if ( empty( $value ) ) {
585
+                $enabled = $option;
586
+            } else {
587
+                $enabled = null;
588
+            }
589
+
590
+            echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
591
+
592
+                echo '<input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
593
+
594
+                if ( wpinv_string_is_image_url( $key ) ) {
595
+                echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
596
+                } else {
597
+                $card = strtolower( str_replace( ' ', '', $option ) );
598
+
599
+                if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
600
+                    $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
601
+                    } else {
602
+                    $image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
603
+                    $content_dir = WP_CONTENT_DIR;
604
+
605
+                    if ( function_exists( 'wp_normalize_path' ) ) {
606
+                        // Replaces backslashes with forward slashes for Windows systems
607
+                        $image = wp_normalize_path( $image );
608
+                        $content_dir = wp_normalize_path( $content_dir );
609
+                        }
610
+
611
+                    $image = str_replace( $content_dir, content_url(), $image );
612
+                    }
613
+
614
+                echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
615
+                }
616
+            echo wp_kses_post( $option ) . '</label>';
617
+        }
618
+        echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
619
+    }
620 620
 }
621 621
 
622 622
 /**
@@ -624,9 +624,9 @@  discard block
 block discarded – undo
624 624
  */
625 625
 function wpinv_radio_callback( $args ) {
626 626
 
627
-	$std = isset( $args['std'] ) ? $args['std'] : '';
628
-	$std = wpinv_get_option( $args['id'], $std );
629
-	?>
627
+    $std = isset( $args['std'] ) ? $args['std'] : '';
628
+    $std = wpinv_get_option( $args['id'], $std );
629
+    ?>
630 630
 		<fieldset>
631 631
 			<ul id="wpinv-settings-<?php echo esc_attr( $args['id'] ); ?>" style="margin-top: 0;">
632 632
 				<?php foreach ( $args['options'] as $key => $option ) : ?>
@@ -640,7 +640,7 @@  discard block
 block discarded – undo
640 640
 			</ul>
641 641
 		</fieldset>
642 642
 	<?php
643
-	getpaid_settings_description_callback( $args );
643
+    getpaid_settings_description_callback( $args );
644 644
 }
645 645
 
646 646
 /**
@@ -648,10 +648,10 @@  discard block
 block discarded – undo
648 648
  */
649 649
 function getpaid_settings_description_callback( $args ) {
650 650
 
651
-	if ( ! empty( $args['desc'] ) ) {
652
-		$description = $args['desc'];
653
-		echo wp_kses_post( "<p class='description'>$description</p>" );
654
-	}
651
+    if ( ! empty( $args['desc'] ) ) {
652
+        $description = $args['desc'];
653
+        echo wp_kses_post( "<p class='description'>$description</p>" );
654
+    }
655 655
 
656 656
 }
657 657
 
@@ -660,7 +660,7 @@  discard block
 block discarded – undo
660 660
  */
661 661
 function wpinv_gateways_callback() {
662 662
 
663
-	?>
663
+    ?>
664 664
 		</td>
665 665
 	</tr>
666 666
 	<tr class="bsui">
@@ -674,26 +674,26 @@  discard block
 block discarded – undo
674 674
 
675 675
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
676 676
     $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
677
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
678
-	$value   = wpinv_get_option( $args['id'], $std );
677
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
678
+    $value   = wpinv_get_option( $args['id'], $std );
679 679
 
680
-	echo '<select name="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" class="' . esc_attr( $class ) . '" >';
680
+    echo '<select name="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" class="' . esc_attr( $class ) . '" >';
681 681
 
682
-	foreach ( $args['options'] as $key => $option ) :
682
+    foreach ( $args['options'] as $key => $option ) :
683 683
 
684
-		echo '<option value="' . esc_attr( $key ) . '" ';
684
+        echo '<option value="' . esc_attr( $key ) . '" ';
685 685
 
686
-		if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
686
+        if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
687 687
             selected( $key, $args['selected'] );
688 688
         } else {
689 689
             selected( $key, $value );
690 690
         }
691 691
 
692
-		echo '>' . esc_html( $option['admin_label'] ) . '</option>';
693
-	endforeach;
692
+        echo '>' . esc_html( $option['admin_label'] ) . '</option>';
693
+    endforeach;
694 694
 
695
-	echo '</select>';
696
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
695
+    echo '</select>';
696
+    echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
697 697
 }
698 698
 
699 699
 /**
@@ -704,38 +704,38 @@  discard block
 block discarded – undo
704 704
  */
705 705
 function wpinv_settings_attrs_helper( $args ) {
706 706
 
707
-	$value = isset( $args['std'] ) ? $args['std'] : '';
708
-	$id    = esc_attr( $args['id'] );
709
-	$value = is_scalar( $value ) ? $value : '';
710
-
711
-	$attrs = array(
712
-		'name'     => ! empty( $args['faux'] ) ? false : "wpinv_settings[$id]",
713
-		'readonly' => ! empty( $args['faux'] ),
714
-		'value'    => ! empty( $args['faux'] ) ? $value : wpinv_get_option( $args['id'], $value ),
715
-		'id'       => 'wpinv-settings-' . $args['id'],
716
-		'style'    => $args['style'],
717
-		'class'    => $args['class'],
718
-		'placeholder' => $args['placeholder'],
719
-		'data-placeholder' => $args['placeholder'],
720
-	);
707
+    $value = isset( $args['std'] ) ? $args['std'] : '';
708
+    $id    = esc_attr( $args['id'] );
709
+    $value = is_scalar( $value ) ? $value : '';
710
+
711
+    $attrs = array(
712
+        'name'     => ! empty( $args['faux'] ) ? false : "wpinv_settings[$id]",
713
+        'readonly' => ! empty( $args['faux'] ),
714
+        'value'    => ! empty( $args['faux'] ) ? $value : wpinv_get_option( $args['id'], $value ),
715
+        'id'       => 'wpinv-settings-' . $args['id'],
716
+        'style'    => $args['style'],
717
+        'class'    => $args['class'],
718
+        'placeholder' => $args['placeholder'],
719
+        'data-placeholder' => $args['placeholder'],
720
+    );
721 721
 
722
-	if ( ! empty( $args['onchange'] ) ) {
723
-		$attrs['onchange'] = $args['onchange'];
724
-	}
722
+    if ( ! empty( $args['onchange'] ) ) {
723
+        $attrs['onchange'] = $args['onchange'];
724
+    }
725 725
 
726
-	foreach ( $attrs as $key => $value ) {
726
+    foreach ( $attrs as $key => $value ) {
727 727
 
728
-		if ( false === $value ) {
729
-			continue;
730
-		}
728
+        if ( false === $value ) {
729
+            continue;
730
+        }
731 731
 
732
-		if ( true === $value ) {
733
-			echo ' ' . esc_attr( $key );
734
-		} else {
735
-			echo ' ' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"';
736
-		}
732
+        if ( true === $value ) {
733
+            echo ' ' . esc_attr( $key );
734
+        } else {
735
+            echo ' ' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"';
736
+        }
737 737
 
738
-	}
738
+    }
739 739
 
740 740
 }
741 741
 
@@ -744,7 +744,7 @@  discard block
 block discarded – undo
744 744
  */
745 745
 function wpinv_text_callback( $args ) {
746 746
 
747
-	?>
747
+    ?>
748 748
 		<label style="width: 100%;">
749 749
 			<input type="text" <?php wpinv_settings_attrs_helper( $args ); ?>>
750 750
 			<?php getpaid_settings_description_callback( $args ); ?>
@@ -758,7 +758,7 @@  discard block
 block discarded – undo
758 758
  */
759 759
 function wpinv_number_callback( $args ) {
760 760
 
761
-	?>
761
+    ?>
762 762
 		<label style="width: 100%;">
763 763
 			<input type="number" step="<?php echo esc_attr( $args['step'] ); ?>" max="<?php echo intval( $args['max'] ); ?>" min="<?php echo intval( $args['min'] ); ?>" <?php wpinv_settings_attrs_helper( $args ); ?>>
764 764
 			<?php getpaid_settings_description_callback( $args ); ?>
@@ -770,34 +770,34 @@  discard block
 block discarded – undo
770 770
 function wpinv_textarea_callback( $args ) {
771 771
 
772 772
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
773
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
774
-	$value   = wpinv_get_option( $args['id'], $std );
773
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
774
+    $value   = wpinv_get_option( $args['id'], $std );
775 775
 
776 776
     $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
777 777
     $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text';
778 778
 
779
-	echo '<textarea class="' . esc_attr( $class ) . ' txtarea-' . esc_attr( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . esc_attr( $args['cols'] ) . '" rows="' . esc_attr( $args['rows'] ) . '" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
780
-	echo '<br /><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
779
+    echo '<textarea class="' . esc_attr( $class ) . ' txtarea-' . esc_attr( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . esc_attr( $args['cols'] ) . '" rows="' . esc_attr( $args['rows'] ) . '" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
780
+    echo '<br /><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
781 781
 
782 782
 }
783 783
 
784 784
 function wpinv_password_callback( $args ) {
785 785
 
786 786
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
787
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
788
-	$value   = wpinv_get_option( $args['id'], $std );
787
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
788
+    $value   = wpinv_get_option( $args['id'], $std );
789 789
 
790
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
791
-	echo '<input type="password" class="' . esc_attr( $size ) . '-text" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
792
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
790
+    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
791
+    echo '<input type="password" class="' . esc_attr( $size ) . '-text" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
792
+    echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
793 793
 
794 794
 }
795 795
 
796 796
 function wpinv_missing_callback( $args ) {
797
-	printf(
798
-		esc_html__( 'The callback function used for the %s setting is missing.', 'invoicing' ),
799
-		'<strong>' . esc_html( $args['id'] ) . '</strong>'
800
-	);
797
+    printf(
798
+        esc_html__( 'The callback function used for the %s setting is missing.', 'invoicing' ),
799
+        '<strong>' . esc_html( $args['id'] ) . '</strong>'
800
+    );
801 801
 }
802 802
 
803 803
 /**
@@ -805,13 +805,13 @@  discard block
 block discarded – undo
805 805
  */
806 806
 function wpinv_select_callback( $args ) {
807 807
 
808
-	$desc   = wp_kses_post( $args['desc'] );
809
-	$desc   = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
810
-	$value  = isset( $args['std'] ) ? $args['std'] : '';
811
-	$value  = wpinv_get_option( $args['id'], $value );
812
-	$rand   = uniqid( 'random_id' );
808
+    $desc   = wp_kses_post( $args['desc'] );
809
+    $desc   = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
810
+    $value  = isset( $args['std'] ) ? $args['std'] : '';
811
+    $value  = wpinv_get_option( $args['id'], $value );
812
+    $rand   = uniqid( 'random_id' );
813 813
 
814
-	?>
814
+    ?>
815 815
 		<label style="width: 100%;">
816 816
 			<select <?php wpinv_settings_attrs_helper( $args ); ?> data-allow-clear="true">
817 817
 				<?php foreach ( $args['options'] as $option => $name ) : ?>
@@ -844,50 +844,50 @@  discard block
 block discarded – undo
844 844
 function wpinv_color_select_callback( $args ) {
845 845
 
846 846
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
847
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
848
-	$value   = wpinv_get_option( $args['id'], $std );
847
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
848
+    $value   = wpinv_get_option( $args['id'], $std );
849 849
 
850
-	echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
850
+    echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
851 851
 
852
-	foreach ( $args['options'] as $option => $color ) {
853
-		echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $color['label'] ) . '</option>';
854
-	}
852
+    foreach ( $args['options'] as $option => $color ) {
853
+        echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $color['label'] ) . '</option>';
854
+    }
855 855
 
856
-	echo '</select>';
857
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
856
+    echo '</select>';
857
+    echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
858 858
 
859 859
 }
860 860
 
861 861
 function wpinv_rich_editor_callback( $args ) {
862
-	global $wp_version;
862
+    global $wp_version;
863 863
 
864 864
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
865 865
 
866
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
867
-	$value   = wpinv_get_option( $args['id'], $std );
866
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
867
+    $value   = wpinv_get_option( $args['id'], $std );
868 868
 
869
-	if ( ! empty( $args['allow_blank'] ) && empty( $value ) ) {
870
-		$value = $std;
871
-	}
869
+    if ( ! empty( $args['allow_blank'] ) && empty( $value ) ) {
870
+        $value = $std;
871
+    }
872 872
 
873
-	$rows = isset( $args['size'] ) ? $args['size'] : 20;
873
+    $rows = isset( $args['size'] ) ? $args['size'] : 20;
874 874
 
875
-	echo '<div class="getpaid-settings-editor-input">';
876
-	if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
877
-		wp_editor(
875
+    echo '<div class="getpaid-settings-editor-input">';
876
+    if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
877
+        wp_editor(
878 878
             stripslashes( $value ),
879 879
             'wpinv_settings_' . esc_attr( $args['id'] ),
880 880
             array(
881
-				'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']',
882
-				'textarea_rows' => absint( $rows ),
883
-				'media_buttons' => false,
881
+                'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']',
882
+                'textarea_rows' => absint( $rows ),
883
+                'media_buttons' => false,
884 884
             )
885 885
         );
886
-	} else {
887
-		echo '<textarea class="large-text" rows="10" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
888
-	}
886
+    } else {
887
+        echo '<textarea class="large-text" rows="10" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
888
+    }
889 889
 
890
-	echo '</div><br/><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
890
+    echo '</div><br/><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
891 891
 
892 892
 }
893 893
 
@@ -895,51 +895,51 @@  discard block
 block discarded – undo
895 895
 
896 896
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
897 897
 
898
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
899
-	$value   = wpinv_get_option( $args['id'], $std );
898
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
899
+    $value   = wpinv_get_option( $args['id'], $std );
900 900
 
901
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
902
-	echo '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
903
-	echo '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . esc_attr__( 'Upload File', 'invoicing' ) . '"/></span>';
904
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
901
+    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
902
+    echo '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
903
+    echo '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . esc_attr__( 'Upload File', 'invoicing' ) . '"/></span>';
904
+    echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
905 905
 
906 906
 }
907 907
 
908 908
 function wpinv_color_callback( $args ) {
909 909
 
910
-	$std         = isset( $args['std'] ) ? $args['std'] : '';
911
-	$value       = wpinv_get_option( $args['id'], $std );
910
+    $std         = isset( $args['std'] ) ? $args['std'] : '';
911
+    $value       = wpinv_get_option( $args['id'], $std );
912 912
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
913 913
 
914
-	echo '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $std ) . '" />';
915
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
914
+    echo '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $std ) . '" />';
915
+    echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
916 916
 
917 917
 }
918 918
 
919 919
 function wpinv_country_states_callback( $args ) {
920 920
 
921
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
922
-	$value   = wpinv_get_option( $args['id'], $std );
921
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
922
+    $value   = wpinv_get_option( $args['id'], $std );
923 923
 
924 924
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
925 925
 
926
-	if ( isset( $args['placeholder'] ) ) {
927
-		$placeholder = $args['placeholder'];
928
-	} else {
929
-		$placeholder = '';
930
-	}
926
+    if ( isset( $args['placeholder'] ) ) {
927
+        $placeholder = $args['placeholder'];
928
+    } else {
929
+        $placeholder = '';
930
+    }
931 931
 
932
-	$states = wpinv_get_country_states();
932
+    $states = wpinv_get_country_states();
933 933
 
934
-	$class = empty( $states ) ? 'wpinv-no-states' : 'wpi_select2';
935
-	echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="' . esc_attr( $class ) . '" data-placeholder="' . esc_html( $placeholder ) . '"/>';
934
+    $class = empty( $states ) ? 'wpinv-no-states' : 'wpi_select2';
935
+    echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="' . esc_attr( $class ) . '" data-placeholder="' . esc_html( $placeholder ) . '"/>';
936 936
 
937
-	foreach ( $states as $option => $name ) {
938
-		echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $name ) . '</option>';
939
-	}
937
+    foreach ( $states as $option => $name ) {
938
+        echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $name ) . '</option>';
939
+    }
940 940
 
941
-	echo '</select>';
942
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
941
+    echo '</select>';
942
+    echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
943 943
 
944 944
 }
945 945
 
@@ -948,7 +948,7 @@  discard block
 block discarded – undo
948 948
  */
949 949
 function wpinv_tax_rates_callback() {
950 950
 
951
-	?>
951
+    ?>
952 952
 		</td>
953 953
 	</tr>
954 954
 	<tr class="bsui">
@@ -964,9 +964,9 @@  discard block
 block discarded – undo
964 964
  */
965 965
 function wpinv_tax_rate_callback( $tax_rate, $key ) {
966 966
 
967
-	$key                      = sanitize_key( $key );
968
-	$tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate'];
969
-	include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php';
967
+    $key                      = sanitize_key( $key );
968
+    $tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate'];
969
+    include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php';
970 970
 
971 971
 }
972 972
 
@@ -975,7 +975,7 @@  discard block
 block discarded – undo
975 975
  */
976 976
 function wpinv_tax_rules_callback() {
977 977
 
978
-	?>
978
+    ?>
979 979
 		</td>
980 980
 	</tr>
981 981
 	<tr class="bsui">
@@ -1013,14 +1013,14 @@  discard block
 block discarded – undo
1013 1013
                 <td>
1014 1014
 					<a href="
1015 1015
                     <?php
1016
-						echo esc_url(
1017
-							wp_nonce_url(
1018
-								add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
1019
-								'getpaid-nonce',
1020
-								'getpaid-nonce'
1021
-							)
1022
-						);
1023
-					?>
1016
+                        echo esc_url(
1017
+                            wp_nonce_url(
1018
+                                add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
1019
+                                'getpaid-nonce',
1020
+                                'getpaid-nonce'
1021
+                            )
1022
+                        );
1023
+                    ?>
1024 1024
                     " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
1025 1025
                 </td>
1026 1026
             </tr>
@@ -1032,14 +1032,14 @@  discard block
 block discarded – undo
1032 1032
                 <td>
1033 1033
 					<a href="
1034 1034
                     <?php
1035
-						echo esc_url(
1036
-							wp_nonce_url(
1037
-								add_query_arg( 'getpaid-admin-action', 'refresh_permalinks' ),
1038
-								'getpaid-nonce',
1039
-								'getpaid-nonce'
1040
-							)
1041
-						);
1042
-					?>
1035
+                        echo esc_url(
1036
+                            wp_nonce_url(
1037
+                                add_query_arg( 'getpaid-admin-action', 'refresh_permalinks' ),
1038
+                                'getpaid-nonce',
1039
+                                'getpaid-nonce'
1040
+                            )
1041
+                        );
1042
+                    ?>
1043 1043
                     " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
1044 1044
                 </td>
1045 1045
             </tr>
@@ -1051,14 +1051,14 @@  discard block
 block discarded – undo
1051 1051
                 <td>
1052 1052
 					<a href="
1053 1053
                     <?php
1054
-						echo esc_url(
1055
-							wp_nonce_url(
1056
-								add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ),
1057
-								'getpaid-nonce',
1058
-								'getpaid-nonce'
1059
-							)
1060
-						);
1061
-					?>
1054
+                        echo esc_url(
1055
+                            wp_nonce_url(
1056
+                                add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ),
1057
+                                'getpaid-nonce',
1058
+                                'getpaid-nonce'
1059
+                            )
1060
+                        );
1061
+                    ?>
1062 1062
                     " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
1063 1063
                 </td>
1064 1064
             </tr>
@@ -1070,14 +1070,14 @@  discard block
 block discarded – undo
1070 1070
                 <td>
1071 1071
 					<a href="
1072 1072
                     <?php
1073
-						echo esc_url(
1074
-							wp_nonce_url(
1075
-								add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ),
1076
-								'getpaid-nonce',
1077
-								'getpaid-nonce'
1078
-							)
1079
-						);
1080
-					?>
1073
+                        echo esc_url(
1074
+                            wp_nonce_url(
1075
+                                add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ),
1076
+                                'getpaid-nonce',
1077
+                                'getpaid-nonce'
1078
+                            )
1079
+                        );
1080
+                    ?>
1081 1081
                     " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
1082 1082
                 </td>
1083 1083
             </tr>
@@ -1090,14 +1090,14 @@  discard block
 block discarded – undo
1090 1090
                 <td>
1091 1091
 					<a href="
1092 1092
                     <?php
1093
-						echo esc_url(
1094
-							wp_nonce_url(
1095
-								add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ),
1096
-								'getpaid-nonce',
1097
-								'getpaid-nonce'
1098
-							)
1099
-						);
1100
-					?>
1093
+                        echo esc_url(
1094
+                            wp_nonce_url(
1095
+                                add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ),
1096
+                                'getpaid-nonce',
1097
+                                'getpaid-nonce'
1098
+                            )
1099
+                        );
1100
+                    ?>
1101 1101
                     " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
1102 1102
                 </td>
1103 1103
             </tr>
@@ -1110,8 +1110,8 @@  discard block
 block discarded – undo
1110 1110
                 <td>
1111 1111
 					<a href="
1112 1112
                     <?php
1113
-						echo esc_url( admin_url( 'index.php?page=gp-setup' ) );
1114
-					?>
1113
+                        echo esc_url( admin_url( 'index.php?page=gp-setup' ) );
1114
+                    ?>
1115 1115
                     " class="button button-primary"><?php esc_html_e( 'Launch', 'invoicing' ); ?></a>
1116 1116
                 </td>
1117 1117
             </tr>
@@ -1125,19 +1125,19 @@  discard block
 block discarded – undo
1125 1125
 
1126 1126
 
1127 1127
 function wpinv_descriptive_text_callback( $args ) {
1128
-	echo wp_kses_post( $args['desc'] );
1128
+    echo wp_kses_post( $args['desc'] );
1129 1129
 }
1130 1130
 
1131 1131
 function wpinv_raw_html_callback( $args ) {
1132
-	echo wp_kses( $args['desc'], getpaid_allowed_html() );
1132
+    echo wp_kses( $args['desc'], getpaid_allowed_html() );
1133 1133
 }
1134 1134
 
1135 1135
 function wpinv_hook_callback( $args ) {
1136
-	do_action( 'wpinv_' . $args['id'], $args );
1136
+    do_action( 'wpinv_' . $args['id'], $args );
1137 1137
 }
1138 1138
 
1139 1139
 function wpinv_set_settings_cap() {
1140
-	return wpinv_get_capability();
1140
+    return wpinv_get_capability();
1141 1141
 }
1142 1142
 add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' );
1143 1143
 
@@ -1161,15 +1161,15 @@  discard block
 block discarded – undo
1161 1161
  */
1162 1162
 function wpinv_get_merge_tags_help_text( $subscription = false ) {
1163 1163
 
1164
-	$url  = $subscription ? 'https://gist.github.com/picocodes/3d213982d57c34edf7a46fd3f0e8583e' : 'https://gist.github.com/picocodes/43bdc4d4bbba844534b2722e2af0b58f';
1165
-	$link = sprintf(
1166
-		'<strong><a href="%s" target="_blank">%s</a></strong>',
1167
-		$url,
1168
-		esc_html__( 'View available merge tags.', 'invoicing' )
1169
-	);
1164
+    $url  = $subscription ? 'https://gist.github.com/picocodes/3d213982d57c34edf7a46fd3f0e8583e' : 'https://gist.github.com/picocodes/43bdc4d4bbba844534b2722e2af0b58f';
1165
+    $link = sprintf(
1166
+        '<strong><a href="%s" target="_blank">%s</a></strong>',
1167
+        $url,
1168
+        esc_html__( 'View available merge tags.', 'invoicing' )
1169
+    );
1170 1170
 
1171
-	$description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' );
1171
+    $description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' );
1172 1172
 
1173
-	return "$description $link";
1173
+    return "$description $link";
1174 1174
 
1175 1175
 }
Please login to merge, or discard this patch.
Spacing   +386 added lines, -386 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
 }
@@ -41,12 +41,12 @@  discard block
 block discarded – undo
41 41
     global $wpinv_options;
42 42
 
43 43
     // Try fetching the saved options.
44
-    if ( empty( $wpinv_options ) ) {
45
-        $wpinv_options = get_option( 'wpinv_settings' );
44
+    if (empty($wpinv_options)) {
45
+        $wpinv_options = get_option('wpinv_settings');
46 46
     }
47 47
 
48 48
     // If that fails, don't fetch the default settings to prevent a loop.
49
-    if ( ! is_array( $wpinv_options ) ) {
49
+    if (!is_array($wpinv_options)) {
50 50
         $wpinv_options = array();
51 51
     }
52 52
 
@@ -60,13 +60,13 @@  discard block
 block discarded – undo
60 60
  * @param mixed $default The default value to use if the setting has not been set.
61 61
  * @return mixed
62 62
  */
63
-function wpinv_get_option( $key = '', $default = false ) {
63
+function wpinv_get_option($key = '', $default = false) {
64 64
 
65 65
     $options = wpinv_get_options();
66
-    $value   = isset( $options[ $key ] ) ? $options[ $key ] : $default;
67
-    $value   = apply_filters( 'wpinv_get_option', $value, $key, $default );
66
+    $value   = isset($options[$key]) ? $options[$key] : $default;
67
+    $value   = apply_filters('wpinv_get_option', $value, $key, $default);
68 68
 
69
-    return apply_filters( 'wpinv_get_option_' . $key, $value, $key, $default );
69
+    return apply_filters('wpinv_get_option_' . $key, $value, $key, $default);
70 70
 }
71 71
 
72 72
 /**
@@ -75,11 +75,11 @@  discard block
 block discarded – undo
75 75
  * @param array $options the new options.
76 76
  * @return bool
77 77
  */
78
-function wpinv_update_options( $options ) {
78
+function wpinv_update_options($options) {
79 79
     global $wpinv_options;
80 80
 
81 81
     // update the option.
82
-    if ( is_array( $options ) && update_option( 'wpinv_settings', $options ) ) {
82
+    if (is_array($options) && update_option('wpinv_settings', $options)) {
83 83
         $wpinv_options = $options;
84 84
         return true;
85 85
     }
@@ -94,24 +94,24 @@  discard block
 block discarded – undo
94 94
  * @param mixed $value The setting value.
95 95
  * @return bool
96 96
  */
97
-function wpinv_update_option( $key = '', $value = false ) {
97
+function wpinv_update_option($key = '', $value = false) {
98 98
 
99 99
     // If no key, exit.
100
-    if ( empty( $key ) ) {
100
+    if (empty($key)) {
101 101
         return false;
102 102
     }
103 103
 
104 104
     // Maybe delete the option instead.
105
-    if ( is_null( $value ) ) {
106
-        return wpinv_delete_option( $key );
105
+    if (is_null($value)) {
106
+        return wpinv_delete_option($key);
107 107
     }
108 108
 
109 109
     // Prepare the new options.
110 110
     $options         = wpinv_get_options();
111
-    $options[ $key ] = apply_filters( 'wpinv_update_option', $value, $key );
111
+    $options[$key] = apply_filters('wpinv_update_option', $value, $key);
112 112
 
113 113
     // Save the new options.
114
-    return wpinv_update_options( $options );
114
+    return wpinv_update_options($options);
115 115
 
116 116
 }
117 117
 
@@ -121,18 +121,18 @@  discard block
 block discarded – undo
121 121
  * @param string $key the setting key.
122 122
  * @return bool
123 123
  */
124
-function wpinv_delete_option( $key = '' ) {
124
+function wpinv_delete_option($key = '') {
125 125
 
126 126
     // If no key, exit
127
-    if ( empty( $key ) ) {
127
+    if (empty($key)) {
128 128
         return false;
129 129
     }
130 130
 
131 131
     $options = wpinv_get_options();
132 132
 
133
-    if ( isset( $options[ $key ] ) ) {
134
-        unset( $options[ $key ] );
135
-        return wpinv_update_options( $options );
133
+    if (isset($options[$key])) {
134
+        unset($options[$key]);
135
+        return wpinv_update_options($options);
136 136
     }
137 137
 
138 138
     return true;
@@ -144,22 +144,22 @@  discard block
 block discarded – undo
144 144
  *
145 145
  */
146 146
 function wpinv_register_settings() {
147
-	do_action( 'getpaid_before_register_settings' );
147
+	do_action('getpaid_before_register_settings');
148 148
 
149 149
     // Loop through all tabs.
150
-    foreach ( wpinv_get_registered_settings() as $tab => $sections ) {
150
+    foreach (wpinv_get_registered_settings() as $tab => $sections) {
151 151
 
152 152
         // In each tab, loop through sections.
153
-        foreach ( $sections as $section => $settings ) {
153
+        foreach ($sections as $section => $settings) {
154 154
 
155 155
             // Check for backwards compatibility
156
-            $section_tabs = wpinv_get_settings_tab_sections( $tab );
157
-            if ( ! is_array( $section_tabs ) || ! array_key_exists( $section, $section_tabs ) ) {
156
+            $section_tabs = wpinv_get_settings_tab_sections($tab);
157
+            if (!is_array($section_tabs) || !array_key_exists($section, $section_tabs)) {
158 158
                 $section = 'main';
159 159
                 $settings = $sections;
160 160
             }
161 161
 
162
-			do_action( "getpaid_register_{$tab}_{$section}" );
162
+			do_action("getpaid_register_{$tab}_{$section}");
163 163
 
164 164
             // Register the setting section.
165 165
             add_settings_section(
@@ -169,20 +169,20 @@  discard block
 block discarded – undo
169 169
                 'wpinv_settings_' . $tab . '_' . $section
170 170
             );
171 171
 
172
-            foreach ( $settings as $option ) {
173
-                if ( ! empty( $option['id'] ) ) {
174
-                    wpinv_register_settings_option( $tab, $section, $option );
172
+            foreach ($settings as $option) {
173
+                if (!empty($option['id'])) {
174
+                    wpinv_register_settings_option($tab, $section, $option);
175 175
                 }
176 176
             }
177 177
 }
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
-	do_action( 'getpaid_after_register_settings' );
183
+	do_action('getpaid_after_register_settings');
184 184
 }
185
-add_action( 'admin_init', 'wpinv_register_settings' );
185
+add_action('admin_init', 'wpinv_register_settings');
186 186
 
187 187
 /**
188 188
  * Register a single settings option.
@@ -192,49 +192,49 @@  discard block
 block discarded – undo
192 192
  * @param string $option
193 193
  *
194 194
  */
195
-function wpinv_register_settings_option( $tab, $section, $option ) {
195
+function wpinv_register_settings_option($tab, $section, $option) {
196 196
 
197
-    $name       = isset( $option['name'] ) ? $option['name'] : '';
197
+    $name       = isset($option['name']) ? $option['name'] : '';
198 198
     $cb         = "wpinv_{$option['type']}_callback";
199 199
     $section    = "wpinv_settings_{$tab}_$section";
200
-	$is_wizzard = is_admin() && isset( $_GET['page'] ) && 'gp-setup' == $_GET['page'];
200
+	$is_wizzard = is_admin() && isset($_GET['page']) && 'gp-setup' == $_GET['page'];
201 201
 
202
-	if ( isset( $option['desc'] ) && ( ! $is_wizzard && ! empty( $option['help-tip'] ) ) ) {
203
-		$tip   = wpinv_clean( $option['desc'] );
202
+	if (isset($option['desc']) && (!$is_wizzard && !empty($option['help-tip']))) {
203
+		$tip   = wpinv_clean($option['desc']);
204 204
 		$name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>";
205
-		unset( $option['desc'] );
205
+		unset($option['desc']);
206 206
 	}
207 207
 
208 208
     // Loop through all tabs.
209 209
     add_settings_field(
210 210
         'wpinv_settings[' . $option['id'] . ']',
211 211
         $name,
212
-        function_exists( $cb ) ? $cb : 'wpinv_missing_callback',
212
+        function_exists($cb) ? $cb : 'wpinv_missing_callback',
213 213
         $section,
214 214
         $section,
215 215
         array(
216 216
             'section'         => $section,
217
-            'id'              => isset( $option['id'] ) ? $option['id'] : uniqid( 'wpinv-' ),
218
-            'desc'            => isset( $option['desc'] ) ? $option['desc'] : '',
217
+            'id'              => isset($option['id']) ? $option['id'] : uniqid('wpinv-'),
218
+            'desc'            => isset($option['desc']) ? $option['desc'] : '',
219 219
             'name'            => $name,
220
-            'size'            => isset( $option['size'] ) ? $option['size'] : null,
221
-            'options'         => isset( $option['options'] ) ? $option['options'] : '',
222
-            'selected'        => isset( $option['selected'] ) ? $option['selected'] : null,
223
-            'std'             => isset( $option['std'] ) ? $option['std'] : '',
224
-            'min'             => isset( $option['min'] ) ? $option['min'] : 0,
225
-            'max'             => isset( $option['max'] ) ? $option['max'] : 999999,
226
-            'step'            => isset( $option['step'] ) ? $option['step'] : 1,
227
-            'placeholder'     => isset( $option['placeholder'] ) ? $option['placeholder'] : null,
228
-            'allow_blank'     => isset( $option['allow_blank'] ) ? $option['allow_blank'] : true,
229
-            'readonly'        => isset( $option['readonly'] ) ? $option['readonly'] : false,
230
-            'faux'            => isset( $option['faux'] ) ? $option['faux'] : false,
231
-            'onchange'        => isset( $option['onchange'] ) ? $option['onchange'] : '',
232
-            'custom'          => isset( $option['custom'] ) ? $option['custom'] : '',
233
-			'default_content' => isset( $option['default_content'] ) ? $option['default_content'] : '',
234
-			'class'           => isset( $option['class'] ) ? $option['class'] : '',
235
-			'style'           => isset( $option['style'] ) ? $option['style'] : '',
236
-            'cols'            => isset( $option['cols'] ) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50,
237
-            'rows'            => isset( $option['rows'] ) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5,
220
+            'size'            => isset($option['size']) ? $option['size'] : null,
221
+            'options'         => isset($option['options']) ? $option['options'] : '',
222
+            'selected'        => isset($option['selected']) ? $option['selected'] : null,
223
+            'std'             => isset($option['std']) ? $option['std'] : '',
224
+            'min'             => isset($option['min']) ? $option['min'] : 0,
225
+            'max'             => isset($option['max']) ? $option['max'] : 999999,
226
+            'step'            => isset($option['step']) ? $option['step'] : 1,
227
+            'placeholder'     => isset($option['placeholder']) ? $option['placeholder'] : null,
228
+            'allow_blank'     => isset($option['allow_blank']) ? $option['allow_blank'] : true,
229
+            'readonly'        => isset($option['readonly']) ? $option['readonly'] : false,
230
+            'faux'            => isset($option['faux']) ? $option['faux'] : false,
231
+            'onchange'        => isset($option['onchange']) ? $option['onchange'] : '',
232
+            'custom'          => isset($option['custom']) ? $option['custom'] : '',
233
+			'default_content' => isset($option['default_content']) ? $option['default_content'] : '',
234
+			'class'           => isset($option['class']) ? $option['class'] : '',
235
+			'style'           => isset($option['style']) ? $option['style'] : '',
236
+            'cols'            => isset($option['cols']) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50,
237
+            'rows'            => isset($option['rows']) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5,
238 238
         )
239 239
     );
240 240
 
@@ -246,7 +246,7 @@  discard block
 block discarded – undo
246 246
  * @return array
247 247
  */
248 248
 function wpinv_get_registered_settings() {
249
-	return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) );
249
+	return array_filter(apply_filters('wpinv_registered_settings', wpinv_get_data('admin-settings')));
250 250
 }
251 251
 
252 252
 /**
@@ -255,7 +255,7 @@  discard block
 block discarded – undo
255 255
  * @return array
256 256
  */
257 257
 function getpaid_get_integration_settings() {
258
-    return apply_filters( 'getpaid_integration_settings', array() );
258
+    return apply_filters('getpaid_integration_settings', array());
259 259
 }
260 260
 
261 261
 /**
@@ -263,153 +263,153 @@  discard block
 block discarded – undo
263 263
  *
264 264
  * @return array
265 265
  */
266
-function wpinv_settings_sanitize( $input = array() ) {
266
+function wpinv_settings_sanitize($input = array()) {
267 267
 
268 268
 	$wpinv_options = wpinv_get_options();
269 269
 	$raw_referrer  = wp_get_raw_referer();
270 270
 
271
-    if ( empty( $raw_referrer ) ) {
272
-		return array_merge( $wpinv_options, $input );
271
+    if (empty($raw_referrer)) {
272
+		return array_merge($wpinv_options, $input);
273 273
     }
274 274
 
275
-    wp_parse_str( $raw_referrer, $referrer );
275
+    wp_parse_str($raw_referrer, $referrer);
276 276
 
277
-	if ( in_array( 'gp-setup', $referrer ) ) {
278
-		return array_merge( $wpinv_options, $input );
277
+	if (in_array('gp-setup', $referrer)) {
278
+		return array_merge($wpinv_options, $input);
279 279
 	}
280 280
 
281 281
     $settings = wpinv_get_registered_settings();
282
-    $tab      = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general';
283
-    $section  = isset( $referrer['section'] ) ? $referrer['section'] : 'main';
282
+    $tab      = isset($referrer['tab']) ? $referrer['tab'] : 'general';
283
+    $section  = isset($referrer['section']) ? $referrer['section'] : 'main';
284 284
 
285 285
     $input = $input ? $input : array();
286
-    $input = apply_filters( 'wpinv_settings_tab_' . $tab . '_sanitize', $input );
287
-    $input = apply_filters( 'wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input );
286
+    $input = apply_filters('wpinv_settings_tab_' . $tab . '_sanitize', $input);
287
+    $input = apply_filters('wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input);
288 288
 
289 289
     // Loop through each setting being saved and pass it through a sanitization filter
290
-    foreach ( $input as $key => $value ) {
290
+    foreach ($input as $key => $value) {
291 291
 
292 292
         // Get the setting type (checkbox, select, etc)
293
-        $type = isset( $settings[ $tab ][ $section ][ $key ]['type'] ) ? $settings[ $tab ][ $section ][ $key ]['type'] : false;
293
+        $type = isset($settings[$tab][$section][$key]['type']) ? $settings[$tab][$section][$key]['type'] : false;
294 294
 
295
-        if ( $type ) {
295
+        if ($type) {
296 296
             // Field type specific filter
297
-            $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$type", $value, $key );
297
+            $input[$key] = apply_filters("wpinv_settings_sanitize_$type", $value, $key);
298 298
         }
299 299
 
300 300
         // General filter
301
-		$input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key );
301
+		$input[$key] = apply_filters('wpinv_settings_sanitize', $input[$key], $key);
302 302
 
303 303
 		// Key specific filter.
304
-		$input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] );
304
+		$input[$key] = apply_filters("wpinv_settings_sanitize_$key", $input[$key]);
305 305
     }
306 306
 
307 307
     // Loop through the whitelist and unset any that are empty for the tab being saved
308
-    $main_settings    = isset( $settings[ $tab ] ) ? $settings[ $tab ] : array(); // Check for extensions that aren't using new sections
309
-    $section_settings = ! empty( $settings[ $tab ][ $section ] ) ? $settings[ $tab ][ $section ] : array();
308
+    $main_settings    = isset($settings[$tab]) ? $settings[$tab] : array(); // Check for extensions that aren't using new sections
309
+    $section_settings = !empty($settings[$tab][$section]) ? $settings[$tab][$section] : array();
310 310
 
311
-    $found_settings   = array_merge( $main_settings, $section_settings );
311
+    $found_settings   = array_merge($main_settings, $section_settings);
312 312
 
313
-    if ( ! empty( $found_settings ) ) {
314
-        foreach ( $found_settings as $key => $value ) {
313
+    if (!empty($found_settings)) {
314
+        foreach ($found_settings as $key => $value) {
315 315
 
316 316
             // settings used to have numeric keys, now they have keys that match the option ID. This ensures both methods work
317
-            if ( is_numeric( $key ) ) {
317
+            if (is_numeric($key)) {
318 318
                 $key = $value['id'];
319 319
             }
320 320
 
321
-            if ( ! isset( $input[ $key ] ) && isset( $wpinv_options[ $key ] ) ) {
322
-                unset( $wpinv_options[ $key ] );
321
+            if (!isset($input[$key]) && isset($wpinv_options[$key])) {
322
+                unset($wpinv_options[$key]);
323 323
             }
324 324
         }
325 325
     }
326 326
 
327 327
     // Merge our new settings with the existing
328
-    $output = array_merge( $wpinv_options, $input );
328
+    $output = array_merge($wpinv_options, $input);
329 329
 
330
-    add_settings_error( 'wpinv-notices', '', __( 'Settings updated.', 'invoicing' ), 'updated' );
330
+    add_settings_error('wpinv-notices', '', __('Settings updated.', 'invoicing'), 'updated');
331 331
 
332 332
     return $output;
333 333
 }
334
-add_filter( 'wpinv_settings_sanitize_text', 'trim', 10, 1 );
335
-add_filter( 'wpinv_settings_sanitize_tax_rate', 'wpinv_sanitize_amount' );
334
+add_filter('wpinv_settings_sanitize_text', 'trim', 10, 1);
335
+add_filter('wpinv_settings_sanitize_tax_rate', 'wpinv_sanitize_amount');
336 336
 
337
-function wpinv_settings_sanitize_tax_rates( $input ) {
338
-    if ( ! wpinv_current_user_can_manage_invoicing() ) {
337
+function wpinv_settings_sanitize_tax_rates($input) {
338
+    if (!wpinv_current_user_can_manage_invoicing()) {
339 339
         return $input;
340 340
     }
341 341
 
342
-    $new_rates = ! empty( $_POST['tax_rates'] ) ? wp_kses_post_deep( array_values( $_POST['tax_rates'] ) ) : array();
342
+    $new_rates = !empty($_POST['tax_rates']) ? wp_kses_post_deep(array_values($_POST['tax_rates'])) : array();
343 343
     $tax_rates = array();
344 344
 
345
-    foreach ( $new_rates as $rate ) {
345
+    foreach ($new_rates as $rate) {
346 346
 
347
-		$rate['rate']    = wpinv_sanitize_amount( $rate['rate'] );
348
-		$rate['name']    = sanitize_text_field( $rate['name'] );
349
-		$rate['state']   = sanitize_text_field( $rate['state'] );
350
-		$rate['country'] = sanitize_text_field( $rate['country'] );
351
-		$rate['global']  = empty( $rate['state'] );
347
+		$rate['rate']    = wpinv_sanitize_amount($rate['rate']);
348
+		$rate['name']    = sanitize_text_field($rate['name']);
349
+		$rate['state']   = sanitize_text_field($rate['state']);
350
+		$rate['country'] = sanitize_text_field($rate['country']);
351
+		$rate['global']  = empty($rate['state']);
352 352
 		$tax_rates[]     = $rate;
353 353
 
354 354
 	}
355 355
 
356
-    update_option( 'wpinv_tax_rates', $tax_rates );
356
+    update_option('wpinv_tax_rates', $tax_rates);
357 357
 
358 358
     return $input;
359 359
 }
360
-add_filter( 'wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates' );
360
+add_filter('wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates');
361 361
 
362
-function wpinv_settings_sanitize_tax_rules( $input ) {
363
-    if ( ! wpinv_current_user_can_manage_invoicing() ) {
362
+function wpinv_settings_sanitize_tax_rules($input) {
363
+    if (!wpinv_current_user_can_manage_invoicing()) {
364 364
         return $input;
365 365
     }
366 366
 
367
-	if ( empty( $_POST['wpinv_tax_rules_nonce'] ) || ! wp_verify_nonce( $_POST['wpinv_tax_rules_nonce'], 'wpinv_tax_rules' ) ) {
367
+	if (empty($_POST['wpinv_tax_rules_nonce']) || !wp_verify_nonce($_POST['wpinv_tax_rules_nonce'], 'wpinv_tax_rules')) {
368 368
 		return $input;
369 369
 	}
370 370
 
371
-    $new_rules = ! empty( $_POST['tax_rules'] ) ? wp_kses_post_deep( array_values( $_POST['tax_rules'] ) ) : array();
371
+    $new_rules = !empty($_POST['tax_rules']) ? wp_kses_post_deep(array_values($_POST['tax_rules'])) : array();
372 372
     $tax_rules = array();
373 373
 
374
-    foreach ( $new_rules as $rule ) {
374
+    foreach ($new_rules as $rule) {
375 375
 
376
-		$rule['key']      = sanitize_title_with_dashes( $rule['key'] );
377
-		$rule['label']    = sanitize_text_field( $rule['label'] );
378
-		$rule['tax_base'] = sanitize_text_field( $rule['tax_base'] );
376
+		$rule['key']      = sanitize_title_with_dashes($rule['key']);
377
+		$rule['label']    = sanitize_text_field($rule['label']);
378
+		$rule['tax_base'] = sanitize_text_field($rule['tax_base']);
379 379
 		$tax_rules[]      = $rule;
380 380
 
381 381
 	}
382 382
 
383
-    update_option( 'wpinv_tax_rules', $tax_rules );
383
+    update_option('wpinv_tax_rules', $tax_rules);
384 384
 
385 385
     return $input;
386 386
 }
387
-add_filter( 'wpinv_settings_taxes-rules_sanitize', 'wpinv_settings_sanitize_tax_rules' );
387
+add_filter('wpinv_settings_taxes-rules_sanitize', 'wpinv_settings_sanitize_tax_rules');
388 388
 
389 389
 function wpinv_get_settings_tabs() {
390 390
     $tabs             = array();
391
-    $tabs['general']  = __( 'General', 'invoicing' );
392
-    $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' );
393
-    $tabs['taxes']    = __( 'Taxes', 'invoicing' );
394
-	$tabs['emails']   = __( 'Emails', 'invoicing' );
391
+    $tabs['general']  = __('General', 'invoicing');
392
+    $tabs['gateways'] = __('Payment Gateways', 'invoicing');
393
+    $tabs['taxes']    = __('Taxes', 'invoicing');
394
+	$tabs['emails'] = __('Emails', 'invoicing');
395 395
 
396
-	if ( count( getpaid_get_integration_settings() ) > 0 ) {
397
-		$tabs['integrations'] = __( 'Integrations', 'invoicing' );
396
+	if (count(getpaid_get_integration_settings()) > 0) {
397
+		$tabs['integrations'] = __('Integrations', 'invoicing');
398 398
 	}
399 399
 
400
-    $tabs['privacy']  = __( 'Privacy', 'invoicing' );
401
-    $tabs['misc']     = __( 'Misc', 'invoicing' );
402
-    $tabs['tools']    = __( 'Tools', 'invoicing' );
400
+    $tabs['privacy']  = __('Privacy', 'invoicing');
401
+    $tabs['misc']     = __('Misc', 'invoicing');
402
+    $tabs['tools']    = __('Tools', 'invoicing');
403 403
 
404
-    return apply_filters( 'wpinv_settings_tabs', $tabs );
404
+    return apply_filters('wpinv_settings_tabs', $tabs);
405 405
 }
406 406
 
407
-function wpinv_get_settings_tab_sections( $tab = false ) {
407
+function wpinv_get_settings_tab_sections($tab = false) {
408 408
     $tabs     = false;
409 409
     $sections = wpinv_get_registered_settings_sections();
410 410
 
411
-    if ( $tab && ! empty( $sections[ $tab ] ) ) {
412
-        $tabs = $sections[ $tab ];
411
+    if ($tab && !empty($sections[$tab])) {
412
+        $tabs = $sections[$tab];
413 413
     }
414 414
 
415 415
     return $tabs;
@@ -418,7 +418,7 @@  discard block
 block discarded – undo
418 418
 function wpinv_get_registered_settings_sections() {
419 419
     static $sections = false;
420 420
 
421
-    if ( false !== $sections ) {
421
+    if (false !== $sections) {
422 422
         return $sections;
423 423
     }
424 424
 
@@ -426,231 +426,231 @@  discard block
 block discarded – undo
426 426
         'general'      => apply_filters(
427 427
             'wpinv_settings_sections_general',
428 428
             array(
429
-				'main'             => __( 'General Settings', 'invoicing' ),
430
-				'page_section'     => __( 'Page Settings', 'invoicing' ),
431
-				'currency_section' => __( 'Currency Settings', 'invoicing' ),
432
-				'labels'           => __( 'Label Texts', 'invoicing' ),
429
+				'main'             => __('General Settings', 'invoicing'),
430
+				'page_section'     => __('Page Settings', 'invoicing'),
431
+				'currency_section' => __('Currency Settings', 'invoicing'),
432
+				'labels'           => __('Label Texts', 'invoicing'),
433 433
             )
434 434
         ),
435 435
         'gateways'     => apply_filters(
436 436
             'wpinv_settings_sections_gateways',
437 437
             array(
438
-				'main' => __( 'Gateway Settings', 'invoicing' ),
438
+				'main' => __('Gateway Settings', 'invoicing'),
439 439
             )
440 440
         ),
441 441
         'taxes'        => apply_filters(
442 442
             'wpinv_settings_sections_taxes',
443 443
             array(
444
-				'main'  => __( 'Tax Settings', 'invoicing' ),
445
-				'rules' => __( 'Tax Rules', 'invoicing' ),
446
-				'rates' => __( 'Tax Rates', 'invoicing' ),
447
-				'vat'   => __( 'EU VAT Settings', 'invoicing' ),
444
+				'main'  => __('Tax Settings', 'invoicing'),
445
+				'rules' => __('Tax Rules', 'invoicing'),
446
+				'rates' => __('Tax Rates', 'invoicing'),
447
+				'vat'   => __('EU VAT Settings', 'invoicing'),
448 448
             )
449 449
         ),
450 450
         'emails'       => apply_filters(
451 451
             'wpinv_settings_sections_emails',
452 452
             array(
453
-				'main' => __( 'Email Settings', 'invoicing' ),
453
+				'main' => __('Email Settings', 'invoicing'),
454 454
             )
455 455
         ),
456 456
 
457
-		'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ),
457
+		'integrations' => wp_list_pluck(getpaid_get_integration_settings(), 'label', 'id'),
458 458
 
459 459
         'privacy'      => apply_filters(
460 460
             'wpinv_settings_sections_privacy',
461 461
             array(
462
-				'main' => __( 'Privacy policy', 'invoicing' ),
462
+				'main' => __('Privacy policy', 'invoicing'),
463 463
             )
464 464
         ),
465 465
         'misc'         => apply_filters(
466 466
             'wpinv_settings_sections_misc',
467 467
             array(
468
-				'main'       => __( 'Miscellaneous', 'invoicing' ),
469
-				'custom-css' => __( 'Custom CSS', 'invoicing' ),
468
+				'main'       => __('Miscellaneous', 'invoicing'),
469
+				'custom-css' => __('Custom CSS', 'invoicing'),
470 470
             )
471 471
         ),
472 472
         'tools'        => apply_filters(
473 473
             'wpinv_settings_sections_tools',
474 474
             array(
475
-				'main' => __( 'Diagnostic Tools', 'invoicing' ),
475
+				'main' => __('Diagnostic Tools', 'invoicing'),
476 476
             )
477 477
         ),
478 478
     );
479 479
 
480
-    $sections = apply_filters( 'wpinv_settings_sections', $sections );
480
+    $sections = apply_filters('wpinv_settings_sections', $sections);
481 481
 
482 482
     return $sections;
483 483
 }
484 484
 
485
-function wpinv_get_pages( $with_slug = false, $default_label = null ) {
485
+function wpinv_get_pages($with_slug = false, $default_label = null) {
486 486
 	$pages_options = array();
487 487
 
488
-	if ( $default_label !== null && $default_label !== false ) {
489
-		$pages_options = array( '' => $default_label ); // Blank option
488
+	if ($default_label !== null && $default_label !== false) {
489
+		$pages_options = array('' => $default_label); // Blank option
490 490
 	}
491 491
 
492 492
 	$pages = get_pages();
493
-	if ( $pages ) {
494
-		foreach ( $pages as $page ) {
493
+	if ($pages) {
494
+		foreach ($pages as $page) {
495 495
 			$title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
496
-            $pages_options[ $page->ID ] = $title;
496
+            $pages_options[$page->ID] = $title;
497 497
 		}
498 498
 	}
499 499
 
500 500
 	return $pages_options;
501 501
 }
502 502
 
503
-function wpinv_header_callback( $args ) {
504
-	if ( ! empty( $args['desc'] ) ) {
505
-        echo wp_kses_post( $args['desc'] );
503
+function wpinv_header_callback($args) {
504
+	if (!empty($args['desc'])) {
505
+        echo wp_kses_post($args['desc']);
506 506
     }
507 507
 }
508 508
 
509
-function wpinv_hidden_callback( $args ) {
509
+function wpinv_hidden_callback($args) {
510 510
 
511
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
512
-	$value   = wpinv_get_option( $args['id'], $std );
511
+	$std     = isset($args['std']) ? $args['std'] : '';
512
+	$value   = wpinv_get_option($args['id'], $std);
513 513
 
514
-	if ( isset( $args['set_value'] ) ) {
514
+	if (isset($args['set_value'])) {
515 515
 		$value = $args['set_value'];
516 516
 	}
517 517
 
518
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
518
+	if (isset($args['faux']) && true === $args['faux']) {
519 519
 		$args['readonly'] = true;
520
-		$name  = '';
520
+		$name = '';
521 521
 	} else {
522
-		$name = 'wpinv_settings[' . esc_attr( $args['id'] ) . ']';
522
+		$name = 'wpinv_settings[' . esc_attr($args['id']) . ']';
523 523
 	}
524 524
 
525
-	echo '<input type="hidden" id="wpinv_settings[' . esc_attr( $args['id'] ) . ']" name="' . esc_attr( $name ) . '" value="' . esc_attr( stripslashes( $value ) ) . '" />';
525
+	echo '<input type="hidden" id="wpinv_settings[' . esc_attr($args['id']) . ']" name="' . esc_attr($name) . '" value="' . esc_attr(stripslashes($value)) . '" />';
526 526
 
527 527
 }
528 528
 
529 529
 /**
530 530
  * Displays a checkbox settings callback.
531 531
  */
532
-function wpinv_checkbox_callback( $args ) {
532
+function wpinv_checkbox_callback($args) {
533 533
 
534
-	$std = isset( $args['std'] ) ? $args['std'] : '';
535
-	$std = wpinv_get_option( $args['id'], $std );
536
-	$id  = esc_attr( $args['id'] );
534
+	$std = isset($args['std']) ? $args['std'] : '';
535
+	$std = wpinv_get_option($args['id'], $std);
536
+	$id  = esc_attr($args['id']);
537 537
 
538
-	getpaid_hidden_field( "wpinv_settings[$id]", '0' );
538
+	getpaid_hidden_field("wpinv_settings[$id]", '0');
539 539
 	?>
540 540
 		<fieldset>
541 541
 			<label>
542
-				<input id="wpinv-settings-<?php echo esc_attr( $id ); ?>" name="wpinv_settings[<?php echo esc_attr( $id ); ?>]" <?php checked( empty( $std ), false ); ?> value="1" type="checkbox" />
543
-				<?php echo wp_kses_post( $args['desc'] ); ?>
542
+				<input id="wpinv-settings-<?php echo esc_attr($id); ?>" name="wpinv_settings[<?php echo esc_attr($id); ?>]" <?php checked(empty($std), false); ?> value="1" type="checkbox" />
543
+				<?php echo wp_kses_post($args['desc']); ?>
544 544
 			</label>
545 545
 		</fieldset>
546 546
 	<?php
547 547
 }
548 548
 
549
-function wpinv_multicheck_callback( $args ) {
549
+function wpinv_multicheck_callback($args) {
550 550
 
551
-	$sanitize_id = wpinv_sanitize_key( $args['id'] );
552
-	$class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
551
+	$sanitize_id = wpinv_sanitize_key($args['id']);
552
+	$class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : '';
553 553
 
554
-	if ( ! empty( $args['options'] ) ) {
554
+	if (!empty($args['options'])) {
555 555
 
556
-		$std     = isset( $args['std'] ) ? $args['std'] : array();
557
-		$value   = wpinv_get_option( $args['id'], $std );
556
+		$std     = isset($args['std']) ? $args['std'] : array();
557
+		$value   = wpinv_get_option($args['id'], $std);
558 558
 
559
-		echo '<div class="wpi-mcheck-rows wpi-mcheck-' . esc_attr( $sanitize_id . $class ) . '">';
560
-        foreach ( $args['options'] as $key => $option ) :
561
-			$sanitize_key = esc_attr( wpinv_sanitize_key( $key ) );
562
-			if ( in_array( $sanitize_key, $value ) ) {
559
+		echo '<div class="wpi-mcheck-rows wpi-mcheck-' . esc_attr($sanitize_id . $class) . '">';
560
+        foreach ($args['options'] as $key => $option) :
561
+			$sanitize_key = esc_attr(wpinv_sanitize_key($key));
562
+			if (in_array($sanitize_key, $value)) {
563 563
 				$enabled = $sanitize_key;
564 564
 			} else {
565 565
 				$enabled = null;
566 566
 			}
567
-			echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
568
-			echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']">' . wp_kses_post( $option ) . '</label></div>';
567
+			echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . esc_attr($sanitize_id) . '][' . esc_attr($sanitize_key) . ']" id="wpinv_settings[' . esc_attr($sanitize_id) . '][' . esc_attr($sanitize_key) . ']" type="checkbox" value="' . esc_attr($sanitize_key) . '" ' . checked($sanitize_key, $enabled, false) . '/>&nbsp;';
568
+			echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . '][' . esc_attr($sanitize_key) . ']">' . wp_kses_post($option) . '</label></div>';
569 569
 		endforeach;
570 570
 		echo '</div>';
571
-		echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>';
571
+		echo '<p class="description">' . wp_kses_post($args['desc']) . '</p>';
572 572
 	}
573 573
 }
574 574
 
575
-function wpinv_payment_icons_callback( $args ) {
575
+function wpinv_payment_icons_callback($args) {
576 576
 
577
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
578
-	$value   = wpinv_get_option( $args['id'], false );
577
+    $sanitize_id = wpinv_sanitize_key($args['id']);
578
+	$value = wpinv_get_option($args['id'], false);
579 579
 
580
-	if ( ! empty( $args['options'] ) ) {
581
-		foreach ( $args['options'] as $key => $option ) {
582
-            $sanitize_key = wpinv_sanitize_key( $key );
580
+	if (!empty($args['options'])) {
581
+		foreach ($args['options'] as $key => $option) {
582
+            $sanitize_key = wpinv_sanitize_key($key);
583 583
 
584
-			if ( empty( $value ) ) {
584
+			if (empty($value)) {
585 585
 				$enabled = $option;
586 586
 			} else {
587 587
 				$enabled = null;
588 588
 			}
589 589
 
590
-			echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
590
+			echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . '][' . esc_attr($sanitize_key) . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
591 591
 
592
-				echo '<input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
592
+				echo '<input name="wpinv_settings[' . esc_attr($sanitize_id) . '][' . esc_attr($sanitize_key) . ']" id="wpinv_settings[' . esc_attr($sanitize_id) . '][' . esc_attr($sanitize_key) . ']" type="checkbox" value="' . esc_attr($option) . '" ' . checked($option, $enabled, false) . '/>&nbsp;';
593 593
 
594
-				if ( wpinv_string_is_image_url( $key ) ) {
595
-				echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
594
+				if (wpinv_string_is_image_url($key)) {
595
+				echo '<img class="payment-icon" src="' . esc_url($key) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
596 596
 				} else {
597
-				$card = strtolower( str_replace( ' ', '', $option ) );
597
+				$card = strtolower(str_replace(' ', '', $option));
598 598
 
599
-				if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
600
-					$image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
599
+				if (has_filter('wpinv_accepted_payment_' . $card . '_image')) {
600
+					$image = apply_filters('wpinv_accepted_payment_' . $card . '_image', '');
601 601
 					} else {
602
-					$image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
602
+					$image       = wpinv_locate_template('images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false);
603 603
 					$content_dir = WP_CONTENT_DIR;
604 604
 
605
-					if ( function_exists( 'wp_normalize_path' ) ) {
605
+					if (function_exists('wp_normalize_path')) {
606 606
 						// Replaces backslashes with forward slashes for Windows systems
607
-						$image = wp_normalize_path( $image );
608
-						$content_dir = wp_normalize_path( $content_dir );
607
+						$image = wp_normalize_path($image);
608
+						$content_dir = wp_normalize_path($content_dir);
609 609
 						}
610 610
 
611
-					$image = str_replace( $content_dir, content_url(), $image );
611
+					$image = str_replace($content_dir, content_url(), $image);
612 612
 					}
613 613
 
614
-				echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
614
+				echo '<img class="payment-icon" src="' . esc_url($image) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
615 615
 				}
616
-			echo wp_kses_post( $option ) . '</label>';
616
+			echo wp_kses_post($option) . '</label>';
617 617
 		}
618
-		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
618
+		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post($args['desc']) . '</p>';
619 619
 	}
620 620
 }
621 621
 
622 622
 /**
623 623
  * Displays a radio settings field.
624 624
  */
625
-function wpinv_radio_callback( $args ) {
625
+function wpinv_radio_callback($args) {
626 626
 
627
-	$std = isset( $args['std'] ) ? $args['std'] : '';
628
-	$std = wpinv_get_option( $args['id'], $std );
627
+	$std = isset($args['std']) ? $args['std'] : '';
628
+	$std = wpinv_get_option($args['id'], $std);
629 629
 	?>
630 630
 		<fieldset>
631
-			<ul id="wpinv-settings-<?php echo esc_attr( $args['id'] ); ?>" style="margin-top: 0;">
632
-				<?php foreach ( $args['options'] as $key => $option ) : ?>
631
+			<ul id="wpinv-settings-<?php echo esc_attr($args['id']); ?>" style="margin-top: 0;">
632
+				<?php foreach ($args['options'] as $key => $option) : ?>
633 633
 					<li>
634 634
 						<label>
635
-							<input name="wpinv_settings[<?php echo esc_attr( $args['id'] ); ?>]" <?php checked( $std, $key ); ?> value="<?php echo esc_attr( $key ); ?>" type="radio">
636
-							<?php echo wp_kses_post( $option ); ?>
635
+							<input name="wpinv_settings[<?php echo esc_attr($args['id']); ?>]" <?php checked($std, $key); ?> value="<?php echo esc_attr($key); ?>" type="radio">
636
+							<?php echo wp_kses_post($option); ?>
637 637
 						</label>
638 638
 					</li>
639 639
 				<?php endforeach; ?>
640 640
 			</ul>
641 641
 		</fieldset>
642 642
 	<?php
643
-	getpaid_settings_description_callback( $args );
643
+	getpaid_settings_description_callback($args);
644 644
 }
645 645
 
646 646
 /**
647 647
  * Displays a description if available.
648 648
  */
649
-function getpaid_settings_description_callback( $args ) {
649
+function getpaid_settings_description_callback($args) {
650 650
 
651
-	if ( ! empty( $args['desc'] ) ) {
651
+	if (!empty($args['desc'])) {
652 652
 		$description = $args['desc'];
653
-		echo wp_kses_post( "<p class='description'>$description</p>" );
653
+		echo wp_kses_post("<p class='description'>$description</p>");
654 654
 	}
655 655
 
656 656
 }
@@ -665,35 +665,35 @@  discard block
 block discarded – undo
665 665
 	</tr>
666 666
 	<tr class="bsui">
667 667
     	<td colspan="2" class="p-0">
668
-			<?php include plugin_dir_path( __FILE__ ) . 'views/html-gateways-edit.php'; ?>
668
+			<?php include plugin_dir_path(__FILE__) . 'views/html-gateways-edit.php'; ?>
669 669
 
670 670
 	<?php
671 671
 }
672 672
 
673
-function wpinv_gateway_select_callback( $args ) {
673
+function wpinv_gateway_select_callback($args) {
674 674
 
675
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
676
-    $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
677
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
678
-	$value   = wpinv_get_option( $args['id'], $std );
675
+    $sanitize_id = wpinv_sanitize_key($args['id']);
676
+    $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : '';
677
+	$std     = isset($args['std']) ? $args['std'] : '';
678
+	$value   = wpinv_get_option($args['id'], $std);
679 679
 
680
-	echo '<select name="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" class="' . esc_attr( $class ) . '" >';
680
+	echo '<select name="wpinv_settings[' . esc_attr($sanitize_id) . ']"" id="wpinv_settings[' . esc_attr($sanitize_id) . ']" class="' . esc_attr($class) . '" >';
681 681
 
682
-	foreach ( $args['options'] as $key => $option ) :
682
+	foreach ($args['options'] as $key => $option) :
683 683
 
684
-		echo '<option value="' . esc_attr( $key ) . '" ';
684
+		echo '<option value="' . esc_attr($key) . '" ';
685 685
 
686
-		if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
687
-            selected( $key, $args['selected'] );
686
+		if (isset($args['selected']) && $args['selected'] !== null && $args['selected'] !== false) {
687
+            selected($key, $args['selected']);
688 688
         } else {
689
-            selected( $key, $value );
689
+            selected($key, $value);
690 690
         }
691 691
 
692
-		echo '>' . esc_html( $option['admin_label'] ) . '</option>';
692
+		echo '>' . esc_html($option['admin_label']) . '</option>';
693 693
 	endforeach;
694 694
 
695 695
 	echo '</select>';
696
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
696
+	echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>';
697 697
 }
698 698
 
699 699
 /**
@@ -702,16 +702,16 @@  discard block
 block discarded – undo
702 702
  * @param array $args
703 703
  * @return string
704 704
  */
705
-function wpinv_settings_attrs_helper( $args ) {
705
+function wpinv_settings_attrs_helper($args) {
706 706
 
707
-	$value = isset( $args['std'] ) ? $args['std'] : '';
708
-	$id    = esc_attr( $args['id'] );
709
-	$value = is_scalar( $value ) ? $value : '';
707
+	$value = isset($args['std']) ? $args['std'] : '';
708
+	$id    = esc_attr($args['id']);
709
+	$value = is_scalar($value) ? $value : '';
710 710
 
711 711
 	$attrs = array(
712
-		'name'     => ! empty( $args['faux'] ) ? false : "wpinv_settings[$id]",
713
-		'readonly' => ! empty( $args['faux'] ),
714
-		'value'    => ! empty( $args['faux'] ) ? $value : wpinv_get_option( $args['id'], $value ),
712
+		'name'     => !empty($args['faux']) ? false : "wpinv_settings[$id]",
713
+		'readonly' => !empty($args['faux']),
714
+		'value'    => !empty($args['faux']) ? $value : wpinv_get_option($args['id'], $value),
715 715
 		'id'       => 'wpinv-settings-' . $args['id'],
716 716
 		'style'    => $args['style'],
717 717
 		'class'    => $args['class'],
@@ -719,20 +719,20 @@  discard block
 block discarded – undo
719 719
 		'data-placeholder' => $args['placeholder'],
720 720
 	);
721 721
 
722
-	if ( ! empty( $args['onchange'] ) ) {
722
+	if (!empty($args['onchange'])) {
723 723
 		$attrs['onchange'] = $args['onchange'];
724 724
 	}
725 725
 
726
-	foreach ( $attrs as $key => $value ) {
726
+	foreach ($attrs as $key => $value) {
727 727
 
728
-		if ( false === $value ) {
728
+		if (false === $value) {
729 729
 			continue;
730 730
 		}
731 731
 
732
-		if ( true === $value ) {
733
-			echo ' ' . esc_attr( $key );
732
+		if (true === $value) {
733
+			echo ' ' . esc_attr($key);
734 734
 		} else {
735
-			echo ' ' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"';
735
+			echo ' ' . esc_attr($key) . '="' . esc_attr($value) . '"';
736 736
 		}
737 737
 
738 738
 	}
@@ -742,12 +742,12 @@  discard block
 block discarded – undo
742 742
 /**
743 743
  * Displays a text input settings callback.
744 744
  */
745
-function wpinv_text_callback( $args ) {
745
+function wpinv_text_callback($args) {
746 746
 
747 747
 	?>
748 748
 		<label style="width: 100%;">
749
-			<input type="text" <?php wpinv_settings_attrs_helper( $args ); ?>>
750
-			<?php getpaid_settings_description_callback( $args ); ?>
749
+			<input type="text" <?php wpinv_settings_attrs_helper($args); ?>>
750
+			<?php getpaid_settings_description_callback($args); ?>
751 751
 		</label>
752 752
 	<?php
753 753
 
@@ -756,174 +756,174 @@  discard block
 block discarded – undo
756 756
 /**
757 757
  * Displays a number input settings callback.
758 758
  */
759
-function wpinv_number_callback( $args ) {
759
+function wpinv_number_callback($args) {
760 760
 
761 761
 	?>
762 762
 		<label style="width: 100%;">
763
-			<input type="number" step="<?php echo esc_attr( $args['step'] ); ?>" max="<?php echo intval( $args['max'] ); ?>" min="<?php echo intval( $args['min'] ); ?>" <?php wpinv_settings_attrs_helper( $args ); ?>>
764
-			<?php getpaid_settings_description_callback( $args ); ?>
763
+			<input type="number" step="<?php echo esc_attr($args['step']); ?>" max="<?php echo intval($args['max']); ?>" min="<?php echo intval($args['min']); ?>" <?php wpinv_settings_attrs_helper($args); ?>>
764
+			<?php getpaid_settings_description_callback($args); ?>
765 765
 		</label>
766 766
 	<?php
767 767
 
768 768
 }
769 769
 
770
-function wpinv_textarea_callback( $args ) {
770
+function wpinv_textarea_callback($args) {
771 771
 
772
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
773
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
774
-	$value   = wpinv_get_option( $args['id'], $std );
772
+    $sanitize_id = wpinv_sanitize_key($args['id']);
773
+	$std     = isset($args['std']) ? $args['std'] : '';
774
+	$value   = wpinv_get_option($args['id'], $std);
775 775
 
776
-    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
777
-    $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text';
776
+    $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
777
+    $class = (isset($args['class']) && !is_null($args['class'])) ? $args['class'] : 'large-text';
778 778
 
779
-	echo '<textarea class="' . esc_attr( $class ) . ' txtarea-' . esc_attr( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . esc_attr( $args['cols'] ) . '" rows="' . esc_attr( $args['rows'] ) . '" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
780
-	echo '<br /><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
779
+	echo '<textarea class="' . esc_attr($class) . ' txtarea-' . esc_attr($size) . ' wpi-' . esc_attr(sanitize_html_class($sanitize_id)) . ' " cols="' . esc_attr($args['cols']) . '" rows="' . esc_attr($args['rows']) . '" id="wpinv_settings[' . esc_attr($sanitize_id) . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']">' . esc_textarea(stripslashes($value)) . '</textarea>';
780
+	echo '<br /><label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>';
781 781
 
782 782
 }
783 783
 
784
-function wpinv_password_callback( $args ) {
784
+function wpinv_password_callback($args) {
785 785
 
786
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
787
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
788
-	$value   = wpinv_get_option( $args['id'], $std );
786
+    $sanitize_id = wpinv_sanitize_key($args['id']);
787
+	$std     = isset($args['std']) ? $args['std'] : '';
788
+	$value   = wpinv_get_option($args['id'], $std);
789 789
 
790
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
791
-	echo '<input type="password" class="' . esc_attr( $size ) . '-text" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
792
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
790
+	$size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
791
+	echo '<input type="password" class="' . esc_attr($size) . '-text" id="wpinv_settings[' . esc_attr($sanitize_id) . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr($value) . '"/>';
792
+	echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>';
793 793
 
794 794
 }
795 795
 
796
-function wpinv_missing_callback( $args ) {
796
+function wpinv_missing_callback($args) {
797 797
 	printf(
798
-		esc_html__( 'The callback function used for the %s setting is missing.', 'invoicing' ),
799
-		'<strong>' . esc_html( $args['id'] ) . '</strong>'
798
+		esc_html__('The callback function used for the %s setting is missing.', 'invoicing'),
799
+		'<strong>' . esc_html($args['id']) . '</strong>'
800 800
 	);
801 801
 }
802 802
 
803 803
 /**
804 804
  * Displays a number input settings callback.
805 805
  */
806
-function wpinv_select_callback( $args ) {
806
+function wpinv_select_callback($args) {
807 807
 
808
-	$desc   = wp_kses_post( $args['desc'] );
809
-	$desc   = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
810
-	$value  = isset( $args['std'] ) ? $args['std'] : '';
811
-	$value  = wpinv_get_option( $args['id'], $value );
812
-	$rand   = uniqid( 'random_id' );
808
+	$desc   = wp_kses_post($args['desc']);
809
+	$desc   = empty($desc) ? '' : "<p class='description'>$desc</p>";
810
+	$value  = isset($args['std']) ? $args['std'] : '';
811
+	$value  = wpinv_get_option($args['id'], $value);
812
+	$rand   = uniqid('random_id');
813 813
 
814 814
 	?>
815 815
 		<label style="width: 100%;">
816
-			<select <?php wpinv_settings_attrs_helper( $args ); ?> data-allow-clear="true">
817
-				<?php foreach ( $args['options'] as $option => $name ) : ?>
818
-					<option value="<?php echo esc_attr( $option ); ?>" <?php echo selected( $option, $value ); ?>><?php echo esc_html( $name ); ?></option>
816
+			<select <?php wpinv_settings_attrs_helper($args); ?> data-allow-clear="true">
817
+				<?php foreach ($args['options'] as $option => $name) : ?>
818
+					<option value="<?php echo esc_attr($option); ?>" <?php echo selected($option, $value); ?>><?php echo esc_html($name); ?></option>
819 819
 				<?php endforeach; ?>
820 820
 			</select>
821 821
 
822
-			<?php if ( substr( $args['id'], -5 ) === '_page' && is_numeric( $value ) ) : ?>
823
-				<a href="<?php echo esc_url( get_edit_post_link( $value ) ); ?>" target="_blank" class="button getpaid-page-setting-edit"><?php esc_html_e( 'Edit Page', 'invoicing' ); ?></a>
822
+			<?php if (substr($args['id'], -5) === '_page' && is_numeric($value)) : ?>
823
+				<a href="<?php echo esc_url(get_edit_post_link($value)); ?>" target="_blank" class="button getpaid-page-setting-edit"><?php esc_html_e('Edit Page', 'invoicing'); ?></a>
824 824
 			<?php endif; ?>
825 825
 
826
-			<?php if ( substr( $args['id'], -5 ) === '_page' && ! empty( $args['default_content'] ) ) : ?>
827
-				&nbsp;<a href="#TB_inline?&width=400&height=550&inlineId=<?php echo esc_attr( $rand ); ?>" class="button thickbox getpaid-page-setting-view-default"><?php esc_html_e( 'View Default Content', 'invoicing' ); ?></a>
828
-				<div id='<?php echo esc_attr( $rand ); ?>' style='display:none;'>
826
+			<?php if (substr($args['id'], -5) === '_page' && !empty($args['default_content'])) : ?>
827
+				&nbsp;<a href="#TB_inline?&width=400&height=550&inlineId=<?php echo esc_attr($rand); ?>" class="button thickbox getpaid-page-setting-view-default"><?php esc_html_e('View Default Content', 'invoicing'); ?></a>
828
+				<div id='<?php echo esc_attr($rand); ?>' style='display:none;'>
829 829
 					<div>
830
-						<h3><?php esc_html_e( 'Original Content', 'invoicing' ); ?></h3>
831
-						<textarea readonly onclick="this.select()" rows="8" style="width: 100%;"><?php echo wp_kses_post( gepaid_trim_lines( $args['default_content'] ) ); ?></textarea>
832
-						<h3><?php esc_html_e( 'Current Content', 'invoicing' ); ?></h3>
833
-						<textarea readonly onclick="this.select()" rows="8" style="width: 100%;"><?php $_post = get_post( $value ); echo empty( $_post ) ? '' : wp_kses_post( gepaid_trim_lines( $_post->post_content ) ); ?></textarea>
830
+						<h3><?php esc_html_e('Original Content', 'invoicing'); ?></h3>
831
+						<textarea readonly onclick="this.select()" rows="8" style="width: 100%;"><?php echo wp_kses_post(gepaid_trim_lines($args['default_content'])); ?></textarea>
832
+						<h3><?php esc_html_e('Current Content', 'invoicing'); ?></h3>
833
+						<textarea readonly onclick="this.select()" rows="8" style="width: 100%;"><?php $_post = get_post($value); echo empty($_post) ? '' : wp_kses_post(gepaid_trim_lines($_post->post_content)); ?></textarea>
834 834
 					</div>
835 835
 				</div>
836 836
 			<?php endif; ?>
837 837
 
838
-			<?php echo wp_kses_post( $desc ); ?>
838
+			<?php echo wp_kses_post($desc); ?>
839 839
 		</label>
840 840
 	<?php
841 841
 
842 842
 }
843 843
 
844
-function wpinv_color_select_callback( $args ) {
844
+function wpinv_color_select_callback($args) {
845 845
 
846
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
847
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
848
-	$value   = wpinv_get_option( $args['id'], $std );
846
+    $sanitize_id = wpinv_sanitize_key($args['id']);
847
+	$std     = isset($args['std']) ? $args['std'] : '';
848
+	$value   = wpinv_get_option($args['id'], $std);
849 849
 
850
-	echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
850
+	echo '<select id="wpinv_settings[' . esc_attr($sanitize_id) . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"/>';
851 851
 
852
-	foreach ( $args['options'] as $option => $color ) {
853
-		echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $color['label'] ) . '</option>';
852
+	foreach ($args['options'] as $option => $color) {
853
+		echo '<option value="' . esc_attr($option) . '" ' . selected($option, $value) . '>' . esc_html($color['label']) . '</option>';
854 854
 	}
855 855
 
856 856
 	echo '</select>';
857
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
857
+	echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>';
858 858
 
859 859
 }
860 860
 
861
-function wpinv_rich_editor_callback( $args ) {
861
+function wpinv_rich_editor_callback($args) {
862 862
 	global $wp_version;
863 863
 
864
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
864
+    $sanitize_id = wpinv_sanitize_key($args['id']);
865 865
 
866
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
867
-	$value   = wpinv_get_option( $args['id'], $std );
866
+	$std     = isset($args['std']) ? $args['std'] : '';
867
+	$value   = wpinv_get_option($args['id'], $std);
868 868
 
869
-	if ( ! empty( $args['allow_blank'] ) && empty( $value ) ) {
869
+	if (!empty($args['allow_blank']) && empty($value)) {
870 870
 		$value = $std;
871 871
 	}
872 872
 
873
-	$rows = isset( $args['size'] ) ? $args['size'] : 20;
873
+	$rows = isset($args['size']) ? $args['size'] : 20;
874 874
 
875 875
 	echo '<div class="getpaid-settings-editor-input">';
876
-	if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
876
+	if ($wp_version >= 3.3 && function_exists('wp_editor')) {
877 877
 		wp_editor(
878
-            stripslashes( $value ),
879
-            'wpinv_settings_' . esc_attr( $args['id'] ),
878
+            stripslashes($value),
879
+            'wpinv_settings_' . esc_attr($args['id']),
880 880
             array(
881
-				'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']',
882
-				'textarea_rows' => absint( $rows ),
881
+				'textarea_name' => 'wpinv_settings[' . esc_attr($args['id']) . ']',
882
+				'textarea_rows' => absint($rows),
883 883
 				'media_buttons' => false,
884 884
             )
885 885
         );
886 886
 	} else {
887
-		echo '<textarea class="large-text" rows="10" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
887
+		echo '<textarea class="large-text" rows="10" id="wpinv_settings[' . esc_attr($sanitize_id) . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" class="wpi-' . esc_attr(sanitize_html_class($args['id'])) . '">' . esc_textarea(stripslashes($value)) . '</textarea>';
888 888
 	}
889 889
 
890
-	echo '</div><br/><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
890
+	echo '</div><br/><label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>';
891 891
 
892 892
 }
893 893
 
894
-function wpinv_upload_callback( $args ) {
894
+function wpinv_upload_callback($args) {
895 895
 
896
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
896
+    $sanitize_id = wpinv_sanitize_key($args['id']);
897 897
 
898
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
899
-	$value   = wpinv_get_option( $args['id'], $std );
898
+	$std     = isset($args['std']) ? $args['std'] : '';
899
+	$value   = wpinv_get_option($args['id'], $std);
900 900
 
901
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
902
-	echo '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
903
-	echo '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . esc_attr__( 'Upload File', 'invoicing' ) . '"/></span>';
904
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
901
+	$size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
902
+	echo '<input type="text" class="' . sanitize_html_class($size) . '-text" id="wpinv_settings[' . esc_attr($sanitize_id) . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr(stripslashes($value)) . '"/>';
903
+	echo '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . esc_attr__('Upload File', 'invoicing') . '"/></span>';
904
+	echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>';
905 905
 
906 906
 }
907 907
 
908
-function wpinv_color_callback( $args ) {
908
+function wpinv_color_callback($args) {
909 909
 
910
-	$std         = isset( $args['std'] ) ? $args['std'] : '';
911
-	$value       = wpinv_get_option( $args['id'], $std );
912
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
910
+	$std         = isset($args['std']) ? $args['std'] : '';
911
+	$value       = wpinv_get_option($args['id'], $std);
912
+    $sanitize_id = wpinv_sanitize_key($args['id']);
913 913
 
914
-	echo '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $std ) . '" />';
915
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
914
+	echo '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . esc_attr($sanitize_id) . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr($value) . '" data-default-color="' . esc_attr($std) . '" />';
915
+	echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>';
916 916
 
917 917
 }
918 918
 
919
-function wpinv_country_states_callback( $args ) {
919
+function wpinv_country_states_callback($args) {
920 920
 
921
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
922
-	$value   = wpinv_get_option( $args['id'], $std );
921
+	$std     = isset($args['std']) ? $args['std'] : '';
922
+	$value   = wpinv_get_option($args['id'], $std);
923 923
 
924
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
924
+    $sanitize_id = wpinv_sanitize_key($args['id']);
925 925
 
926
-	if ( isset( $args['placeholder'] ) ) {
926
+	if (isset($args['placeholder'])) {
927 927
 		$placeholder = $args['placeholder'];
928 928
 	} else {
929 929
 		$placeholder = '';
@@ -931,15 +931,15 @@  discard block
 block discarded – undo
931 931
 
932 932
 	$states = wpinv_get_country_states();
933 933
 
934
-	$class = empty( $states ) ? 'wpinv-no-states' : 'wpi_select2';
935
-	echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="' . esc_attr( $class ) . '" data-placeholder="' . esc_html( $placeholder ) . '"/>';
934
+	$class = empty($states) ? 'wpinv-no-states' : 'wpi_select2';
935
+	echo '<select id="wpinv_settings[' . esc_attr($sanitize_id) . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" class="' . esc_attr($class) . '" data-placeholder="' . esc_html($placeholder) . '"/>';
936 936
 
937
-	foreach ( $states as $option => $name ) {
938
-		echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $name ) . '</option>';
937
+	foreach ($states as $option => $name) {
938
+		echo '<option value="' . esc_attr($option) . '" ' . selected($option, $value) . '>' . esc_html($name) . '</option>';
939 939
 	}
940 940
 
941 941
 	echo '</select>';
942
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
942
+	echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>';
943 943
 
944 944
 }
945 945
 
@@ -953,7 +953,7 @@  discard block
 block discarded – undo
953 953
 	</tr>
954 954
 	<tr class="bsui">
955 955
     	<td colspan="2" class="p-0">
956
-			<?php include plugin_dir_path( __FILE__ ) . 'views/html-tax-rates-edit.php'; ?>
956
+			<?php include plugin_dir_path(__FILE__) . 'views/html-tax-rates-edit.php'; ?>
957 957
 
958 958
 	<?php
959 959
 
@@ -962,11 +962,11 @@  discard block
 block discarded – undo
962 962
 /**
963 963
  * Displays a tax rate' edit row.
964 964
  */
965
-function wpinv_tax_rate_callback( $tax_rate, $key ) {
965
+function wpinv_tax_rate_callback($tax_rate, $key) {
966 966
 
967
-	$key                      = sanitize_key( $key );
968
-	$tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate'];
969
-	include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php';
967
+	$key                      = sanitize_key($key);
968
+	$tax_rate['reduced_rate'] = empty($tax_rate['reduced_rate']) ? 0 : $tax_rate['reduced_rate'];
969
+	include plugin_dir_path(__FILE__) . 'views/html-tax-rate-edit.php';
970 970
 
971 971
 }
972 972
 
@@ -980,177 +980,177 @@  discard block
 block discarded – undo
980 980
 	</tr>
981 981
 	<tr class="bsui">
982 982
     	<td colspan="2" class="p-0">
983
-			<?php include plugin_dir_path( __FILE__ ) . 'views/html-tax-rules-edit.php'; ?>
983
+			<?php include plugin_dir_path(__FILE__) . 'views/html-tax-rules-edit.php'; ?>
984 984
 
985 985
 	<?php
986 986
 
987 987
 }
988 988
 
989
-function wpinv_tools_callback( $args ) {
989
+function wpinv_tools_callback($args) {
990 990
     ?>
991 991
     </td><tr>
992 992
     <td colspan="2" class="wpinv_tools_tdbox">
993 993
     <?php
994
-    if ( $args['desc'] ) {
994
+    if ($args['desc']) {
995 995
 ?>
996
-<p><?php echo wp_kses_post( $args['desc'] ); ?></p><?php } ?>
997
-    <?php do_action( 'wpinv_tools_before' ); ?>
996
+<p><?php echo wp_kses_post($args['desc']); ?></p><?php } ?>
997
+    <?php do_action('wpinv_tools_before'); ?>
998 998
     <table id="wpinv_tools_table" class="wp-list-table widefat fixed posts">
999 999
         <thead>
1000 1000
             <tr>
1001
-                <th scope="col" class="wpinv-th-tool"><?php esc_html_e( 'Tool', 'invoicing' ); ?></th>
1002
-                <th scope="col" class="wpinv-th-desc"><?php esc_html_e( 'Description', 'invoicing' ); ?></th>
1003
-                <th scope="col" class="wpinv-th-action"><?php esc_html_e( 'Action', 'invoicing' ); ?></th>
1001
+                <th scope="col" class="wpinv-th-tool"><?php esc_html_e('Tool', 'invoicing'); ?></th>
1002
+                <th scope="col" class="wpinv-th-desc"><?php esc_html_e('Description', 'invoicing'); ?></th>
1003
+                <th scope="col" class="wpinv-th-action"><?php esc_html_e('Action', 'invoicing'); ?></th>
1004 1004
             </tr>
1005 1005
         </thead>
1006 1006
 
1007 1007
         <tbody>
1008 1008
 			<tr>
1009
-                <td><?php esc_html_e( 'Check Pages', 'invoicing' ); ?></td>
1009
+                <td><?php esc_html_e('Check Pages', 'invoicing'); ?></td>
1010 1010
                 <td>
1011
-                    <small><?php esc_html_e( 'Creates any missing GetPaid pages.', 'invoicing' ); ?></small>
1011
+                    <small><?php esc_html_e('Creates any missing GetPaid pages.', 'invoicing'); ?></small>
1012 1012
                 </td>
1013 1013
                 <td>
1014 1014
 					<a href="
1015 1015
                     <?php
1016 1016
 						echo esc_url(
1017 1017
 							wp_nonce_url(
1018
-								add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
1018
+								add_query_arg('getpaid-admin-action', 'create_missing_pages'),
1019 1019
 								'getpaid-nonce',
1020 1020
 								'getpaid-nonce'
1021 1021
 							)
1022 1022
 						);
1023 1023
 					?>
1024
-                    " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
1024
+                    " class="button button-primary"><?php esc_html_e('Run', 'invoicing'); ?></a>
1025 1025
                 </td>
1026 1026
             </tr>
1027 1027
 			<tr>
1028
-                <td><?php esc_html_e( 'Refresh Permalinks', 'invoicing' ); ?></td>
1028
+                <td><?php esc_html_e('Refresh Permalinks', 'invoicing'); ?></td>
1029 1029
                 <td>
1030
-                    <small><?php esc_html_e( 'Might fix the page not found error when viewing an invoice.', 'invoicing' ); ?></small>
1030
+                    <small><?php esc_html_e('Might fix the page not found error when viewing an invoice.', 'invoicing'); ?></small>
1031 1031
                 </td>
1032 1032
                 <td>
1033 1033
 					<a href="
1034 1034
                     <?php
1035 1035
 						echo esc_url(
1036 1036
 							wp_nonce_url(
1037
-								add_query_arg( 'getpaid-admin-action', 'refresh_permalinks' ),
1037
+								add_query_arg('getpaid-admin-action', 'refresh_permalinks'),
1038 1038
 								'getpaid-nonce',
1039 1039
 								'getpaid-nonce'
1040 1040
 							)
1041 1041
 						);
1042 1042
 					?>
1043
-                    " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
1043
+                    " class="button button-primary"><?php esc_html_e('Run', 'invoicing'); ?></a>
1044 1044
                 </td>
1045 1045
             </tr>
1046 1046
 			<tr>
1047
-                <td><?php esc_html_e( 'Create Database Tables', 'invoicing' ); ?></td>
1047
+                <td><?php esc_html_e('Create Database Tables', 'invoicing'); ?></td>
1048 1048
                 <td>
1049
-                    <small><?php esc_html_e( 'Run this tool to create any missing database tables.', 'invoicing' ); ?></small>
1049
+                    <small><?php esc_html_e('Run this tool to create any missing database tables.', 'invoicing'); ?></small>
1050 1050
                 </td>
1051 1051
                 <td>
1052 1052
 					<a href="
1053 1053
                     <?php
1054 1054
 						echo esc_url(
1055 1055
 							wp_nonce_url(
1056
-								add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ),
1056
+								add_query_arg('getpaid-admin-action', 'create_missing_tables'),
1057 1057
 								'getpaid-nonce',
1058 1058
 								'getpaid-nonce'
1059 1059
 							)
1060 1060
 						);
1061 1061
 					?>
1062
-                    " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
1062
+                    " class="button button-primary"><?php esc_html_e('Run', 'invoicing'); ?></a>
1063 1063
                 </td>
1064 1064
             </tr>
1065 1065
 			<tr>
1066
-                <td><?php esc_html_e( 'Migrate old invoices', 'invoicing' ); ?></td>
1066
+                <td><?php esc_html_e('Migrate old invoices', 'invoicing'); ?></td>
1067 1067
                 <td>
1068
-                    <small><?php esc_html_e( 'If your old invoices were not migrated after updating from Invoicing to GetPaid, you can use this tool to migrate them.', 'invoicing' ); ?></small>
1068
+                    <small><?php esc_html_e('If your old invoices were not migrated after updating from Invoicing to GetPaid, you can use this tool to migrate them.', 'invoicing'); ?></small>
1069 1069
                 </td>
1070 1070
                 <td>
1071 1071
 					<a href="
1072 1072
                     <?php
1073 1073
 						echo esc_url(
1074 1074
 							wp_nonce_url(
1075
-								add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ),
1075
+								add_query_arg('getpaid-admin-action', 'migrate_old_invoices'),
1076 1076
 								'getpaid-nonce',
1077 1077
 								'getpaid-nonce'
1078 1078
 							)
1079 1079
 						);
1080 1080
 					?>
1081
-                    " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
1081
+                    " class="button button-primary"><?php esc_html_e('Run', 'invoicing'); ?></a>
1082 1082
                 </td>
1083 1083
             </tr>
1084 1084
 
1085 1085
 			<tr>
1086
-                <td><?php esc_html_e( 'Recalculate Discounts', 'invoicing' ); ?></td>
1086
+                <td><?php esc_html_e('Recalculate Discounts', 'invoicing'); ?></td>
1087 1087
                 <td>
1088
-                    <small><?php esc_html_e( 'Recalculate discounts for existing invoices that have discount codes but are not discounted.', 'invoicing' ); ?></small>
1088
+                    <small><?php esc_html_e('Recalculate discounts for existing invoices that have discount codes but are not discounted.', 'invoicing'); ?></small>
1089 1089
                 </td>
1090 1090
                 <td>
1091 1091
 					<a href="
1092 1092
                     <?php
1093 1093
 						echo esc_url(
1094 1094
 							wp_nonce_url(
1095
-								add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ),
1095
+								add_query_arg('getpaid-admin-action', 'recalculate_discounts'),
1096 1096
 								'getpaid-nonce',
1097 1097
 								'getpaid-nonce'
1098 1098
 							)
1099 1099
 						);
1100 1100
 					?>
1101
-                    " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
1101
+                    " class="button button-primary"><?php esc_html_e('Run', 'invoicing'); ?></a>
1102 1102
                 </td>
1103 1103
             </tr>
1104 1104
 
1105 1105
 			<tr>
1106
-                <td><?php esc_html_e( 'Set-up Wizard', 'invoicing' ); ?></td>
1106
+                <td><?php esc_html_e('Set-up Wizard', 'invoicing'); ?></td>
1107 1107
                 <td>
1108
-                    <small><?php esc_html_e( 'Launch the quick set-up wizard.', 'invoicing' ); ?></small>
1108
+                    <small><?php esc_html_e('Launch the quick set-up wizard.', 'invoicing'); ?></small>
1109 1109
                 </td>
1110 1110
                 <td>
1111 1111
 					<a href="
1112 1112
                     <?php
1113
-						echo esc_url( admin_url( 'index.php?page=gp-setup' ) );
1113
+						echo esc_url(admin_url('index.php?page=gp-setup'));
1114 1114
 					?>
1115
-                    " class="button button-primary"><?php esc_html_e( 'Launch', 'invoicing' ); ?></a>
1115
+                    " class="button button-primary"><?php esc_html_e('Launch', 'invoicing'); ?></a>
1116 1116
                 </td>
1117 1117
             </tr>
1118 1118
 
1119
-			<?php do_action( 'wpinv_tools_row' ); ?>
1119
+			<?php do_action('wpinv_tools_row'); ?>
1120 1120
         </tbody>
1121 1121
     </table>
1122
-    <?php do_action( 'wpinv_tools_after' ); ?>
1122
+    <?php do_action('wpinv_tools_after'); ?>
1123 1123
     <?php
1124 1124
 }
1125 1125
 
1126 1126
 
1127
-function wpinv_descriptive_text_callback( $args ) {
1128
-	echo wp_kses_post( $args['desc'] );
1127
+function wpinv_descriptive_text_callback($args) {
1128
+	echo wp_kses_post($args['desc']);
1129 1129
 }
1130 1130
 
1131
-function wpinv_raw_html_callback( $args ) {
1132
-	echo wp_kses( $args['desc'], getpaid_allowed_html() );
1131
+function wpinv_raw_html_callback($args) {
1132
+	echo wp_kses($args['desc'], getpaid_allowed_html());
1133 1133
 }
1134 1134
 
1135
-function wpinv_hook_callback( $args ) {
1136
-	do_action( 'wpinv_' . $args['id'], $args );
1135
+function wpinv_hook_callback($args) {
1136
+	do_action('wpinv_' . $args['id'], $args);
1137 1137
 }
1138 1138
 
1139 1139
 function wpinv_set_settings_cap() {
1140 1140
 	return wpinv_get_capability();
1141 1141
 }
1142
-add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' );
1142
+add_filter('option_page_capability_wpinv_settings', 'wpinv_set_settings_cap');
1143 1143
 
1144 1144
 
1145
-function wpinv_on_update_settings( $old_value, $value, $option ) {
1146
-    $old = ! empty( $old_value['remove_data_on_unistall'] ) ? 1 : '';
1147
-    $new = ! empty( $value['remove_data_on_unistall'] ) ? 1 : '';
1145
+function wpinv_on_update_settings($old_value, $value, $option) {
1146
+    $old = !empty($old_value['remove_data_on_unistall']) ? 1 : '';
1147
+    $new = !empty($value['remove_data_on_unistall']) ? 1 : '';
1148 1148
 
1149
-    if ( $old != $new ) {
1150
-        update_option( 'wpinv_remove_data_on_invoice_unistall', $new );
1149
+    if ($old != $new) {
1150
+        update_option('wpinv_remove_data_on_invoice_unistall', $new);
1151 1151
     }
1152 1152
 }
1153
-add_action( 'update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3 );
1153
+add_action('update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3);
1154 1154
 
1155 1155
 /**
1156 1156
  * Returns the merge tags help text.
@@ -1159,16 +1159,16 @@  discard block
 block discarded – undo
1159 1159
  *
1160 1160
  * @return string
1161 1161
  */
1162
-function wpinv_get_merge_tags_help_text( $subscription = false ) {
1162
+function wpinv_get_merge_tags_help_text($subscription = false) {
1163 1163
 
1164 1164
 	$url  = $subscription ? 'https://gist.github.com/picocodes/3d213982d57c34edf7a46fd3f0e8583e' : 'https://gist.github.com/picocodes/43bdc4d4bbba844534b2722e2af0b58f';
1165 1165
 	$link = sprintf(
1166 1166
 		'<strong><a href="%s" target="_blank">%s</a></strong>',
1167 1167
 		$url,
1168
-		esc_html__( 'View available merge tags.', 'invoicing' )
1168
+		esc_html__('View available merge tags.', 'invoicing')
1169 1169
 	);
1170 1170
 
1171
-	$description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' );
1171
+	$description = esc_html__('The content of the email (Merge Tags and HTML are allowed).', 'invoicing');
1172 1172
 
1173 1173
 	return "$description $link";
1174 1174
 
Please login to merge, or discard this patch.
invoicing.php 2 patches
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -19,16 +19,16 @@  discard block
 block discarded – undo
19 19
 
20 20
 // Define constants.
21 21
 if ( ! defined( 'WPINV_PLUGIN_FILE' ) ) {
22
-	define( 'WPINV_PLUGIN_FILE', __FILE__ );
22
+    define( 'WPINV_PLUGIN_FILE', __FILE__ );
23 23
 }
24 24
 
25 25
 if ( ! defined( 'WPINV_VERSION' ) ) {
26
-	define( 'WPINV_VERSION', '2.6.22' );
26
+    define( 'WPINV_VERSION', '2.6.22' );
27 27
 }
28 28
 
29 29
 // Include the main Invoicing class.
30 30
 if ( ! class_exists( 'WPInv_Plugin', false ) ) {
31
-	require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php';
31
+    require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php';
32 32
 }
33 33
 
34 34
 /**
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
         $GLOBALS['invoicing'] = new WPInv_Plugin();
44 44
     }
45 45
 
46
-	return $GLOBALS['invoicing'];
46
+    return $GLOBALS['invoicing'];
47 47
 }
48 48
 
49 49
 /**
Please login to merge, or discard this patch.
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -15,20 +15,20 @@  discard block
 block discarded – undo
15 15
  * @package GetPaid
16 16
  */
17 17
 
18
-defined( 'ABSPATH' ) || exit;
18
+defined('ABSPATH') || exit;
19 19
 
20 20
 // Define constants.
21
-if ( ! defined( 'WPINV_PLUGIN_FILE' ) ) {
22
-	define( 'WPINV_PLUGIN_FILE', __FILE__ );
21
+if (!defined('WPINV_PLUGIN_FILE')) {
22
+	define('WPINV_PLUGIN_FILE', __FILE__);
23 23
 }
24 24
 
25
-if ( ! defined( 'WPINV_VERSION' ) ) {
26
-	define( 'WPINV_VERSION', '2.6.22' );
25
+if (!defined('WPINV_VERSION')) {
26
+	define('WPINV_VERSION', '2.6.22');
27 27
 }
28 28
 
29 29
 // Include the main Invoicing class.
30
-if ( ! class_exists( 'WPInv_Plugin', false ) ) {
31
-	require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php';
30
+if (!class_exists('WPInv_Plugin', false)) {
31
+	require_once plugin_dir_path(WPINV_PLUGIN_FILE) . 'includes/class-wpinv.php';
32 32
 }
33 33
 
34 34
 /**
@@ -39,7 +39,7 @@  discard block
 block discarded – undo
39 39
  */
40 40
 function getpaid() {
41 41
 
42
-    if ( empty( $GLOBALS['invoicing'] ) ) {
42
+    if (empty($GLOBALS['invoicing'])) {
43 43
         $GLOBALS['invoicing'] = new WPInv_Plugin();
44 44
     }
45 45
 
@@ -52,9 +52,9 @@  discard block
 block discarded – undo
52 52
  * @since  2.0.8
53 53
  */
54 54
 function getpaid_deactivation_hook() {
55
-    update_option( 'wpinv_flush_permalinks', 1 );
55
+    update_option('wpinv_flush_permalinks', 1);
56 56
 }
57
-register_deactivation_hook( __FILE__, 'getpaid_deactivation_hook' );
57
+register_deactivation_hook(__FILE__, 'getpaid_deactivation_hook');
58 58
 
59 59
 /**
60 60
  * @deprecated
@@ -64,4 +64,4 @@  discard block
 block discarded – undo
64 64
 }
65 65
 
66 66
 // Kickstart the plugin.
67
-add_action( 'plugins_loaded', 'getpaid', -100 );
67
+add_action('plugins_loaded', 'getpaid', -100);
Please login to merge, or discard this patch.