Passed
Push — master ( a157d8...d9c503 )
by Brian
17:07 queued 12:36
created
includes/gateways/paypal.php 1 patch
Spacing   +283 added lines, -283 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,30 +25,30 @@  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
-            ), get_permalink( wpinv_get_option( 'success_page', false ) ) );
44
+            ), get_permalink(wpinv_get_option('success_page', false)));
45 45
 
46 46
         // Get the PayPal redirect uri
47
-        $paypal_redirect = trailingslashit( wpinv_get_paypal_redirect() ) . '?';
47
+        $paypal_redirect = trailingslashit(wpinv_get_paypal_redirect()) . '?';
48 48
 
49 49
         // Setup PayPal arguments
50 50
         $paypal_args = array(
51
-            'business'      => wpinv_get_option( 'paypal_email', false ),
51
+            'business'      => wpinv_get_option('paypal_email', false),
52 52
             'email'         => $invoice->get_email(),
53 53
             'first_name'    => $invoice->get_first_name(),
54 54
             'last_name'     => $invoice->get_last_name(),
@@ -57,16 +57,16 @@  discard block
 block discarded – undo
57 57
             'shipping'      => '0',
58 58
             'no_note'       => '1',
59 59
             'currency_code' => wpinv_get_currency(),
60
-            'charset'       => get_bloginfo( 'charset' ),
60
+            'charset'       => get_bloginfo('charset'),
61 61
             'custom'        => $invoice->ID,
62 62
             'rm'            => '2',
63 63
             'return'        => $return_url,
64 64
             'cancel_return' => $invoice->get_checkout_payment_url(),
65 65
             'notify_url'    => $listener_url,
66
-            'cbt'           => get_bloginfo( 'name' ),
66
+            'cbt'           => get_bloginfo('name'),
67 67
             'bn'            => 'WPInvoicing_SP',
68 68
             'lc'            => 'US', // this will force paypal site to english
69
-            'landing_page'  => apply_filters( 'wpinv_paypal_standard_landing_page', 'billing', $invoice ), // 'login' or 'billing'. login - PayPal account login, billing - Non-PayPal account.
69
+            'landing_page'  => apply_filters('wpinv_paypal_standard_landing_page', 'billing', $invoice), // 'login' or 'billing'. login - PayPal account login, billing - Non-PayPal account.
70 70
         );
71 71
 
72 72
         $paypal_args['address1'] = $invoice->get_address();
@@ -80,83 +80,83 @@  discard block
 block discarded – undo
80 80
             'upload' => '1'
81 81
         );
82 82
 
83
-        $paypal_args = array_merge( $paypal_extra_args, $paypal_args );
83
+        $paypal_args = array_merge($paypal_extra_args, $paypal_args);
84 84
 
85 85
         // Add cart items
86 86
         $i = 1;
87
-        if( is_array( $purchase_data['cart_details'] ) && ! empty( $purchase_data['cart_details'] ) ) {
88
-            foreach ( $purchase_data['cart_details'] as $item ) {
87
+        if (is_array($purchase_data['cart_details']) && !empty($purchase_data['cart_details'])) {
88
+            foreach ($purchase_data['cart_details'] as $item) {
89 89
                 $item['quantity'] = $item['quantity'] > 0 ? $item['quantity'] : 1;
90
-                $item_amount = wpinv_sanitize_amount( $item['subtotal'] / $item['quantity'], 2 );
90
+                $item_amount = wpinv_sanitize_amount($item['subtotal'] / $item['quantity'], 2);
91 91
 
92
-                if ( $item_amount <= 0 ) {
92
+                if ($item_amount <= 0) {
93 93
                     $item_amount = 0;
94 94
                 }
95 95
 
96
-                $paypal_args['item_number_' . $i ]      = $item['id'];
97
-                $paypal_args['item_name_' . $i ]        = stripslashes_deep( html_entity_decode( wpinv_get_cart_item_name( $item ), ENT_COMPAT, 'UTF-8' ) );
98
-                $paypal_args['quantity_' . $i ]         = $item['quantity'];
99
-                $paypal_args['amount_' . $i ]           = $item_amount;
100
-                $paypal_args['discount_amount_' . $i ]  = wpinv_sanitize_amount( $item['discount'], 2 );
96
+                $paypal_args['item_number_' . $i]      = $item['id'];
97
+                $paypal_args['item_name_' . $i]        = stripslashes_deep(html_entity_decode(wpinv_get_cart_item_name($item), ENT_COMPAT, 'UTF-8'));
98
+                $paypal_args['quantity_' . $i]         = $item['quantity'];
99
+                $paypal_args['amount_' . $i]           = $item_amount;
100
+                $paypal_args['discount_amount_' . $i]  = wpinv_sanitize_amount($item['discount'], 2);
101 101
 
102 102
                 $i++;
103 103
             }
104 104
         }
105 105
 
106 106
         // Add taxes to the cart
107
-        if ( wpinv_use_taxes() ) {
108
-            $paypal_args['tax_cart'] = wpinv_sanitize_amount( (float)$invoice->get_tax(), 2 );
107
+        if (wpinv_use_taxes()) {
108
+            $paypal_args['tax_cart'] = wpinv_sanitize_amount((float) $invoice->get_tax(), 2);
109 109
         }
110 110
 
111
-        $paypal_args = apply_filters( 'wpinv_paypal_args', $paypal_args, $purchase_data, $invoice );
111
+        $paypal_args = apply_filters('wpinv_paypal_args', $paypal_args, $purchase_data, $invoice);
112 112
 
113 113
         // Build query
114
-        $paypal_redirect .= http_build_query( $paypal_args );
114
+        $paypal_redirect .= http_build_query($paypal_args);
115 115
 
116 116
         // Fix for some sites that encode the entities
117
-        $paypal_redirect = str_replace( '&amp;', '&', $paypal_redirect );
117
+        $paypal_redirect = str_replace('&amp;', '&', $paypal_redirect);
118 118
 
119 119
         // Get rid of cart contents
120 120
         wpinv_empty_cart();
121 121
         
122 122
         // Redirect to PayPal
123
-        wp_redirect( $paypal_redirect );
123
+        wp_redirect($paypal_redirect);
124 124
         exit;
125 125
     }
126 126
 }
127
-add_action( 'wpinv_gateway_paypal', 'wpinv_process_paypal_payment' );
127
+add_action('wpinv_gateway_paypal', 'wpinv_process_paypal_payment');
128 128
 
129
-function wpinv_get_paypal_recurring_args( $paypal_args, $purchase_data, $invoice ) {
130
-    if ( $invoice->is_recurring() && $item_id = $invoice->get_recurring() ) {
131
-        $item   = new WPInv_Item( $item_id );
129
+function wpinv_get_paypal_recurring_args($paypal_args, $purchase_data, $invoice) {
130
+    if ($invoice->is_recurring() && $item_id = $invoice->get_recurring()) {
131
+        $item = new WPInv_Item($item_id);
132 132
         
133
-        if ( empty( $item ) ) {
133
+        if (empty($item)) {
134 134
             return $paypal_args;
135 135
         }
136 136
 
137 137
         $period             = $item->get_recurring_period();
138 138
         $interval           = $item->get_recurring_interval();
139
-        $bill_times         = (int)$item->get_recurring_limit();
139
+        $bill_times         = (int) $item->get_recurring_limit();
140 140
         
141
-        $initial_amount     = wpinv_sanitize_amount( $invoice->get_total(), 2 );
142
-        $recurring_amount   = wpinv_sanitize_amount( $invoice->get_recurring_details( 'total' ), 2 );
141
+        $initial_amount     = wpinv_sanitize_amount($invoice->get_total(), 2);
142
+        $recurring_amount   = wpinv_sanitize_amount($invoice->get_recurring_details('total'), 2);
143 143
         
144 144
         $paypal_args['cmd'] = '_xclick-subscriptions';
145 145
         $paypal_args['sra'] = '1';
146 146
         $paypal_args['src'] = '1';
147 147
         
148 148
         // Set item description
149
-        $item_name                  = sprintf( '[%s] %s', $invoice->get_number(), wpinv_get_cart_item_name( array( 'id' => $item->ID ) ) );
150
-        $paypal_args['item_name']   = stripslashes_deep( html_entity_decode( $item_name, ENT_COMPAT, 'UTF-8' ) );
149
+        $item_name                  = sprintf('[%s] %s', $invoice->get_number(), wpinv_get_cart_item_name(array('id' => $item->ID)));
150
+        $paypal_args['item_name']   = stripslashes_deep(html_entity_decode($item_name, ENT_COMPAT, 'UTF-8'));
151 151
         
152
-        if ( $invoice->is_free_trial() && $item->has_free_trial() ) {
152
+        if ($invoice->is_free_trial() && $item->has_free_trial()) {
153 153
             $paypal_args['a1']  = $initial_amount;
154 154
             $paypal_args['p1']  = $item->get_trial_interval();
155 155
             $paypal_args['t1']  = $item->get_trial_period();
156 156
             
157 157
             // Set the recurring amount
158 158
             $paypal_args['a3']  = $recurring_amount;
159
-        } else if ( $initial_amount != $recurring_amount && $bill_times != 1 ) {
159
+        } else if ($initial_amount != $recurring_amount && $bill_times != 1) {
160 160
             $paypal_args['a1']  = $initial_amount;
161 161
             $paypal_args['p1']  = $interval;
162 162
             $paypal_args['t1']  = $period;
@@ -164,63 +164,63 @@  discard block
 block discarded – undo
164 164
             // Set the recurring amount
165 165
             $paypal_args['a3']  = $recurring_amount;
166 166
             
167
-            if ( $bill_times > 1 ) {
167
+            if ($bill_times > 1) {
168 168
                 $bill_times--;
169 169
             }
170 170
         } else {
171
-            $paypal_args['a3']  = $initial_amount;
171
+            $paypal_args['a3'] = $initial_amount;
172 172
         }
173 173
         
174 174
         $paypal_args['p3']  = $interval;
175 175
         $paypal_args['t3']  = $period;
176 176
         
177
-        if ( $bill_times > 1 ) {
177
+        if ($bill_times > 1) {
178 178
             // Make sure it's not over the max of 52
179
-            $paypal_args['srt'] = ( $bill_times <= 52 ? absint( $bill_times ) : 52 );
179
+            $paypal_args['srt'] = ($bill_times <= 52 ? absint($bill_times) : 52);
180 180
         }
181 181
                 
182 182
         // Remove cart items
183 183
         $i = 1;
184
-        if( is_array( $purchase_data['cart_details'] ) && ! empty( $purchase_data['cart_details'] ) ) {
185
-            foreach ( $purchase_data['cart_details'] as $item ) {                
186
-                if ( isset( $paypal_args['item_number_' . $i] ) ) {
187
-                    unset( $paypal_args['item_number_' . $i] );
184
+        if (is_array($purchase_data['cart_details']) && !empty($purchase_data['cart_details'])) {
185
+            foreach ($purchase_data['cart_details'] as $item) {                
186
+                if (isset($paypal_args['item_number_' . $i])) {
187
+                    unset($paypal_args['item_number_' . $i]);
188 188
                 }
189
-                if ( isset( $paypal_args['item_name_' . $i] ) ) {
190
-                    unset( $paypal_args['item_name_' . $i] );
189
+                if (isset($paypal_args['item_name_' . $i])) {
190
+                    unset($paypal_args['item_name_' . $i]);
191 191
                 }
192
-                if ( isset( $paypal_args['quantity_' . $i] ) ) {
193
-                    unset( $paypal_args['quantity_' . $i] );
192
+                if (isset($paypal_args['quantity_' . $i])) {
193
+                    unset($paypal_args['quantity_' . $i]);
194 194
                 }
195
-                if ( isset( $paypal_args['amount_' . $i] ) ) {
196
-                    unset( $paypal_args['amount_' . $i] );
195
+                if (isset($paypal_args['amount_' . $i])) {
196
+                    unset($paypal_args['amount_' . $i]);
197 197
                 }
198
-                if ( isset( $paypal_args['discount_amount_' . $i] ) ) {
199
-                    unset( $paypal_args['discount_amount_' . $i] );
198
+                if (isset($paypal_args['discount_amount_' . $i])) {
199
+                    unset($paypal_args['discount_amount_' . $i]);
200 200
                 }
201 201
 
202 202
                 $i++;
203 203
             }
204 204
         }
205 205
         
206
-        if ( isset( $paypal_args['tax_cart'] ) ) {
207
-            unset( $paypal_args['tax_cart'] );
206
+        if (isset($paypal_args['tax_cart'])) {
207
+            unset($paypal_args['tax_cart']);
208 208
         }
209 209
                 
210
-        if ( isset( $paypal_args['upload'] ) ) {
211
-            unset( $paypal_args['upload'] );
210
+        if (isset($paypal_args['upload'])) {
211
+            unset($paypal_args['upload']);
212 212
         }
213 213
         
214
-        $paypal_args = apply_filters( 'wpinv_paypal_recurring_args', $paypal_args, $purchase_data, $invoice );
214
+        $paypal_args = apply_filters('wpinv_paypal_recurring_args', $paypal_args, $purchase_data, $invoice);
215 215
     }
216 216
     
217 217
     return $paypal_args;
218 218
 }
219
-add_filter( 'wpinv_paypal_args', 'wpinv_get_paypal_recurring_args', 10, 3 );
219
+add_filter('wpinv_paypal_args', 'wpinv_get_paypal_recurring_args', 10, 3);
220 220
 
221 221
 function wpinv_process_paypal_ipn() {
222 222
 	// Check the request method is POST
223
-	if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] != 'POST' ) {
223
+	if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] != 'POST') {
224 224
 		return;
225 225
 	}
226 226
 
@@ -228,11 +228,11 @@  discard block
 block discarded – undo
228 228
 	$post_data = '';
229 229
 
230 230
 	// Fallback just in case post_max_size is lower than needed
231
-	if ( ini_get( 'allow_url_fopen' ) ) {
232
-		$post_data = file_get_contents( 'php://input' );
231
+	if (ini_get('allow_url_fopen')) {
232
+		$post_data = file_get_contents('php://input');
233 233
 	} else {
234 234
 		// If allow_url_fopen is not enabled, then make sure that post_max_size is large enough
235
-		ini_set( 'post_max_size', '12M' );
235
+		ini_set('post_max_size', '12M');
236 236
 	}
237 237
 	// Start the encoded data collection with notification command
238 238
 	$encoded_data = 'cmd=_notify-validate';
@@ -241,43 +241,43 @@  discard block
 block discarded – undo
241 241
 	$arg_separator = wpinv_get_php_arg_separator_output();
242 242
 
243 243
 	// Verify there is a post_data
244
-	if ( $post_data || strlen( $post_data ) > 0 ) {
244
+	if ($post_data || strlen($post_data) > 0) {
245 245
 		// Append the data
246
-		$encoded_data .= $arg_separator.$post_data;
246
+		$encoded_data .= $arg_separator . $post_data;
247 247
 	} else {
248 248
 		// Check if POST is empty
249
-		if ( empty( $_POST ) ) {
249
+		if (empty($_POST)) {
250 250
 			// Nothing to do
251 251
 			return;
252 252
 		} else {
253 253
 			// Loop through each POST
254
-			foreach ( $_POST as $key => $value ) {
254
+			foreach ($_POST as $key => $value) {
255 255
 				// Encode the value and append the data
256
-				$encoded_data .= $arg_separator."$key=" . urlencode( $value );
256
+				$encoded_data .= $arg_separator . "$key=" . urlencode($value);
257 257
 			}
258 258
 		}
259 259
 	}
260 260
 
261 261
 	// Convert collected post data to an array
262
-	wp_parse_str( $encoded_data, $encoded_data_array );
262
+	wp_parse_str($encoded_data, $encoded_data_array);
263 263
 
264
-	foreach ( $encoded_data_array as $key => $value ) {
265
-		if ( false !== strpos( $key, 'amp;' ) ) {
266
-			$new_key = str_replace( '&amp;', '&', $key );
267
-			$new_key = str_replace( 'amp;', '&' , $new_key );
264
+	foreach ($encoded_data_array as $key => $value) {
265
+		if (false !== strpos($key, 'amp;')) {
266
+			$new_key = str_replace('&amp;', '&', $key);
267
+			$new_key = str_replace('amp;', '&', $new_key);
268 268
 
269
-			unset( $encoded_data_array[ $key ] );
270
-			$encoded_data_array[ $new_key ] = $value;
269
+			unset($encoded_data_array[$key]);
270
+			$encoded_data_array[$new_key] = $value;
271 271
 		}
272 272
 	}
273 273
 
274 274
 	// Get the PayPal redirect uri
275
-	$paypal_redirect = wpinv_get_paypal_redirect( true );
275
+	$paypal_redirect = wpinv_get_paypal_redirect(true);
276 276
 
277
-	if ( !wpinv_get_option( 'disable_paypal_verification', false ) ) {
277
+	if (!wpinv_get_option('disable_paypal_verification', false)) {
278 278
 		// Validate the IPN
279 279
 
280
-		$remote_post_vars      = array(
280
+		$remote_post_vars = array(
281 281
 			'method'           => 'POST',
282 282
 			'timeout'          => 45,
283 283
 			'redirection'      => 5,
@@ -295,21 +295,21 @@  discard block
 block discarded – undo
295 295
 		);
296 296
 
297 297
 		// Get response
298
-		$api_response = wp_remote_post( wpinv_get_paypal_redirect(), $remote_post_vars );
298
+		$api_response = wp_remote_post(wpinv_get_paypal_redirect(), $remote_post_vars);
299 299
 
300
-		if ( is_wp_error( $api_response ) ) {
301
-			wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid IPN verification response. IPN data: %s', 'invoicing' ), json_encode( $api_response ) ) );
300
+		if (is_wp_error($api_response)) {
301
+			wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid IPN verification response. IPN data: %s', 'invoicing'), json_encode($api_response)));
302 302
 			return; // Something went wrong
303 303
 		}
304 304
 
305
-		if ( $api_response['body'] !== 'VERIFIED' && wpinv_get_option( 'disable_paypal_verification', false ) ) {
306
-			wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid IPN verification response. IPN data: %s', 'invoicing' ), json_encode( $api_response ) ) );
305
+		if ($api_response['body'] !== 'VERIFIED' && wpinv_get_option('disable_paypal_verification', false)) {
306
+			wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid IPN verification response. IPN data: %s', 'invoicing'), json_encode($api_response)));
307 307
 			return; // Response not okay
308 308
 		}
309 309
 	}
310 310
 
311 311
 	// Check if $post_data_array has been populated
312
-	if ( !is_array( $encoded_data_array ) && !empty( $encoded_data_array ) )
312
+	if (!is_array($encoded_data_array) && !empty($encoded_data_array))
313 313
 		return;
314 314
 
315 315
 	$defaults = array(
@@ -317,265 +317,265 @@  discard block
 block discarded – undo
317 317
 		'payment_status' => ''
318 318
 	);
319 319
 
320
-	$encoded_data_array = wp_parse_args( $encoded_data_array, $defaults );
320
+	$encoded_data_array = wp_parse_args($encoded_data_array, $defaults);
321 321
 
322
-	$invoice_id = isset( $encoded_data_array['custom'] ) ? absint( $encoded_data_array['custom'] ) : 0;
322
+	$invoice_id = isset($encoded_data_array['custom']) ? absint($encoded_data_array['custom']) : 0;
323 323
     
324
-	wpinv_error_log( $encoded_data_array['txn_type'], 'PayPal txn_type', __FILE__, __LINE__ );
325
-	wpinv_error_log( $encoded_data_array, 'PayPal IPN response', __FILE__, __LINE__ );
324
+	wpinv_error_log($encoded_data_array['txn_type'], 'PayPal txn_type', __FILE__, __LINE__);
325
+	wpinv_error_log($encoded_data_array, 'PayPal IPN response', __FILE__, __LINE__);
326 326
 
327
-	if ( has_action( 'wpinv_paypal_' . $encoded_data_array['txn_type'] ) ) {
327
+	if (has_action('wpinv_paypal_' . $encoded_data_array['txn_type'])) {
328 328
 		// Allow PayPal IPN types to be processed separately
329
-		do_action( 'wpinv_paypal_' . $encoded_data_array['txn_type'], $encoded_data_array, $invoice_id );
329
+		do_action('wpinv_paypal_' . $encoded_data_array['txn_type'], $encoded_data_array, $invoice_id);
330 330
 	} else {
331 331
 		// Fallback to web accept just in case the txn_type isn't present
332
-		do_action( 'wpinv_paypal_web_accept', $encoded_data_array, $invoice_id );
332
+		do_action('wpinv_paypal_web_accept', $encoded_data_array, $invoice_id);
333 333
 	}
334 334
 	exit;
335 335
 }
336
-add_action( 'wpinv_verify_paypal_ipn', 'wpinv_process_paypal_ipn' );
336
+add_action('wpinv_verify_paypal_ipn', 'wpinv_process_paypal_ipn');
337 337
 
338
-function wpinv_process_paypal_web_accept_and_cart( $data, $invoice_id ) {
339
-	if ( $data['txn_type'] != 'web_accept' && $data['txn_type'] != 'cart' && $data['payment_status'] != 'Refunded' ) {
338
+function wpinv_process_paypal_web_accept_and_cart($data, $invoice_id) {
339
+	if ($data['txn_type'] != 'web_accept' && $data['txn_type'] != 'cart' && $data['payment_status'] != 'Refunded') {
340 340
 		return;
341 341
 	}
342 342
 
343
-	if( empty( $invoice_id ) ) {
343
+	if (empty($invoice_id)) {
344 344
 		return;
345 345
 	}
346 346
 
347 347
 	// Collect payment details
348
-	$purchase_key   = isset( $data['invoice'] ) ? $data['invoice'] : $data['item_number'];
348
+	$purchase_key   = isset($data['invoice']) ? $data['invoice'] : $data['item_number'];
349 349
 	$paypal_amount  = $data['mc_gross'];
350
-	$payment_status = strtolower( $data['payment_status'] );
351
-	$currency_code  = strtolower( $data['mc_currency'] );
352
-	$business_email = isset( $data['business'] ) && is_email( $data['business'] ) ? trim( $data['business'] ) : trim( $data['receiver_email'] );
353
-	$payment_meta   = wpinv_get_invoice_meta( $invoice_id );
350
+	$payment_status = strtolower($data['payment_status']);
351
+	$currency_code  = strtolower($data['mc_currency']);
352
+	$business_email = isset($data['business']) && is_email($data['business']) ? trim($data['business']) : trim($data['receiver_email']);
353
+	$payment_meta   = wpinv_get_invoice_meta($invoice_id);
354 354
 
355
-	if ( wpinv_get_payment_gateway( $invoice_id ) != 'paypal' ) {
355
+	if (wpinv_get_payment_gateway($invoice_id) != 'paypal') {
356 356
 		return; // this isn't a PayPal standard IPN
357 357
 	}
358 358
 
359 359
 	// Verify payment recipient
360
-	if ( strcasecmp( $business_email, trim( wpinv_get_option( 'paypal_email', false ) ) ) != 0 ) {
361
-		wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid business email in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
362
-		wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
363
-		wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid PayPal business email.', 'invoicing' ), '', '', true );
360
+	if (strcasecmp($business_email, trim(wpinv_get_option('paypal_email', false))) != 0) {
361
+		wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid business email in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id);
362
+		wpinv_update_payment_status($invoice_id, 'wpi-failed');
363
+		wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid PayPal business email.', 'invoicing'), '', '', true);
364 364
 		return;
365 365
 	}
366 366
 
367 367
 	// Verify payment currency
368
-	if ( $currency_code != strtolower( $payment_meta['currency'] ) ) {
369
-		wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid currency in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
370
-		wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
371
-		wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid currency in PayPal IPN.', 'invoicing' ), '', '', true );
368
+	if ($currency_code != strtolower($payment_meta['currency'])) {
369
+		wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid currency in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id);
370
+		wpinv_update_payment_status($invoice_id, 'wpi-failed');
371
+		wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid currency in PayPal IPN.', 'invoicing'), '', '', true);
372 372
 		return;
373 373
 	}
374 374
 
375
-	if ( !wpinv_get_payment_user_email( $invoice_id ) ) {
375
+	if (!wpinv_get_payment_user_email($invoice_id)) {
376 376
 		// This runs when a Buy Now purchase was made. It bypasses checkout so no personal info is collected until PayPal
377 377
 		// No email associated with purchase, so store from PayPal
378
-		wpinv_update_invoice_meta( $invoice_id, '_wpinv_email', $data['payer_email'] );
378
+		wpinv_update_invoice_meta($invoice_id, '_wpinv_email', $data['payer_email']);
379 379
 
380 380
 		// Setup and store the customer's details
381 381
 		$user_info = array(
382 382
 			'user_id'    => '-1',
383
-			'email'      => sanitize_text_field( $data['payer_email'] ),
384
-			'first_name' => sanitize_text_field( $data['first_name'] ),
385
-			'last_name'  => sanitize_text_field( $data['last_name'] ),
383
+			'email'      => sanitize_text_field($data['payer_email']),
384
+			'first_name' => sanitize_text_field($data['first_name']),
385
+			'last_name'  => sanitize_text_field($data['last_name']),
386 386
 			'discount'   => '',
387 387
 		);
388
-		$user_info['address'] = ! empty( $data['address_street']       ) ? sanitize_text_field( $data['address_street'] )       : false;
389
-		$user_info['city']    = ! empty( $data['address_city']         ) ? sanitize_text_field( $data['address_city'] )         : false;
390
-		$user_info['state']   = ! empty( $data['address_state']        ) ? sanitize_text_field( $data['address_state'] )        : false;
391
-		$user_info['country'] = ! empty( $data['address_country_code'] ) ? sanitize_text_field( $data['address_country_code'] ) : false;
392
-		$user_info['zip']     = ! empty( $data['address_zip']          ) ? sanitize_text_field( $data['address_zip'] )          : false;
388
+		$user_info['address'] = !empty($data['address_street']) ? sanitize_text_field($data['address_street']) : false;
389
+		$user_info['city']    = !empty($data['address_city']) ? sanitize_text_field($data['address_city']) : false;
390
+		$user_info['state']   = !empty($data['address_state']) ? sanitize_text_field($data['address_state']) : false;
391
+		$user_info['country'] = !empty($data['address_country_code']) ? sanitize_text_field($data['address_country_code']) : false;
392
+		$user_info['zip']     = !empty($data['address_zip']) ? sanitize_text_field($data['address_zip']) : false;
393 393
 
394 394
 		$payment_meta['user_info'] = $user_info;
395
-		wpinv_update_invoice_meta( $invoice_id, '_wpinv_payment_meta', $payment_meta );
395
+		wpinv_update_invoice_meta($invoice_id, '_wpinv_payment_meta', $payment_meta);
396 396
 	}
397 397
 
398
-	if ( $payment_status == 'refunded' || $payment_status == 'reversed' ) {
398
+	if ($payment_status == 'refunded' || $payment_status == 'reversed') {
399 399
 		// Process a refund
400
-		wpinv_process_paypal_refund( $data, $invoice_id );
400
+		wpinv_process_paypal_refund($data, $invoice_id);
401 401
 	} else {
402
-		if ( get_post_status( $invoice_id ) == 'publish' ) {
402
+		if (get_post_status($invoice_id) == 'publish') {
403 403
 			return; // Only paid payments once
404 404
 		}
405 405
 
406 406
 		// Retrieve the total purchase amount (before PayPal)
407
-		$payment_amount = wpinv_payment_total( $invoice_id );
407
+		$payment_amount = wpinv_payment_total($invoice_id);
408 408
 
409
-		if ( number_format( (float) $paypal_amount, 2 ) < number_format( (float) $payment_amount, 2 ) ) {
409
+		if (number_format((float) $paypal_amount, 2) < number_format((float) $payment_amount, 2)) {
410 410
 			// The prices don't match
411
-			wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid payment amount in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
412
-			wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
413
-			wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid amount in PayPal IPN.', 'invoicing' ), '', '', true );
411
+			wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid payment amount in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id);
412
+			wpinv_update_payment_status($invoice_id, 'wpi-failed');
413
+			wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid amount in PayPal IPN.', 'invoicing'), '', '', true);
414 414
 			return;
415 415
 		}
416
-		if ( $purchase_key != wpinv_get_payment_key( $invoice_id ) ) {
416
+		if ($purchase_key != wpinv_get_payment_key($invoice_id)) {
417 417
 			// Purchase keys don't match
418
-			wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid purchase key in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
419
-			wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
420
-			wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid purchase key in PayPal IPN.', 'invoicing' ), '', '', true );
418
+			wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid purchase key in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id);
419
+			wpinv_update_payment_status($invoice_id, 'wpi-failed');
420
+			wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid purchase key in PayPal IPN.', 'invoicing'), '', '', true);
421 421
 			return;
422 422
 		}
423 423
 
424
-		if ( 'complete' == $payment_status || 'completed' == $payment_status || 'processed' == $payment_status || wpinv_is_test_mode( 'paypal' ) ) {
425
-			wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $data['txn_id'] ), '', '', true );
426
-			wpinv_set_payment_transaction_id( $invoice_id, $data['txn_id'] );
427
-			wpinv_update_payment_status( $invoice_id, 'publish' );
428
-		} else if ( 'pending' == $payment_status && isset( $data['pending_reason'] ) ) {
424
+		if ('complete' == $payment_status || 'completed' == $payment_status || 'processed' == $payment_status || wpinv_is_test_mode('paypal')) {
425
+			wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $data['txn_id']), '', '', true);
426
+			wpinv_set_payment_transaction_id($invoice_id, $data['txn_id']);
427
+			wpinv_update_payment_status($invoice_id, 'publish');
428
+		} else if ('pending' == $payment_status && isset($data['pending_reason'])) {
429 429
 			// Look for possible pending reasons, such as an echeck
430 430
 			$note = '';
431 431
 
432
-			switch( strtolower( $data['pending_reason'] ) ) {
432
+			switch (strtolower($data['pending_reason'])) {
433 433
 				case 'echeck' :
434
-					$note = __( 'Payment made via eCheck and will clear automatically in 5-8 days', 'invoicing' );
434
+					$note = __('Payment made via eCheck and will clear automatically in 5-8 days', 'invoicing');
435 435
 					break;
436 436
 				
437 437
                 case 'address' :
438
-					$note = __( 'Payment requires a confirmed customer address and must be accepted manually through PayPal', 'invoicing' );
438
+					$note = __('Payment requires a confirmed customer address and must be accepted manually through PayPal', 'invoicing');
439 439
 					break;
440 440
 				
441 441
                 case 'intl' :
442
-					$note = __( 'Payment must be accepted manually through PayPal due to international account regulations', 'invoicing' );
442
+					$note = __('Payment must be accepted manually through PayPal due to international account regulations', 'invoicing');
443 443
 					break;
444 444
 				
445 445
                 case 'multi-currency' :
446
-					$note = __( 'Payment received in non-shop currency and must be accepted manually through PayPal', 'invoicing' );
446
+					$note = __('Payment received in non-shop currency and must be accepted manually through PayPal', 'invoicing');
447 447
 					break;
448 448
 				
449 449
                 case 'paymentreview' :
450 450
                 case 'regulatory_review' :
451
-					$note = __( 'Payment is being reviewed by PayPal staff as high-risk or in possible violation of government regulations', 'invoicing' );
451
+					$note = __('Payment is being reviewed by PayPal staff as high-risk or in possible violation of government regulations', 'invoicing');
452 452
 					break;
453 453
 				
454 454
                 case 'unilateral' :
455
-					$note = __( 'Payment was sent to non-confirmed or non-registered email address.', 'invoicing' );
455
+					$note = __('Payment was sent to non-confirmed or non-registered email address.', 'invoicing');
456 456
 					break;
457 457
 				
458 458
                 case 'upgrade' :
459
-					$note = __( 'PayPal account must be upgraded before this payment can be accepted', 'invoicing' );
459
+					$note = __('PayPal account must be upgraded before this payment can be accepted', 'invoicing');
460 460
 					break;
461 461
 				
462 462
                 case 'verify' :
463
-					$note = __( 'PayPal account is not verified. Verify account in order to accept this payment', 'invoicing' );
463
+					$note = __('PayPal account is not verified. Verify account in order to accept this payment', 'invoicing');
464 464
 					break;
465 465
 
466 466
 				case 'other' :
467
-					$note = __( 'Payment is pending for unknown reasons. Contact PayPal support for assistance', 'invoicing' );
467
+					$note = __('Payment is pending for unknown reasons. Contact PayPal support for assistance', 'invoicing');
468 468
 					break;
469 469
 			}
470 470
 
471
-			if ( ! empty( $note ) ) {
472
-				wpinv_insert_payment_note( $invoice_id, $note, '', '', true );
471
+			if (!empty($note)) {
472
+				wpinv_insert_payment_note($invoice_id, $note, '', '', true);
473 473
 			}
474 474
 		} else {
475
-			wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal IPN has been received with invalid payment status: %s', 'invoicing' ), $payment_status ), '', '', true );
475
+			wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal IPN has been received with invalid payment status: %s', 'invoicing'), $payment_status), '', '', true);
476 476
 		}
477 477
 	}
478 478
 }
479
-add_action( 'wpinv_paypal_web_accept', 'wpinv_process_paypal_web_accept_and_cart', 10, 2 );
479
+add_action('wpinv_paypal_web_accept', 'wpinv_process_paypal_web_accept_and_cart', 10, 2);
480 480
 
481 481
 // Process PayPal subscription sign ups
482
-add_action( 'wpinv_paypal_subscr_signup', 'wpinv_process_paypal_subscr_signup' );
482
+add_action('wpinv_paypal_subscr_signup', 'wpinv_process_paypal_subscr_signup');
483 483
 
484 484
 // Process PayPal subscription payments
485
-add_action( 'wpinv_paypal_subscr_payment', 'wpinv_process_paypal_subscr_payment' );
485
+add_action('wpinv_paypal_subscr_payment', 'wpinv_process_paypal_subscr_payment');
486 486
 
487 487
 // Process PayPal subscription cancellations
488
-add_action( 'wpinv_paypal_subscr_cancel', 'wpinv_process_paypal_subscr_cancel' );
488
+add_action('wpinv_paypal_subscr_cancel', 'wpinv_process_paypal_subscr_cancel');
489 489
 
490 490
 // Process PayPal subscription end of term notices
491
-add_action( 'wpinv_paypal_subscr_eot', 'wpinv_process_paypal_subscr_eot' );
491
+add_action('wpinv_paypal_subscr_eot', 'wpinv_process_paypal_subscr_eot');
492 492
 
493 493
 // Process PayPal payment failed
494
-add_action( 'wpinv_paypal_subscr_failed', 'wpinv_process_paypal_subscr_failed' );
494
+add_action('wpinv_paypal_subscr_failed', 'wpinv_process_paypal_subscr_failed');
495 495
 
496 496
 
497 497
 /**
498 498
  * Process the subscription started IPN.
499 499
  */
500
-function wpinv_process_paypal_subscr_signup( $ipn_data ) {
501
-    $parent_invoice_id = absint( $ipn_data['custom'] );
502
-    if( empty( $parent_invoice_id ) ) {
500
+function wpinv_process_paypal_subscr_signup($ipn_data) {
501
+    $parent_invoice_id = absint($ipn_data['custom']);
502
+    if (empty($parent_invoice_id)) {
503 503
         return;
504 504
     }
505 505
 
506
-    $invoice = wpinv_get_invoice( $parent_invoice_id );
507
-    if ( empty( $invoice ) ) {
506
+    $invoice = wpinv_get_invoice($parent_invoice_id);
507
+    if (empty($invoice)) {
508 508
         return;
509 509
     }
510 510
 
511
-    if ( $invoice->is_free_trial() && !empty( $ipn_data['invoice'] ) ) {
512
-        wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Invoice ID: %s', 'invoicing' ) , $ipn_data['invoice'] ), '', '', true);
513
-        if ( !empty( $ipn_data['txn_id'] ) ) {
514
-            wpinv_set_payment_transaction_id( $parent_invoice_id, $ipn_data['txn_id'] );
511
+    if ($invoice->is_free_trial() && !empty($ipn_data['invoice'])) {
512
+        wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Invoice ID: %s', 'invoicing'), $ipn_data['invoice']), '', '', true);
513
+        if (!empty($ipn_data['txn_id'])) {
514
+            wpinv_set_payment_transaction_id($parent_invoice_id, $ipn_data['txn_id']);
515 515
         }
516 516
     }
517 517
 
518
-    $subscription = wpinv_get_paypal_subscription( $ipn_data );
519
-    if ( false === $subscription ) {
518
+    $subscription = wpinv_get_paypal_subscription($ipn_data);
519
+    if (false === $subscription) {
520 520
         return;
521 521
     }
522 522
     
523
-    wpinv_update_payment_status( $parent_invoice_id, 'publish' );
523
+    wpinv_update_payment_status($parent_invoice_id, 'publish');
524 524
     sleep(1);
525
-    wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Subscription ID: %s', 'invoicing' ) , $ipn_data['subscr_id'] ), '', '', true );
526
-    update_post_meta($parent_invoice_id,'_wpinv_subscr_profile_id', $ipn_data['subscr_id']);
525
+    wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Subscription ID: %s', 'invoicing'), $ipn_data['subscr_id']), '', '', true);
526
+    update_post_meta($parent_invoice_id, '_wpinv_subscr_profile_id', $ipn_data['subscr_id']);
527 527
 
528 528
     $status     = 'trialling' == $subscription->status ? 'trialling' : 'active';
529
-    $diff_days  = absint( ( ( strtotime( $subscription->expiration ) - strtotime( $subscription->created ) ) / DAY_IN_SECONDS ) );
530
-    $created    = date_i18n( 'Y-m-d H:i:s' );
531
-    $expiration = date_i18n( 'Y-m-d 23:59:59', ( strtotime( $created ) + ( $diff_days * DAY_IN_SECONDS ) ) );
529
+    $diff_days  = absint(((strtotime($subscription->expiration) - strtotime($subscription->created)) / DAY_IN_SECONDS));
530
+    $created    = date_i18n('Y-m-d H:i:s');
531
+    $expiration = date_i18n('Y-m-d 23:59:59', (strtotime($created) + ($diff_days * DAY_IN_SECONDS)));
532 532
 
533 533
     // Retrieve pending subscription from database and update it's status to active and set proper profile ID
534
-    $subscription->update( array( 'profile_id' => $ipn_data['subscr_id'], 'status' => $status, 'created' => $created, 'expiration' => $expiration ) );
534
+    $subscription->update(array('profile_id' => $ipn_data['subscr_id'], 'status' => $status, 'created' => $created, 'expiration' => $expiration));
535 535
 }
536 536
 
537 537
 /**
538 538
  * Process the subscription payment received IPN.
539 539
  */
540
-function wpinv_process_paypal_subscr_payment( $ipn_data ) {
541
-    $parent_invoice_id = absint( $ipn_data['custom'] );
540
+function wpinv_process_paypal_subscr_payment($ipn_data) {
541
+    $parent_invoice_id = absint($ipn_data['custom']);
542 542
 
543
-    $parent_invoice = wpinv_get_invoice( $parent_invoice_id );
544
-    if ( empty( $parent_invoice ) ) {
543
+    $parent_invoice = wpinv_get_invoice($parent_invoice_id);
544
+    if (empty($parent_invoice)) {
545 545
         return;
546 546
     }
547 547
 
548
-    $subscription = wpinv_get_paypal_subscription( $ipn_data );
549
-    if ( false === $subscription ) {
548
+    $subscription = wpinv_get_paypal_subscription($ipn_data);
549
+    if (false === $subscription) {
550 550
         return;
551 551
     }
552 552
 
553
-    $transaction_id = wpinv_get_payment_transaction_id( $parent_invoice_id );
553
+    $transaction_id = wpinv_get_payment_transaction_id($parent_invoice_id);
554 554
     $times_billed   = $subscription->get_times_billed();
555
-    $signup_date    = strtotime( $subscription->created );
556
-    $today          = date( 'Ynd', $signup_date ) == date( 'Ynd', strtotime( $ipn_data['payment_date'] ) );
555
+    $signup_date    = strtotime($subscription->created);
556
+    $today          = date('Ynd', $signup_date) == date('Ynd', strtotime($ipn_data['payment_date']));
557 557
 
558 558
     // Look to see if payment is same day as signup and we have set the transaction ID on the parent payment yet.
559
-    if ( (empty($times_billed) || $today) && ( !$transaction_id || $transaction_id == $parent_invoice_id ) ) {
560
-        wpinv_update_payment_status( $parent_invoice_id, 'publish' );
559
+    if ((empty($times_billed) || $today) && (!$transaction_id || $transaction_id == $parent_invoice_id)) {
560
+        wpinv_update_payment_status($parent_invoice_id, 'publish');
561 561
         sleep(1);
562 562
         
563 563
         // This is the very first payment
564
-        wpinv_set_payment_transaction_id( $parent_invoice_id, $ipn_data['txn_id'] );
565
-        wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $ipn_data['txn_id'] ), '', '', true );
564
+        wpinv_set_payment_transaction_id($parent_invoice_id, $ipn_data['txn_id']);
565
+        wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $ipn_data['txn_id']), '', '', true);
566 566
         return;
567 567
     }
568 568
 
569
-    if ( wpinv_get_id_by_transaction_id( $ipn_data['txn_id'] ) ) {
569
+    if (wpinv_get_id_by_transaction_id($ipn_data['txn_id'])) {
570 570
         return; // Payment already recorded
571 571
     }
572 572
 
573
-    $currency_code = strtolower( $ipn_data['mc_currency'] );
573
+    $currency_code = strtolower($ipn_data['mc_currency']);
574 574
 
575 575
     // verify details
576
-    if ( $currency_code != strtolower( wpinv_get_currency() ) ) {
576
+    if ($currency_code != strtolower(wpinv_get_currency())) {
577 577
         // the currency code is invalid
578
-        wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid currency in IPN response. IPN data: ', 'invoicing' ), json_encode( $ipn_data ) ) );
578
+        wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid currency in IPN response. IPN data: ', 'invoicing'), json_encode($ipn_data)));
579 579
         return;
580 580
     }
581 581
 
@@ -585,11 +585,11 @@  discard block
 block discarded – undo
585 585
         'gateway'        => 'paypal'
586 586
     );
587 587
     
588
-    $invoice_id = $subscription->add_payment( $args );
588
+    $invoice_id = $subscription->add_payment($args);
589 589
 
590
-    if ( $invoice_id > 0 ) {
591
-        wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $ipn_data['txn_id'] ), '', '', true );
592
-        wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal Subscription ID: %s', 'invoicing' ) , $ipn_data['subscr_id'] ), '', '', true );
590
+    if ($invoice_id > 0) {
591
+        wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $ipn_data['txn_id']), '', '', true);
592
+        wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal Subscription ID: %s', 'invoicing'), $ipn_data['subscr_id']), '', '', true);
593 593
 
594 594
         $subscription->renew();
595 595
     }
@@ -598,10 +598,10 @@  discard block
 block discarded – undo
598 598
 /**
599 599
  * Process the subscription canceled IPN.
600 600
  */
601
-function wpinv_process_paypal_subscr_cancel( $ipn_data ) {
602
-    $subscription = wpinv_get_paypal_subscription( $ipn_data );
601
+function wpinv_process_paypal_subscr_cancel($ipn_data) {
602
+    $subscription = wpinv_get_paypal_subscription($ipn_data);
603 603
 
604
-    if( false === $subscription ) {
604
+    if (false === $subscription) {
605 605
         return;
606 606
     }
607 607
 
@@ -611,10 +611,10 @@  discard block
 block discarded – undo
611 611
 /**
612 612
  * Process the subscription expired IPN.
613 613
  */
614
-function wpinv_process_paypal_subscr_eot( $ipn_data ) {
615
-    $subscription = wpinv_get_paypal_subscription( $ipn_data );
614
+function wpinv_process_paypal_subscr_eot($ipn_data) {
615
+    $subscription = wpinv_get_paypal_subscription($ipn_data);
616 616
 
617
-    if( false === $subscription ) {
617
+    if (false === $subscription) {
618 618
         return;
619 619
     }
620 620
 
@@ -624,40 +624,40 @@  discard block
 block discarded – undo
624 624
 /**
625 625
  * Process the subscription payment failed IPN.
626 626
  */
627
-function wpinv_process_paypal_subscr_failed( $ipn_data ) {
628
-    $subscription = wpinv_get_paypal_subscription( $ipn_data );
627
+function wpinv_process_paypal_subscr_failed($ipn_data) {
628
+    $subscription = wpinv_get_paypal_subscription($ipn_data);
629 629
 
630
-    if( false === $subscription ) {
630
+    if (false === $subscription) {
631 631
         return;
632 632
     }
633 633
 
634 634
     $subscription->failing();
635 635
 
636
-    do_action( 'wpinv_recurring_payment_failed', $subscription );
636
+    do_action('wpinv_recurring_payment_failed', $subscription);
637 637
 }
638 638
 
639 639
 /**
640 640
  * Retrieve the subscription this IPN notice is for.
641 641
  */
642
-function wpinv_get_paypal_subscription( $ipn_data = array() ) {
643
-    $parent_invoice_id = absint( $ipn_data['custom'] );
642
+function wpinv_get_paypal_subscription($ipn_data = array()) {
643
+    $parent_invoice_id = absint($ipn_data['custom']);
644 644
 
645
-    if( empty( $parent_invoice_id ) ) {
645
+    if (empty($parent_invoice_id)) {
646 646
         return false;
647 647
     }
648 648
 
649
-    $invoice = wpinv_get_invoice( $parent_invoice_id );
650
-    if ( empty( $invoice ) ) {
649
+    $invoice = wpinv_get_invoice($parent_invoice_id);
650
+    if (empty($invoice)) {
651 651
         return false;
652 652
     }
653 653
 
654
-    $subscription = new WPInv_Subscription( $ipn_data['subscr_id'], true );
654
+    $subscription = new WPInv_Subscription($ipn_data['subscr_id'], true);
655 655
 
656
-    if ( ! ( ! empty( $subscription ) && $subscription->id > 0 ) ) {
657
-        $subscription = wpinv_get_subscription( $parent_invoice_id );
656
+    if (!(!empty($subscription) && $subscription->id > 0)) {
657
+        $subscription = wpinv_get_subscription($parent_invoice_id);
658 658
 
659
-        if ( ! empty( $subscription ) && $subscription->id > 0 ) {
660
-            $subscription->update( array( 'profile_id' => sanitize_text_field( $ipn_data['subscr_id'] ) ) );
659
+        if (!empty($subscription) && $subscription->id > 0) {
660
+            $subscription->update(array('profile_id' => sanitize_text_field($ipn_data['subscr_id'])));
661 661
         } else {
662 662
             return false;
663 663
         }
@@ -667,46 +667,46 @@  discard block
 block discarded – undo
667 667
 
668 668
 }
669 669
 
670
-function wpinv_process_paypal_refund( $data, $invoice_id = 0 ) {
670
+function wpinv_process_paypal_refund($data, $invoice_id = 0) {
671 671
 	// Collect payment details
672 672
 
673
-	if( empty( $invoice_id ) ) {
673
+	if (empty($invoice_id)) {
674 674
 		return;
675 675
 	}
676 676
 
677
-	if ( get_post_status( $invoice_id ) == 'wpi-refunded' ) {
677
+	if (get_post_status($invoice_id) == 'wpi-refunded') {
678 678
 		return; // Only refund payments once
679 679
 	}
680 680
 
681
-	$payment_amount = wpinv_payment_total( $invoice_id );
681
+	$payment_amount = wpinv_payment_total($invoice_id);
682 682
 	$refund_amount  = $data['mc_gross'] * -1;
683 683
 
684
-	do_action( 'wpinv_paypal_refund_request', $data, $invoice_id );
684
+	do_action('wpinv_paypal_refund_request', $data, $invoice_id);
685 685
 
686
-	if ( number_format( (float) $refund_amount, 2 ) < number_format( (float) $payment_amount, 2 ) ) {
687
-		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 );
686
+	if (number_format((float) $refund_amount, 2) < number_format((float) $payment_amount, 2)) {
687
+		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);
688 688
 
689
-		do_action( 'wpinv_paypal_invoice_partially_refunded', $data, $invoice_id, $refund_amount );
689
+		do_action('wpinv_paypal_invoice_partially_refunded', $data, $invoice_id, $refund_amount);
690 690
 
691 691
 		return; // This is a partial refund
692 692
 	}
693 693
 
694
-	wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Payment #%s Refunded for reason: %s', 'invoicing' ), $data['parent_txn_id'], $data['reason_code'] ), '', '', true );
695
-	wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Refund Transaction ID: %s', 'invoicing' ), $data['txn_id'] ), '', '', true );
696
-	wpinv_update_payment_status( $invoice_id, 'wpi-refunded' );
694
+	wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Payment #%s Refunded for reason: %s', 'invoicing'), $data['parent_txn_id'], $data['reason_code']), '', '', true);
695
+	wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Refund Transaction ID: %s', 'invoicing'), $data['txn_id']), '', '', true);
696
+	wpinv_update_payment_status($invoice_id, 'wpi-refunded');
697 697
 
698
-	do_action( 'wpinv_paypal_invoice_fully_refunded', $data, $invoice_id );
698
+	do_action('wpinv_paypal_invoice_fully_refunded', $data, $invoice_id);
699 699
 }
700 700
 
701
-function wpinv_get_paypal_redirect( $ssl_check = false ) {
702
-    if ( is_ssl() || ! $ssl_check ) {
701
+function wpinv_get_paypal_redirect($ssl_check = false) {
702
+    if (is_ssl() || !$ssl_check) {
703 703
         $protocol = 'https://';
704 704
     } else {
705 705
         $protocol = 'http://';
706 706
     }
707 707
 
708 708
     // Check the current payment mode
709
-    if ( wpinv_is_test_mode( 'paypal' ) ) {
709
+    if (wpinv_is_test_mode('paypal')) {
710 710
         // Test mode
711 711
         $paypal_uri = $protocol . 'www.sandbox.paypal.com/cgi-bin/webscr';
712 712
     } else {
@@ -714,120 +714,120 @@  discard block
 block discarded – undo
714 714
         $paypal_uri = $protocol . 'www.paypal.com/cgi-bin/webscr';
715 715
     }
716 716
 
717
-    return apply_filters( 'wpinv_paypal_uri', $paypal_uri );
717
+    return apply_filters('wpinv_paypal_uri', $paypal_uri);
718 718
 }
719 719
 
720
-function wpinv_paypal_success_page_content( $content ) {
720
+function wpinv_paypal_success_page_content($content) {
721 721
     global $wpi_invoice;
722 722
     
723 723
     $session = wpinv_get_checkout_session();
724 724
 
725
-    if ( empty( $_GET['invoice-id'] ) && empty( $session['invoice_key'] )  ) {
725
+    if (empty($_GET['invoice-id']) && empty($session['invoice_key'])) {
726 726
         return $content;
727 727
     }
728 728
 
729
-    $invoice_id = !empty( $_GET['invoice-id'] ) ? absint( $_GET['invoice-id'] ) : wpinv_get_invoice_id_by_key( $session['invoice_key'] );
729
+    $invoice_id = !empty($_GET['invoice-id']) ? absint($_GET['invoice-id']) : wpinv_get_invoice_id_by_key($session['invoice_key']);
730 730
 
731
-    if ( empty(  $invoice_id ) ) {
731
+    if (empty($invoice_id)) {
732 732
         return $content;
733 733
     }
734 734
 
735
-    $wpi_invoice = wpinv_get_invoice( $invoice_id );
735
+    $wpi_invoice = wpinv_get_invoice($invoice_id);
736 736
     
737
-    if ( !empty( $wpi_invoice ) && 'wpi-pending' == $wpi_invoice->status ) {
737
+    if (!empty($wpi_invoice) && 'wpi-pending' == $wpi_invoice->status) {
738 738
         // Payment is still pending so show processing indicator to fix the Race Condition, issue #
739 739
         ob_start();
740
-        wpinv_get_template_part( 'wpinv-payment-processing' );
740
+        wpinv_get_template_part('wpinv-payment-processing');
741 741
         $content = ob_get_clean();
742 742
     }
743 743
 
744 744
     return $content;
745 745
 }
746
-add_filter( 'wpinv_payment_confirm_paypal', 'wpinv_paypal_success_page_content' );
746
+add_filter('wpinv_payment_confirm_paypal', 'wpinv_paypal_success_page_content');
747 747
 
748
-function wpinv_paypal_get_transaction_id( $invoice_id ) {
748
+function wpinv_paypal_get_transaction_id($invoice_id) {
749 749
     $transaction_id = '';
750
-    $notes = wpinv_get_invoice_notes( $invoice_id );
750
+    $notes = wpinv_get_invoice_notes($invoice_id);
751 751
 
752
-    foreach ( $notes as $note ) {
753
-        if ( preg_match( '/^PayPal Transaction ID: ([^\s]+)/', $note->comment_content, $match ) ) {
752
+    foreach ($notes as $note) {
753
+        if (preg_match('/^PayPal Transaction ID: ([^\s]+)/', $note->comment_content, $match)) {
754 754
             $transaction_id = $match[1];
755 755
             continue;
756 756
         }
757 757
     }
758 758
 
759
-    return apply_filters( 'wpinv_paypal_set_transaction_id', $transaction_id, $invoice_id );
759
+    return apply_filters('wpinv_paypal_set_transaction_id', $transaction_id, $invoice_id);
760 760
 }
761
-add_filter( 'wpinv_payment_get_transaction_id-paypal', 'wpinv_paypal_get_transaction_id', 10, 1 );
761
+add_filter('wpinv_payment_get_transaction_id-paypal', 'wpinv_paypal_get_transaction_id', 10, 1);
762 762
 
763
-function wpinv_paypal_link_transaction_id( $transaction_id, $invoice_id, $invoice ) {
764
-    if ( $transaction_id == $invoice_id ) {
763
+function wpinv_paypal_link_transaction_id($transaction_id, $invoice_id, $invoice) {
764
+    if ($transaction_id == $invoice_id) {
765 765
         $transaction_link = $transaction_id;
766 766
     } else {
767
-        if ( ! empty( $invoice ) && ! empty( $invoice->mode ) ) {
767
+        if (!empty($invoice) && !empty($invoice->mode)) {
768 768
             $mode = $invoice->mode;
769 769
         } else {
770
-            $mode = wpinv_is_test_mode( 'paypal' ) ? 'test' : 'live';
770
+            $mode = wpinv_is_test_mode('paypal') ? 'test' : 'live';
771 771
         }
772 772
 
773 773
         $sandbox = $mode == 'test' ? '.sandbox' : '';
774 774
         $transaction_url = 'https://www' . $sandbox . '.paypal.com/webscr?cmd=_history-details-from-hub&id=' . $transaction_id;
775 775
 
776
-        $transaction_link = '<a href="' . esc_url( $transaction_url ) . '" target="_blank">' . $transaction_id . '</a>';
776
+        $transaction_link = '<a href="' . esc_url($transaction_url) . '" target="_blank">' . $transaction_id . '</a>';
777 777
     }
778 778
 
779
-    return apply_filters( 'wpinv_paypal_link_payment_details_transaction_id', $transaction_link, $transaction_id, $invoice );
779
+    return apply_filters('wpinv_paypal_link_payment_details_transaction_id', $transaction_link, $transaction_id, $invoice);
780 780
 }
781
-add_filter( 'wpinv_payment_details_transaction_id-paypal', 'wpinv_paypal_link_transaction_id', 10, 3 );
781
+add_filter('wpinv_payment_details_transaction_id-paypal', 'wpinv_paypal_link_transaction_id', 10, 3);
782 782
 
783
-function wpinv_paypal_profile_id_link( $profile_id, $subscription ) {
783
+function wpinv_paypal_profile_id_link($profile_id, $subscription) {
784 784
     $link = $profile_id;
785 785
 
786
-    if ( ! empty( $profile_id ) && ! empty( $subscription ) && ( $invoice_id = $subscription->get_original_payment_id() ) ) {
787
-        $invoice = wpinv_get_invoice( $invoice_id );
786
+    if (!empty($profile_id) && !empty($subscription) && ($invoice_id = $subscription->get_original_payment_id())) {
787
+        $invoice = wpinv_get_invoice($invoice_id);
788 788
 
789
-        if ( ! empty( $invoice ) && ! empty( $invoice->mode ) ) {
789
+        if (!empty($invoice) && !empty($invoice->mode)) {
790 790
             $mode = $invoice->mode;
791 791
         } else {
792
-            $mode = wpinv_is_test_mode( 'paypal' ) ? 'test' : 'live';
792
+            $mode = wpinv_is_test_mode('paypal') ? 'test' : 'live';
793 793
         }
794 794
 
795 795
         $sandbox = $mode == 'test' ? '.sandbox' : '';
796 796
         $url = 'https://www' . $sandbox . '.paypal.com/cgi-bin/webscr?cmd=_profile-recurring-payments&encrypted_profile_id=' . $profile_id;
797 797
 
798
-        $link = '<a href="' . esc_url( $url ) . '" target="_blank">' . $profile_id . '</a>';
798
+        $link = '<a href="' . esc_url($url) . '" target="_blank">' . $profile_id . '</a>';
799 799
     }
800 800
     
801
-    return apply_filters( 'wpinv_paypal_profile_id_link', $link, $profile_id, $subscription );
801
+    return apply_filters('wpinv_paypal_profile_id_link', $link, $profile_id, $subscription);
802 802
 }
803
-add_filter( 'wpinv_subscription_profile_link_paypal', 'wpinv_paypal_profile_id_link', 10, 2 );
803
+add_filter('wpinv_subscription_profile_link_paypal', 'wpinv_paypal_profile_id_link', 10, 2);
804 804
 
805
-function wpinv_paypal_transaction_id_link( $transaction_id, $subscription ) {
806
-    if ( ! empty( $transaction_id ) && ! empty( $subscription ) && ( $invoice_id = $subscription->get_original_payment_id() ) ) {
807
-        $invoice = wpinv_get_invoice( $invoice_id );
805
+function wpinv_paypal_transaction_id_link($transaction_id, $subscription) {
806
+    if (!empty($transaction_id) && !empty($subscription) && ($invoice_id = $subscription->get_original_payment_id())) {
807
+        $invoice = wpinv_get_invoice($invoice_id);
808 808
 
809
-        if ( ! empty( $invoice ) ) {
810
-            return wpinv_paypal_link_transaction_id( $transaction_id, $invoice_id, $invoice );
809
+        if (!empty($invoice)) {
810
+            return wpinv_paypal_link_transaction_id($transaction_id, $invoice_id, $invoice);
811 811
         }        
812 812
     }
813 813
     
814 814
     return $transaction_id;
815 815
 }
816
-add_filter( 'wpinv_subscription_transaction_link_paypal', 'wpinv_paypal_transaction_id_link', 10, 2 );
816
+add_filter('wpinv_subscription_transaction_link_paypal', 'wpinv_paypal_transaction_id_link', 10, 2);
817 817
 
818 818
 function wpinv_is_paypal_valid_for_use() {
819
-    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' ) ) );
819
+    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')));
820 820
 }
821 821
 
822
-function wpinv_check_paypal_currency_support( $gateway_list ) {
823
-    if ( isset( $gateway_list['paypal'] ) && ! wpinv_is_paypal_valid_for_use() ) {
824
-        unset( $gateway_list['paypal'] );
822
+function wpinv_check_paypal_currency_support($gateway_list) {
823
+    if (isset($gateway_list['paypal']) && !wpinv_is_paypal_valid_for_use()) {
824
+        unset($gateway_list['paypal']);
825 825
     }
826 826
     return $gateway_list;
827 827
 }
828
-add_filter( 'wpinv_enabled_payment_gateways', 'wpinv_check_paypal_currency_support', 10, 1 );
828
+add_filter('wpinv_enabled_payment_gateways', 'wpinv_check_paypal_currency_support', 10, 1);
829 829
 
830
-function wpinv_gateway_paypal_button_label( $label ) {
831
-    return __( 'Proceed to PayPal', 'invoicing' );
830
+function wpinv_gateway_paypal_button_label($label) {
831
+    return __('Proceed to PayPal', 'invoicing');
832 832
 }
833
-add_filter( 'wpinv_gateway_paypal_button_label', 'wpinv_gateway_paypal_button_label', 10, 1 );
834 833
\ No newline at end of file
834
+add_filter('wpinv_gateway_paypal_button_label', 'wpinv_gateway_paypal_button_label', 10, 1);
835 835
\ No newline at end of file
Please login to merge, or discard this patch.
includes/api/class-wpinv-rest-invoice-controller.php 1 patch
Spacing   +325 added lines, -325 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
  * @since    1.0.13
9 9
  */
10 10
 
11
-if ( !defined( 'WPINC' ) ) {
11
+if (!defined('WPINC')) {
12 12
     exit;
13 13
 }
14 14
 
@@ -41,7 +41,7 @@  discard block
 block discarded – undo
41 41
 	 *
42 42
 	 * @param string $namespace Api Namespace
43 43
 	 */
44
-	public function __construct( $namespace ) {
44
+	public function __construct($namespace) {
45 45
         
46 46
         // Set api namespace...
47 47
 		$this->namespace = $namespace;
@@ -60,16 +60,16 @@  discard block
 block discarded – undo
60 60
 	 * @param WP_REST_Request $request Full details about the request.
61 61
 	 * @return true|WP_Error True if the request has read access, WP_Error object otherwise.
62 62
 	 */
63
-	public function get_items_permissions_check( $request ) {
63
+	public function get_items_permissions_check($request) {
64 64
 	
65
-        $post_type = get_post_type_object( $this->post_type );
65
+        $post_type = get_post_type_object($this->post_type);
66 66
 
67
-		if ( 'edit' === $request['context'] && ! current_user_can( $post_type->cap->edit_posts ) ) {
68
-			return new WP_Error( 'rest_forbidden_context', __( 'Sorry, you are not allowed to edit items.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
67
+		if ('edit' === $request['context'] && !current_user_can($post_type->cap->edit_posts)) {
68
+			return new WP_Error('rest_forbidden_context', __('Sorry, you are not allowed to edit items.', 'invoicing'), array('status' => rest_authorization_required_code()));
69 69
 		}
70 70
 
71
-		if ( ! is_user_logged_in() ) {
72
-			return new WP_Error( 'rest_forbidden', __( 'Sorry, you must be logged in to view items.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
71
+		if (!is_user_logged_in()) {
72
+			return new WP_Error('rest_forbidden', __('Sorry, you must be logged in to view items.', 'invoicing'), array('status' => rest_authorization_required_code()));
73 73
 		}
74 74
 
75 75
 		// Read checks will be evaluated on a per invoice basis
@@ -86,33 +86,33 @@  discard block
 block discarded – undo
86 86
 	 * @param WP_REST_Request $request Full details about the request.
87 87
 	 * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
88 88
 	 */
89
-	public function get_items( $request ) {
89
+	public function get_items($request) {
90 90
 		
91 91
 		// Retrieve request query parameters.
92
-		$args          = $this->get_request_collection_params( $request );
92
+		$args          = $this->get_request_collection_params($request);
93 93
 		
94 94
 		// WP_Query Args.
95
-		$wp_query_args = $this->get_collection_wp_query_params( $args, $request );
95
+		$wp_query_args = $this->get_collection_wp_query_params($args, $request);
96 96
 		
97 97
 		// Get invoice ids...
98
-		$query         = new WP_Query( $wp_query_args );
98
+		$query         = new WP_Query($wp_query_args);
99 99
 
100 100
 		// ... and map them into invoice objects.
101
-		$_invoices     = array_map( array( $this, 'get_post' ), $query->posts );
101
+		$_invoices     = array_map(array($this, 'get_post'), $query->posts);
102 102
 
103 103
 		// Prepare the retrieved invoices
104 104
 		$invoices      = array();
105 105
 
106
-		foreach( $_invoices as $invoice ) {
107
-			if ( $this->check_read_permission( $invoice ) ) {
108
-				$invoices[] = $this->prepare_response_for_collection( $this->prepare_item_for_response( $invoice, $request ) );
106
+		foreach ($_invoices as $invoice) {
107
+			if ($this->check_read_permission($invoice)) {
108
+				$invoices[] = $this->prepare_response_for_collection($this->prepare_item_for_response($invoice, $request));
109 109
 			}
110 110
 		}
111 111
 
112 112
 		// Prepare the response.
113
-		$response = rest_ensure_response( $invoices );
114
-		$response->header( 'X-WP-Total', (int) $query->found_posts );
115
-		$response->header( 'X-WP-TotalPages', (int) $query->max_num_pages );
113
+		$response = rest_ensure_response($invoices);
114
+		$response->header('X-WP-Total', (int) $query->found_posts);
115
+		$response->header('X-WP-TotalPages', (int) $query->max_num_pages);
116 116
 
117 117
 		/**
118 118
 		 * Filters the responses for invoices requests.
@@ -125,9 +125,9 @@  discard block
 block discarded – undo
125 125
 		 * @param WP_REST_Request     $request The request used.
126 126
          * @param array               $args Array of args used to retrieve the invoices
127 127
 		 */
128
-        $response       = apply_filters( "wpinv_rest_invoices_response", $response, $request, $args );
128
+        $response = apply_filters("wpinv_rest_invoices_response", $response, $request, $args);
129 129
 
130
-        return rest_ensure_response( $response );
130
+        return rest_ensure_response($response);
131 131
         
132 132
     }
133 133
 
@@ -139,17 +139,17 @@  discard block
 block discarded – undo
139 139
 	 * @param int $invoice_id Supplied ID.
140 140
 	 * @return WPInv_Invoice|WP_Error Invoice object if ID is valid, WP_Error otherwise.
141 141
 	 */
142
-	protected function get_post( $invoice_id ) {
142
+	protected function get_post($invoice_id) {
143 143
 		
144
-		$error     = new WP_Error( 'rest_invoice_invalid_id', __( 'Invalid item ID.', 'invoicing' ), array( 'status' => 404 ) );
144
+		$error = new WP_Error('rest_invoice_invalid_id', __('Invalid item ID.', 'invoicing'), array('status' => 404));
145 145
 
146 146
         // Ids start from 1
147
-        if ( (int) $invoice_id <= 0 ) {
147
+        if ((int) $invoice_id <= 0) {
148 148
 			return $error;
149 149
 		}
150 150
 
151
-		$invoice = wpinv_get_invoice( (int) $invoice_id );
152
-		if ( empty( $invoice ) || $this->post_type !== $invoice->post_type ) {
151
+		$invoice = wpinv_get_invoice((int) $invoice_id);
152
+		if (empty($invoice) || $this->post_type !== $invoice->post_type) {
153 153
 			return $error;
154 154
         }
155 155
 
@@ -165,18 +165,18 @@  discard block
 block discarded – undo
165 165
 	 * @param WP_REST_Request $request Full details about the request.
166 166
 	 * @return bool|WP_Error True if the request has read access for the invoice, WP_Error object otherwise.
167 167
 	 */
168
-	public function get_item_permissions_check( $request ) {
168
+	public function get_item_permissions_check($request) {
169 169
 
170 170
         // Retrieve the invoice object.
171
-        $invoice = $this->get_post( $request['id'] );
171
+        $invoice = $this->get_post($request['id']);
172 172
         
173 173
         // Ensure it is valid.
174
-		if ( is_wp_error( $invoice ) ) {
174
+		if (is_wp_error($invoice)) {
175 175
 			return $invoice;
176 176
 		}
177 177
 
178
-		if ( $invoice ) {
179
-			return $this->check_read_permission( $invoice );
178
+		if ($invoice) {
179
+			return $this->check_read_permission($invoice);
180 180
 		}
181 181
 
182 182
 		return true;
@@ -193,8 +193,8 @@  discard block
 block discarded – undo
193 193
 	 * @param WPInv_Invoice $invoice WPInv_Invoice object.
194 194
 	 * @return bool Whether the post can be read.
195 195
 	 */
196
-	public function check_read_permission( $invoice ) {
197
-		return wpinv_user_can_view_invoice( $invoice->ID );
196
+	public function check_read_permission($invoice) {
197
+		return wpinv_user_can_view_invoice($invoice->ID);
198 198
     }
199 199
     
200 200
     /**
@@ -205,19 +205,19 @@  discard block
 block discarded – undo
205 205
 	 * @param WP_REST_Request $request Full details about the request.
206 206
 	 * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
207 207
 	 */
208
-	public function get_item( $request ) {
208
+	public function get_item($request) {
209 209
 
210 210
         // Fetch the invoice.
211
-        $invoice = $this->get_post( $request['id'] );
211
+        $invoice = $this->get_post($request['id']);
212 212
         
213 213
         // Abort early if it does not exist
214
-		if ( is_wp_error( $invoice ) ) {
214
+		if (is_wp_error($invoice)) {
215 215
 			return $invoice;
216 216
 		}
217 217
 
218 218
 		// Prepare the response
219
-		$response = $this->prepare_item_for_response( $invoice, $request );
220
-		$response->link_header( 'alternate', esc_url( $invoice->get_view_url() ), array( 'type' => 'text/html' ) );
219
+		$response = $this->prepare_item_for_response($invoice, $request);
220
+		$response->link_header('alternate', esc_url($invoice->get_view_url()), array('type' => 'text/html'));
221 221
 
222 222
 		/**
223 223
 		 * Filters the responses for single invoice requests.
@@ -229,9 +229,9 @@  discard block
 block discarded – undo
229 229
 		 * @param WP_HTTP_Response $response Response.
230 230
 		 * @param WP_REST_Request  $request The request used.
231 231
 		 */
232
-        $response       = apply_filters( "wpinv_rest_get_invoice_response", $response, $request );
232
+        $response = apply_filters("wpinv_rest_get_invoice_response", $response, $request);
233 233
 
234
-        return rest_ensure_response( $response );
234
+        return rest_ensure_response($response);
235 235
 
236 236
     }
237 237
     
@@ -243,18 +243,18 @@  discard block
 block discarded – undo
243 243
 	 * @param WP_REST_Request $request Full details about the request.
244 244
 	 * @return true|WP_Error True if the request has access to create items, WP_Error object otherwise.
245 245
 	 */
246
-	public function create_item_permissions_check( $request ) {
246
+	public function create_item_permissions_check($request) {
247 247
 	
248
-		if ( ! empty( $request['id'] ) ) {
249
-			return new WP_Error( 'rest_invoice_exists', __( 'Cannot create existing item.', 'invoicing' ), array( 'status' => 400 ) );
248
+		if (!empty($request['id'])) {
249
+			return new WP_Error('rest_invoice_exists', __('Cannot create existing item.', 'invoicing'), array('status' => 400));
250 250
 		}
251 251
 
252
-		$post_type = get_post_type_object( $this->post_type );
252
+		$post_type = get_post_type_object($this->post_type);
253 253
 
254
-		if ( ! current_user_can( $post_type->cap->create_posts ) && ! wpinv_current_user_can_manage_invoicing() ) {
254
+		if (!current_user_can($post_type->cap->create_posts) && !wpinv_current_user_can_manage_invoicing()) {
255 255
 			return new WP_Error( 
256 256
                 'rest_cannot_create',
257
-                __( 'Sorry, you are not allowed to create items as this user.', 'invoicing' ), 
257
+                __('Sorry, you are not allowed to create items as this user.', 'invoicing'), 
258 258
                 array( 
259 259
                     'status' => rest_authorization_required_code(),
260 260
                 )
@@ -272,32 +272,32 @@  discard block
 block discarded – undo
272 272
 	 * @param WP_REST_Request $request Full details about the request.
273 273
 	 * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
274 274
 	 */
275
-	public function create_item( $request ) {
275
+	public function create_item($request) {
276 276
 
277
-		if ( ! empty( $request['id'] ) ) {
278
-			return new WP_Error( 'rest_invoice_exists', __( 'Cannot create existing item.', 'invoicing' ), array( 'status' => 400 ) );
277
+		if (!empty($request['id'])) {
278
+			return new WP_Error('rest_invoice_exists', __('Cannot create existing item.', 'invoicing'), array('status' => 400));
279 279
 		}
280 280
 
281
-		$request->set_param( 'context', 'edit' );
281
+		$request->set_param('context', 'edit');
282 282
 
283 283
 		// Prepare the updated data.
284
-		$invoice_data = $this->prepare_item_for_database( $request );
284
+		$invoice_data = $this->prepare_item_for_database($request);
285 285
 
286
-		if ( is_wp_error( $invoice_data ) ) {
286
+		if (is_wp_error($invoice_data)) {
287 287
 			return $invoice_data;
288 288
 		}
289 289
 
290 290
 		// Try creating the invoice
291 291
 		$invoice_data['post_type']    = $this->post_type;
292
-		$invoice_data['private_note'] = __( 'Created via API.', 'invoicing' );
293
-        $invoice = wpinv_insert_invoice( $invoice_data, true );
292
+		$invoice_data['private_note'] = __('Created via API.', 'invoicing');
293
+        $invoice = wpinv_insert_invoice($invoice_data, true);
294 294
 
295
-		if ( is_wp_error( $invoice ) ) {
295
+		if (is_wp_error($invoice)) {
296 296
             return $invoice;
297 297
 		}
298 298
 
299 299
 		// Prepare the response
300
-		$response = $this->prepare_item_for_response( $invoice, $request );
300
+		$response = $this->prepare_item_for_response($invoice, $request);
301 301
 
302 302
 		/**
303 303
 		 * Fires after a single invoice is created or updated via the REST API.
@@ -308,7 +308,7 @@  discard block
 block discarded – undo
308 308
 		 * @param WP_REST_Request $request  Request object.
309 309
 		 * @param bool            $creating True when creating a post, false when updating.
310 310
 		 */
311
-		do_action( "wpinv_rest_insert_invoice", $invoice, $request, true );
311
+		do_action("wpinv_rest_insert_invoice", $invoice, $request, true);
312 312
 
313 313
 		/**
314 314
 		 * Filters the responses for creating single invoice requests.
@@ -320,9 +320,9 @@  discard block
 block discarded – undo
320 320
 		 * @param array           $invoice_data Invoice properties.
321 321
 		 * @param WP_REST_Request $request The request used.
322 322
 		 */
323
-        $response       = apply_filters( "wpinv_rest_create_invoice_response", $response, $request );
323
+        $response = apply_filters("wpinv_rest_create_invoice_response", $response, $request);
324 324
 
325
-        return rest_ensure_response( $response );
325
+        return rest_ensure_response($response);
326 326
 	}
327 327
 
328 328
 	/**
@@ -333,20 +333,20 @@  discard block
 block discarded – undo
333 333
 	 * @param WP_REST_Request $request Full details about the request.
334 334
 	 * @return true|WP_Error True if the request has access to update the item, WP_Error object otherwise.
335 335
 	 */
336
-	public function update_item_permissions_check( $request ) {
336
+	public function update_item_permissions_check($request) {
337 337
 
338 338
 		// Retrieve the invoice.
339
-		$invoice = $this->get_post( $request['id'] );
340
-		if ( is_wp_error( $invoice ) ) {
339
+		$invoice = $this->get_post($request['id']);
340
+		if (is_wp_error($invoice)) {
341 341
 			return $invoice;
342 342
 		}
343 343
 
344
-		$post_type = get_post_type_object( $this->post_type );
344
+		$post_type = get_post_type_object($this->post_type);
345 345
 
346
-		if ( ! current_user_can(  $post_type->cap->edit_post, $invoice->ID  ) ) {
346
+		if (!current_user_can($post_type->cap->edit_post, $invoice->ID)) {
347 347
 			return new WP_Error( 
348 348
                 'rest_cannot_edit', 
349
-                __( 'Sorry, you are not allowed to update this item.', 'invoicing' ), 
349
+                __('Sorry, you are not allowed to update this item.', 'invoicing'), 
350 350
                 array( 
351 351
                     'status' => rest_authorization_required_code(),
352 352
                 )
@@ -364,46 +364,46 @@  discard block
 block discarded – undo
364 364
 	 * @param WP_REST_Request $request Full details about the request.
365 365
 	 * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
366 366
 	 */
367
-	public function update_item( $request ) {
367
+	public function update_item($request) {
368 368
 		
369 369
 		// Ensure the invoice exists.
370
-        $valid_check = $this->get_post( $request['id'] );
370
+        $valid_check = $this->get_post($request['id']);
371 371
         
372 372
         // Abort early if it does not exist
373
-		if ( is_wp_error( $valid_check ) ) {
373
+		if (is_wp_error($valid_check)) {
374 374
 			return $valid_check;
375 375
 		}
376 376
 
377
-		$request->set_param( 'context', 'edit' );
377
+		$request->set_param('context', 'edit');
378 378
 
379 379
 		// Prepare the updated data.
380
-		$data_to_update = $this->prepare_item_for_database( $request );
380
+		$data_to_update = $this->prepare_item_for_database($request);
381 381
 
382
-		if ( is_wp_error( $data_to_update ) ) {
382
+		if (is_wp_error($data_to_update)) {
383 383
 			return $data_to_update;
384 384
 		}
385 385
 
386 386
 		// Abort if no invoice data is provided
387
-        if( empty( $data_to_update ) ) {
388
-            return new WP_Error( 'missing_data', __( 'An update request cannot be empty.', 'invoicing' ) );
387
+        if (empty($data_to_update)) {
388
+            return new WP_Error('missing_data', __('An update request cannot be empty.', 'invoicing'));
389 389
         }
390 390
 
391 391
 		// Include the invoice ID
392 392
 		$data_to_update['ID'] = $request['id'];
393 393
 
394 394
 		// Update the invoice
395
-		$updated_invoice = wpinv_update_invoice( $data_to_update, true );
395
+		$updated_invoice = wpinv_update_invoice($data_to_update, true);
396 396
 
397 397
 		// Incase the update operation failed...
398
-		if ( is_wp_error( $updated_invoice ) ) {
398
+		if (is_wp_error($updated_invoice)) {
399 399
 			return $updated_invoice;
400 400
 		}
401 401
 
402 402
 		// Prepare the response
403
-		$response = $this->prepare_item_for_response( $updated_invoice, $request );
403
+		$response = $this->prepare_item_for_response($updated_invoice, $request);
404 404
 
405 405
 		/** This action is documented in includes/class-wpinv-rest-invoice-controller.php */
406
-		do_action( "wpinv_rest_insert_invoice", $updated_invoice, $request, false );
406
+		do_action("wpinv_rest_insert_invoice", $updated_invoice, $request, false);
407 407
 
408 408
 		/**
409 409
 		 * Filters the responses for updating single invoice requests.
@@ -415,9 +415,9 @@  discard block
 block discarded – undo
415 415
 		 * @param array           $invoice_data Invoice properties.
416 416
 		 * @param WP_REST_Request $request The request used.
417 417
 		 */
418
-        $response       = apply_filters( "wpinv_rest_update_invoice_response", $response, $request );
418
+        $response = apply_filters("wpinv_rest_update_invoice_response", $response, $request);
419 419
 
420
-        return rest_ensure_response( $response );
420
+        return rest_ensure_response($response);
421 421
 	}
422 422
 
423 423
 	/**
@@ -428,22 +428,22 @@  discard block
 block discarded – undo
428 428
 	 * @param WP_REST_Request $request Full details about the request.
429 429
 	 * @return true|WP_Error True if the request has access to delete the invoice, WP_Error object otherwise.
430 430
 	 */
431
-	public function delete_item_permissions_check( $request ) {
431
+	public function delete_item_permissions_check($request) {
432 432
 
433 433
 		// Retrieve the invoice.
434
-		$invoice = $this->get_post( $request['id'] );
435
-		if ( is_wp_error( $invoice ) ) {
434
+		$invoice = $this->get_post($request['id']);
435
+		if (is_wp_error($invoice)) {
436 436
 			return $invoice;
437 437
 		}
438 438
 
439 439
 		// Ensure the current user can delete invoices
440
-		if ( wpinv_current_user_can_manage_invoicing() ||  current_user_can( 'delete_invoices', $request['id'] ) ) {
440
+		if (wpinv_current_user_can_manage_invoicing() || current_user_can('delete_invoices', $request['id'])) {
441 441
 			return true;
442 442
 		}
443 443
 
444 444
 		return new WP_Error( 
445 445
 			'rest_cannot_delete', 
446
-			__( 'Sorry, you are not allowed to delete this item.', 'invoicing' ), 
446
+			__('Sorry, you are not allowed to delete this item.', 'invoicing'), 
447 447
 			array( 
448 448
 				'status' => rest_authorization_required_code(),
449 449
 			)
@@ -458,31 +458,31 @@  discard block
 block discarded – undo
458 458
 	 * @param WP_REST_Request $request Full details about the request.
459 459
 	 * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
460 460
 	 */
461
-	public function delete_item( $request ) {
461
+	public function delete_item($request) {
462 462
 		
463 463
 		// Retrieve the invoice.
464
-		$invoice = $this->get_post( $request['id'] );
465
-		if ( is_wp_error( $invoice ) ) {
464
+		$invoice = $this->get_post($request['id']);
465
+		if (is_wp_error($invoice)) {
466 466
 			return $invoice;
467 467
 		}
468 468
 
469
-		$request->set_param( 'context', 'edit' );
469
+		$request->set_param('context', 'edit');
470 470
 
471 471
 		// Prepare the invoice id
472
-		$id    = $invoice->ID;
472
+		$id = $invoice->ID;
473 473
 
474 474
 		// Prepare the response
475
-		$response = $this->prepare_item_for_response( $invoice, $request );
475
+		$response = $this->prepare_item_for_response($invoice, $request);
476 476
 
477 477
 		// Check if the user wants to bypass the trash...
478 478
 		$force_delete = (bool) $request['force'];
479 479
 
480 480
 		// Try deleting the invoice.
481
-		$deleted = wp_delete_post( $id, $force_delete );
481
+		$deleted = wp_delete_post($id, $force_delete);
482 482
 
483 483
 		// Abort early if we can't delete the invoice.
484
-		if ( ! $deleted ) {
485
-			return new WP_Error( 'rest_cannot_delete', __( 'The item cannot be deleted.', 'invoicing' ), array( 'status' => 500 ) );
484
+		if (!$deleted) {
485
+			return new WP_Error('rest_cannot_delete', __('The item cannot be deleted.', 'invoicing'), array('status' => 500));
486 486
 		}
487 487
 
488 488
 		/**
@@ -494,7 +494,7 @@  discard block
 block discarded – undo
494 494
 		 * @param WPInv_Invoice    $invoice  The deleted or trashed invoice.
495 495
 		 * @param WP_REST_Request  $request  The request sent to the API.
496 496
 		 */
497
-		do_action( "wpinv_rest_delete_invoice", $invoice, $request );
497
+		do_action("wpinv_rest_delete_invoice", $invoice, $request);
498 498
 
499 499
 		return $response;
500 500
 
@@ -510,29 +510,29 @@  discard block
 block discarded – undo
510 510
 	 */
511 511
 	public function get_collection_params() {
512 512
         
513
-        $query_params               = array(
513
+        $query_params = array(
514 514
 
515 515
             // item status.
516 516
             'status'                => array(
517 517
                 'default'           => $this->get_post_statuses(),
518
-                'description'       => __( 'Limit result set to items assigned one or more statuses.', 'invoicing' ),
518
+                'description'       => __('Limit result set to items assigned one or more statuses.', 'invoicing'),
519 519
                 'type'              => 'array',
520 520
                 'items'             => array(
521 521
                     'enum'          => $this->get_post_statuses(),
522 522
                     'type'          => 'string',
523 523
                 ),
524
-                'sanitize_callback' => array( $this, 'sanitize_post_statuses' ),
524
+                'sanitize_callback' => array($this, 'sanitize_post_statuses'),
525 525
             ),
526 526
 
527 527
             // User.
528 528
             'user'                  => array(
529
-				'description'       => __( 'Limit result set to items for a specif user. Accepts a user ID, or comma-separated list of IDs', 'invoicing' ),
529
+				'description'       => __('Limit result set to items for a specif user. Accepts a user ID, or comma-separated list of IDs', 'invoicing'),
530 530
 				'type'              => 'string',
531 531
 			),
532 532
 
533 533
 			// Exclude certain users
534 534
             'exclude_users'  	    => array(
535
-                'description' 		=> __( 'Exclude items from specific users.', 'invoicing' ),
535
+                'description' 		=> __('Exclude items from specific users.', 'invoicing'),
536 536
                 'type'        		=> 'array',
537 537
                 'items'       		=> array(
538 538
                     'type' => 'integer',
@@ -542,62 +542,62 @@  discard block
 block discarded – undo
542 542
 			
543 543
 			// Items before.
544 544
             'before_date'           => array(
545
-				'description'       => __( 'Limit result set to items created before a specific date. Accepts strtotime()-compatible string.', 'invoicing' ),
545
+				'description'       => __('Limit result set to items created before a specific date. Accepts strtotime()-compatible string.', 'invoicing'),
546 546
 				'type'              => 'string',
547 547
 			),
548 548
 
549 549
             'meta_key'           => array(
550
-				'description'       => __( 'Filter items by custom field key.', 'invoicing' ),
550
+				'description'       => __('Filter items by custom field key.', 'invoicing'),
551 551
 				'type'              => 'string',
552 552
 			),
553 553
 
554 554
             'meta_compare_key'           => array(
555
-				'description'       => __( 'Comparison operator to test the `meta_key`.', 'invoicing' ),
555
+				'description'       => __('Comparison operator to test the `meta_key`.', 'invoicing'),
556 556
 				'type'              => 'string',
557 557
 				'default'              => '=',
558
-				'enum'        		=> array_map( 'trim', explode( ',', '=, !=, >, >=, <, <=, LIKE NOT, LIKE, IN, NOT IN, BETWEEN, NOT BETWEEN, NOT EXISTS, REGEXP, NOT REGEXP, RLIKE' ) ),
558
+				'enum'        		=> array_map('trim', explode(',', '=, !=, >, >=, <, <=, LIKE NOT, LIKE, IN, NOT IN, BETWEEN, NOT BETWEEN, NOT EXISTS, REGEXP, NOT REGEXP, RLIKE')),
559 559
 			),
560 560
 
561 561
             'meta_value'           => array(
562
-				'description'       => __( 'Filter items by custom field value.', 'invoicing' ),
562
+				'description'       => __('Filter items by custom field value.', 'invoicing'),
563 563
 				'type'              => 'string',
564 564
 			),
565 565
 
566 566
             'meta_compare'           => array(
567
-				'description'       => __( 'Comparison operator to test the `meta_value`.', 'invoicing' ),
567
+				'description'       => __('Comparison operator to test the `meta_value`.', 'invoicing'),
568 568
 				'type'              => 'string',
569 569
 				'default'              => '=',
570
-				'enum'        		=> array_map( 'trim', explode( ',', '=, !=, >, >=, <, <=, LIKE NOT, LIKE, IN, NOT IN, BETWEEN, NOT BETWEEN, NOT EXISTS, REGEXP, NOT REGEXP, RLIKE' ) ),
570
+				'enum'        		=> array_map('trim', explode(',', '=, !=, >, >=, <, <=, LIKE NOT, LIKE, IN, NOT IN, BETWEEN, NOT BETWEEN, NOT EXISTS, REGEXP, NOT REGEXP, RLIKE')),
571 571
 			),
572 572
 
573 573
 			'meta_value_num'           => array(
574
-				'description'       => __( 'Filter items by a numeric custom field value.', 'invoicing' ),
574
+				'description'       => __('Filter items by a numeric custom field value.', 'invoicing'),
575 575
 				'type'              => 'integer',
576 576
 			),
577 577
 
578 578
 			// items after.
579 579
             'after_date'            => array(
580
-				'description'       => __( 'Limit result set to items created after a specific date. Accepts strtotime()-compatible string.', 'invoicing' ),
580
+				'description'       => __('Limit result set to items created after a specific date. Accepts strtotime()-compatible string.', 'invoicing'),
581 581
 				'type'              => 'string',
582 582
             ),
583 583
             
584 584
             // Number of results per page
585 585
             'limit'                 => array(
586
-				'description'       => __( 'Number of items to fetch.', 'invoicing' ),
586
+				'description'       => __('Number of items to fetch.', 'invoicing'),
587 587
 				'type'              => 'integer',
588
-				'default'           => (int) get_option( 'posts_per_page' ),
588
+				'default'           => (int) get_option('posts_per_page'),
589 589
             ),
590 590
 
591 591
             // Pagination
592 592
             'page'     => array(
593
-				'description'       => __( 'Current page to fetch.', 'invoicing' ),
593
+				'description'       => __('Current page to fetch.', 'invoicing'),
594 594
 				'type'              => 'integer',
595 595
 				'default'           => 1,
596 596
             ),
597 597
 
598 598
             // limit to certain items
599 599
             'include'  => array(
600
-                'description' => __( 'Limit result set to specific IDs.', 'invoicing' ),
600
+                'description' => __('Limit result set to specific IDs.', 'invoicing'),
601 601
                 'type'        => 'array',
602 602
                 'items'       => array(
603 603
                     'type' => 'integer',
@@ -607,7 +607,7 @@  discard block
 block discarded – undo
607 607
 			
608 608
 			// Exclude certain items
609 609
             'exclude'  => array(
610
-                'description' => __( 'Ensure result set excludes specific IDs.', 'invoicing' ),
610
+                'description' => __('Ensure result set excludes specific IDs.', 'invoicing'),
611 611
                 'type'        => 'array',
612 612
                 'items'       => array(
613 613
                     'type' => 'integer',
@@ -617,7 +617,7 @@  discard block
 block discarded – undo
617 617
 
618 618
             // Order items by
619 619
             'orderby'  		  => array(
620
-                'description' => __( 'Sort retrieved items by parameter.', 'invoicing' ),
620
+                'description' => __('Sort retrieved items by parameter.', 'invoicing'),
621 621
                 'type'        => 'string',
622 622
                 'default'     => 'date',
623 623
                 'enum'        => array(
@@ -632,10 +632,10 @@  discard block
 block discarded – undo
632 632
 
633 633
             // How to order
634 634
             'order'    => array(
635
-                'description' => __( 'Designates ascending or descending order of ítems.', 'invoicing' ),
635
+                'description' => __('Designates ascending or descending order of ítems.', 'invoicing'),
636 636
                 'type'        => 'string',
637 637
                 'default'     => 'DESC',
638
-                'enum'        => array( 'ASC', 'DESC' ),
638
+                'enum'        => array('ASC', 'DESC'),
639 639
             ),
640 640
         );
641 641
 
@@ -647,7 +647,7 @@  discard block
 block discarded – undo
647 647
 		 *
648 648
 		 * @param array        $query_params JSON Schema-formatted collection parameters.
649 649
 		 */
650
-		return apply_filters( "wpinv_rest_invoices_collection_params", $query_params );
650
+		return apply_filters("wpinv_rest_invoices_collection_params", $query_params);
651 651
 	}
652 652
 	
653 653
 	/**
@@ -657,7 +657,7 @@  discard block
 block discarded – undo
657 657
 	 * @param WP_REST_Request $request Full details about the request.
658 658
 	 * @return array Request collection parameters.
659 659
 	 */
660
-	public function get_request_collection_params( $request ) {
660
+	public function get_request_collection_params($request) {
661 661
 		
662 662
 		// Retrieve the list of registered invoice query parameters.
663 663
 		$registered = $this->get_collection_params();
@@ -674,7 +674,7 @@  discard block
 block discarded – undo
674 674
             'meta_compare'          => '=',
675 675
 			'meta_value_num'        => null,
676 676
             'after_date'            => null,
677
-            'limit'                 => (int) get_option( 'posts_per_page' ),
677
+            'limit'                 => (int) get_option('posts_per_page'),
678 678
 			'page'     				=> 1,
679 679
 			'include'				=> array(),
680 680
             'exclude'  				=> array(),
@@ -683,9 +683,9 @@  discard block
 block discarded – undo
683 683
 		);
684 684
 
685 685
 		// Add any params from the requests.
686
-		foreach ( array_keys( $registered ) as $key ) {
687
-            if ( isset( $request[ $key] ) ) {
688
-                $args[ $key ] = $request[ $key];
686
+		foreach (array_keys($registered) as $key) {
687
+            if (isset($request[$key])) {
688
+                $args[$key] = $request[$key];
689 689
             }
690 690
         }
691 691
 		
@@ -698,7 +698,7 @@  discard block
 block discarded – undo
698 698
 		 * @param array           $args    Request query args.
699 699
 		 * @param WP_REST_Request $request Full details about the request.
700 700
 		 */
701
-		return apply_filters( "wpinv_rest_invoices_collection_request_params", $args, $request );
701
+		return apply_filters("wpinv_rest_invoices_collection_request_params", $args, $request);
702 702
 	}
703 703
 	
704 704
 	/**
@@ -709,7 +709,7 @@  discard block
 block discarded – undo
709 709
 	 * @param WP_REST_Request $request Full details about the request.
710 710
 	 * @return array WP_Query parameters.
711 711
 	 */
712
-	public function get_collection_wp_query_params( $args, $request ) {
712
+	public function get_collection_wp_query_params($args, $request) {
713 713
 		
714 714
 		// Prepare the parameters.
715 715
 		$wp_query_args = array(
@@ -726,35 +726,35 @@  discard block
 block discarded – undo
726 726
 			'meta_value_num'   => $args['meta_value_num'],
727 727
 			'post__in'         => $args['include'],
728 728
 			'post__in'         => $args['exclude'],
729
-			'date_query'       => array( array() ),
729
+			'date_query'       => array(array()),
730 730
 			'fields'           => 'ids',
731 731
 			'orderby'          => $args['orderby'],
732 732
 			'order'            => $args['order'],
733 733
 		);
734 734
 
735 735
 		// Only admins can view other user's invoices.
736
-		if ( ! wpinv_current_user_can_manage_invoicing() ) {
736
+		if (!wpinv_current_user_can_manage_invoicing()) {
737 737
 			$wp_query_args['author'] = get_current_user_id();
738 738
 		}
739 739
 
740 740
 		// No date specific params provided.
741
-		if ( empty( $args['before_date'] ) && empty( $args['after_date'] ) ) {
742
-			unset( $wp_query_args['date_query'] );
741
+		if (empty($args['before_date']) && empty($args['after_date'])) {
742
+			unset($wp_query_args['date_query']);
743 743
 		}
744 744
 
745
-		if ( ! empty( $args['before_date'] ) ) {
745
+		if (!empty($args['before_date'])) {
746 746
 			$wp_query_args['date_query'][0]['before'] = $args['before_date'];
747 747
 		}
748 748
 
749
-		if ( ! empty( $args['after_date'] ) ) {
749
+		if (!empty($args['after_date'])) {
750 750
 			$wp_query_args['date_query'][0]['after'] = $args['after_date'];
751 751
 		}
752 752
 
753 753
 		// Remove empty variables.
754
-		$wp_query_args = array_filter( $wp_query_args );
754
+		$wp_query_args = array_filter($wp_query_args);
755 755
 
756 756
 		// This can be zero.
757
-		if ( ! is_null( $args['meta_value_num'] ) ) {
757
+		if (!is_null($args['meta_value_num'])) {
758 758
 			$wp_query_args['meta_value_num'] = $args['meta_value_num'];
759 759
 		}
760 760
 		
@@ -768,7 +768,7 @@  discard block
 block discarded – undo
768 768
 		 * @param array           $wp_query_args Generated WP_Query args args.
769 769
 		 * @param WP_REST_Request $request       Full details about the request.
770 770
 		 */
771
-		return apply_filters( "wpinv_rest_invoices_collection_wp_query_params", $wp_query_args, $args, $request );
771
+		return apply_filters("wpinv_rest_invoices_collection_wp_query_params", $wp_query_args, $args, $request);
772 772
     }
773 773
     
774 774
     /**
@@ -779,7 +779,7 @@  discard block
 block discarded – undo
779 779
 	 * @param object|string $post_type Post type name or object.
780 780
 	 * @return bool Whether the post type is allowed in REST.
781 781
 	 */
782
-	protected function check_is_post_type_allowed( $post_type ) {
782
+	protected function check_is_post_type_allowed($post_type) {
783 783
 		return true;
784 784
 	}
785 785
 
@@ -791,49 +791,49 @@  discard block
 block discarded – undo
791 791
 	 * @param WP_REST_Request $request Request object.
792 792
 	 * @return array|WP_Error Invoice Properties or WP_Error.
793 793
 	 */
794
-	protected function prepare_item_for_database( $request ) {
794
+	protected function prepare_item_for_database($request) {
795 795
 		$prepared_invoice = new stdClass();
796 796
 
797 797
 		// Post ID.
798
-		if ( isset( $request['id'] ) ) {
799
-			$existing_invoice = $this->get_post( $request['id'] );
800
-			if ( is_wp_error( $existing_invoice ) ) {
798
+		if (isset($request['id'])) {
799
+			$existing_invoice = $this->get_post($request['id']);
800
+			if (is_wp_error($existing_invoice)) {
801 801
 				return $existing_invoice;
802 802
 			}
803 803
 
804
-			$prepared_invoice->ID 		  = $existing_invoice->ID;
804
+			$prepared_invoice->ID = $existing_invoice->ID;
805 805
 			$prepared_invoice->invoice_id = $existing_invoice->ID;
806 806
 		}
807 807
 
808 808
 		$schema = $this->get_item_schema();
809 809
 
810 810
 		// Invoice owner.
811
-		if ( ! empty( $schema['properties']['user_id'] ) && isset( $request['user_id'] ) ) {
811
+		if (!empty($schema['properties']['user_id']) && isset($request['user_id'])) {
812 812
 			$prepared_invoice->user_id = (int) $request['user_id'];
813 813
 		}
814 814
 
815 815
 		// Cart details.
816
-		if ( ! empty( $schema['properties']['cart_details'] ) && isset( $request['cart_details'] ) ) {
816
+		if (!empty($schema['properties']['cart_details']) && isset($request['cart_details'])) {
817 817
 			$prepared_invoice->cart_details = (array) $request['cart_details'];
818 818
 		}
819 819
 
820 820
 		// Invoice status.
821
-		if ( ! empty( $schema['properties']['status'] ) && isset( $request['status'] ) ) {
821
+		if (!empty($schema['properties']['status']) && isset($request['status'])) {
822 822
 
823
-			if ( in_array( $request['status'], $this->get_post_statuses(), true ) ) {
823
+			if (in_array($request['status'], $this->get_post_statuses(), true)) {
824 824
 				$prepared_invoice->status = $request['status'];
825 825
 			}
826 826
 
827 827
 		}
828 828
 
829 829
 		// User info
830
-		if ( ! empty( $schema['properties']['user_info'] ) && isset( $request['user_info'] ) ) {
830
+		if (!empty($schema['properties']['user_info']) && isset($request['user_info'])) {
831 831
 			$prepared_invoice->user_info = array();
832 832
 			$user_info = (array) $request['user_info'];
833 833
 
834
-			foreach( $user_info as $prop => $value ) {
834
+			foreach ($user_info as $prop => $value) {
835 835
 
836
-				if ( ! empty( $schema['properties']['user_info']['properties'][$prop] ) ) {
836
+				if (!empty($schema['properties']['user_info']['properties'][$prop])) {
837 837
 
838 838
 					$prepared_invoice->user_info[$prop] = $value;
839 839
 		
@@ -844,59 +844,59 @@  discard block
 block discarded – undo
844 844
 		}
845 845
 
846 846
 		// IP
847
-		if ( ! empty( $schema['properties']['ip'] ) && isset( $request['ip'] ) ) {
847
+		if (!empty($schema['properties']['ip']) && isset($request['ip'])) {
848 848
 			$prepared_invoice->ip = $request['ip'];
849 849
 		}
850 850
 
851 851
 		// Payment details
852 852
 		$prepared_invoice->payment_details = array();
853 853
 
854
-		if ( ! empty( $schema['properties']['gateway'] ) && isset( $request['gateway'] ) ) {
854
+		if (!empty($schema['properties']['gateway']) && isset($request['gateway'])) {
855 855
 			$prepared_invoice->payment_details['gateway'] = $request['gateway'];
856 856
 		}
857 857
 
858
-		if ( ! empty( $schema['properties']['gateway_title'] ) && isset( $request['gateway_title'] ) ) {
858
+		if (!empty($schema['properties']['gateway_title']) && isset($request['gateway_title'])) {
859 859
 			$prepared_invoice->payment_details['gateway_title'] = $request['gateway_title'];
860 860
 		}
861 861
 
862
-		if ( ! empty( $schema['properties']['currency'] ) && isset( $request['currency'] ) ) {
862
+		if (!empty($schema['properties']['currency']) && isset($request['currency'])) {
863 863
 			$prepared_invoice->payment_details['currency'] = $request['currency'];
864 864
 		}
865 865
 
866
-		if ( ! empty( $schema['properties']['transaction_id'] ) && isset( $request['transaction_id'] ) ) {
866
+		if (!empty($schema['properties']['transaction_id']) && isset($request['transaction_id'])) {
867 867
 			$prepared_invoice->payment_details['transaction_id'] = $request['transaction_id'];
868 868
 		}
869 869
 
870 870
 		// Dates
871
-		if ( ! empty( $schema['properties']['date'] ) && isset( $request['date'] ) ) {
872
-			$post_date = rest_get_date_with_gmt( $request['date'] );
871
+		if (!empty($schema['properties']['date']) && isset($request['date'])) {
872
+			$post_date = rest_get_date_with_gmt($request['date']);
873 873
 
874
-			if ( ! empty( $post_date ) ) {
874
+			if (!empty($post_date)) {
875 875
 				$prepared_invoice->post_date = $post_date[0];
876 876
 			}
877 877
 			
878 878
 		}
879 879
 
880
-		if ( ! empty( $schema['properties']['due_date'] ) && isset( $request['due_date'] ) ) {
881
-			$due_date = rest_get_date_with_gmt( $request['due_date'] );
880
+		if (!empty($schema['properties']['due_date']) && isset($request['due_date'])) {
881
+			$due_date = rest_get_date_with_gmt($request['due_date']);
882 882
 
883
-			if ( ! empty( $due_date ) ) {
883
+			if (!empty($due_date)) {
884 884
 				$prepared_invoice->due_date = $due_date[0];
885 885
 			}
886 886
 
887 887
 		}
888 888
 
889
-		if ( ! empty( $schema['properties']['valid_until'] ) && isset( $request['valid_until'] ) ) {
889
+		if (!empty($schema['properties']['valid_until']) && isset($request['valid_until'])) {
890 890
 
891
-			if ( ! empty( $request['valid_until'] ) ) {
892
-				$prepared_invoice->valid_until = gmdate( 'Y-m-d', strtotime( $request['valid_until'] ) );
891
+			if (!empty($request['valid_until'])) {
892
+				$prepared_invoice->valid_until = gmdate('Y-m-d', strtotime($request['valid_until']));
893 893
 			} else {
894 894
 				$prepared_invoice->valid_until = '';
895 895
 			}
896 896
 
897 897
 		}
898 898
 
899
-		$invoice_data = (array) wp_unslash( $prepared_invoice );
899
+		$invoice_data = (array) wp_unslash($prepared_invoice);
900 900
 
901 901
 		/**
902 902
 		 * Filters an invoice before it is inserted via the REST API.
@@ -906,7 +906,7 @@  discard block
 block discarded – undo
906 906
 		 * @param array        $invoice_data An array of invoice data
907 907
 		 * @param WP_REST_Request $request       Request object.
908 908
 		 */
909
-		return apply_filters( "wpinv_rest_pre_insert_invoice", $invoice_data, $request );
909
+		return apply_filters("wpinv_rest_pre_insert_invoice", $invoice_data, $request);
910 910
 
911 911
 	}
912 912
 
@@ -919,20 +919,20 @@  discard block
 block discarded – undo
919 919
 	 * @param WP_REST_Request $request Request object.
920 920
 	 * @return WP_REST_Response Response object.
921 921
 	 */
922
-	public function prepare_item_for_response( $invoice, $request ) {
922
+	public function prepare_item_for_response($invoice, $request) {
923 923
 
924
-		$GLOBALS['post'] = get_post( $invoice->ID );
924
+		$GLOBALS['post'] = get_post($invoice->ID);
925 925
 
926
-		setup_postdata( $invoice->ID );
926
+		setup_postdata($invoice->ID);
927 927
 
928 928
 		// Fetch the fields to include in this response.
929
-		$fields = $this->get_fields_for_response( $request );
929
+		$fields = $this->get_fields_for_response($request);
930 930
 
931 931
 		// Base fields for every invoice.
932 932
 		$data = array();
933 933
 
934 934
 		// Set up ID
935
-		if ( rest_is_field_included( 'id', $fields ) ) {
935
+		if (rest_is_field_included('id', $fields)) {
936 936
 			$data['id'] = $invoice->ID;
937 937
 		}
938 938
 
@@ -947,79 +947,79 @@  discard block
 block discarded – undo
947 947
 			'status', 'status_nicename', 'post_type'
948 948
 		);
949 949
 
950
-		foreach( $invoice_properties as $property ) {
950
+		foreach ($invoice_properties as $property) {
951 951
 
952
-			if ( rest_is_field_included( $property, $fields ) ) {
953
-				$data[$property] = $invoice->get( $property );
952
+			if (rest_is_field_included($property, $fields)) {
953
+				$data[$property] = $invoice->get($property);
954 954
 			}
955 955
 
956 956
 		}
957 957
 
958 958
 		// Valid until
959
-		if ( rest_is_field_included( 'valid_until', $fields ) && $this->post_type === 'wpi_quote' ) {
960
-			$data['valid_until'] = get_post_meta( $invoice->ID, 'wpinv_quote_valid_until', true );
959
+		if (rest_is_field_included('valid_until', $fields) && $this->post_type === 'wpi_quote') {
960
+			$data['valid_until'] = get_post_meta($invoice->ID, 'wpinv_quote_valid_until', true);
961 961
 		}
962 962
 
963 963
 		// Cart details
964
-		if ( rest_is_field_included( 'cart_details', $fields ) ) {
965
-			$data['cart_details'] = $invoice->get( 'cart_details' );
964
+		if (rest_is_field_included('cart_details', $fields)) {
965
+			$data['cart_details'] = $invoice->get('cart_details');
966 966
 		}
967 967
 
968 968
 		//Dates
969
-		$invoice_properties = array( 'date', 'due_date', 'completed_date' );
969
+		$invoice_properties = array('date', 'due_date', 'completed_date');
970 970
 
971
-		foreach( $invoice_properties as $property ) {
971
+		foreach ($invoice_properties as $property) {
972 972
 
973
-			if ( rest_is_field_included( $property, $fields ) ) {
974
-				$data[$property] = $this->prepare_date_response( '0000-00-00 00:00:00', $invoice->get( $property ) );
973
+			if (rest_is_field_included($property, $fields)) {
974
+				$data[$property] = $this->prepare_date_response('0000-00-00 00:00:00', $invoice->get($property));
975 975
 			}
976 976
 
977 977
 		}
978 978
 
979 979
 		// User id
980
-		if ( rest_is_field_included( 'user_id', $fields ) ) {
981
-			$data['user_id'] = (int) $invoice->get( 'user_id' );
980
+		if (rest_is_field_included('user_id', $fields)) {
981
+			$data['user_id'] = (int) $invoice->get('user_id');
982 982
 		}
983 983
 
984 984
 		// User info
985
-		$user_info = array( 'first_name', 'last_name', 'company', 'vat_number', 'vat_rate', 'address', 'city', 'country', 'state', 'zip', 'phone' );
985
+		$user_info = array('first_name', 'last_name', 'company', 'vat_number', 'vat_rate', 'address', 'city', 'country', 'state', 'zip', 'phone');
986 986
 
987
-		foreach( $user_info as $property ) {
987
+		foreach ($user_info as $property) {
988 988
 
989
-			if ( rest_is_field_included( "user_info.$property", $fields ) ) {
990
-				$data['user_info'][$property] = $invoice->get( $property );
989
+			if (rest_is_field_included("user_info.$property", $fields)) {
990
+				$data['user_info'][$property] = $invoice->get($property);
991 991
 			}
992 992
 
993 993
 		}
994 994
 
995 995
 		// Slug
996
-		if ( rest_is_field_included( 'slug', $fields ) ) {
997
-			$data['slug'] = $invoice->get( 'post_name' );
996
+		if (rest_is_field_included('slug', $fields)) {
997
+			$data['slug'] = $invoice->get('post_name');
998 998
 		}
999 999
 
1000 1000
 		// View invoice link
1001
-		if ( rest_is_field_included( 'link', $fields ) ) {
1002
-			$data['link'] = esc_url( $invoice->get_view_url() );
1001
+		if (rest_is_field_included('link', $fields)) {
1002
+			$data['link'] = esc_url($invoice->get_view_url());
1003 1003
 		}
1004 1004
 
1005 1005
 
1006
-		$context = ! empty( $request['context'] ) ? $request['context'] : 'view';
1007
-		$data    = $this->add_additional_fields_to_object( $data, $request );
1008
-		$data    = $this->filter_response_by_context( $data, $context );
1006
+		$context = !empty($request['context']) ? $request['context'] : 'view';
1007
+		$data    = $this->add_additional_fields_to_object($data, $request);
1008
+		$data    = $this->filter_response_by_context($data, $context);
1009 1009
 
1010 1010
 		// Wrap the data in a response object.
1011
-		$response = rest_ensure_response( $data );
1011
+		$response = rest_ensure_response($data);
1012 1012
 
1013
-		$links = $this->prepare_links( $invoice );
1014
-		$response->add_links( $links );
1013
+		$links = $this->prepare_links($invoice);
1014
+		$response->add_links($links);
1015 1015
 
1016
-		if ( ! empty( $links['self']['href'] ) ) {
1017
-			$actions = $this->get_available_actions( $invoice, $request );
1016
+		if (!empty($links['self']['href'])) {
1017
+			$actions = $this->get_available_actions($invoice, $request);
1018 1018
 
1019 1019
 			$self = $links['self']['href'];
1020 1020
 
1021
-			foreach ( $actions as $rel ) {
1022
-				$response->add_link( $rel, $self );
1021
+			foreach ($actions as $rel) {
1022
+				$response->add_link($rel, $self);
1023 1023
 			}
1024 1024
 		}
1025 1025
 
@@ -1032,7 +1032,7 @@  discard block
 block discarded – undo
1032 1032
 		 * @param WPInv_Invoice    $invoice  The invoice object.
1033 1033
 		 * @param WP_REST_Request  $request  Request object.
1034 1034
 		 */
1035
-		return apply_filters( "wpinv_rest_prepare_invoice", $response, $invoice, $request );
1035
+		return apply_filters("wpinv_rest_prepare_invoice", $response, $invoice, $request);
1036 1036
 	}
1037 1037
 
1038 1038
 	/**
@@ -1045,57 +1045,57 @@  discard block
 block discarded – undo
1045 1045
 	 * @param WP_REST_Request $request Full details about the request.
1046 1046
 	 * @return array Fields to be included in the response.
1047 1047
 	 */
1048
-	public function get_fields_for_response( $request ) {
1048
+	public function get_fields_for_response($request) {
1049 1049
 		$schema     = $this->get_item_schema();
1050
-		$properties = isset( $schema['properties'] ) ? $schema['properties'] : array();
1050
+		$properties = isset($schema['properties']) ? $schema['properties'] : array();
1051 1051
 
1052 1052
 		$additional_fields = $this->get_additional_fields();
1053
-		foreach ( $additional_fields as $field_name => $field_options ) {
1053
+		foreach ($additional_fields as $field_name => $field_options) {
1054 1054
 			// For back-compat, include any field with an empty schema
1055 1055
 			// because it won't be present in $this->get_item_schema().
1056
-			if ( is_null( $field_options['schema'] ) ) {
1057
-				$properties[ $field_name ] = $field_options;
1056
+			if (is_null($field_options['schema'])) {
1057
+				$properties[$field_name] = $field_options;
1058 1058
 			}
1059 1059
 		}
1060 1060
 
1061 1061
 		// Exclude fields that specify a different context than the request context.
1062 1062
 		$context = $request['context'];
1063
-		if ( $context ) {
1064
-			foreach ( $properties as $name => $options ) {
1065
-				if ( ! empty( $options['context'] ) && ! in_array( $context, $options['context'], true ) ) {
1066
-					unset( $properties[ $name ] );
1063
+		if ($context) {
1064
+			foreach ($properties as $name => $options) {
1065
+				if (!empty($options['context']) && !in_array($context, $options['context'], true)) {
1066
+					unset($properties[$name]);
1067 1067
 				}
1068 1068
 			}
1069 1069
 		}
1070 1070
 
1071
-		$fields = array_keys( $properties );
1071
+		$fields = array_keys($properties);
1072 1072
 
1073
-		if ( ! isset( $request['_fields'] ) ) {
1073
+		if (!isset($request['_fields'])) {
1074 1074
 			return $fields;
1075 1075
 		}
1076
-		$requested_fields = wpinv_parse_list( $request['_fields'] );
1077
-		if ( 0 === count( $requested_fields ) ) {
1076
+		$requested_fields = wpinv_parse_list($request['_fields']);
1077
+		if (0 === count($requested_fields)) {
1078 1078
 			return $fields;
1079 1079
 		}
1080 1080
 		// Trim off outside whitespace from the comma delimited list.
1081
-		$requested_fields = array_map( 'trim', $requested_fields );
1081
+		$requested_fields = array_map('trim', $requested_fields);
1082 1082
 		// Always persist 'id', because it can be needed for add_additional_fields_to_object().
1083
-		if ( in_array( 'id', $fields, true ) ) {
1083
+		if (in_array('id', $fields, true)) {
1084 1084
 			$requested_fields[] = 'id';
1085 1085
 		}
1086 1086
 		// Return the list of all requested fields which appear in the schema.
1087 1087
 		return array_reduce(
1088 1088
 			$requested_fields,
1089
-			function( $response_fields, $field ) use ( $fields ) {
1090
-				if ( in_array( $field, $fields, true ) ) {
1089
+			function($response_fields, $field) use ($fields) {
1090
+				if (in_array($field, $fields, true)) {
1091 1091
 					$response_fields[] = $field;
1092 1092
 					return $response_fields;
1093 1093
 				}
1094 1094
 				// Check for nested fields if $field is not a direct match.
1095
-				$nested_fields = explode( '.', $field );
1095
+				$nested_fields = explode('.', $field);
1096 1096
 				// A nested field is included so long as its top-level property is
1097 1097
 				// present in the schema.
1098
-				if ( in_array( $nested_fields[0], $fields, true ) ) {
1098
+				if (in_array($nested_fields[0], $fields, true)) {
1099 1099
 					$response_fields[] = $field;
1100 1100
 				}
1101 1101
 				return $response_fields;
@@ -1114,8 +1114,8 @@  discard block
 block discarded – undo
1114 1114
 	public function get_item_schema() {
1115 1115
 
1116 1116
 		// Maybe retrieve the schema from cache.
1117
-		if ( $this->schema ) {
1118
-			return $this->add_additional_fields_schema( $this->schema );
1117
+		if ($this->schema) {
1118
+			return $this->add_additional_fields_schema($this->schema);
1119 1119
 		}
1120 1120
 
1121 1121
 		$schema = array(
@@ -1127,266 +1127,266 @@  discard block
 block discarded – undo
1127 1127
 			'properties' 		  => array(
1128 1128
 
1129 1129
 				'title'			  => array(
1130
-					'description' => __( 'The title for the invoice.', 'invoicing' ),
1130
+					'description' => __('The title for the invoice.', 'invoicing'),
1131 1131
 					'type'        => 'string',
1132
-					'context'     => array( 'view', 'edit', 'embed' ),
1132
+					'context'     => array('view', 'edit', 'embed'),
1133 1133
 					'readonly'    => true,
1134 1134
 				),
1135 1135
 
1136 1136
 				'user_id'		  => array(
1137
-					'description' => __( 'The ID of the owner of the invoice.', 'invoicing' ),
1137
+					'description' => __('The ID of the owner of the invoice.', 'invoicing'),
1138 1138
 					'type'        => 'integer',
1139
-					'context'     => array( 'view', 'edit', 'embed' ),
1139
+					'context'     => array('view', 'edit', 'embed'),
1140 1140
 				),
1141 1141
 
1142 1142
 				'email'		  	  => array(
1143
-					'description' => __( 'The email of the owner of the invoice.', 'invoicing' ),
1143
+					'description' => __('The email of the owner of the invoice.', 'invoicing'),
1144 1144
 					'type'        => 'string',
1145
-					'context'     => array( 'view', 'edit', 'embed' ),
1145
+					'context'     => array('view', 'edit', 'embed'),
1146 1146
 					'readonly'    => true,
1147 1147
 				),
1148 1148
 
1149 1149
 				'ip'			  => array(
1150
-					'description' => __( 'The IP of the owner of the invoice.', 'invoicing' ),
1150
+					'description' => __('The IP of the owner of the invoice.', 'invoicing'),
1151 1151
 					'type'        => 'string',
1152
-					'context'     => array( 'view', 'edit', 'embed' ),
1152
+					'context'     => array('view', 'edit', 'embed'),
1153 1153
 				),
1154 1154
 
1155 1155
 				'user_info'       => array(
1156
-					'description' => __( 'Information about the owner of the invoice.', 'invoicing' ),
1156
+					'description' => __('Information about the owner of the invoice.', 'invoicing'),
1157 1157
 					'type'        => 'object',
1158
-					'context'     => array( 'view', 'edit', 'embed' ),
1158
+					'context'     => array('view', 'edit', 'embed'),
1159 1159
 					'properties'  => array(
1160 1160
 
1161 1161
 						'first_name'      => array(
1162
-							'description' => __( 'The first name of the owner of the invoice.', 'invoicing' ),
1162
+							'description' => __('The first name of the owner of the invoice.', 'invoicing'),
1163 1163
 							'type'        => 'string',
1164
-							'context'     => array( 'view', 'edit', 'embed' ),
1164
+							'context'     => array('view', 'edit', 'embed'),
1165 1165
 						),
1166 1166
 
1167 1167
 						'last_name'       => array(
1168
-							'description' => __( 'The last name of the owner of the invoice.', 'invoicing' ),
1168
+							'description' => __('The last name of the owner of the invoice.', 'invoicing'),
1169 1169
 							'type'        => 'string',
1170
-							'context'     => array( 'view', 'edit', 'embed' ),
1170
+							'context'     => array('view', 'edit', 'embed'),
1171 1171
 						),
1172 1172
 
1173 1173
 						'company'         => array(
1174
-							'description' => __( 'The company of the owner of the invoice.', 'invoicing' ),
1174
+							'description' => __('The company of the owner of the invoice.', 'invoicing'),
1175 1175
 							'type'        => 'string',
1176
-							'context'     => array( 'view', 'edit', 'embed' ),
1176
+							'context'     => array('view', 'edit', 'embed'),
1177 1177
 						),
1178 1178
 
1179 1179
 						'vat_number'      => array(
1180
-							'description' => __( 'The VAT number of the owner of the invoice.', 'invoicing' ),
1180
+							'description' => __('The VAT number of the owner of the invoice.', 'invoicing'),
1181 1181
 							'type'        => 'string',
1182
-							'context'     => array( 'view', 'edit', 'embed' ),
1182
+							'context'     => array('view', 'edit', 'embed'),
1183 1183
 						),
1184 1184
 
1185 1185
 						'vat_rate'        => array(
1186
-							'description' => __( 'The VAT rate applied on the invoice.', 'invoicing' ),
1186
+							'description' => __('The VAT rate applied on the invoice.', 'invoicing'),
1187 1187
 							'type'        => 'string',
1188
-							'context'     => array( 'view', 'edit', 'embed' ),
1188
+							'context'     => array('view', 'edit', 'embed'),
1189 1189
 						),
1190 1190
 
1191 1191
 						'address'        => array(
1192
-							'description' => __( 'The address of the invoice owner.', 'invoicing' ),
1192
+							'description' => __('The address of the invoice owner.', 'invoicing'),
1193 1193
 							'type'        => 'string',
1194
-							'context'     => array( 'view', 'edit', 'embed' ),
1194
+							'context'     => array('view', 'edit', 'embed'),
1195 1195
 						),
1196 1196
 
1197 1197
 						'city'            => array(
1198
-							'description' => __( 'The city of the invoice owner.', 'invoicing' ),
1198
+							'description' => __('The city of the invoice owner.', 'invoicing'),
1199 1199
 							'type'        => 'string',
1200
-							'context'     => array( 'view', 'edit', 'embed' ),
1200
+							'context'     => array('view', 'edit', 'embed'),
1201 1201
 						),
1202 1202
 
1203 1203
 						'country'         => array(
1204
-							'description' => __( 'The country of the invoice owner.', 'invoicing' ),
1204
+							'description' => __('The country of the invoice owner.', 'invoicing'),
1205 1205
 							'type'        => 'string',
1206
-							'context'     => array( 'view', 'edit', 'embed' ),
1206
+							'context'     => array('view', 'edit', 'embed'),
1207 1207
 						),
1208 1208
 
1209 1209
 						'state'           => array(
1210
-							'description' => __( 'The state of the invoice owner.', 'invoicing' ),
1210
+							'description' => __('The state of the invoice owner.', 'invoicing'),
1211 1211
 							'type'        => 'string',
1212
-							'context'     => array( 'view', 'edit', 'embed' ),
1212
+							'context'     => array('view', 'edit', 'embed'),
1213 1213
 						),
1214 1214
 
1215 1215
 						'zip'             => array(
1216
-							'description' => __( 'The zip code of the invoice owner.', 'invoicing' ),
1216
+							'description' => __('The zip code of the invoice owner.', 'invoicing'),
1217 1217
 							'type'        => 'string',
1218
-							'context'     => array( 'view', 'edit', 'embed' ),
1218
+							'context'     => array('view', 'edit', 'embed'),
1219 1219
 						),
1220 1220
 
1221 1221
 						'phone'             => array(
1222
-							'description' => __( 'The phone number of the invoice owner.', 'invoicing' ),
1222
+							'description' => __('The phone number of the invoice owner.', 'invoicing'),
1223 1223
 							'type'        => 'string',
1224
-							'context'     => array( 'view', 'edit', 'embed' ),
1224
+							'context'     => array('view', 'edit', 'embed'),
1225 1225
 						),
1226 1226
 					),
1227 1227
 				),
1228 1228
 
1229 1229
 				'id'           => array(
1230
-					'description' => __( 'Unique identifier for the invoice.', 'invoicing' ),
1230
+					'description' => __('Unique identifier for the invoice.', 'invoicing'),
1231 1231
 					'type'        => 'integer',
1232
-					'context'     => array( 'view', 'edit', 'embed' ),
1232
+					'context'     => array('view', 'edit', 'embed'),
1233 1233
 					'readonly'    => true,
1234 1234
 				),
1235 1235
 
1236 1236
 				'key'			  => array(
1237
-					'description' => __( 'A unique key for the invoice.', 'invoicing' ),
1237
+					'description' => __('A unique key for the invoice.', 'invoicing'),
1238 1238
 					'type'        => 'string',
1239
-					'context'     => array( 'view', 'edit', 'embed' ),
1239
+					'context'     => array('view', 'edit', 'embed'),
1240 1240
 					'readonly'    => true,
1241 1241
 				),
1242 1242
 
1243 1243
 				'number'		  => array(
1244
-					'description' => __( 'The invoice number.', 'invoicing' ),
1244
+					'description' => __('The invoice number.', 'invoicing'),
1245 1245
 					'type'        => 'string',
1246
-					'context'     => array( 'view', 'edit', 'embed' ),
1246
+					'context'     => array('view', 'edit', 'embed'),
1247 1247
 					'readonly'    => true,
1248 1248
 				),
1249 1249
 
1250 1250
 				'transaction_id'  => array(
1251
-					'description' => __( 'The transaction id of the invoice.', 'invoicing' ),
1251
+					'description' => __('The transaction id of the invoice.', 'invoicing'),
1252 1252
 					'type'        => 'string',
1253
-					'context'     => array( 'view', 'edit', 'embed' ),
1253
+					'context'     => array('view', 'edit', 'embed'),
1254 1254
 				),
1255 1255
 
1256 1256
 				'gateway'		  => array(
1257
-					'description' => __( 'The gateway used to process the invoice.', 'invoicing' ),
1257
+					'description' => __('The gateway used to process the invoice.', 'invoicing'),
1258 1258
 					'type'        => 'string',
1259
-					'context'     => array( 'view', 'edit', 'embed' ),
1259
+					'context'     => array('view', 'edit', 'embed'),
1260 1260
 				),
1261 1261
 
1262 1262
 				'gateway_title'	  => array(
1263
-					'description' => __( 'The title of the gateway used to process the invoice.', 'invoicing' ),
1263
+					'description' => __('The title of the gateway used to process the invoice.', 'invoicing'),
1264 1264
 					'type'        => 'string',
1265
-					'context'     => array( 'view', 'edit', 'embed' ),
1265
+					'context'     => array('view', 'edit', 'embed'),
1266 1266
 				),
1267 1267
 
1268 1268
 				'total'	  		  => array(
1269
-					'description' => __( 'The total amount of the invoice.', 'invoicing' ),
1269
+					'description' => __('The total amount of the invoice.', 'invoicing'),
1270 1270
 					'type'        => 'number',
1271
-					'context'     => array( 'view', 'edit', 'embed' ),
1271
+					'context'     => array('view', 'edit', 'embed'),
1272 1272
 					'readonly'    => true,
1273 1273
 				),
1274 1274
 
1275 1275
 				'discount'		  => array(
1276
-					'description' => __( 'The discount applied to the invoice.', 'invoicing' ),
1276
+					'description' => __('The discount applied to the invoice.', 'invoicing'),
1277 1277
 					'type'        => 'number',
1278
-					'context'     => array( 'view', 'edit', 'embed' ),
1278
+					'context'     => array('view', 'edit', 'embed'),
1279 1279
 					'readonly'    => true,
1280 1280
 				),
1281 1281
 
1282 1282
 				'discount_code'	  => array(
1283
-					'description' => __( 'The discount code applied to the invoice.', 'invoicing' ),
1283
+					'description' => __('The discount code applied to the invoice.', 'invoicing'),
1284 1284
 					'type'        => 'string',
1285
-					'context'     => array( 'view', 'edit', 'embed' ),
1285
+					'context'     => array('view', 'edit', 'embed'),
1286 1286
 					'readonly'    => true,
1287 1287
 				),
1288 1288
 
1289 1289
 				'tax'	  		  => array(
1290
-					'description' => __( 'The tax applied to the invoice.', 'invoicing' ),
1290
+					'description' => __('The tax applied to the invoice.', 'invoicing'),
1291 1291
 					'type'        => 'number',
1292
-					'context'     => array( 'view', 'edit', 'embed' ),
1292
+					'context'     => array('view', 'edit', 'embed'),
1293 1293
 					'readonly'    => true,
1294 1294
 				),
1295 1295
 
1296 1296
 				'fees_total'	  => array(
1297
-					'description' => __( 'The total fees applied to the invoice.', 'invoicing' ),
1297
+					'description' => __('The total fees applied to the invoice.', 'invoicing'),
1298 1298
 					'type'        => 'number',
1299
-					'context'     => array( 'view', 'edit', 'embed' ),
1299
+					'context'     => array('view', 'edit', 'embed'),
1300 1300
 					'readonly'    => true,
1301 1301
 				),
1302 1302
 
1303 1303
 				'subtotal'	  	  => array(
1304
-					'description' => __( 'The sub-total for the invoice.', 'invoicing' ),
1304
+					'description' => __('The sub-total for the invoice.', 'invoicing'),
1305 1305
 					'type'        => 'number',
1306
-					'context'     => array( 'view', 'edit', 'embed' ),
1306
+					'context'     => array('view', 'edit', 'embed'),
1307 1307
 					'readonly'    => true,
1308 1308
 				),
1309 1309
 
1310 1310
 				'currency'	  	  => array(
1311
-					'description' => __( 'The currency used to process the invoice.', 'invoicing' ),
1311
+					'description' => __('The currency used to process the invoice.', 'invoicing'),
1312 1312
 					'type'        => 'string',
1313
-					'context'     => array( 'view', 'edit', 'embed' ),
1313
+					'context'     => array('view', 'edit', 'embed'),
1314 1314
 				),
1315 1315
 
1316 1316
 				'cart_details'	  => array(
1317
-					'description' => __( 'The cart details for invoice.', 'invoicing' ),
1317
+					'description' => __('The cart details for invoice.', 'invoicing'),
1318 1318
 					'type'        => 'array',
1319
-					'context'     => array( 'view', 'edit', 'embed' ),
1319
+					'context'     => array('view', 'edit', 'embed'),
1320 1320
 					'required'	  => true,
1321 1321
 				),
1322 1322
 
1323 1323
 				'date'         => array(
1324
-					'description' => __( "The date the invoice was published, in the site's timezone.", 'invoicing' ),
1325
-					'type'        => array( 'string', 'null' ),
1324
+					'description' => __("The date the invoice was published, in the site's timezone.", 'invoicing'),
1325
+					'type'        => array('string', 'null'),
1326 1326
 					'format'      => 'date-time',
1327
-					'context'     => array( 'view', 'edit', 'embed' ),
1327
+					'context'     => array('view', 'edit', 'embed'),
1328 1328
 				),
1329 1329
 
1330 1330
 				'due_date'     => array(
1331
-					'description' => __( 'The due date for the invoice.', 'invoicing' ),
1332
-					'type'        => array( 'string', 'null' ),
1331
+					'description' => __('The due date for the invoice.', 'invoicing'),
1332
+					'type'        => array('string', 'null'),
1333 1333
 					'format'      => 'date-time',
1334
-					'context'     => array( 'view', 'edit', 'embed' ),
1334
+					'context'     => array('view', 'edit', 'embed'),
1335 1335
 				),
1336 1336
 
1337 1337
 				'completed_date'  => array(
1338
-					'description' => __( 'The completed date for the invoice.', 'invoicing' ),
1339
-					'type'        => array( 'string', 'null' ),
1338
+					'description' => __('The completed date for the invoice.', 'invoicing'),
1339
+					'type'        => array('string', 'null'),
1340 1340
 					'format'      => 'date-time',
1341
-					'context'     => array( 'view', 'edit', 'embed' ),
1341
+					'context'     => array('view', 'edit', 'embed'),
1342 1342
 					'readonly'    => true,
1343 1343
 				),
1344 1344
 				
1345 1345
 				'link'         => array(
1346
-					'description' => __( 'URL to the invoice.', 'invoicing' ),
1346
+					'description' => __('URL to the invoice.', 'invoicing'),
1347 1347
 					'type'        => 'string',
1348 1348
 					'format'      => 'uri',
1349
-					'context'     => array( 'view', 'edit', 'embed' ),
1349
+					'context'     => array('view', 'edit', 'embed'),
1350 1350
 					'readonly'    => true,
1351 1351
 				),
1352 1352
 
1353 1353
 				'mode'       	  => array(
1354
-					'description' => __( 'The mode used to process the invoice.', 'invoicing' ),
1354
+					'description' => __('The mode used to process the invoice.', 'invoicing'),
1355 1355
 					'type'        => 'string',
1356
-					'enum'        => array( 'live', 'test' ),
1357
-					'context'     => array( 'view', 'edit', 'embed' ),
1356
+					'enum'        => array('live', 'test'),
1357
+					'context'     => array('view', 'edit', 'embed'),
1358 1358
 					'readonly'    => true,
1359 1359
 				),
1360 1360
 
1361 1361
 				'slug'       	  => array(
1362
-					'description' => __( 'An alphanumeric identifier for the invoice.', 'invoicing' ),
1362
+					'description' => __('An alphanumeric identifier for the invoice.', 'invoicing'),
1363 1363
 					'type'        => 'string',
1364
-					'context'     => array( 'view', 'edit', 'embed' ),
1364
+					'context'     => array('view', 'edit', 'embed'),
1365 1365
 					'arg_options' => array(
1366
-						'sanitize_callback' => array( $this, 'sanitize_slug' ),
1366
+						'sanitize_callback' => array($this, 'sanitize_slug'),
1367 1367
 					),
1368 1368
 					'readonly'    => true,
1369 1369
 				),
1370 1370
 
1371 1371
 				'status'       	  => array(
1372
-					'description' => __( 'A named status for the invoice.', 'invoicing' ),
1372
+					'description' => __('A named status for the invoice.', 'invoicing'),
1373 1373
 					'type'        => 'string',
1374 1374
 					'enum'        => $this->get_post_statuses(),
1375
-					'context'     => array( 'view', 'edit' ),
1375
+					'context'     => array('view', 'edit'),
1376 1376
 					'default'	  => 'wpi-pending',
1377 1377
 				),
1378 1378
 
1379 1379
 				'status_nicename' => array(
1380
-					'description' => __( 'A human-readable status name for the invoice.', 'invoicing' ),
1380
+					'description' => __('A human-readable status name for the invoice.', 'invoicing'),
1381 1381
 					'type'        => 'string',
1382
-					'context'     => array( 'view', 'embed' ),
1382
+					'context'     => array('view', 'embed'),
1383 1383
 					'readonly'    => true,
1384 1384
 				),
1385 1385
 
1386 1386
 				'post_type'       => array(
1387
-					'description' => __( 'The post type for the invoice.', 'invoicing' ),
1387
+					'description' => __('The post type for the invoice.', 'invoicing'),
1388 1388
 					'type'        => 'string',
1389
-					'context'     => array( 'view' ),
1389
+					'context'     => array('view'),
1390 1390
 					'readonly'    => true,
1391 1391
 				),
1392 1392
 			),
@@ -1404,12 +1404,12 @@  discard block
 block discarded – undo
1404 1404
 		 *
1405 1405
 		 * @param array   $schema    The invoice schema.
1406 1406
 		 */
1407
-        $schema = apply_filters( "wpinv_rest_invoice_schema", $schema );
1407
+        $schema = apply_filters("wpinv_rest_invoice_schema", $schema);
1408 1408
 
1409 1409
 		// Cache the invoice schema.
1410 1410
 		$this->schema = $schema;
1411 1411
 		
1412
-		return $this->add_additional_fields_schema( $this->schema );
1412
+		return $this->add_additional_fields_schema($this->schema);
1413 1413
 	}
1414 1414
 
1415 1415
 	/**
@@ -1421,20 +1421,20 @@  discard block
 block discarded – undo
1421 1421
 	 */
1422 1422
 	protected function get_schema_links() {
1423 1423
 
1424
-		$href = rest_url( "{$this->namespace}/{$this->rest_base}/{id}" );
1424
+		$href = rest_url("{$this->namespace}/{$this->rest_base}/{id}");
1425 1425
 
1426 1426
 		$links = array();
1427 1427
 
1428 1428
 		$links[] = array(
1429 1429
 			'rel'          => 'https://api.w.org/action-publish',
1430
-			'title'        => __( 'The current user can mark this invoice as completed.', 'invoicing' ),
1430
+			'title'        => __('The current user can mark this invoice as completed.', 'invoicing'),
1431 1431
 			'href'         => $href,
1432 1432
 			'targetSchema' => array(
1433 1433
 				'type'       => 'object',
1434 1434
 				'properties' => array(
1435 1435
 					'status' => array(
1436 1436
 						'type' => 'string',
1437
-						'enum' => array( 'publish', 'wpi-renewal' ),
1437
+						'enum' => array('publish', 'wpi-renewal'),
1438 1438
 					),
1439 1439
 				),
1440 1440
 			),
@@ -1442,7 +1442,7 @@  discard block
 block discarded – undo
1442 1442
 
1443 1443
 		$links[] = array(
1444 1444
 			'rel'          => 'https://api.w.org/action-assign-author',
1445
-			'title'        => __( 'The current user can change the owner of this invoice.', 'invoicing' ),
1445
+			'title'        => __('The current user can change the owner of this invoice.', 'invoicing'),
1446 1446
 			'href'         => $href,
1447 1447
 			'targetSchema' => array(
1448 1448
 				'type'       => 'object',
@@ -1465,24 +1465,24 @@  discard block
 block discarded – undo
1465 1465
 	 * @param WPInv_Invoice $invoice Invoice Object.
1466 1466
 	 * @return array Links for the given invoice.
1467 1467
 	 */
1468
-	protected function prepare_links( $invoice ) {
1468
+	protected function prepare_links($invoice) {
1469 1469
 
1470 1470
 		// Prepare the base REST API endpoint for invoices.
1471
-		$base = sprintf( '%s/%s', $this->namespace, $this->rest_base );
1471
+		$base = sprintf('%s/%s', $this->namespace, $this->rest_base);
1472 1472
 
1473 1473
 		// Entity meta.
1474 1474
 		$links = array(
1475 1475
 			'self'       => array(
1476
-				'href' => rest_url( trailingslashit( $base ) . $invoice->ID ),
1476
+				'href' => rest_url(trailingslashit($base) . $invoice->ID),
1477 1477
 			),
1478 1478
 			'collection' => array(
1479
-				'href' => rest_url( $base ),
1479
+				'href' => rest_url($base),
1480 1480
 			),
1481 1481
 		);
1482 1482
 
1483
-		if ( ! empty( $invoice->user_id ) ) {
1483
+		if (!empty($invoice->user_id)) {
1484 1484
 			$links['user'] = array(
1485
-				'href'       => rest_url( 'wp/v2/users/' . $invoice->user_id ),
1485
+				'href'       => rest_url('wp/v2/users/' . $invoice->user_id),
1486 1486
 				'embeddable' => true,
1487 1487
 			);
1488 1488
 		}
@@ -1496,7 +1496,7 @@  discard block
 block discarded – undo
1496 1496
 		 *
1497 1497
 		 * @param array   $links    Rest links.
1498 1498
 		 */
1499
-		return apply_filters( "wpinv_rest_invoice_links", $links );
1499
+		return apply_filters("wpinv_rest_invoice_links", $links);
1500 1500
 
1501 1501
 	}
1502 1502
 
@@ -1509,24 +1509,24 @@  discard block
 block discarded – undo
1509 1509
 	 * @param WP_REST_Request $request Request object.
1510 1510
 	 * @return array List of link relations.
1511 1511
 	 */
1512
-	protected function get_available_actions( $invoice, $request ) {
1512
+	protected function get_available_actions($invoice, $request) {
1513 1513
 
1514
-		if ( 'edit' !== $request['context'] ) {
1514
+		if ('edit' !== $request['context']) {
1515 1515
 			return array();
1516 1516
 		}
1517 1517
 
1518 1518
 		$rels = array();
1519 1519
 
1520 1520
 		// Retrieve the post type object.
1521
-		$post_type = get_post_type_object( $invoice->post_type );
1521
+		$post_type = get_post_type_object($invoice->post_type);
1522 1522
 
1523 1523
 		// Mark invoice as completed.
1524
-		if ( current_user_can( $post_type->cap->publish_posts ) ) {
1524
+		if (current_user_can($post_type->cap->publish_posts)) {
1525 1525
 			$rels[] = 'https://api.w.org/action-publish';
1526 1526
 		}
1527 1527
 
1528 1528
 		// Change the owner of the invoice.
1529
-		if ( current_user_can( $post_type->cap->edit_others_posts ) ) {
1529
+		if (current_user_can($post_type->cap->edit_others_posts)) {
1530 1530
 			$rels[] = 'https://api.w.org/action-assign-author';
1531 1531
 		}
1532 1532
 
@@ -1539,7 +1539,7 @@  discard block
 block discarded – undo
1539 1539
 		 *
1540 1540
 		 * @param array   $rels    Available link relations.
1541 1541
 		 */
1542
-		return apply_filters( "wpinv_rest_invoice_link_relations", $rels );
1542
+		return apply_filters("wpinv_rest_invoice_link_relations", $rels);
1543 1543
 	}
1544 1544
 
1545 1545
 	/**
@@ -1552,8 +1552,8 @@  discard block
 block discarded – undo
1552 1552
 	 * @param string          $parameter Additional parameter to pass to validation.
1553 1553
 	 * @return array|WP_Error A list of valid statuses, otherwise WP_Error object.
1554 1554
 	 */
1555
-	public function sanitize_post_statuses( $statuses, $request, $parameter ) {
1556
-		return array_intersect( wp_parse_slug_list( $statuses ), $this->get_post_statuses() );
1555
+	public function sanitize_post_statuses($statuses, $request, $parameter) {
1556
+		return array_intersect(wp_parse_slug_list($statuses), $this->get_post_statuses());
1557 1557
 	}
1558 1558
 
1559 1559
 	/**
@@ -1564,7 +1564,7 @@  discard block
 block discarded – undo
1564 1564
 	 * @return array A list of registered item statuses.
1565 1565
 	 */
1566 1566
 	public function get_post_statuses() {
1567
-		return array_keys( wpinv_get_invoice_statuses( true, true ) );
1567
+		return array_keys(wpinv_get_invoice_statuses(true, true));
1568 1568
 	}
1569 1569
     
1570 1570
 }
1571 1571
\ No newline at end of file
Please login to merge, or discard this patch.
includes/class-wpinv-api.php 1 patch
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
  */
8 8
  
9 9
 // MUST have WordPress.
10
-if ( !defined( 'WPINC' ) ) {
10
+if (!defined('WPINC')) {
11 11
     exit;
12 12
 }
13 13
 
@@ -19,7 +19,7 @@  discard block
 block discarded – undo
19 19
     /**
20 20
      * @param string A prefix for our REST routes
21 21
      */
22
-    public $api_namespace    = '';
22
+    public $api_namespace = '';
23 23
 
24 24
     /**
25 25
      * @param WPInv_REST_Invoice_Controller Invoices controller
@@ -42,19 +42,19 @@  discard block
 block discarded – undo
42 42
      * @since 1.0.13
43 43
      * Sets the API namespace and inits hooks
44 44
      */
45
-    public function __construct( $api_namespace = 'invoicing/v1' ) {
45
+    public function __construct($api_namespace = 'invoicing/v1') {
46 46
 
47 47
         // Include controllers and related files
48 48
         $this->includes();
49 49
 
50 50
         // Set up class variables
51
-        $this->api_namespace       = apply_filters( 'wpinv_rest_api_namespace', $api_namespace );
52
-        $this->invoices_controller = new WPInv_REST_Invoice_Controller( $this->api_namespace );
53
-        $this->items_controller    = new WPInv_REST_Items_Controller( $this->api_namespace );
54
-        $this->discounts_controller= new WPInv_REST_Discounts_Controller( $this->api_namespace );
51
+        $this->api_namespace       = apply_filters('wpinv_rest_api_namespace', $api_namespace);
52
+        $this->invoices_controller = new WPInv_REST_Invoice_Controller($this->api_namespace);
53
+        $this->items_controller    = new WPInv_REST_Items_Controller($this->api_namespace);
54
+        $this->discounts_controller = new WPInv_REST_Discounts_Controller($this->api_namespace);
55 55
 
56 56
         //Register REST routes
57
-        add_action( 'rest_api_init', array( $this, 'register_rest_routes' ) );
57
+        add_action('rest_api_init', array($this, 'register_rest_routes'));
58 58
     }
59 59
 
60 60
 
@@ -84,7 +84,7 @@  discard block
 block discarded – undo
84 84
 		 * @param array           $invoice_data Invoice properties.
85 85
 		 * @param WP_REST_Request $request The request used.
86 86
 		 */
87
-        do_action( "wpinv_register_rest_routes", $this );
87
+        do_action("wpinv_register_rest_routes", $this);
88 88
         
89 89
     }
90 90
 
@@ -97,13 +97,13 @@  discard block
 block discarded – undo
97 97
     protected function includes() {
98 98
         
99 99
         // Invoices
100
-        require_once( WPINV_PLUGIN_DIR . 'includes/api/class-wpinv-rest-invoice-controller.php' );
100
+        require_once(WPINV_PLUGIN_DIR . 'includes/api/class-wpinv-rest-invoice-controller.php');
101 101
 
102 102
         // Items
103
-        require_once( WPINV_PLUGIN_DIR . 'includes/api/class-wpinv-rest-items-controller.php' );
103
+        require_once(WPINV_PLUGIN_DIR . 'includes/api/class-wpinv-rest-items-controller.php');
104 104
 
105 105
         // Discounts
106
-        require_once( WPINV_PLUGIN_DIR . 'includes/api/class-wpinv-rest-discounts-controller.php' );
106
+        require_once(WPINV_PLUGIN_DIR . 'includes/api/class-wpinv-rest-discounts-controller.php');
107 107
 
108 108
     }
109 109
     
Please login to merge, or discard this patch.
includes/wpinv-general-functions.php 1 patch
Spacing   +177 added lines, -177 removed lines patch added patch discarded remove patch
@@ -7,201 +7,201 @@  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_is_checkout() {
15 15
     global $wp_query;
16 16
 
17
-    $is_object_set    = isset( $wp_query->queried_object );
18
-    $is_object_id_set = isset( $wp_query->queried_object_id );
19
-    $is_checkout      = is_page( wpinv_get_option( 'checkout_page' ) );
17
+    $is_object_set    = isset($wp_query->queried_object);
18
+    $is_object_id_set = isset($wp_query->queried_object_id);
19
+    $is_checkout      = is_page(wpinv_get_option('checkout_page'));
20 20
 
21
-    if ( !$is_object_set ) {
22
-        unset( $wp_query->queried_object );
21
+    if (!$is_object_set) {
22
+        unset($wp_query->queried_object);
23 23
     }
24 24
 
25
-    if ( !$is_object_id_set ) {
26
-        unset( $wp_query->queried_object_id );
25
+    if (!$is_object_id_set) {
26
+        unset($wp_query->queried_object_id);
27 27
     }
28 28
 
29
-    return apply_filters( 'wpinv_is_checkout', $is_checkout );
29
+    return apply_filters('wpinv_is_checkout', $is_checkout);
30 30
 }
31 31
 
32 32
 function wpinv_can_checkout() {
33 33
 	$can_checkout = true; // Always true for now
34 34
 
35
-	return (bool) apply_filters( 'wpinv_can_checkout', $can_checkout );
35
+	return (bool) apply_filters('wpinv_can_checkout', $can_checkout);
36 36
 }
37 37
 
38 38
 function wpinv_get_success_page_uri() {
39
-	$page_id = wpinv_get_option( 'success_page', 0 );
40
-	$page_id = absint( $page_id );
39
+	$page_id = wpinv_get_option('success_page', 0);
40
+	$page_id = absint($page_id);
41 41
 
42
-	return apply_filters( 'wpinv_get_success_page_uri', get_permalink( $page_id ) );
42
+	return apply_filters('wpinv_get_success_page_uri', get_permalink($page_id));
43 43
 }
44 44
 
45 45
 function wpinv_get_history_page_uri() {
46
-	$page_id = wpinv_get_option( 'invoice_history_page', 0 );
47
-	$page_id = absint( $page_id );
46
+	$page_id = wpinv_get_option('invoice_history_page', 0);
47
+	$page_id = absint($page_id);
48 48
 
49
-	return apply_filters( 'wpinv_get_history_page_uri', get_permalink( $page_id ) );
49
+	return apply_filters('wpinv_get_history_page_uri', get_permalink($page_id));
50 50
 }
51 51
 
52 52
 function wpinv_is_success_page() {
53
-	$is_success_page = wpinv_get_option( 'success_page', false );
54
-	$is_success_page = isset( $is_success_page ) ? is_page( $is_success_page ) : false;
53
+	$is_success_page = wpinv_get_option('success_page', false);
54
+	$is_success_page = isset($is_success_page) ? is_page($is_success_page) : false;
55 55
 
56
-	return apply_filters( 'wpinv_is_success_page', $is_success_page );
56
+	return apply_filters('wpinv_is_success_page', $is_success_page);
57 57
 }
58 58
 
59 59
 function wpinv_is_invoice_history_page() {
60
-	$ret = wpinv_get_option( 'invoice_history_page', false );
61
-	$ret = $ret ? is_page( $ret ) : false;
62
-	return apply_filters( 'wpinv_is_invoice_history_page', $ret );
60
+	$ret = wpinv_get_option('invoice_history_page', false);
61
+	$ret = $ret ? is_page($ret) : false;
62
+	return apply_filters('wpinv_is_invoice_history_page', $ret);
63 63
 }
64 64
 
65 65
 function wpinv_is_subscriptions_history_page() {
66
-    $ret = wpinv_get_option( 'invoice_subscription_page', false );
67
-    $ret = $ret ? is_page( $ret ) : false;
68
-    return apply_filters( 'wpinv_is_subscriptions_history_page', $ret );
66
+    $ret = wpinv_get_option('invoice_subscription_page', false);
67
+    $ret = $ret ? is_page($ret) : false;
68
+    return apply_filters('wpinv_is_subscriptions_history_page', $ret);
69 69
 }
70 70
 
71
-function wpinv_send_to_success_page( $args = null ) {
71
+function wpinv_send_to_success_page($args = null) {
72 72
 	$redirect = wpinv_get_success_page_uri();
73 73
     
74
-    if ( !empty( $args ) ) {
74
+    if (!empty($args)) {
75 75
         // Check for backward compatibility
76
-        if ( is_string( $args ) )
77
-            $args = str_replace( '?', '', $args );
76
+        if (is_string($args))
77
+            $args = str_replace('?', '', $args);
78 78
 
79
-        $args = wp_parse_args( $args );
79
+        $args = wp_parse_args($args);
80 80
 
81
-        $redirect = add_query_arg( $args, $redirect );
81
+        $redirect = add_query_arg($args, $redirect);
82 82
     }
83 83
 
84
-    $gateway = isset( $_REQUEST['wpi-gateway'] ) ? $_REQUEST['wpi-gateway'] : '';
84
+    $gateway = isset($_REQUEST['wpi-gateway']) ? $_REQUEST['wpi-gateway'] : '';
85 85
     
86
-    $redirect = apply_filters( 'wpinv_success_page_redirect', $redirect, $gateway, $args );
87
-    wp_redirect( $redirect );
86
+    $redirect = apply_filters('wpinv_success_page_redirect', $redirect, $gateway, $args);
87
+    wp_redirect($redirect);
88 88
     exit;
89 89
 }
90 90
 
91
-function wpinv_send_to_failed_page( $args = null ) {
91
+function wpinv_send_to_failed_page($args = null) {
92 92
 	$redirect = wpinv_get_failed_transaction_uri();
93 93
     
94
-    if ( !empty( $args ) ) {
94
+    if (!empty($args)) {
95 95
         // Check for backward compatibility
96
-        if ( is_string( $args ) )
97
-            $args = str_replace( '?', '', $args );
96
+        if (is_string($args))
97
+            $args = str_replace('?', '', $args);
98 98
 
99
-        $args = wp_parse_args( $args );
99
+        $args = wp_parse_args($args);
100 100
 
101
-        $redirect = add_query_arg( $args, $redirect );
101
+        $redirect = add_query_arg($args, $redirect);
102 102
     }
103 103
 
104
-    $gateway = isset( $_REQUEST['wpi-gateway'] ) ? $_REQUEST['wpi-gateway'] : '';
104
+    $gateway = isset($_REQUEST['wpi-gateway']) ? $_REQUEST['wpi-gateway'] : '';
105 105
     
106
-    $redirect = apply_filters( 'wpinv_failed_page_redirect', $redirect, $gateway, $args );
107
-    wp_redirect( $redirect );
106
+    $redirect = apply_filters('wpinv_failed_page_redirect', $redirect, $gateway, $args);
107
+    wp_redirect($redirect);
108 108
     exit;
109 109
 }
110 110
 
111
-function wpinv_get_checkout_uri( $args = array() ) {
112
-	$uri = wpinv_get_option( 'checkout_page', false );
113
-	$uri = isset( $uri ) ? get_permalink( $uri ) : NULL;
111
+function wpinv_get_checkout_uri($args = array()) {
112
+	$uri = wpinv_get_option('checkout_page', false);
113
+	$uri = isset($uri) ? get_permalink($uri) : NULL;
114 114
 
115
-	if ( !empty( $args ) ) {
115
+	if (!empty($args)) {
116 116
 		// Check for backward compatibility
117
-		if ( is_string( $args ) )
118
-			$args = str_replace( '?', '', $args );
117
+		if (is_string($args))
118
+			$args = str_replace('?', '', $args);
119 119
 
120
-		$args = wp_parse_args( $args );
120
+		$args = wp_parse_args($args);
121 121
 
122
-		$uri = add_query_arg( $args, $uri );
122
+		$uri = add_query_arg($args, $uri);
123 123
 	}
124 124
 
125
-	$scheme = defined( 'FORCE_SSL_ADMIN' ) && FORCE_SSL_ADMIN ? 'https' : 'admin';
125
+	$scheme = defined('FORCE_SSL_ADMIN') && FORCE_SSL_ADMIN ? 'https' : 'admin';
126 126
 
127
-	$ajax_url = admin_url( 'admin-ajax.php', $scheme );
127
+	$ajax_url = admin_url('admin-ajax.php', $scheme);
128 128
 
129
-	if ( ( ! preg_match( '/^https/', $uri ) && preg_match( '/^https/', $ajax_url ) ) || wpinv_is_ssl_enforced() ) {
130
-		$uri = preg_replace( '/^http:/', 'https:', $uri );
129
+	if ((!preg_match('/^https/', $uri) && preg_match('/^https/', $ajax_url)) || wpinv_is_ssl_enforced()) {
130
+		$uri = preg_replace('/^http:/', 'https:', $uri);
131 131
 	}
132 132
 
133
-	return apply_filters( 'wpinv_get_checkout_uri', $uri );
133
+	return apply_filters('wpinv_get_checkout_uri', $uri);
134 134
 }
135 135
 
136
-function wpinv_send_back_to_checkout( $args = array() ) {
136
+function wpinv_send_back_to_checkout($args = array()) {
137 137
 	$redirect = wpinv_get_checkout_uri();
138 138
 
139
-	if ( ! empty( $args ) ) {
139
+	if (!empty($args)) {
140 140
 		// Check for backward compatibility
141
-		if ( is_string( $args ) )
142
-			$args = str_replace( '?', '', $args );
141
+		if (is_string($args))
142
+			$args = str_replace('?', '', $args);
143 143
 
144
-		$args = wp_parse_args( $args );
144
+		$args = wp_parse_args($args);
145 145
 
146
-		$redirect = add_query_arg( $args, $redirect );
146
+		$redirect = add_query_arg($args, $redirect);
147 147
 	}
148 148
 
149
-	wp_redirect( apply_filters( 'wpinv_send_back_to_checkout', $redirect, $args ) );
149
+	wp_redirect(apply_filters('wpinv_send_back_to_checkout', $redirect, $args));
150 150
 	exit;
151 151
 }
152 152
 
153
-function wpinv_get_success_page_url( $query_string = null ) {
154
-	$success_page = wpinv_get_option( 'success_page', 0 );
155
-	$success_page = get_permalink( $success_page );
153
+function wpinv_get_success_page_url($query_string = null) {
154
+	$success_page = wpinv_get_option('success_page', 0);
155
+	$success_page = get_permalink($success_page);
156 156
 
157
-	if ( $query_string )
157
+	if ($query_string)
158 158
 		$success_page .= $query_string;
159 159
 
160
-	return apply_filters( 'wpinv_success_page_url', $success_page );
160
+	return apply_filters('wpinv_success_page_url', $success_page);
161 161
 }
162 162
 
163
-function wpinv_get_failed_transaction_uri( $extras = false ) {
164
-	$uri = wpinv_get_option( 'failure_page', '' );
165
-	$uri = ! empty( $uri ) ? trailingslashit( get_permalink( $uri ) ) : home_url();
163
+function wpinv_get_failed_transaction_uri($extras = false) {
164
+	$uri = wpinv_get_option('failure_page', '');
165
+	$uri = !empty($uri) ? trailingslashit(get_permalink($uri)) : home_url();
166 166
 
167
-	if ( $extras )
167
+	if ($extras)
168 168
 		$uri .= $extras;
169 169
 
170
-	return apply_filters( 'wpinv_get_failed_transaction_uri', $uri );
170
+	return apply_filters('wpinv_get_failed_transaction_uri', $uri);
171 171
 }
172 172
 
173 173
 function wpinv_is_failed_transaction_page() {
174
-	$ret = wpinv_get_option( 'failure_page', false );
175
-	$ret = isset( $ret ) ? is_page( $ret ) : false;
174
+	$ret = wpinv_get_option('failure_page', false);
175
+	$ret = isset($ret) ? is_page($ret) : false;
176 176
 
177
-	return apply_filters( 'wpinv_is_failure_page', $ret );
177
+	return apply_filters('wpinv_is_failure_page', $ret);
178 178
 }
179 179
 
180
-function wpinv_transaction_query( $type = 'start' ) {
180
+function wpinv_transaction_query($type = 'start') {
181 181
     global $wpdb;
182 182
 
183 183
     $wpdb->hide_errors();
184 184
 
185
-    if ( ! defined( 'WPINV_USE_TRANSACTIONS' ) ) {
186
-        define( 'WPINV_USE_TRANSACTIONS', true );
185
+    if (!defined('WPINV_USE_TRANSACTIONS')) {
186
+        define('WPINV_USE_TRANSACTIONS', true);
187 187
     }
188 188
 
189
-    if ( WPINV_USE_TRANSACTIONS ) {
190
-        switch ( $type ) {
189
+    if (WPINV_USE_TRANSACTIONS) {
190
+        switch ($type) {
191 191
             case 'commit' :
192
-                $wpdb->query( 'COMMIT' );
192
+                $wpdb->query('COMMIT');
193 193
                 break;
194 194
             case 'rollback' :
195
-                $wpdb->query( 'ROLLBACK' );
195
+                $wpdb->query('ROLLBACK');
196 196
                 break;
197 197
             default :
198
-                $wpdb->query( 'START TRANSACTION' );
198
+                $wpdb->query('START TRANSACTION');
199 199
             break;
200 200
         }
201 201
     }
202 202
 }
203 203
 
204
-function wpinv_create_invoice( $args = array(), $data = array(), $wp_error = false ) {
204
+function wpinv_create_invoice($args = array(), $data = array(), $wp_error = false) {
205 205
     $default_args = array(
206 206
         'status'        => '',
207 207
         'user_id'       => null,
@@ -212,66 +212,66 @@  discard block
 block discarded – undo
212 212
         'post_type'     => 'wpi_invoice'
213 213
     );
214 214
 
215
-    $args           = wp_parse_args( $args, $default_args );
215
+    $args           = wp_parse_args($args, $default_args);
216 216
     $invoice_data   = array();
217 217
 
218
-    if ( $args['invoice_id'] > 0 ) {
219
-        $updating           = true;
218
+    if ($args['invoice_id'] > 0) {
219
+        $updating = true;
220 220
         $invoice_data['post_type']  = $args['post_type'];
221 221
         $invoice_data['ID']         = $args['invoice_id'];
222 222
     } else {
223 223
         $updating                       = false;
224 224
         $invoice_data['post_type']      = $args['post_type'];
225
-        $invoice_data['post_status']    = apply_filters( 'wpinv_default_invoice_status', 'wpi-pending' );
225
+        $invoice_data['post_status']    = apply_filters('wpinv_default_invoice_status', 'wpi-pending');
226 226
         $invoice_data['ping_status']    = 'closed';
227
-        $invoice_data['post_author']    = !empty( $args['user_id'] ) ? $args['user_id'] : get_current_user_id();
228
-        $invoice_data['post_title']     = wpinv_format_invoice_number( '0' );
229
-        $invoice_data['post_parent']    = absint( $args['parent'] );
230
-        if ( !empty( $args['created_date'] ) ) {
227
+        $invoice_data['post_author']    = !empty($args['user_id']) ? $args['user_id'] : get_current_user_id();
228
+        $invoice_data['post_title']     = wpinv_format_invoice_number('0');
229
+        $invoice_data['post_parent']    = absint($args['parent']);
230
+        if (!empty($args['created_date'])) {
231 231
             $invoice_data['post_date']      = $args['created_date'];
232
-            $invoice_data['post_date_gmt']  = get_gmt_from_date( $args['created_date'] );
232
+            $invoice_data['post_date_gmt']  = get_gmt_from_date($args['created_date']);
233 233
         }
234 234
     }
235 235
 
236
-    if ( $args['status'] ) {
237
-        if ( ! in_array( $args['status'], array_keys( wpinv_get_invoice_statuses() ) ) && 'wpi_invoice' === $invoice_data['post_type'] ) {
238
-            return new WP_Error( 'wpinv_invalid_invoice_status', wp_sprintf( __( 'Invalid invoice status: %s', 'invoicing' ), $args['status'] ) );
236
+    if ($args['status']) {
237
+        if (!in_array($args['status'], array_keys(wpinv_get_invoice_statuses())) && 'wpi_invoice' === $invoice_data['post_type']) {
238
+            return new WP_Error('wpinv_invalid_invoice_status', wp_sprintf(__('Invalid invoice status: %s', 'invoicing'), $args['status']));
239 239
         }
240
-        $invoice_data['post_status']    = $args['status'];
240
+        $invoice_data['post_status'] = $args['status'];
241 241
     }
242 242
 
243
-    if ( ! is_null( $args['user_note'] ) ) {
244
-        $invoice_data['post_excerpt']   = $args['user_note'];
243
+    if (!is_null($args['user_note'])) {
244
+        $invoice_data['post_excerpt'] = $args['user_note'];
245 245
     }
246 246
 
247
-    if ( $updating ) {
248
-        $invoice_id = wp_update_post( $invoice_data, true );
247
+    if ($updating) {
248
+        $invoice_id = wp_update_post($invoice_data, true);
249 249
     } else {
250
-        $invoice_id = wp_insert_post( apply_filters( 'wpinv_new_invoice_data', $invoice_data ), true );
250
+        $invoice_id = wp_insert_post(apply_filters('wpinv_new_invoice_data', $invoice_data), true);
251 251
     }
252 252
 
253
-    if ( is_wp_error( $invoice_id ) ) {
253
+    if (is_wp_error($invoice_id)) {
254 254
         return $wp_error ? $invoice_id : 0;
255 255
     }
256 256
     
257
-    $invoice = wpinv_get_invoice( $invoice_id );
258
-
259
-    if ( !$updating ) {
260
-        update_post_meta( $invoice_id, '_wpinv_key', apply_filters( 'wpinv_generate_invoice_key', uniqid( 'wpinv_' ) ) );
261
-        update_post_meta( $invoice_id, '_wpinv_currency', wpinv_get_currency() );
262
-        update_post_meta( $invoice_id, '_wpinv_include_tax', get_option( 'wpinv_prices_include_tax' ) );
263
-        update_post_meta( $invoice_id, '_wpinv_user_ip', wpinv_get_ip() );
264
-        update_post_meta( $invoice_id, '_wpinv_user_agent', wpinv_get_user_agent() );
265
-        update_post_meta( $invoice_id, '_wpinv_created_via', sanitize_text_field( $args['created_via'] ) );
257
+    $invoice = wpinv_get_invoice($invoice_id);
258
+
259
+    if (!$updating) {
260
+        update_post_meta($invoice_id, '_wpinv_key', apply_filters('wpinv_generate_invoice_key', uniqid('wpinv_')));
261
+        update_post_meta($invoice_id, '_wpinv_currency', wpinv_get_currency());
262
+        update_post_meta($invoice_id, '_wpinv_include_tax', get_option('wpinv_prices_include_tax'));
263
+        update_post_meta($invoice_id, '_wpinv_user_ip', wpinv_get_ip());
264
+        update_post_meta($invoice_id, '_wpinv_user_agent', wpinv_get_user_agent());
265
+        update_post_meta($invoice_id, '_wpinv_created_via', sanitize_text_field($args['created_via']));
266 266
         
267 267
         // Add invoice note
268
-        if ( ! $invoice->is_quote() ) {
269
-            $invoice->add_note( wp_sprintf( __( 'Invoice is created with status %s.', 'invoicing' ), wpinv_status_nicename( $invoice->status ) ) );
268
+        if (!$invoice->is_quote()) {
269
+            $invoice->add_note(wp_sprintf(__('Invoice is created with status %s.', 'invoicing'), wpinv_status_nicename($invoice->status)));
270 270
         }
271 271
         
272 272
     }
273 273
 
274
-    update_post_meta( $invoice_id, '_wpinv_version', WPINV_VERSION );
274
+    update_post_meta($invoice_id, '_wpinv_version', WPINV_VERSION);
275 275
 
276 276
     return $invoice;
277 277
 }
@@ -279,184 +279,184 @@  discard block
 block discarded – undo
279 279
 function wpinv_get_prefix() {
280 280
     $invoice_prefix = 'INV-';
281 281
     
282
-    return apply_filters( 'wpinv_get_prefix', $invoice_prefix );
282
+    return apply_filters('wpinv_get_prefix', $invoice_prefix);
283 283
 }
284 284
 
285 285
 function wpinv_get_business_logo() {
286
-    $business_logo = wpinv_get_option( 'logo' );
287
-    return apply_filters( 'wpinv_get_business_logo', $business_logo );
286
+    $business_logo = wpinv_get_option('logo');
287
+    return apply_filters('wpinv_get_business_logo', $business_logo);
288 288
 }
289 289
 
290 290
 function wpinv_get_business_name() {
291 291
     $business_name = wpinv_get_option('store_name');
292
-    return apply_filters( 'wpinv_get_business_name', $business_name );
292
+    return apply_filters('wpinv_get_business_name', $business_name);
293 293
 }
294 294
 
295 295
 function wpinv_get_blogname() {
296
-    return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
296
+    return wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
297 297
 }
298 298
 
299 299
 function wpinv_get_admin_email() {
300
-    $admin_email = get_option( 'admin_email' );
301
-    return apply_filters( 'wpinv_admin_email', $admin_email );
300
+    $admin_email = get_option('admin_email');
301
+    return apply_filters('wpinv_admin_email', $admin_email);
302 302
 }
303 303
 
304 304
 function wpinv_get_business_website() {
305
-    $business_website = home_url( '/' );
306
-    return apply_filters( 'wpinv_get_business_website', $business_website );
305
+    $business_website = home_url('/');
306
+    return apply_filters('wpinv_get_business_website', $business_website);
307 307
 }
308 308
 
309
-function wpinv_get_terms_text( $invoice_id = 0 ) {
309
+function wpinv_get_terms_text($invoice_id = 0) {
310 310
     $terms_text = '';
311
-    return apply_filters( 'wpinv_get_terms_text', $terms_text, $invoice_id );
311
+    return apply_filters('wpinv_get_terms_text', $terms_text, $invoice_id);
312 312
 }
313 313
 
314 314
 function wpinv_get_business_footer() {
315
-    $site_link = '<a target="_blank" href="' . esc_url( wpinv_get_business_website() ) . '">' . esc_html( wpinv_get_business_name() ) . '</a>';
316
-    $business_footer = wp_sprintf( __( 'Thanks for using %s', 'invoicing' ), $site_link );
317
-    return apply_filters( 'wpinv_get_business_footer', $business_footer );
315
+    $site_link = '<a target="_blank" href="' . esc_url(wpinv_get_business_website()) . '">' . esc_html(wpinv_get_business_name()) . '</a>';
316
+    $business_footer = wp_sprintf(__('Thanks for using %s', 'invoicing'), $site_link);
317
+    return apply_filters('wpinv_get_business_footer', $business_footer);
318 318
 }
319 319
 
320 320
 function wpinv_checkout_required_fields() {
321 321
     $required_fields = array();
322 322
     
323 323
     // Let payment gateways and other extensions determine if address fields should be required
324
-    $require_billing_details = apply_filters( 'wpinv_checkout_required_billing_details', wpinv_use_taxes() );
324
+    $require_billing_details = apply_filters('wpinv_checkout_required_billing_details', wpinv_use_taxes());
325 325
     
326
-    if ( $require_billing_details ) {
327
-		if ( (bool)wpinv_get_option( 'fname_mandatory' ) ) {
326
+    if ($require_billing_details) {
327
+		if ((bool) wpinv_get_option('fname_mandatory')) {
328 328
 			$required_fields['first_name'] = array(
329 329
 				'error_id' => 'invalid_first_name',
330
-				'error_message' => __( 'Please enter your first name', 'invoicing' )
330
+				'error_message' => __('Please enter your first name', 'invoicing')
331 331
 			);
332 332
 		}
333
-		if ( (bool)wpinv_get_option( 'address_mandatory' ) ) {
333
+		if ((bool) wpinv_get_option('address_mandatory')) {
334 334
 			$required_fields['address'] = array(
335 335
 				'error_id' => 'invalid_address',
336
-				'error_message' => __( 'Please enter your address', 'invoicing' )
336
+				'error_message' => __('Please enter your address', 'invoicing')
337 337
 			);
338 338
 		}
339
-		if ( (bool)wpinv_get_option( 'city_mandatory' ) ) {
339
+		if ((bool) wpinv_get_option('city_mandatory')) {
340 340
 			$required_fields['city'] = array(
341 341
 				'error_id' => 'invalid_city',
342
-				'error_message' => __( 'Please enter your billing city', 'invoicing' )
342
+				'error_message' => __('Please enter your billing city', 'invoicing')
343 343
 			);
344 344
 		}
345
-		if ( (bool)wpinv_get_option( 'state_mandatory' ) ) {
345
+		if ((bool) wpinv_get_option('state_mandatory')) {
346 346
 			$required_fields['state'] = array(
347 347
 				'error_id' => 'invalid_state',
348
-				'error_message' => __( 'Please enter billing state / province', 'invoicing' )
348
+				'error_message' => __('Please enter billing state / province', 'invoicing')
349 349
 			);
350 350
 		}
351
-		if ( (bool)wpinv_get_option( 'country_mandatory' ) ) {
351
+		if ((bool) wpinv_get_option('country_mandatory')) {
352 352
 			$required_fields['country'] = array(
353 353
 				'error_id' => 'invalid_country',
354
-				'error_message' => __( 'Please select your billing country', 'invoicing' )
354
+				'error_message' => __('Please select your billing country', 'invoicing')
355 355
 			);
356 356
 		}
357 357
     }
358 358
 
359
-    return apply_filters( 'wpinv_checkout_required_fields', $required_fields );
359
+    return apply_filters('wpinv_checkout_required_fields', $required_fields);
360 360
 }
361 361
 
362 362
 function wpinv_is_ssl_enforced() {
363
-    $ssl_enforced = wpinv_get_option( 'enforce_ssl', false );
364
-    return (bool) apply_filters( 'wpinv_is_ssl_enforced', $ssl_enforced );
363
+    $ssl_enforced = wpinv_get_option('enforce_ssl', false);
364
+    return (bool) apply_filters('wpinv_is_ssl_enforced', $ssl_enforced);
365 365
 }
366 366
 
367
-function wpinv_user_can_view_invoice( $post ) {
367
+function wpinv_user_can_view_invoice($post) {
368 368
     $allow = false;
369 369
 
370
-    $post = get_post( $post );
370
+    $post = get_post($post);
371 371
 
372
-    if ( empty( $post->ID ) ) {
372
+    if (empty($post->ID)) {
373 373
         return $allow;
374 374
     }
375 375
 
376
-    $invoice = wpinv_get_invoice( $post->ID );
377
-    if ( empty( $invoice->ID ) ) {
376
+    $invoice = wpinv_get_invoice($post->ID);
377
+    if (empty($invoice->ID)) {
378 378
         return $allow;
379 379
     }
380 380
 
381 381
     // Don't allow trash, draft status
382
-    if ( $invoice->has_status( array_keys( wpinv_get_invoice_statuses() ) ) ) {
383
-        if ( wpinv_current_user_can_manage_invoicing() || current_user_can( 'view_invoices', $invoice->ID ) ) { // Admin user
382
+    if ($invoice->has_status(array_keys(wpinv_get_invoice_statuses()))) {
383
+        if (wpinv_current_user_can_manage_invoicing() || current_user_can('view_invoices', $invoice->ID)) { // Admin user
384 384
             $allow = true;
385 385
         } else {
386
-            if ( is_user_logged_in() ) {
387
-                if ( (int)$invoice->get_user_id() === (int)get_current_user_id() ) {
386
+            if (is_user_logged_in()) {
387
+                if ((int) $invoice->get_user_id() === (int) get_current_user_id()) {
388 388
                     $allow = true;
389
-                } else if ( !wpinv_require_login_to_checkout() && isset( $_GET['invoice_key'] ) && $_GET['invoice_key'] === $invoice->get_key() ) {
389
+                } else if (!wpinv_require_login_to_checkout() && isset($_GET['invoice_key']) && $_GET['invoice_key'] === $invoice->get_key()) {
390 390
                     $allow = true;
391 391
                 }
392 392
             } else {
393
-                if ( !wpinv_require_login_to_checkout() && isset( $_GET['invoice_key'] ) && $_GET['invoice_key'] === $invoice->get_key() ) {
393
+                if (!wpinv_require_login_to_checkout() && isset($_GET['invoice_key']) && $_GET['invoice_key'] === $invoice->get_key()) {
394 394
                     $allow = true;
395 395
                 }
396 396
             }
397 397
         }
398 398
     }
399 399
     
400
-    return apply_filters( 'wpinv_can_print_invoice', $allow, $post, $invoice );
400
+    return apply_filters('wpinv_can_print_invoice', $allow, $post, $invoice);
401 401
 }
402 402
 
403 403
 function wpinv_schedule_events() {
404 404
     // hourly, daily and twicedaily
405
-    if ( !wp_next_scheduled( 'wpinv_register_schedule_event_twicedaily' ) ) {
406
-        wp_schedule_event( current_time( 'timestamp' ), 'twicedaily', 'wpinv_register_schedule_event_twicedaily' );
405
+    if (!wp_next_scheduled('wpinv_register_schedule_event_twicedaily')) {
406
+        wp_schedule_event(current_time('timestamp'), 'twicedaily', 'wpinv_register_schedule_event_twicedaily');
407 407
     }
408 408
 }
409
-add_action( 'wp', 'wpinv_schedule_events' );
409
+add_action('wp', 'wpinv_schedule_events');
410 410
 
411 411
 function wpinv_schedule_event_twicedaily() {
412 412
     wpinv_email_payment_reminders();
413 413
 }
414
-add_action( 'wpinv_register_schedule_event_twicedaily', 'wpinv_schedule_event_twicedaily' );
414
+add_action('wpinv_register_schedule_event_twicedaily', 'wpinv_schedule_event_twicedaily');
415 415
 
416 416
 function wpinv_require_login_to_checkout() {
417
-    $return = wpinv_get_option( 'login_to_checkout', false );
418
-    return (bool) apply_filters( 'wpinv_require_login_to_checkout', $return );
417
+    $return = wpinv_get_option('login_to_checkout', false);
418
+    return (bool) apply_filters('wpinv_require_login_to_checkout', $return);
419 419
 }
420 420
 
421
-function wpinv_sequential_number_active( $type = '' ) {
422
-    $check = apply_filters( 'wpinv_pre_check_sequential_number_active', null, $type );
423
-    if ( null !== $check ) {
421
+function wpinv_sequential_number_active($type = '') {
422
+    $check = apply_filters('wpinv_pre_check_sequential_number_active', null, $type);
423
+    if (null !== $check) {
424 424
         return $check;
425 425
     }
426 426
     
427
-    return wpinv_get_option( 'sequential_invoice_number' );
427
+    return wpinv_get_option('sequential_invoice_number');
428 428
 }
429 429
 
430
-function wpinv_switch_to_locale( $locale = NULL ) {
430
+function wpinv_switch_to_locale($locale = NULL) {
431 431
     global $invoicing, $wpi_switch_locale;
432 432
 
433
-    if ( ! empty( $invoicing ) && function_exists( 'switch_to_locale' ) ) {
434
-        $locale = empty( $locale ) ? get_locale() : $locale;
433
+    if (!empty($invoicing) && function_exists('switch_to_locale')) {
434
+        $locale = empty($locale) ? get_locale() : $locale;
435 435
 
436
-        switch_to_locale( $locale );
436
+        switch_to_locale($locale);
437 437
 
438 438
         $wpi_switch_locale = $locale;
439 439
 
440
-        add_filter( 'plugin_locale', 'get_locale' );
440
+        add_filter('plugin_locale', 'get_locale');
441 441
 
442 442
         $invoicing->load_textdomain();
443 443
 
444
-        do_action( 'wpinv_switch_to_locale', $locale );
444
+        do_action('wpinv_switch_to_locale', $locale);
445 445
     }
446 446
 }
447 447
 
448 448
 function wpinv_restore_locale() {
449 449
     global $invoicing, $wpi_switch_locale;
450 450
     
451
-    if ( ! empty( $invoicing ) && function_exists( 'restore_previous_locale' ) && $wpi_switch_locale ) {
451
+    if (!empty($invoicing) && function_exists('restore_previous_locale') && $wpi_switch_locale) {
452 452
         restore_previous_locale();
453 453
 
454 454
         $wpi_switch_locale = NULL;
455 455
 
456
-        remove_filter( 'plugin_locale', 'get_locale' );
456
+        remove_filter('plugin_locale', 'get_locale');
457 457
 
458 458
         $invoicing->load_textdomain();
459 459
 
460
-        do_action( 'wpinv_restore_locale' );
460
+        do_action('wpinv_restore_locale');
461 461
     }
462 462
 }
463 463
\ No newline at end of file
Please login to merge, or discard this patch.
includes/wpinv-subscription.php 1 patch
Spacing   +168 added lines, -168 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 // Exit if accessed directly
4
-if ( ! defined( 'ABSPATH' ) ) {
4
+if (!defined('ABSPATH')) {
5 5
 	exit;
6 6
 }
7 7
 
@@ -38,15 +38,15 @@  discard block
 block discarded – undo
38 38
 	 * @since  1.0.0
39 39
 	 * @return void
40 40
 	 */
41
-	function __construct( $_id_or_object = 0, $_by_profile_id = false ) {
41
+	function __construct($_id_or_object = 0, $_by_profile_id = false) {
42 42
 
43 43
 		$this->subs_db = new WPInv_Subscriptions_DB;
44 44
 
45
-		if( $_by_profile_id ) {
45
+		if ($_by_profile_id) {
46 46
 
47
-			$_sub = $this->subs_db->get_by( 'profile_id', $_id_or_object );
47
+			$_sub = $this->subs_db->get_by('profile_id', $_id_or_object);
48 48
 
49
-			if( empty( $_sub ) ) {
49
+			if (empty($_sub)) {
50 50
 				return false;
51 51
 			}
52 52
 
@@ -54,7 +54,7 @@  discard block
 block discarded – undo
54 54
 
55 55
 		}
56 56
 
57
-		return $this->setup_subscription( $_id_or_object );
57
+		return $this->setup_subscription($_id_or_object);
58 58
 	}
59 59
 
60 60
 	/**
@@ -63,34 +63,34 @@  discard block
 block discarded – undo
63 63
 	 * @since  1.0.0
64 64
 	 * @return void
65 65
 	 */
66
-	private function setup_subscription( $id_or_object = 0 ) {
66
+	private function setup_subscription($id_or_object = 0) {
67 67
 
68
-		if( empty( $id_or_object ) ) {
68
+		if (empty($id_or_object)) {
69 69
 			return false;
70 70
 		}
71 71
 
72
-		if( is_numeric( $id_or_object ) ) {
72
+		if (is_numeric($id_or_object)) {
73 73
 
74
-			$sub = $this->subs_db->get( $id_or_object );
74
+			$sub = $this->subs_db->get($id_or_object);
75 75
 
76
-		} elseif( is_object( $id_or_object ) ) {
76
+		} elseif (is_object($id_or_object)) {
77 77
 
78 78
 			$sub = $id_or_object;
79 79
 
80 80
 		}
81 81
 
82
-		if( empty( $sub ) ) {
82
+		if (empty($sub)) {
83 83
 			return false;
84 84
 		}
85 85
 
86
-		foreach( $sub as $key => $value ) {
86
+		foreach ($sub as $key => $value) {
87 87
 			$this->$key = $value;
88 88
 		}
89 89
 
90
-		$this->customer = get_userdata( $this->customer_id );
91
-		$this->gateway  = wpinv_get_payment_gateway( $this->parent_payment_id );
90
+		$this->customer = get_userdata($this->customer_id);
91
+		$this->gateway  = wpinv_get_payment_gateway($this->parent_payment_id);
92 92
 
93
-		do_action( 'wpinv_recurring_setup_subscription', $this );
93
+		do_action('wpinv_recurring_setup_subscription', $this);
94 94
 
95 95
 		return $this;
96 96
 	}
@@ -100,15 +100,15 @@  discard block
 block discarded – undo
100 100
 	 *
101 101
 	 * @since 1.0.0
102 102
 	 */
103
-	public function __get( $key ) {
103
+	public function __get($key) {
104 104
 
105
-		if( method_exists( $this, 'get_' . $key ) ) {
105
+		if (method_exists($this, 'get_' . $key)) {
106 106
 
107
-			return call_user_func( array( $this, 'get_' . $key ) );
107
+			return call_user_func(array($this, 'get_' . $key));
108 108
 
109 109
 		} else {
110 110
 
111
-			return new WP_Error( 'wpinv-subscription-invalid-property', sprintf( __( 'Can\'t get property %s', 'invoicing' ), $key ) );
111
+			return new WP_Error('wpinv-subscription-invalid-property', sprintf(__('Can\'t get property %s', 'invoicing'), $key));
112 112
 
113 113
 		}
114 114
 
@@ -121,9 +121,9 @@  discard block
 block discarded – undo
121 121
 	 * @param  array  $data Array of attributes for a subscription
122 122
 	 * @return mixed  false if data isn't passed and class not instantiated for creation
123 123
 	 */
124
-	public function create( $data = array() ) {
124
+	public function create($data = array()) {
125 125
 
126
-		if ( $this->id != 0 ) {
126
+		if ($this->id != 0) {
127 127
 			return false;
128 128
 		}
129 129
 
@@ -142,11 +142,11 @@  discard block
 block discarded – undo
142 142
 			'profile_id'        => '',
143 143
 		);
144 144
 
145
-		$args = wp_parse_args( $data, $defaults );
145
+		$args = wp_parse_args($data, $defaults);
146 146
 
147
-		if( $args['expiration'] && strtotime( 'NOW', current_time( 'timestamp' ) ) > strtotime( $args['expiration'], current_time( 'timestamp' ) ) ) {
147
+		if ($args['expiration'] && strtotime('NOW', current_time('timestamp')) > strtotime($args['expiration'], current_time('timestamp'))) {
148 148
 
149
-			if( 'active' == $args['status'] || 'trialling' == $args['status'] ) {
149
+			if ('active' == $args['status'] || 'trialling' == $args['status']) {
150 150
 
151 151
 				// Force an active subscription to expired if expiration date is in the past
152 152
 				$args['status'] = 'expired';
@@ -154,13 +154,13 @@  discard block
 block discarded – undo
154 154
 			}
155 155
 		}
156 156
 
157
-		do_action( 'wpinv_subscription_pre_create', $args );
157
+		do_action('wpinv_subscription_pre_create', $args);
158 158
 
159
-		$id = $this->subs_db->insert( $args, 'subscription' );
159
+		$id = $this->subs_db->insert($args, 'subscription');
160 160
 
161
-		do_action( 'wpinv_subscription_post_create', $id, $args );
161
+		do_action('wpinv_subscription_post_create', $id, $args);
162 162
 
163
-		return $this->setup_subscription( $id );
163
+		return $this->setup_subscription($id);
164 164
 
165 165
 	}
166 166
 
@@ -171,11 +171,11 @@  discard block
 block discarded – undo
171 171
 	 * @param  array $args Array of fields to update
172 172
 	 * @return bool
173 173
 	 */
174
-	public function update( $args = array() ) {
174
+	public function update($args = array()) {
175 175
 
176
-		$ret = $this->subs_db->update( $this->id, $args );
176
+		$ret = $this->subs_db->update($this->id, $args);
177 177
 
178
-		do_action( 'wpinv_recurring_update_subscription', $this->id, $args, $this );
178
+		do_action('wpinv_recurring_update_subscription', $this->id, $args, $this);
179 179
 
180 180
 		return $ret;
181 181
 
@@ -188,7 +188,7 @@  discard block
 block discarded – undo
188 188
 	 * @return bool
189 189
 	 */
190 190
 	public function delete() {
191
-		return $this->subs_db->delete( $this->id );
191
+		return $this->subs_db->delete($this->id);
192 192
 	}
193 193
 
194 194
     /**
@@ -208,14 +208,14 @@  discard block
 block discarded – undo
208 208
      * @return array
209 209
      */
210 210
     public function get_child_payments() {
211
-        $payments = get_posts( array(
211
+        $payments = get_posts(array(
212 212
             'post_parent'    => (int) $this->parent_payment_id,
213 213
             'posts_per_page' => '999',
214
-            'post_status'    => array( 'publish', 'wpi-processing', 'wpi-renewal' ),
214
+            'post_status'    => array('publish', 'wpi-processing', 'wpi-renewal'),
215 215
             'orderby'           => 'ID',
216 216
             'order'             => 'DESC',
217 217
             'post_type'      => 'wpi_invoice'
218
-        ) );
218
+        ));
219 219
 
220 220
         return $payments;
221 221
     }
@@ -228,9 +228,9 @@  discard block
 block discarded – undo
228 228
      */
229 229
     public function get_total_payments() {
230 230
         $child_payments = $this->get_child_payments();
231
-        $total_payments = !empty( $child_payments ) ? count( $child_payments ) : 0;
231
+        $total_payments = !empty($child_payments) ? count($child_payments) : 0;
232 232
 
233
-        if ( 'pending' != $this->status ) {
233
+        if ('pending' != $this->status) {
234 234
                 $total_payments++;
235 235
         }
236 236
 
@@ -244,9 +244,9 @@  discard block
 block discarded – undo
244 244
      * @return int
245 245
      */
246 246
     public function get_times_billed() {
247
-        $times_billed = (int)$this->get_total_payments();
247
+        $times_billed = (int) $this->get_total_payments();
248 248
 
249
-        if ( ! empty( $this->trial_period ) && $times_billed > 0 ) {
249
+        if (!empty($this->trial_period) && $times_billed > 0) {
250 250
             $times_billed--;
251 251
         }
252 252
 
@@ -260,51 +260,51 @@  discard block
 block discarded – undo
260 260
      * @param  array $args Array of values for the payment, including amount and transaction ID
261 261
      * @return bool
262 262
      */
263
-    public function add_payment( $args = array() ) {
264
-        if ( ! $this->parent_payment_id ) {
263
+    public function add_payment($args = array()) {
264
+        if (!$this->parent_payment_id) {
265 265
             return false;
266 266
         }
267 267
 
268
-        $args = wp_parse_args( $args, array(
268
+        $args = wp_parse_args($args, array(
269 269
             'amount'         => '',
270 270
             'transaction_id' => '',
271 271
             'gateway'        => ''
272
-        ) );
272
+        ));
273 273
         
274
-        if ( empty( $args['transaction_id'] ) || $this->payment_exists( $args['transaction_id'] ) ) {
274
+        if (empty($args['transaction_id']) || $this->payment_exists($args['transaction_id'])) {
275 275
             return false;
276 276
         }
277 277
         
278
-        $parent_invoice = wpinv_get_invoice( $this->parent_payment_id );
279
-        if ( empty( $parent_invoice->ID ) ) {
278
+        $parent_invoice = wpinv_get_invoice($this->parent_payment_id);
279
+        if (empty($parent_invoice->ID)) {
280 280
             return false;
281 281
         }
282 282
 
283 283
         $invoice = new WPInv_Invoice();
284
-        $invoice->set( 'post_type', 'wpi_invoice' );
285
-        $invoice->set( 'parent_invoice', $this->parent_payment_id );
286
-        $invoice->set( 'currency', $parent_invoice->get_currency() );
287
-        $invoice->set( 'transaction_id', $args['transaction_id'] );
288
-        $invoice->set( 'key', $parent_invoice->generate_key() );
289
-        $invoice->set( 'ip', $parent_invoice->ip );
290
-        $invoice->set( 'user_id', $parent_invoice->get_user_id() );
291
-        $invoice->set( 'first_name', $parent_invoice->get_first_name() );
292
-        $invoice->set( 'last_name', $parent_invoice->get_last_name() );
293
-        $invoice->set( 'phone', $parent_invoice->phone );
294
-        $invoice->set( 'address', $parent_invoice->address );
295
-        $invoice->set( 'city', $parent_invoice->city );
296
-        $invoice->set( 'country', $parent_invoice->country );
297
-        $invoice->set( 'state', $parent_invoice->state );
298
-        $invoice->set( 'zip', $parent_invoice->zip );
299
-        $invoice->set( 'company', $parent_invoice->company );
300
-        $invoice->set( 'vat_number', $parent_invoice->vat_number );
301
-        $invoice->set( 'vat_rate', $parent_invoice->vat_rate );
302
-        $invoice->set( 'adddress_confirmed', $parent_invoice->adddress_confirmed );
303
-
304
-        if ( empty( $args['gateway'] ) ) {
305
-            $invoice->set( 'gateway', $parent_invoice->get_gateway() );
284
+        $invoice->set('post_type', 'wpi_invoice');
285
+        $invoice->set('parent_invoice', $this->parent_payment_id);
286
+        $invoice->set('currency', $parent_invoice->get_currency());
287
+        $invoice->set('transaction_id', $args['transaction_id']);
288
+        $invoice->set('key', $parent_invoice->generate_key());
289
+        $invoice->set('ip', $parent_invoice->ip);
290
+        $invoice->set('user_id', $parent_invoice->get_user_id());
291
+        $invoice->set('first_name', $parent_invoice->get_first_name());
292
+        $invoice->set('last_name', $parent_invoice->get_last_name());
293
+        $invoice->set('phone', $parent_invoice->phone);
294
+        $invoice->set('address', $parent_invoice->address);
295
+        $invoice->set('city', $parent_invoice->city);
296
+        $invoice->set('country', $parent_invoice->country);
297
+        $invoice->set('state', $parent_invoice->state);
298
+        $invoice->set('zip', $parent_invoice->zip);
299
+        $invoice->set('company', $parent_invoice->company);
300
+        $invoice->set('vat_number', $parent_invoice->vat_number);
301
+        $invoice->set('vat_rate', $parent_invoice->vat_rate);
302
+        $invoice->set('adddress_confirmed', $parent_invoice->adddress_confirmed);
303
+
304
+        if (empty($args['gateway'])) {
305
+            $invoice->set('gateway', $parent_invoice->get_gateway());
306 306
         } else {
307
-            $invoice->set( 'gateway', $args['gateway'] );
307
+            $invoice->set('gateway', $args['gateway']);
308 308
         }
309 309
         
310 310
         $recurring_details = $parent_invoice->get_recurring_details();
@@ -312,11 +312,11 @@  discard block
 block discarded – undo
312 312
         // increase the earnings for each item in the subscription
313 313
         $items = $recurring_details['cart_details'];
314 314
         
315
-        if ( $items ) {        
315
+        if ($items) {        
316 316
             $add_items      = array();
317 317
             $cart_details   = array();
318 318
             
319
-            foreach ( $items as $item ) {
319
+            foreach ($items as $item) {
320 320
                 $add_item             = array();
321 321
                 $add_item['id']       = $item['id'];
322 322
                 $add_item['quantity'] = $item['quantity'];
@@ -326,7 +326,7 @@  discard block
 block discarded – undo
326 326
                 break;
327 327
             }
328 328
             
329
-            $invoice->set( 'items', $add_items );
329
+            $invoice->set('items', $add_items);
330 330
             $invoice->cart_details = $cart_details;
331 331
         }
332 332
         
@@ -336,32 +336,32 @@  discard block
 block discarded – undo
336 336
         $tax                = $recurring_details['tax'];
337 337
         $discount           = $recurring_details['discount'];
338 338
         
339
-        if ( $discount > 0 ) {
340
-            $invoice->set( 'discount_code', $parent_invoice->discount_code );
339
+        if ($discount > 0) {
340
+            $invoice->set('discount_code', $parent_invoice->discount_code);
341 341
         }
342 342
         
343
-        $invoice->subtotal = wpinv_round_amount( $subtotal );
344
-        $invoice->tax      = wpinv_round_amount( $tax );
345
-        $invoice->discount = wpinv_round_amount( $discount );
346
-        $invoice->total    = wpinv_round_amount( $total );
343
+        $invoice->subtotal = wpinv_round_amount($subtotal);
344
+        $invoice->tax      = wpinv_round_amount($tax);
345
+        $invoice->discount = wpinv_round_amount($discount);
346
+        $invoice->total    = wpinv_round_amount($total);
347 347
 
348
-        $invoice  = apply_filters( 'wpinv_subscription_add_payment_save', $invoice, $this, $args );
348
+        $invoice = apply_filters('wpinv_subscription_add_payment_save', $invoice, $this, $args);
349 349
 
350 350
         $invoice->save();
351
-        $invoice->update_meta( '_wpinv_subscription_id', $this->id );
351
+        $invoice->update_meta('_wpinv_subscription_id', $this->id);
352 352
         
353
-        if ( !empty( $invoice->ID ) ) {
354
-            wpinv_update_payment_status( $invoice->ID, 'publish' );
353
+        if (!empty($invoice->ID)) {
354
+            wpinv_update_payment_status($invoice->ID, 'publish');
355 355
             sleep(1);
356
-            wpinv_update_payment_status( $invoice->ID, 'wpi-renewal' );
356
+            wpinv_update_payment_status($invoice->ID, 'wpi-renewal');
357 357
             
358
-            $invoice = wpinv_get_invoice( $invoice->ID );
358
+            $invoice = wpinv_get_invoice($invoice->ID);
359 359
 
360 360
 			// Send email notifications.
361
-			wpinv_completed_invoice_notification( $invoice->ID );
361
+			wpinv_completed_invoice_notification($invoice->ID);
362 362
 
363
-            do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this );
364
-            do_action( 'wpinv_recurring_record_payment', $invoice->ID, $this->parent_payment_id, $args['amount'], $args['transaction_id'] );
363
+            do_action('wpinv_recurring_add_subscription_payment', $invoice, $this);
364
+            do_action('wpinv_recurring_record_payment', $invoice->ID, $this->parent_payment_id, $args['amount'], $args['transaction_id']);
365 365
             
366 366
             return $invoice->ID;
367 367
         }
@@ -377,12 +377,12 @@  discard block
 block discarded – undo
377 377
 	 */
378 378
 	public function get_transaction_id() {
379 379
 
380
-		if( empty( $this->transaction_id ) ) {
380
+		if (empty($this->transaction_id)) {
381 381
 
382
-			$txn_id = wpinv_get_payment_transaction_id( $this->parent_payment_id );
382
+			$txn_id = wpinv_get_payment_transaction_id($this->parent_payment_id);
383 383
 
384
-			if( ! empty( $txn_id ) && (int) $this->parent_payment_id !== (int) $txn_id ) {
385
-				$this->set_transaction_id( $txn_id );
384
+			if (!empty($txn_id) && (int) $this->parent_payment_id !== (int) $txn_id) {
385
+				$this->set_transaction_id($txn_id);
386 386
 			}
387 387
 
388 388
 		}
@@ -397,8 +397,8 @@  discard block
 block discarded – undo
397 397
 	 * @since  1.0.0.4
398 398
 	 * @return bool
399 399
 	 */
400
-	public function set_transaction_id( $txn_id = '' ) {
401
-		$this->update( array( 'transaction_id' => $txn_id ) );
400
+	public function set_transaction_id($txn_id = '') {
401
+		$this->update(array('transaction_id' => $txn_id));
402 402
 		$this->transaction_id = $txn_id;
403 403
 	}
404 404
 
@@ -414,35 +414,35 @@  discard block
 block discarded – undo
414 414
 
415 415
 
416 416
 		// Determine what date to use as the start for the new expiration calculation
417
-		if( $expires > current_time( 'timestamp' ) && $this->is_active() ) {
417
+		if ($expires > current_time('timestamp') && $this->is_active()) {
418 418
 
419
-			$base_date  = $expires;
419
+			$base_date = $expires;
420 420
 
421 421
 		} else {
422 422
 
423
-			$base_date  = current_time( 'timestamp' );
423
+			$base_date = current_time('timestamp');
424 424
 
425 425
 		}
426 426
 
427
-		$last_day = wpinv_cal_days_in_month( CAL_GREGORIAN, date( 'n', $base_date ), date( 'Y', $base_date ) );
427
+		$last_day = wpinv_cal_days_in_month(CAL_GREGORIAN, date('n', $base_date), date('Y', $base_date));
428 428
 
429 429
 
430 430
 		$frequency = isset($this->frequency) ? $this->frequency : 1;
431
-		$expiration = date( 'Y-m-d H:i:s', strtotime( '+' . $frequency . ' ' . $this->period  . ' 23:59:59', $base_date ) );
431
+		$expiration = date('Y-m-d H:i:s', strtotime('+' . $frequency . ' ' . $this->period . ' 23:59:59', $base_date));
432 432
 
433
-		if( date( 'j', $base_date ) == $last_day && 'day' != $this->period ) {
434
-			$expiration = date( 'Y-m-d H:i:s', strtotime( $expiration . ' +2 days' ) );
433
+		if (date('j', $base_date) == $last_day && 'day' != $this->period) {
434
+			$expiration = date('Y-m-d H:i:s', strtotime($expiration . ' +2 days'));
435 435
 		}
436 436
 
437
-		$expiration  = apply_filters( 'wpinv_subscription_renewal_expiration', $expiration, $this->id, $this );
437
+		$expiration  = apply_filters('wpinv_subscription_renewal_expiration', $expiration, $this->id, $this);
438 438
 
439
-		do_action( 'wpinv_subscription_pre_renew', $this->id, $expiration, $this );
439
+		do_action('wpinv_subscription_pre_renew', $this->id, $expiration, $this);
440 440
 
441 441
 		$this->status = 'active';
442 442
 		$times_billed = $this->get_times_billed();
443 443
 
444 444
 		// Complete subscription if applicable
445
-		if ( $this->bill_times > 0 && $times_billed >= $this->bill_times ) {
445
+		if ($this->bill_times > 0 && $times_billed >= $this->bill_times) {
446 446
 			$this->complete();
447 447
 			$this->status = 'completed';
448 448
 		}
@@ -452,10 +452,10 @@  discard block
 block discarded – undo
452 452
 			'status'     => $this->status,
453 453
 		);
454 454
 
455
-        $this->subs_db->update( $this->id, $args );
455
+        $this->subs_db->update($this->id, $args);
456 456
 
457
-		do_action( 'wpinv_subscription_post_renew', $this->id, $expiration, $this );
458
-		do_action( 'wpinv_recurring_set_subscription_status', $this->id, $this->status, $this );
457
+		do_action('wpinv_subscription_post_renew', $this->id, $expiration, $this);
458
+		do_action('wpinv_recurring_set_subscription_status', $this->id, $this->status, $this);
459 459
 
460 460
 	}
461 461
 
@@ -470,7 +470,7 @@  discard block
 block discarded – undo
470 470
 	public function complete() {
471 471
 
472 472
 		// Only mark a subscription as complete if it's not already cancelled.
473
-		if ( 'cancelled' === $this->status ) {
473
+		if ('cancelled' === $this->status) {
474 474
 			return;
475 475
 		}
476 476
 
@@ -478,11 +478,11 @@  discard block
 block discarded – undo
478 478
 			'status' => 'completed'
479 479
 		);
480 480
 
481
-		if( $this->subs_db->update( $this->id, $args ) ) {
481
+		if ($this->subs_db->update($this->id, $args)) {
482 482
 
483 483
 			$this->status = 'completed';
484 484
 
485
-			do_action( 'wpinv_subscription_completed', $this->id, $this );
485
+			do_action('wpinv_subscription_completed', $this->id, $this);
486 486
 
487 487
 		}
488 488
 
@@ -497,15 +497,15 @@  discard block
 block discarded – undo
497 497
 	 * @param  $check_expiration bool True if expiration date should be checked with merchant processor before expiring
498 498
 	 * @return void
499 499
 	 */
500
-	public function expire( $check_expiration = false ) {
500
+	public function expire($check_expiration = false) {
501 501
 
502 502
 		$expiration = $this->expiration;
503 503
 
504
-		if( $check_expiration ) {
504
+		if ($check_expiration) {
505 505
 
506 506
 			// check_expiration() updates $this->expiration so compare to $expiration above
507 507
 
508
-			if( $expiration < $this->get_expiration() && current_time( 'timestamp' ) < $this->get_expiration_time() ) {
508
+			if ($expiration < $this->get_expiration() && current_time('timestamp') < $this->get_expiration_time()) {
509 509
 
510 510
 				return false; // Do not mark as expired since real expiration date is in the future
511 511
 			}
@@ -516,11 +516,11 @@  discard block
 block discarded – undo
516 516
 			'status' => 'expired'
517 517
 		);
518 518
 
519
-		if( $this->subs_db->update( $this->id, $args ) ) {
519
+		if ($this->subs_db->update($this->id, $args)) {
520 520
 
521 521
 			$this->status = 'expired';
522 522
 
523
-			do_action( 'wpinv_subscription_expired', $this->id, $this );
523
+			do_action('wpinv_subscription_expired', $this->id, $this);
524 524
 
525 525
 		}
526 526
 
@@ -538,11 +538,11 @@  discard block
 block discarded – undo
538 538
 			'status' => 'failing'
539 539
 		);
540 540
 
541
-		if( $this->subs_db->update( $this->id, $args ) ) {
541
+		if ($this->subs_db->update($this->id, $args)) {
542 542
 
543 543
 			$this->status = 'failing';
544 544
 
545
-			do_action( 'wpinv_subscription_failing', $this->id, $this );
545
+			do_action('wpinv_subscription_failing', $this->id, $this);
546 546
 
547 547
 
548 548
 		}
@@ -556,7 +556,7 @@  discard block
 block discarded – undo
556 556
      * @return void
557 557
      */
558 558
     public function cancel() {
559
-        if ( 'cancelled' === $this->status ) {
559
+        if ('cancelled' === $this->status) {
560 560
             return; // Already cancelled
561 561
         }
562 562
 
@@ -564,20 +564,20 @@  discard block
 block discarded – undo
564 564
             'status' => 'cancelled'
565 565
         );
566 566
 
567
-        if ( $this->subs_db->update( $this->id, $args ) ) {
568
-            if ( is_user_logged_in() ) {
569
-                $userdata = get_userdata( get_current_user_id() );
567
+        if ($this->subs_db->update($this->id, $args)) {
568
+            if (is_user_logged_in()) {
569
+                $userdata = get_userdata(get_current_user_id());
570 570
                 $user     = $userdata->display_name;
571 571
             } else {
572
-                $user = __( 'gateway', 'invoicing' );
572
+                $user = __('gateway', 'invoicing');
573 573
             }
574 574
 
575
-            $note = sprintf( __( 'Subscription has been cancelled by %s', 'invoicing' ), $user );
576
-            wpinv_insert_payment_note( $this->parent_payment_id, $note, '', '', true );
575
+            $note = sprintf(__('Subscription has been cancelled by %s', 'invoicing'), $user);
576
+            wpinv_insert_payment_note($this->parent_payment_id, $note, '', '', true);
577 577
 
578 578
             $this->status = 'cancelled';
579 579
 
580
-            do_action( 'wpinv_subscription_cancelled', $this->id, $this );
580
+            do_action('wpinv_subscription_cancelled', $this->id, $this);
581 581
         }
582 582
     }
583 583
 
@@ -592,10 +592,10 @@  discard block
 block discarded – undo
592 592
 	 */
593 593
 	public function can_cancel() {
594 594
         $ret = false;
595
-	    if( $this->gateway === 'manual' || in_array( $this->status, $this->get_cancellable_statuses() ) ) {
595
+	    if ($this->gateway === 'manual' || in_array($this->status, $this->get_cancellable_statuses())) {
596 596
             $ret = true;
597 597
         }
598
-		return apply_filters( 'wpinv_subscription_can_cancel', $ret, $this );
598
+		return apply_filters('wpinv_subscription_can_cancel', $ret, $this);
599 599
 	}
600 600
 
601 601
     /**
@@ -606,7 +606,7 @@  discard block
 block discarded – undo
606 606
      * @return      array
607 607
      */
608 608
     public function get_cancellable_statuses() {
609
-        return apply_filters( 'wpinv_recurring_cancellable_statuses', array( 'active', 'trialling', 'failing' ) );
609
+        return apply_filters('wpinv_recurring_cancellable_statuses', array('active', 'trialling', 'failing'));
610 610
     }
611 611
 
612 612
 	/**
@@ -617,9 +617,9 @@  discard block
 block discarded – undo
617 617
 	 */
618 618
 	public function get_cancel_url() {
619 619
 
620
-		$url = wp_nonce_url( add_query_arg( array( 'wpinv_action' => 'cancel_subscription', 'sub_id' => $this->id ) ), 'wpinv-recurring-cancel' );
620
+		$url = wp_nonce_url(add_query_arg(array('wpinv_action' => 'cancel_subscription', 'sub_id' => $this->id)), 'wpinv-recurring-cancel');
621 621
 
622
-		return apply_filters( 'wpinv_subscription_cancel_url', $url, $this );
622
+		return apply_filters('wpinv_subscription_cancel_url', $url, $this);
623 623
 	}
624 624
 
625 625
 	/**
@@ -633,7 +633,7 @@  discard block
 block discarded – undo
633 633
 	 */
634 634
 	public function can_renew() {
635 635
 
636
-		return apply_filters( 'wpinv_subscription_can_renew', true, $this );
636
+		return apply_filters('wpinv_subscription_can_renew', true, $this);
637 637
 	}
638 638
 
639 639
 	/**
@@ -644,9 +644,9 @@  discard block
 block discarded – undo
644 644
 	 */
645 645
 	public function get_renew_url() {
646 646
 
647
-		$url = wp_nonce_url( add_query_arg( array( 'wpinv_action' => 'renew_subscription', 'sub_id' => $this->id ) ), 'wpinv-recurring-renew' );
647
+		$url = wp_nonce_url(add_query_arg(array('wpinv_action' => 'renew_subscription', 'sub_id' => $this->id)), 'wpinv-recurring-renew');
648 648
 
649
-		return apply_filters( 'wpinv_subscription_renew_url', $url, $this );
649
+		return apply_filters('wpinv_subscription_renew_url', $url, $this);
650 650
 	}
651 651
 
652 652
 	/**
@@ -656,7 +656,7 @@  discard block
 block discarded – undo
656 656
 	 * @return bool
657 657
 	 */
658 658
 	public function can_update() {
659
-		return apply_filters( 'wpinv_subscription_can_update', false, $this );
659
+		return apply_filters('wpinv_subscription_can_update', false, $this);
660 660
 	}
661 661
 
662 662
 	/**
@@ -667,9 +667,9 @@  discard block
 block discarded – undo
667 667
 	 */
668 668
 	public function get_update_url() {
669 669
 
670
-		$url = add_query_arg( array( 'action' => 'update', 'subscription_id' => $this->id ) );
670
+		$url = add_query_arg(array('action' => 'update', 'subscription_id' => $this->id));
671 671
 
672
-		return apply_filters( 'wpinv_subscription_update_url', $url, $this );
672
+		return apply_filters('wpinv_subscription_update_url', $url, $this);
673 673
 	}
674 674
 
675 675
 	/**
@@ -682,11 +682,11 @@  discard block
 block discarded – undo
682 682
 
683 683
 		$ret = false;
684 684
 
685
-		if( ! $this->is_expired() && ( $this->status == 'active' || $this->status == 'cancelled' || $this->status == 'trialling' ) ) {
685
+		if (!$this->is_expired() && ($this->status == 'active' || $this->status == 'cancelled' || $this->status == 'trialling')) {
686 686
 			$ret = true;
687 687
 		}
688 688
 
689
-		return apply_filters( 'wpinv_subscription_is_active', $ret, $this->id, $this );
689
+		return apply_filters('wpinv_subscription_is_active', $ret, $this->id, $this);
690 690
 
691 691
 	}
692 692
 
@@ -700,26 +700,26 @@  discard block
 block discarded – undo
700 700
 
701 701
 		$ret = false;
702 702
 
703
-		if ( $this->status == 'expired' ) {
703
+		if ($this->status == 'expired') {
704 704
 
705 705
 			$ret = true;
706 706
 
707
-		} elseif( 'active' === $this->status || 'cancelled' === $this->status || $this->status == 'trialling'  ) {
707
+		} elseif ('active' === $this->status || 'cancelled' === $this->status || $this->status == 'trialling') {
708 708
 
709 709
 			$ret        = false;
710 710
 			$expiration = $this->get_expiration_time();
711 711
 
712
-			if( $expiration && strtotime( 'NOW', current_time( 'timestamp' ) ) > $expiration ) {
712
+			if ($expiration && strtotime('NOW', current_time('timestamp')) > $expiration) {
713 713
 				$ret = true;
714 714
 
715
-				if ( 'active' === $this->status || $this->status == 'trialling'  ) {
715
+				if ('active' === $this->status || $this->status == 'trialling') {
716 716
 					$this->expire();
717 717
 				}
718 718
 			}
719 719
 
720 720
 		}
721 721
 
722
-		return apply_filters( 'wpinv_subscription_is_expired', $ret, $this->id, $this );
722
+		return apply_filters('wpinv_subscription_is_expired', $ret, $this->id, $this);
723 723
 
724 724
 	}
725 725
 
@@ -740,7 +740,7 @@  discard block
 block discarded – undo
740 740
 	 * @return int
741 741
 	 */
742 742
 	public function get_expiration_time() {
743
-		return strtotime( $this->expiration, current_time( 'timestamp' ) );
743
+		return strtotime($this->expiration, current_time('timestamp'));
744 744
 	}
745 745
 
746 746
 	/**
@@ -764,37 +764,37 @@  discard block
 block discarded – undo
764 764
 	 */
765 765
 	public function get_status_label() {
766 766
 
767
-		switch( $this->get_status() ) {
767
+		switch ($this->get_status()) {
768 768
 			case 'active' :
769
-				$status = __( 'Active', 'invoicing' );
769
+				$status = __('Active', 'invoicing');
770 770
 				break;
771 771
 
772 772
 			case 'cancelled' :
773
-				$status = __( 'Cancelled', 'invoicing' );
773
+				$status = __('Cancelled', 'invoicing');
774 774
 				break;
775 775
 
776 776
 			case 'expired' :
777
-				$status = __( 'Expired', 'invoicing' );
777
+				$status = __('Expired', 'invoicing');
778 778
 				break;
779 779
 
780 780
 			case 'pending' :
781
-				$status = __( 'Pending', 'invoicing' );
781
+				$status = __('Pending', 'invoicing');
782 782
 				break;
783 783
 
784 784
 			case 'failing' :
785
-				$status = __( 'Failing', 'invoicing' );
785
+				$status = __('Failing', 'invoicing');
786 786
 				break;
787 787
 
788 788
 			case 'trialling' :
789
-				$status = __( 'Trialling', 'invoicing' );
789
+				$status = __('Trialling', 'invoicing');
790 790
 				break;
791 791
 
792 792
 			case 'completed' :
793
-				$status = __( 'Completed', 'invoicing' );
793
+				$status = __('Completed', 'invoicing');
794 794
 				break;
795 795
 
796 796
 			default:
797
-				$status = ucfirst( $this->get_status() );
797
+				$status = ucfirst($this->get_status());
798 798
 				break;
799 799
 		}
800 800
 
@@ -809,51 +809,51 @@  discard block
 block discarded – undo
809 809
      */
810 810
     public function get_status_label_html() {
811 811
 
812
-        switch( $get_status = $this->get_status() ) {
812
+        switch ($get_status = $this->get_status()) {
813 813
             case 'active' :
814
-                $status = __( 'Active', 'invoicing' );
814
+                $status = __('Active', 'invoicing');
815 815
                 $class = 'label-info';
816 816
                 break;
817 817
 
818 818
             case 'cancelled' :
819
-                $status = __( 'Cancelled', 'invoicing' );
819
+                $status = __('Cancelled', 'invoicing');
820 820
                 $class = 'label-danger';
821 821
                 break;
822 822
 
823 823
             case 'expired' :
824
-                $status = __( 'Expired', 'invoicing' );
824
+                $status = __('Expired', 'invoicing');
825 825
                 $class = 'label-default';
826 826
                 break;
827 827
 
828 828
             case 'pending' :
829
-                $status = __( 'Pending', 'invoicing' );
829
+                $status = __('Pending', 'invoicing');
830 830
                 $class = 'label-primary';
831 831
                 break;
832 832
 
833 833
             case 'failing' :
834
-                $status = __( 'Failing', 'invoicing' );
834
+                $status = __('Failing', 'invoicing');
835 835
                 $class = 'label-danger';
836 836
                 break;
837 837
 
838 838
             case 'trialling' :
839
-                $status = __( 'Trialling', 'invoicing' );
839
+                $status = __('Trialling', 'invoicing');
840 840
                 $class = 'label-info';
841 841
                 break;
842 842
 
843 843
             case 'completed' :
844
-                $status = __( 'Completed', 'invoicing' );
844
+                $status = __('Completed', 'invoicing');
845 845
                 $class = 'label-success';
846 846
                 break;
847 847
 
848 848
             default:
849
-                $status = ucfirst( $this->get_status() );
849
+                $status = ucfirst($this->get_status());
850 850
                 $class = 'label-default';
851 851
                 break;
852 852
         }
853 853
 
854 854
         $label = '<span class="sub-status label label-sub-' . $get_status . ' ' . $class . '">' . $status . '</span>';
855 855
 
856
-        return apply_filters( 'wpinv_subscription_status_label_html', $label, $get_status, $status );
856
+        return apply_filters('wpinv_subscription_status_label_html', $label, $get_status, $status);
857 857
     }
858 858
 
859 859
     /**
@@ -863,18 +863,18 @@  discard block
 block discarded – undo
863 863
      * @param  string $txn_id The transaction ID from the merchant processor
864 864
      * @return bool
865 865
      */
866
-    public function payment_exists( $txn_id = '' ) {
866
+    public function payment_exists($txn_id = '') {
867 867
         global $wpdb;
868 868
 
869
-        if ( empty( $txn_id ) ) {
869
+        if (empty($txn_id)) {
870 870
             return false;
871 871
         }
872 872
 
873
-        $txn_id = esc_sql( $txn_id );
873
+        $txn_id = esc_sql($txn_id);
874 874
 
875
-        $purchase = $wpdb->get_var( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wpinv_transaction_id' AND meta_value = '{$txn_id}' LIMIT 1" );
875
+        $purchase = $wpdb->get_var("SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wpinv_transaction_id' AND meta_value = '{$txn_id}' LIMIT 1");
876 876
 
877
-        if ( $purchase != null ) {
877
+        if ($purchase != null) {
878 878
             return true;
879 879
         }
880 880
 
Please login to merge, or discard this patch.
includes/class-wpinv-invoice.php 1 patch
Spacing   +619 added lines, -619 removed lines patch added patch discarded remove patch
@@ -7,12 +7,12 @@  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
 final class WPInv_Invoice {
15
-    public $ID  = 0;
15
+    public $ID = 0;
16 16
     public $title;
17 17
     public $post_type;
18 18
     
@@ -65,17 +65,17 @@  discard block
 block discarded – undo
65 65
     public $full_name = '';
66 66
     public $parent_invoice = 0;
67 67
     
68
-    public function __construct( $invoice_id = false ) {
69
-        if( empty( $invoice_id ) ) {
68
+    public function __construct($invoice_id = false) {
69
+        if (empty($invoice_id)) {
70 70
             return false;
71 71
         }
72 72
 
73
-        $this->setup_invoice( $invoice_id );
73
+        $this->setup_invoice($invoice_id);
74 74
     }
75 75
 
76
-    public function get( $key ) {
77
-        if ( method_exists( $this, 'get_' . $key ) ) {
78
-            $value = call_user_func( array( $this, 'get_' . $key ) );
76
+    public function get($key) {
77
+        if (method_exists($this, 'get_' . $key)) {
78
+            $value = call_user_func(array($this, 'get_' . $key));
79 79
         } else {
80 80
             $value = $this->$key;
81 81
         }
@@ -83,51 +83,51 @@  discard block
 block discarded – undo
83 83
         return $value;
84 84
     }
85 85
 
86
-    public function set( $key, $value ) {
87
-        $ignore = array( 'items', 'cart_details', 'fees', '_ID' );
86
+    public function set($key, $value) {
87
+        $ignore = array('items', 'cart_details', 'fees', '_ID');
88 88
 
89
-        if ( $key === 'status' ) {
89
+        if ($key === 'status') {
90 90
             $this->old_status = $this->status;
91 91
         }
92 92
 
93
-        if ( ! in_array( $key, $ignore ) ) {
94
-            $this->pending[ $key ] = $value;
93
+        if (!in_array($key, $ignore)) {
94
+            $this->pending[$key] = $value;
95 95
         }
96 96
 
97
-        if( '_ID' !== $key ) {
97
+        if ('_ID' !== $key) {
98 98
             $this->$key = $value;
99 99
         }
100 100
     }
101 101
 
102
-    public function _isset( $name ) {
103
-        if ( property_exists( $this, $name) ) {
104
-            return false === empty( $this->$name );
102
+    public function _isset($name) {
103
+        if (property_exists($this, $name)) {
104
+            return false === empty($this->$name);
105 105
         } else {
106 106
             return null;
107 107
         }
108 108
     }
109 109
 
110
-    private function setup_invoice( $invoice_id ) {
110
+    private function setup_invoice($invoice_id) {
111 111
         $this->pending = array();
112 112
 
113
-        if ( empty( $invoice_id ) ) {
113
+        if (empty($invoice_id)) {
114 114
             return false;
115 115
         }
116 116
 
117
-        $invoice = get_post( $invoice_id );
117
+        $invoice = get_post($invoice_id);
118 118
 
119
-        if( !$invoice || is_wp_error( $invoice ) ) {
119
+        if (!$invoice || is_wp_error($invoice)) {
120 120
             return false;
121 121
         }
122 122
 
123
-        if( !('wpi_invoice' == $invoice->post_type OR 'wpi_quote' == $invoice->post_type) ) {
123
+        if (!('wpi_invoice' == $invoice->post_type OR 'wpi_quote' == $invoice->post_type)) {
124 124
             return false;
125 125
         }
126 126
 
127
-        do_action( 'wpinv_pre_setup_invoice', $this, $invoice_id );
127
+        do_action('wpinv_pre_setup_invoice', $this, $invoice_id);
128 128
         
129 129
         // Primary Identifier
130
-        $this->ID              = absint( $invoice_id );
130
+        $this->ID              = absint($invoice_id);
131 131
         $this->post_type       = $invoice->post_type;
132 132
         
133 133
         // We have a payment, get the generic payment_meta item to reduce calls to it
@@ -139,7 +139,7 @@  discard block
 block discarded – undo
139 139
         $this->post_status     = $this->status;
140 140
         $this->mode            = $this->setup_mode();
141 141
         $this->parent_invoice  = $invoice->post_parent;
142
-        $this->post_name       = $this->setup_post_name( $invoice );
142
+        $this->post_name       = $this->setup_post_name($invoice);
143 143
         $this->status_nicename = $this->setup_status_nicename($invoice->post_status);
144 144
 
145 145
         // Items
@@ -161,8 +161,8 @@  discard block
 block discarded – undo
161 161
         
162 162
         // User based
163 163
         $this->ip              = $this->setup_ip();
164
-        $this->user_id         = !empty( $invoice->post_author ) ? $invoice->post_author : get_current_user_id();///$this->setup_user_id();
165
-        $this->email           = get_the_author_meta( 'email', $this->user_id );
164
+        $this->user_id         = !empty($invoice->post_author) ? $invoice->post_author : get_current_user_id(); ///$this->setup_user_id();
165
+        $this->email           = get_the_author_meta('email', $this->user_id);
166 166
         
167 167
         $this->user_info       = $this->setup_user_info();
168 168
                 
@@ -171,7 +171,7 @@  discard block
 block discarded – undo
171 171
         $this->company         = $this->user_info['company'];
172 172
         $this->vat_number      = $this->user_info['vat_number'];
173 173
         $this->vat_rate        = $this->user_info['vat_rate'];
174
-        $this->adddress_confirmed  = $this->user_info['adddress_confirmed'];
174
+        $this->adddress_confirmed = $this->user_info['adddress_confirmed'];
175 175
         $this->address         = $this->user_info['address'];
176 176
         $this->city            = $this->user_info['city'];
177 177
         $this->country         = $this->user_info['country'];
@@ -186,39 +186,39 @@  discard block
 block discarded – undo
186 186
         // Other Identifiers
187 187
         $this->key             = $this->setup_invoice_key();
188 188
         $this->number          = $this->setup_invoice_number();
189
-        $this->title           = !empty( $invoice->post_title ) ? $invoice->post_title : $this->number;
189
+        $this->title           = !empty($invoice->post_title) ? $invoice->post_title : $this->number;
190 190
         
191
-        $this->full_name       = trim( $this->first_name . ' '. $this->last_name );
191
+        $this->full_name       = trim($this->first_name . ' ' . $this->last_name);
192 192
         
193 193
         // Allow extensions to add items to this object via hook
194
-        do_action( 'wpinv_setup_invoice', $this, $invoice_id );
194
+        do_action('wpinv_setup_invoice', $this, $invoice_id);
195 195
 
196 196
         return true;
197 197
     }
198 198
     
199
-    private function setup_status_nicename( $status ) {
200
-        $all_invoice_statuses  = wpinv_get_invoice_statuses( true, true, $this );
199
+    private function setup_status_nicename($status) {
200
+        $all_invoice_statuses = wpinv_get_invoice_statuses(true, true, $this);
201 201
 
202
-        if ( $this->is_quote() && class_exists( 'Wpinv_Quotes_Shared' ) ) {
203
-            $all_invoice_statuses  = Wpinv_Quotes_Shared::wpinv_get_quote_statuses();
202
+        if ($this->is_quote() && class_exists('Wpinv_Quotes_Shared')) {
203
+            $all_invoice_statuses = Wpinv_Quotes_Shared::wpinv_get_quote_statuses();
204 204
         }
205
-        $status   = isset( $all_invoice_statuses[$status] ) ? $all_invoice_statuses[$status] : __( $status, 'invoicing' );
205
+        $status = isset($all_invoice_statuses[$status]) ? $all_invoice_statuses[$status] : __($status, 'invoicing');
206 206
 
207
-        return apply_filters( 'setup_status_nicename', $status );
207
+        return apply_filters('setup_status_nicename', $status);
208 208
     }
209 209
     
210
-    private function setup_post_name( $post = NULL ) {
210
+    private function setup_post_name($post = NULL) {
211 211
         global $wpdb;
212 212
         
213 213
         $post_name = '';
214 214
         
215
-        if ( !empty( $post ) ) {
216
-            if( !empty( $post->post_name ) ) {
215
+        if (!empty($post)) {
216
+            if (!empty($post->post_name)) {
217 217
                 $post_name = $post->post_name;
218
-            } else if ( !empty( $post->ID ) ) {
219
-                $post_name = wpinv_generate_post_name( $post->ID );
218
+            } else if (!empty($post->ID)) {
219
+                $post_name = wpinv_generate_post_name($post->ID);
220 220
 
221
-                $wpdb->update( $wpdb->posts, array( 'post_name' => $post_name ), array( 'ID' => $post->ID ) );
221
+                $wpdb->update($wpdb->posts, array('post_name' => $post_name), array('ID' => $post->ID));
222 222
             }
223 223
         }
224 224
 
@@ -226,12 +226,12 @@  discard block
 block discarded – undo
226 226
     }
227 227
     
228 228
     private function setup_due_date() {
229
-        $due_date = $this->get_meta( '_wpinv_due_date' );
229
+        $due_date = $this->get_meta('_wpinv_due_date');
230 230
         
231
-        if ( empty( $due_date ) ) {
232
-            $overdue_time = strtotime( $this->date ) + ( DAY_IN_SECONDS * absint( wpinv_get_option( 'overdue_days' ) ) );
233
-            $due_date = date_i18n( 'Y-m-d', $overdue_time );
234
-        } else if ( $due_date == 'none' ) {
231
+        if (empty($due_date)) {
232
+            $overdue_time = strtotime($this->date) + (DAY_IN_SECONDS * absint(wpinv_get_option('overdue_days')));
233
+            $due_date = date_i18n('Y-m-d', $overdue_time);
234
+        } else if ($due_date == 'none') {
235 235
             $due_date = '';
236 236
         }
237 237
         
@@ -239,66 +239,66 @@  discard block
 block discarded – undo
239 239
     }
240 240
     
241 241
     private function setup_completed_date() {
242
-        $invoice = get_post( $this->ID );
242
+        $invoice = get_post($this->ID);
243 243
 
244
-        if ( 'wpi-pending' == $invoice->post_status || 'preapproved' == $invoice->post_status ) {
244
+        if ('wpi-pending' == $invoice->post_status || 'preapproved' == $invoice->post_status) {
245 245
             return false; // This invoice was never paid
246 246
         }
247 247
 
248
-        $date = ( $date = $this->get_meta( '_wpinv_completed_date', true ) ) ? $date : $invoice->modified_date;
248
+        $date = ($date = $this->get_meta('_wpinv_completed_date', true)) ? $date : $invoice->modified_date;
249 249
 
250 250
         return $date;
251 251
     }
252 252
     
253 253
     private function setup_cart_details() {
254
-        $cart_details = isset( $this->payment_meta['cart_details'] ) ? maybe_unserialize( $this->payment_meta['cart_details'] ) : array();
254
+        $cart_details = isset($this->payment_meta['cart_details']) ? maybe_unserialize($this->payment_meta['cart_details']) : array();
255 255
         return $cart_details;
256 256
     }
257 257
     
258 258
     public function array_convert() {
259
-        return get_object_vars( $this );
259
+        return get_object_vars($this);
260 260
     }
261 261
     
262 262
     private function setup_items() {
263
-        $items = isset( $this->payment_meta['items'] ) ? maybe_unserialize( $this->payment_meta['items'] ) : array();
263
+        $items = isset($this->payment_meta['items']) ? maybe_unserialize($this->payment_meta['items']) : array();
264 264
         return $items;
265 265
     }
266 266
     
267 267
     private function setup_fees() {
268
-        $payment_fees = isset( $this->payment_meta['fees'] ) ? $this->payment_meta['fees'] : array();
268
+        $payment_fees = isset($this->payment_meta['fees']) ? $this->payment_meta['fees'] : array();
269 269
         return $payment_fees;
270 270
     }
271 271
         
272 272
     private function setup_currency() {
273
-        $currency = isset( $this->payment_meta['currency'] ) ? $this->payment_meta['currency'] : apply_filters( 'wpinv_currency_default', wpinv_get_currency(), $this );
273
+        $currency = isset($this->payment_meta['currency']) ? $this->payment_meta['currency'] : apply_filters('wpinv_currency_default', wpinv_get_currency(), $this);
274 274
         return $currency;
275 275
     }
276 276
     
277 277
     private function setup_discount() {
278 278
         //$discount = $this->get_meta( '_wpinv_discount', true );
279
-        $discount = (float)$this->subtotal - ( (float)$this->total - (float)$this->tax - (float)$this->fees_total );
280
-        if ( $discount < 0 ) {
279
+        $discount = (float) $this->subtotal - ((float) $this->total - (float) $this->tax - (float) $this->fees_total);
280
+        if ($discount < 0) {
281 281
             $discount = 0;
282 282
         }
283
-        $discount = wpinv_round_amount( $discount );
283
+        $discount = wpinv_round_amount($discount);
284 284
         
285 285
         return $discount;
286 286
     }
287 287
     
288 288
     private function setup_discount_code() {
289
-        $discount_code = !empty( $this->discounts ) ? $this->discounts : $this->get_meta( '_wpinv_discount_code', true );
289
+        $discount_code = !empty($this->discounts) ? $this->discounts : $this->get_meta('_wpinv_discount_code', true);
290 290
         return $discount_code;
291 291
     }
292 292
     
293 293
     private function setup_tax() {
294
-        $tax = $this->get_meta( '_wpinv_tax', true );
294
+        $tax = $this->get_meta('_wpinv_tax', true);
295 295
 
296 296
         // We don't have tax as it's own meta and no meta was passed
297
-        if ( '' === $tax ) {            
298
-            $tax = isset( $this->payment_meta['tax'] ) ? $this->payment_meta['tax'] : 0;
297
+        if ('' === $tax) {            
298
+            $tax = isset($this->payment_meta['tax']) ? $this->payment_meta['tax'] : 0;
299 299
         }
300 300
         
301
-        if ( $tax < 0 ) {
301
+        if ($tax < 0) {
302 302
             $tax = 0;
303 303
         }
304 304
 
@@ -309,9 +309,9 @@  discard block
 block discarded – undo
309 309
         $subtotal     = 0;
310 310
         $cart_details = $this->cart_details;
311 311
 
312
-        if ( is_array( $cart_details ) ) {
313
-            foreach ( $cart_details as $item ) {
314
-                if ( isset( $item['subtotal'] ) ) {
312
+        if (is_array($cart_details)) {
313
+            foreach ($cart_details as $item) {
314
+                if (isset($item['subtotal'])) {
315 315
                     $subtotal += $item['subtotal'];
316 316
                 }
317 317
             }
@@ -325,23 +325,23 @@  discard block
 block discarded – undo
325 325
     }
326 326
     
327 327
     private function setup_discounts() {
328
-        $discounts = ! empty( $this->payment_meta['user_info']['discount'] ) ? $this->payment_meta['user_info']['discount'] : array();
328
+        $discounts = !empty($this->payment_meta['user_info']['discount']) ? $this->payment_meta['user_info']['discount'] : array();
329 329
         return $discounts;
330 330
     }
331 331
     
332 332
     private function setup_total() {
333
-        $amount = $this->get_meta( '_wpinv_total', true );
333
+        $amount = $this->get_meta('_wpinv_total', true);
334 334
 
335
-        if ( empty( $amount ) && '0.00' != $amount ) {
336
-            $meta   = $this->get_meta( '_wpinv_payment_meta', true );
337
-            $meta   = maybe_unserialize( $meta );
335
+        if (empty($amount) && '0.00' != $amount) {
336
+            $meta   = $this->get_meta('_wpinv_payment_meta', true);
337
+            $meta   = maybe_unserialize($meta);
338 338
 
339
-            if ( isset( $meta['amount'] ) ) {
339
+            if (isset($meta['amount'])) {
340 340
                 $amount = $meta['amount'];
341 341
             }
342 342
         }
343 343
 
344
-        if($amount < 0){
344
+        if ($amount < 0) {
345 345
             $amount = 0;
346 346
         }
347 347
 
@@ -349,13 +349,13 @@  discard block
 block discarded – undo
349 349
     }
350 350
     
351 351
     private function setup_mode() {
352
-        return $this->get_meta( '_wpinv_mode' );
352
+        return $this->get_meta('_wpinv_mode');
353 353
     }
354 354
 
355 355
     private function setup_gateway() {
356
-        $gateway = $this->get_meta( '_wpinv_gateway' );
356
+        $gateway = $this->get_meta('_wpinv_gateway');
357 357
         
358
-        if ( empty( $gateway ) && 'publish' === $this->status ) {
358
+        if (empty($gateway) && 'publish' === $this->status) {
359 359
             $gateway = 'manual';
360 360
         }
361 361
         
@@ -363,23 +363,23 @@  discard block
 block discarded – undo
363 363
     }
364 364
     
365 365
     private function setup_gateway_title() {
366
-        $gateway_title = wpinv_get_gateway_checkout_label( $this->gateway );
366
+        $gateway_title = wpinv_get_gateway_checkout_label($this->gateway);
367 367
         return $gateway_title;
368 368
     }
369 369
 
370 370
     private function setup_transaction_id() {
371
-        $transaction_id = $this->get_meta( '_wpinv_transaction_id' );
371
+        $transaction_id = $this->get_meta('_wpinv_transaction_id');
372 372
 
373
-        if ( empty( $transaction_id ) || (int) $transaction_id === (int) $this->ID ) {
373
+        if (empty($transaction_id) || (int) $transaction_id === (int) $this->ID) {
374 374
             $gateway        = $this->gateway;
375
-            $transaction_id = apply_filters( 'wpinv_get_invoice_transaction_id-' . $gateway, $this->ID );
375
+            $transaction_id = apply_filters('wpinv_get_invoice_transaction_id-' . $gateway, $this->ID);
376 376
         }
377 377
 
378 378
         return $transaction_id;
379 379
     }
380 380
 
381 381
     private function setup_ip() {
382
-        $ip = $this->get_meta( '_wpinv_user_ip' );
382
+        $ip = $this->get_meta('_wpinv_user_ip');
383 383
         return $ip;
384 384
     }
385 385
 
@@ -389,62 +389,62 @@  discard block
 block discarded – undo
389 389
     ///}
390 390
         
391 391
     private function setup_first_name() {
392
-        $first_name = $this->get_meta( '_wpinv_first_name' );
392
+        $first_name = $this->get_meta('_wpinv_first_name');
393 393
         return $first_name;
394 394
     }
395 395
     
396 396
     private function setup_last_name() {
397
-        $last_name = $this->get_meta( '_wpinv_last_name' );
397
+        $last_name = $this->get_meta('_wpinv_last_name');
398 398
         return $last_name;
399 399
     }
400 400
     
401 401
     private function setup_company() {
402
-        $company = $this->get_meta( '_wpinv_company' );
402
+        $company = $this->get_meta('_wpinv_company');
403 403
         return $company;
404 404
     }
405 405
     
406 406
     private function setup_vat_number() {
407
-        $vat_number = $this->get_meta( '_wpinv_vat_number' );
407
+        $vat_number = $this->get_meta('_wpinv_vat_number');
408 408
         return $vat_number;
409 409
     }
410 410
     
411 411
     private function setup_vat_rate() {
412
-        $vat_rate = $this->get_meta( '_wpinv_vat_rate' );
412
+        $vat_rate = $this->get_meta('_wpinv_vat_rate');
413 413
         return $vat_rate;
414 414
     }
415 415
     
416 416
     private function setup_adddress_confirmed() {
417
-        $adddress_confirmed = $this->get_meta( '_wpinv_adddress_confirmed' );
417
+        $adddress_confirmed = $this->get_meta('_wpinv_adddress_confirmed');
418 418
         return $adddress_confirmed;
419 419
     }
420 420
     
421 421
     private function setup_phone() {
422
-        $phone = $this->get_meta( '_wpinv_phone' );
422
+        $phone = $this->get_meta('_wpinv_phone');
423 423
         return $phone;
424 424
     }
425 425
     
426 426
     private function setup_address() {
427
-        $address = $this->get_meta( '_wpinv_address', true );
427
+        $address = $this->get_meta('_wpinv_address', true);
428 428
         return $address;
429 429
     }
430 430
     
431 431
     private function setup_city() {
432
-        $city = $this->get_meta( '_wpinv_city', true );
432
+        $city = $this->get_meta('_wpinv_city', true);
433 433
         return $city;
434 434
     }
435 435
     
436 436
     private function setup_country() {
437
-        $country = $this->get_meta( '_wpinv_country', true );
437
+        $country = $this->get_meta('_wpinv_country', true);
438 438
         return $country;
439 439
     }
440 440
     
441 441
     private function setup_state() {
442
-        $state = $this->get_meta( '_wpinv_state', true );
442
+        $state = $this->get_meta('_wpinv_state', true);
443 443
         return $state;
444 444
     }
445 445
     
446 446
     private function setup_zip() {
447
-        $zip = $this->get_meta( '_wpinv_zip', true );
447
+        $zip = $this->get_meta('_wpinv_zip', true);
448 448
         return $zip;
449 449
     }
450 450
 
@@ -453,7 +453,7 @@  discard block
 block discarded – undo
453 453
             'user_id'        => $this->user_id,
454 454
             'first_name'     => $this->first_name,
455 455
             'last_name'      => $this->last_name,
456
-            'email'          => get_the_author_meta( 'email', $this->user_id ),
456
+            'email'          => get_the_author_meta('email', $this->user_id),
457 457
             'phone'          => $this->phone,
458 458
             'address'        => $this->address,
459 459
             'city'           => $this->city,
@@ -468,12 +468,12 @@  discard block
 block discarded – undo
468 468
         );
469 469
         
470 470
         $user_info = array();
471
-        if ( isset( $this->payment_meta['user_info'] ) ) {
472
-            $user_info = maybe_unserialize( $this->payment_meta['user_info'] );
471
+        if (isset($this->payment_meta['user_info'])) {
472
+            $user_info = maybe_unserialize($this->payment_meta['user_info']);
473 473
             
474
-            if ( !empty( $user_info ) && isset( $user_info['user_id'] ) && $post = get_post( $this->ID ) ) {
474
+            if (!empty($user_info) && isset($user_info['user_id']) && $post = get_post($this->ID)) {
475 475
                 $this->user_id = $post->post_author;
476
-                $this->email = get_the_author_meta( 'email', $this->user_id );
476
+                $this->email = get_the_author_meta('email', $this->user_id);
477 477
                 
478 478
                 $user_info['user_id'] = $this->user_id;
479 479
                 $user_info['email'] = $this->email;
@@ -482,13 +482,13 @@  discard block
 block discarded – undo
482 482
             }
483 483
         }
484 484
         
485
-        $user_info    = wp_parse_args( $user_info, $defaults );
485
+        $user_info = wp_parse_args($user_info, $defaults);
486 486
         
487 487
         // Get the user, but only if it's been created
488
-        $user = get_userdata( $this->user_id );
488
+        $user = get_userdata($this->user_id);
489 489
         
490
-        if ( !empty( $user ) && $user->ID > 0 ) {
491
-            if ( empty( $user_info ) ) {
490
+        if (!empty($user) && $user->ID > 0) {
491
+            if (empty($user_info)) {
492 492
                 $user_info = array(
493 493
                     'user_id'    => $user->ID,
494 494
                     'first_name' => $user->first_name,
@@ -497,23 +497,23 @@  discard block
 block discarded – undo
497 497
                     'discount'   => '',
498 498
                 );
499 499
             } else {
500
-                foreach ( $user_info as $key => $value ) {
501
-                    if ( ! empty( $value ) ) {
500
+                foreach ($user_info as $key => $value) {
501
+                    if (!empty($value)) {
502 502
                         continue;
503 503
                     }
504 504
 
505
-                    switch( $key ) {
505
+                    switch ($key) {
506 506
                         case 'user_id':
507
-                            $user_info[ $key ] = $user->ID;
507
+                            $user_info[$key] = $user->ID;
508 508
                             break;
509 509
                         case 'first_name':
510
-                            $user_info[ $key ] = $user->first_name;
510
+                            $user_info[$key] = $user->first_name;
511 511
                             break;
512 512
                         case 'last_name':
513
-                            $user_info[ $key ] = $user->last_name;
513
+                            $user_info[$key] = $user->last_name;
514 514
                             break;
515 515
                         case 'email':
516
-                            $user_info[ $key ] = $user->user_email;
516
+                            $user_info[$key] = $user->user_email;
517 517
                             break;
518 518
                     }
519 519
                 }
@@ -524,25 +524,25 @@  discard block
 block discarded – undo
524 524
     }
525 525
 
526 526
     private function setup_invoice_key() {
527
-        $key = $this->get_meta( '_wpinv_key', true );
527
+        $key = $this->get_meta('_wpinv_key', true);
528 528
         
529 529
         return $key;
530 530
     }
531 531
 
532 532
     private function setup_invoice_number() {
533
-        $number = $this->get_meta( '_wpinv_number', true );
533
+        $number = $this->get_meta('_wpinv_number', true);
534 534
 
535
-        if ( !$number ) {
535
+        if (!$number) {
536 536
             $number = $this->ID;
537 537
 
538
-            if ( $this->status == 'auto-draft' ) {
539
-                if ( wpinv_sequential_number_active( $this->post_type ) ) {
540
-                    $next_number = wpinv_get_next_invoice_number( $this->post_type );
538
+            if ($this->status == 'auto-draft') {
539
+                if (wpinv_sequential_number_active($this->post_type)) {
540
+                    $next_number = wpinv_get_next_invoice_number($this->post_type);
541 541
                     $number      = $next_number;
542 542
                 }
543 543
             }
544 544
             
545
-            $number = wpinv_format_invoice_number( $number, $this->post_type );
545
+            $number = wpinv_format_invoice_number($number, $this->post_type);
546 546
         }
547 547
 
548 548
         return $number;
@@ -551,10 +551,10 @@  discard block
 block discarded – undo
551 551
     private function insert_invoice() {
552 552
         global $wpdb;
553 553
 
554
-        if ( empty( $this->post_type ) ) {
555
-            if ( !empty( $this->ID ) && $post_type = get_post_type( $this->ID ) ) {
554
+        if (empty($this->post_type)) {
555
+            if (!empty($this->ID) && $post_type = get_post_type($this->ID)) {
556 556
                 $this->post_type = $post_type;
557
-            } else if ( !empty( $this->parent_invoice ) && $post_type = get_post_type( $this->parent_invoice ) ) {
557
+            } else if (!empty($this->parent_invoice) && $post_type = get_post_type($this->parent_invoice)) {
558 558
                 $this->post_type = $post_type;
559 559
             } else {
560 560
                 $this->post_type = 'wpi_invoice';
@@ -562,16 +562,16 @@  discard block
 block discarded – undo
562 562
         }
563 563
 
564 564
         $invoice_number = $this->ID;
565
-        if ( $number = $this->get_meta( '_wpinv_number', true ) ) {
565
+        if ($number = $this->get_meta('_wpinv_number', true)) {
566 566
             $invoice_number = $number;
567 567
         }
568 568
 
569
-        if ( empty( $this->key ) ) {
569
+        if (empty($this->key)) {
570 570
             $this->key = self::generate_key();
571 571
             $this->pending['key'] = $this->key;
572 572
         }
573 573
 
574
-        if ( empty( $this->ip ) ) {
574
+        if (empty($this->ip)) {
575 575
             $this->ip = wpinv_get_ip();
576 576
             $this->pending['ip'] = $this->ip;
577 577
         }
@@ -608,61 +608,61 @@  discard block
 block discarded – undo
608 608
                         'post_status'   => $this->status,
609 609
                         'post_author'   => $this->user_id,
610 610
                         'post_type'     => $this->post_type,
611
-                        'post_date'     => ! empty( $this->date ) && $this->date != '0000-00-00 00:00:00' ? $this->date : current_time( 'mysql' ),
612
-                        'post_date_gmt' => ! empty( $this->date ) && $this->date != '0000-00-00 00:00:00' ? get_gmt_from_date( $this->date ) : current_time( 'mysql', 1 ),
611
+                        'post_date'     => !empty($this->date) && $this->date != '0000-00-00 00:00:00' ? $this->date : current_time('mysql'),
612
+                        'post_date_gmt' => !empty($this->date) && $this->date != '0000-00-00 00:00:00' ? get_gmt_from_date($this->date) : current_time('mysql', 1),
613 613
                         'post_parent'   => $this->parent_invoice,
614 614
                     );
615
-        $args = apply_filters( 'wpinv_insert_invoice_args', $post_data, $this );
615
+        $args = apply_filters('wpinv_insert_invoice_args', $post_data, $this);
616 616
 
617 617
         // Create a blank invoice
618
-        if ( !empty( $this->ID ) ) {
619
-            $args['ID']         = $this->ID;
618
+        if (!empty($this->ID)) {
619
+            $args['ID'] = $this->ID;
620 620
 
621
-            $invoice_id = wp_update_post( $args, true );
621
+            $invoice_id = wp_update_post($args, true);
622 622
         } else {
623
-            $invoice_id = wp_insert_post( $args, true );
623
+            $invoice_id = wp_insert_post($args, true);
624 624
         }
625 625
 
626
-        if ( is_wp_error( $invoice_id ) ) {
626
+        if (is_wp_error($invoice_id)) {
627 627
             return false;
628 628
         }
629 629
 
630
-        if ( !empty( $invoice_id ) ) {
630
+        if (!empty($invoice_id)) {
631 631
             $this->ID  = $invoice_id;
632 632
             $this->_ID = $invoice_id;
633 633
 
634
-            $this->payment_meta = apply_filters( 'wpinv_payment_meta', $this->payment_meta, $payment_data );
635
-            if ( ! empty( $this->payment_meta['fees'] ) ) {
636
-                $this->fees = array_merge( $this->fees, $this->payment_meta['fees'] );
637
-                foreach( $this->fees as $fee ) {
638
-                    $this->increase_fees( $fee['amount'] );
634
+            $this->payment_meta = apply_filters('wpinv_payment_meta', $this->payment_meta, $payment_data);
635
+            if (!empty($this->payment_meta['fees'])) {
636
+                $this->fees = array_merge($this->fees, $this->payment_meta['fees']);
637
+                foreach ($this->fees as $fee) {
638
+                    $this->increase_fees($fee['amount']);
639 639
                 }
640 640
             }
641 641
 
642
-            $this->update_meta( '_wpinv_payment_meta', $this->payment_meta );            
642
+            $this->update_meta('_wpinv_payment_meta', $this->payment_meta);            
643 643
             $this->new = true;
644 644
         }
645 645
 
646 646
         return $this->ID;
647 647
     }
648 648
 
649
-    public function save( $setup = false ) {
649
+    public function save($setup = false) {
650 650
         global $wpi_session;
651 651
         
652 652
         $saved = false;
653
-        if ( empty( $this->items ) ) {
653
+        if (empty($this->items)) {
654 654
             return $saved; // Don't save empty invoice.
655 655
         }
656 656
         
657
-        if ( empty( $this->key ) ) {
657
+        if (empty($this->key)) {
658 658
             $this->key = self::generate_key();
659 659
             $this->pending['key'] = $this->key;
660 660
         }
661 661
         
662
-        if ( empty( $this->ID ) ) {
662
+        if (empty($this->ID)) {
663 663
             $invoice_id = $this->insert_invoice();
664 664
 
665
-            if ( false === $invoice_id ) {
665
+            if (false === $invoice_id) {
666 666
                 $saved = false;
667 667
             } else {
668 668
                 $this->ID = $invoice_id;
@@ -670,27 +670,27 @@  discard block
 block discarded – undo
670 670
         }
671 671
 
672 672
         // If we have something pending, let's save it
673
-        if ( !empty( $this->pending ) ) {
673
+        if (!empty($this->pending)) {
674 674
             $total_increase = 0;
675 675
             $total_decrease = 0;
676 676
 
677
-            foreach ( $this->pending as $key => $value ) {
678
-                switch( $key ) {
677
+            foreach ($this->pending as $key => $value) {
678
+                switch ($key) {
679 679
                     case 'items':
680 680
                         // Update totals for pending items
681
-                        foreach ( $this->pending[ $key ] as $item ) {
682
-                            switch( $item['action'] ) {
681
+                        foreach ($this->pending[$key] as $item) {
682
+                            switch ($item['action']) {
683 683
                                 case 'add':
684 684
                                     $price = $item['price'];
685 685
                                     $taxes = $item['tax'];
686 686
 
687
-                                    if ( 'publish' === $this->status ) {
687
+                                    if ('publish' === $this->status) {
688 688
                                         $total_increase += $price;
689 689
                                     }
690 690
                                     break;
691 691
 
692 692
                                 case 'remove':
693
-                                    if ( 'publish' === $this->status ) {
693
+                                    if ('publish' === $this->status) {
694 694
                                         $total_decrease += $item['price'];
695 695
                                     }
696 696
                                     break;
@@ -698,16 +698,16 @@  discard block
 block discarded – undo
698 698
                         }
699 699
                         break;
700 700
                     case 'fees':
701
-                        if ( 'publish' !== $this->status ) {
701
+                        if ('publish' !== $this->status) {
702 702
                             break;
703 703
                         }
704 704
 
705
-                        if ( empty( $this->pending[ $key ] ) ) {
705
+                        if (empty($this->pending[$key])) {
706 706
                             break;
707 707
                         }
708 708
 
709
-                        foreach ( $this->pending[ $key ] as $fee ) {
710
-                            switch( $fee['action'] ) {
709
+                        foreach ($this->pending[$key] as $fee) {
710
+                            switch ($fee['action']) {
711 711
                                 case 'add':
712 712
                                     $total_increase += $fee['amount'];
713 713
                                     break;
@@ -719,83 +719,83 @@  discard block
 block discarded – undo
719 719
                         }
720 720
                         break;
721 721
                     case 'status':
722
-                        $this->update_status( $this->status );
722
+                        $this->update_status($this->status);
723 723
                         break;
724 724
                     case 'gateway':
725
-                        $this->update_meta( '_wpinv_gateway', $this->gateway );
725
+                        $this->update_meta('_wpinv_gateway', $this->gateway);
726 726
                         break;
727 727
                     case 'mode':
728
-                        $this->update_meta( '_wpinv_mode', $this->mode );
728
+                        $this->update_meta('_wpinv_mode', $this->mode);
729 729
                         break;
730 730
                     case 'transaction_id':
731
-                        $this->update_meta( '_wpinv_transaction_id', $this->transaction_id );
731
+                        $this->update_meta('_wpinv_transaction_id', $this->transaction_id);
732 732
                         break;
733 733
                     case 'ip':
734
-                        $this->update_meta( '_wpinv_user_ip', $this->ip );
734
+                        $this->update_meta('_wpinv_user_ip', $this->ip);
735 735
                         break;
736 736
                     ///case 'user_id':
737 737
                         ///$this->update_meta( '_wpinv_user_id', $this->user_id );
738 738
                         ///$this->user_info['user_id'] = $this->user_id;
739 739
                         ///break;
740 740
                     case 'first_name':
741
-                        $this->update_meta( '_wpinv_first_name', $this->first_name );
741
+                        $this->update_meta('_wpinv_first_name', $this->first_name);
742 742
                         $this->user_info['first_name'] = $this->first_name;
743 743
                         break;
744 744
                     case 'last_name':
745
-                        $this->update_meta( '_wpinv_last_name', $this->last_name );
745
+                        $this->update_meta('_wpinv_last_name', $this->last_name);
746 746
                         $this->user_info['last_name'] = $this->last_name;
747 747
                         break;
748 748
                     case 'phone':
749
-                        $this->update_meta( '_wpinv_phone', $this->phone );
749
+                        $this->update_meta('_wpinv_phone', $this->phone);
750 750
                         $this->user_info['phone'] = $this->phone;
751 751
                         break;
752 752
                     case 'address':
753
-                        $this->update_meta( '_wpinv_address', $this->address );
753
+                        $this->update_meta('_wpinv_address', $this->address);
754 754
                         $this->user_info['address'] = $this->address;
755 755
                         break;
756 756
                     case 'city':
757
-                        $this->update_meta( '_wpinv_city', $this->city );
757
+                        $this->update_meta('_wpinv_city', $this->city);
758 758
                         $this->user_info['city'] = $this->city;
759 759
                         break;
760 760
                     case 'country':
761
-                        $this->update_meta( '_wpinv_country', $this->country );
761
+                        $this->update_meta('_wpinv_country', $this->country);
762 762
                         $this->user_info['country'] = $this->country;
763 763
                         break;
764 764
                     case 'state':
765
-                        $this->update_meta( '_wpinv_state', $this->state );
765
+                        $this->update_meta('_wpinv_state', $this->state);
766 766
                         $this->user_info['state'] = $this->state;
767 767
                         break;
768 768
                     case 'zip':
769
-                        $this->update_meta( '_wpinv_zip', $this->zip );
769
+                        $this->update_meta('_wpinv_zip', $this->zip);
770 770
                         $this->user_info['zip'] = $this->zip;
771 771
                         break;
772 772
                     case 'company':
773
-                        $this->update_meta( '_wpinv_company', $this->company );
773
+                        $this->update_meta('_wpinv_company', $this->company);
774 774
                         $this->user_info['company'] = $this->company;
775 775
                         break;
776 776
                     case 'vat_number':
777
-                        $this->update_meta( '_wpinv_vat_number', $this->vat_number );
777
+                        $this->update_meta('_wpinv_vat_number', $this->vat_number);
778 778
                         $this->user_info['vat_number'] = $this->vat_number;
779 779
                         
780
-                        $vat_info = $wpi_session->get( 'user_vat_data' );
781
-                        if ( $this->vat_number && !empty( $vat_info ) && isset( $vat_info['number'] ) && isset( $vat_info['valid'] ) && $vat_info['number'] == $this->vat_number ) {
782
-                            $adddress_confirmed = isset( $vat_info['adddress_confirmed'] ) ? $vat_info['adddress_confirmed'] : false;
783
-                            $this->update_meta( '_wpinv_adddress_confirmed', (bool)$adddress_confirmed );
784
-                            $this->user_info['adddress_confirmed'] = (bool)$adddress_confirmed;
780
+                        $vat_info = $wpi_session->get('user_vat_data');
781
+                        if ($this->vat_number && !empty($vat_info) && isset($vat_info['number']) && isset($vat_info['valid']) && $vat_info['number'] == $this->vat_number) {
782
+                            $adddress_confirmed = isset($vat_info['adddress_confirmed']) ? $vat_info['adddress_confirmed'] : false;
783
+                            $this->update_meta('_wpinv_adddress_confirmed', (bool) $adddress_confirmed);
784
+                            $this->user_info['adddress_confirmed'] = (bool) $adddress_confirmed;
785 785
                         }
786 786
     
787 787
                         break;
788 788
                     case 'vat_rate':
789
-                        $this->update_meta( '_wpinv_vat_rate', $this->vat_rate );
789
+                        $this->update_meta('_wpinv_vat_rate', $this->vat_rate);
790 790
                         $this->user_info['vat_rate'] = $this->vat_rate;
791 791
                         break;
792 792
                     case 'adddress_confirmed':
793
-                        $this->update_meta( '_wpinv_adddress_confirmed', $this->adddress_confirmed );
793
+                        $this->update_meta('_wpinv_adddress_confirmed', $this->adddress_confirmed);
794 794
                         $this->user_info['adddress_confirmed'] = $this->adddress_confirmed;
795 795
                         break;
796 796
                     
797 797
                     case 'key':
798
-                        $this->update_meta( '_wpinv_key', $this->key );
798
+                        $this->update_meta('_wpinv_key', $this->key);
799 799
                         break;
800 800
                     case 'date':
801 801
                         $args = array(
@@ -804,49 +804,49 @@  discard block
 block discarded – undo
804 804
                             'edit_date' => true,
805 805
                         );
806 806
 
807
-                        wp_update_post( $args );
807
+                        wp_update_post($args);
808 808
                         break;
809 809
                     case 'due_date':
810
-                        if ( empty( $this->due_date ) ) {
810
+                        if (empty($this->due_date)) {
811 811
                             $this->due_date = 'none';
812 812
                         }
813 813
                         
814
-                        $this->update_meta( '_wpinv_due_date', $this->due_date );
814
+                        $this->update_meta('_wpinv_due_date', $this->due_date);
815 815
                         break;
816 816
                     case 'completed_date':
817
-                        $this->update_meta( '_wpinv_completed_date', $this->completed_date );
817
+                        $this->update_meta('_wpinv_completed_date', $this->completed_date);
818 818
                         break;
819 819
                     case 'discounts':
820
-                        if ( ! is_array( $this->discounts ) ) {
821
-                            $this->discounts = explode( ',', $this->discounts );
820
+                        if (!is_array($this->discounts)) {
821
+                            $this->discounts = explode(',', $this->discounts);
822 822
                         }
823 823
 
824
-                        $this->user_info['discount'] = implode( ',', $this->discounts );
824
+                        $this->user_info['discount'] = implode(',', $this->discounts);
825 825
                         break;
826 826
                     case 'discount':
827
-                        $this->update_meta( '_wpinv_discount', wpinv_round_amount( $this->discount ) );
827
+                        $this->update_meta('_wpinv_discount', wpinv_round_amount($this->discount));
828 828
                         break;
829 829
                     case 'discount_code':
830
-                        $this->update_meta( '_wpinv_discount_code', $this->discount_code );
830
+                        $this->update_meta('_wpinv_discount_code', $this->discount_code);
831 831
                         break;
832 832
                     case 'parent_invoice':
833 833
                         $args = array(
834 834
                             'ID'          => $this->ID,
835 835
                             'post_parent' => $this->parent_invoice,
836 836
                         );
837
-                        wp_update_post( $args );
837
+                        wp_update_post($args);
838 838
                         break;
839 839
                     default:
840
-                        do_action( 'wpinv_save', $this, $key );
840
+                        do_action('wpinv_save', $this, $key);
841 841
                         break;
842 842
                 }
843 843
             }
844 844
 
845
-            $this->update_meta( '_wpinv_subtotal', wpinv_round_amount( $this->subtotal ) );
846
-            $this->update_meta( '_wpinv_total', wpinv_round_amount( $this->total ) );
847
-            $this->update_meta( '_wpinv_tax', wpinv_round_amount( $this->tax ) );
845
+            $this->update_meta('_wpinv_subtotal', wpinv_round_amount($this->subtotal));
846
+            $this->update_meta('_wpinv_total', wpinv_round_amount($this->total));
847
+            $this->update_meta('_wpinv_tax', wpinv_round_amount($this->tax));
848 848
             
849
-            $this->items    = array_values( $this->items );
849
+            $this->items = array_values($this->items);
850 850
             
851 851
             $new_meta = array(
852 852
                 'items'         => $this->items,
@@ -857,12 +857,12 @@  discard block
 block discarded – undo
857 857
             );
858 858
             
859 859
             $meta        = $this->get_meta();
860
-            $merged_meta = array_merge( $meta, $new_meta );
860
+            $merged_meta = array_merge($meta, $new_meta);
861 861
 
862 862
             // Only save the payment meta if it's changed
863
-            if ( md5( serialize( $meta ) ) !== md5( serialize( $merged_meta) ) ) {
864
-                $updated     = $this->update_meta( '_wpinv_payment_meta', $merged_meta );
865
-                if ( false !== $updated ) {
863
+            if (md5(serialize($meta)) !== md5(serialize($merged_meta))) {
864
+                $updated = $this->update_meta('_wpinv_payment_meta', $merged_meta);
865
+                if (false !== $updated) {
866 866
                     $saved = true;
867 867
                 }
868 868
             }
@@ -870,15 +870,15 @@  discard block
 block discarded – undo
870 870
             $this->pending = array();
871 871
             $saved         = true;
872 872
         } else {
873
-            $this->update_meta( '_wpinv_subtotal', wpinv_round_amount( $this->subtotal ) );
874
-            $this->update_meta( '_wpinv_total', wpinv_round_amount( $this->total ) );
875
-            $this->update_meta( '_wpinv_tax', wpinv_round_amount( $this->tax ) );
873
+            $this->update_meta('_wpinv_subtotal', wpinv_round_amount($this->subtotal));
874
+            $this->update_meta('_wpinv_total', wpinv_round_amount($this->total));
875
+            $this->update_meta('_wpinv_tax', wpinv_round_amount($this->tax));
876 876
         }
877 877
         
878
-        do_action( 'wpinv_invoice_save', $this, $saved );
878
+        do_action('wpinv_invoice_save', $this, $saved);
879 879
 
880
-        if ( true === $saved || $setup ) {
881
-            $this->setup_invoice( $this->ID );
880
+        if (true === $saved || $setup) {
881
+            $this->setup_invoice($this->ID);
882 882
         }
883 883
         
884 884
         $this->refresh_item_ids();
@@ -886,7 +886,7 @@  discard block
 block discarded – undo
886 886
         return $saved;
887 887
     }
888 888
     
889
-    public function add_fee( $args, $global = true ) {
889
+    public function add_fee($args, $global = true) {
890 890
         $default_args = array(
891 891
             'label'       => '',
892 892
             'amount'      => 0,
@@ -896,75 +896,75 @@  discard block
 block discarded – undo
896 896
             'item_id'     => 0,
897 897
         );
898 898
 
899
-        $fee = wp_parse_args( $args, $default_args );
899
+        $fee = wp_parse_args($args, $default_args);
900 900
         
901
-        if ( empty( $fee['label'] ) ) {
901
+        if (empty($fee['label'])) {
902 902
             return false;
903 903
         }
904 904
         
905
-        $fee['id']  = sanitize_title( $fee['label'] );
905
+        $fee['id'] = sanitize_title($fee['label']);
906 906
         
907
-        $this->fees[]               = $fee;
907
+        $this->fees[] = $fee;
908 908
         
909 909
         $added_fee               = $fee;
910 910
         $added_fee['action']     = 'add';
911 911
         $this->pending['fees'][] = $added_fee;
912
-        reset( $this->fees );
912
+        reset($this->fees);
913 913
 
914
-        $this->increase_fees( $fee['amount'] );
914
+        $this->increase_fees($fee['amount']);
915 915
         return true;
916 916
     }
917 917
 
918
-    public function remove_fee( $key ) {
918
+    public function remove_fee($key) {
919 919
         $removed = false;
920 920
 
921
-        if ( is_numeric( $key ) ) {
922
-            $removed = $this->remove_fee_by( 'index', $key );
921
+        if (is_numeric($key)) {
922
+            $removed = $this->remove_fee_by('index', $key);
923 923
         }
924 924
 
925 925
         return $removed;
926 926
     }
927 927
 
928
-    public function remove_fee_by( $key, $value, $global = false ) {
929
-        $allowed_fee_keys = apply_filters( 'wpinv_fee_keys', array(
928
+    public function remove_fee_by($key, $value, $global = false) {
929
+        $allowed_fee_keys = apply_filters('wpinv_fee_keys', array(
930 930
             'index', 'label', 'amount', 'type',
931
-        ) );
931
+        ));
932 932
 
933
-        if ( ! in_array( $key, $allowed_fee_keys ) ) {
933
+        if (!in_array($key, $allowed_fee_keys)) {
934 934
             return false;
935 935
         }
936 936
 
937 937
         $removed = false;
938
-        if ( 'index' === $key && array_key_exists( $value, $this->fees ) ) {
939
-            $removed_fee             = $this->fees[ $value ];
938
+        if ('index' === $key && array_key_exists($value, $this->fees)) {
939
+            $removed_fee             = $this->fees[$value];
940 940
             $removed_fee['action']   = 'remove';
941 941
             $this->pending['fees'][] = $removed_fee;
942 942
 
943
-            $this->decrease_fees( $removed_fee['amount'] );
943
+            $this->decrease_fees($removed_fee['amount']);
944 944
 
945
-            unset( $this->fees[ $value ] );
945
+            unset($this->fees[$value]);
946 946
             $removed = true;
947
-        } else if ( 'index' !== $key ) {
948
-            foreach ( $this->fees as $index => $fee ) {
949
-                if ( isset( $fee[ $key ] ) && $fee[ $key ] == $value ) {
947
+        } else if ('index' !== $key) {
948
+            foreach ($this->fees as $index => $fee) {
949
+                if (isset($fee[$key]) && $fee[$key] == $value) {
950 950
                     $removed_fee             = $fee;
951 951
                     $removed_fee['action']   = 'remove';
952 952
                     $this->pending['fees'][] = $removed_fee;
953 953
 
954
-                    $this->decrease_fees( $removed_fee['amount'] );
954
+                    $this->decrease_fees($removed_fee['amount']);
955 955
 
956
-                    unset( $this->fees[ $index ] );
956
+                    unset($this->fees[$index]);
957 957
                     $removed = true;
958 958
 
959
-                    if ( false === $global ) {
959
+                    if (false === $global) {
960 960
                         break;
961 961
                     }
962 962
                 }
963 963
             }
964 964
         }
965 965
 
966
-        if ( true === $removed ) {
967
-            $this->fees = array_values( $this->fees );
966
+        if (true === $removed) {
967
+            $this->fees = array_values($this->fees);
968 968
         }
969 969
 
970 970
         return $removed;
@@ -972,35 +972,35 @@  discard block
 block discarded – undo
972 972
 
973 973
     
974 974
 
975
-    public function add_note( $note = '', $customer_type = false, $added_by_user = false, $system = false ) {
975
+    public function add_note($note = '', $customer_type = false, $added_by_user = false, $system = false) {
976 976
         // Bail if no note specified
977
-        if( !$note ) {
977
+        if (!$note) {
978 978
             return false;
979 979
         }
980 980
 
981
-        if ( empty( $this->ID ) )
981
+        if (empty($this->ID))
982 982
             return false;
983 983
         
984
-        if ( ( ( is_user_logged_in() && wpinv_current_user_can_manage_invoicing() ) || $added_by_user ) && !$system ) {
985
-            $user                 = get_user_by( 'id', get_current_user_id() );
984
+        if (((is_user_logged_in() && wpinv_current_user_can_manage_invoicing()) || $added_by_user) && !$system) {
985
+            $user                 = get_user_by('id', get_current_user_id());
986 986
             $comment_author       = $user->display_name;
987 987
             $comment_author_email = $user->user_email;
988 988
         } else {
989 989
             $comment_author       = 'System';
990 990
             $comment_author_email = 'system@';
991
-            $comment_author_email .= isset( $_SERVER['HTTP_HOST'] ) ? str_replace( 'www.', '', $_SERVER['HTTP_HOST'] ) : 'noreply.com';
992
-            $comment_author_email = sanitize_email( $comment_author_email );
991
+            $comment_author_email .= isset($_SERVER['HTTP_HOST']) ? str_replace('www.', '', $_SERVER['HTTP_HOST']) : 'noreply.com';
992
+            $comment_author_email = sanitize_email($comment_author_email);
993 993
         }
994 994
 
995
-        do_action( 'wpinv_pre_insert_invoice_note', $this->ID, $note, $customer_type );
995
+        do_action('wpinv_pre_insert_invoice_note', $this->ID, $note, $customer_type);
996 996
 
997
-        $note_id = wp_insert_comment( wp_filter_comment( array(
997
+        $note_id = wp_insert_comment(wp_filter_comment(array(
998 998
             'comment_post_ID'      => $this->ID,
999 999
             'comment_content'      => $note,
1000 1000
             'comment_agent'        => 'WPInvoicing',
1001 1001
             'user_id'              => is_admin() ? get_current_user_id() : 0,
1002
-            'comment_date'         => current_time( 'mysql' ),
1003
-            'comment_date_gmt'     => current_time( 'mysql', 1 ),
1002
+            'comment_date'         => current_time('mysql'),
1003
+            'comment_date_gmt'     => current_time('mysql', 1),
1004 1004
             'comment_approved'     => 1,
1005 1005
             'comment_parent'       => 0,
1006 1006
             'comment_author'       => $comment_author,
@@ -1008,53 +1008,53 @@  discard block
 block discarded – undo
1008 1008
             'comment_author_url'   => '',
1009 1009
             'comment_author_email' => $comment_author_email,
1010 1010
             'comment_type'         => 'wpinv_note'
1011
-        ) ) );
1011
+        )));
1012 1012
 
1013
-        do_action( 'wpinv_insert_payment_note', $note_id, $this->ID, $note );
1013
+        do_action('wpinv_insert_payment_note', $note_id, $this->ID, $note);
1014 1014
         
1015
-        if ( $customer_type ) {
1016
-            add_comment_meta( $note_id, '_wpi_customer_note', 1 );
1015
+        if ($customer_type) {
1016
+            add_comment_meta($note_id, '_wpi_customer_note', 1);
1017 1017
 
1018
-            do_action( 'wpinv_new_customer_note', array( 'invoice_id' => $this->ID, 'user_note' => $note ) );
1018
+            do_action('wpinv_new_customer_note', array('invoice_id' => $this->ID, 'user_note' => $note));
1019 1019
         }
1020 1020
 
1021 1021
         return $note_id;
1022 1022
     }
1023 1023
 
1024
-    private function increase_subtotal( $amount = 0.00 ) {
1024
+    private function increase_subtotal($amount = 0.00) {
1025 1025
         $amount          = (float) $amount;
1026 1026
         $this->subtotal += $amount;
1027
-        $this->subtotal  = wpinv_round_amount( $this->subtotal );
1027
+        $this->subtotal  = wpinv_round_amount($this->subtotal);
1028 1028
 
1029 1029
         $this->recalculate_total();
1030 1030
     }
1031 1031
 
1032
-    private function decrease_subtotal( $amount = 0.00 ) {
1032
+    private function decrease_subtotal($amount = 0.00) {
1033 1033
         $amount          = (float) $amount;
1034 1034
         $this->subtotal -= $amount;
1035
-        $this->subtotal  = wpinv_round_amount( $this->subtotal );
1035
+        $this->subtotal  = wpinv_round_amount($this->subtotal);
1036 1036
 
1037
-        if ( $this->subtotal < 0 ) {
1037
+        if ($this->subtotal < 0) {
1038 1038
             $this->subtotal = 0;
1039 1039
         }
1040 1040
 
1041 1041
         $this->recalculate_total();
1042 1042
     }
1043 1043
 
1044
-    private function increase_fees( $amount = 0.00 ) {
1045
-        $amount            = (float)$amount;
1044
+    private function increase_fees($amount = 0.00) {
1045
+        $amount            = (float) $amount;
1046 1046
         $this->fees_total += $amount;
1047
-        $this->fees_total  = wpinv_round_amount( $this->fees_total );
1047
+        $this->fees_total  = wpinv_round_amount($this->fees_total);
1048 1048
 
1049 1049
         $this->recalculate_total();
1050 1050
     }
1051 1051
 
1052
-    private function decrease_fees( $amount = 0.00 ) {
1052
+    private function decrease_fees($amount = 0.00) {
1053 1053
         $amount            = (float) $amount;
1054 1054
         $this->fees_total -= $amount;
1055
-        $this->fees_total  = wpinv_round_amount( $this->fees_total );
1055
+        $this->fees_total  = wpinv_round_amount($this->fees_total);
1056 1056
 
1057
-        if ( $this->fees_total < 0 ) {
1057
+        if ($this->fees_total < 0) {
1058 1058
             $this->fees_total = 0;
1059 1059
         }
1060 1060
 
@@ -1065,54 +1065,54 @@  discard block
 block discarded – undo
1065 1065
         global $wpi_nosave;
1066 1066
         
1067 1067
         $this->total = $this->subtotal + $this->tax + $this->fees_total;
1068
-        $this->total = wpinv_round_amount( $this->total );
1068
+        $this->total = wpinv_round_amount($this->total);
1069 1069
         
1070
-        do_action( 'wpinv_invoice_recalculate_total', $this, $wpi_nosave );
1070
+        do_action('wpinv_invoice_recalculate_total', $this, $wpi_nosave);
1071 1071
     }
1072 1072
     
1073
-    public function increase_tax( $amount = 0.00 ) {
1073
+    public function increase_tax($amount = 0.00) {
1074 1074
         $amount       = (float) $amount;
1075 1075
         $this->tax   += $amount;
1076 1076
 
1077 1077
         $this->recalculate_total();
1078 1078
     }
1079 1079
 
1080
-    public function decrease_tax( $amount = 0.00 ) {
1080
+    public function decrease_tax($amount = 0.00) {
1081 1081
         $amount     = (float) $amount;
1082 1082
         $this->tax -= $amount;
1083 1083
 
1084
-        if ( $this->tax < 0 ) {
1084
+        if ($this->tax < 0) {
1085 1085
             $this->tax = 0;
1086 1086
         }
1087 1087
 
1088 1088
         $this->recalculate_total();
1089 1089
     }
1090 1090
 
1091
-    public function update_status( $new_status = false, $note = '', $manual = false ) {
1092
-        $old_status = ! empty( $this->old_status ) ? $this->old_status : get_post_status( $this->ID );
1091
+    public function update_status($new_status = false, $note = '', $manual = false) {
1092
+        $old_status = !empty($this->old_status) ? $this->old_status : get_post_status($this->ID);
1093 1093
 
1094
-        if ( $old_status === $new_status && in_array( $new_status, array_keys( wpinv_get_invoice_statuses( true ) ) ) ) {
1094
+        if ($old_status === $new_status && in_array($new_status, array_keys(wpinv_get_invoice_statuses(true)))) {
1095 1095
             return false; // Don't permit status changes that aren't changes
1096 1096
         }
1097 1097
 
1098
-        $do_change = apply_filters( 'wpinv_should_update_invoice_status', true, $this->ID, $new_status, $old_status );
1098
+        $do_change = apply_filters('wpinv_should_update_invoice_status', true, $this->ID, $new_status, $old_status);
1099 1099
         $updated = false;
1100 1100
 
1101
-        if ( $do_change ) {
1102
-            do_action( 'wpinv_before_invoice_status_change', $this->ID, $new_status, $old_status );
1101
+        if ($do_change) {
1102
+            do_action('wpinv_before_invoice_status_change', $this->ID, $new_status, $old_status);
1103 1103
 
1104 1104
             $update_post_data                   = array();
1105 1105
             $update_post_data['ID']             = $this->ID;
1106 1106
             $update_post_data['post_status']    = $new_status;
1107
-            $update_post_data['edit_date']      = current_time( 'mysql', 0 );
1108
-            $update_post_data['edit_date_gmt']  = current_time( 'mysql', 1 );
1107
+            $update_post_data['edit_date']      = current_time('mysql', 0);
1108
+            $update_post_data['edit_date_gmt']  = current_time('mysql', 1);
1109 1109
             
1110
-            $update_post_data = apply_filters( 'wpinv_update_invoice_status_fields', $update_post_data, $this->ID );
1110
+            $update_post_data = apply_filters('wpinv_update_invoice_status_fields', $update_post_data, $this->ID);
1111 1111
 
1112
-            $updated = wp_update_post( $update_post_data );     
1112
+            $updated = wp_update_post($update_post_data);     
1113 1113
            
1114 1114
             // Process any specific status functions
1115
-            switch( $new_status ) {
1115
+            switch ($new_status) {
1116 1116
                 case 'wpi-refunded':
1117 1117
                     $this->process_refund();
1118 1118
                     break;
@@ -1125,9 +1125,9 @@  discard block
 block discarded – undo
1125 1125
             }
1126 1126
             
1127 1127
             // Status was changed.
1128
-            do_action( 'wpinv_status_' . $new_status, $this->ID, $old_status );
1129
-            do_action( 'wpinv_status_' . $old_status . '_to_' . $new_status, $this->ID, $old_status );
1130
-            do_action( 'wpinv_update_status', $this->ID, $new_status, $old_status );
1128
+            do_action('wpinv_status_' . $new_status, $this->ID, $old_status);
1129
+            do_action('wpinv_status_' . $old_status . '_to_' . $new_status, $this->ID, $old_status);
1130
+            do_action('wpinv_update_status', $this->ID, $new_status, $old_status);
1131 1131
         }
1132 1132
 
1133 1133
         return $updated;
@@ -1141,20 +1141,20 @@  discard block
 block discarded – undo
1141 1141
         $this->save();
1142 1142
     }
1143 1143
 
1144
-    public function update_meta( $meta_key = '', $meta_value = '', $prev_value = '' ) {
1145
-        if ( empty( $meta_key ) ) {
1144
+    public function update_meta($meta_key = '', $meta_value = '', $prev_value = '') {
1145
+        if (empty($meta_key)) {
1146 1146
             return false;
1147 1147
         }
1148 1148
 
1149
-        if ( $meta_key == 'key' || $meta_key == 'date' ) {
1149
+        if ($meta_key == 'key' || $meta_key == 'date') {
1150 1150
             $current_meta = $this->get_meta();
1151
-            $current_meta[ $meta_key ] = $meta_value;
1151
+            $current_meta[$meta_key] = $meta_value;
1152 1152
 
1153 1153
             $meta_key     = '_wpinv_payment_meta';
1154 1154
             $meta_value   = $current_meta;
1155 1155
         }
1156 1156
 
1157
-        $meta_value = apply_filters( 'wpinv_update_payment_meta_' . $meta_key, $meta_value, $this->ID );
1157
+        $meta_value = apply_filters('wpinv_update_payment_meta_' . $meta_key, $meta_value, $this->ID);
1158 1158
         
1159 1159
         // Do not update created date on invoice marked as paid.
1160 1160
         /*if ( $meta_key == '_wpinv_completed_date' && !empty( $meta_value ) ) {
@@ -1169,45 +1169,45 @@  discard block
 block discarded – undo
1169 1169
             wp_update_post( $args );
1170 1170
         }*/
1171 1171
         
1172
-        return update_post_meta( $this->ID, $meta_key, $meta_value, $prev_value );
1172
+        return update_post_meta($this->ID, $meta_key, $meta_value, $prev_value);
1173 1173
     }
1174 1174
 
1175 1175
     private function process_refund() {
1176 1176
         $process_refund = true;
1177 1177
 
1178 1178
         // If the payment was not in publish, don't decrement stats as they were never incremented
1179
-        if ( 'publish' != $this->old_status || 'wpi-refunded' != $this->status ) {
1179
+        if ('publish' != $this->old_status || 'wpi-refunded' != $this->status) {
1180 1180
             $process_refund = false;
1181 1181
         }
1182 1182
 
1183 1183
         // Allow extensions to filter for their own payment types, Example: Recurring Payments
1184
-        $process_refund = apply_filters( 'wpinv_should_process_refund', $process_refund, $this );
1184
+        $process_refund = apply_filters('wpinv_should_process_refund', $process_refund, $this);
1185 1185
 
1186
-        if ( false === $process_refund ) {
1186
+        if (false === $process_refund) {
1187 1187
             return;
1188 1188
         }
1189 1189
 
1190
-        do_action( 'wpinv_pre_refund_invoice', $this );
1190
+        do_action('wpinv_pre_refund_invoice', $this);
1191 1191
         
1192
-        $decrease_store_earnings = apply_filters( 'wpinv_decrease_store_earnings_on_refund', true, $this );
1193
-        $decrease_customer_value = apply_filters( 'wpinv_decrease_customer_value_on_refund', true, $this );
1194
-        $decrease_purchase_count = apply_filters( 'wpinv_decrease_customer_purchase_count_on_refund', true, $this );
1192
+        $decrease_store_earnings = apply_filters('wpinv_decrease_store_earnings_on_refund', true, $this);
1193
+        $decrease_customer_value = apply_filters('wpinv_decrease_customer_value_on_refund', true, $this);
1194
+        $decrease_purchase_count = apply_filters('wpinv_decrease_customer_purchase_count_on_refund', true, $this);
1195 1195
         
1196
-        do_action( 'wpinv_post_refund_invoice', $this );
1196
+        do_action('wpinv_post_refund_invoice', $this);
1197 1197
     }
1198 1198
 
1199 1199
     private function process_failure() {
1200 1200
         $discounts = $this->discounts;
1201
-        if ( empty( $discounts ) ) {
1201
+        if (empty($discounts)) {
1202 1202
             return;
1203 1203
         }
1204 1204
 
1205
-        if ( ! is_array( $discounts ) ) {
1206
-            $discounts = array_map( 'trim', explode( ',', $discounts ) );
1205
+        if (!is_array($discounts)) {
1206
+            $discounts = array_map('trim', explode(',', $discounts));
1207 1207
         }
1208 1208
 
1209
-        foreach ( $discounts as $discount ) {
1210
-            wpinv_decrease_discount_usage( $discount );
1209
+        foreach ($discounts as $discount) {
1210
+            wpinv_decrease_discount_usage($discount);
1211 1211
         }
1212 1212
     }
1213 1213
     
@@ -1215,92 +1215,92 @@  discard block
 block discarded – undo
1215 1215
         $process_pending = true;
1216 1216
 
1217 1217
         // If the payment was not in publish or revoked status, don't decrement stats as they were never incremented
1218
-        if ( ( 'publish' != $this->old_status && 'revoked' != $this->old_status ) || 'wpi-pending' != $this->status ) {
1218
+        if (('publish' != $this->old_status && 'revoked' != $this->old_status) || 'wpi-pending' != $this->status) {
1219 1219
             $process_pending = false;
1220 1220
         }
1221 1221
 
1222 1222
         // Allow extensions to filter for their own payment types, Example: Recurring Payments
1223
-        $process_pending = apply_filters( 'wpinv_should_process_pending', $process_pending, $this );
1223
+        $process_pending = apply_filters('wpinv_should_process_pending', $process_pending, $this);
1224 1224
 
1225
-        if ( false === $process_pending ) {
1225
+        if (false === $process_pending) {
1226 1226
             return;
1227 1227
         }
1228 1228
 
1229
-        $decrease_store_earnings = apply_filters( 'wpinv_decrease_store_earnings_on_pending', true, $this );
1230
-        $decrease_customer_value = apply_filters( 'wpinv_decrease_customer_value_on_pending', true, $this );
1231
-        $decrease_purchase_count = apply_filters( 'wpinv_decrease_customer_purchase_count_on_pending', true, $this );
1229
+        $decrease_store_earnings = apply_filters('wpinv_decrease_store_earnings_on_pending', true, $this);
1230
+        $decrease_customer_value = apply_filters('wpinv_decrease_customer_value_on_pending', true, $this);
1231
+        $decrease_purchase_count = apply_filters('wpinv_decrease_customer_purchase_count_on_pending', true, $this);
1232 1232
 
1233 1233
         $this->completed_date = '';
1234
-        $this->update_meta( '_wpinv_completed_date', '' );
1234
+        $this->update_meta('_wpinv_completed_date', '');
1235 1235
     }
1236 1236
     
1237 1237
     // get data
1238
-    public function get_meta( $meta_key = '_wpinv_payment_meta', $single = true ) {
1239
-        $meta = get_post_meta( $this->ID, $meta_key, $single );
1238
+    public function get_meta($meta_key = '_wpinv_payment_meta', $single = true) {
1239
+        $meta = get_post_meta($this->ID, $meta_key, $single);
1240 1240
 
1241
-        if ( $meta_key === '_wpinv_payment_meta' ) {
1241
+        if ($meta_key === '_wpinv_payment_meta') {
1242 1242
 
1243
-            if(!is_array($meta)){$meta = array();} // we need this to be an array so make sure it is.
1243
+            if (!is_array($meta)) {$meta = array(); } // we need this to be an array so make sure it is.
1244 1244
 
1245
-            if ( empty( $meta['key'] ) ) {
1245
+            if (empty($meta['key'])) {
1246 1246
                 $meta['key'] = $this->setup_invoice_key();
1247 1247
             }
1248 1248
 
1249
-            if ( empty( $meta['date'] ) ) {
1250
-                $meta['date'] = get_post_field( 'post_date', $this->ID );
1249
+            if (empty($meta['date'])) {
1250
+                $meta['date'] = get_post_field('post_date', $this->ID);
1251 1251
             }
1252 1252
         }
1253 1253
 
1254
-        $meta = apply_filters( 'wpinv_get_invoice_meta_' . $meta_key, $meta, $this->ID );
1254
+        $meta = apply_filters('wpinv_get_invoice_meta_' . $meta_key, $meta, $this->ID);
1255 1255
 
1256
-        return apply_filters( 'wpinv_get_invoice_meta', $meta, $this->ID, $meta_key );
1256
+        return apply_filters('wpinv_get_invoice_meta', $meta, $this->ID, $meta_key);
1257 1257
     }
1258 1258
     
1259 1259
     public function get_description() {
1260
-        $post = get_post( $this->ID );
1260
+        $post = get_post($this->ID);
1261 1261
         
1262
-        $description = !empty( $post ) ? $post->post_content : '';
1263
-        return apply_filters( 'wpinv_get_description', $description, $this->ID, $this );
1262
+        $description = !empty($post) ? $post->post_content : '';
1263
+        return apply_filters('wpinv_get_description', $description, $this->ID, $this);
1264 1264
     }
1265 1265
     
1266
-    public function get_status( $nicename = false ) {
1267
-        if ( !$nicename ) {
1266
+    public function get_status($nicename = false) {
1267
+        if (!$nicename) {
1268 1268
             $status = $this->status;
1269 1269
         } else {
1270 1270
             $status = $this->status_nicename;
1271 1271
         }
1272 1272
         
1273
-        return apply_filters( 'wpinv_get_status', $status, $nicename, $this->ID, $this );
1273
+        return apply_filters('wpinv_get_status', $status, $nicename, $this->ID, $this);
1274 1274
     }
1275 1275
     
1276 1276
     public function get_cart_details() {
1277
-        return apply_filters( 'wpinv_cart_details', $this->cart_details, $this->ID, $this );
1277
+        return apply_filters('wpinv_cart_details', $this->cart_details, $this->ID, $this);
1278 1278
     }
1279 1279
     
1280
-    public function get_subtotal( $currency = false ) {
1281
-        $subtotal = wpinv_round_amount( $this->subtotal );
1280
+    public function get_subtotal($currency = false) {
1281
+        $subtotal = wpinv_round_amount($this->subtotal);
1282 1282
         
1283
-        if ( $currency ) {
1284
-            $subtotal = wpinv_price( wpinv_format_amount( $subtotal, NULL, !$currency ), $this->get_currency() );
1283
+        if ($currency) {
1284
+            $subtotal = wpinv_price(wpinv_format_amount($subtotal, NULL, !$currency), $this->get_currency());
1285 1285
         }
1286 1286
         
1287
-        return apply_filters( 'wpinv_get_invoice_subtotal', $subtotal, $this->ID, $this, $currency );
1287
+        return apply_filters('wpinv_get_invoice_subtotal', $subtotal, $this->ID, $this, $currency);
1288 1288
     }
1289 1289
     
1290
-    public function get_total( $currency = false ) {        
1291
-        if ( $this->is_free_trial() ) {
1292
-            $total = wpinv_round_amount( 0 );
1290
+    public function get_total($currency = false) {        
1291
+        if ($this->is_free_trial()) {
1292
+            $total = wpinv_round_amount(0);
1293 1293
         } else {
1294
-            $total = wpinv_round_amount( $this->total );
1294
+            $total = wpinv_round_amount($this->total);
1295 1295
         }
1296
-        if ( $currency ) {
1297
-            $total = wpinv_price( wpinv_format_amount( $total, NULL, !$currency ), $this->get_currency() );
1296
+        if ($currency) {
1297
+            $total = wpinv_price(wpinv_format_amount($total, NULL, !$currency), $this->get_currency());
1298 1298
         }
1299 1299
         
1300
-        return apply_filters( 'wpinv_get_invoice_total', $total, $this->ID, $this, $currency );
1300
+        return apply_filters('wpinv_get_invoice_total', $total, $this->ID, $this, $currency);
1301 1301
     }
1302 1302
     
1303
-    public function get_recurring_details( $field = '', $currency = false ) {        
1303
+    public function get_recurring_details($field = '', $currency = false) {        
1304 1304
         $data                 = array();
1305 1305
         $data['cart_details'] = $this->cart_details;
1306 1306
         $data['subtotal']     = $this->get_subtotal();
@@ -1308,164 +1308,164 @@  discard block
 block discarded – undo
1308 1308
         $data['tax']          = $this->get_tax();
1309 1309
         $data['total']        = $this->get_total();
1310 1310
     
1311
-        if ( !empty( $this->cart_details ) && ( $this->is_parent() || $this->is_renewal() ) ) {
1311
+        if (!empty($this->cart_details) && ($this->is_parent() || $this->is_renewal())) {
1312 1312
             $is_free_trial = $this->is_free_trial();
1313
-            $discounts = $this->get_discounts( true );
1313
+            $discounts = $this->get_discounts(true);
1314 1314
             
1315
-            if ( $is_free_trial || !empty( $discounts ) ) {
1315
+            if ($is_free_trial || !empty($discounts)) {
1316 1316
                 $first_use_only = false;
1317 1317
                 
1318
-                if ( !empty( $discounts ) ) {
1319
-                    foreach ( $discounts as $key => $code ) {
1320
-                        if ( wpinv_discount_is_recurring( $code, true ) && !$this->is_renewal() ) {
1318
+                if (!empty($discounts)) {
1319
+                    foreach ($discounts as $key => $code) {
1320
+                        if (wpinv_discount_is_recurring($code, true) && !$this->is_renewal()) {
1321 1321
                             $first_use_only = true;
1322 1322
                             break;
1323 1323
                         }
1324 1324
                     }
1325 1325
                 }
1326 1326
                     
1327
-                if ( !$first_use_only ) {
1328
-                    $data['subtotal'] = wpinv_round_amount( $this->subtotal );
1329
-                    $data['discount'] = wpinv_round_amount( $this->discount );
1330
-                    $data['tax']      = wpinv_round_amount( $this->tax );
1331
-                    $data['total']    = wpinv_round_amount( $this->total );
1327
+                if (!$first_use_only) {
1328
+                    $data['subtotal'] = wpinv_round_amount($this->subtotal);
1329
+                    $data['discount'] = wpinv_round_amount($this->discount);
1330
+                    $data['tax']      = wpinv_round_amount($this->tax);
1331
+                    $data['total']    = wpinv_round_amount($this->total);
1332 1332
                 } else {
1333 1333
                     $cart_subtotal   = 0;
1334 1334
                     $cart_discount   = $this->discount;
1335 1335
                     $cart_tax        = 0;
1336 1336
 
1337
-                    foreach ( $this->cart_details as $key => $item ) {
1338
-                        $item_quantity  = $item['quantity'] > 0 ? absint( $item['quantity'] ) : 1;
1339
-                        $item_subtotal  = !empty( $item['subtotal'] ) ? $item['subtotal'] : $item['item_price'] * $item_quantity;
1337
+                    foreach ($this->cart_details as $key => $item) {
1338
+                        $item_quantity  = $item['quantity'] > 0 ? absint($item['quantity']) : 1;
1339
+                        $item_subtotal  = !empty($item['subtotal']) ? $item['subtotal'] : $item['item_price'] * $item_quantity;
1340 1340
                         $item_discount  = 0;
1341
-                        $item_tax       = $item_subtotal > 0 && !empty( $item['vat_rate'] ) ? ( $item_subtotal * 0.01 * (float)$item['vat_rate'] ) : 0;
1341
+                        $item_tax       = $item_subtotal > 0 && !empty($item['vat_rate']) ? ($item_subtotal * 0.01 * (float) $item['vat_rate']) : 0;
1342 1342
                         
1343
-                        if ( wpinv_prices_include_tax() ) {
1344
-                            $item_subtotal -= wpinv_round_amount( $item_tax );
1343
+                        if (wpinv_prices_include_tax()) {
1344
+                            $item_subtotal -= wpinv_round_amount($item_tax);
1345 1345
                         }
1346 1346
                         
1347 1347
                         $item_total     = $item_subtotal - $item_discount + $item_tax;
1348 1348
                         // Do not allow totals to go negative
1349
-                        if ( $item_total < 0 ) {
1349
+                        if ($item_total < 0) {
1350 1350
                             $item_total = 0;
1351 1351
                         }
1352 1352
                         
1353
-                        $cart_subtotal  += (float)($item_subtotal);
1354
-                        $cart_discount  += (float)($item_discount);
1355
-                        $cart_tax       += (float)($item_tax);
1353
+                        $cart_subtotal  += (float) ($item_subtotal);
1354
+                        $cart_discount  += (float) ($item_discount);
1355
+                        $cart_tax       += (float) ($item_tax);
1356 1356
                         
1357
-                        $data['cart_details'][$key]['discount']   = wpinv_round_amount( $item_discount );
1358
-                        $data['cart_details'][$key]['tax']        = wpinv_round_amount( $item_tax );
1359
-                        $data['cart_details'][$key]['price']      = wpinv_round_amount( $item_total );
1357
+                        $data['cart_details'][$key]['discount']   = wpinv_round_amount($item_discount);
1358
+                        $data['cart_details'][$key]['tax']        = wpinv_round_amount($item_tax);
1359
+                        $data['cart_details'][$key]['price']      = wpinv_round_amount($item_total);
1360 1360
                     }
1361 1361
 
1362 1362
 	                $total = $data['subtotal'] - $data['discount'] + $data['tax'];
1363
-	                if ( $total < 0 ) {
1363
+	                if ($total < 0) {
1364 1364
 		                $total = 0;
1365 1365
 	                }
1366 1366
 
1367
-                    $data['subtotal'] = wpinv_round_amount( $cart_subtotal );
1368
-                    $data['discount'] = wpinv_round_amount( $cart_discount );
1369
-                    $data['tax']      = wpinv_round_amount( $cart_tax );
1370
-                    $data['total']    = wpinv_round_amount( $total );
1367
+                    $data['subtotal'] = wpinv_round_amount($cart_subtotal);
1368
+                    $data['discount'] = wpinv_round_amount($cart_discount);
1369
+                    $data['tax']      = wpinv_round_amount($cart_tax);
1370
+                    $data['total']    = wpinv_round_amount($total);
1371 1371
                 }
1372 1372
             }
1373 1373
         }
1374 1374
         
1375
-        $data = apply_filters( 'wpinv_get_invoice_recurring_details', $data, $this, $field, $currency );
1375
+        $data = apply_filters('wpinv_get_invoice_recurring_details', $data, $this, $field, $currency);
1376 1376
 
1377
-        if ( isset( $data[$field] ) ) {
1378
-            return ( $currency ? wpinv_price( $data[$field], $this->get_currency() ) : $data[$field] );
1377
+        if (isset($data[$field])) {
1378
+            return ($currency ? wpinv_price($data[$field], $this->get_currency()) : $data[$field]);
1379 1379
         }
1380 1380
         
1381 1381
         return $data;
1382 1382
     }
1383 1383
     
1384
-    public function get_final_tax( $currency = false ) {        
1385
-        $final_total = wpinv_round_amount( $this->tax );
1386
-        if ( $currency ) {
1387
-            $final_total = wpinv_price( wpinv_format_amount( $final_total, NULL, !$currency ), $this->get_currency() );
1384
+    public function get_final_tax($currency = false) {        
1385
+        $final_total = wpinv_round_amount($this->tax);
1386
+        if ($currency) {
1387
+            $final_total = wpinv_price(wpinv_format_amount($final_total, NULL, !$currency), $this->get_currency());
1388 1388
         }
1389 1389
         
1390
-        return apply_filters( 'wpinv_get_invoice_final_total', $final_total, $this, $currency );
1390
+        return apply_filters('wpinv_get_invoice_final_total', $final_total, $this, $currency);
1391 1391
     }
1392 1392
     
1393
-    public function get_discounts( $array = false ) {
1393
+    public function get_discounts($array = false) {
1394 1394
         $discounts = $this->discounts;
1395
-        if ( $array && $discounts ) {
1396
-            $discounts = explode( ',', $discounts );
1395
+        if ($array && $discounts) {
1396
+            $discounts = explode(',', $discounts);
1397 1397
         }
1398
-        return apply_filters( 'wpinv_payment_discounts', $discounts, $this->ID, $this, $array );
1398
+        return apply_filters('wpinv_payment_discounts', $discounts, $this->ID, $this, $array);
1399 1399
     }
1400 1400
     
1401
-    public function get_discount( $currency = false, $dash = false ) {
1402
-        if ( !empty( $this->discounts ) ) {
1401
+    public function get_discount($currency = false, $dash = false) {
1402
+        if (!empty($this->discounts)) {
1403 1403
             global $ajax_cart_details;
1404 1404
             $ajax_cart_details = $this->get_cart_details();
1405 1405
             
1406
-            if ( !empty( $ajax_cart_details ) && count( $ajax_cart_details ) == count( $this->items ) ) {
1406
+            if (!empty($ajax_cart_details) && count($ajax_cart_details) == count($this->items)) {
1407 1407
                 $cart_items = $ajax_cart_details;
1408 1408
             } else {
1409 1409
                 $cart_items = $this->items;
1410 1410
             }
1411 1411
 
1412
-            $this->discount = wpinv_get_cart_items_discount_amount( $cart_items , $this->discounts );
1412
+            $this->discount = wpinv_get_cart_items_discount_amount($cart_items, $this->discounts);
1413 1413
         }
1414
-        $discount   = wpinv_round_amount( $this->discount );
1414
+        $discount   = wpinv_round_amount($this->discount);
1415 1415
         $dash       = $dash && $discount > 0 ? '&ndash;' : '';
1416 1416
         
1417
-        if ( $currency ) {
1418
-            $discount = wpinv_price( wpinv_format_amount( $discount, NULL, !$currency ), $this->get_currency() );
1417
+        if ($currency) {
1418
+            $discount = wpinv_price(wpinv_format_amount($discount, NULL, !$currency), $this->get_currency());
1419 1419
         }
1420 1420
         
1421
-        $discount   = $dash . $discount;
1421
+        $discount = $dash . $discount;
1422 1422
         
1423
-        return apply_filters( 'wpinv_get_invoice_discount', $discount, $this->ID, $this, $currency, $dash );
1423
+        return apply_filters('wpinv_get_invoice_discount', $discount, $this->ID, $this, $currency, $dash);
1424 1424
     }
1425 1425
     
1426 1426
     public function get_discount_code() {
1427 1427
         return $this->discount_code;
1428 1428
     }
1429 1429
     
1430
-    public function get_tax( $currency = false ) {
1431
-        $tax = wpinv_round_amount( $this->tax );
1430
+    public function get_tax($currency = false) {
1431
+        $tax = wpinv_round_amount($this->tax);
1432 1432
         
1433
-        if ( $currency ) {
1434
-            $tax = wpinv_price( wpinv_format_amount( $tax, NULL, !$currency ), $this->get_currency() );
1433
+        if ($currency) {
1434
+            $tax = wpinv_price(wpinv_format_amount($tax, NULL, !$currency), $this->get_currency());
1435 1435
         }
1436 1436
         
1437
-        return apply_filters( 'wpinv_get_invoice_tax', $tax, $this->ID, $this, $currency );
1437
+        return apply_filters('wpinv_get_invoice_tax', $tax, $this->ID, $this, $currency);
1438 1438
     }
1439 1439
     
1440
-    public function get_fees( $type = 'all' ) {
1441
-        $fees    = array();
1440
+    public function get_fees($type = 'all') {
1441
+        $fees = array();
1442 1442
 
1443
-        if ( ! empty( $this->fees ) && is_array( $this->fees ) ) {
1444
-            foreach ( $this->fees as $fee ) {
1445
-                if( 'all' != $type && ! empty( $fee['type'] ) && $type != $fee['type'] ) {
1443
+        if (!empty($this->fees) && is_array($this->fees)) {
1444
+            foreach ($this->fees as $fee) {
1445
+                if ('all' != $type && !empty($fee['type']) && $type != $fee['type']) {
1446 1446
                     continue;
1447 1447
                 }
1448 1448
 
1449
-                $fee['label'] = stripslashes( $fee['label'] );
1450
-                $fee['amount_display'] = wpinv_price( $fee['amount'], $this->get_currency() );
1451
-                $fees[]    = $fee;
1449
+                $fee['label'] = stripslashes($fee['label']);
1450
+                $fee['amount_display'] = wpinv_price($fee['amount'], $this->get_currency());
1451
+                $fees[] = $fee;
1452 1452
             }
1453 1453
         }
1454 1454
 
1455
-        return apply_filters( 'wpinv_get_invoice_fees', $fees, $this->ID, $this );
1455
+        return apply_filters('wpinv_get_invoice_fees', $fees, $this->ID, $this);
1456 1456
     }
1457 1457
     
1458
-    public function get_fees_total( $type = 'all' ) {
1458
+    public function get_fees_total($type = 'all') {
1459 1459
         $fees_total = (float) 0.00;
1460 1460
 
1461
-        $payment_fees = isset( $this->payment_meta['fees'] ) ? $this->payment_meta['fees'] : array();
1462
-        if ( ! empty( $payment_fees ) ) {
1463
-            foreach ( $payment_fees as $fee ) {
1461
+        $payment_fees = isset($this->payment_meta['fees']) ? $this->payment_meta['fees'] : array();
1462
+        if (!empty($payment_fees)) {
1463
+            foreach ($payment_fees as $fee) {
1464 1464
                 $fees_total += (float) $fee['amount'];
1465 1465
             }
1466 1466
         }
1467 1467
 
1468
-        return apply_filters( 'wpinv_get_invoice_fees_total', $fees_total, $this->ID, $this );
1468
+        return apply_filters('wpinv_get_invoice_fees_total', $fees_total, $this->ID, $this);
1469 1469
         /*
1470 1470
         $fees = $this->get_fees( $type );
1471 1471
 
@@ -1485,116 +1485,116 @@  discard block
 block discarded – undo
1485 1485
     }
1486 1486
 
1487 1487
     public function get_user_id() {
1488
-        return apply_filters( 'wpinv_user_id', $this->user_id, $this->ID, $this );
1488
+        return apply_filters('wpinv_user_id', $this->user_id, $this->ID, $this);
1489 1489
     }
1490 1490
     
1491 1491
     public function get_first_name() {
1492
-        return apply_filters( 'wpinv_first_name', $this->first_name, $this->ID, $this );
1492
+        return apply_filters('wpinv_first_name', $this->first_name, $this->ID, $this);
1493 1493
     }
1494 1494
     
1495 1495
     public function get_last_name() {
1496
-        return apply_filters( 'wpinv_last_name', $this->last_name, $this->ID, $this );
1496
+        return apply_filters('wpinv_last_name', $this->last_name, $this->ID, $this);
1497 1497
     }
1498 1498
     
1499 1499
     public function get_user_full_name() {
1500
-        return apply_filters( 'wpinv_user_full_name', $this->full_name, $this->ID, $this );
1500
+        return apply_filters('wpinv_user_full_name', $this->full_name, $this->ID, $this);
1501 1501
     }
1502 1502
     
1503 1503
     public function get_user_info() {
1504
-        return apply_filters( 'wpinv_user_info', $this->user_info, $this->ID, $this );
1504
+        return apply_filters('wpinv_user_info', $this->user_info, $this->ID, $this);
1505 1505
     }
1506 1506
     
1507 1507
     public function get_email() {
1508
-        return apply_filters( 'wpinv_user_email', $this->email, $this->ID, $this );
1508
+        return apply_filters('wpinv_user_email', $this->email, $this->ID, $this);
1509 1509
     }
1510 1510
     
1511 1511
     public function get_address() {
1512
-        return apply_filters( 'wpinv_address', $this->address, $this->ID, $this );
1512
+        return apply_filters('wpinv_address', $this->address, $this->ID, $this);
1513 1513
     }
1514 1514
     
1515 1515
     public function get_phone() {
1516
-        return apply_filters( 'wpinv_phone', $this->phone, $this->ID, $this );
1516
+        return apply_filters('wpinv_phone', $this->phone, $this->ID, $this);
1517 1517
     }
1518 1518
     
1519 1519
     public function get_number() {
1520
-        return apply_filters( 'wpinv_number', $this->number, $this->ID, $this );
1520
+        return apply_filters('wpinv_number', $this->number, $this->ID, $this);
1521 1521
     }
1522 1522
     
1523 1523
     public function get_items() {
1524
-        return apply_filters( 'wpinv_payment_meta_items', $this->items, $this->ID, $this );
1524
+        return apply_filters('wpinv_payment_meta_items', $this->items, $this->ID, $this);
1525 1525
     }
1526 1526
     
1527 1527
     public function get_key() {
1528
-        return apply_filters( 'wpinv_key', $this->key, $this->ID, $this );
1528
+        return apply_filters('wpinv_key', $this->key, $this->ID, $this);
1529 1529
     }
1530 1530
     
1531 1531
     public function get_transaction_id() {
1532
-        return apply_filters( 'wpinv_get_invoice_transaction_id', $this->transaction_id, $this->ID, $this );
1532
+        return apply_filters('wpinv_get_invoice_transaction_id', $this->transaction_id, $this->ID, $this);
1533 1533
     }
1534 1534
     
1535 1535
     public function get_gateway() {
1536
-        return apply_filters( 'wpinv_gateway', $this->gateway, $this->ID, $this );
1536
+        return apply_filters('wpinv_gateway', $this->gateway, $this->ID, $this);
1537 1537
     }
1538 1538
     
1539 1539
     public function get_gateway_title() {
1540
-        $this->gateway_title = !empty( $this->gateway_title ) ? $this->gateway_title : wpinv_get_gateway_checkout_label( $this->gateway );
1540
+        $this->gateway_title = !empty($this->gateway_title) ? $this->gateway_title : wpinv_get_gateway_checkout_label($this->gateway);
1541 1541
         
1542
-        return apply_filters( 'wpinv_gateway_title', $this->gateway_title, $this->ID, $this );
1542
+        return apply_filters('wpinv_gateway_title', $this->gateway_title, $this->ID, $this);
1543 1543
     }
1544 1544
     
1545 1545
     public function get_currency() {
1546
-        return apply_filters( 'wpinv_currency_code', $this->currency, $this->ID, $this );
1546
+        return apply_filters('wpinv_currency_code', $this->currency, $this->ID, $this);
1547 1547
     }
1548 1548
     
1549 1549
     public function get_created_date() {
1550
-        return apply_filters( 'wpinv_created_date', $this->date, $this->ID, $this );
1550
+        return apply_filters('wpinv_created_date', $this->date, $this->ID, $this);
1551 1551
     }
1552 1552
     
1553
-    public function get_due_date( $display = false ) {
1554
-        $due_date = apply_filters( 'wpinv_due_date', $this->due_date, $this->ID, $this );
1553
+    public function get_due_date($display = false) {
1554
+        $due_date = apply_filters('wpinv_due_date', $this->due_date, $this->ID, $this);
1555 1555
         
1556
-        if ( !$display || empty( $due_date ) ) {
1556
+        if (!$display || empty($due_date)) {
1557 1557
             return $due_date;
1558 1558
         }
1559 1559
         
1560
-        return date_i18n( get_option( 'date_format' ), strtotime( $due_date ) );
1560
+        return date_i18n(get_option('date_format'), strtotime($due_date));
1561 1561
     }
1562 1562
     
1563 1563
     public function get_completed_date() {
1564
-        return apply_filters( 'wpinv_completed_date', $this->completed_date, $this->ID, $this );
1564
+        return apply_filters('wpinv_completed_date', $this->completed_date, $this->ID, $this);
1565 1565
     }
1566 1566
     
1567
-    public function get_invoice_date( $formatted = true ) {
1567
+    public function get_invoice_date($formatted = true) {
1568 1568
         $date_completed = $this->completed_date;
1569 1569
         $invoice_date   = $date_completed != '' && $date_completed != '0000-00-00 00:00:00' ? $date_completed : '';
1570 1570
         
1571
-        if ( $invoice_date == '' ) {
1571
+        if ($invoice_date == '') {
1572 1572
             $date_created   = $this->date;
1573 1573
             $invoice_date   = $date_created != '' && $date_created != '0000-00-00 00:00:00' ? $date_created : '';
1574 1574
         }
1575 1575
         
1576
-        if ( $formatted && $invoice_date ) {
1577
-            $invoice_date   = date_i18n( get_option( 'date_format' ), strtotime( $invoice_date ) );
1576
+        if ($formatted && $invoice_date) {
1577
+            $invoice_date = date_i18n(get_option('date_format'), strtotime($invoice_date));
1578 1578
         }
1579 1579
 
1580
-        return apply_filters( 'wpinv_get_invoice_date', $invoice_date, $formatted, $this->ID, $this );
1580
+        return apply_filters('wpinv_get_invoice_date', $invoice_date, $formatted, $this->ID, $this);
1581 1581
     }
1582 1582
     
1583 1583
     public function get_ip() {
1584
-        return apply_filters( 'wpinv_user_ip', $this->ip, $this->ID, $this );
1584
+        return apply_filters('wpinv_user_ip', $this->ip, $this->ID, $this);
1585 1585
     }
1586 1586
         
1587
-    public function has_status( $status ) {
1588
-        return apply_filters( 'wpinv_has_status', ( is_array( $status ) && in_array( $this->get_status(), $status ) ) || $this->get_status() === $status ? true : false, $this, $status );
1587
+    public function has_status($status) {
1588
+        return apply_filters('wpinv_has_status', (is_array($status) && in_array($this->get_status(), $status)) || $this->get_status() === $status ? true : false, $this, $status);
1589 1589
     }
1590 1590
     
1591
-    public function add_item( $item_id = 0, $args = array() ) {
1591
+    public function add_item($item_id = 0, $args = array()) {
1592 1592
         global $wpi_current_id, $wpi_item_id;
1593 1593
         
1594
-        $item = new WPInv_Item( $item_id );
1594
+        $item = new WPInv_Item($item_id);
1595 1595
 
1596 1596
         // Bail if this post isn't a item
1597
-        if( !$item || $item->post_type !== 'wpi_item' ) {
1597
+        if (!$item || $item->post_type !== 'wpi_item') {
1598 1598
             return false;
1599 1599
         }
1600 1600
         
@@ -1613,8 +1613,8 @@  discard block
 block discarded – undo
1613 1613
             'fees'          => array()
1614 1614
         );
1615 1615
 
1616
-        $args = wp_parse_args( apply_filters( 'wpinv_add_item_args', $args, $item->ID ), $defaults );
1617
-        $args['quantity']   = $has_quantities && $args['quantity'] > 0 ? absint( $args['quantity'] ) : 1;
1616
+        $args = wp_parse_args(apply_filters('wpinv_add_item_args', $args, $item->ID), $defaults);
1617
+        $args['quantity'] = $has_quantities && $args['quantity'] > 0 ? absint($args['quantity']) : 1;
1618 1618
 
1619 1619
         $wpi_current_id         = $this->ID;
1620 1620
         $wpi_item_id            = $item->ID;
@@ -1626,19 +1626,19 @@  discard block
 block discarded – undo
1626 1626
         $found_cart_key         = false;
1627 1627
         
1628 1628
         if ($has_quantities) {
1629
-            $this->cart_details = !empty( $this->cart_details ) ? array_values( $this->cart_details ) : $this->cart_details;
1629
+            $this->cart_details = !empty($this->cart_details) ? array_values($this->cart_details) : $this->cart_details;
1630 1630
             
1631
-            foreach ( $this->items as $key => $cart_item ) {
1632
-                if ( (int)$item_id !== (int)$cart_item['id'] ) {
1631
+            foreach ($this->items as $key => $cart_item) {
1632
+                if ((int) $item_id !== (int) $cart_item['id']) {
1633 1633
                     continue;
1634 1634
                 }
1635 1635
 
1636
-                $this->items[ $key ]['quantity'] += $args['quantity'];
1636
+                $this->items[$key]['quantity'] += $args['quantity'];
1637 1637
                 break;
1638 1638
             }
1639 1639
             
1640
-            foreach ( $this->cart_details as $cart_key => $cart_item ) {
1641
-                if ( $item_id != $cart_item['id'] ) {
1640
+            foreach ($this->cart_details as $cart_key => $cart_item) {
1641
+                if ($item_id != $cart_item['id']) {
1642 1642
                     continue;
1643 1643
                 }
1644 1644
 
@@ -1650,29 +1650,29 @@  discard block
 block discarded – undo
1650 1650
         if ($has_quantities && $found_cart_key !== false) {
1651 1651
             $cart_item          = $this->cart_details[$found_cart_key];
1652 1652
             $item_price         = $cart_item['item_price'];
1653
-            $quantity           = !empty( $cart_item['quantity'] ) ? $cart_item['quantity'] : 1;
1654
-            $tax_rate           = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : 0;
1653
+            $quantity           = !empty($cart_item['quantity']) ? $cart_item['quantity'] : 1;
1654
+            $tax_rate           = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : 0;
1655 1655
             
1656 1656
             $new_quantity       = $quantity + $args['quantity'];
1657 1657
             $subtotal           = $item_price * $new_quantity;
1658 1658
             
1659 1659
             $args['quantity']   = $new_quantity;
1660
-            $discount           = !empty( $args['discount'] ) ? $args['discount'] : 0;
1661
-            $tax                = $subtotal > 0 && $tax_rate > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0;
1660
+            $discount           = !empty($args['discount']) ? $args['discount'] : 0;
1661
+            $tax                = $subtotal > 0 && $tax_rate > 0 ? (($subtotal - $discount) * 0.01 * (float) $tax_rate) : 0;
1662 1662
             
1663
-            $discount_increased = $discount > 0 && $subtotal > 0 && $discount > (float)$cart_item['discount'] ? $discount - (float)$cart_item['discount'] : 0;
1664
-            $tax_increased      = $tax > 0 && $subtotal > 0 && $tax > (float)$cart_item['tax'] ? $tax - (float)$cart_item['tax'] : 0;
1663
+            $discount_increased = $discount > 0 && $subtotal > 0 && $discount > (float) $cart_item['discount'] ? $discount - (float) $cart_item['discount'] : 0;
1664
+            $tax_increased      = $tax > 0 && $subtotal > 0 && $tax > (float) $cart_item['tax'] ? $tax - (float) $cart_item['tax'] : 0;
1665 1665
             // The total increase equals the number removed * the item_price
1666
-            $total_increased    = wpinv_round_amount( $item_price );
1666
+            $total_increased    = wpinv_round_amount($item_price);
1667 1667
             
1668
-            if ( wpinv_prices_include_tax() ) {
1669
-                $subtotal -= wpinv_round_amount( $tax );
1668
+            if (wpinv_prices_include_tax()) {
1669
+                $subtotal -= wpinv_round_amount($tax);
1670 1670
             }
1671 1671
 
1672
-            $total              = $subtotal - $discount + $tax;
1672
+            $total = $subtotal - $discount + $tax;
1673 1673
 
1674 1674
             // Do not allow totals to go negative
1675
-            if( $total < 0 ) {
1675
+            if ($total < 0) {
1676 1676
                 $total = 0;
1677 1677
             }
1678 1678
             
@@ -1688,25 +1688,25 @@  discard block
 block discarded – undo
1688 1688
             $this->cart_details[$found_cart_key] = $cart_item;
1689 1689
         } else {
1690 1690
             // Set custom price.
1691
-            if ( $args['custom_price'] !== '' ) {
1691
+            if ($args['custom_price'] !== '') {
1692 1692
                 $item_price = $args['custom_price'];
1693 1693
             } else {
1694 1694
                 // Allow overriding the price
1695
-                if ( false !== $args['item_price'] ) {
1695
+                if (false !== $args['item_price']) {
1696 1696
                     $item_price = $args['item_price'];
1697 1697
                 } else {
1698
-                    $item_price = wpinv_get_item_price( $item->ID );
1698
+                    $item_price = wpinv_get_item_price($item->ID);
1699 1699
                 }
1700 1700
             }
1701 1701
 
1702 1702
             // Sanitizing the price here so we don't have a dozen calls later
1703
-            $item_price = wpinv_sanitize_amount( $item_price );
1704
-            $subtotal   = wpinv_round_amount( $item_price * $args['quantity'] );
1703
+            $item_price = wpinv_sanitize_amount($item_price);
1704
+            $subtotal   = wpinv_round_amount($item_price * $args['quantity']);
1705 1705
         
1706
-            $discount   = !empty( $args['discount'] ) ? $args['discount'] : 0;
1707
-            $tax_class  = !empty( $args['vat_class'] ) ? $args['vat_class'] : '';
1708
-            $tax_rate   = !empty( $args['vat_rate'] ) ? $args['vat_rate'] : 0;
1709
-            $tax        = $subtotal > 0 && $tax_rate > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0;
1706
+            $discount   = !empty($args['discount']) ? $args['discount'] : 0;
1707
+            $tax_class  = !empty($args['vat_class']) ? $args['vat_class'] : '';
1708
+            $tax_rate   = !empty($args['vat_rate']) ? $args['vat_rate'] : 0;
1709
+            $tax        = $subtotal > 0 && $tax_rate > 0 ? (($subtotal - $discount) * 0.01 * (float) $tax_rate) : 0;
1710 1710
 
1711 1711
             // Setup the items meta item
1712 1712
             $new_item = array(
@@ -1714,29 +1714,29 @@  discard block
 block discarded – undo
1714 1714
                 'quantity' => $args['quantity'],
1715 1715
             );
1716 1716
 
1717
-            $this->items[]  = $new_item;
1717
+            $this->items[] = $new_item;
1718 1718
 
1719
-            if ( wpinv_prices_include_tax() ) {
1720
-                $subtotal -= wpinv_round_amount( $tax );
1719
+            if (wpinv_prices_include_tax()) {
1720
+                $subtotal -= wpinv_round_amount($tax);
1721 1721
             }
1722 1722
 
1723
-            $total      = $subtotal - $discount + $tax;
1723
+            $total = $subtotal - $discount + $tax;
1724 1724
 
1725 1725
             // Do not allow totals to go negative
1726
-            if( $total < 0 ) {
1726
+            if ($total < 0) {
1727 1727
                 $total = 0;
1728 1728
             }
1729 1729
         
1730 1730
             $this->cart_details[] = array(
1731 1731
                 'name'          => !empty($args['name']) ? $args['name'] : $item->get_name(),
1732 1732
                 'id'            => $item->ID,
1733
-                'item_price'    => wpinv_round_amount( $item_price ),
1734
-                'custom_price'  => ( $args['custom_price'] !== '' ? wpinv_round_amount( $args['custom_price'] ) : '' ),
1733
+                'item_price'    => wpinv_round_amount($item_price),
1734
+                'custom_price'  => ($args['custom_price'] !== '' ? wpinv_round_amount($args['custom_price']) : ''),
1735 1735
                 'quantity'      => $args['quantity'],
1736 1736
                 'discount'      => $discount,
1737
-                'subtotal'      => wpinv_round_amount( $subtotal ),
1738
-                'tax'           => wpinv_round_amount( $tax ),
1739
-                'price'         => wpinv_round_amount( $total ),
1737
+                'subtotal'      => wpinv_round_amount($subtotal),
1738
+                'tax'           => wpinv_round_amount($tax),
1739
+                'price'         => wpinv_round_amount($total),
1740 1740
                 'vat_rate'      => $tax_rate,
1741 1741
                 'vat_class'     => $tax_class,
1742 1742
                 'meta'          => $args['meta'],
@@ -1746,18 +1746,18 @@  discard block
 block discarded – undo
1746 1746
             $subtotal = $subtotal - $discount;
1747 1747
         }
1748 1748
         
1749
-        $added_item = end( $this->cart_details );
1750
-        $added_item['action']  = 'add';
1749
+        $added_item = end($this->cart_details);
1750
+        $added_item['action'] = 'add';
1751 1751
         
1752 1752
         $this->pending['items'][] = $added_item;
1753 1753
         
1754
-        $this->increase_subtotal( $subtotal );
1755
-        $this->increase_tax( $tax );
1754
+        $this->increase_subtotal($subtotal);
1755
+        $this->increase_tax($tax);
1756 1756
 
1757 1757
         return true;
1758 1758
     }
1759 1759
     
1760
-    public function remove_item( $item_id, $args = array() ) {
1760
+    public function remove_item($item_id, $args = array()) {
1761 1761
         // Set some defaults
1762 1762
         $defaults = array(
1763 1763
             'quantity'      => 1,
@@ -1765,51 +1765,51 @@  discard block
 block discarded – undo
1765 1765
             'custom_price'  => '',
1766 1766
             'cart_index'    => false,
1767 1767
         );
1768
-        $args = wp_parse_args( $args, $defaults );
1768
+        $args = wp_parse_args($args, $defaults);
1769 1769
 
1770 1770
         // Bail if this post isn't a item
1771
-        if ( get_post_type( $item_id ) !== 'wpi_item' ) {
1771
+        if (get_post_type($item_id) !== 'wpi_item') {
1772 1772
             return false;
1773 1773
         }
1774 1774
         
1775
-        $this->cart_details = !empty( $this->cart_details ) ? array_values( $this->cart_details ) : $this->cart_details;
1775
+        $this->cart_details = !empty($this->cart_details) ? array_values($this->cart_details) : $this->cart_details;
1776 1776
 
1777
-        foreach ( $this->items as $key => $item ) {
1778
-            if ( !empty($item['id']) && (int)$item_id !== (int)$item['id'] ) {
1777
+        foreach ($this->items as $key => $item) {
1778
+            if (!empty($item['id']) && (int) $item_id !== (int) $item['id']) {
1779 1779
                 continue;
1780 1780
             }
1781 1781
 
1782
-            if ( false !== $args['cart_index'] ) {
1783
-                $cart_index = absint( $args['cart_index'] );
1784
-                $cart_item  = ! empty( $this->cart_details[ $cart_index ] ) ? $this->cart_details[ $cart_index ] : false;
1782
+            if (false !== $args['cart_index']) {
1783
+                $cart_index = absint($args['cart_index']);
1784
+                $cart_item  = !empty($this->cart_details[$cart_index]) ? $this->cart_details[$cart_index] : false;
1785 1785
 
1786
-                if ( ! empty( $cart_item ) ) {
1786
+                if (!empty($cart_item)) {
1787 1787
                     // If the cart index item isn't the same item ID, don't remove it
1788
-                    if ( !empty($cart_item['id']) && $cart_item['id'] != $item['id'] ) {
1788
+                    if (!empty($cart_item['id']) && $cart_item['id'] != $item['id']) {
1789 1789
                         continue;
1790 1790
                     }
1791 1791
                 }
1792 1792
             }
1793 1793
 
1794
-            $item_quantity = $this->items[ $key ]['quantity'];
1795
-            if ( $item_quantity > $args['quantity'] ) {
1796
-                $this->items[ $key ]['quantity'] -= $args['quantity'];
1794
+            $item_quantity = $this->items[$key]['quantity'];
1795
+            if ($item_quantity > $args['quantity']) {
1796
+                $this->items[$key]['quantity'] -= $args['quantity'];
1797 1797
                 break;
1798 1798
             } else {
1799
-                unset( $this->items[ $key ] );
1799
+                unset($this->items[$key]);
1800 1800
                 break;
1801 1801
             }
1802 1802
         }
1803 1803
 
1804 1804
         $found_cart_key = false;
1805
-        if ( false === $args['cart_index'] ) {
1806
-            foreach ( $this->cart_details as $cart_key => $item ) {
1807
-                if ( $item_id != $item['id'] ) {
1805
+        if (false === $args['cart_index']) {
1806
+            foreach ($this->cart_details as $cart_key => $item) {
1807
+                if ($item_id != $item['id']) {
1808 1808
                     continue;
1809 1809
                 }
1810 1810
 
1811
-                if ( false !== $args['item_price'] ) {
1812
-                    if ( isset( $item['item_price'] ) && (float) $args['item_price'] != (float) $item['item_price'] ) {
1811
+                if (false !== $args['item_price']) {
1812
+                    if (isset($item['item_price']) && (float) $args['item_price'] != (float) $item['item_price']) {
1813 1813
                         continue;
1814 1814
                     }
1815 1815
                 }
@@ -1818,13 +1818,13 @@  discard block
 block discarded – undo
1818 1818
                 break;
1819 1819
             }
1820 1820
         } else {
1821
-            $cart_index = absint( $args['cart_index'] );
1821
+            $cart_index = absint($args['cart_index']);
1822 1822
 
1823
-            if ( ! array_key_exists( $cart_index, $this->cart_details ) ) {
1823
+            if (!array_key_exists($cart_index, $this->cart_details)) {
1824 1824
                 return false; // Invalid cart index passed.
1825 1825
             }
1826 1826
 
1827
-            if ( (int) $this->cart_details[ $cart_index ]['id'] > 0 && (int) $this->cart_details[ $cart_index ]['id'] !== (int) $item_id ) {
1827
+            if ((int) $this->cart_details[$cart_index]['id'] > 0 && (int) $this->cart_details[$cart_index]['id'] !== (int) $item_id) {
1828 1828
                 return false; // We still need the proper Item ID to be sure.
1829 1829
             }
1830 1830
 
@@ -1832,41 +1832,41 @@  discard block
 block discarded – undo
1832 1832
         }
1833 1833
         
1834 1834
         $cart_item  = $this->cart_details[$found_cart_key];
1835
-        $quantity   = !empty( $cart_item['quantity'] ) ? $cart_item['quantity'] : 1;
1835
+        $quantity   = !empty($cart_item['quantity']) ? $cart_item['quantity'] : 1;
1836 1836
         
1837
-        if ( count( $this->cart_details ) == 1 && ( $quantity - $args['quantity'] ) < 1 ) {
1837
+        if (count($this->cart_details) == 1 && ($quantity - $args['quantity']) < 1) {
1838 1838
             //return false; // Invoice must contain at least one item.
1839 1839
         }
1840 1840
         
1841
-        $discounts  = $this->get_discounts();
1841
+        $discounts = $this->get_discounts();
1842 1842
         
1843
-        if ( $quantity > $args['quantity'] ) {
1843
+        if ($quantity > $args['quantity']) {
1844 1844
             $item_price         = $cart_item['item_price'];
1845
-            $tax_rate           = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : 0;
1845
+            $tax_rate           = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : 0;
1846 1846
             
1847
-            $new_quantity       = max( $quantity - $args['quantity'], 1);
1847
+            $new_quantity       = max($quantity - $args['quantity'], 1);
1848 1848
             $subtotal           = $item_price * $new_quantity;
1849 1849
             
1850 1850
             $args['quantity']   = $new_quantity;
1851
-            $discount           = !empty( $cart_item['discount'] ) ? $cart_item['discount'] : 0;
1852
-            $tax                = $subtotal > 0 && $tax_rate > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0;
1851
+            $discount           = !empty($cart_item['discount']) ? $cart_item['discount'] : 0;
1852
+            $tax                = $subtotal > 0 && $tax_rate > 0 ? (($subtotal - $discount) * 0.01 * (float) $tax_rate) : 0;
1853 1853
             
1854
-            $discount_decrease  = (float)$cart_item['discount'] > 0 && $quantity > 0 ? wpinv_round_amount( ( (float)$cart_item['discount'] / $quantity ) ) : 0;
1855
-            $discount_decrease  = $discount > 0 && $subtotal > 0 && (float)$cart_item['discount'] > $discount ? (float)$cart_item['discount'] - $discount : $discount_decrease; 
1856
-            $tax_decrease       = (float)$cart_item['tax'] > 0 && $quantity > 0 ? wpinv_round_amount( ( (float)$cart_item['tax'] / $quantity ) ) : 0;
1857
-            $tax_decrease       = $tax > 0 && $subtotal > 0 && (float)$cart_item['tax'] > $tax ? (float)$cart_item['tax'] - $tax : $tax_decrease;
1854
+            $discount_decrease  = (float) $cart_item['discount'] > 0 && $quantity > 0 ? wpinv_round_amount(((float) $cart_item['discount'] / $quantity)) : 0;
1855
+            $discount_decrease  = $discount > 0 && $subtotal > 0 && (float) $cart_item['discount'] > $discount ? (float) $cart_item['discount'] - $discount : $discount_decrease; 
1856
+            $tax_decrease       = (float) $cart_item['tax'] > 0 && $quantity > 0 ? wpinv_round_amount(((float) $cart_item['tax'] / $quantity)) : 0;
1857
+            $tax_decrease       = $tax > 0 && $subtotal > 0 && (float) $cart_item['tax'] > $tax ? (float) $cart_item['tax'] - $tax : $tax_decrease;
1858 1858
             
1859 1859
             // The total increase equals the number removed * the item_price
1860
-            $total_decrease     = wpinv_round_amount( $item_price );
1860
+            $total_decrease     = wpinv_round_amount($item_price);
1861 1861
             
1862
-            if ( wpinv_prices_include_tax() ) {
1863
-                $subtotal -= wpinv_round_amount( $tax );
1862
+            if (wpinv_prices_include_tax()) {
1863
+                $subtotal -= wpinv_round_amount($tax);
1864 1864
             }
1865 1865
 
1866
-            $total              = $subtotal - $discount + $tax;
1866
+            $total = $subtotal - $discount + $tax;
1867 1867
 
1868 1868
             // Do not allow totals to go negative
1869
-            if( $total < 0 ) {
1869
+            if ($total < 0) {
1870 1870
                 $total = 0;
1871 1871
             }
1872 1872
             
@@ -1885,16 +1885,16 @@  discard block
 block discarded – undo
1885 1885
             
1886 1886
             $this->cart_details[$found_cart_key] = $cart_item;
1887 1887
             
1888
-            $remove_item = end( $this->cart_details );
1888
+            $remove_item = end($this->cart_details);
1889 1889
         } else {
1890 1890
             $item_price     = $cart_item['item_price'];
1891
-            $discount       = !empty( $cart_item['discount'] ) ? $cart_item['discount'] : 0;
1892
-            $tax            = !empty( $cart_item['tax'] ) ? $cart_item['tax'] : 0;
1891
+            $discount       = !empty($cart_item['discount']) ? $cart_item['discount'] : 0;
1892
+            $tax            = !empty($cart_item['tax']) ? $cart_item['tax'] : 0;
1893 1893
         
1894
-            $subtotal_decrease  = ( $item_price * $quantity ) - $discount;
1894
+            $subtotal_decrease  = ($item_price * $quantity) - $discount;
1895 1895
             $tax_decrease       = $tax;
1896 1896
 
1897
-            unset( $this->cart_details[$found_cart_key] );
1897
+            unset($this->cart_details[$found_cart_key]);
1898 1898
             
1899 1899
             $remove_item             = $args;
1900 1900
             $remove_item['id']       = $item_id;
@@ -1905,8 +1905,8 @@  discard block
 block discarded – undo
1905 1905
         $remove_item['action']      = 'remove';
1906 1906
         $this->pending['items'][]   = $remove_item;
1907 1907
                
1908
-        $this->decrease_subtotal( $subtotal_decrease );
1909
-        $this->decrease_tax( $tax_decrease );
1908
+        $this->decrease_subtotal($subtotal_decrease);
1909
+        $this->decrease_tax($tax_decrease);
1910 1910
         
1911 1911
         return true;
1912 1912
     }
@@ -1914,7 +1914,7 @@  discard block
 block discarded – undo
1914 1914
     public function update_items($temp = false) {
1915 1915
         global $wpinv_euvat, $wpi_current_id, $wpi_item_id, $wpi_nosave;
1916 1916
         
1917
-        if ( !empty( $this->cart_details ) ) {
1917
+        if (!empty($this->cart_details)) {
1918 1918
             $wpi_nosave             = $temp;
1919 1919
             $cart_subtotal          = 0;
1920 1920
             $cart_discount          = 0;
@@ -1924,61 +1924,61 @@  discard block
 block discarded – undo
1924 1924
             $_POST['wpinv_country'] = $this->country;
1925 1925
             $_POST['wpinv_state']   = $this->state;
1926 1926
             
1927
-            foreach ( $this->cart_details as $key => $item ) {
1927
+            foreach ($this->cart_details as $key => $item) {
1928 1928
                 $item_price = $item['item_price'];
1929
-                $quantity   = wpinv_item_quantities_enabled() && $item['quantity'] > 0 ? absint( $item['quantity'] ) : 1;
1930
-                $amount     = wpinv_round_amount( $item_price * $quantity );
1929
+                $quantity   = wpinv_item_quantities_enabled() && $item['quantity'] > 0 ? absint($item['quantity']) : 1;
1930
+                $amount     = wpinv_round_amount($item_price * $quantity);
1931 1931
                 $subtotal   = $item_price * $quantity;
1932 1932
                 
1933 1933
                 $wpi_current_id         = $this->ID;
1934 1934
                 $wpi_item_id            = $item['id'];
1935 1935
                 
1936
-                $discount   = wpinv_get_cart_item_discount_amount( $item, $this->get_discounts() );
1936
+                $discount   = wpinv_get_cart_item_discount_amount($item, $this->get_discounts());
1937 1937
                 
1938
-                $tax_rate   = wpinv_get_tax_rate( $this->country, $this->state, $wpi_item_id );
1939
-                $tax_class  = $wpinv_euvat->get_item_class( $wpi_item_id );
1940
-                $tax        = $item_price > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0;
1938
+                $tax_rate   = wpinv_get_tax_rate($this->country, $this->state, $wpi_item_id);
1939
+                $tax_class  = $wpinv_euvat->get_item_class($wpi_item_id);
1940
+                $tax        = $item_price > 0 ? (($subtotal - $discount) * 0.01 * (float) $tax_rate) : 0;
1941 1941
 
1942
-                if ( wpinv_prices_include_tax() ) {
1943
-                    $subtotal -= wpinv_round_amount( $tax );
1942
+                if (wpinv_prices_include_tax()) {
1943
+                    $subtotal -= wpinv_round_amount($tax);
1944 1944
                 }
1945 1945
 
1946
-                $total      = $subtotal - $discount + $tax;
1946
+                $total = $subtotal - $discount + $tax;
1947 1947
 
1948 1948
                 // Do not allow totals to go negative
1949
-                if( $total < 0 ) {
1949
+                if ($total < 0) {
1950 1950
                     $total = 0;
1951 1951
                 }
1952 1952
 
1953 1953
                 $cart_details[] = array(
1954 1954
                     'id'          => $item['id'],
1955 1955
                     'name'        => $item['name'],
1956
-                    'item_price'  => wpinv_round_amount( $item_price ),
1957
-                    'custom_price'=> ( isset( $item['custom_price'] ) ? $item['custom_price'] : '' ),
1956
+                    'item_price'  => wpinv_round_amount($item_price),
1957
+                    'custom_price'=> (isset($item['custom_price']) ? $item['custom_price'] : ''),
1958 1958
                     'quantity'    => $quantity,
1959 1959
                     'discount'    => $discount,
1960
-                    'subtotal'    => wpinv_round_amount( $subtotal ),
1961
-                    'tax'         => wpinv_round_amount( $tax ),
1962
-                    'price'       => wpinv_round_amount( $total ),
1960
+                    'subtotal'    => wpinv_round_amount($subtotal),
1961
+                    'tax'         => wpinv_round_amount($tax),
1962
+                    'price'       => wpinv_round_amount($total),
1963 1963
                     'vat_rate'    => $tax_rate,
1964 1964
                     'vat_class'   => $tax_class,
1965 1965
                     'meta'        => isset($item['meta']) ? $item['meta'] : array(),
1966 1966
                     'fees'        => isset($item['fees']) ? $item['fees'] : array(),
1967 1967
                 );
1968 1968
                 
1969
-                $cart_subtotal  += (float)($subtotal - $discount); // TODO
1970
-                $cart_discount  += (float)($discount);
1971
-                $cart_tax       += (float)($tax);
1969
+                $cart_subtotal  += (float) ($subtotal - $discount); // TODO
1970
+                $cart_discount  += (float) ($discount);
1971
+                $cart_tax       += (float) ($tax);
1972 1972
             }
1973
-            if ( $cart_subtotal < 0 ) {
1973
+            if ($cart_subtotal < 0) {
1974 1974
                 $cart_subtotal = 0;
1975 1975
             }
1976
-            if ( $cart_tax < 0 ) {
1976
+            if ($cart_tax < 0) {
1977 1977
                 $cart_tax = 0;
1978 1978
             }
1979
-            $this->subtotal = wpinv_round_amount( $cart_subtotal );
1980
-            $this->tax      = wpinv_round_amount( $cart_tax );
1981
-            $this->discount = wpinv_round_amount( $cart_discount );
1979
+            $this->subtotal = wpinv_round_amount($cart_subtotal);
1980
+            $this->tax      = wpinv_round_amount($cart_tax);
1981
+            $this->discount = wpinv_round_amount($cart_discount);
1982 1982
             
1983 1983
             $this->recalculate_total();
1984 1984
             
@@ -1990,177 +1990,177 @@  discard block
 block discarded – undo
1990 1990
     
1991 1991
     public function recalculate_totals($temp = false) {        
1992 1992
         $this->update_items($temp);
1993
-        $this->save( true );
1993
+        $this->save(true);
1994 1994
         
1995 1995
         return $this;
1996 1996
     }
1997 1997
     
1998 1998
     public function needs_payment() {
1999
-        $valid_invoice_statuses = apply_filters( 'wpinv_valid_invoice_statuses_for_payment', array( 'wpi-pending' ), $this );
1999
+        $valid_invoice_statuses = apply_filters('wpinv_valid_invoice_statuses_for_payment', array('wpi-pending'), $this);
2000 2000
 
2001
-        if ( $this->has_status( $valid_invoice_statuses ) && ( $this->get_total() > 0 || $this->is_free_trial() || $this->is_free() || $this->is_initial_free() ) ) {
2001
+        if ($this->has_status($valid_invoice_statuses) && ($this->get_total() > 0 || $this->is_free_trial() || $this->is_free() || $this->is_initial_free())) {
2002 2002
             $needs_payment = true;
2003 2003
         } else {
2004 2004
             $needs_payment = false;
2005 2005
         }
2006 2006
 
2007
-        return apply_filters( 'wpinv_needs_payment', $needs_payment, $this, $valid_invoice_statuses );
2007
+        return apply_filters('wpinv_needs_payment', $needs_payment, $this, $valid_invoice_statuses);
2008 2008
     }
2009 2009
     
2010
-    public function get_checkout_payment_url( $with_key = false, $secret = false ) {
2010
+    public function get_checkout_payment_url($with_key = false, $secret = false) {
2011 2011
         $pay_url = wpinv_get_checkout_uri();
2012 2012
 
2013
-        if ( is_ssl() ) {
2014
-            $pay_url = str_replace( 'http:', 'https:', $pay_url );
2013
+        if (is_ssl()) {
2014
+            $pay_url = str_replace('http:', 'https:', $pay_url);
2015 2015
         }
2016 2016
         
2017 2017
         $key = $this->get_key();
2018 2018
 
2019
-        if ( $with_key ) {
2020
-            $pay_url = add_query_arg( 'invoice_key', $key, $pay_url );
2019
+        if ($with_key) {
2020
+            $pay_url = add_query_arg('invoice_key', $key, $pay_url);
2021 2021
         } else {
2022
-            $pay_url = add_query_arg( array( 'wpi_action' => 'pay_for_invoice', 'invoice_key' => $key ), $pay_url );
2022
+            $pay_url = add_query_arg(array('wpi_action' => 'pay_for_invoice', 'invoice_key' => $key), $pay_url);
2023 2023
         }
2024 2024
         
2025
-        if ( $secret ) {
2026
-            $pay_url = add_query_arg( array( '_wpipay' => md5( $this->get_user_id() . '::' . $this->get_email() . '::' . $key ) ), $pay_url );
2025
+        if ($secret) {
2026
+            $pay_url = add_query_arg(array('_wpipay' => md5($this->get_user_id() . '::' . $this->get_email() . '::' . $key)), $pay_url);
2027 2027
         }
2028 2028
 
2029
-        return apply_filters( 'wpinv_get_checkout_payment_url', $pay_url, $this, $with_key, $secret );
2029
+        return apply_filters('wpinv_get_checkout_payment_url', $pay_url, $this, $with_key, $secret);
2030 2030
     }
2031 2031
     
2032
-    public function get_view_url( $with_key = false ) {
2033
-        $invoice_url = get_permalink( $this->ID );
2032
+    public function get_view_url($with_key = false) {
2033
+        $invoice_url = get_permalink($this->ID);
2034 2034
 
2035
-        if ( $with_key ) {
2036
-            $invoice_url = add_query_arg( 'invoice_key', $this->get_key(), $invoice_url );
2035
+        if ($with_key) {
2036
+            $invoice_url = add_query_arg('invoice_key', $this->get_key(), $invoice_url);
2037 2037
         }
2038 2038
 
2039
-        return apply_filters( 'wpinv_get_view_url', $invoice_url, $this, $with_key );
2039
+        return apply_filters('wpinv_get_view_url', $invoice_url, $this, $with_key);
2040 2040
     }
2041 2041
     
2042
-    public function generate_key( $string = '' ) {
2043
-        $auth_key  = defined( 'AUTH_KEY' ) ? AUTH_KEY : '';
2044
-        return strtolower( md5( $string . date( 'Y-m-d H:i:s' ) . $auth_key . uniqid( 'wpinv', true ) ) );  // Unique key
2042
+    public function generate_key($string = '') {
2043
+        $auth_key = defined('AUTH_KEY') ? AUTH_KEY : '';
2044
+        return strtolower(md5($string . date('Y-m-d H:i:s') . $auth_key . uniqid('wpinv', true))); // Unique key
2045 2045
     }
2046 2046
     
2047 2047
     public function is_recurring() {
2048
-        if ( empty( $this->cart_details ) ) {
2048
+        if (empty($this->cart_details)) {
2049 2049
             return false;
2050 2050
         }
2051 2051
         
2052 2052
         $has_subscription = false;
2053
-        foreach( $this->cart_details as $cart_item ) {
2054
-            if ( !empty( $cart_item['id'] ) && wpinv_is_recurring_item( $cart_item['id'] )  ) {
2053
+        foreach ($this->cart_details as $cart_item) {
2054
+            if (!empty($cart_item['id']) && wpinv_is_recurring_item($cart_item['id'])) {
2055 2055
                 $has_subscription = true;
2056 2056
                 break;
2057 2057
             }
2058 2058
         }
2059 2059
         
2060
-        if ( count( $this->cart_details ) > 1 ) {
2060
+        if (count($this->cart_details) > 1) {
2061 2061
             $has_subscription = false;
2062 2062
         }
2063 2063
 
2064
-        return apply_filters( 'wpinv_invoice_has_recurring_item', $has_subscription, $this->cart_details );
2064
+        return apply_filters('wpinv_invoice_has_recurring_item', $has_subscription, $this->cart_details);
2065 2065
     }
2066 2066
     
2067 2067
     public function is_free_trial() {
2068 2068
         $is_free_trial = false;
2069 2069
         
2070
-        if ( $this->is_parent() && $item = $this->get_recurring( true ) ) {
2071
-            if ( !empty( $item ) && $item->has_free_trial() ) {
2070
+        if ($this->is_parent() && $item = $this->get_recurring(true)) {
2071
+            if (!empty($item) && $item->has_free_trial()) {
2072 2072
                 $is_free_trial = true;
2073 2073
             }
2074 2074
         }
2075 2075
 
2076
-        return apply_filters( 'wpinv_invoice_is_free_trial', $is_free_trial, $this->cart_details );
2076
+        return apply_filters('wpinv_invoice_is_free_trial', $is_free_trial, $this->cart_details);
2077 2077
     }
2078 2078
     
2079 2079
     public function is_initial_free() {
2080 2080
         $is_initial_free = false;
2081 2081
         
2082
-        if ( ! ( (float)wpinv_round_amount( $this->get_total() ) > 0 ) && $this->is_parent() && $this->is_recurring() && ! $this->is_free_trial() && ! $this->is_free() ) {
2082
+        if (!((float) wpinv_round_amount($this->get_total()) > 0) && $this->is_parent() && $this->is_recurring() && !$this->is_free_trial() && !$this->is_free()) {
2083 2083
             $is_initial_free = true;
2084 2084
         }
2085 2085
 
2086
-        return apply_filters( 'wpinv_invoice_is_initial_free', $is_initial_free, $this->cart_details );
2086
+        return apply_filters('wpinv_invoice_is_initial_free', $is_initial_free, $this->cart_details);
2087 2087
     }
2088 2088
     
2089
-    public function get_recurring( $object = false ) {
2089
+    public function get_recurring($object = false) {
2090 2090
         $item = NULL;
2091 2091
         
2092
-        if ( empty( $this->cart_details ) ) {
2092
+        if (empty($this->cart_details)) {
2093 2093
             return $item;
2094 2094
         }
2095 2095
         
2096
-        foreach( $this->cart_details as $cart_item ) {
2097
-            if ( !empty( $cart_item['id'] ) && wpinv_is_recurring_item( $cart_item['id'] )  ) {
2096
+        foreach ($this->cart_details as $cart_item) {
2097
+            if (!empty($cart_item['id']) && wpinv_is_recurring_item($cart_item['id'])) {
2098 2098
                 $item = $cart_item['id'];
2099 2099
                 break;
2100 2100
             }
2101 2101
         }
2102 2102
         
2103
-        if ( $object ) {
2104
-            $item = $item ? new WPInv_Item( $item ) : NULL;
2103
+        if ($object) {
2104
+            $item = $item ? new WPInv_Item($item) : NULL;
2105 2105
             
2106
-            apply_filters( 'wpinv_invoice_get_recurring_item', $item, $this );
2106
+            apply_filters('wpinv_invoice_get_recurring_item', $item, $this);
2107 2107
         }
2108 2108
 
2109
-        return apply_filters( 'wpinv_invoice_get_recurring_item_id', $item, $this );
2109
+        return apply_filters('wpinv_invoice_get_recurring_item_id', $item, $this);
2110 2110
     }
2111 2111
     
2112 2112
     public function get_subscription_name() {
2113
-        $item = $this->get_recurring( true );
2113
+        $item = $this->get_recurring(true);
2114 2114
         
2115
-        if ( empty( $item ) ) {
2115
+        if (empty($item)) {
2116 2116
             return NULL;
2117 2117
         }
2118 2118
         
2119
-        if ( !($name = $item->get_name()) ) {
2119
+        if (!($name = $item->get_name())) {
2120 2120
             $name = $item->post_name;
2121 2121
         }
2122 2122
 
2123
-        return apply_filters( 'wpinv_invoice_get_subscription_name', $name, $this );
2123
+        return apply_filters('wpinv_invoice_get_subscription_name', $name, $this);
2124 2124
     }
2125 2125
     
2126 2126
     public function get_subscription_id() {
2127
-        $subscription_id = $this->get_meta( '_wpinv_subscr_profile_id', true );
2127
+        $subscription_id = $this->get_meta('_wpinv_subscr_profile_id', true);
2128 2128
         
2129
-        if ( empty( $subscription_id ) && !empty( $this->parent_invoice ) ) {
2130
-            $parent_invoice = wpinv_get_invoice( $this->parent_invoice );
2129
+        if (empty($subscription_id) && !empty($this->parent_invoice)) {
2130
+            $parent_invoice = wpinv_get_invoice($this->parent_invoice);
2131 2131
             
2132
-            $subscription_id = $parent_invoice->get_meta( '_wpinv_subscr_profile_id', true );
2132
+            $subscription_id = $parent_invoice->get_meta('_wpinv_subscr_profile_id', true);
2133 2133
         }
2134 2134
         
2135 2135
         return $subscription_id;
2136 2136
     }
2137 2137
     
2138 2138
     public function is_parent() {
2139
-        $is_parent = empty( $this->parent_invoice ) ? true : false;
2139
+        $is_parent = empty($this->parent_invoice) ? true : false;
2140 2140
 
2141
-        return apply_filters( 'wpinv_invoice_is_parent', $is_parent, $this );
2141
+        return apply_filters('wpinv_invoice_is_parent', $is_parent, $this);
2142 2142
     }
2143 2143
     
2144 2144
     public function is_renewal() {
2145 2145
         $is_renewal = $this->parent_invoice && $this->parent_invoice != $this->ID ? true : false;
2146 2146
 
2147
-        return apply_filters( 'wpinv_invoice_is_renewal', $is_renewal, $this );
2147
+        return apply_filters('wpinv_invoice_is_renewal', $is_renewal, $this);
2148 2148
     }
2149 2149
     
2150 2150
     public function get_parent_payment() {
2151 2151
         $parent_payment = NULL;
2152 2152
         
2153
-        if ( $this->is_renewal() ) {
2154
-            $parent_payment = wpinv_get_invoice( $this->parent_invoice );
2153
+        if ($this->is_renewal()) {
2154
+            $parent_payment = wpinv_get_invoice($this->parent_invoice);
2155 2155
         }
2156 2156
         
2157 2157
         return $parent_payment;
2158 2158
     }
2159 2159
     
2160 2160
     public function is_paid() {
2161
-        $is_paid = $this->has_status( array( 'publish', 'wpi-processing', 'wpi-renewal' ) );
2161
+        $is_paid = $this->has_status(array('publish', 'wpi-processing', 'wpi-renewal'));
2162 2162
 
2163
-        return apply_filters( 'wpinv_invoice_is_paid', $is_paid, $this );
2163
+        return apply_filters('wpinv_invoice_is_paid', $is_paid, $this);
2164 2164
     }
2165 2165
 
2166 2166
     /**
@@ -2173,23 +2173,23 @@  discard block
 block discarded – undo
2173 2173
     }
2174 2174
     
2175 2175
     public function is_refunded() {
2176
-        $is_refunded = $this->has_status( array( 'wpi-refunded' ) );
2176
+        $is_refunded = $this->has_status(array('wpi-refunded'));
2177 2177
 
2178
-        return apply_filters( 'wpinv_invoice_is_refunded', $is_refunded, $this );
2178
+        return apply_filters('wpinv_invoice_is_refunded', $is_refunded, $this);
2179 2179
     }
2180 2180
     
2181 2181
     public function is_free() {
2182 2182
         $is_free = false;
2183 2183
         
2184
-        if ( !( (float)wpinv_round_amount( $this->get_total() ) > 0 ) ) {
2185
-            if ( $this->is_parent() && $this->is_recurring() ) {
2186
-                $is_free = (float)wpinv_round_amount( $this->get_recurring_details( 'total' ) ) > 0 ? false : true;
2184
+        if (!((float) wpinv_round_amount($this->get_total()) > 0)) {
2185
+            if ($this->is_parent() && $this->is_recurring()) {
2186
+                $is_free = (float) wpinv_round_amount($this->get_recurring_details('total')) > 0 ? false : true;
2187 2187
             } else {
2188 2188
                 $is_free = true;
2189 2189
             }
2190 2190
         }
2191 2191
         
2192
-        return apply_filters( 'wpinv_invoice_is_free', $is_free, $this );
2192
+        return apply_filters('wpinv_invoice_is_free', $is_free, $this);
2193 2193
     }
2194 2194
     
2195 2195
     public function has_vat() {
@@ -2197,41 +2197,41 @@  discard block
 block discarded – undo
2197 2197
         
2198 2198
         $requires_vat = false;
2199 2199
         
2200
-        if ( $this->country ) {
2200
+        if ($this->country) {
2201 2201
             $wpi_country        = $this->country;
2202 2202
             
2203
-            $requires_vat       = $wpinv_euvat->requires_vat( $requires_vat, $this->get_user_id(), $wpinv_euvat->invoice_has_digital_rule( $this ) );
2203
+            $requires_vat       = $wpinv_euvat->requires_vat($requires_vat, $this->get_user_id(), $wpinv_euvat->invoice_has_digital_rule($this));
2204 2204
         }
2205 2205
         
2206
-        return apply_filters( 'wpinv_invoice_has_vat', $requires_vat, $this );
2206
+        return apply_filters('wpinv_invoice_has_vat', $requires_vat, $this);
2207 2207
     }
2208 2208
     
2209 2209
     public function refresh_item_ids() {
2210 2210
         $item_ids = array();
2211 2211
         
2212
-        if ( !empty( $this->cart_details ) ) {
2213
-            foreach ( $this->cart_details as $key => $item ) {
2214
-                if ( !empty( $item['id'] ) ) {
2212
+        if (!empty($this->cart_details)) {
2213
+            foreach ($this->cart_details as $key => $item) {
2214
+                if (!empty($item['id'])) {
2215 2215
                     $item_ids[] = $item['id'];
2216 2216
                 }
2217 2217
             }
2218 2218
         }
2219 2219
         
2220
-        $item_ids = !empty( $item_ids ) ? implode( ',', array_unique( $item_ids ) ) : '';
2220
+        $item_ids = !empty($item_ids) ? implode(',', array_unique($item_ids)) : '';
2221 2221
         
2222
-        update_post_meta( $this->ID, '_wpinv_item_ids', $item_ids );
2222
+        update_post_meta($this->ID, '_wpinv_item_ids', $item_ids);
2223 2223
     }
2224 2224
     
2225
-    public function get_invoice_quote_type( $post_id ) {
2226
-        if ( empty( $post_id ) ) {
2225
+    public function get_invoice_quote_type($post_id) {
2226
+        if (empty($post_id)) {
2227 2227
             return '';
2228 2228
         }
2229 2229
 
2230
-        $type = get_post_type( $post_id );
2230
+        $type = get_post_type($post_id);
2231 2231
 
2232
-        if ( 'wpi_invoice' === $type ) {
2232
+        if ('wpi_invoice' === $type) {
2233 2233
             $post_type = __('Invoice', 'invoicing');
2234
-        } else{
2234
+        } else {
2235 2235
             $post_type = __('Quote', 'invoicing');
2236 2236
         }
2237 2237
 
Please login to merge, or discard this patch.
includes/wpinv-discount-functions.php 1 patch
Spacing   +396 added lines, -396 removed lines patch added patch discarded remove patch
@@ -7,110 +7,110 @@  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_discount_types() {
15 15
     $discount_types = array(
16
-                        'percent'   => __( 'Percentage', 'invoicing' ),
17
-                        'flat'     => __( 'Flat Amount', 'invoicing' ),
16
+                        'percent'   => __('Percentage', 'invoicing'),
17
+                        'flat'     => __('Flat Amount', 'invoicing'),
18 18
                     );
19
-    return (array)apply_filters( 'wpinv_discount_types', $discount_types );
19
+    return (array) apply_filters('wpinv_discount_types', $discount_types);
20 20
 }
21 21
 
22
-function wpinv_get_discount_type_name( $type = '' ) {
22
+function wpinv_get_discount_type_name($type = '') {
23 23
     $types = wpinv_get_discount_types();
24
-    return isset( $types[ $type ] ) ? $types[ $type ] : '';
24
+    return isset($types[$type]) ? $types[$type] : '';
25 25
 }
26 26
 
27
-function wpinv_delete_discount( $data ) {
28
-    if ( ! isset( $data['_wpnonce'] ) || ! wp_verify_nonce( $data['_wpnonce'], 'wpinv_discount_nonce' ) ) {
29
-        wp_die( __( 'Trying to cheat or something?', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
27
+function wpinv_delete_discount($data) {
28
+    if (!isset($data['_wpnonce']) || !wp_verify_nonce($data['_wpnonce'], 'wpinv_discount_nonce')) {
29
+        wp_die(__('Trying to cheat or something?', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
30 30
     }
31 31
 
32
-    if( ! wpinv_current_user_can_manage_invoicing() ) {
33
-        wp_die( __( 'You do not have permission to delete discount codes', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
32
+    if (!wpinv_current_user_can_manage_invoicing()) {
33
+        wp_die(__('You do not have permission to delete discount codes', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
34 34
     }
35 35
 
36 36
     $discount_id = $data['discount'];
37
-    wpinv_remove_discount( $discount_id );
37
+    wpinv_remove_discount($discount_id);
38 38
 }
39
-add_action( 'wpinv_delete_discount', 'wpinv_delete_discount' );
39
+add_action('wpinv_delete_discount', 'wpinv_delete_discount');
40 40
 
41
-function wpinv_activate_discount( $data ) {
42
-    if ( ! isset( $data['_wpnonce'] ) || ! wp_verify_nonce( $data['_wpnonce'], 'wpinv_discount_nonce' ) ) {
43
-        wp_die( __( 'Trying to cheat or something?', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
41
+function wpinv_activate_discount($data) {
42
+    if (!isset($data['_wpnonce']) || !wp_verify_nonce($data['_wpnonce'], 'wpinv_discount_nonce')) {
43
+        wp_die(__('Trying to cheat or something?', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
44 44
     }
45 45
 
46
-    if( ! wpinv_current_user_can_manage_invoicing() ) {
47
-        wp_die( __( 'You do not have permission to edit discount codes', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
46
+    if (!wpinv_current_user_can_manage_invoicing()) {
47
+        wp_die(__('You do not have permission to edit discount codes', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
48 48
     }
49 49
 
50
-    $id = absint( $data['discount'] );
51
-    wpinv_update_discount_status( $id, 'publish' );
50
+    $id = absint($data['discount']);
51
+    wpinv_update_discount_status($id, 'publish');
52 52
 }
53
-add_action( 'wpinv_activate_discount', 'wpinv_activate_discount' );
53
+add_action('wpinv_activate_discount', 'wpinv_activate_discount');
54 54
 
55
-function wpinv_deactivate_discount( $data ) {
56
-    if ( ! isset( $data['_wpnonce'] ) || ! wp_verify_nonce( $data['_wpnonce'], 'wpinv_discount_nonce' ) ) {
57
-        wp_die( __( 'Trying to cheat or something?', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
55
+function wpinv_deactivate_discount($data) {
56
+    if (!isset($data['_wpnonce']) || !wp_verify_nonce($data['_wpnonce'], 'wpinv_discount_nonce')) {
57
+        wp_die(__('Trying to cheat or something?', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
58 58
     }
59 59
 
60
-    if( ! wpinv_current_user_can_manage_invoicing() ) {
61
-        wp_die( __( 'You do not have permission to create discount codes', 'invoicing' ), array( 'response' => 403 ) );
60
+    if (!wpinv_current_user_can_manage_invoicing()) {
61
+        wp_die(__('You do not have permission to create discount codes', 'invoicing'), array('response' => 403));
62 62
     }
63 63
 
64
-    $id = absint( $data['discount'] );
65
-    wpinv_update_discount_status( $id, 'pending' );
64
+    $id = absint($data['discount']);
65
+    wpinv_update_discount_status($id, 'pending');
66 66
 }
67
-add_action( 'wpinv_deactivate_discount', 'wpinv_deactivate_discount' );
67
+add_action('wpinv_deactivate_discount', 'wpinv_deactivate_discount');
68 68
 
69
-function wpinv_get_discounts( $args = array() ) {
69
+function wpinv_get_discounts($args = array()) {
70 70
     $defaults = array(
71 71
         'post_type'      => 'wpi_discount',
72 72
         'posts_per_page' => 20,
73 73
         'paged'          => null,
74
-        'post_status'    => array( 'publish', 'pending', 'draft', 'expired' )
74
+        'post_status'    => array('publish', 'pending', 'draft', 'expired')
75 75
     );
76 76
 
77
-    $args = wp_parse_args( $args, $defaults );
77
+    $args = wp_parse_args($args, $defaults);
78 78
 
79
-    $discounts = get_posts( $args );
79
+    $discounts = get_posts($args);
80 80
 
81
-    if ( $discounts ) {
81
+    if ($discounts) {
82 82
         return $discounts;
83 83
     }
84 84
 
85
-    if( ! $discounts && ! empty( $args['s'] ) ) {
85
+    if (!$discounts && !empty($args['s'])) {
86 86
         $args['meta_key']     = '_wpi_discount_code';
87 87
         $args['meta_value']   = $args['s'];
88 88
         $args['meta_compare'] = 'LIKE';
89
-        unset( $args['s'] );
90
-        $discounts = get_posts( $args );
89
+        unset($args['s']);
90
+        $discounts = get_posts($args);
91 91
     }
92 92
 
93
-    if( $discounts ) {
93
+    if ($discounts) {
94 94
         return $discounts;
95 95
     }
96 96
 
97 97
     return false;
98 98
 }
99 99
 
100
-function wpinv_get_all_discounts( $args = array() ) {
100
+function wpinv_get_all_discounts($args = array()) {
101 101
 
102
-    $args = wp_parse_args( $args, array(
103
-        'status'         => array( 'publish' ),
104
-        'limit'          => get_option( 'posts_per_page' ),
102
+    $args = wp_parse_args($args, array(
103
+        'status'         => array('publish'),
104
+        'limit'          => get_option('posts_per_page'),
105 105
         'page'           => 1,
106 106
         'exclude'        => array(),
107 107
         'orderby'        => 'date',
108 108
         'order'          => 'DESC',
109
-        'type'           => array_keys( wpinv_get_discount_types() ),
109
+        'type'           => array_keys(wpinv_get_discount_types()),
110 110
         'meta_query'     => array(),
111 111
         'return'         => 'objects',
112 112
         'paginate'       => false,
113
-    ) );
113
+    ));
114 114
 
115 115
     $wp_query_args = array(
116 116
         'post_type'      => 'wpi_discount',
@@ -120,18 +120,18 @@  discard block
 block discarded – undo
120 120
         'fields'         => 'ids',
121 121
         'orderby'        => $args['orderby'],
122 122
         'order'          => $args['order'],
123
-        'paged'          => absint( $args['page'] ),
123
+        'paged'          => absint($args['page']),
124 124
     );
125 125
 
126
-    if ( ! empty( $args['exclude'] ) ) {
127
-        $wp_query_args['post__not_in'] = array_map( 'absint', $args['exclude'] );
126
+    if (!empty($args['exclude'])) {
127
+        $wp_query_args['post__not_in'] = array_map('absint', $args['exclude']);
128 128
     }
129 129
 
130
-    if ( ! $args['paginate' ] ) {
130
+    if (!$args['paginate']) {
131 131
         $wp_query_args['no_found_rows'] = true;
132 132
     }
133 133
 
134
-    if ( ! empty( $args['search'] ) ) {
134
+    if (!empty($args['search'])) {
135 135
 
136 136
         $wp_query_args['meta_query'][] = array(
137 137
             'key'     => '_wpi_discount_code',
@@ -141,11 +141,11 @@  discard block
 block discarded – undo
141 141
 
142 142
     }
143 143
     
144
-    if ( ! empty( $args['type'] ) ) {
145
-        $types = wpinv_parse_list( $args['type'] );
144
+    if (!empty($args['type'])) {
145
+        $types = wpinv_parse_list($args['type']);
146 146
         $wp_query_args['meta_query'][] = array(
147 147
             'key'     => '_wpi_discount_type',
148
-            'value'   => implode( ',', $types ),
148
+            'value'   => implode(',', $types),
149 149
             'compare' => 'IN',
150 150
         );
151 151
     }
@@ -153,17 +153,17 @@  discard block
 block discarded – undo
153 153
     $wp_query_args = apply_filters('wpinv_get_discount_args', $wp_query_args, $args);
154 154
 
155 155
     // Get results.
156
-    $discounts = new WP_Query( $wp_query_args );
156
+    $discounts = new WP_Query($wp_query_args);
157 157
 
158
-    if ( 'objects' === $args['return'] ) {
159
-        $return = array_map( 'get_post', $discounts->posts );
160
-    } elseif ( 'self' === $args['return'] ) {
158
+    if ('objects' === $args['return']) {
159
+        $return = array_map('get_post', $discounts->posts);
160
+    } elseif ('self' === $args['return']) {
161 161
         return $discounts;
162 162
     } else {
163 163
         $return = $discounts->posts;
164 164
     }
165 165
 
166
-    if ( $args['paginate' ] ) {
166
+    if ($args['paginate']) {
167 167
         return (object) array(
168 168
             'discounts'      => $return,
169 169
             'total'         => $discounts->found_posts,
@@ -180,9 +180,9 @@  discard block
 block discarded – undo
180 180
 
181 181
     $discounts  = wpinv_get_discounts();
182 182
 
183
-    if ( $discounts) {
184
-        foreach ( $discounts as $discount ) {
185
-            if ( wpinv_is_discount_active( $discount->ID ) ) {
183
+    if ($discounts) {
184
+        foreach ($discounts as $discount) {
185
+            if (wpinv_is_discount_active($discount->ID)) {
186 186
                 $has_active = true;
187 187
                 break;
188 188
             }
@@ -191,16 +191,16 @@  discard block
 block discarded – undo
191 191
     return $has_active;
192 192
 }
193 193
 
194
-function wpinv_get_discount( $discount_id = 0 ) {
195
-    if( empty( $discount_id ) ) {
194
+function wpinv_get_discount($discount_id = 0) {
195
+    if (empty($discount_id)) {
196 196
         return false;
197 197
     }
198 198
     
199
-    if ( get_post_type( $discount_id ) != 'wpi_discount' ) {
199
+    if (get_post_type($discount_id) != 'wpi_discount') {
200 200
         return false;
201 201
     }
202 202
 
203
-    $discount = get_post( $discount_id );
203
+    $discount = get_post($discount_id);
204 204
 
205 205
     return $discount;
206 206
 }
@@ -212,8 +212,8 @@  discard block
 block discarded – undo
212 212
  * @since 1.0.15
213 213
  * @return WPInv_Discount
214 214
  */
215
-function wpinv_get_discount_obj( $discount = 0 ) {
216
-    return new WPInv_Discount( $discount );
215
+function wpinv_get_discount_obj($discount = 0) {
216
+    return new WPInv_Discount($discount);
217 217
 }
218 218
 
219 219
 /**
@@ -222,8 +222,8 @@  discard block
 block discarded – undo
222 222
  * @param string $code The discount code.
223 223
  * @return bool|WP_Post
224 224
  */
225
-function wpinv_get_discount_by_code( $code = '' ) {
226
-    return wpinv_get_discount_by( 'code', $code );
225
+function wpinv_get_discount_by_code($code = '') {
226
+    return wpinv_get_discount_by('code', $code);
227 227
 }
228 228
 
229 229
 /**
@@ -233,13 +233,13 @@  discard block
 block discarded – undo
233 233
  * @param string|int $value The field value
234 234
  * @return bool|WP_Post
235 235
  */
236
-function wpinv_get_discount_by( $field = '', $value = '' ) {
237
-    $data = WPInv_Discount::get_data_by( $field, $value );
238
-    if( empty( $data ) ) {
236
+function wpinv_get_discount_by($field = '', $value = '') {
237
+    $data = WPInv_Discount::get_data_by($field, $value);
238
+    if (empty($data)) {
239 239
         return false;
240 240
     }
241 241
 
242
-    return get_post( $data['ID'] );
242
+    return get_post($data['ID']);
243 243
 }
244 244
 
245 245
 /**
@@ -249,68 +249,68 @@  discard block
 block discarded – undo
249 249
  * @param array $data The discount's properties.
250 250
  * @return bool
251 251
  */
252
-function wpinv_store_discount( $post_id, $data, $post, $update = false ) {
252
+function wpinv_store_discount($post_id, $data, $post, $update = false) {
253 253
     $meta = array(
254
-        'code'              => isset( $data['code'] )             ? sanitize_text_field( $data['code'] )              : '',
255
-        'type'              => isset( $data['type'] )             ? sanitize_text_field( $data['type'] )              : 'percent',
256
-        'amount'            => isset( $data['amount'] )           ? wpinv_sanitize_amount( $data['amount'] )          : '',
257
-        'start'             => isset( $data['start'] )            ? sanitize_text_field( $data['start'] )             : '',
258
-        'expiration'        => isset( $data['expiration'] )       ? sanitize_text_field( $data['expiration'] )        : '',
259
-        'min_total'         => isset( $data['min_total'] )        ? wpinv_sanitize_amount( $data['min_total'] )       : '',
260
-        'max_total'         => isset( $data['max_total'] )        ? wpinv_sanitize_amount( $data['max_total'] )       : '',
261
-        'max_uses'          => isset( $data['max_uses'] )         ? absint( $data['max_uses'] )                       : '',
262
-        'items'             => isset( $data['items'] )            ? $data['items']                                    : array(),
263
-        'excluded_items'    => isset( $data['excluded_items'] )   ? $data['excluded_items']                           : array(),
264
-        'is_recurring'      => isset( $data['recurring'] )        ? (bool)$data['recurring']                          : false,
265
-        'is_single_use'     => isset( $data['single_use'] )       ? (bool)$data['single_use']                         : false,
266
-        'uses'              => isset( $data['uses'] )             ? (int)$data['uses']                                : false,
254
+        'code'              => isset($data['code']) ? sanitize_text_field($data['code']) : '',
255
+        'type'              => isset($data['type']) ? sanitize_text_field($data['type']) : 'percent',
256
+        'amount'            => isset($data['amount']) ? wpinv_sanitize_amount($data['amount']) : '',
257
+        'start'             => isset($data['start']) ? sanitize_text_field($data['start']) : '',
258
+        'expiration'        => isset($data['expiration']) ? sanitize_text_field($data['expiration']) : '',
259
+        'min_total'         => isset($data['min_total']) ? wpinv_sanitize_amount($data['min_total']) : '',
260
+        'max_total'         => isset($data['max_total']) ? wpinv_sanitize_amount($data['max_total']) : '',
261
+        'max_uses'          => isset($data['max_uses']) ? absint($data['max_uses']) : '',
262
+        'items'             => isset($data['items']) ? $data['items'] : array(),
263
+        'excluded_items'    => isset($data['excluded_items']) ? $data['excluded_items'] : array(),
264
+        'is_recurring'      => isset($data['recurring']) ? (bool) $data['recurring'] : false,
265
+        'is_single_use'     => isset($data['single_use']) ? (bool) $data['single_use'] : false,
266
+        'uses'              => isset($data['uses']) ? (int) $data['uses'] : false,
267 267
     );
268 268
 
269
-    if ( $meta['type'] == 'percent' && (float)$meta['amount'] > 100 ) {
269
+    if ($meta['type'] == 'percent' && (float) $meta['amount'] > 100) {
270 270
         $meta['amount'] = 100;
271 271
     }
272 272
 
273
-    if ( !empty( $meta['start'] ) ) {
274
-        $meta['start']      = date_i18n( 'Y-m-d H:i:s', strtotime( $meta['start'] ) );
273
+    if (!empty($meta['start'])) {
274
+        $meta['start'] = date_i18n('Y-m-d H:i:s', strtotime($meta['start']));
275 275
     }
276 276
 
277
-    if ( !empty( $meta['expiration'] ) ) {
278
-        $meta['expiration'] = date_i18n( 'Y-m-d H:i:s', strtotime( $meta['expiration'] ) );
277
+    if (!empty($meta['expiration'])) {
278
+        $meta['expiration'] = date_i18n('Y-m-d H:i:s', strtotime($meta['expiration']));
279 279
 
280
-        if ( !empty( $meta['start'] ) && strtotime( $meta['start'] ) > strtotime( $meta['expiration'] ) ) {
280
+        if (!empty($meta['start']) && strtotime($meta['start']) > strtotime($meta['expiration'])) {
281 281
             $meta['expiration'] = $meta['start'];
282 282
         }
283 283
     }
284 284
     
285
-    if ( $meta['uses'] === false ) {
286
-        unset( $meta['uses'] );
285
+    if ($meta['uses'] === false) {
286
+        unset($meta['uses']);
287 287
     }
288 288
     
289
-    if ( ! empty( $meta['items'] ) ) {
290
-        foreach ( $meta['items'] as $key => $item ) {
291
-            if ( 0 === intval( $item ) ) {
292
-                unset( $meta['items'][ $key ] );
289
+    if (!empty($meta['items'])) {
290
+        foreach ($meta['items'] as $key => $item) {
291
+            if (0 === intval($item)) {
292
+                unset($meta['items'][$key]);
293 293
             }
294 294
         }
295 295
     }
296 296
     
297
-    if ( ! empty( $meta['excluded_items'] ) ) {
298
-        foreach ( $meta['excluded_items'] as $key => $item ) {
299
-            if ( 0 === intval( $item ) ) {
300
-                unset( $meta['excluded_items'][ $key ] );
297
+    if (!empty($meta['excluded_items'])) {
298
+        foreach ($meta['excluded_items'] as $key => $item) {
299
+            if (0 === intval($item)) {
300
+                unset($meta['excluded_items'][$key]);
301 301
             }
302 302
         }
303 303
     }
304 304
     
305
-    $meta = apply_filters( 'wpinv_update_discount', $meta, $post_id, $post );
305
+    $meta = apply_filters('wpinv_update_discount', $meta, $post_id, $post);
306 306
     
307
-    do_action( 'wpinv_pre_update_discount', $meta, $post_id, $post );
307
+    do_action('wpinv_pre_update_discount', $meta, $post_id, $post);
308 308
     
309
-    foreach( $meta as $key => $value ) {
310
-        update_post_meta( $post_id, '_wpi_discount_' . $key, $value );
309
+    foreach ($meta as $key => $value) {
310
+        update_post_meta($post_id, '_wpi_discount_' . $key, $value);
311 311
     }
312 312
     
313
-    do_action( 'wpinv_post_update_discount', $meta, $post_id, $post );
313
+    do_action('wpinv_post_update_discount', $meta, $post_id, $post);
314 314
     
315 315
     return $post_id;
316 316
 }
@@ -321,10 +321,10 @@  discard block
 block discarded – undo
321 321
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
322 322
  * @return bool
323 323
  */
324
-function wpinv_remove_discount( $discount = 0 ) {
324
+function wpinv_remove_discount($discount = 0) {
325 325
 
326
-    $discount = wpinv_get_discount_obj( $discount );
327
-    if( ! $discount->exists() ) {
326
+    $discount = wpinv_get_discount_obj($discount);
327
+    if (!$discount->exists()) {
328 328
         return false;
329 329
     }
330 330
 
@@ -339,9 +339,9 @@  discard block
 block discarded – undo
339 339
  * @param string $new_status
340 340
  * @return bool
341 341
  */
342
-function wpinv_update_discount_status( $discount = 0, $new_status = 'publish' ) {
343
-    $discount = wpinv_get_discount_obj( $discount );
344
-    return $discount->update_status( $new_status );
342
+function wpinv_update_discount_status($discount = 0, $new_status = 'publish') {
343
+    $discount = wpinv_get_discount_obj($discount);
344
+    return $discount->update_status($new_status);
345 345
 }
346 346
 
347 347
 /**
@@ -350,48 +350,48 @@  discard block
 block discarded – undo
350 350
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
351 351
  * @return bool
352 352
  */
353
-function wpinv_discount_exists( $discount ) {
354
-    $discount = wpinv_get_discount_obj( $discount );
353
+function wpinv_discount_exists($discount) {
354
+    $discount = wpinv_get_discount_obj($discount);
355 355
     return $discount->exists();
356 356
 }
357 357
 
358
-function wpinv_is_discount_active( $code_id = null ) {
359
-    $discount = wpinv_get_discount(  $code_id );
358
+function wpinv_is_discount_active($code_id = null) {
359
+    $discount = wpinv_get_discount($code_id);
360 360
     $return   = false;
361 361
 
362
-    if ( $discount ) {
363
-        if ( wpinv_is_discount_expired( $code_id ) ) {
364
-            if( defined( 'DOING_AJAX' ) ) {
365
-                wpinv_set_error( 'wpinv-discount-error', __( 'This discount is expired.', 'invoicing' ) );
362
+    if ($discount) {
363
+        if (wpinv_is_discount_expired($code_id)) {
364
+            if (defined('DOING_AJAX')) {
365
+                wpinv_set_error('wpinv-discount-error', __('This discount is expired.', 'invoicing'));
366 366
             }
367
-        } elseif ( $discount->post_status == 'publish' ) {
367
+        } elseif ($discount->post_status == 'publish') {
368 368
             $return = true;
369 369
         } else {
370
-            if( defined( 'DOING_AJAX' ) ) {
371
-                wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not active.', 'invoicing' ) );
370
+            if (defined('DOING_AJAX')) {
371
+                wpinv_set_error('wpinv-discount-error', __('This discount is not active.', 'invoicing'));
372 372
             }
373 373
         }
374 374
     }
375 375
 
376
-    return apply_filters( 'wpinv_is_discount_active', $return, $code_id );
376
+    return apply_filters('wpinv_is_discount_active', $return, $code_id);
377 377
 }
378 378
 
379
-function wpinv_get_discount_code( $code_id = null ) {
380
-    $code = get_post_meta( $code_id, '_wpi_discount_code', true );
379
+function wpinv_get_discount_code($code_id = null) {
380
+    $code = get_post_meta($code_id, '_wpi_discount_code', true);
381 381
 
382
-    return apply_filters( 'wpinv_get_discount_code', $code, $code_id );
382
+    return apply_filters('wpinv_get_discount_code', $code, $code_id);
383 383
 }
384 384
 
385
-function wpinv_get_discount_start_date( $code_id = null ) {
386
-    $start_date = get_post_meta( $code_id, '_wpi_discount_start', true );
385
+function wpinv_get_discount_start_date($code_id = null) {
386
+    $start_date = get_post_meta($code_id, '_wpi_discount_start', true);
387 387
 
388
-    return apply_filters( 'wpinv_get_discount_start_date', $start_date, $code_id );
388
+    return apply_filters('wpinv_get_discount_start_date', $start_date, $code_id);
389 389
 }
390 390
 
391
-function wpinv_get_discount_expiration( $code_id = null ) {
392
-    $expiration = get_post_meta( $code_id, '_wpi_discount_expiration', true );
391
+function wpinv_get_discount_expiration($code_id = null) {
392
+    $expiration = get_post_meta($code_id, '_wpi_discount_expiration', true);
393 393
 
394
-    return apply_filters( 'wpinv_get_discount_expiration', $expiration, $code_id );
394
+    return apply_filters('wpinv_get_discount_expiration', $expiration, $code_id);
395 395
 }
396 396
 
397 397
 /**
@@ -400,8 +400,8 @@  discard block
 block discarded – undo
400 400
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
401 401
  * @return int
402 402
  */
403
-function wpinv_get_discount_max_uses( $discount = array() ) {
404
-    $discount = wpinv_get_discount_obj( $discount );
403
+function wpinv_get_discount_max_uses($discount = array()) {
404
+    $discount = wpinv_get_discount_obj($discount);
405 405
     return (int) $discount->max_uses;
406 406
 }
407 407
 
@@ -411,8 +411,8 @@  discard block
 block discarded – undo
411 411
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
412 412
  * @return int
413 413
  */
414
-function wpinv_get_discount_uses( $discount = array() ) {
415
-    $discount = wpinv_get_discount_obj( $discount );
414
+function wpinv_get_discount_uses($discount = array()) {
415
+    $discount = wpinv_get_discount_obj($discount);
416 416
     return (int) $discount->uses;
417 417
 }
418 418
 
@@ -422,8 +422,8 @@  discard block
 block discarded – undo
422 422
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
423 423
  * @return float
424 424
  */
425
-function wpinv_get_discount_min_total( $discount = array() ) {
426
-    $discount = wpinv_get_discount_obj( $discount );
425
+function wpinv_get_discount_min_total($discount = array()) {
426
+    $discount = wpinv_get_discount_obj($discount);
427 427
     return (float) $discount->min_total;
428 428
 }
429 429
 
@@ -433,8 +433,8 @@  discard block
 block discarded – undo
433 433
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
434 434
  * @return float
435 435
  */
436
-function wpinv_get_discount_max_total( $discount = array() ) {
437
-    $discount = wpinv_get_discount_obj( $discount );
436
+function wpinv_get_discount_max_total($discount = array()) {
437
+    $discount = wpinv_get_discount_obj($discount);
438 438
     return (float) $discount->max_total;
439 439
 }
440 440
 
@@ -444,8 +444,8 @@  discard block
 block discarded – undo
444 444
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
445 445
  * @return float
446 446
  */
447
-function wpinv_get_discount_amount( $discount = array() ) {
448
-    $discount = wpinv_get_discount_obj( $discount );
447
+function wpinv_get_discount_amount($discount = array()) {
448
+    $discount = wpinv_get_discount_obj($discount);
449 449
     return (float) $discount->amount;
450 450
 }
451 451
 
@@ -456,28 +456,28 @@  discard block
 block discarded – undo
456 456
  * @param bool $name 
457 457
  * @return string
458 458
  */
459
-function wpinv_get_discount_type( $discount = array(), $name = false ) {
460
-    $discount = wpinv_get_discount_obj( $discount );
459
+function wpinv_get_discount_type($discount = array(), $name = false) {
460
+    $discount = wpinv_get_discount_obj($discount);
461 461
 
462 462
     // Are we returning the name or just the type.
463
-    if( $name ) {
463
+    if ($name) {
464 464
         return $discount->type_name;
465 465
     }
466 466
 
467 467
     return $discount->type;
468 468
 }
469 469
 
470
-function wpinv_discount_status( $status ) {
471
-    switch( $status ){
470
+function wpinv_discount_status($status) {
471
+    switch ($status) {
472 472
         case 'expired' :
473
-            $name = __( 'Expired', 'invoicing' );
473
+            $name = __('Expired', 'invoicing');
474 474
             break;
475 475
         case 'publish' :
476 476
         case 'active' :
477
-            $name = __( 'Active', 'invoicing' );
477
+            $name = __('Active', 'invoicing');
478 478
             break;
479 479
         default :
480
-            $name = __( 'Inactive', 'invoicing' );
480
+            $name = __('Inactive', 'invoicing');
481 481
             break;
482 482
     }
483 483
     return $name;
@@ -489,8 +489,8 @@  discard block
 block discarded – undo
489 489
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
490 490
  * @return array
491 491
  */
492
-function wpinv_get_discount_excluded_items( $discount = array() ) {
493
-    $discount = wpinv_get_discount_obj( $discount );
492
+function wpinv_get_discount_excluded_items($discount = array()) {
493
+    $discount = wpinv_get_discount_obj($discount);
494 494
     return $discount->excluded_items;
495 495
 }
496 496
 
@@ -500,17 +500,17 @@  discard block
 block discarded – undo
500 500
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
501 501
  * @return array
502 502
  */
503
-function wpinv_get_discount_item_reqs( $discount = array() ) {
504
-    $discount = wpinv_get_discount_obj( $discount );
503
+function wpinv_get_discount_item_reqs($discount = array()) {
504
+    $discount = wpinv_get_discount_obj($discount);
505 505
     return $discount->items;
506 506
 }
507 507
 
508
-function wpinv_get_discount_item_condition( $code_id = 0 ) {
509
-    return get_post_meta( $code_id, '_wpi_discount_item_condition', true );
508
+function wpinv_get_discount_item_condition($code_id = 0) {
509
+    return get_post_meta($code_id, '_wpi_discount_item_condition', true);
510 510
 }
511 511
 
512
-function wpinv_is_discount_not_global( $code_id = 0 ) {
513
-    return (bool) get_post_meta( $code_id, '_wpi_discount_is_not_global', true );
512
+function wpinv_is_discount_not_global($code_id = 0) {
513
+    return (bool) get_post_meta($code_id, '_wpi_discount_is_not_global', true);
514 514
 }
515 515
 
516 516
 /**
@@ -519,14 +519,14 @@  discard block
 block discarded – undo
519 519
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
520 520
  * @return bool
521 521
  */
522
-function wpinv_is_discount_expired( $discount = array() ) {
523
-    $discount = wpinv_get_discount_obj( $discount );
522
+function wpinv_is_discount_expired($discount = array()) {
523
+    $discount = wpinv_get_discount_obj($discount);
524 524
 
525
-    if ( $discount->is_expired() ) {
526
-        $discount->update_status( 'pending' );
525
+    if ($discount->is_expired()) {
526
+        $discount->update_status('pending');
527 527
 
528
-        if( empty( $started ) ) {
529
-            wpinv_set_error( 'wpinv-discount-error', __( 'This discount has expired.', 'invoicing' ) );
528
+        if (empty($started)) {
529
+            wpinv_set_error('wpinv-discount-error', __('This discount has expired.', 'invoicing'));
530 530
         }
531 531
         return true;
532 532
     }
@@ -540,12 +540,12 @@  discard block
 block discarded – undo
540 540
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
541 541
  * @return bool
542 542
  */
543
-function wpinv_is_discount_started( $discount = array() ) {
544
-    $discount = wpinv_get_discount_obj( $discount );
543
+function wpinv_is_discount_started($discount = array()) {
544
+    $discount = wpinv_get_discount_obj($discount);
545 545
     $started  = $discount->has_started();
546 546
 
547
-    if( empty( $started ) ) {
548
-        wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not active yet.', 'invoicing' ) );
547
+    if (empty($started)) {
548
+        wpinv_set_error('wpinv-discount-error', __('This discount is not active yet.', 'invoicing'));
549 549
     }
550 550
 
551 551
     return $started;
@@ -557,10 +557,10 @@  discard block
 block discarded – undo
557 557
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
558 558
  * @return bool
559 559
  */
560
-function wpinv_check_discount_dates( $discount ) {
561
-    $discount = wpinv_get_discount_obj( $discount );
562
-    $return   = wpinv_is_discount_started( $discount ) && ! wpinv_is_discount_expired( $discount );
563
-    return apply_filters( 'wpinv_check_discount_dates', $return, $discount->ID, $discount, $discount->code );
560
+function wpinv_check_discount_dates($discount) {
561
+    $discount = wpinv_get_discount_obj($discount);
562
+    $return   = wpinv_is_discount_started($discount) && !wpinv_is_discount_expired($discount);
563
+    return apply_filters('wpinv_check_discount_dates', $return, $discount->ID, $discount, $discount->code);
564 564
 }
565 565
 
566 566
 /**
@@ -569,12 +569,12 @@  discard block
 block discarded – undo
569 569
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
570 570
  * @return bool
571 571
  */
572
-function wpinv_is_discount_maxed_out( $discount ) {
573
-    $discount    = wpinv_get_discount_obj( $discount );
572
+function wpinv_is_discount_maxed_out($discount) {
573
+    $discount    = wpinv_get_discount_obj($discount);
574 574
     $maxed_out   = $discount->has_exceeded_limit();
575 575
 
576
-    if ( $maxed_out ) {
577
-        wpinv_set_error( 'wpinv-discount-error', __( 'This discount has reached its maximum usage.', 'invoicing' ) );
576
+    if ($maxed_out) {
577
+        wpinv_set_error('wpinv-discount-error', __('This discount has reached its maximum usage.', 'invoicing'));
578 578
     }
579 579
 
580 580
     return $maxed_out;
@@ -586,13 +586,13 @@  discard block
 block discarded – undo
586 586
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
587 587
  * @return bool
588 588
  */
589
-function wpinv_discount_is_min_met( $discount ) {
590
-    $discount    = wpinv_get_discount_obj( $discount );
591
-    $cart_amount = (float)wpinv_get_cart_discountable_subtotal( $discount->ID );
592
-    $min_met     = $discount->is_minimum_amount_met( $cart_amount );
589
+function wpinv_discount_is_min_met($discount) {
590
+    $discount    = wpinv_get_discount_obj($discount);
591
+    $cart_amount = (float) wpinv_get_cart_discountable_subtotal($discount->ID);
592
+    $min_met     = $discount->is_minimum_amount_met($cart_amount);
593 593
 
594
-    if ( ! $min_met ) {
595
-        wpinv_set_error( 'wpinv-discount-error', sprintf( __( 'Minimum invoice amount should be %s', 'invoicing' ), wpinv_price( wpinv_format_amount( $discount->min_total ) ) ) );
594
+    if (!$min_met) {
595
+        wpinv_set_error('wpinv-discount-error', sprintf(__('Minimum invoice amount should be %s', 'invoicing'), wpinv_price(wpinv_format_amount($discount->min_total))));
596 596
     }
597 597
 
598 598
     return $min_met;
@@ -604,13 +604,13 @@  discard block
 block discarded – undo
604 604
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
605 605
  * @return bool
606 606
  */
607
-function wpinv_discount_is_max_met( $discount ) {
608
-    $discount    = wpinv_get_discount_obj( $discount );
609
-    $cart_amount = (float)wpinv_get_cart_discountable_subtotal( $discount->ID );
610
-    $max_met     = $discount->is_maximum_amount_met( $cart_amount );
607
+function wpinv_discount_is_max_met($discount) {
608
+    $discount    = wpinv_get_discount_obj($discount);
609
+    $cart_amount = (float) wpinv_get_cart_discountable_subtotal($discount->ID);
610
+    $max_met     = $discount->is_maximum_amount_met($cart_amount);
611 611
 
612
-    if ( ! $max_met ) {
613
-        wpinv_set_error( 'wpinv-discount-error', sprintf( __( 'Maximum invoice amount should be %s', 'invoicing' ), wpinv_price( wpinv_format_amount( $discount->max_total ) ) ) );
612
+    if (!$max_met) {
613
+        wpinv_set_error('wpinv-discount-error', sprintf(__('Maximum invoice amount should be %s', 'invoicing'), wpinv_price(wpinv_format_amount($discount->max_total))));
614 614
     }
615 615
 
616 616
     return $max_met;
@@ -622,8 +622,8 @@  discard block
 block discarded – undo
622 622
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
623 623
  * @return bool
624 624
  */
625
-function wpinv_discount_is_single_use( $discount ) {
626
-    $discount    = wpinv_get_discount_obj( $discount );
625
+function wpinv_discount_is_single_use($discount) {
626
+    $discount = wpinv_get_discount_obj($discount);
627 627
     return $discount->is_single_use;
628 628
 }
629 629
 
@@ -634,53 +634,53 @@  discard block
 block discarded – undo
634 634
  * @param int|array|string|WPInv_Discount $code discount data, object, ID or code.
635 635
  * @return bool
636 636
  */
637
-function wpinv_discount_is_recurring( $discount = 0, $code = 0 ) {
637
+function wpinv_discount_is_recurring($discount = 0, $code = 0) {
638 638
 
639
-    if( ! empty( $discount ) ) {
640
-        $discount    = wpinv_get_discount_obj( $discount );
639
+    if (!empty($discount)) {
640
+        $discount    = wpinv_get_discount_obj($discount);
641 641
     } else {
642
-        $discount    = wpinv_get_discount_obj( $code );
642
+        $discount    = wpinv_get_discount_obj($code);
643 643
     }
644 644
     
645 645
     return $discount->is_recurring;
646 646
 }
647 647
 
648
-function wpinv_discount_item_reqs_met( $code_id = null ) {
649
-    $item_reqs    = wpinv_get_discount_item_reqs( $code_id );
650
-    $condition    = wpinv_get_discount_item_condition( $code_id );
651
-    $excluded_ps  = wpinv_get_discount_excluded_items( $code_id );
648
+function wpinv_discount_item_reqs_met($code_id = null) {
649
+    $item_reqs    = wpinv_get_discount_item_reqs($code_id);
650
+    $condition    = wpinv_get_discount_item_condition($code_id);
651
+    $excluded_ps  = wpinv_get_discount_excluded_items($code_id);
652 652
     $cart_items   = wpinv_get_cart_contents();
653
-    $cart_ids     = $cart_items ? wp_list_pluck( $cart_items, 'id' ) : null;
653
+    $cart_ids     = $cart_items ? wp_list_pluck($cart_items, 'id') : null;
654 654
     $ret          = false;
655 655
 
656
-    if ( empty( $item_reqs ) && empty( $excluded_ps ) ) {
656
+    if (empty($item_reqs) && empty($excluded_ps)) {
657 657
         $ret = true;
658 658
     }
659 659
 
660 660
     // Normalize our data for item requirements, exclusions and cart data
661 661
     // First absint the items, then sort, and reset the array keys
662
-    $item_reqs = array_map( 'absint', $item_reqs );
663
-    asort( $item_reqs );
664
-    $item_reqs = array_values( $item_reqs );
662
+    $item_reqs = array_map('absint', $item_reqs);
663
+    asort($item_reqs);
664
+    $item_reqs = array_values($item_reqs);
665 665
 
666
-    $excluded_ps  = array_map( 'absint', $excluded_ps );
667
-    asort( $excluded_ps );
668
-    $excluded_ps  = array_values( $excluded_ps );
666
+    $excluded_ps  = array_map('absint', $excluded_ps);
667
+    asort($excluded_ps);
668
+    $excluded_ps  = array_values($excluded_ps);
669 669
 
670
-    $cart_ids     = array_map( 'absint', $cart_ids );
671
-    asort( $cart_ids );
672
-    $cart_ids     = array_values( $cart_ids );
670
+    $cart_ids     = array_map('absint', $cart_ids);
671
+    asort($cart_ids);
672
+    $cart_ids     = array_values($cart_ids);
673 673
 
674 674
     // Ensure we have requirements before proceeding
675
-    if ( !$ret && ! empty( $item_reqs ) ) {
676
-        switch( $condition ) {
675
+    if (!$ret && !empty($item_reqs)) {
676
+        switch ($condition) {
677 677
             case 'all' :
678 678
                 // Default back to true
679 679
                 $ret = true;
680 680
 
681
-                foreach ( $item_reqs as $item_id ) {
682
-                    if ( !wpinv_item_in_cart( $item_id ) ) {
683
-                        wpinv_set_error( 'wpinv-discount-error', __( 'The item requirements for this discount are not met.', 'invoicing' ) );
681
+                foreach ($item_reqs as $item_id) {
682
+                    if (!wpinv_item_in_cart($item_id)) {
683
+                        wpinv_set_error('wpinv-discount-error', __('The item requirements for this discount are not met.', 'invoicing'));
684 684
                         $ret = false;
685 685
                         break;
686 686
                     }
@@ -689,15 +689,15 @@  discard block
 block discarded – undo
689 689
                 break;
690 690
 
691 691
             default : // Any
692
-                foreach ( $item_reqs as $item_id ) {
693
-                    if ( wpinv_item_in_cart( $item_id ) ) {
692
+                foreach ($item_reqs as $item_id) {
693
+                    if (wpinv_item_in_cart($item_id)) {
694 694
                         $ret = true;
695 695
                         break;
696 696
                     }
697 697
                 }
698 698
 
699
-                if( ! $ret ) {
700
-                    wpinv_set_error( 'wpinv-discount-error', __( 'The item requirements for this discount are not met.', 'invoicing' ) );
699
+                if (!$ret) {
700
+                    wpinv_set_error('wpinv-discount-error', __('The item requirements for this discount are not met.', 'invoicing'));
701 701
                 }
702 702
 
703 703
                 break;
@@ -706,15 +706,15 @@  discard block
 block discarded – undo
706 706
         $ret = true;
707 707
     }
708 708
 
709
-    if( ! empty( $excluded_ps ) ) {
709
+    if (!empty($excluded_ps)) {
710 710
         // Check that there are items other than excluded ones in the cart
711
-        if( $cart_ids == $excluded_ps ) {
712
-            wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not valid for the cart contents.', 'invoicing' ) );
711
+        if ($cart_ids == $excluded_ps) {
712
+            wpinv_set_error('wpinv-discount-error', __('This discount is not valid for the cart contents.', 'invoicing'));
713 713
             $ret = false;
714 714
         }
715 715
     }
716 716
 
717
-    return (bool) apply_filters( 'wpinv_is_discount_item_req_met', $ret, $code_id, $condition );
717
+    return (bool) apply_filters('wpinv_is_discount_item_req_met', $ret, $code_id, $condition);
718 718
 }
719 719
 
720 720
 /**
@@ -725,53 +725,53 @@  discard block
 block discarded – undo
725 725
  * @param int|array|string|WPInv_Discount $code_id discount data, object, ID or code.
726 726
  * @return bool
727 727
  */
728
-function wpinv_is_discount_used( $discount = array(), $user = '', $code_id = array() ) {
728
+function wpinv_is_discount_used($discount = array(), $user = '', $code_id = array()) {
729 729
     
730
-    if( ! empty( $discount ) ) {
731
-        $discount = wpinv_get_discount_obj( $discount );
730
+    if (!empty($discount)) {
731
+        $discount = wpinv_get_discount_obj($discount);
732 732
     } else {
733
-        $discount = wpinv_get_discount_obj( $code_id );
733
+        $discount = wpinv_get_discount_obj($code_id);
734 734
     }
735 735
 
736
-    $is_used = ! $discount->is_valid_for_user( $user );
737
-    $is_used = apply_filters( 'wpinv_is_discount_used', $is_used, $discount->code, $user, $discount->ID, $discount );
736
+    $is_used = !$discount->is_valid_for_user($user);
737
+    $is_used = apply_filters('wpinv_is_discount_used', $is_used, $discount->code, $user, $discount->ID, $discount);
738 738
 
739
-    if( $is_used ) {
740
-        wpinv_set_error( 'wpinv-discount-error', __( 'This discount has already been redeemed.', 'invoicing' ) );
739
+    if ($is_used) {
740
+        wpinv_set_error('wpinv-discount-error', __('This discount has already been redeemed.', 'invoicing'));
741 741
     }
742 742
 
743 743
     return $is_used;
744 744
 }
745 745
 
746
-function wpinv_is_discount_valid( $code = '', $user = '', $set_error = true ) {
746
+function wpinv_is_discount_valid($code = '', $user = '', $set_error = true) {
747 747
     $return      = false;
748
-    $discount_id = wpinv_get_discount_id_by_code( $code );
749
-    $user        = trim( $user );
748
+    $discount_id = wpinv_get_discount_id_by_code($code);
749
+    $user        = trim($user);
750 750
 
751
-    if ( wpinv_get_cart_contents() ) {
752
-        if ( $discount_id !== false ) {
751
+    if (wpinv_get_cart_contents()) {
752
+        if ($discount_id !== false) {
753 753
             if (
754
-                wpinv_is_discount_active( $discount_id ) &&
755
-                wpinv_check_discount_dates( $discount_id ) &&
756
-                !wpinv_is_discount_maxed_out( $discount_id ) &&
757
-                !wpinv_is_discount_used( $code, $user, $discount_id ) &&
758
-                wpinv_discount_is_min_met( $discount_id ) &&
759
-                wpinv_discount_is_max_met( $discount_id ) &&
760
-                wpinv_discount_item_reqs_met( $discount_id )
754
+                wpinv_is_discount_active($discount_id) &&
755
+                wpinv_check_discount_dates($discount_id) &&
756
+                !wpinv_is_discount_maxed_out($discount_id) &&
757
+                !wpinv_is_discount_used($code, $user, $discount_id) &&
758
+                wpinv_discount_is_min_met($discount_id) &&
759
+                wpinv_discount_is_max_met($discount_id) &&
760
+                wpinv_discount_item_reqs_met($discount_id)
761 761
             ) {
762 762
                 $return = true;
763 763
             }
764
-        } elseif( $set_error ) {
765
-            wpinv_set_error( 'wpinv-discount-error', __( 'This discount is invalid.', 'invoicing' ) );
764
+        } elseif ($set_error) {
765
+            wpinv_set_error('wpinv-discount-error', __('This discount is invalid.', 'invoicing'));
766 766
         }
767 767
     }
768 768
 
769
-    return apply_filters( 'wpinv_is_discount_valid', $return, $discount_id, $code, $user );
769
+    return apply_filters('wpinv_is_discount_valid', $return, $discount_id, $code, $user);
770 770
 }
771 771
 
772
-function wpinv_get_discount_id_by_code( $code ) {
773
-    $discount = wpinv_get_discount_by_code( $code );
774
-    if( $discount ) {
772
+function wpinv_get_discount_id_by_code($code) {
773
+    $discount = wpinv_get_discount_by_code($code);
774
+    if ($discount) {
775 775
         return $discount->ID;
776 776
     }
777 777
     return false;
@@ -784,9 +784,9 @@  discard block
 block discarded – undo
784 784
  * @param float $base_price The number of usages to increase by
785 785
  * @return float
786 786
  */
787
-function wpinv_get_discounted_amount( $discount, $base_price ) {
788
-    $discount = wpinv_get_discount_obj( $discount );
789
-    return $discount->get_discounted_amount( $base_price );
787
+function wpinv_get_discounted_amount($discount, $base_price) {
788
+    $discount = wpinv_get_discount_obj($discount);
789
+    return $discount->get_discounted_amount($base_price);
790 790
 }
791 791
 
792 792
 /**
@@ -796,9 +796,9 @@  discard block
 block discarded – undo
796 796
  * @param int $by The number of usages to increase by.
797 797
  * @return int the new number of uses.
798 798
  */
799
-function wpinv_increase_discount_usage( $discount, $by = 1 ) {
800
-    $discount   = wpinv_get_discount_obj( $discount );
801
-    return $discount->increase_usage( $by );
799
+function wpinv_increase_discount_usage($discount, $by = 1) {
800
+    $discount = wpinv_get_discount_obj($discount);
801
+    return $discount->increase_usage($by);
802 802
 }
803 803
 
804 804
 /**
@@ -808,72 +808,72 @@  discard block
 block discarded – undo
808 808
  * @param int $by The number of usages to decrease by.
809 809
  * @return int the new number of uses.
810 810
  */
811
-function wpinv_decrease_discount_usage( $discount, $by = 1 ) {
812
-    $discount   = wpinv_get_discount_obj( $discount );
813
-    return $discount->increase_usage( 0 - $by );
811
+function wpinv_decrease_discount_usage($discount, $by = 1) {
812
+    $discount = wpinv_get_discount_obj($discount);
813
+    return $discount->increase_usage(0 - $by);
814 814
 }
815 815
 
816
-function wpinv_format_discount_rate( $type, $amount ) {
817
-    if ( $type == 'flat' ) {
818
-        $rate = wpinv_price( wpinv_format_amount( $amount ) );
816
+function wpinv_format_discount_rate($type, $amount) {
817
+    if ($type == 'flat') {
818
+        $rate = wpinv_price(wpinv_format_amount($amount));
819 819
     } else {
820 820
         $rate = $amount . '%';
821 821
     }
822 822
 
823
-    return apply_filters( 'wpinv_format_discount_rate', $rate, $type, $amount );
823
+    return apply_filters('wpinv_format_discount_rate', $rate, $type, $amount);
824 824
 }
825 825
 
826
-function wpinv_set_cart_discount( $code = '' ) {    
827
-    if ( wpinv_multiple_discounts_allowed() ) {
826
+function wpinv_set_cart_discount($code = '') {    
827
+    if (wpinv_multiple_discounts_allowed()) {
828 828
         // Get all active cart discounts
829 829
         $discounts = wpinv_get_cart_discounts();
830 830
     } else {
831 831
         $discounts = false; // Only one discount allowed per purchase, so override any existing
832 832
     }
833 833
 
834
-    if ( $discounts ) {
835
-        $key = array_search( strtolower( $code ), array_map( 'strtolower', $discounts ) );
836
-        if( false !== $key ) {
837
-            unset( $discounts[ $key ] ); // Can't set the same discount more than once
834
+    if ($discounts) {
835
+        $key = array_search(strtolower($code), array_map('strtolower', $discounts));
836
+        if (false !== $key) {
837
+            unset($discounts[$key]); // Can't set the same discount more than once
838 838
         }
839 839
         $discounts[] = $code;
840 840
     } else {
841 841
         $discounts = array();
842 842
         $discounts[] = $code;
843 843
     }
844
-    $discounts = array_values( $discounts );
844
+    $discounts = array_values($discounts);
845 845
     
846 846
     $data = wpinv_get_checkout_session();
847
-    if ( empty( $data ) ) {
847
+    if (empty($data)) {
848 848
         $data = array();
849 849
     } else {
850
-        if ( !empty( $data['invoice_id'] ) && $payment_meta = wpinv_get_invoice_meta( $data['invoice_id'] ) ) {
851
-            $payment_meta['user_info']['discount']  = implode( ',', $discounts );
852
-            update_post_meta( $data['invoice_id'], '_wpinv_payment_meta', $payment_meta );
850
+        if (!empty($data['invoice_id']) && $payment_meta = wpinv_get_invoice_meta($data['invoice_id'])) {
851
+            $payment_meta['user_info']['discount'] = implode(',', $discounts);
852
+            update_post_meta($data['invoice_id'], '_wpinv_payment_meta', $payment_meta);
853 853
         }
854 854
     }
855 855
     $data['cart_discounts'] = $discounts;
856 856
     
857
-    wpinv_set_checkout_session( $data );
857
+    wpinv_set_checkout_session($data);
858 858
     
859 859
     return $discounts;
860 860
 }
861 861
 
862
-function wpinv_unset_cart_discount( $code = '' ) {    
862
+function wpinv_unset_cart_discount($code = '') {    
863 863
     $discounts = wpinv_get_cart_discounts();
864 864
 
865
-    if ( $code && !empty( $discounts ) && in_array( $code, $discounts ) ) {
866
-        $key = array_search( $code, $discounts );
867
-        unset( $discounts[ $key ] );
865
+    if ($code && !empty($discounts) && in_array($code, $discounts)) {
866
+        $key = array_search($code, $discounts);
867
+        unset($discounts[$key]);
868 868
             
869 869
         $data = wpinv_get_checkout_session();
870 870
         $data['cart_discounts'] = $discounts;
871
-        if ( !empty( $data['invoice_id'] ) && $payment_meta = wpinv_get_invoice_meta( $data['invoice_id'] ) ) {
872
-            $payment_meta['user_info']['discount']  = !empty( $discounts ) ? implode( ',', $discounts ) : '';
873
-            update_post_meta( $data['invoice_id'], '_wpinv_payment_meta', $payment_meta );
871
+        if (!empty($data['invoice_id']) && $payment_meta = wpinv_get_invoice_meta($data['invoice_id'])) {
872
+            $payment_meta['user_info']['discount'] = !empty($discounts) ? implode(',', $discounts) : '';
873
+            update_post_meta($data['invoice_id'], '_wpinv_payment_meta', $payment_meta);
874 874
         }
875 875
         
876
-        wpinv_set_checkout_session( $data );
876
+        wpinv_set_checkout_session($data);
877 877
     }
878 878
 
879 879
     return $discounts;
@@ -882,10 +882,10 @@  discard block
 block discarded – undo
882 882
 function wpinv_unset_all_cart_discounts() {
883 883
     $data = wpinv_get_checkout_session();
884 884
     
885
-    if ( !empty( $data ) && isset( $data['cart_discounts'] ) ) {
886
-        unset( $data['cart_discounts'] );
885
+    if (!empty($data) && isset($data['cart_discounts'])) {
886
+        unset($data['cart_discounts']);
887 887
         
888
-         wpinv_set_checkout_session( $data );
888
+         wpinv_set_checkout_session($data);
889 889
          return true;
890 890
     }
891 891
     
@@ -894,13 +894,13 @@  discard block
 block discarded – undo
894 894
 
895 895
 function wpinv_get_cart_discounts() {
896 896
     $session = wpinv_get_checkout_session();
897
-    return empty( $session['cart_discounts'] ) ? false : $session['cart_discounts'];
897
+    return empty($session['cart_discounts']) ? false : $session['cart_discounts'];
898 898
 }
899 899
 
900
-function wpinv_cart_has_discounts( $items = array() ) {
900
+function wpinv_cart_has_discounts($items = array()) {
901 901
     $ret = false;
902 902
 
903
-    if ( wpinv_get_cart_discounts( $items ) ) {
903
+    if (wpinv_get_cart_discounts($items)) {
904 904
         $ret = true;
905 905
     }
906 906
     
@@ -911,131 +911,131 @@  discard block
 block discarded – undo
911 911
     }
912 912
     */
913 913
 
914
-    return apply_filters( 'wpinv_cart_has_discounts', $ret );
914
+    return apply_filters('wpinv_cart_has_discounts', $ret);
915 915
 }
916 916
 
917
-function wpinv_get_cart_discounted_amount( $items = array(), $discounts = false ) {
917
+function wpinv_get_cart_discounted_amount($items = array(), $discounts = false) {
918 918
     $amount = 0.00;
919
-    $items  = !empty( $items ) ? $items : wpinv_get_cart_content_details();
919
+    $items  = !empty($items) ? $items : wpinv_get_cart_content_details();
920 920
 
921
-    if ( $items ) {
922
-        $discounts = wp_list_pluck( $items, 'discount' );
921
+    if ($items) {
922
+        $discounts = wp_list_pluck($items, 'discount');
923 923
 
924
-        if ( is_array( $discounts ) ) {
925
-            $discounts = array_map( 'floatval', $discounts );
926
-            $amount    = array_sum( $discounts );
924
+        if (is_array($discounts)) {
925
+            $discounts = array_map('floatval', $discounts);
926
+            $amount    = array_sum($discounts);
927 927
         }
928 928
     }
929 929
 
930
-    return apply_filters( 'wpinv_get_cart_discounted_amount', $amount );
930
+    return apply_filters('wpinv_get_cart_discounted_amount', $amount);
931 931
 }
932 932
 
933
-function wpinv_get_cart_items_discount_amount( $items = array(), $discount = false ) {
934
-    $items  = !empty( $items ) ? $items : wpinv_get_cart_content_details();
933
+function wpinv_get_cart_items_discount_amount($items = array(), $discount = false) {
934
+    $items = !empty($items) ? $items : wpinv_get_cart_content_details();
935 935
     
936
-    if ( empty( $discount ) || empty( $items ) ) {
936
+    if (empty($discount) || empty($items)) {
937 937
         return 0;
938 938
     }
939 939
 
940 940
     $amount = 0;
941 941
     
942
-    foreach ( $items as $item ) {
943
-        $amount += wpinv_get_cart_item_discount_amount( $item, $discount );
942
+    foreach ($items as $item) {
943
+        $amount += wpinv_get_cart_item_discount_amount($item, $discount);
944 944
     }
945 945
     
946
-    $amount = wpinv_round_amount( $amount );
946
+    $amount = wpinv_round_amount($amount);
947 947
 
948 948
     return $amount;
949 949
 }
950 950
 
951
-function wpinv_get_cart_item_discount_amount( $item = array(), $discount = false ) {
951
+function wpinv_get_cart_item_discount_amount($item = array(), $discount = false) {
952 952
     global $wpinv_is_last_cart_item, $wpinv_flat_discount_total;
953 953
     
954 954
     $amount = 0;
955 955
 
956
-    if ( empty( $item ) || empty( $item['id'] ) ) {
956
+    if (empty($item) || empty($item['id'])) {
957 957
         return $amount;
958 958
     }
959 959
 
960
-    if ( empty( $item['quantity'] ) ) {
960
+    if (empty($item['quantity'])) {
961 961
         return $amount;
962 962
     }
963 963
 
964
-    if ( empty( $item['options'] ) ) {
964
+    if (empty($item['options'])) {
965 965
         $item['options'] = array();
966 966
     }
967 967
 
968
-    $price            = wpinv_get_cart_item_price( $item['id'], $item, $item['options'] );
968
+    $price            = wpinv_get_cart_item_price($item['id'], $item, $item['options']);
969 969
     $discounted_price = $price;
970 970
 
971 971
     $discounts = false === $discount ? wpinv_get_cart_discounts() : $discount;
972
-    if ( empty( $discounts ) ) {
972
+    if (empty($discounts)) {
973 973
         return $amount;
974 974
     }
975 975
 
976
-    if ( $discounts ) {
977
-        if ( is_array( $discounts ) ) {
978
-            $discounts = array_values( $discounts );
976
+    if ($discounts) {
977
+        if (is_array($discounts)) {
978
+            $discounts = array_values($discounts);
979 979
         } else {
980
-            $discounts = explode( ',', $discounts );
980
+            $discounts = explode(',', $discounts);
981 981
         }
982 982
     }
983 983
 
984
-    if( $discounts ) {
985
-        foreach ( $discounts as $discount ) {
986
-            $code_id = wpinv_get_discount_id_by_code( $discount );
984
+    if ($discounts) {
985
+        foreach ($discounts as $discount) {
986
+            $code_id = wpinv_get_discount_id_by_code($discount);
987 987
 
988 988
             // Check discount exists
989
-            if( $code_id === false ) {
989
+            if ($code_id === false) {
990 990
                 continue;
991 991
             }
992 992
 
993
-            $reqs           = wpinv_get_discount_item_reqs( $code_id );
994
-            $excluded_items = wpinv_get_discount_excluded_items( $code_id );
993
+            $reqs           = wpinv_get_discount_item_reqs($code_id);
994
+            $excluded_items = wpinv_get_discount_excluded_items($code_id);
995 995
 
996 996
             // Make sure requirements are set and that this discount shouldn't apply to the whole cart
997
-            if ( !empty( $reqs ) && wpinv_is_discount_not_global( $code_id ) ) {
998
-                foreach ( $reqs as $item_id ) {
999
-                    if ( $item_id == $item['id'] && ! in_array( $item['id'], $excluded_items ) ) {
1000
-                        $discounted_price -= $price - wpinv_get_discounted_amount( $discount, $price );
997
+            if (!empty($reqs) && wpinv_is_discount_not_global($code_id)) {
998
+                foreach ($reqs as $item_id) {
999
+                    if ($item_id == $item['id'] && !in_array($item['id'], $excluded_items)) {
1000
+                        $discounted_price -= $price - wpinv_get_discounted_amount($discount, $price);
1001 1001
                     }
1002 1002
                 }
1003 1003
             } else {
1004 1004
                 // This is a global cart discount
1005
-                if ( !in_array( $item['id'], $excluded_items ) ) {
1006
-                    if ( 'flat' === wpinv_get_discount_type( $code_id ) ) {
1005
+                if (!in_array($item['id'], $excluded_items)) {
1006
+                    if ('flat' === wpinv_get_discount_type($code_id)) {
1007 1007
                         $items_subtotal    = 0.00;
1008 1008
                         $cart_items        = wpinv_get_cart_contents();
1009 1009
                         
1010
-                        foreach ( $cart_items as $cart_item ) {
1011
-                            if ( ! in_array( $cart_item['id'], $excluded_items ) ) {
1012
-                                $options = !empty( $cart_item['options'] ) ? $cart_item['options'] : array();
1013
-                                $item_price      = wpinv_get_cart_item_price( $cart_item['id'], $cart_item, $options );
1010
+                        foreach ($cart_items as $cart_item) {
1011
+                            if (!in_array($cart_item['id'], $excluded_items)) {
1012
+                                $options = !empty($cart_item['options']) ? $cart_item['options'] : array();
1013
+                                $item_price      = wpinv_get_cart_item_price($cart_item['id'], $cart_item, $options);
1014 1014
                                 $items_subtotal += $item_price * $cart_item['quantity'];
1015 1015
                             }
1016 1016
                         }
1017 1017
 
1018
-                        $subtotal_percent  = ( ( $price * $item['quantity'] ) / $items_subtotal );
1019
-                        $code_amount       = wpinv_get_discount_amount( $code_id );
1018
+                        $subtotal_percent  = (($price * $item['quantity']) / $items_subtotal);
1019
+                        $code_amount       = wpinv_get_discount_amount($code_id);
1020 1020
                         $discounted_amount = $code_amount * $subtotal_percent;
1021 1021
                         $discounted_price -= $discounted_amount;
1022 1022
 
1023
-                        $wpinv_flat_discount_total += round( $discounted_amount, wpinv_currency_decimal_filter() );
1023
+                        $wpinv_flat_discount_total += round($discounted_amount, wpinv_currency_decimal_filter());
1024 1024
 
1025
-                        if ( $wpinv_is_last_cart_item && $wpinv_flat_discount_total < $code_amount ) {
1025
+                        if ($wpinv_is_last_cart_item && $wpinv_flat_discount_total < $code_amount) {
1026 1026
                             $adjustment = $code_amount - $wpinv_flat_discount_total;
1027 1027
                             $discounted_price -= $adjustment;
1028 1028
                         }
1029 1029
                     } else {
1030
-                        $discounted_price -= $price - wpinv_get_discounted_amount( $discount, $price );
1030
+                        $discounted_price -= $price - wpinv_get_discounted_amount($discount, $price);
1031 1031
                     }
1032 1032
                 }
1033 1033
             }
1034 1034
         }
1035 1035
 
1036
-        $amount = ( $price - apply_filters( 'wpinv_get_cart_item_discounted_amount', $discounted_price, $discounts, $item, $price ) );
1036
+        $amount = ($price - apply_filters('wpinv_get_cart_item_discounted_amount', $discounted_price, $discounts, $item, $price));
1037 1037
 
1038
-        if ( 'flat' !== wpinv_get_discount_type( $code_id ) ) {
1038
+        if ('flat' !== wpinv_get_discount_type($code_id)) {
1039 1039
             $amount = $amount * $item['quantity'];
1040 1040
         }
1041 1041
     }
@@ -1043,59 +1043,59 @@  discard block
 block discarded – undo
1043 1043
     return $amount;
1044 1044
 }
1045 1045
 
1046
-function wpinv_cart_discounts_html( $items = array() ) {
1047
-    echo wpinv_get_cart_discounts_html( $items );
1046
+function wpinv_cart_discounts_html($items = array()) {
1047
+    echo wpinv_get_cart_discounts_html($items);
1048 1048
 }
1049 1049
 
1050
-function wpinv_get_cart_discounts_html( $items = array(), $discounts = false ) {
1050
+function wpinv_get_cart_discounts_html($items = array(), $discounts = false) {
1051 1051
     global $wpi_cart_columns;
1052 1052
     
1053
-    $items  = !empty( $items ) ? $items : wpinv_get_cart_content_details();
1053
+    $items = !empty($items) ? $items : wpinv_get_cart_content_details();
1054 1054
     
1055
-    if ( !$discounts ) {
1056
-        $discounts = wpinv_get_cart_discounts( $items );
1055
+    if (!$discounts) {
1056
+        $discounts = wpinv_get_cart_discounts($items);
1057 1057
     }
1058 1058
 
1059
-    if ( !$discounts ) {
1059
+    if (!$discounts) {
1060 1060
         return;
1061 1061
     }
1062 1062
     
1063
-    $discounts = is_array( $discounts ) ? $discounts : array( $discounts );
1063
+    $discounts = is_array($discounts) ? $discounts : array($discounts);
1064 1064
     
1065 1065
     $html = '';
1066 1066
 
1067
-    foreach ( $discounts as $discount ) {
1068
-        $discount_id    = wpinv_get_discount_id_by_code( $discount );
1069
-        $discount_value = wpinv_get_discount_amount( $discount_id );
1070
-        $rate           = wpinv_format_discount_rate( wpinv_get_discount_type( $discount_id ), $discount_value );
1071
-        $amount         = wpinv_get_cart_items_discount_amount( $items, $discount );
1072
-        $remove_btn     = '<a title="' . esc_attr__( 'Remove discount', 'invoicing' ) . '" data-code="' . $discount . '" data-value="' . $discount_value . '" class="wpi-discount-remove" href="javascript:void(0);">[<i class="fa fa-times" aria-hidden="true"></i>]</a> ';
1067
+    foreach ($discounts as $discount) {
1068
+        $discount_id    = wpinv_get_discount_id_by_code($discount);
1069
+        $discount_value = wpinv_get_discount_amount($discount_id);
1070
+        $rate           = wpinv_format_discount_rate(wpinv_get_discount_type($discount_id), $discount_value);
1071
+        $amount         = wpinv_get_cart_items_discount_amount($items, $discount);
1072
+        $remove_btn     = '<a title="' . esc_attr__('Remove discount', 'invoicing') . '" data-code="' . $discount . '" data-value="' . $discount_value . '" class="wpi-discount-remove" href="javascript:void(0);">[<i class="fa fa-times" aria-hidden="true"></i>]</a> ';
1073 1073
         
1074 1074
         $html .= '<tr class="wpinv_cart_footer_row wpinv_cart_discount_row">';
1075 1075
         ob_start();
1076
-        do_action( 'wpinv_checkout_table_discount_first', $items );
1076
+        do_action('wpinv_checkout_table_discount_first', $items);
1077 1077
         $html .= ob_get_clean();
1078
-        $html .= '<td class="wpinv_cart_discount_label text-right" colspan="' . $wpi_cart_columns . '">' . $remove_btn . '<strong>' . wpinv_cart_discount_label( $discount, $rate, false ) . '</strong></td><td class="wpinv_cart_discount text-right"><span data-discount="' . $amount . '" class="wpinv_cart_discount_amount">&ndash;' . wpinv_price( wpinv_format_amount( $amount ) ) . '</span></td>';
1078
+        $html .= '<td class="wpinv_cart_discount_label text-right" colspan="' . $wpi_cart_columns . '">' . $remove_btn . '<strong>' . wpinv_cart_discount_label($discount, $rate, false) . '</strong></td><td class="wpinv_cart_discount text-right"><span data-discount="' . $amount . '" class="wpinv_cart_discount_amount">&ndash;' . wpinv_price(wpinv_format_amount($amount)) . '</span></td>';
1079 1079
         ob_start();
1080
-        do_action( 'wpinv_checkout_table_discount_last', $items );
1080
+        do_action('wpinv_checkout_table_discount_last', $items);
1081 1081
         $html .= ob_get_clean();
1082 1082
         $html .= '</tr>';
1083 1083
     }
1084 1084
 
1085
-    return apply_filters( 'wpinv_get_cart_discounts_html', $html, $discounts, $rate );
1085
+    return apply_filters('wpinv_get_cart_discounts_html', $html, $discounts, $rate);
1086 1086
 }
1087 1087
 
1088
-function wpinv_display_cart_discount( /** @scrutinizer ignore-unused */ $formatted = false, $echo = false ) {
1088
+function wpinv_display_cart_discount(/** @scrutinizer ignore-unused */ $formatted = false, $echo = false) {
1089 1089
     $discounts = wpinv_get_cart_discounts();
1090 1090
 
1091
-    if ( empty( $discounts ) ) {
1091
+    if (empty($discounts)) {
1092 1092
         return false;
1093 1093
     }
1094 1094
 
1095
-    $discount_id  = wpinv_get_discount_id_by_code( $discounts[0] );
1096
-    $amount       = wpinv_format_discount_rate( wpinv_get_discount_type( $discount_id ), wpinv_get_discount_amount( $discount_id ) );
1095
+    $discount_id  = wpinv_get_discount_id_by_code($discounts[0]);
1096
+    $amount       = wpinv_format_discount_rate(wpinv_get_discount_type($discount_id), wpinv_get_discount_amount($discount_id));
1097 1097
 
1098
-    if ( $echo ) {
1098
+    if ($echo) {
1099 1099
         echo $amount;
1100 1100
     }
1101 1101
 
@@ -1103,101 +1103,101 @@  discard block
 block discarded – undo
1103 1103
 }
1104 1104
 
1105 1105
 function wpinv_remove_cart_discount() {
1106
-    if ( !isset( $_GET['discount_id'] ) || ! isset( $_GET['discount_code'] ) ) {
1106
+    if (!isset($_GET['discount_id']) || !isset($_GET['discount_code'])) {
1107 1107
         return;
1108 1108
     }
1109 1109
 
1110
-    do_action( 'wpinv_pre_remove_cart_discount', absint( $_GET['discount_id'] ) );
1110
+    do_action('wpinv_pre_remove_cart_discount', absint($_GET['discount_id']));
1111 1111
 
1112
-    wpinv_unset_cart_discount( urldecode( $_GET['discount_code'] ) );
1112
+    wpinv_unset_cart_discount(urldecode($_GET['discount_code']));
1113 1113
 
1114
-    do_action( 'wpinv_post_remove_cart_discount', absint( $_GET['discount_id'] ) );
1114
+    do_action('wpinv_post_remove_cart_discount', absint($_GET['discount_id']));
1115 1115
 
1116
-    wp_redirect( wpinv_get_checkout_uri() ); wpinv_die();
1116
+    wp_redirect(wpinv_get_checkout_uri()); wpinv_die();
1117 1117
 }
1118
-add_action( 'wpinv_remove_cart_discount', 'wpinv_remove_cart_discount' );
1118
+add_action('wpinv_remove_cart_discount', 'wpinv_remove_cart_discount');
1119 1119
 
1120 1120
 function wpinv_maybe_remove_cart_discount() {
1121 1121
     $discounts = wpinv_get_cart_discounts();
1122 1122
 
1123
-    if ( !$discounts ) {
1123
+    if (!$discounts) {
1124 1124
         return;
1125 1125
     }
1126 1126
 
1127
-    foreach ( $discounts as $discount ) {
1128
-        if ( !wpinv_is_discount_valid( $discount ) ) {
1129
-            wpinv_unset_cart_discount( $discount );
1127
+    foreach ($discounts as $discount) {
1128
+        if (!wpinv_is_discount_valid($discount)) {
1129
+            wpinv_unset_cart_discount($discount);
1130 1130
         }
1131 1131
     }
1132 1132
 }
1133
-add_action( 'wpinv_post_remove_from_cart', 'wpinv_maybe_remove_cart_discount' );
1133
+add_action('wpinv_post_remove_from_cart', 'wpinv_maybe_remove_cart_discount');
1134 1134
 
1135 1135
 function wpinv_multiple_discounts_allowed() {
1136
-    $ret = wpinv_get_option( 'allow_multiple_discounts', false );
1137
-    return (bool) apply_filters( 'wpinv_multiple_discounts_allowed', $ret );
1136
+    $ret = wpinv_get_option('allow_multiple_discounts', false);
1137
+    return (bool) apply_filters('wpinv_multiple_discounts_allowed', $ret);
1138 1138
 }
1139 1139
 
1140
-function wpinv_get_discount_label( $code, $echo = true ) {
1141
-    $label = wp_sprintf( __( 'Discount%1$s', 'invoicing' ), ( $code != '' && $code != 'none' ? ' (<code>' . $code . '</code>)': '' ) );
1142
-    $label = apply_filters( 'wpinv_get_discount_label', $label, $code );
1140
+function wpinv_get_discount_label($code, $echo = true) {
1141
+    $label = wp_sprintf(__('Discount%1$s', 'invoicing'), ($code != '' && $code != 'none' ? ' (<code>' . $code . '</code>)' : ''));
1142
+    $label = apply_filters('wpinv_get_discount_label', $label, $code);
1143 1143
 
1144
-    if ( $echo ) {
1144
+    if ($echo) {
1145 1145
         echo $label;
1146 1146
     } else {
1147 1147
         return $label;
1148 1148
     }
1149 1149
 }
1150 1150
 
1151
-function wpinv_cart_discount_label( $code, $rate, $echo = true ) {
1152
-    $label = wp_sprintf( __( 'Discount: %s', 'invoicing' ), $code );
1153
-    $label = apply_filters( 'wpinv_cart_discount_label', $label, $code, $rate );
1151
+function wpinv_cart_discount_label($code, $rate, $echo = true) {
1152
+    $label = wp_sprintf(__('Discount: %s', 'invoicing'), $code);
1153
+    $label = apply_filters('wpinv_cart_discount_label', $label, $code, $rate);
1154 1154
 
1155
-    if ( $echo ) {
1155
+    if ($echo) {
1156 1156
         echo $label;
1157 1157
     } else {
1158 1158
         return $label;
1159 1159
     }
1160 1160
 }
1161 1161
 
1162
-function wpinv_check_delete_discount( $check, $post ) {
1163
-    if ( $post->post_type == 'wpi_discount' && wpinv_get_discount_uses( $post->ID ) > 0 ) {
1162
+function wpinv_check_delete_discount($check, $post) {
1163
+    if ($post->post_type == 'wpi_discount' && wpinv_get_discount_uses($post->ID) > 0) {
1164 1164
         return true;
1165 1165
     }
1166 1166
     
1167 1167
     return $check;
1168 1168
 }
1169
-add_filter( 'pre_delete_post', 'wpinv_check_delete_discount', 10, 2 );
1169
+add_filter('pre_delete_post', 'wpinv_check_delete_discount', 10, 2);
1170 1170
 
1171 1171
 function wpinv_checkout_form_validate_discounts() {
1172 1172
     global $wpi_checkout_id;
1173 1173
     
1174 1174
     $discounts = wpinv_get_cart_discounts();
1175 1175
     
1176
-    if ( !empty( $discounts ) ) {
1176
+    if (!empty($discounts)) {
1177 1177
         $invalid = false;
1178 1178
         
1179
-        foreach ( $discounts as $key => $code ) {
1180
-            if ( !wpinv_is_discount_valid( $code, (int)wpinv_get_user_id( $wpi_checkout_id ) ) ) {
1179
+        foreach ($discounts as $key => $code) {
1180
+            if (!wpinv_is_discount_valid($code, (int) wpinv_get_user_id($wpi_checkout_id))) {
1181 1181
                 $invalid = true;
1182 1182
                 
1183
-                wpinv_unset_cart_discount( $code );
1183
+                wpinv_unset_cart_discount($code);
1184 1184
             }
1185 1185
         }
1186 1186
         
1187
-        if ( $invalid ) {
1187
+        if ($invalid) {
1188 1188
             $errors = wpinv_get_errors();
1189
-            $error  = !empty( $errors['wpinv-discount-error'] ) ? $errors['wpinv-discount-error'] . ' ' : '';
1190
-            $error  .= __( 'The discount has been removed from cart.', 'invoicing' );
1191
-            wpinv_set_error( 'wpinv-discount-error', $error );
1189
+            $error  = !empty($errors['wpinv-discount-error']) ? $errors['wpinv-discount-error'] . ' ' : '';
1190
+            $error .= __('The discount has been removed from cart.', 'invoicing');
1191
+            wpinv_set_error('wpinv-discount-error', $error);
1192 1192
             
1193
-            wpinv_recalculate_tax( true );
1193
+            wpinv_recalculate_tax(true);
1194 1194
         }
1195 1195
     }
1196 1196
 }
1197
-add_action( 'wpinv_before_checkout_form', 'wpinv_checkout_form_validate_discounts', -10 );
1197
+add_action('wpinv_before_checkout_form', 'wpinv_checkout_form_validate_discounts', -10);
1198 1198
 
1199 1199
 function wpinv_discount_amount() {
1200 1200
     $output = 0.00;
1201 1201
     
1202
-    return apply_filters( 'wpinv_discount_amount', $output );
1202
+    return apply_filters('wpinv_discount_amount', $output);
1203 1203
 }
1204 1204
\ No newline at end of file
Please login to merge, or discard this patch.
includes/class-wpinv-discount.php 1 patch
Spacing   +189 added lines, -189 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  * @since   1.0.15
6 6
  */
7 7
 
8
-defined( 'ABSPATH' ) || exit;
8
+defined('ABSPATH') || exit;
9 9
 
10 10
 /**
11 11
  * Discount class.
@@ -63,45 +63,45 @@  discard block
 block discarded – undo
63 63
 	 * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
64 64
 	 * @since 1.0.15
65 65
 	 */
66
-	public function __construct( $discount = array() ) {
66
+	public function __construct($discount = array()) {
67 67
         
68 68
         // If the discount is an instance of this class...
69
-		if ( $discount instanceof WPInv_Discount ) {
70
-			$this->init( $discount->data );
69
+		if ($discount instanceof WPInv_Discount) {
70
+			$this->init($discount->data);
71 71
 			return;
72 72
         }
73 73
         
74 74
         // If the discount is an array of discount details...
75
-        if ( is_array( $discount ) ) {
76
-			$this->init( $discount );
75
+        if (is_array($discount)) {
76
+			$this->init($discount);
77 77
 			return;
78 78
 		}
79 79
 		
80 80
 		// Try fetching the discount by its post id.
81 81
 		$data = false;
82 82
 		
83
-		if ( ! empty( $discount ) && is_numeric( $discount ) ) {
84
-			$discount = absint( $discount );
85
-			$data = self::get_data_by( 'id', $discount );
83
+		if (!empty($discount) && is_numeric($discount)) {
84
+			$discount = absint($discount);
85
+			$data = self::get_data_by('id', $discount);
86 86
 		}
87 87
 
88
-		if ( is_array( $data ) ) {
89
-			$this->init( $data );
88
+		if (is_array($data)) {
89
+			$this->init($data);
90 90
 			return;
91 91
 		}
92 92
 		
93 93
 		// Try fetching the discount by its discount code.
94
-		if ( ! empty( $discount ) && is_string( $discount ) ) {
95
-			$data = self::get_data_by( 'discount_code', $discount );
94
+		if (!empty($discount) && is_string($discount)) {
95
+			$data = self::get_data_by('discount_code', $discount);
96 96
 		}
97 97
 
98
-		if ( is_array( $data ) ) {
99
-			$this->init( $data );
98
+		if (is_array($data)) {
99
+			$this->init($data);
100 100
 			return;
101 101
 		} 
102 102
 		
103 103
 		// If we are here then the discount does not exist.
104
-		$this->init( array() );
104
+		$this->init(array());
105 105
 	}
106 106
 	
107 107
 	/**
@@ -110,8 +110,8 @@  discard block
 block discarded – undo
110 110
 	 * @since 1.0.15
111 111
 	 * @param array $data An array containing the discount's data
112 112
 	 */
113
-	public function init( $data ) {
114
-		$data       	  = self::sanitize_discount_data( $data );
113
+	public function init($data) {
114
+		$data       	  = self::sanitize_discount_data($data);
115 115
 		$this->data 	  = $data;
116 116
 		$this->old_status = $data['status'];
117 117
 		$this->ID   	  = $data['ID'];
@@ -127,50 +127,50 @@  discard block
 block discarded – undo
127 127
 	 * @since 1.0.15
128 128
 	 * @return array|bool array of discount details on success. False otherwise.
129 129
 	 */
130
-	public static function get_data_by( $field, $value ) {
130
+	public static function get_data_by($field, $value) {
131 131
 
132
-		if ( 'id' == strtolower( $field ) ) {
132
+		if ('id' == strtolower($field)) {
133 133
 			// Make sure the value is numeric to avoid casting objects, for example,
134 134
 			// to int 1.
135
-			if ( ! is_numeric( $value ) )
135
+			if (!is_numeric($value))
136 136
 				return false;
137
-			$value = intval( $value );
138
-			if ( $value < 1 )
137
+			$value = intval($value);
138
+			if ($value < 1)
139 139
 				return false;
140 140
 		}
141 141
 
142
-		if ( ! $value || ! is_string( $field ) ) {
142
+		if (!$value || !is_string($field)) {
143 143
 			return false;
144 144
 		}
145 145
 		
146
-		$field = trim( $field );
146
+		$field = trim($field);
147 147
 
148 148
 		// prepare query args
149
-		switch ( strtolower( $field ) ) {
149
+		switch (strtolower($field)) {
150 150
 			case 'id':
151 151
 				$discount_id = $value;
152
-				$args		 = array( 'include' => array( $value ) );
152
+				$args = array('include' => array($value));
153 153
 				break;
154 154
 			case 'discount_code':
155 155
 			case 'code':
156
-				$value       = trim( $value );
157
-				$discount_id = wp_cache_get( $value, 'WPInv_Discount_Codes' );
158
-				$args		 = array( 'meta_key' => '_wpi_discount_code', 'meta_value' => $value );
156
+				$value       = trim($value);
157
+				$discount_id = wp_cache_get($value, 'WPInv_Discount_Codes');
158
+				$args = array('meta_key' => '_wpi_discount_code', 'meta_value' => $value);
159 159
 				break;
160 160
 			case 'name':
161 161
 				$discount_id = 0;
162
-				$args		 = array( 'name' => trim( $value ) );
162
+				$args		 = array('name' => trim($value));
163 163
 				break;
164 164
 			default:
165
-				$args		 = apply_filters( "wpinv_discount_get_data_by_{$field}_args", null, $value );
166
-				if ( ! is_array( $args ) ) {
167
-					return apply_filters( "wpinv_discount_get_data_by_$field", false, $value );
165
+				$args		 = apply_filters("wpinv_discount_get_data_by_{$field}_args", null, $value);
166
+				if (!is_array($args)) {
167
+					return apply_filters("wpinv_discount_get_data_by_$field", false, $value);
168 168
 				}
169 169
 
170 170
 		}
171 171
 
172 172
 		// Check if there is a cached value.
173
-		if ( ! empty( $discount_id ) && $discount = wp_cache_get( (int) $discount_id, 'WPInv_Discounts' ) ) {
173
+		if (!empty($discount_id) && $discount = wp_cache_get((int) $discount_id, 'WPInv_Discounts')) {
174 174
 			return $discount;
175 175
 		}
176 176
 
@@ -179,13 +179,13 @@  discard block
 block discarded – undo
179 179
 			array(
180 180
 				'post_type'      => 'wpi_discount',
181 181
 				'posts_per_page' => 1,
182
-				'post_status'    => array( 'publish', 'pending', 'draft', 'expired' )
182
+				'post_status'    => array('publish', 'pending', 'draft', 'expired')
183 183
 			)
184 184
 		);
185 185
 
186
-		$discount = get_posts( $args );
186
+		$discount = get_posts($args);
187 187
 				
188
-		if( empty( $discount ) ) {
188
+		if (empty($discount)) {
189 189
 			return false;
190 190
 		}
191 191
 
@@ -194,31 +194,31 @@  discard block
 block discarded – undo
194 194
 		// Prepare the return data.
195 195
 		$return = array(
196 196
             'ID'                          => $discount->ID,
197
-            'code'                        => get_post_meta( $discount->ID, '_wpi_discount_code', true ),
198
-            'amount'                      => get_post_meta( $discount->ID, '_wpi_discount_amount', true ),
197
+            'code'                        => get_post_meta($discount->ID, '_wpi_discount_code', true),
198
+            'amount'                      => get_post_meta($discount->ID, '_wpi_discount_amount', true),
199 199
             'date_created'                => $discount->post_date,
200 200
 			'date_modified'               => $discount->post_modified,
201 201
 			'status'               		  => $discount->post_status,
202
-			'start'                  	  => get_post_meta( $discount->ID, '_wpi_discount_start', true ),
203
-            'expiration'                  => get_post_meta( $discount->ID, '_wpi_discount_expiration', true ),
204
-            'type'               		  => get_post_meta( $discount->ID, '_wpi_discount_type', true ),
202
+			'start'                  	  => get_post_meta($discount->ID, '_wpi_discount_start', true),
203
+            'expiration'                  => get_post_meta($discount->ID, '_wpi_discount_expiration', true),
204
+            'type'               		  => get_post_meta($discount->ID, '_wpi_discount_type', true),
205 205
             'description'                 => $discount->post_excerpt,
206
-            'uses'                 		  => get_post_meta( $discount->ID, '_wpi_discount_uses', true ),
207
-            'is_single_use'               => get_post_meta( $discount->ID, '_wpi_discount_is_single_use', true ),
208
-            'items'              	      => get_post_meta( $discount->ID, '_wpi_discount_items', true ),
209
-            'excluded_items'              => get_post_meta( $discount->ID, '_wpi_discount_excluded_items', true ),
210
-            'max_uses'                    => get_post_meta( $discount->ID, '_wpi_discount_max_uses', true ),
211
-            'is_recurring'                => get_post_meta( $discount->ID, '_wpi_discount_is_recurring', true ),
212
-            'min_total'                   => get_post_meta( $discount->ID, '_wpi_discount_min_total', true ),
213
-            'max_total'                   => get_post_meta( $discount->ID, '_wpi_discount_max_total', true ),
206
+            'uses'                 		  => get_post_meta($discount->ID, '_wpi_discount_uses', true),
207
+            'is_single_use'               => get_post_meta($discount->ID, '_wpi_discount_is_single_use', true),
208
+            'items'              	      => get_post_meta($discount->ID, '_wpi_discount_items', true),
209
+            'excluded_items'              => get_post_meta($discount->ID, '_wpi_discount_excluded_items', true),
210
+            'max_uses'                    => get_post_meta($discount->ID, '_wpi_discount_max_uses', true),
211
+            'is_recurring'                => get_post_meta($discount->ID, '_wpi_discount_is_recurring', true),
212
+            'min_total'                   => get_post_meta($discount->ID, '_wpi_discount_min_total', true),
213
+            'max_total'                   => get_post_meta($discount->ID, '_wpi_discount_max_total', true),
214 214
         );
215 215
 		
216
-		$return = self::sanitize_discount_data( $return );
217
-		$return = apply_filters( 'wpinv_discount_properties', $return );
216
+		$return = self::sanitize_discount_data($return);
217
+		$return = apply_filters('wpinv_discount_properties', $return);
218 218
 
219 219
 		// Update the cache with our data
220
-		wp_cache_add( $discount->ID, $return, 'WPInv_Discounts' );
221
-		wp_cache_add( $return['code'], $discount->ID, 'WPInv_Discount_Codes' );
220
+		wp_cache_add($discount->ID, $return, 'WPInv_Discounts');
221
+		wp_cache_add($return['code'], $discount->ID, 'WPInv_Discount_Codes');
222 222
 
223 223
 		return $return;
224 224
 	}
@@ -232,9 +232,9 @@  discard block
 block discarded – undo
232 232
 	 *
233 233
 	 * @return array the sanitized data
234 234
 	 */
235
-	public static function sanitize_discount_data( $data ) {
235
+	public static function sanitize_discount_data($data) {
236 236
 		
237
-		$allowed_discount_types = array_keys( wpinv_get_discount_types() );
237
+		$allowed_discount_types = array_keys(wpinv_get_discount_types());
238 238
 		
239 239
 		$return = array(
240 240
             'ID'                          => null,
@@ -259,60 +259,60 @@  discard block
 block discarded – undo
259 259
 		
260 260
 				
261 261
 		// Arrays only please.
262
-		if ( ! is_array( $data ) ) {
262
+		if (!is_array($data)) {
263 263
             return $return;
264 264
         }
265 265
 
266 266
 		// If an id is provided, ensure it is a valid discount.
267
-        if ( ! empty( $data['ID'] ) && ( ! is_numeric( $data['ID'] ) || 'wpi_discount' !== get_post_type( $data['ID'] ) ) ) {
267
+        if (!empty($data['ID']) && (!is_numeric($data['ID']) || 'wpi_discount' !== get_post_type($data['ID']))) {
268 268
             return $return;
269 269
 		}
270 270
 
271
-        $return = array_merge( $return, $data );
271
+        $return = array_merge($return, $data);
272 272
 
273 273
         // Sanitize some keys.
274
-        $return['amount']         = wpinv_sanitize_amount( $return['amount'] );
274
+        $return['amount'] = wpinv_sanitize_amount($return['amount']);
275 275
 		$return['is_single_use']  = (bool) $return['is_single_use'];
276 276
 		$return['is_recurring']   = (bool) $return['is_recurring'];
277 277
 		$return['uses']	          = (int) $return['uses'];
278 278
 		$return['max_uses']	      = (int) $return['max_uses'];
279
-		$return['min_total'] 	  = wpinv_sanitize_amount( $return['min_total'] );
280
-        $return['max_total'] 	  = wpinv_sanitize_amount( $return['max_total'] );
279
+		$return['min_total'] = wpinv_sanitize_amount($return['min_total']);
280
+        $return['max_total'] = wpinv_sanitize_amount($return['max_total']);
281 281
 
282 282
 		// Trim all values.
283
-		$return = wpinv_clean( $return );
283
+		$return = wpinv_clean($return);
284 284
 		
285 285
 		// Ensure the discount type is supported.
286
-        if ( ! in_array( $return['type'], $allowed_discount_types, true ) ) {
286
+        if (!in_array($return['type'], $allowed_discount_types, true)) {
287 287
             $return['type'] = 'percent';
288 288
 		}
289
-		$return['type_name'] = wpinv_get_discount_type_name( $return['type'] );
289
+		$return['type_name'] = wpinv_get_discount_type_name($return['type']);
290 290
 		
291 291
 		// Do not offer more than a 100% discount.
292
-		if ( $return['type'] == 'percent' && (float) $return['amount'] > 100 ) {
292
+		if ($return['type'] == 'percent' && (float) $return['amount'] > 100) {
293 293
 			$return['amount'] = 100;
294 294
 		}
295 295
 
296 296
 		// Format dates.
297
-		foreach( wpinv_parse_list( 'date_created date_modified expiration start') as $prop ) {
298
-			if( ! empty( $return[$prop] ) ) {
299
-				$return[$prop]      = date_i18n( 'Y-m-d H:i:s', strtotime( $return[$prop] ) );
297
+		foreach (wpinv_parse_list('date_created date_modified expiration start') as $prop) {
298
+			if (!empty($return[$prop])) {
299
+				$return[$prop] = date_i18n('Y-m-d H:i:s', strtotime($return[$prop]));
300 300
 			}
301 301
 		}
302 302
 
303 303
 		// Formart items.
304
-		foreach( array( 'excluded_items', 'items' ) as $prop ) {
304
+		foreach (array('excluded_items', 'items') as $prop) {
305 305
 
306
-			if( ! empty( $return[$prop] ) ) {
306
+			if (!empty($return[$prop])) {
307 307
 				// Ensure that the property is an array of non-empty integers.
308
-				$return[$prop]      = array_filter( array_map( 'intval', wpinv_parse_list( $return[$prop] ) ) );
308
+				$return[$prop]      = array_filter(array_map('intval', wpinv_parse_list($return[$prop])));
309 309
 			} else {
310 310
 				$return[$prop]      = array();
311 311
 			}
312 312
 
313 313
 		}
314 314
 		
315
-		return apply_filters( 'wpinv_sanitize_discount_data', $return, $data );
315
+		return apply_filters('wpinv_sanitize_discount_data', $return, $data);
316 316
 	}
317 317
 	
318 318
 	/**
@@ -323,8 +323,8 @@  discard block
 block discarded – undo
323 323
 	 *
324 324
 	 * @return bool Whether the given discount field is set.
325 325
 	 */
326
-	public function __isset( $key ){
327
-		return isset( $this->data[$key] ) || method_exists( $this, "get_$key");
326
+	public function __isset($key) {
327
+		return isset($this->data[$key]) || method_exists($this, "get_$key");
328 328
 	}
329 329
 	
330 330
 	/**
@@ -336,8 +336,8 @@  discard block
 block discarded – undo
336 336
 	 * @param string $key Discount data to retrieve
337 337
 	 * @return mixed Value of the given discount property (if set).
338 338
 	 */
339
-	public function __get( $key ) {
340
-		return $this->get( $key );
339
+	public function __get($key) {
340
+		return $this->get($key);
341 341
 	}
342 342
 
343 343
 	/**
@@ -349,15 +349,15 @@  discard block
 block discarded – undo
349 349
 	 * @param string $key Discount data to retrieve
350 350
 	 * @return mixed Value of the given discount property (if set).
351 351
 	 */
352
-	public function get( $key ) {
352
+	public function get($key) {
353 353
 		
354
-		if ( $key == 'id' ) {
354
+		if ($key == 'id') {
355 355
 			$key = 'ID';
356 356
 		}
357 357
 		
358
-		if( method_exists( $this, "get_$key") ) {
359
-			$value 	= call_user_func( array( $this, "get_$key" ) );
360
-		} else if( isset( $this->data[$key] ) ) {
358
+		if (method_exists($this, "get_$key")) {
359
+			$value 	= call_user_func(array($this, "get_$key"));
360
+		} else if (isset($this->data[$key])) {
361 361
 			$value 	= $this->data[$key];
362 362
 		} else {
363 363
 			$value = null;
@@ -374,7 +374,7 @@  discard block
 block discarded – undo
374 374
 		 * @param string         $code     The discount's discount code.
375 375
 		 * @param array          $data     The discount's data array.
376 376
 		 */
377
-		return apply_filters( "wpinv_get_discount_{$key}", $value, $this->ID, $this, $this->data['code'], $this->data );
377
+		return apply_filters("wpinv_get_discount_{$key}", $value, $this->ID, $this, $this->data['code'], $this->data);
378 378
 
379 379
 	}
380 380
 	
@@ -387,9 +387,9 @@  discard block
 block discarded – undo
387 387
 	 * @access public
388 388
 	 *
389 389
 	 */
390
-	public function __set( $key, $value ) {
390
+	public function __set($key, $value) {
391 391
 		
392
-		if ( 'id' == strtolower( $key ) ) {
392
+		if ('id' == strtolower($key)) {
393 393
 			
394 394
 			$this->ID = $value;
395 395
 			$this->data['ID'] = $value;
@@ -410,10 +410,10 @@  discard block
 block discarded – undo
410 410
 		 * @param string         $code     The discount's discount code.
411 411
 		 * @param array          $data     The discount's data array.
412 412
 		 */
413
-		$value = apply_filters( "wpinv_set_discount_{$key}", $value, $this->ID, $this, $this->code, $this->data );
413
+		$value = apply_filters("wpinv_set_discount_{$key}", $value, $this->ID, $this, $this->code, $this->data);
414 414
 
415
-		if( method_exists( $this, "set_$key") ) {
416
-			call_user_func( array( $this, "set_$key" ), $value );
415
+		if (method_exists($this, "set_$key")) {
416
+			call_user_func(array($this, "set_$key"), $value);
417 417
 		} else {
418 418
 			$this->data[$key] = $value;
419 419
 		}
@@ -428,53 +428,53 @@  discard block
 block discarded – undo
428 428
 	 * @return bool
429 429
 	 *
430 430
 	 */
431
-	public function save(){
431
+	public function save() {
432 432
 		
433
-		$data = self::sanitize_discount_data( $this->data );
433
+		$data = self::sanitize_discount_data($this->data);
434 434
 
435 435
 		// Should we create a new post?
436
-		if( ! $data[ 'ID' ] ) {
436
+		if (!$data['ID']) {
437 437
 
438
-			$id = wp_insert_post( array(
438
+			$id = wp_insert_post(array(
439 439
 				'post_status'           => $data['status'],
440 440
 				'post_type'             => 'wpi_discount',
441 441
 				'post_excerpt'          => $data['description'],
442
-			) );
442
+			));
443 443
 
444
-			if( empty( $id ) ) {
444
+			if (empty($id)) {
445 445
 				return false;
446 446
 			}
447 447
 
448
-			$data[ 'ID' ] = (int) $id;
449
-			$this->ID = $data[ 'ID' ];
450
-			$this->data['ID'] = $data[ 'ID' ];
448
+			$data['ID'] = (int) $id;
449
+			$this->ID = $data['ID'];
450
+			$this->data['ID'] = $data['ID'];
451 451
 
452 452
 		} else {
453
-			$this->update_status( $data['status'] );
453
+			$this->update_status($data['status']);
454 454
 		}
455 455
 
456
-		$meta = apply_filters( 'wpinv_update_discount', $data, $this->ID, $this );
456
+		$meta = apply_filters('wpinv_update_discount', $data, $this->ID, $this);
457 457
 
458
-		do_action( 'wpinv_pre_update_discount', $meta, $this->ID, $this );
458
+		do_action('wpinv_pre_update_discount', $meta, $this->ID, $this);
459 459
 
460
-		foreach( wpinv_parse_list( 'ID date_created date_modified status description type_name' ) as $prop ) {
461
-			if ( isset( $meta[$prop] ) ) {
462
-				unset( $meta[$prop] );
460
+		foreach (wpinv_parse_list('ID date_created date_modified status description type_name') as $prop) {
461
+			if (isset($meta[$prop])) {
462
+				unset($meta[$prop]);
463 463
 			}
464 464
 		}
465 465
 
466
-		if( isset( $meta['uses'] ) && empty( $meta['uses'] ) ) {
467
-			unset( $meta['uses'] );
466
+		if (isset($meta['uses']) && empty($meta['uses'])) {
467
+			unset($meta['uses']);
468 468
 		}
469 469
 
470 470
 		// Save the metadata.
471
-		foreach( $meta as $key => $value ) {
472
-			update_post_meta( $this->ID, "_wpi_discount_$key", $value );
471
+		foreach ($meta as $key => $value) {
472
+			update_post_meta($this->ID, "_wpi_discount_$key", $value);
473 473
 		}
474 474
 
475 475
 		$this->refresh();
476 476
 
477
-		do_action( 'wpinv_post_update_discount', $meta, $this->ID );
477
+		do_action('wpinv_post_update_discount', $meta, $this->ID);
478 478
 
479 479
 		return true;		
480 480
 	}
@@ -487,17 +487,17 @@  discard block
 block discarded – undo
487 487
 	 * @return bool
488 488
 	 *
489 489
 	 */
490
-	public function refresh(){
490
+	public function refresh() {
491 491
 
492 492
 		// Empty the cache for this discount.
493
-		wp_cache_delete( $this->ID, 'WPInv_Discounts' );
494
-		wp_cache_delete( $this->get( 'code' ), 'WPInv_Discount_Codes' );
493
+		wp_cache_delete($this->ID, 'WPInv_Discounts');
494
+		wp_cache_delete($this->get('code'), 'WPInv_Discount_Codes');
495 495
 
496
-		$data = self::get_data_by( 'id', $this->ID );
497
-		if( is_array( $data ) ) {
498
-			$this->init( $data );
496
+		$data = self::get_data_by('id', $this->ID);
497
+		if (is_array($data)) {
498
+			$this->init($data);
499 499
 		} else {
500
-			$this->init( array() );
500
+			$this->init(array());
501 501
 		}
502 502
 
503 503
 	}
@@ -510,14 +510,14 @@  discard block
 block discarded – undo
510 510
 	 * @return bool
511 511
 	 *
512 512
 	 */
513
-	public function update_status( $status = 'publish' ){
513
+	public function update_status($status = 'publish') {
514 514
 
515 515
 
516
-		if ( $this->exists() && $this->old_status != $status ) {
516
+		if ($this->exists() && $this->old_status != $status) {
517 517
 
518
-			do_action( 'wpinv_pre_update_discount_status', $this->ID, $this->old_status, $status );
519
-        	$updated = wp_update_post( array( 'ID' => $this->ID, 'post_status' => $status ) );
520
-			do_action( 'wpinv_post_update_discount_status', $this->ID, $this->old_status, $status );
518
+			do_action('wpinv_pre_update_discount_status', $this->ID, $this->old_status, $status);
519
+        	$updated = wp_update_post(array('ID' => $this->ID, 'post_status' => $status));
520
+			do_action('wpinv_post_update_discount_status', $this->ID, $this->old_status, $status);
521 521
 
522 522
 			$this->refresh();
523 523
 
@@ -534,8 +534,8 @@  discard block
 block discarded – undo
534 534
 	 * 
535 535
 	 * @since 1.0.15
536 536
 	 */
537
-	public function exists(){
538
-		return ! empty( $this->ID );
537
+	public function exists() {
538
+		return !empty($this->ID);
539 539
 	}
540 540
 	
541 541
 	// Boolean methods
@@ -548,7 +548,7 @@  discard block
 block discarded – undo
548 548
 	 * @since 1.0.15
549 549
 	 * @return bool
550 550
 	 */
551
-	public function is_type( $type ) {
551
+	public function is_type($type) {
552 552
 		return $this->type == $type;
553 553
 	}
554 554
 	
@@ -569,12 +569,12 @@  discard block
 block discarded – undo
569 569
 	 * @return bool
570 570
 	 */
571 571
 	public function has_exceeded_limit() {
572
-		if( empty( $this->max_uses ) || empty( $this->uses ) ) { 
573
-			return false ;
572
+		if (empty($this->max_uses) || empty($this->uses)) { 
573
+			return false;
574 574
 		}
575 575
 		
576
-		$exceeded =  $this->uses >= $this->max_uses;
577
-		return apply_filters( 'wpinv_is_discount_maxed_out', $exceeded, $this->ID, $this, $this->code );
576
+		$exceeded = $this->uses >= $this->max_uses;
577
+		return apply_filters('wpinv_is_discount_maxed_out', $exceeded, $this->ID, $this, $this->code);
578 578
 	}
579 579
 	
580 580
 	/**
@@ -584,8 +584,8 @@  discard block
 block discarded – undo
584 584
 	 * @return bool
585 585
 	 */
586 586
 	public function is_expired() {
587
-		$expired = empty ( $this->expiration ) ? false : current_time( 'timestamp' ) > strtotime( $this->expiration );
588
-		return apply_filters( 'wpinv_is_discount_expired', $expired, $this->ID, $this, $this->code );
587
+		$expired = empty ($this->expiration) ? false : current_time('timestamp') > strtotime($this->expiration);
588
+		return apply_filters('wpinv_is_discount_expired', $expired, $this->ID, $this, $this->code);
589 589
 	}
590 590
 
591 591
 	/**
@@ -595,8 +595,8 @@  discard block
 block discarded – undo
595 595
 	 * @return bool
596 596
 	 */
597 597
 	public function has_started() {
598
-		$started = empty ( $this->start ) ? true : current_time( 'timestamp' ) > strtotime( $this->start );
599
-		return apply_filters( 'wpinv_is_discount_started', $started, $this->ID, $this, $this->code );		
598
+		$started = empty ($this->start) ? true : current_time('timestamp') > strtotime($this->start);
599
+		return apply_filters('wpinv_is_discount_started', $started, $this->ID, $this, $this->code);		
600 600
 	}
601 601
 	
602 602
 	/**
@@ -606,17 +606,17 @@  discard block
 block discarded – undo
606 606
 	 * @since 1.0.15
607 607
 	 * @return boolean
608 608
 	 */
609
-	public function is_valid_for_items( $item_ids ) {
609
+	public function is_valid_for_items($item_ids) {
610 610
 		 
611
-		$item_ids = array_map( 'intval',  wpinv_parse_list( $item_ids ) );
612
-		$included = array_intersect( $item_ids, $this->items );
613
-		$excluded = array_intersect( $item_ids, $this->excluded_items );
611
+		$item_ids = array_map('intval', wpinv_parse_list($item_ids));
612
+		$included = array_intersect($item_ids, $this->items);
613
+		$excluded = array_intersect($item_ids, $this->excluded_items);
614 614
 
615
-		if( ! empty( $this->excluded_items ) && ! empty( $excluded ) ) {
615
+		if (!empty($this->excluded_items) && !empty($excluded)) {
616 616
 			return false;
617 617
 		}
618 618
 
619
-		if( ! empty( $this->items ) && empty( $included ) ) {
619
+		if (!empty($this->items) && empty($included)) {
620 620
 			return false;
621 621
 		}
622 622
 		return true;
@@ -629,8 +629,8 @@  discard block
 block discarded – undo
629 629
 	 * @since 1.0.15
630 630
 	 * @return boolean
631 631
 	 */
632
-	public function is_valid_for_amount( $amount ) {
633
-		return $this->is_minimum_amount_met( $amount ) && $this->is_maximum_amount_met( $amount );
632
+	public function is_valid_for_amount($amount) {
633
+		return $this->is_minimum_amount_met($amount) && $this->is_maximum_amount_met($amount);
634 634
 	}
635 635
 
636 636
 	/**
@@ -640,10 +640,10 @@  discard block
 block discarded – undo
640 640
 	 * @since 1.0.15
641 641
 	 * @return boolean
642 642
 	 */
643
-	public function is_minimum_amount_met( $amount ) {
644
-		$amount = floatval( $amount );
645
-		$min_met= ! ( $this->min_total > 0 && $amount < $this->min_total );
646
-		return apply_filters( 'wpinv_is_discount_min_met', $min_met, $this->ID, $this, $this->code, $amount );
643
+	public function is_minimum_amount_met($amount) {
644
+		$amount = floatval($amount);
645
+		$min_met = !($this->min_total > 0 && $amount < $this->min_total);
646
+		return apply_filters('wpinv_is_discount_min_met', $min_met, $this->ID, $this, $this->code, $amount);
647 647
 	}
648 648
 
649 649
 	/**
@@ -653,10 +653,10 @@  discard block
 block discarded – undo
653 653
 	 * @since 1.0.15
654 654
 	 * @return boolean
655 655
 	 */
656
-	public function is_maximum_amount_met( $amount ) {
657
-		$amount = floatval( $amount );
658
-		$max_met= ! ( $this->max_total > 0 && $amount > $this->max_total );
659
-		return apply_filters( 'wpinv_is_discount_max_met', $max_met, $this->ID, $this, $this->code, $amount );
656
+	public function is_maximum_amount_met($amount) {
657
+		$amount = floatval($amount);
658
+		$max_met = !($this->max_total > 0 && $amount > $this->max_total);
659
+		return apply_filters('wpinv_is_discount_max_met', $max_met, $this->ID, $this, $this->code, $amount);
660 660
 	}
661 661
 
662 662
 	/**
@@ -666,50 +666,50 @@  discard block
 block discarded – undo
666 666
 	 * @since 1.0.15
667 667
 	 * @return boolean
668 668
 	 */
669
-	public function is_valid_for_user( $user ) {
669
+	public function is_valid_for_user($user) {
670 670
 		global $wpi_checkout_id;
671 671
 
672
-		if( empty( $user ) || empty( $this->is_single_use ) ) {
672
+		if (empty($user) || empty($this->is_single_use)) {
673 673
 			return true;
674 674
 		}
675 675
 
676 676
 		$user_id = 0;
677
-        if ( is_int( $user ) ) {
678
-            $user_id = absint( $user );
679
-        } else if ( is_email( $user ) && $user_data = get_user_by( 'email', $user ) ) {
677
+        if (is_int($user)) {
678
+            $user_id = absint($user);
679
+        } else if (is_email($user) && $user_data = get_user_by('email', $user)) {
680 680
             $user_id = $user_data->ID;
681
-        } else if ( $user_data = get_user_by( 'login', $user ) ) {
681
+        } else if ($user_data = get_user_by('login', $user)) {
682 682
             $user_id = $user_data->ID;
683
-        } else if ( absint( $user ) > 0 ) {
684
-            $user_id = absint( $user );
683
+        } else if (absint($user) > 0) {
684
+            $user_id = absint($user);
685 685
 		}
686 686
 
687
-		if ( empty( $user_id ) ) {
687
+		if (empty($user_id)) {
688 688
 			return true;
689 689
 		}
690 690
 		
691 691
 		// Get all payments with matching user id
692
-        $payments = wpinv_get_invoices( array( 'user' => $user_id, 'limit' => false ) ); 
693
-		$code     = strtolower( $this->code );
692
+        $payments = wpinv_get_invoices(array('user' => $user_id, 'limit' => false)); 
693
+		$code = strtolower($this->code);
694 694
 
695
-		foreach ( $payments as $payment ) {
695
+		foreach ($payments as $payment) {
696 696
 
697 697
 			// Don't count discount used for current invoice checkout.
698
-			if ( ! empty( $wpi_checkout_id ) && $wpi_checkout_id == $payment->ID ) {
698
+			if (!empty($wpi_checkout_id) && $wpi_checkout_id == $payment->ID) {
699 699
 				continue;
700 700
 			}
701 701
 			
702
-			if ( $payment->has_status( array( 'wpi-cancelled', 'wpi-failed' ) ) ) {
702
+			if ($payment->has_status(array('wpi-cancelled', 'wpi-failed'))) {
703 703
 				continue;
704 704
 			}
705 705
 
706
-			$discounts = $payment->get_discounts( true );
707
-			if ( empty( $discounts ) ) {
706
+			$discounts = $payment->get_discounts(true);
707
+			if (empty($discounts)) {
708 708
 				continue;
709 709
 			}
710 710
 
711
-			$discounts = array_map( 'strtolower', wpinv_parse_list( $discounts ) );
712
-			if ( ! empty( $discounts ) && in_array( $code, $discounts ) ) {
711
+			$discounts = array_map('strtolower', wpinv_parse_list($discounts));
712
+			if (!empty($discounts) && in_array($code, $discounts)) {
713 713
 				return false;
714 714
 			}
715 715
 		}
@@ -725,15 +725,15 @@  discard block
 block discarded – undo
725 725
 	 */
726 726
 	public function remove() {
727 727
 
728
-		if ( empty( $this->ID ) ) {
728
+		if (empty($this->ID)) {
729 729
 			return true;
730 730
 		}
731 731
 
732
-		do_action( 'wpinv_pre_delete_discount', $this->ID, $this->data );
733
-		wp_cache_delete( $this->ID, 'WPInv_Discounts' );
734
-    	wp_delete_post( $this->ID, true );
735
-		wp_cache_delete( $this->code, 'WPInv_Discount_Codes' );
736
-    	do_action( 'wpinv_post_delete_discount', $this->ID, $this->data );
732
+		do_action('wpinv_pre_delete_discount', $this->ID, $this->data);
733
+		wp_cache_delete($this->ID, 'WPInv_Discounts');
734
+    	wp_delete_post($this->ID, true);
735
+		wp_cache_delete($this->code, 'WPInv_Discount_Codes');
736
+    	do_action('wpinv_post_delete_discount', $this->ID, $this->data);
737 737
 
738 738
 		$this->ID = null;
739 739
 		$this->data['id'] = null;
@@ -747,21 +747,21 @@  discard block
 block discarded – undo
747 747
 	 * @param int $by The number of usages to increas by.
748 748
 	 * @return int
749 749
 	 */
750
-	public function increase_usage( $by = 1 ) {
750
+	public function increase_usage($by = 1) {
751 751
 
752 752
 		$this->uses = $this->uses + $by;
753 753
 
754
-		if( $this->uses  < 0 ) {
754
+		if ($this->uses < 0) {
755 755
 			$this->uses = 0;
756
-			update_post_meta( $this->ID, "_wpi_discount_uses", 0 );
756
+			update_post_meta($this->ID, "_wpi_discount_uses", 0);
757 757
 		}
758 758
 
759 759
 		$this->save();
760 760
 
761
-		if( $by > 0 ) {
762
-			do_action( 'wpinv_discount_increase_use_count', $this->uses, $this->ID, $this->code, $by );
761
+		if ($by > 0) {
762
+			do_action('wpinv_discount_increase_use_count', $this->uses, $this->ID, $this->code, $by);
763 763
 		} else {
764
-			do_action( 'wpinv_discount_decrease_use_count', $this->uses, $this->ID, $this->code, absint( $by ) );
764
+			do_action('wpinv_discount_decrease_use_count', $this->uses, $this->ID, $this->code, absint($by));
765 765
 		}
766 766
 		
767 767
 		return $this->uses;
@@ -775,8 +775,8 @@  discard block
 block discarded – undo
775 775
 	 */
776 776
 	public function get_data() {
777 777
 		$return = array();
778
-		foreach( array_keys( $this->data ) as $key ) {
779
-			$return[ $key ] = $this->get( $key );
778
+		foreach (array_keys($this->data) as $key) {
779
+			$return[$key] = $this->get($key);
780 780
 		}
781 781
 		return $return;
782 782
 	}
@@ -788,7 +788,7 @@  discard block
 block discarded – undo
788 788
 	 * @return string|false
789 789
 	 */
790 790
 	public function get_data_as_json() {
791
-		return wp_json_encode( $this->get_data() );
791
+		return wp_json_encode($this->get_data());
792 792
 	}
793 793
 
794 794
 	/**
@@ -798,7 +798,7 @@  discard block
 block discarded – undo
798 798
 	 * @return bool
799 799
 	 */
800 800
 	public function get_is_single_use() {
801
-		return (bool) apply_filters( 'wpinv_is_discount_single_use', $this->data['is_single_use'], $this->ID, $this, $this->code );
801
+		return (bool) apply_filters('wpinv_is_discount_single_use', $this->data['is_single_use'], $this->ID, $this, $this->code);
802 802
 	}
803 803
 
804 804
 	/**
@@ -808,7 +808,7 @@  discard block
 block discarded – undo
808 808
 	 * @return bool
809 809
 	 */
810 810
 	public function get_is_recurring() {
811
-		return (bool) apply_filters( 'wpinv_is_discount_recurring', $this->data['is_recurring'], $this->ID, $this->code, $this );
811
+		return (bool) apply_filters('wpinv_is_discount_recurring', $this->data['is_recurring'], $this->ID, $this->code, $this);
812 812
 	}
813 813
 
814 814
 	/**
@@ -818,7 +818,7 @@  discard block
 block discarded – undo
818 818
 	 * @return array
819 819
 	 */
820 820
 	public function get_items() {
821
-		return wpinv_parse_list( apply_filters( 'wpinv_get_discount_item_reqs', $this->data['items'], $this->ID, $this, $this->code ) );
821
+		return wpinv_parse_list(apply_filters('wpinv_get_discount_item_reqs', $this->data['items'], $this->ID, $this, $this->code));
822 822
 	}
823 823
 
824 824
 	/**
@@ -827,19 +827,19 @@  discard block
 block discarded – undo
827 827
 	 * @since 1.0.15
828 828
 	 * @return float
829 829
 	 */
830
-	public function get_discounted_amount( $amount ) {
830
+	public function get_discounted_amount($amount) {
831 831
 
832
-		if ( $this->type == 'flat' ) {
832
+		if ($this->type == 'flat') {
833 833
             $amount = $amount - $this->amount;
834 834
 		} else {
835
-            $amount = $amount - ( $amount * ( $this->amount / 100 ) );
835
+            $amount = $amount - ($amount * ($this->amount / 100));
836 836
 		}
837 837
 
838
-		if ( $amount < 0 ) {
838
+		if ($amount < 0) {
839 839
 			$amount = 0;
840 840
 		}
841 841
 
842
-		return apply_filters( 'wpinv_discounted_amount', $amount, $this->ID, $this, $this->code, $this->amount );
842
+		return apply_filters('wpinv_discounted_amount', $amount, $this->ID, $this, $this->code, $this->amount);
843 843
 	}
844 844
 	
845 845
 }
Please login to merge, or discard this patch.
includes/wpinv-helper-functions.php 1 patch
Spacing   +408 added lines, -408 removed lines patch added patch discarded remove patch
@@ -7,132 +7,132 @@  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_item_quantities_enabled() {
15
-    $ret = wpinv_get_option( 'item_quantities', true );
15
+    $ret = wpinv_get_option('item_quantities', true);
16 16
 
17
-    return (bool) apply_filters( 'wpinv_item_quantities_enabled', $ret );
17
+    return (bool) apply_filters('wpinv_item_quantities_enabled', $ret);
18 18
 }
19 19
 
20 20
 function wpinv_get_ip() {
21 21
     $ip = '127.0.0.1';
22 22
 
23
-    if ( !empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
24
-        $ip = sanitize_text_field( $_SERVER['HTTP_CLIENT_IP'] );
25
-    } elseif ( !empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
26
-        $ip = sanitize_text_field( $_SERVER['HTTP_X_FORWARDED_FOR'] );
27
-    } elseif( !empty( $_SERVER['REMOTE_ADDR'] ) ) {
28
-        $ip = sanitize_text_field( $_SERVER['REMOTE_ADDR'] );
23
+    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
24
+        $ip = sanitize_text_field($_SERVER['HTTP_CLIENT_IP']);
25
+    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
26
+        $ip = sanitize_text_field($_SERVER['HTTP_X_FORWARDED_FOR']);
27
+    } elseif (!empty($_SERVER['REMOTE_ADDR'])) {
28
+        $ip = sanitize_text_field($_SERVER['REMOTE_ADDR']);
29 29
     }
30 30
 
31
-    return apply_filters( 'wpinv_get_ip', $ip );
31
+    return apply_filters('wpinv_get_ip', $ip);
32 32
 }
33 33
 
34 34
 function wpinv_get_user_agent() {
35
-    if ( ! empty( $_SERVER['HTTP_USER_AGENT'] ) ) {
36
-        $user_agent = sanitize_text_field( $_SERVER['HTTP_USER_AGENT'] );
35
+    if (!empty($_SERVER['HTTP_USER_AGENT'])) {
36
+        $user_agent = sanitize_text_field($_SERVER['HTTP_USER_AGENT']);
37 37
     } else {
38 38
         $user_agent = '';
39 39
     }
40 40
 
41
-    return apply_filters( 'wpinv_get_user_agent', $user_agent );
41
+    return apply_filters('wpinv_get_user_agent', $user_agent);
42 42
 }
43 43
 
44
-function wpinv_sanitize_amount( $amount, $decimals = NULL ) {
44
+function wpinv_sanitize_amount($amount, $decimals = NULL) {
45 45
     $is_negative   = false;
46 46
     $thousands_sep = wpinv_thousands_separator();
47 47
     $decimal_sep   = wpinv_decimal_separator();
48
-    if ( $decimals === NULL ) {
48
+    if ($decimals === NULL) {
49 49
         $decimals = wpinv_decimals();
50 50
     }
51 51
 
52 52
     // Sanitize the amount
53
-    if ( $decimal_sep == ',' && false !== ( $found = strpos( $amount, $decimal_sep ) ) ) {
54
-        if ( ( $thousands_sep == '.' || $thousands_sep == ' ' ) && false !== ( $found = strpos( $amount, $thousands_sep ) ) ) {
55
-            $amount = str_replace( $thousands_sep, '', $amount );
56
-        } elseif( empty( $thousands_sep ) && false !== ( $found = strpos( $amount, '.' ) ) ) {
57
-            $amount = str_replace( '.', '', $amount );
53
+    if ($decimal_sep == ',' && false !== ($found = strpos($amount, $decimal_sep))) {
54
+        if (($thousands_sep == '.' || $thousands_sep == ' ') && false !== ($found = strpos($amount, $thousands_sep))) {
55
+            $amount = str_replace($thousands_sep, '', $amount);
56
+        } elseif (empty($thousands_sep) && false !== ($found = strpos($amount, '.'))) {
57
+            $amount = str_replace('.', '', $amount);
58 58
         }
59 59
 
60
-        $amount = str_replace( $decimal_sep, '.', $amount );
61
-    } elseif( $thousands_sep == ',' && false !== ( $found = strpos( $amount, $thousands_sep ) ) ) {
62
-        $amount = str_replace( $thousands_sep, '', $amount );
60
+        $amount = str_replace($decimal_sep, '.', $amount);
61
+    } elseif ($thousands_sep == ',' && false !== ($found = strpos($amount, $thousands_sep))) {
62
+        $amount = str_replace($thousands_sep, '', $amount);
63 63
     }
64 64
 
65
-    if( $amount < 0 ) {
65
+    if ($amount < 0) {
66 66
         $is_negative = true;
67 67
     }
68 68
 
69
-    $amount   = preg_replace( '/[^0-9\.]/', '', $amount );
69
+    $amount   = preg_replace('/[^0-9\.]/', '', $amount);
70 70
 
71
-    $decimals = apply_filters( 'wpinv_sanitize_amount_decimals', absint( $decimals ), $amount );
72
-    $amount   = number_format( (double) $amount, absint( $decimals ), '.', '' );
71
+    $decimals = apply_filters('wpinv_sanitize_amount_decimals', absint($decimals), $amount);
72
+    $amount   = number_format((double) $amount, absint($decimals), '.', '');
73 73
 
74
-    if( $is_negative ) {
74
+    if ($is_negative) {
75 75
         $amount *= -1;
76 76
     }
77 77
 
78
-    return apply_filters( 'wpinv_sanitize_amount', $amount, $decimals );
78
+    return apply_filters('wpinv_sanitize_amount', $amount, $decimals);
79 79
 }
80
-add_filter( 'wpinv_sanitize_amount_decimals', 'wpinv_currency_decimal_filter', 10, 1 );
80
+add_filter('wpinv_sanitize_amount_decimals', 'wpinv_currency_decimal_filter', 10, 1);
81 81
 
82
-function wpinv_round_amount( $amount, $decimals = NULL ) {
83
-    if ( $decimals === NULL ) {
82
+function wpinv_round_amount($amount, $decimals = NULL) {
83
+    if ($decimals === NULL) {
84 84
         $decimals = wpinv_decimals();
85 85
     }
86 86
     
87
-    $amount = round( (double)$amount, wpinv_currency_decimal_filter( absint( $decimals ) ) );
87
+    $amount = round((double) $amount, wpinv_currency_decimal_filter(absint($decimals)));
88 88
 
89
-    return apply_filters( 'wpinv_round_amount', $amount, $decimals );
89
+    return apply_filters('wpinv_round_amount', $amount, $decimals);
90 90
 }
91 91
 
92
-function wpinv_get_invoice_statuses( $draft = false, $trashed = false, $invoice = false ) {
92
+function wpinv_get_invoice_statuses($draft = false, $trashed = false, $invoice = false) {
93 93
     global $post;
94 94
 
95 95
     $invoice_statuses = array(
96
-        'wpi-pending' => __( 'Pending Payment', 'invoicing' ),
97
-        'publish' => __( 'Paid', 'invoicing'),
98
-        'wpi-processing' => __( 'Processing', 'invoicing' ),
99
-        'wpi-onhold' => __( 'On Hold', 'invoicing' ),
100
-        'wpi-refunded' => __( 'Refunded', 'invoicing' ),
101
-        'wpi-cancelled' => __( 'Cancelled', 'invoicing' ),
102
-        'wpi-failed' => __( 'Failed', 'invoicing' ),
103
-        'wpi-renewal' => __( 'Renewal Payment', 'invoicing' )
96
+        'wpi-pending' => __('Pending Payment', 'invoicing'),
97
+        'publish' => __('Paid', 'invoicing'),
98
+        'wpi-processing' => __('Processing', 'invoicing'),
99
+        'wpi-onhold' => __('On Hold', 'invoicing'),
100
+        'wpi-refunded' => __('Refunded', 'invoicing'),
101
+        'wpi-cancelled' => __('Cancelled', 'invoicing'),
102
+        'wpi-failed' => __('Failed', 'invoicing'),
103
+        'wpi-renewal' => __('Renewal Payment', 'invoicing')
104 104
     );
105 105
 
106
-    if ( $draft ) {
107
-        $invoice_statuses['draft'] = __( 'Draft', 'invoicing' );
106
+    if ($draft) {
107
+        $invoice_statuses['draft'] = __('Draft', 'invoicing');
108 108
     }
109 109
 
110
-    if ( $trashed ) {
111
-        $invoice_statuses['trash'] = __( 'Trash', 'invoicing' );
110
+    if ($trashed) {
111
+        $invoice_statuses['trash'] = __('Trash', 'invoicing');
112 112
     }
113 113
 
114
-    return apply_filters( 'wpinv_statuses', $invoice_statuses, $invoice );
114
+    return apply_filters('wpinv_statuses', $invoice_statuses, $invoice);
115 115
 }
116 116
 
117
-function wpinv_status_nicename( $status ) {
118
-    $statuses = wpinv_get_invoice_statuses( true, true );
119
-    $status   = isset( $statuses[$status] ) ? $statuses[$status] : __( $status, 'invoicing' );
117
+function wpinv_status_nicename($status) {
118
+    $statuses = wpinv_get_invoice_statuses(true, true);
119
+    $status   = isset($statuses[$status]) ? $statuses[$status] : __($status, 'invoicing');
120 120
 
121 121
     return $status;
122 122
 }
123 123
 
124 124
 function wpinv_get_currency() {
125
-    $currency = wpinv_get_option( 'currency', 'USD' );
125
+    $currency = wpinv_get_option('currency', 'USD');
126 126
     
127
-    return apply_filters( 'wpinv_currency', $currency );
127
+    return apply_filters('wpinv_currency', $currency);
128 128
 }
129 129
 
130
-function wpinv_currency_symbol( $currency = '' ) {
131
-    if ( empty( $currency ) ) {
130
+function wpinv_currency_symbol($currency = '') {
131
+    if (empty($currency)) {
132 132
         $currency = wpinv_get_currency();
133 133
     }
134 134
     
135
-    $symbols = apply_filters( 'wpinv_currency_symbols', array(
135
+    $symbols = apply_filters('wpinv_currency_symbols', array(
136 136
         'AED' => '&#x62f;.&#x625;',
137 137
         'AFN' => '&#x60b;',
138 138
         'ALL' => 'L',
@@ -295,209 +295,209 @@  discard block
 block discarded – undo
295 295
         'YER' => '&#xfdfc;',
296 296
         'ZAR' => '&#82;',
297 297
         'ZMW' => 'ZK',
298
-    ) );
298
+    ));
299 299
 
300
-    $currency_symbol = isset( $symbols[$currency] ) ? $symbols[$currency] : $currency;
300
+    $currency_symbol = isset($symbols[$currency]) ? $symbols[$currency] : $currency;
301 301
 
302
-    return apply_filters( 'wpinv_currency_symbol', $currency_symbol, $currency );
302
+    return apply_filters('wpinv_currency_symbol', $currency_symbol, $currency);
303 303
 }
304 304
 
305 305
 function wpinv_currency_position() {
306
-    $position = wpinv_get_option( 'currency_position', 'left' );
306
+    $position = wpinv_get_option('currency_position', 'left');
307 307
     
308
-    return apply_filters( 'wpinv_currency_position', $position );
308
+    return apply_filters('wpinv_currency_position', $position);
309 309
 }
310 310
 
311 311
 function wpinv_thousands_separator() {
312
-    $thousand_sep = wpinv_get_option( 'thousands_separator', ',' );
312
+    $thousand_sep = wpinv_get_option('thousands_separator', ',');
313 313
     
314
-    return apply_filters( 'wpinv_thousands_separator', $thousand_sep );
314
+    return apply_filters('wpinv_thousands_separator', $thousand_sep);
315 315
 }
316 316
 
317 317
 function wpinv_decimal_separator() {
318
-    $decimal_sep = wpinv_get_option( 'decimal_separator', '.' );
318
+    $decimal_sep = wpinv_get_option('decimal_separator', '.');
319 319
     
320
-    return apply_filters( 'wpinv_decimal_separator', $decimal_sep );
320
+    return apply_filters('wpinv_decimal_separator', $decimal_sep);
321 321
 }
322 322
 
323 323
 function wpinv_decimals() {
324
-    $decimals = apply_filters( 'wpinv_decimals', wpinv_get_option( 'decimals', 2 ) );
324
+    $decimals = apply_filters('wpinv_decimals', wpinv_get_option('decimals', 2));
325 325
     
326
-    return absint( $decimals );
326
+    return absint($decimals);
327 327
 }
328 328
 
329 329
 function wpinv_get_currencies() {
330 330
     $currencies = array(
331
-        'USD' => __( 'US Dollar', 'invoicing' ),
332
-        'EUR' => __( 'Euro', 'invoicing' ),
333
-        'GBP' => __( 'Pound Sterling', 'invoicing' ),
334
-        'AED' => __( 'United Arab Emirates', 'invoicing' ),
335
-        'AFN' => __( 'Afghan Afghani', 'invoicing' ),
336
-        'ALL' => __( 'Albanian Lek', 'invoicing' ),
337
-        'AMD' => __( 'Armenian Dram', 'invoicing' ),
338
-        'ANG' => __( 'Netherlands Antillean Guilder', 'invoicing' ),
339
-        'AOA' => __( 'Angolan Kwanza', 'invoicing' ),
340
-        'ARS' => __( 'Argentine Peso', 'invoicing' ),
341
-        'AUD' => __( 'Australian Dollar', 'invoicing' ),
342
-        'AWG' => __( 'Aruban Florin', 'invoicing' ),
343
-        'AZN' => __( 'Azerbaijani Manat', 'invoicing' ),
344
-        'BAM' => __( 'Bosnia and Herzegovina Convertible Marka', 'invoicing' ),
345
-        'BBD' => __( 'Barbadian Dollar', 'invoicing' ),
346
-        'BDT' => __( 'Bangladeshi Taka', 'invoicing' ),
347
-        'BGN' => __( 'Bulgarian Lev', 'invoicing' ),
348
-        'BHD' => __( 'Bahraini Dinar', 'invoicing' ),
349
-        'BIF' => __( 'Burundian Franc', 'invoicing' ),
350
-        'BMD' => __( 'Bermudian Dollar', 'invoicing' ),
351
-        'BND' => __( 'Brunei Dollar', 'invoicing' ),
352
-        'BOB' => __( 'Bolivian Boliviano', 'invoicing' ),
353
-        'BRL' => __( 'Brazilian Real', 'invoicing' ),
354
-        'BSD' => __( 'Bahamian Dollar', 'invoicing' ),
355
-        'BTC' => __( 'Bitcoin', 'invoicing' ),
356
-        'BTN' => __( 'Bhutanese Ngultrum', 'invoicing' ),
357
-        'BWP' => __( 'Botswana Pula', 'invoicing' ),
358
-        'BYN' => __( 'Belarusian Ruble', 'invoicing' ),
359
-        'BZD' => __( 'Belize Dollar', 'invoicing' ),
360
-        'CAD' => __( 'Canadian Dollar', 'invoicing' ),
361
-        'CDF' => __( 'Congolese Franc', 'invoicing' ),
362
-        'CHF' => __( 'Swiss Franc', 'invoicing' ),
363
-        'CLP' => __( 'Chilean Peso', 'invoicing' ),
364
-        'CNY' => __( 'Chinese Yuan', 'invoicing' ),
365
-        'COP' => __( 'Colombian Peso', 'invoicing' ),
366
-        'CRC' => __( 'Costa Rican Colon', 'invoicing' ),
367
-        'CUC' => __( 'Cuban Convertible Peso', 'invoicing' ),
368
-        'CUP' => __( 'Cuban Peso', 'invoicing' ),
369
-        'CVE' => __( 'Cape Verdean escudo', 'invoicing' ),
370
-        'CZK' => __( 'Czech Koruna', 'invoicing' ),
371
-        'DJF' => __( 'Djiboutian Franc', 'invoicing' ),
372
-        'DKK' => __( 'Danish Krone', 'invoicing' ),
373
-        'DOP' => __( 'Dominican Peso', 'invoicing' ),
374
-        'DZD' => __( 'Algerian Dinar', 'invoicing' ),
375
-        'EGP' => __( 'Egyptian Pound', 'invoicing' ),
376
-        'ERN' => __( 'Eritrean Nakfa', 'invoicing' ),
377
-        'ETB' => __( 'Ethiopian Irr', 'invoicing' ),
378
-        'FJD' => __( 'Fijian Dollar', 'invoicing' ),
379
-        'FKP' => __( 'Falkland Islands Pound', 'invoicing' ),
380
-        'GEL' => __( 'Georgian Lari', 'invoicing' ),
381
-        'GGP' => __( 'Guernsey Pound', 'invoicing' ),
382
-        'GHS' => __( 'Ghana Cedi', 'invoicing' ),
383
-        'GIP' => __( 'Gibraltar Pound', 'invoicing' ),
384
-        'GMD' => __( 'Gambian Dalasi', 'invoicing' ),
385
-        'GNF' => __( 'Guinean Franc', 'invoicing' ),
386
-        'GTQ' => __( 'Guatemalan Quetzal', 'invoicing' ),
387
-        'GYD' => __( 'Guyanese Dollar', 'invoicing' ),
388
-        'HKD' => __( 'Hong Kong Dollar', 'invoicing' ),
389
-        'HNL' => __( 'Honduran Lempira', 'invoicing' ),
390
-        'HRK' => __( 'Croatian Kuna', 'invoicing' ),
391
-        'HTG' => __( 'Haitian Gourde', 'invoicing' ),
392
-        'HUF' => __( 'Hungarian Forint', 'invoicing' ),
393
-        'IDR' => __( 'Indonesian Rupiah', 'invoicing' ),
394
-        'ILS' => __( 'Israeli New Shekel', 'invoicing' ),
395
-        'IMP' => __( 'Manx Pound', 'invoicing' ),
396
-        'INR' => __( 'Indian Rupee', 'invoicing' ),
397
-        'IQD' => __( 'Iraqi Dinar', 'invoicing' ),
398
-        'IRR' => __( 'Iranian Rial', 'invoicing' ),
399
-        'IRT' => __( 'Iranian Toman', 'invoicing' ),
400
-        'ISK' => __( 'Icelandic Krona', 'invoicing' ),
401
-        'JEP' => __( 'Jersey Pound', 'invoicing' ),
402
-        'JMD' => __( 'Jamaican Dollar', 'invoicing' ),
403
-        'JOD' => __( 'Jordanian Dinar', 'invoicing' ),
404
-        'JPY' => __( 'Japanese Yen', 'invoicing' ),
405
-        'KES' => __( 'Kenyan Shilling', 'invoicing' ),
406
-        'KGS' => __( 'Kyrgyzstani Som', 'invoicing' ),
407
-        'KHR' => __( 'Cambodian Riel', 'invoicing' ),
408
-        'KMF' => __( 'Comorian Franc', 'invoicing' ),
409
-        'KPW' => __( 'North Korean Won', 'invoicing' ),
410
-        'KRW' => __( 'South Korean Won', 'invoicing' ),
411
-        'KWD' => __( 'Kuwaiti Dinar', 'invoicing' ),
412
-        'KYD' => __( 'Cayman Islands Dollar', 'invoicing' ),
413
-        'KZT' => __( 'Kazakhstani Tenge', 'invoicing' ),
414
-        'LAK' => __( 'Lao Kip', 'invoicing' ),
415
-        'LBP' => __( 'Lebanese Pound', 'invoicing' ),
416
-        'LKR' => __( 'Sri Lankan Rupee', 'invoicing' ),
417
-        'LRD' => __( 'Liberian Dollar', 'invoicing' ),
418
-        'LSL' => __( 'Lesotho Loti', 'invoicing' ),
419
-        'LYD' => __( 'Libyan Dinar', 'invoicing' ),
420
-        'MAD' => __( 'Moroccan Dirham', 'invoicing' ),
421
-        'MDL' => __( 'Moldovan Leu', 'invoicing' ),
422
-        'MGA' => __( 'Malagasy Ariary', 'invoicing' ),
423
-        'MKD' => __( 'Macedonian Denar', 'invoicing' ),
424
-        'MMK' => __( 'Burmese Kyat', 'invoicing' ),
425
-        'MNT' => __( 'Mongolian Tughrik', 'invoicing' ),
426
-        'MOP' => __( 'Macanese Pataca', 'invoicing' ),
427
-        'MRO' => __( 'Mauritanian Ouguiya', 'invoicing' ),
428
-        'MUR' => __( 'Mauritian Rupee', 'invoicing' ),
429
-        'MVR' => __( 'Maldivian Rufiyaa', 'invoicing' ),
430
-        'MWK' => __( 'Malawian Kwacha', 'invoicing' ),
431
-        'MXN' => __( 'Mexican Peso', 'invoicing' ),
432
-        'MYR' => __( 'Malaysian Ringgit', 'invoicing' ),
433
-        'MZN' => __( 'Mozambican Metical', 'invoicing' ),
434
-        'NAD' => __( 'Namibian Dollar', 'invoicing' ),
435
-        'NGN' => __( 'Nigerian Naira', 'invoicing' ),
436
-        'NIO' => __( 'Nicaraguan Cordoba', 'invoicing' ),
437
-        'NOK' => __( 'Norwegian Krone', 'invoicing' ),
438
-        'NPR' => __( 'Nepalese Rupee', 'invoicing' ),
439
-        'NZD' => __( 'New Zealand Dollar', 'invoicing' ),
440
-        'OMR' => __( 'Omani Rial', 'invoicing' ),
441
-        'PAB' => __( 'Panamanian Balboa', 'invoicing' ),
442
-        'PEN' => __( 'Peruvian Nuevo Sol', 'invoicing' ),
443
-        'PGK' => __( 'Papua New Guinean Kina', 'invoicing' ),
444
-        'PHP' => __( 'Philippine Peso', 'invoicing' ),
445
-        'PKR' => __( 'Pakistani Rupee', 'invoicing' ),
446
-        'PLN' => __( 'Polish Zloty', 'invoicing' ),
447
-        'PRB' => __( 'Transnistrian Ruble', 'invoicing' ),
448
-        'PYG' => __( 'Paraguayan Guarani', 'invoicing' ),
449
-        'QAR' => __( 'Qatari Riyal', 'invoicing' ),
450
-        'RON' => __( 'Romanian Leu', 'invoicing' ),
451
-        'RSD' => __( 'Serbian Dinar', 'invoicing' ),
452
-        'RUB' => __( 'Russian Ruble', 'invoicing' ),
453
-        'RWF' => __( 'Rwandan Franc', 'invoicing' ),
454
-        'SAR' => __( 'Saudi Riyal', 'invoicing' ),
455
-        'SBD' => __( 'Solomon Islands Dollar', 'invoicing' ),
456
-        'SCR' => __( 'Seychellois Rupee', 'invoicing' ),
457
-        'SDG' => __( 'Sudanese Pound', 'invoicing' ),
458
-        'SEK' => __( 'Swedish Krona', 'invoicing' ),
459
-        'SGD' => __( 'Singapore Dollar', 'invoicing' ),
460
-        'SHP' => __( 'Saint Helena Pound', 'invoicing' ),
461
-        'SLL' => __( 'Sierra Leonean Leone', 'invoicing' ),
462
-        'SOS' => __( 'Somali Shilling', 'invoicing' ),
463
-        'SRD' => __( 'Surinamese Dollar', 'invoicing' ),
464
-        'SSP' => __( 'South Sudanese Pound', 'invoicing' ),
465
-        'STD' => __( 'Sao Tomean Dobra', 'invoicing' ),
466
-        'SYP' => __( 'Syrian Pound', 'invoicing' ),
467
-        'SZL' => __( 'Swazi Lilangeni', 'invoicing' ),
468
-        'THB' => __( 'Thai Baht', 'invoicing' ),
469
-        'TJS' => __( 'Tajikistani Somoni', 'invoicing' ),
470
-        'TMT' => __( 'Turkmenistan Manat', 'invoicing' ),
471
-        'TND' => __( 'Tunisian Dinar', 'invoicing' ),
472
-        'TOP' => __( 'Tongan Pa&#x2bb;anga', 'invoicing' ),
473
-        'TRY' => __( 'Turkish Lira', 'invoicing' ),
474
-        'TTD' => __( 'Trinidad and Tobago Dollar', 'invoicing' ),
475
-        'TWD' => __( 'New Taiwan Dollar', 'invoicing' ),
476
-        'TZS' => __( 'Tanzanian Shilling', 'invoicing' ),
477
-        'UAH' => __( 'Ukrainian Hryvnia', 'invoicing' ),
478
-        'UGX' => __( 'Ugandan Shilling', 'invoicing' ),
479
-        'UYU' => __( 'Uruguayan Peso', 'invoicing' ),
480
-        'UZS' => __( 'Uzbekistani Som', 'invoicing' ),
481
-        'VEF' => __( 'Venezuelan Bol&iacute;var', 'invoicing' ),
482
-        'VND' => __( 'Vietnamese Dong', 'invoicing' ),
483
-        'VUV' => __( 'Vanuatu Vatu', 'invoicing' ),
484
-        'WST' => __( 'Samoan Tala', 'invoicing' ),
485
-        'XAF' => __( 'Central African CFA Franc', 'invoicing' ),
486
-        'XCD' => __( 'East Caribbean Dollar', 'invoicing' ),
487
-        'XOF' => __( 'West African CFA Franc', 'invoicing' ),
488
-        'XPF' => __( 'CFP Franc', 'invoicing' ),
489
-        'YER' => __( 'Yemeni Rial', 'invoicing' ),
490
-        'ZAR' => __( 'South African Rand', 'invoicing' ),
491
-        'ZMW' => __( 'Zambian Kwacha', 'invoicing' ),
331
+        'USD' => __('US Dollar', 'invoicing'),
332
+        'EUR' => __('Euro', 'invoicing'),
333
+        'GBP' => __('Pound Sterling', 'invoicing'),
334
+        'AED' => __('United Arab Emirates', 'invoicing'),
335
+        'AFN' => __('Afghan Afghani', 'invoicing'),
336
+        'ALL' => __('Albanian Lek', 'invoicing'),
337
+        'AMD' => __('Armenian Dram', 'invoicing'),
338
+        'ANG' => __('Netherlands Antillean Guilder', 'invoicing'),
339
+        'AOA' => __('Angolan Kwanza', 'invoicing'),
340
+        'ARS' => __('Argentine Peso', 'invoicing'),
341
+        'AUD' => __('Australian Dollar', 'invoicing'),
342
+        'AWG' => __('Aruban Florin', 'invoicing'),
343
+        'AZN' => __('Azerbaijani Manat', 'invoicing'),
344
+        'BAM' => __('Bosnia and Herzegovina Convertible Marka', 'invoicing'),
345
+        'BBD' => __('Barbadian Dollar', 'invoicing'),
346
+        'BDT' => __('Bangladeshi Taka', 'invoicing'),
347
+        'BGN' => __('Bulgarian Lev', 'invoicing'),
348
+        'BHD' => __('Bahraini Dinar', 'invoicing'),
349
+        'BIF' => __('Burundian Franc', 'invoicing'),
350
+        'BMD' => __('Bermudian Dollar', 'invoicing'),
351
+        'BND' => __('Brunei Dollar', 'invoicing'),
352
+        'BOB' => __('Bolivian Boliviano', 'invoicing'),
353
+        'BRL' => __('Brazilian Real', 'invoicing'),
354
+        'BSD' => __('Bahamian Dollar', 'invoicing'),
355
+        'BTC' => __('Bitcoin', 'invoicing'),
356
+        'BTN' => __('Bhutanese Ngultrum', 'invoicing'),
357
+        'BWP' => __('Botswana Pula', 'invoicing'),
358
+        'BYN' => __('Belarusian Ruble', 'invoicing'),
359
+        'BZD' => __('Belize Dollar', 'invoicing'),
360
+        'CAD' => __('Canadian Dollar', 'invoicing'),
361
+        'CDF' => __('Congolese Franc', 'invoicing'),
362
+        'CHF' => __('Swiss Franc', 'invoicing'),
363
+        'CLP' => __('Chilean Peso', 'invoicing'),
364
+        'CNY' => __('Chinese Yuan', 'invoicing'),
365
+        'COP' => __('Colombian Peso', 'invoicing'),
366
+        'CRC' => __('Costa Rican Colon', 'invoicing'),
367
+        'CUC' => __('Cuban Convertible Peso', 'invoicing'),
368
+        'CUP' => __('Cuban Peso', 'invoicing'),
369
+        'CVE' => __('Cape Verdean escudo', 'invoicing'),
370
+        'CZK' => __('Czech Koruna', 'invoicing'),
371
+        'DJF' => __('Djiboutian Franc', 'invoicing'),
372
+        'DKK' => __('Danish Krone', 'invoicing'),
373
+        'DOP' => __('Dominican Peso', 'invoicing'),
374
+        'DZD' => __('Algerian Dinar', 'invoicing'),
375
+        'EGP' => __('Egyptian Pound', 'invoicing'),
376
+        'ERN' => __('Eritrean Nakfa', 'invoicing'),
377
+        'ETB' => __('Ethiopian Irr', 'invoicing'),
378
+        'FJD' => __('Fijian Dollar', 'invoicing'),
379
+        'FKP' => __('Falkland Islands Pound', 'invoicing'),
380
+        'GEL' => __('Georgian Lari', 'invoicing'),
381
+        'GGP' => __('Guernsey Pound', 'invoicing'),
382
+        'GHS' => __('Ghana Cedi', 'invoicing'),
383
+        'GIP' => __('Gibraltar Pound', 'invoicing'),
384
+        'GMD' => __('Gambian Dalasi', 'invoicing'),
385
+        'GNF' => __('Guinean Franc', 'invoicing'),
386
+        'GTQ' => __('Guatemalan Quetzal', 'invoicing'),
387
+        'GYD' => __('Guyanese Dollar', 'invoicing'),
388
+        'HKD' => __('Hong Kong Dollar', 'invoicing'),
389
+        'HNL' => __('Honduran Lempira', 'invoicing'),
390
+        'HRK' => __('Croatian Kuna', 'invoicing'),
391
+        'HTG' => __('Haitian Gourde', 'invoicing'),
392
+        'HUF' => __('Hungarian Forint', 'invoicing'),
393
+        'IDR' => __('Indonesian Rupiah', 'invoicing'),
394
+        'ILS' => __('Israeli New Shekel', 'invoicing'),
395
+        'IMP' => __('Manx Pound', 'invoicing'),
396
+        'INR' => __('Indian Rupee', 'invoicing'),
397
+        'IQD' => __('Iraqi Dinar', 'invoicing'),
398
+        'IRR' => __('Iranian Rial', 'invoicing'),
399
+        'IRT' => __('Iranian Toman', 'invoicing'),
400
+        'ISK' => __('Icelandic Krona', 'invoicing'),
401
+        'JEP' => __('Jersey Pound', 'invoicing'),
402
+        'JMD' => __('Jamaican Dollar', 'invoicing'),
403
+        'JOD' => __('Jordanian Dinar', 'invoicing'),
404
+        'JPY' => __('Japanese Yen', 'invoicing'),
405
+        'KES' => __('Kenyan Shilling', 'invoicing'),
406
+        'KGS' => __('Kyrgyzstani Som', 'invoicing'),
407
+        'KHR' => __('Cambodian Riel', 'invoicing'),
408
+        'KMF' => __('Comorian Franc', 'invoicing'),
409
+        'KPW' => __('North Korean Won', 'invoicing'),
410
+        'KRW' => __('South Korean Won', 'invoicing'),
411
+        'KWD' => __('Kuwaiti Dinar', 'invoicing'),
412
+        'KYD' => __('Cayman Islands Dollar', 'invoicing'),
413
+        'KZT' => __('Kazakhstani Tenge', 'invoicing'),
414
+        'LAK' => __('Lao Kip', 'invoicing'),
415
+        'LBP' => __('Lebanese Pound', 'invoicing'),
416
+        'LKR' => __('Sri Lankan Rupee', 'invoicing'),
417
+        'LRD' => __('Liberian Dollar', 'invoicing'),
418
+        'LSL' => __('Lesotho Loti', 'invoicing'),
419
+        'LYD' => __('Libyan Dinar', 'invoicing'),
420
+        'MAD' => __('Moroccan Dirham', 'invoicing'),
421
+        'MDL' => __('Moldovan Leu', 'invoicing'),
422
+        'MGA' => __('Malagasy Ariary', 'invoicing'),
423
+        'MKD' => __('Macedonian Denar', 'invoicing'),
424
+        'MMK' => __('Burmese Kyat', 'invoicing'),
425
+        'MNT' => __('Mongolian Tughrik', 'invoicing'),
426
+        'MOP' => __('Macanese Pataca', 'invoicing'),
427
+        'MRO' => __('Mauritanian Ouguiya', 'invoicing'),
428
+        'MUR' => __('Mauritian Rupee', 'invoicing'),
429
+        'MVR' => __('Maldivian Rufiyaa', 'invoicing'),
430
+        'MWK' => __('Malawian Kwacha', 'invoicing'),
431
+        'MXN' => __('Mexican Peso', 'invoicing'),
432
+        'MYR' => __('Malaysian Ringgit', 'invoicing'),
433
+        'MZN' => __('Mozambican Metical', 'invoicing'),
434
+        'NAD' => __('Namibian Dollar', 'invoicing'),
435
+        'NGN' => __('Nigerian Naira', 'invoicing'),
436
+        'NIO' => __('Nicaraguan Cordoba', 'invoicing'),
437
+        'NOK' => __('Norwegian Krone', 'invoicing'),
438
+        'NPR' => __('Nepalese Rupee', 'invoicing'),
439
+        'NZD' => __('New Zealand Dollar', 'invoicing'),
440
+        'OMR' => __('Omani Rial', 'invoicing'),
441
+        'PAB' => __('Panamanian Balboa', 'invoicing'),
442
+        'PEN' => __('Peruvian Nuevo Sol', 'invoicing'),
443
+        'PGK' => __('Papua New Guinean Kina', 'invoicing'),
444
+        'PHP' => __('Philippine Peso', 'invoicing'),
445
+        'PKR' => __('Pakistani Rupee', 'invoicing'),
446
+        'PLN' => __('Polish Zloty', 'invoicing'),
447
+        'PRB' => __('Transnistrian Ruble', 'invoicing'),
448
+        'PYG' => __('Paraguayan Guarani', 'invoicing'),
449
+        'QAR' => __('Qatari Riyal', 'invoicing'),
450
+        'RON' => __('Romanian Leu', 'invoicing'),
451
+        'RSD' => __('Serbian Dinar', 'invoicing'),
452
+        'RUB' => __('Russian Ruble', 'invoicing'),
453
+        'RWF' => __('Rwandan Franc', 'invoicing'),
454
+        'SAR' => __('Saudi Riyal', 'invoicing'),
455
+        'SBD' => __('Solomon Islands Dollar', 'invoicing'),
456
+        'SCR' => __('Seychellois Rupee', 'invoicing'),
457
+        'SDG' => __('Sudanese Pound', 'invoicing'),
458
+        'SEK' => __('Swedish Krona', 'invoicing'),
459
+        'SGD' => __('Singapore Dollar', 'invoicing'),
460
+        'SHP' => __('Saint Helena Pound', 'invoicing'),
461
+        'SLL' => __('Sierra Leonean Leone', 'invoicing'),
462
+        'SOS' => __('Somali Shilling', 'invoicing'),
463
+        'SRD' => __('Surinamese Dollar', 'invoicing'),
464
+        'SSP' => __('South Sudanese Pound', 'invoicing'),
465
+        'STD' => __('Sao Tomean Dobra', 'invoicing'),
466
+        'SYP' => __('Syrian Pound', 'invoicing'),
467
+        'SZL' => __('Swazi Lilangeni', 'invoicing'),
468
+        'THB' => __('Thai Baht', 'invoicing'),
469
+        'TJS' => __('Tajikistani Somoni', 'invoicing'),
470
+        'TMT' => __('Turkmenistan Manat', 'invoicing'),
471
+        'TND' => __('Tunisian Dinar', 'invoicing'),
472
+        'TOP' => __('Tongan Pa&#x2bb;anga', 'invoicing'),
473
+        'TRY' => __('Turkish Lira', 'invoicing'),
474
+        'TTD' => __('Trinidad and Tobago Dollar', 'invoicing'),
475
+        'TWD' => __('New Taiwan Dollar', 'invoicing'),
476
+        'TZS' => __('Tanzanian Shilling', 'invoicing'),
477
+        'UAH' => __('Ukrainian Hryvnia', 'invoicing'),
478
+        'UGX' => __('Ugandan Shilling', 'invoicing'),
479
+        'UYU' => __('Uruguayan Peso', 'invoicing'),
480
+        'UZS' => __('Uzbekistani Som', 'invoicing'),
481
+        'VEF' => __('Venezuelan Bol&iacute;var', 'invoicing'),
482
+        'VND' => __('Vietnamese Dong', 'invoicing'),
483
+        'VUV' => __('Vanuatu Vatu', 'invoicing'),
484
+        'WST' => __('Samoan Tala', 'invoicing'),
485
+        'XAF' => __('Central African CFA Franc', 'invoicing'),
486
+        'XCD' => __('East Caribbean Dollar', 'invoicing'),
487
+        'XOF' => __('West African CFA Franc', 'invoicing'),
488
+        'XPF' => __('CFP Franc', 'invoicing'),
489
+        'YER' => __('Yemeni Rial', 'invoicing'),
490
+        'ZAR' => __('South African Rand', 'invoicing'),
491
+        'ZMW' => __('Zambian Kwacha', 'invoicing'),
492 492
     );
493 493
     
494 494
     //asort( $currencies ); // this
495 495
 
496
-    return apply_filters( 'wpinv_currencies', $currencies );
496
+    return apply_filters('wpinv_currencies', $currencies);
497 497
 }
498 498
 
499
-function wpinv_price( $amount = '', $currency = '' ) {
500
-    if( empty( $currency ) ) {
499
+function wpinv_price($amount = '', $currency = '') {
500
+    if (empty($currency)) {
501 501
         $currency = wpinv_get_currency();
502 502
     }
503 503
 
@@ -505,14 +505,14 @@  discard block
 block discarded – undo
505 505
 
506 506
     $negative = $amount < 0;
507 507
 
508
-    if ( $negative ) {
509
-        $amount = substr( $amount, 1 );
508
+    if ($negative) {
509
+        $amount = substr($amount, 1);
510 510
     }
511 511
 
512
-    $symbol = wpinv_currency_symbol( $currency );
512
+    $symbol = wpinv_currency_symbol($currency);
513 513
 
514
-    if ( $position == 'left' || $position == 'left_space' ) {
515
-        switch ( $currency ) {
514
+    if ($position == 'left' || $position == 'left_space') {
515
+        switch ($currency) {
516 516
             case "GBP" :
517 517
             case "BRL" :
518 518
             case "EUR" :
@@ -524,15 +524,15 @@  discard block
 block discarded – undo
524 524
             case "NZD" :
525 525
             case "SGD" :
526 526
             case "JPY" :
527
-                $price = $position == 'left_space' ? $symbol . ' ' .  $amount : $symbol . $amount;
527
+                $price = $position == 'left_space' ? $symbol . ' ' . $amount : $symbol . $amount;
528 528
                 break;
529 529
             default :
530 530
                 //$price = $currency . ' ' . $amount;
531
-                $price = $position == 'left_space' ? $symbol . ' ' .  $amount : $symbol . $amount;
531
+                $price = $position == 'left_space' ? $symbol . ' ' . $amount : $symbol . $amount;
532 532
                 break;
533 533
         }
534 534
     } else {
535
-        switch ( $currency ) {
535
+        switch ($currency) {
536 536
             case "GBP" :
537 537
             case "BRL" :
538 538
             case "EUR" :
@@ -543,83 +543,83 @@  discard block
 block discarded – undo
543 543
             case "MXN" :
544 544
             case "SGD" :
545 545
             case "JPY" :
546
-                $price = $position == 'right_space' ? $amount . ' ' .  $symbol : $amount . $symbol;
546
+                $price = $position == 'right_space' ? $amount . ' ' . $symbol : $amount . $symbol;
547 547
                 break;
548 548
             default :
549 549
                 //$price = $amount . ' ' . $currency;
550
-                $price = $position == 'right_space' ? $amount . ' ' .  $symbol : $amount . $symbol;
550
+                $price = $position == 'right_space' ? $amount . ' ' . $symbol : $amount . $symbol;
551 551
                 break;
552 552
         }
553 553
     }
554 554
     
555
-    if ( $negative ) {
555
+    if ($negative) {
556 556
         $price = '-' . $price;
557 557
     }
558 558
     
559
-    $price = apply_filters( 'wpinv_' . strtolower( $currency ) . '_currency_filter_' . $position, $price, $currency, $amount );
559
+    $price = apply_filters('wpinv_' . strtolower($currency) . '_currency_filter_' . $position, $price, $currency, $amount);
560 560
 
561 561
     return $price;
562 562
 }
563 563
 
564
-function wpinv_format_amount( $amount, $decimals = NULL, $calculate = false ) {
564
+function wpinv_format_amount($amount, $decimals = NULL, $calculate = false) {
565 565
     $thousands_sep = wpinv_thousands_separator();
566 566
     $decimal_sep   = wpinv_decimal_separator();
567 567
 
568
-    if ( $decimals === NULL ) {
568
+    if ($decimals === NULL) {
569 569
         $decimals = wpinv_decimals();
570 570
     }
571 571
 
572
-    if ( $decimal_sep == ',' && false !== ( $sep_found = strpos( $amount, $decimal_sep ) ) ) {
573
-        $whole = substr( $amount, 0, $sep_found );
574
-        $part = substr( $amount, $sep_found + 1, ( strlen( $amount ) - 1 ) );
572
+    if ($decimal_sep == ',' && false !== ($sep_found = strpos($amount, $decimal_sep))) {
573
+        $whole = substr($amount, 0, $sep_found);
574
+        $part = substr($amount, $sep_found + 1, (strlen($amount) - 1));
575 575
         $amount = $whole . '.' . $part;
576 576
     }
577 577
 
578
-    if ( $thousands_sep == ',' && false !== ( $found = strpos( $amount, $thousands_sep ) ) ) {
579
-        $amount = str_replace( ',', '', $amount );
578
+    if ($thousands_sep == ',' && false !== ($found = strpos($amount, $thousands_sep))) {
579
+        $amount = str_replace(',', '', $amount);
580 580
     }
581 581
 
582
-    if ( $thousands_sep == ' ' && false !== ( $found = strpos( $amount, $thousands_sep ) ) ) {
583
-        $amount = str_replace( ' ', '', $amount );
582
+    if ($thousands_sep == ' ' && false !== ($found = strpos($amount, $thousands_sep))) {
583
+        $amount = str_replace(' ', '', $amount);
584 584
     }
585 585
 
586
-    if ( empty( $amount ) ) {
586
+    if (empty($amount)) {
587 587
         $amount = 0;
588 588
     }
589 589
     
590
-    $decimals  = apply_filters( 'wpinv_amount_format_decimals', $decimals ? $decimals : 0, $amount, $calculate );
591
-    $formatted = number_format( (float)$amount, $decimals, $decimal_sep, $thousands_sep );
590
+    $decimals  = apply_filters('wpinv_amount_format_decimals', $decimals ? $decimals : 0, $amount, $calculate);
591
+    $formatted = number_format((float) $amount, $decimals, $decimal_sep, $thousands_sep);
592 592
     
593
-    if ( $calculate ) {
594
-        if ( $thousands_sep === "," ) {
595
-            $formatted = str_replace( ",", "", $formatted );
593
+    if ($calculate) {
594
+        if ($thousands_sep === ",") {
595
+            $formatted = str_replace(",", "", $formatted);
596 596
         }
597 597
         
598
-        if ( $decimal_sep === "," ) {
599
-            $formatted = str_replace( ",", ".", $formatted );
598
+        if ($decimal_sep === ",") {
599
+            $formatted = str_replace(",", ".", $formatted);
600 600
         }
601 601
     }
602 602
 
603
-    return apply_filters( 'wpinv_amount_format', $formatted, $amount, $decimals, $decimal_sep, $thousands_sep, $calculate );
603
+    return apply_filters('wpinv_amount_format', $formatted, $amount, $decimals, $decimal_sep, $thousands_sep, $calculate);
604 604
 }
605
-add_filter( 'wpinv_amount_format_decimals', 'wpinv_currency_decimal_filter', 10, 1 );
605
+add_filter('wpinv_amount_format_decimals', 'wpinv_currency_decimal_filter', 10, 1);
606 606
 
607
-function wpinv_sanitize_key( $key ) {
607
+function wpinv_sanitize_key($key) {
608 608
     $raw_key = $key;
609
-    $key = preg_replace( '/[^a-zA-Z0-9_\-\.\:\/]/', '', $key );
609
+    $key = preg_replace('/[^a-zA-Z0-9_\-\.\:\/]/', '', $key);
610 610
 
611
-    return apply_filters( 'wpinv_sanitize_key', $key, $raw_key );
611
+    return apply_filters('wpinv_sanitize_key', $key, $raw_key);
612 612
 }
613 613
 
614
-function wpinv_get_file_extension( $str ) {
615
-    $parts = explode( '.', $str );
616
-    return end( $parts );
614
+function wpinv_get_file_extension($str) {
615
+    $parts = explode('.', $str);
616
+    return end($parts);
617 617
 }
618 618
 
619
-function wpinv_string_is_image_url( $str ) {
620
-    $ext = wpinv_get_file_extension( $str );
619
+function wpinv_string_is_image_url($str) {
620
+    $ext = wpinv_get_file_extension($str);
621 621
 
622
-    switch ( strtolower( $ext ) ) {
622
+    switch (strtolower($ext)) {
623 623
         case 'jpeg';
624 624
         case 'jpg';
625 625
             $return = true;
@@ -635,32 +635,32 @@  discard block
 block discarded – undo
635 635
             break;
636 636
     }
637 637
 
638
-    return (bool)apply_filters( 'wpinv_string_is_image', $return, $str );
638
+    return (bool) apply_filters('wpinv_string_is_image', $return, $str);
639 639
 }
640 640
 
641
-function wpinv_error_log( $log, $title = '', $file = '', $line = '', $exit = false ) {
642
-    $should_log = apply_filters( 'wpinv_log_errors', WP_DEBUG );
641
+function wpinv_error_log($log, $title = '', $file = '', $line = '', $exit = false) {
642
+    $should_log = apply_filters('wpinv_log_errors', WP_DEBUG);
643 643
     
644
-    if ( true === $should_log ) {
644
+    if (true === $should_log) {
645 645
         $label = '';
646
-        if ( $file && $file !== '' ) {
647
-            $label .= basename( $file ) . ( $line ? '(' . $line . ')' : '' );
646
+        if ($file && $file !== '') {
647
+            $label .= basename($file) . ($line ? '(' . $line . ')' : '');
648 648
         }
649 649
         
650
-        if ( $title && $title !== '' ) {
650
+        if ($title && $title !== '') {
651 651
             $label = $label !== '' ? $label . ' ' : '';
652 652
             $label .= $title . ' ';
653 653
         }
654 654
         
655
-        $label = $label !== '' ? trim( $label ) . ' : ' : '';
655
+        $label = $label !== '' ? trim($label) . ' : ' : '';
656 656
         
657
-        if ( is_array( $log ) || is_object( $log ) ) {
658
-            error_log( $label . print_r( $log, true ) );
657
+        if (is_array($log) || is_object($log)) {
658
+            error_log($label . print_r($log, true));
659 659
         } else {
660
-            error_log( $label . $log );
660
+            error_log($label . $log);
661 661
         }
662 662
         
663
-        if ( $exit ) {
663
+        if ($exit) {
664 664
             exit;
665 665
         }
666 666
     }
@@ -668,65 +668,65 @@  discard block
 block discarded – undo
668 668
 
669 669
 function wpinv_is_ajax_disabled() {
670 670
     $retval = false;
671
-    return apply_filters( 'wpinv_is_ajax_disabled', $retval );
671
+    return apply_filters('wpinv_is_ajax_disabled', $retval);
672 672
 }
673 673
 
674
-function wpinv_get_current_page_url( $nocache = false ) {
674
+function wpinv_get_current_page_url($nocache = false) {
675 675
     global $wp;
676 676
 
677
-    if ( get_option( 'permalink_structure' ) ) {
678
-        $base = trailingslashit( home_url( $wp->request ) );
677
+    if (get_option('permalink_structure')) {
678
+        $base = trailingslashit(home_url($wp->request));
679 679
     } else {
680
-        $base = add_query_arg( $wp->query_string, '', trailingslashit( home_url( $wp->request ) ) );
681
-        $base = remove_query_arg( array( 'post_type', 'name' ), $base );
680
+        $base = add_query_arg($wp->query_string, '', trailingslashit(home_url($wp->request)));
681
+        $base = remove_query_arg(array('post_type', 'name'), $base);
682 682
     }
683 683
 
684 684
     $scheme = is_ssl() ? 'https' : 'http';
685
-    $uri    = set_url_scheme( $base, $scheme );
685
+    $uri    = set_url_scheme($base, $scheme);
686 686
 
687
-    if ( is_front_page() ) {
688
-        $uri = home_url( '/' );
689
-    } elseif ( wpinv_is_checkout( array(), false ) ) {
687
+    if (is_front_page()) {
688
+        $uri = home_url('/');
689
+    } elseif (wpinv_is_checkout(array(), false)) {
690 690
         $uri = wpinv_get_checkout_uri();
691 691
     }
692 692
 
693
-    $uri = apply_filters( 'wpinv_get_current_page_url', $uri );
693
+    $uri = apply_filters('wpinv_get_current_page_url', $uri);
694 694
 
695
-    if ( $nocache ) {
696
-        $uri = wpinv_add_cache_busting( $uri );
695
+    if ($nocache) {
696
+        $uri = wpinv_add_cache_busting($uri);
697 697
     }
698 698
 
699 699
     return $uri;
700 700
 }
701 701
 
702 702
 function wpinv_get_php_arg_separator_output() {
703
-	return ini_get( 'arg_separator.output' );
703
+	return ini_get('arg_separator.output');
704 704
 }
705 705
 
706
-function wpinv_rgb_from_hex( $color ) {
707
-    $color = str_replace( '#', '', $color );
706
+function wpinv_rgb_from_hex($color) {
707
+    $color = str_replace('#', '', $color);
708 708
     // Convert shorthand colors to full format, e.g. "FFF" -> "FFFFFF"
709
-    $color = preg_replace( '~^(.)(.)(.)$~', '$1$1$2$2$3$3', $color );
709
+    $color = preg_replace('~^(.)(.)(.)$~', '$1$1$2$2$3$3', $color);
710 710
 
711 711
     $rgb      = array();
712
-    $rgb['R'] = hexdec( $color{0}.$color{1} );
713
-    $rgb['G'] = hexdec( $color{2}.$color{3} );
714
-    $rgb['B'] = hexdec( $color{4}.$color{5} );
712
+    $rgb['R'] = hexdec($color{0} . $color{1} );
713
+    $rgb['G'] = hexdec($color{2} . $color{3} );
714
+    $rgb['B'] = hexdec($color{4} . $color{5} );
715 715
 
716 716
     return $rgb;
717 717
 }
718 718
 
719
-function wpinv_hex_darker( $color, $factor = 30 ) {
720
-    $base  = wpinv_rgb_from_hex( $color );
719
+function wpinv_hex_darker($color, $factor = 30) {
720
+    $base  = wpinv_rgb_from_hex($color);
721 721
     $color = '#';
722 722
 
723
-    foreach ( $base as $k => $v ) {
723
+    foreach ($base as $k => $v) {
724 724
         $amount      = $v / 100;
725
-        $amount      = round( $amount * $factor );
725
+        $amount      = round($amount * $factor);
726 726
         $new_decimal = $v - $amount;
727 727
 
728
-        $new_hex_component = dechex( $new_decimal );
729
-        if ( strlen( $new_hex_component ) < 2 ) {
728
+        $new_hex_component = dechex($new_decimal);
729
+        if (strlen($new_hex_component) < 2) {
730 730
             $new_hex_component = "0" . $new_hex_component;
731 731
         }
732 732
         $color .= $new_hex_component;
@@ -735,18 +735,18 @@  discard block
 block discarded – undo
735 735
     return $color;
736 736
 }
737 737
 
738
-function wpinv_hex_lighter( $color, $factor = 30 ) {
739
-    $base  = wpinv_rgb_from_hex( $color );
738
+function wpinv_hex_lighter($color, $factor = 30) {
739
+    $base  = wpinv_rgb_from_hex($color);
740 740
     $color = '#';
741 741
 
742
-    foreach ( $base as $k => $v ) {
742
+    foreach ($base as $k => $v) {
743 743
         $amount      = 255 - $v;
744 744
         $amount      = $amount / 100;
745
-        $amount      = round( $amount * $factor );
745
+        $amount      = round($amount * $factor);
746 746
         $new_decimal = $v + $amount;
747 747
 
748
-        $new_hex_component = dechex( $new_decimal );
749
-        if ( strlen( $new_hex_component ) < 2 ) {
748
+        $new_hex_component = dechex($new_decimal);
749
+        if (strlen($new_hex_component) < 2) {
750 750
             $new_hex_component = "0" . $new_hex_component;
751 751
         }
752 752
         $color .= $new_hex_component;
@@ -755,22 +755,22 @@  discard block
 block discarded – undo
755 755
     return $color;
756 756
 }
757 757
 
758
-function wpinv_light_or_dark( $color, $dark = '#000000', $light = '#FFFFFF' ) {
759
-    $hex = str_replace( '#', '', $color );
758
+function wpinv_light_or_dark($color, $dark = '#000000', $light = '#FFFFFF') {
759
+    $hex = str_replace('#', '', $color);
760 760
 
761
-    $c_r = hexdec( substr( $hex, 0, 2 ) );
762
-    $c_g = hexdec( substr( $hex, 2, 2 ) );
763
-    $c_b = hexdec( substr( $hex, 4, 2 ) );
761
+    $c_r = hexdec(substr($hex, 0, 2));
762
+    $c_g = hexdec(substr($hex, 2, 2));
763
+    $c_b = hexdec(substr($hex, 4, 2));
764 764
 
765
-    $brightness = ( ( $c_r * 299 ) + ( $c_g * 587 ) + ( $c_b * 114 ) ) / 1000;
765
+    $brightness = (($c_r * 299) + ($c_g * 587) + ($c_b * 114)) / 1000;
766 766
 
767 767
     return $brightness > 155 ? $dark : $light;
768 768
 }
769 769
 
770
-function wpinv_format_hex( $hex ) {
771
-    $hex = trim( str_replace( '#', '', $hex ) );
770
+function wpinv_format_hex($hex) {
771
+    $hex = trim(str_replace('#', '', $hex));
772 772
 
773
-    if ( strlen( $hex ) == 3 ) {
773
+    if (strlen($hex) == 3) {
774 774
         $hex = $hex[0] . $hex[0] . $hex[1] . $hex[1] . $hex[2] . $hex[2];
775 775
     }
776 776
 
@@ -790,12 +790,12 @@  discard block
 block discarded – undo
790 790
  * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8".
791 791
  * @return string
792 792
  */
793
-function wpinv_utf8_strimwidth( $str, $start, $width, $trimmaker = '', $encoding = 'UTF-8' ) {
794
-    if ( function_exists( 'mb_strimwidth' ) ) {
795
-        return mb_strimwidth( $str, $start, $width, $trimmaker, $encoding );
793
+function wpinv_utf8_strimwidth($str, $start, $width, $trimmaker = '', $encoding = 'UTF-8') {
794
+    if (function_exists('mb_strimwidth')) {
795
+        return mb_strimwidth($str, $start, $width, $trimmaker, $encoding);
796 796
     }
797 797
     
798
-    return wpinv_utf8_substr( $str, $start, $width, $encoding ) . $trimmaker;
798
+    return wpinv_utf8_substr($str, $start, $width, $encoding) . $trimmaker;
799 799
 }
800 800
 
801 801
 /**
@@ -807,28 +807,28 @@  discard block
 block discarded – undo
807 807
  * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8".
808 808
  * @return int Returns the number of characters in string.
809 809
  */
810
-function wpinv_utf8_strlen( $str, $encoding = 'UTF-8' ) {
811
-    if ( function_exists( 'mb_strlen' ) ) {
812
-        return mb_strlen( $str, $encoding );
810
+function wpinv_utf8_strlen($str, $encoding = 'UTF-8') {
811
+    if (function_exists('mb_strlen')) {
812
+        return mb_strlen($str, $encoding);
813 813
     }
814 814
         
815
-    return strlen( $str );
815
+    return strlen($str);
816 816
 }
817 817
 
818
-function wpinv_utf8_strtolower( $str, $encoding = 'UTF-8' ) {
819
-    if ( function_exists( 'mb_strtolower' ) ) {
820
-        return mb_strtolower( $str, $encoding );
818
+function wpinv_utf8_strtolower($str, $encoding = 'UTF-8') {
819
+    if (function_exists('mb_strtolower')) {
820
+        return mb_strtolower($str, $encoding);
821 821
     }
822 822
     
823
-    return strtolower( $str );
823
+    return strtolower($str);
824 824
 }
825 825
 
826
-function wpinv_utf8_strtoupper( $str, $encoding = 'UTF-8' ) {
827
-    if ( function_exists( 'mb_strtoupper' ) ) {
828
-        return mb_strtoupper( $str, $encoding );
826
+function wpinv_utf8_strtoupper($str, $encoding = 'UTF-8') {
827
+    if (function_exists('mb_strtoupper')) {
828
+        return mb_strtoupper($str, $encoding);
829 829
     }
830 830
     
831
-    return strtoupper( $str );
831
+    return strtoupper($str);
832 832
 }
833 833
 
834 834
 /**
@@ -842,12 +842,12 @@  discard block
 block discarded – undo
842 842
  * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8".
843 843
  * @return int Returns the position of the first occurrence of search in the string.
844 844
  */
845
-function wpinv_utf8_strpos( $str, $find, $offset = 0, $encoding = 'UTF-8' ) {
846
-    if ( function_exists( 'mb_strpos' ) ) {
847
-        return mb_strpos( $str, $find, $offset, $encoding );
845
+function wpinv_utf8_strpos($str, $find, $offset = 0, $encoding = 'UTF-8') {
846
+    if (function_exists('mb_strpos')) {
847
+        return mb_strpos($str, $find, $offset, $encoding);
848 848
     }
849 849
         
850
-    return strpos( $str, $find, $offset );
850
+    return strpos($str, $find, $offset);
851 851
 }
852 852
 
853 853
 /**
@@ -861,12 +861,12 @@  discard block
 block discarded – undo
861 861
  * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8".
862 862
  * @return int Returns the position of the last occurrence of search.
863 863
  */
864
-function wpinv_utf8_strrpos( $str, $find, $offset = 0, $encoding = 'UTF-8' ) {
865
-    if ( function_exists( 'mb_strrpos' ) ) {
866
-        return mb_strrpos( $str, $find, $offset, $encoding );
864
+function wpinv_utf8_strrpos($str, $find, $offset = 0, $encoding = 'UTF-8') {
865
+    if (function_exists('mb_strrpos')) {
866
+        return mb_strrpos($str, $find, $offset, $encoding);
867 867
     }
868 868
         
869
-    return strrpos( $str, $find, $offset );
869
+    return strrpos($str, $find, $offset);
870 870
 }
871 871
 
872 872
 /**
@@ -881,16 +881,16 @@  discard block
 block discarded – undo
881 881
  * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8".
882 882
  * @return string
883 883
  */
884
-function wpinv_utf8_substr( $str, $start, $length = null, $encoding = 'UTF-8' ) {
885
-    if ( function_exists( 'mb_substr' ) ) {
886
-        if ( $length === null ) {
887
-            return mb_substr( $str, $start, wpinv_utf8_strlen( $str, $encoding ), $encoding );
884
+function wpinv_utf8_substr($str, $start, $length = null, $encoding = 'UTF-8') {
885
+    if (function_exists('mb_substr')) {
886
+        if ($length === null) {
887
+            return mb_substr($str, $start, wpinv_utf8_strlen($str, $encoding), $encoding);
888 888
         } else {
889
-            return mb_substr( $str, $start, $length, $encoding );
889
+            return mb_substr($str, $start, $length, $encoding);
890 890
         }
891 891
     }
892 892
         
893
-    return substr( $str, $start, $length );
893
+    return substr($str, $start, $length);
894 894
 }
895 895
 
896 896
 /**
@@ -902,48 +902,48 @@  discard block
 block discarded – undo
902 902
  * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8".
903 903
  * @return string The width of string.
904 904
  */
905
-function wpinv_utf8_strwidth( $str, $encoding = 'UTF-8' ) {
906
-    if ( function_exists( 'mb_strwidth' ) ) {
907
-        return mb_strwidth( $str, $encoding );
905
+function wpinv_utf8_strwidth($str, $encoding = 'UTF-8') {
906
+    if (function_exists('mb_strwidth')) {
907
+        return mb_strwidth($str, $encoding);
908 908
     }
909 909
     
910
-    return wpinv_utf8_strlen( $str, $encoding );
910
+    return wpinv_utf8_strlen($str, $encoding);
911 911
 }
912 912
 
913
-function wpinv_utf8_ucfirst( $str, $lower_str_end = false, $encoding = 'UTF-8' ) {
914
-    if ( function_exists( 'mb_strlen' ) ) {
915
-        $first_letter = wpinv_utf8_strtoupper( wpinv_utf8_substr( $str, 0, 1, $encoding ), $encoding );
913
+function wpinv_utf8_ucfirst($str, $lower_str_end = false, $encoding = 'UTF-8') {
914
+    if (function_exists('mb_strlen')) {
915
+        $first_letter = wpinv_utf8_strtoupper(wpinv_utf8_substr($str, 0, 1, $encoding), $encoding);
916 916
         $str_end = "";
917 917
         
918
-        if ( $lower_str_end ) {
919
-            $str_end = wpinv_utf8_strtolower( wpinv_utf8_substr( $str, 1, wpinv_utf8_strlen( $str, $encoding ), $encoding ), $encoding );
918
+        if ($lower_str_end) {
919
+            $str_end = wpinv_utf8_strtolower(wpinv_utf8_substr($str, 1, wpinv_utf8_strlen($str, $encoding), $encoding), $encoding);
920 920
         } else {
921
-            $str_end = wpinv_utf8_substr( $str, 1, wpinv_utf8_strlen( $str, $encoding ), $encoding );
921
+            $str_end = wpinv_utf8_substr($str, 1, wpinv_utf8_strlen($str, $encoding), $encoding);
922 922
         }
923 923
 
924 924
         return $first_letter . $str_end;
925 925
     }
926 926
     
927
-    return ucfirst( $str );
927
+    return ucfirst($str);
928 928
 }
929 929
 
930
-function wpinv_utf8_ucwords( $str, $encoding = 'UTF-8' ) {
931
-    if ( function_exists( 'mb_convert_case' ) ) {
932
-        return mb_convert_case( $str, MB_CASE_TITLE, $encoding );
930
+function wpinv_utf8_ucwords($str, $encoding = 'UTF-8') {
931
+    if (function_exists('mb_convert_case')) {
932
+        return mb_convert_case($str, MB_CASE_TITLE, $encoding);
933 933
     }
934 934
     
935
-    return ucwords( $str );
935
+    return ucwords($str);
936 936
 }
937 937
 
938
-function wpinv_period_in_days( $period, $unit ) {
939
-    $period = absint( $period );
938
+function wpinv_period_in_days($period, $unit) {
939
+    $period = absint($period);
940 940
     
941
-    if ( $period > 0 ) {
942
-        if ( in_array( strtolower( $unit ), array( 'w', 'week', 'weeks' ) ) ) {
941
+    if ($period > 0) {
942
+        if (in_array(strtolower($unit), array('w', 'week', 'weeks'))) {
943 943
             $period = $period * 7;
944
-        } else if ( in_array( strtolower( $unit ), array( 'm', 'month', 'months' ) ) ) {
944
+        } else if (in_array(strtolower($unit), array('m', 'month', 'months'))) {
945 945
             $period = $period * 30;
946
-        } else if ( in_array( strtolower( $unit ), array( 'y', 'year', 'years' ) ) ) {
946
+        } else if (in_array(strtolower($unit), array('y', 'year', 'years'))) {
947 947
             $period = $period * 365;
948 948
         }
949 949
     }
@@ -951,14 +951,14 @@  discard block
 block discarded – undo
951 951
     return $period;
952 952
 }
953 953
 
954
-function wpinv_cal_days_in_month( $calendar, $month, $year ) {
955
-    if ( function_exists( 'cal_days_in_month' ) ) {
956
-        return cal_days_in_month( $calendar, $month, $year );
954
+function wpinv_cal_days_in_month($calendar, $month, $year) {
955
+    if (function_exists('cal_days_in_month')) {
956
+        return cal_days_in_month($calendar, $month, $year);
957 957
     }
958 958
 
959 959
     // Fallback in case the calendar extension is not loaded in PHP
960 960
     // Only supports Gregorian calendar
961
-    return date( 't', mktime( 0, 0, 0, $month, 1, $year ) );
961
+    return date('t', mktime(0, 0, 0, $month, 1, $year));
962 962
 }
963 963
 
964 964
 /**
@@ -969,11 +969,11 @@  discard block
 block discarded – undo
969 969
  *
970 970
  * @return string
971 971
  */
972
-function wpi_help_tip( $tip, $allow_html = false ) {
973
-    if ( $allow_html ) {
974
-        $tip = wpi_sanitize_tooltip( $tip );
972
+function wpi_help_tip($tip, $allow_html = false) {
973
+    if ($allow_html) {
974
+        $tip = wpi_sanitize_tooltip($tip);
975 975
     } else {
976
-        $tip = esc_attr( $tip );
976
+        $tip = esc_attr($tip);
977 977
     }
978 978
 
979 979
     return '<span class="wpi-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
@@ -987,8 +987,8 @@  discard block
 block discarded – undo
987 987
  * @param string $var
988 988
  * @return string
989 989
  */
990
-function wpi_sanitize_tooltip( $var ) {
991
-    return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
990
+function wpi_sanitize_tooltip($var) {
991
+    return htmlspecialchars(wp_kses(html_entity_decode($var), array(
992 992
         'br'     => array(),
993 993
         'em'     => array(),
994 994
         'strong' => array(),
@@ -998,7 +998,7 @@  discard block
 block discarded – undo
998 998
         'li'     => array(),
999 999
         'ol'     => array(),
1000 1000
         'p'      => array(),
1001
-    ) ) );
1001
+    )));
1002 1002
 }
1003 1003
 
1004 1004
 /**
@@ -1008,7 +1008,7 @@  discard block
 block discarded – undo
1008 1008
  */
1009 1009
 function wpinv_get_screen_ids() {
1010 1010
 
1011
-    $screen_id = sanitize_title( __( 'Invoicing', 'invoicing' ) );
1011
+    $screen_id = sanitize_title(__('Invoicing', 'invoicing'));
1012 1012
 
1013 1013
     $screen_ids = array(
1014 1014
         'toplevel_page_' . $screen_id,
@@ -1026,7 +1026,7 @@  discard block
 block discarded – undo
1026 1026
         'invoicing_page_wpi-addons',
1027 1027
     );
1028 1028
 
1029
-    return apply_filters( 'wpinv_screen_ids', $screen_ids );
1029
+    return apply_filters('wpinv_screen_ids', $screen_ids);
1030 1030
 }
1031 1031
 
1032 1032
 /**
@@ -1037,9 +1037,9 @@  discard block
 block discarded – undo
1037 1037
  * @param array|string $list List of values.
1038 1038
  * @return array Sanitized array of values.
1039 1039
  */
1040
-function wpinv_parse_list( $list ) {
1041
-	if ( ! is_array( $list ) ) {
1042
-		return preg_split( '/[\s,]+/', $list, -1, PREG_SPLIT_NO_EMPTY );
1040
+function wpinv_parse_list($list) {
1041
+	if (!is_array($list)) {
1042
+		return preg_split('/[\s,]+/', $list, -1, PREG_SPLIT_NO_EMPTY);
1043 1043
 	}
1044 1044
 
1045 1045
 	return $list;
@@ -1053,16 +1053,16 @@  discard block
 block discarded – undo
1053 1053
  * @param string $key Type of data to fetch.
1054 1054
  * @return mixed Fetched data.
1055 1055
  */
1056
-function wpinv_get_data( $key ) {
1056
+function wpinv_get_data($key) {
1057 1057
     
1058 1058
     // Try fetching it from the cache.
1059
-    $data = wp_cache_get( "wpinv-$key", 'wpinv' );
1060
-    if( $data ) {
1059
+    $data = wp_cache_get("wpinv-$key", 'wpinv');
1060
+    if ($data) {
1061 1061
         return $data;
1062 1062
     }
1063 1063
 
1064
-    $data = apply_filters( "wpinv_get_$key", include WPINV_PLUGIN_DIR . "includes/data/$key.php" );
1065
-	wp_cache_set( "wpinv-$key", $data, 'wpinv' );
1064
+    $data = apply_filters("wpinv_get_$key", include WPINV_PLUGIN_DIR . "includes/data/$key.php");
1065
+	wp_cache_set("wpinv-$key", $data, 'wpinv');
1066 1066
 
1067 1067
 	return $data;
1068 1068
 }
@@ -1076,10 +1076,10 @@  discard block
 block discarded – undo
1076 1076
  * @param bool $first_empty Whether or not the first item in the list should be empty
1077 1077
  * @return mixed Fetched data.
1078 1078
  */
1079
-function wpinv_maybe_add_empty_option( $options, $first_empty ) {
1079
+function wpinv_maybe_add_empty_option($options, $first_empty) {
1080 1080
 
1081
-    if ( ! empty( $options ) && $first_empty ) {
1082
-        return array_merge( array( '' => '' ), $options );
1081
+    if (!empty($options) && $first_empty) {
1082
+        return array_merge(array('' => ''), $options);
1083 1083
     }
1084 1084
     return $options;
1085 1085
 
@@ -1091,19 +1091,19 @@  discard block
 block discarded – undo
1091 1091
  * @param mixed $var Data to sanitize.
1092 1092
  * @return string|array
1093 1093
  */
1094
-function wpinv_clean( $var ) {
1094
+function wpinv_clean($var) {
1095 1095
 
1096
-	if ( is_array( $var ) ) {
1097
-		return array_map( 'wpinv_clean', $var );
1096
+	if (is_array($var)) {
1097
+		return array_map('wpinv_clean', $var);
1098 1098
     }
1099 1099
 
1100
-    if ( is_object( $var ) ) {
1101
-		$object_vars = get_object_vars( $var );
1102
-		foreach ( $object_vars as $property_name => $property_value ) {
1103
-			$var->$property_name = wpinv_clean( $property_value );
1100
+    if (is_object($var)) {
1101
+		$object_vars = get_object_vars($var);
1102
+		foreach ($object_vars as $property_name => $property_value) {
1103
+			$var->$property_name = wpinv_clean($property_value);
1104 1104
         }
1105 1105
         return $var;
1106 1106
 	}
1107 1107
     
1108
-    return is_string( $var ) ? sanitize_text_field( $var ) : $var;
1108
+    return is_string($var) ? sanitize_text_field($var) : $var;
1109 1109
 }
1110 1110
\ No newline at end of file
Please login to merge, or discard this patch.