Passed
Pull Request — master (#345)
by Brian
121:27
created
includes/wpinv-invoice-functions.php 2 patches
Indentation   +69 added lines, -69 removed lines patch added patch discarded remove patch
@@ -700,7 +700,7 @@  discard block
 block discarded – undo
700 700
 }
701 701
 
702 702
 function wpinv_get_payment_key( $invoice_id = 0 ) {
703
-	$invoice = new WPInv_Invoice( $invoice_id );
703
+    $invoice = new WPInv_Invoice( $invoice_id );
704 704
     return $invoice->get_key();
705 705
 }
706 706
 
@@ -966,7 +966,7 @@  discard block
 block discarded – undo
966 966
         return false;
967 967
     }
968 968
     $invoice = wpinv_get_invoice_cart();
969
-	if ( empty( $invoice ) ) {
969
+    if ( empty( $invoice ) ) {
970 970
         return false;
971 971
     }
972 972
 
@@ -1259,20 +1259,20 @@  discard block
 block discarded – undo
1259 1259
 }
1260 1260
 
1261 1261
 function wpinv_checkout_get_cc_info() {
1262
-	$cc_info = array();
1263
-	$cc_info['card_name']      = isset( $_POST['card_name'] )       ? sanitize_text_field( $_POST['card_name'] )       : '';
1264
-	$cc_info['card_number']    = isset( $_POST['card_number'] )     ? sanitize_text_field( $_POST['card_number'] )     : '';
1265
-	$cc_info['card_cvc']       = isset( $_POST['card_cvc'] )        ? sanitize_text_field( $_POST['card_cvc'] )        : '';
1266
-	$cc_info['card_exp_month'] = isset( $_POST['card_exp_month'] )  ? sanitize_text_field( $_POST['card_exp_month'] )  : '';
1267
-	$cc_info['card_exp_year']  = isset( $_POST['card_exp_year'] )   ? sanitize_text_field( $_POST['card_exp_year'] )   : '';
1268
-	$cc_info['card_address']   = isset( $_POST['wpinv_address'] )  ? sanitize_text_field( $_POST['wpinv_address'] ) : '';
1269
-	$cc_info['card_city']      = isset( $_POST['wpinv_city'] )     ? sanitize_text_field( $_POST['wpinv_city'] )    : '';
1270
-	$cc_info['card_state']     = isset( $_POST['wpinv_state'] )    ? sanitize_text_field( $_POST['wpinv_state'] )   : '';
1271
-	$cc_info['card_country']   = isset( $_POST['wpinv_country'] )  ? sanitize_text_field( $_POST['wpinv_country'] ) : '';
1272
-	$cc_info['card_zip']       = isset( $_POST['wpinv_zip'] )      ? sanitize_text_field( $_POST['wpinv_zip'] )     : '';
1273
-
1274
-	// Return cc info
1275
-	return $cc_info;
1262
+    $cc_info = array();
1263
+    $cc_info['card_name']      = isset( $_POST['card_name'] )       ? sanitize_text_field( $_POST['card_name'] )       : '';
1264
+    $cc_info['card_number']    = isset( $_POST['card_number'] )     ? sanitize_text_field( $_POST['card_number'] )     : '';
1265
+    $cc_info['card_cvc']       = isset( $_POST['card_cvc'] )        ? sanitize_text_field( $_POST['card_cvc'] )        : '';
1266
+    $cc_info['card_exp_month'] = isset( $_POST['card_exp_month'] )  ? sanitize_text_field( $_POST['card_exp_month'] )  : '';
1267
+    $cc_info['card_exp_year']  = isset( $_POST['card_exp_year'] )   ? sanitize_text_field( $_POST['card_exp_year'] )   : '';
1268
+    $cc_info['card_address']   = isset( $_POST['wpinv_address'] )  ? sanitize_text_field( $_POST['wpinv_address'] ) : '';
1269
+    $cc_info['card_city']      = isset( $_POST['wpinv_city'] )     ? sanitize_text_field( $_POST['wpinv_city'] )    : '';
1270
+    $cc_info['card_state']     = isset( $_POST['wpinv_state'] )    ? sanitize_text_field( $_POST['wpinv_state'] )   : '';
1271
+    $cc_info['card_country']   = isset( $_POST['wpinv_country'] )  ? sanitize_text_field( $_POST['wpinv_country'] ) : '';
1272
+    $cc_info['card_zip']       = isset( $_POST['wpinv_zip'] )      ? sanitize_text_field( $_POST['wpinv_zip'] )     : '';
1273
+
1274
+    // Return cc info
1275
+    return $cc_info;
1276 1276
 }
1277 1277
 
1278 1278
 function wpinv_checkout_validate_cc_zip( $zip = 0, $country_code = '' ) {
@@ -1479,7 +1479,7 @@  discard block
 block discarded – undo
1479 1479
         $required_fields  = wpinv_checkout_required_fields();
1480 1480
 
1481 1481
         // Loop through required fields and show error messages
1482
-         if ( !empty( $required_fields ) ) {
1482
+            if ( !empty( $required_fields ) ) {
1483 1483
             foreach ( $required_fields as $field_name => $value ) {
1484 1484
                 if ( in_array( $value, $required_fields ) && empty( $_POST[ 'wpinv_' . $field_name ] ) ) {
1485 1485
                     wpinv_set_error( $value['error_id'], $value['error_message'] );
@@ -1581,7 +1581,7 @@  discard block
 block discarded – undo
1581 1581
 }
1582 1582
 
1583 1583
 function wpinv_get_checkout_session() {
1584
-	global $wpi_session;
1584
+    global $wpi_session;
1585 1585
     return $wpi_session->get( 'wpinv_checkout' );
1586 1586
 }
1587 1587
 
@@ -1661,7 +1661,7 @@  discard block
 block discarded – undo
1661 1661
         $response['data']['taxf']       = $invoice->get_tax( true );
1662 1662
         $response['data']['total']      = $invoice->get_total();
1663 1663
         $response['data']['totalf']     = $invoice->get_total( true );
1664
-	    $response['data']['free']       = $invoice->is_free() && ( ! ( (float) $response['data']['total'] > 0 ) || $invoice->is_free_trial() ) ? true : false;
1664
+        $response['data']['free']       = $invoice->is_free() && ( ! ( (float) $response['data']['total'] > 0 ) || $invoice->is_free_trial() ) ? true : false;
1665 1665
 
1666 1666
         wp_send_json( $response );
1667 1667
     }
@@ -1731,8 +1731,8 @@  discard block
 block discarded – undo
1731 1731
     // Allow themes and plugins to hook before the gateway
1732 1732
     do_action( 'wpinv_checkout_before_gateway', $_POST, $user_info, $valid_data );
1733 1733
 
1734
-     // If it is free, abort.
1735
-     if ( $invoice->is_free() && ( ! $invoice->is_recurring() || 0 ==  $invoice->get_recurring_details( 'total' ) ) ) {
1734
+        // If it is free, abort.
1735
+        if ( $invoice->is_free() && ( ! $invoice->is_recurring() || 0 ==  $invoice->get_recurring_details( 'total' ) ) ) {
1736 1736
         $invoice_data['gateway'] = 'manual';
1737 1737
         $_POST['wpi-gateway'] = 'manual';
1738 1738
     }
@@ -1948,52 +1948,52 @@  discard block
 block discarded – undo
1948 1948
  * Given an invoice key, this function returns the id.
1949 1949
  */
1950 1950
 function wpinv_get_invoice_id_by_key( $key ) {
1951
-	global $wpdb;
1951
+    global $wpdb;
1952 1952
     $table      = $wpdb->prefix . 'getpaid_invoices';
1953
-	return (int) $wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $table WHERE`key` = %s LIMIT 1", $key ) );
1953
+    return (int) $wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $table WHERE`key` = %s LIMIT 1", $key ) );
1954 1954
 }
1955 1955
 
1956 1956
 function wpinv_can_view_receipt( $invoice_key = '' ) {
1957
-	$return = current_user_can( 'manage_options' );
1957
+    $return = current_user_can( 'manage_options' );
1958 1958
 
1959
-	if ( empty( $invoice_key ) ) {
1960
-		return false;
1961
-	}
1959
+    if ( empty( $invoice_key ) ) {
1960
+        return false;
1961
+    }
1962 1962
 
1963
-	global $wpinv_receipt_args;
1963
+    global $wpinv_receipt_args;
1964 1964
 
1965
-	$wpinv_receipt_args['id'] = wpinv_get_invoice_id_by_key( $invoice_key );
1966
-	if ( isset( $_GET['invoice-id'] ) ) {
1967
-		$wpinv_receipt_args['id'] = $invoice_key == wpinv_get_payment_key( (int)$_GET['invoice-id'] ) ? (int)$_GET['invoice-id'] : 0;
1968
-	}
1965
+    $wpinv_receipt_args['id'] = wpinv_get_invoice_id_by_key( $invoice_key );
1966
+    if ( isset( $_GET['invoice-id'] ) ) {
1967
+        $wpinv_receipt_args['id'] = $invoice_key == wpinv_get_payment_key( (int)$_GET['invoice-id'] ) ? (int)$_GET['invoice-id'] : 0;
1968
+    }
1969 1969
 
1970
-	if ( empty( $wpinv_receipt_args['id'] ) ) {
1971
-		return $return;
1972
-	}
1970
+    if ( empty( $wpinv_receipt_args['id'] ) ) {
1971
+        return $return;
1972
+    }
1973 1973
 
1974
-	$invoice = wpinv_get_invoice( $wpinv_receipt_args['id'] );
1975
-	if ( !( !empty( $invoice->ID ) && $invoice->get_key() === $invoice_key ) ) {
1976
-		return $return;
1977
-	}
1974
+    $invoice = wpinv_get_invoice( $wpinv_receipt_args['id'] );
1975
+    if ( !( !empty( $invoice->ID ) && $invoice->get_key() === $invoice_key ) ) {
1976
+        return $return;
1977
+    }
1978 1978
 
1979
-	if ( is_user_logged_in() ) {
1980
-		if ( (int)$invoice->get_user_id() === (int) get_current_user_id() ) {
1981
-			$return = true;
1982
-		}
1983
-	}
1979
+    if ( is_user_logged_in() ) {
1980
+        if ( (int)$invoice->get_user_id() === (int) get_current_user_id() ) {
1981
+            $return = true;
1982
+        }
1983
+    }
1984 1984
 
1985
-	$session = wpinv_get_checkout_session();
1986
-	if ( isset( $_GET['invoice_key'] ) || ( $session && isset( $session['invoice_key'] ) ) ) {
1987
-		$check_key = isset( $_GET['invoice_key'] ) ? $_GET['invoice_key'] : $session['invoice_key'];
1985
+    $session = wpinv_get_checkout_session();
1986
+    if ( isset( $_GET['invoice_key'] ) || ( $session && isset( $session['invoice_key'] ) ) ) {
1987
+        $check_key = isset( $_GET['invoice_key'] ) ? $_GET['invoice_key'] : $session['invoice_key'];
1988 1988
 
1989
-		if ( wpinv_require_login_to_checkout() ) {
1990
-			$return = $return && $check_key == $invoice_key;
1991
-		} else {
1992
-			$return = $check_key == $invoice_key;
1993
-		}
1994
-	}
1989
+        if ( wpinv_require_login_to_checkout() ) {
1990
+            $return = $return && $check_key == $invoice_key;
1991
+        } else {
1992
+            $return = $check_key == $invoice_key;
1993
+        }
1994
+    }
1995 1995
 
1996
-	return (bool) apply_filters( 'wpinv_can_view_receipt', $return, $invoice_key );
1996
+    return (bool) apply_filters( 'wpinv_can_view_receipt', $return, $invoice_key );
1997 1997
 }
1998 1998
 
1999 1999
 function wpinv_pay_for_invoice() {
@@ -2303,14 +2303,14 @@  discard block
 block discarded – undo
2303 2303
 
2304 2304
     if ( isset( $_GET['invoice_key'] ) || is_singular( 'wpi_invoice' ) || is_singular( 'wpi_quote' ) ) {
2305 2305
         $invoice_key = isset( $_GET['invoice_key'] ) ? urldecode($_GET['invoice_key']) : '';
2306
-	    global $post;
2306
+        global $post;
2307 2307
 
2308 2308
         if(!empty($invoice_key)){
2309
-	        $invoice_id = wpinv_get_invoice_id_by_key($invoice_key);
2309
+            $invoice_id = wpinv_get_invoice_id_by_key($invoice_key);
2310 2310
         } else if(!empty( $post ) && ($post->post_type == 'wpi_invoice' || $post->post_type == 'wpi_quote')) {
2311
-			$invoice_id = $post->ID;
2311
+            $invoice_id = $post->ID;
2312 2312
         } else {
2313
-        	return;
2313
+            return;
2314 2314
         }
2315 2315
 
2316 2316
         $invoice = new WPInv_Invoice($invoice_id);
@@ -2319,17 +2319,17 @@  discard block
 block discarded – undo
2319 2319
             return;
2320 2320
         }
2321 2321
 
2322
-	    if ( is_user_logged_in() ) {
2323
-		    if ( (int)$invoice->get_user_id() === get_current_user_id() ) {
2324
-			    update_post_meta($invoice_id,'_wpinv_is_viewed', 1);
2325
-		    } else if ( !wpinv_require_login_to_checkout() && isset( $_GET['invoice_key'] ) && $_GET['invoice_key'] === $invoice->get_key() ) {
2326
-			    update_post_meta($invoice_id,'_wpinv_is_viewed', 1);
2327
-		    }
2328
-	    } else {
2329
-		    if ( !wpinv_require_login_to_checkout() && isset( $_GET['invoice_key'] ) && $_GET['invoice_key'] === $invoice->get_key() ) {
2330
-			    update_post_meta($invoice_id,'_wpinv_is_viewed', 1);
2331
-		    }
2332
-	    }
2322
+        if ( is_user_logged_in() ) {
2323
+            if ( (int)$invoice->get_user_id() === get_current_user_id() ) {
2324
+                update_post_meta($invoice_id,'_wpinv_is_viewed', 1);
2325
+            } else if ( !wpinv_require_login_to_checkout() && isset( $_GET['invoice_key'] ) && $_GET['invoice_key'] === $invoice->get_key() ) {
2326
+                update_post_meta($invoice_id,'_wpinv_is_viewed', 1);
2327
+            }
2328
+        } else {
2329
+            if ( !wpinv_require_login_to_checkout() && isset( $_GET['invoice_key'] ) && $_GET['invoice_key'] === $invoice->get_key() ) {
2330
+                update_post_meta($invoice_id,'_wpinv_is_viewed', 1);
2331
+            }
2332
+        }
2333 2333
     }
2334 2334
 
2335 2335
 }
Please login to merge, or discard this patch.
Spacing   +778 added lines, -778 removed lines patch added patch discarded remove patch
@@ -7,14 +7,14 @@  discard block
 block discarded – undo
7 7
  */
8 8
  
9 9
 // MUST have WordPress.
10
-if ( !defined( 'WPINC' ) ) {
11
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
10
+if (!defined('WPINC')) {
11
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
12 12
 }
13 13
 
14 14
 function wpinv_get_invoice_cart_id() {
15 15
     $wpinv_checkout = wpinv_get_checkout_session();
16 16
     
17
-    if ( !empty( $wpinv_checkout['invoice_id'] ) ) {
17
+    if (!empty($wpinv_checkout['invoice_id'])) {
18 18
         return $wpinv_checkout['invoice_id'];
19 19
     }
20 20
     
@@ -28,48 +28,48 @@  discard block
 block discarded – undo
28 28
  * @param  bool  $wp_error       Whether to return false or WP_Error on failure.
29 29
  * @return int|WP_Error|WPInv_Invoice The value 0 or WP_Error on failure. The WPInv_Invoice object on success.
30 30
  */
31
-function wpinv_insert_invoice( $invoice_data = array(), $wp_error = false ) {
32
-    if ( empty( $invoice_data ) ) {
31
+function wpinv_insert_invoice($invoice_data = array(), $wp_error = false) {
32
+    if (empty($invoice_data)) {
33 33
         return false;
34 34
     }
35 35
     
36
-    if ( !( !empty( $invoice_data['cart_details'] ) && is_array( $invoice_data['cart_details'] ) ) ) {
37
-        return $wp_error ? new WP_Error( 'wpinv_invalid_items', __( 'Invoice must have atleast one item.', 'invoicing' ) ) : 0;
36
+    if (!(!empty($invoice_data['cart_details']) && is_array($invoice_data['cart_details']))) {
37
+        return $wp_error ? new WP_Error('wpinv_invalid_items', __('Invoice must have atleast one item.', 'invoicing')) : 0;
38 38
     }
39 39
     
40 40
     // If no user id is provided, default to the current user id
41
-    if ( empty( $invoice_data['user_id'] ) ) {
41
+    if (empty($invoice_data['user_id'])) {
42 42
         $invoice_data['user_id'] = get_current_user_id();
43 43
     }
44 44
     
45
-    $invoice_data['invoice_id'] = !empty( $invoice_data['invoice_id'] ) ? (int)$invoice_data['invoice_id'] : 0;
45
+    $invoice_data['invoice_id'] = !empty($invoice_data['invoice_id']) ? (int) $invoice_data['invoice_id'] : 0;
46 46
     
47
-    if ( empty( $invoice_data['status'] ) ) {
47
+    if (empty($invoice_data['status'])) {
48 48
         $invoice_data['status'] = 'wpi-pending';
49 49
     }
50 50
 
51
-    if ( empty( $invoice_data['post_type'] ) ) {
51
+    if (empty($invoice_data['post_type'])) {
52 52
         $invoice_data['post_type'] = 'wpi_invoice';
53 53
     }
54 54
     
55
-    if ( empty( $invoice_data['ip'] ) ) {
55
+    if (empty($invoice_data['ip'])) {
56 56
         $invoice_data['ip'] = wpinv_get_ip();
57 57
     }
58 58
 
59 59
     // default invoice args, note that status is checked for validity in wpinv_create_invoice()
60 60
     $default_args = array(
61
-        'invoice_id'    => (int)$invoice_data['invoice_id'],
62
-        'user_id'       => (int)$invoice_data['user_id'],
61
+        'invoice_id'    => (int) $invoice_data['invoice_id'],
62
+        'user_id'       => (int) $invoice_data['user_id'],
63 63
         'status'        => $invoice_data['status'],
64 64
         'post_type'     => $invoice_data['post_type'],
65 65
     );
66 66
 
67
-    $invoice = wpinv_create_invoice( $default_args, $invoice_data, true );
68
-    if ( is_wp_error( $invoice ) ) {
67
+    $invoice = wpinv_create_invoice($default_args, $invoice_data, true);
68
+    if (is_wp_error($invoice)) {
69 69
         return $wp_error ? $invoice : 0;
70 70
     }
71 71
     
72
-    if ( empty( $invoice_data['invoice_id'] ) ) {
72
+    if (empty($invoice_data['invoice_id'])) {
73 73
         //$invoice->add_note( wp_sprintf( __( 'Invoice is created with status %s.', 'invoicing' ), wpinv_status_nicename( $invoice->status ) ) );
74 74
     }
75 75
     
@@ -92,24 +92,24 @@  discard block
 block discarded – undo
92 92
         'discount'              => array(),
93 93
     );
94 94
 
95
-    if ( $user_id = (int)$invoice->get_user_id() ) {
96
-        if ( $user_address = wpinv_get_user_address( $user_id ) ) {
97
-            $default_user_info = wp_parse_args( $user_address, $default_user_info );
95
+    if ($user_id = (int) $invoice->get_user_id()) {
96
+        if ($user_address = wpinv_get_user_address($user_id)) {
97
+            $default_user_info = wp_parse_args($user_address, $default_user_info);
98 98
         }
99 99
     }
100 100
     
101
-    if ( empty( $invoice_data['user_info'] ) ) {
101
+    if (empty($invoice_data['user_info'])) {
102 102
         $invoice_data['user_info'] = array();
103 103
     }
104 104
     
105
-    $user_info = wp_parse_args( $invoice_data['user_info'], $default_user_info );
105
+    $user_info = wp_parse_args($invoice_data['user_info'], $default_user_info);
106 106
     
107
-    if ( empty( $user_info['first_name'] ) ) {
107
+    if (empty($user_info['first_name'])) {
108 108
         $user_info['first_name'] = $default_user_info['first_name'];
109 109
         $user_info['last_name'] = $default_user_info['last_name'];
110 110
     }
111 111
     
112
-    if ( empty( $user_info['country'] ) ) {
112
+    if (empty($user_info['country'])) {
113 113
         $user_info['country'] = $default_user_info['country'];
114 114
         $user_info['state'] = $default_user_info['state'];
115 115
         $user_info['city'] = $default_user_info['city'];
@@ -118,13 +118,13 @@  discard block
 block discarded – undo
118 118
         $user_info['phone'] = $default_user_info['phone'];
119 119
     }
120 120
     
121
-    if ( !empty( $user_info['discount'] ) && !is_array( $user_info['discount'] ) ) {
122
-        $user_info['discount'] = (array)$user_info['discount'];
121
+    if (!empty($user_info['discount']) && !is_array($user_info['discount'])) {
122
+        $user_info['discount'] = (array) $user_info['discount'];
123 123
     }
124 124
 
125 125
     // Payment details
126 126
     $payment_details = array();
127
-    if ( !empty( $invoice_data['payment_details'] ) ) {
127
+    if (!empty($invoice_data['payment_details'])) {
128 128
         $default_payment_details = array(
129 129
             'gateway'           => 'manual',
130 130
             'gateway_title'     => '',
@@ -132,56 +132,56 @@  discard block
 block discarded – undo
132 132
             'transaction_id'    => '',
133 133
         );
134 134
         
135
-        $payment_details = wp_parse_args( $invoice_data['payment_details'], $default_payment_details );
135
+        $payment_details = wp_parse_args($invoice_data['payment_details'], $default_payment_details);
136 136
         
137
-        if ( empty( $payment_details['gateway'] ) ) {
137
+        if (empty($payment_details['gateway'])) {
138 138
             $payment_details['gateway'] = 'manual';
139 139
         }
140 140
         
141
-        if ( empty( $payment_details['currency'] ) ) {
141
+        if (empty($payment_details['currency'])) {
142 142
             $payment_details['currency'] = wpinv_get_default_country();
143 143
         }
144 144
         
145
-        if ( empty( $payment_details['gateway_title'] ) ) {
146
-            $payment_details['gateway_title'] = wpinv_get_gateway_checkout_label( $payment_details['gateway'] );
145
+        if (empty($payment_details['gateway_title'])) {
146
+            $payment_details['gateway_title'] = wpinv_get_gateway_checkout_label($payment_details['gateway']);
147 147
         }
148 148
     }
149 149
     
150
-    $invoice->set( 'status', ( !empty( $invoice_data['status'] ) ? $invoice_data['status'] : 'wpi-pending' ) );
151
-    
152
-    if ( !empty( $payment_details ) ) {
153
-        $invoice->set( 'currency', $payment_details['currency'] );
154
-        $invoice->set( 'gateway', $payment_details['gateway'] );
155
-        $invoice->set( 'gateway_title', $payment_details['gateway_title'] );
156
-        $invoice->set( 'transaction_id', $payment_details['transaction_id'] );
157
-    }
158
-    
159
-    $invoice->set( 'user_info', $user_info );
160
-    $invoice->set( 'first_name', $user_info['first_name'] );
161
-    $invoice->set( 'last_name', $user_info['last_name'] );
162
-    $invoice->set( 'address', $user_info['address'] );
163
-    $invoice->set( 'company', $user_info['company'] );
164
-    $invoice->set( 'vat_number', $user_info['vat_number'] );
165
-    $invoice->set( 'phone', $user_info['phone'] );
166
-    $invoice->set( 'city', $user_info['city'] );
167
-    $invoice->set( 'country', $user_info['country'] );
168
-    $invoice->set( 'state', $user_info['state'] );
169
-    $invoice->set( 'zip', $user_info['zip'] );
170
-    $invoice->set( 'discounts', $user_info['discount'] );
171
-    $invoice->set( 'ip', ( !empty( $invoice_data['ip'] ) ? $invoice_data['ip'] : wpinv_get_ip() ) );
172
-    $invoice->set( 'mode', ( wpinv_is_test_mode() ? 'test' : 'live' ) );
173
-    $invoice->set( 'parent_invoice', ( !empty( $invoice_data['parent'] ) ? absint( $invoice_data['parent'] ) : '' ) );
174
-    
175
-    if ( !empty( $invoice_data['cart_details'] ) && is_array( $invoice_data['cart_details'] ) ) {
176
-        foreach ( $invoice_data['cart_details'] as $key => $item ) {
177
-            $item_id        = !empty( $item['id'] ) ? $item['id'] : 0;
178
-            $quantity       = !empty( $item['quantity'] ) ? $item['quantity'] : 1;
179
-            $name           = !empty( $item['name'] ) ? $item['name'] : '';
180
-            $item_price     = isset( $item['item_price'] ) ? $item['item_price'] : '';
150
+    $invoice->set('status', (!empty($invoice_data['status']) ? $invoice_data['status'] : 'wpi-pending'));
151
+    
152
+    if (!empty($payment_details)) {
153
+        $invoice->set('currency', $payment_details['currency']);
154
+        $invoice->set('gateway', $payment_details['gateway']);
155
+        $invoice->set('gateway_title', $payment_details['gateway_title']);
156
+        $invoice->set('transaction_id', $payment_details['transaction_id']);
157
+    }
158
+    
159
+    $invoice->set('user_info', $user_info);
160
+    $invoice->set('first_name', $user_info['first_name']);
161
+    $invoice->set('last_name', $user_info['last_name']);
162
+    $invoice->set('address', $user_info['address']);
163
+    $invoice->set('company', $user_info['company']);
164
+    $invoice->set('vat_number', $user_info['vat_number']);
165
+    $invoice->set('phone', $user_info['phone']);
166
+    $invoice->set('city', $user_info['city']);
167
+    $invoice->set('country', $user_info['country']);
168
+    $invoice->set('state', $user_info['state']);
169
+    $invoice->set('zip', $user_info['zip']);
170
+    $invoice->set('discounts', $user_info['discount']);
171
+    $invoice->set('ip', (!empty($invoice_data['ip']) ? $invoice_data['ip'] : wpinv_get_ip()));
172
+    $invoice->set('mode', (wpinv_is_test_mode() ? 'test' : 'live'));
173
+    $invoice->set('parent_invoice', (!empty($invoice_data['parent']) ? absint($invoice_data['parent']) : ''));
174
+    
175
+    if (!empty($invoice_data['cart_details']) && is_array($invoice_data['cart_details'])) {
176
+        foreach ($invoice_data['cart_details'] as $key => $item) {
177
+            $item_id        = !empty($item['id']) ? $item['id'] : 0;
178
+            $quantity       = !empty($item['quantity']) ? $item['quantity'] : 1;
179
+            $name           = !empty($item['name']) ? $item['name'] : '';
180
+            $item_price     = isset($item['item_price']) ? $item['item_price'] : '';
181 181
             
182
-            $post_item  = new WPInv_Item( $item_id );
183
-            if ( !empty( $post_item ) ) {
184
-                $name       = !empty( $name ) ? $name : $post_item->get_name();
182
+            $post_item = new WPInv_Item($item_id);
183
+            if (!empty($post_item)) {
184
+                $name       = !empty($name) ? $name : $post_item->get_name();
185 185
                 $item_price = $item_price !== '' ? $item_price : $post_item->get_price();
186 186
             } else {
187 187
                 continue;
@@ -191,262 +191,262 @@  discard block
 block discarded – undo
191 191
                 'name'          => $name,
192 192
                 'quantity'      => $quantity,
193 193
                 'item_price'    => $item_price,
194
-                'custom_price'  => isset( $item['custom_price'] ) ? $item['custom_price'] : '',
195
-                'tax'           => !empty( $item['tax'] ) ? $item['tax'] : 0.00,
196
-                'discount'      => isset( $item['discount'] ) ? $item['discount'] : 0,
197
-                'meta'          => isset( $item['meta'] ) ? $item['meta'] : array(),
198
-                'fees'          => isset( $item['fees'] ) ? $item['fees'] : array(),
194
+                'custom_price'  => isset($item['custom_price']) ? $item['custom_price'] : '',
195
+                'tax'           => !empty($item['tax']) ? $item['tax'] : 0.00,
196
+                'discount'      => isset($item['discount']) ? $item['discount'] : 0,
197
+                'meta'          => isset($item['meta']) ? $item['meta'] : array(),
198
+                'fees'          => isset($item['fees']) ? $item['fees'] : array(),
199 199
             );
200 200
 
201
-            $invoice->add_item( $item_id, $args );
201
+            $invoice->add_item($item_id, $args);
202 202
         }
203 203
     }
204 204
 
205
-    $invoice->increase_tax( wpinv_get_cart_fee_tax() );
205
+    $invoice->increase_tax(wpinv_get_cart_fee_tax());
206 206
 
207
-    if ( isset( $invoice_data['post_date'] ) ) {
208
-        $invoice->set( 'date', $invoice_data['post_date'] );
207
+    if (isset($invoice_data['post_date'])) {
208
+        $invoice->set('date', $invoice_data['post_date']);
209 209
     }
210 210
     
211 211
     // Invoice due date
212
-    if ( isset( $invoice_data['due_date'] ) ) {
213
-        $invoice->set( 'due_date', $invoice_data['due_date'] );
212
+    if (isset($invoice_data['due_date'])) {
213
+        $invoice->set('due_date', $invoice_data['due_date']);
214 214
     }
215 215
     
216 216
     $invoice->save();
217 217
     
218 218
     // Add notes
219
-    if ( !empty( $invoice_data['private_note'] ) ) {
220
-        $invoice->add_note( $invoice_data['private_note'] );
219
+    if (!empty($invoice_data['private_note'])) {
220
+        $invoice->add_note($invoice_data['private_note']);
221 221
     }
222
-    if ( !empty( $invoice_data['user_note'] ) ) {
223
-        $invoice->add_note( $invoice_data['user_note'], true );
222
+    if (!empty($invoice_data['user_note'])) {
223
+        $invoice->add_note($invoice_data['user_note'], true);
224 224
     }
225 225
     
226
-    if ( $invoice->is_quote() ) {
226
+    if ($invoice->is_quote()) {
227 227
 
228
-        if ( isset( $invoice_data['valid_until'] ) ) {
229
-            update_post_meta( $invoice->ID, 'wpinv_quote_valid_until', $invoice_data['valid_until'] );
228
+        if (isset($invoice_data['valid_until'])) {
229
+            update_post_meta($invoice->ID, 'wpinv_quote_valid_until', $invoice_data['valid_until']);
230 230
         }
231 231
         return $invoice;
232 232
 
233 233
     }
234 234
 
235
-    do_action( 'wpinv_insert_invoice', $invoice->ID, $invoice_data );
235
+    do_action('wpinv_insert_invoice', $invoice->ID, $invoice_data);
236 236
 
237
-    if ( ! empty( $invoice->ID ) ) {
237
+    if (!empty($invoice->ID)) {
238 238
         global $wpi_userID, $wpinv_ip_address_country;
239 239
         
240 240
         $checkout_session = wpinv_get_checkout_session();
241 241
         
242 242
         $data_session                   = array();
243 243
         $data_session['invoice_id']     = $invoice->ID;
244
-        $data_session['cart_discounts'] = $invoice->get_discounts( true );
244
+        $data_session['cart_discounts'] = $invoice->get_discounts(true);
245 245
         
246
-        wpinv_set_checkout_session( $data_session );
246
+        wpinv_set_checkout_session($data_session);
247 247
         
248
-        $wpi_userID         = (int)$invoice->get_user_id();
248
+        $wpi_userID         = (int) $invoice->get_user_id();
249 249
         
250
-        $_POST['country']   = !empty( $invoice->country ) ? $invoice->country : wpinv_get_default_country();
250
+        $_POST['country']   = !empty($invoice->country) ? $invoice->country : wpinv_get_default_country();
251 251
         $_POST['state']     = $invoice->state;
252 252
 
253
-        $invoice->set( 'country', sanitize_text_field( $_POST['country'] ) );
254
-        $invoice->set( 'state', sanitize_text_field( $_POST['state'] ) );
253
+        $invoice->set('country', sanitize_text_field($_POST['country']));
254
+        $invoice->set('state', sanitize_text_field($_POST['state']));
255 255
         
256 256
         $wpinv_ip_address_country = $invoice->country;
257 257
 
258
-        $invoice = $invoice->recalculate_totals( true );
258
+        $invoice = $invoice->recalculate_totals(true);
259 259
 
260
-        wpinv_set_checkout_session( $checkout_session );
260
+        wpinv_set_checkout_session($checkout_session);
261 261
 
262 262
         return $invoice;
263 263
     }
264 264
     
265
-    if ( $wp_error ) {
266
-        if ( is_wp_error( $invoice ) ) {
265
+    if ($wp_error) {
266
+        if (is_wp_error($invoice)) {
267 267
             return $invoice;
268 268
         } else {
269
-            return new WP_Error( 'wpinv_insert_invoice_error', __( 'Error in insert invoice.', 'invoicing' ) );
269
+            return new WP_Error('wpinv_insert_invoice_error', __('Error in insert invoice.', 'invoicing'));
270 270
         }
271 271
     } else {
272 272
         return 0;
273 273
     }
274 274
 }
275 275
 
276
-function wpinv_update_invoice( $invoice_data = array(), $wp_error = false ) {
277
-    $invoice_ID = !empty( $invoice_data['ID'] ) ? absint( $invoice_data['ID'] ) : NULL;
276
+function wpinv_update_invoice($invoice_data = array(), $wp_error = false) {
277
+    $invoice_ID = !empty($invoice_data['ID']) ? absint($invoice_data['ID']) : NULL;
278 278
 
279
-    if ( !$invoice_ID ) {
280
-        if ( $wp_error ) {
281
-            return new WP_Error( 'invalid_invoice_id', __( 'Invalid invoice ID.', 'invoicing' ) );
279
+    if (!$invoice_ID) {
280
+        if ($wp_error) {
281
+            return new WP_Error('invalid_invoice_id', __('Invalid invoice ID.', 'invoicing'));
282 282
         }
283 283
         return 0;
284 284
     }
285 285
 
286
-    $invoice = wpinv_get_invoice( $invoice_ID );
286
+    $invoice = wpinv_get_invoice($invoice_ID);
287 287
 
288
-    $recurring_item = $invoice->is_recurring() ? $invoice->get_recurring( true ) : NULL;
288
+    $recurring_item = $invoice->is_recurring() ? $invoice->get_recurring(true) : NULL;
289 289
 
290
-    if ( empty( $invoice->ID ) ) {
291
-        if ( $wp_error ) {
292
-            return new WP_Error( 'invalid_invoice', __( 'Invalid invoice.', 'invoicing' ) );
290
+    if (empty($invoice->ID)) {
291
+        if ($wp_error) {
292
+            return new WP_Error('invalid_invoice', __('Invalid invoice.', 'invoicing'));
293 293
         }
294 294
         return 0;
295 295
     }
296 296
 
297
-    if ( ! $invoice->has_status( array( 'wpi-pending' ) ) && ! $invoice->is_quote()  ) {
298
-        if ( $wp_error ) {
299
-            return new WP_Error( 'invalid_invoice_status', __( 'Only invoice with pending payment is allowed to update.', 'invoicing' ) );
297
+    if (!$invoice->has_status(array('wpi-pending')) && !$invoice->is_quote()) {
298
+        if ($wp_error) {
299
+            return new WP_Error('invalid_invoice_status', __('Only invoice with pending payment is allowed to update.', 'invoicing'));
300 300
         }
301 301
         return 0;
302 302
     }
303 303
 
304 304
     // Invoice status
305
-    if ( !empty( $invoice_data['status'] ) ) {
306
-        $invoice->set( 'status', $invoice_data['status'] );
305
+    if (!empty($invoice_data['status'])) {
306
+        $invoice->set('status', $invoice_data['status']);
307 307
     }
308 308
 
309 309
     // Invoice date
310
-    if ( !empty( $invoice_data['post_date'] ) ) {
311
-        $invoice->set( 'date', $invoice_data['post_date'] );
310
+    if (!empty($invoice_data['post_date'])) {
311
+        $invoice->set('date', $invoice_data['post_date']);
312 312
     }
313 313
 
314 314
     // Invoice due date
315
-    if ( isset( $invoice_data['due_date'] ) ) {
316
-        $invoice->set( 'due_date', $invoice_data['due_date'] );
315
+    if (isset($invoice_data['due_date'])) {
316
+        $invoice->set('due_date', $invoice_data['due_date']);
317 317
     }
318 318
 
319 319
     // Invoice IP address
320
-    if ( !empty( $invoice_data['ip'] ) ) {
321
-        $invoice->set( 'ip', $invoice_data['ip'] );
320
+    if (!empty($invoice_data['ip'])) {
321
+        $invoice->set('ip', $invoice_data['ip']);
322 322
     }
323 323
     
324 324
     // User info
325
-    if ( !empty( $invoice_data['user_info'] ) && is_array( $invoice_data['user_info'] ) ) {
326
-        $user_info = wp_parse_args( $invoice_data['user_info'], $invoice->user_info );
325
+    if (!empty($invoice_data['user_info']) && is_array($invoice_data['user_info'])) {
326
+        $user_info = wp_parse_args($invoice_data['user_info'], $invoice->user_info);
327 327
 
328
-        if ( $discounts = $invoice->get_discounts() ) {
328
+        if ($discounts = $invoice->get_discounts()) {
329 329
             $set_discount = $discounts;
330 330
         } else {
331 331
             $set_discount = '';
332 332
         }
333 333
 
334 334
         // Manage discount
335
-        if ( !empty( $invoice_data['user_info']['discount'] ) ) {
335
+        if (!empty($invoice_data['user_info']['discount'])) {
336 336
             // Remove discount
337
-            if ( $invoice_data['user_info']['discount'] == 'none' ) {
337
+            if ($invoice_data['user_info']['discount'] == 'none') {
338 338
                 $set_discount = '';
339 339
             } else {
340 340
                 $set_discount = $invoice_data['user_info']['discount'];
341 341
             }
342 342
 
343
-            $invoice->set( 'discounts', $set_discount );
343
+            $invoice->set('discounts', $set_discount);
344 344
         }
345 345
 
346 346
         $user_info['discount'] = $set_discount;
347 347
 
348
-        $invoice->set( 'user_info', $user_info );
348
+        $invoice->set('user_info', $user_info);
349 349
     }
350 350
 
351
-    if ( !empty( $invoice_data['cart_details'] ) && is_array( $invoice_data['cart_details'] ) && $cart_details = $invoice_data['cart_details'] ) {
352
-        $remove_items = !empty( $cart_details['remove_items'] ) && is_array( $cart_details['remove_items'] ) ? $cart_details['remove_items'] : array();
351
+    if (!empty($invoice_data['cart_details']) && is_array($invoice_data['cart_details']) && $cart_details = $invoice_data['cart_details']) {
352
+        $remove_items = !empty($cart_details['remove_items']) && is_array($cart_details['remove_items']) ? $cart_details['remove_items'] : array();
353 353
 
354
-        if ( !empty( $remove_items[0]['id'] ) ) {
355
-            foreach ( $remove_items as $item ) {
356
-                $item_id        = !empty( $item['id'] ) ? $item['id'] : 0;
357
-                $quantity       = !empty( $item['quantity'] ) ? $item['quantity'] : 1;
358
-                if ( empty( $item_id ) ) {
354
+        if (!empty($remove_items[0]['id'])) {
355
+            foreach ($remove_items as $item) {
356
+                $item_id        = !empty($item['id']) ? $item['id'] : 0;
357
+                $quantity       = !empty($item['quantity']) ? $item['quantity'] : 1;
358
+                if (empty($item_id)) {
359 359
                     continue;
360 360
                 }
361 361
 
362
-                foreach ( $invoice->cart_details as $cart_index => $cart_item ) {
363
-                    if ( $item_id == $cart_item['id'] ) {
362
+                foreach ($invoice->cart_details as $cart_index => $cart_item) {
363
+                    if ($item_id == $cart_item['id']) {
364 364
                         $args = array(
365 365
                             'id'         => $item_id,
366 366
                             'quantity'   => $quantity,
367 367
                             'cart_index' => $cart_index
368 368
                         );
369 369
 
370
-                        $invoice->remove_item( $item_id, $args );
370
+                        $invoice->remove_item($item_id, $args);
371 371
                         break;
372 372
                     }
373 373
                 }
374 374
             }
375 375
         }
376 376
 
377
-        $add_items = !empty( $cart_details['add_items'] ) && is_array( $cart_details['add_items'] ) ? $cart_details['add_items'] : array();
377
+        $add_items = !empty($cart_details['add_items']) && is_array($cart_details['add_items']) ? $cart_details['add_items'] : array();
378 378
 
379
-        if ( !empty( $add_items[0]['id'] ) ) {
380
-            foreach ( $add_items as $item ) {
381
-                $item_id        = !empty( $item['id'] ) ? $item['id'] : 0;
382
-                $post_item      = new WPInv_Item( $item_id );
383
-                if ( empty( $post_item ) ) {
379
+        if (!empty($add_items[0]['id'])) {
380
+            foreach ($add_items as $item) {
381
+                $item_id        = !empty($item['id']) ? $item['id'] : 0;
382
+                $post_item      = new WPInv_Item($item_id);
383
+                if (empty($post_item)) {
384 384
                     continue;
385 385
                 }
386 386
 
387 387
                 $valid_item = true;
388
-                if ( !empty( $recurring_item ) ) {
389
-                    if ( $recurring_item->ID != $item_id ) {
388
+                if (!empty($recurring_item)) {
389
+                    if ($recurring_item->ID != $item_id) {
390 390
                         $valid_item = false;
391 391
                     }
392
-                } else if ( wpinv_is_recurring_item( $item_id ) ) {
392
+                } else if (wpinv_is_recurring_item($item_id)) {
393 393
                     $valid_item = false;
394 394
                 }
395 395
                 
396
-                if ( !$valid_item ) {
397
-                    if ( $wp_error ) {
398
-                        return new WP_Error( 'invalid_invoice_item', __( 'You can not add item because recurring item must be paid individually!', 'invoicing' ) );
396
+                if (!$valid_item) {
397
+                    if ($wp_error) {
398
+                        return new WP_Error('invalid_invoice_item', __('You can not add item because recurring item must be paid individually!', 'invoicing'));
399 399
                     }
400 400
                     return 0;
401 401
                 }
402 402
 
403
-                $quantity       = !empty( $item['quantity'] ) ? $item['quantity'] : 1;
404
-                $name           = !empty( $item['name'] ) ? $item['name'] : $post_item->get_name();
405
-                $item_price     = isset( $item['item_price'] ) ? $item['item_price'] : $post_item->get_price();
403
+                $quantity       = !empty($item['quantity']) ? $item['quantity'] : 1;
404
+                $name           = !empty($item['name']) ? $item['name'] : $post_item->get_name();
405
+                $item_price     = isset($item['item_price']) ? $item['item_price'] : $post_item->get_price();
406 406
 
407 407
                 $args = array(
408 408
                     'name'          => $name,
409 409
                     'quantity'      => $quantity,
410 410
                     'item_price'    => $item_price,
411
-                    'custom_price'  => isset( $item['custom_price'] ) ? $item['custom_price'] : '',
412
-                    'tax'           => !empty( $item['tax'] ) ? $item['tax'] : 0,
413
-                    'discount'      => isset( $item['discount'] ) ? $item['discount'] : 0,
414
-                    'meta'          => isset( $item['meta'] ) ? $item['meta'] : array(),
415
-                    'fees'          => isset( $item['fees'] ) ? $item['fees'] : array(),
411
+                    'custom_price'  => isset($item['custom_price']) ? $item['custom_price'] : '',
412
+                    'tax'           => !empty($item['tax']) ? $item['tax'] : 0,
413
+                    'discount'      => isset($item['discount']) ? $item['discount'] : 0,
414
+                    'meta'          => isset($item['meta']) ? $item['meta'] : array(),
415
+                    'fees'          => isset($item['fees']) ? $item['fees'] : array(),
416 416
                 );
417 417
 
418
-                $invoice->add_item( $item_id, $args );
418
+                $invoice->add_item($item_id, $args);
419 419
             }
420 420
         }
421 421
     }
422 422
     
423 423
     // Payment details
424
-    if ( !empty( $invoice_data['payment_details'] ) && $payment_details = $invoice_data['payment_details'] ) {
425
-        if ( !empty( $payment_details['gateway'] ) ) {
426
-            $invoice->set( 'gateway', $payment_details['gateway'] );
424
+    if (!empty($invoice_data['payment_details']) && $payment_details = $invoice_data['payment_details']) {
425
+        if (!empty($payment_details['gateway'])) {
426
+            $invoice->set('gateway', $payment_details['gateway']);
427 427
         }
428 428
 
429
-        if ( !empty( $payment_details['transaction_id'] ) ) {
430
-            $invoice->set( 'transaction_id', $payment_details['transaction_id'] );
429
+        if (!empty($payment_details['transaction_id'])) {
430
+            $invoice->set('transaction_id', $payment_details['transaction_id']);
431 431
         }
432 432
     }
433 433
 
434
-    do_action( 'wpinv_pre_update_invoice', $invoice->ID, $invoice_data );
434
+    do_action('wpinv_pre_update_invoice', $invoice->ID, $invoice_data);
435 435
 
436 436
     // Parent invoice
437
-    if ( !empty( $invoice_data['parent'] ) ) {
438
-        $invoice->set( 'parent_invoice', $invoice_data['parent'] );
437
+    if (!empty($invoice_data['parent'])) {
438
+        $invoice->set('parent_invoice', $invoice_data['parent']);
439 439
     }
440 440
 
441 441
     // Save invoice data.
442 442
     $invoice->save();
443 443
     
444
-    if ( empty( $invoice->ID ) || is_wp_error( $invoice ) ) {
445
-        if ( $wp_error ) {
446
-            if ( is_wp_error( $invoice ) ) {
444
+    if (empty($invoice->ID) || is_wp_error($invoice)) {
445
+        if ($wp_error) {
446
+            if (is_wp_error($invoice)) {
447 447
                 return $invoice;
448 448
             } else {
449
-                return new WP_Error( 'wpinv_update_invoice_error', __( 'Error in update invoice.', 'invoicing' ) );
449
+                return new WP_Error('wpinv_update_invoice_error', __('Error in update invoice.', 'invoicing'));
450 450
             }
451 451
         } else {
452 452
             return 0;
@@ -454,19 +454,19 @@  discard block
 block discarded – undo
454 454
     }
455 455
 
456 456
     // Add private note
457
-    if ( !empty( $invoice_data['private_note'] ) ) {
458
-        $invoice->add_note( $invoice_data['private_note'] );
457
+    if (!empty($invoice_data['private_note'])) {
458
+        $invoice->add_note($invoice_data['private_note']);
459 459
     }
460 460
 
461 461
     // Add user note
462
-    if ( !empty( $invoice_data['user_note'] ) ) {
463
-        $invoice->add_note( $invoice_data['user_note'], true );
462
+    if (!empty($invoice_data['user_note'])) {
463
+        $invoice->add_note($invoice_data['user_note'], true);
464 464
     }
465 465
 
466
-    if ( $invoice->is_quote() ) {
466
+    if ($invoice->is_quote()) {
467 467
 
468
-        if ( isset( $invoice_data['valid_until'] ) ) {
469
-            update_post_meta( $invoice->ID, 'wpinv_quote_valid_until', $invoice_data['valid_until'] );
468
+        if (isset($invoice_data['valid_until'])) {
469
+            update_post_meta($invoice->ID, 'wpinv_quote_valid_until', $invoice_data['valid_until']);
470 470
         }
471 471
         return $invoice;
472 472
 
@@ -478,466 +478,466 @@  discard block
 block discarded – undo
478 478
 
479 479
     $data_session                   = array();
480 480
     $data_session['invoice_id']     = $invoice->ID;
481
-    $data_session['cart_discounts'] = $invoice->get_discounts( true );
481
+    $data_session['cart_discounts'] = $invoice->get_discounts(true);
482 482
 
483
-    wpinv_set_checkout_session( $data_session );
483
+    wpinv_set_checkout_session($data_session);
484 484
 
485
-    $wpi_userID         = (int)$invoice->get_user_id();
485
+    $wpi_userID         = (int) $invoice->get_user_id();
486 486
 
487
-    $_POST['country']   = !empty( $invoice->country ) ? $invoice->country : wpinv_get_default_country();
487
+    $_POST['country']   = !empty($invoice->country) ? $invoice->country : wpinv_get_default_country();
488 488
     $_POST['state']     = $invoice->state;
489 489
 
490
-    $invoice->set( 'country', sanitize_text_field( $_POST['country'] ) );
491
-    $invoice->set( 'state', sanitize_text_field( $_POST['state'] ) );
490
+    $invoice->set('country', sanitize_text_field($_POST['country']));
491
+    $invoice->set('state', sanitize_text_field($_POST['state']));
492 492
 
493 493
     $wpinv_ip_address_country = $invoice->country;
494 494
 
495
-    $invoice = $invoice->recalculate_totals( true );
495
+    $invoice = $invoice->recalculate_totals(true);
496 496
 
497
-    do_action( 'wpinv_post_update_invoice', $invoice->ID, $invoice_data );
497
+    do_action('wpinv_post_update_invoice', $invoice->ID, $invoice_data);
498 498
 
499
-    wpinv_set_checkout_session( $checkout_session );
499
+    wpinv_set_checkout_session($checkout_session);
500 500
 
501 501
     return $invoice;
502 502
 }
503 503
 
504
-function wpinv_get_invoice( $invoice_id = 0, $cart = false ) {
505
-    if ( $cart && empty( $invoice_id ) ) {
506
-        $invoice_id = (int)wpinv_get_invoice_cart_id();
504
+function wpinv_get_invoice($invoice_id = 0, $cart = false) {
505
+    if ($cart && empty($invoice_id)) {
506
+        $invoice_id = (int) wpinv_get_invoice_cart_id();
507 507
     }
508 508
 
509
-    $invoice = new WPInv_Invoice( $invoice_id );
509
+    $invoice = new WPInv_Invoice($invoice_id);
510 510
 
511
-    if ( ! empty( $invoice ) && ! empty( $invoice->ID ) ) {
511
+    if (!empty($invoice) && !empty($invoice->ID)) {
512 512
         return $invoice;
513 513
     }
514 514
 
515 515
     return NULL;
516 516
 }
517 517
 
518
-function wpinv_get_invoice_cart( $invoice_id = 0 ) {
519
-    return wpinv_get_invoice( $invoice_id, true );
518
+function wpinv_get_invoice_cart($invoice_id = 0) {
519
+    return wpinv_get_invoice($invoice_id, true);
520 520
 }
521 521
 
522
-function wpinv_get_invoice_description( $invoice_id = 0 ) {
523
-    $invoice = new WPInv_Invoice( $invoice_id );
522
+function wpinv_get_invoice_description($invoice_id = 0) {
523
+    $invoice = new WPInv_Invoice($invoice_id);
524 524
     return $invoice->get_description();
525 525
 }
526 526
 
527
-function wpinv_get_invoice_currency_code( $invoice_id = 0 ) {
528
-    $invoice = new WPInv_Invoice( $invoice_id );
527
+function wpinv_get_invoice_currency_code($invoice_id = 0) {
528
+    $invoice = new WPInv_Invoice($invoice_id);
529 529
     return $invoice->get_currency();
530 530
 }
531 531
 
532
-function wpinv_get_payment_user_email( $invoice_id ) {
533
-    $invoice = new WPInv_Invoice( $invoice_id );
532
+function wpinv_get_payment_user_email($invoice_id) {
533
+    $invoice = new WPInv_Invoice($invoice_id);
534 534
     return $invoice->get_email();
535 535
 }
536 536
 
537
-function wpinv_get_user_id( $invoice_id ) {
538
-    $invoice = new WPInv_Invoice( $invoice_id );
537
+function wpinv_get_user_id($invoice_id) {
538
+    $invoice = new WPInv_Invoice($invoice_id);
539 539
     return $invoice->get_user_id();
540 540
 }
541 541
 
542
-function wpinv_get_invoice_status( $invoice_id, $return_label = false ) {
543
-    $invoice = new WPInv_Invoice( $invoice_id );
542
+function wpinv_get_invoice_status($invoice_id, $return_label = false) {
543
+    $invoice = new WPInv_Invoice($invoice_id);
544 544
     
545
-    return $invoice->get_status( $return_label );
545
+    return $invoice->get_status($return_label);
546 546
 }
547 547
 
548
-function wpinv_get_payment_gateway( $invoice_id, $return_label = false ) {
549
-    $invoice = new WPInv_Invoice( $invoice_id );
548
+function wpinv_get_payment_gateway($invoice_id, $return_label = false) {
549
+    $invoice = new WPInv_Invoice($invoice_id);
550 550
     
551
-    return $invoice->get_gateway( $return_label );
551
+    return $invoice->get_gateway($return_label);
552 552
 }
553 553
 
554
-function wpinv_get_payment_gateway_name( $invoice_id ) {
555
-    $invoice = new WPInv_Invoice( $invoice_id );
554
+function wpinv_get_payment_gateway_name($invoice_id) {
555
+    $invoice = new WPInv_Invoice($invoice_id);
556 556
     
557 557
     return $invoice->get_gateway_title();
558 558
 }
559 559
 
560
-function wpinv_get_payment_transaction_id( $invoice_id ) {
561
-    $invoice = new WPInv_Invoice( $invoice_id );
560
+function wpinv_get_payment_transaction_id($invoice_id) {
561
+    $invoice = new WPInv_Invoice($invoice_id);
562 562
     
563 563
     return $invoice->get_transaction_id();
564 564
 }
565 565
 
566
-function wpinv_get_id_by_transaction_id( $key ) {
566
+function wpinv_get_id_by_transaction_id($key) {
567 567
     global $wpdb;
568 568
 
569
-    $invoice_id = $wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wpinv_transaction_id' AND meta_value = %s LIMIT 1", $key ) );
569
+    $invoice_id = $wpdb->get_var($wpdb->prepare("SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wpinv_transaction_id' AND meta_value = %s LIMIT 1", $key));
570 570
 
571
-    if ( $invoice_id != NULL )
571
+    if ($invoice_id != NULL)
572 572
         return $invoice_id;
573 573
 
574 574
     return 0;
575 575
 }
576 576
 
577
-function wpinv_get_invoice_meta( $invoice_id = 0, $meta_key = '_wpinv_payment_meta', $single = true ) {
578
-    $invoice = new WPInv_Invoice( $invoice_id );
577
+function wpinv_get_invoice_meta($invoice_id = 0, $meta_key = '_wpinv_payment_meta', $single = true) {
578
+    $invoice = new WPInv_Invoice($invoice_id);
579 579
 
580
-    return $invoice->get_meta( $meta_key, $single );
580
+    return $invoice->get_meta($meta_key, $single);
581 581
 }
582 582
 
583
-function wpinv_update_invoice_meta( $invoice_id = 0, $meta_key = '', $meta_value = '', $prev_value = '' ) {
584
-    $invoice = new WPInv_Invoice( $invoice_id );
583
+function wpinv_update_invoice_meta($invoice_id = 0, $meta_key = '', $meta_value = '', $prev_value = '') {
584
+    $invoice = new WPInv_Invoice($invoice_id);
585 585
     
586
-    return $invoice->update_meta( $meta_key, $meta_value, $prev_value );
586
+    return $invoice->update_meta($meta_key, $meta_value, $prev_value);
587 587
 }
588 588
 
589
-function wpinv_get_items( $invoice_id = 0 ) {
590
-    $invoice            = wpinv_get_invoice( $invoice_id );
589
+function wpinv_get_items($invoice_id = 0) {
590
+    $invoice            = wpinv_get_invoice($invoice_id);
591 591
     
592 592
     $items              = $invoice->get_items();
593 593
     $invoice_currency   = $invoice->get_currency();
594 594
 
595
-    if ( !empty( $items ) && is_array( $items ) ) {
596
-        foreach ( $items as $key => $item ) {
595
+    if (!empty($items) && is_array($items)) {
596
+        foreach ($items as $key => $item) {
597 597
             $items[$key]['currency'] = $invoice_currency;
598 598
 
599
-            if ( !isset( $item['subtotal'] ) ) {
599
+            if (!isset($item['subtotal'])) {
600 600
                 $items[$key]['subtotal'] = $items[$key]['amount'] * 1;
601 601
             }
602 602
         }
603 603
     }
604 604
 
605
-    return apply_filters( 'wpinv_get_items', $items, $invoice_id );
605
+    return apply_filters('wpinv_get_items', $items, $invoice_id);
606 606
 }
607 607
 
608
-function wpinv_get_fees( $invoice_id = 0 ) {
609
-    $invoice           = wpinv_get_invoice( $invoice_id );
608
+function wpinv_get_fees($invoice_id = 0) {
609
+    $invoice           = wpinv_get_invoice($invoice_id);
610 610
     $fees              = $invoice->get_fees();
611 611
 
612
-    return apply_filters( 'wpinv_get_fees', $fees, $invoice_id );
612
+    return apply_filters('wpinv_get_fees', $fees, $invoice_id);
613 613
 }
614 614
 
615
-function wpinv_get_invoice_ip( $invoice_id ) {
616
-    $invoice = new WPInv_Invoice( $invoice_id );
615
+function wpinv_get_invoice_ip($invoice_id) {
616
+    $invoice = new WPInv_Invoice($invoice_id);
617 617
     return $invoice->get_ip();
618 618
 }
619 619
 
620
-function wpinv_get_invoice_user_info( $invoice_id ) {
621
-    $invoice = new WPInv_Invoice( $invoice_id );
620
+function wpinv_get_invoice_user_info($invoice_id) {
621
+    $invoice = new WPInv_Invoice($invoice_id);
622 622
     return $invoice->get_user_info();
623 623
 }
624 624
 
625
-function wpinv_subtotal( $invoice_id = 0, $currency = false ) {
626
-    $invoice = new WPInv_Invoice( $invoice_id );
625
+function wpinv_subtotal($invoice_id = 0, $currency = false) {
626
+    $invoice = new WPInv_Invoice($invoice_id);
627 627
 
628
-    return $invoice->get_subtotal( $currency );
628
+    return $invoice->get_subtotal($currency);
629 629
 }
630 630
 
631
-function wpinv_tax( $invoice_id = 0, $currency = false ) {
632
-    $invoice = new WPInv_Invoice( $invoice_id );
631
+function wpinv_tax($invoice_id = 0, $currency = false) {
632
+    $invoice = new WPInv_Invoice($invoice_id);
633 633
 
634
-    return $invoice->get_tax( $currency );
634
+    return $invoice->get_tax($currency);
635 635
 }
636 636
 
637
-function wpinv_discount( $invoice_id = 0, $currency = false, $dash = false ) {
638
-    $invoice = wpinv_get_invoice( $invoice_id );
637
+function wpinv_discount($invoice_id = 0, $currency = false, $dash = false) {
638
+    $invoice = wpinv_get_invoice($invoice_id);
639 639
 
640
-    return $invoice->get_discount( $currency, $dash );
640
+    return $invoice->get_discount($currency, $dash);
641 641
 }
642 642
 
643
-function wpinv_discount_code( $invoice_id = 0 ) {
644
-    $invoice = new WPInv_Invoice( $invoice_id );
643
+function wpinv_discount_code($invoice_id = 0) {
644
+    $invoice = new WPInv_Invoice($invoice_id);
645 645
 
646 646
     return $invoice->get_discount_code();
647 647
 }
648 648
 
649
-function wpinv_payment_total( $invoice_id = 0, $currency = false ) {
650
-    $invoice = new WPInv_Invoice( $invoice_id );
649
+function wpinv_payment_total($invoice_id = 0, $currency = false) {
650
+    $invoice = new WPInv_Invoice($invoice_id);
651 651
 
652
-    return $invoice->get_total( $currency );
652
+    return $invoice->get_total($currency);
653 653
 }
654 654
 
655
-function wpinv_get_date_created( $invoice_id = 0, $format = '' ) {
656
-    $invoice = new WPInv_Invoice( $invoice_id );
655
+function wpinv_get_date_created($invoice_id = 0, $format = '') {
656
+    $invoice = new WPInv_Invoice($invoice_id);
657 657
 
658
-    $format         = !empty( $format ) ? $format : get_option( 'date_format' );
658
+    $format         = !empty($format) ? $format : get_option('date_format');
659 659
     $date_created   = $invoice->get_created_date();
660
-    $date_created   = $date_created != '' && $date_created != '0000-00-00 00:00:00' ? date_i18n( $format, strtotime( $date_created ) ) : '';
660
+    $date_created   = $date_created != '' && $date_created != '0000-00-00 00:00:00' ? date_i18n($format, strtotime($date_created)) : '';
661 661
 
662 662
     return $date_created;
663 663
 }
664 664
 
665
-function wpinv_get_invoice_date( $invoice_id = 0, $format = '', $default = true ) {
666
-    $invoice = new WPInv_Invoice( $invoice_id );
665
+function wpinv_get_invoice_date($invoice_id = 0, $format = '', $default = true) {
666
+    $invoice = new WPInv_Invoice($invoice_id);
667 667
     
668
-    $format         = !empty( $format ) ? $format : get_option( 'date_format' );
668
+    $format         = !empty($format) ? $format : get_option('date_format');
669 669
     $date_completed = $invoice->get_completed_date();
670
-    $invoice_date   = $date_completed != '' && $date_completed != '0000-00-00 00:00:00' ? date_i18n( $format, strtotime( $date_completed ) ) : '';
671
-    if ( $invoice_date == '' && $default ) {
672
-        $invoice_date   = wpinv_get_date_created( $invoice_id, $format );
670
+    $invoice_date   = $date_completed != '' && $date_completed != '0000-00-00 00:00:00' ? date_i18n($format, strtotime($date_completed)) : '';
671
+    if ($invoice_date == '' && $default) {
672
+        $invoice_date = wpinv_get_date_created($invoice_id, $format);
673 673
     }
674 674
 
675 675
     return $invoice_date;
676 676
 }
677 677
 
678
-function wpinv_get_invoice_vat_number( $invoice_id = 0 ) {
679
-    $invoice = new WPInv_Invoice( $invoice_id );
678
+function wpinv_get_invoice_vat_number($invoice_id = 0) {
679
+    $invoice = new WPInv_Invoice($invoice_id);
680 680
     
681 681
     return $invoice->vat_number;
682 682
 }
683 683
 
684
-function wpinv_insert_payment_note( $invoice_id = 0, $note = '', $user_type = false, $added_by_user = false, $system = false ) {
685
-    $invoice = new WPInv_Invoice( $invoice_id );
684
+function wpinv_insert_payment_note($invoice_id = 0, $note = '', $user_type = false, $added_by_user = false, $system = false) {
685
+    $invoice = new WPInv_Invoice($invoice_id);
686 686
 
687
-    return $invoice->add_note( $note, $user_type, $added_by_user, $system );
687
+    return $invoice->add_note($note, $user_type, $added_by_user, $system);
688 688
 }
689 689
 
690
-function wpinv_get_invoice_notes( $invoice_id = 0, $type = '' ) {
690
+function wpinv_get_invoice_notes($invoice_id = 0, $type = '') {
691 691
     global $invoicing;
692 692
     
693
-    if ( empty( $invoice_id ) ) {
693
+    if (empty($invoice_id)) {
694 694
         return NULL;
695 695
     }
696 696
     
697
-    $notes = $invoicing->notes->get_invoice_notes( $invoice_id, $type );
697
+    $notes = $invoicing->notes->get_invoice_notes($invoice_id, $type);
698 698
     
699
-    return apply_filters( 'wpinv_invoice_notes', $notes, $invoice_id, $type );
699
+    return apply_filters('wpinv_invoice_notes', $notes, $invoice_id, $type);
700 700
 }
701 701
 
702
-function wpinv_get_payment_key( $invoice_id = 0 ) {
703
-	$invoice = new WPInv_Invoice( $invoice_id );
702
+function wpinv_get_payment_key($invoice_id = 0) {
703
+	$invoice = new WPInv_Invoice($invoice_id);
704 704
     return $invoice->get_key();
705 705
 }
706 706
 
707
-function wpinv_get_invoice_number( $invoice_id = 0 ) {
708
-    $invoice = new WPInv_Invoice( $invoice_id );
707
+function wpinv_get_invoice_number($invoice_id = 0) {
708
+    $invoice = new WPInv_Invoice($invoice_id);
709 709
     return $invoice->get_number();
710 710
 }
711 711
 
712
-function wpinv_get_cart_discountable_subtotal( $code_id ) {
712
+function wpinv_get_cart_discountable_subtotal($code_id) {
713 713
     $cart_items = wpinv_get_cart_content_details();
714 714
     $items      = array();
715 715
 
716
-    $excluded_items = wpinv_get_discount_excluded_items( $code_id );
716
+    $excluded_items = wpinv_get_discount_excluded_items($code_id);
717 717
 
718
-    if( $cart_items ) {
718
+    if ($cart_items) {
719 719
 
720
-        foreach( $cart_items as $item ) {
720
+        foreach ($cart_items as $item) {
721 721
 
722
-            if( ! in_array( $item['id'], $excluded_items ) ) {
723
-                $items[] =  $item;
722
+            if (!in_array($item['id'], $excluded_items)) {
723
+                $items[] = $item;
724 724
             }
725 725
         }
726 726
     }
727 727
 
728
-    $subtotal = wpinv_get_cart_items_subtotal( $items );
728
+    $subtotal = wpinv_get_cart_items_subtotal($items);
729 729
 
730
-    return apply_filters( 'wpinv_get_cart_discountable_subtotal', $subtotal );
730
+    return apply_filters('wpinv_get_cart_discountable_subtotal', $subtotal);
731 731
 }
732 732
 
733
-function wpinv_get_cart_items_subtotal( $items ) {
733
+function wpinv_get_cart_items_subtotal($items) {
734 734
     $subtotal = 0.00;
735 735
 
736
-    if ( is_array( $items ) && ! empty( $items ) ) {
737
-        $prices = wp_list_pluck( $items, 'subtotal' );
736
+    if (is_array($items) && !empty($items)) {
737
+        $prices = wp_list_pluck($items, 'subtotal');
738 738
 
739
-        if( is_array( $prices ) ) {
740
-            $subtotal = array_sum( $prices );
739
+        if (is_array($prices)) {
740
+            $subtotal = array_sum($prices);
741 741
         } else {
742 742
             $subtotal = 0.00;
743 743
         }
744 744
 
745
-        if( $subtotal < 0 ) {
745
+        if ($subtotal < 0) {
746 746
             $subtotal = 0.00;
747 747
         }
748 748
     }
749 749
 
750
-    return apply_filters( 'wpinv_get_cart_items_subtotal', $subtotal );
750
+    return apply_filters('wpinv_get_cart_items_subtotal', $subtotal);
751 751
 }
752 752
 
753
-function wpinv_get_cart_subtotal( $items = array() ) {
754
-    $items    = !empty( $items ) ? $items : wpinv_get_cart_content_details();
755
-    $subtotal = wpinv_get_cart_items_subtotal( $items );
753
+function wpinv_get_cart_subtotal($items = array()) {
754
+    $items    = !empty($items) ? $items : wpinv_get_cart_content_details();
755
+    $subtotal = wpinv_get_cart_items_subtotal($items);
756 756
 
757
-    return apply_filters( 'wpinv_get_cart_subtotal', $subtotal );
757
+    return apply_filters('wpinv_get_cart_subtotal', $subtotal);
758 758
 }
759 759
 
760
-function wpinv_cart_subtotal( $items = array(), $currency = '' ) {
760
+function wpinv_cart_subtotal($items = array(), $currency = '') {
761 761
 
762
-    if( empty( $currency ) ) {
762
+    if (empty($currency)) {
763 763
         $currency = wpinv_get_currency();
764 764
     }
765 765
 
766
-    $price = wpinv_price( wpinv_format_amount( wpinv_get_cart_subtotal( $items ) ), $currency );
766
+    $price = wpinv_price(wpinv_format_amount(wpinv_get_cart_subtotal($items)), $currency);
767 767
 
768 768
     return $price;
769 769
 }
770 770
 
771
-function wpinv_get_cart_total( $items = array(), $discounts = false, $invoice = array() ) {
772
-    $subtotal  = (float)wpinv_get_cart_subtotal( $items );
773
-    $discounts = (float)wpinv_get_cart_discounted_amount( $items );
774
-    $cart_tax  = (float)wpinv_get_cart_tax( $items, $invoice );
775
-    $fees      = (float)wpinv_get_cart_fee_total();
776
-    if ( !empty( $invoice ) && $invoice->is_free_trial() ) {
771
+function wpinv_get_cart_total($items = array(), $discounts = false, $invoice = array()) {
772
+    $subtotal  = (float) wpinv_get_cart_subtotal($items);
773
+    $discounts = (float) wpinv_get_cart_discounted_amount($items);
774
+    $cart_tax  = (float) wpinv_get_cart_tax($items, $invoice);
775
+    $fees      = (float) wpinv_get_cart_fee_total();
776
+    if (!empty($invoice) && $invoice->is_free_trial()) {
777 777
         $total = 0;
778 778
     } else {
779
-        $total     = $subtotal - $discounts + $cart_tax + $fees;
779
+        $total = $subtotal - $discounts + $cart_tax + $fees;
780 780
     }
781 781
 
782
-    if ( $total < 0 ) {
782
+    if ($total < 0) {
783 783
         $total = 0.00;
784 784
     }
785 785
     
786
-    $total = (float)apply_filters( 'wpinv_get_cart_total', $total, $items );
786
+    $total = (float) apply_filters('wpinv_get_cart_total', $total, $items);
787 787
 
788
-    return wpinv_sanitize_amount( $total );
788
+    return wpinv_sanitize_amount($total);
789 789
 }
790 790
 
791
-function wpinv_cart_total( $cart_items = array(), $echo = true, $invoice = array() ) {
791
+function wpinv_cart_total($cart_items = array(), $echo = true, $invoice = array()) {
792 792
     global $cart_total;
793
-    $total = wpinv_price( wpinv_format_amount( wpinv_get_cart_total( $cart_items, NULL, $invoice ) ), $invoice->get_currency() );
794
-    $total = apply_filters( 'wpinv_cart_total', $total, $cart_items, $invoice );
793
+    $total = wpinv_price(wpinv_format_amount(wpinv_get_cart_total($cart_items, NULL, $invoice)), $invoice->get_currency());
794
+    $total = apply_filters('wpinv_cart_total', $total, $cart_items, $invoice);
795 795
     
796 796
     $cart_total = $total;
797 797
 
798
-    if ( !$echo ) {
798
+    if (!$echo) {
799 799
         return $total;
800 800
     }
801 801
 
802 802
     echo $total;
803 803
 }
804 804
 
805
-function wpinv_get_cart_tax( $items = array(), $invoice = 0 ) {
805
+function wpinv_get_cart_tax($items = array(), $invoice = 0) {
806 806
 
807
-    if ( ! empty( $invoice ) && ! $invoice->is_taxable() ) {
807
+    if (!empty($invoice) && !$invoice->is_taxable()) {
808 808
         return 0;
809 809
     }
810 810
 
811 811
     $cart_tax = 0;
812
-    $items    = !empty( $items ) ? $items : wpinv_get_cart_content_details();
812
+    $items    = !empty($items) ? $items : wpinv_get_cart_content_details();
813 813
 
814
-    if ( $items ) {
815
-        $taxes = wp_list_pluck( $items, 'tax' );
814
+    if ($items) {
815
+        $taxes = wp_list_pluck($items, 'tax');
816 816
 
817
-        if( is_array( $taxes ) ) {
818
-            $cart_tax = array_sum( $taxes );
817
+        if (is_array($taxes)) {
818
+            $cart_tax = array_sum($taxes);
819 819
         }
820 820
     }
821 821
 
822 822
     $cart_tax += wpinv_get_cart_fee_tax();
823 823
 
824
-    return apply_filters( 'wpinv_get_cart_tax', wpinv_sanitize_amount( $cart_tax ) );
824
+    return apply_filters('wpinv_get_cart_tax', wpinv_sanitize_amount($cart_tax));
825 825
 }
826 826
 
827
-function wpinv_cart_tax( $items = array(), $echo = false, $currency = '', $invoice = 0 ) {
827
+function wpinv_cart_tax($items = array(), $echo = false, $currency = '', $invoice = 0) {
828 828
 
829
-    if ( ! empty( $invoice && ! $invoice->is_taxable() ) ) {
830
-        echo wpinv_price( wpinv_format_amount( 0 ), $currency );
829
+    if (!empty($invoice && !$invoice->is_taxable())) {
830
+        echo wpinv_price(wpinv_format_amount(0), $currency);
831 831
         return;
832 832
     }
833 833
 
834
-    $cart_tax = wpinv_get_cart_tax( $items, $invoice );
835
-    $cart_tax = wpinv_price( wpinv_format_amount( $cart_tax ), $currency );
834
+    $cart_tax = wpinv_get_cart_tax($items, $invoice);
835
+    $cart_tax = wpinv_price(wpinv_format_amount($cart_tax), $currency);
836 836
 
837
-    $tax = apply_filters( 'wpinv_cart_tax', $cart_tax, $items );
837
+    $tax = apply_filters('wpinv_cart_tax', $cart_tax, $items);
838 838
 
839
-    if ( !$echo ) {
839
+    if (!$echo) {
840 840
         return $tax;
841 841
     }
842 842
 
843 843
     echo $tax;
844 844
 }
845 845
 
846
-function wpinv_get_cart_discount_code( $items = array() ) {
846
+function wpinv_get_cart_discount_code($items = array()) {
847 847
     $invoice = wpinv_get_invoice_cart();
848
-    $cart_discount_code = !empty( $invoice ) ? $invoice->get_discount_code() : '';
848
+    $cart_discount_code = !empty($invoice) ? $invoice->get_discount_code() : '';
849 849
     
850
-    return apply_filters( 'wpinv_get_cart_discount_code', $cart_discount_code );
850
+    return apply_filters('wpinv_get_cart_discount_code', $cart_discount_code);
851 851
 }
852 852
 
853
-function wpinv_cart_discount_code( $items = array(), $echo = false ) {
854
-    $cart_discount_code = wpinv_get_cart_discount_code( $items );
853
+function wpinv_cart_discount_code($items = array(), $echo = false) {
854
+    $cart_discount_code = wpinv_get_cart_discount_code($items);
855 855
 
856
-    if ( $cart_discount_code != '' ) {
856
+    if ($cart_discount_code != '') {
857 857
         $cart_discount_code = ' (' . $cart_discount_code . ')';
858 858
     }
859 859
     
860
-    $discount_code = apply_filters( 'wpinv_cart_discount_code', $cart_discount_code, $items );
860
+    $discount_code = apply_filters('wpinv_cart_discount_code', $cart_discount_code, $items);
861 861
 
862
-    if ( !$echo ) {
862
+    if (!$echo) {
863 863
         return $discount_code;
864 864
     }
865 865
 
866 866
     echo $discount_code;
867 867
 }
868 868
 
869
-function wpinv_get_cart_discount( $items = array() ) {
869
+function wpinv_get_cart_discount($items = array()) {
870 870
     $invoice = wpinv_get_invoice_cart();
871
-    $cart_discount = !empty( $invoice ) ? $invoice->get_discount() : 0;
871
+    $cart_discount = !empty($invoice) ? $invoice->get_discount() : 0;
872 872
     
873
-    return apply_filters( 'wpinv_get_cart_discount', wpinv_sanitize_amount( $cart_discount ), $items );
873
+    return apply_filters('wpinv_get_cart_discount', wpinv_sanitize_amount($cart_discount), $items);
874 874
 }
875 875
 
876
-function wpinv_cart_discount( $items = array(), $echo = false ) {
877
-    $cart_discount = wpinv_get_cart_discount( $items );
878
-    $cart_discount = wpinv_price( wpinv_format_amount( $cart_discount ) );
876
+function wpinv_cart_discount($items = array(), $echo = false) {
877
+    $cart_discount = wpinv_get_cart_discount($items);
878
+    $cart_discount = wpinv_price(wpinv_format_amount($cart_discount));
879 879
 
880
-    $discount = apply_filters( 'wpinv_cart_discount', $cart_discount, $items );
880
+    $discount = apply_filters('wpinv_cart_discount', $cart_discount, $items);
881 881
 
882
-    if ( !$echo ) {
882
+    if (!$echo) {
883 883
         return $discount;
884 884
     }
885 885
 
886 886
     echo $discount;
887 887
 }
888 888
 
889
-function wpinv_get_cart_fees( $type = 'all', $item_id = 0 ) {
890
-    $item = new WPInv_Item( $item_id );
889
+function wpinv_get_cart_fees($type = 'all', $item_id = 0) {
890
+    $item = new WPInv_Item($item_id);
891 891
     
892
-    return $item->get_fees( $type, $item_id );
892
+    return $item->get_fees($type, $item_id);
893 893
 }
894 894
 
895 895
 function wpinv_get_cart_fee_total() {
896
-    $total  = 0;
896
+    $total = 0;
897 897
     $fees = wpinv_get_cart_fees();
898 898
     
899
-    if ( $fees ) {
900
-        foreach ( $fees as $fee_id => $fee ) {
899
+    if ($fees) {
900
+        foreach ($fees as $fee_id => $fee) {
901 901
             $total += $fee['amount'];
902 902
         }
903 903
     }
904 904
 
905
-    return apply_filters( 'wpinv_get_cart_fee_total', $total );
905
+    return apply_filters('wpinv_get_cart_fee_total', $total);
906 906
 }
907 907
 
908 908
 function wpinv_get_cart_fee_tax() {
909 909
     $tax  = 0;
910 910
     $fees = wpinv_get_cart_fees();
911 911
 
912
-    if ( $fees ) {
913
-        foreach ( $fees as $fee_id => $fee ) {
914
-            if( ! empty( $fee['no_tax'] ) ) {
912
+    if ($fees) {
913
+        foreach ($fees as $fee_id => $fee) {
914
+            if (!empty($fee['no_tax'])) {
915 915
                 continue;
916 916
             }
917 917
 
918
-            $tax += wpinv_calculate_tax( $fee['amount'] );
918
+            $tax += wpinv_calculate_tax($fee['amount']);
919 919
         }
920 920
     }
921 921
 
922
-    return apply_filters( 'wpinv_get_cart_fee_tax', $tax );
922
+    return apply_filters('wpinv_get_cart_fee_tax', $tax);
923 923
 }
924 924
 
925 925
 function wpinv_cart_has_recurring_item() {
926 926
     $cart_items = wpinv_get_cart_contents();
927 927
     
928
-    if ( empty( $cart_items ) ) {
928
+    if (empty($cart_items)) {
929 929
         return false;
930 930
     }
931 931
     
932 932
     $has_subscription = false;
933
-    foreach( $cart_items as $cart_item ) {
934
-        if ( !empty( $cart_item['id'] ) && wpinv_is_recurring_item( $cart_item['id'] )  ) {
933
+    foreach ($cart_items as $cart_item) {
934
+        if (!empty($cart_item['id']) && wpinv_is_recurring_item($cart_item['id'])) {
935 935
             $has_subscription = true;
936 936
             break;
937 937
         }
938 938
     }
939 939
     
940
-    return apply_filters( 'wpinv_cart_has_recurring_item', $has_subscription, $cart_items );
940
+    return apply_filters('wpinv_cart_has_recurring_item', $has_subscription, $cart_items);
941 941
 }
942 942
 
943 943
 function wpinv_cart_has_free_trial() {
@@ -945,100 +945,100 @@  discard block
 block discarded – undo
945 945
     
946 946
     $free_trial = false;
947 947
     
948
-    if ( !empty( $invoice ) && $invoice->is_free_trial() ) {
948
+    if (!empty($invoice) && $invoice->is_free_trial()) {
949 949
         $free_trial = true;
950 950
     }
951 951
     
952
-    return apply_filters( 'wpinv_cart_has_free_trial', $free_trial, $invoice );
952
+    return apply_filters('wpinv_cart_has_free_trial', $free_trial, $invoice);
953 953
 }
954 954
 
955 955
 function wpinv_get_cart_contents() {
956 956
     $cart_details = wpinv_get_cart_details();
957 957
     
958
-    return apply_filters( 'wpinv_get_cart_contents', $cart_details );
958
+    return apply_filters('wpinv_get_cart_contents', $cart_details);
959 959
 }
960 960
 
961 961
 function wpinv_get_cart_content_details() {
962 962
     global $wpinv_euvat, $wpi_current_id, $wpi_item_id, $wpinv_is_last_cart_item, $wpinv_flat_discount_total;
963 963
     $cart_items = wpinv_get_cart_contents();
964 964
     
965
-    if ( empty( $cart_items ) ) {
965
+    if (empty($cart_items)) {
966 966
         return false;
967 967
     }
968 968
     $invoice = wpinv_get_invoice_cart();
969
-	if ( empty( $invoice ) ) {
969
+	if (empty($invoice)) {
970 970
         return false;
971 971
     }
972 972
 
973 973
     $details = array();
974
-    $length  = count( $cart_items ) - 1;
974
+    $length  = count($cart_items) - 1;
975 975
     
976
-    if ( empty( $_POST['country'] ) ) {
976
+    if (empty($_POST['country'])) {
977 977
         $_POST['country'] = $invoice->country;
978 978
     }
979
-    if ( !isset( $_POST['state'] ) ) {
979
+    if (!isset($_POST['state'])) {
980 980
         $_POST['state'] = $invoice->state;
981 981
     }
982 982
 
983
-    foreach( $cart_items as $key => $item ) {
984
-        $item_id            = isset( $item['id'] ) ? sanitize_text_field( $item['id'] ) : '';
985
-        if ( empty( $item_id ) ) {
983
+    foreach ($cart_items as $key => $item) {
984
+        $item_id = isset($item['id']) ? sanitize_text_field($item['id']) : '';
985
+        if (empty($item_id)) {
986 986
             continue;
987 987
         }
988 988
         
989 989
         $wpi_current_id         = $invoice->ID;
990 990
         $wpi_item_id            = $item_id;
991 991
         
992
-        if ( isset( $item['custom_price'] ) && $item['custom_price'] !== '' ) {
992
+        if (isset($item['custom_price']) && $item['custom_price'] !== '') {
993 993
             $item_price = $item['custom_price'];
994 994
         } else {
995
-            if ( isset( $item['item_price'] ) && $item['item_price'] !== '' && $item['item_price'] !== false ) {
995
+            if (isset($item['item_price']) && $item['item_price'] !== '' && $item['item_price'] !== false) {
996 996
                 $item_price = $item['item_price'];
997 997
             } else {
998
-                $item_price = wpinv_get_item_price( $item_id );
998
+                $item_price = wpinv_get_item_price($item_id);
999 999
             }
1000 1000
         }
1001
-        $discount           = wpinv_get_cart_item_discount_amount( $item );
1002
-        $discount           = apply_filters( 'wpinv_get_cart_content_details_item_discount_amount', $discount, $item );
1003
-        $quantity           = wpinv_get_cart_item_quantity( $item );
1004
-        $fees               = wpinv_get_cart_fees( 'fee', $item_id );
1001
+        $discount           = wpinv_get_cart_item_discount_amount($item);
1002
+        $discount           = apply_filters('wpinv_get_cart_content_details_item_discount_amount', $discount, $item);
1003
+        $quantity           = wpinv_get_cart_item_quantity($item);
1004
+        $fees               = wpinv_get_cart_fees('fee', $item_id);
1005 1005
         
1006 1006
         $subtotal           = $item_price * $quantity;
1007
-        $tax_rate           = wpinv_get_tax_rate( $_POST['country'], $_POST['state'], $wpi_item_id );
1008
-        $tax_class          = $wpinv_euvat->get_item_class( $item_id );
1009
-        $tax                = wpinv_get_cart_item_tax( $item_id, $subtotal - $discount );
1007
+        $tax_rate           = wpinv_get_tax_rate($_POST['country'], $_POST['state'], $wpi_item_id);
1008
+        $tax_class          = $wpinv_euvat->get_item_class($item_id);
1009
+        $tax                = wpinv_get_cart_item_tax($item_id, $subtotal - $discount);
1010 1010
         
1011
-        if ( ! $invoice->is_taxable() ) {
1011
+        if (!$invoice->is_taxable()) {
1012 1012
             $tax = 0;
1013 1013
         }
1014
-        if ( wpinv_prices_include_tax() ) {
1015
-            $subtotal -= wpinv_round_amount( $tax );
1014
+        if (wpinv_prices_include_tax()) {
1015
+            $subtotal -= wpinv_round_amount($tax);
1016 1016
         }
1017 1017
         
1018
-        $total              = $subtotal - $discount + $tax;
1018
+        $total = $subtotal - $discount + $tax;
1019 1019
         
1020 1020
         // Do not allow totals to go negatve
1021
-        if( $total < 0 ) {
1021
+        if ($total < 0) {
1022 1022
             $total = 0;
1023 1023
         }
1024 1024
         
1025
-        $details[ $key ]  = array(
1025
+        $details[$key] = array(
1026 1026
             'id'                => $item_id,
1027
-            'name'              => !empty($item['name']) ? $item['name'] : get_the_title( $item_id ),
1028
-            'item_price'        => wpinv_round_amount( $item_price ),
1029
-            'custom_price'      => isset( $item['custom_price'] ) ? $item['custom_price'] : '',
1027
+            'name'              => !empty($item['name']) ? $item['name'] : get_the_title($item_id),
1028
+            'item_price'        => wpinv_round_amount($item_price),
1029
+            'custom_price'      => isset($item['custom_price']) ? $item['custom_price'] : '',
1030 1030
             'quantity'          => $quantity,
1031
-            'discount'          => wpinv_round_amount( $discount ),
1032
-            'subtotal'          => wpinv_round_amount( $subtotal ),
1033
-            'tax'               => wpinv_round_amount( $tax ),
1034
-            'price'             => wpinv_round_amount( $total ),
1031
+            'discount'          => wpinv_round_amount($discount),
1032
+            'subtotal'          => wpinv_round_amount($subtotal),
1033
+            'tax'               => wpinv_round_amount($tax),
1034
+            'price'             => wpinv_round_amount($total),
1035 1035
             'vat_rates_class'   => $tax_class,
1036 1036
             'vat_rate'          => $tax_rate,
1037
-            'meta'              => isset( $item['meta'] ) ? $item['meta'] : array(),
1037
+            'meta'              => isset($item['meta']) ? $item['meta'] : array(),
1038 1038
             'fees'              => $fees,
1039 1039
         );
1040 1040
         
1041
-        if ( $wpinv_is_last_cart_item ) {
1041
+        if ($wpinv_is_last_cart_item) {
1042 1042
             $wpinv_is_last_cart_item   = false;
1043 1043
             $wpinv_flat_discount_total = 0.00;
1044 1044
         }
@@ -1047,67 +1047,67 @@  discard block
 block discarded – undo
1047 1047
     return $details;
1048 1048
 }
1049 1049
 
1050
-function wpinv_get_cart_details( $invoice_id = 0 ) {
1050
+function wpinv_get_cart_details($invoice_id = 0) {
1051 1051
     global $ajax_cart_details;
1052 1052
 
1053
-    $invoice      = wpinv_get_invoice_cart( $invoice_id );
1053
+    $invoice      = wpinv_get_invoice_cart($invoice_id);
1054 1054
     $cart_details = $ajax_cart_details;
1055
-    if ( empty( $cart_details ) && ! empty( $invoice->cart_details ) ) {
1055
+    if (empty($cart_details) && !empty($invoice->cart_details)) {
1056 1056
         $cart_details = $invoice->cart_details;
1057 1057
     }
1058 1058
 
1059
-    if ( ! empty( $cart_details ) && is_array( $cart_details ) ) {
1060
-        $invoice_currency = ! empty( $invoice->currency ) ? $invoice->currency : wpinv_get_default_country();
1059
+    if (!empty($cart_details) && is_array($cart_details)) {
1060
+        $invoice_currency = !empty($invoice->currency) ? $invoice->currency : wpinv_get_default_country();
1061 1061
 
1062
-        foreach ( $cart_details as $key => $cart_item ) {
1063
-            $cart_details[ $key ]['currency'] = $invoice_currency;
1062
+        foreach ($cart_details as $key => $cart_item) {
1063
+            $cart_details[$key]['currency'] = $invoice_currency;
1064 1064
 
1065
-            if ( ! isset( $cart_item['subtotal'] ) ) {
1066
-                $cart_details[ $key ]['subtotal'] = $cart_item['price'];
1065
+            if (!isset($cart_item['subtotal'])) {
1066
+                $cart_details[$key]['subtotal'] = $cart_item['price'];
1067 1067
             }
1068 1068
         }
1069 1069
     }
1070 1070
 
1071
-    return apply_filters( 'wpinv_get_cart_details', $cart_details, $invoice_id );
1071
+    return apply_filters('wpinv_get_cart_details', $cart_details, $invoice_id);
1072 1072
 }
1073 1073
 
1074
-function wpinv_record_status_change( $invoice_id, $new_status, $old_status ) {
1075
-    if ( 'wpi_invoice' != get_post_type( $invoice_id ) ) {
1074
+function wpinv_record_status_change($invoice_id, $new_status, $old_status) {
1075
+    if ('wpi_invoice' != get_post_type($invoice_id)) {
1076 1076
         return;
1077 1077
     }
1078 1078
 
1079
-    if ( ( $old_status == 'wpi-pending' && $new_status == 'draft' ) || ( $old_status == 'draft' && $new_status == 'wpi-pending' ) ) {
1079
+    if (($old_status == 'wpi-pending' && $new_status == 'draft') || ($old_status == 'draft' && $new_status == 'wpi-pending')) {
1080 1080
         return;
1081 1081
     }
1082 1082
 
1083
-    $invoice    = wpinv_get_invoice( $invoice_id );
1083
+    $invoice    = wpinv_get_invoice($invoice_id);
1084 1084
     
1085
-    $old_status = wpinv_status_nicename( $old_status );
1086
-    $new_status = wpinv_status_nicename( $new_status );
1085
+    $old_status = wpinv_status_nicename($old_status);
1086
+    $new_status = wpinv_status_nicename($new_status);
1087 1087
 
1088
-    $status_change = sprintf( __( 'Invoice status changed from %s to %s', 'invoicing' ), $old_status, $new_status );
1088
+    $status_change = sprintf(__('Invoice status changed from %s to %s', 'invoicing'), $old_status, $new_status);
1089 1089
     
1090 1090
     // Add note
1091
-    return $invoice->add_note( $status_change, false, false, true );
1091
+    return $invoice->add_note($status_change, false, false, true);
1092 1092
 }
1093
-add_action( 'wpinv_update_status', 'wpinv_record_status_change', 100, 3 );
1093
+add_action('wpinv_update_status', 'wpinv_record_status_change', 100, 3);
1094 1094
 
1095
-function wpinv_complete_payment( $invoice_id, $new_status, $old_status ) {
1095
+function wpinv_complete_payment($invoice_id, $new_status, $old_status) {
1096 1096
     global $wpi_has_free_trial;
1097 1097
     
1098 1098
     $wpi_has_free_trial = false;
1099 1099
     
1100
-    if ( $old_status == 'publish' ) {
1100
+    if ($old_status == 'publish') {
1101 1101
         return; // Make sure that payments are only paid once
1102 1102
     }
1103 1103
 
1104 1104
     // Make sure the payment completion is only processed when new status is paid
1105
-    if ( $new_status != 'publish' ) {
1105
+    if ($new_status != 'publish') {
1106 1106
         return;
1107 1107
     }
1108 1108
 
1109
-    $invoice = new WPInv_Invoice( $invoice_id );
1110
-    if ( empty( $invoice ) ) {
1109
+    $invoice = new WPInv_Invoice($invoice_id);
1110
+    if (empty($invoice)) {
1111 1111
         return;
1112 1112
     }
1113 1113
 
@@ -1115,58 +1115,58 @@  discard block
 block discarded – undo
1115 1115
     $completed_date = $invoice->completed_date;
1116 1116
     $cart_details   = $invoice->cart_details;
1117 1117
 
1118
-    do_action( 'wpinv_pre_complete_payment', $invoice_id );
1118
+    do_action('wpinv_pre_complete_payment', $invoice_id);
1119 1119
 
1120
-    if ( is_array( $cart_details ) ) {
1120
+    if (is_array($cart_details)) {
1121 1121
         // Increase purchase count and earnings
1122
-        foreach ( $cart_details as $cart_index => $item ) {
1122
+        foreach ($cart_details as $cart_index => $item) {
1123 1123
             // Ensure these actions only run once, ever
1124
-            if ( empty( $completed_date ) ) {
1125
-                do_action( 'wpinv_complete_item_payment', $item['id'], $invoice_id, $item, $cart_index );
1124
+            if (empty($completed_date)) {
1125
+                do_action('wpinv_complete_item_payment', $item['id'], $invoice_id, $item, $cart_index);
1126 1126
             }
1127 1127
         }
1128 1128
     }
1129 1129
     
1130 1130
     // Check for discount codes and increment their use counts
1131
-    if ( $discounts = $invoice->get_discounts( true ) ) {
1132
-        if( ! empty( $discounts ) ) {
1133
-            foreach( $discounts as $code ) {
1134
-                wpinv_increase_discount_usage( $code );
1131
+    if ($discounts = $invoice->get_discounts(true)) {
1132
+        if (!empty($discounts)) {
1133
+            foreach ($discounts as $code) {
1134
+                wpinv_increase_discount_usage($code);
1135 1135
             }
1136 1136
         }
1137 1137
     }
1138 1138
     
1139 1139
     // Ensure this action only runs once ever
1140
-    if( empty( $completed_date ) ) {
1140
+    if (empty($completed_date)) {
1141 1141
         // Save the completed date
1142
-        $invoice->set( 'completed_date', current_time( 'mysql', 0 ) );
1142
+        $invoice->set('completed_date', current_time('mysql', 0));
1143 1143
         $invoice->save();
1144 1144
 
1145
-        do_action( 'wpinv_complete_payment', $invoice_id );
1145
+        do_action('wpinv_complete_payment', $invoice_id);
1146 1146
     }
1147 1147
 
1148 1148
     // Empty the shopping cart
1149 1149
     wpinv_empty_cart();
1150 1150
 }
1151
-add_action( 'wpinv_update_status', 'wpinv_complete_payment', 100, 3 );
1151
+add_action('wpinv_update_status', 'wpinv_complete_payment', 100, 3);
1152 1152
 
1153
-function wpinv_update_payment_status( $invoice_id, $new_status = 'publish' ) {    
1154
-    $invoice = !empty( $invoice_id ) && is_object( $invoice_id ) ? $invoice_id : wpinv_get_invoice( (int)$invoice_id );
1153
+function wpinv_update_payment_status($invoice_id, $new_status = 'publish') {    
1154
+    $invoice = !empty($invoice_id) && is_object($invoice_id) ? $invoice_id : wpinv_get_invoice((int) $invoice_id);
1155 1155
 
1156
-    if ( empty( $invoice ) ) {
1156
+    if (empty($invoice)) {
1157 1157
         return false;
1158 1158
     }
1159 1159
 
1160
-    return $invoice->update_status( $new_status );
1160
+    return $invoice->update_status($new_status);
1161 1161
 }
1162 1162
 
1163
-function wpinv_cart_has_fees( $type = 'all' ) {
1163
+function wpinv_cart_has_fees($type = 'all') {
1164 1164
     return false;
1165 1165
 }
1166 1166
 
1167 1167
 function wpinv_validate_checkout_fields() {    
1168 1168
     // Check if there is $_POST
1169
-    if ( empty( $_POST ) ) {
1169
+    if (empty($_POST)) {
1170 1170
         return false;
1171 1171
     }
1172 1172
 
@@ -1189,28 +1189,28 @@  discard block
 block discarded – undo
1189 1189
     
1190 1190
     $invoice = wpinv_get_invoice_cart();
1191 1191
     $has_subscription = $invoice->is_recurring();
1192
-    if ( empty( $invoice ) ) {
1193
-        wpinv_set_error( 'invalid_invoice', __( 'Your cart is empty.', 'invoicing' ) );
1192
+    if (empty($invoice)) {
1193
+        wpinv_set_error('invalid_invoice', __('Your cart is empty.', 'invoicing'));
1194 1194
         return $gateway;
1195 1195
     }
1196 1196
 
1197 1197
     // Check if a gateway value is present
1198
-    if ( !empty( $_REQUEST['wpi-gateway'] ) ) {
1199
-        $gateway = sanitize_text_field( $_REQUEST['wpi-gateway'] );
1198
+    if (!empty($_REQUEST['wpi-gateway'])) {
1199
+        $gateway = sanitize_text_field($_REQUEST['wpi-gateway']);
1200 1200
 
1201
-        if ( $invoice->is_free() ) {
1201
+        if ($invoice->is_free()) {
1202 1202
             $gateway = 'manual';
1203
-        } elseif ( !wpinv_is_gateway_active( $gateway ) ) {
1204
-            wpinv_set_error( 'invalid_gateway', __( 'The selected payment gateway is not enabled', 'invoicing' ) );
1205
-        } elseif ( $has_subscription && !wpinv_gateway_support_subscription( $gateway ) ) {
1206
-            if ( apply_filters( 'wpinv_reject_non_recurring_gateway', true ) ) {
1207
-                wpinv_set_error( 'invalid_gateway', __( 'The selected payment gateway does not support subscription payment', 'invoicing' ) );
1203
+        } elseif (!wpinv_is_gateway_active($gateway)) {
1204
+            wpinv_set_error('invalid_gateway', __('The selected payment gateway is not enabled', 'invoicing'));
1205
+        } elseif ($has_subscription && !wpinv_gateway_support_subscription($gateway)) {
1206
+            if (apply_filters('wpinv_reject_non_recurring_gateway', true)) {
1207
+                wpinv_set_error('invalid_gateway', __('The selected payment gateway does not support subscription payment', 'invoicing'));
1208 1208
             }
1209 1209
         }
1210 1210
     }
1211 1211
 
1212
-    if ( $has_subscription && count( wpinv_get_cart_contents() ) > 1 ) {
1213
-        wpinv_set_error( 'subscription_invalid', __( 'Only one subscription may be purchased through payment per checkout.', 'invoicing' ) );
1212
+    if ($has_subscription && count(wpinv_get_cart_contents()) > 1) {
1213
+        wpinv_set_error('subscription_invalid', __('Only one subscription may be purchased through payment per checkout.', 'invoicing'));
1214 1214
     }
1215 1215
 
1216 1216
     return $gateway;
@@ -1224,10 +1224,10 @@  discard block
 block discarded – undo
1224 1224
     
1225 1225
     $error = false;
1226 1226
     // If we have discounts, loop through them
1227
-    if ( ! empty( $discounts ) ) {
1228
-        foreach ( $discounts as $discount ) {
1227
+    if (!empty($discounts)) {
1228
+        foreach ($discounts as $discount) {
1229 1229
             // Check if valid
1230
-            if (  !wpinv_is_discount_valid( $discount, (int)$wpi_cart->get_user_id() ) ) {
1230
+            if (!wpinv_is_discount_valid($discount, (int) $wpi_cart->get_user_id())) {
1231 1231
                 // Discount is not valid
1232 1232
                 $error = true;
1233 1233
             }
@@ -1237,20 +1237,20 @@  discard block
 block discarded – undo
1237 1237
         return NULL;
1238 1238
     }
1239 1239
 
1240
-    if ( $error && !wpinv_get_errors() ) {
1241
-        wpinv_set_error( 'invalid_discount', __( 'Discount code you entered is invalid', 'invoicing' ) );
1240
+    if ($error && !wpinv_get_errors()) {
1241
+        wpinv_set_error('invalid_discount', __('Discount code you entered is invalid', 'invoicing'));
1242 1242
     }
1243 1243
 
1244
-    return implode( ',', $discounts );
1244
+    return implode(',', $discounts);
1245 1245
 }
1246 1246
 
1247 1247
 function wpinv_checkout_validate_cc() {
1248 1248
     $card_data = wpinv_checkout_get_cc_info();
1249 1249
 
1250 1250
     // Validate the card zip
1251
-    if ( !empty( $card_data['wpinv_zip'] ) ) {
1252
-        if ( !wpinv_checkout_validate_cc_zip( $card_data['wpinv_zip'], $card_data['wpinv_country'] ) ) {
1253
-            wpinv_set_error( 'invalid_cc_zip', __( 'The zip / postcode you entered for your billing address is invalid', 'invoicing' ) );
1251
+    if (!empty($card_data['wpinv_zip'])) {
1252
+        if (!wpinv_checkout_validate_cc_zip($card_data['wpinv_zip'], $card_data['wpinv_country'])) {
1253
+            wpinv_set_error('invalid_cc_zip', __('The zip / postcode you entered for your billing address is invalid', 'invoicing'));
1254 1254
         }
1255 1255
     }
1256 1256
 
@@ -1260,28 +1260,28 @@  discard block
 block discarded – undo
1260 1260
 
1261 1261
 function wpinv_checkout_get_cc_info() {
1262 1262
 	$cc_info = array();
1263
-	$cc_info['card_name']      = isset( $_POST['card_name'] )       ? sanitize_text_field( $_POST['card_name'] )       : '';
1264
-	$cc_info['card_number']    = isset( $_POST['card_number'] )     ? sanitize_text_field( $_POST['card_number'] )     : '';
1265
-	$cc_info['card_cvc']       = isset( $_POST['card_cvc'] )        ? sanitize_text_field( $_POST['card_cvc'] )        : '';
1266
-	$cc_info['card_exp_month'] = isset( $_POST['card_exp_month'] )  ? sanitize_text_field( $_POST['card_exp_month'] )  : '';
1267
-	$cc_info['card_exp_year']  = isset( $_POST['card_exp_year'] )   ? sanitize_text_field( $_POST['card_exp_year'] )   : '';
1268
-	$cc_info['card_address']   = isset( $_POST['wpinv_address'] )  ? sanitize_text_field( $_POST['wpinv_address'] ) : '';
1269
-	$cc_info['card_city']      = isset( $_POST['wpinv_city'] )     ? sanitize_text_field( $_POST['wpinv_city'] )    : '';
1270
-	$cc_info['card_state']     = isset( $_POST['wpinv_state'] )    ? sanitize_text_field( $_POST['wpinv_state'] )   : '';
1271
-	$cc_info['card_country']   = isset( $_POST['wpinv_country'] )  ? sanitize_text_field( $_POST['wpinv_country'] ) : '';
1272
-	$cc_info['card_zip']       = isset( $_POST['wpinv_zip'] )      ? sanitize_text_field( $_POST['wpinv_zip'] )     : '';
1263
+	$cc_info['card_name']      = isset($_POST['card_name']) ? sanitize_text_field($_POST['card_name']) : '';
1264
+	$cc_info['card_number']    = isset($_POST['card_number']) ? sanitize_text_field($_POST['card_number']) : '';
1265
+	$cc_info['card_cvc']       = isset($_POST['card_cvc']) ? sanitize_text_field($_POST['card_cvc']) : '';
1266
+	$cc_info['card_exp_month'] = isset($_POST['card_exp_month']) ? sanitize_text_field($_POST['card_exp_month']) : '';
1267
+	$cc_info['card_exp_year']  = isset($_POST['card_exp_year']) ? sanitize_text_field($_POST['card_exp_year']) : '';
1268
+	$cc_info['card_address']   = isset($_POST['wpinv_address']) ? sanitize_text_field($_POST['wpinv_address']) : '';
1269
+	$cc_info['card_city']      = isset($_POST['wpinv_city']) ? sanitize_text_field($_POST['wpinv_city']) : '';
1270
+	$cc_info['card_state']     = isset($_POST['wpinv_state']) ? sanitize_text_field($_POST['wpinv_state']) : '';
1271
+	$cc_info['card_country']   = isset($_POST['wpinv_country']) ? sanitize_text_field($_POST['wpinv_country']) : '';
1272
+	$cc_info['card_zip']       = isset($_POST['wpinv_zip']) ? sanitize_text_field($_POST['wpinv_zip']) : '';
1273 1273
 
1274 1274
 	// Return cc info
1275 1275
 	return $cc_info;
1276 1276
 }
1277 1277
 
1278
-function wpinv_checkout_validate_cc_zip( $zip = 0, $country_code = '' ) {
1278
+function wpinv_checkout_validate_cc_zip($zip = 0, $country_code = '') {
1279 1279
     $ret = false;
1280 1280
 
1281
-    if ( empty( $zip ) || empty( $country_code ) )
1281
+    if (empty($zip) || empty($country_code))
1282 1282
         return $ret;
1283 1283
 
1284
-    $country_code = strtoupper( $country_code );
1284
+    $country_code = strtoupper($country_code);
1285 1285
 
1286 1286
     $zip_regex = array(
1287 1287
         "AD" => "AD\d{3}",
@@ -1441,72 +1441,72 @@  discard block
 block discarded – undo
1441 1441
         "ZM" => "\d{5}"
1442 1442
     );
1443 1443
 
1444
-    if ( ! isset ( $zip_regex[ $country_code ] ) || preg_match( "/" . $zip_regex[ $country_code ] . "/i", $zip ) )
1444
+    if (!isset ($zip_regex[$country_code]) || preg_match("/" . $zip_regex[$country_code] . "/i", $zip))
1445 1445
         $ret = true;
1446 1446
 
1447
-    return apply_filters( 'wpinv_is_zip_valid', $ret, $zip, $country_code );
1447
+    return apply_filters('wpinv_is_zip_valid', $ret, $zip, $country_code);
1448 1448
 }
1449 1449
 
1450 1450
 function wpinv_checkout_validate_agree_to_terms() {
1451 1451
     // Validate agree to terms
1452
-    if ( ! isset( $_POST['wpi_agree_to_terms'] ) || $_POST['wpi_agree_to_terms'] != 1 ) {
1452
+    if (!isset($_POST['wpi_agree_to_terms']) || $_POST['wpi_agree_to_terms'] != 1) {
1453 1453
         // User did not agree
1454
-        wpinv_set_error( 'agree_to_terms', apply_filters( 'wpinv_agree_to_terms_text', __( 'You must agree to the terms of use', 'invoicing' ) ) );
1454
+        wpinv_set_error('agree_to_terms', apply_filters('wpinv_agree_to_terms_text', __('You must agree to the terms of use', 'invoicing')));
1455 1455
     }
1456 1456
 }
1457 1457
 
1458 1458
 function wpinv_checkout_validate_invoice_user() {
1459 1459
     global $wpi_cart, $user_ID;
1460 1460
 
1461
-    if(empty($wpi_cart)){
1461
+    if (empty($wpi_cart)) {
1462 1462
         $wpi_cart = wpinv_get_invoice_cart();
1463 1463
     }
1464 1464
 
1465
-    $invoice_user = (int)$wpi_cart->get_user_id();
1465
+    $invoice_user = (int) $wpi_cart->get_user_id();
1466 1466
     $valid_user_data = array(
1467 1467
         'user_id' => $invoice_user
1468 1468
     );
1469 1469
 
1470 1470
     // If guest checkout allowed
1471
-    if ( !wpinv_require_login_to_checkout() ) {
1471
+    if (!wpinv_require_login_to_checkout()) {
1472 1472
         return $valid_user_data;
1473 1473
     }
1474 1474
     
1475 1475
     // Verify there is a user_ID
1476
-    if ( $user_ID == $invoice_user ) {
1476
+    if ($user_ID == $invoice_user) {
1477 1477
         // Get the logged in user data
1478
-        $user_data = get_userdata( $user_ID );
1479
-        $required_fields  = wpinv_checkout_required_fields();
1478
+        $user_data = get_userdata($user_ID);
1479
+        $required_fields = wpinv_checkout_required_fields();
1480 1480
 
1481 1481
         // Loop through required fields and show error messages
1482
-         if ( !empty( $required_fields ) ) {
1483
-            foreach ( $required_fields as $field_name => $value ) {
1484
-                if ( in_array( $value, $required_fields ) && empty( $_POST[ 'wpinv_' . $field_name ] ) ) {
1485
-                    wpinv_set_error( $value['error_id'], $value['error_message'] );
1482
+         if (!empty($required_fields)) {
1483
+            foreach ($required_fields as $field_name => $value) {
1484
+                if (in_array($value, $required_fields) && empty($_POST['wpinv_' . $field_name])) {
1485
+                    wpinv_set_error($value['error_id'], $value['error_message']);
1486 1486
                 }
1487 1487
             }
1488 1488
         }
1489 1489
 
1490 1490
         // Verify data
1491
-        if ( $user_data ) {
1491
+        if ($user_data) {
1492 1492
             // Collected logged in user data
1493 1493
             $valid_user_data = array(
1494 1494
                 'user_id'     => $user_ID,
1495
-                'email'       => isset( $_POST['wpinv_email'] ) ? sanitize_email( $_POST['wpinv_email'] ) : $user_data->user_email,
1496
-                'first_name'  => isset( $_POST['wpinv_first_name'] ) && ! empty( $_POST['wpinv_first_name'] ) ? sanitize_text_field( $_POST['wpinv_first_name'] ) : $user_data->first_name,
1497
-                'last_name'   => isset( $_POST['wpinv_last_name'] ) && ! empty( $_POST['wpinv_last_name']  ) ? sanitize_text_field( $_POST['wpinv_last_name']  ) : $user_data->last_name,
1495
+                'email'       => isset($_POST['wpinv_email']) ? sanitize_email($_POST['wpinv_email']) : $user_data->user_email,
1496
+                'first_name'  => isset($_POST['wpinv_first_name']) && !empty($_POST['wpinv_first_name']) ? sanitize_text_field($_POST['wpinv_first_name']) : $user_data->first_name,
1497
+                'last_name'   => isset($_POST['wpinv_last_name']) && !empty($_POST['wpinv_last_name']) ? sanitize_text_field($_POST['wpinv_last_name']) : $user_data->last_name,
1498 1498
             );
1499 1499
 
1500
-            if ( !empty( $_POST[ 'wpinv_email' ] ) && !is_email( $_POST[ 'wpinv_email' ] ) ) {
1501
-                wpinv_set_error( 'invalid_email', __( 'Please enter a valid email address', 'invoicing' ) );
1500
+            if (!empty($_POST['wpinv_email']) && !is_email($_POST['wpinv_email'])) {
1501
+                wpinv_set_error('invalid_email', __('Please enter a valid email address', 'invoicing'));
1502 1502
             }
1503 1503
         } else {
1504 1504
             // Set invalid user error
1505
-            wpinv_set_error( 'invalid_user', __( 'The user billing information is invalid', 'invoicing' ) );
1505
+            wpinv_set_error('invalid_user', __('The user billing information is invalid', 'invoicing'));
1506 1506
         }
1507 1507
     } else {
1508 1508
         // Set invalid user error
1509
-        wpinv_set_error( 'invalid_user_id', __( 'The invalid invoice user id', 'invoicing' ) );
1509
+        wpinv_set_error('invalid_user_id', __('The invalid invoice user id', 'invoicing'));
1510 1510
     }
1511 1511
 
1512 1512
     // Return user data
@@ -1518,27 +1518,27 @@  discard block
 block discarded – undo
1518 1518
 
1519 1519
     $data = array();
1520 1520
     
1521
-    if ( is_user_logged_in() ) {
1522
-        if ( !wpinv_require_login_to_checkout() || ( wpinv_require_login_to_checkout() && (int)$wpi_cart->get_user_id() === (int)get_current_user_id() ) ) {
1523
-            $data['user_id'] = (int)get_current_user_id();
1521
+    if (is_user_logged_in()) {
1522
+        if (!wpinv_require_login_to_checkout() || (wpinv_require_login_to_checkout() && (int) $wpi_cart->get_user_id() === (int) get_current_user_id())) {
1523
+            $data['user_id'] = (int) get_current_user_id();
1524 1524
         } else {
1525
-            wpinv_set_error( 'logged_in_only', __( 'You are not allowed to pay for this invoice', 'invoicing' ) );
1525
+            wpinv_set_error('logged_in_only', __('You are not allowed to pay for this invoice', 'invoicing'));
1526 1526
         }
1527 1527
     } else {
1528 1528
         // If guest checkout allowed
1529
-        if ( !wpinv_require_login_to_checkout() ) {
1529
+        if (!wpinv_require_login_to_checkout()) {
1530 1530
             $data['user_id'] = 0;
1531 1531
         } else {
1532
-            wpinv_set_error( 'logged_in_only', __( 'You must be logged in to pay for this invoice', 'invoicing' ) );
1532
+            wpinv_set_error('logged_in_only', __('You must be logged in to pay for this invoice', 'invoicing'));
1533 1533
         }
1534 1534
     }
1535 1535
 
1536 1536
     return $data;
1537 1537
 }
1538 1538
 
1539
-function wpinv_checkout_form_get_user( $valid_data = array() ) {
1539
+function wpinv_checkout_form_get_user($valid_data = array()) {
1540 1540
 
1541
-    if ( !empty( $valid_data['current_user']['user_id'] ) ) {
1541
+    if (!empty($valid_data['current_user']['user_id'])) {
1542 1542
         $user = $valid_data['current_user'];
1543 1543
     } else {
1544 1544
         // Set the valid invoice user
@@ -1546,7 +1546,7 @@  discard block
 block discarded – undo
1546 1546
     }
1547 1547
 
1548 1548
     // Verify invoice have an user
1549
-    if ( false === $user || empty( $user ) ) {
1549
+    if (false === $user || empty($user)) {
1550 1550
         return false;
1551 1551
     }
1552 1552
 
@@ -1563,11 +1563,11 @@  discard block
 block discarded – undo
1563 1563
         'zip',
1564 1564
     );
1565 1565
     
1566
-    foreach ( $address_fields as $field ) {
1567
-        $user[$field]  = !empty( $_POST['wpinv_' . $field] ) ? sanitize_text_field( $_POST['wpinv_' . $field] ) : false;
1566
+    foreach ($address_fields as $field) {
1567
+        $user[$field] = !empty($_POST['wpinv_' . $field]) ? sanitize_text_field($_POST['wpinv_' . $field]) : false;
1568 1568
         
1569
-        if ( !empty( $user['user_id'] ) && !empty( $valid_data['current_user']['user_id'] ) && $valid_data['current_user']['user_id'] == $valid_data['invoice_user']['user_id'] ) {
1570
-            update_user_meta( $user['user_id'], '_wpinv_' . $field, $user[$field] );
1569
+        if (!empty($user['user_id']) && !empty($valid_data['current_user']['user_id']) && $valid_data['current_user']['user_id'] == $valid_data['invoice_user']['user_id']) {
1570
+            update_user_meta($user['user_id'], '_wpinv_' . $field, $user[$field]);
1571 1571
         }
1572 1572
     }
1573 1573
 
@@ -1575,26 +1575,26 @@  discard block
 block discarded – undo
1575 1575
     return $user;
1576 1576
 }
1577 1577
 
1578
-function wpinv_set_checkout_session( $invoice_data = array() ) {
1578
+function wpinv_set_checkout_session($invoice_data = array()) {
1579 1579
     global $wpi_session;
1580
-    return $wpi_session->set( 'wpinv_checkout', $invoice_data );
1580
+    return $wpi_session->set('wpinv_checkout', $invoice_data);
1581 1581
 }
1582 1582
 
1583 1583
 function wpinv_get_checkout_session() {
1584 1584
 	global $wpi_session;
1585
-    return $wpi_session->get( 'wpinv_checkout' );
1585
+    return $wpi_session->get('wpinv_checkout');
1586 1586
 }
1587 1587
 
1588 1588
 function wpinv_empty_cart() {
1589 1589
     global $wpi_session;
1590 1590
 
1591 1591
     // Remove cart contents
1592
-    $wpi_session->set( 'wpinv_checkout', NULL );
1592
+    $wpi_session->set('wpinv_checkout', NULL);
1593 1593
 
1594 1594
     // Remove all cart fees
1595
-    $wpi_session->set( 'wpi_cart_fees', NULL );
1595
+    $wpi_session->set('wpi_cart_fees', NULL);
1596 1596
 
1597
-    do_action( 'wpinv_empty_cart' );
1597
+    do_action('wpinv_empty_cart');
1598 1598
 }
1599 1599
 
1600 1600
 function wpinv_process_checkout() {
@@ -1603,7 +1603,7 @@  discard block
 block discarded – undo
1603 1603
     wpinv_clear_errors();
1604 1604
 
1605 1605
     $invoice = wpinv_get_invoice_cart();
1606
-    if ( empty( $invoice ) ) {
1606
+    if (empty($invoice)) {
1607 1607
         return false;
1608 1608
     }
1609 1609
 
@@ -1611,42 +1611,42 @@  discard block
 block discarded – undo
1611 1611
 
1612 1612
     $wpi_checkout_id = $invoice->ID;
1613 1613
 
1614
-    do_action( 'wpinv_pre_process_checkout' );
1614
+    do_action('wpinv_pre_process_checkout');
1615 1615
     
1616
-    if ( !wpinv_get_cart_contents() ) { // Make sure the cart isn't empty
1616
+    if (!wpinv_get_cart_contents()) { // Make sure the cart isn't empty
1617 1617
         $valid_data = false;
1618
-        wpinv_set_error( 'empty_cart', __( 'Your cart is empty', 'invoicing' ) );
1618
+        wpinv_set_error('empty_cart', __('Your cart is empty', 'invoicing'));
1619 1619
     } else {
1620 1620
         // Validate the form $_POST data
1621 1621
         $valid_data = wpinv_validate_checkout_fields();
1622 1622
         
1623 1623
         // Allow themes and plugins to hook to errors
1624
-        do_action( 'wpinv_checkout_error_checks', $valid_data, $_POST );
1624
+        do_action('wpinv_checkout_error_checks', $valid_data, $_POST);
1625 1625
     }
1626 1626
     
1627
-    $is_ajax    = defined( 'DOING_AJAX' ) && DOING_AJAX;
1627
+    $is_ajax = defined('DOING_AJAX') && DOING_AJAX;
1628 1628
     
1629 1629
     // Validate the user
1630
-    $user = wpinv_checkout_form_get_user( $valid_data );
1630
+    $user = wpinv_checkout_form_get_user($valid_data);
1631 1631
 
1632 1632
     // Let extensions validate fields after user is logged in if user has used login/registration form
1633
-    do_action( 'wpinv_checkout_user_error_checks', $user, $valid_data, $_POST );
1633
+    do_action('wpinv_checkout_user_error_checks', $user, $valid_data, $_POST);
1634 1634
     
1635
-    if ( false === $valid_data || wpinv_get_errors() || ! $user ) {
1636
-        if ( $is_ajax && 'wpinv_payment_form' != $_REQUEST['action'] ) {
1637
-            do_action( 'wpinv_ajax_checkout_errors' );
1635
+    if (false === $valid_data || wpinv_get_errors() || !$user) {
1636
+        if ($is_ajax && 'wpinv_payment_form' != $_REQUEST['action']) {
1637
+            do_action('wpinv_ajax_checkout_errors');
1638 1638
             die();
1639 1639
         } else {
1640 1640
             return false;
1641 1641
         }
1642 1642
     }
1643 1643
 
1644
-    if ( $is_ajax && 'wpinv_payment_form' != $_REQUEST['action'] ) {
1644
+    if ($is_ajax && 'wpinv_payment_form' != $_REQUEST['action']) {
1645 1645
         // Save address fields.
1646
-        $address_fields = array( 'first_name', 'last_name', 'phone', 'address', 'city', 'country', 'state', 'zip', 'company' );
1647
-        foreach ( $address_fields as $field ) {
1648
-            if ( isset( $user[$field] ) ) {
1649
-                $invoice->set( $field, $user[$field] );
1646
+        $address_fields = array('first_name', 'last_name', 'phone', 'address', 'city', 'country', 'state', 'zip', 'company');
1647
+        foreach ($address_fields as $field) {
1648
+            if (isset($user[$field])) {
1649
+                $invoice->set($field, $user[$field]);
1650 1650
             }
1651 1651
 
1652 1652
             $invoice->save();
@@ -1654,16 +1654,16 @@  discard block
 block discarded – undo
1654 1654
 
1655 1655
         $response['success']            = true;
1656 1656
         $response['data']['subtotal']   = $invoice->get_subtotal();
1657
-        $response['data']['subtotalf']  = $invoice->get_subtotal( true );
1657
+        $response['data']['subtotalf']  = $invoice->get_subtotal(true);
1658 1658
         $response['data']['discount']   = $invoice->get_discount();
1659
-        $response['data']['discountf']  = $invoice->get_discount( true );
1659
+        $response['data']['discountf']  = $invoice->get_discount(true);
1660 1660
         $response['data']['tax']        = $invoice->get_tax();
1661
-        $response['data']['taxf']       = $invoice->get_tax( true );
1661
+        $response['data']['taxf']       = $invoice->get_tax(true);
1662 1662
         $response['data']['total']      = $invoice->get_total();
1663
-        $response['data']['totalf']     = $invoice->get_total( true );
1664
-	    $response['data']['free']       = $invoice->is_free() && ( ! ( (float) $response['data']['total'] > 0 ) || $invoice->is_free_trial() ) ? true : false;
1663
+        $response['data']['totalf']     = $invoice->get_total(true);
1664
+	    $response['data']['free'] = $invoice->is_free() && (!((float) $response['data']['total'] > 0) || $invoice->is_free_trial()) ? true : false;
1665 1665
 
1666
-        wp_send_json( $response );
1666
+        wp_send_json($response);
1667 1667
     }
1668 1668
     
1669 1669
     $user_info = array(
@@ -1685,42 +1685,42 @@  discard block
 block discarded – undo
1685 1685
     
1686 1686
     // Setup invoice information
1687 1687
     $invoice_data = array(
1688
-        'invoice_id'        => !empty( $invoice ) ? $invoice->ID : 0,
1688
+        'invoice_id'        => !empty($invoice) ? $invoice->ID : 0,
1689 1689
         'items'             => $cart_items,
1690 1690
         'cart_discounts'    => $discounts,
1691
-        'fees'              => wpinv_get_cart_fees(),        // Any arbitrary fees that have been added to the cart
1692
-        'subtotal'          => wpinv_get_cart_subtotal( $cart_items ),    // Amount before taxes and discounts
1693
-        'discount'          => wpinv_get_cart_items_discount_amount( $cart_items, $discounts ), // Discounted amount
1694
-        'tax'               => wpinv_get_cart_tax( $cart_items, $invoice ),               // Taxed amount
1695
-        'price'             => wpinv_get_cart_total( $cart_items, $discounts ),    // Amount after taxes
1691
+        'fees'              => wpinv_get_cart_fees(), // Any arbitrary fees that have been added to the cart
1692
+        'subtotal'          => wpinv_get_cart_subtotal($cart_items), // Amount before taxes and discounts
1693
+        'discount'          => wpinv_get_cart_items_discount_amount($cart_items, $discounts), // Discounted amount
1694
+        'tax'               => wpinv_get_cart_tax($cart_items, $invoice), // Taxed amount
1695
+        'price'             => wpinv_get_cart_total($cart_items, $discounts), // Amount after taxes
1696 1696
         'invoice_key'       => $invoice->get_key() ? $invoice->get_key() : $invoice->generate_key(),
1697 1697
         'user_email'        => $invoice->get_email(),
1698
-        'date'              => date( 'Y-m-d H:i:s', current_time( 'timestamp' ) ),
1699
-        'user_info'         => stripslashes_deep( $user_info ),
1698
+        'date'              => date('Y-m-d H:i:s', current_time('timestamp')),
1699
+        'user_info'         => stripslashes_deep($user_info),
1700 1700
         'post_data'         => $_POST,
1701 1701
         'cart_details'      => $cart_items,
1702 1702
         'gateway'           => $valid_data['gateway'],
1703 1703
         'card_info'         => $valid_data['cc_info']
1704 1704
     );
1705 1705
     
1706
-    $vat_info   = $wpinv_euvat->current_vat_data();
1707
-    if ( is_array( $vat_info ) ) {
1706
+    $vat_info = $wpinv_euvat->current_vat_data();
1707
+    if (is_array($vat_info)) {
1708 1708
         $invoice_data['user_info']['vat_number']        = $vat_info['number'];
1709 1709
         $invoice_data['user_info']['vat_rate']          = wpinv_get_tax_rate($invoice_data['user_info']['country'], $invoice_data['user_info']['state']);
1710
-        $invoice_data['user_info']['adddress_confirmed']    = isset($vat_info['adddress_confirmed']) ? $vat_info['adddress_confirmed'] : false;
1710
+        $invoice_data['user_info']['adddress_confirmed'] = isset($vat_info['adddress_confirmed']) ? $vat_info['adddress_confirmed'] : false;
1711 1711
 
1712 1712
         // Add the VAT rate to each item in the cart
1713
-        foreach( $invoice_data['cart_details'] as $key => $item_data) {
1713
+        foreach ($invoice_data['cart_details'] as $key => $item_data) {
1714 1714
             $rate = wpinv_get_tax_rate($invoice_data['user_info']['country'], $invoice_data['user_info']['state'], $item_data['id']);
1715
-            $invoice_data['cart_details'][$key]['vat_rate'] = wpinv_round_amount( $rate, 4 );
1715
+            $invoice_data['cart_details'][$key]['vat_rate'] = wpinv_round_amount($rate, 4);
1716 1716
         }
1717 1717
     }
1718 1718
     
1719 1719
     // Save vat fields.
1720
-    $address_fields = array( 'vat_number', 'vat_rate', 'adddress_confirmed' );
1721
-    foreach ( $address_fields as $field ) {
1722
-        if ( isset( $invoice_data['user_info'][$field] ) ) {
1723
-            $invoice->set( $field, $invoice_data['user_info'][$field] );
1720
+    $address_fields = array('vat_number', 'vat_rate', 'adddress_confirmed');
1721
+    foreach ($address_fields as $field) {
1722
+        if (isset($invoice_data['user_info'][$field])) {
1723
+            $invoice->set($field, $invoice_data['user_info'][$field]);
1724 1724
         }
1725 1725
     }
1726 1726
     $invoice->save();
@@ -1729,54 +1729,54 @@  discard block
 block discarded – undo
1729 1729
     $valid_data['user'] = $user;
1730 1730
     
1731 1731
     // Allow themes and plugins to hook before the gateway
1732
-    do_action( 'wpinv_checkout_before_gateway', $_POST, $user_info, $valid_data );
1732
+    do_action('wpinv_checkout_before_gateway', $_POST, $user_info, $valid_data);
1733 1733
 
1734 1734
      // If it is free, abort.
1735
-     if ( $invoice->is_free() && ( ! $invoice->is_recurring() || 0 ==  $invoice->get_recurring_details( 'total' ) ) ) {
1735
+     if ($invoice->is_free() && (!$invoice->is_recurring() || 0 == $invoice->get_recurring_details('total'))) {
1736 1736
         $invoice_data['gateway'] = 'manual';
1737 1737
         $_POST['wpi-gateway'] = 'manual';
1738 1738
     }
1739 1739
 
1740 1740
     // Allow the invoice data to be modified before it is sent to the gateway
1741
-    $invoice_data = apply_filters( 'wpinv_data_before_gateway', $invoice_data, $valid_data );
1741
+    $invoice_data = apply_filters('wpinv_data_before_gateway', $invoice_data, $valid_data);
1742 1742
     
1743
-    if ( $invoice_data['price'] && $invoice_data['gateway'] == 'manual' ) {
1743
+    if ($invoice_data['price'] && $invoice_data['gateway'] == 'manual') {
1744 1744
         $mode = 'test';
1745 1745
     } else {
1746
-        $mode = wpinv_is_test_mode( $invoice_data['gateway'] ) ? 'test' : 'live';
1746
+        $mode = wpinv_is_test_mode($invoice_data['gateway']) ? 'test' : 'live';
1747 1747
     }
1748 1748
 
1749 1749
     // Setup the data we're storing in the purchase session
1750 1750
     $session_data = $invoice_data;
1751 1751
     // Make sure credit card numbers are never stored in sessions
1752
-    if ( !empty( $session_data['card_info']['card_number'] ) ) {
1753
-        unset( $session_data['card_info']['card_number'] );
1752
+    if (!empty($session_data['card_info']['card_number'])) {
1753
+        unset($session_data['card_info']['card_number']);
1754 1754
     }
1755 1755
     
1756 1756
     // Used for showing item links to non logged-in users after purchase, and for other plugins needing purchase data.
1757
-    wpinv_set_checkout_session( $invoice_data );
1757
+    wpinv_set_checkout_session($invoice_data);
1758 1758
     
1759 1759
     // Set gateway
1760
-    $invoice->update_meta( '_wpinv_gateway', $invoice_data['gateway'] );
1761
-    $invoice->update_meta( '_wpinv_mode', $mode );
1762
-    $invoice->update_meta( '_wpinv_checkout', date_i18n( 'Y-m-d H:i:s', current_time( 'timestamp' ) ) );
1760
+    $invoice->update_meta('_wpinv_gateway', $invoice_data['gateway']);
1761
+    $invoice->update_meta('_wpinv_mode', $mode);
1762
+    $invoice->update_meta('_wpinv_checkout', date_i18n('Y-m-d H:i:s', current_time('timestamp')));
1763 1763
     
1764
-    do_action( 'wpinv_checkout_before_send_to_gateway', $invoice, $invoice_data );
1764
+    do_action('wpinv_checkout_before_send_to_gateway', $invoice, $invoice_data);
1765 1765
 
1766 1766
     // Send info to the gateway for payment processing
1767
-    wpinv_send_to_gateway( $invoice_data['gateway'], $invoice_data );
1767
+    wpinv_send_to_gateway($invoice_data['gateway'], $invoice_data);
1768 1768
     die();
1769 1769
 }
1770
-add_action( 'wpinv_payment', 'wpinv_process_checkout' );
1770
+add_action('wpinv_payment', 'wpinv_process_checkout');
1771 1771
 
1772
-function wpinv_get_invoices( $args ) {
1773
-    $args = wp_parse_args( $args, array(
1774
-        'status'   => array_keys( wpinv_get_invoice_statuses() ),
1772
+function wpinv_get_invoices($args) {
1773
+    $args = wp_parse_args($args, array(
1774
+        'status'   => array_keys(wpinv_get_invoice_statuses()),
1775 1775
         'type'     => 'wpi_invoice',
1776 1776
         'parent'   => null,
1777 1777
         'user'     => null,
1778 1778
         'email'    => '',
1779
-        'limit'    => get_option( 'posts_per_page' ),
1779
+        'limit'    => get_option('posts_per_page'),
1780 1780
         'offset'   => null,
1781 1781
         'page'     => 1,
1782 1782
         'exclude'  => array(),
@@ -1784,7 +1784,7 @@  discard block
 block discarded – undo
1784 1784
         'order'    => 'DESC',
1785 1785
         'return'   => 'objects',
1786 1786
         'paginate' => false,
1787
-    ) );
1787
+    ));
1788 1788
     
1789 1789
     // Handle some BW compatibility arg names where wp_query args differ in naming.
1790 1790
     $map_legacy = array(
@@ -1797,18 +1797,18 @@  discard block
 block discarded – undo
1797 1797
         'paged'          => 'page',
1798 1798
     );
1799 1799
 
1800
-    foreach ( $map_legacy as $from => $to ) {
1801
-        if ( isset( $args[ $from ] ) ) {
1802
-            $args[ $to ] = $args[ $from ];
1800
+    foreach ($map_legacy as $from => $to) {
1801
+        if (isset($args[$from])) {
1802
+            $args[$to] = $args[$from];
1803 1803
         }
1804 1804
     }
1805 1805
 
1806
-    if ( get_query_var( 'paged' ) )
1806
+    if (get_query_var('paged'))
1807 1807
         $args['page'] = get_query_var('paged');
1808
-    else if ( get_query_var( 'page' ) )
1809
-        $args['page'] = get_query_var( 'page' );
1810
-    else if ( !empty( $args[ 'page' ] ) )
1811
-        $args['page'] = $args[ 'page' ];
1808
+    else if (get_query_var('page'))
1809
+        $args['page'] = get_query_var('page');
1810
+    else if (!empty($args['page']))
1811
+        $args['page'] = $args['page'];
1812 1812
     else
1813 1813
         $args['page'] = 1;
1814 1814
 
@@ -1821,48 +1821,48 @@  discard block
 block discarded – undo
1821 1821
         'post_status'    => $args['status'],
1822 1822
         'posts_per_page' => $args['limit'],
1823 1823
         'meta_query'     => array(),
1824
-        'date_query'     => !empty( $args['date_query'] ) ? $args['date_query'] : array(),
1824
+        'date_query'     => !empty($args['date_query']) ? $args['date_query'] : array(),
1825 1825
         'fields'         => 'ids',
1826 1826
         'orderby'        => $args['orderby'],
1827 1827
         'order'          => $args['order'],
1828 1828
     );
1829 1829
     
1830
-    if ( !empty( $args['user'] ) ) {
1831
-        $wp_query_args['author'] = absint( $args['user'] );
1830
+    if (!empty($args['user'])) {
1831
+        $wp_query_args['author'] = absint($args['user']);
1832 1832
     }
1833 1833
 
1834
-    if ( ! is_null( $args['parent'] ) ) {
1835
-        $wp_query_args['post_parent'] = absint( $args['parent'] );
1834
+    if (!is_null($args['parent'])) {
1835
+        $wp_query_args['post_parent'] = absint($args['parent']);
1836 1836
     }
1837 1837
 
1838
-    if ( ! is_null( $args['offset'] ) ) {
1839
-        $wp_query_args['offset'] = absint( $args['offset'] );
1838
+    if (!is_null($args['offset'])) {
1839
+        $wp_query_args['offset'] = absint($args['offset']);
1840 1840
     } else {
1841
-        $wp_query_args['paged'] = absint( $args['page'] );
1841
+        $wp_query_args['paged'] = absint($args['page']);
1842 1842
     }
1843 1843
 
1844
-    if ( ! empty( $args['exclude'] ) ) {
1845
-        $wp_query_args['post__not_in'] = array_map( 'absint', $args['exclude'] );
1844
+    if (!empty($args['exclude'])) {
1845
+        $wp_query_args['post__not_in'] = array_map('absint', $args['exclude']);
1846 1846
     }
1847 1847
 
1848
-    if ( ! $args['paginate' ] ) {
1848
+    if (!$args['paginate']) {
1849 1849
         $wp_query_args['no_found_rows'] = true;
1850 1850
     }
1851 1851
 
1852 1852
     $wp_query_args = apply_filters('wpinv_get_invoices_args', $wp_query_args, $args);
1853 1853
 
1854 1854
     // Get results.
1855
-    $invoices = new WP_Query( $wp_query_args );
1855
+    $invoices = new WP_Query($wp_query_args);
1856 1856
 
1857
-    if ( 'objects' === $args['return'] ) {
1858
-        $return = array_map( 'wpinv_get_invoice', $invoices->posts );
1859
-    } elseif ( 'self' === $args['return'] ) {
1857
+    if ('objects' === $args['return']) {
1858
+        $return = array_map('wpinv_get_invoice', $invoices->posts);
1859
+    } elseif ('self' === $args['return']) {
1860 1860
         return $invoices;
1861 1861
     } else {
1862 1862
         $return = $invoices->posts;
1863 1863
     }
1864 1864
 
1865
-    if ( $args['paginate' ] ) {
1865
+    if ($args['paginate']) {
1866 1866
         return (object) array(
1867 1867
             'invoices'      => $return,
1868 1868
             'total'         => $invoices->found_posts,
@@ -1875,22 +1875,22 @@  discard block
 block discarded – undo
1875 1875
 
1876 1876
 function wpinv_get_user_invoices_columns() {
1877 1877
     $columns = array(
1878
-            'invoice-number'  => array( 'title' => __( 'ID', 'invoicing' ), 'class' => 'text-left' ),
1879
-            'created-date'    => array( 'title' => __( 'Created Date', 'invoicing' ), 'class' => 'text-left' ),
1880
-            'payment-date'    => array( 'title' => __( 'Payment Date', 'invoicing' ), 'class' => 'text-left' ),
1881
-            'invoice-status'  => array( 'title' => __( 'Status', 'invoicing' ), 'class' => 'text-center' ),
1882
-            'invoice-total'   => array( 'title' => __( 'Total', 'invoicing' ), 'class' => 'text-right' ),
1883
-            'invoice-actions' => array( 'title' => '&nbsp;', 'class' => 'text-center' ),
1878
+            'invoice-number'  => array('title' => __('ID', 'invoicing'), 'class' => 'text-left'),
1879
+            'created-date'    => array('title' => __('Created Date', 'invoicing'), 'class' => 'text-left'),
1880
+            'payment-date'    => array('title' => __('Payment Date', 'invoicing'), 'class' => 'text-left'),
1881
+            'invoice-status'  => array('title' => __('Status', 'invoicing'), 'class' => 'text-center'),
1882
+            'invoice-total'   => array('title' => __('Total', 'invoicing'), 'class' => 'text-right'),
1883
+            'invoice-actions' => array('title' => '&nbsp;', 'class' => 'text-center'),
1884 1884
         );
1885 1885
 
1886
-    return apply_filters( 'wpinv_user_invoices_columns', $columns );
1886
+    return apply_filters('wpinv_user_invoices_columns', $columns);
1887 1887
 }
1888 1888
 
1889
-function wpinv_payment_receipt( $atts, $content = null ) {
1889
+function wpinv_payment_receipt($atts, $content = null) {
1890 1890
     global $wpinv_receipt_args;
1891 1891
 
1892
-    $wpinv_receipt_args = shortcode_atts( array(
1893
-        'error'           => __( 'Sorry, trouble retrieving payment receipt.', 'invoicing' ),
1892
+    $wpinv_receipt_args = shortcode_atts(array(
1893
+        'error'           => __('Sorry, trouble retrieving payment receipt.', 'invoicing'),
1894 1894
         'price'           => true,
1895 1895
         'discount'        => true,
1896 1896
         'items'           => true,
@@ -1899,45 +1899,45 @@  discard block
 block discarded – undo
1899 1899
         'invoice_key'     => false,
1900 1900
         'payment_method'  => true,
1901 1901
         'invoice_id'      => true
1902
-    ), $atts, 'wpinv_receipt' );
1902
+    ), $atts, 'wpinv_receipt');
1903 1903
 
1904 1904
     // Find the invoice.
1905 1905
     $session = wpinv_get_checkout_session();
1906 1906
 
1907
-    if ( isset( $_GET['invoice_key'] ) ) {
1908
-        $invoice_id = wpinv_get_invoice_id_by_key( urldecode( $_GET['invoice_key'] ) );
1909
-    } else if ( isset( $_GET['invoice-id'] ) ) {
1907
+    if (isset($_GET['invoice_key'])) {
1908
+        $invoice_id = wpinv_get_invoice_id_by_key(urldecode($_GET['invoice_key']));
1909
+    } else if (isset($_GET['invoice-id'])) {
1910 1910
         $invoice_id = (int) $_GET['invoice-id'];
1911
-    } else if ( $session && isset( $session['invoice_key'] ) ) {
1912
-        $invoice_id = wpinv_get_invoice_id_by_key( $session['invoice_key'] );
1913
-    } else if ( isset( $wpinv_receipt_args['invoice_key'] ) && $wpinv_receipt_args['invoice_key'] ) {
1914
-        $invoice_id = wpinv_get_invoice_id_by_key( $wpinv_receipt_args['invoice_key'] );
1911
+    } else if ($session && isset($session['invoice_key'])) {
1912
+        $invoice_id = wpinv_get_invoice_id_by_key($session['invoice_key']);
1913
+    } else if (isset($wpinv_receipt_args['invoice_key']) && $wpinv_receipt_args['invoice_key']) {
1914
+        $invoice_id = wpinv_get_invoice_id_by_key($wpinv_receipt_args['invoice_key']);
1915 1915
     }
1916 1916
 
1917 1917
     // Did we find the invoice?
1918
-    if ( empty( $invoice_id ) || ! $invoice = wpinv_get_invoice( $invoice_id ) ) {
1919
-        return '<p class="alert alert-error">' . __( 'We could not find your invoice.', 'invoicing' ) . '</p>';
1918
+    if (empty($invoice_id) || !$invoice = wpinv_get_invoice($invoice_id)) {
1919
+        return '<p class="alert alert-error">' . __('We could not find your invoice.', 'invoicing') . '</p>';
1920 1920
     }
1921 1921
 
1922 1922
     $invoice_key   = $invoice->get_key();
1923
-    $user_can_view = wpinv_can_view_receipt( $invoice_key );
1924
-    if ( $user_can_view && isset( $_GET['invoice-id'] ) ) {
1925
-        $user_can_view  = $_GET['invoice-id'] == $invoice->ID;
1923
+    $user_can_view = wpinv_can_view_receipt($invoice_key);
1924
+    if ($user_can_view && isset($_GET['invoice-id'])) {
1925
+        $user_can_view = $_GET['invoice-id'] == $invoice->ID;
1926 1926
     }
1927 1927
 
1928 1928
     // Key was provided, but user is logged out. Offer them the ability to login and view the receipt
1929
-    if ( ! $user_can_view && ! empty( $invoice_key ) && ! is_user_logged_in() ) {
1929
+    if (!$user_can_view && !empty($invoice_key) && !is_user_logged_in()) {
1930 1930
         // login redirect
1931
-        return '<p class="alert alert-error">' . __( 'You must be logged in to view this receipt', 'invoicing' ) . '</p>';
1931
+        return '<p class="alert alert-error">' . __('You must be logged in to view this receipt', 'invoicing') . '</p>';
1932 1932
     }
1933 1933
 
1934
-    if ( ! apply_filters( 'wpinv_user_can_view_receipt', $user_can_view, $wpinv_receipt_args ) ) {
1934
+    if (!apply_filters('wpinv_user_can_view_receipt', $user_can_view, $wpinv_receipt_args)) {
1935 1935
         return '<p class="alert alert-error">' . $wpinv_receipt_args['error'] . '</p>';
1936 1936
     }
1937 1937
 
1938 1938
     ob_start();
1939 1939
 
1940
-    wpinv_get_template_part( 'wpinv-invoice-receipt' );
1940
+    wpinv_get_template_part('wpinv-invoice-receipt');
1941 1941
 
1942 1942
     $display = ob_get_clean();
1943 1943
 
@@ -1947,148 +1947,148 @@  discard block
 block discarded – undo
1947 1947
 /**
1948 1948
  * Given an invoice key, this function returns the id.
1949 1949
  */
1950
-function wpinv_get_invoice_id_by_key( $key ) {
1950
+function wpinv_get_invoice_id_by_key($key) {
1951 1951
 	global $wpdb;
1952
-    $table      = $wpdb->prefix . 'getpaid_invoices';
1953
-	return (int) $wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $table WHERE`key` = %s LIMIT 1", $key ) );
1952
+    $table = $wpdb->prefix . 'getpaid_invoices';
1953
+	return (int) $wpdb->get_var($wpdb->prepare("SELECT post_id FROM $table WHERE`key` = %s LIMIT 1", $key));
1954 1954
 }
1955 1955
 
1956
-function wpinv_can_view_receipt( $invoice_key = '' ) {
1957
-	$return = current_user_can( 'manage_options' );
1956
+function wpinv_can_view_receipt($invoice_key = '') {
1957
+	$return = current_user_can('manage_options');
1958 1958
 
1959
-	if ( empty( $invoice_key ) ) {
1959
+	if (empty($invoice_key)) {
1960 1960
 		return false;
1961 1961
 	}
1962 1962
 
1963 1963
 	global $wpinv_receipt_args;
1964 1964
 
1965
-	$wpinv_receipt_args['id'] = wpinv_get_invoice_id_by_key( $invoice_key );
1966
-	if ( isset( $_GET['invoice-id'] ) ) {
1967
-		$wpinv_receipt_args['id'] = $invoice_key == wpinv_get_payment_key( (int)$_GET['invoice-id'] ) ? (int)$_GET['invoice-id'] : 0;
1965
+	$wpinv_receipt_args['id'] = wpinv_get_invoice_id_by_key($invoice_key);
1966
+	if (isset($_GET['invoice-id'])) {
1967
+		$wpinv_receipt_args['id'] = $invoice_key == wpinv_get_payment_key((int) $_GET['invoice-id']) ? (int) $_GET['invoice-id'] : 0;
1968 1968
 	}
1969 1969
 
1970
-	if ( empty( $wpinv_receipt_args['id'] ) ) {
1970
+	if (empty($wpinv_receipt_args['id'])) {
1971 1971
 		return $return;
1972 1972
 	}
1973 1973
 
1974
-	$invoice = wpinv_get_invoice( $wpinv_receipt_args['id'] );
1975
-	if ( !( !empty( $invoice->ID ) && $invoice->get_key() === $invoice_key ) ) {
1974
+	$invoice = wpinv_get_invoice($wpinv_receipt_args['id']);
1975
+	if (!(!empty($invoice->ID) && $invoice->get_key() === $invoice_key)) {
1976 1976
 		return $return;
1977 1977
 	}
1978 1978
 
1979
-	if ( is_user_logged_in() ) {
1980
-		if ( (int)$invoice->get_user_id() === (int) get_current_user_id() ) {
1979
+	if (is_user_logged_in()) {
1980
+		if ((int) $invoice->get_user_id() === (int) get_current_user_id()) {
1981 1981
 			$return = true;
1982 1982
 		}
1983 1983
 	}
1984 1984
 
1985 1985
 	$session = wpinv_get_checkout_session();
1986
-	if ( isset( $_GET['invoice_key'] ) || ( $session && isset( $session['invoice_key'] ) ) ) {
1987
-		$check_key = isset( $_GET['invoice_key'] ) ? $_GET['invoice_key'] : $session['invoice_key'];
1986
+	if (isset($_GET['invoice_key']) || ($session && isset($session['invoice_key']))) {
1987
+		$check_key = isset($_GET['invoice_key']) ? $_GET['invoice_key'] : $session['invoice_key'];
1988 1988
 
1989
-		if ( wpinv_require_login_to_checkout() ) {
1989
+		if (wpinv_require_login_to_checkout()) {
1990 1990
 			$return = $return && $check_key == $invoice_key;
1991 1991
 		} else {
1992 1992
 			$return = $check_key == $invoice_key;
1993 1993
 		}
1994 1994
 	}
1995 1995
 
1996
-	return (bool) apply_filters( 'wpinv_can_view_receipt', $return, $invoice_key );
1996
+	return (bool) apply_filters('wpinv_can_view_receipt', $return, $invoice_key);
1997 1997
 }
1998 1998
 
1999 1999
 function wpinv_pay_for_invoice() {
2000 2000
     global $wpinv_euvat;
2001 2001
     
2002
-    if ( isset( $_GET['invoice_key'] ) ) {
2002
+    if (isset($_GET['invoice_key'])) {
2003 2003
         $checkout_uri   = wpinv_get_checkout_uri();
2004
-        $invoice_key    = sanitize_text_field( $_GET['invoice_key'] );
2004
+        $invoice_key    = sanitize_text_field($_GET['invoice_key']);
2005 2005
         
2006
-        if ( empty( $invoice_key ) ) {
2007
-            wpinv_set_error( 'invalid_invoice', __( 'Invoice not found', 'invoicing' ) );
2008
-            wp_redirect( $checkout_uri );
2006
+        if (empty($invoice_key)) {
2007
+            wpinv_set_error('invalid_invoice', __('Invoice not found', 'invoicing'));
2008
+            wp_redirect($checkout_uri);
2009 2009
             exit();
2010 2010
         }
2011 2011
         
2012
-        do_action( 'wpinv_check_pay_for_invoice', $invoice_key );
2012
+        do_action('wpinv_check_pay_for_invoice', $invoice_key);
2013 2013
 
2014
-        $invoice_id    = wpinv_get_invoice_id_by_key( $invoice_key );
2015
-        $user_can_view = wpinv_can_view_receipt( $invoice_key );
2016
-        if ( $user_can_view && isset( $_GET['invoice-id'] ) ) {
2017
-            $invoice_id     = (int)$_GET['invoice-id'];
2018
-            $user_can_view  = $invoice_key == wpinv_get_payment_key( (int)$_GET['invoice-id'] ) ? true : false;
2014
+        $invoice_id    = wpinv_get_invoice_id_by_key($invoice_key);
2015
+        $user_can_view = wpinv_can_view_receipt($invoice_key);
2016
+        if ($user_can_view && isset($_GET['invoice-id'])) {
2017
+            $invoice_id     = (int) $_GET['invoice-id'];
2018
+            $user_can_view  = $invoice_key == wpinv_get_payment_key((int) $_GET['invoice-id']) ? true : false;
2019 2019
         }
2020 2020
         
2021
-        if ( $invoice_id && $user_can_view && ( $invoice = wpinv_get_invoice( $invoice_id ) ) ) {
2022
-            if ( $invoice->needs_payment() ) {
2021
+        if ($invoice_id && $user_can_view && ($invoice = wpinv_get_invoice($invoice_id))) {
2022
+            if ($invoice->needs_payment()) {
2023 2023
                 $data                   = array();
2024 2024
                 $data['invoice_id']     = $invoice_id;
2025
-                $data['cart_discounts'] = $invoice->get_discounts( true );
2025
+                $data['cart_discounts'] = $invoice->get_discounts(true);
2026 2026
                 
2027
-                wpinv_set_checkout_session( $data );
2027
+                wpinv_set_checkout_session($data);
2028 2028
                 
2029
-                if ( wpinv_get_option( 'vat_ip_country_default' ) ) {
2029
+                if (wpinv_get_option('vat_ip_country_default')) {
2030 2030
                     $_POST['country']   = $wpinv_euvat->get_country_by_ip();
2031 2031
                     $_POST['state']     = $_POST['country'] == $invoice->country ? $invoice->state : '';
2032 2032
                     
2033
-                    wpinv_recalculate_tax( true );
2033
+                    wpinv_recalculate_tax(true);
2034 2034
                 }
2035 2035
                 
2036 2036
             } else {
2037 2037
                 $checkout_uri = $invoice->get_view_url();
2038 2038
             }
2039 2039
         } else {
2040
-            wpinv_set_error( 'invalid_invoice', __( 'You are not allowed to view this invoice', 'invoicing' ) );
2040
+            wpinv_set_error('invalid_invoice', __('You are not allowed to view this invoice', 'invoicing'));
2041 2041
             
2042
-            $checkout_uri = is_user_logged_in() ? wpinv_get_history_page_uri() : wp_login_url( get_permalink() );
2042
+            $checkout_uri = is_user_logged_in() ? wpinv_get_history_page_uri() : wp_login_url(get_permalink());
2043 2043
         }
2044 2044
         
2045
-        if(wp_redirect( $checkout_uri )){
2045
+        if (wp_redirect($checkout_uri)) {
2046 2046
             exit;
2047 2047
         };
2048 2048
         wpinv_die();
2049 2049
     }
2050 2050
 }
2051
-add_action( 'wpinv_pay_for_invoice', 'wpinv_pay_for_invoice' );
2051
+add_action('wpinv_pay_for_invoice', 'wpinv_pay_for_invoice');
2052 2052
 
2053
-function wpinv_handle_pay_via_invoice_link( $invoice_key ) {
2054
-    if ( !empty( $invoice_key ) && !empty( $_REQUEST['_wpipay'] ) && !is_user_logged_in() && $invoice_id = wpinv_get_invoice_id_by_key( $invoice_key ) ) {
2055
-        if ( $invoice = wpinv_get_invoice( $invoice_id ) ) {
2053
+function wpinv_handle_pay_via_invoice_link($invoice_key) {
2054
+    if (!empty($invoice_key) && !empty($_REQUEST['_wpipay']) && !is_user_logged_in() && $invoice_id = wpinv_get_invoice_id_by_key($invoice_key)) {
2055
+        if ($invoice = wpinv_get_invoice($invoice_id)) {
2056 2056
             $user_id = $invoice->get_user_id();
2057
-            $secret = sanitize_text_field( $_GET['_wpipay'] );
2057
+            $secret = sanitize_text_field($_GET['_wpipay']);
2058 2058
             
2059
-            if ( $secret === md5( $user_id . '::' . $invoice->get_email() . '::' . $invoice_key ) ) { // valid invoice link
2060
-                $redirect_to = remove_query_arg( '_wpipay', get_permalink() );
2059
+            if ($secret === md5($user_id . '::' . $invoice->get_email() . '::' . $invoice_key)) { // valid invoice link
2060
+                $redirect_to = remove_query_arg('_wpipay', get_permalink());
2061 2061
                 
2062
-                wpinv_guest_redirect( $redirect_to, $user_id );
2062
+                wpinv_guest_redirect($redirect_to, $user_id);
2063 2063
                 exit();
2064 2064
             }
2065 2065
         }
2066 2066
     }
2067 2067
 }
2068
-add_action( 'wpinv_check_pay_for_invoice', 'wpinv_handle_pay_via_invoice_link' );
2068
+add_action('wpinv_check_pay_for_invoice', 'wpinv_handle_pay_via_invoice_link');
2069 2069
 
2070
-function wpinv_set_payment_transaction_id( $invoice_id = 0, $transaction_id = '' ) {
2071
-    $invoice_id = is_object( $invoice_id ) && !empty( $invoice_id->ID ) ? $invoice_id : $invoice_id;
2070
+function wpinv_set_payment_transaction_id($invoice_id = 0, $transaction_id = '') {
2071
+    $invoice_id = is_object($invoice_id) && !empty($invoice_id->ID) ? $invoice_id : $invoice_id;
2072 2072
     
2073
-    if ( empty( $invoice_id ) && $invoice_id > 0 ) {
2073
+    if (empty($invoice_id) && $invoice_id > 0) {
2074 2074
         return false;
2075 2075
     }
2076 2076
     
2077
-    if ( empty( $transaction_id ) ) {
2077
+    if (empty($transaction_id)) {
2078 2078
         $transaction_id = $invoice_id;
2079 2079
     }
2080 2080
 
2081
-    $transaction_id = apply_filters( 'wpinv_set_payment_transaction_id', $transaction_id, $invoice_id );
2081
+    $transaction_id = apply_filters('wpinv_set_payment_transaction_id', $transaction_id, $invoice_id);
2082 2082
     
2083
-    return wpinv_update_invoice_meta( $invoice_id, '_wpinv_transaction_id', $transaction_id );
2083
+    return wpinv_update_invoice_meta($invoice_id, '_wpinv_transaction_id', $transaction_id);
2084 2084
 }
2085 2085
 
2086
-function wpinv_invoice_status_label( $status, $status_display = '' ) {
2087
-    if ( empty( $status_display ) ) {
2088
-        $status_display = wpinv_status_nicename( $status );
2086
+function wpinv_invoice_status_label($status, $status_display = '') {
2087
+    if (empty($status_display)) {
2088
+        $status_display = wpinv_status_nicename($status);
2089 2089
     }
2090 2090
     
2091
-    switch ( $status ) {
2091
+    switch ($status) {
2092 2092
         case 'publish' :
2093 2093
         case 'wpi-renewal' :
2094 2094
             $class = 'label-success';
@@ -2113,201 +2113,201 @@  discard block
 block discarded – undo
2113 2113
     
2114 2114
     $label = '<span class="label label-inv-' . $status . ' ' . $class . '">' . $status_display . '</span>';
2115 2115
     
2116
-    return apply_filters( 'wpinv_invoice_status_label', $label, $status, $status_display );
2116
+    return apply_filters('wpinv_invoice_status_label', $label, $status, $status_display);
2117 2117
 }
2118 2118
 
2119
-function wpinv_format_invoice_number( $number, $type = '' ) {
2120
-    $check = apply_filters( 'wpinv_pre_format_invoice_number', null, $number, $type );
2121
-    if ( null !== $check ) {
2119
+function wpinv_format_invoice_number($number, $type = '') {
2120
+    $check = apply_filters('wpinv_pre_format_invoice_number', null, $number, $type);
2121
+    if (null !== $check) {
2122 2122
         return $check;
2123 2123
     }
2124 2124
 
2125
-    if ( !empty( $number ) && !is_numeric( $number ) ) {
2125
+    if (!empty($number) && !is_numeric($number)) {
2126 2126
         return $number;
2127 2127
     }
2128 2128
 
2129
-    $padd  = wpinv_get_option( 'invoice_number_padd' );
2130
-    $prefix  = wpinv_get_option( 'invoice_number_prefix' );
2131
-    $postfix = wpinv_get_option( 'invoice_number_postfix' );
2129
+    $padd = wpinv_get_option('invoice_number_padd');
2130
+    $prefix  = wpinv_get_option('invoice_number_prefix');
2131
+    $postfix = wpinv_get_option('invoice_number_postfix');
2132 2132
     
2133
-    $padd = absint( $padd );
2134
-    $formatted_number = absint( $number );
2133
+    $padd = absint($padd);
2134
+    $formatted_number = absint($number);
2135 2135
     
2136
-    if ( $padd > 0 ) {
2137
-        $formatted_number = zeroise( $formatted_number, $padd );
2136
+    if ($padd > 0) {
2137
+        $formatted_number = zeroise($formatted_number, $padd);
2138 2138
     }    
2139 2139
 
2140 2140
     $formatted_number = $prefix . $formatted_number . $postfix;
2141 2141
 
2142
-    return apply_filters( 'wpinv_format_invoice_number', $formatted_number, $number, $prefix, $postfix, $padd );
2142
+    return apply_filters('wpinv_format_invoice_number', $formatted_number, $number, $prefix, $postfix, $padd);
2143 2143
 }
2144 2144
 
2145
-function wpinv_get_next_invoice_number( $type = '' ) {
2146
-    $check = apply_filters( 'wpinv_get_pre_next_invoice_number', null, $type );
2147
-    if ( null !== $check ) {
2145
+function wpinv_get_next_invoice_number($type = '') {
2146
+    $check = apply_filters('wpinv_get_pre_next_invoice_number', null, $type);
2147
+    if (null !== $check) {
2148 2148
         return $check;
2149 2149
     }
2150 2150
     
2151
-    if ( !wpinv_sequential_number_active() ) {
2151
+    if (!wpinv_sequential_number_active()) {
2152 2152
         return false;
2153 2153
     }
2154 2154
 
2155
-    $number = $last_number = get_option( 'wpinv_last_invoice_number', 0 );
2156
-    $start  = wpinv_get_option( 'invoice_sequence_start', 1 );
2157
-    if ( !absint( $start ) > 0 ) {
2155
+    $number = $last_number = get_option('wpinv_last_invoice_number', 0);
2156
+    $start  = wpinv_get_option('invoice_sequence_start', 1);
2157
+    if (!absint($start) > 0) {
2158 2158
         $start = 1;
2159 2159
     }
2160 2160
     $increment_number = true;
2161 2161
     $save_number = false;
2162 2162
 
2163
-    if ( !empty( $number ) && !is_numeric( $number ) && $number == wpinv_format_invoice_number( $number ) ) {
2164
-        $number = wpinv_clean_invoice_number( $number );
2163
+    if (!empty($number) && !is_numeric($number) && $number == wpinv_format_invoice_number($number)) {
2164
+        $number = wpinv_clean_invoice_number($number);
2165 2165
     }
2166 2166
 
2167
-    if ( empty( $number ) ) {
2168
-        if ( !( $last_number === 0 || $last_number === '0' ) ) {
2169
-            $last_invoice = wpinv_get_invoices( array( 'limit' => 1, 'order' => 'DESC', 'orderby' => 'ID', 'return' => 'posts', 'fields' => 'ids', 'status' => array_keys( wpinv_get_invoice_statuses( true, true ) ) ) );
2167
+    if (empty($number)) {
2168
+        if (!($last_number === 0 || $last_number === '0')) {
2169
+            $last_invoice = wpinv_get_invoices(array('limit' => 1, 'order' => 'DESC', 'orderby' => 'ID', 'return' => 'posts', 'fields' => 'ids', 'status' => array_keys(wpinv_get_invoice_statuses(true, true))));
2170 2170
 
2171
-            if ( !empty( $last_invoice[0] ) && $invoice_number = wpinv_get_invoice_number( $last_invoice[0] ) ) {
2172
-                if ( is_numeric( $invoice_number ) ) {
2171
+            if (!empty($last_invoice[0]) && $invoice_number = wpinv_get_invoice_number($last_invoice[0])) {
2172
+                if (is_numeric($invoice_number)) {
2173 2173
                     $number = $invoice_number;
2174 2174
                 } else {
2175
-                    $number = wpinv_clean_invoice_number( $invoice_number );
2175
+                    $number = wpinv_clean_invoice_number($invoice_number);
2176 2176
                 }
2177 2177
             }
2178 2178
 
2179
-            if ( empty( $number ) ) {
2179
+            if (empty($number)) {
2180 2180
                 $increment_number = false;
2181 2181
                 $number = $start;
2182
-                $save_number = ( $number - 1 );
2182
+                $save_number = ($number - 1);
2183 2183
             } else {
2184 2184
                 $save_number = $number;
2185 2185
             }
2186 2186
         }
2187 2187
     }
2188 2188
 
2189
-    if ( $start > $number ) {
2189
+    if ($start > $number) {
2190 2190
         $increment_number = false;
2191 2191
         $number = $start;
2192
-        $save_number = ( $number - 1 );
2192
+        $save_number = ($number - 1);
2193 2193
     }
2194 2194
 
2195
-    if ( $save_number !== false ) {
2196
-        update_option( 'wpinv_last_invoice_number', $save_number );
2195
+    if ($save_number !== false) {
2196
+        update_option('wpinv_last_invoice_number', $save_number);
2197 2197
     }
2198 2198
     
2199
-    $increment_number = apply_filters( 'wpinv_increment_payment_number', $increment_number, $number );
2199
+    $increment_number = apply_filters('wpinv_increment_payment_number', $increment_number, $number);
2200 2200
 
2201
-    if ( $increment_number ) {
2201
+    if ($increment_number) {
2202 2202
         $number++;
2203 2203
     }
2204 2204
 
2205
-    return apply_filters( 'wpinv_get_next_invoice_number', $number );
2205
+    return apply_filters('wpinv_get_next_invoice_number', $number);
2206 2206
 }
2207 2207
 
2208
-function wpinv_clean_invoice_number( $number, $type = '' ) {
2209
-    $check = apply_filters( 'wpinv_pre_clean_invoice_number', null, $number, $type );
2210
-    if ( null !== $check ) {
2208
+function wpinv_clean_invoice_number($number, $type = '') {
2209
+    $check = apply_filters('wpinv_pre_clean_invoice_number', null, $number, $type);
2210
+    if (null !== $check) {
2211 2211
         return $check;
2212 2212
     }
2213 2213
     
2214
-    $prefix  = wpinv_get_option( 'invoice_number_prefix' );
2215
-    $postfix = wpinv_get_option( 'invoice_number_postfix' );
2214
+    $prefix  = wpinv_get_option('invoice_number_prefix');
2215
+    $postfix = wpinv_get_option('invoice_number_postfix');
2216 2216
 
2217
-    $number = preg_replace( '/' . $prefix . '/', '', $number, 1 );
2217
+    $number = preg_replace('/' . $prefix . '/', '', $number, 1);
2218 2218
 
2219
-    $length      = strlen( $number );
2220
-    $postfix_pos = strrpos( $number, $postfix );
2219
+    $length      = strlen($number);
2220
+    $postfix_pos = strrpos($number, $postfix);
2221 2221
     
2222
-    if ( false !== $postfix_pos ) {
2223
-        $number      = substr_replace( $number, '', $postfix_pos, $length );
2222
+    if (false !== $postfix_pos) {
2223
+        $number = substr_replace($number, '', $postfix_pos, $length);
2224 2224
     }
2225 2225
 
2226
-    $number = intval( $number );
2226
+    $number = intval($number);
2227 2227
 
2228
-    return apply_filters( 'wpinv_clean_invoice_number', $number, $prefix, $postfix );
2228
+    return apply_filters('wpinv_clean_invoice_number', $number, $prefix, $postfix);
2229 2229
 }
2230 2230
 
2231
-function wpinv_save_number_post_saved( $post_ID, $post, $update ) {
2231
+function wpinv_save_number_post_saved($post_ID, $post, $update) {
2232 2232
     global $wpdb;
2233 2233
 
2234
-    if ( !$update && !get_post_meta( $post_ID, '_wpinv_number', true ) ) {
2235
-        wpinv_update_invoice_number( $post_ID, $post->post_status != 'auto-draft', $post->post_type );
2234
+    if (!$update && !get_post_meta($post_ID, '_wpinv_number', true)) {
2235
+        wpinv_update_invoice_number($post_ID, $post->post_status != 'auto-draft', $post->post_type);
2236 2236
     }
2237 2237
 
2238
-    if ( !$update ) {
2239
-        $wpdb->update( $wpdb->posts, array( 'post_name' => wpinv_generate_post_name( $post_ID ) ), array( 'ID' => $post_ID ) );
2240
-        clean_post_cache( $post_ID );
2238
+    if (!$update) {
2239
+        $wpdb->update($wpdb->posts, array('post_name' => wpinv_generate_post_name($post_ID)), array('ID' => $post_ID));
2240
+        clean_post_cache($post_ID);
2241 2241
     }
2242 2242
 }
2243
-add_action( 'save_post_wpi_invoice', 'wpinv_save_number_post_saved', 1, 3 );
2243
+add_action('save_post_wpi_invoice', 'wpinv_save_number_post_saved', 1, 3);
2244 2244
 
2245
-function wpinv_save_number_post_updated( $post_ID, $post_after, $post_before ) {
2246
-    if ( !empty( $post_after->post_type ) && $post_after->post_type == 'wpi_invoice' && $post_before->post_status == 'auto-draft' && $post_after->post_status != $post_before->post_status ) {
2247
-        wpinv_update_invoice_number( $post_ID, true, $post_after->post_type );
2245
+function wpinv_save_number_post_updated($post_ID, $post_after, $post_before) {
2246
+    if (!empty($post_after->post_type) && $post_after->post_type == 'wpi_invoice' && $post_before->post_status == 'auto-draft' && $post_after->post_status != $post_before->post_status) {
2247
+        wpinv_update_invoice_number($post_ID, true, $post_after->post_type);
2248 2248
     }
2249 2249
 }
2250
-add_action( 'post_updated', 'wpinv_save_number_post_updated', 1, 3 );
2250
+add_action('post_updated', 'wpinv_save_number_post_updated', 1, 3);
2251 2251
 
2252
-function wpinv_update_invoice_number( $post_ID, $save_sequential = false, $type = '' ) {
2252
+function wpinv_update_invoice_number($post_ID, $save_sequential = false, $type = '') {
2253 2253
     global $wpdb;
2254 2254
     
2255
-    $check = apply_filters( 'wpinv_pre_update_invoice_number', null, $post_ID, $save_sequential, $type );
2256
-    if ( null !== $check ) {
2255
+    $check = apply_filters('wpinv_pre_update_invoice_number', null, $post_ID, $save_sequential, $type);
2256
+    if (null !== $check) {
2257 2257
         return $check;
2258 2258
     }
2259 2259
 
2260
-    if ( wpinv_sequential_number_active() ) {
2260
+    if (wpinv_sequential_number_active()) {
2261 2261
         $number = wpinv_get_next_invoice_number();
2262 2262
 
2263
-        if ( $save_sequential ) {
2264
-            update_option( 'wpinv_last_invoice_number', $number );
2263
+        if ($save_sequential) {
2264
+            update_option('wpinv_last_invoice_number', $number);
2265 2265
         }
2266 2266
     } else {
2267 2267
         $number = $post_ID;
2268 2268
     }
2269 2269
 
2270
-    $number = wpinv_format_invoice_number( $number );
2270
+    $number = wpinv_format_invoice_number($number);
2271 2271
 
2272
-    update_post_meta( $post_ID, '_wpinv_number', $number );
2272
+    update_post_meta($post_ID, '_wpinv_number', $number);
2273 2273
 
2274
-    $wpdb->update( $wpdb->posts, array( 'post_title' => $number ), array( 'ID' => $post_ID ) );
2274
+    $wpdb->update($wpdb->posts, array('post_title' => $number), array('ID' => $post_ID));
2275 2275
 
2276
-    clean_post_cache( $post_ID );
2276
+    clean_post_cache($post_ID);
2277 2277
 
2278 2278
     return $number;
2279 2279
 }
2280 2280
 
2281
-function wpinv_post_name_prefix( $post_type = 'wpi_invoice' ) {
2282
-    return apply_filters( 'wpinv_post_name_prefix', 'inv-', $post_type );
2281
+function wpinv_post_name_prefix($post_type = 'wpi_invoice') {
2282
+    return apply_filters('wpinv_post_name_prefix', 'inv-', $post_type);
2283 2283
 }
2284 2284
 
2285
-function wpinv_generate_post_name( $post_ID ) {
2286
-    $prefix = wpinv_post_name_prefix( get_post_type( $post_ID ) );
2287
-    $post_name = sanitize_title( $prefix . $post_ID );
2285
+function wpinv_generate_post_name($post_ID) {
2286
+    $prefix = wpinv_post_name_prefix(get_post_type($post_ID));
2287
+    $post_name = sanitize_title($prefix . $post_ID);
2288 2288
 
2289
-    return apply_filters( 'wpinv_generate_post_name', $post_name, $post_ID, $prefix );
2289
+    return apply_filters('wpinv_generate_post_name', $post_name, $post_ID, $prefix);
2290 2290
 }
2291 2291
 
2292
-function wpinv_is_invoice_viewed( $invoice_id ) {
2293
-    if ( empty( $invoice_id ) ) {
2292
+function wpinv_is_invoice_viewed($invoice_id) {
2293
+    if (empty($invoice_id)) {
2294 2294
         return false;
2295 2295
     }
2296 2296
 
2297
-    $viewed_meta = get_post_meta( $invoice_id, '_wpinv_is_viewed', true );
2297
+    $viewed_meta = get_post_meta($invoice_id, '_wpinv_is_viewed', true);
2298 2298
 
2299
-    return apply_filters( 'wpinv_is_invoice_viewed', 1 === (int)$viewed_meta, $invoice_id );
2299
+    return apply_filters('wpinv_is_invoice_viewed', 1 === (int) $viewed_meta, $invoice_id);
2300 2300
 }
2301 2301
 
2302 2302
 function wpinv_mark_invoice_viewed() {
2303 2303
 
2304
-    if ( isset( $_GET['invoice_key'] ) || is_singular( 'wpi_invoice' ) || is_singular( 'wpi_quote' ) ) {
2305
-        $invoice_key = isset( $_GET['invoice_key'] ) ? urldecode($_GET['invoice_key']) : '';
2304
+    if (isset($_GET['invoice_key']) || is_singular('wpi_invoice') || is_singular('wpi_quote')) {
2305
+        $invoice_key = isset($_GET['invoice_key']) ? urldecode($_GET['invoice_key']) : '';
2306 2306
 	    global $post;
2307 2307
 
2308
-        if(!empty($invoice_key)){
2308
+        if (!empty($invoice_key)) {
2309 2309
 	        $invoice_id = wpinv_get_invoice_id_by_key($invoice_key);
2310
-        } else if(!empty( $post ) && ($post->post_type == 'wpi_invoice' || $post->post_type == 'wpi_quote')) {
2310
+        } else if (!empty($post) && ($post->post_type == 'wpi_invoice' || $post->post_type == 'wpi_quote')) {
2311 2311
 			$invoice_id = $post->ID;
2312 2312
         } else {
2313 2313
         	return;
@@ -2315,63 +2315,63 @@  discard block
 block discarded – undo
2315 2315
 
2316 2316
         $invoice = new WPInv_Invoice($invoice_id);
2317 2317
 
2318
-        if(!$invoice_id){
2318
+        if (!$invoice_id) {
2319 2319
             return;
2320 2320
         }
2321 2321
 
2322
-	    if ( is_user_logged_in() ) {
2323
-		    if ( (int)$invoice->get_user_id() === get_current_user_id() ) {
2324
-			    update_post_meta($invoice_id,'_wpinv_is_viewed', 1);
2325
-		    } else if ( !wpinv_require_login_to_checkout() && isset( $_GET['invoice_key'] ) && $_GET['invoice_key'] === $invoice->get_key() ) {
2326
-			    update_post_meta($invoice_id,'_wpinv_is_viewed', 1);
2322
+	    if (is_user_logged_in()) {
2323
+		    if ((int) $invoice->get_user_id() === get_current_user_id()) {
2324
+			    update_post_meta($invoice_id, '_wpinv_is_viewed', 1);
2325
+		    } else if (!wpinv_require_login_to_checkout() && isset($_GET['invoice_key']) && $_GET['invoice_key'] === $invoice->get_key()) {
2326
+			    update_post_meta($invoice_id, '_wpinv_is_viewed', 1);
2327 2327
 		    }
2328 2328
 	    } else {
2329
-		    if ( !wpinv_require_login_to_checkout() && isset( $_GET['invoice_key'] ) && $_GET['invoice_key'] === $invoice->get_key() ) {
2330
-			    update_post_meta($invoice_id,'_wpinv_is_viewed', 1);
2329
+		    if (!wpinv_require_login_to_checkout() && isset($_GET['invoice_key']) && $_GET['invoice_key'] === $invoice->get_key()) {
2330
+			    update_post_meta($invoice_id, '_wpinv_is_viewed', 1);
2331 2331
 		    }
2332 2332
 	    }
2333 2333
     }
2334 2334
 
2335 2335
 }
2336
-add_action( 'template_redirect', 'wpinv_mark_invoice_viewed' );
2336
+add_action('template_redirect', 'wpinv_mark_invoice_viewed');
2337 2337
 
2338 2338
 /**
2339 2339
  * @return WPInv_Subscription
2340 2340
  */
2341
-function wpinv_get_subscription( $invoice, $by_parent = false ) {
2342
-    if ( empty( $invoice ) ) {
2341
+function wpinv_get_subscription($invoice, $by_parent = false) {
2342
+    if (empty($invoice)) {
2343 2343
         return false;
2344 2344
     }
2345 2345
     
2346
-    if ( ! is_object( $invoice ) && is_scalar( $invoice ) ) {
2347
-        $invoice = wpinv_get_invoice( $invoice );
2346
+    if (!is_object($invoice) && is_scalar($invoice)) {
2347
+        $invoice = wpinv_get_invoice($invoice);
2348 2348
     }
2349 2349
     
2350
-    if ( !( is_object( $invoice ) && ! empty( $invoice->ID ) && $invoice->is_recurring() ) ) {
2350
+    if (!(is_object($invoice) && !empty($invoice->ID) && $invoice->is_recurring())) {
2351 2351
         return false;
2352 2352
     }
2353 2353
     
2354
-    $invoice_id = ! $by_parent && ! empty( $invoice->parent_invoice ) ? $invoice->parent_invoice : $invoice->ID;
2354
+    $invoice_id = !$by_parent && !empty($invoice->parent_invoice) ? $invoice->parent_invoice : $invoice->ID;
2355 2355
     
2356 2356
     $subs_db    = new WPInv_Subscriptions_DB;
2357
-    $subs       = $subs_db->get_subscriptions( array( 'parent_payment_id' => $invoice_id, 'number' => 1 ) );
2357
+    $subs       = $subs_db->get_subscriptions(array('parent_payment_id' => $invoice_id, 'number' => 1));
2358 2358
     
2359
-    if ( ! empty( $subs ) ) {
2360
-        return reset( $subs );
2359
+    if (!empty($subs)) {
2360
+        return reset($subs);
2361 2361
     }
2362 2362
     
2363 2363
     return false;
2364 2364
 }
2365 2365
 
2366
-function wpinv_filter_posts_clauses( $clauses, $wp_query ) {
2366
+function wpinv_filter_posts_clauses($clauses, $wp_query) {
2367 2367
     global $wpdb;
2368 2368
 
2369
-    if ( ! empty( $wp_query->query_vars['orderby'] ) && $wp_query->query_vars['orderby'] == 'invoice_date' ) {
2370
-        if ( !empty( $clauses['join'] ) ) {
2369
+    if (!empty($wp_query->query_vars['orderby']) && $wp_query->query_vars['orderby'] == 'invoice_date') {
2370
+        if (!empty($clauses['join'])) {
2371 2371
             $clauses['join'] .= " ";
2372 2372
         }
2373 2373
 
2374
-        if ( !empty( $clauses['fields'] ) ) {
2374
+        if (!empty($clauses['fields'])) {
2375 2375
             $clauses['fields'] .= ", ";
2376 2376
         }
2377 2377
 
@@ -2382,4 +2382,4 @@  discard block
 block discarded – undo
2382 2382
 
2383 2383
     return $clauses;
2384 2384
 }
2385
-add_filter( 'posts_clauses', 'wpinv_filter_posts_clauses', 10, 2 );
2386 2385
\ No newline at end of file
2386
+add_filter('posts_clauses', 'wpinv_filter_posts_clauses', 10, 2);
2387 2387
\ No newline at end of file
Please login to merge, or discard this patch.
includes/gateways/paypal.php 1 patch
Spacing   +278 added lines, -278 removed lines patch added patch discarded remove patch
@@ -1,13 +1,13 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 // Exit if accessed directly
3
-if ( ! defined( 'ABSPATH' ) ) exit;
3
+if (!defined('ABSPATH')) exit;
4 4
 
5
-add_action( 'wpinv_paypal_cc_form', '__return_false' );
6
-add_filter( 'wpinv_paypal_support_subscription', '__return_true' );
5
+add_action('wpinv_paypal_cc_form', '__return_false');
6
+add_filter('wpinv_paypal_support_subscription', '__return_true');
7 7
 
8
-function wpinv_process_paypal_payment( $purchase_data ) {
9
-    if( ! wp_verify_nonce( $purchase_data['gateway_nonce'], 'wpi-gateway' ) ) {
10
-        wp_die( __( 'Nonce verification has failed', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
8
+function wpinv_process_paypal_payment($purchase_data) {
9
+    if (!wp_verify_nonce($purchase_data['gateway_nonce'], 'wpi-gateway')) {
10
+        wp_die(__('Nonce verification has failed', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
11 11
     }
12 12
 
13 13
     // Collect payment data
@@ -25,24 +25,24 @@  discard block
 block discarded – undo
25 25
     );
26 26
 
27 27
     // Record the pending payment
28
-    $invoice = wpinv_get_invoice( $purchase_data['invoice_id'] );
28
+    $invoice = wpinv_get_invoice($purchase_data['invoice_id']);
29 29
 
30 30
     // Check payment
31
-    if ( ! $invoice ) {
31
+    if (!$invoice) {
32 32
         // Record the error
33
-        wpinv_record_gateway_error( __( 'Payment Error', 'invoicing' ), sprintf( __( 'Payment creation failed before sending buyer to PayPal. Payment data: %s', 'invoicing' ), json_encode( $payment_data ) ), $invoice );
33
+        wpinv_record_gateway_error(__('Payment Error', 'invoicing'), sprintf(__('Payment creation failed before sending buyer to PayPal. Payment data: %s', 'invoicing'), json_encode($payment_data)), $invoice);
34 34
         // Problems? send back
35
-        wpinv_send_back_to_checkout( '?payment-mode=' . $purchase_data['post_data']['wpi-gateway'] );
35
+        wpinv_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['wpi-gateway']);
36 36
     } else {
37 37
         // Only send to PayPal if the pending payment is created successfully
38
-        $listener_url = wpinv_get_ipn_url( 'paypal' );
38
+        $listener_url = wpinv_get_ipn_url('paypal');
39 39
 
40 40
         // Get the success url
41
-        $return_url = add_query_arg( array(
41
+        $return_url = add_query_arg(array(
42 42
                 'payment-confirm' => 'paypal',
43 43
                 'invoice-id'      => $invoice->ID,
44 44
                 'utm_nooverride'  => 1
45
-            ), get_permalink( wpinv_get_option( 'success_page', false ) ) );
45
+            ), get_permalink(wpinv_get_option('success_page', false)));
46 46
 
47 47
         // Get the PayPal redirect uri
48 48
         $paypal_redirect = wpinv_get_paypal_redirect();
@@ -51,7 +51,7 @@  discard block
 block discarded – undo
51 51
         $paypal_args = array(
52 52
             'cmd'           => '_cart',
53 53
             'upload'        => '1',
54
-            'business'      => wpinv_get_option( 'paypal_email', false ),
54
+            'business'      => wpinv_get_option('paypal_email', false),
55 55
             'email'         => $invoice->get_email(),
56 56
             'first_name'    => $invoice->get_first_name(),
57 57
             'last_name'     => $invoice->get_last_name(),
@@ -60,88 +60,88 @@  discard block
 block discarded – undo
60 60
             'shipping'      => '0',
61 61
             'no_note'       => '1',
62 62
             'currency_code' => $invoice->get_currency(),
63
-            'charset'       => get_bloginfo( 'charset' ),
63
+            'charset'       => get_bloginfo('charset'),
64 64
             'custom'        => $invoice->ID,
65 65
             'rm'            => is_ssl() ? 2 : 1,
66
-            'return'        => esc_url_raw( $return_url ),
66
+            'return'        => esc_url_raw($return_url),
67 67
             'cancel_return' => $invoice->get_checkout_payment_url(),
68 68
             'notify_url'    => $listener_url,
69
-            'cbt'           => get_bloginfo( 'name' ),
69
+            'cbt'           => get_bloginfo('name'),
70 70
             'bn'            => 'WPInvoicing_SP',
71 71
         );
72 72
 
73 73
         // Add cart items
74 74
         $i = 1;
75
-        if( is_array( $purchase_data['cart_details'] ) && ! empty( $purchase_data['cart_details'] ) ) {
76
-            foreach ( $purchase_data['cart_details'] as $item ) {
75
+        if (is_array($purchase_data['cart_details']) && !empty($purchase_data['cart_details'])) {
76
+            foreach ($purchase_data['cart_details'] as $item) {
77 77
                 $item['quantity'] = $item['quantity'] > 0 ? $item['quantity'] : 1;
78
-                $item_amount = wpinv_sanitize_amount( $item['subtotal'] / $item['quantity'], 2 );
78
+                $item_amount = wpinv_sanitize_amount($item['subtotal'] / $item['quantity'], 2);
79 79
 
80
-                if ( $item_amount <= 0 ) {
80
+                if ($item_amount <= 0) {
81 81
                     $item_amount = 0;
82 82
                 }
83 83
 
84
-                $paypal_args['item_number_' . $i ]      = $item['id'];
85
-                $paypal_args['item_name_' . $i ]        = stripslashes_deep( html_entity_decode( wpinv_get_cart_item_name( $item ), ENT_COMPAT, 'UTF-8' ) );
86
-                $paypal_args['quantity_' . $i ]         = $item['quantity'];
87
-                $paypal_args['amount_' . $i ]           = $item_amount;
88
-                $paypal_args['discount_amount_' . $i ]  = wpinv_sanitize_amount( $item['discount'], 2 );
84
+                $paypal_args['item_number_' . $i]      = $item['id'];
85
+                $paypal_args['item_name_' . $i]        = stripslashes_deep(html_entity_decode(wpinv_get_cart_item_name($item), ENT_COMPAT, 'UTF-8'));
86
+                $paypal_args['quantity_' . $i]         = $item['quantity'];
87
+                $paypal_args['amount_' . $i]           = $item_amount;
88
+                $paypal_args['discount_amount_' . $i]  = wpinv_sanitize_amount($item['discount'], 2);
89 89
 
90 90
                 $i++;
91 91
             }
92 92
         }
93 93
 
94 94
         // Add taxes to the cart
95
-        if ( wpinv_use_taxes() && $invoice->is_taxable() ) {
96
-            $paypal_args['tax_cart'] = wpinv_sanitize_amount( (float) $invoice->get_tax(), 2 );
95
+        if (wpinv_use_taxes() && $invoice->is_taxable()) {
96
+            $paypal_args['tax_cart'] = wpinv_sanitize_amount((float) $invoice->get_tax(), 2);
97 97
         }
98 98
 
99
-        $paypal_args = apply_filters( 'wpinv_paypal_args', $paypal_args, $purchase_data, $invoice );
99
+        $paypal_args = apply_filters('wpinv_paypal_args', $paypal_args, $purchase_data, $invoice);
100 100
 
101 101
         // Build query
102
-        $paypal_redirect .= http_build_query( $paypal_args );
102
+        $paypal_redirect .= http_build_query($paypal_args);
103 103
 
104 104
         // Fix for some sites that encode the entities
105
-        $paypal_redirect = str_replace( '&amp;', '&', $paypal_redirect );
105
+        $paypal_redirect = str_replace('&amp;', '&', $paypal_redirect);
106 106
 
107 107
         // Get rid of cart contents
108 108
         wpinv_empty_cart();
109 109
         
110 110
         // Redirect to PayPal
111
-        wp_redirect( $paypal_redirect );
111
+        wp_redirect($paypal_redirect);
112 112
         exit;
113 113
     }
114 114
 }
115
-add_action( 'wpinv_gateway_paypal', 'wpinv_process_paypal_payment' );
115
+add_action('wpinv_gateway_paypal', 'wpinv_process_paypal_payment');
116 116
 
117
-function wpinv_get_paypal_recurring_args( $paypal_args, $purchase_data, $invoice ) {
118
-    if ( $invoice->is_recurring() && $subscription = wpinv_get_subscription( $invoice->ID ) ) {
117
+function wpinv_get_paypal_recurring_args($paypal_args, $purchase_data, $invoice) {
118
+    if ($invoice->is_recurring() && $subscription = wpinv_get_subscription($invoice->ID)) {
119 119
 
120
-        $period             = strtoupper( substr( $subscription->period, 0, 1) );
120
+        $period             = strtoupper(substr($subscription->period, 0, 1));
121 121
         $interval           = $subscription->frequency;
122 122
         $bill_times         = (int) $subscription->bill_times;
123 123
         
124
-        $initial_amount     = wpinv_sanitize_amount( $invoice->get_total(), 2 );
125
-        $recurring_amount   = wpinv_sanitize_amount( $invoice->get_recurring_details( 'total' ), 2 );
124
+        $initial_amount     = wpinv_sanitize_amount($invoice->get_total(), 2);
125
+        $recurring_amount   = wpinv_sanitize_amount($invoice->get_recurring_details('total'), 2);
126 126
         
127 127
         $paypal_args['cmd'] = '_xclick-subscriptions';
128 128
         $paypal_args['sra'] = '1';
129 129
         $paypal_args['src'] = '1';
130 130
         
131 131
         // Set item description
132
-        $item_name                  = wpinv_get_cart_item_name( array( 'id' => $subscription->product_id ) );
133
-        $paypal_args['item_name']   = stripslashes_deep( html_entity_decode( $item_name, ENT_COMPAT, 'UTF-8' ) );
132
+        $item_name                  = wpinv_get_cart_item_name(array('id' => $subscription->product_id));
133
+        $paypal_args['item_name']   = stripslashes_deep(html_entity_decode($item_name, ENT_COMPAT, 'UTF-8'));
134 134
         $paypal_args['item_number'] = $subscription->product_id;
135
-        $item   = new WPInv_Item( $subscription->period );
135
+        $item = new WPInv_Item($subscription->period);
136 136
 
137
-        if ( $invoice->is_free_trial() && $item->has_free_trial() ) {
137
+        if ($invoice->is_free_trial() && $item->has_free_trial()) {
138 138
             $paypal_args['a1']  = $initial_amount;
139 139
             $paypal_args['p1']  = $item->get_trial_interval();
140 140
             $paypal_args['t1']  = $item->get_trial_period();
141 141
             
142 142
             // Set the recurring amount
143 143
             $paypal_args['a3']  = $recurring_amount;
144
-        } else if ( $initial_amount != $recurring_amount && $bill_times != 1 ) {
144
+        } else if ($initial_amount != $recurring_amount && $bill_times != 1) {
145 145
             $paypal_args['a1']  = $initial_amount;
146 146
             $paypal_args['p1']  = $interval;
147 147
             $paypal_args['t1']  = $period;
@@ -149,63 +149,63 @@  discard block
 block discarded – undo
149 149
             // Set the recurring amount
150 150
             $paypal_args['a3']  = $recurring_amount;
151 151
             
152
-            if ( $bill_times > 1 ) {
152
+            if ($bill_times > 1) {
153 153
                 $bill_times--;
154 154
             }
155 155
         } else {
156
-            $paypal_args['a3']  = $initial_amount;
156
+            $paypal_args['a3'] = $initial_amount;
157 157
         }
158 158
         
159 159
         $paypal_args['p3']  = $interval;
160 160
         $paypal_args['t3']  = $period;
161 161
         
162
-        if ( $bill_times > 1 ) {
162
+        if ($bill_times > 1) {
163 163
             // Make sure it's not over the max of 52
164
-            $paypal_args['srt'] = ( $bill_times <= 52 ? absint( $bill_times ) : 52 );
164
+            $paypal_args['srt'] = ($bill_times <= 52 ? absint($bill_times) : 52);
165 165
         }
166 166
                 
167 167
         // Remove cart items
168 168
         $i = 1;
169
-        if( is_array( $purchase_data['cart_details'] ) && ! empty( $purchase_data['cart_details'] ) ) {
170
-            foreach ( $purchase_data['cart_details'] as $item ) {                
171
-                if ( isset( $paypal_args['item_number_' . $i] ) ) {
172
-                    unset( $paypal_args['item_number_' . $i] );
169
+        if (is_array($purchase_data['cart_details']) && !empty($purchase_data['cart_details'])) {
170
+            foreach ($purchase_data['cart_details'] as $item) {                
171
+                if (isset($paypal_args['item_number_' . $i])) {
172
+                    unset($paypal_args['item_number_' . $i]);
173 173
                 }
174
-                if ( isset( $paypal_args['item_name_' . $i] ) ) {
175
-                    unset( $paypal_args['item_name_' . $i] );
174
+                if (isset($paypal_args['item_name_' . $i])) {
175
+                    unset($paypal_args['item_name_' . $i]);
176 176
                 }
177
-                if ( isset( $paypal_args['quantity_' . $i] ) ) {
178
-                    unset( $paypal_args['quantity_' . $i] );
177
+                if (isset($paypal_args['quantity_' . $i])) {
178
+                    unset($paypal_args['quantity_' . $i]);
179 179
                 }
180
-                if ( isset( $paypal_args['amount_' . $i] ) ) {
181
-                    unset( $paypal_args['amount_' . $i] );
180
+                if (isset($paypal_args['amount_' . $i])) {
181
+                    unset($paypal_args['amount_' . $i]);
182 182
                 }
183
-                if ( isset( $paypal_args['discount_amount_' . $i] ) ) {
184
-                    unset( $paypal_args['discount_amount_' . $i] );
183
+                if (isset($paypal_args['discount_amount_' . $i])) {
184
+                    unset($paypal_args['discount_amount_' . $i]);
185 185
                 }
186 186
 
187 187
                 $i++;
188 188
             }
189 189
         }
190 190
         
191
-        if ( isset( $paypal_args['tax_cart'] ) ) {
192
-            unset( $paypal_args['tax_cart'] );
191
+        if (isset($paypal_args['tax_cart'])) {
192
+            unset($paypal_args['tax_cart']);
193 193
         }
194 194
                 
195
-        if ( isset( $paypal_args['upload'] ) ) {
196
-            unset( $paypal_args['upload'] );
195
+        if (isset($paypal_args['upload'])) {
196
+            unset($paypal_args['upload']);
197 197
         }
198 198
         
199
-        $paypal_args = apply_filters( 'wpinv_paypal_recurring_args', $paypal_args, $purchase_data, $invoice );
199
+        $paypal_args = apply_filters('wpinv_paypal_recurring_args', $paypal_args, $purchase_data, $invoice);
200 200
     }
201 201
     
202 202
     return $paypal_args;
203 203
 }
204
-add_filter( 'wpinv_paypal_args', 'wpinv_get_paypal_recurring_args', 10, 3 );
204
+add_filter('wpinv_paypal_args', 'wpinv_get_paypal_recurring_args', 10, 3);
205 205
 
206 206
 function wpinv_process_paypal_ipn() {
207 207
 	// Check the request method is POST
208
-	if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] != 'POST' ) {
208
+	if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] != 'POST') {
209 209
 		return;
210 210
 	}
211 211
 
@@ -213,11 +213,11 @@  discard block
 block discarded – undo
213 213
 	$post_data = '';
214 214
 
215 215
 	// Fallback just in case post_max_size is lower than needed
216
-	if ( ini_get( 'allow_url_fopen' ) ) {
217
-		$post_data = file_get_contents( 'php://input' );
216
+	if (ini_get('allow_url_fopen')) {
217
+		$post_data = file_get_contents('php://input');
218 218
 	} else {
219 219
 		// If allow_url_fopen is not enabled, then make sure that post_max_size is large enough
220
-		ini_set( 'post_max_size', '12M' );
220
+		ini_set('post_max_size', '12M');
221 221
 	}
222 222
 	// Start the encoded data collection with notification command
223 223
 	$encoded_data = 'cmd=_notify-validate';
@@ -226,43 +226,43 @@  discard block
 block discarded – undo
226 226
 	$arg_separator = wpinv_get_php_arg_separator_output();
227 227
 
228 228
 	// Verify there is a post_data
229
-	if ( $post_data || strlen( $post_data ) > 0 ) {
229
+	if ($post_data || strlen($post_data) > 0) {
230 230
 		// Append the data
231
-		$encoded_data .= $arg_separator.$post_data;
231
+		$encoded_data .= $arg_separator . $post_data;
232 232
 	} else {
233 233
 		// Check if POST is empty
234
-		if ( empty( $_POST ) ) {
234
+		if (empty($_POST)) {
235 235
 			// Nothing to do
236 236
 			return;
237 237
 		} else {
238 238
 			// Loop through each POST
239
-			foreach ( $_POST as $key => $value ) {
239
+			foreach ($_POST as $key => $value) {
240 240
 				// Encode the value and append the data
241
-				$encoded_data .= $arg_separator."$key=" . urlencode( $value );
241
+				$encoded_data .= $arg_separator . "$key=" . urlencode($value);
242 242
 			}
243 243
 		}
244 244
 	}
245 245
 
246 246
 	// Convert collected post data to an array
247
-	wp_parse_str( $encoded_data, $encoded_data_array );
247
+	wp_parse_str($encoded_data, $encoded_data_array);
248 248
 
249
-	foreach ( $encoded_data_array as $key => $value ) {
250
-		if ( false !== strpos( $key, 'amp;' ) ) {
251
-			$new_key = str_replace( '&amp;', '&', $key );
252
-			$new_key = str_replace( 'amp;', '&' , $new_key );
249
+	foreach ($encoded_data_array as $key => $value) {
250
+		if (false !== strpos($key, 'amp;')) {
251
+			$new_key = str_replace('&amp;', '&', $key);
252
+			$new_key = str_replace('amp;', '&', $new_key);
253 253
 
254
-			unset( $encoded_data_array[ $key ] );
255
-			$encoded_data_array[ $new_key ] = $value;
254
+			unset($encoded_data_array[$key]);
255
+			$encoded_data_array[$new_key] = $value;
256 256
 		}
257 257
 	}
258 258
 
259 259
 	// Get the PayPal redirect uri
260
-	$paypal_redirect = wpinv_get_paypal_redirect( true );
260
+	$paypal_redirect = wpinv_get_paypal_redirect(true);
261 261
 
262
-	if ( !wpinv_get_option( 'disable_paypal_verification', false ) ) {
262
+	if (!wpinv_get_option('disable_paypal_verification', false)) {
263 263
 		// Validate the IPN
264 264
 
265
-		$remote_post_vars      = array(
265
+		$remote_post_vars = array(
266 266
 			'method'           => 'POST',
267 267
 			'timeout'          => 45,
268 268
 			'redirection'      => 5,
@@ -280,21 +280,21 @@  discard block
 block discarded – undo
280 280
 		);
281 281
 
282 282
 		// Get response
283
-		$api_response = wp_remote_post( wpinv_get_paypal_redirect(), $remote_post_vars );
283
+		$api_response = wp_remote_post(wpinv_get_paypal_redirect(), $remote_post_vars);
284 284
 
285
-		if ( is_wp_error( $api_response ) ) {
286
-			wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid IPN verification response. IPN data: %s', 'invoicing' ), json_encode( $api_response ) ) );
285
+		if (is_wp_error($api_response)) {
286
+			wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid IPN verification response. IPN data: %s', 'invoicing'), json_encode($api_response)));
287 287
 			return; // Something went wrong
288 288
 		}
289 289
 
290
-		if ( $api_response['body'] !== 'VERIFIED' && wpinv_get_option( 'disable_paypal_verification', false ) ) {
291
-			wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid IPN verification response. IPN data: %s', 'invoicing' ), json_encode( $api_response ) ) );
290
+		if ($api_response['body'] !== 'VERIFIED' && wpinv_get_option('disable_paypal_verification', false)) {
291
+			wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid IPN verification response. IPN data: %s', 'invoicing'), json_encode($api_response)));
292 292
 			return; // Response not okay
293 293
 		}
294 294
 	}
295 295
 
296 296
 	// Check if $post_data_array has been populated
297
-	if ( !is_array( $encoded_data_array ) && !empty( $encoded_data_array ) )
297
+	if (!is_array($encoded_data_array) && !empty($encoded_data_array))
298 298
 		return;
299 299
 
300 300
 	$defaults = array(
@@ -302,265 +302,265 @@  discard block
 block discarded – undo
302 302
 		'payment_status' => ''
303 303
 	);
304 304
 
305
-	$encoded_data_array = wp_parse_args( $encoded_data_array, $defaults );
305
+	$encoded_data_array = wp_parse_args($encoded_data_array, $defaults);
306 306
 
307
-	$invoice_id = isset( $encoded_data_array['custom'] ) ? absint( $encoded_data_array['custom'] ) : 0;
307
+	$invoice_id = isset($encoded_data_array['custom']) ? absint($encoded_data_array['custom']) : 0;
308 308
     
309
-	wpinv_error_log( $encoded_data_array['txn_type'], 'PayPal txn_type', __FILE__, __LINE__ );
310
-	wpinv_error_log( $encoded_data_array, 'PayPal IPN response', __FILE__, __LINE__ );
309
+	wpinv_error_log($encoded_data_array['txn_type'], 'PayPal txn_type', __FILE__, __LINE__);
310
+	wpinv_error_log($encoded_data_array, 'PayPal IPN response', __FILE__, __LINE__);
311 311
 
312
-	if ( has_action( 'wpinv_paypal_' . $encoded_data_array['txn_type'] ) ) {
312
+	if (has_action('wpinv_paypal_' . $encoded_data_array['txn_type'])) {
313 313
 		// Allow PayPal IPN types to be processed separately
314
-		do_action( 'wpinv_paypal_' . $encoded_data_array['txn_type'], $encoded_data_array, $invoice_id );
314
+		do_action('wpinv_paypal_' . $encoded_data_array['txn_type'], $encoded_data_array, $invoice_id);
315 315
 	} else {
316 316
 		// Fallback to web accept just in case the txn_type isn't present
317
-		do_action( 'wpinv_paypal_web_accept', $encoded_data_array, $invoice_id );
317
+		do_action('wpinv_paypal_web_accept', $encoded_data_array, $invoice_id);
318 318
 	}
319 319
 	exit;
320 320
 }
321
-add_action( 'wpinv_verify_paypal_ipn', 'wpinv_process_paypal_ipn' );
321
+add_action('wpinv_verify_paypal_ipn', 'wpinv_process_paypal_ipn');
322 322
 
323
-function wpinv_process_paypal_web_accept_and_cart( $data, $invoice_id ) {
324
-	if ( $data['txn_type'] != 'web_accept' && $data['txn_type'] != 'cart' && $data['payment_status'] != 'Refunded' ) {
323
+function wpinv_process_paypal_web_accept_and_cart($data, $invoice_id) {
324
+	if ($data['txn_type'] != 'web_accept' && $data['txn_type'] != 'cart' && $data['payment_status'] != 'Refunded') {
325 325
 		return;
326 326
 	}
327 327
 
328
-	if( empty( $invoice_id ) ) {
328
+	if (empty($invoice_id)) {
329 329
 		return;
330 330
 	}
331 331
 
332 332
 	// Collect payment details
333
-	$purchase_key   = isset( $data['invoice'] ) ? $data['invoice'] : $data['item_number'];
333
+	$purchase_key   = isset($data['invoice']) ? $data['invoice'] : $data['item_number'];
334 334
 	$paypal_amount  = $data['mc_gross'];
335
-	$payment_status = strtolower( $data['payment_status'] );
336
-	$currency_code  = strtolower( $data['mc_currency'] );
337
-	$business_email = isset( $data['business'] ) && is_email( $data['business'] ) ? trim( $data['business'] ) : trim( $data['receiver_email'] );
338
-	$payment_meta   = wpinv_get_invoice_meta( $invoice_id );
335
+	$payment_status = strtolower($data['payment_status']);
336
+	$currency_code  = strtolower($data['mc_currency']);
337
+	$business_email = isset($data['business']) && is_email($data['business']) ? trim($data['business']) : trim($data['receiver_email']);
338
+	$payment_meta   = wpinv_get_invoice_meta($invoice_id);
339 339
 
340
-	if ( wpinv_get_payment_gateway( $invoice_id ) != 'paypal' ) {
340
+	if (wpinv_get_payment_gateway($invoice_id) != 'paypal') {
341 341
 		return; // this isn't a PayPal standard IPN
342 342
 	}
343 343
 
344 344
 	// Verify payment recipient
345
-	if ( strcasecmp( $business_email, trim( wpinv_get_option( 'paypal_email', false ) ) ) != 0 ) {
346
-		wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid business email in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
347
-		wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
348
-		wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid PayPal business email.', 'invoicing' ), '', '', true );
345
+	if (strcasecmp($business_email, trim(wpinv_get_option('paypal_email', false))) != 0) {
346
+		wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid business email in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id);
347
+		wpinv_update_payment_status($invoice_id, 'wpi-failed');
348
+		wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid PayPal business email.', 'invoicing'), '', '', true);
349 349
 		return;
350 350
 	}
351 351
 
352 352
 	// Verify payment currency
353
-	if ( $currency_code != strtolower( $payment_meta['currency'] ) ) {
354
-		wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid currency in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
355
-		wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
356
-		wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid currency in PayPal IPN.', 'invoicing' ), '', '', true );
353
+	if ($currency_code != strtolower($payment_meta['currency'])) {
354
+		wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid currency in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id);
355
+		wpinv_update_payment_status($invoice_id, 'wpi-failed');
356
+		wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid currency in PayPal IPN.', 'invoicing'), '', '', true);
357 357
 		return;
358 358
 	}
359 359
 
360
-	if ( !wpinv_get_payment_user_email( $invoice_id ) ) {
360
+	if (!wpinv_get_payment_user_email($invoice_id)) {
361 361
 		// This runs when a Buy Now purchase was made. It bypasses checkout so no personal info is collected until PayPal
362 362
 		// No email associated with purchase, so store from PayPal
363
-		wpinv_update_invoice_meta( $invoice_id, '_wpinv_email', $data['payer_email'] );
363
+		wpinv_update_invoice_meta($invoice_id, '_wpinv_email', $data['payer_email']);
364 364
 
365 365
 		// Setup and store the customer's details
366 366
 		$user_info = array(
367 367
 			'user_id'    => '-1',
368
-			'email'      => sanitize_text_field( $data['payer_email'] ),
369
-			'first_name' => sanitize_text_field( $data['first_name'] ),
370
-			'last_name'  => sanitize_text_field( $data['last_name'] ),
368
+			'email'      => sanitize_text_field($data['payer_email']),
369
+			'first_name' => sanitize_text_field($data['first_name']),
370
+			'last_name'  => sanitize_text_field($data['last_name']),
371 371
 			'discount'   => '',
372 372
 		);
373
-		$user_info['address'] = ! empty( $data['address_street']       ) ? sanitize_text_field( $data['address_street'] )       : false;
374
-		$user_info['city']    = ! empty( $data['address_city']         ) ? sanitize_text_field( $data['address_city'] )         : false;
375
-		$user_info['state']   = ! empty( $data['address_state']        ) ? sanitize_text_field( $data['address_state'] )        : false;
376
-		$user_info['country'] = ! empty( $data['address_country_code'] ) ? sanitize_text_field( $data['address_country_code'] ) : false;
377
-		$user_info['zip']     = ! empty( $data['address_zip']          ) ? sanitize_text_field( $data['address_zip'] )          : false;
373
+		$user_info['address'] = !empty($data['address_street']) ? sanitize_text_field($data['address_street']) : false;
374
+		$user_info['city']    = !empty($data['address_city']) ? sanitize_text_field($data['address_city']) : false;
375
+		$user_info['state']   = !empty($data['address_state']) ? sanitize_text_field($data['address_state']) : false;
376
+		$user_info['country'] = !empty($data['address_country_code']) ? sanitize_text_field($data['address_country_code']) : false;
377
+		$user_info['zip']     = !empty($data['address_zip']) ? sanitize_text_field($data['address_zip']) : false;
378 378
 
379 379
 		$payment_meta['user_info'] = $user_info;
380
-		wpinv_update_invoice_meta( $invoice_id, '_wpinv_payment_meta', $payment_meta );
380
+		wpinv_update_invoice_meta($invoice_id, '_wpinv_payment_meta', $payment_meta);
381 381
 	}
382 382
 
383
-	if ( $payment_status == 'refunded' || $payment_status == 'reversed' ) {
383
+	if ($payment_status == 'refunded' || $payment_status == 'reversed') {
384 384
 		// Process a refund
385
-		wpinv_process_paypal_refund( $data, $invoice_id );
385
+		wpinv_process_paypal_refund($data, $invoice_id);
386 386
 	} else {
387
-		if ( get_post_status( $invoice_id ) == 'publish' ) {
387
+		if (get_post_status($invoice_id) == 'publish') {
388 388
 			return; // Only paid payments once
389 389
 		}
390 390
 
391 391
 		// Retrieve the total purchase amount (before PayPal)
392
-		$payment_amount = wpinv_payment_total( $invoice_id );
392
+		$payment_amount = wpinv_payment_total($invoice_id);
393 393
 
394
-		if ( number_format( (float) $paypal_amount, 2 ) < number_format( (float) $payment_amount, 2 ) ) {
394
+		if (number_format((float) $paypal_amount, 2) < number_format((float) $payment_amount, 2)) {
395 395
 			// The prices don't match
396
-			wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid payment amount in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
397
-			wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
398
-			wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid amount in PayPal IPN.', 'invoicing' ), '', '', true );
396
+			wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid payment amount in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id);
397
+			wpinv_update_payment_status($invoice_id, 'wpi-failed');
398
+			wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid amount in PayPal IPN.', 'invoicing'), '', '', true);
399 399
 			return;
400 400
 		}
401
-		if ( $purchase_key != wpinv_get_payment_key( $invoice_id ) ) {
401
+		if ($purchase_key != wpinv_get_payment_key($invoice_id)) {
402 402
 			// Purchase keys don't match
403
-			wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid purchase key in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
404
-			wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
405
-			wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid purchase key in PayPal IPN.', 'invoicing' ), '', '', true );
403
+			wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid purchase key in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id);
404
+			wpinv_update_payment_status($invoice_id, 'wpi-failed');
405
+			wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid purchase key in PayPal IPN.', 'invoicing'), '', '', true);
406 406
 			return;
407 407
 		}
408 408
 
409
-		if ( 'complete' == $payment_status || 'completed' == $payment_status || 'processed' == $payment_status || wpinv_is_test_mode( 'paypal' ) ) {
410
-			wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $data['txn_id'] ), '', '', true );
411
-			wpinv_set_payment_transaction_id( $invoice_id, $data['txn_id'] );
412
-			wpinv_update_payment_status( $invoice_id, 'publish' );
413
-		} else if ( 'pending' == $payment_status && isset( $data['pending_reason'] ) ) {
409
+		if ('complete' == $payment_status || 'completed' == $payment_status || 'processed' == $payment_status || wpinv_is_test_mode('paypal')) {
410
+			wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $data['txn_id']), '', '', true);
411
+			wpinv_set_payment_transaction_id($invoice_id, $data['txn_id']);
412
+			wpinv_update_payment_status($invoice_id, 'publish');
413
+		} else if ('pending' == $payment_status && isset($data['pending_reason'])) {
414 414
 			// Look for possible pending reasons, such as an echeck
415 415
 			$note = '';
416 416
 
417
-			switch( strtolower( $data['pending_reason'] ) ) {
417
+			switch (strtolower($data['pending_reason'])) {
418 418
 				case 'echeck' :
419
-					$note = __( 'Payment made via eCheck and will clear automatically in 5-8 days', 'invoicing' );
419
+					$note = __('Payment made via eCheck and will clear automatically in 5-8 days', 'invoicing');
420 420
 					break;
421 421
 				
422 422
                 case 'address' :
423
-					$note = __( 'Payment requires a confirmed customer address and must be accepted manually through PayPal', 'invoicing' );
423
+					$note = __('Payment requires a confirmed customer address and must be accepted manually through PayPal', 'invoicing');
424 424
 					break;
425 425
 				
426 426
                 case 'intl' :
427
-					$note = __( 'Payment must be accepted manually through PayPal due to international account regulations', 'invoicing' );
427
+					$note = __('Payment must be accepted manually through PayPal due to international account regulations', 'invoicing');
428 428
 					break;
429 429
 				
430 430
                 case 'multi-currency' :
431
-					$note = __( 'Payment received in non-shop currency and must be accepted manually through PayPal', 'invoicing' );
431
+					$note = __('Payment received in non-shop currency and must be accepted manually through PayPal', 'invoicing');
432 432
 					break;
433 433
 				
434 434
                 case 'paymentreview' :
435 435
                 case 'regulatory_review' :
436
-					$note = __( 'Payment is being reviewed by PayPal staff as high-risk or in possible violation of government regulations', 'invoicing' );
436
+					$note = __('Payment is being reviewed by PayPal staff as high-risk or in possible violation of government regulations', 'invoicing');
437 437
 					break;
438 438
 				
439 439
                 case 'unilateral' :
440
-					$note = __( 'Payment was sent to non-confirmed or non-registered email address.', 'invoicing' );
440
+					$note = __('Payment was sent to non-confirmed or non-registered email address.', 'invoicing');
441 441
 					break;
442 442
 				
443 443
                 case 'upgrade' :
444
-					$note = __( 'PayPal account must be upgraded before this payment can be accepted', 'invoicing' );
444
+					$note = __('PayPal account must be upgraded before this payment can be accepted', 'invoicing');
445 445
 					break;
446 446
 				
447 447
                 case 'verify' :
448
-					$note = __( 'PayPal account is not verified. Verify account in order to accept this payment', 'invoicing' );
448
+					$note = __('PayPal account is not verified. Verify account in order to accept this payment', 'invoicing');
449 449
 					break;
450 450
 
451 451
 				case 'other' :
452
-					$note = __( 'Payment is pending for unknown reasons. Contact PayPal support for assistance', 'invoicing' );
452
+					$note = __('Payment is pending for unknown reasons. Contact PayPal support for assistance', 'invoicing');
453 453
 					break;
454 454
 			}
455 455
 
456
-			if ( ! empty( $note ) ) {
457
-				wpinv_insert_payment_note( $invoice_id, $note, '', '', true );
456
+			if (!empty($note)) {
457
+				wpinv_insert_payment_note($invoice_id, $note, '', '', true);
458 458
 			}
459 459
 		} else {
460
-			wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal IPN has been received with invalid payment status: %s', 'invoicing' ), $payment_status ), '', '', true );
460
+			wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal IPN has been received with invalid payment status: %s', 'invoicing'), $payment_status), '', '', true);
461 461
 		}
462 462
 	}
463 463
 }
464
-add_action( 'wpinv_paypal_web_accept', 'wpinv_process_paypal_web_accept_and_cart', 10, 2 );
464
+add_action('wpinv_paypal_web_accept', 'wpinv_process_paypal_web_accept_and_cart', 10, 2);
465 465
 
466 466
 // Process PayPal subscription sign ups
467
-add_action( 'wpinv_paypal_subscr_signup', 'wpinv_process_paypal_subscr_signup' );
467
+add_action('wpinv_paypal_subscr_signup', 'wpinv_process_paypal_subscr_signup');
468 468
 
469 469
 // Process PayPal subscription payments
470
-add_action( 'wpinv_paypal_subscr_payment', 'wpinv_process_paypal_subscr_payment' );
470
+add_action('wpinv_paypal_subscr_payment', 'wpinv_process_paypal_subscr_payment');
471 471
 
472 472
 // Process PayPal subscription cancellations
473
-add_action( 'wpinv_paypal_subscr_cancel', 'wpinv_process_paypal_subscr_cancel' );
473
+add_action('wpinv_paypal_subscr_cancel', 'wpinv_process_paypal_subscr_cancel');
474 474
 
475 475
 // Process PayPal subscription end of term notices
476
-add_action( 'wpinv_paypal_subscr_eot', 'wpinv_process_paypal_subscr_eot' );
476
+add_action('wpinv_paypal_subscr_eot', 'wpinv_process_paypal_subscr_eot');
477 477
 
478 478
 // Process PayPal payment failed
479
-add_action( 'wpinv_paypal_subscr_failed', 'wpinv_process_paypal_subscr_failed' );
479
+add_action('wpinv_paypal_subscr_failed', 'wpinv_process_paypal_subscr_failed');
480 480
 
481 481
 
482 482
 /**
483 483
  * Process the subscription started IPN.
484 484
  */
485
-function wpinv_process_paypal_subscr_signup( $ipn_data ) {
486
-    $parent_invoice_id = absint( $ipn_data['custom'] );
487
-    if( empty( $parent_invoice_id ) ) {
485
+function wpinv_process_paypal_subscr_signup($ipn_data) {
486
+    $parent_invoice_id = absint($ipn_data['custom']);
487
+    if (empty($parent_invoice_id)) {
488 488
         return;
489 489
     }
490 490
 
491
-    $invoice = wpinv_get_invoice( $parent_invoice_id );
492
-    if ( empty( $invoice ) ) {
491
+    $invoice = wpinv_get_invoice($parent_invoice_id);
492
+    if (empty($invoice)) {
493 493
         return;
494 494
     }
495 495
 
496
-    if ( $invoice->is_free_trial() && !empty( $ipn_data['invoice'] ) ) {
497
-        wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Invoice ID: %s', 'invoicing' ) , $ipn_data['invoice'] ), '', '', true);
498
-        if ( !empty( $ipn_data['txn_id'] ) ) {
499
-            wpinv_set_payment_transaction_id( $parent_invoice_id, $ipn_data['txn_id'] );
496
+    if ($invoice->is_free_trial() && !empty($ipn_data['invoice'])) {
497
+        wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Invoice ID: %s', 'invoicing'), $ipn_data['invoice']), '', '', true);
498
+        if (!empty($ipn_data['txn_id'])) {
499
+            wpinv_set_payment_transaction_id($parent_invoice_id, $ipn_data['txn_id']);
500 500
         }
501 501
     }
502 502
 
503
-    $subscription = wpinv_get_paypal_subscription( $ipn_data );
504
-    if ( false === $subscription ) {
503
+    $subscription = wpinv_get_paypal_subscription($ipn_data);
504
+    if (false === $subscription) {
505 505
         return;
506 506
     }
507 507
     
508
-    wpinv_update_payment_status( $parent_invoice_id, 'publish' );
508
+    wpinv_update_payment_status($parent_invoice_id, 'publish');
509 509
     sleep(1);
510
-    wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Subscription ID: %s', 'invoicing' ) , $ipn_data['subscr_id'] ), '', '', true );
511
-    update_post_meta($parent_invoice_id,'_wpinv_subscr_profile_id', $ipn_data['subscr_id']);
510
+    wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Subscription ID: %s', 'invoicing'), $ipn_data['subscr_id']), '', '', true);
511
+    update_post_meta($parent_invoice_id, '_wpinv_subscr_profile_id', $ipn_data['subscr_id']);
512 512
 
513 513
     $status     = 'trialling' == $subscription->status ? 'trialling' : 'active';
514
-    $diff_days  = absint( ( ( strtotime( $subscription->expiration ) - strtotime( $subscription->created ) ) / DAY_IN_SECONDS ) );
515
-    $created    = date_i18n( 'Y-m-d H:i:s' );
516
-    $expiration = date_i18n( 'Y-m-d 23:59:59', ( strtotime( $created ) + ( $diff_days * DAY_IN_SECONDS ) ) );
514
+    $diff_days  = absint(((strtotime($subscription->expiration) - strtotime($subscription->created)) / DAY_IN_SECONDS));
515
+    $created    = date_i18n('Y-m-d H:i:s');
516
+    $expiration = date_i18n('Y-m-d 23:59:59', (strtotime($created) + ($diff_days * DAY_IN_SECONDS)));
517 517
 
518 518
     // Retrieve pending subscription from database and update it's status to active and set proper profile ID
519
-    $subscription->update( array( 'profile_id' => $ipn_data['subscr_id'], 'status' => $status, 'created' => $created, 'expiration' => $expiration ) );
519
+    $subscription->update(array('profile_id' => $ipn_data['subscr_id'], 'status' => $status, 'created' => $created, 'expiration' => $expiration));
520 520
 }
521 521
 
522 522
 /**
523 523
  * Process the subscription payment received IPN.
524 524
  */
525
-function wpinv_process_paypal_subscr_payment( $ipn_data ) {
526
-    $parent_invoice_id = absint( $ipn_data['custom'] );
525
+function wpinv_process_paypal_subscr_payment($ipn_data) {
526
+    $parent_invoice_id = absint($ipn_data['custom']);
527 527
 
528
-    $parent_invoice = wpinv_get_invoice( $parent_invoice_id );
529
-    if ( empty( $parent_invoice ) ) {
528
+    $parent_invoice = wpinv_get_invoice($parent_invoice_id);
529
+    if (empty($parent_invoice)) {
530 530
         return;
531 531
     }
532 532
 
533
-    $subscription = wpinv_get_paypal_subscription( $ipn_data );
534
-    if ( false === $subscription ) {
533
+    $subscription = wpinv_get_paypal_subscription($ipn_data);
534
+    if (false === $subscription) {
535 535
         return;
536 536
     }
537 537
 
538
-    $transaction_id = wpinv_get_payment_transaction_id( $parent_invoice_id );
538
+    $transaction_id = wpinv_get_payment_transaction_id($parent_invoice_id);
539 539
     $times_billed   = $subscription->get_times_billed();
540
-    $signup_date    = strtotime( $subscription->created );
541
-    $today          = date( 'Ynd', $signup_date ) == date( 'Ynd', strtotime( $ipn_data['payment_date'] ) );
540
+    $signup_date    = strtotime($subscription->created);
541
+    $today          = date('Ynd', $signup_date) == date('Ynd', strtotime($ipn_data['payment_date']));
542 542
 
543 543
     // Look to see if payment is same day as signup and we have set the transaction ID on the parent payment yet.
544
-    if ( (empty($times_billed) || $today) && ( !$transaction_id || $transaction_id == $parent_invoice_id ) ) {
545
-        wpinv_update_payment_status( $parent_invoice_id, 'publish' );
544
+    if ((empty($times_billed) || $today) && (!$transaction_id || $transaction_id == $parent_invoice_id)) {
545
+        wpinv_update_payment_status($parent_invoice_id, 'publish');
546 546
         sleep(1);
547 547
         
548 548
         // This is the very first payment
549
-        wpinv_set_payment_transaction_id( $parent_invoice_id, $ipn_data['txn_id'] );
550
-        wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $ipn_data['txn_id'] ), '', '', true );
549
+        wpinv_set_payment_transaction_id($parent_invoice_id, $ipn_data['txn_id']);
550
+        wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $ipn_data['txn_id']), '', '', true);
551 551
         return;
552 552
     }
553 553
 
554
-    if ( wpinv_get_id_by_transaction_id( $ipn_data['txn_id'] ) ) {
554
+    if (wpinv_get_id_by_transaction_id($ipn_data['txn_id'])) {
555 555
         return; // Payment already recorded
556 556
     }
557 557
 
558
-    $currency_code = strtolower( $ipn_data['mc_currency'] );
558
+    $currency_code = strtolower($ipn_data['mc_currency']);
559 559
 
560 560
     // verify details
561
-    if ( $currency_code != strtolower( wpinv_get_currency() ) ) {
561
+    if ($currency_code != strtolower(wpinv_get_currency())) {
562 562
         // the currency code is invalid
563
-        wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid currency in IPN response. IPN data: ', 'invoicing' ), json_encode( $ipn_data ) ) );
563
+        wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid currency in IPN response. IPN data: ', 'invoicing'), json_encode($ipn_data)));
564 564
         return;
565 565
     }
566 566
 
@@ -570,11 +570,11 @@  discard block
 block discarded – undo
570 570
         'gateway'        => 'paypal'
571 571
     );
572 572
     
573
-    $invoice_id = $subscription->add_payment( $args );
573
+    $invoice_id = $subscription->add_payment($args);
574 574
 
575
-    if ( $invoice_id > 0 ) {
576
-        wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $ipn_data['txn_id'] ), '', '', true );
577
-        wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal Subscription ID: %s', 'invoicing' ) , $ipn_data['subscr_id'] ), '', '', true );
575
+    if ($invoice_id > 0) {
576
+        wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $ipn_data['txn_id']), '', '', true);
577
+        wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal Subscription ID: %s', 'invoicing'), $ipn_data['subscr_id']), '', '', true);
578 578
 
579 579
         $subscription->renew();
580 580
     }
@@ -583,10 +583,10 @@  discard block
 block discarded – undo
583 583
 /**
584 584
  * Process the subscription canceled IPN.
585 585
  */
586
-function wpinv_process_paypal_subscr_cancel( $ipn_data ) {
587
-    $subscription = wpinv_get_paypal_subscription( $ipn_data );
586
+function wpinv_process_paypal_subscr_cancel($ipn_data) {
587
+    $subscription = wpinv_get_paypal_subscription($ipn_data);
588 588
 
589
-    if( false === $subscription ) {
589
+    if (false === $subscription) {
590 590
         return;
591 591
     }
592 592
 
@@ -596,10 +596,10 @@  discard block
 block discarded – undo
596 596
 /**
597 597
  * Process the subscription expired IPN.
598 598
  */
599
-function wpinv_process_paypal_subscr_eot( $ipn_data ) {
600
-    $subscription = wpinv_get_paypal_subscription( $ipn_data );
599
+function wpinv_process_paypal_subscr_eot($ipn_data) {
600
+    $subscription = wpinv_get_paypal_subscription($ipn_data);
601 601
 
602
-    if( false === $subscription ) {
602
+    if (false === $subscription) {
603 603
         return;
604 604
     }
605 605
 
@@ -609,40 +609,40 @@  discard block
 block discarded – undo
609 609
 /**
610 610
  * Process the subscription payment failed IPN.
611 611
  */
612
-function wpinv_process_paypal_subscr_failed( $ipn_data ) {
613
-    $subscription = wpinv_get_paypal_subscription( $ipn_data );
612
+function wpinv_process_paypal_subscr_failed($ipn_data) {
613
+    $subscription = wpinv_get_paypal_subscription($ipn_data);
614 614
 
615
-    if( false === $subscription ) {
615
+    if (false === $subscription) {
616 616
         return;
617 617
     }
618 618
 
619 619
     $subscription->failing();
620 620
 
621
-    do_action( 'wpinv_recurring_payment_failed', $subscription );
621
+    do_action('wpinv_recurring_payment_failed', $subscription);
622 622
 }
623 623
 
624 624
 /**
625 625
  * Retrieve the subscription this IPN notice is for.
626 626
  */
627
-function wpinv_get_paypal_subscription( $ipn_data = array() ) {
628
-    $parent_invoice_id = absint( $ipn_data['custom'] );
627
+function wpinv_get_paypal_subscription($ipn_data = array()) {
628
+    $parent_invoice_id = absint($ipn_data['custom']);
629 629
 
630
-    if( empty( $parent_invoice_id ) ) {
630
+    if (empty($parent_invoice_id)) {
631 631
         return false;
632 632
     }
633 633
 
634
-    $invoice = wpinv_get_invoice( $parent_invoice_id );
635
-    if ( empty( $invoice ) ) {
634
+    $invoice = wpinv_get_invoice($parent_invoice_id);
635
+    if (empty($invoice)) {
636 636
         return false;
637 637
     }
638 638
 
639
-    $subscription = new WPInv_Subscription( $ipn_data['subscr_id'], true );
639
+    $subscription = new WPInv_Subscription($ipn_data['subscr_id'], true);
640 640
 
641
-    if ( ! ( ! empty( $subscription ) && $subscription->id > 0 ) ) {
642
-        $subscription = wpinv_get_subscription( $parent_invoice_id );
641
+    if (!(!empty($subscription) && $subscription->id > 0)) {
642
+        $subscription = wpinv_get_subscription($parent_invoice_id);
643 643
 
644
-        if ( ! empty( $subscription ) && $subscription->id > 0 ) {
645
-            $subscription->update( array( 'profile_id' => sanitize_text_field( $ipn_data['subscr_id'] ) ) );
644
+        if (!empty($subscription) && $subscription->id > 0) {
645
+            $subscription->update(array('profile_id' => sanitize_text_field($ipn_data['subscr_id'])));
646 646
         } else {
647 647
             return false;
648 648
         }
@@ -652,152 +652,152 @@  discard block
 block discarded – undo
652 652
 
653 653
 }
654 654
 
655
-function wpinv_process_paypal_refund( $data, $invoice_id = 0 ) {
655
+function wpinv_process_paypal_refund($data, $invoice_id = 0) {
656 656
 	// Collect payment details
657 657
 
658
-	if( empty( $invoice_id ) ) {
658
+	if (empty($invoice_id)) {
659 659
 		return;
660 660
 	}
661 661
 
662
-	if ( get_post_status( $invoice_id ) == 'wpi-refunded' ) {
662
+	if (get_post_status($invoice_id) == 'wpi-refunded') {
663 663
 		return; // Only refund payments once
664 664
 	}
665 665
 
666
-	$payment_amount = wpinv_payment_total( $invoice_id );
666
+	$payment_amount = wpinv_payment_total($invoice_id);
667 667
 	$refund_amount  = $data['mc_gross'] * -1;
668 668
 
669
-	do_action( 'wpinv_paypal_refund_request', $data, $invoice_id );
669
+	do_action('wpinv_paypal_refund_request', $data, $invoice_id);
670 670
 
671
-	if ( number_format( (float) $refund_amount, 2 ) < number_format( (float) $payment_amount, 2 ) ) {
672
-		wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal partial refund of %s processed for transaction #%s for reason: %s', 'invoicing' ), (float)$refund_amount . ' '. $data['mc_currency'], $data['parent_txn_id'], $data['reason_code'] ), '', '', true );
671
+	if (number_format((float) $refund_amount, 2) < number_format((float) $payment_amount, 2)) {
672
+		wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal partial refund of %s processed for transaction #%s for reason: %s', 'invoicing'), (float) $refund_amount . ' ' . $data['mc_currency'], $data['parent_txn_id'], $data['reason_code']), '', '', true);
673 673
 
674
-		do_action( 'wpinv_paypal_invoice_partially_refunded', $data, $invoice_id, $refund_amount );
674
+		do_action('wpinv_paypal_invoice_partially_refunded', $data, $invoice_id, $refund_amount);
675 675
 
676 676
 		return; // This is a partial refund
677 677
 	}
678 678
 
679
-	wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Payment #%s Refunded for reason: %s', 'invoicing' ), $data['parent_txn_id'], $data['reason_code'] ), '', '', true );
680
-	wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Refund Transaction ID: %s', 'invoicing' ), $data['txn_id'] ), '', '', true );
681
-	wpinv_update_payment_status( $invoice_id, 'wpi-refunded' );
679
+	wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Payment #%s Refunded for reason: %s', 'invoicing'), $data['parent_txn_id'], $data['reason_code']), '', '', true);
680
+	wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Refund Transaction ID: %s', 'invoicing'), $data['txn_id']), '', '', true);
681
+	wpinv_update_payment_status($invoice_id, 'wpi-refunded');
682 682
 
683
-	do_action( 'wpinv_paypal_invoice_fully_refunded', $data, $invoice_id );
683
+	do_action('wpinv_paypal_invoice_fully_refunded', $data, $invoice_id);
684 684
 }
685 685
 
686
-function wpinv_get_paypal_redirect( $ssl_check = false ) {
687
-    return apply_filters( 'wpinv_paypal_uri', wpinv_is_test_mode( 'paypal' ) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr?test_ipn=1&' : 'https://www.paypal.com/cgi-bin/webscr?' );
686
+function wpinv_get_paypal_redirect($ssl_check = false) {
687
+    return apply_filters('wpinv_paypal_uri', wpinv_is_test_mode('paypal') ? 'https://www.sandbox.paypal.com/cgi-bin/webscr?test_ipn=1&' : 'https://www.paypal.com/cgi-bin/webscr?');
688 688
 }
689 689
 
690
-function wpinv_paypal_success_page_content( $content ) {
690
+function wpinv_paypal_success_page_content($content) {
691 691
     global $wpi_invoice;
692 692
     
693 693
     $session = wpinv_get_checkout_session();
694 694
 
695
-    if ( empty( $_GET['invoice-id'] ) && empty( $session['invoice_key'] )  ) {
695
+    if (empty($_GET['invoice-id']) && empty($session['invoice_key'])) {
696 696
         return $content;
697 697
     }
698 698
 
699
-    $invoice_id = ! empty( $_GET['invoice-id'] ) ? absint( $_GET['invoice-id'] ) : wpinv_get_invoice_id_by_key( $session['invoice_key'] );
699
+    $invoice_id = !empty($_GET['invoice-id']) ? absint($_GET['invoice-id']) : wpinv_get_invoice_id_by_key($session['invoice_key']);
700 700
 
701
-    if ( empty(  $invoice_id ) ) {
701
+    if (empty($invoice_id)) {
702 702
         return $content;
703 703
     }
704 704
 
705
-    $wpi_invoice = wpinv_get_invoice( $invoice_id );
705
+    $wpi_invoice = wpinv_get_invoice($invoice_id);
706 706
     
707
-    if ( ! empty( $wpi_invoice ) && 'wpi-pending' == $wpi_invoice->status ) {
707
+    if (!empty($wpi_invoice) && 'wpi-pending' == $wpi_invoice->status) {
708 708
         // Payment is still pending so show processing indicator to fix the Race Condition, issue #
709 709
         ob_start();
710
-        wpinv_get_template_part( 'wpinv-payment-processing' );
710
+        wpinv_get_template_part('wpinv-payment-processing');
711 711
         $content = ob_get_clean();
712 712
     }
713 713
 
714 714
     return $content;
715 715
 }
716
-add_filter( 'wpinv_payment_confirm_paypal', 'wpinv_paypal_success_page_content' );
716
+add_filter('wpinv_payment_confirm_paypal', 'wpinv_paypal_success_page_content');
717 717
 
718
-function wpinv_paypal_get_transaction_id( $invoice_id ) {
718
+function wpinv_paypal_get_transaction_id($invoice_id) {
719 719
     $transaction_id = '';
720
-    $notes = wpinv_get_invoice_notes( $invoice_id );
720
+    $notes = wpinv_get_invoice_notes($invoice_id);
721 721
 
722
-    foreach ( $notes as $note ) {
723
-        if ( preg_match( '/^PayPal Transaction ID: ([^\s]+)/', $note->comment_content, $match ) ) {
722
+    foreach ($notes as $note) {
723
+        if (preg_match('/^PayPal Transaction ID: ([^\s]+)/', $note->comment_content, $match)) {
724 724
             $transaction_id = $match[1];
725 725
             continue;
726 726
         }
727 727
     }
728 728
 
729
-    return apply_filters( 'wpinv_paypal_set_transaction_id', $transaction_id, $invoice_id );
729
+    return apply_filters('wpinv_paypal_set_transaction_id', $transaction_id, $invoice_id);
730 730
 }
731
-add_filter( 'wpinv_payment_get_transaction_id-paypal', 'wpinv_paypal_get_transaction_id', 10, 1 );
731
+add_filter('wpinv_payment_get_transaction_id-paypal', 'wpinv_paypal_get_transaction_id', 10, 1);
732 732
 
733
-function wpinv_paypal_link_transaction_id( $transaction_id, $invoice_id, $invoice ) {
734
-    if ( $transaction_id == $invoice_id ) {
733
+function wpinv_paypal_link_transaction_id($transaction_id, $invoice_id, $invoice) {
734
+    if ($transaction_id == $invoice_id) {
735 735
         $transaction_link = $transaction_id;
736 736
     } else {
737
-        if ( ! empty( $invoice ) && ! empty( $invoice->mode ) ) {
737
+        if (!empty($invoice) && !empty($invoice->mode)) {
738 738
             $mode = $invoice->mode;
739 739
         } else {
740
-            $mode = wpinv_is_test_mode( 'paypal' ) ? 'test' : 'live';
740
+            $mode = wpinv_is_test_mode('paypal') ? 'test' : 'live';
741 741
         }
742 742
 
743 743
         $sandbox = $mode == 'test' ? '.sandbox' : '';
744 744
         $transaction_url = 'https://www' . $sandbox . '.paypal.com/webscr?cmd=_history-details-from-hub&id=' . $transaction_id;
745 745
 
746
-        $transaction_link = '<a href="' . esc_url( $transaction_url ) . '" target="_blank">' . $transaction_id . '</a>';
746
+        $transaction_link = '<a href="' . esc_url($transaction_url) . '" target="_blank">' . $transaction_id . '</a>';
747 747
     }
748 748
 
749
-    return apply_filters( 'wpinv_paypal_link_payment_details_transaction_id', $transaction_link, $transaction_id, $invoice );
749
+    return apply_filters('wpinv_paypal_link_payment_details_transaction_id', $transaction_link, $transaction_id, $invoice);
750 750
 }
751
-add_filter( 'wpinv_payment_details_transaction_id-paypal', 'wpinv_paypal_link_transaction_id', 10, 3 );
751
+add_filter('wpinv_payment_details_transaction_id-paypal', 'wpinv_paypal_link_transaction_id', 10, 3);
752 752
 
753
-function wpinv_paypal_profile_id_link( $profile_id, $subscription ) {
753
+function wpinv_paypal_profile_id_link($profile_id, $subscription) {
754 754
     $link = $profile_id;
755 755
 
756
-    if ( ! empty( $profile_id ) && ! empty( $subscription ) && ( $invoice_id = $subscription->get_original_payment_id() ) ) {
757
-        $invoice = wpinv_get_invoice( $invoice_id );
756
+    if (!empty($profile_id) && !empty($subscription) && ($invoice_id = $subscription->get_original_payment_id())) {
757
+        $invoice = wpinv_get_invoice($invoice_id);
758 758
 
759
-        if ( ! empty( $invoice ) && ! empty( $invoice->mode ) ) {
759
+        if (!empty($invoice) && !empty($invoice->mode)) {
760 760
             $mode = $invoice->mode;
761 761
         } else {
762
-            $mode = wpinv_is_test_mode( 'paypal' ) ? 'test' : 'live';
762
+            $mode = wpinv_is_test_mode('paypal') ? 'test' : 'live';
763 763
         }
764 764
 
765 765
         $sandbox = $mode == 'test' ? '.sandbox' : '';
766 766
         $url = 'https://www' . $sandbox . '.paypal.com/cgi-bin/webscr?cmd=_profile-recurring-payments&encrypted_profile_id=' . $profile_id;
767 767
 
768
-        $link = '<a href="' . esc_url( $url ) . '" target="_blank">' . $profile_id . '</a>';
768
+        $link = '<a href="' . esc_url($url) . '" target="_blank">' . $profile_id . '</a>';
769 769
     }
770 770
     
771
-    return apply_filters( 'wpinv_paypal_profile_id_link', $link, $profile_id, $subscription );
771
+    return apply_filters('wpinv_paypal_profile_id_link', $link, $profile_id, $subscription);
772 772
 }
773
-add_filter( 'wpinv_subscription_profile_link_paypal', 'wpinv_paypal_profile_id_link', 10, 2 );
773
+add_filter('wpinv_subscription_profile_link_paypal', 'wpinv_paypal_profile_id_link', 10, 2);
774 774
 
775
-function wpinv_paypal_transaction_id_link( $transaction_id, $subscription ) {
776
-    if ( ! empty( $transaction_id ) && ! empty( $subscription ) && ( $invoice_id = $subscription->get_original_payment_id() ) ) {
777
-        $invoice = wpinv_get_invoice( $invoice_id );
775
+function wpinv_paypal_transaction_id_link($transaction_id, $subscription) {
776
+    if (!empty($transaction_id) && !empty($subscription) && ($invoice_id = $subscription->get_original_payment_id())) {
777
+        $invoice = wpinv_get_invoice($invoice_id);
778 778
 
779
-        if ( ! empty( $invoice ) ) {
780
-            return wpinv_paypal_link_transaction_id( $transaction_id, $invoice_id, $invoice );
779
+        if (!empty($invoice)) {
780
+            return wpinv_paypal_link_transaction_id($transaction_id, $invoice_id, $invoice);
781 781
         }        
782 782
     }
783 783
     
784 784
     return $transaction_id;
785 785
 }
786
-add_filter( 'wpinv_subscription_transaction_link_paypal', 'wpinv_paypal_transaction_id_link', 10, 2 );
786
+add_filter('wpinv_subscription_transaction_link_paypal', 'wpinv_paypal_transaction_id_link', 10, 2);
787 787
 
788 788
 function wpinv_is_paypal_valid_for_use() {
789
-    return in_array( wpinv_get_currency(), apply_filters( 'wpinv_paypal_supported_currencies', array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR' ) ) );
789
+    return in_array(wpinv_get_currency(), apply_filters('wpinv_paypal_supported_currencies', array('AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR')));
790 790
 }
791 791
 
792
-function wpinv_check_paypal_currency_support( $gateway_list ) {
793
-    if ( isset( $gateway_list['paypal'] ) && ! wpinv_is_paypal_valid_for_use() ) {
794
-        unset( $gateway_list['paypal'] );
792
+function wpinv_check_paypal_currency_support($gateway_list) {
793
+    if (isset($gateway_list['paypal']) && !wpinv_is_paypal_valid_for_use()) {
794
+        unset($gateway_list['paypal']);
795 795
     }
796 796
     return $gateway_list;
797 797
 }
798
-add_filter( 'wpinv_enabled_payment_gateways', 'wpinv_check_paypal_currency_support', 10, 1 );
798
+add_filter('wpinv_enabled_payment_gateways', 'wpinv_check_paypal_currency_support', 10, 1);
799 799
 
800
-function wpinv_gateway_paypal_button_label( $label ) {
801
-    return __( 'Proceed to PayPal', 'invoicing' );
800
+function wpinv_gateway_paypal_button_label($label) {
801
+    return __('Proceed to PayPal', 'invoicing');
802 802
 }
803
-add_filter( 'wpinv_gateway_paypal_button_label', 'wpinv_gateway_paypal_button_label', 10, 1 );
804 803
\ No newline at end of file
804
+add_filter('wpinv_gateway_paypal_button_label', 'wpinv_gateway_paypal_button_label', 10, 1);
805 805
\ No newline at end of file
Please login to merge, or discard this patch.
includes/class-wpinv-session-handler.php 2 patches
Indentation   +268 added lines, -268 removed lines patch added patch discarded remove patch
@@ -12,125 +12,125 @@  discard block
 block discarded – undo
12 12
  */
13 13
 class WPInv_Session_Handler extends WPInv_Session {
14 14
 
15
-	/**
16
-	 * Cookie name used for the session.
17
-	 *
18
-	 * @var string cookie name
19
-	 */
20
-	protected $_cookie;
21
-
22
-	/**
23
-	 * Stores session expiry.
24
-	 *
25
-	 * @var int session due to expire timestamp
26
-	 */
27
-	protected $_session_expiring;
28
-
29
-	/**
30
-	 * Stores session due to expire timestamp.
31
-	 *
32
-	 * @var string session expiration timestamp
33
-	 */
34
-	protected $_session_expiration;
35
-
36
-	/**
37
-	 * True when the cookie exists.
38
-	 *
39
-	 * @var bool Based on whether a cookie exists.
40
-	 */
41
-	protected $_has_cookie = false;
42
-
43
-	/**
44
-	 * Table name for session data.
45
-	 *
46
-	 * @var string Custom session table name
47
-	 */
48
-	protected $_table;
49
-
50
-	/**
51
-	 * Constructor for the session class.
52
-	 */
53
-	public function __construct() {
54
-
55
-	    $this->_cookie = apply_filters( 'wpinv_cookie', 'wpinv_session_' . COOKIEHASH );
15
+    /**
16
+     * Cookie name used for the session.
17
+     *
18
+     * @var string cookie name
19
+     */
20
+    protected $_cookie;
21
+
22
+    /**
23
+     * Stores session expiry.
24
+     *
25
+     * @var int session due to expire timestamp
26
+     */
27
+    protected $_session_expiring;
28
+
29
+    /**
30
+     * Stores session due to expire timestamp.
31
+     *
32
+     * @var string session expiration timestamp
33
+     */
34
+    protected $_session_expiration;
35
+
36
+    /**
37
+     * True when the cookie exists.
38
+     *
39
+     * @var bool Based on whether a cookie exists.
40
+     */
41
+    protected $_has_cookie = false;
42
+
43
+    /**
44
+     * Table name for session data.
45
+     *
46
+     * @var string Custom session table name
47
+     */
48
+    protected $_table;
49
+
50
+    /**
51
+     * Constructor for the session class.
52
+     */
53
+    public function __construct() {
54
+
55
+        $this->_cookie = apply_filters( 'wpinv_cookie', 'wpinv_session_' . COOKIEHASH );
56 56
         add_action( 'init', array( $this, 'init' ), -1 );
57
-		add_action( 'wp_logout', array( $this, 'destroy_session' ) );
58
-		add_action( 'wp', array( $this, 'set_customer_session_cookie' ), 10 );
59
-		add_action( 'shutdown', array( $this, 'save_data' ), 20 );
60
-
61
-	}
62
-
63
-	/**
64
-	 * Init hooks and session data.
65
-	 *
66
-	 * @since 3.3.0
67
-	 */
68
-	public function init() {
69
-		$this->init_session_cookie();
70
-
71
-		if ( ! is_user_logged_in() ) {
72
-			add_filter( 'nonce_user_logged_out', array( $this, 'nonce_user_logged_out' ) );
73
-		}
74
-	}
75
-
76
-	/**
77
-	 * Setup cookie and customer ID.
78
-	 *
79
-	 * @since 3.6.0
80
-	 */
81
-	public function init_session_cookie() {
82
-		$cookie = $this->get_session_cookie();
83
-
84
-		if ( $cookie ) {
85
-			$this->_customer_id        = $cookie[0];
86
-			$this->_session_expiration = $cookie[1];
87
-			$this->_session_expiring   = $cookie[2];
88
-			$this->_has_cookie         = true;
89
-			$this->_data               = $this->get_session_data();
90
-
91
-			// If the user logs in, update session.
92
-			if ( is_user_logged_in() && get_current_user_id() != $this->_customer_id ) {
93
-				$this->_customer_id = get_current_user_id();
94
-				$this->_dirty       = true;
95
-				$this->save_data();
96
-				$this->set_customer_session_cookie( true );
97
-			}
98
-
99
-			// Update session if its close to expiring.
100
-			if ( time() > $this->_session_expiring ) {
101
-				$this->set_session_expiration();
102
-				$this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
103
-			}
104
-		} else {
105
-			$this->set_session_expiration();
106
-			$this->_customer_id = $this->generate_customer_id();
107
-			$this->_data        = $this->get_session_data();
108
-		}
109
-	}
110
-
111
-	/**
112
-	 * Sets the session cookie on-demand (usually after adding an item to the cart).
113
-	 *
114
-	 * Since the cookie name (as of 2.1) is prepended with wp, cache systems like batcache will not cache pages when set.
115
-	 *
116
-	 * Warning: Cookies will only be set if this is called before the headers are sent.
117
-	 *
118
-	 * @param bool $set Should the session cookie be set.
119
-	 */
120
-	public function set_customer_session_cookie( $set ) {
121
-		if ( $set ) {
122
-			$to_hash           = $this->_customer_id . '|' . $this->_session_expiration;
123
-			$cookie_hash       = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
124
-			$cookie_value      = $this->_customer_id . '||' . $this->_session_expiration . '||' . $this->_session_expiring . '||' . $cookie_hash;
125
-			$this->_has_cookie = true;
126
-
127
-			if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
128
-				$this->setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true );
129
-			}
130
-		}
131
-	}
132
-
133
-	public function setcookie($name, $value, $expire = 0, $secure = false, $httponly = false){
57
+        add_action( 'wp_logout', array( $this, 'destroy_session' ) );
58
+        add_action( 'wp', array( $this, 'set_customer_session_cookie' ), 10 );
59
+        add_action( 'shutdown', array( $this, 'save_data' ), 20 );
60
+
61
+    }
62
+
63
+    /**
64
+     * Init hooks and session data.
65
+     *
66
+     * @since 3.3.0
67
+     */
68
+    public function init() {
69
+        $this->init_session_cookie();
70
+
71
+        if ( ! is_user_logged_in() ) {
72
+            add_filter( 'nonce_user_logged_out', array( $this, 'nonce_user_logged_out' ) );
73
+        }
74
+    }
75
+
76
+    /**
77
+     * Setup cookie and customer ID.
78
+     *
79
+     * @since 3.6.0
80
+     */
81
+    public function init_session_cookie() {
82
+        $cookie = $this->get_session_cookie();
83
+
84
+        if ( $cookie ) {
85
+            $this->_customer_id        = $cookie[0];
86
+            $this->_session_expiration = $cookie[1];
87
+            $this->_session_expiring   = $cookie[2];
88
+            $this->_has_cookie         = true;
89
+            $this->_data               = $this->get_session_data();
90
+
91
+            // If the user logs in, update session.
92
+            if ( is_user_logged_in() && get_current_user_id() != $this->_customer_id ) {
93
+                $this->_customer_id = get_current_user_id();
94
+                $this->_dirty       = true;
95
+                $this->save_data();
96
+                $this->set_customer_session_cookie( true );
97
+            }
98
+
99
+            // Update session if its close to expiring.
100
+            if ( time() > $this->_session_expiring ) {
101
+                $this->set_session_expiration();
102
+                $this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
103
+            }
104
+        } else {
105
+            $this->set_session_expiration();
106
+            $this->_customer_id = $this->generate_customer_id();
107
+            $this->_data        = $this->get_session_data();
108
+        }
109
+    }
110
+
111
+    /**
112
+     * Sets the session cookie on-demand (usually after adding an item to the cart).
113
+     *
114
+     * Since the cookie name (as of 2.1) is prepended with wp, cache systems like batcache will not cache pages when set.
115
+     *
116
+     * Warning: Cookies will only be set if this is called before the headers are sent.
117
+     *
118
+     * @param bool $set Should the session cookie be set.
119
+     */
120
+    public function set_customer_session_cookie( $set ) {
121
+        if ( $set ) {
122
+            $to_hash           = $this->_customer_id . '|' . $this->_session_expiration;
123
+            $cookie_hash       = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
124
+            $cookie_value      = $this->_customer_id . '||' . $this->_session_expiration . '||' . $this->_session_expiring . '||' . $cookie_hash;
125
+            $this->_has_cookie = true;
126
+
127
+            if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
128
+                $this->setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true );
129
+            }
130
+        }
131
+    }
132
+
133
+    public function setcookie($name, $value, $expire = 0, $secure = false, $httponly = false){
134 134
         if ( ! headers_sent() ) {
135 135
             setcookie( $name, $value, $expire, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN, $secure, apply_filters( 'wpinv_cookie_httponly', $httponly, $name, $value, $expire, $secure ) );
136 136
         } elseif ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
@@ -139,86 +139,86 @@  discard block
 block discarded – undo
139 139
         }
140 140
     }
141 141
 
142
-	/**
143
-	 * Should the session cookie be secure?
144
-	 *
145
-	 * @since 3.6.0
146
-	 * @return bool
147
-	 */
148
-	protected function use_secure_cookie() {
142
+    /**
143
+     * Should the session cookie be secure?
144
+     *
145
+     * @since 3.6.0
146
+     * @return bool
147
+     */
148
+    protected function use_secure_cookie() {
149 149
         $is_https = false !== strstr( get_option( 'home' ), 'https:' );
150
-		return apply_filters( 'wpinv_session_use_secure_cookie', $is_https && is_ssl() );
151
-	}
152
-
153
-	/**
154
-	 * Return true if the current user has an active session, i.e. a cookie to retrieve values.
155
-	 *
156
-	 * @return bool
157
-	 */
158
-	public function has_session() {
159
-		return isset( $_COOKIE[ $this->_cookie ] ) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
160
-	}
161
-
162
-	/**
163
-	 * Set session expiration.
164
-	 */
165
-	public function set_session_expiration() {
166
-		$this->_session_expiring   = time() + intval( apply_filters( 'wpinv_session_expiring', 60 * 60 * 47 ) ); // 47 Hours.
167
-		$this->_session_expiration = time() + intval( apply_filters( 'wpinv_session_expiration', 60 * 60 * 48 ) ); // 48 Hours.
168
-	}
169
-
170
-	/**
171
-	 * Generates session ids.
172
-	 *
173
-	 * @return string
174
-	 */
175
-	public function generate_customer_id() {
176
-		require_once ABSPATH . 'wp-includes/class-phpass.php';
177
-		$hasher      = new PasswordHash( 8, false );
178
-		return md5( $hasher->get_random_bytes( 32 ) );
179
-	}
180
-
181
-	/**
182
-	 * Get the session cookie, if set. Otherwise return false.
183
-	 *
184
-	 * Session cookies without a customer ID are invalid.
185
-	 *
186
-	 * @return bool|array
187
-	 */
188
-	public function get_session_cookie() {
189
-		$cookie_value = isset( $_COOKIE[ $this->_cookie ] ) ? wp_unslash( $_COOKIE[ $this->_cookie ] ) : false; // @codingStandardsIgnoreLine.
190
-
191
-		if ( empty( $cookie_value ) || ! is_string( $cookie_value ) ) {
192
-			return false;
193
-		}
194
-
195
-		list( $customer_id, $session_expiration, $session_expiring, $cookie_hash ) = explode( '||', $cookie_value );
196
-
197
-		if ( empty( $customer_id ) ) {
198
-			return false;
199
-		}
200
-
201
-		// Validate hash.
202
-		$to_hash = $customer_id . '|' . $session_expiration;
203
-		$hash    = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
204
-
205
-		if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
206
-			return false;
207
-		}
208
-
209
-		return array( $customer_id, $session_expiration, $session_expiring, $cookie_hash );
210
-	}
211
-
212
-	/**
213
-	 * Get session data.
214
-	 *
215
-	 * @return array
216
-	 */
217
-	public function get_session_data() {
218
-		return $this->has_session() ? (array) $this->get_session( $this->_customer_id ) : array();
219
-	}
220
-
221
-	public function generate_key($customer_id){
150
+        return apply_filters( 'wpinv_session_use_secure_cookie', $is_https && is_ssl() );
151
+    }
152
+
153
+    /**
154
+     * Return true if the current user has an active session, i.e. a cookie to retrieve values.
155
+     *
156
+     * @return bool
157
+     */
158
+    public function has_session() {
159
+        return isset( $_COOKIE[ $this->_cookie ] ) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
160
+    }
161
+
162
+    /**
163
+     * Set session expiration.
164
+     */
165
+    public function set_session_expiration() {
166
+        $this->_session_expiring   = time() + intval( apply_filters( 'wpinv_session_expiring', 60 * 60 * 47 ) ); // 47 Hours.
167
+        $this->_session_expiration = time() + intval( apply_filters( 'wpinv_session_expiration', 60 * 60 * 48 ) ); // 48 Hours.
168
+    }
169
+
170
+    /**
171
+     * Generates session ids.
172
+     *
173
+     * @return string
174
+     */
175
+    public function generate_customer_id() {
176
+        require_once ABSPATH . 'wp-includes/class-phpass.php';
177
+        $hasher      = new PasswordHash( 8, false );
178
+        return md5( $hasher->get_random_bytes( 32 ) );
179
+    }
180
+
181
+    /**
182
+     * Get the session cookie, if set. Otherwise return false.
183
+     *
184
+     * Session cookies without a customer ID are invalid.
185
+     *
186
+     * @return bool|array
187
+     */
188
+    public function get_session_cookie() {
189
+        $cookie_value = isset( $_COOKIE[ $this->_cookie ] ) ? wp_unslash( $_COOKIE[ $this->_cookie ] ) : false; // @codingStandardsIgnoreLine.
190
+
191
+        if ( empty( $cookie_value ) || ! is_string( $cookie_value ) ) {
192
+            return false;
193
+        }
194
+
195
+        list( $customer_id, $session_expiration, $session_expiring, $cookie_hash ) = explode( '||', $cookie_value );
196
+
197
+        if ( empty( $customer_id ) ) {
198
+            return false;
199
+        }
200
+
201
+        // Validate hash.
202
+        $to_hash = $customer_id . '|' . $session_expiration;
203
+        $hash    = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
204
+
205
+        if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
206
+            return false;
207
+        }
208
+
209
+        return array( $customer_id, $session_expiration, $session_expiring, $cookie_hash );
210
+    }
211
+
212
+    /**
213
+     * Get session data.
214
+     *
215
+     * @return array
216
+     */
217
+    public function get_session_data() {
218
+        return $this->has_session() ? (array) $this->get_session( $this->_customer_id ) : array();
219
+    }
220
+
221
+    public function generate_key($customer_id){
222 222
         if(!$customer_id){
223 223
             return;
224 224
         }
@@ -226,62 +226,62 @@  discard block
 block discarded – undo
226 226
         return 'wpi_trans_'.$customer_id;
227 227
     }
228 228
 
229
-	/**
230
-	 * Save data.
231
-	 */
232
-	public function save_data() {
233
-		// Dirty if something changed - prevents saving nothing new.
234
-		if ( $this->_dirty && $this->has_session() ) {
229
+    /**
230
+     * Save data.
231
+     */
232
+    public function save_data() {
233
+        // Dirty if something changed - prevents saving nothing new.
234
+        if ( $this->_dirty && $this->has_session() ) {
235 235
 
236 236
             set_transient( $this->generate_key($this->_customer_id), $this->_data, $this->_session_expiration);
237 237
 
238
-			$this->_dirty = false;
239
-		}
240
-	}
241
-
242
-	/**
243
-	 * Destroy all session data.
244
-	 */
245
-	public function destroy_session() {
246
-		$this->delete_session( $this->_customer_id );
247
-		$this->forget_session();
248
-	}
249
-
250
-	/**
251
-	 * Forget all session data without destroying it.
252
-	 */
253
-	public function forget_session() {
254
-		$this->setcookie( $this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true );
255
-
256
-		wpinv_empty_cart();
257
-
258
-		$this->_data        = array();
259
-		$this->_dirty       = false;
260
-		$this->_customer_id = $this->generate_customer_id();
261
-	}
262
-
263
-	/**
264
-	 * When a user is logged out, ensure they have a unique nonce by using the customer/session ID.
265
-	 *
266
-	 * @param int $uid User ID.
267
-	 * @return string
268
-	 */
269
-	public function nonce_user_logged_out( $uid ) {
270
-		return $this->has_session() && $this->_customer_id ? $this->_customer_id : $uid;
271
-	}
272
-
273
-	/**
274
-	 * Returns the session.
275
-	 *
276
-	 * @param string $customer_id Customer ID.
277
-	 * @param mixed  $default Default session value.
278
-	 * @return string|array
279
-	 */
280
-	public function get_session( $customer_id, $default = false ) {
281
-
282
-		if ( defined( 'WP_SETUP_CONFIG' ) ) {
283
-			return array();
284
-		}
238
+            $this->_dirty = false;
239
+        }
240
+    }
241
+
242
+    /**
243
+     * Destroy all session data.
244
+     */
245
+    public function destroy_session() {
246
+        $this->delete_session( $this->_customer_id );
247
+        $this->forget_session();
248
+    }
249
+
250
+    /**
251
+     * Forget all session data without destroying it.
252
+     */
253
+    public function forget_session() {
254
+        $this->setcookie( $this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true );
255
+
256
+        wpinv_empty_cart();
257
+
258
+        $this->_data        = array();
259
+        $this->_dirty       = false;
260
+        $this->_customer_id = $this->generate_customer_id();
261
+    }
262
+
263
+    /**
264
+     * When a user is logged out, ensure they have a unique nonce by using the customer/session ID.
265
+     *
266
+     * @param int $uid User ID.
267
+     * @return string
268
+     */
269
+    public function nonce_user_logged_out( $uid ) {
270
+        return $this->has_session() && $this->_customer_id ? $this->_customer_id : $uid;
271
+    }
272
+
273
+    /**
274
+     * Returns the session.
275
+     *
276
+     * @param string $customer_id Customer ID.
277
+     * @param mixed  $default Default session value.
278
+     * @return string|array
279
+     */
280
+    public function get_session( $customer_id, $default = false ) {
281
+
282
+        if ( defined( 'WP_SETUP_CONFIG' ) ) {
283
+            return array();
284
+        }
285 285
 
286 286
         if ( !is_user_logged_in() ) {
287 287
             if(!wp_verify_nonce( $customer_id, 'wpinv-session-customer-id' )){
@@ -296,32 +296,32 @@  discard block
 block discarded – undo
296 296
             $value = $default;
297 297
         }
298 298
 
299
-		return maybe_unserialize( $value );
300
-	}
299
+        return maybe_unserialize( $value );
300
+    }
301 301
 
302
-	/**
303
-	 * Delete the session from the cache and database.
304
-	 *
305
-	 * @param int $customer_id Customer ID.
306
-	 */
307
-	public function delete_session( $customer_id ) {
302
+    /**
303
+     * Delete the session from the cache and database.
304
+     *
305
+     * @param int $customer_id Customer ID.
306
+     */
307
+    public function delete_session( $customer_id ) {
308 308
 
309 309
         $key = $this->generate_key($customer_id);
310 310
 
311
-		delete_transient($key);
312
-	}
311
+        delete_transient($key);
312
+    }
313 313
 
314
-	/**
315
-	 * Update the session expiry timestamp.
316
-	 *
317
-	 * @param string $customer_id Customer ID.
318
-	 * @param int    $timestamp Timestamp to expire the cookie.
319
-	 */
320
-	public function update_session_timestamp( $customer_id, $timestamp ) {
314
+    /**
315
+     * Update the session expiry timestamp.
316
+     *
317
+     * @param string $customer_id Customer ID.
318
+     * @param int    $timestamp Timestamp to expire the cookie.
319
+     */
320
+    public function update_session_timestamp( $customer_id, $timestamp ) {
321 321
 
322 322
         set_transient( $this->generate_key($customer_id), maybe_serialize( $this->_data ), $timestamp);
323 323
 
324
-	}
324
+    }
325 325
 }
326 326
 
327 327
 global $wpi_session;
Please login to merge, or discard this patch.
Spacing   +56 added lines, -56 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.
@@ -52,11 +52,11 @@  discard block
 block discarded – undo
52 52
 	 */
53 53
 	public function __construct() {
54 54
 
55
-	    $this->_cookie = apply_filters( 'wpinv_cookie', 'wpinv_session_' . COOKIEHASH );
56
-        add_action( 'init', array( $this, 'init' ), -1 );
57
-		add_action( 'wp_logout', array( $this, 'destroy_session' ) );
58
-		add_action( 'wp', array( $this, 'set_customer_session_cookie' ), 10 );
59
-		add_action( 'shutdown', array( $this, 'save_data' ), 20 );
55
+	    $this->_cookie = apply_filters('wpinv_cookie', 'wpinv_session_' . COOKIEHASH);
56
+        add_action('init', array($this, 'init'), -1);
57
+		add_action('wp_logout', array($this, 'destroy_session'));
58
+		add_action('wp', array($this, 'set_customer_session_cookie'), 10);
59
+		add_action('shutdown', array($this, 'save_data'), 20);
60 60
 
61 61
 	}
62 62
 
@@ -68,8 +68,8 @@  discard block
 block discarded – undo
68 68
 	public function init() {
69 69
 		$this->init_session_cookie();
70 70
 
71
-		if ( ! is_user_logged_in() ) {
72
-			add_filter( 'nonce_user_logged_out', array( $this, 'nonce_user_logged_out' ) );
71
+		if (!is_user_logged_in()) {
72
+			add_filter('nonce_user_logged_out', array($this, 'nonce_user_logged_out'));
73 73
 		}
74 74
 	}
75 75
 
@@ -81,7 +81,7 @@  discard block
 block discarded – undo
81 81
 	public function init_session_cookie() {
82 82
 		$cookie = $this->get_session_cookie();
83 83
 
84
-		if ( $cookie ) {
84
+		if ($cookie) {
85 85
 			$this->_customer_id        = $cookie[0];
86 86
 			$this->_session_expiration = $cookie[1];
87 87
 			$this->_session_expiring   = $cookie[2];
@@ -89,17 +89,17 @@  discard block
 block discarded – undo
89 89
 			$this->_data               = $this->get_session_data();
90 90
 
91 91
 			// If the user logs in, update session.
92
-			if ( is_user_logged_in() && get_current_user_id() != $this->_customer_id ) {
92
+			if (is_user_logged_in() && get_current_user_id() != $this->_customer_id) {
93 93
 				$this->_customer_id = get_current_user_id();
94 94
 				$this->_dirty       = true;
95 95
 				$this->save_data();
96
-				$this->set_customer_session_cookie( true );
96
+				$this->set_customer_session_cookie(true);
97 97
 			}
98 98
 
99 99
 			// Update session if its close to expiring.
100
-			if ( time() > $this->_session_expiring ) {
100
+			if (time() > $this->_session_expiring) {
101 101
 				$this->set_session_expiration();
102
-				$this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
102
+				$this->update_session_timestamp($this->_customer_id, $this->_session_expiration);
103 103
 			}
104 104
 		} else {
105 105
 			$this->set_session_expiration();
@@ -117,25 +117,25 @@  discard block
 block discarded – undo
117 117
 	 *
118 118
 	 * @param bool $set Should the session cookie be set.
119 119
 	 */
120
-	public function set_customer_session_cookie( $set ) {
121
-		if ( $set ) {
120
+	public function set_customer_session_cookie($set) {
121
+		if ($set) {
122 122
 			$to_hash           = $this->_customer_id . '|' . $this->_session_expiration;
123
-			$cookie_hash       = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
123
+			$cookie_hash       = hash_hmac('md5', $to_hash, wp_hash($to_hash));
124 124
 			$cookie_value      = $this->_customer_id . '||' . $this->_session_expiration . '||' . $this->_session_expiring . '||' . $cookie_hash;
125 125
 			$this->_has_cookie = true;
126 126
 
127
-			if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
128
-				$this->setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true );
127
+			if (!isset($_COOKIE[$this->_cookie]) || $_COOKIE[$this->_cookie] !== $cookie_value) {
128
+				$this->setcookie($this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true);
129 129
 			}
130 130
 		}
131 131
 	}
132 132
 
133
-	public function setcookie($name, $value, $expire = 0, $secure = false, $httponly = false){
134
-        if ( ! headers_sent() ) {
135
-            setcookie( $name, $value, $expire, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN, $secure, apply_filters( 'wpinv_cookie_httponly', $httponly, $name, $value, $expire, $secure ) );
136
-        } elseif ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
137
-            headers_sent( $file, $line );
138
-            trigger_error( "{$name} cookie cannot be set - headers already sent by {$file} on line {$line}", E_USER_NOTICE ); // @codingStandardsIgnoreLine
133
+	public function setcookie($name, $value, $expire = 0, $secure = false, $httponly = false) {
134
+        if (!headers_sent()) {
135
+            setcookie($name, $value, $expire, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN, $secure, apply_filters('wpinv_cookie_httponly', $httponly, $name, $value, $expire, $secure));
136
+        } elseif (defined('WP_DEBUG') && WP_DEBUG) {
137
+            headers_sent($file, $line);
138
+            trigger_error("{$name} cookie cannot be set - headers already sent by {$file} on line {$line}", E_USER_NOTICE); // @codingStandardsIgnoreLine
139 139
         }
140 140
     }
141 141
 
@@ -146,8 +146,8 @@  discard block
 block discarded – undo
146 146
 	 * @return bool
147 147
 	 */
148 148
 	protected function use_secure_cookie() {
149
-        $is_https = false !== strstr( get_option( 'home' ), 'https:' );
150
-		return apply_filters( 'wpinv_session_use_secure_cookie', $is_https && is_ssl() );
149
+        $is_https = false !== strstr(get_option('home'), 'https:');
150
+		return apply_filters('wpinv_session_use_secure_cookie', $is_https && is_ssl());
151 151
 	}
152 152
 
153 153
 	/**
@@ -156,15 +156,15 @@  discard block
 block discarded – undo
156 156
 	 * @return bool
157 157
 	 */
158 158
 	public function has_session() {
159
-		return isset( $_COOKIE[ $this->_cookie ] ) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
159
+		return isset($_COOKIE[$this->_cookie]) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
160 160
 	}
161 161
 
162 162
 	/**
163 163
 	 * Set session expiration.
164 164
 	 */
165 165
 	public function set_session_expiration() {
166
-		$this->_session_expiring   = time() + intval( apply_filters( 'wpinv_session_expiring', 60 * 60 * 47 ) ); // 47 Hours.
167
-		$this->_session_expiration = time() + intval( apply_filters( 'wpinv_session_expiration', 60 * 60 * 48 ) ); // 48 Hours.
166
+		$this->_session_expiring   = time() + intval(apply_filters('wpinv_session_expiring', 60 * 60 * 47)); // 47 Hours.
167
+		$this->_session_expiration = time() + intval(apply_filters('wpinv_session_expiration', 60 * 60 * 48)); // 48 Hours.
168 168
 	}
169 169
 
170 170
 	/**
@@ -174,8 +174,8 @@  discard block
 block discarded – undo
174 174
 	 */
175 175
 	public function generate_customer_id() {
176 176
 		require_once ABSPATH . 'wp-includes/class-phpass.php';
177
-		$hasher      = new PasswordHash( 8, false );
178
-		return md5( $hasher->get_random_bytes( 32 ) );
177
+		$hasher = new PasswordHash(8, false);
178
+		return md5($hasher->get_random_bytes(32));
179 179
 	}
180 180
 
181 181
 	/**
@@ -186,27 +186,27 @@  discard block
 block discarded – undo
186 186
 	 * @return bool|array
187 187
 	 */
188 188
 	public function get_session_cookie() {
189
-		$cookie_value = isset( $_COOKIE[ $this->_cookie ] ) ? wp_unslash( $_COOKIE[ $this->_cookie ] ) : false; // @codingStandardsIgnoreLine.
189
+		$cookie_value = isset($_COOKIE[$this->_cookie]) ? wp_unslash($_COOKIE[$this->_cookie]) : false; // @codingStandardsIgnoreLine.
190 190
 
191
-		if ( empty( $cookie_value ) || ! is_string( $cookie_value ) ) {
191
+		if (empty($cookie_value) || !is_string($cookie_value)) {
192 192
 			return false;
193 193
 		}
194 194
 
195
-		list( $customer_id, $session_expiration, $session_expiring, $cookie_hash ) = explode( '||', $cookie_value );
195
+		list($customer_id, $session_expiration, $session_expiring, $cookie_hash) = explode('||', $cookie_value);
196 196
 
197
-		if ( empty( $customer_id ) ) {
197
+		if (empty($customer_id)) {
198 198
 			return false;
199 199
 		}
200 200
 
201 201
 		// Validate hash.
202 202
 		$to_hash = $customer_id . '|' . $session_expiration;
203
-		$hash    = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
203
+		$hash    = hash_hmac('md5', $to_hash, wp_hash($to_hash));
204 204
 
205
-		if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
205
+		if (empty($cookie_hash) || !hash_equals($hash, $cookie_hash)) {
206 206
 			return false;
207 207
 		}
208 208
 
209
-		return array( $customer_id, $session_expiration, $session_expiring, $cookie_hash );
209
+		return array($customer_id, $session_expiration, $session_expiring, $cookie_hash);
210 210
 	}
211 211
 
212 212
 	/**
@@ -215,15 +215,15 @@  discard block
 block discarded – undo
215 215
 	 * @return array
216 216
 	 */
217 217
 	public function get_session_data() {
218
-		return $this->has_session() ? (array) $this->get_session( $this->_customer_id ) : array();
218
+		return $this->has_session() ? (array) $this->get_session($this->_customer_id) : array();
219 219
 	}
220 220
 
221
-	public function generate_key($customer_id){
222
-        if(!$customer_id){
221
+	public function generate_key($customer_id) {
222
+        if (!$customer_id) {
223 223
             return;
224 224
         }
225 225
 
226
-        return 'wpi_trans_'.$customer_id;
226
+        return 'wpi_trans_' . $customer_id;
227 227
     }
228 228
 
229 229
 	/**
@@ -231,9 +231,9 @@  discard block
 block discarded – undo
231 231
 	 */
232 232
 	public function save_data() {
233 233
 		// Dirty if something changed - prevents saving nothing new.
234
-		if ( $this->_dirty && $this->has_session() ) {
234
+		if ($this->_dirty && $this->has_session()) {
235 235
 
236
-            set_transient( $this->generate_key($this->_customer_id), $this->_data, $this->_session_expiration);
236
+            set_transient($this->generate_key($this->_customer_id), $this->_data, $this->_session_expiration);
237 237
 
238 238
 			$this->_dirty = false;
239 239
 		}
@@ -243,7 +243,7 @@  discard block
 block discarded – undo
243 243
 	 * Destroy all session data.
244 244
 	 */
245 245
 	public function destroy_session() {
246
-		$this->delete_session( $this->_customer_id );
246
+		$this->delete_session($this->_customer_id);
247 247
 		$this->forget_session();
248 248
 	}
249 249
 
@@ -251,7 +251,7 @@  discard block
 block discarded – undo
251 251
 	 * Forget all session data without destroying it.
252 252
 	 */
253 253
 	public function forget_session() {
254
-		$this->setcookie( $this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true );
254
+		$this->setcookie($this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true);
255 255
 
256 256
 		wpinv_empty_cart();
257 257
 
@@ -266,7 +266,7 @@  discard block
 block discarded – undo
266 266
 	 * @param int $uid User ID.
267 267
 	 * @return string
268 268
 	 */
269
-	public function nonce_user_logged_out( $uid ) {
269
+	public function nonce_user_logged_out($uid) {
270 270
 		return $this->has_session() && $this->_customer_id ? $this->_customer_id : $uid;
271 271
 	}
272 272
 
@@ -277,14 +277,14 @@  discard block
 block discarded – undo
277 277
 	 * @param mixed  $default Default session value.
278 278
 	 * @return string|array
279 279
 	 */
280
-	public function get_session( $customer_id, $default = false ) {
280
+	public function get_session($customer_id, $default = false) {
281 281
 
282
-		if ( defined( 'WP_SETUP_CONFIG' ) ) {
282
+		if (defined('WP_SETUP_CONFIG')) {
283 283
 			return array();
284 284
 		}
285 285
 
286
-        if ( !is_user_logged_in() ) {
287
-            if(!wp_verify_nonce( $customer_id, 'wpinv-session-customer-id' )){
286
+        if (!is_user_logged_in()) {
287
+            if (!wp_verify_nonce($customer_id, 'wpinv-session-customer-id')) {
288 288
                 return array();
289 289
             }
290 290
         }
@@ -292,11 +292,11 @@  discard block
 block discarded – undo
292 292
         $key = $this->generate_key($customer_id);
293 293
         $value = get_transient($key);
294 294
 
295
-        if ( !$value ) {
295
+        if (!$value) {
296 296
             $value = $default;
297 297
         }
298 298
 
299
-		return maybe_unserialize( $value );
299
+		return maybe_unserialize($value);
300 300
 	}
301 301
 
302 302
 	/**
@@ -304,7 +304,7 @@  discard block
 block discarded – undo
304 304
 	 *
305 305
 	 * @param int $customer_id Customer ID.
306 306
 	 */
307
-	public function delete_session( $customer_id ) {
307
+	public function delete_session($customer_id) {
308 308
 
309 309
         $key = $this->generate_key($customer_id);
310 310
 
@@ -317,9 +317,9 @@  discard block
 block discarded – undo
317 317
 	 * @param string $customer_id Customer ID.
318 318
 	 * @param int    $timestamp Timestamp to expire the cookie.
319 319
 	 */
320
-	public function update_session_timestamp( $customer_id, $timestamp ) {
320
+	public function update_session_timestamp($customer_id, $timestamp) {
321 321
 
322
-        set_transient( $this->generate_key($customer_id), maybe_serialize( $this->_data ), $timestamp);
322
+        set_transient($this->generate_key($customer_id), maybe_serialize($this->_data), $timestamp);
323 323
 
324 324
 	}
325 325
 }
Please login to merge, or discard this patch.