Passed
Push — master ( ae3eec...84a4a3 )
by Brian
10:54
created
includes/wpinv-template-functions.php 1 patch
Spacing   +453 added lines, -453 removed lines patch added patch discarded remove patch
@@ -4,99 +4,99 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 
9 9
 /**
10 10
  * Displays an invoice.
11 11
  * 
12 12
  * @param WPInv_Invoice $invoice.
13 13
  */
14
-function getpaid_invoice( $invoice ) {
15
-    if ( ! empty( $invoice ) ) {
16
-        wpinv_get_template( 'invoice/invoice.php', compact( 'invoice' ) );
14
+function getpaid_invoice($invoice) {
15
+    if (!empty($invoice)) {
16
+        wpinv_get_template('invoice/invoice.php', compact('invoice'));
17 17
     }
18 18
 }
19
-add_action( 'getpaid_invoice', 'getpaid_invoice', 10 );
19
+add_action('getpaid_invoice', 'getpaid_invoice', 10);
20 20
 
21 21
 /**
22 22
  * Displays the invoice footer.
23 23
  */
24
-function getpaid_invoice_footer( $invoice ) {
25
-    if ( ! empty( $invoice ) ) {
26
-        wpinv_get_template( 'invoice/footer.php', compact( 'invoice' ) );
24
+function getpaid_invoice_footer($invoice) {
25
+    if (!empty($invoice)) {
26
+        wpinv_get_template('invoice/footer.php', compact('invoice'));
27 27
     }
28 28
 }
29
-add_action( 'getpaid_invoice_footer', 'getpaid_invoice_footer', 10 );
29
+add_action('getpaid_invoice_footer', 'getpaid_invoice_footer', 10);
30 30
 
31 31
 /**
32 32
  * Displays the invoice top bar.
33 33
  */
34
-function getpaid_invoice_header( $invoice ) {
35
-    if ( ! empty( $invoice ) ) {
36
-        wpinv_get_template( 'invoice/header.php', compact( 'invoice' ) );
34
+function getpaid_invoice_header($invoice) {
35
+    if (!empty($invoice)) {
36
+        wpinv_get_template('invoice/header.php', compact('invoice'));
37 37
     }
38 38
 }
39
-add_action( 'getpaid_invoice_header', 'getpaid_invoice_header', 10 );
39
+add_action('getpaid_invoice_header', 'getpaid_invoice_header', 10);
40 40
 
41 41
 /**
42 42
  * Displays actions on the left side of the header.
43 43
  */
44
-function getpaid_invoice_header_left_actions( $invoice ) {
45
-    if ( ! empty( $invoice ) ) {
46
-        wpinv_get_template( 'invoice/header-left-actions.php', compact( 'invoice' ) );
44
+function getpaid_invoice_header_left_actions($invoice) {
45
+    if (!empty($invoice)) {
46
+        wpinv_get_template('invoice/header-left-actions.php', compact('invoice'));
47 47
     }
48 48
 }
49
-add_action( 'getpaid_invoice_header_left', 'getpaid_invoice_header_left_actions', 10 );
49
+add_action('getpaid_invoice_header_left', 'getpaid_invoice_header_left_actions', 10);
50 50
 
51 51
 /**
52 52
  * Displays actions on the right side of the invoice top bar.
53 53
  */
54
-function getpaid_invoice_header_right_actions( $invoice ) {
55
-    if ( ! empty( $invoice ) ) {
56
-        wpinv_get_template( 'invoice/header-right-actions.php', compact( 'invoice' ) );
54
+function getpaid_invoice_header_right_actions($invoice) {
55
+    if (!empty($invoice)) {
56
+        wpinv_get_template('invoice/header-right-actions.php', compact('invoice'));
57 57
     }
58 58
 }
59
-add_action( 'getpaid_invoice_header_right', 'getpaid_invoice_header_right_actions', 10 );
59
+add_action('getpaid_invoice_header_right', 'getpaid_invoice_header_right_actions', 10);
60 60
 
61 61
 /**
62 62
  * Displays the invoice title, logo etc.
63 63
  */
64
-function getpaid_invoice_details_top( $invoice ) {
65
-    if ( ! empty( $invoice ) ) {
66
-        wpinv_get_template( 'invoice/details-top.php', compact( 'invoice' ) );
64
+function getpaid_invoice_details_top($invoice) {
65
+    if (!empty($invoice)) {
66
+        wpinv_get_template('invoice/details-top.php', compact('invoice'));
67 67
     }
68 68
 }
69
-add_action( 'getpaid_invoice_details', 'getpaid_invoice_details_top', 10 );
69
+add_action('getpaid_invoice_details', 'getpaid_invoice_details_top', 10);
70 70
 
71 71
 /**
72 72
  * Displays the company logo.
73 73
  */
74
-function getpaid_invoice_logo( $invoice ) {
75
-    if ( ! empty( $invoice ) ) {
76
-        wpinv_get_template( 'invoice/invoice-logo.php', compact( 'invoice' ) );
74
+function getpaid_invoice_logo($invoice) {
75
+    if (!empty($invoice)) {
76
+        wpinv_get_template('invoice/invoice-logo.php', compact('invoice'));
77 77
     }
78 78
 }
79
-add_action( 'getpaid_invoice_details_top_left', 'getpaid_invoice_logo' );
79
+add_action('getpaid_invoice_details_top_left', 'getpaid_invoice_logo');
80 80
 
81 81
 /**
82 82
  * Displays the type of invoice.
83 83
  */
84
-function getpaid_invoice_type( $invoice ) {
85
-    if ( ! empty( $invoice ) ) {
86
-        wpinv_get_template( 'invoice/invoice-type.php', compact( 'invoice' ) );
84
+function getpaid_invoice_type($invoice) {
85
+    if (!empty($invoice)) {
86
+        wpinv_get_template('invoice/invoice-type.php', compact('invoice'));
87 87
     }
88 88
 }
89
-add_action( 'getpaid_invoice_details_top_right', 'getpaid_invoice_type' );
89
+add_action('getpaid_invoice_details_top_right', 'getpaid_invoice_type');
90 90
 
91 91
 /**
92 92
  * Displays the invoice details.
93 93
  */
94
-function getpaid_invoice_details_main( $invoice ) {
95
-    if ( ! empty( $invoice ) ) {
96
-        wpinv_get_template( 'invoice/details.php', compact( 'invoice' ) );
94
+function getpaid_invoice_details_main($invoice) {
95
+    if (!empty($invoice)) {
96
+        wpinv_get_template('invoice/details.php', compact('invoice'));
97 97
     }
98 98
 }
99
-add_action( 'getpaid_invoice_details', 'getpaid_invoice_details_main', 50 );
99
+add_action('getpaid_invoice_details', 'getpaid_invoice_details_main', 50);
100 100
 
101 101
 /**
102 102
  * Returns a path to the templates directory.
@@ -125,8 +125,8 @@  discard block
 block discarded – undo
125 125
  * @param string $template_path The templates directory relative to the theme's root dir. Defaults to 'invoicing'.
126 126
  * @param string $default_path The root path to the default template. Defaults to invoicing/templates
127 127
  */
128
-function wpinv_get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
129
-    getpaid_template()->display_template( $template_name, $args, $template_path, $default_path );
128
+function wpinv_get_template($template_name, $args = array(), $template_path = '', $default_path = '') {
129
+    getpaid_template()->display_template($template_name, $args, $template_path, $default_path);
130 130
 }
131 131
 
132 132
 /**
@@ -139,8 +139,8 @@  discard block
 block discarded – undo
139 139
  * @param string $template_path The templates directory relative to the theme's root dir. Defaults to 'invoicing'.
140 140
  * @param string $default_path The root path to the default template. Defaults to invoicing/templates
141 141
  */
142
-function wpinv_get_template_html( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
143
-	return getpaid_template()->get_template( $template_name, $args, $template_path, $default_path );
142
+function wpinv_get_template_html($template_name, $args = array(), $template_path = '', $default_path = '') {
143
+	return getpaid_template()->get_template($template_name, $args, $template_path, $default_path);
144 144
 }
145 145
 
146 146
 /**
@@ -149,7 +149,7 @@  discard block
 block discarded – undo
149 149
  * @return string
150 150
  */
151 151
 function wpinv_template_path() {
152
-    return apply_filters( 'wpinv_template_path', wpinv_get_theme_template_dir_name() );
152
+    return apply_filters('wpinv_template_path', wpinv_get_theme_template_dir_name());
153 153
 }
154 154
 
155 155
 /**
@@ -158,7 +158,7 @@  discard block
 block discarded – undo
158 158
  * @return string
159 159
  */
160 160
 function wpinv_get_theme_template_dir_name() {
161
-	return trailingslashit( apply_filters( 'wpinv_templates_dir', 'invoicing' ) );
161
+	return trailingslashit(apply_filters('wpinv_templates_dir', 'invoicing'));
162 162
 }
163 163
 
164 164
 /**
@@ -170,56 +170,56 @@  discard block
 block discarded – undo
170 170
  * @param string $template_path The template path relative to the theme's root dir. Defaults to 'invoicing'.
171 171
  * @param string $default_path The root path to the default template. Defaults to invoicing/templates
172 172
  */
173
-function wpinv_locate_template( $template_name, $template_path = '', $default_path = '' ) {
174
-    return getpaid_template()->locate_template( $template_name, $template_path, $default_path );
173
+function wpinv_locate_template($template_name, $template_path = '', $default_path = '') {
174
+    return getpaid_template()->locate_template($template_name, $template_path, $default_path);
175 175
 }
176 176
 
177
-function wpinv_get_template_part( $slug, $name = null, $load = true ) {
178
-	do_action( 'get_template_part_' . $slug, $slug, $name );
177
+function wpinv_get_template_part($slug, $name = null, $load = true) {
178
+	do_action('get_template_part_' . $slug, $slug, $name);
179 179
 
180 180
 	// Setup possible parts
181 181
 	$templates = array();
182
-	if ( isset( $name ) )
182
+	if (isset($name))
183 183
 		$templates[] = $slug . '-' . $name . '.php';
184 184
 	$templates[] = $slug . '.php';
185 185
 
186 186
 	// Allow template parts to be filtered
187
-	$templates = apply_filters( 'wpinv_get_template_part', $templates, $slug, $name );
187
+	$templates = apply_filters('wpinv_get_template_part', $templates, $slug, $name);
188 188
 
189 189
 	// Return the part that is found
190
-	return wpinv_locate_tmpl( $templates, $load, false );
190
+	return wpinv_locate_tmpl($templates, $load, false);
191 191
 }
192 192
 
193
-function wpinv_locate_tmpl( $template_names, $load = false, $require_once = true ) {
193
+function wpinv_locate_tmpl($template_names, $load = false, $require_once = true) {
194 194
 	// No file found yet
195 195
 	$located = false;
196 196
 
197 197
 	// Try to find a template file
198
-	foreach ( (array)$template_names as $template_name ) {
198
+	foreach ((array) $template_names as $template_name) {
199 199
 
200 200
 		// Continue if template is empty
201
-		if ( empty( $template_name ) )
201
+		if (empty($template_name))
202 202
 			continue;
203 203
 
204 204
 		// Trim off any slashes from the template name
205
-		$template_name = ltrim( $template_name, '/' );
205
+		$template_name = ltrim($template_name, '/');
206 206
 
207 207
 		// try locating this template file by looping through the template paths
208
-		foreach( wpinv_get_theme_template_paths() as $template_path ) {
208
+		foreach (wpinv_get_theme_template_paths() as $template_path) {
209 209
 
210
-			if( file_exists( $template_path . $template_name ) ) {
210
+			if (file_exists($template_path . $template_name)) {
211 211
 				$located = $template_path . $template_name;
212 212
 				break;
213 213
 			}
214 214
 		}
215 215
 
216
-		if( !empty( $located ) ) {
216
+		if (!empty($located)) {
217 217
 			break;
218 218
 		}
219 219
 	}
220 220
 
221
-	if ( ( true == $load ) && ! empty( $located ) )
222
-		load_template( $located, $require_once );
221
+	if ((true == $load) && !empty($located))
222
+		load_template($located, $require_once);
223 223
 
224 224
 	return $located;
225 225
 }
@@ -228,127 +228,127 @@  discard block
 block discarded – undo
228 228
 	$template_dir = wpinv_get_theme_template_dir_name();
229 229
 
230 230
 	$file_paths = array(
231
-		1 => trailingslashit( get_stylesheet_directory() ) . $template_dir,
232
-		10 => trailingslashit( get_template_directory() ) . $template_dir,
231
+		1 => trailingslashit(get_stylesheet_directory()) . $template_dir,
232
+		10 => trailingslashit(get_template_directory()) . $template_dir,
233 233
 		100 => wpinv_get_templates_dir()
234 234
 	);
235 235
 
236
-	$file_paths = apply_filters( 'wpinv_template_paths', $file_paths );
236
+	$file_paths = apply_filters('wpinv_template_paths', $file_paths);
237 237
 
238 238
 	// sort the file paths based on priority
239
-	ksort( $file_paths, SORT_NUMERIC );
239
+	ksort($file_paths, SORT_NUMERIC);
240 240
 
241
-	return array_map( 'trailingslashit', $file_paths );
241
+	return array_map('trailingslashit', $file_paths);
242 242
 }
243 243
 
244 244
 function wpinv_checkout_meta_tags() {
245 245
 
246 246
 	$pages   = array();
247
-	$pages[] = wpinv_get_option( 'success_page' );
248
-	$pages[] = wpinv_get_option( 'failure_page' );
249
-	$pages[] = wpinv_get_option( 'invoice_history_page' );
250
-	$pages[] = wpinv_get_option( 'invoice_subscription_page' );
247
+	$pages[] = wpinv_get_option('success_page');
248
+	$pages[] = wpinv_get_option('failure_page');
249
+	$pages[] = wpinv_get_option('invoice_history_page');
250
+	$pages[] = wpinv_get_option('invoice_subscription_page');
251 251
 
252
-	if( !wpinv_is_checkout() && !is_page( $pages ) ) {
252
+	if (!wpinv_is_checkout() && !is_page($pages)) {
253 253
 		return;
254 254
 	}
255 255
 
256 256
 	echo '<meta name="robots" content="noindex,nofollow" />' . "\n";
257 257
 }
258
-add_action( 'wp_head', 'wpinv_checkout_meta_tags' );
258
+add_action('wp_head', 'wpinv_checkout_meta_tags');
259 259
 
260
-function wpinv_add_body_classes( $class ) {
261
-	$classes = (array)$class;
260
+function wpinv_add_body_classes($class) {
261
+	$classes = (array) $class;
262 262
 
263
-	if( wpinv_is_checkout() ) {
263
+	if (wpinv_is_checkout()) {
264 264
 		$classes[] = 'wpinv-checkout';
265 265
 		$classes[] = 'wpinv-page';
266 266
 	}
267 267
 
268
-	if( wpinv_is_success_page() ) {
268
+	if (wpinv_is_success_page()) {
269 269
 		$classes[] = 'wpinv-success';
270 270
 		$classes[] = 'wpinv-page';
271 271
 	}
272 272
 
273
-	if( wpinv_is_failed_transaction_page() ) {
273
+	if (wpinv_is_failed_transaction_page()) {
274 274
 		$classes[] = 'wpinv-failed-transaction';
275 275
 		$classes[] = 'wpinv-page';
276 276
 	}
277 277
 
278
-	if( wpinv_is_invoice_history_page() ) {
278
+	if (wpinv_is_invoice_history_page()) {
279 279
 		$classes[] = 'wpinv-history';
280 280
 		$classes[] = 'wpinv-page';
281 281
 	}
282 282
 
283
-	if( wpinv_is_subscriptions_history_page() ) {
283
+	if (wpinv_is_subscriptions_history_page()) {
284 284
 		$classes[] = 'wpinv-subscription';
285 285
 		$classes[] = 'wpinv-page';
286 286
 	}
287 287
 
288
-	if( wpinv_is_test_mode() ) {
288
+	if (wpinv_is_test_mode()) {
289 289
 		$classes[] = 'wpinv-test-mode';
290 290
 		$classes[] = 'wpinv-page';
291 291
 	}
292 292
 
293
-	return array_unique( $classes );
293
+	return array_unique($classes);
294 294
 }
295
-add_filter( 'body_class', 'wpinv_add_body_classes' );
295
+add_filter('body_class', 'wpinv_add_body_classes');
296 296
 
297
-function wpinv_html_year_dropdown( $name = 'year', $selected = 0, $years_before = 5, $years_after = 0 ) {
298
-    $current     = date( 'Y' );
299
-    $start_year  = $current - absint( $years_before );
300
-    $end_year    = $current + absint( $years_after );
301
-    $selected    = empty( $selected ) ? date( 'Y' ) : $selected;
297
+function wpinv_html_year_dropdown($name = 'year', $selected = 0, $years_before = 5, $years_after = 0) {
298
+    $current     = date('Y');
299
+    $start_year  = $current - absint($years_before);
300
+    $end_year    = $current + absint($years_after);
301
+    $selected    = empty($selected) ? date('Y') : $selected;
302 302
     $options     = array();
303 303
 
304
-    while ( $start_year <= $end_year ) {
305
-        $options[ absint( $start_year ) ] = $start_year;
304
+    while ($start_year <= $end_year) {
305
+        $options[absint($start_year)] = $start_year;
306 306
         $start_year++;
307 307
     }
308 308
 
309
-    $output = wpinv_html_select( array(
309
+    $output = wpinv_html_select(array(
310 310
         'name'             => $name,
311 311
         'selected'         => $selected,
312 312
         'options'          => $options,
313 313
         'show_option_all'  => false,
314 314
         'show_option_none' => false
315
-    ) );
315
+    ));
316 316
 
317 317
     return $output;
318 318
 }
319 319
 
320
-function wpinv_html_month_dropdown( $name = 'month', $selected = 0 ) {
320
+function wpinv_html_month_dropdown($name = 'month', $selected = 0) {
321 321
 
322 322
     $options = array(
323
-        '1'  => __( 'January', 'invoicing' ),
324
-        '2'  => __( 'February', 'invoicing' ),
325
-        '3'  => __( 'March', 'invoicing' ),
326
-        '4'  => __( 'April', 'invoicing' ),
327
-        '5'  => __( 'May', 'invoicing' ),
328
-        '6'  => __( 'June', 'invoicing' ),
329
-        '7'  => __( 'July', 'invoicing' ),
330
-        '8'  => __( 'August', 'invoicing' ),
331
-        '9'  => __( 'September', 'invoicing' ),
332
-        '10' => __( 'October', 'invoicing' ),
333
-        '11' => __( 'November', 'invoicing' ),
334
-        '12' => __( 'December', 'invoicing' ),
323
+        '1'  => __('January', 'invoicing'),
324
+        '2'  => __('February', 'invoicing'),
325
+        '3'  => __('March', 'invoicing'),
326
+        '4'  => __('April', 'invoicing'),
327
+        '5'  => __('May', 'invoicing'),
328
+        '6'  => __('June', 'invoicing'),
329
+        '7'  => __('July', 'invoicing'),
330
+        '8'  => __('August', 'invoicing'),
331
+        '9'  => __('September', 'invoicing'),
332
+        '10' => __('October', 'invoicing'),
333
+        '11' => __('November', 'invoicing'),
334
+        '12' => __('December', 'invoicing'),
335 335
     );
336 336
 
337 337
     // If no month is selected, default to the current month
338
-    $selected = empty( $selected ) ? date( 'n' ) : $selected;
338
+    $selected = empty($selected) ? date('n') : $selected;
339 339
 
340
-    $output = wpinv_html_select( array(
340
+    $output = wpinv_html_select(array(
341 341
         'name'             => $name,
342 342
         'selected'         => $selected,
343 343
         'options'          => $options,
344 344
         'show_option_all'  => false,
345 345
         'show_option_none' => false
346
-    ) );
346
+    ));
347 347
 
348 348
     return $output;
349 349
 }
350 350
 
351
-function wpinv_html_select( $args = array() ) {
351
+function wpinv_html_select($args = array()) {
352 352
     $defaults = array(
353 353
         'options'          => array(),
354 354
         'name'             => null,
@@ -357,8 +357,8 @@  discard block
 block discarded – undo
357 357
         'selected'         => 0,
358 358
         'placeholder'      => null,
359 359
         'multiple'         => false,
360
-        'show_option_all'  => _x( 'All', 'all dropdown items', 'invoicing' ),
361
-        'show_option_none' => _x( 'None', 'no dropdown items', 'invoicing' ),
360
+        'show_option_all'  => _x('All', 'all dropdown items', 'invoicing'),
361
+        'show_option_none' => _x('None', 'no dropdown items', 'invoicing'),
362 362
         'data'             => array(),
363 363
         'onchange'         => null,
364 364
         'required'         => false,
@@ -366,74 +366,74 @@  discard block
 block discarded – undo
366 366
         'readonly'         => false,
367 367
     );
368 368
 
369
-    $args = wp_parse_args( $args, $defaults );
369
+    $args = wp_parse_args($args, $defaults);
370 370
 
371 371
     $data_elements = '';
372
-    foreach ( $args['data'] as $key => $value ) {
373
-        $data_elements .= ' data-' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"';
372
+    foreach ($args['data'] as $key => $value) {
373
+        $data_elements .= ' data-' . esc_attr($key) . '="' . esc_attr($value) . '"';
374 374
     }
375 375
 
376
-    if( $args['multiple'] ) {
376
+    if ($args['multiple']) {
377 377
         $multiple = ' MULTIPLE';
378 378
     } else {
379 379
         $multiple = '';
380 380
     }
381 381
 
382
-    if( $args['placeholder'] ) {
382
+    if ($args['placeholder']) {
383 383
         $placeholder = $args['placeholder'];
384 384
     } else {
385 385
         $placeholder = '';
386 386
     }
387 387
     
388 388
     $options = '';
389
-    if( !empty( $args['onchange'] ) ) {
390
-        $options .= ' onchange="' . esc_attr( $args['onchange'] ) . '"';
389
+    if (!empty($args['onchange'])) {
390
+        $options .= ' onchange="' . esc_attr($args['onchange']) . '"';
391 391
     }
392 392
     
393
-    if( !empty( $args['required'] ) ) {
393
+    if (!empty($args['required'])) {
394 394
         $options .= ' required="required"';
395 395
     }
396 396
     
397
-    if( !empty( $args['disabled'] ) ) {
397
+    if (!empty($args['disabled'])) {
398 398
         $options .= ' disabled';
399 399
     }
400 400
     
401
-    if( !empty( $args['readonly'] ) ) {
401
+    if (!empty($args['readonly'])) {
402 402
         $options .= ' readonly';
403 403
     }
404 404
 
405
-    $class  = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
406
-    $output = '<select name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['id'] ) . '" class="wpinv-select ' . $class . '"' . $multiple . ' data-placeholder="' . $placeholder . '" ' . trim( $options ) . $data_elements . '>';
405
+    $class  = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
406
+    $output = '<select name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['id']) . '" class="wpinv-select ' . $class . '"' . $multiple . ' data-placeholder="' . $placeholder . '" ' . trim($options) . $data_elements . '>';
407 407
 
408
-    if ( $args['show_option_all'] ) {
409
-        if( $args['multiple'] ) {
410
-            $selected = selected( true, in_array( 0, $args['selected'] ), false );
408
+    if ($args['show_option_all']) {
409
+        if ($args['multiple']) {
410
+            $selected = selected(true, in_array(0, $args['selected']), false);
411 411
         } else {
412
-            $selected = selected( $args['selected'], 0, false );
412
+            $selected = selected($args['selected'], 0, false);
413 413
         }
414
-        $output .= '<option value="all"' . $selected . '>' . esc_html( $args['show_option_all'] ) . '</option>';
414
+        $output .= '<option value="all"' . $selected . '>' . esc_html($args['show_option_all']) . '</option>';
415 415
     }
416 416
 
417
-    if ( !empty( $args['options'] ) ) {
417
+    if (!empty($args['options'])) {
418 418
 
419
-        if ( $args['show_option_none'] ) {
420
-            if( $args['multiple'] ) {
421
-                $selected = selected( true, in_array( "", $args['selected'] ), false );
419
+        if ($args['show_option_none']) {
420
+            if ($args['multiple']) {
421
+                $selected = selected(true, in_array("", $args['selected']), false);
422 422
             } else {
423
-                $selected = selected( $args['selected'] === "", true, false );
423
+                $selected = selected($args['selected'] === "", true, false);
424 424
             }
425
-            $output .= '<option value=""' . $selected . '>' . esc_html( $args['show_option_none'] ) . '</option>';
425
+            $output .= '<option value=""' . $selected . '>' . esc_html($args['show_option_none']) . '</option>';
426 426
         }
427 427
 
428
-        foreach( $args['options'] as $key => $option ) {
428
+        foreach ($args['options'] as $key => $option) {
429 429
 
430
-            if( $args['multiple'] && is_array( $args['selected'] ) ) {
431
-                $selected = selected( true, (bool)in_array( $key, $args['selected'] ), false );
430
+            if ($args['multiple'] && is_array($args['selected'])) {
431
+                $selected = selected(true, (bool) in_array($key, $args['selected']), false);
432 432
             } else {
433
-                $selected = selected( $args['selected'], $key, false );
433
+                $selected = selected($args['selected'], $key, false);
434 434
             }
435 435
 
436
-            $output .= '<option value="' . esc_attr( $key ) . '"' . $selected . '>' . esc_html( $option ) . '</option>';
436
+            $output .= '<option value="' . esc_attr($key) . '"' . $selected . '>' . esc_html($option) . '</option>';
437 437
         }
438 438
     }
439 439
 
@@ -442,7 +442,7 @@  discard block
 block discarded – undo
442 442
     return $output;
443 443
 }
444 444
 
445
-function wpinv_item_dropdown( $args = array() ) {
445
+function wpinv_item_dropdown($args = array()) {
446 446
     $defaults = array(
447 447
         'name'              => 'wpi_item',
448 448
         'id'                => 'wpi_item',
@@ -450,14 +450,14 @@  discard block
 block discarded – undo
450 450
         'multiple'          => false,
451 451
         'selected'          => 0,
452 452
         'number'            => -1,
453
-        'placeholder'       => __( 'Choose a item', 'invoicing' ),
454
-        'data'              => array( 'search-type' => 'item' ),
453
+        'placeholder'       => __('Choose a item', 'invoicing'),
454
+        'data'              => array('search-type' => 'item'),
455 455
         'show_option_all'   => false,
456 456
         'show_option_none'  => false,
457 457
         'show_recurring'    => false,
458 458
     );
459 459
 
460
-    $args = wp_parse_args( $args, $defaults );
460
+    $args = wp_parse_args($args, $defaults);
461 461
 
462 462
     $item_args = array(
463 463
         'post_type'      => 'wpi_item',
@@ -466,44 +466,44 @@  discard block
 block discarded – undo
466 466
         'posts_per_page' => $args['number']
467 467
     );
468 468
 
469
-    $item_args  = apply_filters( 'wpinv_item_dropdown_query_args', $item_args, $args, $defaults );
469
+    $item_args  = apply_filters('wpinv_item_dropdown_query_args', $item_args, $args, $defaults);
470 470
 
471
-    $items      = get_posts( $item_args );
471
+    $items      = get_posts($item_args);
472 472
     $options    = array();
473
-    if ( $items ) {
474
-        foreach ( $items as $item ) {
475
-            $title = esc_html( $item->post_title );
473
+    if ($items) {
474
+        foreach ($items as $item) {
475
+            $title = esc_html($item->post_title);
476 476
             
477
-            if ( !empty( $args['show_recurring'] ) ) {
478
-                $title .= wpinv_get_item_suffix( $item->ID, false );
477
+            if (!empty($args['show_recurring'])) {
478
+                $title .= wpinv_get_item_suffix($item->ID, false);
479 479
             }
480 480
             
481
-            $options[ absint( $item->ID ) ] = $title;
481
+            $options[absint($item->ID)] = $title;
482 482
         }
483 483
     }
484 484
 
485 485
     // This ensures that any selected items are included in the drop down
486
-    if( is_array( $args['selected'] ) ) {
487
-        foreach( $args['selected'] as $item ) {
488
-            if( ! in_array( $item, $options ) ) {
489
-                $title = get_the_title( $item );
490
-                if ( !empty( $args['show_recurring'] ) ) {
491
-                    $title .= wpinv_get_item_suffix( $item, false );
486
+    if (is_array($args['selected'])) {
487
+        foreach ($args['selected'] as $item) {
488
+            if (!in_array($item, $options)) {
489
+                $title = get_the_title($item);
490
+                if (!empty($args['show_recurring'])) {
491
+                    $title .= wpinv_get_item_suffix($item, false);
492 492
                 }
493 493
                 $options[$item] = $title;
494 494
             }
495 495
         }
496
-    } elseif ( is_numeric( $args['selected'] ) && $args['selected'] !== 0 ) {
497
-        if ( ! in_array( $args['selected'], $options ) ) {
498
-            $title = get_the_title( $args['selected'] );
499
-            if ( !empty( $args['show_recurring'] ) ) {
500
-                $title .= wpinv_get_item_suffix( $args['selected'], false );
496
+    } elseif (is_numeric($args['selected']) && $args['selected'] !== 0) {
497
+        if (!in_array($args['selected'], $options)) {
498
+            $title = get_the_title($args['selected']);
499
+            if (!empty($args['show_recurring'])) {
500
+                $title .= wpinv_get_item_suffix($args['selected'], false);
501 501
             }
502
-            $options[$args['selected']] = get_the_title( $args['selected'] );
502
+            $options[$args['selected']] = get_the_title($args['selected']);
503 503
         }
504 504
     }
505 505
 
506
-    $output = wpinv_html_select( array(
506
+    $output = wpinv_html_select(array(
507 507
         'name'             => $args['name'],
508 508
         'selected'         => $args['selected'],
509 509
         'id'               => $args['id'],
@@ -514,7 +514,7 @@  discard block
 block discarded – undo
514 514
         'show_option_all'  => $args['show_option_all'],
515 515
         'show_option_none' => $args['show_option_none'],
516 516
         'data'             => $args['data'],
517
-    ) );
517
+    ));
518 518
 
519 519
     return $output;
520 520
 }
@@ -534,16 +534,16 @@  discard block
 block discarded – undo
534 534
     );
535 535
 
536 536
     $options = array();
537
-    if ( $items ) {
538
-        foreach ( $items as $item ) {
539
-            $options[ $item->ID ] = esc_html( $item->post_title ) . wpinv_get_item_suffix( $item->ID, false );
537
+    if ($items) {
538
+        foreach ($items as $item) {
539
+            $options[$item->ID] = esc_html($item->post_title) . wpinv_get_item_suffix($item->ID, false);
540 540
         }
541 541
     }
542 542
 
543 543
     return $options;
544 544
 }
545 545
 
546
-function wpinv_html_checkbox( $args = array() ) {
546
+function wpinv_html_checkbox($args = array()) {
547 547
     $defaults = array(
548 548
         'name'     => null,
549 549
         'current'  => null,
@@ -554,17 +554,17 @@  discard block
 block discarded – undo
554 554
         )
555 555
     );
556 556
 
557
-    $args = wp_parse_args( $args, $defaults );
557
+    $args = wp_parse_args($args, $defaults);
558 558
 
559
-    $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
559
+    $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
560 560
     $options = '';
561
-    if ( ! empty( $args['options']['disabled'] ) ) {
561
+    if (!empty($args['options']['disabled'])) {
562 562
         $options .= ' disabled="disabled"';
563
-    } elseif ( ! empty( $args['options']['readonly'] ) ) {
563
+    } elseif (!empty($args['options']['readonly'])) {
564 564
         $options .= ' readonly';
565 565
     }
566 566
 
567
-    $output = '<input type="checkbox"' . $options . ' name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['name'] ) . '" class="' . $class . ' ' . esc_attr( $args['name'] ) . '" ' . checked( 1, $args['current'], false ) . ' />';
567
+    $output = '<input type="checkbox"' . $options . ' name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['name']) . '" class="' . $class . ' ' . esc_attr($args['name']) . '" ' . checked(1, $args['current'], false) . ' />';
568 568
 
569 569
     return $output;
570 570
 }
@@ -572,9 +572,9 @@  discard block
 block discarded – undo
572 572
 /**
573 573
  * Displays a hidden field.
574 574
  */
575
-function getpaid_hidden_field( $name, $value ) {
576
-    $name  = sanitize_text_field( $name );
577
-    $value = esc_attr( $value );
575
+function getpaid_hidden_field($name, $value) {
576
+    $name  = sanitize_text_field($name);
577
+    $value = esc_attr($value);
578 578
 
579 579
     echo "<input type='hidden' name='$name' value='$value' />";
580 580
 }
@@ -582,31 +582,31 @@  discard block
 block discarded – undo
582 582
 /**
583 583
  * Displays a submit field.
584 584
  */
585
-function getpaid_submit_field( $value, $name = 'submit', $class = 'btn-primary' ) {
586
-    $name  = sanitize_text_field( $name );
587
-    $value = esc_attr( $value );
588
-    $class = esc_attr( $class );
585
+function getpaid_submit_field($value, $name = 'submit', $class = 'btn-primary') {
586
+    $name  = sanitize_text_field($name);
587
+    $value = esc_attr($value);
588
+    $class = esc_attr($class);
589 589
 
590 590
     echo "<input type='submit' name='$name' value='$value' class='btn $class' />";
591 591
 }
592 592
 
593
-function wpinv_html_text( $args = array() ) {
593
+function wpinv_html_text($args = array()) {
594 594
     // Backwards compatibility
595
-    if ( func_num_args() > 1 ) {
595
+    if (func_num_args() > 1) {
596 596
         $args = func_get_args();
597 597
 
598 598
         $name  = $args[0];
599
-        $value = isset( $args[1] ) ? $args[1] : '';
600
-        $label = isset( $args[2] ) ? $args[2] : '';
601
-        $desc  = isset( $args[3] ) ? $args[3] : '';
599
+        $value = isset($args[1]) ? $args[1] : '';
600
+        $label = isset($args[2]) ? $args[2] : '';
601
+        $desc  = isset($args[3]) ? $args[3] : '';
602 602
     }
603 603
 
604 604
     $defaults = array(
605 605
         'id'           => '',
606
-        'name'         => isset( $name )  ? $name  : 'text',
607
-        'value'        => isset( $value ) ? $value : null,
608
-        'label'        => isset( $label ) ? $label : null,
609
-        'desc'         => isset( $desc )  ? $desc  : null,
606
+        'name'         => isset($name) ? $name : 'text',
607
+        'value'        => isset($value) ? $value : null,
608
+        'label'        => isset($label) ? $label : null,
609
+        'desc'         => isset($desc) ? $desc : null,
610 610
         'placeholder'  => '',
611 611
         'class'        => 'regular-text',
612 612
         'disabled'     => false,
@@ -616,41 +616,41 @@  discard block
 block discarded – undo
616 616
         'data'         => false
617 617
     );
618 618
 
619
-    $args = wp_parse_args( $args, $defaults );
619
+    $args = wp_parse_args($args, $defaults);
620 620
 
621
-    $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
621
+    $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
622 622
     $options = '';
623
-    if( $args['required'] ) {
623
+    if ($args['required']) {
624 624
         $options .= ' required="required"';
625 625
     }
626
-    if( $args['readonly'] ) {
626
+    if ($args['readonly']) {
627 627
         $options .= ' readonly';
628 628
     }
629
-    if( $args['readonly'] ) {
629
+    if ($args['readonly']) {
630 630
         $options .= ' readonly';
631 631
     }
632 632
 
633 633
     $data = '';
634
-    if ( !empty( $args['data'] ) ) {
635
-        foreach ( $args['data'] as $key => $value ) {
636
-            $data .= 'data-' . wpinv_sanitize_key( $key ) . '="' . esc_attr( $value ) . '" ';
634
+    if (!empty($args['data'])) {
635
+        foreach ($args['data'] as $key => $value) {
636
+            $data .= 'data-' . wpinv_sanitize_key($key) . '="' . esc_attr($value) . '" ';
637 637
         }
638 638
     }
639 639
 
640
-    $output = '<span id="wpinv-' . wpinv_sanitize_key( $args['name'] ) . '-wrap">';
641
-    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key( $args['id'] ) . '">' . esc_html( $args['label'] ) . '</label>';
642
-    if ( ! empty( $args['desc'] ) ) {
643
-        $output .= '<span class="wpinv-description">' . esc_html( $args['desc'] ) . '</span>';
640
+    $output = '<span id="wpinv-' . wpinv_sanitize_key($args['name']) . '-wrap">';
641
+    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key($args['id']) . '">' . esc_html($args['label']) . '</label>';
642
+    if (!empty($args['desc'])) {
643
+        $output .= '<span class="wpinv-description">' . esc_html($args['desc']) . '</span>';
644 644
     }
645 645
 
646
-    $output .= '<input type="text" name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['id'] )  . '" autocomplete="' . esc_attr( $args['autocomplete'] )  . '" value="' . esc_attr( $args['value'] ) . '" placeholder="' . esc_attr( $args['placeholder'] ) . '" class="' . $class . '" ' . $data . ' ' . trim( $options ) . '/>';
646
+    $output .= '<input type="text" name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['id']) . '" autocomplete="' . esc_attr($args['autocomplete']) . '" value="' . esc_attr($args['value']) . '" placeholder="' . esc_attr($args['placeholder']) . '" class="' . $class . '" ' . $data . ' ' . trim($options) . '/>';
647 647
 
648 648
     $output .= '</span>';
649 649
 
650 650
     return $output;
651 651
 }
652 652
 
653
-function wpinv_html_textarea( $args = array() ) {
653
+function wpinv_html_textarea($args = array()) {
654 654
     $defaults = array(
655 655
         'name'        => 'textarea',
656 656
         'value'       => null,
@@ -661,31 +661,31 @@  discard block
 block discarded – undo
661 661
         'placeholder' => '',
662 662
     );
663 663
 
664
-    $args = wp_parse_args( $args, $defaults );
664
+    $args = wp_parse_args($args, $defaults);
665 665
 
666
-    $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
666
+    $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
667 667
     $disabled = '';
668
-    if( $args['disabled'] ) {
668
+    if ($args['disabled']) {
669 669
         $disabled = ' disabled="disabled"';
670 670
     }
671 671
 
672
-    $output = '<span id="wpinv-' . wpinv_sanitize_key( $args['name'] ) . '-wrap">';
673
-    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key( $args['name'] ) . '">' . esc_html( $args['label'] ) . '</label>';
674
-    $output .= '<textarea name="' . esc_attr( $args['name'] ) . '" placeholder="' . esc_attr( $args['placeholder'] ) . '" id="' . wpinv_sanitize_key( $args['name'] ) . '" class="' . $class . '"' . $disabled . '>' . esc_attr( $args['value'] ) . '</textarea>';
672
+    $output = '<span id="wpinv-' . wpinv_sanitize_key($args['name']) . '-wrap">';
673
+    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key($args['name']) . '">' . esc_html($args['label']) . '</label>';
674
+    $output .= '<textarea name="' . esc_attr($args['name']) . '" placeholder="' . esc_attr($args['placeholder']) . '" id="' . wpinv_sanitize_key($args['name']) . '" class="' . $class . '"' . $disabled . '>' . esc_attr($args['value']) . '</textarea>';
675 675
 
676
-    if ( ! empty( $args['desc'] ) ) {
677
-        $output .= '<span class="wpinv-description">' . esc_html( $args['desc'] ) . '</span>';
676
+    if (!empty($args['desc'])) {
677
+        $output .= '<span class="wpinv-description">' . esc_html($args['desc']) . '</span>';
678 678
     }
679 679
     $output .= '</span>';
680 680
 
681 681
     return $output;
682 682
 }
683 683
 
684
-function wpinv_html_ajax_user_search( $args = array() ) {
684
+function wpinv_html_ajax_user_search($args = array()) {
685 685
     $defaults = array(
686 686
         'name'        => 'user_id',
687 687
         'value'       => null,
688
-        'placeholder' => __( 'Enter username', 'invoicing' ),
688
+        'placeholder' => __('Enter username', 'invoicing'),
689 689
         'label'       => null,
690 690
         'desc'        => null,
691 691
         'class'       => '',
@@ -694,13 +694,13 @@  discard block
 block discarded – undo
694 694
         'data'        => false
695 695
     );
696 696
 
697
-    $args = wp_parse_args( $args, $defaults );
697
+    $args = wp_parse_args($args, $defaults);
698 698
 
699 699
     $args['class'] = 'wpinv-ajax-user-search ' . $args['class'];
700 700
 
701 701
     $output  = '<span class="wpinv_user_search_wrap">';
702
-        $output .= wpinv_html_text( $args );
703
-        $output .= '<span class="wpinv_user_search_results hidden"><a class="wpinv-ajax-user-cancel" title="' . __( 'Cancel', 'invoicing' ) . '" aria-label="' . __( 'Cancel', 'invoicing' ) . '" href="#">x</a><span></span></span>';
702
+        $output .= wpinv_html_text($args);
703
+        $output .= '<span class="wpinv_user_search_results hidden"><a class="wpinv-ajax-user-cancel" title="' . __('Cancel', 'invoicing') . '" aria-label="' . __('Cancel', 'invoicing') . '" href="#">x</a><span></span></span>';
704 704
     $output .= '</span>';
705 705
 
706 706
     return $output;
@@ -711,20 +711,20 @@  discard block
 block discarded – undo
711 711
  * 
712 712
  * @param string $template the template that is currently being used.
713 713
  */
714
-function wpinv_template( $template ) {
714
+function wpinv_template($template) {
715 715
     global $post;
716 716
 
717
-    if ( ! is_admin() && ( is_single() || is_404() ) && ! empty( $post->ID ) && getpaid_is_invoice_post_type( get_post_type( $post->ID ) ) ) {
717
+    if (!is_admin() && (is_single() || is_404()) && !empty($post->ID) && getpaid_is_invoice_post_type(get_post_type($post->ID))) {
718 718
 
719 719
         // If the user can view this invoice, display it.
720
-        if ( wpinv_user_can_view_invoice( $post->ID ) ) {
720
+        if (wpinv_user_can_view_invoice($post->ID)) {
721 721
 
722
-            return wpinv_get_template_part( 'wpinv-invoice-print', false, false );
722
+            return wpinv_get_template_part('wpinv-invoice-print', false, false);
723 723
 
724 724
         // Else display an error message.
725 725
         } else {
726 726
 
727
-            return wpinv_get_template_part( 'wpinv-invalid-access', false, false );
727
+            return wpinv_get_template_part('wpinv-invalid-access', false, false);
728 728
 
729 729
         }
730 730
 
@@ -732,24 +732,24 @@  discard block
 block discarded – undo
732 732
 
733 733
     return $template;
734 734
 }
735
-add_filter( 'template_include', 'wpinv_template', 10, 1 );
735
+add_filter('template_include', 'wpinv_template', 10, 1);
736 736
 
737 737
 function wpinv_get_business_address() {
738 738
     $business_address   = wpinv_store_address();
739
-    $business_address   = !empty( $business_address ) ? wpautop( wp_kses_post( $business_address ) ) : '';
739
+    $business_address   = !empty($business_address) ? wpautop(wp_kses_post($business_address)) : '';
740 740
     
741 741
     $business_address = $business_address ? '<div class="address">' . $business_address . '</div>' : '';
742 742
     
743
-    return apply_filters( 'wpinv_get_business_address', $business_address );
743
+    return apply_filters('wpinv_get_business_address', $business_address);
744 744
 }
745 745
 
746 746
 /**
747 747
  * Displays the company address.
748 748
  */
749 749
 function wpinv_display_from_address() {
750
-    wpinv_get_template( 'invoice/company-address.php' );
750
+    wpinv_get_template('invoice/company-address.php');
751 751
 }
752
-add_action( 'getpaid_invoice_details_left', 'wpinv_display_from_address', 10 );
752
+add_action('getpaid_invoice_details_left', 'wpinv_display_from_address', 10);
753 753
 
754 754
 /**
755 755
  * Generates a watermark text for an invoice.
@@ -757,9 +757,9 @@  discard block
 block discarded – undo
757 757
  * @param WPInv_Invoice $invoice
758 758
  * @return string
759 759
  */
760
-function wpinv_watermark( $invoice ) {
761
-    $watermark = wpinv_get_watermark( $invoice );
762
-    return apply_filters( 'wpinv_get_watermark', $watermark, $invoice );
760
+function wpinv_watermark($invoice) {
761
+    $watermark = wpinv_get_watermark($invoice);
762
+    return apply_filters('wpinv_get_watermark', $watermark, $invoice);
763 763
 }
764 764
 
765 765
 /**
@@ -768,37 +768,37 @@  discard block
 block discarded – undo
768 768
  * @param WPInv_Invoice $invoice
769 769
  * @return string
770 770
  */
771
-function wpinv_get_watermark( $invoice ) {
771
+function wpinv_get_watermark($invoice) {
772 772
     return $invoice->get_status_nicename();
773 773
 }
774 774
 
775 775
 /**
776 776
  * @deprecated
777 777
  */
778
-function wpinv_display_invoice_details( $invoice ) {
779
-    return getpaid_invoice_meta( $invoice );
778
+function wpinv_display_invoice_details($invoice) {
779
+    return getpaid_invoice_meta($invoice);
780 780
 }
781 781
 
782 782
 /**
783 783
  * Displays invoice meta.
784 784
  */
785
-function getpaid_invoice_meta( $invoice ) {
785
+function getpaid_invoice_meta($invoice) {
786 786
 
787
-    $invoice = new WPInv_Invoice( $invoice );
787
+    $invoice = new WPInv_Invoice($invoice);
788 788
 
789 789
     // Ensure that we have an invoice.
790
-    if ( 0 == $invoice->get_id() ) {
790
+    if (0 == $invoice->get_id()) {
791 791
         return;
792 792
     }
793 793
 
794 794
     // Get the invoice meta.
795
-    $meta = getpaid_get_invoice_meta( $invoice );
795
+    $meta = getpaid_get_invoice_meta($invoice);
796 796
 
797 797
     // Display the meta.
798
-    wpinv_get_template( 'invoice/invoice-meta.php', compact( 'invoice', 'meta' ) );
798
+    wpinv_get_template('invoice/invoice-meta.php', compact('invoice', 'meta'));
799 799
 
800 800
 }
801
-add_action( 'getpaid_invoice_details_right', 'getpaid_invoice_meta', 10 );
801
+add_action('getpaid_invoice_details_right', 'getpaid_invoice_meta', 10);
802 802
 
803 803
 /**
804 804
  * Retrieves the address markup to use on Invoices.
@@ -810,29 +810,29 @@  discard block
 block discarded – undo
810 810
  * @param  string $separator How to separate address lines.
811 811
  * @return string
812 812
  */
813
-function wpinv_get_invoice_address_markup( $billing_details, $separator = '<br/>' ) {
813
+function wpinv_get_invoice_address_markup($billing_details, $separator = '<br/>') {
814 814
 
815 815
     // Retrieve the address markup...
816
-    $country= empty( $billing_details['country'] ) ? '' : $billing_details['country'];
817
-    $format = wpinv_get_full_address_format( $country );
816
+    $country = empty($billing_details['country']) ? '' : $billing_details['country'];
817
+    $format = wpinv_get_full_address_format($country);
818 818
 
819 819
     // ... and the replacements.
820
-    $replacements = wpinv_get_invoice_address_replacements( $billing_details );
820
+    $replacements = wpinv_get_invoice_address_replacements($billing_details);
821 821
 
822
-    $formatted_address = str_ireplace( array_keys( $replacements ), $replacements, $format );
822
+    $formatted_address = str_ireplace(array_keys($replacements), $replacements, $format);
823 823
     
824 824
 	// Remove unavailable tags.
825
-    $formatted_address = preg_replace( "/\{\{\w+\}\}/", '', $formatted_address );
825
+    $formatted_address = preg_replace("/\{\{\w+\}\}/", '', $formatted_address);
826 826
 
827 827
     // Clean up white space.
828
-	$formatted_address = preg_replace( '/  +/', ' ', trim( $formatted_address ) );
829
-    $formatted_address = preg_replace( '/\n\n+/', "\n", $formatted_address );
828
+	$formatted_address = preg_replace('/  +/', ' ', trim($formatted_address));
829
+    $formatted_address = preg_replace('/\n\n+/', "\n", $formatted_address);
830 830
     
831 831
     // Break newlines apart and remove empty lines/trim commas and white space.
832
-	$formatted_address = array_filter( array_map( 'wpinv_trim_formatted_address_line', explode( "\n", $formatted_address ) ) );
832
+	$formatted_address = array_filter(array_map('wpinv_trim_formatted_address_line', explode("\n", $formatted_address)));
833 833
 
834 834
     // Add html breaks.
835
-	$formatted_address = implode( $separator, $formatted_address );
835
+	$formatted_address = implode($separator, $formatted_address);
836 836
 
837 837
 	// We're done!
838 838
 	return $formatted_address;
@@ -844,118 +844,118 @@  discard block
 block discarded – undo
844 844
  * 
845 845
  * @param WPInv_Invoice $invoice
846 846
  */
847
-function wpinv_display_to_address( $invoice = 0 ) {
848
-    if ( ! empty( $invoice ) ) {
849
-        wpinv_get_template( 'invoice/billing-address.php', compact( 'invoice' ) );
847
+function wpinv_display_to_address($invoice = 0) {
848
+    if (!empty($invoice)) {
849
+        wpinv_get_template('invoice/billing-address.php', compact('invoice'));
850 850
     }
851 851
 }
852
-add_action( 'getpaid_invoice_details_left', 'wpinv_display_to_address', 40 );
852
+add_action('getpaid_invoice_details_left', 'wpinv_display_to_address', 40);
853 853
 
854 854
 
855 855
 /**
856 856
  * Displays invoice line items.
857 857
  */
858
-function wpinv_display_line_items( $invoice_id = 0 ) {
858
+function wpinv_display_line_items($invoice_id = 0) {
859 859
 
860 860
     // Prepare the invoice.
861
-    $invoice = new WPInv_Invoice( $invoice_id );
861
+    $invoice = new WPInv_Invoice($invoice_id);
862 862
 
863 863
     // Abort if there is no invoice.
864
-    if ( 0 == $invoice->get_id() ) {
864
+    if (0 == $invoice->get_id()) {
865 865
         return;
866 866
     }
867 867
 
868 868
     // Line item columns.
869
-    $columns = getpaid_invoice_item_columns( $invoice );
870
-    $columns = apply_filters( 'getpaid_invoice_line_items_table_columns', $columns, $invoice );
869
+    $columns = getpaid_invoice_item_columns($invoice);
870
+    $columns = apply_filters('getpaid_invoice_line_items_table_columns', $columns, $invoice);
871 871
 
872
-    wpinv_get_template( 'invoice/line-items.php', compact( 'invoice', 'columns' ) );
872
+    wpinv_get_template('invoice/line-items.php', compact('invoice', 'columns'));
873 873
 }
874
-add_action( 'getpaid_invoice_line_items', 'wpinv_display_line_items', 10 );
874
+add_action('getpaid_invoice_line_items', 'wpinv_display_line_items', 10);
875 875
 
876 876
 /**
877 877
  * Displays invoice subscriptions.
878 878
  * 
879 879
  * @param WPInv_Invoice $invoice
880 880
  */
881
-function getpaid_display_invoice_subscriptions( $invoice ) {
881
+function getpaid_display_invoice_subscriptions($invoice) {
882 882
 
883 883
     // Subscriptions.
884
-	$subscriptions = getpaid_get_invoice_subscriptions( $invoice );
884
+	$subscriptions = getpaid_get_invoice_subscriptions($invoice);
885 885
 
886
-    if ( empty( $subscriptions ) || ! $invoice->is_recurring() ) {
886
+    if (empty($subscriptions) || !$invoice->is_recurring()) {
887 887
         return;
888 888
     }
889 889
 
890
-    $main_subscription = getpaid_get_invoice_subscription( $invoice );
890
+    $main_subscription = getpaid_get_invoice_subscription($invoice);
891 891
 
892 892
     // Display related subscriptions.
893
-    if ( is_array( $subscriptions ) ) {
894
-        printf( '<h2 class="mt-5 mb-1 h4">%s</h2>', esc_html__( 'Related Subscriptions', 'invoicing' ) );
895
-        getpaid_admin_subscription_related_subscriptions_metabox( $main_subscription, false );
893
+    if (is_array($subscriptions)) {
894
+        printf('<h2 class="mt-5 mb-1 h4">%s</h2>', esc_html__('Related Subscriptions', 'invoicing'));
895
+        getpaid_admin_subscription_related_subscriptions_metabox($main_subscription, false);
896 896
     }
897 897
 
898
-    if ( $main_subscription->get_total_payments() > 1 ) {
899
-        printf( '<h2 class="mt-5 mb-1 h4">%s</h2>', esc_html__( 'Related Invoices', 'invoicing' ) );
900
-        getpaid_admin_subscription_invoice_details_metabox( $main_subscription, false );
898
+    if ($main_subscription->get_total_payments() > 1) {
899
+        printf('<h2 class="mt-5 mb-1 h4">%s</h2>', esc_html__('Related Invoices', 'invoicing'));
900
+        getpaid_admin_subscription_invoice_details_metabox($main_subscription, false);
901 901
     }
902 902
 
903 903
 }
904
-add_action( 'getpaid_invoice_line_items', 'getpaid_display_invoice_subscriptions', 15 );
904
+add_action('getpaid_invoice_line_items', 'getpaid_display_invoice_subscriptions', 15);
905 905
 
906 906
 /**
907 907
  * Displays invoice notices on invoices.
908 908
  */
909 909
 function wpinv_display_invoice_notice() {
910 910
 
911
-    $label  = wpinv_get_option( 'vat_invoice_notice_label' );
912
-    $notice = wpinv_get_option( 'vat_invoice_notice' );
911
+    $label  = wpinv_get_option('vat_invoice_notice_label');
912
+    $notice = wpinv_get_option('vat_invoice_notice');
913 913
 
914
-    if ( empty( $label ) && empty( $notice ) ) {
914
+    if (empty($label) && empty($notice)) {
915 915
         return;
916 916
     }
917 917
 
918 918
     echo '<div class="mt-4 mb-4 wpinv-vat-notice">';
919 919
 
920
-    if ( ! empty( $label ) ) {
921
-        $label = sanitize_text_field( $label );
920
+    if (!empty($label)) {
921
+        $label = sanitize_text_field($label);
922 922
         echo "<h5>$label</h5>";
923 923
     }
924 924
 
925
-    if ( ! empty( $notice ) ) {
926
-        echo '<small class="form-text text-muted">' . wpautop( wptexturize( $notice ) ) . '</small>';
925
+    if (!empty($notice)) {
926
+        echo '<small class="form-text text-muted">' . wpautop(wptexturize($notice)) . '</small>';
927 927
     }
928 928
 
929 929
     echo '</div>';
930 930
 }
931
-add_action( 'getpaid_invoice_line_items', 'wpinv_display_invoice_notice', 100 );
931
+add_action('getpaid_invoice_line_items', 'wpinv_display_invoice_notice', 100);
932 932
 
933 933
 /**
934 934
  * @param WPInv_Invoice $invoice
935 935
  */
936
-function wpinv_display_invoice_notes( $invoice ) {
936
+function wpinv_display_invoice_notes($invoice) {
937 937
 
938 938
     // Retrieve the notes.
939
-    $notes = wpinv_get_invoice_notes( $invoice->get_id(), 'customer' );
939
+    $notes = wpinv_get_invoice_notes($invoice->get_id(), 'customer');
940 940
 
941 941
     // Abort if we have non.
942
-    if ( empty( $notes ) ) {
942
+    if (empty($notes)) {
943 943
         return;
944 944
     }
945 945
 
946 946
     // Echo the note.
947 947
     echo '<div class="getpaid-invoice-notes-wrapper position-relative my-4">';
948
-    echo '<h2 class="getpaid-invoice-notes-title mb-1 p-0 h4">' . __( 'Notes', 'invoicing' ) .'</h2>';
948
+    echo '<h2 class="getpaid-invoice-notes-title mb-1 p-0 h4">' . __('Notes', 'invoicing') . '</h2>';
949 949
     echo '<ul class="getpaid-invoice-notes text-break overflow-auto list-unstyled p-0 m-0">';
950 950
 
951
-    foreach( $notes as $note ) {
952
-        wpinv_get_invoice_note_line_item( $note );
951
+    foreach ($notes as $note) {
952
+        wpinv_get_invoice_note_line_item($note);
953 953
     }
954 954
 
955 955
     echo '</ul>';
956 956
     echo '</div>';
957 957
 }
958
-add_action( 'getpaid_invoice_line_items', 'wpinv_display_invoice_notes', 60 );
958
+add_action('getpaid_invoice_line_items', 'wpinv_display_invoice_notes', 60);
959 959
 
960 960
 /**
961 961
  * Loads scripts on our invoice templates.
@@ -963,31 +963,31 @@  discard block
 block discarded – undo
963 963
 function wpinv_display_style() {
964 964
 
965 965
     // Make sure that all scripts have been loaded.
966
-    if ( ! did_action( 'wp_enqueue_scripts' ) ) {
967
-        do_action( 'wp_enqueue_scripts' );
966
+    if (!did_action('wp_enqueue_scripts')) {
967
+        do_action('wp_enqueue_scripts');
968 968
     }
969 969
 
970 970
     // Register the invoices style.
971
-    wp_register_style( 'wpinv-single-style', WPINV_PLUGIN_URL . 'assets/css/invoice.css', array(), filemtime( WPINV_PLUGIN_DIR . 'assets/css/invoice.css' ) );
971
+    wp_register_style('wpinv-single-style', WPINV_PLUGIN_URL . 'assets/css/invoice.css', array(), filemtime(WPINV_PLUGIN_DIR . 'assets/css/invoice.css'));
972 972
 
973 973
     // Load required styles
974
-    wp_print_styles( 'wpinv-single-style' );
975
-    wp_print_styles( 'ayecode-ui' );
974
+    wp_print_styles('wpinv-single-style');
975
+    wp_print_styles('ayecode-ui');
976 976
 
977 977
     // Maybe load custom css.
978
-    $custom_css = wpinv_get_option( 'template_custom_css' );
978
+    $custom_css = wpinv_get_option('template_custom_css');
979 979
 
980
-    if ( isset( $custom_css ) && ! empty( $custom_css ) ) {
981
-        $custom_css     = wp_kses( $custom_css, array( '\'', '\"' ) );
982
-        $custom_css     = str_replace( '&gt;', '>', $custom_css );
980
+    if (isset($custom_css) && !empty($custom_css)) {
981
+        $custom_css     = wp_kses($custom_css, array('\'', '\"'));
982
+        $custom_css     = str_replace('&gt;', '>', $custom_css);
983 983
         echo '<style type="text/css">';
984 984
         echo $custom_css;
985 985
         echo '</style>';
986 986
     }
987 987
 
988 988
 }
989
-add_action( 'wpinv_invoice_print_head', 'wpinv_display_style' );
990
-add_action( 'wpinv_invalid_invoice_head', 'wpinv_display_style' );
989
+add_action('wpinv_invoice_print_head', 'wpinv_display_style');
990
+add_action('wpinv_invalid_invoice_head', 'wpinv_display_style');
991 991
 
992 992
 
993 993
 /**
@@ -999,41 +999,41 @@  discard block
 block discarded – undo
999 999
     // Retrieve the current invoice.
1000 1000
     $invoice_id = getpaid_get_current_invoice_id();
1001 1001
 
1002
-    if ( empty( $invoice_id ) ) {
1002
+    if (empty($invoice_id)) {
1003 1003
 
1004 1004
         return aui()->alert(
1005 1005
             array(
1006 1006
                 'type'    => 'warning',
1007
-                'content' => __( 'Invalid invoice', 'invoicing' ),
1007
+                'content' => __('Invalid invoice', 'invoicing'),
1008 1008
             )
1009 1009
         );
1010 1010
 
1011 1011
     }
1012 1012
 
1013 1013
     // Can the user view this invoice?
1014
-    if ( ! wpinv_user_can_view_invoice( $invoice_id ) ) {
1014
+    if (!wpinv_user_can_view_invoice($invoice_id)) {
1015 1015
 
1016 1016
         return aui()->alert(
1017 1017
             array(
1018 1018
                 'type'    => 'warning',
1019
-                'content' => __( 'You are not allowed to view this invoice', 'invoicing' ),
1019
+                'content' => __('You are not allowed to view this invoice', 'invoicing'),
1020 1020
             )
1021 1021
         );
1022 1022
 
1023 1023
     }
1024 1024
 
1025 1025
     // Ensure that it is not yet paid for.
1026
-    $invoice = new WPInv_Invoice( $invoice_id );
1026
+    $invoice = new WPInv_Invoice($invoice_id);
1027 1027
 
1028 1028
     // Maybe mark it as viewed.
1029
-    getpaid_maybe_mark_invoice_as_viewed( $invoice );
1029
+    getpaid_maybe_mark_invoice_as_viewed($invoice);
1030 1030
 
1031
-    if ( $invoice->is_paid() ) {
1031
+    if ($invoice->is_paid()) {
1032 1032
 
1033 1033
         return aui()->alert(
1034 1034
             array(
1035 1035
                 'type'    => 'success',
1036
-                'content' => __( 'This invoice has already been paid.', 'invoicing' ),
1036
+                'content' => __('This invoice has already been paid.', 'invoicing'),
1037 1037
             )
1038 1038
         );
1039 1039
 
@@ -1043,15 +1043,15 @@  discard block
 block discarded – undo
1043 1043
     $wpi_checkout_id = $invoice_id;
1044 1044
 
1045 1045
     // Retrieve appropriate payment form.
1046
-    $payment_form = new GetPaid_Payment_Form( $invoice->get_meta( 'force_payment_form' ) );
1047
-    $payment_form = $payment_form->exists() ? $payment_form : new GetPaid_Payment_Form( wpinv_get_default_payment_form() );
1046
+    $payment_form = new GetPaid_Payment_Form($invoice->get_meta('force_payment_form'));
1047
+    $payment_form = $payment_form->exists() ? $payment_form : new GetPaid_Payment_Form(wpinv_get_default_payment_form());
1048 1048
 
1049
-    if ( ! $payment_form->exists() ) {
1049
+    if (!$payment_form->exists()) {
1050 1050
 
1051 1051
         return aui()->alert(
1052 1052
             array(
1053 1053
                 'type'    => 'warning',
1054
-                'content' => __( 'Error loading the payment form', 'invoicing' ),
1054
+                'content' => __('Error loading the payment form', 'invoicing'),
1055 1055
             )
1056 1056
         );
1057 1057
 
@@ -1060,29 +1060,29 @@  discard block
 block discarded – undo
1060 1060
     // Set the invoice.
1061 1061
     $payment_form->invoice = $invoice;
1062 1062
 
1063
-    if ( ! $payment_form->is_default() ) {
1063
+    if (!$payment_form->is_default()) {
1064 1064
 
1065 1065
         $items    = array();
1066 1066
         $item_ids = array();
1067 1067
 
1068
-        foreach ( $invoice->get_items() as $item ) {
1069
-            if ( ! in_array( $item->get_id(), $item_ids ) ) {
1068
+        foreach ($invoice->get_items() as $item) {
1069
+            if (!in_array($item->get_id(), $item_ids)) {
1070 1070
                 $item_ids[] = $item->get_id();
1071 1071
                 $items[]    = $item;
1072 1072
             }
1073 1073
         }
1074 1074
 
1075
-        foreach ( $payment_form->get_items() as $item ) {
1076
-            if ( ! in_array( $item->get_id(), $item_ids ) ) {
1075
+        foreach ($payment_form->get_items() as $item) {
1076
+            if (!in_array($item->get_id(), $item_ids)) {
1077 1077
                 $item_ids[] = $item->get_id();
1078 1078
                 $items[]    = $item;
1079 1079
             }
1080 1080
         }
1081 1081
 
1082
-        $payment_form->set_items( $items );
1082
+        $payment_form->set_items($items);
1083 1083
 
1084 1084
     } else {
1085
-        $payment_form->set_items( $invoice->get_items() );
1085
+        $payment_form->set_items($invoice->get_items());
1086 1086
     }
1087 1087
 
1088 1088
     // Generate the html.
@@ -1091,7 +1091,7 @@  discard block
 block discarded – undo
1091 1091
 }
1092 1092
 
1093 1093
 function wpinv_empty_cart_message() {
1094
-	return apply_filters( 'wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __( 'Your cart is empty.', 'invoicing' ) . '</span>' );
1094
+	return apply_filters('wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __('Your cart is empty.', 'invoicing') . '</span>');
1095 1095
 }
1096 1096
 
1097 1097
 /**
@@ -1108,76 +1108,76 @@  discard block
 block discarded – undo
1108 1108
         )
1109 1109
     );
1110 1110
 }
1111
-add_action( 'wpinv_cart_empty', 'wpinv_empty_checkout_cart' );
1111
+add_action('wpinv_cart_empty', 'wpinv_empty_checkout_cart');
1112 1112
 
1113 1113
 /**
1114 1114
  * Filters the receipt page.
1115 1115
  */
1116
-function wpinv_filter_success_page_content( $content ) {
1116
+function wpinv_filter_success_page_content($content) {
1117 1117
 
1118 1118
     // Maybe abort early.
1119
-    if ( is_admin() || ! is_singular() || ! in_the_loop() || ! is_main_query() || is_preview() ) {
1119
+    if (is_admin() || !is_singular() || !in_the_loop() || !is_main_query() || is_preview()) {
1120 1120
         return $content;
1121 1121
     }
1122 1122
 
1123 1123
     // Ensure this is our page.
1124
-    if ( isset( $_GET['payment-confirm'] ) && wpinv_is_success_page() ) {
1124
+    if (isset($_GET['payment-confirm']) && wpinv_is_success_page()) {
1125 1125
 
1126
-        $gateway = sanitize_text_field( $_GET['payment-confirm'] );
1127
-        return apply_filters( "wpinv_payment_confirm_$gateway", $content );
1126
+        $gateway = sanitize_text_field($_GET['payment-confirm']);
1127
+        return apply_filters("wpinv_payment_confirm_$gateway", $content);
1128 1128
 
1129 1129
     }
1130 1130
 
1131 1131
     return $content;
1132 1132
 }
1133
-add_filter( 'the_content', 'wpinv_filter_success_page_content', 99999 );
1133
+add_filter('the_content', 'wpinv_filter_success_page_content', 99999);
1134 1134
 
1135
-function wpinv_invoice_link( $invoice_id ) {
1136
-    $invoice = wpinv_get_invoice( $invoice_id );
1135
+function wpinv_invoice_link($invoice_id) {
1136
+    $invoice = wpinv_get_invoice($invoice_id);
1137 1137
 
1138
-    if ( empty( $invoice ) ) {
1138
+    if (empty($invoice)) {
1139 1139
         return NULL;
1140 1140
     }
1141 1141
 
1142
-    $invoice_link = '<a href="' . esc_url( $invoice->get_view_url() ) . '">' . $invoice->get_number() . '</a>';
1142
+    $invoice_link = '<a href="' . esc_url($invoice->get_view_url()) . '">' . $invoice->get_number() . '</a>';
1143 1143
 
1144
-    return apply_filters( 'wpinv_get_invoice_link', $invoice_link, $invoice );
1144
+    return apply_filters('wpinv_get_invoice_link', $invoice_link, $invoice);
1145 1145
 }
1146 1146
 
1147
-function wpinv_get_invoice_note_line_item( $note, $echo = true ) {
1148
-    if ( empty( $note ) ) {
1147
+function wpinv_get_invoice_note_line_item($note, $echo = true) {
1148
+    if (empty($note)) {
1149 1149
         return NULL;
1150 1150
     }
1151 1151
 
1152
-    if ( is_int( $note ) ) {
1153
-        $note = get_comment( $note );
1152
+    if (is_int($note)) {
1153
+        $note = get_comment($note);
1154 1154
     }
1155 1155
 
1156
-    if ( !( is_object( $note ) && is_a( $note, 'WP_Comment' ) ) ) {
1156
+    if (!(is_object($note) && is_a($note, 'WP_Comment'))) {
1157 1157
         return NULL;
1158 1158
     }
1159 1159
 
1160
-    $note_classes   = array( 'note' );
1161
-    $note_classes[] = get_comment_meta( $note->comment_ID, '_wpi_customer_note', true ) ? 'customer-note' : '';
1160
+    $note_classes   = array('note');
1161
+    $note_classes[] = get_comment_meta($note->comment_ID, '_wpi_customer_note', true) ? 'customer-note' : '';
1162 1162
     $note_classes[] = $note->comment_author === 'System' ? 'system-note' : '';
1163
-    $note_classes   = apply_filters( 'wpinv_invoice_note_class', array_filter( $note_classes ), $note );
1164
-    $note_classes   = !empty( $note_classes ) ? implode( ' ', $note_classes ) : '';
1163
+    $note_classes   = apply_filters('wpinv_invoice_note_class', array_filter($note_classes), $note);
1164
+    $note_classes   = !empty($note_classes) ? implode(' ', $note_classes) : '';
1165 1165
 
1166 1166
     ob_start();
1167 1167
     ?>
1168
-    <li rel="<?php echo absint( $note->comment_ID ) ; ?>" class="<?php echo esc_attr( $note_classes ); ?> mb-2">
1168
+    <li rel="<?php echo absint($note->comment_ID); ?>" class="<?php echo esc_attr($note_classes); ?> mb-2">
1169 1169
         <div class="note_content">
1170 1170
 
1171
-            <?php echo wptexturize( wp_kses_post( $note->comment_content ) ); ?>
1171
+            <?php echo wptexturize(wp_kses_post($note->comment_content)); ?>
1172 1172
 
1173
-            <?php if ( ! is_admin() ) : ?>
1173
+            <?php if (!is_admin()) : ?>
1174 1174
                 <em class="small form-text text-muted mt-0">
1175 1175
                     <?php
1176 1176
                         printf(
1177
-                            __( '%1$s - %2$s at %3$s', 'invoicing' ),
1177
+                            __('%1$s - %2$s at %3$s', 'invoicing'),
1178 1178
                             $note->comment_author,
1179
-                            getpaid_format_date_value( $note->comment_date ),
1180
-                            date_i18n( get_option( 'time_format' ), strtotime( $note->comment_date ) )
1179
+                            getpaid_format_date_value($note->comment_date),
1180
+                            date_i18n(get_option('time_format'), strtotime($note->comment_date))
1181 1181
                         );
1182 1182
                     ?>
1183 1183
                 </em>
@@ -1185,21 +1185,21 @@  discard block
 block discarded – undo
1185 1185
 
1186 1186
         </div>
1187 1187
 
1188
-        <?php if ( is_admin() ) : ?>
1188
+        <?php if (is_admin()) : ?>
1189 1189
 
1190 1190
             <p class="meta px-4 py-2">
1191
-                <abbr class="exact-date" title="<?php echo esc_attr( $note->comment_date ); ?>">
1191
+                <abbr class="exact-date" title="<?php echo esc_attr($note->comment_date); ?>">
1192 1192
                     <?php
1193 1193
                         printf(
1194
-                            __( '%1$s - %2$s at %3$s', 'invoicing' ),
1194
+                            __('%1$s - %2$s at %3$s', 'invoicing'),
1195 1195
                             $note->comment_author,
1196
-                            getpaid_format_date_value( $note->comment_date ),
1197
-                            date_i18n( get_option( 'time_format' ), strtotime( $note->comment_date ) )
1196
+                            getpaid_format_date_value($note->comment_date),
1197
+                            date_i18n(get_option('time_format'), strtotime($note->comment_date))
1198 1198
                         );
1199 1199
                     ?>
1200 1200
                 </abbr>&nbsp;&nbsp;
1201
-                <?php if ( $note->comment_author !== 'System' && wpinv_current_user_can_manage_invoicing() ) { ?>
1202
-                    <a href="#" class="delete_note"><?php _e( 'Delete note', 'invoicing' ); ?></a>
1201
+                <?php if ($note->comment_author !== 'System' && wpinv_current_user_can_manage_invoicing()) { ?>
1202
+                    <a href="#" class="delete_note"><?php _e('Delete note', 'invoicing'); ?></a>
1203 1203
                 <?php } ?>
1204 1204
             </p>
1205 1205
 
@@ -1208,9 +1208,9 @@  discard block
 block discarded – undo
1208 1208
     </li>
1209 1209
     <?php
1210 1210
     $note_content = ob_get_clean();
1211
-    $note_content = apply_filters( 'wpinv_get_invoice_note_line_item', $note_content, $note, $echo );
1211
+    $note_content = apply_filters('wpinv_get_invoice_note_line_item', $note_content, $note, $echo);
1212 1212
 
1213
-    if ( $echo ) {
1213
+    if ($echo) {
1214 1214
         echo $note_content;
1215 1215
     } else {
1216 1216
         return $note_content;
@@ -1224,21 +1224,21 @@  discard block
 block discarded – undo
1224 1224
  * @return string
1225 1225
  */
1226 1226
 function wpinv_get_policy_text() {
1227
-    $privacy_page_id = get_option( 'wp_page_for_privacy_policy', 0 );
1227
+    $privacy_page_id = get_option('wp_page_for_privacy_policy', 0);
1228 1228
 
1229
-    $text = wpinv_get_option('invoicing_privacy_checkout_message', sprintf( __( 'Your personal data will be used to process your invoice, payment and for other purposes described in our %s.', 'invoicing' ), '[wpinv_privacy_policy]' ));
1229
+    $text = wpinv_get_option('invoicing_privacy_checkout_message', sprintf(__('Your personal data will be used to process your invoice, payment and for other purposes described in our %s.', 'invoicing'), '[wpinv_privacy_policy]'));
1230 1230
 
1231
-    if(!$privacy_page_id){
1232
-        $privacy_page_id = wpinv_get_option( 'privacy_page', 0 );
1231
+    if (!$privacy_page_id) {
1232
+        $privacy_page_id = wpinv_get_option('privacy_page', 0);
1233 1233
     }
1234 1234
 
1235
-    $privacy_link    = $privacy_page_id ? '<a href="' . esc_url( get_permalink( $privacy_page_id ) ) . '" class="wpinv-privacy-policy-link" target="_blank">' . __( 'privacy policy', 'invoicing' ) . '</a>' : __( 'privacy policy', 'invoicing' );
1235
+    $privacy_link = $privacy_page_id ? '<a href="' . esc_url(get_permalink($privacy_page_id)) . '" class="wpinv-privacy-policy-link" target="_blank">' . __('privacy policy', 'invoicing') . '</a>' : __('privacy policy', 'invoicing');
1236 1236
 
1237 1237
     $find_replace = array(
1238 1238
         '[wpinv_privacy_policy]' => $privacy_link,
1239 1239
     );
1240 1240
 
1241
-    $privacy_text = str_replace( array_keys( $find_replace ), array_values( $find_replace ), $text );
1241
+    $privacy_text = str_replace(array_keys($find_replace), array_values($find_replace), $text);
1242 1242
 
1243 1243
     return wp_kses_post(wpautop($privacy_text));
1244 1244
 }
@@ -1246,21 +1246,21 @@  discard block
 block discarded – undo
1246 1246
 function wpinv_oxygen_fix_conflict() {
1247 1247
     global $ct_ignore_post_types;
1248 1248
 
1249
-    if ( ! is_array( $ct_ignore_post_types ) ) {
1249
+    if (!is_array($ct_ignore_post_types)) {
1250 1250
         $ct_ignore_post_types = array();
1251 1251
     }
1252 1252
 
1253
-    $post_types = array( 'wpi_discount', 'wpi_invoice', 'wpi_item', 'wpi_payment_form' );
1253
+    $post_types = array('wpi_discount', 'wpi_invoice', 'wpi_item', 'wpi_payment_form');
1254 1254
 
1255
-    foreach ( $post_types as $post_type ) {
1255
+    foreach ($post_types as $post_type) {
1256 1256
         $ct_ignore_post_types[] = $post_type;
1257 1257
 
1258 1258
         // Ignore post type
1259
-        add_filter( 'pre_option_oxygen_vsb_ignore_post_type_' . $post_type, '__return_true', 999 );
1259
+        add_filter('pre_option_oxygen_vsb_ignore_post_type_' . $post_type, '__return_true', 999);
1260 1260
     }
1261 1261
 
1262
-    remove_filter( 'template_include', 'wpinv_template', 10, 1 );
1263
-    add_filter( 'template_include', 'wpinv_template', 999, 1 );
1262
+    remove_filter('template_include', 'wpinv_template', 10, 1);
1263
+    add_filter('template_include', 'wpinv_template', 999, 1);
1264 1264
 }
1265 1265
 
1266 1266
 /**
@@ -1268,10 +1268,10 @@  discard block
 block discarded – undo
1268 1268
  * 
1269 1269
  * @param GetPaid_Payment_Form $form
1270 1270
  */
1271
-function getpaid_display_payment_form( $form ) {
1271
+function getpaid_display_payment_form($form) {
1272 1272
 
1273
-    if ( is_numeric( $form ) ) {
1274
-        $form = new GetPaid_Payment_Form( $form );
1273
+    if (is_numeric($form)) {
1274
+        $form = new GetPaid_Payment_Form($form);
1275 1275
     }
1276 1276
 
1277 1277
     $form->display();
@@ -1281,55 +1281,55 @@  discard block
 block discarded – undo
1281 1281
 /**
1282 1282
  * Helper function to display a item payment form on the frontend.
1283 1283
  */
1284
-function getpaid_display_item_payment_form( $items ) {
1284
+function getpaid_display_item_payment_form($items) {
1285 1285
 
1286
-    $form = new GetPaid_Payment_Form( wpinv_get_default_payment_form() );
1287
-    $form->set_items( $items );
1286
+    $form = new GetPaid_Payment_Form(wpinv_get_default_payment_form());
1287
+    $form->set_items($items);
1288 1288
 
1289
-    if ( 0 == count( $form->get_items() ) ) {
1289
+    if (0 == count($form->get_items())) {
1290 1290
         echo aui()->alert(
1291 1291
 			array(
1292 1292
 				'type'    => 'warning',
1293
-				'content' => __( 'No published items found', 'invoicing' ),
1293
+				'content' => __('No published items found', 'invoicing'),
1294 1294
 			)
1295 1295
         );
1296 1296
         return;
1297 1297
     }
1298 1298
 
1299
-    $form_items = esc_attr( getpaid_convert_items_to_string( $items ) );
1299
+    $form_items = esc_attr(getpaid_convert_items_to_string($items));
1300 1300
     $form_items = "<input type='hidden' name='getpaid-form-items' value='$form_items' />";
1301
-    $form->display( $form_items );
1301
+    $form->display($form_items);
1302 1302
 }
1303 1303
 
1304 1304
 /**
1305 1305
  * Helper function to display an invoice payment form on the frontend.
1306 1306
  */
1307
-function getpaid_display_invoice_payment_form( $invoice_id ) {
1307
+function getpaid_display_invoice_payment_form($invoice_id) {
1308 1308
 
1309
-    $invoice = wpinv_get_invoice( $invoice_id );
1309
+    $invoice = wpinv_get_invoice($invoice_id);
1310 1310
 
1311
-    if ( empty( $invoice ) ) {
1311
+    if (empty($invoice)) {
1312 1312
 		echo aui()->alert(
1313 1313
 			array(
1314 1314
 				'type'    => 'warning',
1315
-				'content' => __( 'Invoice not found', 'invoicing' ),
1315
+				'content' => __('Invoice not found', 'invoicing'),
1316 1316
 			)
1317 1317
         );
1318 1318
         return;
1319 1319
     }
1320 1320
 
1321
-    if ( $invoice->is_paid() ) {
1321
+    if ($invoice->is_paid()) {
1322 1322
 		echo aui()->alert(
1323 1323
 			array(
1324 1324
 				'type'    => 'warning',
1325
-				'content' => __( 'Invoice has already been paid', 'invoicing' ),
1325
+				'content' => __('Invoice has already been paid', 'invoicing'),
1326 1326
 			)
1327 1327
         );
1328 1328
         return;
1329 1329
     }
1330 1330
 
1331
-    $form = new GetPaid_Payment_Form( wpinv_get_default_payment_form() );
1332
-    $form->set_items( $invoice->get_items() );
1331
+    $form = new GetPaid_Payment_Form(wpinv_get_default_payment_form());
1332
+    $form->set_items($invoice->get_items());
1333 1333
 
1334 1334
     $form->display();
1335 1335
 }
@@ -1337,23 +1337,23 @@  discard block
 block discarded – undo
1337 1337
 /**
1338 1338
  * Helper function to convert item string to array.
1339 1339
  */
1340
-function getpaid_convert_items_to_array( $items ) {
1341
-    $items    = array_filter( array_map( 'trim', explode( ',', $items ) ) );
1340
+function getpaid_convert_items_to_array($items) {
1341
+    $items    = array_filter(array_map('trim', explode(',', $items)));
1342 1342
     $prepared = array();
1343 1343
 
1344
-    foreach ( $items as $item ) {
1345
-        $data = array_map( 'trim', explode( '|', $item ) );
1344
+    foreach ($items as $item) {
1345
+        $data = array_map('trim', explode('|', $item));
1346 1346
 
1347
-        if ( empty( $data[0] ) || ! is_numeric( $data[0] ) ) {
1347
+        if (empty($data[0]) || !is_numeric($data[0])) {
1348 1348
             continue;
1349 1349
         }
1350 1350
 
1351 1351
         $quantity = 1;
1352
-        if ( isset( $data[1] ) && is_numeric( $data[1] ) ) {
1352
+        if (isset($data[1]) && is_numeric($data[1])) {
1353 1353
             $quantity = (float) $data[1];
1354 1354
         }
1355 1355
 
1356
-        $prepared[ $data[0] ] = $quantity;
1356
+        $prepared[$data[0]] = $quantity;
1357 1357
 
1358 1358
     }
1359 1359
 
@@ -1363,13 +1363,13 @@  discard block
 block discarded – undo
1363 1363
 /**
1364 1364
  * Helper function to convert item array to string.
1365 1365
  */
1366
-function getpaid_convert_items_to_string( $items ) {
1366
+function getpaid_convert_items_to_string($items) {
1367 1367
     $prepared = array();
1368 1368
 
1369
-    foreach ( $items as $item => $quantity ) {
1369
+    foreach ($items as $item => $quantity) {
1370 1370
         $prepared[] = "$item|$quantity";
1371 1371
     }
1372
-    return implode( ',', $prepared );
1372
+    return implode(',', $prepared);
1373 1373
 }
1374 1374
 
1375 1375
 /**
@@ -1377,21 +1377,21 @@  discard block
 block discarded – undo
1377 1377
  * 
1378 1378
  * Provide a label and one of $form, $items or $invoice.
1379 1379
  */
1380
-function getpaid_get_payment_button( $label, $form = null, $items = null, $invoice = null ) {
1381
-    $label = sanitize_text_field( $label );
1380
+function getpaid_get_payment_button($label, $form = null, $items = null, $invoice = null) {
1381
+    $label = sanitize_text_field($label);
1382 1382
 
1383
-    if ( ! empty( $form ) ) {
1384
-        $form  = esc_attr( $form );
1383
+    if (!empty($form)) {
1384
+        $form = esc_attr($form);
1385 1385
         return "<button class='btn btn-primary getpaid-payment-button' type='button' data-form='$form'>$label</button>"; 
1386 1386
     }
1387 1387
 	
1388
-	if ( ! empty( $items ) ) {
1389
-        $items  = esc_attr( $items );
1388
+	if (!empty($items)) {
1389
+        $items = esc_attr($items);
1390 1390
         return "<button class='btn btn-primary getpaid-payment-button' type='button' data-item='$items'>$label</button>"; 
1391 1391
     }
1392 1392
     
1393
-    if ( ! empty( $invoice ) ) {
1394
-        $invoice  = esc_attr( $invoice );
1393
+    if (!empty($invoice)) {
1394
+        $invoice = esc_attr($invoice);
1395 1395
         return "<button class='btn btn-primary getpaid-payment-button' type='button' data-invoice='$invoice'>$label</button>"; 
1396 1396
     }
1397 1397
 
@@ -1402,18 +1402,18 @@  discard block
 block discarded – undo
1402 1402
  *
1403 1403
  * @param WPInv_Invoice $invoice
1404 1404
  */
1405
-function getpaid_the_invoice_description( $invoice ) {
1405
+function getpaid_the_invoice_description($invoice) {
1406 1406
     $description = $invoice->get_description();
1407 1407
 
1408
-    if ( empty( $description ) ) {
1408
+    if (empty($description)) {
1409 1409
         return;
1410 1410
     }
1411 1411
 
1412
-    $description = wp_kses_post( wpautop( $description ) );
1412
+    $description = wp_kses_post(wpautop($description));
1413 1413
     echo "<small class='getpaid-invoice-description text-dark p-2 form-text' style='margin-bottom: 20px; border-left: 2px solid #2196F3;'><em>$description</em></small>";
1414 1414
 }
1415
-add_action( 'getpaid_invoice_line_items', 'getpaid_the_invoice_description', 100 );
1416
-add_action( 'wpinv_email_billing_details', 'getpaid_the_invoice_description', 100 );
1415
+add_action('getpaid_invoice_line_items', 'getpaid_the_invoice_description', 100);
1416
+add_action('wpinv_email_billing_details', 'getpaid_the_invoice_description', 100);
1417 1417
 
1418 1418
 /**
1419 1419
  * Render element on a form.
@@ -1421,60 +1421,60 @@  discard block
 block discarded – undo
1421 1421
  * @param array $element
1422 1422
  * @param GetPaid_Payment_Form $form
1423 1423
  */
1424
-function getpaid_payment_form_element( $element, $form ) {
1424
+function getpaid_payment_form_element($element, $form) {
1425 1425
 
1426 1426
     // Set up the args.
1427
-    $element_type    = trim( $element['type'] );
1427
+    $element_type    = trim($element['type']);
1428 1428
     $element['form'] = $form;
1429
-    extract( $element );
1429
+    extract($element);
1430 1430
 
1431 1431
     // Try to locate the appropriate template.
1432
-    $located = wpinv_locate_template( "payment-forms/elements/$element_type.php" );
1432
+    $located = wpinv_locate_template("payment-forms/elements/$element_type.php");
1433 1433
     
1434 1434
     // Abort if this is not our element.
1435
-    if ( empty( $located ) || ! file_exists( $located ) ) {
1435
+    if (empty($located) || !file_exists($located)) {
1436 1436
         return;
1437 1437
     }
1438 1438
 
1439 1439
     // Generate the class and id of the element.
1440
-    $wrapper_class = 'getpaid-payment-form-element-' . trim( esc_attr( $element_type ) );
1441
-    $id            = isset( $id ) ? $id : uniqid( 'gp' );
1440
+    $wrapper_class = 'getpaid-payment-form-element-' . trim(esc_attr($element_type));
1441
+    $id            = isset($id) ? $id : uniqid('gp');
1442 1442
 
1443 1443
     // Echo the opening wrapper.
1444 1444
     echo "<div class='getpaid-payment-form-element $wrapper_class'>";
1445 1445
 
1446 1446
     // Fires before displaying a given element type's content.
1447
-    do_action( "getpaid_before_payment_form_{$element_type}_element", $element, $form );
1447
+    do_action("getpaid_before_payment_form_{$element_type}_element", $element, $form);
1448 1448
 
1449 1449
     // Include the template for the element.
1450 1450
     include $located;
1451 1451
 
1452 1452
     // Fires after displaying a given element type's content.
1453
-    do_action( "getpaid_payment_form_{$element_type}_element", $element, $form );
1453
+    do_action("getpaid_payment_form_{$element_type}_element", $element, $form);
1454 1454
 
1455 1455
     // Echo the closing wrapper.
1456 1456
     echo '</div>';
1457 1457
 }
1458
-add_action( 'getpaid_payment_form_element', 'getpaid_payment_form_element', 10, 2 );
1458
+add_action('getpaid_payment_form_element', 'getpaid_payment_form_element', 10, 2);
1459 1459
 
1460 1460
 /**
1461 1461
  * Render an element's edit page.
1462 1462
  *
1463 1463
  * @param WP_Post $post
1464 1464
  */
1465
-function getpaid_payment_form_edit_element_template( $post ) {
1465
+function getpaid_payment_form_edit_element_template($post) {
1466 1466
 
1467 1467
     // Retrieve all elements.
1468
-    $all_elements = wp_list_pluck( wpinv_get_data( 'payment-form-elements' ), 'type' );
1468
+    $all_elements = wp_list_pluck(wpinv_get_data('payment-form-elements'), 'type');
1469 1469
 
1470
-    foreach ( $all_elements as $element ) {
1470
+    foreach ($all_elements as $element) {
1471 1471
 
1472 1472
         // Try to locate the appropriate template.
1473
-        $element = sanitize_key( $element );
1474
-        $located = wpinv_locate_template( "payment-forms-admin/edit/$element.php" );
1473
+        $element = sanitize_key($element);
1474
+        $located = wpinv_locate_template("payment-forms-admin/edit/$element.php");
1475 1475
 
1476 1476
         // Continue if this is not our element.
1477
-        if ( empty( $located ) || ! file_exists( $located ) ) {
1477
+        if (empty($located) || !file_exists($located)) {
1478 1478
             continue;
1479 1479
         }
1480 1480
 
@@ -1485,7 +1485,7 @@  discard block
 block discarded – undo
1485 1485
     }
1486 1486
 
1487 1487
 }
1488
-add_action( 'getpaid_payment_form_edit_element_template', 'getpaid_payment_form_edit_element_template' );
1488
+add_action('getpaid_payment_form_edit_element_template', 'getpaid_payment_form_edit_element_template');
1489 1489
 
1490 1490
 /**
1491 1491
  * Render an element's preview.
@@ -1494,16 +1494,16 @@  discard block
 block discarded – undo
1494 1494
 function getpaid_payment_form_render_element_preview_template() {
1495 1495
 
1496 1496
     // Retrieve all elements.
1497
-    $all_elements = wp_list_pluck( wpinv_get_data( 'payment-form-elements' ), 'type' );
1497
+    $all_elements = wp_list_pluck(wpinv_get_data('payment-form-elements'), 'type');
1498 1498
 
1499
-    foreach ( $all_elements as $element ) {
1499
+    foreach ($all_elements as $element) {
1500 1500
 
1501 1501
         // Try to locate the appropriate template.
1502
-        $element = sanitize_key( $element );
1503
-        $located = wpinv_locate_template( "payment-forms-admin/previews/$element.php" );
1502
+        $element = sanitize_key($element);
1503
+        $located = wpinv_locate_template("payment-forms-admin/previews/$element.php");
1504 1504
 
1505 1505
         // Continue if this is not our element.
1506
-        if ( empty( $located ) || ! file_exists( $located ) ) {
1506
+        if (empty($located) || !file_exists($located)) {
1507 1507
             continue;
1508 1508
         }
1509 1509
 
@@ -1514,7 +1514,7 @@  discard block
 block discarded – undo
1514 1514
     }
1515 1515
 
1516 1516
 }
1517
-add_action( 'wpinv_payment_form_render_element_template', 'getpaid_payment_form_render_element_preview_template' );
1517
+add_action('wpinv_payment_form_render_element_template', 'getpaid_payment_form_render_element_preview_template');
1518 1518
 
1519 1519
 /**
1520 1520
  * Shows a list of gateways that support recurring payments.
@@ -1522,17 +1522,17 @@  discard block
 block discarded – undo
1522 1522
 function wpinv_get_recurring_gateways_text() {
1523 1523
     $gateways = array();
1524 1524
 
1525
-    foreach ( wpinv_get_payment_gateways() as $key => $gateway ) {
1526
-        if ( wpinv_gateway_support_subscription( $key ) ) {
1527
-            $gateways[] = sanitize_text_field( $gateway['admin_label'] );
1525
+    foreach (wpinv_get_payment_gateways() as $key => $gateway) {
1526
+        if (wpinv_gateway_support_subscription($key)) {
1527
+            $gateways[] = sanitize_text_field($gateway['admin_label']);
1528 1528
         }
1529 1529
     }
1530 1530
 
1531
-    if ( empty( $gateways ) ) {
1532
-        return "<span class='form-text text-danger'>" . __( 'No active gateways support subscription payments.', 'invoicing' ) ."</span>";
1531
+    if (empty($gateways)) {
1532
+        return "<span class='form-text text-danger'>" . __('No active gateways support subscription payments.', 'invoicing') . "</span>";
1533 1533
     }
1534 1534
 
1535
-    return "<span class='form-text text-muted'>" . wp_sprintf( __( 'Subscription payments only supported by: %s', 'invoicing' ), implode( ', ', $gateways ) ) ."</span>";
1535
+    return "<span class='form-text text-muted'>" . wp_sprintf(__('Subscription payments only supported by: %s', 'invoicing'), implode(', ', $gateways)) . "</span>";
1536 1536
 
1537 1537
 }
1538 1538
 
@@ -1542,7 +1542,7 @@  discard block
 block discarded – undo
1542 1542
  * @return GetPaid_Template
1543 1543
  */
1544 1544
 function getpaid_template() {
1545
-    return getpaid()->get( 'template' );
1545
+    return getpaid()->get('template');
1546 1546
 }
1547 1547
 
1548 1548
 /**
@@ -1551,8 +1551,8 @@  discard block
 block discarded – undo
1551 1551
  * @param array args
1552 1552
  * @return string
1553 1553
  */
1554
-function getpaid_paginate_links( $args ) {
1555
-    return str_replace( 'page-link dots', 'page-link text-dark', aui()->pagination( $args ) );
1554
+function getpaid_paginate_links($args) {
1555
+    return str_replace('page-link dots', 'page-link text-dark', aui()->pagination($args));
1556 1556
 }
1557 1557
 
1558 1558
 /**
@@ -1562,21 +1562,21 @@  discard block
 block discarded – undo
1562 1562
  * @param string state
1563 1563
  * @return string
1564 1564
  */
1565
-function getpaid_get_states_select_markup( $country, $state, $placeholder, $label, $help_text, $required = false, $wrapper_class = 'col-12', $field_name = 'wpinv_state' ) {
1565
+function getpaid_get_states_select_markup($country, $state, $placeholder, $label, $help_text, $required = false, $wrapper_class = 'col-12', $field_name = 'wpinv_state') {
1566 1566
 
1567
-    $states = wpinv_get_country_states( $country );
1568
-    $uniqid = uniqid( '_' );
1567
+    $states = wpinv_get_country_states($country);
1568
+    $uniqid = uniqid('_');
1569 1569
 
1570
-    if ( ! empty( $states ) ) {
1570
+    if (!empty($states)) {
1571 1571
 
1572
-        return aui()->select( array(
1572
+        return aui()->select(array(
1573 1573
             'options'          => $states,
1574
-            'name'             => esc_attr( $field_name ),
1575
-            'id'               => sanitize_html_class( $field_name ) . $uniqid,
1576
-            'value'            => sanitize_text_field( $state ),
1574
+            'name'             => esc_attr($field_name),
1575
+            'id'               => sanitize_html_class($field_name) . $uniqid,
1576
+            'value'            => sanitize_text_field($state),
1577 1577
             'placeholder'      => $placeholder,
1578 1578
             'required'         => $required,
1579
-            'label'            => wp_kses_post( $label ),
1579
+            'label'            => wp_kses_post($label),
1580 1580
             'label_type'       => 'vertical',
1581 1581
             'help_text'        => $help_text,
1582 1582
             'class'            => 'getpaid-address-field wpinv_state',
@@ -1591,14 +1591,14 @@  discard block
 block discarded – undo
1591 1591
 
1592 1592
     return aui()->input(
1593 1593
         array(
1594
-            'name'        => esc_attr( $field_name ),
1595
-            'id'          => sanitize_html_class( $field_name ) . $uniqid,
1594
+            'name'        => esc_attr($field_name),
1595
+            'id'          => sanitize_html_class($field_name) . $uniqid,
1596 1596
             'placeholder' => $placeholder,
1597 1597
             'required'    => $required,
1598
-            'label'       => wp_kses_post( $label ),
1598
+            'label'       => wp_kses_post($label),
1599 1599
             'label_type'  => 'vertical',
1600 1600
             'help_text'   => $help_text,
1601
-            'value'       => sanitize_text_field( $state ),
1601
+            'value'       => sanitize_text_field($state),
1602 1602
             'class'       => 'getpaid-address-field wpinv_state',
1603 1603
             'wrap_class'  => "$wrapper_class getpaid-address-field-wrapper__state",
1604 1604
             'label_class' => 'getpaid-address-field-label getpaid-address-field-label__state',
@@ -1616,17 +1616,17 @@  discard block
 block discarded – undo
1616 1616
  * @param array $element
1617 1617
  * @return string
1618 1618
  */
1619
-function getpaid_get_form_element_grid_class( $element ) {
1619
+function getpaid_get_form_element_grid_class($element) {
1620 1620
 
1621
-    $type  = sanitize_html_class( $element['type'] ); 
1621
+    $type  = sanitize_html_class($element['type']); 
1622 1622
     $class = "getpaid-$type-wrapper col-12";
1623
-    $width = empty( $element['grid_width'] ) ? 'full' : $element['grid_width'];
1623
+    $width = empty($element['grid_width']) ? 'full' : $element['grid_width'];
1624 1624
 
1625
-    if ( $width == 'half' ) {
1625
+    if ($width == 'half') {
1626 1626
         $class .= " col-md-6";
1627 1627
     }
1628 1628
 
1629
-    if ( $width == 'third' ) {
1629
+    if ($width == 'third') {
1630 1630
         $class .= " col-md-4";
1631 1631
     }
1632 1632
 
Please login to merge, or discard this patch.
includes/class-wpinv-ajax.php 2 patches
Indentation   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -14,70 +14,70 @@  discard block
 block discarded – undo
14 14
 class WPInv_Ajax {
15 15
 
16 16
     /**
17
-	 * Hook in ajax handlers.
18
-	 */
19
-	public static function init() {
20
-		add_action( 'init', array( __CLASS__, 'define_ajax' ), 0 );
21
-		add_action( 'template_redirect', array( __CLASS__, 'do_wpinv_ajax' ), 0 );
22
-		self::add_ajax_events();
17
+     * Hook in ajax handlers.
18
+     */
19
+    public static function init() {
20
+        add_action( 'init', array( __CLASS__, 'define_ajax' ), 0 );
21
+        add_action( 'template_redirect', array( __CLASS__, 'do_wpinv_ajax' ), 0 );
22
+        self::add_ajax_events();
23 23
     }
24 24
 
25 25
     /**
26
-	 * Set GetPaid AJAX constant and headers.
27
-	 */
28
-	public static function define_ajax() {
29
-
30
-		if ( ! empty( $_GET['wpinv-ajax'] ) ) {
31
-			getpaid_maybe_define_constant( 'DOING_AJAX', true );
32
-			getpaid_maybe_define_constant( 'WPInv_DOING_AJAX', true );
33
-			if ( ! WP_DEBUG || ( WP_DEBUG && ! WP_DEBUG_DISPLAY ) ) {
34
-				/** @scrutinizer ignore-unhandled */ @ini_set( 'display_errors', 0 );
35
-			}
36
-			$GLOBALS['wpdb']->hide_errors();
37
-		}
26
+     * Set GetPaid AJAX constant and headers.
27
+     */
28
+    public static function define_ajax() {
29
+
30
+        if ( ! empty( $_GET['wpinv-ajax'] ) ) {
31
+            getpaid_maybe_define_constant( 'DOING_AJAX', true );
32
+            getpaid_maybe_define_constant( 'WPInv_DOING_AJAX', true );
33
+            if ( ! WP_DEBUG || ( WP_DEBUG && ! WP_DEBUG_DISPLAY ) ) {
34
+                /** @scrutinizer ignore-unhandled */ @ini_set( 'display_errors', 0 );
35
+            }
36
+            $GLOBALS['wpdb']->hide_errors();
37
+        }
38 38
 
39 39
     }
40 40
     
41 41
     /**
42
-	 * Send headers for GetPaid Ajax Requests.
43
-	 *
44
-	 * @since 1.0.18
45
-	 */
46
-	private static function wpinv_ajax_headers() {
47
-		if ( ! headers_sent() ) {
48
-			send_origin_headers();
49
-			send_nosniff_header();
50
-			nocache_headers();
51
-			header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) );
52
-			header( 'X-Robots-Tag: noindex' );
53
-			status_header( 200 );
54
-		}
42
+     * Send headers for GetPaid Ajax Requests.
43
+     *
44
+     * @since 1.0.18
45
+     */
46
+    private static function wpinv_ajax_headers() {
47
+        if ( ! headers_sent() ) {
48
+            send_origin_headers();
49
+            send_nosniff_header();
50
+            nocache_headers();
51
+            header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) );
52
+            header( 'X-Robots-Tag: noindex' );
53
+            status_header( 200 );
54
+        }
55 55
     }
56 56
     
57 57
     /**
58
-	 * Check for GetPaid Ajax request and fire action.
59
-	 */
60
-	public static function do_wpinv_ajax() {
61
-		global $wp_query;
58
+     * Check for GetPaid Ajax request and fire action.
59
+     */
60
+    public static function do_wpinv_ajax() {
61
+        global $wp_query;
62 62
 
63
-		if ( ! empty( $_GET['wpinv-ajax'] ) ) {
64
-			$wp_query->set( 'wpinv-ajax', sanitize_text_field( wp_unslash( $_GET['wpinv-ajax'] ) ) );
65
-		}
63
+        if ( ! empty( $_GET['wpinv-ajax'] ) ) {
64
+            $wp_query->set( 'wpinv-ajax', sanitize_text_field( wp_unslash( $_GET['wpinv-ajax'] ) ) );
65
+        }
66 66
 
67
-		$action = $wp_query->get( 'wpinv-ajax' );
67
+        $action = $wp_query->get( 'wpinv-ajax' );
68 68
 
69
-		if ( $action ) {
70
-			self::wpinv_ajax_headers();
71
-			$action = sanitize_text_field( $action );
72
-			do_action( 'wpinv_ajax_' . $action );
73
-			wp_die();
74
-		}
69
+        if ( $action ) {
70
+            self::wpinv_ajax_headers();
71
+            $action = sanitize_text_field( $action );
72
+            do_action( 'wpinv_ajax_' . $action );
73
+            wp_die();
74
+        }
75 75
 
76 76
     }
77 77
 
78 78
     /**
79
-	 * Hook in ajax methods.
80
-	 */
79
+     * Hook in ajax methods.
80
+     */
81 81
     public static function add_ajax_events() {
82 82
 
83 83
         // array( 'event' => is_frontend )
@@ -259,18 +259,18 @@  discard block
 block discarded – undo
259 259
         check_ajax_referer( 'getpaid_form_nonce' );
260 260
 
261 261
         // Is the request set up correctly?
262
-		if ( empty( $_GET['form'] ) && empty( $_GET['item'] ) ) {
263
-			echo aui()->alert(
264
-				array(
265
-					'type'    => 'warning',
266
-					'content' => __( 'No payment form or item provided', 'invoicing' ),
267
-				)
262
+        if ( empty( $_GET['form'] ) && empty( $_GET['item'] ) ) {
263
+            echo aui()->alert(
264
+                array(
265
+                    'type'    => 'warning',
266
+                    'content' => __( 'No payment form or item provided', 'invoicing' ),
267
+                )
268 268
             );
269 269
             exit;
270 270
         }
271 271
 
272 272
         // Payment form or button?
273
-		if ( ! empty( $_GET['form'] ) ) {
273
+        if ( ! empty( $_GET['form'] ) ) {
274 274
             $form = urldecode( $_GET['form'] );
275 275
 
276 276
             if ( false !== strpos( $form, '|' ) ) {
@@ -320,11 +320,11 @@  discard block
 block discarded – undo
320 320
                 getpaid_display_payment_form( $form );
321 321
             }
322 322
 
323
-		} else if( ! empty( $_GET['invoice'] ) ) {
324
-		    getpaid_display_invoice_payment_form( urldecode( $_GET['invoice'] ) );
323
+        } else if( ! empty( $_GET['invoice'] ) ) {
324
+            getpaid_display_invoice_payment_form( urldecode( $_GET['invoice'] ) );
325 325
         } else {
326
-			$items = getpaid_convert_items_to_array( urldecode( $_GET['item'] ) );
327
-		    getpaid_display_item_payment_form( $items );
326
+            $items = getpaid_convert_items_to_array( urldecode( $_GET['item'] ) );
327
+            getpaid_display_item_payment_form( $items );
328 328
         }
329 329
 
330 330
         exit;
@@ -645,7 +645,7 @@  discard block
 block discarded – undo
645 645
         if ( is_wp_error( $error ) ) {
646 646
             $alert = $error->get_error_message();
647 647
             wp_send_json_success( compact( 'alert' ) );
648
-         }
648
+            }
649 649
 
650 650
         // Update totals.
651 651
         $invoice->recalculate_total();
Please login to merge, or discard this patch.
Spacing   +299 added lines, -299 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package Invoicing
7 7
  */
8 8
  
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * WPInv_Ajax class.
@@ -17,8 +17,8 @@  discard block
 block discarded – undo
17 17
 	 * Hook in ajax handlers.
18 18
 	 */
19 19
 	public static function init() {
20
-		add_action( 'init', array( __CLASS__, 'define_ajax' ), 0 );
21
-		add_action( 'template_redirect', array( __CLASS__, 'do_wpinv_ajax' ), 0 );
20
+		add_action('init', array(__CLASS__, 'define_ajax'), 0);
21
+		add_action('template_redirect', array(__CLASS__, 'do_wpinv_ajax'), 0);
22 22
 		self::add_ajax_events();
23 23
     }
24 24
 
@@ -27,11 +27,11 @@  discard block
 block discarded – undo
27 27
 	 */
28 28
 	public static function define_ajax() {
29 29
 
30
-		if ( ! empty( $_GET['wpinv-ajax'] ) ) {
31
-			getpaid_maybe_define_constant( 'DOING_AJAX', true );
32
-			getpaid_maybe_define_constant( 'WPInv_DOING_AJAX', true );
33
-			if ( ! WP_DEBUG || ( WP_DEBUG && ! WP_DEBUG_DISPLAY ) ) {
34
-				/** @scrutinizer ignore-unhandled */ @ini_set( 'display_errors', 0 );
30
+		if (!empty($_GET['wpinv-ajax'])) {
31
+			getpaid_maybe_define_constant('DOING_AJAX', true);
32
+			getpaid_maybe_define_constant('WPInv_DOING_AJAX', true);
33
+			if (!WP_DEBUG || (WP_DEBUG && !WP_DEBUG_DISPLAY)) {
34
+				/** @scrutinizer ignore-unhandled */ @ini_set('display_errors', 0);
35 35
 			}
36 36
 			$GLOBALS['wpdb']->hide_errors();
37 37
 		}
@@ -44,13 +44,13 @@  discard block
 block discarded – undo
44 44
 	 * @since 1.0.18
45 45
 	 */
46 46
 	private static function wpinv_ajax_headers() {
47
-		if ( ! headers_sent() ) {
47
+		if (!headers_sent()) {
48 48
 			send_origin_headers();
49 49
 			send_nosniff_header();
50 50
 			nocache_headers();
51
-			header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) );
52
-			header( 'X-Robots-Tag: noindex' );
53
-			status_header( 200 );
51
+			header('Content-Type: text/html; charset=' . get_option('blog_charset'));
52
+			header('X-Robots-Tag: noindex');
53
+			status_header(200);
54 54
 		}
55 55
     }
56 56
     
@@ -60,16 +60,16 @@  discard block
 block discarded – undo
60 60
 	public static function do_wpinv_ajax() {
61 61
 		global $wp_query;
62 62
 
63
-		if ( ! empty( $_GET['wpinv-ajax'] ) ) {
64
-			$wp_query->set( 'wpinv-ajax', sanitize_text_field( wp_unslash( $_GET['wpinv-ajax'] ) ) );
63
+		if (!empty($_GET['wpinv-ajax'])) {
64
+			$wp_query->set('wpinv-ajax', sanitize_text_field(wp_unslash($_GET['wpinv-ajax'])));
65 65
 		}
66 66
 
67
-		$action = $wp_query->get( 'wpinv-ajax' );
67
+		$action = $wp_query->get('wpinv-ajax');
68 68
 
69
-		if ( $action ) {
69
+		if ($action) {
70 70
 			self::wpinv_ajax_headers();
71
-			$action = sanitize_text_field( $action );
72
-			do_action( 'wpinv_ajax_' . $action );
71
+			$action = sanitize_text_field($action);
72
+			do_action('wpinv_ajax_' . $action);
73 73
 			wp_die();
74 74
 		}
75 75
 
@@ -105,36 +105,36 @@  discard block
 block discarded – undo
105 105
             'payment_form_refresh_prices' => true,
106 106
         );
107 107
 
108
-        foreach ( $ajax_events as $ajax_event => $nopriv ) {
109
-            add_action( 'wp_ajax_wpinv_' . $ajax_event, array( __CLASS__, $ajax_event ) );
110
-            add_action( 'wp_ajax_getpaid_' . $ajax_event, array( __CLASS__, $ajax_event ) );
108
+        foreach ($ajax_events as $ajax_event => $nopriv) {
109
+            add_action('wp_ajax_wpinv_' . $ajax_event, array(__CLASS__, $ajax_event));
110
+            add_action('wp_ajax_getpaid_' . $ajax_event, array(__CLASS__, $ajax_event));
111 111
 
112
-            if ( $nopriv ) {
113
-                add_action( 'wp_ajax_nopriv_wpinv_' . $ajax_event, array( __CLASS__, $ajax_event ) );
114
-                add_action( 'wp_ajax_nopriv_getpaid_' . $ajax_event, array( __CLASS__, $ajax_event ) );
115
-                add_action( 'wpinv_ajax_' . $ajax_event, array( __CLASS__, $ajax_event ) );
112
+            if ($nopriv) {
113
+                add_action('wp_ajax_nopriv_wpinv_' . $ajax_event, array(__CLASS__, $ajax_event));
114
+                add_action('wp_ajax_nopriv_getpaid_' . $ajax_event, array(__CLASS__, $ajax_event));
115
+                add_action('wpinv_ajax_' . $ajax_event, array(__CLASS__, $ajax_event));
116 116
             }
117 117
         }
118 118
     }
119 119
     
120 120
     public static function add_note() {
121
-        check_ajax_referer( 'add-invoice-note', '_nonce' );
121
+        check_ajax_referer('add-invoice-note', '_nonce');
122 122
 
123
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
123
+        if (!wpinv_current_user_can_manage_invoicing()) {
124 124
             die(-1);
125 125
         }
126 126
 
127
-        $post_id   = absint( $_POST['post_id'] );
128
-        $note      = wp_kses_post( trim( stripslashes( $_POST['note'] ) ) );
129
-        $note_type = sanitize_text_field( $_POST['note_type'] );
127
+        $post_id   = absint($_POST['post_id']);
128
+        $note      = wp_kses_post(trim(stripslashes($_POST['note'])));
129
+        $note_type = sanitize_text_field($_POST['note_type']);
130 130
 
131 131
         $is_customer_note = $note_type == 'customer' ? 1 : 0;
132 132
 
133
-        if ( $post_id > 0 ) {
134
-            $note_id = wpinv_insert_payment_note( $post_id, $note, $is_customer_note );
133
+        if ($post_id > 0) {
134
+            $note_id = wpinv_insert_payment_note($post_id, $note, $is_customer_note);
135 135
 
136
-            if ( $note_id > 0 && !is_wp_error( $note_id ) ) {
137
-                wpinv_get_invoice_note_line_item( $note_id );
136
+            if ($note_id > 0 && !is_wp_error($note_id)) {
137
+                wpinv_get_invoice_note_line_item($note_id);
138 138
             }
139 139
         }
140 140
 
@@ -142,16 +142,16 @@  discard block
 block discarded – undo
142 142
     }
143 143
 
144 144
     public static function delete_note() {
145
-        check_ajax_referer( 'delete-invoice-note', '_nonce' );
145
+        check_ajax_referer('delete-invoice-note', '_nonce');
146 146
 
147
-        if ( !wpinv_current_user_can_manage_invoicing() ) {
147
+        if (!wpinv_current_user_can_manage_invoicing()) {
148 148
             die(-1);
149 149
         }
150 150
 
151
-        $note_id = (int)$_POST['note_id'];
151
+        $note_id = (int) $_POST['note_id'];
152 152
 
153
-        if ( $note_id > 0 ) {
154
-            wp_delete_comment( $note_id, true );
153
+        if ($note_id > 0) {
154
+            wp_delete_comment($note_id, true);
155 155
         }
156 156
 
157 157
         die();
@@ -169,34 +169,34 @@  discard block
 block discarded – undo
169 169
     public static function get_billing_details() {
170 170
 
171 171
         // Verify nonce.
172
-        check_ajax_referer( 'wpinv-nonce' );
172
+        check_ajax_referer('wpinv-nonce');
173 173
 
174 174
         // Can the user manage the plugin?
175
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
175
+        if (!wpinv_current_user_can_manage_invoicing()) {
176 176
             die(-1);
177 177
         }
178 178
 
179 179
         // Do we have a user id?
180 180
         $user_id = $_GET['user_id'];
181 181
 
182
-        if ( empty( $user_id ) || ! is_numeric( $user_id ) ) {
182
+        if (empty($user_id) || !is_numeric($user_id)) {
183 183
             die(-1);
184 184
         }
185 185
 
186 186
         // Fetch the billing details.
187
-        $billing_details    = wpinv_get_user_address( $user_id );
188
-        $billing_details    = apply_filters( 'wpinv_ajax_billing_details', $billing_details, $user_id );
187
+        $billing_details    = wpinv_get_user_address($user_id);
188
+        $billing_details    = apply_filters('wpinv_ajax_billing_details', $billing_details, $user_id);
189 189
 
190 190
         // unset the user id and email.
191
-        $to_ignore = array( 'user_id', 'email' );
191
+        $to_ignore = array('user_id', 'email');
192 192
 
193
-        foreach ( $to_ignore as $key ) {
194
-            if ( isset( $billing_details[ $key ] ) ) {
195
-                unset( $billing_details[ $key ] );
193
+        foreach ($to_ignore as $key) {
194
+            if (isset($billing_details[$key])) {
195
+                unset($billing_details[$key]);
196 196
             }
197 197
         }
198 198
 
199
-        wp_send_json_success( $billing_details );
199
+        wp_send_json_success($billing_details);
200 200
 
201 201
     }
202 202
 
@@ -206,47 +206,47 @@  discard block
 block discarded – undo
206 206
     public static function check_new_user_email() {
207 207
 
208 208
         // Verify nonce.
209
-        check_ajax_referer( 'wpinv-nonce' );
209
+        check_ajax_referer('wpinv-nonce');
210 210
 
211 211
         // Can the user manage the plugin?
212
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
212
+        if (!wpinv_current_user_can_manage_invoicing()) {
213 213
             die(-1);
214 214
         }
215 215
 
216 216
         // We need an email address.
217
-        if ( empty( $_GET['email'] ) ) {
218
-            _e( "Provide the new user's email address", 'invoicing' );
217
+        if (empty($_GET['email'])) {
218
+            _e("Provide the new user's email address", 'invoicing');
219 219
             exit;
220 220
         }
221 221
 
222 222
         // Ensure the email is valid.
223
-        $email = sanitize_text_field( $_GET['email'] );
224
-        if ( ! is_email( $email ) ) {
225
-            _e( 'Invalid email address', 'invoicing' );
223
+        $email = sanitize_text_field($_GET['email']);
224
+        if (!is_email($email)) {
225
+            _e('Invalid email address', 'invoicing');
226 226
             exit;
227 227
         }
228 228
 
229 229
         // And it does not exist.
230
-        $id = email_exists( $email );
231
-        if ( $id ) {
232
-            wp_send_json_success( compact( 'id' ) );
230
+        $id = email_exists($email);
231
+        if ($id) {
232
+            wp_send_json_success(compact('id'));
233 233
         }
234 234
 
235
-        wp_send_json_success( true );
235
+        wp_send_json_success(true);
236 236
     }
237 237
     
238 238
     public static function run_tool() {
239
-        check_ajax_referer( 'wpinv-nonce', '_nonce' );
240
-        if ( !wpinv_current_user_can_manage_invoicing() ) {
239
+        check_ajax_referer('wpinv-nonce', '_nonce');
240
+        if (!wpinv_current_user_can_manage_invoicing()) {
241 241
             die(-1);
242 242
         }
243 243
         
244
-        $tool = sanitize_text_field( $_POST['tool'] );
244
+        $tool = sanitize_text_field($_POST['tool']);
245 245
         
246
-        do_action( 'wpinv_run_tool' );
246
+        do_action('wpinv_run_tool');
247 247
         
248
-        if ( !empty( $tool ) ) {
249
-            do_action( 'wpinv_tool_' . $tool );
248
+        if (!empty($tool)) {
249
+            do_action('wpinv_tool_' . $tool);
250 250
         }
251 251
     }
252 252
 
@@ -256,43 +256,43 @@  discard block
 block discarded – undo
256 256
     public static function get_payment_form() {
257 257
 
258 258
         // Check nonce.
259
-        check_ajax_referer( 'getpaid_form_nonce' );
259
+        check_ajax_referer('getpaid_form_nonce');
260 260
 
261 261
         // Is the request set up correctly?
262
-		if ( empty( $_GET['form'] ) && empty( $_GET['item'] ) ) {
262
+		if (empty($_GET['form']) && empty($_GET['item'])) {
263 263
 			echo aui()->alert(
264 264
 				array(
265 265
 					'type'    => 'warning',
266
-					'content' => __( 'No payment form or item provided', 'invoicing' ),
266
+					'content' => __('No payment form or item provided', 'invoicing'),
267 267
 				)
268 268
             );
269 269
             exit;
270 270
         }
271 271
 
272 272
         // Payment form or button?
273
-		if ( ! empty( $_GET['form'] ) ) {
274
-            $form = urldecode( $_GET['form'] );
273
+		if (!empty($_GET['form'])) {
274
+            $form = urldecode($_GET['form']);
275 275
 
276
-            if ( false !== strpos( $form, '|' ) ) {
277
-                $form_pos = strpos( $form, '|' );
278
-                $_items   = getpaid_convert_items_to_array( substr( $form, $form_pos + 1 ) );
279
-                $form     = substr( $form, 0, $form_pos );
276
+            if (false !== strpos($form, '|')) {
277
+                $form_pos = strpos($form, '|');
278
+                $_items   = getpaid_convert_items_to_array(substr($form, $form_pos + 1));
279
+                $form     = substr($form, 0, $form_pos);
280 280
 
281 281
                 // Retrieve appropriate payment form.
282
-                $payment_form = new GetPaid_Payment_Form( $form );
283
-                $payment_form = $payment_form->exists() ? $payment_form : new GetPaid_Payment_Form( wpinv_get_default_payment_form() );
282
+                $payment_form = new GetPaid_Payment_Form($form);
283
+                $payment_form = $payment_form->exists() ? $payment_form : new GetPaid_Payment_Form(wpinv_get_default_payment_form());
284 284
 
285 285
                 $items    = array();
286 286
                 $item_ids = array();
287 287
 
288
-                foreach ( $_items as $item_id => $qty ) {
289
-                    if ( ! in_array( $item_id, $item_ids ) ) {
290
-                        $item = new GetPaid_Form_Item( $item_id );
291
-                        $item->set_quantity( $qty );
288
+                foreach ($_items as $item_id => $qty) {
289
+                    if (!in_array($item_id, $item_ids)) {
290
+                        $item = new GetPaid_Form_Item($item_id);
291
+                        $item->set_quantity($qty);
292 292
 
293
-                        if ( 0 == $qty ) {
294
-                            $item->set_allow_quantities( true );
295
-                            $item->set_is_required( false );
293
+                        if (0 == $qty) {
294
+                            $item->set_allow_quantities(true);
295
+                            $item->set_is_required(false);
296 296
                         }
297 297
 
298 298
                         $item_ids[] = $item->get_id();
@@ -300,10 +300,10 @@  discard block
 block discarded – undo
300 300
                     }
301 301
                 }
302 302
 
303
-                if ( ! $payment_form->is_default() ) {
303
+                if (!$payment_form->is_default()) {
304 304
 
305
-                    foreach ( $payment_form->get_items() as $item ) {
306
-                        if ( ! in_array( $item->get_id(), $item_ids ) ) {
305
+                    foreach ($payment_form->get_items() as $item) {
306
+                        if (!in_array($item->get_id(), $item_ids)) {
307 307
                             $item_ids[] = $item->get_id();
308 308
                             $items[]    = $item;
309 309
                         }
@@ -311,20 +311,20 @@  discard block
 block discarded – undo
311 311
 
312 312
                 }
313 313
 
314
-                $payment_form->set_items( $items );
315
-                add_filter( 'wpinv_force_default_payment_form', '__return_true' );
314
+                $payment_form->set_items($items);
315
+                add_filter('wpinv_force_default_payment_form', '__return_true');
316 316
                 $payment_form->display();
317
-                remove_filter( 'wpinv_force_default_payment_form', '__return_true' );
317
+                remove_filter('wpinv_force_default_payment_form', '__return_true');
318 318
 
319 319
             } else {
320
-                getpaid_display_payment_form( $form );
320
+                getpaid_display_payment_form($form);
321 321
             }
322 322
 
323
-		} else if( ! empty( $_GET['invoice'] ) ) {
324
-		    getpaid_display_invoice_payment_form( urldecode( $_GET['invoice'] ) );
323
+		} else if (!empty($_GET['invoice'])) {
324
+		    getpaid_display_invoice_payment_form(urldecode($_GET['invoice']));
325 325
         } else {
326
-			$items = getpaid_convert_items_to_array( urldecode( $_GET['item'] ) );
327
-		    getpaid_display_item_payment_form( $items );
326
+			$items = getpaid_convert_items_to_array(urldecode($_GET['item']));
327
+		    getpaid_display_item_payment_form($items);
328 328
         }
329 329
 
330 330
         exit;
@@ -339,17 +339,17 @@  discard block
 block discarded – undo
339 339
     public static function payment_form() {
340 340
 
341 341
         // Check nonce.
342
-        check_ajax_referer( 'getpaid_form_nonce' );
342
+        check_ajax_referer('getpaid_form_nonce');
343 343
 
344 344
         // ... form fields...
345
-        if ( empty( $_POST['getpaid_payment_form_submission'] ) ) {
346
-            _e( 'Error: Reload the page and try again.', 'invoicing' );
345
+        if (empty($_POST['getpaid_payment_form_submission'])) {
346
+            _e('Error: Reload the page and try again.', 'invoicing');
347 347
             exit;
348 348
         }
349 349
 
350 350
         // Process the payment form.
351
-        $checkout_class = apply_filters( 'getpaid_checkout_class', 'GetPaid_Checkout' );
352
-        $checkout       = new $checkout_class( new GetPaid_Payment_Form_Submission() );
351
+        $checkout_class = apply_filters('getpaid_checkout_class', 'GetPaid_Checkout');
352
+        $checkout       = new $checkout_class(new GetPaid_Payment_Form_Submission());
353 353
         $checkout->process_checkout();
354 354
 
355 355
         exit;
@@ -362,55 +362,55 @@  discard block
 block discarded – undo
362 362
      */
363 363
     public static function get_payment_form_states_field() {
364 364
 
365
-        if ( empty( $_GET['country'] ) || empty( $_GET['form'] ) ) {
365
+        if (empty($_GET['country']) || empty($_GET['form'])) {
366 366
             exit;
367 367
         }
368 368
 
369
-        $elements = getpaid_get_payment_form_elements( $_GET['form'] );
369
+        $elements = getpaid_get_payment_form_elements($_GET['form']);
370 370
 
371
-        if ( empty( $elements ) ) {
371
+        if (empty($elements)) {
372 372
             exit;
373 373
         }
374 374
 
375 375
         $address_fields = array();
376
-        foreach ( $elements as $element ) {
377
-            if ( 'address' === $element['type'] ) {
376
+        foreach ($elements as $element) {
377
+            if ('address' === $element['type']) {
378 378
                 $address_fields = $element;
379 379
                 break;
380 380
             }
381 381
         }
382 382
 
383
-        if ( empty( $address_fields ) ) {
383
+        if (empty($address_fields)) {
384 384
             exit;
385 385
         }
386 386
 
387
-        foreach ( $address_fields['fields'] as $address_field ) {
387
+        foreach ($address_fields['fields'] as $address_field) {
388 388
 
389
-            if ( 'wpinv_state' == $address_field['name'] ) {
389
+            if ('wpinv_state' == $address_field['name']) {
390 390
 
391
-                $wrap_class  = getpaid_get_form_element_grid_class( $address_field );
392
-                $wrap_class  = esc_attr( "$wrap_class getpaid-address-field-wrapper" );
393
-                $placeholder = empty( $address_field['placeholder'] ) ? '' : esc_attr( $address_field['placeholder'] );
394
-                $description = empty( $address_field['description'] ) ? '' : wp_kses_post( $address_field['description'] );
395
-                $value       = is_user_logged_in() ? get_user_meta( get_current_user_id(), '_wpinv_state', true ) : '';
396
-                $label       = empty( $address_field['label'] ) ? '' : wp_kses_post( $address_field['label'] );
391
+                $wrap_class  = getpaid_get_form_element_grid_class($address_field);
392
+                $wrap_class  = esc_attr("$wrap_class getpaid-address-field-wrapper");
393
+                $placeholder = empty($address_field['placeholder']) ? '' : esc_attr($address_field['placeholder']);
394
+                $description = empty($address_field['description']) ? '' : wp_kses_post($address_field['description']);
395
+                $value       = is_user_logged_in() ? get_user_meta(get_current_user_id(), '_wpinv_state', true) : '';
396
+                $label       = empty($address_field['label']) ? '' : wp_kses_post($address_field['label']);
397 397
 
398
-                if ( ! empty( $address_field['required'] ) ) {
398
+                if (!empty($address_field['required'])) {
399 399
                     $label .= "<span class='text-danger'> *</span>";
400 400
                 }
401 401
 
402
-                $html = getpaid_get_states_select_markup (
403
-                    sanitize_text_field( $_GET['country'] ),
402
+                $html = getpaid_get_states_select_markup(
403
+                    sanitize_text_field($_GET['country']),
404 404
                     $value,
405 405
                     $placeholder,
406 406
                     $label,
407 407
                     $description,
408
-                    ! empty( $address_field['required'] ),
408
+                    !empty($address_field['required']),
409 409
                     $wrap_class,
410
-                    wpinv_clean( $_GET['name'] )
410
+                    wpinv_clean($_GET['name'])
411 411
                 );
412 412
 
413
-                wp_send_json_success( $html );
413
+                wp_send_json_success($html);
414 414
                 exit;
415 415
 
416 416
             }
@@ -426,66 +426,66 @@  discard block
 block discarded – undo
426 426
     public static function recalculate_invoice_totals() {
427 427
 
428 428
         // Verify nonce.
429
-        check_ajax_referer( 'wpinv-nonce' );
429
+        check_ajax_referer('wpinv-nonce');
430 430
 
431
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
431
+        if (!wpinv_current_user_can_manage_invoicing()) {
432 432
             exit;
433 433
         }
434 434
 
435 435
         // We need an invoice.
436
-        if ( empty( $_POST['post_id'] ) ) {
436
+        if (empty($_POST['post_id'])) {
437 437
             exit;
438 438
         }
439 439
 
440 440
         // Fetch the invoice.
441
-        $invoice = new WPInv_Invoice( trim( $_POST['post_id'] ) );
441
+        $invoice = new WPInv_Invoice(trim($_POST['post_id']));
442 442
 
443 443
         // Ensure it exists.
444
-        if ( ! $invoice->get_id() ) {
444
+        if (!$invoice->get_id()) {
445 445
             exit;
446 446
         }
447 447
 
448 448
         // Maybe set the country, state, currency.
449
-        foreach ( array( 'country', 'state', 'currency', 'vat_number', 'discount_code' ) as $key ) {
450
-            if ( isset( $_POST[ $key ] ) ) {
449
+        foreach (array('country', 'state', 'currency', 'vat_number', 'discount_code') as $key) {
450
+            if (isset($_POST[$key])) {
451 451
                 $method = "set_$key";
452
-                $invoice->$method( sanitize_text_field( $_POST[ $key ] ) );
452
+                $invoice->$method(sanitize_text_field($_POST[$key]));
453 453
             }
454 454
         }
455 455
 
456 456
         // Maybe disable taxes.
457
-        $invoice->set_disable_taxes( ! empty( $_POST['taxes'] ) );
457
+        $invoice->set_disable_taxes(!empty($_POST['taxes']));
458 458
 
459 459
         // Discount code.
460
-        if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) {
461
-            $discount = new WPInv_Discount( $invoice->get_discount_code() );
462
-            if ( $discount->exists() ) {
463
-                $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
460
+        if (!$invoice->is_paid() && !$invoice->is_refunded()) {
461
+            $discount = new WPInv_Discount($invoice->get_discount_code());
462
+            if ($discount->exists()) {
463
+                $invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount));
464 464
             } else {
465
-                $invoice->remove_discount( 'discount_code' );
465
+                $invoice->remove_discount('discount_code');
466 466
             }
467 467
         }
468 468
 
469 469
         // Recalculate totals.
470 470
         $invoice->recalculate_total();
471 471
 
472
-        $total        = wpinv_price( $invoice->get_total(), $invoice->get_currency() );
473
-        $suscriptions = getpaid_get_invoice_subscriptions( $invoice );
474
-        if ( is_a( $suscriptions, 'WPInv_Subscription' ) && $invoice->is_recurring() && $invoice->is_parent() && $invoice->get_total() != $invoice->get_recurring_total() ) {
475
-            $recurring_total = wpinv_price( $invoice->get_recurring_total(), $invoice->get_currency() );
476
-            $total          .= '<small class="form-text text-muted">' . sprintf( __( 'Recurring Price: %s', 'invoicing' ), $recurring_total ) . '</small>';
472
+        $total        = wpinv_price($invoice->get_total(), $invoice->get_currency());
473
+        $suscriptions = getpaid_get_invoice_subscriptions($invoice);
474
+        if (is_a($suscriptions, 'WPInv_Subscription') && $invoice->is_recurring() && $invoice->is_parent() && $invoice->get_total() != $invoice->get_recurring_total()) {
475
+            $recurring_total = wpinv_price($invoice->get_recurring_total(), $invoice->get_currency());
476
+            $total          .= '<small class="form-text text-muted">' . sprintf(__('Recurring Price: %s', 'invoicing'), $recurring_total) . '</small>';
477 477
         }
478 478
 
479 479
         $totals = array(
480
-            'subtotal' => wpinv_price( $invoice->get_subtotal(), $invoice->get_currency() ),
481
-            'discount' => wpinv_price( $invoice->get_total_discount(), $invoice->get_currency() ),
482
-            'tax'      => wpinv_price( $invoice->get_total_tax(), $invoice->get_currency() ),
480
+            'subtotal' => wpinv_price($invoice->get_subtotal(), $invoice->get_currency()),
481
+            'discount' => wpinv_price($invoice->get_total_discount(), $invoice->get_currency()),
482
+            'tax'      => wpinv_price($invoice->get_total_tax(), $invoice->get_currency()),
483 483
             'total'    => $total,
484 484
         );
485 485
 
486
-        $totals = apply_filters( 'getpaid_invoice_totals', $totals, $invoice );
486
+        $totals = apply_filters('getpaid_invoice_totals', $totals, $invoice);
487 487
 
488
-        wp_send_json_success( compact( 'totals' ) );
488
+        wp_send_json_success(compact('totals'));
489 489
     }
490 490
 
491 491
     /**
@@ -494,33 +494,33 @@  discard block
 block discarded – undo
494 494
     public static function get_invoice_items() {
495 495
 
496 496
         // Verify nonce.
497
-        check_ajax_referer( 'wpinv-nonce' );
497
+        check_ajax_referer('wpinv-nonce');
498 498
 
499
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
499
+        if (!wpinv_current_user_can_manage_invoicing()) {
500 500
             exit;
501 501
         }
502 502
 
503 503
         // We need an invoice and items.
504
-        if ( empty( $_POST['post_id'] ) ) {
504
+        if (empty($_POST['post_id'])) {
505 505
             exit;
506 506
         }
507 507
 
508 508
         // Fetch the invoice.
509
-        $invoice = new WPInv_Invoice( trim( $_POST['post_id'] ) );
509
+        $invoice = new WPInv_Invoice(trim($_POST['post_id']));
510 510
 
511 511
         // Ensure it exists.
512
-        if ( ! $invoice->get_id() ) {
512
+        if (!$invoice->get_id()) {
513 513
             exit;
514 514
         }
515 515
 
516 516
         // Return an array of invoice items.
517 517
         $items = array();
518 518
 
519
-        foreach ( $invoice->get_items() as $item ) {
520
-            $items[] = $item->prepare_data_for_invoice_edit_ajax(  $invoice->get_currency(), $invoice->is_renewal()  );
519
+        foreach ($invoice->get_items() as $item) {
520
+            $items[] = $item->prepare_data_for_invoice_edit_ajax($invoice->get_currency(), $invoice->is_renewal());
521 521
         }
522 522
 
523
-        wp_send_json_success( compact( 'items' ) );
523
+        wp_send_json_success(compact('items'));
524 524
     }
525 525
 
526 526
     /**
@@ -529,50 +529,50 @@  discard block
 block discarded – undo
529 529
     public static function edit_invoice_item() {
530 530
 
531 531
         // Verify nonce.
532
-        check_ajax_referer( 'wpinv-nonce' );
532
+        check_ajax_referer('wpinv-nonce');
533 533
 
534
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
534
+        if (!wpinv_current_user_can_manage_invoicing()) {
535 535
             exit;
536 536
         }
537 537
 
538 538
         // We need an invoice and item details.
539
-        if ( empty( $_POST['post_id'] ) || empty( $_POST['data'] ) ) {
539
+        if (empty($_POST['post_id']) || empty($_POST['data'])) {
540 540
             exit;
541 541
         }
542 542
 
543 543
         // Fetch the invoice.
544
-        $invoice = new WPInv_Invoice( trim( $_POST['post_id'] ) );
544
+        $invoice = new WPInv_Invoice(trim($_POST['post_id']));
545 545
 
546 546
         // Ensure it exists and its not been paid for.
547
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
547
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
548 548
             exit;
549 549
         }
550 550
 
551 551
         // Format the data.
552
-        $data = wp_unslash( wp_list_pluck( $_POST['data'], 'value', 'field' ) );
552
+        $data = wp_unslash(wp_list_pluck($_POST['data'], 'value', 'field'));
553 553
 
554 554
         // Ensure that we have an item id.
555
-        if ( empty( $data['id'] ) ) {
555
+        if (empty($data['id'])) {
556 556
             exit;
557 557
         }
558 558
 
559 559
         // Abort if the invoice does not have the specified item.
560
-        $item = $invoice->get_item( (int) $data['id'] );
560
+        $item = $invoice->get_item((int) $data['id']);
561 561
 
562
-        if ( empty( $item ) ) {
562
+        if (empty($item)) {
563 563
             exit;
564 564
         }
565 565
 
566 566
         // Update the item.
567
-        $item->set_price( getpaid_standardize_amount( $data['price'] ) );
568
-        $item->set_name( sanitize_text_field( $data['name'] ) );
569
-        $item->set_description( wp_kses_post( $data['description'] ) );
570
-        $item->set_quantity( floatval( $data['quantity'] ) );
567
+        $item->set_price(getpaid_standardize_amount($data['price']));
568
+        $item->set_name(sanitize_text_field($data['name']));
569
+        $item->set_description(wp_kses_post($data['description']));
570
+        $item->set_quantity(floatval($data['quantity']));
571 571
 
572 572
         // Add it to the invoice.
573
-        $error = $invoice->add_item( $item );
573
+        $error = $invoice->add_item($item);
574 574
         $alert = false;
575
-        if ( is_wp_error( $error ) ) {
575
+        if (is_wp_error($error)) {
576 576
             $alert = $error->get_error_message();
577 577
         }
578 578
 
@@ -585,11 +585,11 @@  discard block
 block discarded – undo
585 585
         // Return an array of invoice items.
586 586
         $items = array();
587 587
 
588
-        foreach ( $invoice->get_items() as $item ) {
589
-            $items[] = $item->prepare_data_for_invoice_edit_ajax(  $invoice->get_currency()  );
588
+        foreach ($invoice->get_items() as $item) {
589
+            $items[] = $item->prepare_data_for_invoice_edit_ajax($invoice->get_currency());
590 590
         }
591 591
 
592
-        wp_send_json_success( compact( 'items', 'alert' ) );
592
+        wp_send_json_success(compact('items', 'alert'));
593 593
     }
594 594
 
595 595
     /**
@@ -598,53 +598,53 @@  discard block
 block discarded – undo
598 598
     public static function create_invoice_item() {
599 599
 
600 600
         // Verify nonce.
601
-        check_ajax_referer( 'wpinv-nonce' );
601
+        check_ajax_referer('wpinv-nonce');
602 602
 
603
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
603
+        if (!wpinv_current_user_can_manage_invoicing()) {
604 604
             exit;
605 605
         }
606 606
 
607 607
         // We need an invoice and item details.
608
-        if ( empty( $_POST['invoice_id'] ) || empty( $_POST['_wpinv_quick'] ) ) {
608
+        if (empty($_POST['invoice_id']) || empty($_POST['_wpinv_quick'])) {
609 609
             exit;
610 610
         }
611 611
 
612 612
         // Fetch the invoice.
613
-        $invoice = new WPInv_Invoice( trim( $_POST['invoice_id'] ) );
613
+        $invoice = new WPInv_Invoice(trim($_POST['invoice_id']));
614 614
 
615 615
         // Ensure it exists and its not been paid for.
616
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
616
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
617 617
             exit;
618 618
         }
619 619
 
620 620
         // Format the data.
621
-        $data = wp_unslash( $_POST['_wpinv_quick'] );
621
+        $data = wp_unslash($_POST['_wpinv_quick']);
622 622
 
623 623
         $item = new WPInv_Item();
624
-        $item->set_price( getpaid_standardize_amount( $data['price'] ) );
625
-        $item->set_name( sanitize_text_field( $data['name'] ) );
626
-        $item->set_description( wp_kses_post( $data['description'] ) );
627
-        $item->set_type( sanitize_text_field( $data['type'] ) );
628
-        $item->set_vat_rule( sanitize_text_field( $data['vat_rule'] ) );
629
-        $item->set_vat_class( sanitize_text_field( $data['vat_class'] ) );
630
-        $item->set_status( 'publish' );
624
+        $item->set_price(getpaid_standardize_amount($data['price']));
625
+        $item->set_name(sanitize_text_field($data['name']));
626
+        $item->set_description(wp_kses_post($data['description']));
627
+        $item->set_type(sanitize_text_field($data['type']));
628
+        $item->set_vat_rule(sanitize_text_field($data['vat_rule']));
629
+        $item->set_vat_class(sanitize_text_field($data['vat_class']));
630
+        $item->set_status('publish');
631 631
         $item->save();
632 632
 
633
-        if ( ! $item->exists() ) {
634
-            $alert = __( 'Could not create invoice item. Please try again.', 'invoicing' );
635
-            wp_send_json_success( compact( 'alert' ) );
633
+        if (!$item->exists()) {
634
+            $alert = __('Could not create invoice item. Please try again.', 'invoicing');
635
+            wp_send_json_success(compact('alert'));
636 636
         }
637 637
 
638
-        $item = new GetPaid_Form_Item( $item->get_id() );
639
-        $item->set_quantity( floatval( $data['qty'] ) );
638
+        $item = new GetPaid_Form_Item($item->get_id());
639
+        $item->set_quantity(floatval($data['qty']));
640 640
 
641 641
         // Add it to the invoice.
642
-        $error = $invoice->add_item( $item );
642
+        $error = $invoice->add_item($item);
643 643
         $alert = false;
644 644
 
645
-        if ( is_wp_error( $error ) ) {
645
+        if (is_wp_error($error)) {
646 646
             $alert = $error->get_error_message();
647
-            wp_send_json_success( compact( 'alert' ) );
647
+            wp_send_json_success(compact('alert'));
648 648
          }
649 649
 
650 650
         // Update totals.
@@ -657,9 +657,9 @@  discard block
 block discarded – undo
657 657
         $invoice->recalculate_total();
658 658
         $invoice->save();
659 659
         ob_start();
660
-        GetPaid_Meta_Box_Invoice_Items::output_row( GetPaid_Meta_Box_Invoice_Items::get_columns( $invoice ), $item, $invoice );
660
+        GetPaid_Meta_Box_Invoice_Items::output_row(GetPaid_Meta_Box_Invoice_Items::get_columns($invoice), $item, $invoice);
661 661
         $row = ob_get_clean();
662
-        wp_send_json_success( compact( 'row' ) );
662
+        wp_send_json_success(compact('row'));
663 663
     }
664 664
 
665 665
     /**
@@ -668,33 +668,33 @@  discard block
 block discarded – undo
668 668
     public static function remove_invoice_item() {
669 669
 
670 670
         // Verify nonce.
671
-        check_ajax_referer( 'wpinv-nonce' );
671
+        check_ajax_referer('wpinv-nonce');
672 672
 
673
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
673
+        if (!wpinv_current_user_can_manage_invoicing()) {
674 674
             exit;
675 675
         }
676 676
 
677 677
         // We need an invoice and an item.
678
-        if ( empty( $_POST['post_id'] ) || empty( $_POST['item_id'] ) ) {
678
+        if (empty($_POST['post_id']) || empty($_POST['item_id'])) {
679 679
             exit;
680 680
         }
681 681
 
682 682
         // Fetch the invoice.
683
-        $invoice = new WPInv_Invoice( trim( $_POST['post_id'] ) );
683
+        $invoice = new WPInv_Invoice(trim($_POST['post_id']));
684 684
 
685 685
         // Ensure it exists and its not been paid for.
686
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
686
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
687 687
             exit;
688 688
         }
689 689
 
690 690
         // Abort if the invoice does not have the specified item.
691
-        $item = $invoice->get_item( (int) $_POST['item_id'] );
691
+        $item = $invoice->get_item((int) $_POST['item_id']);
692 692
 
693
-        if ( empty( $item ) ) {
693
+        if (empty($item)) {
694 694
             exit;
695 695
         }
696 696
 
697
-        $invoice->remove_item( (int) $_POST['item_id'] );
697
+        $invoice->remove_item((int) $_POST['item_id']);
698 698
 
699 699
         // Update totals.
700 700
         $invoice->recalculate_total();
@@ -705,11 +705,11 @@  discard block
 block discarded – undo
705 705
         // Return an array of invoice items.
706 706
         $items = array();
707 707
 
708
-        foreach ( $invoice->get_items() as $item ) {
709
-            $items[] = $item->prepare_data_for_invoice_edit_ajax(  $invoice->get_currency()  );
708
+        foreach ($invoice->get_items() as $item) {
709
+            $items[] = $item->prepare_data_for_invoice_edit_ajax($invoice->get_currency());
710 710
         }
711 711
 
712
-        wp_send_json_success( compact( 'items' ) );
712
+        wp_send_json_success(compact('items'));
713 713
     }
714 714
 
715 715
     /**
@@ -718,69 +718,69 @@  discard block
 block discarded – undo
718 718
     public static function recalculate_full_prices() {
719 719
 
720 720
         // Verify nonce.
721
-        check_ajax_referer( 'wpinv-nonce' );
721
+        check_ajax_referer('wpinv-nonce');
722 722
 
723
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
723
+        if (!wpinv_current_user_can_manage_invoicing()) {
724 724
             exit;
725 725
         }
726 726
 
727 727
         // We need an invoice and item.
728
-        if ( empty( $_POST['post_id'] ) ) {
728
+        if (empty($_POST['post_id'])) {
729 729
             exit;
730 730
         }
731 731
 
732 732
         // Fetch the invoice.
733
-        $invoice = new WPInv_Invoice( trim( $_POST['post_id'] ) );
733
+        $invoice = new WPInv_Invoice(trim($_POST['post_id']));
734 734
         $alert   = false;
735 735
 
736 736
         // Ensure it exists and its not been paid for.
737
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
737
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
738 738
             exit;
739 739
         }
740 740
 
741
-        $invoice->set_items( array() );
741
+        $invoice->set_items(array());
742 742
 
743
-        if ( ! empty( $_POST['getpaid_items'] ) ) {
743
+        if (!empty($_POST['getpaid_items'])) {
744 744
 
745
-            foreach ( $_POST['getpaid_items'] as $item_id => $args ) {
746
-                $item = new GetPaid_Form_Item( $item_id );
745
+            foreach ($_POST['getpaid_items'] as $item_id => $args) {
746
+                $item = new GetPaid_Form_Item($item_id);
747 747
 
748
-                if ( $item->exists() ) {
749
-                    $item->set_price( getpaid_standardize_amount( $args['price'] ) );
750
-                    $item->set_quantity( floatval( $args['quantity'] ) );
751
-                    $item->set_name( sanitize_text_field( $args['name'] ) );
752
-                    $item->set_description( wp_kses_post( $args['description'] ) );
753
-                    $invoice->add_item( $item );
748
+                if ($item->exists()) {
749
+                    $item->set_price(getpaid_standardize_amount($args['price']));
750
+                    $item->set_quantity(floatval($args['quantity']));
751
+                    $item->set_name(sanitize_text_field($args['name']));
752
+                    $item->set_description(wp_kses_post($args['description']));
753
+                    $invoice->add_item($item);
754 754
                 }
755 755
             }
756 756
 
757 757
         }
758 758
 
759
-        $invoice->set_disable_taxes( ! empty( $_POST['disable_taxes'] ) );
759
+        $invoice->set_disable_taxes(!empty($_POST['disable_taxes']));
760 760
 
761 761
         // Maybe set the country, state, currency.
762
-        foreach ( array( 'wpinv_country', 'wpinv_state', 'wpinv_currency', 'wpinv_vat_number', 'wpinv_discount_code' ) as $key ) {
763
-            if ( isset( $_POST[ $key ] ) ) {
764
-                $_key   = str_replace( 'wpinv_', '', $key );
762
+        foreach (array('wpinv_country', 'wpinv_state', 'wpinv_currency', 'wpinv_vat_number', 'wpinv_discount_code') as $key) {
763
+            if (isset($_POST[$key])) {
764
+                $_key   = str_replace('wpinv_', '', $key);
765 765
                 $method = "set_$_key";
766
-                $invoice->$method( sanitize_text_field( $_POST[ $key ] ) );
766
+                $invoice->$method(sanitize_text_field($_POST[$key]));
767 767
             }
768 768
         }
769 769
 
770
-        $discount = new WPInv_Discount( $invoice->get_discount_code() );
771
-        if ( $discount->exists() ) {
772
-            $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
770
+        $discount = new WPInv_Discount($invoice->get_discount_code());
771
+        if ($discount->exists()) {
772
+            $invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount));
773 773
         } else {
774
-            $invoice->remove_discount( 'discount_code' );
774
+            $invoice->remove_discount('discount_code');
775 775
         }
776 776
 
777 777
         // Save the invoice.
778 778
         $invoice->recalculate_total();
779 779
         $invoice->save();
780 780
         ob_start();
781
-        GetPaid_Meta_Box_Invoice_Items::output( get_post( $invoice->get_id() ), $invoice );
781
+        GetPaid_Meta_Box_Invoice_Items::output(get_post($invoice->get_id()), $invoice);
782 782
         $table = ob_get_clean();
783
-        wp_send_json_success( compact( 'table' ) );
783
+        wp_send_json_success(compact('table'));
784 784
     }
785 785
 
786 786
     /**
@@ -789,42 +789,42 @@  discard block
 block discarded – undo
789 789
     public static function admin_add_invoice_item() {
790 790
 
791 791
         // Verify nonce.
792
-        check_ajax_referer( 'wpinv-nonce' );
792
+        check_ajax_referer('wpinv-nonce');
793 793
 
794
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
794
+        if (!wpinv_current_user_can_manage_invoicing()) {
795 795
             exit;
796 796
         }
797 797
 
798 798
         // We need an invoice and item.
799
-        if ( empty( $_POST['post_id'] ) || empty( $_POST['item_id'] ) ) {
799
+        if (empty($_POST['post_id']) || empty($_POST['item_id'])) {
800 800
             exit;
801 801
         }
802 802
 
803 803
         // Fetch the invoice.
804
-        $invoice = new WPInv_Invoice( trim( $_POST['post_id'] ) );
804
+        $invoice = new WPInv_Invoice(trim($_POST['post_id']));
805 805
         $alert   = false;
806 806
 
807 807
         // Ensure it exists and its not been paid for.
808
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
808
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
809 809
             exit;
810 810
         }
811 811
 
812 812
         // Add the item.
813
-        $item  = new GetPaid_Form_Item( (int) $_POST['item_id'] );
814
-        $error = $invoice->add_item( $item );
813
+        $item  = new GetPaid_Form_Item((int) $_POST['item_id']);
814
+        $error = $invoice->add_item($item);
815 815
 
816
-        if ( is_wp_error( $error ) ) {
816
+        if (is_wp_error($error)) {
817 817
             $alert = $error->get_error_message();
818
-            wp_send_json_success( compact( 'alert' ) );
818
+            wp_send_json_success(compact('alert'));
819 819
         }
820 820
 
821 821
         // Save the invoice.
822 822
         $invoice->recalculate_total();
823 823
         $invoice->save();
824 824
         ob_start();
825
-        GetPaid_Meta_Box_Invoice_Items::output_row( GetPaid_Meta_Box_Invoice_Items::get_columns( $invoice ), $item, $invoice );
825
+        GetPaid_Meta_Box_Invoice_Items::output_row(GetPaid_Meta_Box_Invoice_Items::get_columns($invoice), $item, $invoice);
826 826
         $row = ob_get_clean();
827
-        wp_send_json_success( compact( 'row' ) );
827
+        wp_send_json_success(compact('row'));
828 828
     }
829 829
 
830 830
     /**
@@ -833,39 +833,39 @@  discard block
 block discarded – undo
833 833
     public static function add_invoice_items() {
834 834
 
835 835
         // Verify nonce.
836
-        check_ajax_referer( 'wpinv-nonce' );
836
+        check_ajax_referer('wpinv-nonce');
837 837
 
838
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
838
+        if (!wpinv_current_user_can_manage_invoicing()) {
839 839
             exit;
840 840
         }
841 841
 
842 842
         // We need an invoice and items.
843
-        if ( empty( $_POST['post_id'] ) || empty( $_POST['items'] ) ) {
843
+        if (empty($_POST['post_id']) || empty($_POST['items'])) {
844 844
             exit;
845 845
         }
846 846
 
847 847
         // Fetch the invoice.
848
-        $invoice = new WPInv_Invoice( trim( $_POST['post_id'] ) );
848
+        $invoice = new WPInv_Invoice(trim($_POST['post_id']));
849 849
         $alert   = false;
850 850
 
851 851
         // Ensure it exists and its not been paid for.
852
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
852
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
853 853
             exit;
854 854
         }
855 855
 
856 856
         // Add the items.
857
-        foreach ( $_POST['items'] as $data ) {
857
+        foreach ($_POST['items'] as $data) {
858 858
 
859
-            $item = new GetPaid_Form_Item( $data[ 'id' ] );
859
+            $item = new GetPaid_Form_Item($data['id']);
860 860
 
861
-            if ( is_numeric( $data[ 'qty' ] ) && (float) $data[ 'qty' ] > 0 ) {
862
-                $item->set_quantity( $data[ 'qty' ] );
861
+            if (is_numeric($data['qty']) && (float) $data['qty'] > 0) {
862
+                $item->set_quantity($data['qty']);
863 863
             }
864 864
 
865
-            if ( $item->get_id() > 0 ) {
866
-                $error = $invoice->add_item( $item );
865
+            if ($item->get_id() > 0) {
866
+                $error = $invoice->add_item($item);
867 867
 
868
-                if ( is_wp_error( $error ) ) {
868
+                if (is_wp_error($error)) {
869 869
                     $alert = $error->get_error_message();
870 870
                 }
871 871
 
@@ -880,11 +880,11 @@  discard block
 block discarded – undo
880 880
         // Return an array of invoice items.
881 881
         $items = array();
882 882
 
883
-        foreach ( $invoice->get_items() as $item ) {
884
-            $items[] = $item->prepare_data_for_invoice_edit_ajax( $invoice->get_currency() );
883
+        foreach ($invoice->get_items() as $item) {
884
+            $items[] = $item->prepare_data_for_invoice_edit_ajax($invoice->get_currency());
885 885
         }
886 886
 
887
-        wp_send_json_success( compact( 'items', 'alert' ) );
887
+        wp_send_json_success(compact('items', 'alert'));
888 888
     }
889 889
 
890 890
     /**
@@ -893,15 +893,15 @@  discard block
 block discarded – undo
893 893
     public static function get_invoicing_items() {
894 894
 
895 895
         // Verify nonce.
896
-        check_ajax_referer( 'wpinv-nonce' );
896
+        check_ajax_referer('wpinv-nonce');
897 897
 
898
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
898
+        if (!wpinv_current_user_can_manage_invoicing()) {
899 899
             exit;
900 900
         }
901 901
 
902 902
         // We need a search term.
903
-        if ( empty( $_GET['search'] ) ) {
904
-            wp_send_json_success( array() );
903
+        if (empty($_GET['search'])) {
904
+            wp_send_json_success(array());
905 905
         }
906 906
 
907 907
         // Retrieve items.
@@ -910,8 +910,8 @@  discard block
 block discarded – undo
910 910
             'orderby'        => 'title',
911 911
             'order'          => 'ASC',
912 912
             'posts_per_page' => -1,
913
-            'post_status'    => array( 'publish' ),
914
-            's'              => trim( $_GET['search'] ),
913
+            'post_status'    => array('publish'),
914
+            's'              => trim($_GET['search']),
915 915
             'meta_query'     => array(
916 916
                 array(
917 917
                     'key'       => '_wpinv_type',
@@ -921,21 +921,21 @@  discard block
 block discarded – undo
921 921
             )
922 922
         );
923 923
 
924
-        $items = get_posts( apply_filters( 'getpaid_ajax_invoice_items_query_args', $item_args ) );
924
+        $items = get_posts(apply_filters('getpaid_ajax_invoice_items_query_args', $item_args));
925 925
         $data  = array();
926 926
 
927
-        $is_payment_form = ( ! empty( $_GET['post_id'] ) && 'wpi_payment_form' == get_post_type( $_GET['post_id'] ) );
927
+        $is_payment_form = (!empty($_GET['post_id']) && 'wpi_payment_form' == get_post_type($_GET['post_id']));
928 928
 
929
-        foreach ( $items as $item ) {
930
-            $item      = new GetPaid_Form_Item( $item );
929
+        foreach ($items as $item) {
930
+            $item = new GetPaid_Form_Item($item);
931 931
             $data[] = array(
932 932
                 'id'        => (int) $item->get_id(),
933
-                'text'      => strip_tags( $item->get_name() ),
934
-                'form_data' => $is_payment_form ? $item->prepare_data_for_use( false ) : '',
933
+                'text'      => strip_tags($item->get_name()),
934
+                'form_data' => $is_payment_form ? $item->prepare_data_for_use(false) : '',
935 935
             );
936 936
         }
937 937
 
938
-        wp_send_json_success( $data );
938
+        wp_send_json_success($data);
939 939
 
940 940
     }
941 941
 
@@ -945,37 +945,37 @@  discard block
 block discarded – undo
945 945
     public static function get_customers() {
946 946
 
947 947
         // Verify nonce.
948
-        check_ajax_referer( 'wpinv-nonce' );
948
+        check_ajax_referer('wpinv-nonce');
949 949
 
950
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
950
+        if (!wpinv_current_user_can_manage_invoicing()) {
951 951
             exit;
952 952
         }
953 953
 
954 954
         // We need a search term.
955
-        if ( empty( $_GET['search'] ) ) {
956
-            wp_send_json_success( array() );
955
+        if (empty($_GET['search'])) {
956
+            wp_send_json_success(array());
957 957
         }
958 958
 
959 959
         // Retrieve customers.
960 960
     
961 961
         $customer_args = array(
962
-            'fields'         => array( 'ID', 'user_email', 'display_name' ),
962
+            'fields'         => array('ID', 'user_email', 'display_name'),
963 963
             'orderby'        => 'display_name',
964
-            'search'         => '*' . sanitize_text_field( $_GET['search'] ) . '*',
965
-            'search_columns' => array( 'user_login', 'user_email', 'display_name' ),
964
+            'search'         => '*' . sanitize_text_field($_GET['search']) . '*',
965
+            'search_columns' => array('user_login', 'user_email', 'display_name'),
966 966
         );
967 967
 
968
-        $customers = get_users( apply_filters( 'getpaid_ajax_invoice_customers_query_args', $customer_args ) );
968
+        $customers = get_users(apply_filters('getpaid_ajax_invoice_customers_query_args', $customer_args));
969 969
         $data      = array();
970 970
 
971
-        foreach ( $customers as $customer ) {
971
+        foreach ($customers as $customer) {
972 972
             $data[] = array(
973 973
                 'id'        => (int) $customer->ID,
974
-                'text'      => strip_tags( sprintf( _x( '%1$s (%2$s)', 'user dropdown', 'invoicing' ), $customer->display_name, $customer->user_email ) ),
974
+                'text'      => strip_tags(sprintf(_x('%1$s (%2$s)', 'user dropdown', 'invoicing'), $customer->display_name, $customer->user_email)),
975 975
             );
976 976
         }
977 977
 
978
-        wp_send_json_success( $data );
978
+        wp_send_json_success($data);
979 979
 
980 980
     }
981 981
 
@@ -985,28 +985,28 @@  discard block
 block discarded – undo
985 985
     public static function get_aui_states_field() {
986 986
 
987 987
         // Verify nonce.
988
-        check_ajax_referer( 'wpinv-nonce' );
988
+        check_ajax_referer('wpinv-nonce');
989 989
 
990 990
         // We need a country.
991
-        if ( empty( $_GET['country'] ) ) {
991
+        if (empty($_GET['country'])) {
992 992
             exit;
993 993
         }
994 994
 
995
-        $states = wpinv_get_country_states( sanitize_text_field( $_GET['country'] ) );
996
-        $state  = isset( $_GET['state'] ) ? sanitize_text_field( $_GET['state'] ) : wpinv_get_default_state();
997
-        $name   = isset( $_GET['name'] ) ? sanitize_text_field( $_GET['name'] ) : 'wpinv_state';
998
-        $class  = isset( $_GET['class'] ) ? sanitize_text_field( $_GET['class'] ) : 'form-control-sm';
995
+        $states = wpinv_get_country_states(sanitize_text_field($_GET['country']));
996
+        $state  = isset($_GET['state']) ? sanitize_text_field($_GET['state']) : wpinv_get_default_state();
997
+        $name   = isset($_GET['name']) ? sanitize_text_field($_GET['name']) : 'wpinv_state';
998
+        $class  = isset($_GET['class']) ? sanitize_text_field($_GET['class']) : 'form-control-sm';
999 999
 
1000
-        if ( empty( $states ) ) {
1000
+        if (empty($states)) {
1001 1001
 
1002 1002
             $html = aui()->input(
1003 1003
                 array(
1004 1004
                     'type'        => 'text',
1005 1005
                     'id'          => 'wpinv_state',
1006 1006
                     'name'        => $name,
1007
-                    'label'       => __( 'State', 'invoicing' ),
1007
+                    'label'       => __('State', 'invoicing'),
1008 1008
                     'label_type'  => 'vertical',
1009
-                    'placeholder' => __( 'State', 'invoicing' ),
1009
+                    'placeholder' => __('State', 'invoicing'),
1010 1010
                     'class'       => $class,
1011 1011
                     'value'       => $state,
1012 1012
                 )
@@ -1018,9 +1018,9 @@  discard block
 block discarded – undo
1018 1018
                 array(
1019 1019
                     'id'          => 'wpinv_state',
1020 1020
                     'name'        => $name,
1021
-                    'label'       => __( 'State', 'invoicing' ),
1021
+                    'label'       => __('State', 'invoicing'),
1022 1022
                     'label_type'  => 'vertical',
1023
-                    'placeholder' => __( 'Select a state', 'invoicing' ),
1023
+                    'placeholder' => __('Select a state', 'invoicing'),
1024 1024
                     'class'       => $class,
1025 1025
                     'value'       => $state,
1026 1026
                     'options'     => $states,
@@ -1034,7 +1034,7 @@  discard block
 block discarded – undo
1034 1034
         wp_send_json_success(
1035 1035
             array(
1036 1036
                 'html'   => $html,
1037
-                'select' => ! empty ( $states )
1037
+                'select' => !empty ($states)
1038 1038
             )
1039 1039
         );
1040 1040
 
@@ -1048,11 +1048,11 @@  discard block
 block discarded – undo
1048 1048
     public static function payment_form_refresh_prices() {
1049 1049
 
1050 1050
         // Check nonce.
1051
-        check_ajax_referer( 'getpaid_form_nonce' );
1051
+        check_ajax_referer('getpaid_form_nonce');
1052 1052
 
1053 1053
         // ... form fields...
1054
-        if ( empty( $_POST['getpaid_payment_form_submission'] ) ) {
1055
-            _e( 'Error: Reload the page and try again.', 'invoicing' );
1054
+        if (empty($_POST['getpaid_payment_form_submission'])) {
1055
+            _e('Error: Reload the page and try again.', 'invoicing');
1056 1056
             exit;
1057 1057
         }
1058 1058
 
@@ -1060,7 +1060,7 @@  discard block
 block discarded – undo
1060 1060
         $submission = new GetPaid_Payment_Form_Submission();
1061 1061
 
1062 1062
         // Do we have an error?
1063
-        if ( ! empty( $submission->last_error ) ) {
1063
+        if (!empty($submission->last_error)) {
1064 1064
             wp_send_json_error(
1065 1065
                 array(
1066 1066
                     'code'  => $submission->last_error_code,
@@ -1070,12 +1070,12 @@  discard block
 block discarded – undo
1070 1070
         }
1071 1071
 
1072 1072
         // Prepare the response.
1073
-        $response = new GetPaid_Payment_Form_Submission_Refresh_Prices( $submission );
1073
+        $response = new GetPaid_Payment_Form_Submission_Refresh_Prices($submission);
1074 1074
 
1075 1075
         // Filter the response.
1076
-        $response = apply_filters( 'getpaid_payment_form_ajax_refresh_prices', $response->response, $submission );
1076
+        $response = apply_filters('getpaid_payment_form_ajax_refresh_prices', $response->response, $submission);
1077 1077
 
1078
-        wp_send_json_success( $response );
1078
+        wp_send_json_success($response);
1079 1079
     }
1080 1080
 
1081 1081
 }
Please login to merge, or discard this patch.
includes/payments/class-getpaid-payment-form-submission.php 2 patches
Indentation   +818 added lines, -818 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! defined( 'ABSPATH' ) ) {
3
-	exit;
3
+    exit;
4 4
 }
5 5
 
6 6
 /**
@@ -10,198 +10,198 @@  discard block
 block discarded – undo
10 10
 class GetPaid_Payment_Form_Submission {
11 11
 
12 12
     /**
13
-	 * Submission ID
14
-	 *
15
-	 * @var string
16
-	 */
17
-	public $id = null;
18
-
19
-	/**
20
-	 * The raw submission data.
21
-	 *
22
-	 * @var array
23
-	 */
24
-	protected $data = null;
25
-
26
-	/**
27
-	 * Submission totals
28
-	 *
29
-	 * @var array
30
-	 */
31
-	protected $totals = array(
32
-
33
-		'subtotal'      => array(
34
-			'initial'   => 0,
35
-			'recurring' => 0,
36
-		),
37
-
38
-		'discount'      => array(
39
-			'initial'   => 0,
40
-			'recurring' => 0,
41
-		),
42
-
43
-		'fees'          => array(
44
-			'initial'   => 0,
45
-			'recurring' => 0,
46
-		),
47
-
48
-		'taxes'         => array(
49
-			'initial'   => 0,
50
-			'recurring' => 0,
51
-		),
52
-
53
-	);
54
-
55
-	/**
56
-	 * Sets the associated payment form.
57
-	 *
58
-	 * @var GetPaid_Payment_Form
59
-	 */
13
+     * Submission ID
14
+     *
15
+     * @var string
16
+     */
17
+    public $id = null;
18
+
19
+    /**
20
+     * The raw submission data.
21
+     *
22
+     * @var array
23
+     */
24
+    protected $data = null;
25
+
26
+    /**
27
+     * Submission totals
28
+     *
29
+     * @var array
30
+     */
31
+    protected $totals = array(
32
+
33
+        'subtotal'      => array(
34
+            'initial'   => 0,
35
+            'recurring' => 0,
36
+        ),
37
+
38
+        'discount'      => array(
39
+            'initial'   => 0,
40
+            'recurring' => 0,
41
+        ),
42
+
43
+        'fees'          => array(
44
+            'initial'   => 0,
45
+            'recurring' => 0,
46
+        ),
47
+
48
+        'taxes'         => array(
49
+            'initial'   => 0,
50
+            'recurring' => 0,
51
+        ),
52
+
53
+    );
54
+
55
+    /**
56
+     * Sets the associated payment form.
57
+     *
58
+     * @var GetPaid_Payment_Form
59
+     */
60 60
     protected $payment_form = null;
61 61
 
62 62
     /**
63
-	 * The country for the submission.
64
-	 *
65
-	 * @var string
66
-	 */
67
-	public $country = null;
68
-
69
-    /**
70
-	 * The state for the submission.
71
-	 *
72
-	 * @since 1.0.19
73
-	 * @var string
74
-	 */
75
-	public $state = null;
76
-
77
-	/**
78
-	 * The invoice associated with the submission.
79
-	 *
80
-	 * @var WPInv_Invoice
81
-	 */
82
-	protected $invoice = null;
83
-
84
-	/**
85
-	 * The recurring item for the submission.
86
-	 *
87
-	 * @var int
88
-	 */
89
-	public $has_recurring = 0;
90
-
91
-	/**
92
-	 * An array of fees for the submission.
93
-	 *
94
-	 * @var array
95
-	 */
96
-	protected $fees = array();
97
-
98
-	/**
99
-	 * An array of discounts for the submission.
100
-	 *
101
-	 * @var array
102
-	 */
103
-	protected $discounts = array();
104
-
105
-	/**
106
-	 * An array of taxes for the submission.
107
-	 *
108
-	 * @var array
109
-	 */
110
-	protected $taxes = array();
111
-
112
-	/**
113
-	 * An array of items for the submission.
114
-	 *
115
-	 * @var GetPaid_Form_Item[]
116
-	 */
117
-	protected $items = array();
118
-
119
-	/**
120
-	 * The last error.
121
-	 *
122
-	 * @var string
123
-	 */
124
-	public $last_error = null;
125
-
126
-	/**
127
-	 * The last error code.
128
-	 *
129
-	 * @var string
130
-	 */
131
-	public $last_error_code = null;
132
-
133
-    /**
134
-	 * Class constructor.
135
-	 *
136
-	 */
137
-	public function __construct() {
138
-
139
-		// Set the state and country to the default state and country.
140
-		$this->country = wpinv_default_billing_country();
141
-		$this->state   = wpinv_get_default_state();
142
-
143
-		// Do we have an actual submission?
144
-		if ( isset( $_POST['getpaid_payment_form_submission'] ) ) {
145
-			$this->load_data( $_POST );
146
-		}
147
-
148
-	}
149
-
150
-	/**
151
-	 * Loads submission data.
152
-	 *
153
-	 * @param array $data
154
-	 */
155
-	public function load_data( $data ) {
156
-
157
-		// Remove slashes from the submitted data...
158
-		$data       = wp_unslash( $data );
159
-
160
-		// Allow plugins to filter the data.
161
-		$data       = apply_filters( 'getpaid_submission_data', $data, $this );
162
-
163
-		// Cache it...
164
-		$this->data = $data;
165
-
166
-		// Then generate a unique id from the data.
167
-		$this->id   = md5( wp_json_encode( $data ) );
168
-
169
-		// Finally, process the submission.
170
-		try {
171
-
172
-			// Each process is passed an instance of the class (with reference)
173
-			// and should throw an Exception whenever it encounters one.
174
-			$processors = apply_filters(
175
-				'getpaid_payment_form_submission_processors',
176
-				array(
177
-					array( $this, 'process_payment_form' ),
178
-					array( $this, 'process_invoice' ),
179
-					array( $this, 'process_fees' ),
180
-					array( $this, 'process_items' ),
181
-					array( $this, 'process_discount' ),
182
-					array( $this, 'process_taxes' ),
183
-				),
184
-				$this		
185
-			);
186
-
187
-			foreach ( $processors as $processor ) {
188
-				call_user_func_array( $processor, array( &$this ) );
189
-			}
190
-
191
-		} catch( GetPaid_Payment_Exception $e ) {
192
-			$this->last_error      = $e->getMessage();
193
-			$this->last_error_code = $e->getErrorCode();
194
-		} catch ( Exception $e ) {
195
-			$this->last_error      = $e->getMessage();
196
-			$this->last_error_code = $e->getCode();
197
-		}
198
-
199
-		// Fired when we are done processing a submission.
200
-		do_action_ref_array( 'getpaid_process_submission', array( &$this ) );
201
-
202
-	}
203
-
204
-	/*
63
+     * The country for the submission.
64
+     *
65
+     * @var string
66
+     */
67
+    public $country = null;
68
+
69
+    /**
70
+     * The state for the submission.
71
+     *
72
+     * @since 1.0.19
73
+     * @var string
74
+     */
75
+    public $state = null;
76
+
77
+    /**
78
+     * The invoice associated with the submission.
79
+     *
80
+     * @var WPInv_Invoice
81
+     */
82
+    protected $invoice = null;
83
+
84
+    /**
85
+     * The recurring item for the submission.
86
+     *
87
+     * @var int
88
+     */
89
+    public $has_recurring = 0;
90
+
91
+    /**
92
+     * An array of fees for the submission.
93
+     *
94
+     * @var array
95
+     */
96
+    protected $fees = array();
97
+
98
+    /**
99
+     * An array of discounts for the submission.
100
+     *
101
+     * @var array
102
+     */
103
+    protected $discounts = array();
104
+
105
+    /**
106
+     * An array of taxes for the submission.
107
+     *
108
+     * @var array
109
+     */
110
+    protected $taxes = array();
111
+
112
+    /**
113
+     * An array of items for the submission.
114
+     *
115
+     * @var GetPaid_Form_Item[]
116
+     */
117
+    protected $items = array();
118
+
119
+    /**
120
+     * The last error.
121
+     *
122
+     * @var string
123
+     */
124
+    public $last_error = null;
125
+
126
+    /**
127
+     * The last error code.
128
+     *
129
+     * @var string
130
+     */
131
+    public $last_error_code = null;
132
+
133
+    /**
134
+     * Class constructor.
135
+     *
136
+     */
137
+    public function __construct() {
138
+
139
+        // Set the state and country to the default state and country.
140
+        $this->country = wpinv_default_billing_country();
141
+        $this->state   = wpinv_get_default_state();
142
+
143
+        // Do we have an actual submission?
144
+        if ( isset( $_POST['getpaid_payment_form_submission'] ) ) {
145
+            $this->load_data( $_POST );
146
+        }
147
+
148
+    }
149
+
150
+    /**
151
+     * Loads submission data.
152
+     *
153
+     * @param array $data
154
+     */
155
+    public function load_data( $data ) {
156
+
157
+        // Remove slashes from the submitted data...
158
+        $data       = wp_unslash( $data );
159
+
160
+        // Allow plugins to filter the data.
161
+        $data       = apply_filters( 'getpaid_submission_data', $data, $this );
162
+
163
+        // Cache it...
164
+        $this->data = $data;
165
+
166
+        // Then generate a unique id from the data.
167
+        $this->id   = md5( wp_json_encode( $data ) );
168
+
169
+        // Finally, process the submission.
170
+        try {
171
+
172
+            // Each process is passed an instance of the class (with reference)
173
+            // and should throw an Exception whenever it encounters one.
174
+            $processors = apply_filters(
175
+                'getpaid_payment_form_submission_processors',
176
+                array(
177
+                    array( $this, 'process_payment_form' ),
178
+                    array( $this, 'process_invoice' ),
179
+                    array( $this, 'process_fees' ),
180
+                    array( $this, 'process_items' ),
181
+                    array( $this, 'process_discount' ),
182
+                    array( $this, 'process_taxes' ),
183
+                ),
184
+                $this		
185
+            );
186
+
187
+            foreach ( $processors as $processor ) {
188
+                call_user_func_array( $processor, array( &$this ) );
189
+            }
190
+
191
+        } catch( GetPaid_Payment_Exception $e ) {
192
+            $this->last_error      = $e->getMessage();
193
+            $this->last_error_code = $e->getErrorCode();
194
+        } catch ( Exception $e ) {
195
+            $this->last_error      = $e->getMessage();
196
+            $this->last_error_code = $e->getCode();
197
+        }
198
+
199
+        // Fired when we are done processing a submission.
200
+        do_action_ref_array( 'getpaid_process_submission', array( &$this ) );
201
+
202
+    }
203
+
204
+    /*
205 205
 	|--------------------------------------------------------------------------
206 206
 	| Payment Forms.
207 207
 	|--------------------------------------------------------------------------
@@ -210,39 +210,39 @@  discard block
 block discarded – undo
210 210
 	| submission has an active payment form etc.
211 211
     */
212 212
 
213
-	/**
214
-	 * Prepares the submission's payment form.
215
-	 *
216
-	 * @since 1.0.19
217
-	 */
218
-	public function process_payment_form() {
213
+    /**
214
+     * Prepares the submission's payment form.
215
+     *
216
+     * @since 1.0.19
217
+     */
218
+    public function process_payment_form() {
219 219
 
220
-		// Every submission needs an active payment form.
221
-		if ( empty( $this->data['form_id'] ) ) {
222
-			throw new Exception( __( 'Missing payment form', 'invoicing' ) );
223
-		}
220
+        // Every submission needs an active payment form.
221
+        if ( empty( $this->data['form_id'] ) ) {
222
+            throw new Exception( __( 'Missing payment form', 'invoicing' ) );
223
+        }
224 224
 
225
-		// Fetch the payment form.
226
-		$this->payment_form = new GetPaid_Payment_Form( $this->data['form_id'] );
225
+        // Fetch the payment form.
226
+        $this->payment_form = new GetPaid_Payment_Form( $this->data['form_id'] );
227 227
 
228
-		if ( ! $this->payment_form->is_active() ) {
229
-			throw new Exception( __( 'Payment form not active', 'invoicing' ) );
230
-		}
228
+        if ( ! $this->payment_form->is_active() ) {
229
+            throw new Exception( __( 'Payment form not active', 'invoicing' ) );
230
+        }
231 231
 
232
-		do_action_ref_array( 'getpaid_submissions_process_payment_form', array( &$this ) );
233
-	}
232
+        do_action_ref_array( 'getpaid_submissions_process_payment_form', array( &$this ) );
233
+    }
234 234
 
235 235
     /**
236
-	 * Returns the payment form.
237
-	 *
238
-	 * @since 1.0.19
239
-	 * @return GetPaid_Payment_Form
240
-	 */
241
-	public function get_payment_form() {
242
-		return $this->payment_form;
243
-	}
236
+     * Returns the payment form.
237
+     *
238
+     * @since 1.0.19
239
+     * @return GetPaid_Payment_Form
240
+     */
241
+    public function get_payment_form() {
242
+        return $this->payment_form;
243
+    }
244 244
 
245
-	/*
245
+    /*
246 246
 	|--------------------------------------------------------------------------
247 247
 	| Invoices.
248 248
 	|--------------------------------------------------------------------------
@@ -251,84 +251,84 @@  discard block
 block discarded – undo
251 251
 	| might be for an existing invoice.
252 252
 	*/
253 253
 
254
-	/**
255
-	 * Prepares the submission's invoice.
256
-	 *
257
-	 * @since 1.0.19
258
-	 */
259
-	public function process_invoice() {
254
+    /**
255
+     * Prepares the submission's invoice.
256
+     *
257
+     * @since 1.0.19
258
+     */
259
+    public function process_invoice() {
260 260
 
261
-		// Abort if there is no invoice.
262
-		if ( empty( $this->data['invoice_id'] ) ) {
263
-			return;
264
-		}
261
+        // Abort if there is no invoice.
262
+        if ( empty( $this->data['invoice_id'] ) ) {
263
+            return;
264
+        }
265 265
 
266
-		// If the submission is for an existing invoice, ensure that it exists
267
-		// and that it is not paid for.
268
-		$invoice = wpinv_get_invoice( $this->data['invoice_id'] );
266
+        // If the submission is for an existing invoice, ensure that it exists
267
+        // and that it is not paid for.
268
+        $invoice = wpinv_get_invoice( $this->data['invoice_id'] );
269 269
 
270 270
         if ( empty( $invoice ) ) {
271
-			throw new Exception( __( 'Invalid invoice', 'invoicing' ) );
272
-		}
271
+            throw new Exception( __( 'Invalid invoice', 'invoicing' ) );
272
+        }
273 273
 
274
-		if ( $invoice->is_paid() ) {
275
-			throw new Exception( __( 'This invoice is already paid for.', 'invoicing' ) );
276
-		}
274
+        if ( $invoice->is_paid() ) {
275
+            throw new Exception( __( 'This invoice is already paid for.', 'invoicing' ) );
276
+        }
277 277
 
278
-		$this->payment_form->invoice = $invoice;
279
-		if ( ! $this->payment_form->is_default() ) {
278
+        $this->payment_form->invoice = $invoice;
279
+        if ( ! $this->payment_form->is_default() ) {
280 280
 
281
-			$items    = array();
282
-			$item_ids = array();
281
+            $items    = array();
282
+            $item_ids = array();
283 283
 	
284
-			foreach ( $invoice->get_items() as $item ) {
285
-				if ( ! in_array( $item->get_id(), $item_ids ) ) {
286
-					$item_ids[] = $item->get_id();
287
-					$items[]    = $item;
288
-				}
289
-			}
284
+            foreach ( $invoice->get_items() as $item ) {
285
+                if ( ! in_array( $item->get_id(), $item_ids ) ) {
286
+                    $item_ids[] = $item->get_id();
287
+                    $items[]    = $item;
288
+                }
289
+            }
290 290
 	
291
-			foreach ( $this->payment_form->get_items() as $item ) {
292
-				if ( ! in_array( $item->get_id(), $item_ids ) ) {
293
-					$item_ids[] = $item->get_id();
294
-					$items[]    = $item;
295
-				}
296
-			}
291
+            foreach ( $this->payment_form->get_items() as $item ) {
292
+                if ( ! in_array( $item->get_id(), $item_ids ) ) {
293
+                    $item_ids[] = $item->get_id();
294
+                    $items[]    = $item;
295
+                }
296
+            }
297 297
 	
298
-			$this->payment_form->set_items( $items );
298
+            $this->payment_form->set_items( $items );
299 299
 	
300
-		} else {
301
-			$this->payment_form->set_items( $invoice->get_items() );
302
-		}
303
-
304
-		$this->country = $invoice->get_country();
305
-		$this->state   = $invoice->get_state();
306
-		$this->invoice = $invoice;
307
-
308
-		do_action_ref_array( 'getpaid_submissions_process_invoice', array( &$this ) );
309
-	}
310
-
311
-	/**
312
-	 * Returns the associated invoice.
313
-	 *
314
-	 * @since 1.0.19
315
-	 * @return WPInv_Invoice
316
-	 */
317
-	public function get_invoice() {
318
-		return $this->invoice;
319
-	}
320
-
321
-	/**
322
-	 * Checks whether there is an invoice associated with this submission.
323
-	 *
324
-	 * @since 1.0.19
325
-	 * @return bool
326
-	 */
327
-	public function has_invoice() {
328
-		return ! empty( $this->invoice );
329
-	}
330
-
331
-	/*
300
+        } else {
301
+            $this->payment_form->set_items( $invoice->get_items() );
302
+        }
303
+
304
+        $this->country = $invoice->get_country();
305
+        $this->state   = $invoice->get_state();
306
+        $this->invoice = $invoice;
307
+
308
+        do_action_ref_array( 'getpaid_submissions_process_invoice', array( &$this ) );
309
+    }
310
+
311
+    /**
312
+     * Returns the associated invoice.
313
+     *
314
+     * @since 1.0.19
315
+     * @return WPInv_Invoice
316
+     */
317
+    public function get_invoice() {
318
+        return $this->invoice;
319
+    }
320
+
321
+    /**
322
+     * Checks whether there is an invoice associated with this submission.
323
+     *
324
+     * @since 1.0.19
325
+     * @return bool
326
+     */
327
+    public function has_invoice() {
328
+        return ! empty( $this->invoice );
329
+    }
330
+
331
+    /*
332 332
 	|--------------------------------------------------------------------------
333 333
 	| Items.
334 334
 	|--------------------------------------------------------------------------
@@ -337,129 +337,129 @@  discard block
 block discarded – undo
337 337
 	| recurring item. But can have an unlimited number of non-recurring items.
338 338
 	*/
339 339
 
340
-	/**
341
-	 * Prepares the submission's items.
342
-	 *
343
-	 * @since 1.0.19
344
-	 */
345
-	public function process_items() {
346
-
347
-		$processor = new GetPaid_Payment_Form_Submission_Items( $this );
348
-
349
-		foreach ( $processor->items as $item ) {
350
-			$this->add_item( $item );
351
-		}
352
-
353
-		do_action_ref_array( 'getpaid_submissions_process_items', array( &$this ) );
354
-	}
355
-
356
-	/**
357
-	 * Adds an item to the submission.
358
-	 *
359
-	 * @since 1.0.19
360
-	 * @param GetPaid_Form_Item $item
361
-	 */
362
-	public function add_item( $item ) {
363
-
364
-		// Make sure that it is available for purchase.
365
-		if ( ! $item->can_purchase() || isset( $this->items[ $item->get_id() ] ) ) {
366
-			return;
367
-		}
368
-
369
-		// Each submission can only contain one recurring item.
370
-		if ( $item->is_recurring() ) {
371
-			$this->has_recurring = $item->get_id();
372
-		}
373
-
374
-		// Update the items and totals.
375
-		$this->items[ $item->get_id() ]         = $item;
376
-		$this->totals['subtotal']['initial']   += $item->get_sub_total();
377
-		$this->totals['subtotal']['recurring'] += $item->get_recurring_sub_total();
378
-
379
-	}
380
-
381
-	/**
382
-	 * Removes a specific item.
383
-	 * 
384
-	 * You should not call this method after the discounts and taxes
385
-	 * have been calculated.
386
-	 *
387
-	 * @since 1.0.19
388
-	 */
389
-	public function remove_item( $item_id ) {
390
-
391
-		if ( isset( $this->items[ $item_id ] ) ) {
392
-			$this->totals['subtotal']['initial']   -= $this->items[ $item_id ]->get_sub_total();
393
-			$this->totals['subtotal']['recurring'] -= $this->items[ $item_id ]->get_recurring_sub_total();
394
-
395
-			if ( $this->items[ $item_id ]->is_recurring() ) {
396
-				$this->has_recurring = 0;
397
-			}
398
-
399
-			unset( $this->items[ $item_id ] );
400
-		}
401
-
402
-	}
403
-
404
-	/**
405
-	 * Returns the subtotal.
406
-	 *
407
-	 * @since 1.0.19
408
-	 */
409
-	public function get_subtotal() {
410
-
411
-		if ( wpinv_prices_include_tax() ) {
412
-			return $this->totals['subtotal']['initial'] - $this->totals['taxes']['initial'];
413
-		}
414
-
415
-		return $this->totals['subtotal']['initial'];
416
-	}
417
-
418
-	/**
419
-	 * Returns the recurring subtotal.
420
-	 *
421
-	 * @since 1.0.19
422
-	 */
423
-	public function get_recurring_subtotal() {
424
-
425
-		if ( wpinv_prices_include_tax() ) {
426
-			return $this->totals['subtotal']['recurring'] - $this->totals['taxes']['recurring'];
427
-		}
428
-
429
-		return $this->totals['subtotal']['recurring'];
430
-	}
431
-
432
-	/**
433
-	 * Returns all items.
434
-	 *
435
-	 * @since 1.0.19
436
-	 * @return GetPaid_Form_Item[]
437
-	 */
438
-	public function get_items() {
439
-		return $this->items;
440
-	}
441
-
442
-	/**
443
-	 * Checks if there's a single subscription group in the submission.
444
-	 *
445
-	 * @since 2.3.0
446
-	 * @return bool
447
-	 */
448
-	public function has_subscription_group() {
449
-		return $this->has_recurring && getpaid_should_group_subscriptions( $this ) && 1 == count( getpaid_get_subscription_groups( $this ) );
450
-	}
451
-
452
-	/**
453
-	 * Checks if there are multipe subscription groups in the submission.
454
-	 *
455
-	 * @since 2.3.0
456
-	 * @return bool
457
-	 */
458
-	public function has_multiple_subscription_groups() {
459
-		return $this->has_recurring && 1 < count( getpaid_get_subscription_groups( $this ) );
460
-	}
461
-
462
-	/*
340
+    /**
341
+     * Prepares the submission's items.
342
+     *
343
+     * @since 1.0.19
344
+     */
345
+    public function process_items() {
346
+
347
+        $processor = new GetPaid_Payment_Form_Submission_Items( $this );
348
+
349
+        foreach ( $processor->items as $item ) {
350
+            $this->add_item( $item );
351
+        }
352
+
353
+        do_action_ref_array( 'getpaid_submissions_process_items', array( &$this ) );
354
+    }
355
+
356
+    /**
357
+     * Adds an item to the submission.
358
+     *
359
+     * @since 1.0.19
360
+     * @param GetPaid_Form_Item $item
361
+     */
362
+    public function add_item( $item ) {
363
+
364
+        // Make sure that it is available for purchase.
365
+        if ( ! $item->can_purchase() || isset( $this->items[ $item->get_id() ] ) ) {
366
+            return;
367
+        }
368
+
369
+        // Each submission can only contain one recurring item.
370
+        if ( $item->is_recurring() ) {
371
+            $this->has_recurring = $item->get_id();
372
+        }
373
+
374
+        // Update the items and totals.
375
+        $this->items[ $item->get_id() ]         = $item;
376
+        $this->totals['subtotal']['initial']   += $item->get_sub_total();
377
+        $this->totals['subtotal']['recurring'] += $item->get_recurring_sub_total();
378
+
379
+    }
380
+
381
+    /**
382
+     * Removes a specific item.
383
+     * 
384
+     * You should not call this method after the discounts and taxes
385
+     * have been calculated.
386
+     *
387
+     * @since 1.0.19
388
+     */
389
+    public function remove_item( $item_id ) {
390
+
391
+        if ( isset( $this->items[ $item_id ] ) ) {
392
+            $this->totals['subtotal']['initial']   -= $this->items[ $item_id ]->get_sub_total();
393
+            $this->totals['subtotal']['recurring'] -= $this->items[ $item_id ]->get_recurring_sub_total();
394
+
395
+            if ( $this->items[ $item_id ]->is_recurring() ) {
396
+                $this->has_recurring = 0;
397
+            }
398
+
399
+            unset( $this->items[ $item_id ] );
400
+        }
401
+
402
+    }
403
+
404
+    /**
405
+     * Returns the subtotal.
406
+     *
407
+     * @since 1.0.19
408
+     */
409
+    public function get_subtotal() {
410
+
411
+        if ( wpinv_prices_include_tax() ) {
412
+            return $this->totals['subtotal']['initial'] - $this->totals['taxes']['initial'];
413
+        }
414
+
415
+        return $this->totals['subtotal']['initial'];
416
+    }
417
+
418
+    /**
419
+     * Returns the recurring subtotal.
420
+     *
421
+     * @since 1.0.19
422
+     */
423
+    public function get_recurring_subtotal() {
424
+
425
+        if ( wpinv_prices_include_tax() ) {
426
+            return $this->totals['subtotal']['recurring'] - $this->totals['taxes']['recurring'];
427
+        }
428
+
429
+        return $this->totals['subtotal']['recurring'];
430
+    }
431
+
432
+    /**
433
+     * Returns all items.
434
+     *
435
+     * @since 1.0.19
436
+     * @return GetPaid_Form_Item[]
437
+     */
438
+    public function get_items() {
439
+        return $this->items;
440
+    }
441
+
442
+    /**
443
+     * Checks if there's a single subscription group in the submission.
444
+     *
445
+     * @since 2.3.0
446
+     * @return bool
447
+     */
448
+    public function has_subscription_group() {
449
+        return $this->has_recurring && getpaid_should_group_subscriptions( $this ) && 1 == count( getpaid_get_subscription_groups( $this ) );
450
+    }
451
+
452
+    /**
453
+     * Checks if there are multipe subscription groups in the submission.
454
+     *
455
+     * @since 2.3.0
456
+     * @return bool
457
+     */
458
+    public function has_multiple_subscription_groups() {
459
+        return $this->has_recurring && 1 < count( getpaid_get_subscription_groups( $this ) );
460
+    }
461
+
462
+    /*
463 463
 	|--------------------------------------------------------------------------
464 464
 	| Taxes
465 465
 	|--------------------------------------------------------------------------
@@ -468,128 +468,128 @@  discard block
 block discarded – undo
468 468
 	| or only one-time.
469 469
     */
470 470
 
471
-	/**
472
-	 * Prepares the submission's taxes.
473
-	 *
474
-	 * @since 1.0.19
475
-	 */
476
-	public function process_taxes() {
477
-
478
-		// Abort if we're not using taxes.
479
-		if ( ! $this->use_taxes() ) {
480
-			return;
481
-		}
482
-
483
-		// If a custom country && state has been passed in, use it to calculate taxes.
484
-		$country = $this->get_field( 'wpinv_country', 'billing' );
485
-		if ( ! empty( $country ) ) {
486
-			$this->country = $country;
487
-		}
488
-
489
-		$state = $this->get_field( 'wpinv_state', 'billing' );
490
-		if ( ! empty( $state ) ) {
491
-			$this->state = $state;
492
-		}
493
-
494
-		// Confirm if the provided country and the ip country are similar.
495
-		$address_confirmed = $this->get_field( 'confirm-address' );
496
-		if ( isset( $_POST['billing']['country'] ) && wpinv_should_validate_vat_number() && getpaid_get_ip_country() != $this->country && empty( $address_confirmed ) ) {
497
-			throw new Exception( __( 'The country of your current location must be the same as the country of your billing location or you must confirm the billing address is your home country.', 'invoicing' ) );
498
-		}
499
-
500
-		// Abort if the country is not taxable.
501
-		if ( ! wpinv_is_country_taxable( $this->country ) ) {
502
-			return;
503
-		}
504
-
505
-		$processor = new GetPaid_Payment_Form_Submission_Taxes( $this );
506
-
507
-		foreach ( $processor->taxes as $tax ) {
508
-			$this->add_tax( $tax );
509
-		}
510
-
511
-		do_action_ref_array( 'getpaid_submissions_process_taxes', array( &$this ) );
512
-	}
513
-
514
-	/**
515
-	 * Adds a tax to the submission.
516
-	 *
517
-	 * @param array $tax An array of tax details. name, initial_tax, and recurring_tax are required.
518
-	 * @since 1.0.19
519
-	 */
520
-	public function add_tax( $tax ) {
521
-
522
-		if ( wpinv_round_tax_per_tax_rate() ) {
523
-			$tax['initial_tax']   = wpinv_round_amount( $tax['initial_tax'] );
524
-			$tax['recurring_tax'] = wpinv_round_amount( $tax['recurring_tax'] );
525
-		}
526
-
527
-		$this->taxes[ $tax['name'] ]         = $tax;
528
-		$this->totals['taxes']['initial']   += wpinv_sanitize_amount( $tax['initial_tax'] );
529
-		$this->totals['taxes']['recurring'] += wpinv_sanitize_amount( $tax['recurring_tax'] );
530
-
531
-	}
532
-
533
-	/**
534
-	 * Removes a specific tax.
535
-	 *
536
-	 * @since 1.0.19
537
-	 */
538
-	public function remove_tax( $tax_name ) {
539
-
540
-		if ( isset( $this->taxes[ $tax_name ] ) ) {
541
-			$this->totals['taxes']['initial']   -= $this->taxes[ $tax_name ]['initial_tax'];
542
-			$this->totals['taxes']['recurring'] -= $this->taxes[ $tax_name ]['recurring_tax'];
543
-			unset( $this->taxes[ $tax_name ] );
544
-		}
545
-
546
-	}
547
-
548
-	/**
549
-	 * Whether or not we'll use taxes for the submission.
550
-	 *
551
-	 * @since 1.0.19
552
-	 */
553
-	public function use_taxes() {
554
-
555
-		$use_taxes = wpinv_use_taxes();
556
-
557
-		if ( $this->has_invoice() && ! $this->invoice->is_taxable() ) {
558
-			$use_taxes = false;
559
-		}
560
-
561
-		return apply_filters( 'getpaid_submission_use_taxes', $use_taxes, $this );
562
-
563
-	}
564
-
565
-	/**
566
-	 * Returns the tax.
567
-	 *
568
-	 * @since 1.0.19
569
-	 */
570
-	public function get_tax() {
571
-		return $this->totals['taxes']['initial'];
572
-	}
573
-
574
-	/**
575
-	 * Returns the recurring tax.
576
-	 *
577
-	 * @since 1.0.19
578
-	 */
579
-	public function get_recurring_tax() {
580
-		return $this->totals['taxes']['recurring'];
581
-	}
582
-
583
-	/**
584
-	 * Returns all taxes.
585
-	 *
586
-	 * @since 1.0.19
587
-	 */
588
-	public function get_taxes() {
589
-		return $this->taxes;
590
-	}
591
-
592
-	/*
471
+    /**
472
+     * Prepares the submission's taxes.
473
+     *
474
+     * @since 1.0.19
475
+     */
476
+    public function process_taxes() {
477
+
478
+        // Abort if we're not using taxes.
479
+        if ( ! $this->use_taxes() ) {
480
+            return;
481
+        }
482
+
483
+        // If a custom country && state has been passed in, use it to calculate taxes.
484
+        $country = $this->get_field( 'wpinv_country', 'billing' );
485
+        if ( ! empty( $country ) ) {
486
+            $this->country = $country;
487
+        }
488
+
489
+        $state = $this->get_field( 'wpinv_state', 'billing' );
490
+        if ( ! empty( $state ) ) {
491
+            $this->state = $state;
492
+        }
493
+
494
+        // Confirm if the provided country and the ip country are similar.
495
+        $address_confirmed = $this->get_field( 'confirm-address' );
496
+        if ( isset( $_POST['billing']['country'] ) && wpinv_should_validate_vat_number() && getpaid_get_ip_country() != $this->country && empty( $address_confirmed ) ) {
497
+            throw new Exception( __( 'The country of your current location must be the same as the country of your billing location or you must confirm the billing address is your home country.', 'invoicing' ) );
498
+        }
499
+
500
+        // Abort if the country is not taxable.
501
+        if ( ! wpinv_is_country_taxable( $this->country ) ) {
502
+            return;
503
+        }
504
+
505
+        $processor = new GetPaid_Payment_Form_Submission_Taxes( $this );
506
+
507
+        foreach ( $processor->taxes as $tax ) {
508
+            $this->add_tax( $tax );
509
+        }
510
+
511
+        do_action_ref_array( 'getpaid_submissions_process_taxes', array( &$this ) );
512
+    }
513
+
514
+    /**
515
+     * Adds a tax to the submission.
516
+     *
517
+     * @param array $tax An array of tax details. name, initial_tax, and recurring_tax are required.
518
+     * @since 1.0.19
519
+     */
520
+    public function add_tax( $tax ) {
521
+
522
+        if ( wpinv_round_tax_per_tax_rate() ) {
523
+            $tax['initial_tax']   = wpinv_round_amount( $tax['initial_tax'] );
524
+            $tax['recurring_tax'] = wpinv_round_amount( $tax['recurring_tax'] );
525
+        }
526
+
527
+        $this->taxes[ $tax['name'] ]         = $tax;
528
+        $this->totals['taxes']['initial']   += wpinv_sanitize_amount( $tax['initial_tax'] );
529
+        $this->totals['taxes']['recurring'] += wpinv_sanitize_amount( $tax['recurring_tax'] );
530
+
531
+    }
532
+
533
+    /**
534
+     * Removes a specific tax.
535
+     *
536
+     * @since 1.0.19
537
+     */
538
+    public function remove_tax( $tax_name ) {
539
+
540
+        if ( isset( $this->taxes[ $tax_name ] ) ) {
541
+            $this->totals['taxes']['initial']   -= $this->taxes[ $tax_name ]['initial_tax'];
542
+            $this->totals['taxes']['recurring'] -= $this->taxes[ $tax_name ]['recurring_tax'];
543
+            unset( $this->taxes[ $tax_name ] );
544
+        }
545
+
546
+    }
547
+
548
+    /**
549
+     * Whether or not we'll use taxes for the submission.
550
+     *
551
+     * @since 1.0.19
552
+     */
553
+    public function use_taxes() {
554
+
555
+        $use_taxes = wpinv_use_taxes();
556
+
557
+        if ( $this->has_invoice() && ! $this->invoice->is_taxable() ) {
558
+            $use_taxes = false;
559
+        }
560
+
561
+        return apply_filters( 'getpaid_submission_use_taxes', $use_taxes, $this );
562
+
563
+    }
564
+
565
+    /**
566
+     * Returns the tax.
567
+     *
568
+     * @since 1.0.19
569
+     */
570
+    public function get_tax() {
571
+        return $this->totals['taxes']['initial'];
572
+    }
573
+
574
+    /**
575
+     * Returns the recurring tax.
576
+     *
577
+     * @since 1.0.19
578
+     */
579
+    public function get_recurring_tax() {
580
+        return $this->totals['taxes']['recurring'];
581
+    }
582
+
583
+    /**
584
+     * Returns all taxes.
585
+     *
586
+     * @since 1.0.19
587
+     */
588
+    public function get_taxes() {
589
+        return $this->taxes;
590
+    }
591
+
592
+    /*
593 593
 	|--------------------------------------------------------------------------
594 594
 	| Discounts
595 595
 	|--------------------------------------------------------------------------
@@ -598,99 +598,99 @@  discard block
 block discarded – undo
598 598
 	| or only one-time. They also do not have to come from a discount code.
599 599
     */
600 600
 
601
-	/**
602
-	 * Prepares the submission's discount.
603
-	 *
604
-	 * @since 1.0.19
605
-	 */
606
-	public function process_discount() {
607
-
608
-		$initial_total    = $this->get_subtotal() + $this->get_fee() + $this->get_tax();
609
-		$recurring_total  = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax();
610
-		$processor        = new GetPaid_Payment_Form_Submission_Discount( $this, $initial_total, $recurring_total );
611
-
612
-		foreach ( $processor->discounts as $discount ) {
613
-			$this->add_discount( $discount );
614
-		}
615
-
616
-		do_action_ref_array( 'getpaid_submissions_process_discounts', array( &$this ) );
617
-	}
618
-
619
-	/**
620
-	 * Adds a discount to the submission.
621
-	 *
622
-	 * @param array $discount An array of discount details. name, initial_discount, and recurring_discount are required. Include discount_code if the discount is from a discount code.
623
-	 * @since 1.0.19
624
-	 */
625
-	public function add_discount( $discount ) {
626
-		$this->discounts[ $discount['name'] ]   = $discount;
627
-		$this->totals['discount']['initial']   += wpinv_sanitize_amount( $discount['initial_discount'] );
628
-		$this->totals['discount']['recurring'] += wpinv_sanitize_amount( $discount['recurring_discount'] );
629
-	}
630
-
631
-	/**
632
-	 * Removes a discount from the submission.
633
-	 *
634
-	 * @since 1.0.19
635
-	 */
636
-	public function remove_discount( $name ) {
637
-
638
-		if ( isset( $this->discounts[ $name ] ) ) {
639
-			$this->totals['discount']['initial']   -= $this->discounts[ $name ]['initial_discount'];
640
-			$this->totals['discount']['recurring'] -= $this->discounts[ $name ]['recurring_discount'];
641
-			unset( $this->discounts[ $name ] );
642
-		}
643
-
644
-	}
645
-
646
-	/**
647
-	 * Checks whether there is a discount code associated with this submission.
648
-	 *
649
-	 * @since 1.0.19
650
-	 * @return bool
651
-	 */
652
-	public function has_discount_code() {
653
-		return ! empty( $this->discounts['discount_code'] );
654
-	}
655
-
656
-	/**
657
-	 * Returns the discount code.
658
-	 *
659
-	 * @since 1.0.19
660
-	 * @return string
661
-	 */
662
-	public function get_discount_code() {
663
-		return $this->has_discount_code() ? $this->discounts['discount_code']['discount_code'] : '';
664
-	}
665
-
666
-	/**
667
-	 * Returns the discount.
668
-	 *
669
-	 * @since 1.0.19
670
-	 */
671
-	public function get_discount() {
672
-		return $this->totals['discount']['initial'];
673
-	}
674
-
675
-	/**
676
-	 * Returns the recurring discount.
677
-	 *
678
-	 * @since 1.0.19
679
-	 */
680
-	public function get_recurring_discount() {
681
-		return $this->totals['discount']['recurring'];
682
-	}
683
-
684
-	/**
685
-	 * Returns all discounts.
686
-	 *
687
-	 * @since 1.0.19
688
-	 */
689
-	public function get_discounts() {
690
-		return $this->discounts;
691
-	}
692
-
693
-	/*
601
+    /**
602
+     * Prepares the submission's discount.
603
+     *
604
+     * @since 1.0.19
605
+     */
606
+    public function process_discount() {
607
+
608
+        $initial_total    = $this->get_subtotal() + $this->get_fee() + $this->get_tax();
609
+        $recurring_total  = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax();
610
+        $processor        = new GetPaid_Payment_Form_Submission_Discount( $this, $initial_total, $recurring_total );
611
+
612
+        foreach ( $processor->discounts as $discount ) {
613
+            $this->add_discount( $discount );
614
+        }
615
+
616
+        do_action_ref_array( 'getpaid_submissions_process_discounts', array( &$this ) );
617
+    }
618
+
619
+    /**
620
+     * Adds a discount to the submission.
621
+     *
622
+     * @param array $discount An array of discount details. name, initial_discount, and recurring_discount are required. Include discount_code if the discount is from a discount code.
623
+     * @since 1.0.19
624
+     */
625
+    public function add_discount( $discount ) {
626
+        $this->discounts[ $discount['name'] ]   = $discount;
627
+        $this->totals['discount']['initial']   += wpinv_sanitize_amount( $discount['initial_discount'] );
628
+        $this->totals['discount']['recurring'] += wpinv_sanitize_amount( $discount['recurring_discount'] );
629
+    }
630
+
631
+    /**
632
+     * Removes a discount from the submission.
633
+     *
634
+     * @since 1.0.19
635
+     */
636
+    public function remove_discount( $name ) {
637
+
638
+        if ( isset( $this->discounts[ $name ] ) ) {
639
+            $this->totals['discount']['initial']   -= $this->discounts[ $name ]['initial_discount'];
640
+            $this->totals['discount']['recurring'] -= $this->discounts[ $name ]['recurring_discount'];
641
+            unset( $this->discounts[ $name ] );
642
+        }
643
+
644
+    }
645
+
646
+    /**
647
+     * Checks whether there is a discount code associated with this submission.
648
+     *
649
+     * @since 1.0.19
650
+     * @return bool
651
+     */
652
+    public function has_discount_code() {
653
+        return ! empty( $this->discounts['discount_code'] );
654
+    }
655
+
656
+    /**
657
+     * Returns the discount code.
658
+     *
659
+     * @since 1.0.19
660
+     * @return string
661
+     */
662
+    public function get_discount_code() {
663
+        return $this->has_discount_code() ? $this->discounts['discount_code']['discount_code'] : '';
664
+    }
665
+
666
+    /**
667
+     * Returns the discount.
668
+     *
669
+     * @since 1.0.19
670
+     */
671
+    public function get_discount() {
672
+        return $this->totals['discount']['initial'];
673
+    }
674
+
675
+    /**
676
+     * Returns the recurring discount.
677
+     *
678
+     * @since 1.0.19
679
+     */
680
+    public function get_recurring_discount() {
681
+        return $this->totals['discount']['recurring'];
682
+    }
683
+
684
+    /**
685
+     * Returns all discounts.
686
+     *
687
+     * @since 1.0.19
688
+     */
689
+    public function get_discounts() {
690
+        return $this->discounts;
691
+    }
692
+
693
+    /*
694 694
 	|--------------------------------------------------------------------------
695 695
 	| Fees
696 696
 	|--------------------------------------------------------------------------
@@ -700,89 +700,89 @@  discard block
 block discarded – undo
700 700
 	| fees.
701 701
     */
702 702
 
703
-	/**
704
-	 * Prepares the submission's fees.
705
-	 *
706
-	 * @since 1.0.19
707
-	 */
708
-	public function process_fees() {
709
-
710
-		$fees_processor = new GetPaid_Payment_Form_Submission_Fees( $this );
711
-
712
-		foreach ( $fees_processor->fees as $fee ) {
713
-			$this->add_fee( $fee );
714
-		}
715
-
716
-		do_action_ref_array( 'getpaid_submissions_process_fees', array( &$this ) );
717
-	}
718
-
719
-	/**
720
-	 * Adds a fee to the submission.
721
-	 *
722
-	 * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
723
-	 * @since 1.0.19
724
-	 */
725
-	public function add_fee( $fee ) {
726
-
727
-		$this->fees[ $fee['name'] ]         = $fee;
728
-		$this->totals['fees']['initial']   += wpinv_sanitize_amount( $fee['initial_fee'] );
729
-		$this->totals['fees']['recurring'] += wpinv_sanitize_amount( $fee['recurring_fee'] );
730
-
731
-	}
732
-
733
-	/**
734
-	 * Removes a fee from the submission.
735
-	 *
736
-	 * @since 1.0.19
737
-	 */
738
-	public function remove_fee( $name ) {
739
-
740
-		if ( isset( $this->fees[ $name ] ) ) {
741
-			$this->totals['fees']['initial']   -= $this->fees[ $name ]['initial_fee'];
742
-			$this->totals['fees']['recurring'] -= $this->fees[ $name ]['recurring_fee'];
743
-			unset( $this->fees[ $name ] );
744
-		}
745
-
746
-	}
747
-
748
-	/**
749
-	 * Returns the fees.
750
-	 *
751
-	 * @since 1.0.19
752
-	 */
753
-	public function get_fee() {
754
-		return $this->totals['fees']['initial'];
755
-	}
756
-
757
-	/**
758
-	 * Returns the recurring fees.
759
-	 *
760
-	 * @since 1.0.19
761
-	 */
762
-	public function get_recurring_fee() {
763
-		return $this->totals['fees']['recurring'];
764
-	}
765
-
766
-	/**
767
-	 * Returns all fees.
768
-	 *
769
-	 * @since 1.0.19
770
-	 */
771
-	public function get_fees() {
772
-		return $this->fees;
773
-	}
774
-
775
-	/**
776
-	 * Checks if there are any fees for the form.
777
-	 *
778
-	 * @return bool
779
-	 * @since 1.0.19
780
-	 */
781
-	public function has_fees() {
782
-		return count( $this->fees ) !== 0;
783
-	}
784
-
785
-	/*
703
+    /**
704
+     * Prepares the submission's fees.
705
+     *
706
+     * @since 1.0.19
707
+     */
708
+    public function process_fees() {
709
+
710
+        $fees_processor = new GetPaid_Payment_Form_Submission_Fees( $this );
711
+
712
+        foreach ( $fees_processor->fees as $fee ) {
713
+            $this->add_fee( $fee );
714
+        }
715
+
716
+        do_action_ref_array( 'getpaid_submissions_process_fees', array( &$this ) );
717
+    }
718
+
719
+    /**
720
+     * Adds a fee to the submission.
721
+     *
722
+     * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
723
+     * @since 1.0.19
724
+     */
725
+    public function add_fee( $fee ) {
726
+
727
+        $this->fees[ $fee['name'] ]         = $fee;
728
+        $this->totals['fees']['initial']   += wpinv_sanitize_amount( $fee['initial_fee'] );
729
+        $this->totals['fees']['recurring'] += wpinv_sanitize_amount( $fee['recurring_fee'] );
730
+
731
+    }
732
+
733
+    /**
734
+     * Removes a fee from the submission.
735
+     *
736
+     * @since 1.0.19
737
+     */
738
+    public function remove_fee( $name ) {
739
+
740
+        if ( isset( $this->fees[ $name ] ) ) {
741
+            $this->totals['fees']['initial']   -= $this->fees[ $name ]['initial_fee'];
742
+            $this->totals['fees']['recurring'] -= $this->fees[ $name ]['recurring_fee'];
743
+            unset( $this->fees[ $name ] );
744
+        }
745
+
746
+    }
747
+
748
+    /**
749
+     * Returns the fees.
750
+     *
751
+     * @since 1.0.19
752
+     */
753
+    public function get_fee() {
754
+        return $this->totals['fees']['initial'];
755
+    }
756
+
757
+    /**
758
+     * Returns the recurring fees.
759
+     *
760
+     * @since 1.0.19
761
+     */
762
+    public function get_recurring_fee() {
763
+        return $this->totals['fees']['recurring'];
764
+    }
765
+
766
+    /**
767
+     * Returns all fees.
768
+     *
769
+     * @since 1.0.19
770
+     */
771
+    public function get_fees() {
772
+        return $this->fees;
773
+    }
774
+
775
+    /**
776
+     * Checks if there are any fees for the form.
777
+     *
778
+     * @return bool
779
+     * @since 1.0.19
780
+     */
781
+    public function has_fees() {
782
+        return count( $this->fees ) !== 0;
783
+    }
784
+
785
+    /*
786 786
 	|--------------------------------------------------------------------------
787 787
 	| MISC
788 788
 	|--------------------------------------------------------------------------
@@ -790,119 +790,119 @@  discard block
 block discarded – undo
790 790
 	| Extra submission functions.
791 791
     */
792 792
 
793
-	/**
794
-	 * Checks if this is the initial fetch.
795
-	 *
796
-	 * @return bool
797
-	 * @since 1.0.19
798
-	 */
799
-	public function is_initial_fetch() {
800
-		return empty( $this->data['initial_state'] );
801
-	}
802
-
803
-	/**
804
-	 * Returns the total amount to collect for this submission.
805
-	 *
806
-	 * @since 1.0.19
807
-	 */
808
-	public function get_total() {
809
-		$total = $this->get_subtotal() + $this->get_fee() + $this->get_tax() - $this->get_discount();
810
-		return max( $total, 0 );
811
-	}
812
-
813
-	/**
814
-	 * Returns the recurring total amount to collect for this submission.
815
-	 *
816
-	 * @since 1.0.19
817
-	 */
818
-	public function get_recurring_total() {
819
-		$total = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax() - $this->get_recurring_discount();
820
-		return max( $total, 0 );
821
-	}
822
-
823
-	/**
824
-	 * Whether payment details should be collected for this submission.
825
-	 *
826
-	 * @since 1.0.19
827
-	 */
828
-	public function should_collect_payment_details() {
829
-		$initial   = $this->get_total();
830
-		$recurring = $this->get_recurring_total();
831
-
832
-		if ( $this->has_recurring == 0 ) {
833
-			$recurring = 0;
834
-		}
835
-
836
-		$collect = $initial > 0 || $recurring > 0;
837
-		return apply_filters( 'getpaid_submission_should_collect_payment_details', $collect, $this  );
838
-	}
839
-
840
-	/**
841
-	 * Returns the billing email of the user.
842
-	 *
843
-	 * @since 1.0.19
844
-	 */
845
-	public function get_billing_email() {
846
-		return apply_filters( 'getpaid_get_submission_billing_email', $this->get_field( 'billing_email' ), $this  );
847
-	}
848
-
849
-	/**
850
-	 * Checks if the submitter has a billing email.
851
-	 *
852
-	 * @since 1.0.19
853
-	 */
854
-	public function has_billing_email() {
855
-		$billing_email = $this->get_billing_email();
856
-		return ! empty( $billing_email ) && is_email( $billing_email );
857
-	}
858
-
859
-	/**
860
-	 * Returns the appropriate currency for the submission.
861
-	 *
862
-	 * @since 1.0.19
863
-	 * @return string
864
-	 */
865
-	public function get_currency() {
866
-		return $this->has_invoice() ? $this->invoice->get_currency() : wpinv_get_currency();
867
-    }
868
-
869
-    /**
870
-	 * Returns the raw submission data.
871
-	 *
872
-	 * @since 1.0.19
873
-	 * @return array
874
-	 */
875
-	public function get_data() {
876
-		return $this->data;
877
-	}
878
-
879
-	/**
880
-	 * Returns a field from the submission data
881
-	 *
882
-	 * @param string $field
883
-	 * @since 1.0.19
884
-	 * @return mixed|null
885
-	 */
886
-	public function get_field( $field, $sub_array_key = null ) {
887
-		return getpaid_get_array_field( $this->data, $field, $sub_array_key );
888
-	}
889
-
890
-	/**
891
-	 * Checks if a required field is set.
892
-	 *
893
-	 * @since 1.0.19
894
-	 */
895
-	public function is_required_field_set( $field ) {
896
-		return empty( $field['required'] ) || ! empty( $this->data[ $field['id'] ] );
897
-	}
898
-
899
-	/**
900
-	 * Formats an amount
901
-	 *
902
-	 * @since 1.0.19
903
-	 */
904
-	public function format_amount( $amount ) {
905
-		return wpinv_price( $amount, $this->get_currency() );
906
-	}
793
+    /**
794
+     * Checks if this is the initial fetch.
795
+     *
796
+     * @return bool
797
+     * @since 1.0.19
798
+     */
799
+    public function is_initial_fetch() {
800
+        return empty( $this->data['initial_state'] );
801
+    }
802
+
803
+    /**
804
+     * Returns the total amount to collect for this submission.
805
+     *
806
+     * @since 1.0.19
807
+     */
808
+    public function get_total() {
809
+        $total = $this->get_subtotal() + $this->get_fee() + $this->get_tax() - $this->get_discount();
810
+        return max( $total, 0 );
811
+    }
812
+
813
+    /**
814
+     * Returns the recurring total amount to collect for this submission.
815
+     *
816
+     * @since 1.0.19
817
+     */
818
+    public function get_recurring_total() {
819
+        $total = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax() - $this->get_recurring_discount();
820
+        return max( $total, 0 );
821
+    }
822
+
823
+    /**
824
+     * Whether payment details should be collected for this submission.
825
+     *
826
+     * @since 1.0.19
827
+     */
828
+    public function should_collect_payment_details() {
829
+        $initial   = $this->get_total();
830
+        $recurring = $this->get_recurring_total();
831
+
832
+        if ( $this->has_recurring == 0 ) {
833
+            $recurring = 0;
834
+        }
835
+
836
+        $collect = $initial > 0 || $recurring > 0;
837
+        return apply_filters( 'getpaid_submission_should_collect_payment_details', $collect, $this  );
838
+    }
839
+
840
+    /**
841
+     * Returns the billing email of the user.
842
+     *
843
+     * @since 1.0.19
844
+     */
845
+    public function get_billing_email() {
846
+        return apply_filters( 'getpaid_get_submission_billing_email', $this->get_field( 'billing_email' ), $this  );
847
+    }
848
+
849
+    /**
850
+     * Checks if the submitter has a billing email.
851
+     *
852
+     * @since 1.0.19
853
+     */
854
+    public function has_billing_email() {
855
+        $billing_email = $this->get_billing_email();
856
+        return ! empty( $billing_email ) && is_email( $billing_email );
857
+    }
858
+
859
+    /**
860
+     * Returns the appropriate currency for the submission.
861
+     *
862
+     * @since 1.0.19
863
+     * @return string
864
+     */
865
+    public function get_currency() {
866
+        return $this->has_invoice() ? $this->invoice->get_currency() : wpinv_get_currency();
867
+    }
868
+
869
+    /**
870
+     * Returns the raw submission data.
871
+     *
872
+     * @since 1.0.19
873
+     * @return array
874
+     */
875
+    public function get_data() {
876
+        return $this->data;
877
+    }
878
+
879
+    /**
880
+     * Returns a field from the submission data
881
+     *
882
+     * @param string $field
883
+     * @since 1.0.19
884
+     * @return mixed|null
885
+     */
886
+    public function get_field( $field, $sub_array_key = null ) {
887
+        return getpaid_get_array_field( $this->data, $field, $sub_array_key );
888
+    }
889
+
890
+    /**
891
+     * Checks if a required field is set.
892
+     *
893
+     * @since 1.0.19
894
+     */
895
+    public function is_required_field_set( $field ) {
896
+        return empty( $field['required'] ) || ! empty( $this->data[ $field['id'] ] );
897
+    }
898
+
899
+    /**
900
+     * Formats an amount
901
+     *
902
+     * @since 1.0.19
903
+     */
904
+    public function format_amount( $amount ) {
905
+        return wpinv_price( $amount, $this->get_currency() );
906
+    }
907 907
 
908 908
 }
Please login to merge, or discard this patch.
Spacing   +125 added lines, -125 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if (!defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
@@ -141,8 +141,8 @@  discard block
 block discarded – undo
141 141
 		$this->state   = wpinv_get_default_state();
142 142
 
143 143
 		// Do we have an actual submission?
144
-		if ( isset( $_POST['getpaid_payment_form_submission'] ) ) {
145
-			$this->load_data( $_POST );
144
+		if (isset($_POST['getpaid_payment_form_submission'])) {
145
+			$this->load_data($_POST);
146 146
 		}
147 147
 
148 148
 	}
@@ -152,19 +152,19 @@  discard block
 block discarded – undo
152 152
 	 *
153 153
 	 * @param array $data
154 154
 	 */
155
-	public function load_data( $data ) {
155
+	public function load_data($data) {
156 156
 
157 157
 		// Remove slashes from the submitted data...
158
-		$data       = wp_unslash( $data );
158
+		$data       = wp_unslash($data);
159 159
 
160 160
 		// Allow plugins to filter the data.
161
-		$data       = apply_filters( 'getpaid_submission_data', $data, $this );
161
+		$data       = apply_filters('getpaid_submission_data', $data, $this);
162 162
 
163 163
 		// Cache it...
164 164
 		$this->data = $data;
165 165
 
166 166
 		// Then generate a unique id from the data.
167
-		$this->id   = md5( wp_json_encode( $data ) );
167
+		$this->id   = md5(wp_json_encode($data));
168 168
 
169 169
 		// Finally, process the submission.
170 170
 		try {
@@ -174,30 +174,30 @@  discard block
 block discarded – undo
174 174
 			$processors = apply_filters(
175 175
 				'getpaid_payment_form_submission_processors',
176 176
 				array(
177
-					array( $this, 'process_payment_form' ),
178
-					array( $this, 'process_invoice' ),
179
-					array( $this, 'process_fees' ),
180
-					array( $this, 'process_items' ),
181
-					array( $this, 'process_discount' ),
182
-					array( $this, 'process_taxes' ),
177
+					array($this, 'process_payment_form'),
178
+					array($this, 'process_invoice'),
179
+					array($this, 'process_fees'),
180
+					array($this, 'process_items'),
181
+					array($this, 'process_discount'),
182
+					array($this, 'process_taxes'),
183 183
 				),
184 184
 				$this		
185 185
 			);
186 186
 
187
-			foreach ( $processors as $processor ) {
188
-				call_user_func_array( $processor, array( &$this ) );
187
+			foreach ($processors as $processor) {
188
+				call_user_func_array($processor, array(&$this));
189 189
 			}
190 190
 
191
-		} catch( GetPaid_Payment_Exception $e ) {
191
+		} catch (GetPaid_Payment_Exception $e) {
192 192
 			$this->last_error      = $e->getMessage();
193 193
 			$this->last_error_code = $e->getErrorCode();
194
-		} catch ( Exception $e ) {
194
+		} catch (Exception $e) {
195 195
 			$this->last_error      = $e->getMessage();
196 196
 			$this->last_error_code = $e->getCode();
197 197
 		}
198 198
 
199 199
 		// Fired when we are done processing a submission.
200
-		do_action_ref_array( 'getpaid_process_submission', array( &$this ) );
200
+		do_action_ref_array('getpaid_process_submission', array(&$this));
201 201
 
202 202
 	}
203 203
 
@@ -218,18 +218,18 @@  discard block
 block discarded – undo
218 218
 	public function process_payment_form() {
219 219
 
220 220
 		// Every submission needs an active payment form.
221
-		if ( empty( $this->data['form_id'] ) ) {
222
-			throw new Exception( __( 'Missing payment form', 'invoicing' ) );
221
+		if (empty($this->data['form_id'])) {
222
+			throw new Exception(__('Missing payment form', 'invoicing'));
223 223
 		}
224 224
 
225 225
 		// Fetch the payment form.
226
-		$this->payment_form = new GetPaid_Payment_Form( $this->data['form_id'] );
226
+		$this->payment_form = new GetPaid_Payment_Form($this->data['form_id']);
227 227
 
228
-		if ( ! $this->payment_form->is_active() ) {
229
-			throw new Exception( __( 'Payment form not active', 'invoicing' ) );
228
+		if (!$this->payment_form->is_active()) {
229
+			throw new Exception(__('Payment form not active', 'invoicing'));
230 230
 		}
231 231
 
232
-		do_action_ref_array( 'getpaid_submissions_process_payment_form', array( &$this ) );
232
+		do_action_ref_array('getpaid_submissions_process_payment_form', array(&$this));
233 233
 	}
234 234
 
235 235
     /**
@@ -259,53 +259,53 @@  discard block
 block discarded – undo
259 259
 	public function process_invoice() {
260 260
 
261 261
 		// Abort if there is no invoice.
262
-		if ( empty( $this->data['invoice_id'] ) ) {
262
+		if (empty($this->data['invoice_id'])) {
263 263
 			return;
264 264
 		}
265 265
 
266 266
 		// If the submission is for an existing invoice, ensure that it exists
267 267
 		// and that it is not paid for.
268
-		$invoice = wpinv_get_invoice( $this->data['invoice_id'] );
268
+		$invoice = wpinv_get_invoice($this->data['invoice_id']);
269 269
 
270
-        if ( empty( $invoice ) ) {
271
-			throw new Exception( __( 'Invalid invoice', 'invoicing' ) );
270
+        if (empty($invoice)) {
271
+			throw new Exception(__('Invalid invoice', 'invoicing'));
272 272
 		}
273 273
 
274
-		if ( $invoice->is_paid() ) {
275
-			throw new Exception( __( 'This invoice is already paid for.', 'invoicing' ) );
274
+		if ($invoice->is_paid()) {
275
+			throw new Exception(__('This invoice is already paid for.', 'invoicing'));
276 276
 		}
277 277
 
278 278
 		$this->payment_form->invoice = $invoice;
279
-		if ( ! $this->payment_form->is_default() ) {
279
+		if (!$this->payment_form->is_default()) {
280 280
 
281 281
 			$items    = array();
282 282
 			$item_ids = array();
283 283
 	
284
-			foreach ( $invoice->get_items() as $item ) {
285
-				if ( ! in_array( $item->get_id(), $item_ids ) ) {
284
+			foreach ($invoice->get_items() as $item) {
285
+				if (!in_array($item->get_id(), $item_ids)) {
286 286
 					$item_ids[] = $item->get_id();
287 287
 					$items[]    = $item;
288 288
 				}
289 289
 			}
290 290
 	
291
-			foreach ( $this->payment_form->get_items() as $item ) {
292
-				if ( ! in_array( $item->get_id(), $item_ids ) ) {
291
+			foreach ($this->payment_form->get_items() as $item) {
292
+				if (!in_array($item->get_id(), $item_ids)) {
293 293
 					$item_ids[] = $item->get_id();
294 294
 					$items[]    = $item;
295 295
 				}
296 296
 			}
297 297
 	
298
-			$this->payment_form->set_items( $items );
298
+			$this->payment_form->set_items($items);
299 299
 	
300 300
 		} else {
301
-			$this->payment_form->set_items( $invoice->get_items() );
301
+			$this->payment_form->set_items($invoice->get_items());
302 302
 		}
303 303
 
304 304
 		$this->country = $invoice->get_country();
305 305
 		$this->state   = $invoice->get_state();
306 306
 		$this->invoice = $invoice;
307 307
 
308
-		do_action_ref_array( 'getpaid_submissions_process_invoice', array( &$this ) );
308
+		do_action_ref_array('getpaid_submissions_process_invoice', array(&$this));
309 309
 	}
310 310
 
311 311
 	/**
@@ -325,7 +325,7 @@  discard block
 block discarded – undo
325 325
 	 * @return bool
326 326
 	 */
327 327
 	public function has_invoice() {
328
-		return ! empty( $this->invoice );
328
+		return !empty($this->invoice);
329 329
 	}
330 330
 
331 331
 	/*
@@ -344,13 +344,13 @@  discard block
 block discarded – undo
344 344
 	 */
345 345
 	public function process_items() {
346 346
 
347
-		$processor = new GetPaid_Payment_Form_Submission_Items( $this );
347
+		$processor = new GetPaid_Payment_Form_Submission_Items($this);
348 348
 
349
-		foreach ( $processor->items as $item ) {
350
-			$this->add_item( $item );
349
+		foreach ($processor->items as $item) {
350
+			$this->add_item($item);
351 351
 		}
352 352
 
353
-		do_action_ref_array( 'getpaid_submissions_process_items', array( &$this ) );
353
+		do_action_ref_array('getpaid_submissions_process_items', array(&$this));
354 354
 	}
355 355
 
356 356
 	/**
@@ -359,20 +359,20 @@  discard block
 block discarded – undo
359 359
 	 * @since 1.0.19
360 360
 	 * @param GetPaid_Form_Item $item
361 361
 	 */
362
-	public function add_item( $item ) {
362
+	public function add_item($item) {
363 363
 
364 364
 		// Make sure that it is available for purchase.
365
-		if ( ! $item->can_purchase() || isset( $this->items[ $item->get_id() ] ) ) {
365
+		if (!$item->can_purchase() || isset($this->items[$item->get_id()])) {
366 366
 			return;
367 367
 		}
368 368
 
369 369
 		// Each submission can only contain one recurring item.
370
-		if ( $item->is_recurring() ) {
370
+		if ($item->is_recurring()) {
371 371
 			$this->has_recurring = $item->get_id();
372 372
 		}
373 373
 
374 374
 		// Update the items and totals.
375
-		$this->items[ $item->get_id() ]         = $item;
375
+		$this->items[$item->get_id()]         = $item;
376 376
 		$this->totals['subtotal']['initial']   += $item->get_sub_total();
377 377
 		$this->totals['subtotal']['recurring'] += $item->get_recurring_sub_total();
378 378
 
@@ -386,17 +386,17 @@  discard block
 block discarded – undo
386 386
 	 *
387 387
 	 * @since 1.0.19
388 388
 	 */
389
-	public function remove_item( $item_id ) {
389
+	public function remove_item($item_id) {
390 390
 
391
-		if ( isset( $this->items[ $item_id ] ) ) {
392
-			$this->totals['subtotal']['initial']   -= $this->items[ $item_id ]->get_sub_total();
393
-			$this->totals['subtotal']['recurring'] -= $this->items[ $item_id ]->get_recurring_sub_total();
391
+		if (isset($this->items[$item_id])) {
392
+			$this->totals['subtotal']['initial']   -= $this->items[$item_id]->get_sub_total();
393
+			$this->totals['subtotal']['recurring'] -= $this->items[$item_id]->get_recurring_sub_total();
394 394
 
395
-			if ( $this->items[ $item_id ]->is_recurring() ) {
395
+			if ($this->items[$item_id]->is_recurring()) {
396 396
 				$this->has_recurring = 0;
397 397
 			}
398 398
 
399
-			unset( $this->items[ $item_id ] );
399
+			unset($this->items[$item_id]);
400 400
 		}
401 401
 
402 402
 	}
@@ -408,7 +408,7 @@  discard block
 block discarded – undo
408 408
 	 */
409 409
 	public function get_subtotal() {
410 410
 
411
-		if ( wpinv_prices_include_tax() ) {
411
+		if (wpinv_prices_include_tax()) {
412 412
 			return $this->totals['subtotal']['initial'] - $this->totals['taxes']['initial'];
413 413
 		}
414 414
 
@@ -422,7 +422,7 @@  discard block
 block discarded – undo
422 422
 	 */
423 423
 	public function get_recurring_subtotal() {
424 424
 
425
-		if ( wpinv_prices_include_tax() ) {
425
+		if (wpinv_prices_include_tax()) {
426 426
 			return $this->totals['subtotal']['recurring'] - $this->totals['taxes']['recurring'];
427 427
 		}
428 428
 
@@ -446,7 +446,7 @@  discard block
 block discarded – undo
446 446
 	 * @return bool
447 447
 	 */
448 448
 	public function has_subscription_group() {
449
-		return $this->has_recurring && getpaid_should_group_subscriptions( $this ) && 1 == count( getpaid_get_subscription_groups( $this ) );
449
+		return $this->has_recurring && getpaid_should_group_subscriptions($this) && 1 == count(getpaid_get_subscription_groups($this));
450 450
 	}
451 451
 
452 452
 	/**
@@ -456,7 +456,7 @@  discard block
 block discarded – undo
456 456
 	 * @return bool
457 457
 	 */
458 458
 	public function has_multiple_subscription_groups() {
459
-		return $this->has_recurring && 1 < count( getpaid_get_subscription_groups( $this ) );
459
+		return $this->has_recurring && 1 < count(getpaid_get_subscription_groups($this));
460 460
 	}
461 461
 
462 462
 	/*
@@ -476,39 +476,39 @@  discard block
 block discarded – undo
476 476
 	public function process_taxes() {
477 477
 
478 478
 		// Abort if we're not using taxes.
479
-		if ( ! $this->use_taxes() ) {
479
+		if (!$this->use_taxes()) {
480 480
 			return;
481 481
 		}
482 482
 
483 483
 		// If a custom country && state has been passed in, use it to calculate taxes.
484
-		$country = $this->get_field( 'wpinv_country', 'billing' );
485
-		if ( ! empty( $country ) ) {
484
+		$country = $this->get_field('wpinv_country', 'billing');
485
+		if (!empty($country)) {
486 486
 			$this->country = $country;
487 487
 		}
488 488
 
489
-		$state = $this->get_field( 'wpinv_state', 'billing' );
490
-		if ( ! empty( $state ) ) {
489
+		$state = $this->get_field('wpinv_state', 'billing');
490
+		if (!empty($state)) {
491 491
 			$this->state = $state;
492 492
 		}
493 493
 
494 494
 		// Confirm if the provided country and the ip country are similar.
495
-		$address_confirmed = $this->get_field( 'confirm-address' );
496
-		if ( isset( $_POST['billing']['country'] ) && wpinv_should_validate_vat_number() && getpaid_get_ip_country() != $this->country && empty( $address_confirmed ) ) {
497
-			throw new Exception( __( 'The country of your current location must be the same as the country of your billing location or you must confirm the billing address is your home country.', 'invoicing' ) );
495
+		$address_confirmed = $this->get_field('confirm-address');
496
+		if (isset($_POST['billing']['country']) && wpinv_should_validate_vat_number() && getpaid_get_ip_country() != $this->country && empty($address_confirmed)) {
497
+			throw new Exception(__('The country of your current location must be the same as the country of your billing location or you must confirm the billing address is your home country.', 'invoicing'));
498 498
 		}
499 499
 
500 500
 		// Abort if the country is not taxable.
501
-		if ( ! wpinv_is_country_taxable( $this->country ) ) {
501
+		if (!wpinv_is_country_taxable($this->country)) {
502 502
 			return;
503 503
 		}
504 504
 
505
-		$processor = new GetPaid_Payment_Form_Submission_Taxes( $this );
505
+		$processor = new GetPaid_Payment_Form_Submission_Taxes($this);
506 506
 
507
-		foreach ( $processor->taxes as $tax ) {
508
-			$this->add_tax( $tax );
507
+		foreach ($processor->taxes as $tax) {
508
+			$this->add_tax($tax);
509 509
 		}
510 510
 
511
-		do_action_ref_array( 'getpaid_submissions_process_taxes', array( &$this ) );
511
+		do_action_ref_array('getpaid_submissions_process_taxes', array(&$this));
512 512
 	}
513 513
 
514 514
 	/**
@@ -517,16 +517,16 @@  discard block
 block discarded – undo
517 517
 	 * @param array $tax An array of tax details. name, initial_tax, and recurring_tax are required.
518 518
 	 * @since 1.0.19
519 519
 	 */
520
-	public function add_tax( $tax ) {
520
+	public function add_tax($tax) {
521 521
 
522
-		if ( wpinv_round_tax_per_tax_rate() ) {
523
-			$tax['initial_tax']   = wpinv_round_amount( $tax['initial_tax'] );
524
-			$tax['recurring_tax'] = wpinv_round_amount( $tax['recurring_tax'] );
522
+		if (wpinv_round_tax_per_tax_rate()) {
523
+			$tax['initial_tax']   = wpinv_round_amount($tax['initial_tax']);
524
+			$tax['recurring_tax'] = wpinv_round_amount($tax['recurring_tax']);
525 525
 		}
526 526
 
527
-		$this->taxes[ $tax['name'] ]         = $tax;
528
-		$this->totals['taxes']['initial']   += wpinv_sanitize_amount( $tax['initial_tax'] );
529
-		$this->totals['taxes']['recurring'] += wpinv_sanitize_amount( $tax['recurring_tax'] );
527
+		$this->taxes[$tax['name']]         = $tax;
528
+		$this->totals['taxes']['initial']   += wpinv_sanitize_amount($tax['initial_tax']);
529
+		$this->totals['taxes']['recurring'] += wpinv_sanitize_amount($tax['recurring_tax']);
530 530
 
531 531
 	}
532 532
 
@@ -535,12 +535,12 @@  discard block
 block discarded – undo
535 535
 	 *
536 536
 	 * @since 1.0.19
537 537
 	 */
538
-	public function remove_tax( $tax_name ) {
538
+	public function remove_tax($tax_name) {
539 539
 
540
-		if ( isset( $this->taxes[ $tax_name ] ) ) {
541
-			$this->totals['taxes']['initial']   -= $this->taxes[ $tax_name ]['initial_tax'];
542
-			$this->totals['taxes']['recurring'] -= $this->taxes[ $tax_name ]['recurring_tax'];
543
-			unset( $this->taxes[ $tax_name ] );
540
+		if (isset($this->taxes[$tax_name])) {
541
+			$this->totals['taxes']['initial']   -= $this->taxes[$tax_name]['initial_tax'];
542
+			$this->totals['taxes']['recurring'] -= $this->taxes[$tax_name]['recurring_tax'];
543
+			unset($this->taxes[$tax_name]);
544 544
 		}
545 545
 
546 546
 	}
@@ -554,11 +554,11 @@  discard block
 block discarded – undo
554 554
 
555 555
 		$use_taxes = wpinv_use_taxes();
556 556
 
557
-		if ( $this->has_invoice() && ! $this->invoice->is_taxable() ) {
557
+		if ($this->has_invoice() && !$this->invoice->is_taxable()) {
558 558
 			$use_taxes = false;
559 559
 		}
560 560
 
561
-		return apply_filters( 'getpaid_submission_use_taxes', $use_taxes, $this );
561
+		return apply_filters('getpaid_submission_use_taxes', $use_taxes, $this);
562 562
 
563 563
 	}
564 564
 
@@ -607,13 +607,13 @@  discard block
 block discarded – undo
607 607
 
608 608
 		$initial_total    = $this->get_subtotal() + $this->get_fee() + $this->get_tax();
609 609
 		$recurring_total  = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax();
610
-		$processor        = new GetPaid_Payment_Form_Submission_Discount( $this, $initial_total, $recurring_total );
610
+		$processor        = new GetPaid_Payment_Form_Submission_Discount($this, $initial_total, $recurring_total);
611 611
 
612
-		foreach ( $processor->discounts as $discount ) {
613
-			$this->add_discount( $discount );
612
+		foreach ($processor->discounts as $discount) {
613
+			$this->add_discount($discount);
614 614
 		}
615 615
 
616
-		do_action_ref_array( 'getpaid_submissions_process_discounts', array( &$this ) );
616
+		do_action_ref_array('getpaid_submissions_process_discounts', array(&$this));
617 617
 	}
618 618
 
619 619
 	/**
@@ -622,10 +622,10 @@  discard block
 block discarded – undo
622 622
 	 * @param array $discount An array of discount details. name, initial_discount, and recurring_discount are required. Include discount_code if the discount is from a discount code.
623 623
 	 * @since 1.0.19
624 624
 	 */
625
-	public function add_discount( $discount ) {
626
-		$this->discounts[ $discount['name'] ]   = $discount;
627
-		$this->totals['discount']['initial']   += wpinv_sanitize_amount( $discount['initial_discount'] );
628
-		$this->totals['discount']['recurring'] += wpinv_sanitize_amount( $discount['recurring_discount'] );
625
+	public function add_discount($discount) {
626
+		$this->discounts[$discount['name']]   = $discount;
627
+		$this->totals['discount']['initial']   += wpinv_sanitize_amount($discount['initial_discount']);
628
+		$this->totals['discount']['recurring'] += wpinv_sanitize_amount($discount['recurring_discount']);
629 629
 	}
630 630
 
631 631
 	/**
@@ -633,12 +633,12 @@  discard block
 block discarded – undo
633 633
 	 *
634 634
 	 * @since 1.0.19
635 635
 	 */
636
-	public function remove_discount( $name ) {
636
+	public function remove_discount($name) {
637 637
 
638
-		if ( isset( $this->discounts[ $name ] ) ) {
639
-			$this->totals['discount']['initial']   -= $this->discounts[ $name ]['initial_discount'];
640
-			$this->totals['discount']['recurring'] -= $this->discounts[ $name ]['recurring_discount'];
641
-			unset( $this->discounts[ $name ] );
638
+		if (isset($this->discounts[$name])) {
639
+			$this->totals['discount']['initial']   -= $this->discounts[$name]['initial_discount'];
640
+			$this->totals['discount']['recurring'] -= $this->discounts[$name]['recurring_discount'];
641
+			unset($this->discounts[$name]);
642 642
 		}
643 643
 
644 644
 	}
@@ -650,7 +650,7 @@  discard block
 block discarded – undo
650 650
 	 * @return bool
651 651
 	 */
652 652
 	public function has_discount_code() {
653
-		return ! empty( $this->discounts['discount_code'] );
653
+		return !empty($this->discounts['discount_code']);
654 654
 	}
655 655
 
656 656
 	/**
@@ -707,13 +707,13 @@  discard block
 block discarded – undo
707 707
 	 */
708 708
 	public function process_fees() {
709 709
 
710
-		$fees_processor = new GetPaid_Payment_Form_Submission_Fees( $this );
710
+		$fees_processor = new GetPaid_Payment_Form_Submission_Fees($this);
711 711
 
712
-		foreach ( $fees_processor->fees as $fee ) {
713
-			$this->add_fee( $fee );
712
+		foreach ($fees_processor->fees as $fee) {
713
+			$this->add_fee($fee);
714 714
 		}
715 715
 
716
-		do_action_ref_array( 'getpaid_submissions_process_fees', array( &$this ) );
716
+		do_action_ref_array('getpaid_submissions_process_fees', array(&$this));
717 717
 	}
718 718
 
719 719
 	/**
@@ -722,11 +722,11 @@  discard block
 block discarded – undo
722 722
 	 * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
723 723
 	 * @since 1.0.19
724 724
 	 */
725
-	public function add_fee( $fee ) {
725
+	public function add_fee($fee) {
726 726
 
727
-		$this->fees[ $fee['name'] ]         = $fee;
728
-		$this->totals['fees']['initial']   += wpinv_sanitize_amount( $fee['initial_fee'] );
729
-		$this->totals['fees']['recurring'] += wpinv_sanitize_amount( $fee['recurring_fee'] );
727
+		$this->fees[$fee['name']]         = $fee;
728
+		$this->totals['fees']['initial']   += wpinv_sanitize_amount($fee['initial_fee']);
729
+		$this->totals['fees']['recurring'] += wpinv_sanitize_amount($fee['recurring_fee']);
730 730
 
731 731
 	}
732 732
 
@@ -735,12 +735,12 @@  discard block
 block discarded – undo
735 735
 	 *
736 736
 	 * @since 1.0.19
737 737
 	 */
738
-	public function remove_fee( $name ) {
738
+	public function remove_fee($name) {
739 739
 
740
-		if ( isset( $this->fees[ $name ] ) ) {
741
-			$this->totals['fees']['initial']   -= $this->fees[ $name ]['initial_fee'];
742
-			$this->totals['fees']['recurring'] -= $this->fees[ $name ]['recurring_fee'];
743
-			unset( $this->fees[ $name ] );
740
+		if (isset($this->fees[$name])) {
741
+			$this->totals['fees']['initial']   -= $this->fees[$name]['initial_fee'];
742
+			$this->totals['fees']['recurring'] -= $this->fees[$name]['recurring_fee'];
743
+			unset($this->fees[$name]);
744 744
 		}
745 745
 
746 746
 	}
@@ -779,7 +779,7 @@  discard block
 block discarded – undo
779 779
 	 * @since 1.0.19
780 780
 	 */
781 781
 	public function has_fees() {
782
-		return count( $this->fees ) !== 0;
782
+		return count($this->fees) !== 0;
783 783
 	}
784 784
 
785 785
 	/*
@@ -797,7 +797,7 @@  discard block
 block discarded – undo
797 797
 	 * @since 1.0.19
798 798
 	 */
799 799
 	public function is_initial_fetch() {
800
-		return empty( $this->data['initial_state'] );
800
+		return empty($this->data['initial_state']);
801 801
 	}
802 802
 
803 803
 	/**
@@ -807,7 +807,7 @@  discard block
 block discarded – undo
807 807
 	 */
808 808
 	public function get_total() {
809 809
 		$total = $this->get_subtotal() + $this->get_fee() + $this->get_tax() - $this->get_discount();
810
-		return max( $total, 0 );
810
+		return max($total, 0);
811 811
 	}
812 812
 
813 813
 	/**
@@ -817,7 +817,7 @@  discard block
 block discarded – undo
817 817
 	 */
818 818
 	public function get_recurring_total() {
819 819
 		$total = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax() - $this->get_recurring_discount();
820
-		return max( $total, 0 );
820
+		return max($total, 0);
821 821
 	}
822 822
 
823 823
 	/**
@@ -829,12 +829,12 @@  discard block
 block discarded – undo
829 829
 		$initial   = $this->get_total();
830 830
 		$recurring = $this->get_recurring_total();
831 831
 
832
-		if ( $this->has_recurring == 0 ) {
832
+		if ($this->has_recurring == 0) {
833 833
 			$recurring = 0;
834 834
 		}
835 835
 
836 836
 		$collect = $initial > 0 || $recurring > 0;
837
-		return apply_filters( 'getpaid_submission_should_collect_payment_details', $collect, $this  );
837
+		return apply_filters('getpaid_submission_should_collect_payment_details', $collect, $this);
838 838
 	}
839 839
 
840 840
 	/**
@@ -843,7 +843,7 @@  discard block
 block discarded – undo
843 843
 	 * @since 1.0.19
844 844
 	 */
845 845
 	public function get_billing_email() {
846
-		return apply_filters( 'getpaid_get_submission_billing_email', $this->get_field( 'billing_email' ), $this  );
846
+		return apply_filters('getpaid_get_submission_billing_email', $this->get_field('billing_email'), $this);
847 847
 	}
848 848
 
849 849
 	/**
@@ -853,7 +853,7 @@  discard block
 block discarded – undo
853 853
 	 */
854 854
 	public function has_billing_email() {
855 855
 		$billing_email = $this->get_billing_email();
856
-		return ! empty( $billing_email ) && is_email( $billing_email );
856
+		return !empty($billing_email) && is_email($billing_email);
857 857
 	}
858 858
 
859 859
 	/**
@@ -883,8 +883,8 @@  discard block
 block discarded – undo
883 883
 	 * @since 1.0.19
884 884
 	 * @return mixed|null
885 885
 	 */
886
-	public function get_field( $field, $sub_array_key = null ) {
887
-		return getpaid_get_array_field( $this->data, $field, $sub_array_key );
886
+	public function get_field($field, $sub_array_key = null) {
887
+		return getpaid_get_array_field($this->data, $field, $sub_array_key);
888 888
 	}
889 889
 
890 890
 	/**
@@ -892,8 +892,8 @@  discard block
 block discarded – undo
892 892
 	 *
893 893
 	 * @since 1.0.19
894 894
 	 */
895
-	public function is_required_field_set( $field ) {
896
-		return empty( $field['required'] ) || ! empty( $this->data[ $field['id'] ] );
895
+	public function is_required_field_set($field) {
896
+		return empty($field['required']) || !empty($this->data[$field['id']]);
897 897
 	}
898 898
 
899 899
 	/**
@@ -901,8 +901,8 @@  discard block
 block discarded – undo
901 901
 	 *
902 902
 	 * @since 1.0.19
903 903
 	 */
904
-	public function format_amount( $amount ) {
905
-		return wpinv_price( $amount, $this->get_currency() );
904
+	public function format_amount($amount) {
905
+		return wpinv_price($amount, $this->get_currency());
906 906
 	}
907 907
 
908 908
 }
Please login to merge, or discard this patch.