Passed
Pull Request — master (#376)
by Brian
160:47 queued 45:56
created
includes/wpinv-helper-functions.php 2 patches
Indentation   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -708,13 +708,13 @@  discard block
 block discarded – undo
708 708
  * @param mixed  $value Value.
709 709
  */
710 710
 function getpaid_maybe_define_constant( $name, $value ) {
711
-	if ( ! defined( $name ) ) {
712
-		define( $name, $value );
713
-	}
711
+    if ( ! defined( $name ) ) {
712
+        define( $name, $value );
713
+    }
714 714
 }
715 715
 
716 716
 function wpinv_get_php_arg_separator_output() {
717
-	return ini_get( 'arg_separator.output' );
717
+    return ini_get( 'arg_separator.output' );
718 718
 }
719 719
 
720 720
 function wpinv_rgb_from_hex( $color ) {
@@ -1063,11 +1063,11 @@  discard block
 block discarded – undo
1063 1063
         $list = array();
1064 1064
     }
1065 1065
 
1066
-	if ( ! is_array( $list ) ) {
1067
-		return preg_split( '/[\s,]+/', $list, -1, PREG_SPLIT_NO_EMPTY );
1068
-	}
1066
+    if ( ! is_array( $list ) ) {
1067
+        return preg_split( '/[\s,]+/', $list, -1, PREG_SPLIT_NO_EMPTY );
1068
+    }
1069 1069
 
1070
-	return $list;
1070
+    return $list;
1071 1071
 }
1072 1072
 
1073 1073
 /**
@@ -1087,9 +1087,9 @@  discard block
 block discarded – undo
1087 1087
     }
1088 1088
 
1089 1089
     $data = apply_filters( "wpinv_get_$key", include WPINV_PLUGIN_DIR . "includes/data/$key.php" );
1090
-	wp_cache_set( "wpinv-$key", $data, 'wpinv' );
1090
+    wp_cache_set( "wpinv-$key", $data, 'wpinv' );
1091 1091
 
1092
-	return $data;
1092
+    return $data;
1093 1093
 }
1094 1094
 
1095 1095
 /**
@@ -1118,17 +1118,17 @@  discard block
 block discarded – undo
1118 1118
  */
1119 1119
 function wpinv_clean( $var ) {
1120 1120
 
1121
-	if ( is_array( $var ) ) {
1122
-		return array_map( 'wpinv_clean', $var );
1121
+    if ( is_array( $var ) ) {
1122
+        return array_map( 'wpinv_clean', $var );
1123 1123
     }
1124 1124
 
1125 1125
     if ( is_object( $var ) ) {
1126
-		$object_vars = get_object_vars( $var );
1127
-		foreach ( $object_vars as $property_name => $property_value ) {
1128
-			$var->$property_name = wpinv_clean( $property_value );
1126
+        $object_vars = get_object_vars( $var );
1127
+        foreach ( $object_vars as $property_name => $property_value ) {
1128
+            $var->$property_name = wpinv_clean( $property_value );
1129 1129
         }
1130 1130
         return $var;
1131
-	}
1131
+    }
1132 1132
     
1133 1133
     return is_string( $var ) ? sanitize_text_field( $var ) : $var;
1134 1134
 }
@@ -1141,7 +1141,7 @@  discard block
 block discarded – undo
1141 1141
  */
1142 1142
 function getpaid_convert_price_string_to_options( $str ) {
1143 1143
 
1144
-	$raw_options = array_map( 'trim', explode( ',', $str ) );
1144
+    $raw_options = array_map( 'trim', explode( ',', $str ) );
1145 1145
     $options     = array();
1146 1146
 
1147 1147
     foreach ( $raw_options as $option ) {
Please login to merge, or discard this patch.
Spacing   +428 added lines, -428 removed lines patch added patch discarded remove patch
@@ -7,132 +7,132 @@  discard block
 block discarded – undo
7 7
  */
8 8
 
9 9
 // MUST have WordPress.
10
-if ( !defined( 'WPINC' ) ) {
11
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
10
+if (!defined('WPINC')) {
11
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
12 12
 }
13 13
 
14 14
 function wpinv_item_quantities_enabled() {
15
-    $ret = wpinv_get_option( 'item_quantities', true );
15
+    $ret = wpinv_get_option('item_quantities', true);
16 16
 
17
-    return (bool) apply_filters( 'wpinv_item_quantities_enabled', $ret );
17
+    return (bool) apply_filters('wpinv_item_quantities_enabled', $ret);
18 18
 }
19 19
 
20 20
 function wpinv_get_ip() {
21 21
     $ip = '127.0.0.1';
22 22
 
23
-    if ( !empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
24
-        $ip = sanitize_text_field( $_SERVER['HTTP_CLIENT_IP'] );
25
-    } elseif ( !empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
26
-        $ip = sanitize_text_field( $_SERVER['HTTP_X_FORWARDED_FOR'] );
27
-    } elseif( !empty( $_SERVER['REMOTE_ADDR'] ) ) {
28
-        $ip = sanitize_text_field( $_SERVER['REMOTE_ADDR'] );
23
+    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
24
+        $ip = sanitize_text_field($_SERVER['HTTP_CLIENT_IP']);
25
+    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
26
+        $ip = sanitize_text_field($_SERVER['HTTP_X_FORWARDED_FOR']);
27
+    } elseif (!empty($_SERVER['REMOTE_ADDR'])) {
28
+        $ip = sanitize_text_field($_SERVER['REMOTE_ADDR']);
29 29
     }
30 30
 
31
-    return apply_filters( 'wpinv_get_ip', $ip );
31
+    return apply_filters('wpinv_get_ip', $ip);
32 32
 }
33 33
 
34 34
 function wpinv_get_user_agent() {
35
-    if ( ! empty( $_SERVER['HTTP_USER_AGENT'] ) ) {
36
-        $user_agent = sanitize_text_field( $_SERVER['HTTP_USER_AGENT'] );
35
+    if (!empty($_SERVER['HTTP_USER_AGENT'])) {
36
+        $user_agent = sanitize_text_field($_SERVER['HTTP_USER_AGENT']);
37 37
     } else {
38 38
         $user_agent = '';
39 39
     }
40 40
 
41
-    return apply_filters( 'wpinv_get_user_agent', $user_agent );
41
+    return apply_filters('wpinv_get_user_agent', $user_agent);
42 42
 }
43 43
 
44
-function wpinv_sanitize_amount( $amount, $decimals = NULL ) {
44
+function wpinv_sanitize_amount($amount, $decimals = NULL) {
45 45
     $is_negative   = false;
46 46
     $thousands_sep = wpinv_thousands_separator();
47 47
     $decimal_sep   = wpinv_decimal_separator();
48
-    if ( $decimals === NULL ) {
48
+    if ($decimals === NULL) {
49 49
         $decimals = wpinv_decimals();
50 50
     }
51 51
 
52 52
     // Sanitize the amount
53
-    if ( $decimal_sep == ',' && false !== ( $found = strpos( $amount, $decimal_sep ) ) ) {
54
-        if ( ( $thousands_sep == '.' || $thousands_sep == ' ' ) && false !== ( $found = strpos( $amount, $thousands_sep ) ) ) {
55
-            $amount = str_replace( $thousands_sep, '', $amount );
56
-        } elseif( empty( $thousands_sep ) && false !== ( $found = strpos( $amount, '.' ) ) ) {
57
-            $amount = str_replace( '.', '', $amount );
53
+    if ($decimal_sep == ',' && false !== ($found = strpos($amount, $decimal_sep))) {
54
+        if (($thousands_sep == '.' || $thousands_sep == ' ') && false !== ($found = strpos($amount, $thousands_sep))) {
55
+            $amount = str_replace($thousands_sep, '', $amount);
56
+        } elseif (empty($thousands_sep) && false !== ($found = strpos($amount, '.'))) {
57
+            $amount = str_replace('.', '', $amount);
58 58
         }
59 59
 
60
-        $amount = str_replace( $decimal_sep, '.', $amount );
61
-    } elseif( $thousands_sep == ',' && false !== ( $found = strpos( $amount, $thousands_sep ) ) ) {
62
-        $amount = str_replace( $thousands_sep, '', $amount );
60
+        $amount = str_replace($decimal_sep, '.', $amount);
61
+    } elseif ($thousands_sep == ',' && false !== ($found = strpos($amount, $thousands_sep))) {
62
+        $amount = str_replace($thousands_sep, '', $amount);
63 63
     }
64 64
 
65
-    if( $amount < 0 ) {
65
+    if ($amount < 0) {
66 66
         $is_negative = true;
67 67
     }
68 68
 
69
-    $amount   = preg_replace( '/[^0-9\.]/', '', $amount );
69
+    $amount   = preg_replace('/[^0-9\.]/', '', $amount);
70 70
 
71
-    $decimals = apply_filters( 'wpinv_sanitize_amount_decimals', absint( $decimals ), $amount );
72
-    $amount   = number_format( (double) $amount, absint( $decimals ), '.', '' );
71
+    $decimals = apply_filters('wpinv_sanitize_amount_decimals', absint($decimals), $amount);
72
+    $amount   = number_format((double) $amount, absint($decimals), '.', '');
73 73
 
74
-    if( $is_negative ) {
74
+    if ($is_negative) {
75 75
         $amount *= -1;
76 76
     }
77 77
 
78
-    return apply_filters( 'wpinv_sanitize_amount', $amount, $decimals );
78
+    return apply_filters('wpinv_sanitize_amount', $amount, $decimals);
79 79
 }
80
-add_filter( 'wpinv_sanitize_amount_decimals', 'wpinv_currency_decimal_filter', 10, 1 );
80
+add_filter('wpinv_sanitize_amount_decimals', 'wpinv_currency_decimal_filter', 10, 1);
81 81
 
82
-function wpinv_round_amount( $amount, $decimals = NULL ) {
83
-    if ( $decimals === NULL ) {
82
+function wpinv_round_amount($amount, $decimals = NULL) {
83
+    if ($decimals === NULL) {
84 84
         $decimals = wpinv_decimals();
85 85
     }
86 86
     
87
-    $amount = round( (double)$amount, wpinv_currency_decimal_filter( absint( $decimals ) ) );
87
+    $amount = round((double) $amount, wpinv_currency_decimal_filter(absint($decimals)));
88 88
 
89
-    return apply_filters( 'wpinv_round_amount', $amount, $decimals );
89
+    return apply_filters('wpinv_round_amount', $amount, $decimals);
90 90
 }
91 91
 
92
-function wpinv_get_invoice_statuses( $draft = false, $trashed = false, $invoice = false ) {
92
+function wpinv_get_invoice_statuses($draft = false, $trashed = false, $invoice = false) {
93 93
     global $post;
94 94
 
95 95
     $invoice_statuses = array(
96
-        'wpi-pending' => __( 'Pending Payment', 'invoicing' ),
97
-        'publish' => __( 'Paid', 'invoicing'),
98
-        'wpi-processing' => __( 'Processing', 'invoicing' ),
99
-        'wpi-onhold' => __( 'On Hold', 'invoicing' ),
100
-        'wpi-refunded' => __( 'Refunded', 'invoicing' ),
101
-        'wpi-cancelled' => __( 'Cancelled', 'invoicing' ),
102
-        'wpi-failed' => __( 'Failed', 'invoicing' ),
103
-        'wpi-renewal' => __( 'Renewal Payment', 'invoicing' )
96
+        'wpi-pending' => __('Pending Payment', 'invoicing'),
97
+        'publish' => __('Paid', 'invoicing'),
98
+        'wpi-processing' => __('Processing', 'invoicing'),
99
+        'wpi-onhold' => __('On Hold', 'invoicing'),
100
+        'wpi-refunded' => __('Refunded', 'invoicing'),
101
+        'wpi-cancelled' => __('Cancelled', 'invoicing'),
102
+        'wpi-failed' => __('Failed', 'invoicing'),
103
+        'wpi-renewal' => __('Renewal Payment', 'invoicing')
104 104
     );
105 105
 
106
-    if ( $draft ) {
107
-        $invoice_statuses['draft'] = __( 'Draft', 'invoicing' );
106
+    if ($draft) {
107
+        $invoice_statuses['draft'] = __('Draft', 'invoicing');
108 108
     }
109 109
 
110
-    if ( $trashed ) {
111
-        $invoice_statuses['trash'] = __( 'Trash', 'invoicing' );
110
+    if ($trashed) {
111
+        $invoice_statuses['trash'] = __('Trash', 'invoicing');
112 112
     }
113 113
 
114
-    return apply_filters( 'wpinv_statuses', $invoice_statuses, $invoice );
114
+    return apply_filters('wpinv_statuses', $invoice_statuses, $invoice);
115 115
 }
116 116
 
117
-function wpinv_status_nicename( $status ) {
118
-    $statuses = wpinv_get_invoice_statuses( true, true );
119
-    $status   = isset( $statuses[$status] ) ? $statuses[$status] : __( $status, 'invoicing' );
117
+function wpinv_status_nicename($status) {
118
+    $statuses = wpinv_get_invoice_statuses(true, true);
119
+    $status   = isset($statuses[$status]) ? $statuses[$status] : __($status, 'invoicing');
120 120
 
121 121
     return $status;
122 122
 }
123 123
 
124 124
 function wpinv_get_currency() {
125
-    $currency = wpinv_get_option( 'currency', 'USD' );
125
+    $currency = wpinv_get_option('currency', 'USD');
126 126
     
127
-    return apply_filters( 'wpinv_currency', $currency );
127
+    return apply_filters('wpinv_currency', $currency);
128 128
 }
129 129
 
130
-function wpinv_currency_symbol( $currency = '' ) {
131
-    if ( empty( $currency ) ) {
130
+function wpinv_currency_symbol($currency = '') {
131
+    if (empty($currency)) {
132 132
         $currency = wpinv_get_currency();
133 133
     }
134 134
     
135
-    $symbols = apply_filters( 'wpinv_currency_symbols', array(
135
+    $symbols = apply_filters('wpinv_currency_symbols', array(
136 136
         'AED' => '&#x62f;.&#x625;',
137 137
         'AFN' => '&#x60b;',
138 138
         'ALL' => 'L',
@@ -295,209 +295,209 @@  discard block
 block discarded – undo
295 295
         'YER' => '&#xfdfc;',
296 296
         'ZAR' => '&#82;',
297 297
         'ZMW' => 'ZK',
298
-    ) );
298
+    ));
299 299
 
300
-    $currency_symbol = isset( $symbols[$currency] ) ? $symbols[$currency] : $currency;
300
+    $currency_symbol = isset($symbols[$currency]) ? $symbols[$currency] : $currency;
301 301
 
302
-    return apply_filters( 'wpinv_currency_symbol', $currency_symbol, $currency );
302
+    return apply_filters('wpinv_currency_symbol', $currency_symbol, $currency);
303 303
 }
304 304
 
305 305
 function wpinv_currency_position() {
306
-    $position = wpinv_get_option( 'currency_position', 'left' );
306
+    $position = wpinv_get_option('currency_position', 'left');
307 307
     
308
-    return apply_filters( 'wpinv_currency_position', $position );
308
+    return apply_filters('wpinv_currency_position', $position);
309 309
 }
310 310
 
311 311
 function wpinv_thousands_separator() {
312
-    $thousand_sep = wpinv_get_option( 'thousands_separator', ',' );
312
+    $thousand_sep = wpinv_get_option('thousands_separator', ',');
313 313
     
314
-    return apply_filters( 'wpinv_thousands_separator', $thousand_sep );
314
+    return apply_filters('wpinv_thousands_separator', $thousand_sep);
315 315
 }
316 316
 
317 317
 function wpinv_decimal_separator() {
318
-    $decimal_sep = wpinv_get_option( 'decimal_separator', '.' );
318
+    $decimal_sep = wpinv_get_option('decimal_separator', '.');
319 319
     
320
-    return apply_filters( 'wpinv_decimal_separator', $decimal_sep );
320
+    return apply_filters('wpinv_decimal_separator', $decimal_sep);
321 321
 }
322 322
 
323 323
 function wpinv_decimals() {
324
-    $decimals = apply_filters( 'wpinv_decimals', wpinv_get_option( 'decimals', 2 ) );
324
+    $decimals = apply_filters('wpinv_decimals', wpinv_get_option('decimals', 2));
325 325
     
326
-    return absint( $decimals );
326
+    return absint($decimals);
327 327
 }
328 328
 
329 329
 function wpinv_get_currencies() {
330 330
     $currencies = array(
331
-        'USD' => __( 'US Dollar', 'invoicing' ),
332
-        'EUR' => __( 'Euro', 'invoicing' ),
333
-        'GBP' => __( 'Pound Sterling', 'invoicing' ),
334
-        'AED' => __( 'United Arab Emirates', 'invoicing' ),
335
-        'AFN' => __( 'Afghan Afghani', 'invoicing' ),
336
-        'ALL' => __( 'Albanian Lek', 'invoicing' ),
337
-        'AMD' => __( 'Armenian Dram', 'invoicing' ),
338
-        'ANG' => __( 'Netherlands Antillean Guilder', 'invoicing' ),
339
-        'AOA' => __( 'Angolan Kwanza', 'invoicing' ),
340
-        'ARS' => __( 'Argentine Peso', 'invoicing' ),
341
-        'AUD' => __( 'Australian Dollar', 'invoicing' ),
342
-        'AWG' => __( 'Aruban Florin', 'invoicing' ),
343
-        'AZN' => __( 'Azerbaijani Manat', 'invoicing' ),
344
-        'BAM' => __( 'Bosnia and Herzegovina Convertible Marka', 'invoicing' ),
345
-        'BBD' => __( 'Barbadian Dollar', 'invoicing' ),
346
-        'BDT' => __( 'Bangladeshi Taka', 'invoicing' ),
347
-        'BGN' => __( 'Bulgarian Lev', 'invoicing' ),
348
-        'BHD' => __( 'Bahraini Dinar', 'invoicing' ),
349
-        'BIF' => __( 'Burundian Franc', 'invoicing' ),
350
-        'BMD' => __( 'Bermudian Dollar', 'invoicing' ),
351
-        'BND' => __( 'Brunei Dollar', 'invoicing' ),
352
-        'BOB' => __( 'Bolivian Boliviano', 'invoicing' ),
353
-        'BRL' => __( 'Brazilian Real', 'invoicing' ),
354
-        'BSD' => __( 'Bahamian Dollar', 'invoicing' ),
355
-        'BTC' => __( 'Bitcoin', 'invoicing' ),
356
-        'BTN' => __( 'Bhutanese Ngultrum', 'invoicing' ),
357
-        'BWP' => __( 'Botswana Pula', 'invoicing' ),
358
-        'BYN' => __( 'Belarusian Ruble', 'invoicing' ),
359
-        'BZD' => __( 'Belize Dollar', 'invoicing' ),
360
-        'CAD' => __( 'Canadian Dollar', 'invoicing' ),
361
-        'CDF' => __( 'Congolese Franc', 'invoicing' ),
362
-        'CHF' => __( 'Swiss Franc', 'invoicing' ),
363
-        'CLP' => __( 'Chilean Peso', 'invoicing' ),
364
-        'CNY' => __( 'Chinese Yuan', 'invoicing' ),
365
-        'COP' => __( 'Colombian Peso', 'invoicing' ),
366
-        'CRC' => __( 'Costa Rican Colon', 'invoicing' ),
367
-        'CUC' => __( 'Cuban Convertible Peso', 'invoicing' ),
368
-        'CUP' => __( 'Cuban Peso', 'invoicing' ),
369
-        'CVE' => __( 'Cape Verdean escudo', 'invoicing' ),
370
-        'CZK' => __( 'Czech Koruna', 'invoicing' ),
371
-        'DJF' => __( 'Djiboutian Franc', 'invoicing' ),
372
-        'DKK' => __( 'Danish Krone', 'invoicing' ),
373
-        'DOP' => __( 'Dominican Peso', 'invoicing' ),
374
-        'DZD' => __( 'Algerian Dinar', 'invoicing' ),
375
-        'EGP' => __( 'Egyptian Pound', 'invoicing' ),
376
-        'ERN' => __( 'Eritrean Nakfa', 'invoicing' ),
377
-        'ETB' => __( 'Ethiopian Irr', 'invoicing' ),
378
-        'FJD' => __( 'Fijian Dollar', 'invoicing' ),
379
-        'FKP' => __( 'Falkland Islands Pound', 'invoicing' ),
380
-        'GEL' => __( 'Georgian Lari', 'invoicing' ),
381
-        'GGP' => __( 'Guernsey Pound', 'invoicing' ),
382
-        'GHS' => __( 'Ghana Cedi', 'invoicing' ),
383
-        'GIP' => __( 'Gibraltar Pound', 'invoicing' ),
384
-        'GMD' => __( 'Gambian Dalasi', 'invoicing' ),
385
-        'GNF' => __( 'Guinean Franc', 'invoicing' ),
386
-        'GTQ' => __( 'Guatemalan Quetzal', 'invoicing' ),
387
-        'GYD' => __( 'Guyanese Dollar', 'invoicing' ),
388
-        'HKD' => __( 'Hong Kong Dollar', 'invoicing' ),
389
-        'HNL' => __( 'Honduran Lempira', 'invoicing' ),
390
-        'HRK' => __( 'Croatian Kuna', 'invoicing' ),
391
-        'HTG' => __( 'Haitian Gourde', 'invoicing' ),
392
-        'HUF' => __( 'Hungarian Forint', 'invoicing' ),
393
-        'IDR' => __( 'Indonesian Rupiah', 'invoicing' ),
394
-        'ILS' => __( 'Israeli New Shekel', 'invoicing' ),
395
-        'IMP' => __( 'Manx Pound', 'invoicing' ),
396
-        'INR' => __( 'Indian Rupee', 'invoicing' ),
397
-        'IQD' => __( 'Iraqi Dinar', 'invoicing' ),
398
-        'IRR' => __( 'Iranian Rial', 'invoicing' ),
399
-        'IRT' => __( 'Iranian Toman', 'invoicing' ),
400
-        'ISK' => __( 'Icelandic Krona', 'invoicing' ),
401
-        'JEP' => __( 'Jersey Pound', 'invoicing' ),
402
-        'JMD' => __( 'Jamaican Dollar', 'invoicing' ),
403
-        'JOD' => __( 'Jordanian Dinar', 'invoicing' ),
404
-        'JPY' => __( 'Japanese Yen', 'invoicing' ),
405
-        'KES' => __( 'Kenyan Shilling', 'invoicing' ),
406
-        'KGS' => __( 'Kyrgyzstani Som', 'invoicing' ),
407
-        'KHR' => __( 'Cambodian Riel', 'invoicing' ),
408
-        'KMF' => __( 'Comorian Franc', 'invoicing' ),
409
-        'KPW' => __( 'North Korean Won', 'invoicing' ),
410
-        'KRW' => __( 'South Korean Won', 'invoicing' ),
411
-        'KWD' => __( 'Kuwaiti Dinar', 'invoicing' ),
412
-        'KYD' => __( 'Cayman Islands Dollar', 'invoicing' ),
413
-        'KZT' => __( 'Kazakhstani Tenge', 'invoicing' ),
414
-        'LAK' => __( 'Lao Kip', 'invoicing' ),
415
-        'LBP' => __( 'Lebanese Pound', 'invoicing' ),
416
-        'LKR' => __( 'Sri Lankan Rupee', 'invoicing' ),
417
-        'LRD' => __( 'Liberian Dollar', 'invoicing' ),
418
-        'LSL' => __( 'Lesotho Loti', 'invoicing' ),
419
-        'LYD' => __( 'Libyan Dinar', 'invoicing' ),
420
-        'MAD' => __( 'Moroccan Dirham', 'invoicing' ),
421
-        'MDL' => __( 'Moldovan Leu', 'invoicing' ),
422
-        'MGA' => __( 'Malagasy Ariary', 'invoicing' ),
423
-        'MKD' => __( 'Macedonian Denar', 'invoicing' ),
424
-        'MMK' => __( 'Burmese Kyat', 'invoicing' ),
425
-        'MNT' => __( 'Mongolian Tughrik', 'invoicing' ),
426
-        'MOP' => __( 'Macanese Pataca', 'invoicing' ),
427
-        'MRO' => __( 'Mauritanian Ouguiya', 'invoicing' ),
428
-        'MUR' => __( 'Mauritian Rupee', 'invoicing' ),
429
-        'MVR' => __( 'Maldivian Rufiyaa', 'invoicing' ),
430
-        'MWK' => __( 'Malawian Kwacha', 'invoicing' ),
431
-        'MXN' => __( 'Mexican Peso', 'invoicing' ),
432
-        'MYR' => __( 'Malaysian Ringgit', 'invoicing' ),
433
-        'MZN' => __( 'Mozambican Metical', 'invoicing' ),
434
-        'NAD' => __( 'Namibian Dollar', 'invoicing' ),
435
-        'NGN' => __( 'Nigerian Naira', 'invoicing' ),
436
-        'NIO' => __( 'Nicaraguan Cordoba', 'invoicing' ),
437
-        'NOK' => __( 'Norwegian Krone', 'invoicing' ),
438
-        'NPR' => __( 'Nepalese Rupee', 'invoicing' ),
439
-        'NZD' => __( 'New Zealand Dollar', 'invoicing' ),
440
-        'OMR' => __( 'Omani Rial', 'invoicing' ),
441
-        'PAB' => __( 'Panamanian Balboa', 'invoicing' ),
442
-        'PEN' => __( 'Peruvian Nuevo Sol', 'invoicing' ),
443
-        'PGK' => __( 'Papua New Guinean Kina', 'invoicing' ),
444
-        'PHP' => __( 'Philippine Peso', 'invoicing' ),
445
-        'PKR' => __( 'Pakistani Rupee', 'invoicing' ),
446
-        'PLN' => __( 'Polish Zloty', 'invoicing' ),
447
-        'PRB' => __( 'Transnistrian Ruble', 'invoicing' ),
448
-        'PYG' => __( 'Paraguayan Guarani', 'invoicing' ),
449
-        'QAR' => __( 'Qatari Riyal', 'invoicing' ),
450
-        'RON' => __( 'Romanian Leu', 'invoicing' ),
451
-        'RSD' => __( 'Serbian Dinar', 'invoicing' ),
452
-        'RUB' => __( 'Russian Ruble', 'invoicing' ),
453
-        'RWF' => __( 'Rwandan Franc', 'invoicing' ),
454
-        'SAR' => __( 'Saudi Riyal', 'invoicing' ),
455
-        'SBD' => __( 'Solomon Islands Dollar', 'invoicing' ),
456
-        'SCR' => __( 'Seychellois Rupee', 'invoicing' ),
457
-        'SDG' => __( 'Sudanese Pound', 'invoicing' ),
458
-        'SEK' => __( 'Swedish Krona', 'invoicing' ),
459
-        'SGD' => __( 'Singapore Dollar', 'invoicing' ),
460
-        'SHP' => __( 'Saint Helena Pound', 'invoicing' ),
461
-        'SLL' => __( 'Sierra Leonean Leone', 'invoicing' ),
462
-        'SOS' => __( 'Somali Shilling', 'invoicing' ),
463
-        'SRD' => __( 'Surinamese Dollar', 'invoicing' ),
464
-        'SSP' => __( 'South Sudanese Pound', 'invoicing' ),
465
-        'STD' => __( 'Sao Tomean Dobra', 'invoicing' ),
466
-        'SYP' => __( 'Syrian Pound', 'invoicing' ),
467
-        'SZL' => __( 'Swazi Lilangeni', 'invoicing' ),
468
-        'THB' => __( 'Thai Baht', 'invoicing' ),
469
-        'TJS' => __( 'Tajikistani Somoni', 'invoicing' ),
470
-        'TMT' => __( 'Turkmenistan Manat', 'invoicing' ),
471
-        'TND' => __( 'Tunisian Dinar', 'invoicing' ),
472
-        'TOP' => __( 'Tongan Pa&#x2bb;anga', 'invoicing' ),
473
-        'TRY' => __( 'Turkish Lira', 'invoicing' ),
474
-        'TTD' => __( 'Trinidad and Tobago Dollar', 'invoicing' ),
475
-        'TWD' => __( 'New Taiwan Dollar', 'invoicing' ),
476
-        'TZS' => __( 'Tanzanian Shilling', 'invoicing' ),
477
-        'UAH' => __( 'Ukrainian Hryvnia', 'invoicing' ),
478
-        'UGX' => __( 'Ugandan Shilling', 'invoicing' ),
479
-        'UYU' => __( 'Uruguayan Peso', 'invoicing' ),
480
-        'UZS' => __( 'Uzbekistani Som', 'invoicing' ),
481
-        'VEF' => __( 'Venezuelan Bol&iacute;var', 'invoicing' ),
482
-        'VND' => __( 'Vietnamese Dong', 'invoicing' ),
483
-        'VUV' => __( 'Vanuatu Vatu', 'invoicing' ),
484
-        'WST' => __( 'Samoan Tala', 'invoicing' ),
485
-        'XAF' => __( 'Central African CFA Franc', 'invoicing' ),
486
-        'XCD' => __( 'East Caribbean Dollar', 'invoicing' ),
487
-        'XOF' => __( 'West African CFA Franc', 'invoicing' ),
488
-        'XPF' => __( 'CFP Franc', 'invoicing' ),
489
-        'YER' => __( 'Yemeni Rial', 'invoicing' ),
490
-        'ZAR' => __( 'South African Rand', 'invoicing' ),
491
-        'ZMW' => __( 'Zambian Kwacha', 'invoicing' ),
331
+        'USD' => __('US Dollar', 'invoicing'),
332
+        'EUR' => __('Euro', 'invoicing'),
333
+        'GBP' => __('Pound Sterling', 'invoicing'),
334
+        'AED' => __('United Arab Emirates', 'invoicing'),
335
+        'AFN' => __('Afghan Afghani', 'invoicing'),
336
+        'ALL' => __('Albanian Lek', 'invoicing'),
337
+        'AMD' => __('Armenian Dram', 'invoicing'),
338
+        'ANG' => __('Netherlands Antillean Guilder', 'invoicing'),
339
+        'AOA' => __('Angolan Kwanza', 'invoicing'),
340
+        'ARS' => __('Argentine Peso', 'invoicing'),
341
+        'AUD' => __('Australian Dollar', 'invoicing'),
342
+        'AWG' => __('Aruban Florin', 'invoicing'),
343
+        'AZN' => __('Azerbaijani Manat', 'invoicing'),
344
+        'BAM' => __('Bosnia and Herzegovina Convertible Marka', 'invoicing'),
345
+        'BBD' => __('Barbadian Dollar', 'invoicing'),
346
+        'BDT' => __('Bangladeshi Taka', 'invoicing'),
347
+        'BGN' => __('Bulgarian Lev', 'invoicing'),
348
+        'BHD' => __('Bahraini Dinar', 'invoicing'),
349
+        'BIF' => __('Burundian Franc', 'invoicing'),
350
+        'BMD' => __('Bermudian Dollar', 'invoicing'),
351
+        'BND' => __('Brunei Dollar', 'invoicing'),
352
+        'BOB' => __('Bolivian Boliviano', 'invoicing'),
353
+        'BRL' => __('Brazilian Real', 'invoicing'),
354
+        'BSD' => __('Bahamian Dollar', 'invoicing'),
355
+        'BTC' => __('Bitcoin', 'invoicing'),
356
+        'BTN' => __('Bhutanese Ngultrum', 'invoicing'),
357
+        'BWP' => __('Botswana Pula', 'invoicing'),
358
+        'BYN' => __('Belarusian Ruble', 'invoicing'),
359
+        'BZD' => __('Belize Dollar', 'invoicing'),
360
+        'CAD' => __('Canadian Dollar', 'invoicing'),
361
+        'CDF' => __('Congolese Franc', 'invoicing'),
362
+        'CHF' => __('Swiss Franc', 'invoicing'),
363
+        'CLP' => __('Chilean Peso', 'invoicing'),
364
+        'CNY' => __('Chinese Yuan', 'invoicing'),
365
+        'COP' => __('Colombian Peso', 'invoicing'),
366
+        'CRC' => __('Costa Rican Colon', 'invoicing'),
367
+        'CUC' => __('Cuban Convertible Peso', 'invoicing'),
368
+        'CUP' => __('Cuban Peso', 'invoicing'),
369
+        'CVE' => __('Cape Verdean escudo', 'invoicing'),
370
+        'CZK' => __('Czech Koruna', 'invoicing'),
371
+        'DJF' => __('Djiboutian Franc', 'invoicing'),
372
+        'DKK' => __('Danish Krone', 'invoicing'),
373
+        'DOP' => __('Dominican Peso', 'invoicing'),
374
+        'DZD' => __('Algerian Dinar', 'invoicing'),
375
+        'EGP' => __('Egyptian Pound', 'invoicing'),
376
+        'ERN' => __('Eritrean Nakfa', 'invoicing'),
377
+        'ETB' => __('Ethiopian Irr', 'invoicing'),
378
+        'FJD' => __('Fijian Dollar', 'invoicing'),
379
+        'FKP' => __('Falkland Islands Pound', 'invoicing'),
380
+        'GEL' => __('Georgian Lari', 'invoicing'),
381
+        'GGP' => __('Guernsey Pound', 'invoicing'),
382
+        'GHS' => __('Ghana Cedi', 'invoicing'),
383
+        'GIP' => __('Gibraltar Pound', 'invoicing'),
384
+        'GMD' => __('Gambian Dalasi', 'invoicing'),
385
+        'GNF' => __('Guinean Franc', 'invoicing'),
386
+        'GTQ' => __('Guatemalan Quetzal', 'invoicing'),
387
+        'GYD' => __('Guyanese Dollar', 'invoicing'),
388
+        'HKD' => __('Hong Kong Dollar', 'invoicing'),
389
+        'HNL' => __('Honduran Lempira', 'invoicing'),
390
+        'HRK' => __('Croatian Kuna', 'invoicing'),
391
+        'HTG' => __('Haitian Gourde', 'invoicing'),
392
+        'HUF' => __('Hungarian Forint', 'invoicing'),
393
+        'IDR' => __('Indonesian Rupiah', 'invoicing'),
394
+        'ILS' => __('Israeli New Shekel', 'invoicing'),
395
+        'IMP' => __('Manx Pound', 'invoicing'),
396
+        'INR' => __('Indian Rupee', 'invoicing'),
397
+        'IQD' => __('Iraqi Dinar', 'invoicing'),
398
+        'IRR' => __('Iranian Rial', 'invoicing'),
399
+        'IRT' => __('Iranian Toman', 'invoicing'),
400
+        'ISK' => __('Icelandic Krona', 'invoicing'),
401
+        'JEP' => __('Jersey Pound', 'invoicing'),
402
+        'JMD' => __('Jamaican Dollar', 'invoicing'),
403
+        'JOD' => __('Jordanian Dinar', 'invoicing'),
404
+        'JPY' => __('Japanese Yen', 'invoicing'),
405
+        'KES' => __('Kenyan Shilling', 'invoicing'),
406
+        'KGS' => __('Kyrgyzstani Som', 'invoicing'),
407
+        'KHR' => __('Cambodian Riel', 'invoicing'),
408
+        'KMF' => __('Comorian Franc', 'invoicing'),
409
+        'KPW' => __('North Korean Won', 'invoicing'),
410
+        'KRW' => __('South Korean Won', 'invoicing'),
411
+        'KWD' => __('Kuwaiti Dinar', 'invoicing'),
412
+        'KYD' => __('Cayman Islands Dollar', 'invoicing'),
413
+        'KZT' => __('Kazakhstani Tenge', 'invoicing'),
414
+        'LAK' => __('Lao Kip', 'invoicing'),
415
+        'LBP' => __('Lebanese Pound', 'invoicing'),
416
+        'LKR' => __('Sri Lankan Rupee', 'invoicing'),
417
+        'LRD' => __('Liberian Dollar', 'invoicing'),
418
+        'LSL' => __('Lesotho Loti', 'invoicing'),
419
+        'LYD' => __('Libyan Dinar', 'invoicing'),
420
+        'MAD' => __('Moroccan Dirham', 'invoicing'),
421
+        'MDL' => __('Moldovan Leu', 'invoicing'),
422
+        'MGA' => __('Malagasy Ariary', 'invoicing'),
423
+        'MKD' => __('Macedonian Denar', 'invoicing'),
424
+        'MMK' => __('Burmese Kyat', 'invoicing'),
425
+        'MNT' => __('Mongolian Tughrik', 'invoicing'),
426
+        'MOP' => __('Macanese Pataca', 'invoicing'),
427
+        'MRO' => __('Mauritanian Ouguiya', 'invoicing'),
428
+        'MUR' => __('Mauritian Rupee', 'invoicing'),
429
+        'MVR' => __('Maldivian Rufiyaa', 'invoicing'),
430
+        'MWK' => __('Malawian Kwacha', 'invoicing'),
431
+        'MXN' => __('Mexican Peso', 'invoicing'),
432
+        'MYR' => __('Malaysian Ringgit', 'invoicing'),
433
+        'MZN' => __('Mozambican Metical', 'invoicing'),
434
+        'NAD' => __('Namibian Dollar', 'invoicing'),
435
+        'NGN' => __('Nigerian Naira', 'invoicing'),
436
+        'NIO' => __('Nicaraguan Cordoba', 'invoicing'),
437
+        'NOK' => __('Norwegian Krone', 'invoicing'),
438
+        'NPR' => __('Nepalese Rupee', 'invoicing'),
439
+        'NZD' => __('New Zealand Dollar', 'invoicing'),
440
+        'OMR' => __('Omani Rial', 'invoicing'),
441
+        'PAB' => __('Panamanian Balboa', 'invoicing'),
442
+        'PEN' => __('Peruvian Nuevo Sol', 'invoicing'),
443
+        'PGK' => __('Papua New Guinean Kina', 'invoicing'),
444
+        'PHP' => __('Philippine Peso', 'invoicing'),
445
+        'PKR' => __('Pakistani Rupee', 'invoicing'),
446
+        'PLN' => __('Polish Zloty', 'invoicing'),
447
+        'PRB' => __('Transnistrian Ruble', 'invoicing'),
448
+        'PYG' => __('Paraguayan Guarani', 'invoicing'),
449
+        'QAR' => __('Qatari Riyal', 'invoicing'),
450
+        'RON' => __('Romanian Leu', 'invoicing'),
451
+        'RSD' => __('Serbian Dinar', 'invoicing'),
452
+        'RUB' => __('Russian Ruble', 'invoicing'),
453
+        'RWF' => __('Rwandan Franc', 'invoicing'),
454
+        'SAR' => __('Saudi Riyal', 'invoicing'),
455
+        'SBD' => __('Solomon Islands Dollar', 'invoicing'),
456
+        'SCR' => __('Seychellois Rupee', 'invoicing'),
457
+        'SDG' => __('Sudanese Pound', 'invoicing'),
458
+        'SEK' => __('Swedish Krona', 'invoicing'),
459
+        'SGD' => __('Singapore Dollar', 'invoicing'),
460
+        'SHP' => __('Saint Helena Pound', 'invoicing'),
461
+        'SLL' => __('Sierra Leonean Leone', 'invoicing'),
462
+        'SOS' => __('Somali Shilling', 'invoicing'),
463
+        'SRD' => __('Surinamese Dollar', 'invoicing'),
464
+        'SSP' => __('South Sudanese Pound', 'invoicing'),
465
+        'STD' => __('Sao Tomean Dobra', 'invoicing'),
466
+        'SYP' => __('Syrian Pound', 'invoicing'),
467
+        'SZL' => __('Swazi Lilangeni', 'invoicing'),
468
+        'THB' => __('Thai Baht', 'invoicing'),
469
+        'TJS' => __('Tajikistani Somoni', 'invoicing'),
470
+        'TMT' => __('Turkmenistan Manat', 'invoicing'),
471
+        'TND' => __('Tunisian Dinar', 'invoicing'),
472
+        'TOP' => __('Tongan Pa&#x2bb;anga', 'invoicing'),
473
+        'TRY' => __('Turkish Lira', 'invoicing'),
474
+        'TTD' => __('Trinidad and Tobago Dollar', 'invoicing'),
475
+        'TWD' => __('New Taiwan Dollar', 'invoicing'),
476
+        'TZS' => __('Tanzanian Shilling', 'invoicing'),
477
+        'UAH' => __('Ukrainian Hryvnia', 'invoicing'),
478
+        'UGX' => __('Ugandan Shilling', 'invoicing'),
479
+        'UYU' => __('Uruguayan Peso', 'invoicing'),
480
+        'UZS' => __('Uzbekistani Som', 'invoicing'),
481
+        'VEF' => __('Venezuelan Bol&iacute;var', 'invoicing'),
482
+        'VND' => __('Vietnamese Dong', 'invoicing'),
483
+        'VUV' => __('Vanuatu Vatu', 'invoicing'),
484
+        'WST' => __('Samoan Tala', 'invoicing'),
485
+        'XAF' => __('Central African CFA Franc', 'invoicing'),
486
+        'XCD' => __('East Caribbean Dollar', 'invoicing'),
487
+        'XOF' => __('West African CFA Franc', 'invoicing'),
488
+        'XPF' => __('CFP Franc', 'invoicing'),
489
+        'YER' => __('Yemeni Rial', 'invoicing'),
490
+        'ZAR' => __('South African Rand', 'invoicing'),
491
+        'ZMW' => __('Zambian Kwacha', 'invoicing'),
492 492
     );
493 493
     
494 494
     //asort( $currencies ); // this
495 495
 
496
-    return apply_filters( 'wpinv_currencies', $currencies );
496
+    return apply_filters('wpinv_currencies', $currencies);
497 497
 }
498 498
 
499
-function wpinv_price( $amount = '', $currency = '' ) {
500
-    if( empty( $currency ) ) {
499
+function wpinv_price($amount = '', $currency = '') {
500
+    if (empty($currency)) {
501 501
         $currency = wpinv_get_currency();
502 502
     }
503 503
 
@@ -505,14 +505,14 @@  discard block
 block discarded – undo
505 505
 
506 506
     $negative = $amount < 0;
507 507
 
508
-    if ( $negative ) {
509
-        $amount = substr( $amount, 1 );
508
+    if ($negative) {
509
+        $amount = substr($amount, 1);
510 510
     }
511 511
 
512
-    $symbol = wpinv_currency_symbol( $currency );
512
+    $symbol = wpinv_currency_symbol($currency);
513 513
 
514
-    if ( $position == 'left' || $position == 'left_space' ) {
515
-        switch ( $currency ) {
514
+    if ($position == 'left' || $position == 'left_space') {
515
+        switch ($currency) {
516 516
             case "GBP" :
517 517
             case "BRL" :
518 518
             case "EUR" :
@@ -524,15 +524,15 @@  discard block
 block discarded – undo
524 524
             case "NZD" :
525 525
             case "SGD" :
526 526
             case "JPY" :
527
-                $price = $position == 'left_space' ? $symbol . ' ' .  $amount : $symbol . $amount;
527
+                $price = $position == 'left_space' ? $symbol . ' ' . $amount : $symbol . $amount;
528 528
                 break;
529 529
             default :
530 530
                 //$price = $currency . ' ' . $amount;
531
-                $price = $position == 'left_space' ? $symbol . ' ' .  $amount : $symbol . $amount;
531
+                $price = $position == 'left_space' ? $symbol . ' ' . $amount : $symbol . $amount;
532 532
                 break;
533 533
         }
534 534
     } else {
535
-        switch ( $currency ) {
535
+        switch ($currency) {
536 536
             case "GBP" :
537 537
             case "BRL" :
538 538
             case "EUR" :
@@ -543,83 +543,83 @@  discard block
 block discarded – undo
543 543
             case "MXN" :
544 544
             case "SGD" :
545 545
             case "JPY" :
546
-                $price = $position == 'right_space' ? $amount . ' ' .  $symbol : $amount . $symbol;
546
+                $price = $position == 'right_space' ? $amount . ' ' . $symbol : $amount . $symbol;
547 547
                 break;
548 548
             default :
549 549
                 //$price = $amount . ' ' . $currency;
550
-                $price = $position == 'right_space' ? $amount . ' ' .  $symbol : $amount . $symbol;
550
+                $price = $position == 'right_space' ? $amount . ' ' . $symbol : $amount . $symbol;
551 551
                 break;
552 552
         }
553 553
     }
554 554
     
555
-    if ( $negative ) {
555
+    if ($negative) {
556 556
         $price = '-' . $price;
557 557
     }
558 558
     
559
-    $price = apply_filters( 'wpinv_' . strtolower( $currency ) . '_currency_filter_' . $position, $price, $currency, $amount );
559
+    $price = apply_filters('wpinv_' . strtolower($currency) . '_currency_filter_' . $position, $price, $currency, $amount);
560 560
 
561 561
     return $price;
562 562
 }
563 563
 
564
-function wpinv_format_amount( $amount, $decimals = NULL, $calculate = false ) {
564
+function wpinv_format_amount($amount, $decimals = NULL, $calculate = false) {
565 565
     $thousands_sep = wpinv_thousands_separator();
566 566
     $decimal_sep   = wpinv_decimal_separator();
567 567
 
568
-    if ( $decimals === NULL ) {
568
+    if ($decimals === NULL) {
569 569
         $decimals = wpinv_decimals();
570 570
     }
571 571
 
572
-    if ( $decimal_sep == ',' && false !== ( $sep_found = strpos( $amount, $decimal_sep ) ) ) {
573
-        $whole = substr( $amount, 0, $sep_found );
574
-        $part = substr( $amount, $sep_found + 1, ( strlen( $amount ) - 1 ) );
572
+    if ($decimal_sep == ',' && false !== ($sep_found = strpos($amount, $decimal_sep))) {
573
+        $whole = substr($amount, 0, $sep_found);
574
+        $part = substr($amount, $sep_found + 1, (strlen($amount) - 1));
575 575
         $amount = $whole . '.' . $part;
576 576
     }
577 577
 
578
-    if ( $thousands_sep == ',' && false !== ( $found = strpos( $amount, $thousands_sep ) ) ) {
579
-        $amount = str_replace( ',', '', $amount );
578
+    if ($thousands_sep == ',' && false !== ($found = strpos($amount, $thousands_sep))) {
579
+        $amount = str_replace(',', '', $amount);
580 580
     }
581 581
 
582
-    if ( $thousands_sep == ' ' && false !== ( $found = strpos( $amount, $thousands_sep ) ) ) {
583
-        $amount = str_replace( ' ', '', $amount );
582
+    if ($thousands_sep == ' ' && false !== ($found = strpos($amount, $thousands_sep))) {
583
+        $amount = str_replace(' ', '', $amount);
584 584
     }
585 585
 
586
-    if ( empty( $amount ) ) {
586
+    if (empty($amount)) {
587 587
         $amount = 0;
588 588
     }
589 589
     
590
-    $decimals  = apply_filters( 'wpinv_amount_format_decimals', $decimals ? $decimals : 0, $amount, $calculate );
591
-    $formatted = number_format( (float)$amount, $decimals, $decimal_sep, $thousands_sep );
590
+    $decimals  = apply_filters('wpinv_amount_format_decimals', $decimals ? $decimals : 0, $amount, $calculate);
591
+    $formatted = number_format((float) $amount, $decimals, $decimal_sep, $thousands_sep);
592 592
     
593
-    if ( $calculate ) {
594
-        if ( $thousands_sep === "," ) {
595
-            $formatted = str_replace( ",", "", $formatted );
593
+    if ($calculate) {
594
+        if ($thousands_sep === ",") {
595
+            $formatted = str_replace(",", "", $formatted);
596 596
         }
597 597
         
598
-        if ( $decimal_sep === "," ) {
599
-            $formatted = str_replace( ",", ".", $formatted );
598
+        if ($decimal_sep === ",") {
599
+            $formatted = str_replace(",", ".", $formatted);
600 600
         }
601 601
     }
602 602
 
603
-    return apply_filters( 'wpinv_amount_format', $formatted, $amount, $decimals, $decimal_sep, $thousands_sep, $calculate );
603
+    return apply_filters('wpinv_amount_format', $formatted, $amount, $decimals, $decimal_sep, $thousands_sep, $calculate);
604 604
 }
605
-add_filter( 'wpinv_amount_format_decimals', 'wpinv_currency_decimal_filter', 10, 1 );
605
+add_filter('wpinv_amount_format_decimals', 'wpinv_currency_decimal_filter', 10, 1);
606 606
 
607
-function wpinv_sanitize_key( $key ) {
607
+function wpinv_sanitize_key($key) {
608 608
     $raw_key = $key;
609
-    $key = preg_replace( '/[^a-zA-Z0-9_\-\.\:\/]/', '', $key );
609
+    $key = preg_replace('/[^a-zA-Z0-9_\-\.\:\/]/', '', $key);
610 610
 
611
-    return apply_filters( 'wpinv_sanitize_key', $key, $raw_key );
611
+    return apply_filters('wpinv_sanitize_key', $key, $raw_key);
612 612
 }
613 613
 
614
-function wpinv_get_file_extension( $str ) {
615
-    $parts = explode( '.', $str );
616
-    return end( $parts );
614
+function wpinv_get_file_extension($str) {
615
+    $parts = explode('.', $str);
616
+    return end($parts);
617 617
 }
618 618
 
619
-function wpinv_string_is_image_url( $str ) {
620
-    $ext = wpinv_get_file_extension( $str );
619
+function wpinv_string_is_image_url($str) {
620
+    $ext = wpinv_get_file_extension($str);
621 621
 
622
-    switch ( strtolower( $ext ) ) {
622
+    switch (strtolower($ext)) {
623 623
         case 'jpeg';
624 624
         case 'jpg';
625 625
             $return = true;
@@ -635,33 +635,33 @@  discard block
 block discarded – undo
635 635
             break;
636 636
     }
637 637
 
638
-    return (bool)apply_filters( 'wpinv_string_is_image', $return, $str );
638
+    return (bool) apply_filters('wpinv_string_is_image', $return, $str);
639 639
 }
640 640
 
641
-function wpinv_error_log( $log, $title = '', $file = '', $line = '', $exit = false ) {
642
-    $should_log = apply_filters( 'wpinv_log_errors', WP_DEBUG );
641
+function wpinv_error_log($log, $title = '', $file = '', $line = '', $exit = false) {
642
+    $should_log = apply_filters('wpinv_log_errors', WP_DEBUG);
643 643
     
644
-    if ( true === $should_log ) {
644
+    if (true === $should_log) {
645 645
         $label = '';
646
-        if ( $file && $file !== '' ) {
647
-            $label .= basename( $file ) . ( $line ? '(' . $line . ')' : '' );
646
+        if ($file && $file !== '') {
647
+            $label .= basename($file) . ($line ? '(' . $line . ')' : '');
648 648
         }
649 649
         
650
-        if ( $title && $title !== '' ) {
650
+        if ($title && $title !== '') {
651 651
             $label = $label !== '' ? $label . ' ' : '';
652 652
             $label .= $title . ' ';
653 653
         }
654 654
         
655
-        $label = $label !== '' ? trim( $label ) . ' : ' : '';
655
+        $label = $label !== '' ? trim($label) . ' : ' : '';
656 656
         
657
-        if ( is_array( $log ) || is_object( $log ) ) {
658
-            error_log( $label . print_r( $log, true ) );
657
+        if (is_array($log) || is_object($log)) {
658
+            error_log($label . print_r($log, true));
659 659
         } else {
660
-            error_log( $label . $log );
660
+            error_log($label . $log);
661 661
         }
662 662
 
663
-        error_log( wp_debug_backtrace_summary() );
664
-        if ( $exit ) {
663
+        error_log(wp_debug_backtrace_summary());
664
+        if ($exit) {
665 665
             exit;
666 666
         }
667 667
     }
@@ -669,32 +669,32 @@  discard block
 block discarded – undo
669 669
 
670 670
 function wpinv_is_ajax_disabled() {
671 671
     $retval = false;
672
-    return apply_filters( 'wpinv_is_ajax_disabled', $retval );
672
+    return apply_filters('wpinv_is_ajax_disabled', $retval);
673 673
 }
674 674
 
675
-function wpinv_get_current_page_url( $nocache = false ) {
675
+function wpinv_get_current_page_url($nocache = false) {
676 676
     global $wp;
677 677
 
678
-    if ( get_option( 'permalink_structure' ) ) {
679
-        $base = trailingslashit( home_url( $wp->request ) );
678
+    if (get_option('permalink_structure')) {
679
+        $base = trailingslashit(home_url($wp->request));
680 680
     } else {
681
-        $base = add_query_arg( $wp->query_string, '', trailingslashit( home_url( $wp->request ) ) );
682
-        $base = remove_query_arg( array( 'post_type', 'name' ), $base );
681
+        $base = add_query_arg($wp->query_string, '', trailingslashit(home_url($wp->request)));
682
+        $base = remove_query_arg(array('post_type', 'name'), $base);
683 683
     }
684 684
 
685 685
     $scheme = is_ssl() ? 'https' : 'http';
686
-    $uri    = set_url_scheme( $base, $scheme );
686
+    $uri    = set_url_scheme($base, $scheme);
687 687
 
688
-    if ( is_front_page() ) {
689
-        $uri = home_url( '/' );
690
-    } elseif ( wpinv_is_checkout( array(), false ) ) {
688
+    if (is_front_page()) {
689
+        $uri = home_url('/');
690
+    } elseif (wpinv_is_checkout(array(), false)) {
691 691
         $uri = wpinv_get_checkout_uri();
692 692
     }
693 693
 
694
-    $uri = apply_filters( 'wpinv_get_current_page_url', $uri );
694
+    $uri = apply_filters('wpinv_get_current_page_url', $uri);
695 695
 
696
-    if ( $nocache ) {
697
-        $uri = wpinv_add_cache_busting( $uri );
696
+    if ($nocache) {
697
+        $uri = wpinv_add_cache_busting($uri);
698 698
     }
699 699
 
700 700
     return $uri;
@@ -707,46 +707,46 @@  discard block
 block discarded – undo
707 707
  * @param string $name  Constant name.
708 708
  * @param mixed  $value Value.
709 709
  */
710
-function getpaid_maybe_define_constant( $name, $value ) {
711
-	if ( ! defined( $name ) ) {
712
-		define( $name, $value );
710
+function getpaid_maybe_define_constant($name, $value) {
711
+	if (!defined($name)) {
712
+		define($name, $value);
713 713
 	}
714 714
 }
715 715
 
716 716
 function wpinv_get_php_arg_separator_output() {
717
-	return ini_get( 'arg_separator.output' );
717
+	return ini_get('arg_separator.output');
718 718
 }
719 719
 
720
-function wpinv_rgb_from_hex( $color ) {
721
-    $color = str_replace( '#', '', $color );
720
+function wpinv_rgb_from_hex($color) {
721
+    $color = str_replace('#', '', $color);
722 722
 
723 723
     // Convert shorthand colors to full format, e.g. "FFF" -> "FFFFFF"
724
-    $color = preg_replace( '~^(.)(.)(.)$~', '$1$1$2$2$3$3', $color );
725
-    if ( empty( $color ) ) {
724
+    $color = preg_replace('~^(.)(.)(.)$~', '$1$1$2$2$3$3', $color);
725
+    if (empty($color)) {
726 726
         return NULL;
727 727
     }
728 728
 
729
-    $color = str_split( $color );
729
+    $color = str_split($color);
730 730
 
731 731
     $rgb      = array();
732
-    $rgb['R'] = hexdec( $color[0] . $color[1] );
733
-    $rgb['G'] = hexdec( $color[2] . $color[3] );
734
-    $rgb['B'] = hexdec( $color[4] . $color[5] );
732
+    $rgb['R'] = hexdec($color[0] . $color[1]);
733
+    $rgb['G'] = hexdec($color[2] . $color[3]);
734
+    $rgb['B'] = hexdec($color[4] . $color[5]);
735 735
 
736 736
     return $rgb;
737 737
 }
738 738
 
739
-function wpinv_hex_darker( $color, $factor = 30 ) {
740
-    $base  = wpinv_rgb_from_hex( $color );
739
+function wpinv_hex_darker($color, $factor = 30) {
740
+    $base  = wpinv_rgb_from_hex($color);
741 741
     $color = '#';
742 742
 
743
-    foreach ( $base as $k => $v ) {
743
+    foreach ($base as $k => $v) {
744 744
         $amount      = $v / 100;
745
-        $amount      = round( $amount * $factor );
745
+        $amount      = round($amount * $factor);
746 746
         $new_decimal = $v - $amount;
747 747
 
748
-        $new_hex_component = dechex( $new_decimal );
749
-        if ( strlen( $new_hex_component ) < 2 ) {
748
+        $new_hex_component = dechex($new_decimal);
749
+        if (strlen($new_hex_component) < 2) {
750 750
             $new_hex_component = "0" . $new_hex_component;
751 751
         }
752 752
         $color .= $new_hex_component;
@@ -755,18 +755,18 @@  discard block
 block discarded – undo
755 755
     return $color;
756 756
 }
757 757
 
758
-function wpinv_hex_lighter( $color, $factor = 30 ) {
759
-    $base  = wpinv_rgb_from_hex( $color );
758
+function wpinv_hex_lighter($color, $factor = 30) {
759
+    $base  = wpinv_rgb_from_hex($color);
760 760
     $color = '#';
761 761
 
762
-    foreach ( $base as $k => $v ) {
762
+    foreach ($base as $k => $v) {
763 763
         $amount      = 255 - $v;
764 764
         $amount      = $amount / 100;
765
-        $amount      = round( $amount * $factor );
765
+        $amount      = round($amount * $factor);
766 766
         $new_decimal = $v + $amount;
767 767
 
768
-        $new_hex_component = dechex( $new_decimal );
769
-        if ( strlen( $new_hex_component ) < 2 ) {
768
+        $new_hex_component = dechex($new_decimal);
769
+        if (strlen($new_hex_component) < 2) {
770 770
             $new_hex_component = "0" . $new_hex_component;
771 771
         }
772 772
         $color .= $new_hex_component;
@@ -775,22 +775,22 @@  discard block
 block discarded – undo
775 775
     return $color;
776 776
 }
777 777
 
778
-function wpinv_light_or_dark( $color, $dark = '#000000', $light = '#FFFFFF' ) {
779
-    $hex = str_replace( '#', '', $color );
778
+function wpinv_light_or_dark($color, $dark = '#000000', $light = '#FFFFFF') {
779
+    $hex = str_replace('#', '', $color);
780 780
 
781
-    $c_r = hexdec( substr( $hex, 0, 2 ) );
782
-    $c_g = hexdec( substr( $hex, 2, 2 ) );
783
-    $c_b = hexdec( substr( $hex, 4, 2 ) );
781
+    $c_r = hexdec(substr($hex, 0, 2));
782
+    $c_g = hexdec(substr($hex, 2, 2));
783
+    $c_b = hexdec(substr($hex, 4, 2));
784 784
 
785
-    $brightness = ( ( $c_r * 299 ) + ( $c_g * 587 ) + ( $c_b * 114 ) ) / 1000;
785
+    $brightness = (($c_r * 299) + ($c_g * 587) + ($c_b * 114)) / 1000;
786 786
 
787 787
     return $brightness > 155 ? $dark : $light;
788 788
 }
789 789
 
790
-function wpinv_format_hex( $hex ) {
791
-    $hex = trim( str_replace( '#', '', $hex ) );
790
+function wpinv_format_hex($hex) {
791
+    $hex = trim(str_replace('#', '', $hex));
792 792
 
793
-    if ( strlen( $hex ) == 3 ) {
793
+    if (strlen($hex) == 3) {
794 794
         $hex = $hex[0] . $hex[0] . $hex[1] . $hex[1] . $hex[2] . $hex[2];
795 795
     }
796 796
 
@@ -810,12 +810,12 @@  discard block
 block discarded – undo
810 810
  * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8".
811 811
  * @return string
812 812
  */
813
-function wpinv_utf8_strimwidth( $str, $start, $width, $trimmaker = '', $encoding = 'UTF-8' ) {
814
-    if ( function_exists( 'mb_strimwidth' ) ) {
815
-        return mb_strimwidth( $str, $start, $width, $trimmaker, $encoding );
813
+function wpinv_utf8_strimwidth($str, $start, $width, $trimmaker = '', $encoding = 'UTF-8') {
814
+    if (function_exists('mb_strimwidth')) {
815
+        return mb_strimwidth($str, $start, $width, $trimmaker, $encoding);
816 816
     }
817 817
     
818
-    return wpinv_utf8_substr( $str, $start, $width, $encoding ) . $trimmaker;
818
+    return wpinv_utf8_substr($str, $start, $width, $encoding) . $trimmaker;
819 819
 }
820 820
 
821 821
 /**
@@ -827,28 +827,28 @@  discard block
 block discarded – undo
827 827
  * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8".
828 828
  * @return int Returns the number of characters in string.
829 829
  */
830
-function wpinv_utf8_strlen( $str, $encoding = 'UTF-8' ) {
831
-    if ( function_exists( 'mb_strlen' ) ) {
832
-        return mb_strlen( $str, $encoding );
830
+function wpinv_utf8_strlen($str, $encoding = 'UTF-8') {
831
+    if (function_exists('mb_strlen')) {
832
+        return mb_strlen($str, $encoding);
833 833
     }
834 834
         
835
-    return strlen( $str );
835
+    return strlen($str);
836 836
 }
837 837
 
838
-function wpinv_utf8_strtolower( $str, $encoding = 'UTF-8' ) {
839
-    if ( function_exists( 'mb_strtolower' ) ) {
840
-        return mb_strtolower( $str, $encoding );
838
+function wpinv_utf8_strtolower($str, $encoding = 'UTF-8') {
839
+    if (function_exists('mb_strtolower')) {
840
+        return mb_strtolower($str, $encoding);
841 841
     }
842 842
     
843
-    return strtolower( $str );
843
+    return strtolower($str);
844 844
 }
845 845
 
846
-function wpinv_utf8_strtoupper( $str, $encoding = 'UTF-8' ) {
847
-    if ( function_exists( 'mb_strtoupper' ) ) {
848
-        return mb_strtoupper( $str, $encoding );
846
+function wpinv_utf8_strtoupper($str, $encoding = 'UTF-8') {
847
+    if (function_exists('mb_strtoupper')) {
848
+        return mb_strtoupper($str, $encoding);
849 849
     }
850 850
     
851
-    return strtoupper( $str );
851
+    return strtoupper($str);
852 852
 }
853 853
 
854 854
 /**
@@ -862,12 +862,12 @@  discard block
 block discarded – undo
862 862
  * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8".
863 863
  * @return int Returns the position of the first occurrence of search in the string.
864 864
  */
865
-function wpinv_utf8_strpos( $str, $find, $offset = 0, $encoding = 'UTF-8' ) {
866
-    if ( function_exists( 'mb_strpos' ) ) {
867
-        return mb_strpos( $str, $find, $offset, $encoding );
865
+function wpinv_utf8_strpos($str, $find, $offset = 0, $encoding = 'UTF-8') {
866
+    if (function_exists('mb_strpos')) {
867
+        return mb_strpos($str, $find, $offset, $encoding);
868 868
     }
869 869
         
870
-    return strpos( $str, $find, $offset );
870
+    return strpos($str, $find, $offset);
871 871
 }
872 872
 
873 873
 /**
@@ -881,12 +881,12 @@  discard block
 block discarded – undo
881 881
  * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8".
882 882
  * @return int Returns the position of the last occurrence of search.
883 883
  */
884
-function wpinv_utf8_strrpos( $str, $find, $offset = 0, $encoding = 'UTF-8' ) {
885
-    if ( function_exists( 'mb_strrpos' ) ) {
886
-        return mb_strrpos( $str, $find, $offset, $encoding );
884
+function wpinv_utf8_strrpos($str, $find, $offset = 0, $encoding = 'UTF-8') {
885
+    if (function_exists('mb_strrpos')) {
886
+        return mb_strrpos($str, $find, $offset, $encoding);
887 887
     }
888 888
         
889
-    return strrpos( $str, $find, $offset );
889
+    return strrpos($str, $find, $offset);
890 890
 }
891 891
 
892 892
 /**
@@ -901,16 +901,16 @@  discard block
 block discarded – undo
901 901
  * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8".
902 902
  * @return string
903 903
  */
904
-function wpinv_utf8_substr( $str, $start, $length = null, $encoding = 'UTF-8' ) {
905
-    if ( function_exists( 'mb_substr' ) ) {
906
-        if ( $length === null ) {
907
-            return mb_substr( $str, $start, wpinv_utf8_strlen( $str, $encoding ), $encoding );
904
+function wpinv_utf8_substr($str, $start, $length = null, $encoding = 'UTF-8') {
905
+    if (function_exists('mb_substr')) {
906
+        if ($length === null) {
907
+            return mb_substr($str, $start, wpinv_utf8_strlen($str, $encoding), $encoding);
908 908
         } else {
909
-            return mb_substr( $str, $start, $length, $encoding );
909
+            return mb_substr($str, $start, $length, $encoding);
910 910
         }
911 911
     }
912 912
         
913
-    return substr( $str, $start, $length );
913
+    return substr($str, $start, $length);
914 914
 }
915 915
 
916 916
 /**
@@ -922,48 +922,48 @@  discard block
 block discarded – undo
922 922
  * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8".
923 923
  * @return string The width of string.
924 924
  */
925
-function wpinv_utf8_strwidth( $str, $encoding = 'UTF-8' ) {
926
-    if ( function_exists( 'mb_strwidth' ) ) {
927
-        return mb_strwidth( $str, $encoding );
925
+function wpinv_utf8_strwidth($str, $encoding = 'UTF-8') {
926
+    if (function_exists('mb_strwidth')) {
927
+        return mb_strwidth($str, $encoding);
928 928
     }
929 929
     
930
-    return wpinv_utf8_strlen( $str, $encoding );
930
+    return wpinv_utf8_strlen($str, $encoding);
931 931
 }
932 932
 
933
-function wpinv_utf8_ucfirst( $str, $lower_str_end = false, $encoding = 'UTF-8' ) {
934
-    if ( function_exists( 'mb_strlen' ) ) {
935
-        $first_letter = wpinv_utf8_strtoupper( wpinv_utf8_substr( $str, 0, 1, $encoding ), $encoding );
933
+function wpinv_utf8_ucfirst($str, $lower_str_end = false, $encoding = 'UTF-8') {
934
+    if (function_exists('mb_strlen')) {
935
+        $first_letter = wpinv_utf8_strtoupper(wpinv_utf8_substr($str, 0, 1, $encoding), $encoding);
936 936
         $str_end = "";
937 937
         
938
-        if ( $lower_str_end ) {
939
-            $str_end = wpinv_utf8_strtolower( wpinv_utf8_substr( $str, 1, wpinv_utf8_strlen( $str, $encoding ), $encoding ), $encoding );
938
+        if ($lower_str_end) {
939
+            $str_end = wpinv_utf8_strtolower(wpinv_utf8_substr($str, 1, wpinv_utf8_strlen($str, $encoding), $encoding), $encoding);
940 940
         } else {
941
-            $str_end = wpinv_utf8_substr( $str, 1, wpinv_utf8_strlen( $str, $encoding ), $encoding );
941
+            $str_end = wpinv_utf8_substr($str, 1, wpinv_utf8_strlen($str, $encoding), $encoding);
942 942
         }
943 943
 
944 944
         return $first_letter . $str_end;
945 945
     }
946 946
     
947
-    return ucfirst( $str );
947
+    return ucfirst($str);
948 948
 }
949 949
 
950
-function wpinv_utf8_ucwords( $str, $encoding = 'UTF-8' ) {
951
-    if ( function_exists( 'mb_convert_case' ) ) {
952
-        return mb_convert_case( $str, MB_CASE_TITLE, $encoding );
950
+function wpinv_utf8_ucwords($str, $encoding = 'UTF-8') {
951
+    if (function_exists('mb_convert_case')) {
952
+        return mb_convert_case($str, MB_CASE_TITLE, $encoding);
953 953
     }
954 954
     
955
-    return ucwords( $str );
955
+    return ucwords($str);
956 956
 }
957 957
 
958
-function wpinv_period_in_days( $period, $unit ) {
959
-    $period = absint( $period );
958
+function wpinv_period_in_days($period, $unit) {
959
+    $period = absint($period);
960 960
     
961
-    if ( $period > 0 ) {
962
-        if ( in_array( strtolower( $unit ), array( 'w', 'week', 'weeks' ) ) ) {
961
+    if ($period > 0) {
962
+        if (in_array(strtolower($unit), array('w', 'week', 'weeks'))) {
963 963
             $period = $period * 7;
964
-        } else if ( in_array( strtolower( $unit ), array( 'm', 'month', 'months' ) ) ) {
964
+        } else if (in_array(strtolower($unit), array('m', 'month', 'months'))) {
965 965
             $period = $period * 30;
966
-        } else if ( in_array( strtolower( $unit ), array( 'y', 'year', 'years' ) ) ) {
966
+        } else if (in_array(strtolower($unit), array('y', 'year', 'years'))) {
967 967
             $period = $period * 365;
968 968
         }
969 969
     }
@@ -971,14 +971,14 @@  discard block
 block discarded – undo
971 971
     return $period;
972 972
 }
973 973
 
974
-function wpinv_cal_days_in_month( $calendar, $month, $year ) {
975
-    if ( function_exists( 'cal_days_in_month' ) ) {
976
-        return cal_days_in_month( $calendar, $month, $year );
974
+function wpinv_cal_days_in_month($calendar, $month, $year) {
975
+    if (function_exists('cal_days_in_month')) {
976
+        return cal_days_in_month($calendar, $month, $year);
977 977
     }
978 978
 
979 979
     // Fallback in case the calendar extension is not loaded in PHP
980 980
     // Only supports Gregorian calendar
981
-    return date( 't', mktime( 0, 0, 0, $month, 1, $year ) );
981
+    return date('t', mktime(0, 0, 0, $month, 1, $year));
982 982
 }
983 983
 
984 984
 /**
@@ -989,11 +989,11 @@  discard block
 block discarded – undo
989 989
  *
990 990
  * @return string
991 991
  */
992
-function wpi_help_tip( $tip, $allow_html = false ) {
993
-    if ( $allow_html ) {
994
-        $tip = wpi_sanitize_tooltip( $tip );
992
+function wpi_help_tip($tip, $allow_html = false) {
993
+    if ($allow_html) {
994
+        $tip = wpi_sanitize_tooltip($tip);
995 995
     } else {
996
-        $tip = esc_attr( $tip );
996
+        $tip = esc_attr($tip);
997 997
     }
998 998
 
999 999
     return '<span class="wpi-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
@@ -1007,8 +1007,8 @@  discard block
 block discarded – undo
1007 1007
  * @param string $var
1008 1008
  * @return string
1009 1009
  */
1010
-function wpi_sanitize_tooltip( $var ) {
1011
-    return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
1010
+function wpi_sanitize_tooltip($var) {
1011
+    return htmlspecialchars(wp_kses(html_entity_decode($var), array(
1012 1012
         'br'     => array(),
1013 1013
         'em'     => array(),
1014 1014
         'strong' => array(),
@@ -1018,7 +1018,7 @@  discard block
 block discarded – undo
1018 1018
         'li'     => array(),
1019 1019
         'ol'     => array(),
1020 1020
         'p'      => array(),
1021
-    ) ) );
1021
+    )));
1022 1022
 }
1023 1023
 
1024 1024
 /**
@@ -1028,7 +1028,7 @@  discard block
 block discarded – undo
1028 1028
  */
1029 1029
 function wpinv_get_screen_ids() {
1030 1030
 
1031
-    $screen_id = sanitize_title( __( 'Invoicing', 'invoicing' ) );
1031
+    $screen_id = sanitize_title(__('Invoicing', 'invoicing'));
1032 1032
 
1033 1033
     $screen_ids = array(
1034 1034
         'toplevel_page_' . $screen_id,
@@ -1046,7 +1046,7 @@  discard block
 block discarded – undo
1046 1046
         'invoicing_page_wpi-addons',
1047 1047
     );
1048 1048
 
1049
-    return apply_filters( 'wpinv_screen_ids', $screen_ids );
1049
+    return apply_filters('wpinv_screen_ids', $screen_ids);
1050 1050
 }
1051 1051
 
1052 1052
 /**
@@ -1057,14 +1057,14 @@  discard block
 block discarded – undo
1057 1057
  * @param array|string $list List of values.
1058 1058
  * @return array Sanitized array of values.
1059 1059
  */
1060
-function wpinv_parse_list( $list ) {
1060
+function wpinv_parse_list($list) {
1061 1061
 
1062
-    if ( empty( $list ) ) {
1062
+    if (empty($list)) {
1063 1063
         $list = array();
1064 1064
     }
1065 1065
 
1066
-	if ( ! is_array( $list ) ) {
1067
-		return preg_split( '/[\s,]+/', $list, -1, PREG_SPLIT_NO_EMPTY );
1066
+	if (!is_array($list)) {
1067
+		return preg_split('/[\s,]+/', $list, -1, PREG_SPLIT_NO_EMPTY);
1068 1068
 	}
1069 1069
 
1070 1070
 	return $list;
@@ -1078,16 +1078,16 @@  discard block
 block discarded – undo
1078 1078
  * @param string $key Type of data to fetch.
1079 1079
  * @return mixed Fetched data.
1080 1080
  */
1081
-function wpinv_get_data( $key ) {
1081
+function wpinv_get_data($key) {
1082 1082
     
1083 1083
     // Try fetching it from the cache.
1084
-    $data = wp_cache_get( "wpinv-$key", 'wpinv' );
1085
-    if( $data ) {
1084
+    $data = wp_cache_get("wpinv-$key", 'wpinv');
1085
+    if ($data) {
1086 1086
         return $data;
1087 1087
     }
1088 1088
 
1089
-    $data = apply_filters( "wpinv_get_$key", include WPINV_PLUGIN_DIR . "includes/data/$key.php" );
1090
-	wp_cache_set( "wpinv-$key", $data, 'wpinv' );
1089
+    $data = apply_filters("wpinv_get_$key", include WPINV_PLUGIN_DIR . "includes/data/$key.php");
1090
+	wp_cache_set("wpinv-$key", $data, 'wpinv');
1091 1091
 
1092 1092
 	return $data;
1093 1093
 }
@@ -1101,10 +1101,10 @@  discard block
 block discarded – undo
1101 1101
  * @param bool $first_empty Whether or not the first item in the list should be empty
1102 1102
  * @return mixed Fetched data.
1103 1103
  */
1104
-function wpinv_maybe_add_empty_option( $options, $first_empty ) {
1104
+function wpinv_maybe_add_empty_option($options, $first_empty) {
1105 1105
 
1106
-    if ( ! empty( $options ) && $first_empty ) {
1107
-        return array_merge( array( '' => '' ), $options );
1106
+    if (!empty($options) && $first_empty) {
1107
+        return array_merge(array('' => ''), $options);
1108 1108
     }
1109 1109
     return $options;
1110 1110
 
@@ -1116,21 +1116,21 @@  discard block
 block discarded – undo
1116 1116
  * @param mixed $var Data to sanitize.
1117 1117
  * @return string|array
1118 1118
  */
1119
-function wpinv_clean( $var ) {
1119
+function wpinv_clean($var) {
1120 1120
 
1121
-	if ( is_array( $var ) ) {
1122
-		return array_map( 'wpinv_clean', $var );
1121
+	if (is_array($var)) {
1122
+		return array_map('wpinv_clean', $var);
1123 1123
     }
1124 1124
 
1125
-    if ( is_object( $var ) ) {
1126
-		$object_vars = get_object_vars( $var );
1127
-		foreach ( $object_vars as $property_name => $property_value ) {
1128
-			$var->$property_name = wpinv_clean( $property_value );
1125
+    if (is_object($var)) {
1126
+		$object_vars = get_object_vars($var);
1127
+		foreach ($object_vars as $property_name => $property_value) {
1128
+			$var->$property_name = wpinv_clean($property_value);
1129 1129
         }
1130 1130
         return $var;
1131 1131
 	}
1132 1132
     
1133
-    return is_string( $var ) ? sanitize_text_field( $var ) : $var;
1133
+    return is_string($var) ? sanitize_text_field($var) : $var;
1134 1134
 }
1135 1135
 
1136 1136
 /**
@@ -1139,43 +1139,43 @@  discard block
 block discarded – undo
1139 1139
  * @param string $str Data to convert.
1140 1140
  * @return string|array
1141 1141
  */
1142
-function getpaid_convert_price_string_to_options( $str ) {
1142
+function getpaid_convert_price_string_to_options($str) {
1143 1143
 
1144
-	$raw_options = array_map( 'trim', explode( ',', $str ) );
1145
-    $options     = array();
1144
+	$raw_options = array_map('trim', explode(',', $str));
1145
+    $options = array();
1146 1146
 
1147
-    foreach ( $raw_options as $option ) {
1147
+    foreach ($raw_options as $option) {
1148 1148
 
1149
-        if ( '' == $option ) {
1149
+        if ('' == $option) {
1150 1150
             continue;
1151 1151
         }
1152 1152
 
1153
-        $option = array_map( 'trim', explode( '|', $option ) );
1153
+        $option = array_map('trim', explode('|', $option));
1154 1154
 
1155 1155
         $price = null;
1156 1156
         $label = null;
1157 1157
 
1158
-        if ( isset( $option[0] ) && '' !=  $option[0] ) {
1159
-            $label  = $option[0];
1158
+        if (isset($option[0]) && '' != $option[0]) {
1159
+            $label = $option[0];
1160 1160
         }
1161 1161
 
1162
-        if ( isset( $option[1] ) && '' !=  $option[1] ) {
1162
+        if (isset($option[1]) && '' != $option[1]) {
1163 1163
             $price = $option[1];
1164 1164
         }
1165 1165
 
1166
-        if ( ! isset( $price ) ) {
1166
+        if (!isset($price)) {
1167 1167
             $price = $label;
1168 1168
         }
1169 1169
 
1170
-        if ( ! isset( $price ) || ! is_numeric( $price ) ) {
1170
+        if (!isset($price) || !is_numeric($price)) {
1171 1171
             continue;
1172 1172
         }
1173 1173
 
1174
-        if ( ! isset( $label ) ) {
1174
+        if (!isset($label)) {
1175 1175
             $label = $price;
1176 1176
         }
1177 1177
 
1178
-        $options[ $price ] = $label;
1178
+        $options[$price] = $label;
1179 1179
     }
1180 1180
 
1181 1181
     return $options;
Please login to merge, or discard this patch.
includes/data-stores/class-getpaid-discount-data-store.php 2 patches
Indentation   +170 added lines, -170 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  *
6 6
  */
7 7
 if ( ! defined( 'ABSPATH' ) ) {
8
-	exit;
8
+    exit;
9 9
 }
10 10
 
11 11
 /**
@@ -15,180 +15,180 @@  discard block
 block discarded – undo
15 15
  */
16 16
 class GetPaid_Discount_Data_Store extends GetPaid_Data_Store_WP {
17 17
 
18
-	/**
19
-	 * Data stored in meta keys, but not considered "meta" for a discount.
20
-	 *
21
-	 * @since 1.0.19
22
-	 * @var array
23
-	 */
24
-	protected $internal_meta_keys = array(
25
-		'_wpi_discount_code',
26
-		'_wpi_discount_amount',
27
-		'_wpi_discount_start',
28
-		'_wpi_discount_expiration',
29
-		'_wpi_discount_type',
30
-		'_wpi_discount_uses',
31
-		'_wpi_discount_is_single_use',
32
-		'_wpi_discount_items',
33
-		'_wpi_discount_excluded_items',
34
-		'_wpi_discount_max_uses',
35
-		'_wpi_discount_is_recurring',
36
-		'_wpi_discount_min_total',
37
-		'_wpi_discount_max_total',
38
-	);
39
-
40
-	/**
41
-	 * A map of meta keys to data props.
42
-	 *
43
-	 * @since 1.0.19
44
-	 *
45
-	 * @var array
46
-	 */
47
-	protected $meta_key_to_props = array(
48
-		'_wpi_discount_code'           => 'code',
49
-		'_wpi_discount_amount'         => 'amount',
50
-		'_wpi_discount_start'          => 'start',
51
-		'_wpi_discount_expiration'     => 'expiration',
52
-		'_wpi_discount_type'           => 'type',
53
-		'_wpi_discount_uses'           => 'uses',
54
-		'_wpi_discount_is_single_use'  => 'is_single_use',
55
-		'_wpi_discount_items'          => 'items',
56
-		'_wpi_discount_excluded_items' => 'excluded_items',
57
-		'_wpi_discount_max_uses'       => 'max_uses',
58
-		'_wpi_discount_is_recurring'   => 'is_recurring',
59
-		'_wpi_discount_min_total'      => 'min_total',
60
-		'_wpi_discount_max_total'      => 'max_total',
61
-	);
62
-
63
-	/*
18
+    /**
19
+     * Data stored in meta keys, but not considered "meta" for a discount.
20
+     *
21
+     * @since 1.0.19
22
+     * @var array
23
+     */
24
+    protected $internal_meta_keys = array(
25
+        '_wpi_discount_code',
26
+        '_wpi_discount_amount',
27
+        '_wpi_discount_start',
28
+        '_wpi_discount_expiration',
29
+        '_wpi_discount_type',
30
+        '_wpi_discount_uses',
31
+        '_wpi_discount_is_single_use',
32
+        '_wpi_discount_items',
33
+        '_wpi_discount_excluded_items',
34
+        '_wpi_discount_max_uses',
35
+        '_wpi_discount_is_recurring',
36
+        '_wpi_discount_min_total',
37
+        '_wpi_discount_max_total',
38
+    );
39
+
40
+    /**
41
+     * A map of meta keys to data props.
42
+     *
43
+     * @since 1.0.19
44
+     *
45
+     * @var array
46
+     */
47
+    protected $meta_key_to_props = array(
48
+        '_wpi_discount_code'           => 'code',
49
+        '_wpi_discount_amount'         => 'amount',
50
+        '_wpi_discount_start'          => 'start',
51
+        '_wpi_discount_expiration'     => 'expiration',
52
+        '_wpi_discount_type'           => 'type',
53
+        '_wpi_discount_uses'           => 'uses',
54
+        '_wpi_discount_is_single_use'  => 'is_single_use',
55
+        '_wpi_discount_items'          => 'items',
56
+        '_wpi_discount_excluded_items' => 'excluded_items',
57
+        '_wpi_discount_max_uses'       => 'max_uses',
58
+        '_wpi_discount_is_recurring'   => 'is_recurring',
59
+        '_wpi_discount_min_total'      => 'min_total',
60
+        '_wpi_discount_max_total'      => 'max_total',
61
+    );
62
+
63
+    /*
64 64
 	|--------------------------------------------------------------------------
65 65
 	| CRUD Methods
66 66
 	|--------------------------------------------------------------------------
67 67
 	*/
68 68
 
69
-	/**
70
-	 * Method to create a new discount in the database.
71
-	 *
72
-	 * @param WPInv_Discount $discount Discount object.
73
-	 */
74
-	public function create( &$discount ) {
75
-		$discount->set_version( WPINV_VERSION );
76
-		$discount->set_date_created( current_time('mysql') );
77
-
78
-		// Create a new post.
79
-		$id = wp_insert_post(
80
-			apply_filters(
81
-				'getpaid_new_discount_data',
82
-				array(
83
-					'post_date'     => $discount->get_date_created( 'edit' ),
84
-					'post_type'     => 'wpi_discount',
85
-					'post_status'   => $this->get_post_status( $discount ),
86
-					'ping_status'   => 'closed',
87
-					'post_author'   => $discount->get_author( 'edit' ),
88
-					'post_title'    => $discount->get_name( 'edit' ),
89
-					'post_excerpt'  => $discount->get_description( 'edit' ),
90
-				)
91
-			),
92
-			true
93
-		);
94
-
95
-		if ( $id && ! is_wp_error( $id ) ) {
96
-			$discount->set_id( $id );
97
-			$this->update_post_meta( $discount );
98
-			$discount->save_meta_data();
99
-			$discount->apply_changes();
100
-			$this->clear_caches( $discount );
101
-			return true;
102
-		}
103
-
104
-		if ( is_wp_error( $id ) ) {
105
-			$discount->last_error = $id->get_error_message();
106
-		}
107
-
108
-		return false;
109
-	}
110
-
111
-	/**
112
-	 * Method to read a discount from the database.
113
-	 *
114
-	 * @param WPInv_Discount $discount Discount object.
115
-	 *
116
-	 */
117
-	public function read( &$discount ) {
118
-
119
-		$discount->set_defaults();
120
-		$discount_object = get_post( $discount->get_id() );
121
-
122
-		if ( ! $discount->get_id() || ! $discount_object || $discount_object->post_type != 'wpi_discount' ) {
123
-			$discount->last_error = __( 'Invalid discount.', 'invoicing' );
124
-			return false;
125
-		}
126
-
127
-		$discount->set_props(
128
-			array(
129
-				'date_created'  => 0 < $discount_object->post_date_gmt ? $discount_object->post_date_gmt : null,
130
-				'date_modified' => 0 < $discount_object->post_modified_gmt ? $discount_object->post_modified_gmt : null,
131
-				'status'        => $discount_object->post_status,
132
-				'name'          => $discount_object->post_title,
133
-				'author'        => $discount_object->post_author,
134
-				'description'   => $discount_object->post_excerpt,
135
-			)
136
-		);
137
-
138
-		$this->read_object_data( $discount, $discount_object );
139
-		$discount->read_meta_data();
140
-		$discount->set_object_read( true );
141
-
142
-	}
143
-
144
-	/**
145
-	 * Method to update a discount in the database.
146
-	 *
147
-	 * @param WPInv_Discount $discount Discount object.
148
-	 */
149
-	public function update( &$discount ) {
150
-		$discount->save_meta_data();
151
-		$discount->set_version( WPINV_VERSION );
152
-
153
-		if ( null === $discount->get_date_created( 'edit' ) ) {
154
-			$discount->set_date_created(  current_time('mysql') );
155
-		}
156
-
157
-		$changes = $discount->get_changes();
158
-
159
-		// Only update the post when the post data changes.
160
-		if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'name', 'author', 'post_excerpt' ), array_keys( $changes ) ) ) {
161
-			$post_data = array(
162
-				'post_date'         => $discount->get_date_created( 'edit' ),
163
-				'post_status'       => $discount->get_status( 'edit' ),
164
-				'post_title'        => $discount->get_name( 'edit' ),
165
-				'post_author'       => $discount->get_author( 'edit' ),
166
-				'post_modified'     => $discount->get_date_modified( 'edit' ),
167
-				'post_excerpt'      => $discount->get_description( 'edit' ),
168
-			);
169
-
170
-			/**
171
-			 * When updating this object, to prevent infinite loops, use $wpdb
172
-			 * to update data, since wp_update_post spawns more calls to the
173
-			 * save_post action.
174
-			 *
175
-			 * This ensures hooks are fired by either WP itself (admin screen save),
176
-			 * or an update purely from CRUD.
177
-			 */
178
-			if ( doing_action( 'save_post' ) ) {
179
-				$GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $discount->get_id() ) );
180
-				clean_post_cache( $discount->get_id() );
181
-			} else {
182
-				wp_update_post( array_merge( array( 'ID' => $discount->get_id() ), $post_data ) );
183
-			}
184
-			$discount->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
185
-		}
186
-		$this->update_post_meta( $discount );
187
-		$discount->apply_changes();
188
-		$this->clear_caches( $discount );
189
-	}
190
-
191
-	/*
69
+    /**
70
+     * Method to create a new discount in the database.
71
+     *
72
+     * @param WPInv_Discount $discount Discount object.
73
+     */
74
+    public function create( &$discount ) {
75
+        $discount->set_version( WPINV_VERSION );
76
+        $discount->set_date_created( current_time('mysql') );
77
+
78
+        // Create a new post.
79
+        $id = wp_insert_post(
80
+            apply_filters(
81
+                'getpaid_new_discount_data',
82
+                array(
83
+                    'post_date'     => $discount->get_date_created( 'edit' ),
84
+                    'post_type'     => 'wpi_discount',
85
+                    'post_status'   => $this->get_post_status( $discount ),
86
+                    'ping_status'   => 'closed',
87
+                    'post_author'   => $discount->get_author( 'edit' ),
88
+                    'post_title'    => $discount->get_name( 'edit' ),
89
+                    'post_excerpt'  => $discount->get_description( 'edit' ),
90
+                )
91
+            ),
92
+            true
93
+        );
94
+
95
+        if ( $id && ! is_wp_error( $id ) ) {
96
+            $discount->set_id( $id );
97
+            $this->update_post_meta( $discount );
98
+            $discount->save_meta_data();
99
+            $discount->apply_changes();
100
+            $this->clear_caches( $discount );
101
+            return true;
102
+        }
103
+
104
+        if ( is_wp_error( $id ) ) {
105
+            $discount->last_error = $id->get_error_message();
106
+        }
107
+
108
+        return false;
109
+    }
110
+
111
+    /**
112
+     * Method to read a discount from the database.
113
+     *
114
+     * @param WPInv_Discount $discount Discount object.
115
+     *
116
+     */
117
+    public function read( &$discount ) {
118
+
119
+        $discount->set_defaults();
120
+        $discount_object = get_post( $discount->get_id() );
121
+
122
+        if ( ! $discount->get_id() || ! $discount_object || $discount_object->post_type != 'wpi_discount' ) {
123
+            $discount->last_error = __( 'Invalid discount.', 'invoicing' );
124
+            return false;
125
+        }
126
+
127
+        $discount->set_props(
128
+            array(
129
+                'date_created'  => 0 < $discount_object->post_date_gmt ? $discount_object->post_date_gmt : null,
130
+                'date_modified' => 0 < $discount_object->post_modified_gmt ? $discount_object->post_modified_gmt : null,
131
+                'status'        => $discount_object->post_status,
132
+                'name'          => $discount_object->post_title,
133
+                'author'        => $discount_object->post_author,
134
+                'description'   => $discount_object->post_excerpt,
135
+            )
136
+        );
137
+
138
+        $this->read_object_data( $discount, $discount_object );
139
+        $discount->read_meta_data();
140
+        $discount->set_object_read( true );
141
+
142
+    }
143
+
144
+    /**
145
+     * Method to update a discount in the database.
146
+     *
147
+     * @param WPInv_Discount $discount Discount object.
148
+     */
149
+    public function update( &$discount ) {
150
+        $discount->save_meta_data();
151
+        $discount->set_version( WPINV_VERSION );
152
+
153
+        if ( null === $discount->get_date_created( 'edit' ) ) {
154
+            $discount->set_date_created(  current_time('mysql') );
155
+        }
156
+
157
+        $changes = $discount->get_changes();
158
+
159
+        // Only update the post when the post data changes.
160
+        if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'name', 'author', 'post_excerpt' ), array_keys( $changes ) ) ) {
161
+            $post_data = array(
162
+                'post_date'         => $discount->get_date_created( 'edit' ),
163
+                'post_status'       => $discount->get_status( 'edit' ),
164
+                'post_title'        => $discount->get_name( 'edit' ),
165
+                'post_author'       => $discount->get_author( 'edit' ),
166
+                'post_modified'     => $discount->get_date_modified( 'edit' ),
167
+                'post_excerpt'      => $discount->get_description( 'edit' ),
168
+            );
169
+
170
+            /**
171
+             * When updating this object, to prevent infinite loops, use $wpdb
172
+             * to update data, since wp_update_post spawns more calls to the
173
+             * save_post action.
174
+             *
175
+             * This ensures hooks are fired by either WP itself (admin screen save),
176
+             * or an update purely from CRUD.
177
+             */
178
+            if ( doing_action( 'save_post' ) ) {
179
+                $GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $discount->get_id() ) );
180
+                clean_post_cache( $discount->get_id() );
181
+            } else {
182
+                wp_update_post( array_merge( array( 'ID' => $discount->get_id() ), $post_data ) );
183
+            }
184
+            $discount->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
185
+        }
186
+        $this->update_post_meta( $discount );
187
+        $discount->apply_changes();
188
+        $this->clear_caches( $discount );
189
+    }
190
+
191
+    /*
192 192
 	|--------------------------------------------------------------------------
193 193
 	| Additional Methods
194 194
 	|--------------------------------------------------------------------------
Please login to merge, or discard this patch.
Spacing   +38 added lines, -38 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  * GetPaid_Discount_Data_Store class file.
5 5
  *
6 6
  */
7
-if ( ! defined( 'ABSPATH' ) ) {
7
+if (!defined('ABSPATH')) {
8 8
 	exit;
9 9
 }
10 10
 
@@ -71,37 +71,37 @@  discard block
 block discarded – undo
71 71
 	 *
72 72
 	 * @param WPInv_Discount $discount Discount object.
73 73
 	 */
74
-	public function create( &$discount ) {
75
-		$discount->set_version( WPINV_VERSION );
76
-		$discount->set_date_created( current_time('mysql') );
74
+	public function create(&$discount) {
75
+		$discount->set_version(WPINV_VERSION);
76
+		$discount->set_date_created(current_time('mysql'));
77 77
 
78 78
 		// Create a new post.
79 79
 		$id = wp_insert_post(
80 80
 			apply_filters(
81 81
 				'getpaid_new_discount_data',
82 82
 				array(
83
-					'post_date'     => $discount->get_date_created( 'edit' ),
83
+					'post_date'     => $discount->get_date_created('edit'),
84 84
 					'post_type'     => 'wpi_discount',
85
-					'post_status'   => $this->get_post_status( $discount ),
85
+					'post_status'   => $this->get_post_status($discount),
86 86
 					'ping_status'   => 'closed',
87
-					'post_author'   => $discount->get_author( 'edit' ),
88
-					'post_title'    => $discount->get_name( 'edit' ),
89
-					'post_excerpt'  => $discount->get_description( 'edit' ),
87
+					'post_author'   => $discount->get_author('edit'),
88
+					'post_title'    => $discount->get_name('edit'),
89
+					'post_excerpt'  => $discount->get_description('edit'),
90 90
 				)
91 91
 			),
92 92
 			true
93 93
 		);
94 94
 
95
-		if ( $id && ! is_wp_error( $id ) ) {
96
-			$discount->set_id( $id );
97
-			$this->update_post_meta( $discount );
95
+		if ($id && !is_wp_error($id)) {
96
+			$discount->set_id($id);
97
+			$this->update_post_meta($discount);
98 98
 			$discount->save_meta_data();
99 99
 			$discount->apply_changes();
100
-			$this->clear_caches( $discount );
100
+			$this->clear_caches($discount);
101 101
 			return true;
102 102
 		}
103 103
 
104
-		if ( is_wp_error( $id ) ) {
104
+		if (is_wp_error($id)) {
105 105
 			$discount->last_error = $id->get_error_message();
106 106
 		}
107 107
 
@@ -114,13 +114,13 @@  discard block
 block discarded – undo
114 114
 	 * @param WPInv_Discount $discount Discount object.
115 115
 	 *
116 116
 	 */
117
-	public function read( &$discount ) {
117
+	public function read(&$discount) {
118 118
 
119 119
 		$discount->set_defaults();
120
-		$discount_object = get_post( $discount->get_id() );
120
+		$discount_object = get_post($discount->get_id());
121 121
 
122
-		if ( ! $discount->get_id() || ! $discount_object || $discount_object->post_type != 'wpi_discount' ) {
123
-			$discount->last_error = __( 'Invalid discount.', 'invoicing' );
122
+		if (!$discount->get_id() || !$discount_object || $discount_object->post_type != 'wpi_discount') {
123
+			$discount->last_error = __('Invalid discount.', 'invoicing');
124 124
 			return false;
125 125
 		}
126 126
 
@@ -135,9 +135,9 @@  discard block
 block discarded – undo
135 135
 			)
136 136
 		);
137 137
 
138
-		$this->read_object_data( $discount, $discount_object );
138
+		$this->read_object_data($discount, $discount_object);
139 139
 		$discount->read_meta_data();
140
-		$discount->set_object_read( true );
140
+		$discount->set_object_read(true);
141 141
 
142 142
 	}
143 143
 
@@ -146,25 +146,25 @@  discard block
 block discarded – undo
146 146
 	 *
147 147
 	 * @param WPInv_Discount $discount Discount object.
148 148
 	 */
149
-	public function update( &$discount ) {
149
+	public function update(&$discount) {
150 150
 		$discount->save_meta_data();
151
-		$discount->set_version( WPINV_VERSION );
151
+		$discount->set_version(WPINV_VERSION);
152 152
 
153
-		if ( null === $discount->get_date_created( 'edit' ) ) {
154
-			$discount->set_date_created(  current_time('mysql') );
153
+		if (null === $discount->get_date_created('edit')) {
154
+			$discount->set_date_created(current_time('mysql'));
155 155
 		}
156 156
 
157 157
 		$changes = $discount->get_changes();
158 158
 
159 159
 		// Only update the post when the post data changes.
160
-		if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'name', 'author', 'post_excerpt' ), array_keys( $changes ) ) ) {
160
+		if (array_intersect(array('date_created', 'date_modified', 'status', 'name', 'author', 'post_excerpt'), array_keys($changes))) {
161 161
 			$post_data = array(
162
-				'post_date'         => $discount->get_date_created( 'edit' ),
163
-				'post_status'       => $discount->get_status( 'edit' ),
164
-				'post_title'        => $discount->get_name( 'edit' ),
165
-				'post_author'       => $discount->get_author( 'edit' ),
166
-				'post_modified'     => $discount->get_date_modified( 'edit' ),
167
-				'post_excerpt'      => $discount->get_description( 'edit' ),
162
+				'post_date'         => $discount->get_date_created('edit'),
163
+				'post_status'       => $discount->get_status('edit'),
164
+				'post_title'        => $discount->get_name('edit'),
165
+				'post_author'       => $discount->get_author('edit'),
166
+				'post_modified'     => $discount->get_date_modified('edit'),
167
+				'post_excerpt'      => $discount->get_description('edit'),
168 168
 			);
169 169
 
170 170
 			/**
@@ -175,17 +175,17 @@  discard block
 block discarded – undo
175 175
 			 * This ensures hooks are fired by either WP itself (admin screen save),
176 176
 			 * or an update purely from CRUD.
177 177
 			 */
178
-			if ( doing_action( 'save_post' ) ) {
179
-				$GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $discount->get_id() ) );
180
-				clean_post_cache( $discount->get_id() );
178
+			if (doing_action('save_post')) {
179
+				$GLOBALS['wpdb']->update($GLOBALS['wpdb']->posts, $post_data, array('ID' => $discount->get_id()));
180
+				clean_post_cache($discount->get_id());
181 181
 			} else {
182
-				wp_update_post( array_merge( array( 'ID' => $discount->get_id() ), $post_data ) );
182
+				wp_update_post(array_merge(array('ID' => $discount->get_id()), $post_data));
183 183
 			}
184
-			$discount->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
184
+			$discount->read_meta_data(true); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
185 185
 		}
186
-		$this->update_post_meta( $discount );
186
+		$this->update_post_meta($discount);
187 187
 		$discount->apply_changes();
188
-		$this->clear_caches( $discount );
188
+		$this->clear_caches($discount);
189 189
 	}
190 190
 
191 191
 	/*
Please login to merge, or discard this patch.
includes/class-wpinv-discount.php 2 patches
Indentation   +1262 added lines, -1262 removed lines patch added patch discarded remove patch
@@ -15,30 +15,30 @@  discard block
 block discarded – undo
15 15
  */
16 16
 class WPInv_Discount extends GetPaid_Data  {
17 17
 
18
-	/**
19
-	 * Which data store to load.
20
-	 *
21
-	 * @var string
22
-	 */
18
+    /**
19
+     * Which data store to load.
20
+     *
21
+     * @var string
22
+     */
23 23
     protected $data_store_name = 'discount';
24 24
 
25 25
     /**
26
-	 * This is the name of this object type.
27
-	 *
28
-	 * @var string
29
-	 */
30
-	protected $object_type = 'discount';
31
-
32
-	/**
33
-	 * Discount Data array. This is the core item data exposed in APIs.
34
-	 *
35
-	 * @since 1.0.19
36
-	 * @var array
37
-	 */
38
-	protected $data = array(
39
-		'status'               => 'draft',
40
-		'version'              => '',
41
-		'date_created'         => null,
26
+     * This is the name of this object type.
27
+     *
28
+     * @var string
29
+     */
30
+    protected $object_type = 'discount';
31
+
32
+    /**
33
+     * Discount Data array. This is the core item data exposed in APIs.
34
+     *
35
+     * @since 1.0.19
36
+     * @var array
37
+     */
38
+    protected $data = array(
39
+        'status'               => 'draft',
40
+        'version'              => '',
41
+        'date_created'         => null,
42 42
         'date_modified'        => null,
43 43
         'name'                 => 'no-name',
44 44
         'description'          => null,
@@ -58,144 +58,144 @@  discard block
 block discarded – undo
58 58
         'amount'               => null,
59 59
     );
60 60
 
61
-	/**
62
-	 * Stores meta in cache for future reads.
63
-	 *
64
-	 * A group must be set to to enable caching.
65
-	 *
66
-	 * @var string
67
-	 */
68
-	protected $cache_group = 'getpaid_discounts';
61
+    /**
62
+     * Stores meta in cache for future reads.
63
+     *
64
+     * A group must be set to to enable caching.
65
+     *
66
+     * @var string
67
+     */
68
+    protected $cache_group = 'getpaid_discounts';
69 69
 
70 70
     /**
71 71
      * Stores a reference to the original WP_Post object
72 72
      *
73 73
      * @var WP_Post
74 74
      */
75
-	protected $post = null;
76
-
77
-	/**
78
-	 * Get the discount if ID is passed, otherwise the discount is new and empty.
79
-	 *
80
-	 * @param int|array|string|WPInv_Discount|WP_Post $discount discount data, object, ID or code.
81
-	 */
82
-	public function __construct( $discount = 0 ) {
83
-		parent::__construct( $discount );
84
-
85
-		if ( is_numeric( $discount ) && 'wpi_discount' === get_post_type( $discount ) ) {
86
-			$this->set_id( $discount );
87
-		} elseif ( $discount instanceof self ) {
88
-			$this->set_id( $discount->get_id() );
89
-		} elseif ( ! empty( $discount->ID ) ) {
90
-			$this->set_id( $discount->ID );
91
-		} elseif ( is_array( $discount ) ) {
92
-			$this->set_props( $discount );
93
-
94
-			if ( isset( $discount['ID'] ) ) {
95
-				$this->set_id( $discount['ID'] );
96
-			}
97
-
98
-		} elseif ( is_scalar( $discount ) && $discount = self::get_discount_id_by_code( $discount ) ) {
99
-			$this->set_id( $discount );
100
-		} else {
101
-			$this->set_object_read( true );
102
-		}
75
+    protected $post = null;
76
+
77
+    /**
78
+     * Get the discount if ID is passed, otherwise the discount is new and empty.
79
+     *
80
+     * @param int|array|string|WPInv_Discount|WP_Post $discount discount data, object, ID or code.
81
+     */
82
+    public function __construct( $discount = 0 ) {
83
+        parent::__construct( $discount );
84
+
85
+        if ( is_numeric( $discount ) && 'wpi_discount' === get_post_type( $discount ) ) {
86
+            $this->set_id( $discount );
87
+        } elseif ( $discount instanceof self ) {
88
+            $this->set_id( $discount->get_id() );
89
+        } elseif ( ! empty( $discount->ID ) ) {
90
+            $this->set_id( $discount->ID );
91
+        } elseif ( is_array( $discount ) ) {
92
+            $this->set_props( $discount );
93
+
94
+            if ( isset( $discount['ID'] ) ) {
95
+                $this->set_id( $discount['ID'] );
96
+            }
97
+
98
+        } elseif ( is_scalar( $discount ) && $discount = self::get_discount_id_by_code( $discount ) ) {
99
+            $this->set_id( $discount );
100
+        } else {
101
+            $this->set_object_read( true );
102
+        }
103 103
 
104 104
         // Load the datastore.
105
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
105
+        $this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
106 106
 
107
-		if ( $this->get_id() > 0 ) {
107
+        if ( $this->get_id() > 0 ) {
108 108
             $this->post = get_post( $this->get_id() );
109 109
             $this->ID   = $this->get_id();
110
-			$this->data_store->read( $this );
110
+            $this->data_store->read( $this );
111
+        }
112
+
113
+    }
114
+
115
+    /**
116
+     * Fetch a discount from the db/cache
117
+     *
118
+     *
119
+     * @static
120
+     * @param string $field The field to query against: 'ID', 'discount_code'
121
+     * @param string|int $value The field value
122
+     * @deprecated
123
+     * @since 1.0.15
124
+     * @return array|bool array of discount details on success. False otherwise.
125
+     */
126
+    public static function get_data_by( $field, $value ) {
127
+
128
+        if ( 'id' == strtolower( $field ) ) {
129
+            // Make sure the value is numeric to avoid casting objects, for example,
130
+            // to int 1.
131
+            if ( ! is_numeric( $value ) )
132
+                return false;
133
+            $value = intval( $value );
134
+            if ( $value < 1 )
135
+                return false;
136
+        }
137
+
138
+        if ( ! $value || ! is_string( $field ) ) {
139
+            return false;
140
+        }
141
+
142
+        $field = trim( $field );
143
+
144
+        // prepare query args
145
+        switch ( strtolower( $field ) ) {
146
+            case 'id':
147
+                $discount_id = $value;
148
+                $args		 = array( 'include' => array( $value ) );
149
+                break;
150
+            case 'discount_code':
151
+            case 'code':
152
+                $value       = trim( $value );
153
+                $discount_id = wp_cache_get( $value, 'WPInv_Discount_Codes' );
154
+                $args		 = array( 'meta_key' => '_wpi_discount_code', 'meta_value' => $value );
155
+                break;
156
+            case 'name':
157
+                $discount_id = 0;
158
+                $args		 = array( 'name' => trim( $value ) );
159
+                break;
160
+            default:
161
+                $args		 = apply_filters( "wpinv_discount_get_data_by_{$field}_args", null, $value );
162
+                if ( ! is_array( $args ) ) {
163
+                    return apply_filters( "wpinv_discount_get_data_by_$field", false, $value );
164
+                }
165
+
166
+        }
167
+
168
+        // Check if there is a cached value.
169
+        if ( ! empty( $discount_id ) && $discount = wp_cache_get( (int) $discount_id, 'WPInv_Discounts' ) ) {
170
+            return $discount;
171
+        }
172
+
173
+        $args = array_merge(
174
+            $args,
175
+            array(
176
+                'post_type'      => 'wpi_discount',
177
+                'posts_per_page' => 1,
178
+                'post_status'    => array( 'publish', 'pending', 'draft', 'expired' )
179
+            )
180
+        );
181
+
182
+        $discount = get_posts( $args );
183
+
184
+        if( empty( $discount ) ) {
185
+            return false;
111 186
         }
112 187
 
113
-	}
114
-
115
-	/**
116
-	 * Fetch a discount from the db/cache
117
-	 *
118
-	 *
119
-	 * @static
120
-	 * @param string $field The field to query against: 'ID', 'discount_code'
121
-	 * @param string|int $value The field value
122
-	 * @deprecated
123
-	 * @since 1.0.15
124
-	 * @return array|bool array of discount details on success. False otherwise.
125
-	 */
126
-	public static function get_data_by( $field, $value ) {
127
-
128
-		if ( 'id' == strtolower( $field ) ) {
129
-			// Make sure the value is numeric to avoid casting objects, for example,
130
-			// to int 1.
131
-			if ( ! is_numeric( $value ) )
132
-				return false;
133
-			$value = intval( $value );
134
-			if ( $value < 1 )
135
-				return false;
136
-		}
137
-
138
-		if ( ! $value || ! is_string( $field ) ) {
139
-			return false;
140
-		}
141
-
142
-		$field = trim( $field );
143
-
144
-		// prepare query args
145
-		switch ( strtolower( $field ) ) {
146
-			case 'id':
147
-				$discount_id = $value;
148
-				$args		 = array( 'include' => array( $value ) );
149
-				break;
150
-			case 'discount_code':
151
-			case 'code':
152
-				$value       = trim( $value );
153
-				$discount_id = wp_cache_get( $value, 'WPInv_Discount_Codes' );
154
-				$args		 = array( 'meta_key' => '_wpi_discount_code', 'meta_value' => $value );
155
-				break;
156
-			case 'name':
157
-				$discount_id = 0;
158
-				$args		 = array( 'name' => trim( $value ) );
159
-				break;
160
-			default:
161
-				$args		 = apply_filters( "wpinv_discount_get_data_by_{$field}_args", null, $value );
162
-				if ( ! is_array( $args ) ) {
163
-					return apply_filters( "wpinv_discount_get_data_by_$field", false, $value );
164
-				}
165
-
166
-		}
167
-
168
-		// Check if there is a cached value.
169
-		if ( ! empty( $discount_id ) && $discount = wp_cache_get( (int) $discount_id, 'WPInv_Discounts' ) ) {
170
-			return $discount;
171
-		}
172
-
173
-		$args = array_merge(
174
-			$args,
175
-			array(
176
-				'post_type'      => 'wpi_discount',
177
-				'posts_per_page' => 1,
178
-				'post_status'    => array( 'publish', 'pending', 'draft', 'expired' )
179
-			)
180
-		);
181
-
182
-		$discount = get_posts( $args );
183
-
184
-		if( empty( $discount ) ) {
185
-			return false;
186
-		}
187
-
188
-		$discount = $discount[0];
189
-
190
-		// Prepare the return data.
191
-		$return = array(
188
+        $discount = $discount[0];
189
+
190
+        // Prepare the return data.
191
+        $return = array(
192 192
             'ID'                          => $discount->ID,
193 193
             'code'                        => get_post_meta( $discount->ID, '_wpi_discount_code', true ),
194 194
             'amount'                      => get_post_meta( $discount->ID, '_wpi_discount_amount', true ),
195 195
             'date_created'                => $discount->post_date,
196
-			'date_modified'               => $discount->post_modified,
197
-			'status'               		  => $discount->post_status,
198
-			'start'                  	  => get_post_meta( $discount->ID, '_wpi_discount_start', true ),
196
+            'date_modified'               => $discount->post_modified,
197
+            'status'               		  => $discount->post_status,
198
+            'start'                  	  => get_post_meta( $discount->ID, '_wpi_discount_start', true ),
199 199
             'expiration'                  => get_post_meta( $discount->ID, '_wpi_discount_expiration', true ),
200 200
             'type'               		  => get_post_meta( $discount->ID, '_wpi_discount_type', true ),
201 201
             'description'                 => $discount->post_excerpt,
@@ -209,77 +209,77 @@  discard block
 block discarded – undo
209 209
             'max_total'                   => get_post_meta( $discount->ID, '_wpi_discount_max_total', true ),
210 210
         );
211 211
 
212
-		$return = apply_filters( 'wpinv_discount_properties', $return );
213
-
214
-		// Update the cache with our data
215
-		wp_cache_add( $discount->ID, $return, 'WPInv_Discounts' );
216
-		wp_cache_add( $return['code'], $discount->ID, 'WPInv_Discount_Codes' );
217
-
218
-		return $return;
219
-	}
220
-
221
-	/**
222
-	 * Given a discount code, it returns a discount id.
223
-	 *
224
-	 *
225
-	 * @static
226
-	 * @param string $discount_code
227
-	 * @since 1.0.15
228
-	 * @return int
229
-	 */
230
-	public static function get_discount_id_by_code( $discount_code ) {
231
-
232
-		// Trim the code.
233
-		$discount_code = trim( $discount_code );
234
-
235
-		// Ensure a value has been passed.
236
-		if ( empty( $discount_code ) ) {
237
-			return 0;
238
-		}
239
-
240
-		// Maybe retrieve from the cache.
241
-		$discount_id   = wp_cache_get( $discount_code, 'getpaid_discount_codes' );
242
-		if ( ! empty( $discount_id ) ) {
243
-			return $discount_id;
244
-		}
245
-
246
-		// Fetch the first discount codes.
247
-		$discounts = get_posts(
248
-			array(
249
-				'meta_key'       => '_wpi_discount_code',
250
-				'meta_value'     => $discount_code,
251
-				'post_type'      => 'wpi_discount',
252
-				'posts_per_page' => 1,
253
-				'post_status'    => array( 'publish', 'pending', 'draft', 'expired' ),
254
-				'fields'         => 'ids',
255
-			)
256
-		);
257
-
258
-		if ( empty( $discounts ) ) {
259
-			return 0;
260
-		}
261
-
262
-		$discount_id = $discounts[0];
263
-
264
-		// Update the cache with our data
265
-		wp_cache_add( get_post_meta( $discount_id, '_wpi_discount_code', true ), $discount_id, 'getpaid_discount_codes' );
266
-
267
-		return $discount_id;
268
-	}
269
-
270
-	/**
271
-	 * Magic method for checking the existence of a certain custom field.
272
-	 *
273
-	 * @since 1.0.15
274
-	 * @access public
275
-	 *
276
-	 * @return bool Whether the given discount field is set.
277
-	 */
278
-	public function __isset( $key ){
279
-		return isset( $this->data[$key] ) || method_exists( $this, "get_$key");
280
-	}
281
-
282
-	/*
212
+        $return = apply_filters( 'wpinv_discount_properties', $return );
213
+
214
+        // Update the cache with our data
215
+        wp_cache_add( $discount->ID, $return, 'WPInv_Discounts' );
216
+        wp_cache_add( $return['code'], $discount->ID, 'WPInv_Discount_Codes' );
217
+
218
+        return $return;
219
+    }
220
+
221
+    /**
222
+     * Given a discount code, it returns a discount id.
223
+     *
224
+     *
225
+     * @static
226
+     * @param string $discount_code
227
+     * @since 1.0.15
228
+     * @return int
229
+     */
230
+    public static function get_discount_id_by_code( $discount_code ) {
231
+
232
+        // Trim the code.
233
+        $discount_code = trim( $discount_code );
234
+
235
+        // Ensure a value has been passed.
236
+        if ( empty( $discount_code ) ) {
237
+            return 0;
238
+        }
239
+
240
+        // Maybe retrieve from the cache.
241
+        $discount_id   = wp_cache_get( $discount_code, 'getpaid_discount_codes' );
242
+        if ( ! empty( $discount_id ) ) {
243
+            return $discount_id;
244
+        }
245
+
246
+        // Fetch the first discount codes.
247
+        $discounts = get_posts(
248
+            array(
249
+                'meta_key'       => '_wpi_discount_code',
250
+                'meta_value'     => $discount_code,
251
+                'post_type'      => 'wpi_discount',
252
+                'posts_per_page' => 1,
253
+                'post_status'    => array( 'publish', 'pending', 'draft', 'expired' ),
254
+                'fields'         => 'ids',
255
+            )
256
+        );
257
+
258
+        if ( empty( $discounts ) ) {
259
+            return 0;
260
+        }
261
+
262
+        $discount_id = $discounts[0];
263
+
264
+        // Update the cache with our data
265
+        wp_cache_add( get_post_meta( $discount_id, '_wpi_discount_code', true ), $discount_id, 'getpaid_discount_codes' );
266
+
267
+        return $discount_id;
268
+    }
269
+
270
+    /**
271
+     * Magic method for checking the existence of a certain custom field.
272
+     *
273
+     * @since 1.0.15
274
+     * @access public
275
+     *
276
+     * @return bool Whether the given discount field is set.
277
+     */
278
+    public function __isset( $key ){
279
+        return isset( $this->data[$key] ) || method_exists( $this, "get_$key");
280
+    }
281
+
282
+    /*
283 283
 	|--------------------------------------------------------------------------
284 284
 	| CRUD methods
285 285
 	|--------------------------------------------------------------------------
@@ -294,399 +294,399 @@  discard block
 block discarded – undo
294 294
 	|--------------------------------------------------------------------------
295 295
 	*/
296 296
 
297
-	/**
298
-	 * Get discount status.
299
-	 *
300
-	 * @since 1.0.19
301
-	 * @param  string $context View or edit context.
302
-	 * @return string
303
-	 */
304
-	public function get_status( $context = 'view' ) {
305
-		return $this->get_prop( 'status', $context );
297
+    /**
298
+     * Get discount status.
299
+     *
300
+     * @since 1.0.19
301
+     * @param  string $context View or edit context.
302
+     * @return string
303
+     */
304
+    public function get_status( $context = 'view' ) {
305
+        return $this->get_prop( 'status', $context );
306 306
     }
307 307
 
308 308
     /**
309
-	 * Get plugin version when the discount was created.
310
-	 *
311
-	 * @since 1.0.19
312
-	 * @param  string $context View or edit context.
313
-	 * @return string
314
-	 */
315
-	public function get_version( $context = 'view' ) {
316
-		return $this->get_prop( 'version', $context );
309
+     * Get plugin version when the discount was created.
310
+     *
311
+     * @since 1.0.19
312
+     * @param  string $context View or edit context.
313
+     * @return string
314
+     */
315
+    public function get_version( $context = 'view' ) {
316
+        return $this->get_prop( 'version', $context );
317 317
     }
318 318
 
319 319
     /**
320
-	 * Get date when the discount was created.
321
-	 *
322
-	 * @since 1.0.19
323
-	 * @param  string $context View or edit context.
324
-	 * @return string
325
-	 */
326
-	public function get_date_created( $context = 'view' ) {
327
-		return $this->get_prop( 'date_created', $context );
320
+     * Get date when the discount was created.
321
+     *
322
+     * @since 1.0.19
323
+     * @param  string $context View or edit context.
324
+     * @return string
325
+     */
326
+    public function get_date_created( $context = 'view' ) {
327
+        return $this->get_prop( 'date_created', $context );
328 328
     }
329 329
 
330 330
     /**
331
-	 * Get GMT date when the discount was created.
332
-	 *
333
-	 * @since 1.0.19
334
-	 * @param  string $context View or edit context.
335
-	 * @return string
336
-	 */
337
-	public function get_date_created_gmt( $context = 'view' ) {
331
+     * Get GMT date when the discount was created.
332
+     *
333
+     * @since 1.0.19
334
+     * @param  string $context View or edit context.
335
+     * @return string
336
+     */
337
+    public function get_date_created_gmt( $context = 'view' ) {
338 338
         $date = $this->get_date_created( $context );
339 339
 
340 340
         if ( $date ) {
341 341
             $date = get_gmt_from_date( $date );
342 342
         }
343
-		return $date;
343
+        return $date;
344 344
     }
345 345
 
346 346
     /**
347
-	 * Get date when the discount was last modified.
348
-	 *
349
-	 * @since 1.0.19
350
-	 * @param  string $context View or edit context.
351
-	 * @return string
352
-	 */
353
-	public function get_date_modified( $context = 'view' ) {
354
-		return $this->get_prop( 'date_modified', $context );
347
+     * Get date when the discount was last modified.
348
+     *
349
+     * @since 1.0.19
350
+     * @param  string $context View or edit context.
351
+     * @return string
352
+     */
353
+    public function get_date_modified( $context = 'view' ) {
354
+        return $this->get_prop( 'date_modified', $context );
355 355
     }
356 356
 
357 357
     /**
358
-	 * Get GMT date when the discount was last modified.
359
-	 *
360
-	 * @since 1.0.19
361
-	 * @param  string $context View or edit context.
362
-	 * @return string
363
-	 */
364
-	public function get_date_modified_gmt( $context = 'view' ) {
358
+     * Get GMT date when the discount was last modified.
359
+     *
360
+     * @since 1.0.19
361
+     * @param  string $context View or edit context.
362
+     * @return string
363
+     */
364
+    public function get_date_modified_gmt( $context = 'view' ) {
365 365
         $date = $this->get_date_modified( $context );
366 366
 
367 367
         if ( $date ) {
368 368
             $date = get_gmt_from_date( $date );
369 369
         }
370
-		return $date;
370
+        return $date;
371 371
     }
372 372
 
373 373
     /**
374
-	 * Get the discount name.
375
-	 *
376
-	 * @since 1.0.19
377
-	 * @param  string $context View or edit context.
378
-	 * @return string
379
-	 */
380
-	public function get_name( $context = 'view' ) {
381
-		return $this->get_prop( 'name', $context );
374
+     * Get the discount name.
375
+     *
376
+     * @since 1.0.19
377
+     * @param  string $context View or edit context.
378
+     * @return string
379
+     */
380
+    public function get_name( $context = 'view' ) {
381
+        return $this->get_prop( 'name', $context );
382 382
     }
383 383
 
384 384
     /**
385
-	 * Alias of self::get_name().
386
-	 *
387
-	 * @since 1.0.19
388
-	 * @param  string $context View or edit context.
389
-	 * @return string
390
-	 */
391
-	public function get_title( $context = 'view' ) {
392
-		return $this->get_name( $context );
385
+     * Alias of self::get_name().
386
+     *
387
+     * @since 1.0.19
388
+     * @param  string $context View or edit context.
389
+     * @return string
390
+     */
391
+    public function get_title( $context = 'view' ) {
392
+        return $this->get_name( $context );
393 393
     }
394 394
 
395 395
     /**
396
-	 * Get the discount description.
397
-	 *
398
-	 * @since 1.0.19
399
-	 * @param  string $context View or edit context.
400
-	 * @return string
401
-	 */
402
-	public function get_description( $context = 'view' ) {
403
-		return $this->get_prop( 'description', $context );
396
+     * Get the discount description.
397
+     *
398
+     * @since 1.0.19
399
+     * @param  string $context View or edit context.
400
+     * @return string
401
+     */
402
+    public function get_description( $context = 'view' ) {
403
+        return $this->get_prop( 'description', $context );
404 404
     }
405 405
 
406 406
     /**
407
-	 * Alias of self::get_description().
408
-	 *
409
-	 * @since 1.0.19
410
-	 * @param  string $context View or edit context.
411
-	 * @return string
412
-	 */
413
-	public function get_excerpt( $context = 'view' ) {
414
-		return $this->get_description( $context );
407
+     * Alias of self::get_description().
408
+     *
409
+     * @since 1.0.19
410
+     * @param  string $context View or edit context.
411
+     * @return string
412
+     */
413
+    public function get_excerpt( $context = 'view' ) {
414
+        return $this->get_description( $context );
415 415
     }
416 416
 
417 417
     /**
418
-	 * Alias of self::get_description().
419
-	 *
420
-	 * @since 1.0.19
421
-	 * @param  string $context View or edit context.
422
-	 * @return string
423
-	 */
424
-	public function get_summary( $context = 'view' ) {
425
-		return $this->get_description( $context );
418
+     * Alias of self::get_description().
419
+     *
420
+     * @since 1.0.19
421
+     * @param  string $context View or edit context.
422
+     * @return string
423
+     */
424
+    public function get_summary( $context = 'view' ) {
425
+        return $this->get_description( $context );
426 426
     }
427 427
 
428 428
     /**
429
-	 * Get the owner of the discount.
430
-	 *
431
-	 * @since 1.0.19
432
-	 * @param  string $context View or edit context.
433
-	 * @return string
434
-	 */
435
-	public function get_author( $context = 'view' ) {
436
-		return (int) $this->get_prop( 'author', $context );
437
-	}
429
+     * Get the owner of the discount.
430
+     *
431
+     * @since 1.0.19
432
+     * @param  string $context View or edit context.
433
+     * @return string
434
+     */
435
+    public function get_author( $context = 'view' ) {
436
+        return (int) $this->get_prop( 'author', $context );
437
+    }
438 438
 	
439
-	/**
440
-	 * Get the discount code.
441
-	 *
442
-	 * @since 1.0.19
443
-	 * @param  string $context View or edit context.
444
-	 * @return string
445
-	 */
446
-	public function get_code( $context = 'view' ) {
447
-		return $this->get_prop( 'code', $context );
448
-	}
439
+    /**
440
+     * Get the discount code.
441
+     *
442
+     * @since 1.0.19
443
+     * @param  string $context View or edit context.
444
+     * @return string
445
+     */
446
+    public function get_code( $context = 'view' ) {
447
+        return $this->get_prop( 'code', $context );
448
+    }
449 449
 	
450
-	/**
451
-	 * Alias for self::get_code().
452
-	 *
453
-	 * @since 1.0.19
454
-	 * @param  string $context View or edit context.
455
-	 * @return string
456
-	 */
457
-	public function get_coupon_code( $context = 'view' ) {
458
-		return $this->get_code( $context );
459
-	}
450
+    /**
451
+     * Alias for self::get_code().
452
+     *
453
+     * @since 1.0.19
454
+     * @param  string $context View or edit context.
455
+     * @return string
456
+     */
457
+    public function get_coupon_code( $context = 'view' ) {
458
+        return $this->get_code( $context );
459
+    }
460 460
 	
461
-	/**
462
-	 * Alias for self::get_code().
463
-	 *
464
-	 * @since 1.0.19
465
-	 * @param  string $context View or edit context.
466
-	 * @return string
467
-	 */
468
-	public function get_discount_code( $context = 'view' ) {
469
-		return $this->get_code( $context );
470
-	}
461
+    /**
462
+     * Alias for self::get_code().
463
+     *
464
+     * @since 1.0.19
465
+     * @param  string $context View or edit context.
466
+     * @return string
467
+     */
468
+    public function get_discount_code( $context = 'view' ) {
469
+        return $this->get_code( $context );
470
+    }
471 471
 	
472
-	/**
473
-	 * Get the discount's amount.
474
-	 *
475
-	 * @since 1.0.19
476
-	 * @param  string $context View or edit context.
477
-	 * @return float
478
-	 */
479
-	public function get_amount( $context = 'view' ) {
480
-		return $this->get_prop( 'amount', $context );
481
-	}
472
+    /**
473
+     * Get the discount's amount.
474
+     *
475
+     * @since 1.0.19
476
+     * @param  string $context View or edit context.
477
+     * @return float
478
+     */
479
+    public function get_amount( $context = 'view' ) {
480
+        return $this->get_prop( 'amount', $context );
481
+    }
482 482
 	
483
-	/**
484
-	 * Get the discount's start date.
485
-	 *
486
-	 * @since 1.0.19
487
-	 * @param  string $context View or edit context.
488
-	 * @return string
489
-	 */
490
-	public function get_start( $context = 'view' ) {
491
-		return $this->get_prop( 'start', $context );
492
-	}
483
+    /**
484
+     * Get the discount's start date.
485
+     *
486
+     * @since 1.0.19
487
+     * @param  string $context View or edit context.
488
+     * @return string
489
+     */
490
+    public function get_start( $context = 'view' ) {
491
+        return $this->get_prop( 'start', $context );
492
+    }
493 493
 	
494
-	/**
495
-	 * Alias for self::get_start().
496
-	 *
497
-	 * @since 1.0.19
498
-	 * @param  string $context View or edit context.
499
-	 * @return string
500
-	 */
501
-	public function get_start_date( $context = 'view' ) {
502
-		return $this->get_start( $context );
503
-	}
494
+    /**
495
+     * Alias for self::get_start().
496
+     *
497
+     * @since 1.0.19
498
+     * @param  string $context View or edit context.
499
+     * @return string
500
+     */
501
+    public function get_start_date( $context = 'view' ) {
502
+        return $this->get_start( $context );
503
+    }
504 504
 	
505
-	/**
506
-	 * Get the discount's expiration date.
507
-	 *
508
-	 * @since 1.0.19
509
-	 * @param  string $context View or edit context.
510
-	 * @return string
511
-	 */
512
-	public function get_expiration( $context = 'view' ) {
513
-		return $this->get_prop( 'expiration', $context );
514
-	}
505
+    /**
506
+     * Get the discount's expiration date.
507
+     *
508
+     * @since 1.0.19
509
+     * @param  string $context View or edit context.
510
+     * @return string
511
+     */
512
+    public function get_expiration( $context = 'view' ) {
513
+        return $this->get_prop( 'expiration', $context );
514
+    }
515 515
 	
516
-	/**
517
-	 * Alias for self::get_expiration().
518
-	 *
519
-	 * @since 1.0.19
520
-	 * @param  string $context View or edit context.
521
-	 * @return string
522
-	 */
523
-	public function get_expiration_date( $context = 'view' ) {
524
-		return $this->get_expiration( $context );
525
-	}
526
-
527
-	/**
528
-	 * Alias for self::get_expiration().
529
-	 *
530
-	 * @since 1.0.19
531
-	 * @param  string $context View or edit context.
532
-	 * @return string
533
-	 */
534
-	public function get_end_date( $context = 'view' ) {
535
-		return $this->get_expiration( $context );
536
-	}
516
+    /**
517
+     * Alias for self::get_expiration().
518
+     *
519
+     * @since 1.0.19
520
+     * @param  string $context View or edit context.
521
+     * @return string
522
+     */
523
+    public function get_expiration_date( $context = 'view' ) {
524
+        return $this->get_expiration( $context );
525
+    }
526
+
527
+    /**
528
+     * Alias for self::get_expiration().
529
+     *
530
+     * @since 1.0.19
531
+     * @param  string $context View or edit context.
532
+     * @return string
533
+     */
534
+    public function get_end_date( $context = 'view' ) {
535
+        return $this->get_expiration( $context );
536
+    }
537 537
 	
538
-	/**
539
-	 * Get the discount's type.
540
-	 *
541
-	 * @since 1.0.19
542
-	 * @param  string $context View or edit context.
543
-	 * @return string
544
-	 */
545
-	public function get_type( $context = 'view' ) {
546
-		return $this->get_prop( 'type', $context );
547
-	}
548
-
549
-	/**
550
-	 * Get the number of times a discount has been used.
551
-	 *
552
-	 * @since 1.0.19
553
-	 * @param  string $context View or edit context.
554
-	 * @return int
555
-	 */
556
-	public function get_uses( $context = 'view' ) {
557
-		return (int) $this->get_prop( 'uses', $context );
558
-	}
559
-
560
-	/**
561
-	 * Get the maximum number of time a discount can be used.
562
-	 *
563
-	 * @since 1.0.19
564
-	 * @param  string $context View or edit context.
565
-	 * @return int
566
-	 */
567
-	public function get_max_uses( $context = 'view' ) {
568
-		return $this->get_prop( 'max_uses', $context );
569
-	}
570
-
571
-	/**
572
-	 * Checks if this is a single use discount or not.
573
-	 *
574
-	 * @since 1.0.19
575
-	 * @param  string $context View or edit context.
576
-	 * @return bool
577
-	 */
578
-	public function get_is_single_use( $context = 'view' ) {
579
-		return $this->get_prop( 'is_single_use', $context );
580
-	}
581
-
582
-	/**
583
-	 * Get the items that can be used with this discount.
584
-	 *
585
-	 * @since 1.0.19
586
-	 * @param  string $context View or edit context.
587
-	 * @return array
588
-	 */
589
-	public function get_items( $context = 'view' ) {
590
-		return wpinv_parse_list( $this->get_prop( 'items', $context ) );
591
-	}
592
-
593
-	/**
594
-	 * Alias for self::get_items().
595
-	 *
596
-	 * @since 1.0.19
597
-	 * @param  string $context View or edit context.
598
-	 * @return array
599
-	 */
600
-	public function get_allowed_items( $context = 'view' ) {
601
-		return $this->get_items( $context );
602
-	}
603
-
604
-	/**
605
-	 * Get the items that are not allowed to use this discount.
606
-	 *
607
-	 * @since 1.0.19
608
-	 * @param  string $context View or edit context.
609
-	 * @return array
610
-	 */
611
-	public function get_excluded_items( $context = 'view' ) {
612
-		return wpinv_parse_list( $this->get_prop( 'excluded_items', $context ) );
613
-	}
614
-
615
-	/**
616
-	 * Checks if this is a recurring discount or not.
617
-	 *
618
-	 * @since 1.0.19
619
-	 * @param  string $context View or edit context.
620
-	 * @return int|string|bool
621
-	 */
622
-	public function get_is_recurring( $context = 'view' ) {
623
-		return $this->get_prop( 'is_recurring', $context );
624
-	}
625
-
626
-	/**
627
-	 * Get's the minimum total amount allowed for this discount.
628
-	 *
629
-	 * @since 1.0.19
630
-	 * @param  string $context View or edit context.
631
-	 * @return float
632
-	 */
633
-	public function get_min_total( $context = 'view' ) {
634
-		return $this->get_prop( 'min_total', $context );
635
-	}
636
-
637
-	/**
638
-	 * Alias for self::get_min_total().
639
-	 *
640
-	 * @since 1.0.19
641
-	 * @param  string $context View or edit context.
642
-	 * @return float
643
-	 */
644
-	public function get_minimum_total( $context = 'view' ) {
645
-		return $this->get_min_total( $context );
646
-	}
647
-
648
-	/**
649
-	 * Get's the maximum total amount allowed for this discount.
650
-	 *
651
-	 * @since 1.0.19
652
-	 * @param  string $context View or edit context.
653
-	 * @return float
654
-	 */
655
-	public function get_max_total( $context = 'view' ) {
656
-		return $this->get_prop( 'max_total', $context );
657
-	}
658
-
659
-	/**
660
-	 * Alias for self::get_max_total().
661
-	 *
662
-	 * @since 1.0.19
663
-	 * @param  string $context View or edit context.
664
-	 * @return float
665
-	 */
666
-	public function get_maximum_total( $context = 'view' ) {
667
-		return $this->get_max_total( $context );
668
-	}
669
-
670
-	/**
538
+    /**
539
+     * Get the discount's type.
540
+     *
541
+     * @since 1.0.19
542
+     * @param  string $context View or edit context.
543
+     * @return string
544
+     */
545
+    public function get_type( $context = 'view' ) {
546
+        return $this->get_prop( 'type', $context );
547
+    }
548
+
549
+    /**
550
+     * Get the number of times a discount has been used.
551
+     *
552
+     * @since 1.0.19
553
+     * @param  string $context View or edit context.
554
+     * @return int
555
+     */
556
+    public function get_uses( $context = 'view' ) {
557
+        return (int) $this->get_prop( 'uses', $context );
558
+    }
559
+
560
+    /**
561
+     * Get the maximum number of time a discount can be used.
562
+     *
563
+     * @since 1.0.19
564
+     * @param  string $context View or edit context.
565
+     * @return int
566
+     */
567
+    public function get_max_uses( $context = 'view' ) {
568
+        return $this->get_prop( 'max_uses', $context );
569
+    }
570
+
571
+    /**
572
+     * Checks if this is a single use discount or not.
573
+     *
574
+     * @since 1.0.19
575
+     * @param  string $context View or edit context.
576
+     * @return bool
577
+     */
578
+    public function get_is_single_use( $context = 'view' ) {
579
+        return $this->get_prop( 'is_single_use', $context );
580
+    }
581
+
582
+    /**
583
+     * Get the items that can be used with this discount.
584
+     *
585
+     * @since 1.0.19
586
+     * @param  string $context View or edit context.
587
+     * @return array
588
+     */
589
+    public function get_items( $context = 'view' ) {
590
+        return wpinv_parse_list( $this->get_prop( 'items', $context ) );
591
+    }
592
+
593
+    /**
594
+     * Alias for self::get_items().
595
+     *
596
+     * @since 1.0.19
597
+     * @param  string $context View or edit context.
598
+     * @return array
599
+     */
600
+    public function get_allowed_items( $context = 'view' ) {
601
+        return $this->get_items( $context );
602
+    }
603
+
604
+    /**
605
+     * Get the items that are not allowed to use this discount.
606
+     *
607
+     * @since 1.0.19
608
+     * @param  string $context View or edit context.
609
+     * @return array
610
+     */
611
+    public function get_excluded_items( $context = 'view' ) {
612
+        return wpinv_parse_list( $this->get_prop( 'excluded_items', $context ) );
613
+    }
614
+
615
+    /**
616
+     * Checks if this is a recurring discount or not.
617
+     *
618
+     * @since 1.0.19
619
+     * @param  string $context View or edit context.
620
+     * @return int|string|bool
621
+     */
622
+    public function get_is_recurring( $context = 'view' ) {
623
+        return $this->get_prop( 'is_recurring', $context );
624
+    }
625
+
626
+    /**
627
+     * Get's the minimum total amount allowed for this discount.
628
+     *
629
+     * @since 1.0.19
630
+     * @param  string $context View or edit context.
631
+     * @return float
632
+     */
633
+    public function get_min_total( $context = 'view' ) {
634
+        return $this->get_prop( 'min_total', $context );
635
+    }
636
+
637
+    /**
638
+     * Alias for self::get_min_total().
639
+     *
640
+     * @since 1.0.19
641
+     * @param  string $context View or edit context.
642
+     * @return float
643
+     */
644
+    public function get_minimum_total( $context = 'view' ) {
645
+        return $this->get_min_total( $context );
646
+    }
647
+
648
+    /**
649
+     * Get's the maximum total amount allowed for this discount.
650
+     *
651
+     * @since 1.0.19
652
+     * @param  string $context View or edit context.
653
+     * @return float
654
+     */
655
+    public function get_max_total( $context = 'view' ) {
656
+        return $this->get_prop( 'max_total', $context );
657
+    }
658
+
659
+    /**
660
+     * Alias for self::get_max_total().
661
+     *
662
+     * @since 1.0.19
663
+     * @param  string $context View or edit context.
664
+     * @return float
665
+     */
666
+    public function get_maximum_total( $context = 'view' ) {
667
+        return $this->get_max_total( $context );
668
+    }
669
+
670
+    /**
671 671
      * Margic method for retrieving a property.
672 672
      */
673 673
     public function __get( $key ) {
674 674
         return $this->get( $key );
675 675
     }
676 676
 
677
-	/**
678
-	 * Magic method for accessing discount properties.
679
-	 *
680
-	 * @since 1.0.15
681
-	 * @access public
682
-	 *
683
-	 * @param string $key Discount data to retrieve
684
-	 * @param  string $context View or edit context.
685
-	 * @return mixed Value of the given discount property (if set).
686
-	 */
687
-	public function get( $key, $context = 'view' ) {
677
+    /**
678
+     * Magic method for accessing discount properties.
679
+     *
680
+     * @since 1.0.15
681
+     * @access public
682
+     *
683
+     * @param string $key Discount data to retrieve
684
+     * @param  string $context View or edit context.
685
+     * @return mixed Value of the given discount property (if set).
686
+     */
687
+    public function get( $key, $context = 'view' ) {
688 688
 
689
-		// Check if we have a helper method for that.
689
+        // Check if we have a helper method for that.
690 690
         if ( method_exists( $this, 'get_' . $key ) ) {
691 691
             return call_user_func( array( $this, 'get_' . $key ), $context );
692 692
         }
@@ -698,9 +698,9 @@  discard block
 block discarded – undo
698 698
 
699 699
         return $this->get_prop( $key, $context );
700 700
 
701
-	}
701
+    }
702 702
 
703
-	/*
703
+    /*
704 704
 	|--------------------------------------------------------------------------
705 705
 	| Setters
706 706
 	|--------------------------------------------------------------------------
@@ -710,41 +710,41 @@  discard block
 block discarded – undo
710 710
 	| object.
711 711
 	*/
712 712
 	
713
-	/**
714
-	 * Sets discount status.
715
-	 *
716
-	 * @since 1.0.19
717
-	 * @param  string $status New status.
718
-	 * @return array details of change.
719
-	 */
720
-	public function set_status( $status ) {
713
+    /**
714
+     * Sets discount status.
715
+     *
716
+     * @since 1.0.19
717
+     * @param  string $status New status.
718
+     * @return array details of change.
719
+     */
720
+    public function set_status( $status ) {
721 721
         $old_status = $this->get_status();
722 722
 
723 723
         $this->set_prop( 'status', $status );
724 724
 
725
-		return array(
726
-			'from' => $old_status,
727
-			'to'   => $status,
728
-		);
725
+        return array(
726
+            'from' => $old_status,
727
+            'to'   => $status,
728
+        );
729 729
     }
730 730
 
731 731
     /**
732
-	 * Set plugin version when the discount was created.
733
-	 *
734
-	 * @since 1.0.19
735
-	 */
736
-	public function set_version( $value ) {
737
-		$this->set_prop( 'version', $value );
732
+     * Set plugin version when the discount was created.
733
+     *
734
+     * @since 1.0.19
735
+     */
736
+    public function set_version( $value ) {
737
+        $this->set_prop( 'version', $value );
738 738
     }
739 739
 
740 740
     /**
741
-	 * Set date when the discount was created.
742
-	 *
743
-	 * @since 1.0.19
744
-	 * @param string $value Value to set.
741
+     * Set date when the discount was created.
742
+     *
743
+     * @since 1.0.19
744
+     * @param string $value Value to set.
745 745
      * @return bool Whether or not the date was set.
746
-	 */
747
-	public function set_date_created( $value ) {
746
+     */
747
+    public function set_date_created( $value ) {
748 748
         $date = strtotime( $value );
749 749
 
750 750
         if ( $date ) {
@@ -757,13 +757,13 @@  discard block
 block discarded – undo
757 757
     }
758 758
 
759 759
     /**
760
-	 * Set date when the discount was last modified.
761
-	 *
762
-	 * @since 1.0.19
763
-	 * @param string $value Value to set.
760
+     * Set date when the discount was last modified.
761
+     *
762
+     * @since 1.0.19
763
+     * @param string $value Value to set.
764 764
      * @return bool Whether or not the date was set.
765
-	 */
766
-	public function set_date_modified( $value ) {
765
+     */
766
+    public function set_date_modified( $value ) {
767 767
         $date = strtotime( $value );
768 768
 
769 769
         if ( $date ) {
@@ -776,345 +776,345 @@  discard block
 block discarded – undo
776 776
     }
777 777
 
778 778
     /**
779
-	 * Set the discount name.
780
-	 *
781
-	 * @since 1.0.19
782
-	 * @param  string $value New name.
783
-	 */
784
-	public function set_name( $value ) {
779
+     * Set the discount name.
780
+     *
781
+     * @since 1.0.19
782
+     * @param  string $value New name.
783
+     */
784
+    public function set_name( $value ) {
785 785
         $name = sanitize_text_field( $value );
786
-		$this->set_prop( 'name', $name );
786
+        $this->set_prop( 'name', $name );
787 787
     }
788 788
 
789 789
     /**
790
-	 * Alias of self::set_name().
791
-	 *
792
-	 * @since 1.0.19
793
-	 * @param  string $value New name.
794
-	 */
795
-	public function set_title( $value ) {
796
-		$this->set_name( $value );
790
+     * Alias of self::set_name().
791
+     *
792
+     * @since 1.0.19
793
+     * @param  string $value New name.
794
+     */
795
+    public function set_title( $value ) {
796
+        $this->set_name( $value );
797 797
     }
798 798
 
799 799
     /**
800
-	 * Set the discount description.
801
-	 *
802
-	 * @since 1.0.19
803
-	 * @param  string $value New description.
804
-	 */
805
-	public function set_description( $value ) {
800
+     * Set the discount description.
801
+     *
802
+     * @since 1.0.19
803
+     * @param  string $value New description.
804
+     */
805
+    public function set_description( $value ) {
806 806
         $description = wp_kses_post( $value );
807
-		return $this->set_prop( 'description', $description );
807
+        return $this->set_prop( 'description', $description );
808 808
     }
809 809
 
810 810
     /**
811
-	 * Alias of self::set_description().
812
-	 *
813
-	 * @since 1.0.19
814
-	 * @param  string $value New description.
815
-	 */
816
-	public function set_excerpt( $value ) {
817
-		$this->set_description( $value );
811
+     * Alias of self::set_description().
812
+     *
813
+     * @since 1.0.19
814
+     * @param  string $value New description.
815
+     */
816
+    public function set_excerpt( $value ) {
817
+        $this->set_description( $value );
818 818
     }
819 819
 
820 820
     /**
821
-	 * Alias of self::set_description().
822
-	 *
823
-	 * @since 1.0.19
824
-	 * @param  string $value New description.
825
-	 */
826
-	public function set_summary( $value ) {
827
-		$this->set_description( $value );
821
+     * Alias of self::set_description().
822
+     *
823
+     * @since 1.0.19
824
+     * @param  string $value New description.
825
+     */
826
+    public function set_summary( $value ) {
827
+        $this->set_description( $value );
828 828
     }
829 829
 
830 830
     /**
831
-	 * Set the owner of the discount.
832
-	 *
833
-	 * @since 1.0.19
834
-	 * @param  int $value New author.
835
-	 */
836
-	public function set_author( $value ) {
837
-		$this->set_prop( 'author', (int) $value );
838
-	}
831
+     * Set the owner of the discount.
832
+     *
833
+     * @since 1.0.19
834
+     * @param  int $value New author.
835
+     */
836
+    public function set_author( $value ) {
837
+        $this->set_prop( 'author', (int) $value );
838
+    }
839 839
 	
840
-	/**
841
-	 * Sets the discount code.
842
-	 *
843
-	 * @since 1.0.19
844
-	 * @param string $value New discount code.
845
-	 */
846
-	public function set_code( $value ) {
847
-		$code = sanitize_text_field( $value );
848
-		$this->set_prop( 'author', $code );
849
-	}
840
+    /**
841
+     * Sets the discount code.
842
+     *
843
+     * @since 1.0.19
844
+     * @param string $value New discount code.
845
+     */
846
+    public function set_code( $value ) {
847
+        $code = sanitize_text_field( $value );
848
+        $this->set_prop( 'author', $code );
849
+    }
850 850
 	
851
-	/**
852
-	 * Alias of self::set_code().
853
-	 *
854
-	 * @since 1.0.19
855
-	 * @param string $value New discount code.
856
-	 */
857
-	public function set_coupon_code( $value ) {
858
-		$this->set_code( $value );
859
-	}
851
+    /**
852
+     * Alias of self::set_code().
853
+     *
854
+     * @since 1.0.19
855
+     * @param string $value New discount code.
856
+     */
857
+    public function set_coupon_code( $value ) {
858
+        $this->set_code( $value );
859
+    }
860 860
 	
861
-	/**
862
-	 * Alias of self::set_code().
863
-	 *
864
-	 * @since 1.0.19
865
-	 * @param string $value New discount code.
866
-	 */
867
-	public function set_discount_code( $value ) {
868
-		$this->set_code( $value );
869
-	}
861
+    /**
862
+     * Alias of self::set_code().
863
+     *
864
+     * @since 1.0.19
865
+     * @param string $value New discount code.
866
+     */
867
+    public function set_discount_code( $value ) {
868
+        $this->set_code( $value );
869
+    }
870 870
 	
871
-	/**
872
-	 * Sets the discount amount.
873
-	 *
874
-	 * @since 1.0.19
875
-	 * @param float $value New discount code.
876
-	 */
877
-	public function set_amount( $value ) {
878
-		$amount = floatval( wpinv_sanitize_amount( $value ) );
879
-		$this->set_prop( 'amount', $amount );
880
-	}
881
-
882
-	/**
883
-	 * Sets the discount's start date.
884
-	 *
885
-	 * @since 1.0.19
886
-	 * @param float $value New start date.
887
-	 */
888
-	public function set_start( $value ) {
889
-		$date = strtotime( $value );
871
+    /**
872
+     * Sets the discount amount.
873
+     *
874
+     * @since 1.0.19
875
+     * @param float $value New discount code.
876
+     */
877
+    public function set_amount( $value ) {
878
+        $amount = floatval( wpinv_sanitize_amount( $value ) );
879
+        $this->set_prop( 'amount', $amount );
880
+    }
881
+
882
+    /**
883
+     * Sets the discount's start date.
884
+     *
885
+     * @since 1.0.19
886
+     * @param float $value New start date.
887
+     */
888
+    public function set_start( $value ) {
889
+        $date = strtotime( $value );
890 890
 
891 891
         if ( $date ) {
892 892
             $this->set_prop( 'start', date( 'Y-m-d H:i:s', $date ) );
893 893
             return true;
894
-		}
894
+        }
895 895
 		
896
-		$this->set_prop( 'expiration', '' );
896
+        $this->set_prop( 'expiration', '' );
897 897
 
898 898
         return false;
899
-	}
900
-
901
-	/**
902
-	 * Alias of self::set_start().
903
-	 *
904
-	 * @since 1.0.19
905
-	 * @param string $value New start date.
906
-	 */
907
-	public function set_start_date( $value ) {
908
-		$this->set_start( $value );
909
-	}
910
-
911
-	/**
912
-	 * Sets the discount's expiration date.
913
-	 *
914
-	 * @since 1.0.19
915
-	 * @param float $value New expiration date.
916
-	 */
917
-	public function set_expiration( $value ) {
918
-		$date = strtotime( $value );
899
+    }
900
+
901
+    /**
902
+     * Alias of self::set_start().
903
+     *
904
+     * @since 1.0.19
905
+     * @param string $value New start date.
906
+     */
907
+    public function set_start_date( $value ) {
908
+        $this->set_start( $value );
909
+    }
910
+
911
+    /**
912
+     * Sets the discount's expiration date.
913
+     *
914
+     * @since 1.0.19
915
+     * @param float $value New expiration date.
916
+     */
917
+    public function set_expiration( $value ) {
918
+        $date = strtotime( $value );
919 919
 
920 920
         if ( $date ) {
921 921
             $this->set_prop( 'expiration', date( 'Y-m-d H:i:s', $date ) );
922 922
             return true;
923 923
         }
924 924
 
925
-		$this->set_prop( 'expiration', '' );
925
+        $this->set_prop( 'expiration', '' );
926 926
         return false;
927
-	}
928
-
929
-	/**
930
-	 * Alias of self::set_expiration().
931
-	 *
932
-	 * @since 1.0.19
933
-	 * @param string $value New expiration date.
934
-	 */
935
-	public function set_expiration_date( $value ) {
936
-		$this->set_expiration( $value );
937
-	}
938
-
939
-	/**
940
-	 * Alias of self::set_expiration().
941
-	 *
942
-	 * @since 1.0.19
943
-	 * @param string $value New expiration date.
944
-	 */
945
-	public function set_end_date( $value ) {
946
-		$this->set_expiration( $value );
947
-	}
948
-
949
-	/**
950
-	 * Sets the discount type.
951
-	 *
952
-	 * @since 1.0.19
953
-	 * @param string $value New discount type.
954
-	 */
955
-	public function set_type( $value ) {
956
-		$this->set_prop( 'type', $value );
957
-	}
958
-
959
-	/**
960
-	 * Sets the number of times a discount has been used.
961
-	 *
962
-	 * @since 1.0.19
963
-	 * @param int $value usage count.
964
-	 */
965
-	public function set_uses( $value ) {
966
-
967
-		$value = (int) $value;
968
-
969
-		if ( $value < 0 ) {
970
-			$value = 0;
971
-		}
972
-
973
-		$this->set_prop( 'uses', (int) $value );
974
-	}
975
-
976
-	/**
977
-	 * Sets the maximum number of times a discount can be used.
978
-	 *
979
-	 * @since 1.0.19
980
-	 * @param int $value maximum usage count.
981
-	 */
982
-	public function set_max_uses( $value ) {
983
-		$this->set_prop( 'max_uses', (int) $value );
984
-	}
985
-
986
-	/**
987
-	 * Sets if this is a single use discount or not.
988
-	 *
989
-	 * @since 1.0.19
990
-	 * @param int|bool $value is single use.
991
-	 */
992
-	public function set_is_single_use( $value ) {
993
-		$this->set_prop( 'is_single_use', (bool) $value );
994
-	}
995
-
996
-	/**
997
-	 * Sets the items that can be used with this discount.
998
-	 *
999
-	 * @since 1.0.19
1000
-	 * @param array $value items.
1001
-	 */
1002
-	public function set_items( $value ) {
1003
-		$this->set_prop( 'items', wpinv_parse_list( $value ) );
1004
-	}
1005
-
1006
-	/**
1007
-	 * Alias for self::set_items().
1008
-	 *
1009
-	 * @since 1.0.19
1010
-	 * @param array $value items.
1011
-	 */
1012
-	public function set_allowed_items( $value ) {
1013
-		$this->set_items( $value );
1014
-	}
1015
-
1016
-	/**
1017
-	 * Sets the items that can not be used with this discount.
1018
-	 *
1019
-	 * @since 1.0.19
1020
-	 * @param array $value items.
1021
-	 */
1022
-	public function set_excluded_items( $value ) {
1023
-		$this->set_prop( 'excluded_items', wpinv_parse_list( $value ) );
1024
-	}
1025
-
1026
-	/**
1027
-	 * Sets if this is a recurring discounts or not.
1028
-	 *
1029
-	 * @since 1.0.19
1030
-	 * @param int|bool $value is recurring.
1031
-	 */
1032
-	public function set_is_recurring( $value ) {
1033
-		$this->set_prop( 'is_recurring', (bool) $value );
1034
-	}
1035
-
1036
-	/**
1037
-	 * Sets the minimum total that can not be used with this discount.
1038
-	 *
1039
-	 * @since 1.0.19
1040
-	 * @param float $value minimum total.
1041
-	 */
1042
-	public function set_min_total( $value ) {
1043
-		$this->set_prop( 'min_total', (float) wpinv_sanitize_amount( $value ) );
1044
-	}
1045
-
1046
-	/**
1047
-	 * Alias for self::set_min_total().
1048
-	 *
1049
-	 * @since 1.0.19
1050
-	 * @param float $value minimum total.
1051
-	 */
1052
-	public function set_minimum_total( $value ) {
1053
-		$this->set_min_total( $value );
1054
-	}
1055
-
1056
-	/**
1057
-	 * Sets the maximum total that can not be used with this discount.
1058
-	 *
1059
-	 * @since 1.0.19
1060
-	 * @param float $value maximum total.
1061
-	 */
1062
-	public function set_max_total( $value ) {
1063
-		$this->set_prop( 'max_total', (float) wpinv_sanitize_amount( $value ) );
1064
-	}
1065
-
1066
-	/**
1067
-	 * Alias for self::set_max_total().
1068
-	 *
1069
-	 * @since 1.0.19
1070
-	 * @param float $value maximum total.
1071
-	 */
1072
-	public function set_maximum_total( $value ) {
1073
-		$this->set_max_total( $value );
1074
-	}
1075
-
1076
-	/**
1077
-	 * Magic method for setting discount fields.
1078
-	 *
1079
-	 * This method does not update custom fields in the database.
1080
-	 *
1081
-	 * @since 1.0.15
1082
-	 * @access public
1083
-	 *
1084
-	 */
1085
-	public function __set( $key, $value ) {
1086
-
1087
-		if ( 'id' == strtolower( $key ) ) {
1088
-			return $this->set_id( $value );
1089
-		}
1090
-
1091
-		if ( method_exists( $this, "set_$key") ) {
1092
-			call_user_func( array( $this, "set_$key" ), $value );
1093
-		} else {
1094
-			$this->set_prop( $key, $value );
1095
-		}
1096
-
1097
-	}
1098
-
1099
-	/**
1100
-	 * @deprecated
1101
-	 */
1102
-	public function refresh(){}
1103
-
1104
-	/**
1105
-	 * @deprecated
1106
-	 *
1107
-	 */
1108
-	public function update_status( $status = 'publish' ){
1109
-
1110
-		if ( $this->exists() && $this->get_status() != $status ) {
1111
-			$this->set_status( $status );
1112
-			$this->save();
1113
-		}
1114
-
1115
-	}
1116
-
1117
-	/*
927
+    }
928
+
929
+    /**
930
+     * Alias of self::set_expiration().
931
+     *
932
+     * @since 1.0.19
933
+     * @param string $value New expiration date.
934
+     */
935
+    public function set_expiration_date( $value ) {
936
+        $this->set_expiration( $value );
937
+    }
938
+
939
+    /**
940
+     * Alias of self::set_expiration().
941
+     *
942
+     * @since 1.0.19
943
+     * @param string $value New expiration date.
944
+     */
945
+    public function set_end_date( $value ) {
946
+        $this->set_expiration( $value );
947
+    }
948
+
949
+    /**
950
+     * Sets the discount type.
951
+     *
952
+     * @since 1.0.19
953
+     * @param string $value New discount type.
954
+     */
955
+    public function set_type( $value ) {
956
+        $this->set_prop( 'type', $value );
957
+    }
958
+
959
+    /**
960
+     * Sets the number of times a discount has been used.
961
+     *
962
+     * @since 1.0.19
963
+     * @param int $value usage count.
964
+     */
965
+    public function set_uses( $value ) {
966
+
967
+        $value = (int) $value;
968
+
969
+        if ( $value < 0 ) {
970
+            $value = 0;
971
+        }
972
+
973
+        $this->set_prop( 'uses', (int) $value );
974
+    }
975
+
976
+    /**
977
+     * Sets the maximum number of times a discount can be used.
978
+     *
979
+     * @since 1.0.19
980
+     * @param int $value maximum usage count.
981
+     */
982
+    public function set_max_uses( $value ) {
983
+        $this->set_prop( 'max_uses', (int) $value );
984
+    }
985
+
986
+    /**
987
+     * Sets if this is a single use discount or not.
988
+     *
989
+     * @since 1.0.19
990
+     * @param int|bool $value is single use.
991
+     */
992
+    public function set_is_single_use( $value ) {
993
+        $this->set_prop( 'is_single_use', (bool) $value );
994
+    }
995
+
996
+    /**
997
+     * Sets the items that can be used with this discount.
998
+     *
999
+     * @since 1.0.19
1000
+     * @param array $value items.
1001
+     */
1002
+    public function set_items( $value ) {
1003
+        $this->set_prop( 'items', wpinv_parse_list( $value ) );
1004
+    }
1005
+
1006
+    /**
1007
+     * Alias for self::set_items().
1008
+     *
1009
+     * @since 1.0.19
1010
+     * @param array $value items.
1011
+     */
1012
+    public function set_allowed_items( $value ) {
1013
+        $this->set_items( $value );
1014
+    }
1015
+
1016
+    /**
1017
+     * Sets the items that can not be used with this discount.
1018
+     *
1019
+     * @since 1.0.19
1020
+     * @param array $value items.
1021
+     */
1022
+    public function set_excluded_items( $value ) {
1023
+        $this->set_prop( 'excluded_items', wpinv_parse_list( $value ) );
1024
+    }
1025
+
1026
+    /**
1027
+     * Sets if this is a recurring discounts or not.
1028
+     *
1029
+     * @since 1.0.19
1030
+     * @param int|bool $value is recurring.
1031
+     */
1032
+    public function set_is_recurring( $value ) {
1033
+        $this->set_prop( 'is_recurring', (bool) $value );
1034
+    }
1035
+
1036
+    /**
1037
+     * Sets the minimum total that can not be used with this discount.
1038
+     *
1039
+     * @since 1.0.19
1040
+     * @param float $value minimum total.
1041
+     */
1042
+    public function set_min_total( $value ) {
1043
+        $this->set_prop( 'min_total', (float) wpinv_sanitize_amount( $value ) );
1044
+    }
1045
+
1046
+    /**
1047
+     * Alias for self::set_min_total().
1048
+     *
1049
+     * @since 1.0.19
1050
+     * @param float $value minimum total.
1051
+     */
1052
+    public function set_minimum_total( $value ) {
1053
+        $this->set_min_total( $value );
1054
+    }
1055
+
1056
+    /**
1057
+     * Sets the maximum total that can not be used with this discount.
1058
+     *
1059
+     * @since 1.0.19
1060
+     * @param float $value maximum total.
1061
+     */
1062
+    public function set_max_total( $value ) {
1063
+        $this->set_prop( 'max_total', (float) wpinv_sanitize_amount( $value ) );
1064
+    }
1065
+
1066
+    /**
1067
+     * Alias for self::set_max_total().
1068
+     *
1069
+     * @since 1.0.19
1070
+     * @param float $value maximum total.
1071
+     */
1072
+    public function set_maximum_total( $value ) {
1073
+        $this->set_max_total( $value );
1074
+    }
1075
+
1076
+    /**
1077
+     * Magic method for setting discount fields.
1078
+     *
1079
+     * This method does not update custom fields in the database.
1080
+     *
1081
+     * @since 1.0.15
1082
+     * @access public
1083
+     *
1084
+     */
1085
+    public function __set( $key, $value ) {
1086
+
1087
+        if ( 'id' == strtolower( $key ) ) {
1088
+            return $this->set_id( $value );
1089
+        }
1090
+
1091
+        if ( method_exists( $this, "set_$key") ) {
1092
+            call_user_func( array( $this, "set_$key" ), $value );
1093
+        } else {
1094
+            $this->set_prop( $key, $value );
1095
+        }
1096
+
1097
+    }
1098
+
1099
+    /**
1100
+     * @deprecated
1101
+     */
1102
+    public function refresh(){}
1103
+
1104
+    /**
1105
+     * @deprecated
1106
+     *
1107
+     */
1108
+    public function update_status( $status = 'publish' ){
1109
+
1110
+        if ( $this->exists() && $this->get_status() != $status ) {
1111
+            $this->set_status( $status );
1112
+            $this->save();
1113
+        }
1114
+
1115
+    }
1116
+
1117
+    /*
1118 1118
 	|--------------------------------------------------------------------------
1119 1119
 	| Conditionals
1120 1120
 	|--------------------------------------------------------------------------
@@ -1123,263 +1123,263 @@  discard block
 block discarded – undo
1123 1123
 	|
1124 1124
 	*/
1125 1125
 
1126
-	/**
1127
-	 * Checks whether a discount exists in the database or not
1128
-	 *
1129
-	 * @since 1.0.15
1130
-	 */
1131
-	public function exists(){
1132
-		$id = $this->get_id();
1133
-		return ! empty( $id );
1134
-	}
1135
-
1136
-	/**
1137
-	 * Checks the discount type.
1138
-	 *
1139
-	 *
1140
-	 * @param  string $type the discount type to check against
1141
-	 * @since 1.0.15
1142
-	 * @return bool
1143
-	 */
1144
-	public function is_type( $type ) {
1145
-		return $this->get_type() == $type;
1146
-	}
1147
-
1148
-	/**
1149
-	 * Checks whether the discount is published or not
1150
-	 *
1151
-	 * @since 1.0.15
1152
-	 * @return bool
1153
-	 */
1154
-	public function is_active() {
1155
-		return $this->get_status() == 'publish';
1156
-	}
1157
-
1158
-	/**
1159
-	 * Checks whether the discount has max uses
1160
-	 *
1161
-	 * @since 1.0.15
1162
-	 * @return bool
1163
-	 */
1164
-	public function has_limit() {
1165
-		$limit = $this->get_max_uses();
1166
-		return ! empty( $limit );
1167
-	}
1168
-
1169
-	/**
1170
-	 * Checks whether the discount has ever been used.
1171
-	 *
1172
-	 * @since 1.0.15
1173
-	 * @return bool
1174
-	 */
1175
-	public function has_uses() {
1176
-		return $this->get_uses() > 0;
1177
-	}
1178
-
1179
-	/**
1180
-	 * Checks whether the discount is has exided the usage limit or not
1181
-	 *
1182
-	 * @since 1.0.15
1183
-	 * @return bool
1184
-	 */
1185
-	public function has_exceeded_limit() {
1186
-
1187
-		if ( ! $this->has_limit() || ! $this->has_uses() ) {
1188
-			$exceeded = false ;
1189
-		} else {
1190
-			$exceeded = ! ( (int) $this->get_max_uses() < $this->get_uses() );
1191
-		}
1192
-
1193
-		return apply_filters( 'wpinv_is_discount_maxed_out', $exceeded, $this->ID, $this, $this->code );
1194
-	}
1195
-
1196
-	/**
1197
-	 * Checks whether the discount has an expiration date.
1198
-	 *
1199
-	 * @since 1.0.15
1200
-	 * @return bool
1201
-	 */
1202
-	public function has_expiration_date() {
1203
-		$date = $this->get_expiration_date();
1204
-		return ! empty( $date );
1205
-	}
1206
-
1207
-	/**
1208
-	 * Checks if the discount is expired
1209
-	 *
1210
-	 * @since 1.0.15
1211
-	 * @return bool
1212
-	 */
1213
-	public function is_expired() {
1214
-		$expired = $this->has_expiration_date() ? false : current_time( 'timestamp' ) > strtotime( $this->get_expiration_date() );
1215
-		return apply_filters( 'wpinv_is_discount_expired', $expired, $this->ID, $this, $this->code );
1216
-	}
1217
-
1218
-	/**
1219
-	 * Checks whether the discount has a start date.
1220
-	 *
1221
-	 * @since 1.0.15
1222
-	 * @return bool
1223
-	 */
1224
-	public function has_start_date() {
1225
-		$date = $this->get_start_date();
1226
-		return ! empty( $date );
1227
-	}
1228
-
1229
-	/**
1230
-	 * Checks the discount start date.
1231
-	 *
1232
-	 * @since 1.0.15
1233
-	 * @return bool
1234
-	 */
1235
-	public function has_started() {
1236
-		$started = $this->has_start_date() ? true : current_time( 'timestamp' ) > strtotime( $this->get_start_date() );
1237
-		return apply_filters( 'wpinv_is_discount_started', $started, $this->ID, $this, $this->code );
1238
-	}
1239
-
1240
-	/**
1241
-	 * Checks the discount has allowed items or not.
1242
-	 *
1243
-	 * @since 1.0.15
1244
-	 * @return bool
1245
-	 */
1246
-	public function has_allowed_items() {
1247
-		$allowed_items = $this->get_allowed_items();
1248
-		return empty( $allowed_items );
1249
-	}
1250
-
1251
-	/**
1252
-	 * Checks the discount has excluded items or not.
1253
-	 *
1254
-	 * @since 1.0.15
1255
-	 * @return bool
1256
-	 */
1257
-	public function has_excluded_items() {
1258
-		$excluded_items = $this->get_excluded_items();
1259
-		return empty( $excluded_items );
1260
-	}
1261
-
1262
-	/**
1263
-	 * Check if a discount is valid for a given item id.
1264
-	 *
1265
-	 * @param  int|int[]  $item_ids
1266
-	 * @since 1.0.15
1267
-	 * @return boolean
1268
-	 */
1269
-	public function is_valid_for_items( $item_ids ) {
1270
-
1271
-		$item_ids = array_map( 'intval',  wpinv_parse_list( $item_ids ) );
1272
-		$included = array_intersect( $item_ids, $this->get_allowed_items() );
1273
-		$excluded = array_intersect( $item_ids, $this->get_excluded_items() );
1274
-
1275
-		if ( $this->has_excluded_items() && ! empty( $excluded ) ) {
1276
-			return false;
1277
-		}
1278
-
1279
-		if ( $this->has_allowed_items() && empty( $included ) ) {
1280
-			return false;
1281
-		}
1282
-		return true;
1283
-	}
1284
-
1285
-	/**
1286
-	 * Check if a discount is valid for the given amount
1287
-	 *
1288
-	 * @param  float  $amount The amount to check against
1289
-	 * @since 1.0.15
1290
-	 * @return boolean
1291
-	 */
1292
-	public function is_valid_for_amount( $amount ) {
1293
-		return $this->is_minimum_amount_met( $amount ) && $this->is_maximum_amount_met( $amount );
1294
-	}
1295
-
1296
-	/**
1297
-	 * Checks if the minimum amount is set
1298
-	 *
1299
-	 * @since 1.0.15
1300
-	 * @return boolean
1301
-	 */
1302
-	public function has_minimum_amount() {
1303
-		$minimum = $this->get_minimum_total();
1304
-		return ! empty( $minimum );
1305
-	}
1306
-
1307
-	/**
1308
-	 * Checks if the minimum amount is met
1309
-	 *
1310
-	 * @param  float  $amount The amount to check against
1311
-	 * @since 1.0.15
1312
-	 * @return boolean
1313
-	 */
1314
-	public function is_minimum_amount_met( $amount ) {
1315
-		$amount = floatval( wpinv_sanitize_amount( $amount ) );
1316
-		$min_met= ! ( $this->has_minimum_amount() && $amount < floatval( wpinv_sanitize_amount( $this->get_minimum_total() ) ) );
1317
-		return apply_filters( 'wpinv_is_discount_min_met', $min_met, $this->ID, $this, $this->code, $amount );
1318
-	}
1319
-
1320
-	/**
1321
-	 * Checks if the maximum amount is set
1322
-	 *
1323
-	 * @since 1.0.15
1324
-	 * @return boolean
1325
-	 */
1326
-	public function has_maximum_amount() {
1327
-		$maximum = $this->get_maximum_total();
1328
-		return ! empty( $maximum );
1329
-	}
1330
-
1331
-	/**
1332
-	 * Checks if the maximum amount is met
1333
-	 *
1334
-	 * @param  float  $amount The amount to check against
1335
-	 * @since 1.0.15
1336
-	 * @return boolean
1337
-	 */
1338
-	public function is_maximum_amount_met( $amount ) {
1339
-		$amount = floatval( wpinv_sanitize_amount( $amount ) );
1340
-		$max_met= ! ( $this->has_maximum_amount() && $amount > floatval( wpinv_sanitize_amount( $this->get_maximum_total() ) ) );
1341
-		return apply_filters( 'wpinv_is_discount_max_met', $max_met, $this->ID, $this, $this->code, $amount );
1342
-	}
1343
-
1344
-	/**
1345
-	 * Checks if the discount is recurring.
1346
-	 *
1347
-	 * @since 1.0.15
1348
-	 * @return boolean
1349
-	 */
1350
-	public function is_recurring() {
1351
-		$recurring = $this->get_is_recurring();
1352
-		return ! empty( $recurring );
1353
-	}
1354
-
1355
-	/**
1356
-	 * Checks if the discount is single use.
1357
-	 *
1358
-	 * @since 1.0.15
1359
-	 * @return boolean
1360
-	 */
1361
-	public function is_single_use() {
1362
-		$usage = $this->get_is_single_use();
1363
-		return ! empty( $usage );
1364
-	}
1365
-
1366
-	/**
1367
-	 * Check if a discount is valid for the given user
1368
-	 *
1369
-	 * @param  int|string  $user
1370
-	 * @since 1.0.15
1371
-	 * @return boolean
1372
-	 */
1373
-	public function is_valid_for_user( $user ) {
1374
-		global $wpi_checkout_id;
1375
-
1376
-		// Ensure that the discount is single use.
1377
-		if ( empty( $user ) || ! $this->is_single_use() ) {
1378
-			return true;
1379
-		}
1380
-
1381
-		// Prepare the user id.
1382
-		$user_id = 0;
1126
+    /**
1127
+     * Checks whether a discount exists in the database or not
1128
+     *
1129
+     * @since 1.0.15
1130
+     */
1131
+    public function exists(){
1132
+        $id = $this->get_id();
1133
+        return ! empty( $id );
1134
+    }
1135
+
1136
+    /**
1137
+     * Checks the discount type.
1138
+     *
1139
+     *
1140
+     * @param  string $type the discount type to check against
1141
+     * @since 1.0.15
1142
+     * @return bool
1143
+     */
1144
+    public function is_type( $type ) {
1145
+        return $this->get_type() == $type;
1146
+    }
1147
+
1148
+    /**
1149
+     * Checks whether the discount is published or not
1150
+     *
1151
+     * @since 1.0.15
1152
+     * @return bool
1153
+     */
1154
+    public function is_active() {
1155
+        return $this->get_status() == 'publish';
1156
+    }
1157
+
1158
+    /**
1159
+     * Checks whether the discount has max uses
1160
+     *
1161
+     * @since 1.0.15
1162
+     * @return bool
1163
+     */
1164
+    public function has_limit() {
1165
+        $limit = $this->get_max_uses();
1166
+        return ! empty( $limit );
1167
+    }
1168
+
1169
+    /**
1170
+     * Checks whether the discount has ever been used.
1171
+     *
1172
+     * @since 1.0.15
1173
+     * @return bool
1174
+     */
1175
+    public function has_uses() {
1176
+        return $this->get_uses() > 0;
1177
+    }
1178
+
1179
+    /**
1180
+     * Checks whether the discount is has exided the usage limit or not
1181
+     *
1182
+     * @since 1.0.15
1183
+     * @return bool
1184
+     */
1185
+    public function has_exceeded_limit() {
1186
+
1187
+        if ( ! $this->has_limit() || ! $this->has_uses() ) {
1188
+            $exceeded = false ;
1189
+        } else {
1190
+            $exceeded = ! ( (int) $this->get_max_uses() < $this->get_uses() );
1191
+        }
1192
+
1193
+        return apply_filters( 'wpinv_is_discount_maxed_out', $exceeded, $this->ID, $this, $this->code );
1194
+    }
1195
+
1196
+    /**
1197
+     * Checks whether the discount has an expiration date.
1198
+     *
1199
+     * @since 1.0.15
1200
+     * @return bool
1201
+     */
1202
+    public function has_expiration_date() {
1203
+        $date = $this->get_expiration_date();
1204
+        return ! empty( $date );
1205
+    }
1206
+
1207
+    /**
1208
+     * Checks if the discount is expired
1209
+     *
1210
+     * @since 1.0.15
1211
+     * @return bool
1212
+     */
1213
+    public function is_expired() {
1214
+        $expired = $this->has_expiration_date() ? false : current_time( 'timestamp' ) > strtotime( $this->get_expiration_date() );
1215
+        return apply_filters( 'wpinv_is_discount_expired', $expired, $this->ID, $this, $this->code );
1216
+    }
1217
+
1218
+    /**
1219
+     * Checks whether the discount has a start date.
1220
+     *
1221
+     * @since 1.0.15
1222
+     * @return bool
1223
+     */
1224
+    public function has_start_date() {
1225
+        $date = $this->get_start_date();
1226
+        return ! empty( $date );
1227
+    }
1228
+
1229
+    /**
1230
+     * Checks the discount start date.
1231
+     *
1232
+     * @since 1.0.15
1233
+     * @return bool
1234
+     */
1235
+    public function has_started() {
1236
+        $started = $this->has_start_date() ? true : current_time( 'timestamp' ) > strtotime( $this->get_start_date() );
1237
+        return apply_filters( 'wpinv_is_discount_started', $started, $this->ID, $this, $this->code );
1238
+    }
1239
+
1240
+    /**
1241
+     * Checks the discount has allowed items or not.
1242
+     *
1243
+     * @since 1.0.15
1244
+     * @return bool
1245
+     */
1246
+    public function has_allowed_items() {
1247
+        $allowed_items = $this->get_allowed_items();
1248
+        return empty( $allowed_items );
1249
+    }
1250
+
1251
+    /**
1252
+     * Checks the discount has excluded items or not.
1253
+     *
1254
+     * @since 1.0.15
1255
+     * @return bool
1256
+     */
1257
+    public function has_excluded_items() {
1258
+        $excluded_items = $this->get_excluded_items();
1259
+        return empty( $excluded_items );
1260
+    }
1261
+
1262
+    /**
1263
+     * Check if a discount is valid for a given item id.
1264
+     *
1265
+     * @param  int|int[]  $item_ids
1266
+     * @since 1.0.15
1267
+     * @return boolean
1268
+     */
1269
+    public function is_valid_for_items( $item_ids ) {
1270
+
1271
+        $item_ids = array_map( 'intval',  wpinv_parse_list( $item_ids ) );
1272
+        $included = array_intersect( $item_ids, $this->get_allowed_items() );
1273
+        $excluded = array_intersect( $item_ids, $this->get_excluded_items() );
1274
+
1275
+        if ( $this->has_excluded_items() && ! empty( $excluded ) ) {
1276
+            return false;
1277
+        }
1278
+
1279
+        if ( $this->has_allowed_items() && empty( $included ) ) {
1280
+            return false;
1281
+        }
1282
+        return true;
1283
+    }
1284
+
1285
+    /**
1286
+     * Check if a discount is valid for the given amount
1287
+     *
1288
+     * @param  float  $amount The amount to check against
1289
+     * @since 1.0.15
1290
+     * @return boolean
1291
+     */
1292
+    public function is_valid_for_amount( $amount ) {
1293
+        return $this->is_minimum_amount_met( $amount ) && $this->is_maximum_amount_met( $amount );
1294
+    }
1295
+
1296
+    /**
1297
+     * Checks if the minimum amount is set
1298
+     *
1299
+     * @since 1.0.15
1300
+     * @return boolean
1301
+     */
1302
+    public function has_minimum_amount() {
1303
+        $minimum = $this->get_minimum_total();
1304
+        return ! empty( $minimum );
1305
+    }
1306
+
1307
+    /**
1308
+     * Checks if the minimum amount is met
1309
+     *
1310
+     * @param  float  $amount The amount to check against
1311
+     * @since 1.0.15
1312
+     * @return boolean
1313
+     */
1314
+    public function is_minimum_amount_met( $amount ) {
1315
+        $amount = floatval( wpinv_sanitize_amount( $amount ) );
1316
+        $min_met= ! ( $this->has_minimum_amount() && $amount < floatval( wpinv_sanitize_amount( $this->get_minimum_total() ) ) );
1317
+        return apply_filters( 'wpinv_is_discount_min_met', $min_met, $this->ID, $this, $this->code, $amount );
1318
+    }
1319
+
1320
+    /**
1321
+     * Checks if the maximum amount is set
1322
+     *
1323
+     * @since 1.0.15
1324
+     * @return boolean
1325
+     */
1326
+    public function has_maximum_amount() {
1327
+        $maximum = $this->get_maximum_total();
1328
+        return ! empty( $maximum );
1329
+    }
1330
+
1331
+    /**
1332
+     * Checks if the maximum amount is met
1333
+     *
1334
+     * @param  float  $amount The amount to check against
1335
+     * @since 1.0.15
1336
+     * @return boolean
1337
+     */
1338
+    public function is_maximum_amount_met( $amount ) {
1339
+        $amount = floatval( wpinv_sanitize_amount( $amount ) );
1340
+        $max_met= ! ( $this->has_maximum_amount() && $amount > floatval( wpinv_sanitize_amount( $this->get_maximum_total() ) ) );
1341
+        return apply_filters( 'wpinv_is_discount_max_met', $max_met, $this->ID, $this, $this->code, $amount );
1342
+    }
1343
+
1344
+    /**
1345
+     * Checks if the discount is recurring.
1346
+     *
1347
+     * @since 1.0.15
1348
+     * @return boolean
1349
+     */
1350
+    public function is_recurring() {
1351
+        $recurring = $this->get_is_recurring();
1352
+        return ! empty( $recurring );
1353
+    }
1354
+
1355
+    /**
1356
+     * Checks if the discount is single use.
1357
+     *
1358
+     * @since 1.0.15
1359
+     * @return boolean
1360
+     */
1361
+    public function is_single_use() {
1362
+        $usage = $this->get_is_single_use();
1363
+        return ! empty( $usage );
1364
+    }
1365
+
1366
+    /**
1367
+     * Check if a discount is valid for the given user
1368
+     *
1369
+     * @param  int|string  $user
1370
+     * @since 1.0.15
1371
+     * @return boolean
1372
+     */
1373
+    public function is_valid_for_user( $user ) {
1374
+        global $wpi_checkout_id;
1375
+
1376
+        // Ensure that the discount is single use.
1377
+        if ( empty( $user ) || ! $this->is_single_use() ) {
1378
+            return true;
1379
+        }
1380
+
1381
+        // Prepare the user id.
1382
+        $user_id = 0;
1383 1383
         if ( is_int( $user ) ) {
1384 1384
             $user_id = absint( $user );
1385 1385
         } else if ( is_email( $user ) && $user_data = get_user_by( 'email', $user ) ) {
@@ -1388,135 +1388,135 @@  discard block
 block discarded – undo
1388 1388
             $user_id = $user_data->ID;
1389 1389
         } else if ( absint( $user ) > 0 ) {
1390 1390
             $user_id = absint( $user );
1391
-		}
1391
+        }
1392 1392
 
1393
-		// Ensure that we have a user.
1394
-		if ( empty( $user_id ) ) {
1395
-			return true;
1396
-		}
1393
+        // Ensure that we have a user.
1394
+        if ( empty( $user_id ) ) {
1395
+            return true;
1396
+        }
1397 1397
 
1398
-		// Get all payments with matching user id.
1398
+        // Get all payments with matching user id.
1399 1399
         $payments = wpinv_get_invoices( array( 'user' => $user_id, 'limit' => false ) );
1400
-		$code     = strtolower( $this->get_code() );
1401
-
1402
-		// For each payment...
1403
-		foreach ( $payments as $payment ) {
1404
-
1405
-			// ... skip the current payment.
1406
-			if ( ! empty( $wpi_checkout_id ) && $wpi_checkout_id == $payment->ID ) {
1407
-				continue;
1408
-			}
1409
-
1410
-			// And failed payments.
1411
-			if ( $payment->has_status( array( 'wpi-cancelled', 'wpi-failed' ) ) ) {
1412
-				continue;
1413
-			}
1414
-
1415
-			// Retrieve all the discounts for the payment.
1416
-			$discounts = $payment->get_discounts( true );
1417
-			if ( empty( $discounts ) ) {
1418
-				continue;
1419
-			}
1420
-
1421
-			// And check if the current discount is amongst them.
1422
-			$discounts = array_map( 'strtolower', wpinv_parse_list( $discounts ) );
1423
-			if ( ! empty( $discounts ) && in_array( $code, $discounts ) ) {
1424
-				return false;
1425
-			}
1426
-		}
1427
-
1428
-		return true;
1429
-	}
1430
-
1431
-	/**
1432
-	 * Deletes the discount from the database
1433
-	 *
1434
-	 * @since 1.0.15
1435
-	 * @return boolean
1436
-	 */
1437
-	public function remove() {
1438
-		return $this->delete();
1439
-	}
1440
-
1441
-	/**
1442
-	 * Increases a discount's usage.
1443
-	 *
1444
-	 * @since 1.0.15
1445
-	 * @param int $by The number of usages to increas by.
1446
-	 * @return int
1447
-	 */
1448
-	public function increase_usage( $by = 1 ) {
1449
-
1450
-		// Abort if zero.
1451
-		if ( empty( $by ) ) {
1452
-			return;
1453
-		}
1454
-
1455
-		// Increase the usage.
1456
-		$this->set_uses( $this->get_uses() + (int) $by );
1457
-
1458
-		// Save the discount.
1459
-		$this->save();
1460
-
1461
-		// Fire relevant hooks.
1462
-		if( (int) $by > 0 ) {
1463
-			do_action( 'wpinv_discount_increase_use_count', $this->uses, $this->ID, $this->code,  absint( $by ) );
1464
-		} else {
1465
-			do_action( 'wpinv_discount_decrease_use_count', $this->uses, $this->ID, $this->code, absint( $by ) );
1466
-		}
1467
-
1468
-		// Return the number of times the discount has been used.
1469
-		return $this->get_uses();
1470
-	}
1471
-
1472
-	/**
1473
-	 * Alias of self::__toString()
1474
-	 *
1475
-	 * @since 1.0.15
1476
-	 * @return string|false
1477
-	 */
1478
-	public function get_data_as_json() {
1479
-		return $this->__toString();
1480
-	}
1481
-
1482
-	/**
1483
-	 * Returns a discount's discounted amount.
1484
-	 *
1485
-	 * @since 1.0.15
1486
-	 * @param float $amount
1487
-	 * @return float
1488
-	 */
1489
-	public function get_discounted_amount( $amount ) {
1490
-
1491
-		// Convert amount to float.
1492
-		$amount = (float) $amount;
1493
-
1494
-		// Get discount amount.
1495
-		$discount_amount = $this->get_amount();
1496
-
1497
-		if ( empty( $discount_amount ) ) {
1498
-			return 0;
1499
-		}
1500
-
1501
-		// Format the amount.
1502
-		$discount_amount = floatval( wpinv_sanitize_amount( $discount_amount ) );
1400
+        $code     = strtolower( $this->get_code() );
1401
+
1402
+        // For each payment...
1403
+        foreach ( $payments as $payment ) {
1404
+
1405
+            // ... skip the current payment.
1406
+            if ( ! empty( $wpi_checkout_id ) && $wpi_checkout_id == $payment->ID ) {
1407
+                continue;
1408
+            }
1409
+
1410
+            // And failed payments.
1411
+            if ( $payment->has_status( array( 'wpi-cancelled', 'wpi-failed' ) ) ) {
1412
+                continue;
1413
+            }
1414
+
1415
+            // Retrieve all the discounts for the payment.
1416
+            $discounts = $payment->get_discounts( true );
1417
+            if ( empty( $discounts ) ) {
1418
+                continue;
1419
+            }
1420
+
1421
+            // And check if the current discount is amongst them.
1422
+            $discounts = array_map( 'strtolower', wpinv_parse_list( $discounts ) );
1423
+            if ( ! empty( $discounts ) && in_array( $code, $discounts ) ) {
1424
+                return false;
1425
+            }
1426
+        }
1427
+
1428
+        return true;
1429
+    }
1430
+
1431
+    /**
1432
+     * Deletes the discount from the database
1433
+     *
1434
+     * @since 1.0.15
1435
+     * @return boolean
1436
+     */
1437
+    public function remove() {
1438
+        return $this->delete();
1439
+    }
1440
+
1441
+    /**
1442
+     * Increases a discount's usage.
1443
+     *
1444
+     * @since 1.0.15
1445
+     * @param int $by The number of usages to increas by.
1446
+     * @return int
1447
+     */
1448
+    public function increase_usage( $by = 1 ) {
1449
+
1450
+        // Abort if zero.
1451
+        if ( empty( $by ) ) {
1452
+            return;
1453
+        }
1454
+
1455
+        // Increase the usage.
1456
+        $this->set_uses( $this->get_uses() + (int) $by );
1457
+
1458
+        // Save the discount.
1459
+        $this->save();
1460
+
1461
+        // Fire relevant hooks.
1462
+        if( (int) $by > 0 ) {
1463
+            do_action( 'wpinv_discount_increase_use_count', $this->uses, $this->ID, $this->code,  absint( $by ) );
1464
+        } else {
1465
+            do_action( 'wpinv_discount_decrease_use_count', $this->uses, $this->ID, $this->code, absint( $by ) );
1466
+        }
1467
+
1468
+        // Return the number of times the discount has been used.
1469
+        return $this->get_uses();
1470
+    }
1471
+
1472
+    /**
1473
+     * Alias of self::__toString()
1474
+     *
1475
+     * @since 1.0.15
1476
+     * @return string|false
1477
+     */
1478
+    public function get_data_as_json() {
1479
+        return $this->__toString();
1480
+    }
1481
+
1482
+    /**
1483
+     * Returns a discount's discounted amount.
1484
+     *
1485
+     * @since 1.0.15
1486
+     * @param float $amount
1487
+     * @return float
1488
+     */
1489
+    public function get_discounted_amount( $amount ) {
1490
+
1491
+        // Convert amount to float.
1492
+        $amount = (float) $amount;
1493
+
1494
+        // Get discount amount.
1495
+        $discount_amount = $this->get_amount();
1496
+
1497
+        if ( empty( $discount_amount ) ) {
1498
+            return 0;
1499
+        }
1500
+
1501
+        // Format the amount.
1502
+        $discount_amount = floatval( wpinv_sanitize_amount( $discount_amount ) );
1503 1503
 		
1504
-		// If this is a percentage discount.
1505
-		if ( $this->is_type( 'percent' ) ) {
1504
+        // If this is a percentage discount.
1505
+        if ( $this->is_type( 'percent' ) ) {
1506 1506
             $discount_amount = $amount * ( $discount_amount / 100 );
1507
-		}
1507
+        }
1508 1508
 
1509
-		// Discount can not be less than zero...
1510
-		if ( $discount_amount < 0 ) {
1511
-			$discount_amount = 0;
1512
-		}
1509
+        // Discount can not be less than zero...
1510
+        if ( $discount_amount < 0 ) {
1511
+            $discount_amount = 0;
1512
+        }
1513 1513
 
1514
-		// ... or more than the amount.
1515
-		if ( $discount_amount > $amount ) {
1516
-			$discount_amount = $amount;
1517
-		}
1514
+        // ... or more than the amount.
1515
+        if ( $discount_amount > $amount ) {
1516
+            $discount_amount = $amount;
1517
+        }
1518 1518
 
1519
-		return apply_filters( 'wpinv_discount_total_discount_amount', $discount_amount, $amount, $this );
1520
-	}
1519
+        return apply_filters( 'wpinv_discount_total_discount_amount', $discount_amount, $amount, $this );
1520
+    }
1521 1521
 
1522 1522
 }
Please login to merge, or discard this patch.
Spacing   +299 added lines, -299 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  * @since   1.0.15
6 6
  */
7 7
 
8
-defined( 'ABSPATH' ) || exit;
8
+defined('ABSPATH') || exit;
9 9
 
10 10
 /**
11 11
  * Discount class.
@@ -13,7 +13,7 @@  discard block
 block discarded – undo
13 13
  * @since 1.0.15
14 14
  *
15 15
  */
16
-class WPInv_Discount extends GetPaid_Data  {
16
+class WPInv_Discount extends GetPaid_Data {
17 17
 
18 18
 	/**
19 19
 	 * Which data store to load.
@@ -79,35 +79,35 @@  discard block
 block discarded – undo
79 79
 	 *
80 80
 	 * @param int|array|string|WPInv_Discount|WP_Post $discount discount data, object, ID or code.
81 81
 	 */
82
-	public function __construct( $discount = 0 ) {
83
-		parent::__construct( $discount );
82
+	public function __construct($discount = 0) {
83
+		parent::__construct($discount);
84 84
 
85
-		if ( is_numeric( $discount ) && 'wpi_discount' === get_post_type( $discount ) ) {
86
-			$this->set_id( $discount );
87
-		} elseif ( $discount instanceof self ) {
88
-			$this->set_id( $discount->get_id() );
89
-		} elseif ( ! empty( $discount->ID ) ) {
90
-			$this->set_id( $discount->ID );
91
-		} elseif ( is_array( $discount ) ) {
92
-			$this->set_props( $discount );
85
+		if (is_numeric($discount) && 'wpi_discount' === get_post_type($discount)) {
86
+			$this->set_id($discount);
87
+		} elseif ($discount instanceof self) {
88
+			$this->set_id($discount->get_id());
89
+		} elseif (!empty($discount->ID)) {
90
+			$this->set_id($discount->ID);
91
+		} elseif (is_array($discount)) {
92
+			$this->set_props($discount);
93 93
 
94
-			if ( isset( $discount['ID'] ) ) {
95
-				$this->set_id( $discount['ID'] );
94
+			if (isset($discount['ID'])) {
95
+				$this->set_id($discount['ID']);
96 96
 			}
97 97
 
98
-		} elseif ( is_scalar( $discount ) && $discount = self::get_discount_id_by_code( $discount ) ) {
99
-			$this->set_id( $discount );
98
+		} elseif (is_scalar($discount) && $discount = self::get_discount_id_by_code($discount)) {
99
+			$this->set_id($discount);
100 100
 		} else {
101
-			$this->set_object_read( true );
101
+			$this->set_object_read(true);
102 102
 		}
103 103
 
104 104
         // Load the datastore.
105
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
105
+		$this->data_store = GetPaid_Data_Store::load($this->data_store_name);
106 106
 
107
-		if ( $this->get_id() > 0 ) {
108
-            $this->post = get_post( $this->get_id() );
107
+		if ($this->get_id() > 0) {
108
+            $this->post = get_post($this->get_id());
109 109
             $this->ID   = $this->get_id();
110
-			$this->data_store->read( $this );
110
+			$this->data_store->read($this);
111 111
         }
112 112
 
113 113
 	}
@@ -123,50 +123,50 @@  discard block
 block discarded – undo
123 123
 	 * @since 1.0.15
124 124
 	 * @return array|bool array of discount details on success. False otherwise.
125 125
 	 */
126
-	public static function get_data_by( $field, $value ) {
126
+	public static function get_data_by($field, $value) {
127 127
 
128
-		if ( 'id' == strtolower( $field ) ) {
128
+		if ('id' == strtolower($field)) {
129 129
 			// Make sure the value is numeric to avoid casting objects, for example,
130 130
 			// to int 1.
131
-			if ( ! is_numeric( $value ) )
131
+			if (!is_numeric($value))
132 132
 				return false;
133
-			$value = intval( $value );
134
-			if ( $value < 1 )
133
+			$value = intval($value);
134
+			if ($value < 1)
135 135
 				return false;
136 136
 		}
137 137
 
138
-		if ( ! $value || ! is_string( $field ) ) {
138
+		if (!$value || !is_string($field)) {
139 139
 			return false;
140 140
 		}
141 141
 
142
-		$field = trim( $field );
142
+		$field = trim($field);
143 143
 
144 144
 		// prepare query args
145
-		switch ( strtolower( $field ) ) {
145
+		switch (strtolower($field)) {
146 146
 			case 'id':
147 147
 				$discount_id = $value;
148
-				$args		 = array( 'include' => array( $value ) );
148
+				$args = array('include' => array($value));
149 149
 				break;
150 150
 			case 'discount_code':
151 151
 			case 'code':
152
-				$value       = trim( $value );
153
-				$discount_id = wp_cache_get( $value, 'WPInv_Discount_Codes' );
154
-				$args		 = array( 'meta_key' => '_wpi_discount_code', 'meta_value' => $value );
152
+				$value       = trim($value);
153
+				$discount_id = wp_cache_get($value, 'WPInv_Discount_Codes');
154
+				$args = array('meta_key' => '_wpi_discount_code', 'meta_value' => $value);
155 155
 				break;
156 156
 			case 'name':
157 157
 				$discount_id = 0;
158
-				$args		 = array( 'name' => trim( $value ) );
158
+				$args		 = array('name' => trim($value));
159 159
 				break;
160 160
 			default:
161
-				$args		 = apply_filters( "wpinv_discount_get_data_by_{$field}_args", null, $value );
162
-				if ( ! is_array( $args ) ) {
163
-					return apply_filters( "wpinv_discount_get_data_by_$field", false, $value );
161
+				$args		 = apply_filters("wpinv_discount_get_data_by_{$field}_args", null, $value);
162
+				if (!is_array($args)) {
163
+					return apply_filters("wpinv_discount_get_data_by_$field", false, $value);
164 164
 				}
165 165
 
166 166
 		}
167 167
 
168 168
 		// Check if there is a cached value.
169
-		if ( ! empty( $discount_id ) && $discount = wp_cache_get( (int) $discount_id, 'WPInv_Discounts' ) ) {
169
+		if (!empty($discount_id) && $discount = wp_cache_get((int) $discount_id, 'WPInv_Discounts')) {
170 170
 			return $discount;
171 171
 		}
172 172
 
@@ -175,13 +175,13 @@  discard block
 block discarded – undo
175 175
 			array(
176 176
 				'post_type'      => 'wpi_discount',
177 177
 				'posts_per_page' => 1,
178
-				'post_status'    => array( 'publish', 'pending', 'draft', 'expired' )
178
+				'post_status'    => array('publish', 'pending', 'draft', 'expired')
179 179
 			)
180 180
 		);
181 181
 
182
-		$discount = get_posts( $args );
182
+		$discount = get_posts($args);
183 183
 
184
-		if( empty( $discount ) ) {
184
+		if (empty($discount)) {
185 185
 			return false;
186 186
 		}
187 187
 
@@ -190,30 +190,30 @@  discard block
 block discarded – undo
190 190
 		// Prepare the return data.
191 191
 		$return = array(
192 192
             'ID'                          => $discount->ID,
193
-            'code'                        => get_post_meta( $discount->ID, '_wpi_discount_code', true ),
194
-            'amount'                      => get_post_meta( $discount->ID, '_wpi_discount_amount', true ),
193
+            'code'                        => get_post_meta($discount->ID, '_wpi_discount_code', true),
194
+            'amount'                      => get_post_meta($discount->ID, '_wpi_discount_amount', true),
195 195
             'date_created'                => $discount->post_date,
196 196
 			'date_modified'               => $discount->post_modified,
197 197
 			'status'               		  => $discount->post_status,
198
-			'start'                  	  => get_post_meta( $discount->ID, '_wpi_discount_start', true ),
199
-            'expiration'                  => get_post_meta( $discount->ID, '_wpi_discount_expiration', true ),
200
-            'type'               		  => get_post_meta( $discount->ID, '_wpi_discount_type', true ),
198
+			'start'                  	  => get_post_meta($discount->ID, '_wpi_discount_start', true),
199
+            'expiration'                  => get_post_meta($discount->ID, '_wpi_discount_expiration', true),
200
+            'type'               		  => get_post_meta($discount->ID, '_wpi_discount_type', true),
201 201
             'description'                 => $discount->post_excerpt,
202
-            'uses'                 		  => get_post_meta( $discount->ID, '_wpi_discount_uses', true ),
203
-            'is_single_use'               => get_post_meta( $discount->ID, '_wpi_discount_is_single_use', true ),
204
-            'items'              	      => get_post_meta( $discount->ID, '_wpi_discount_items', true ),
205
-            'excluded_items'              => get_post_meta( $discount->ID, '_wpi_discount_excluded_items', true ),
206
-            'max_uses'                    => get_post_meta( $discount->ID, '_wpi_discount_max_uses', true ),
207
-            'is_recurring'                => get_post_meta( $discount->ID, '_wpi_discount_is_recurring', true ),
208
-            'min_total'                   => get_post_meta( $discount->ID, '_wpi_discount_min_total', true ),
209
-            'max_total'                   => get_post_meta( $discount->ID, '_wpi_discount_max_total', true ),
202
+            'uses'                 		  => get_post_meta($discount->ID, '_wpi_discount_uses', true),
203
+            'is_single_use'               => get_post_meta($discount->ID, '_wpi_discount_is_single_use', true),
204
+            'items'              	      => get_post_meta($discount->ID, '_wpi_discount_items', true),
205
+            'excluded_items'              => get_post_meta($discount->ID, '_wpi_discount_excluded_items', true),
206
+            'max_uses'                    => get_post_meta($discount->ID, '_wpi_discount_max_uses', true),
207
+            'is_recurring'                => get_post_meta($discount->ID, '_wpi_discount_is_recurring', true),
208
+            'min_total'                   => get_post_meta($discount->ID, '_wpi_discount_min_total', true),
209
+            'max_total'                   => get_post_meta($discount->ID, '_wpi_discount_max_total', true),
210 210
         );
211 211
 
212
-		$return = apply_filters( 'wpinv_discount_properties', $return );
212
+		$return = apply_filters('wpinv_discount_properties', $return);
213 213
 
214 214
 		// Update the cache with our data
215
-		wp_cache_add( $discount->ID, $return, 'WPInv_Discounts' );
216
-		wp_cache_add( $return['code'], $discount->ID, 'WPInv_Discount_Codes' );
215
+		wp_cache_add($discount->ID, $return, 'WPInv_Discounts');
216
+		wp_cache_add($return['code'], $discount->ID, 'WPInv_Discount_Codes');
217 217
 
218 218
 		return $return;
219 219
 	}
@@ -227,19 +227,19 @@  discard block
 block discarded – undo
227 227
 	 * @since 1.0.15
228 228
 	 * @return int
229 229
 	 */
230
-	public static function get_discount_id_by_code( $discount_code ) {
230
+	public static function get_discount_id_by_code($discount_code) {
231 231
 
232 232
 		// Trim the code.
233
-		$discount_code = trim( $discount_code );
233
+		$discount_code = trim($discount_code);
234 234
 
235 235
 		// Ensure a value has been passed.
236
-		if ( empty( $discount_code ) ) {
236
+		if (empty($discount_code)) {
237 237
 			return 0;
238 238
 		}
239 239
 
240 240
 		// Maybe retrieve from the cache.
241
-		$discount_id   = wp_cache_get( $discount_code, 'getpaid_discount_codes' );
242
-		if ( ! empty( $discount_id ) ) {
241
+		$discount_id = wp_cache_get($discount_code, 'getpaid_discount_codes');
242
+		if (!empty($discount_id)) {
243 243
 			return $discount_id;
244 244
 		}
245 245
 
@@ -250,19 +250,19 @@  discard block
 block discarded – undo
250 250
 				'meta_value'     => $discount_code,
251 251
 				'post_type'      => 'wpi_discount',
252 252
 				'posts_per_page' => 1,
253
-				'post_status'    => array( 'publish', 'pending', 'draft', 'expired' ),
253
+				'post_status'    => array('publish', 'pending', 'draft', 'expired'),
254 254
 				'fields'         => 'ids',
255 255
 			)
256 256
 		);
257 257
 
258
-		if ( empty( $discounts ) ) {
258
+		if (empty($discounts)) {
259 259
 			return 0;
260 260
 		}
261 261
 
262 262
 		$discount_id = $discounts[0];
263 263
 
264 264
 		// Update the cache with our data
265
-		wp_cache_add( get_post_meta( $discount_id, '_wpi_discount_code', true ), $discount_id, 'getpaid_discount_codes' );
265
+		wp_cache_add(get_post_meta($discount_id, '_wpi_discount_code', true), $discount_id, 'getpaid_discount_codes');
266 266
 
267 267
 		return $discount_id;
268 268
 	}
@@ -275,8 +275,8 @@  discard block
 block discarded – undo
275 275
 	 *
276 276
 	 * @return bool Whether the given discount field is set.
277 277
 	 */
278
-	public function __isset( $key ){
279
-		return isset( $this->data[$key] ) || method_exists( $this, "get_$key");
278
+	public function __isset($key) {
279
+		return isset($this->data[$key]) || method_exists($this, "get_$key");
280 280
 	}
281 281
 
282 282
 	/*
@@ -301,8 +301,8 @@  discard block
 block discarded – undo
301 301
 	 * @param  string $context View or edit context.
302 302
 	 * @return string
303 303
 	 */
304
-	public function get_status( $context = 'view' ) {
305
-		return $this->get_prop( 'status', $context );
304
+	public function get_status($context = 'view') {
305
+		return $this->get_prop('status', $context);
306 306
     }
307 307
 
308 308
     /**
@@ -312,8 +312,8 @@  discard block
 block discarded – undo
312 312
 	 * @param  string $context View or edit context.
313 313
 	 * @return string
314 314
 	 */
315
-	public function get_version( $context = 'view' ) {
316
-		return $this->get_prop( 'version', $context );
315
+	public function get_version($context = 'view') {
316
+		return $this->get_prop('version', $context);
317 317
     }
318 318
 
319 319
     /**
@@ -323,8 +323,8 @@  discard block
 block discarded – undo
323 323
 	 * @param  string $context View or edit context.
324 324
 	 * @return string
325 325
 	 */
326
-	public function get_date_created( $context = 'view' ) {
327
-		return $this->get_prop( 'date_created', $context );
326
+	public function get_date_created($context = 'view') {
327
+		return $this->get_prop('date_created', $context);
328 328
     }
329 329
 
330 330
     /**
@@ -334,11 +334,11 @@  discard block
 block discarded – undo
334 334
 	 * @param  string $context View or edit context.
335 335
 	 * @return string
336 336
 	 */
337
-	public function get_date_created_gmt( $context = 'view' ) {
338
-        $date = $this->get_date_created( $context );
337
+	public function get_date_created_gmt($context = 'view') {
338
+        $date = $this->get_date_created($context);
339 339
 
340
-        if ( $date ) {
341
-            $date = get_gmt_from_date( $date );
340
+        if ($date) {
341
+            $date = get_gmt_from_date($date);
342 342
         }
343 343
 		return $date;
344 344
     }
@@ -350,8 +350,8 @@  discard block
 block discarded – undo
350 350
 	 * @param  string $context View or edit context.
351 351
 	 * @return string
352 352
 	 */
353
-	public function get_date_modified( $context = 'view' ) {
354
-		return $this->get_prop( 'date_modified', $context );
353
+	public function get_date_modified($context = 'view') {
354
+		return $this->get_prop('date_modified', $context);
355 355
     }
356 356
 
357 357
     /**
@@ -361,11 +361,11 @@  discard block
 block discarded – undo
361 361
 	 * @param  string $context View or edit context.
362 362
 	 * @return string
363 363
 	 */
364
-	public function get_date_modified_gmt( $context = 'view' ) {
365
-        $date = $this->get_date_modified( $context );
364
+	public function get_date_modified_gmt($context = 'view') {
365
+        $date = $this->get_date_modified($context);
366 366
 
367
-        if ( $date ) {
368
-            $date = get_gmt_from_date( $date );
367
+        if ($date) {
368
+            $date = get_gmt_from_date($date);
369 369
         }
370 370
 		return $date;
371 371
     }
@@ -377,8 +377,8 @@  discard block
 block discarded – undo
377 377
 	 * @param  string $context View or edit context.
378 378
 	 * @return string
379 379
 	 */
380
-	public function get_name( $context = 'view' ) {
381
-		return $this->get_prop( 'name', $context );
380
+	public function get_name($context = 'view') {
381
+		return $this->get_prop('name', $context);
382 382
     }
383 383
 
384 384
     /**
@@ -388,8 +388,8 @@  discard block
 block discarded – undo
388 388
 	 * @param  string $context View or edit context.
389 389
 	 * @return string
390 390
 	 */
391
-	public function get_title( $context = 'view' ) {
392
-		return $this->get_name( $context );
391
+	public function get_title($context = 'view') {
392
+		return $this->get_name($context);
393 393
     }
394 394
 
395 395
     /**
@@ -399,8 +399,8 @@  discard block
 block discarded – undo
399 399
 	 * @param  string $context View or edit context.
400 400
 	 * @return string
401 401
 	 */
402
-	public function get_description( $context = 'view' ) {
403
-		return $this->get_prop( 'description', $context );
402
+	public function get_description($context = 'view') {
403
+		return $this->get_prop('description', $context);
404 404
     }
405 405
 
406 406
     /**
@@ -410,8 +410,8 @@  discard block
 block discarded – undo
410 410
 	 * @param  string $context View or edit context.
411 411
 	 * @return string
412 412
 	 */
413
-	public function get_excerpt( $context = 'view' ) {
414
-		return $this->get_description( $context );
413
+	public function get_excerpt($context = 'view') {
414
+		return $this->get_description($context);
415 415
     }
416 416
 
417 417
     /**
@@ -421,8 +421,8 @@  discard block
 block discarded – undo
421 421
 	 * @param  string $context View or edit context.
422 422
 	 * @return string
423 423
 	 */
424
-	public function get_summary( $context = 'view' ) {
425
-		return $this->get_description( $context );
424
+	public function get_summary($context = 'view') {
425
+		return $this->get_description($context);
426 426
     }
427 427
 
428 428
     /**
@@ -432,8 +432,8 @@  discard block
 block discarded – undo
432 432
 	 * @param  string $context View or edit context.
433 433
 	 * @return string
434 434
 	 */
435
-	public function get_author( $context = 'view' ) {
436
-		return (int) $this->get_prop( 'author', $context );
435
+	public function get_author($context = 'view') {
436
+		return (int) $this->get_prop('author', $context);
437 437
 	}
438 438
 	
439 439
 	/**
@@ -443,8 +443,8 @@  discard block
 block discarded – undo
443 443
 	 * @param  string $context View or edit context.
444 444
 	 * @return string
445 445
 	 */
446
-	public function get_code( $context = 'view' ) {
447
-		return $this->get_prop( 'code', $context );
446
+	public function get_code($context = 'view') {
447
+		return $this->get_prop('code', $context);
448 448
 	}
449 449
 	
450 450
 	/**
@@ -454,8 +454,8 @@  discard block
 block discarded – undo
454 454
 	 * @param  string $context View or edit context.
455 455
 	 * @return string
456 456
 	 */
457
-	public function get_coupon_code( $context = 'view' ) {
458
-		return $this->get_code( $context );
457
+	public function get_coupon_code($context = 'view') {
458
+		return $this->get_code($context);
459 459
 	}
460 460
 	
461 461
 	/**
@@ -465,8 +465,8 @@  discard block
 block discarded – undo
465 465
 	 * @param  string $context View or edit context.
466 466
 	 * @return string
467 467
 	 */
468
-	public function get_discount_code( $context = 'view' ) {
469
-		return $this->get_code( $context );
468
+	public function get_discount_code($context = 'view') {
469
+		return $this->get_code($context);
470 470
 	}
471 471
 	
472 472
 	/**
@@ -476,8 +476,8 @@  discard block
 block discarded – undo
476 476
 	 * @param  string $context View or edit context.
477 477
 	 * @return float
478 478
 	 */
479
-	public function get_amount( $context = 'view' ) {
480
-		return $this->get_prop( 'amount', $context );
479
+	public function get_amount($context = 'view') {
480
+		return $this->get_prop('amount', $context);
481 481
 	}
482 482
 	
483 483
 	/**
@@ -487,8 +487,8 @@  discard block
 block discarded – undo
487 487
 	 * @param  string $context View or edit context.
488 488
 	 * @return string
489 489
 	 */
490
-	public function get_start( $context = 'view' ) {
491
-		return $this->get_prop( 'start', $context );
490
+	public function get_start($context = 'view') {
491
+		return $this->get_prop('start', $context);
492 492
 	}
493 493
 	
494 494
 	/**
@@ -498,8 +498,8 @@  discard block
 block discarded – undo
498 498
 	 * @param  string $context View or edit context.
499 499
 	 * @return string
500 500
 	 */
501
-	public function get_start_date( $context = 'view' ) {
502
-		return $this->get_start( $context );
501
+	public function get_start_date($context = 'view') {
502
+		return $this->get_start($context);
503 503
 	}
504 504
 	
505 505
 	/**
@@ -509,8 +509,8 @@  discard block
 block discarded – undo
509 509
 	 * @param  string $context View or edit context.
510 510
 	 * @return string
511 511
 	 */
512
-	public function get_expiration( $context = 'view' ) {
513
-		return $this->get_prop( 'expiration', $context );
512
+	public function get_expiration($context = 'view') {
513
+		return $this->get_prop('expiration', $context);
514 514
 	}
515 515
 	
516 516
 	/**
@@ -520,8 +520,8 @@  discard block
 block discarded – undo
520 520
 	 * @param  string $context View or edit context.
521 521
 	 * @return string
522 522
 	 */
523
-	public function get_expiration_date( $context = 'view' ) {
524
-		return $this->get_expiration( $context );
523
+	public function get_expiration_date($context = 'view') {
524
+		return $this->get_expiration($context);
525 525
 	}
526 526
 
527 527
 	/**
@@ -531,8 +531,8 @@  discard block
 block discarded – undo
531 531
 	 * @param  string $context View or edit context.
532 532
 	 * @return string
533 533
 	 */
534
-	public function get_end_date( $context = 'view' ) {
535
-		return $this->get_expiration( $context );
534
+	public function get_end_date($context = 'view') {
535
+		return $this->get_expiration($context);
536 536
 	}
537 537
 	
538 538
 	/**
@@ -542,8 +542,8 @@  discard block
 block discarded – undo
542 542
 	 * @param  string $context View or edit context.
543 543
 	 * @return string
544 544
 	 */
545
-	public function get_type( $context = 'view' ) {
546
-		return $this->get_prop( 'type', $context );
545
+	public function get_type($context = 'view') {
546
+		return $this->get_prop('type', $context);
547 547
 	}
548 548
 
549 549
 	/**
@@ -553,8 +553,8 @@  discard block
 block discarded – undo
553 553
 	 * @param  string $context View or edit context.
554 554
 	 * @return int
555 555
 	 */
556
-	public function get_uses( $context = 'view' ) {
557
-		return (int) $this->get_prop( 'uses', $context );
556
+	public function get_uses($context = 'view') {
557
+		return (int) $this->get_prop('uses', $context);
558 558
 	}
559 559
 
560 560
 	/**
@@ -564,8 +564,8 @@  discard block
 block discarded – undo
564 564
 	 * @param  string $context View or edit context.
565 565
 	 * @return int
566 566
 	 */
567
-	public function get_max_uses( $context = 'view' ) {
568
-		return $this->get_prop( 'max_uses', $context );
567
+	public function get_max_uses($context = 'view') {
568
+		return $this->get_prop('max_uses', $context);
569 569
 	}
570 570
 
571 571
 	/**
@@ -575,8 +575,8 @@  discard block
 block discarded – undo
575 575
 	 * @param  string $context View or edit context.
576 576
 	 * @return bool
577 577
 	 */
578
-	public function get_is_single_use( $context = 'view' ) {
579
-		return $this->get_prop( 'is_single_use', $context );
578
+	public function get_is_single_use($context = 'view') {
579
+		return $this->get_prop('is_single_use', $context);
580 580
 	}
581 581
 
582 582
 	/**
@@ -586,8 +586,8 @@  discard block
 block discarded – undo
586 586
 	 * @param  string $context View or edit context.
587 587
 	 * @return array
588 588
 	 */
589
-	public function get_items( $context = 'view' ) {
590
-		return wpinv_parse_list( $this->get_prop( 'items', $context ) );
589
+	public function get_items($context = 'view') {
590
+		return wpinv_parse_list($this->get_prop('items', $context));
591 591
 	}
592 592
 
593 593
 	/**
@@ -597,8 +597,8 @@  discard block
 block discarded – undo
597 597
 	 * @param  string $context View or edit context.
598 598
 	 * @return array
599 599
 	 */
600
-	public function get_allowed_items( $context = 'view' ) {
601
-		return $this->get_items( $context );
600
+	public function get_allowed_items($context = 'view') {
601
+		return $this->get_items($context);
602 602
 	}
603 603
 
604 604
 	/**
@@ -608,8 +608,8 @@  discard block
 block discarded – undo
608 608
 	 * @param  string $context View or edit context.
609 609
 	 * @return array
610 610
 	 */
611
-	public function get_excluded_items( $context = 'view' ) {
612
-		return wpinv_parse_list( $this->get_prop( 'excluded_items', $context ) );
611
+	public function get_excluded_items($context = 'view') {
612
+		return wpinv_parse_list($this->get_prop('excluded_items', $context));
613 613
 	}
614 614
 
615 615
 	/**
@@ -619,8 +619,8 @@  discard block
 block discarded – undo
619 619
 	 * @param  string $context View or edit context.
620 620
 	 * @return int|string|bool
621 621
 	 */
622
-	public function get_is_recurring( $context = 'view' ) {
623
-		return $this->get_prop( 'is_recurring', $context );
622
+	public function get_is_recurring($context = 'view') {
623
+		return $this->get_prop('is_recurring', $context);
624 624
 	}
625 625
 
626 626
 	/**
@@ -630,8 +630,8 @@  discard block
 block discarded – undo
630 630
 	 * @param  string $context View or edit context.
631 631
 	 * @return float
632 632
 	 */
633
-	public function get_min_total( $context = 'view' ) {
634
-		return $this->get_prop( 'min_total', $context );
633
+	public function get_min_total($context = 'view') {
634
+		return $this->get_prop('min_total', $context);
635 635
 	}
636 636
 
637 637
 	/**
@@ -641,8 +641,8 @@  discard block
 block discarded – undo
641 641
 	 * @param  string $context View or edit context.
642 642
 	 * @return float
643 643
 	 */
644
-	public function get_minimum_total( $context = 'view' ) {
645
-		return $this->get_min_total( $context );
644
+	public function get_minimum_total($context = 'view') {
645
+		return $this->get_min_total($context);
646 646
 	}
647 647
 
648 648
 	/**
@@ -652,8 +652,8 @@  discard block
 block discarded – undo
652 652
 	 * @param  string $context View or edit context.
653 653
 	 * @return float
654 654
 	 */
655
-	public function get_max_total( $context = 'view' ) {
656
-		return $this->get_prop( 'max_total', $context );
655
+	public function get_max_total($context = 'view') {
656
+		return $this->get_prop('max_total', $context);
657 657
 	}
658 658
 
659 659
 	/**
@@ -663,15 +663,15 @@  discard block
 block discarded – undo
663 663
 	 * @param  string $context View or edit context.
664 664
 	 * @return float
665 665
 	 */
666
-	public function get_maximum_total( $context = 'view' ) {
667
-		return $this->get_max_total( $context );
666
+	public function get_maximum_total($context = 'view') {
667
+		return $this->get_max_total($context);
668 668
 	}
669 669
 
670 670
 	/**
671 671
      * Margic method for retrieving a property.
672 672
      */
673
-    public function __get( $key ) {
674
-        return $this->get( $key );
673
+    public function __get($key) {
674
+        return $this->get($key);
675 675
     }
676 676
 
677 677
 	/**
@@ -684,19 +684,19 @@  discard block
 block discarded – undo
684 684
 	 * @param  string $context View or edit context.
685 685
 	 * @return mixed Value of the given discount property (if set).
686 686
 	 */
687
-	public function get( $key, $context = 'view' ) {
687
+	public function get($key, $context = 'view') {
688 688
 
689 689
 		// Check if we have a helper method for that.
690
-        if ( method_exists( $this, 'get_' . $key ) ) {
691
-            return call_user_func( array( $this, 'get_' . $key ), $context );
690
+        if (method_exists($this, 'get_' . $key)) {
691
+            return call_user_func(array($this, 'get_' . $key), $context);
692 692
         }
693 693
 
694 694
         // Check if the key is in the associated $post object.
695
-        if ( ! empty( $this->post ) && isset( $this->post->$key ) ) {
695
+        if (!empty($this->post) && isset($this->post->$key)) {
696 696
             return $this->post->$key;
697 697
         }
698 698
 
699
-        return $this->get_prop( $key, $context );
699
+        return $this->get_prop($key, $context);
700 700
 
701 701
 	}
702 702
 
@@ -717,10 +717,10 @@  discard block
 block discarded – undo
717 717
 	 * @param  string $status New status.
718 718
 	 * @return array details of change.
719 719
 	 */
720
-	public function set_status( $status ) {
720
+	public function set_status($status) {
721 721
         $old_status = $this->get_status();
722 722
 
723
-        $this->set_prop( 'status', $status );
723
+        $this->set_prop('status', $status);
724 724
 
725 725
 		return array(
726 726
 			'from' => $old_status,
@@ -733,8 +733,8 @@  discard block
 block discarded – undo
733 733
 	 *
734 734
 	 * @since 1.0.19
735 735
 	 */
736
-	public function set_version( $value ) {
737
-		$this->set_prop( 'version', $value );
736
+	public function set_version($value) {
737
+		$this->set_prop('version', $value);
738 738
     }
739 739
 
740 740
     /**
@@ -744,11 +744,11 @@  discard block
 block discarded – undo
744 744
 	 * @param string $value Value to set.
745 745
      * @return bool Whether or not the date was set.
746 746
 	 */
747
-	public function set_date_created( $value ) {
748
-        $date = strtotime( $value );
747
+	public function set_date_created($value) {
748
+        $date = strtotime($value);
749 749
 
750
-        if ( $date ) {
751
-            $this->set_prop( 'date_created', date( 'Y-m-d H:i:s', $date ) );
750
+        if ($date) {
751
+            $this->set_prop('date_created', date('Y-m-d H:i:s', $date));
752 752
             return true;
753 753
         }
754 754
 
@@ -763,11 +763,11 @@  discard block
 block discarded – undo
763 763
 	 * @param string $value Value to set.
764 764
      * @return bool Whether or not the date was set.
765 765
 	 */
766
-	public function set_date_modified( $value ) {
767
-        $date = strtotime( $value );
766
+	public function set_date_modified($value) {
767
+        $date = strtotime($value);
768 768
 
769
-        if ( $date ) {
770
-            $this->set_prop( 'date_modified', date( 'Y-m-d H:i:s', $date ) );
769
+        if ($date) {
770
+            $this->set_prop('date_modified', date('Y-m-d H:i:s', $date));
771 771
             return true;
772 772
         }
773 773
 
@@ -781,9 +781,9 @@  discard block
 block discarded – undo
781 781
 	 * @since 1.0.19
782 782
 	 * @param  string $value New name.
783 783
 	 */
784
-	public function set_name( $value ) {
785
-        $name = sanitize_text_field( $value );
786
-		$this->set_prop( 'name', $name );
784
+	public function set_name($value) {
785
+        $name = sanitize_text_field($value);
786
+		$this->set_prop('name', $name);
787 787
     }
788 788
 
789 789
     /**
@@ -792,8 +792,8 @@  discard block
 block discarded – undo
792 792
 	 * @since 1.0.19
793 793
 	 * @param  string $value New name.
794 794
 	 */
795
-	public function set_title( $value ) {
796
-		$this->set_name( $value );
795
+	public function set_title($value) {
796
+		$this->set_name($value);
797 797
     }
798 798
 
799 799
     /**
@@ -802,9 +802,9 @@  discard block
 block discarded – undo
802 802
 	 * @since 1.0.19
803 803
 	 * @param  string $value New description.
804 804
 	 */
805
-	public function set_description( $value ) {
806
-        $description = wp_kses_post( $value );
807
-		return $this->set_prop( 'description', $description );
805
+	public function set_description($value) {
806
+        $description = wp_kses_post($value);
807
+		return $this->set_prop('description', $description);
808 808
     }
809 809
 
810 810
     /**
@@ -813,8 +813,8 @@  discard block
 block discarded – undo
813 813
 	 * @since 1.0.19
814 814
 	 * @param  string $value New description.
815 815
 	 */
816
-	public function set_excerpt( $value ) {
817
-		$this->set_description( $value );
816
+	public function set_excerpt($value) {
817
+		$this->set_description($value);
818 818
     }
819 819
 
820 820
     /**
@@ -823,8 +823,8 @@  discard block
 block discarded – undo
823 823
 	 * @since 1.0.19
824 824
 	 * @param  string $value New description.
825 825
 	 */
826
-	public function set_summary( $value ) {
827
-		$this->set_description( $value );
826
+	public function set_summary($value) {
827
+		$this->set_description($value);
828 828
     }
829 829
 
830 830
     /**
@@ -833,8 +833,8 @@  discard block
 block discarded – undo
833 833
 	 * @since 1.0.19
834 834
 	 * @param  int $value New author.
835 835
 	 */
836
-	public function set_author( $value ) {
837
-		$this->set_prop( 'author', (int) $value );
836
+	public function set_author($value) {
837
+		$this->set_prop('author', (int) $value);
838 838
 	}
839 839
 	
840 840
 	/**
@@ -843,9 +843,9 @@  discard block
 block discarded – undo
843 843
 	 * @since 1.0.19
844 844
 	 * @param string $value New discount code.
845 845
 	 */
846
-	public function set_code( $value ) {
847
-		$code = sanitize_text_field( $value );
848
-		$this->set_prop( 'author', $code );
846
+	public function set_code($value) {
847
+		$code = sanitize_text_field($value);
848
+		$this->set_prop('author', $code);
849 849
 	}
850 850
 	
851 851
 	/**
@@ -854,8 +854,8 @@  discard block
 block discarded – undo
854 854
 	 * @since 1.0.19
855 855
 	 * @param string $value New discount code.
856 856
 	 */
857
-	public function set_coupon_code( $value ) {
858
-		$this->set_code( $value );
857
+	public function set_coupon_code($value) {
858
+		$this->set_code($value);
859 859
 	}
860 860
 	
861 861
 	/**
@@ -864,8 +864,8 @@  discard block
 block discarded – undo
864 864
 	 * @since 1.0.19
865 865
 	 * @param string $value New discount code.
866 866
 	 */
867
-	public function set_discount_code( $value ) {
868
-		$this->set_code( $value );
867
+	public function set_discount_code($value) {
868
+		$this->set_code($value);
869 869
 	}
870 870
 	
871 871
 	/**
@@ -874,9 +874,9 @@  discard block
 block discarded – undo
874 874
 	 * @since 1.0.19
875 875
 	 * @param float $value New discount code.
876 876
 	 */
877
-	public function set_amount( $value ) {
878
-		$amount = floatval( wpinv_sanitize_amount( $value ) );
879
-		$this->set_prop( 'amount', $amount );
877
+	public function set_amount($value) {
878
+		$amount = floatval(wpinv_sanitize_amount($value));
879
+		$this->set_prop('amount', $amount);
880 880
 	}
881 881
 
882 882
 	/**
@@ -885,15 +885,15 @@  discard block
 block discarded – undo
885 885
 	 * @since 1.0.19
886 886
 	 * @param float $value New start date.
887 887
 	 */
888
-	public function set_start( $value ) {
889
-		$date = strtotime( $value );
888
+	public function set_start($value) {
889
+		$date = strtotime($value);
890 890
 
891
-        if ( $date ) {
892
-            $this->set_prop( 'start', date( 'Y-m-d H:i:s', $date ) );
891
+        if ($date) {
892
+            $this->set_prop('start', date('Y-m-d H:i:s', $date));
893 893
             return true;
894 894
 		}
895 895
 		
896
-		$this->set_prop( 'expiration', '' );
896
+		$this->set_prop('expiration', '');
897 897
 
898 898
         return false;
899 899
 	}
@@ -904,8 +904,8 @@  discard block
 block discarded – undo
904 904
 	 * @since 1.0.19
905 905
 	 * @param string $value New start date.
906 906
 	 */
907
-	public function set_start_date( $value ) {
908
-		$this->set_start( $value );
907
+	public function set_start_date($value) {
908
+		$this->set_start($value);
909 909
 	}
910 910
 
911 911
 	/**
@@ -914,15 +914,15 @@  discard block
 block discarded – undo
914 914
 	 * @since 1.0.19
915 915
 	 * @param float $value New expiration date.
916 916
 	 */
917
-	public function set_expiration( $value ) {
918
-		$date = strtotime( $value );
917
+	public function set_expiration($value) {
918
+		$date = strtotime($value);
919 919
 
920
-        if ( $date ) {
921
-            $this->set_prop( 'expiration', date( 'Y-m-d H:i:s', $date ) );
920
+        if ($date) {
921
+            $this->set_prop('expiration', date('Y-m-d H:i:s', $date));
922 922
             return true;
923 923
         }
924 924
 
925
-		$this->set_prop( 'expiration', '' );
925
+		$this->set_prop('expiration', '');
926 926
         return false;
927 927
 	}
928 928
 
@@ -932,8 +932,8 @@  discard block
 block discarded – undo
932 932
 	 * @since 1.0.19
933 933
 	 * @param string $value New expiration date.
934 934
 	 */
935
-	public function set_expiration_date( $value ) {
936
-		$this->set_expiration( $value );
935
+	public function set_expiration_date($value) {
936
+		$this->set_expiration($value);
937 937
 	}
938 938
 
939 939
 	/**
@@ -942,8 +942,8 @@  discard block
 block discarded – undo
942 942
 	 * @since 1.0.19
943 943
 	 * @param string $value New expiration date.
944 944
 	 */
945
-	public function set_end_date( $value ) {
946
-		$this->set_expiration( $value );
945
+	public function set_end_date($value) {
946
+		$this->set_expiration($value);
947 947
 	}
948 948
 
949 949
 	/**
@@ -952,8 +952,8 @@  discard block
 block discarded – undo
952 952
 	 * @since 1.0.19
953 953
 	 * @param string $value New discount type.
954 954
 	 */
955
-	public function set_type( $value ) {
956
-		$this->set_prop( 'type', $value );
955
+	public function set_type($value) {
956
+		$this->set_prop('type', $value);
957 957
 	}
958 958
 
959 959
 	/**
@@ -962,15 +962,15 @@  discard block
 block discarded – undo
962 962
 	 * @since 1.0.19
963 963
 	 * @param int $value usage count.
964 964
 	 */
965
-	public function set_uses( $value ) {
965
+	public function set_uses($value) {
966 966
 
967 967
 		$value = (int) $value;
968 968
 
969
-		if ( $value < 0 ) {
969
+		if ($value < 0) {
970 970
 			$value = 0;
971 971
 		}
972 972
 
973
-		$this->set_prop( 'uses', (int) $value );
973
+		$this->set_prop('uses', (int) $value);
974 974
 	}
975 975
 
976 976
 	/**
@@ -979,8 +979,8 @@  discard block
 block discarded – undo
979 979
 	 * @since 1.0.19
980 980
 	 * @param int $value maximum usage count.
981 981
 	 */
982
-	public function set_max_uses( $value ) {
983
-		$this->set_prop( 'max_uses', (int) $value );
982
+	public function set_max_uses($value) {
983
+		$this->set_prop('max_uses', (int) $value);
984 984
 	}
985 985
 
986 986
 	/**
@@ -989,8 +989,8 @@  discard block
 block discarded – undo
989 989
 	 * @since 1.0.19
990 990
 	 * @param int|bool $value is single use.
991 991
 	 */
992
-	public function set_is_single_use( $value ) {
993
-		$this->set_prop( 'is_single_use', (bool) $value );
992
+	public function set_is_single_use($value) {
993
+		$this->set_prop('is_single_use', (bool) $value);
994 994
 	}
995 995
 
996 996
 	/**
@@ -999,8 +999,8 @@  discard block
 block discarded – undo
999 999
 	 * @since 1.0.19
1000 1000
 	 * @param array $value items.
1001 1001
 	 */
1002
-	public function set_items( $value ) {
1003
-		$this->set_prop( 'items', wpinv_parse_list( $value ) );
1002
+	public function set_items($value) {
1003
+		$this->set_prop('items', wpinv_parse_list($value));
1004 1004
 	}
1005 1005
 
1006 1006
 	/**
@@ -1009,8 +1009,8 @@  discard block
 block discarded – undo
1009 1009
 	 * @since 1.0.19
1010 1010
 	 * @param array $value items.
1011 1011
 	 */
1012
-	public function set_allowed_items( $value ) {
1013
-		$this->set_items( $value );
1012
+	public function set_allowed_items($value) {
1013
+		$this->set_items($value);
1014 1014
 	}
1015 1015
 
1016 1016
 	/**
@@ -1019,8 +1019,8 @@  discard block
 block discarded – undo
1019 1019
 	 * @since 1.0.19
1020 1020
 	 * @param array $value items.
1021 1021
 	 */
1022
-	public function set_excluded_items( $value ) {
1023
-		$this->set_prop( 'excluded_items', wpinv_parse_list( $value ) );
1022
+	public function set_excluded_items($value) {
1023
+		$this->set_prop('excluded_items', wpinv_parse_list($value));
1024 1024
 	}
1025 1025
 
1026 1026
 	/**
@@ -1029,8 +1029,8 @@  discard block
 block discarded – undo
1029 1029
 	 * @since 1.0.19
1030 1030
 	 * @param int|bool $value is recurring.
1031 1031
 	 */
1032
-	public function set_is_recurring( $value ) {
1033
-		$this->set_prop( 'is_recurring', (bool) $value );
1032
+	public function set_is_recurring($value) {
1033
+		$this->set_prop('is_recurring', (bool) $value);
1034 1034
 	}
1035 1035
 
1036 1036
 	/**
@@ -1039,8 +1039,8 @@  discard block
 block discarded – undo
1039 1039
 	 * @since 1.0.19
1040 1040
 	 * @param float $value minimum total.
1041 1041
 	 */
1042
-	public function set_min_total( $value ) {
1043
-		$this->set_prop( 'min_total', (float) wpinv_sanitize_amount( $value ) );
1042
+	public function set_min_total($value) {
1043
+		$this->set_prop('min_total', (float) wpinv_sanitize_amount($value));
1044 1044
 	}
1045 1045
 
1046 1046
 	/**
@@ -1049,8 +1049,8 @@  discard block
 block discarded – undo
1049 1049
 	 * @since 1.0.19
1050 1050
 	 * @param float $value minimum total.
1051 1051
 	 */
1052
-	public function set_minimum_total( $value ) {
1053
-		$this->set_min_total( $value );
1052
+	public function set_minimum_total($value) {
1053
+		$this->set_min_total($value);
1054 1054
 	}
1055 1055
 
1056 1056
 	/**
@@ -1059,8 +1059,8 @@  discard block
 block discarded – undo
1059 1059
 	 * @since 1.0.19
1060 1060
 	 * @param float $value maximum total.
1061 1061
 	 */
1062
-	public function set_max_total( $value ) {
1063
-		$this->set_prop( 'max_total', (float) wpinv_sanitize_amount( $value ) );
1062
+	public function set_max_total($value) {
1063
+		$this->set_prop('max_total', (float) wpinv_sanitize_amount($value));
1064 1064
 	}
1065 1065
 
1066 1066
 	/**
@@ -1069,8 +1069,8 @@  discard block
 block discarded – undo
1069 1069
 	 * @since 1.0.19
1070 1070
 	 * @param float $value maximum total.
1071 1071
 	 */
1072
-	public function set_maximum_total( $value ) {
1073
-		$this->set_max_total( $value );
1072
+	public function set_maximum_total($value) {
1073
+		$this->set_max_total($value);
1074 1074
 	}
1075 1075
 
1076 1076
 	/**
@@ -1082,16 +1082,16 @@  discard block
 block discarded – undo
1082 1082
 	 * @access public
1083 1083
 	 *
1084 1084
 	 */
1085
-	public function __set( $key, $value ) {
1085
+	public function __set($key, $value) {
1086 1086
 
1087
-		if ( 'id' == strtolower( $key ) ) {
1088
-			return $this->set_id( $value );
1087
+		if ('id' == strtolower($key)) {
1088
+			return $this->set_id($value);
1089 1089
 		}
1090 1090
 
1091
-		if ( method_exists( $this, "set_$key") ) {
1092
-			call_user_func( array( $this, "set_$key" ), $value );
1091
+		if (method_exists($this, "set_$key")) {
1092
+			call_user_func(array($this, "set_$key"), $value);
1093 1093
 		} else {
1094
-			$this->set_prop( $key, $value );
1094
+			$this->set_prop($key, $value);
1095 1095
 		}
1096 1096
 
1097 1097
 	}
@@ -1099,16 +1099,16 @@  discard block
 block discarded – undo
1099 1099
 	/**
1100 1100
 	 * @deprecated
1101 1101
 	 */
1102
-	public function refresh(){}
1102
+	public function refresh() {}
1103 1103
 
1104 1104
 	/**
1105 1105
 	 * @deprecated
1106 1106
 	 *
1107 1107
 	 */
1108
-	public function update_status( $status = 'publish' ){
1108
+	public function update_status($status = 'publish') {
1109 1109
 
1110
-		if ( $this->exists() && $this->get_status() != $status ) {
1111
-			$this->set_status( $status );
1110
+		if ($this->exists() && $this->get_status() != $status) {
1111
+			$this->set_status($status);
1112 1112
 			$this->save();
1113 1113
 		}
1114 1114
 
@@ -1128,9 +1128,9 @@  discard block
 block discarded – undo
1128 1128
 	 *
1129 1129
 	 * @since 1.0.15
1130 1130
 	 */
1131
-	public function exists(){
1131
+	public function exists() {
1132 1132
 		$id = $this->get_id();
1133
-		return ! empty( $id );
1133
+		return !empty($id);
1134 1134
 	}
1135 1135
 
1136 1136
 	/**
@@ -1141,7 +1141,7 @@  discard block
 block discarded – undo
1141 1141
 	 * @since 1.0.15
1142 1142
 	 * @return bool
1143 1143
 	 */
1144
-	public function is_type( $type ) {
1144
+	public function is_type($type) {
1145 1145
 		return $this->get_type() == $type;
1146 1146
 	}
1147 1147
 
@@ -1163,7 +1163,7 @@  discard block
 block discarded – undo
1163 1163
 	 */
1164 1164
 	public function has_limit() {
1165 1165
 		$limit = $this->get_max_uses();
1166
-		return ! empty( $limit );
1166
+		return !empty($limit);
1167 1167
 	}
1168 1168
 
1169 1169
 	/**
@@ -1184,13 +1184,13 @@  discard block
 block discarded – undo
1184 1184
 	 */
1185 1185
 	public function has_exceeded_limit() {
1186 1186
 
1187
-		if ( ! $this->has_limit() || ! $this->has_uses() ) {
1188
-			$exceeded = false ;
1187
+		if (!$this->has_limit() || !$this->has_uses()) {
1188
+			$exceeded = false;
1189 1189
 		} else {
1190
-			$exceeded = ! ( (int) $this->get_max_uses() < $this->get_uses() );
1190
+			$exceeded = !((int) $this->get_max_uses() < $this->get_uses());
1191 1191
 		}
1192 1192
 
1193
-		return apply_filters( 'wpinv_is_discount_maxed_out', $exceeded, $this->ID, $this, $this->code );
1193
+		return apply_filters('wpinv_is_discount_maxed_out', $exceeded, $this->ID, $this, $this->code);
1194 1194
 	}
1195 1195
 
1196 1196
 	/**
@@ -1201,7 +1201,7 @@  discard block
 block discarded – undo
1201 1201
 	 */
1202 1202
 	public function has_expiration_date() {
1203 1203
 		$date = $this->get_expiration_date();
1204
-		return ! empty( $date );
1204
+		return !empty($date);
1205 1205
 	}
1206 1206
 
1207 1207
 	/**
@@ -1211,8 +1211,8 @@  discard block
 block discarded – undo
1211 1211
 	 * @return bool
1212 1212
 	 */
1213 1213
 	public function is_expired() {
1214
-		$expired = $this->has_expiration_date() ? false : current_time( 'timestamp' ) > strtotime( $this->get_expiration_date() );
1215
-		return apply_filters( 'wpinv_is_discount_expired', $expired, $this->ID, $this, $this->code );
1214
+		$expired = $this->has_expiration_date() ? false : current_time('timestamp') > strtotime($this->get_expiration_date());
1215
+		return apply_filters('wpinv_is_discount_expired', $expired, $this->ID, $this, $this->code);
1216 1216
 	}
1217 1217
 
1218 1218
 	/**
@@ -1223,7 +1223,7 @@  discard block
 block discarded – undo
1223 1223
 	 */
1224 1224
 	public function has_start_date() {
1225 1225
 		$date = $this->get_start_date();
1226
-		return ! empty( $date );
1226
+		return !empty($date);
1227 1227
 	}
1228 1228
 
1229 1229
 	/**
@@ -1233,8 +1233,8 @@  discard block
 block discarded – undo
1233 1233
 	 * @return bool
1234 1234
 	 */
1235 1235
 	public function has_started() {
1236
-		$started = $this->has_start_date() ? true : current_time( 'timestamp' ) > strtotime( $this->get_start_date() );
1237
-		return apply_filters( 'wpinv_is_discount_started', $started, $this->ID, $this, $this->code );
1236
+		$started = $this->has_start_date() ? true : current_time('timestamp') > strtotime($this->get_start_date());
1237
+		return apply_filters('wpinv_is_discount_started', $started, $this->ID, $this, $this->code);
1238 1238
 	}
1239 1239
 
1240 1240
 	/**
@@ -1245,7 +1245,7 @@  discard block
 block discarded – undo
1245 1245
 	 */
1246 1246
 	public function has_allowed_items() {
1247 1247
 		$allowed_items = $this->get_allowed_items();
1248
-		return empty( $allowed_items );
1248
+		return empty($allowed_items);
1249 1249
 	}
1250 1250
 
1251 1251
 	/**
@@ -1256,7 +1256,7 @@  discard block
 block discarded – undo
1256 1256
 	 */
1257 1257
 	public function has_excluded_items() {
1258 1258
 		$excluded_items = $this->get_excluded_items();
1259
-		return empty( $excluded_items );
1259
+		return empty($excluded_items);
1260 1260
 	}
1261 1261
 
1262 1262
 	/**
@@ -1266,17 +1266,17 @@  discard block
 block discarded – undo
1266 1266
 	 * @since 1.0.15
1267 1267
 	 * @return boolean
1268 1268
 	 */
1269
-	public function is_valid_for_items( $item_ids ) {
1269
+	public function is_valid_for_items($item_ids) {
1270 1270
 
1271
-		$item_ids = array_map( 'intval',  wpinv_parse_list( $item_ids ) );
1272
-		$included = array_intersect( $item_ids, $this->get_allowed_items() );
1273
-		$excluded = array_intersect( $item_ids, $this->get_excluded_items() );
1271
+		$item_ids = array_map('intval', wpinv_parse_list($item_ids));
1272
+		$included = array_intersect($item_ids, $this->get_allowed_items());
1273
+		$excluded = array_intersect($item_ids, $this->get_excluded_items());
1274 1274
 
1275
-		if ( $this->has_excluded_items() && ! empty( $excluded ) ) {
1275
+		if ($this->has_excluded_items() && !empty($excluded)) {
1276 1276
 			return false;
1277 1277
 		}
1278 1278
 
1279
-		if ( $this->has_allowed_items() && empty( $included ) ) {
1279
+		if ($this->has_allowed_items() && empty($included)) {
1280 1280
 			return false;
1281 1281
 		}
1282 1282
 		return true;
@@ -1289,8 +1289,8 @@  discard block
 block discarded – undo
1289 1289
 	 * @since 1.0.15
1290 1290
 	 * @return boolean
1291 1291
 	 */
1292
-	public function is_valid_for_amount( $amount ) {
1293
-		return $this->is_minimum_amount_met( $amount ) && $this->is_maximum_amount_met( $amount );
1292
+	public function is_valid_for_amount($amount) {
1293
+		return $this->is_minimum_amount_met($amount) && $this->is_maximum_amount_met($amount);
1294 1294
 	}
1295 1295
 
1296 1296
 	/**
@@ -1301,7 +1301,7 @@  discard block
 block discarded – undo
1301 1301
 	 */
1302 1302
 	public function has_minimum_amount() {
1303 1303
 		$minimum = $this->get_minimum_total();
1304
-		return ! empty( $minimum );
1304
+		return !empty($minimum);
1305 1305
 	}
1306 1306
 
1307 1307
 	/**
@@ -1311,10 +1311,10 @@  discard block
 block discarded – undo
1311 1311
 	 * @since 1.0.15
1312 1312
 	 * @return boolean
1313 1313
 	 */
1314
-	public function is_minimum_amount_met( $amount ) {
1315
-		$amount = floatval( wpinv_sanitize_amount( $amount ) );
1316
-		$min_met= ! ( $this->has_minimum_amount() && $amount < floatval( wpinv_sanitize_amount( $this->get_minimum_total() ) ) );
1317
-		return apply_filters( 'wpinv_is_discount_min_met', $min_met, $this->ID, $this, $this->code, $amount );
1314
+	public function is_minimum_amount_met($amount) {
1315
+		$amount = floatval(wpinv_sanitize_amount($amount));
1316
+		$min_met = !($this->has_minimum_amount() && $amount < floatval(wpinv_sanitize_amount($this->get_minimum_total())));
1317
+		return apply_filters('wpinv_is_discount_min_met', $min_met, $this->ID, $this, $this->code, $amount);
1318 1318
 	}
1319 1319
 
1320 1320
 	/**
@@ -1325,7 +1325,7 @@  discard block
 block discarded – undo
1325 1325
 	 */
1326 1326
 	public function has_maximum_amount() {
1327 1327
 		$maximum = $this->get_maximum_total();
1328
-		return ! empty( $maximum );
1328
+		return !empty($maximum);
1329 1329
 	}
1330 1330
 
1331 1331
 	/**
@@ -1335,10 +1335,10 @@  discard block
 block discarded – undo
1335 1335
 	 * @since 1.0.15
1336 1336
 	 * @return boolean
1337 1337
 	 */
1338
-	public function is_maximum_amount_met( $amount ) {
1339
-		$amount = floatval( wpinv_sanitize_amount( $amount ) );
1340
-		$max_met= ! ( $this->has_maximum_amount() && $amount > floatval( wpinv_sanitize_amount( $this->get_maximum_total() ) ) );
1341
-		return apply_filters( 'wpinv_is_discount_max_met', $max_met, $this->ID, $this, $this->code, $amount );
1338
+	public function is_maximum_amount_met($amount) {
1339
+		$amount = floatval(wpinv_sanitize_amount($amount));
1340
+		$max_met = !($this->has_maximum_amount() && $amount > floatval(wpinv_sanitize_amount($this->get_maximum_total())));
1341
+		return apply_filters('wpinv_is_discount_max_met', $max_met, $this->ID, $this, $this->code, $amount);
1342 1342
 	}
1343 1343
 
1344 1344
 	/**
@@ -1349,7 +1349,7 @@  discard block
 block discarded – undo
1349 1349
 	 */
1350 1350
 	public function is_recurring() {
1351 1351
 		$recurring = $this->get_is_recurring();
1352
-		return ! empty( $recurring );
1352
+		return !empty($recurring);
1353 1353
 	}
1354 1354
 
1355 1355
 	/**
@@ -1360,7 +1360,7 @@  discard block
 block discarded – undo
1360 1360
 	 */
1361 1361
 	public function is_single_use() {
1362 1362
 		$usage = $this->get_is_single_use();
1363
-		return ! empty( $usage );
1363
+		return !empty($usage);
1364 1364
 	}
1365 1365
 
1366 1366
 	/**
@@ -1370,57 +1370,57 @@  discard block
 block discarded – undo
1370 1370
 	 * @since 1.0.15
1371 1371
 	 * @return boolean
1372 1372
 	 */
1373
-	public function is_valid_for_user( $user ) {
1373
+	public function is_valid_for_user($user) {
1374 1374
 		global $wpi_checkout_id;
1375 1375
 
1376 1376
 		// Ensure that the discount is single use.
1377
-		if ( empty( $user ) || ! $this->is_single_use() ) {
1377
+		if (empty($user) || !$this->is_single_use()) {
1378 1378
 			return true;
1379 1379
 		}
1380 1380
 
1381 1381
 		// Prepare the user id.
1382 1382
 		$user_id = 0;
1383
-        if ( is_int( $user ) ) {
1384
-            $user_id = absint( $user );
1385
-        } else if ( is_email( $user ) && $user_data = get_user_by( 'email', $user ) ) {
1383
+        if (is_int($user)) {
1384
+            $user_id = absint($user);
1385
+        } else if (is_email($user) && $user_data = get_user_by('email', $user)) {
1386 1386
             $user_id = $user_data->ID;
1387
-        } else if ( $user_data = get_user_by( 'login', $user ) ) {
1387
+        } else if ($user_data = get_user_by('login', $user)) {
1388 1388
             $user_id = $user_data->ID;
1389
-        } else if ( absint( $user ) > 0 ) {
1390
-            $user_id = absint( $user );
1389
+        } else if (absint($user) > 0) {
1390
+            $user_id = absint($user);
1391 1391
 		}
1392 1392
 
1393 1393
 		// Ensure that we have a user.
1394
-		if ( empty( $user_id ) ) {
1394
+		if (empty($user_id)) {
1395 1395
 			return true;
1396 1396
 		}
1397 1397
 
1398 1398
 		// Get all payments with matching user id.
1399
-        $payments = wpinv_get_invoices( array( 'user' => $user_id, 'limit' => false ) );
1400
-		$code     = strtolower( $this->get_code() );
1399
+        $payments = wpinv_get_invoices(array('user' => $user_id, 'limit' => false));
1400
+		$code = strtolower($this->get_code());
1401 1401
 
1402 1402
 		// For each payment...
1403
-		foreach ( $payments as $payment ) {
1403
+		foreach ($payments as $payment) {
1404 1404
 
1405 1405
 			// ... skip the current payment.
1406
-			if ( ! empty( $wpi_checkout_id ) && $wpi_checkout_id == $payment->ID ) {
1406
+			if (!empty($wpi_checkout_id) && $wpi_checkout_id == $payment->ID) {
1407 1407
 				continue;
1408 1408
 			}
1409 1409
 
1410 1410
 			// And failed payments.
1411
-			if ( $payment->has_status( array( 'wpi-cancelled', 'wpi-failed' ) ) ) {
1411
+			if ($payment->has_status(array('wpi-cancelled', 'wpi-failed'))) {
1412 1412
 				continue;
1413 1413
 			}
1414 1414
 
1415 1415
 			// Retrieve all the discounts for the payment.
1416
-			$discounts = $payment->get_discounts( true );
1417
-			if ( empty( $discounts ) ) {
1416
+			$discounts = $payment->get_discounts(true);
1417
+			if (empty($discounts)) {
1418 1418
 				continue;
1419 1419
 			}
1420 1420
 
1421 1421
 			// And check if the current discount is amongst them.
1422
-			$discounts = array_map( 'strtolower', wpinv_parse_list( $discounts ) );
1423
-			if ( ! empty( $discounts ) && in_array( $code, $discounts ) ) {
1422
+			$discounts = array_map('strtolower', wpinv_parse_list($discounts));
1423
+			if (!empty($discounts) && in_array($code, $discounts)) {
1424 1424
 				return false;
1425 1425
 			}
1426 1426
 		}
@@ -1445,24 +1445,24 @@  discard block
 block discarded – undo
1445 1445
 	 * @param int $by The number of usages to increas by.
1446 1446
 	 * @return int
1447 1447
 	 */
1448
-	public function increase_usage( $by = 1 ) {
1448
+	public function increase_usage($by = 1) {
1449 1449
 
1450 1450
 		// Abort if zero.
1451
-		if ( empty( $by ) ) {
1451
+		if (empty($by)) {
1452 1452
 			return;
1453 1453
 		}
1454 1454
 
1455 1455
 		// Increase the usage.
1456
-		$this->set_uses( $this->get_uses() + (int) $by );
1456
+		$this->set_uses($this->get_uses() + (int) $by);
1457 1457
 
1458 1458
 		// Save the discount.
1459 1459
 		$this->save();
1460 1460
 
1461 1461
 		// Fire relevant hooks.
1462
-		if( (int) $by > 0 ) {
1463
-			do_action( 'wpinv_discount_increase_use_count', $this->uses, $this->ID, $this->code,  absint( $by ) );
1462
+		if ((int) $by > 0) {
1463
+			do_action('wpinv_discount_increase_use_count', $this->uses, $this->ID, $this->code, absint($by));
1464 1464
 		} else {
1465
-			do_action( 'wpinv_discount_decrease_use_count', $this->uses, $this->ID, $this->code, absint( $by ) );
1465
+			do_action('wpinv_discount_decrease_use_count', $this->uses, $this->ID, $this->code, absint($by));
1466 1466
 		}
1467 1467
 
1468 1468
 		// Return the number of times the discount has been used.
@@ -1486,7 +1486,7 @@  discard block
 block discarded – undo
1486 1486
 	 * @param float $amount
1487 1487
 	 * @return float
1488 1488
 	 */
1489
-	public function get_discounted_amount( $amount ) {
1489
+	public function get_discounted_amount($amount) {
1490 1490
 
1491 1491
 		// Convert amount to float.
1492 1492
 		$amount = (float) $amount;
@@ -1494,29 +1494,29 @@  discard block
 block discarded – undo
1494 1494
 		// Get discount amount.
1495 1495
 		$discount_amount = $this->get_amount();
1496 1496
 
1497
-		if ( empty( $discount_amount ) ) {
1497
+		if (empty($discount_amount)) {
1498 1498
 			return 0;
1499 1499
 		}
1500 1500
 
1501 1501
 		// Format the amount.
1502
-		$discount_amount = floatval( wpinv_sanitize_amount( $discount_amount ) );
1502
+		$discount_amount = floatval(wpinv_sanitize_amount($discount_amount));
1503 1503
 		
1504 1504
 		// If this is a percentage discount.
1505
-		if ( $this->is_type( 'percent' ) ) {
1506
-            $discount_amount = $amount * ( $discount_amount / 100 );
1505
+		if ($this->is_type('percent')) {
1506
+            $discount_amount = $amount * ($discount_amount / 100);
1507 1507
 		}
1508 1508
 
1509 1509
 		// Discount can not be less than zero...
1510
-		if ( $discount_amount < 0 ) {
1510
+		if ($discount_amount < 0) {
1511 1511
 			$discount_amount = 0;
1512 1512
 		}
1513 1513
 
1514 1514
 		// ... or more than the amount.
1515
-		if ( $discount_amount > $amount ) {
1515
+		if ($discount_amount > $amount) {
1516 1516
 			$discount_amount = $amount;
1517 1517
 		}
1518 1518
 
1519
-		return apply_filters( 'wpinv_discount_total_discount_amount', $discount_amount, $amount, $this );
1519
+		return apply_filters('wpinv_discount_total_discount_amount', $discount_amount, $amount, $this);
1520 1520
 	}
1521 1521
 
1522 1522
 }
Please login to merge, or discard this patch.
includes/class-wpinv-item.php 1 patch
Indentation   +605 added lines, -605 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,30 +10,30 @@  discard block
 block discarded – undo
10 10
 class WPInv_Item  extends GetPaid_Data {
11 11
 
12 12
     /**
13
-	 * Which data store to load.
14
-	 *
15
-	 * @var string
16
-	 */
13
+     * Which data store to load.
14
+     *
15
+     * @var string
16
+     */
17 17
     protected $data_store_name = 'item';
18 18
 
19 19
     /**
20
-	 * This is the name of this object type.
21
-	 *
22
-	 * @var string
23
-	 */
24
-	protected $object_type = 'item';
20
+     * This is the name of this object type.
21
+     *
22
+     * @var string
23
+     */
24
+    protected $object_type = 'item';
25 25
 
26 26
     /**
27
-	 * Item Data array. This is the core item data exposed in APIs.
28
-	 *
29
-	 * @since 1.0.19
30
-	 * @var array
31
-	 */
32
-	protected $data = array(
33
-		'parent_id'            => 0,
34
-		'status'               => 'draft',
35
-		'version'              => '',
36
-		'date_created'         => null,
27
+     * Item Data array. This is the core item data exposed in APIs.
28
+     *
29
+     * @since 1.0.19
30
+     * @var array
31
+     */
32
+    protected $data = array(
33
+        'parent_id'            => 0,
34
+        'status'               => 'draft',
35
+        'version'              => '',
36
+        'date_created'         => null,
37 37
         'date_modified'        => null,
38 38
         'name'                 => '',
39 39
         'description'          => '',
@@ -58,13 +58,13 @@  discard block
 block discarded – undo
58 58
     );
59 59
 
60 60
     /**
61
-	 * Stores meta in cache for future reads.
62
-	 *
63
-	 * A group must be set to to enable caching.
64
-	 *
65
-	 * @var string
66
-	 */
67
-	protected $cache_group = 'getpaid_items';
61
+     * Stores meta in cache for future reads.
62
+     *
63
+     * A group must be set to to enable caching.
64
+     *
65
+     * @var string
66
+     */
67
+    protected $cache_group = 'getpaid_items';
68 68
 
69 69
     /**
70 70
      * Stores a reference to the original WP_Post object
@@ -74,33 +74,33 @@  discard block
 block discarded – undo
74 74
     protected $post = null;
75 75
 
76 76
     /**
77
-	 * Get the item if ID is passed, otherwise the item is new and empty.
78
-	 *
79
-	 * @param  int|object|WPInv_Item|WP_Post $item Item to read.
80
-	 */
81
-	public function __construct( $item = 0 ) {
82
-		parent::__construct( $item );
83
-
84
-		if ( is_numeric( $item ) && $item > 0 ) {
85
-			$this->set_id( $item );
86
-		} elseif ( $item instanceof self ) {
87
-			$this->set_id( $item->get_id() );
88
-		} elseif ( ! empty( $item->ID ) ) {
89
-			$this->set_id( $item->ID );
90
-		} else {
91
-			$this->set_object_read( true );
92
-		}
77
+     * Get the item if ID is passed, otherwise the item is new and empty.
78
+     *
79
+     * @param  int|object|WPInv_Item|WP_Post $item Item to read.
80
+     */
81
+    public function __construct( $item = 0 ) {
82
+        parent::__construct( $item );
83
+
84
+        if ( is_numeric( $item ) && $item > 0 ) {
85
+            $this->set_id( $item );
86
+        } elseif ( $item instanceof self ) {
87
+            $this->set_id( $item->get_id() );
88
+        } elseif ( ! empty( $item->ID ) ) {
89
+            $this->set_id( $item->ID );
90
+        } else {
91
+            $this->set_object_read( true );
92
+        }
93 93
 
94 94
         // Load the datastore.
95
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
95
+        $this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
96 96
 
97
-		if ( $this->get_id() > 0 ) {
97
+        if ( $this->get_id() > 0 ) {
98 98
             $this->post = get_post( $this->get_id() );
99 99
             $this->ID   = $this->get_id();
100
-			$this->data_store->read( $this );
100
+            $this->data_store->read( $this );
101 101
         }
102 102
 
103
-	}
103
+    }
104 104
 
105 105
     /*
106 106
 	|--------------------------------------------------------------------------
@@ -118,193 +118,193 @@  discard block
 block discarded – undo
118 118
     */
119 119
 
120 120
     /**
121
-	 * Get parent item ID.
122
-	 *
123
-	 * @since 1.0.19
124
-	 * @param  string $context View or edit context.
125
-	 * @return int
126
-	 */
127
-	public function get_parent_id( $context = 'view' ) {
128
-		return (int) $this->get_prop( 'parent_id', $context );
121
+     * Get parent item ID.
122
+     *
123
+     * @since 1.0.19
124
+     * @param  string $context View or edit context.
125
+     * @return int
126
+     */
127
+    public function get_parent_id( $context = 'view' ) {
128
+        return (int) $this->get_prop( 'parent_id', $context );
129 129
     }
130 130
 
131 131
     /**
132
-	 * Get item status.
133
-	 *
134
-	 * @since 1.0.19
135
-	 * @param  string $context View or edit context.
136
-	 * @return string
137
-	 */
138
-	public function get_status( $context = 'view' ) {
139
-		return $this->get_prop( 'status', $context );
132
+     * Get item status.
133
+     *
134
+     * @since 1.0.19
135
+     * @param  string $context View or edit context.
136
+     * @return string
137
+     */
138
+    public function get_status( $context = 'view' ) {
139
+        return $this->get_prop( 'status', $context );
140 140
     }
141 141
 
142 142
     /**
143
-	 * Get plugin version when the item was created.
144
-	 *
145
-	 * @since 1.0.19
146
-	 * @param  string $context View or edit context.
147
-	 * @return string
148
-	 */
149
-	public function get_version( $context = 'view' ) {
150
-		return $this->get_prop( 'version', $context );
143
+     * Get plugin version when the item was created.
144
+     *
145
+     * @since 1.0.19
146
+     * @param  string $context View or edit context.
147
+     * @return string
148
+     */
149
+    public function get_version( $context = 'view' ) {
150
+        return $this->get_prop( 'version', $context );
151 151
     }
152 152
 
153 153
     /**
154
-	 * Get date when the item was created.
155
-	 *
156
-	 * @since 1.0.19
157
-	 * @param  string $context View or edit context.
158
-	 * @return string
159
-	 */
160
-	public function get_date_created( $context = 'view' ) {
161
-		return $this->get_prop( 'date_created', $context );
154
+     * Get date when the item was created.
155
+     *
156
+     * @since 1.0.19
157
+     * @param  string $context View or edit context.
158
+     * @return string
159
+     */
160
+    public function get_date_created( $context = 'view' ) {
161
+        return $this->get_prop( 'date_created', $context );
162 162
     }
163 163
 
164 164
     /**
165
-	 * Get GMT date when the item was created.
166
-	 *
167
-	 * @since 1.0.19
168
-	 * @param  string $context View or edit context.
169
-	 * @return string
170
-	 */
171
-	public function get_date_created_gmt( $context = 'view' ) {
165
+     * Get GMT date when the item was created.
166
+     *
167
+     * @since 1.0.19
168
+     * @param  string $context View or edit context.
169
+     * @return string
170
+     */
171
+    public function get_date_created_gmt( $context = 'view' ) {
172 172
         $date = $this->get_date_created( $context );
173 173
 
174 174
         if ( $date ) {
175 175
             $date = get_gmt_from_date( $date );
176 176
         }
177
-		return $date;
177
+        return $date;
178 178
     }
179 179
 
180 180
     /**
181
-	 * Get date when the item was last modified.
182
-	 *
183
-	 * @since 1.0.19
184
-	 * @param  string $context View or edit context.
185
-	 * @return string
186
-	 */
187
-	public function get_date_modified( $context = 'view' ) {
188
-		return $this->get_prop( 'date_modified', $context );
181
+     * Get date when the item was last modified.
182
+     *
183
+     * @since 1.0.19
184
+     * @param  string $context View or edit context.
185
+     * @return string
186
+     */
187
+    public function get_date_modified( $context = 'view' ) {
188
+        return $this->get_prop( 'date_modified', $context );
189 189
     }
190 190
 
191 191
     /**
192
-	 * Get GMT date when the item was last modified.
193
-	 *
194
-	 * @since 1.0.19
195
-	 * @param  string $context View or edit context.
196
-	 * @return string
197
-	 */
198
-	public function get_date_modified_gmt( $context = 'view' ) {
192
+     * Get GMT date when the item was last modified.
193
+     *
194
+     * @since 1.0.19
195
+     * @param  string $context View or edit context.
196
+     * @return string
197
+     */
198
+    public function get_date_modified_gmt( $context = 'view' ) {
199 199
         $date = $this->get_date_modified( $context );
200 200
 
201 201
         if ( $date ) {
202 202
             $date = get_gmt_from_date( $date );
203 203
         }
204
-		return $date;
204
+        return $date;
205 205
     }
206 206
 
207 207
     /**
208
-	 * Get the item name.
209
-	 *
210
-	 * @since 1.0.19
211
-	 * @param  string $context View or edit context.
212
-	 * @return string
213
-	 */
214
-	public function get_name( $context = 'view' ) {
215
-		return $this->get_prop( 'name', $context );
208
+     * Get the item name.
209
+     *
210
+     * @since 1.0.19
211
+     * @param  string $context View or edit context.
212
+     * @return string
213
+     */
214
+    public function get_name( $context = 'view' ) {
215
+        return $this->get_prop( 'name', $context );
216 216
     }
217 217
 
218 218
     /**
219
-	 * Alias of self::get_name().
220
-	 *
221
-	 * @since 1.0.19
222
-	 * @param  string $context View or edit context.
223
-	 * @return string
224
-	 */
225
-	public function get_title( $context = 'view' ) {
226
-		return $this->get_name( $context );
219
+     * Alias of self::get_name().
220
+     *
221
+     * @since 1.0.19
222
+     * @param  string $context View or edit context.
223
+     * @return string
224
+     */
225
+    public function get_title( $context = 'view' ) {
226
+        return $this->get_name( $context );
227 227
     }
228 228
 
229 229
     /**
230
-	 * Get the item description.
231
-	 *
232
-	 * @since 1.0.19
233
-	 * @param  string $context View or edit context.
234
-	 * @return string
235
-	 */
236
-	public function get_description( $context = 'view' ) {
237
-		return $this->get_prop( 'description', $context );
230
+     * Get the item description.
231
+     *
232
+     * @since 1.0.19
233
+     * @param  string $context View or edit context.
234
+     * @return string
235
+     */
236
+    public function get_description( $context = 'view' ) {
237
+        return $this->get_prop( 'description', $context );
238 238
     }
239 239
 
240 240
     /**
241
-	 * Alias of self::get_description().
242
-	 *
243
-	 * @since 1.0.19
244
-	 * @param  string $context View or edit context.
245
-	 * @return string
246
-	 */
247
-	public function get_excerpt( $context = 'view' ) {
248
-		return $this->get_description( $context );
241
+     * Alias of self::get_description().
242
+     *
243
+     * @since 1.0.19
244
+     * @param  string $context View or edit context.
245
+     * @return string
246
+     */
247
+    public function get_excerpt( $context = 'view' ) {
248
+        return $this->get_description( $context );
249 249
     }
250 250
 
251 251
     /**
252
-	 * Alias of self::get_description().
253
-	 *
254
-	 * @since 1.0.19
255
-	 * @param  string $context View or edit context.
256
-	 * @return string
257
-	 */
258
-	public function get_summary( $context = 'view' ) {
259
-		return $this->get_description( $context );
252
+     * Alias of self::get_description().
253
+     *
254
+     * @since 1.0.19
255
+     * @param  string $context View or edit context.
256
+     * @return string
257
+     */
258
+    public function get_summary( $context = 'view' ) {
259
+        return $this->get_description( $context );
260 260
     }
261 261
 
262 262
     /**
263
-	 * Get the owner of the item.
264
-	 *
265
-	 * @since 1.0.19
266
-	 * @param  string $context View or edit context.
267
-	 * @return string
268
-	 */
269
-	public function get_author( $context = 'view' ) {
270
-		return (int) $this->get_prop( 'author', $context );
263
+     * Get the owner of the item.
264
+     *
265
+     * @since 1.0.19
266
+     * @param  string $context View or edit context.
267
+     * @return string
268
+     */
269
+    public function get_author( $context = 'view' ) {
270
+        return (int) $this->get_prop( 'author', $context );
271 271
     }
272 272
 
273 273
     /**
274
-	 * Get the price of the item.
275
-	 *
276
-	 * @since 1.0.19
277
-	 * @param  string $context View or edit context.
278
-	 * @return float
279
-	 */
280
-	public function get_price( $context = 'view' ) {
274
+     * Get the price of the item.
275
+     *
276
+     * @since 1.0.19
277
+     * @param  string $context View or edit context.
278
+     * @return float
279
+     */
280
+    public function get_price( $context = 'view' ) {
281 281
         return wpinv_sanitize_amount( $this->get_prop( 'price', $context ) );
282
-	}
282
+    }
283 283
 	
284
-	/**
285
-	 * Get the inital price of the item.
286
-	 *
287
-	 * @since 1.0.19
288
-	 * @param  string $context View or edit context.
289
-	 * @return float
290
-	 */
291
-	public function get_initial_price( $context = 'view' ) {
292
-
293
-		$price = $this->get_price( $context );
294
-
295
-		if ( $this->has_free_trial() ) {
296
-			$price = wpinv_sanitize_amount( 0 );
297
-		}
284
+    /**
285
+     * Get the inital price of the item.
286
+     *
287
+     * @since 1.0.19
288
+     * @param  string $context View or edit context.
289
+     * @return float
290
+     */
291
+    public function get_initial_price( $context = 'view' ) {
292
+
293
+        $price = $this->get_price( $context );
294
+
295
+        if ( $this->has_free_trial() ) {
296
+            $price = wpinv_sanitize_amount( 0 );
297
+        }
298 298
         return apply_filters( 'wpinv_get_initial_item_price', $price, $this );
299 299
     }
300 300
 
301 301
     /**
302
-	 * Returns a formated price.
303
-	 *
304
-	 * @since 1.0.19
305
-	 * @param  string $context View or edit context.
306
-	 * @return string
307
-	 */
302
+     * Returns a formated price.
303
+     *
304
+     * @since 1.0.19
305
+     * @param  string $context View or edit context.
306
+     * @return string
307
+     */
308 308
     public function get_the_price() {
309 309
         $item_price = wpinv_price( $this->get_price() );
310 310
 
@@ -312,175 +312,175 @@  discard block
 block discarded – undo
312 312
     }
313 313
 
314 314
     /**
315
-	 * Get the VAT rule of the item.
316
-	 *
317
-	 * @since 1.0.19
318
-	 * @param  string $context View or edit context.
319
-	 * @return string
320
-	 */
321
-	public function get_vat_rule( $context = 'view' ) {
315
+     * Get the VAT rule of the item.
316
+     *
317
+     * @since 1.0.19
318
+     * @param  string $context View or edit context.
319
+     * @return string
320
+     */
321
+    public function get_vat_rule( $context = 'view' ) {
322 322
         return $this->get_prop( 'vat_rule', $context );
323 323
     }
324 324
 
325 325
     /**
326
-	 * Get the VAT class of the item.
327
-	 *
328
-	 * @since 1.0.19
329
-	 * @param  string $context View or edit context.
330
-	 * @return string
331
-	 */
332
-	public function get_vat_class( $context = 'view' ) {
326
+     * Get the VAT class of the item.
327
+     *
328
+     * @since 1.0.19
329
+     * @param  string $context View or edit context.
330
+     * @return string
331
+     */
332
+    public function get_vat_class( $context = 'view' ) {
333 333
         return $this->get_prop( 'vat_class', $context );
334 334
     }
335 335
 
336 336
     /**
337
-	 * Get the type of the item.
338
-	 *
339
-	 * @since 1.0.19
340
-	 * @param  string $context View or edit context.
341
-	 * @return string
342
-	 */
343
-	public function get_type( $context = 'view' ) {
337
+     * Get the type of the item.
338
+     *
339
+     * @since 1.0.19
340
+     * @param  string $context View or edit context.
341
+     * @return string
342
+     */
343
+    public function get_type( $context = 'view' ) {
344 344
         return $this->get_prop( 'type', $context );
345 345
     }
346 346
 
347 347
     /**
348
-	 * Get the custom id of the item.
349
-	 *
350
-	 * @since 1.0.19
351
-	 * @param  string $context View or edit context.
352
-	 * @return string
353
-	 */
354
-	public function get_custom_id( $context = 'view' ) {
348
+     * Get the custom id of the item.
349
+     *
350
+     * @since 1.0.19
351
+     * @param  string $context View or edit context.
352
+     * @return string
353
+     */
354
+    public function get_custom_id( $context = 'view' ) {
355 355
         return $this->get_prop( 'custom_id', $context );
356 356
     }
357 357
 
358 358
     /**
359
-	 * Get the custom name of the item.
360
-	 *
361
-	 * @since 1.0.19
362
-	 * @param  string $context View or edit context.
363
-	 * @return string
364
-	 */
365
-	public function get_custom_name( $context = 'view' ) {
359
+     * Get the custom name of the item.
360
+     *
361
+     * @since 1.0.19
362
+     * @param  string $context View or edit context.
363
+     * @return string
364
+     */
365
+    public function get_custom_name( $context = 'view' ) {
366 366
         return $this->get_prop( 'custom_name', $context );
367 367
     }
368 368
 
369 369
     /**
370
-	 * Get the custom singular name of the item.
371
-	 *
372
-	 * @since 1.0.19
373
-	 * @param  string $context View or edit context.
374
-	 * @return string
375
-	 */
376
-	public function get_custom_singular_name( $context = 'view' ) {
370
+     * Get the custom singular name of the item.
371
+     *
372
+     * @since 1.0.19
373
+     * @param  string $context View or edit context.
374
+     * @return string
375
+     */
376
+    public function get_custom_singular_name( $context = 'view' ) {
377 377
         return $this->get_prop( 'custom_singular_name', $context );
378 378
     }
379 379
 
380 380
     /**
381
-	 * Checks if an item is editable..
382
-	 *
383
-	 * @since 1.0.19
384
-	 * @param  string $context View or edit context.
385
-	 * @return int
386
-	 */
387
-	public function get_is_editable( $context = 'view' ) {
381
+     * Checks if an item is editable..
382
+     *
383
+     * @since 1.0.19
384
+     * @param  string $context View or edit context.
385
+     * @return int
386
+     */
387
+    public function get_is_editable( $context = 'view' ) {
388 388
         return (int) $this->get_prop( 'is_editable', $context );
389 389
     }
390 390
 
391 391
     /**
392
-	 * Alias of self::get_is_editable().
393
-	 *
394
-	 * @since 1.0.19
395
-	 * @param  string $context View or edit context.
396
-	 * @return int
397
-	 */
398
-	public function get_editable( $context = 'view' ) {
399
-		return $this->get_is_editable( $context );
392
+     * Alias of self::get_is_editable().
393
+     *
394
+     * @since 1.0.19
395
+     * @param  string $context View or edit context.
396
+     * @return int
397
+     */
398
+    public function get_editable( $context = 'view' ) {
399
+        return $this->get_is_editable( $context );
400 400
     }
401 401
 
402 402
     /**
403
-	 * Checks if dynamic pricing is enabled.
404
-	 *
405
-	 * @since 1.0.19
406
-	 * @param  string $context View or edit context.
407
-	 * @return int
408
-	 */
409
-	public function get_is_dynamic_pricing( $context = 'view' ) {
403
+     * Checks if dynamic pricing is enabled.
404
+     *
405
+     * @since 1.0.19
406
+     * @param  string $context View or edit context.
407
+     * @return int
408
+     */
409
+    public function get_is_dynamic_pricing( $context = 'view' ) {
410 410
         return (int) $this->get_prop( 'is_dynamic_pricing', $context );
411 411
     }
412 412
 
413 413
     /**
414
-	 * Returns the minimum price if dynamic pricing is enabled.
415
-	 *
416
-	 * @since 1.0.19
417
-	 * @param  string $context View or edit context.
418
-	 * @return float
419
-	 */
420
-	public function get_minimum_price( $context = 'view' ) {
414
+     * Returns the minimum price if dynamic pricing is enabled.
415
+     *
416
+     * @since 1.0.19
417
+     * @param  string $context View or edit context.
418
+     * @return float
419
+     */
420
+    public function get_minimum_price( $context = 'view' ) {
421 421
         return wpinv_sanitize_amount( $this->get_prop( 'minimum_price', $context ) );
422 422
     }
423 423
 
424 424
     /**
425
-	 * Checks if this is a recurring item.
426
-	 *
427
-	 * @since 1.0.19
428
-	 * @param  string $context View or edit context.
429
-	 * @return int
430
-	 */
431
-	public function get_is_recurring( $context = 'view' ) {
425
+     * Checks if this is a recurring item.
426
+     *
427
+     * @since 1.0.19
428
+     * @param  string $context View or edit context.
429
+     * @return int
430
+     */
431
+    public function get_is_recurring( $context = 'view' ) {
432 432
         return (int) $this->get_prop( 'is_recurring', $context );
433
-	}
433
+    }
434 434
 	
435
-	/**
436
-	 * Get the recurring price of the item.
437
-	 *
438
-	 * @since 1.0.19
439
-	 * @param  string $context View or edit context.
440
-	 * @return float
441
-	 */
442
-	public function get_recurring_price( $context = 'view' ) {
443
-		$price = $this->get_price( $context );
435
+    /**
436
+     * Get the recurring price of the item.
437
+     *
438
+     * @since 1.0.19
439
+     * @param  string $context View or edit context.
440
+     * @return float
441
+     */
442
+    public function get_recurring_price( $context = 'view' ) {
443
+        $price = $this->get_price( $context );
444 444
         return wpinv_sanitize_amount( apply_filters( 'wpinv_get_recurring_item_price', $price, $this->ID ) );
445
-	}
446
-
447
-	/**
448
-	 * Get the first renewal date (in timestamps) of the item.
449
-	 *
450
-	 * @since 1.0.19
451
-	 * @return int
452
-	 */
453
-	public function get_first_renewal_date() {
454
-
455
-		$periods = array(
456
-			'D' => 'days',
457
-			'W' => 'weeks',
458
-			'M' => 'months',
459
-			'Y' => 'years',
460
-		);
461
-
462
-		$period   = $this->get_recurring_period();
463
-		$interval = $this->get_recurring_interval();
464
-
465
-		if ( $this->has_free_trial() ) {
466
-			$period   = $this->get_trial_period();
467
-			$interval = $this->get_trial_interval();
468
-		}
469
-
470
-		$period       = $periods[ $period ];
471
-		$interval     = empty( $interval ) ? 1 : $interval;
472
-		$next_renewal = strtotime( "+$interval $period", current_time( 'timestamp' ) );
445
+    }
446
+
447
+    /**
448
+     * Get the first renewal date (in timestamps) of the item.
449
+     *
450
+     * @since 1.0.19
451
+     * @return int
452
+     */
453
+    public function get_first_renewal_date() {
454
+
455
+        $periods = array(
456
+            'D' => 'days',
457
+            'W' => 'weeks',
458
+            'M' => 'months',
459
+            'Y' => 'years',
460
+        );
461
+
462
+        $period   = $this->get_recurring_period();
463
+        $interval = $this->get_recurring_interval();
464
+
465
+        if ( $this->has_free_trial() ) {
466
+            $period   = $this->get_trial_period();
467
+            $interval = $this->get_trial_interval();
468
+        }
469
+
470
+        $period       = $periods[ $period ];
471
+        $interval     = empty( $interval ) ? 1 : $interval;
472
+        $next_renewal = strtotime( "+$interval $period", current_time( 'timestamp' ) );
473 473
         return apply_filters( 'wpinv_get_first_renewal_date', $next_renewal, $this );
474 474
     }
475 475
 
476 476
     /**
477
-	 * Get the recurring period.
478
-	 *
479
-	 * @since 1.0.19
480
-	 * @param  bool $full Return abbreviation or in full.
481
-	 * @return string
482
-	 */
483
-	public function get_recurring_period( $full = false ) {
477
+     * Get the recurring period.
478
+     *
479
+     * @since 1.0.19
480
+     * @param  bool $full Return abbreviation or in full.
481
+     * @return string
482
+     */
483
+    public function get_recurring_period( $full = false ) {
484 484
         $period = $this->get_prop( 'recurring_period', 'view' );
485 485
 
486 486
         if ( $full && ! is_bool( $full ) ) {
@@ -491,63 +491,63 @@  discard block
 block discarded – undo
491 491
     }
492 492
 
493 493
     /**
494
-	 * Get the recurring interval.
495
-	 *
496
-	 * @since 1.0.19
497
-	 * @param  string $context View or edit context.
498
-	 * @return int
499
-	 */
500
-	public function get_recurring_interval( $context = 'view' ) {
501
-		$interval = absint( $this->get_prop( 'recurring_interval', $context ) );
494
+     * Get the recurring interval.
495
+     *
496
+     * @since 1.0.19
497
+     * @param  string $context View or edit context.
498
+     * @return int
499
+     */
500
+    public function get_recurring_interval( $context = 'view' ) {
501
+        $interval = absint( $this->get_prop( 'recurring_interval', $context ) );
502 502
 
503
-		if ( $interval < 1 ) {
504
-			$interval = 1;
505
-		}
503
+        if ( $interval < 1 ) {
504
+            $interval = 1;
505
+        }
506 506
 
507 507
         return $interval;
508 508
     }
509 509
 
510 510
     /**
511
-	 * Get the recurring limit.
512
-	 *
513
-	 * @since 1.0.19
514
-	 * @param  string $context View or edit context.
515
-	 * @return int
516
-	 */
517
-	public function get_recurring_limit( $context = 'view' ) {
511
+     * Get the recurring limit.
512
+     *
513
+     * @since 1.0.19
514
+     * @param  string $context View or edit context.
515
+     * @return int
516
+     */
517
+    public function get_recurring_limit( $context = 'view' ) {
518 518
         return (int) $this->get_prop( 'recurring_limit', $context );
519 519
     }
520 520
 
521 521
     /**
522
-	 * Checks if we have a free trial.
523
-	 *
524
-	 * @since 1.0.19
525
-	 * @param  string $context View or edit context.
526
-	 * @return int
527
-	 */
528
-	public function get_is_free_trial( $context = 'view' ) {
522
+     * Checks if we have a free trial.
523
+     *
524
+     * @since 1.0.19
525
+     * @param  string $context View or edit context.
526
+     * @return int
527
+     */
528
+    public function get_is_free_trial( $context = 'view' ) {
529 529
         return (int) $this->get_prop( 'is_free_trial', $context );
530 530
     }
531 531
 
532 532
     /**
533
-	 * Alias for self::get_is_free_trial().
534
-	 *
535
-	 * @since 1.0.19
536
-	 * @param  string $context View or edit context.
537
-	 * @return int
538
-	 */
539
-	public function get_free_trial( $context = 'view' ) {
533
+     * Alias for self::get_is_free_trial().
534
+     *
535
+     * @since 1.0.19
536
+     * @param  string $context View or edit context.
537
+     * @return int
538
+     */
539
+    public function get_free_trial( $context = 'view' ) {
540 540
         return $this->get_is_free_trial( $context );
541 541
     }
542 542
 
543 543
     /**
544
-	 * Get the trial period.
545
-	 *
546
-	 * @since 1.0.19
547
-	 * @param  bool $full Return abbreviation or in full.
548
-	 * @return string
549
-	 */
550
-	public function get_trial_period( $full = false ) {
544
+     * Get the trial period.
545
+     *
546
+     * @since 1.0.19
547
+     * @param  bool $full Return abbreviation or in full.
548
+     * @return string
549
+     */
550
+    public function get_trial_period( $full = false ) {
551 551
         $period = $this->get_prop( 'trial_period', 'view' );
552 552
 
553 553
         if ( $full && ! is_bool( $full ) ) {
@@ -558,13 +558,13 @@  discard block
 block discarded – undo
558 558
     }
559 559
 
560 560
     /**
561
-	 * Get the trial interval.
562
-	 *
563
-	 * @since 1.0.19
564
-	 * @param  string $context View or edit context.
565
-	 * @return int
566
-	 */
567
-	public function get_trial_interval( $context = 'view' ) {
561
+     * Get the trial interval.
562
+     *
563
+     * @since 1.0.19
564
+     * @param  string $context View or edit context.
565
+     * @return int
566
+     */
567
+    public function get_trial_interval( $context = 'view' ) {
568 568
         return (int) $this->get_prop( 'trial_interval', $context );
569 569
     }
570 570
 
@@ -598,52 +598,52 @@  discard block
 block discarded – undo
598 598
     */
599 599
 
600 600
     /**
601
-	 * Set parent order ID.
602
-	 *
603
-	 * @since 1.0.19
604
-	 */
605
-	public function set_parent_id( $value ) {
606
-		if ( $value && ( $value === $this->get_id() || ! get_post( $value ) ) ) {
607
-			return;
608
-		}
609
-		$this->set_prop( 'parent_id', absint( $value ) );
610
-	}
611
-
612
-    /**
613
-	 * Sets item status.
614
-	 *
615
-	 * @since 1.0.19
616
-	 * @param  string $status New status.
617
-	 * @return array details of change.
618
-	 */
619
-	public function set_status( $status ) {
601
+     * Set parent order ID.
602
+     *
603
+     * @since 1.0.19
604
+     */
605
+    public function set_parent_id( $value ) {
606
+        if ( $value && ( $value === $this->get_id() || ! get_post( $value ) ) ) {
607
+            return;
608
+        }
609
+        $this->set_prop( 'parent_id', absint( $value ) );
610
+    }
611
+
612
+    /**
613
+     * Sets item status.
614
+     *
615
+     * @since 1.0.19
616
+     * @param  string $status New status.
617
+     * @return array details of change.
618
+     */
619
+    public function set_status( $status ) {
620 620
         $old_status = $this->get_status();
621 621
 
622 622
         $this->set_prop( 'status', $status );
623 623
 
624
-		return array(
625
-			'from' => $old_status,
626
-			'to'   => $status,
627
-		);
624
+        return array(
625
+            'from' => $old_status,
626
+            'to'   => $status,
627
+        );
628 628
     }
629 629
 
630 630
     /**
631
-	 * Set plugin version when the item was created.
632
-	 *
633
-	 * @since 1.0.19
634
-	 */
635
-	public function set_version( $value ) {
636
-		$this->set_prop( 'version', $value );
631
+     * Set plugin version when the item was created.
632
+     *
633
+     * @since 1.0.19
634
+     */
635
+    public function set_version( $value ) {
636
+        $this->set_prop( 'version', $value );
637 637
     }
638 638
 
639 639
     /**
640
-	 * Set date when the item was created.
641
-	 *
642
-	 * @since 1.0.19
643
-	 * @param string $value Value to set.
640
+     * Set date when the item was created.
641
+     *
642
+     * @since 1.0.19
643
+     * @param string $value Value to set.
644 644
      * @return bool Whether or not the date was set.
645
-	 */
646
-	public function set_date_created( $value ) {
645
+     */
646
+    public function set_date_created( $value ) {
647 647
         $date = strtotime( $value );
648 648
 
649 649
         if ( $date ) {
@@ -656,13 +656,13 @@  discard block
 block discarded – undo
656 656
     }
657 657
 
658 658
     /**
659
-	 * Set date when the item was last modified.
660
-	 *
661
-	 * @since 1.0.19
662
-	 * @param string $value Value to set.
659
+     * Set date when the item was last modified.
660
+     *
661
+     * @since 1.0.19
662
+     * @param string $value Value to set.
663 663
      * @return bool Whether or not the date was set.
664
-	 */
665
-	public function set_date_modified( $value ) {
664
+     */
665
+    public function set_date_modified( $value ) {
666 666
         $date = strtotime( $value );
667 667
 
668 668
         if ( $date ) {
@@ -675,105 +675,105 @@  discard block
 block discarded – undo
675 675
     }
676 676
 
677 677
     /**
678
-	 * Set the item name.
679
-	 *
680
-	 * @since 1.0.19
681
-	 * @param  string $value New name.
682
-	 */
683
-	public function set_name( $value ) {
678
+     * Set the item name.
679
+     *
680
+     * @since 1.0.19
681
+     * @param  string $value New name.
682
+     */
683
+    public function set_name( $value ) {
684 684
         $name = sanitize_text_field( $value );
685
-		$this->set_prop( 'name', $name );
685
+        $this->set_prop( 'name', $name );
686 686
     }
687 687
 
688 688
     /**
689
-	 * Alias of self::set_name().
690
-	 *
691
-	 * @since 1.0.19
692
-	 * @param  string $value New name.
693
-	 */
694
-	public function set_title( $value ) {
695
-		$this->set_name( $value );
689
+     * Alias of self::set_name().
690
+     *
691
+     * @since 1.0.19
692
+     * @param  string $value New name.
693
+     */
694
+    public function set_title( $value ) {
695
+        $this->set_name( $value );
696 696
     }
697 697
 
698 698
     /**
699
-	 * Set the item description.
700
-	 *
701
-	 * @since 1.0.19
702
-	 * @param  string $value New description.
703
-	 */
704
-	public function set_description( $value ) {
699
+     * Set the item description.
700
+     *
701
+     * @since 1.0.19
702
+     * @param  string $value New description.
703
+     */
704
+    public function set_description( $value ) {
705 705
         $description = wp_kses_post( $value );
706
-		return $this->set_prop( 'description', $description );
706
+        return $this->set_prop( 'description', $description );
707 707
     }
708 708
 
709 709
     /**
710
-	 * Alias of self::set_description().
711
-	 *
712
-	 * @since 1.0.19
713
-	 * @param  string $value New description.
714
-	 */
715
-	public function set_excerpt( $value ) {
716
-		$this->set_description( $value );
710
+     * Alias of self::set_description().
711
+     *
712
+     * @since 1.0.19
713
+     * @param  string $value New description.
714
+     */
715
+    public function set_excerpt( $value ) {
716
+        $this->set_description( $value );
717 717
     }
718 718
 
719 719
     /**
720
-	 * Alias of self::set_description().
721
-	 *
722
-	 * @since 1.0.19
723
-	 * @param  string $value New description.
724
-	 */
725
-	public function set_summary( $value ) {
726
-		$this->set_description( $value );
720
+     * Alias of self::set_description().
721
+     *
722
+     * @since 1.0.19
723
+     * @param  string $value New description.
724
+     */
725
+    public function set_summary( $value ) {
726
+        $this->set_description( $value );
727 727
     }
728 728
 
729 729
     /**
730
-	 * Set the owner of the item.
731
-	 *
732
-	 * @since 1.0.19
733
-	 * @param  int $value New author.
734
-	 */
735
-	public function set_author( $value ) {
736
-		$this->set_prop( 'author', (int) $value );
730
+     * Set the owner of the item.
731
+     *
732
+     * @since 1.0.19
733
+     * @param  int $value New author.
734
+     */
735
+    public function set_author( $value ) {
736
+        $this->set_prop( 'author', (int) $value );
737 737
     }
738 738
 
739 739
     /**
740
-	 * Set the price of the item.
741
-	 *
742
-	 * @since 1.0.19
743
-	 * @param  float $value New price.
740
+     * Set the price of the item.
741
+     *
742
+     * @since 1.0.19
743
+     * @param  float $value New price.
744 744
 ]	 */
745
-	public function set_price( $value ) {
745
+    public function set_price( $value ) {
746 746
         $this->set_prop( 'price', (float) wpinv_sanitize_amount( $value ) );
747 747
     }
748 748
 
749 749
     /**
750
-	 * Set the VAT rule of the item.
751
-	 *
752
-	 * @since 1.0.19
753
-	 * @param  string $value new rule.
754
-	 */
755
-	public function set_vat_rule( $value ) {
750
+     * Set the VAT rule of the item.
751
+     *
752
+     * @since 1.0.19
753
+     * @param  string $value new rule.
754
+     */
755
+    public function set_vat_rule( $value ) {
756 756
         $this->set_prop( 'vat_rule', $value );
757 757
     }
758 758
 
759 759
     /**
760
-	 * Set the VAT class of the item.
761
-	 *
762
-	 * @since 1.0.19
763
-	 * @param  string $value new class.
764
-	 */
765
-	public function set_vat_class( $value ) {
760
+     * Set the VAT class of the item.
761
+     *
762
+     * @since 1.0.19
763
+     * @param  string $value new class.
764
+     */
765
+    public function set_vat_class( $value ) {
766 766
         $this->set_prop( 'vat_class', $value );
767 767
     }
768 768
 
769 769
     /**
770
-	 * Set the type of the item.
771
-	 *
772
-	 * @since 1.0.19
773
-	 * @param  string $value new item type.
774
-	 * @return string
775
-	 */
776
-	public function set_type( $value ) {
770
+     * Set the type of the item.
771
+     *
772
+     * @since 1.0.19
773
+     * @param  string $value new item type.
774
+     * @return string
775
+     */
776
+    public function set_type( $value ) {
777 777
 
778 778
         if ( empty( $value ) ) {
779 779
             $value = 'custom';
@@ -783,134 +783,134 @@  discard block
 block discarded – undo
783 783
     }
784 784
 
785 785
     /**
786
-	 * Set the custom id of the item.
787
-	 *
788
-	 * @since 1.0.19
789
-	 * @param  string $value new custom id.
790
-	 */
791
-	public function set_custom_id( $value ) {
786
+     * Set the custom id of the item.
787
+     *
788
+     * @since 1.0.19
789
+     * @param  string $value new custom id.
790
+     */
791
+    public function set_custom_id( $value ) {
792 792
         $this->set_prop( 'custom_id', $value );
793 793
     }
794 794
 
795 795
     /**
796
-	 * Set the custom name of the item.
797
-	 *
798
-	 * @since 1.0.19
799
-	 * @param  string $value new custom name.
800
-	 */
801
-	public function set_custom_name( $value ) {
796
+     * Set the custom name of the item.
797
+     *
798
+     * @since 1.0.19
799
+     * @param  string $value new custom name.
800
+     */
801
+    public function set_custom_name( $value ) {
802 802
         $this->set_prop( 'custom_name', $value );
803 803
     }
804 804
 
805 805
     /**
806
-	 * Set the custom singular name of the item.
807
-	 *
808
-	 * @since 1.0.19
809
-	 * @param  string $value new custom singular name.
810
-	 */
811
-	public function set_custom_singular_name( $value ) {
806
+     * Set the custom singular name of the item.
807
+     *
808
+     * @since 1.0.19
809
+     * @param  string $value new custom singular name.
810
+     */
811
+    public function set_custom_singular_name( $value ) {
812 812
         $this->set_prop( 'custom_singular_name', $value );
813 813
     }
814 814
 
815 815
     /**
816
-	 * Sets if an item is editable..
817
-	 *
818
-	 * @since 1.0.19
819
-	 * @param  int|bool $value whether or not the item is editable.
820
-	 */
821
-	public function set_is_editable( $value ) {
822
-		if ( is_numeric( $value ) ) {
823
-			$this->set_prop( 'is_editable', (int) $value );
824
-		}
816
+     * Sets if an item is editable..
817
+     *
818
+     * @since 1.0.19
819
+     * @param  int|bool $value whether or not the item is editable.
820
+     */
821
+    public function set_is_editable( $value ) {
822
+        if ( is_numeric( $value ) ) {
823
+            $this->set_prop( 'is_editable', (int) $value );
824
+        }
825 825
     }
826 826
 
827 827
     /**
828
-	 * Sets if dynamic pricing is enabled.
829
-	 *
830
-	 * @since 1.0.19
831
-	 * @param  int|bool $value whether or not dynamic pricing is allowed.
832
-	 */
833
-	public function set_is_dynamic_pricing( $value ) {
828
+     * Sets if dynamic pricing is enabled.
829
+     *
830
+     * @since 1.0.19
831
+     * @param  int|bool $value whether or not dynamic pricing is allowed.
832
+     */
833
+    public function set_is_dynamic_pricing( $value ) {
834 834
         $this->set_prop( 'is_dynamic_pricing', (int) $value );
835 835
     }
836 836
 
837 837
     /**
838
-	 * Sets the minimum price if dynamic pricing is enabled.
839
-	 *
840
-	 * @since 1.0.19
841
-	 * @param  float $value minimum price.
842
-	 */
843
-	public function set_minimum_price( $value ) {
838
+     * Sets the minimum price if dynamic pricing is enabled.
839
+     *
840
+     * @since 1.0.19
841
+     * @param  float $value minimum price.
842
+     */
843
+    public function set_minimum_price( $value ) {
844 844
         $this->set_prop( 'minimum_price',  (float) wpinv_sanitize_amount( $value ) );
845 845
     }
846 846
 
847 847
     /**
848
-	 * Sets if this is a recurring item.
849
-	 *
850
-	 * @since 1.0.19
851
-	 * @param  int|bool $value whether or not dynamic pricing is allowed.
852
-	 */
853
-	public function set_is_recurring( $value ) {
848
+     * Sets if this is a recurring item.
849
+     *
850
+     * @since 1.0.19
851
+     * @param  int|bool $value whether or not dynamic pricing is allowed.
852
+     */
853
+    public function set_is_recurring( $value ) {
854 854
         $this->set_prop( 'is_recurring', (int) $value );
855 855
     }
856 856
 
857 857
     /**
858
-	 * Set the recurring period.
859
-	 *
860
-	 * @since 1.0.19
861
-	 * @param  string $value new period.
862
-	 */
863
-	public function set_recurring_period( $value ) {
858
+     * Set the recurring period.
859
+     *
860
+     * @since 1.0.19
861
+     * @param  string $value new period.
862
+     */
863
+    public function set_recurring_period( $value ) {
864 864
         $this->set_prop( 'recurring_period', $value );
865 865
     }
866 866
 
867 867
     /**
868
-	 * Set the recurring interval.
869
-	 *
870
-	 * @since 1.0.19
871
-	 * @param  int $value recurring interval.
872
-	 */
873
-	public function set_recurring_interval( $value ) {
868
+     * Set the recurring interval.
869
+     *
870
+     * @since 1.0.19
871
+     * @param  int $value recurring interval.
872
+     */
873
+    public function set_recurring_interval( $value ) {
874 874
         return $this->set_prop( 'recurring_interval', (int) $value );
875 875
     }
876 876
 
877 877
     /**
878
-	 * Get the recurring limit.
879
-	 * @since 1.0.19
880
-	 * @param  int $value The recurring limit.
881
-	 * @return int
882
-	 */
883
-	public function set_recurring_limit( $value ) {
878
+     * Get the recurring limit.
879
+     * @since 1.0.19
880
+     * @param  int $value The recurring limit.
881
+     * @return int
882
+     */
883
+    public function set_recurring_limit( $value ) {
884 884
         $this->set_prop( 'recurring_limit', (int) $value );
885 885
     }
886 886
 
887 887
     /**
888
-	 * Checks if we have a free trial.
889
-	 *
890
-	 * @since 1.0.19
891
-	 * @param  int|bool $value whether or not it has a free trial.
892
-	 */
893
-	public function set_is_free_trial( $value ) {
888
+     * Checks if we have a free trial.
889
+     *
890
+     * @since 1.0.19
891
+     * @param  int|bool $value whether or not it has a free trial.
892
+     */
893
+    public function set_is_free_trial( $value ) {
894 894
         $this->set_prop( 'is_free_trial', (int) $value );
895 895
     }
896 896
 
897 897
     /**
898
-	 * Set the trial period.
899
-	 *
900
-	 * @since 1.0.19
901
-	 * @param  string $value trial period.
902
-	 */
903
-	public function set_trial_period( $value ) {
898
+     * Set the trial period.
899
+     *
900
+     * @since 1.0.19
901
+     * @param  string $value trial period.
902
+     */
903
+    public function set_trial_period( $value ) {
904 904
         $this->set_prop( 'trial_period', $value );
905 905
     }
906 906
 
907 907
     /**
908
-	 * Set the trial interval.
909
-	 *
910
-	 * @since 1.0.19
911
-	 * @param  int $value trial interval.
912
-	 */
913
-	public function set_trial_interval( $value ) {
908
+     * Set the trial interval.
909
+     *
910
+     * @since 1.0.19
911
+     * @param  int $value trial interval.
912
+     */
913
+    public function set_trial_interval( $value ) {
914 914
         $this->set_prop( 'trial_interval', $value );
915 915
     }
916 916
 
@@ -918,17 +918,17 @@  discard block
 block discarded – undo
918 918
      * Create an item. For backwards compatibilty.
919 919
      * 
920 920
      * @deprecated
921
-	 * @return int item id
921
+     * @return int item id
922 922
      */
923 923
     public function create( $data = array() ) {
924 924
 
925
-		// Set the properties.
926
-		if ( is_array( $data ) ) {
927
-			$this->set_props( $data );
928
-		}
925
+        // Set the properties.
926
+        if ( is_array( $data ) ) {
927
+            $this->set_props( $data );
928
+        }
929 929
 
930
-		// Save the item.
931
-		return $this->save();
930
+        // Save the item.
931
+        return $this->save();
932 932
 
933 933
     }
934 934
 
@@ -936,7 +936,7 @@  discard block
 block discarded – undo
936 936
      * Updates an item. For backwards compatibilty.
937 937
      * 
938 938
      * @deprecated
939
-	 * @return int item id
939
+     * @return int item id
940 940
      */
941 941
     public function update( $data = array() ) {
942 942
         return $this->create( $data );
@@ -952,84 +952,84 @@  discard block
 block discarded – undo
952 952
 	*/
953 953
 
954 954
     /**
955
-	 * Checks whether the item has enabled dynamic pricing.
956
-	 *
957
-	 * @since 1.0.19
958
-	 * @return bool
959
-	 */
960
-	public function user_can_set_their_price() {
955
+     * Checks whether the item has enabled dynamic pricing.
956
+     *
957
+     * @since 1.0.19
958
+     * @return bool
959
+     */
960
+    public function user_can_set_their_price() {
961 961
         return (bool) $this->get_is_dynamic_pricing();
962
-	}
962
+    }
963 963
 	
964
-	/**
965
-	 * Checks whether the item is recurring.
966
-	 *
967
-	 * @since 1.0.19
968
-	 * @return bool
969
-	 */
970
-	public function is_recurring() {
964
+    /**
965
+     * Checks whether the item is recurring.
966
+     *
967
+     * @since 1.0.19
968
+     * @return bool
969
+     */
970
+    public function is_recurring() {
971 971
         return (bool) $this->get_is_recurring();
972 972
     }
973 973
 
974 974
     /**
975
-	 * Checks whether the item has a free trial.
976
-	 *
977
-	 * @since 1.0.19
978
-	 * @return bool
979
-	 */
975
+     * Checks whether the item has a free trial.
976
+     *
977
+     * @since 1.0.19
978
+     * @return bool
979
+     */
980 980
     public function has_free_trial() {
981 981
         $has_trial = $this->is_recurring() && (bool) $this->get_free_trial() ? true : false;
982 982
         return (bool) apply_filters( 'wpinv_item_has_free_trial', $has_trial, $this->ID, $this );
983 983
     }
984 984
 
985 985
     /**
986
-	 * Checks whether the item is free.
987
-	 *
988
-	 * @since 1.0.19
989
-	 * @return bool
990
-	 */
986
+     * Checks whether the item is free.
987
+     *
988
+     * @since 1.0.19
989
+     * @return bool
990
+     */
991 991
     public function is_free() {
992 992
         $is_free   = $this->get_price() == 0;
993 993
         return (bool) apply_filters( 'wpinv_is_free_item', $is_free, $this->ID, $this );
994 994
     }
995 995
 
996 996
     /**
997
-	 * Checks the item status against a passed in status.
998
-	 *
999
-	 * @param array|string $status Status to check.
1000
-	 * @return bool
1001
-	 */
1002
-	public function has_status( $status ) {
1003
-		$has_status = ( is_array( $status ) && in_array( $this->get_status(), $status, true ) ) || $this->get_status() === $status;
1004
-		return (bool) apply_filters( 'getpaid_item_has_status', $has_status, $this, $status );
997
+     * Checks the item status against a passed in status.
998
+     *
999
+     * @param array|string $status Status to check.
1000
+     * @return bool
1001
+     */
1002
+    public function has_status( $status ) {
1003
+        $has_status = ( is_array( $status ) && in_array( $this->get_status(), $status, true ) ) || $this->get_status() === $status;
1004
+        return (bool) apply_filters( 'getpaid_item_has_status', $has_status, $this, $status );
1005 1005
     }
1006 1006
 
1007 1007
     /**
1008
-	 * Checks the item type against a passed in types.
1009
-	 *
1010
-	 * @param array|string $type Type to check.
1011
-	 * @return bool
1012
-	 */
1013
-	public function is_type( $type ) {
1014
-		$is_type = ( is_array( $type ) && in_array( $this->get_type(), $type, true ) ) || $this->get_type() === $type;
1015
-		return (bool) apply_filters( 'getpaid_item_is_type', $is_type, $this, $type );
1016
-	}
1008
+     * Checks the item type against a passed in types.
1009
+     *
1010
+     * @param array|string $type Type to check.
1011
+     * @return bool
1012
+     */
1013
+    public function is_type( $type ) {
1014
+        $is_type = ( is_array( $type ) && in_array( $this->get_type(), $type, true ) ) || $this->get_type() === $type;
1015
+        return (bool) apply_filters( 'getpaid_item_is_type', $is_type, $this, $type );
1016
+    }
1017 1017
 
1018 1018
     /**
1019
-	 * Checks whether the item is editable.
1020
-	 *
1021
-	 * @since 1.0.19
1022
-	 * @return bool
1023
-	 */
1019
+     * Checks whether the item is editable.
1020
+     *
1021
+     * @since 1.0.19
1022
+     * @return bool
1023
+     */
1024 1024
     public function is_editable() {
1025 1025
         $is_editable = $this->get_is_editable();
1026 1026
         return (bool) apply_filters( 'wpinv_item_is_editable', $is_editable, $this->ID, $this );
1027
-	}
1027
+    }
1028 1028
 
1029
-	/**
1030
-	 * Returns an array of cart fees.
1031
-	 */
1032
-	public function get_fees( $type = 'fee', $item_id = 0 ) {
1029
+    /**
1030
+     * Returns an array of cart fees.
1031
+     */
1032
+    public function get_fees( $type = 'fee', $item_id = 0 ) {
1033 1033
         global $wpi_session;
1034 1034
         
1035 1035
         $fees = $wpi_session->get( 'wpi_cart_fees' );
@@ -1073,11 +1073,11 @@  discard block
 block discarded – undo
1073 1073
     }
1074 1074
 
1075 1075
     /**
1076
-	 * Checks whether the item is purchasable.
1077
-	 *
1078
-	 * @since 1.0.19
1079
-	 * @return bool
1080
-	 */
1076
+     * Checks whether the item is purchasable.
1077
+     *
1078
+     * @since 1.0.19
1079
+     * @return bool
1080
+     */
1081 1081
     public function can_purchase() {
1082 1082
         $can_purchase = null !== $this->get_id();
1083 1083
 
@@ -1089,11 +1089,11 @@  discard block
 block discarded – undo
1089 1089
     }
1090 1090
 
1091 1091
     /**
1092
-	 * Checks whether the item supports dynamic pricing.
1093
-	 *
1094
-	 * @since 1.0.19
1095
-	 * @return bool
1096
-	 */
1092
+     * Checks whether the item supports dynamic pricing.
1093
+     *
1094
+     * @since 1.0.19
1095
+     * @return bool
1096
+     */
1097 1097
     public function supports_dynamic_pricing() {
1098 1098
         return (bool) apply_filters( 'wpinv_item_supports_dynamic_pricing', true, $this );
1099 1099
     }
Please login to merge, or discard this patch.
includes/wpinv-discount-functions.php 1 patch
Spacing   +398 added lines, -398 removed lines patch added patch discarded remove patch
@@ -7,110 +7,110 @@  discard block
 block discarded – undo
7 7
  */
8 8
 
9 9
 // MUST have WordPress.
10
-if ( !defined( 'WPINC' ) ) {
11
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
10
+if (!defined('WPINC')) {
11
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
12 12
 }
13 13
 
14 14
 function wpinv_get_discount_types() {
15 15
     $discount_types = array(
16
-                        'percent'   => __( 'Percentage', 'invoicing' ),
17
-                        'flat'     => __( 'Flat Amount', 'invoicing' ),
16
+                        'percent'   => __('Percentage', 'invoicing'),
17
+                        'flat'     => __('Flat Amount', 'invoicing'),
18 18
                     );
19
-    return (array)apply_filters( 'wpinv_discount_types', $discount_types );
19
+    return (array) apply_filters('wpinv_discount_types', $discount_types);
20 20
 }
21 21
 
22
-function wpinv_get_discount_type_name( $type = '' ) {
22
+function wpinv_get_discount_type_name($type = '') {
23 23
     $types = wpinv_get_discount_types();
24
-    return isset( $types[ $type ] ) ? $types[ $type ] : '';
24
+    return isset($types[$type]) ? $types[$type] : '';
25 25
 }
26 26
 
27
-function wpinv_delete_discount( $data ) {
28
-    if ( ! isset( $data['_wpnonce'] ) || ! wp_verify_nonce( $data['_wpnonce'], 'wpinv_discount_nonce' ) ) {
29
-        wp_die( __( 'Trying to cheat or something?', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
27
+function wpinv_delete_discount($data) {
28
+    if (!isset($data['_wpnonce']) || !wp_verify_nonce($data['_wpnonce'], 'wpinv_discount_nonce')) {
29
+        wp_die(__('Trying to cheat or something?', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
30 30
     }
31 31
 
32
-    if( ! wpinv_current_user_can_manage_invoicing() ) {
33
-        wp_die( __( 'You do not have permission to delete discount codes', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
32
+    if (!wpinv_current_user_can_manage_invoicing()) {
33
+        wp_die(__('You do not have permission to delete discount codes', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
34 34
     }
35 35
 
36 36
     $discount_id = $data['discount'];
37
-    wpinv_remove_discount( $discount_id );
37
+    wpinv_remove_discount($discount_id);
38 38
 }
39
-add_action( 'wpinv_delete_discount', 'wpinv_delete_discount' );
39
+add_action('wpinv_delete_discount', 'wpinv_delete_discount');
40 40
 
41
-function wpinv_activate_discount( $data ) {
42
-    if ( ! isset( $data['_wpnonce'] ) || ! wp_verify_nonce( $data['_wpnonce'], 'wpinv_discount_nonce' ) ) {
43
-        wp_die( __( 'Trying to cheat or something?', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
41
+function wpinv_activate_discount($data) {
42
+    if (!isset($data['_wpnonce']) || !wp_verify_nonce($data['_wpnonce'], 'wpinv_discount_nonce')) {
43
+        wp_die(__('Trying to cheat or something?', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
44 44
     }
45 45
 
46
-    if( ! wpinv_current_user_can_manage_invoicing() ) {
47
-        wp_die( __( 'You do not have permission to edit discount codes', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
46
+    if (!wpinv_current_user_can_manage_invoicing()) {
47
+        wp_die(__('You do not have permission to edit discount codes', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
48 48
     }
49 49
 
50
-    $id = absint( $data['discount'] );
51
-    wpinv_update_discount_status( $id, 'publish' );
50
+    $id = absint($data['discount']);
51
+    wpinv_update_discount_status($id, 'publish');
52 52
 }
53
-add_action( 'wpinv_activate_discount', 'wpinv_activate_discount' );
53
+add_action('wpinv_activate_discount', 'wpinv_activate_discount');
54 54
 
55
-function wpinv_deactivate_discount( $data ) {
56
-    if ( ! isset( $data['_wpnonce'] ) || ! wp_verify_nonce( $data['_wpnonce'], 'wpinv_discount_nonce' ) ) {
57
-        wp_die( __( 'Trying to cheat or something?', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
55
+function wpinv_deactivate_discount($data) {
56
+    if (!isset($data['_wpnonce']) || !wp_verify_nonce($data['_wpnonce'], 'wpinv_discount_nonce')) {
57
+        wp_die(__('Trying to cheat or something?', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
58 58
     }
59 59
 
60
-    if( ! wpinv_current_user_can_manage_invoicing() ) {
61
-        wp_die( __( 'You do not have permission to create discount codes', 'invoicing' ), array( 'response' => 403 ) );
60
+    if (!wpinv_current_user_can_manage_invoicing()) {
61
+        wp_die(__('You do not have permission to create discount codes', 'invoicing'), array('response' => 403));
62 62
     }
63 63
 
64
-    $id = absint( $data['discount'] );
65
-    wpinv_update_discount_status( $id, 'pending' );
64
+    $id = absint($data['discount']);
65
+    wpinv_update_discount_status($id, 'pending');
66 66
 }
67
-add_action( 'wpinv_deactivate_discount', 'wpinv_deactivate_discount' );
67
+add_action('wpinv_deactivate_discount', 'wpinv_deactivate_discount');
68 68
 
69
-function wpinv_get_discounts( $args = array() ) {
69
+function wpinv_get_discounts($args = array()) {
70 70
     $defaults = array(
71 71
         'post_type'      => 'wpi_discount',
72 72
         'posts_per_page' => 20,
73 73
         'paged'          => null,
74
-        'post_status'    => array( 'publish', 'pending', 'draft', 'expired' )
74
+        'post_status'    => array('publish', 'pending', 'draft', 'expired')
75 75
     );
76 76
 
77
-    $args = wp_parse_args( $args, $defaults );
77
+    $args = wp_parse_args($args, $defaults);
78 78
 
79
-    $discounts = get_posts( $args );
79
+    $discounts = get_posts($args);
80 80
 
81
-    if ( $discounts ) {
81
+    if ($discounts) {
82 82
         return $discounts;
83 83
     }
84 84
 
85
-    if( ! $discounts && ! empty( $args['s'] ) ) {
85
+    if (!$discounts && !empty($args['s'])) {
86 86
         $args['meta_key']     = '_wpi_discount_code';
87 87
         $args['meta_value']   = $args['s'];
88 88
         $args['meta_compare'] = 'LIKE';
89
-        unset( $args['s'] );
90
-        $discounts = get_posts( $args );
89
+        unset($args['s']);
90
+        $discounts = get_posts($args);
91 91
     }
92 92
 
93
-    if( $discounts ) {
93
+    if ($discounts) {
94 94
         return $discounts;
95 95
     }
96 96
 
97 97
     return false;
98 98
 }
99 99
 
100
-function wpinv_get_all_discounts( $args = array() ) {
100
+function wpinv_get_all_discounts($args = array()) {
101 101
 
102
-    $args = wp_parse_args( $args, array(
103
-        'status'         => array( 'publish' ),
104
-        'limit'          => get_option( 'posts_per_page' ),
102
+    $args = wp_parse_args($args, array(
103
+        'status'         => array('publish'),
104
+        'limit'          => get_option('posts_per_page'),
105 105
         'page'           => 1,
106 106
         'exclude'        => array(),
107 107
         'orderby'        => 'date',
108 108
         'order'          => 'DESC',
109
-        'type'           => array_keys( wpinv_get_discount_types() ),
109
+        'type'           => array_keys(wpinv_get_discount_types()),
110 110
         'meta_query'     => array(),
111 111
         'return'         => 'objects',
112 112
         'paginate'       => false,
113
-    ) );
113
+    ));
114 114
 
115 115
     $wp_query_args = array(
116 116
         'post_type'      => 'wpi_discount',
@@ -120,18 +120,18 @@  discard block
 block discarded – undo
120 120
         'fields'         => 'ids',
121 121
         'orderby'        => $args['orderby'],
122 122
         'order'          => $args['order'],
123
-        'paged'          => absint( $args['page'] ),
123
+        'paged'          => absint($args['page']),
124 124
     );
125 125
 
126
-    if ( ! empty( $args['exclude'] ) ) {
127
-        $wp_query_args['post__not_in'] = array_map( 'absint', $args['exclude'] );
126
+    if (!empty($args['exclude'])) {
127
+        $wp_query_args['post__not_in'] = array_map('absint', $args['exclude']);
128 128
     }
129 129
 
130
-    if ( ! $args['paginate' ] ) {
130
+    if (!$args['paginate']) {
131 131
         $wp_query_args['no_found_rows'] = true;
132 132
     }
133 133
 
134
-    if ( ! empty( $args['search'] ) ) {
134
+    if (!empty($args['search'])) {
135 135
 
136 136
         $wp_query_args['meta_query'][] = array(
137 137
             'key'     => '_wpi_discount_code',
@@ -141,11 +141,11 @@  discard block
 block discarded – undo
141 141
 
142 142
     }
143 143
 
144
-    if ( ! empty( $args['type'] ) ) {
145
-        $types = wpinv_parse_list( $args['type'] );
144
+    if (!empty($args['type'])) {
145
+        $types = wpinv_parse_list($args['type']);
146 146
         $wp_query_args['meta_query'][] = array(
147 147
             'key'     => '_wpi_discount_type',
148
-            'value'   => implode( ',', $types ),
148
+            'value'   => implode(',', $types),
149 149
             'compare' => 'IN',
150 150
         );
151 151
     }
@@ -153,17 +153,17 @@  discard block
 block discarded – undo
153 153
     $wp_query_args = apply_filters('wpinv_get_discount_args', $wp_query_args, $args);
154 154
 
155 155
     // Get results.
156
-    $discounts = new WP_Query( $wp_query_args );
156
+    $discounts = new WP_Query($wp_query_args);
157 157
 
158
-    if ( 'objects' === $args['return'] ) {
159
-        $return = array_map( 'get_post', $discounts->posts );
160
-    } elseif ( 'self' === $args['return'] ) {
158
+    if ('objects' === $args['return']) {
159
+        $return = array_map('get_post', $discounts->posts);
160
+    } elseif ('self' === $args['return']) {
161 161
         return $discounts;
162 162
     } else {
163 163
         $return = $discounts->posts;
164 164
     }
165 165
 
166
-    if ( $args['paginate' ] ) {
166
+    if ($args['paginate']) {
167 167
         return (object) array(
168 168
             'discounts'      => $return,
169 169
             'total'         => $discounts->found_posts,
@@ -180,9 +180,9 @@  discard block
 block discarded – undo
180 180
 
181 181
     $discounts  = wpinv_get_discounts();
182 182
 
183
-    if ( $discounts) {
184
-        foreach ( $discounts as $discount ) {
185
-            if ( wpinv_is_discount_active( $discount->ID, true ) ) {
183
+    if ($discounts) {
184
+        foreach ($discounts as $discount) {
185
+            if (wpinv_is_discount_active($discount->ID, true)) {
186 186
                 $has_active = true;
187 187
                 break;
188 188
             }
@@ -191,16 +191,16 @@  discard block
 block discarded – undo
191 191
     return $has_active;
192 192
 }
193 193
 
194
-function wpinv_get_discount( $discount_id = 0 ) {
195
-    if( empty( $discount_id ) ) {
194
+function wpinv_get_discount($discount_id = 0) {
195
+    if (empty($discount_id)) {
196 196
         return false;
197 197
     }
198 198
 
199
-    if ( get_post_type( $discount_id ) != 'wpi_discount' ) {
199
+    if (get_post_type($discount_id) != 'wpi_discount') {
200 200
         return false;
201 201
     }
202 202
 
203
-    $discount = get_post( $discount_id );
203
+    $discount = get_post($discount_id);
204 204
 
205 205
     return $discount;
206 206
 }
@@ -212,8 +212,8 @@  discard block
 block discarded – undo
212 212
  * @since 1.0.15
213 213
  * @return WPInv_Discount
214 214
  */
215
-function wpinv_get_discount_obj( $discount = 0 ) {
216
-    return new WPInv_Discount( $discount );
215
+function wpinv_get_discount_obj($discount = 0) {
216
+    return new WPInv_Discount($discount);
217 217
 }
218 218
 
219 219
 /**
@@ -222,8 +222,8 @@  discard block
 block discarded – undo
222 222
  * @param string $code The discount code.
223 223
  * @return bool|WP_Post
224 224
  */
225
-function wpinv_get_discount_by_code( $code = '' ) {
226
-    return wpinv_get_discount_by( 'code', $code );
225
+function wpinv_get_discount_by_code($code = '') {
226
+    return wpinv_get_discount_by('code', $code);
227 227
 }
228 228
 
229 229
 /**
@@ -233,13 +233,13 @@  discard block
 block discarded – undo
233 233
  * @param string|int $value The field value
234 234
  * @return bool|WP_Post
235 235
  */
236
-function wpinv_get_discount_by( $field = '', $value = '' ) {
237
-    $data = WPInv_Discount::get_data_by( $field, $value );
238
-    if( empty( $data ) ) {
236
+function wpinv_get_discount_by($field = '', $value = '') {
237
+    $data = WPInv_Discount::get_data_by($field, $value);
238
+    if (empty($data)) {
239 239
         return false;
240 240
     }
241 241
 
242
-    return get_post( $data['ID'] );
242
+    return get_post($data['ID']);
243 243
 }
244 244
 
245 245
 /**
@@ -249,68 +249,68 @@  discard block
 block discarded – undo
249 249
  * @param array $data The discount's properties.
250 250
  * @return bool
251 251
  */
252
-function wpinv_store_discount( $post_id, $data, $post, $update = false ) {
252
+function wpinv_store_discount($post_id, $data, $post, $update = false) {
253 253
     $meta = array(
254
-        'code'              => isset( $data['code'] )             ? sanitize_text_field( $data['code'] )              : '',
255
-        'type'              => isset( $data['type'] )             ? sanitize_text_field( $data['type'] )              : 'percent',
256
-        'amount'            => isset( $data['amount'] )           ? wpinv_sanitize_amount( $data['amount'] )          : '',
257
-        'start'             => isset( $data['start'] )            ? sanitize_text_field( $data['start'] )             : '',
258
-        'expiration'        => isset( $data['expiration'] )       ? sanitize_text_field( $data['expiration'] )        : '',
259
-        'min_total'         => isset( $data['min_total'] )        ? wpinv_sanitize_amount( $data['min_total'] )       : '',
260
-        'max_total'         => isset( $data['max_total'] )        ? wpinv_sanitize_amount( $data['max_total'] )       : '',
261
-        'max_uses'          => isset( $data['max_uses'] )         ? absint( $data['max_uses'] )                       : '',
262
-        'items'             => isset( $data['items'] )            ? $data['items']                                    : array(),
263
-        'excluded_items'    => isset( $data['excluded_items'] )   ? $data['excluded_items']                           : array(),
264
-        'is_recurring'      => isset( $data['recurring'] )        ? (bool)$data['recurring']                          : false,
265
-        'is_single_use'     => isset( $data['single_use'] )       ? (bool)$data['single_use']                         : false,
266
-        'uses'              => isset( $data['uses'] )             ? (int)$data['uses']                                : false,
254
+        'code'              => isset($data['code']) ? sanitize_text_field($data['code']) : '',
255
+        'type'              => isset($data['type']) ? sanitize_text_field($data['type']) : 'percent',
256
+        'amount'            => isset($data['amount']) ? wpinv_sanitize_amount($data['amount']) : '',
257
+        'start'             => isset($data['start']) ? sanitize_text_field($data['start']) : '',
258
+        'expiration'        => isset($data['expiration']) ? sanitize_text_field($data['expiration']) : '',
259
+        'min_total'         => isset($data['min_total']) ? wpinv_sanitize_amount($data['min_total']) : '',
260
+        'max_total'         => isset($data['max_total']) ? wpinv_sanitize_amount($data['max_total']) : '',
261
+        'max_uses'          => isset($data['max_uses']) ? absint($data['max_uses']) : '',
262
+        'items'             => isset($data['items']) ? $data['items'] : array(),
263
+        'excluded_items'    => isset($data['excluded_items']) ? $data['excluded_items'] : array(),
264
+        'is_recurring'      => isset($data['recurring']) ? (bool) $data['recurring'] : false,
265
+        'is_single_use'     => isset($data['single_use']) ? (bool) $data['single_use'] : false,
266
+        'uses'              => isset($data['uses']) ? (int) $data['uses'] : false,
267 267
     );
268 268
 
269
-    if ( $meta['type'] == 'percent' && (float)$meta['amount'] > 100 ) {
269
+    if ($meta['type'] == 'percent' && (float) $meta['amount'] > 100) {
270 270
         $meta['amount'] = 100;
271 271
     }
272 272
 
273
-    if ( !empty( $meta['start'] ) ) {
274
-        $meta['start']      = date_i18n( 'Y-m-d H:i:s', strtotime( $meta['start'] ) );
273
+    if (!empty($meta['start'])) {
274
+        $meta['start'] = date_i18n('Y-m-d H:i:s', strtotime($meta['start']));
275 275
     }
276 276
 
277
-    if ( !empty( $meta['expiration'] ) ) {
278
-        $meta['expiration'] = date_i18n( 'Y-m-d H:i:s', strtotime( $meta['expiration'] ) );
277
+    if (!empty($meta['expiration'])) {
278
+        $meta['expiration'] = date_i18n('Y-m-d H:i:s', strtotime($meta['expiration']));
279 279
 
280
-        if ( !empty( $meta['start'] ) && strtotime( $meta['start'] ) > strtotime( $meta['expiration'] ) ) {
280
+        if (!empty($meta['start']) && strtotime($meta['start']) > strtotime($meta['expiration'])) {
281 281
             $meta['expiration'] = $meta['start'];
282 282
         }
283 283
     }
284 284
 
285
-    if ( $meta['uses'] === false ) {
286
-        unset( $meta['uses'] );
285
+    if ($meta['uses'] === false) {
286
+        unset($meta['uses']);
287 287
     }
288 288
 
289
-    if ( ! empty( $meta['items'] ) ) {
290
-        foreach ( $meta['items'] as $key => $item ) {
291
-            if ( 0 === intval( $item ) ) {
292
-                unset( $meta['items'][ $key ] );
289
+    if (!empty($meta['items'])) {
290
+        foreach ($meta['items'] as $key => $item) {
291
+            if (0 === intval($item)) {
292
+                unset($meta['items'][$key]);
293 293
             }
294 294
         }
295 295
     }
296 296
 
297
-    if ( ! empty( $meta['excluded_items'] ) ) {
298
-        foreach ( $meta['excluded_items'] as $key => $item ) {
299
-            if ( 0 === intval( $item ) ) {
300
-                unset( $meta['excluded_items'][ $key ] );
297
+    if (!empty($meta['excluded_items'])) {
298
+        foreach ($meta['excluded_items'] as $key => $item) {
299
+            if (0 === intval($item)) {
300
+                unset($meta['excluded_items'][$key]);
301 301
             }
302 302
         }
303 303
     }
304 304
 
305
-    $meta = apply_filters( 'wpinv_update_discount', $meta, $post_id, $post );
305
+    $meta = apply_filters('wpinv_update_discount', $meta, $post_id, $post);
306 306
 
307
-    do_action( 'wpinv_pre_update_discount', $meta, $post_id, $post );
307
+    do_action('wpinv_pre_update_discount', $meta, $post_id, $post);
308 308
 
309
-    foreach( $meta as $key => $value ) {
310
-        update_post_meta( $post_id, '_wpi_discount_' . $key, $value );
309
+    foreach ($meta as $key => $value) {
310
+        update_post_meta($post_id, '_wpi_discount_' . $key, $value);
311 311
     }
312 312
 
313
-    do_action( 'wpinv_post_update_discount', $meta, $post_id, $post );
313
+    do_action('wpinv_post_update_discount', $meta, $post_id, $post);
314 314
 
315 315
     return $post_id;
316 316
 }
@@ -321,10 +321,10 @@  discard block
 block discarded – undo
321 321
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
322 322
  * @return bool
323 323
  */
324
-function wpinv_remove_discount( $discount = 0 ) {
324
+function wpinv_remove_discount($discount = 0) {
325 325
 
326
-    $discount = wpinv_get_discount_obj( $discount );
327
-    if( ! $discount->exists() ) {
326
+    $discount = wpinv_get_discount_obj($discount);
327
+    if (!$discount->exists()) {
328 328
         return false;
329 329
     }
330 330
 
@@ -339,9 +339,9 @@  discard block
 block discarded – undo
339 339
  * @param string $new_status
340 340
  * @return bool
341 341
  */
342
-function wpinv_update_discount_status( $discount = 0, $new_status = 'publish' ) {
343
-    $discount = wpinv_get_discount_obj( $discount );
344
-    return $discount->update_status( $new_status );
342
+function wpinv_update_discount_status($discount = 0, $new_status = 'publish') {
343
+    $discount = wpinv_get_discount_obj($discount);
344
+    return $discount->update_status($new_status);
345 345
 }
346 346
 
347 347
 /**
@@ -350,48 +350,48 @@  discard block
 block discarded – undo
350 350
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
351 351
  * @return bool
352 352
  */
353
-function wpinv_discount_exists( $discount ) {
354
-    $discount = wpinv_get_discount_obj( $discount );
353
+function wpinv_discount_exists($discount) {
354
+    $discount = wpinv_get_discount_obj($discount);
355 355
     return $discount->exists();
356 356
 }
357 357
 
358
-function wpinv_is_discount_active( $code_id = null, $silent = false ) {
359
-    $discount = wpinv_get_discount(  $code_id );
358
+function wpinv_is_discount_active($code_id = null, $silent = false) {
359
+    $discount = wpinv_get_discount($code_id);
360 360
     $return   = false;
361 361
 
362
-    if ( $discount ) {
363
-        if ( wpinv_is_discount_expired( $code_id, $silent ) ) {
364
-            if( defined( 'DOING_AJAX' ) && ! $silent ) {
365
-                wpinv_set_error( 'wpinv-discount-error', __( 'This discount is expired.', 'invoicing' ) );
362
+    if ($discount) {
363
+        if (wpinv_is_discount_expired($code_id, $silent)) {
364
+            if (defined('DOING_AJAX') && !$silent) {
365
+                wpinv_set_error('wpinv-discount-error', __('This discount is expired.', 'invoicing'));
366 366
             }
367
-        } elseif ( $discount->post_status == 'publish' ) {
367
+        } elseif ($discount->post_status == 'publish') {
368 368
             $return = true;
369 369
         } else {
370
-            if( defined( 'DOING_AJAX' ) && ! $silent ) {
371
-                wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not active.', 'invoicing' ) );
370
+            if (defined('DOING_AJAX') && !$silent) {
371
+                wpinv_set_error('wpinv-discount-error', __('This discount is not active.', 'invoicing'));
372 372
             }
373 373
         }
374 374
     }
375 375
 
376
-    return apply_filters( 'wpinv_is_discount_active', $return, $code_id );
376
+    return apply_filters('wpinv_is_discount_active', $return, $code_id);
377 377
 }
378 378
 
379
-function wpinv_get_discount_code( $code_id = null ) {
380
-    $code = get_post_meta( $code_id, '_wpi_discount_code', true );
379
+function wpinv_get_discount_code($code_id = null) {
380
+    $code = get_post_meta($code_id, '_wpi_discount_code', true);
381 381
 
382
-    return apply_filters( 'wpinv_get_discount_code', $code, $code_id );
382
+    return apply_filters('wpinv_get_discount_code', $code, $code_id);
383 383
 }
384 384
 
385
-function wpinv_get_discount_start_date( $code_id = null ) {
386
-    $start_date = get_post_meta( $code_id, '_wpi_discount_start', true );
385
+function wpinv_get_discount_start_date($code_id = null) {
386
+    $start_date = get_post_meta($code_id, '_wpi_discount_start', true);
387 387
 
388
-    return apply_filters( 'wpinv_get_discount_start_date', $start_date, $code_id );
388
+    return apply_filters('wpinv_get_discount_start_date', $start_date, $code_id);
389 389
 }
390 390
 
391
-function wpinv_get_discount_expiration( $code_id = null ) {
392
-    $expiration = get_post_meta( $code_id, '_wpi_discount_expiration', true );
391
+function wpinv_get_discount_expiration($code_id = null) {
392
+    $expiration = get_post_meta($code_id, '_wpi_discount_expiration', true);
393 393
 
394
-    return apply_filters( 'wpinv_get_discount_expiration', $expiration, $code_id );
394
+    return apply_filters('wpinv_get_discount_expiration', $expiration, $code_id);
395 395
 }
396 396
 
397 397
 /**
@@ -400,8 +400,8 @@  discard block
 block discarded – undo
400 400
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
401 401
  * @return int
402 402
  */
403
-function wpinv_get_discount_max_uses( $discount = array() ) {
404
-    $discount = wpinv_get_discount_obj( $discount );
403
+function wpinv_get_discount_max_uses($discount = array()) {
404
+    $discount = wpinv_get_discount_obj($discount);
405 405
     return (int) $discount->max_uses;
406 406
 }
407 407
 
@@ -411,8 +411,8 @@  discard block
 block discarded – undo
411 411
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
412 412
  * @return int
413 413
  */
414
-function wpinv_get_discount_uses( $discount = array() ) {
415
-    $discount = wpinv_get_discount_obj( $discount );
414
+function wpinv_get_discount_uses($discount = array()) {
415
+    $discount = wpinv_get_discount_obj($discount);
416 416
     return (int) $discount->uses;
417 417
 }
418 418
 
@@ -422,8 +422,8 @@  discard block
 block discarded – undo
422 422
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
423 423
  * @return float
424 424
  */
425
-function wpinv_get_discount_min_total( $discount = array() ) {
426
-    $discount = wpinv_get_discount_obj( $discount );
425
+function wpinv_get_discount_min_total($discount = array()) {
426
+    $discount = wpinv_get_discount_obj($discount);
427 427
     return (float) $discount->min_total;
428 428
 }
429 429
 
@@ -433,8 +433,8 @@  discard block
 block discarded – undo
433 433
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
434 434
  * @return float
435 435
  */
436
-function wpinv_get_discount_max_total( $discount = array() ) {
437
-    $discount = wpinv_get_discount_obj( $discount );
436
+function wpinv_get_discount_max_total($discount = array()) {
437
+    $discount = wpinv_get_discount_obj($discount);
438 438
     return (float) $discount->max_total;
439 439
 }
440 440
 
@@ -444,8 +444,8 @@  discard block
 block discarded – undo
444 444
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
445 445
  * @return float
446 446
  */
447
-function wpinv_get_discount_amount( $discount = array() ) {
448
-    $discount = wpinv_get_discount_obj( $discount );
447
+function wpinv_get_discount_amount($discount = array()) {
448
+    $discount = wpinv_get_discount_obj($discount);
449 449
     return (float) $discount->amount;
450 450
 }
451 451
 
@@ -456,28 +456,28 @@  discard block
 block discarded – undo
456 456
  * @param bool $name
457 457
  * @return string
458 458
  */
459
-function wpinv_get_discount_type( $discount = array(), $name = false ) {
460
-    $discount = wpinv_get_discount_obj( $discount );
459
+function wpinv_get_discount_type($discount = array(), $name = false) {
460
+    $discount = wpinv_get_discount_obj($discount);
461 461
 
462 462
     // Are we returning the name or just the type.
463
-    if( $name ) {
463
+    if ($name) {
464 464
         return $discount->type_name;
465 465
     }
466 466
 
467 467
     return $discount->type;
468 468
 }
469 469
 
470
-function wpinv_discount_status( $status ) {
471
-    switch( $status ){
470
+function wpinv_discount_status($status) {
471
+    switch ($status) {
472 472
         case 'expired' :
473
-            $name = __( 'Expired', 'invoicing' );
473
+            $name = __('Expired', 'invoicing');
474 474
             break;
475 475
         case 'publish' :
476 476
         case 'active' :
477
-            $name = __( 'Active', 'invoicing' );
477
+            $name = __('Active', 'invoicing');
478 478
             break;
479 479
         default :
480
-            $name = __( 'Inactive', 'invoicing' );
480
+            $name = __('Inactive', 'invoicing');
481 481
             break;
482 482
     }
483 483
     return $name;
@@ -489,8 +489,8 @@  discard block
 block discarded – undo
489 489
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
490 490
  * @return array
491 491
  */
492
-function wpinv_get_discount_excluded_items( $discount = array() ) {
493
-    $discount = wpinv_get_discount_obj( $discount );
492
+function wpinv_get_discount_excluded_items($discount = array()) {
493
+    $discount = wpinv_get_discount_obj($discount);
494 494
     return $discount->excluded_items;
495 495
 }
496 496
 
@@ -500,17 +500,17 @@  discard block
 block discarded – undo
500 500
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
501 501
  * @return array
502 502
  */
503
-function wpinv_get_discount_item_reqs( $discount = array() ) {
504
-    $discount = wpinv_get_discount_obj( $discount );
503
+function wpinv_get_discount_item_reqs($discount = array()) {
504
+    $discount = wpinv_get_discount_obj($discount);
505 505
     return $discount->items;
506 506
 }
507 507
 
508
-function wpinv_get_discount_item_condition( $code_id = 0 ) {
509
-    return get_post_meta( $code_id, '_wpi_discount_item_condition', true );
508
+function wpinv_get_discount_item_condition($code_id = 0) {
509
+    return get_post_meta($code_id, '_wpi_discount_item_condition', true);
510 510
 }
511 511
 
512
-function wpinv_is_discount_not_global( $code_id = 0 ) {
513
-    return (bool) get_post_meta( $code_id, '_wpi_discount_is_not_global', true );
512
+function wpinv_is_discount_not_global($code_id = 0) {
513
+    return (bool) get_post_meta($code_id, '_wpi_discount_is_not_global', true);
514 514
 }
515 515
 
516 516
 /**
@@ -519,14 +519,14 @@  discard block
 block discarded – undo
519 519
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
520 520
  * @return bool
521 521
  */
522
-function wpinv_is_discount_expired( $discount = array(), $silent = false ) {
523
-    $discount = wpinv_get_discount_obj( $discount );
522
+function wpinv_is_discount_expired($discount = array(), $silent = false) {
523
+    $discount = wpinv_get_discount_obj($discount);
524 524
 
525
-    if ( $discount->is_expired() ) {
526
-        $discount->update_status( 'pending' );
525
+    if ($discount->is_expired()) {
526
+        $discount->update_status('pending');
527 527
 
528
-        if( empty( $silent ) ) {
529
-            wpinv_set_error( 'wpinv-discount-error', __( 'This discount has expired.', 'invoicing' ) );
528
+        if (empty($silent)) {
529
+            wpinv_set_error('wpinv-discount-error', __('This discount has expired.', 'invoicing'));
530 530
         }
531 531
         return true;
532 532
     }
@@ -540,12 +540,12 @@  discard block
 block discarded – undo
540 540
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
541 541
  * @return bool
542 542
  */
543
-function wpinv_is_discount_started( $discount = array() ) {
544
-    $discount = wpinv_get_discount_obj( $discount );
543
+function wpinv_is_discount_started($discount = array()) {
544
+    $discount = wpinv_get_discount_obj($discount);
545 545
     $started  = $discount->has_started();
546 546
 
547
-    if( empty( $started ) ) {
548
-        wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not active yet.', 'invoicing' ) );
547
+    if (empty($started)) {
548
+        wpinv_set_error('wpinv-discount-error', __('This discount is not active yet.', 'invoicing'));
549 549
     }
550 550
 
551 551
     return $started;
@@ -557,10 +557,10 @@  discard block
 block discarded – undo
557 557
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
558 558
  * @return bool
559 559
  */
560
-function wpinv_check_discount_dates( $discount ) {
561
-    $discount = wpinv_get_discount_obj( $discount );
562
-    $return   = wpinv_is_discount_started( $discount ) && ! wpinv_is_discount_expired( $discount );
563
-    return apply_filters( 'wpinv_check_discount_dates', $return, $discount->ID, $discount, $discount->code );
560
+function wpinv_check_discount_dates($discount) {
561
+    $discount = wpinv_get_discount_obj($discount);
562
+    $return   = wpinv_is_discount_started($discount) && !wpinv_is_discount_expired($discount);
563
+    return apply_filters('wpinv_check_discount_dates', $return, $discount->ID, $discount, $discount->code);
564 564
 }
565 565
 
566 566
 /**
@@ -569,12 +569,12 @@  discard block
 block discarded – undo
569 569
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
570 570
  * @return bool
571 571
  */
572
-function wpinv_is_discount_maxed_out( $discount ) {
573
-    $discount    = wpinv_get_discount_obj( $discount );
572
+function wpinv_is_discount_maxed_out($discount) {
573
+    $discount    = wpinv_get_discount_obj($discount);
574 574
     $maxed_out   = $discount->has_exceeded_limit();
575 575
 
576
-    if ( $maxed_out ) {
577
-        wpinv_set_error( 'wpinv-discount-error', __( 'This discount has reached its maximum usage.', 'invoicing' ) );
576
+    if ($maxed_out) {
577
+        wpinv_set_error('wpinv-discount-error', __('This discount has reached its maximum usage.', 'invoicing'));
578 578
     }
579 579
 
580 580
     return $maxed_out;
@@ -586,13 +586,13 @@  discard block
 block discarded – undo
586 586
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
587 587
  * @return bool
588 588
  */
589
-function wpinv_discount_is_min_met( $discount ) {
590
-    $discount    = wpinv_get_discount_obj( $discount );
591
-    $cart_amount = (float)wpinv_get_cart_discountable_subtotal( $discount->ID );
592
-    $min_met     = $discount->is_minimum_amount_met( $cart_amount );
589
+function wpinv_discount_is_min_met($discount) {
590
+    $discount    = wpinv_get_discount_obj($discount);
591
+    $cart_amount = (float) wpinv_get_cart_discountable_subtotal($discount->ID);
592
+    $min_met     = $discount->is_minimum_amount_met($cart_amount);
593 593
 
594
-    if ( ! $min_met ) {
595
-        wpinv_set_error( 'wpinv-discount-error', sprintf( __( 'Minimum invoice amount should be %s', 'invoicing' ), wpinv_price( wpinv_format_amount( $discount->min_total ) ) ) );
594
+    if (!$min_met) {
595
+        wpinv_set_error('wpinv-discount-error', sprintf(__('Minimum invoice amount should be %s', 'invoicing'), wpinv_price(wpinv_format_amount($discount->min_total))));
596 596
     }
597 597
 
598 598
     return $min_met;
@@ -604,13 +604,13 @@  discard block
 block discarded – undo
604 604
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
605 605
  * @return bool
606 606
  */
607
-function wpinv_discount_is_max_met( $discount ) {
608
-    $discount    = wpinv_get_discount_obj( $discount );
609
-    $cart_amount = (float)wpinv_get_cart_discountable_subtotal( $discount->ID );
610
-    $max_met     = $discount->is_maximum_amount_met( $cart_amount );
607
+function wpinv_discount_is_max_met($discount) {
608
+    $discount    = wpinv_get_discount_obj($discount);
609
+    $cart_amount = (float) wpinv_get_cart_discountable_subtotal($discount->ID);
610
+    $max_met     = $discount->is_maximum_amount_met($cart_amount);
611 611
 
612
-    if ( ! $max_met ) {
613
-        wpinv_set_error( 'wpinv-discount-error', sprintf( __( 'Maximum invoice amount should be %s', 'invoicing' ), wpinv_price( wpinv_format_amount( $discount->max_total ) ) ) );
612
+    if (!$max_met) {
613
+        wpinv_set_error('wpinv-discount-error', sprintf(__('Maximum invoice amount should be %s', 'invoicing'), wpinv_price(wpinv_format_amount($discount->max_total))));
614 614
     }
615 615
 
616 616
     return $max_met;
@@ -622,8 +622,8 @@  discard block
 block discarded – undo
622 622
  * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code.
623 623
  * @return bool
624 624
  */
625
-function wpinv_discount_is_single_use( $discount ) {
626
-    $discount    = wpinv_get_discount_obj( $discount );
625
+function wpinv_discount_is_single_use($discount) {
626
+    $discount = wpinv_get_discount_obj($discount);
627 627
     return $discount->is_single_use;
628 628
 }
629 629
 
@@ -634,53 +634,53 @@  discard block
 block discarded – undo
634 634
  * @param int|array|string|WPInv_Discount $code discount data, object, ID or code.
635 635
  * @return bool
636 636
  */
637
-function wpinv_discount_is_recurring( $discount = 0, $code = 0 ) {
637
+function wpinv_discount_is_recurring($discount = 0, $code = 0) {
638 638
 
639
-    if( ! empty( $discount ) ) {
640
-        $discount    = wpinv_get_discount_obj( $discount );
639
+    if (!empty($discount)) {
640
+        $discount    = wpinv_get_discount_obj($discount);
641 641
     } else {
642
-        $discount    = wpinv_get_discount_obj( $code );
642
+        $discount    = wpinv_get_discount_obj($code);
643 643
     }
644 644
 
645 645
     return $discount->get_is_recurring();
646 646
 }
647 647
 
648
-function wpinv_discount_item_reqs_met( $code_id = null ) {
649
-    $item_reqs    = wpinv_get_discount_item_reqs( $code_id );
650
-    $condition    = wpinv_get_discount_item_condition( $code_id );
651
-    $excluded_ps  = wpinv_get_discount_excluded_items( $code_id );
648
+function wpinv_discount_item_reqs_met($code_id = null) {
649
+    $item_reqs    = wpinv_get_discount_item_reqs($code_id);
650
+    $condition    = wpinv_get_discount_item_condition($code_id);
651
+    $excluded_ps  = wpinv_get_discount_excluded_items($code_id);
652 652
     $cart_items   = wpinv_get_cart_contents();
653
-    $cart_ids     = $cart_items ? wp_list_pluck( $cart_items, 'id' ) : null;
653
+    $cart_ids     = $cart_items ? wp_list_pluck($cart_items, 'id') : null;
654 654
     $ret          = false;
655 655
 
656
-    if ( empty( $item_reqs ) && empty( $excluded_ps ) ) {
656
+    if (empty($item_reqs) && empty($excluded_ps)) {
657 657
         $ret = true;
658 658
     }
659 659
 
660 660
     // Normalize our data for item requirements, exclusions and cart data
661 661
     // First absint the items, then sort, and reset the array keys
662
-    $item_reqs = array_map( 'absint', $item_reqs );
663
-    asort( $item_reqs );
664
-    $item_reqs = array_values( $item_reqs );
662
+    $item_reqs = array_map('absint', $item_reqs);
663
+    asort($item_reqs);
664
+    $item_reqs = array_values($item_reqs);
665 665
 
666
-    $excluded_ps  = array_map( 'absint', $excluded_ps );
667
-    asort( $excluded_ps );
668
-    $excluded_ps  = array_values( $excluded_ps );
666
+    $excluded_ps  = array_map('absint', $excluded_ps);
667
+    asort($excluded_ps);
668
+    $excluded_ps  = array_values($excluded_ps);
669 669
 
670
-    $cart_ids     = array_map( 'absint', $cart_ids );
671
-    asort( $cart_ids );
672
-    $cart_ids     = array_values( $cart_ids );
670
+    $cart_ids     = array_map('absint', $cart_ids);
671
+    asort($cart_ids);
672
+    $cart_ids     = array_values($cart_ids);
673 673
 
674 674
     // Ensure we have requirements before proceeding
675
-    if ( !$ret && ! empty( $item_reqs ) ) {
676
-        switch( $condition ) {
675
+    if (!$ret && !empty($item_reqs)) {
676
+        switch ($condition) {
677 677
             case 'all' :
678 678
                 // Default back to true
679 679
                 $ret = true;
680 680
 
681
-                foreach ( $item_reqs as $item_id ) {
682
-                    if ( !wpinv_item_in_cart( $item_id ) ) {
683
-                        wpinv_set_error( 'wpinv-discount-error', __( 'The item requirements for this discount are not met.', 'invoicing' ) );
681
+                foreach ($item_reqs as $item_id) {
682
+                    if (!wpinv_item_in_cart($item_id)) {
683
+                        wpinv_set_error('wpinv-discount-error', __('The item requirements for this discount are not met.', 'invoicing'));
684 684
                         $ret = false;
685 685
                         break;
686 686
                     }
@@ -689,15 +689,15 @@  discard block
 block discarded – undo
689 689
                 break;
690 690
 
691 691
             default : // Any
692
-                foreach ( $item_reqs as $item_id ) {
693
-                    if ( wpinv_item_in_cart( $item_id ) ) {
692
+                foreach ($item_reqs as $item_id) {
693
+                    if (wpinv_item_in_cart($item_id)) {
694 694
                         $ret = true;
695 695
                         break;
696 696
                     }
697 697
                 }
698 698
 
699
-                if( ! $ret ) {
700
-                    wpinv_set_error( 'wpinv-discount-error', __( 'The item requirements for this discount are not met.', 'invoicing' ) );
699
+                if (!$ret) {
700
+                    wpinv_set_error('wpinv-discount-error', __('The item requirements for this discount are not met.', 'invoicing'));
701 701
                 }
702 702
 
703 703
                 break;
@@ -706,15 +706,15 @@  discard block
 block discarded – undo
706 706
         $ret = true;
707 707
     }
708 708
 
709
-    if( ! empty( $excluded_ps ) ) {
709
+    if (!empty($excluded_ps)) {
710 710
         // Check that there are items other than excluded ones in the cart
711
-        if( $cart_ids == $excluded_ps ) {
712
-            wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not valid for the cart contents.', 'invoicing' ) );
711
+        if ($cart_ids == $excluded_ps) {
712
+            wpinv_set_error('wpinv-discount-error', __('This discount is not valid for the cart contents.', 'invoicing'));
713 713
             $ret = false;
714 714
         }
715 715
     }
716 716
 
717
-    return (bool) apply_filters( 'wpinv_is_discount_item_req_met', $ret, $code_id, $condition );
717
+    return (bool) apply_filters('wpinv_is_discount_item_req_met', $ret, $code_id, $condition);
718 718
 }
719 719
 
720 720
 /**
@@ -725,59 +725,59 @@  discard block
 block discarded – undo
725 725
  * @param int|array|string|WPInv_Discount $code_id discount data, object, ID or code.
726 726
  * @return bool
727 727
  */
728
-function wpinv_is_discount_used( $discount = array(), $user = '', $code_id = array() ) {
728
+function wpinv_is_discount_used($discount = array(), $user = '', $code_id = array()) {
729 729
 
730
-    if( ! empty( $discount ) ) {
731
-        $discount = wpinv_get_discount_obj( $discount );
730
+    if (!empty($discount)) {
731
+        $discount = wpinv_get_discount_obj($discount);
732 732
     } else {
733
-        $discount = wpinv_get_discount_obj( $code_id );
733
+        $discount = wpinv_get_discount_obj($code_id);
734 734
     }
735 735
 
736
-    $is_used = ! $discount->is_valid_for_user( $user );
737
-    $is_used = apply_filters( 'wpinv_is_discount_used', $is_used, $discount->code, $user, $discount->ID, $discount );
736
+    $is_used = !$discount->is_valid_for_user($user);
737
+    $is_used = apply_filters('wpinv_is_discount_used', $is_used, $discount->code, $user, $discount->ID, $discount);
738 738
 
739
-    if( $is_used ) {
740
-        wpinv_set_error( 'wpinv-discount-error', __( 'This discount has already been redeemed.', 'invoicing' ) );
739
+    if ($is_used) {
740
+        wpinv_set_error('wpinv-discount-error', __('This discount has already been redeemed.', 'invoicing'));
741 741
     }
742 742
 
743 743
     return $is_used;
744 744
 }
745 745
 
746
-function wpinv_is_discount_valid( $code = '', $user = '', $set_error = true ) {
746
+function wpinv_is_discount_valid($code = '', $user = '', $set_error = true) {
747 747
 
748 748
     // Abort early if there is no discount code.
749
-    if ( empty( $code ) ) {
749
+    if (empty($code)) {
750 750
         return false;
751 751
     }
752 752
 
753 753
     $return      = false;
754
-    $discount_id = wpinv_get_discount_id_by_code( $code );
755
-    $user        = trim( $user );
754
+    $discount_id = wpinv_get_discount_id_by_code($code);
755
+    $user        = trim($user);
756 756
 
757
-    if ( wpinv_get_cart_contents() ) {
758
-        if ( $discount_id !== false ) {
757
+    if (wpinv_get_cart_contents()) {
758
+        if ($discount_id !== false) {
759 759
             if (
760
-                wpinv_is_discount_active( $discount_id ) &&
761
-                wpinv_check_discount_dates( $discount_id ) &&
762
-                !wpinv_is_discount_maxed_out( $discount_id ) &&
763
-                !wpinv_is_discount_used( $code, $user, $discount_id ) &&
764
-                wpinv_discount_is_min_met( $discount_id ) &&
765
-                wpinv_discount_is_max_met( $discount_id ) &&
766
-                wpinv_discount_item_reqs_met( $discount_id )
760
+                wpinv_is_discount_active($discount_id) &&
761
+                wpinv_check_discount_dates($discount_id) &&
762
+                !wpinv_is_discount_maxed_out($discount_id) &&
763
+                !wpinv_is_discount_used($code, $user, $discount_id) &&
764
+                wpinv_discount_is_min_met($discount_id) &&
765
+                wpinv_discount_is_max_met($discount_id) &&
766
+                wpinv_discount_item_reqs_met($discount_id)
767 767
             ) {
768 768
                 $return = true;
769 769
             }
770
-        } elseif( $set_error ) {
771
-            wpinv_set_error( 'wpinv-discount-error', __( 'This discount is invalid.', 'invoicing' ) );
770
+        } elseif ($set_error) {
771
+            wpinv_set_error('wpinv-discount-error', __('This discount is invalid.', 'invoicing'));
772 772
         }
773 773
     }
774 774
 
775
-    return apply_filters( 'wpinv_is_discount_valid', $return, $discount_id, $code, $user );
775
+    return apply_filters('wpinv_is_discount_valid', $return, $discount_id, $code, $user);
776 776
 }
777 777
 
778
-function wpinv_get_discount_id_by_code( $code ) {
779
-    $discount = wpinv_get_discount_by_code( $code );
780
-    if( $discount ) {
778
+function wpinv_get_discount_id_by_code($code) {
779
+    $discount = wpinv_get_discount_by_code($code);
780
+    if ($discount) {
781 781
         return $discount->ID;
782 782
     }
783 783
     return false;
@@ -790,9 +790,9 @@  discard block
 block discarded – undo
790 790
  * @param float $base_price The number of usages to increase by
791 791
  * @return float
792 792
  */
793
-function wpinv_get_discounted_amount( $discount, $base_price ) {
794
-    $discount = wpinv_get_discount_obj( $discount );
795
-    return $discount->get_discounted_amount( $base_price );
793
+function wpinv_get_discounted_amount($discount, $base_price) {
794
+    $discount = wpinv_get_discount_obj($discount);
795
+    return $discount->get_discounted_amount($base_price);
796 796
 }
797 797
 
798 798
 /**
@@ -802,9 +802,9 @@  discard block
 block discarded – undo
802 802
  * @param int $by The number of usages to increase by.
803 803
  * @return int the new number of uses.
804 804
  */
805
-function wpinv_increase_discount_usage( $discount, $by = 1 ) {
806
-    $discount   = wpinv_get_discount_obj( $discount );
807
-    return $discount->increase_usage( $by );
805
+function wpinv_increase_discount_usage($discount, $by = 1) {
806
+    $discount = wpinv_get_discount_obj($discount);
807
+    return $discount->increase_usage($by);
808 808
 }
809 809
 
810 810
 /**
@@ -814,72 +814,72 @@  discard block
 block discarded – undo
814 814
  * @param int $by The number of usages to decrease by.
815 815
  * @return int the new number of uses.
816 816
  */
817
-function wpinv_decrease_discount_usage( $discount, $by = 1 ) {
818
-    $discount   = wpinv_get_discount_obj( $discount );
819
-    return $discount->increase_usage( 0 - $by );
817
+function wpinv_decrease_discount_usage($discount, $by = 1) {
818
+    $discount = wpinv_get_discount_obj($discount);
819
+    return $discount->increase_usage(0 - $by);
820 820
 }
821 821
 
822
-function wpinv_format_discount_rate( $type, $amount ) {
823
-    if ( $type == 'flat' ) {
824
-        $rate = wpinv_price( wpinv_format_amount( $amount ) );
822
+function wpinv_format_discount_rate($type, $amount) {
823
+    if ($type == 'flat') {
824
+        $rate = wpinv_price(wpinv_format_amount($amount));
825 825
     } else {
826 826
         $rate = $amount . '%';
827 827
     }
828 828
 
829
-    return apply_filters( 'wpinv_format_discount_rate', $rate, $type, $amount );
829
+    return apply_filters('wpinv_format_discount_rate', $rate, $type, $amount);
830 830
 }
831 831
 
832
-function wpinv_set_cart_discount( $code = '' ) {
833
-    if ( wpinv_multiple_discounts_allowed() ) {
832
+function wpinv_set_cart_discount($code = '') {
833
+    if (wpinv_multiple_discounts_allowed()) {
834 834
         // Get all active cart discounts
835 835
         $discounts = wpinv_get_cart_discounts();
836 836
     } else {
837 837
         $discounts = false; // Only one discount allowed per purchase, so override any existing
838 838
     }
839 839
 
840
-    if ( $discounts ) {
841
-        $key = array_search( strtolower( $code ), array_map( 'strtolower', $discounts ) );
842
-        if( false !== $key ) {
843
-            unset( $discounts[ $key ] ); // Can't set the same discount more than once
840
+    if ($discounts) {
841
+        $key = array_search(strtolower($code), array_map('strtolower', $discounts));
842
+        if (false !== $key) {
843
+            unset($discounts[$key]); // Can't set the same discount more than once
844 844
         }
845 845
         $discounts[] = $code;
846 846
     } else {
847 847
         $discounts = array();
848 848
         $discounts[] = $code;
849 849
     }
850
-    $discounts = array_values( $discounts );
850
+    $discounts = array_values($discounts);
851 851
 
852 852
     $data = wpinv_get_checkout_session();
853
-    if ( empty( $data ) ) {
853
+    if (empty($data)) {
854 854
         $data = array();
855 855
     } else {
856
-        if ( !empty( $data['invoice_id'] ) && $payment_meta = wpinv_get_invoice_meta( $data['invoice_id'] ) ) {
857
-            $payment_meta['user_info']['discount']  = implode( ',', $discounts );
858
-            update_post_meta( $data['invoice_id'], '_wpinv_payment_meta', $payment_meta );
856
+        if (!empty($data['invoice_id']) && $payment_meta = wpinv_get_invoice_meta($data['invoice_id'])) {
857
+            $payment_meta['user_info']['discount'] = implode(',', $discounts);
858
+            update_post_meta($data['invoice_id'], '_wpinv_payment_meta', $payment_meta);
859 859
         }
860 860
     }
861 861
     $data['cart_discounts'] = $discounts;
862 862
 
863
-    wpinv_set_checkout_session( $data );
863
+    wpinv_set_checkout_session($data);
864 864
 
865 865
     return $discounts;
866 866
 }
867 867
 
868
-function wpinv_unset_cart_discount( $code = '' ) {
868
+function wpinv_unset_cart_discount($code = '') {
869 869
     $discounts = wpinv_get_cart_discounts();
870 870
 
871
-    if ( $code && !empty( $discounts ) && in_array( $code, $discounts ) ) {
872
-        $key = array_search( $code, $discounts );
873
-        unset( $discounts[ $key ] );
871
+    if ($code && !empty($discounts) && in_array($code, $discounts)) {
872
+        $key = array_search($code, $discounts);
873
+        unset($discounts[$key]);
874 874
 
875 875
         $data = wpinv_get_checkout_session();
876 876
         $data['cart_discounts'] = $discounts;
877
-        if ( !empty( $data['invoice_id'] ) && $payment_meta = wpinv_get_invoice_meta( $data['invoice_id'] ) ) {
878
-            $payment_meta['user_info']['discount']  = !empty( $discounts ) ? implode( ',', $discounts ) : '';
879
-            update_post_meta( $data['invoice_id'], '_wpinv_payment_meta', $payment_meta );
877
+        if (!empty($data['invoice_id']) && $payment_meta = wpinv_get_invoice_meta($data['invoice_id'])) {
878
+            $payment_meta['user_info']['discount'] = !empty($discounts) ? implode(',', $discounts) : '';
879
+            update_post_meta($data['invoice_id'], '_wpinv_payment_meta', $payment_meta);
880 880
         }
881 881
 
882
-        wpinv_set_checkout_session( $data );
882
+        wpinv_set_checkout_session($data);
883 883
     }
884 884
 
885 885
     return $discounts;
@@ -888,10 +888,10 @@  discard block
 block discarded – undo
888 888
 function wpinv_unset_all_cart_discounts() {
889 889
     $data = wpinv_get_checkout_session();
890 890
 
891
-    if ( !empty( $data ) && isset( $data['cart_discounts'] ) ) {
892
-        unset( $data['cart_discounts'] );
891
+    if (!empty($data) && isset($data['cart_discounts'])) {
892
+        unset($data['cart_discounts']);
893 893
 
894
-         wpinv_set_checkout_session( $data );
894
+         wpinv_set_checkout_session($data);
895 895
          return true;
896 896
     }
897 897
 
@@ -900,13 +900,13 @@  discard block
 block discarded – undo
900 900
 
901 901
 function wpinv_get_cart_discounts() {
902 902
     $session = wpinv_get_checkout_session();
903
-    return empty( $session['cart_discounts'] ) ? false : $session['cart_discounts'];
903
+    return empty($session['cart_discounts']) ? false : $session['cart_discounts'];
904 904
 }
905 905
 
906
-function wpinv_cart_has_discounts( $items = array() ) {
906
+function wpinv_cart_has_discounts($items = array()) {
907 907
     $ret = false;
908 908
 
909
-    if ( wpinv_get_cart_discounts( $items ) ) {
909
+    if (wpinv_get_cart_discounts($items)) {
910 910
         $ret = true;
911 911
     }
912 912
 
@@ -917,131 +917,131 @@  discard block
 block discarded – undo
917 917
     }
918 918
     */
919 919
 
920
-    return apply_filters( 'wpinv_cart_has_discounts', $ret );
920
+    return apply_filters('wpinv_cart_has_discounts', $ret);
921 921
 }
922 922
 
923
-function wpinv_get_cart_discounted_amount( $items = array(), $discounts = false ) {
923
+function wpinv_get_cart_discounted_amount($items = array(), $discounts = false) {
924 924
     $amount = 0.00;
925
-    $items  = !empty( $items ) ? $items : wpinv_get_cart_content_details();
925
+    $items  = !empty($items) ? $items : wpinv_get_cart_content_details();
926 926
 
927
-    if ( $items ) {
928
-        $discounts = wp_list_pluck( $items, 'discount' );
927
+    if ($items) {
928
+        $discounts = wp_list_pluck($items, 'discount');
929 929
 
930
-        if ( is_array( $discounts ) ) {
931
-            $discounts = array_map( 'floatval', $discounts );
932
-            $amount    = array_sum( $discounts );
930
+        if (is_array($discounts)) {
931
+            $discounts = array_map('floatval', $discounts);
932
+            $amount    = array_sum($discounts);
933 933
         }
934 934
     }
935 935
 
936
-    return apply_filters( 'wpinv_get_cart_discounted_amount', $amount );
936
+    return apply_filters('wpinv_get_cart_discounted_amount', $amount);
937 937
 }
938 938
 
939
-function wpinv_get_cart_items_discount_amount( $items = array(), $discount = false ) {
940
-    $items  = !empty( $items ) ? $items : wpinv_get_cart_content_details();
939
+function wpinv_get_cart_items_discount_amount($items = array(), $discount = false) {
940
+    $items = !empty($items) ? $items : wpinv_get_cart_content_details();
941 941
 
942
-    if ( empty( $discount ) || empty( $items ) ) {
942
+    if (empty($discount) || empty($items)) {
943 943
         return 0;
944 944
     }
945 945
 
946 946
     $amount = 0;
947 947
 
948
-    foreach ( $items as $item ) {
949
-        $amount += wpinv_get_cart_item_discount_amount( $item, $discount );
948
+    foreach ($items as $item) {
949
+        $amount += wpinv_get_cart_item_discount_amount($item, $discount);
950 950
     }
951 951
 
952
-    $amount = wpinv_round_amount( $amount );
952
+    $amount = wpinv_round_amount($amount);
953 953
 
954 954
     return $amount;
955 955
 }
956 956
 
957
-function wpinv_get_cart_item_discount_amount( $item = array(), $discount = false ) {
957
+function wpinv_get_cart_item_discount_amount($item = array(), $discount = false) {
958 958
     global $wpinv_is_last_cart_item, $wpinv_flat_discount_total;
959 959
 
960 960
     $amount = 0;
961 961
 
962
-    if ( empty( $item ) || empty( $item['id'] ) ) {
962
+    if (empty($item) || empty($item['id'])) {
963 963
         return $amount;
964 964
     }
965 965
 
966
-    if ( empty( $item['quantity'] ) ) {
966
+    if (empty($item['quantity'])) {
967 967
         return $amount;
968 968
     }
969 969
 
970
-    if ( empty( $item['options'] ) ) {
970
+    if (empty($item['options'])) {
971 971
         $item['options'] = array();
972 972
     }
973 973
 
974
-    $price            = wpinv_get_cart_item_price( $item['id'], $item, $item['options'] );
974
+    $price            = wpinv_get_cart_item_price($item['id'], $item, $item['options']);
975 975
     $discounted_price = $price;
976 976
 
977 977
     $discounts = false === $discount ? wpinv_get_cart_discounts() : $discount;
978
-    if ( empty( $discounts ) ) {
978
+    if (empty($discounts)) {
979 979
         return $amount;
980 980
     }
981 981
 
982
-    if ( $discounts ) {
983
-        if ( is_array( $discounts ) ) {
984
-            $discounts = array_values( $discounts );
982
+    if ($discounts) {
983
+        if (is_array($discounts)) {
984
+            $discounts = array_values($discounts);
985 985
         } else {
986
-            $discounts = explode( ',', $discounts );
986
+            $discounts = explode(',', $discounts);
987 987
         }
988 988
     }
989 989
 
990
-    if( $discounts ) {
991
-        foreach ( $discounts as $discount ) {
992
-            $code_id = wpinv_get_discount_id_by_code( $discount );
990
+    if ($discounts) {
991
+        foreach ($discounts as $discount) {
992
+            $code_id = wpinv_get_discount_id_by_code($discount);
993 993
 
994 994
             // Check discount exists
995
-            if( $code_id === false ) {
995
+            if ($code_id === false) {
996 996
                 continue;
997 997
             }
998 998
 
999
-            $reqs           = wpinv_get_discount_item_reqs( $code_id );
1000
-            $excluded_items = wpinv_get_discount_excluded_items( $code_id );
999
+            $reqs           = wpinv_get_discount_item_reqs($code_id);
1000
+            $excluded_items = wpinv_get_discount_excluded_items($code_id);
1001 1001
 
1002 1002
             // Make sure requirements are set and that this discount shouldn't apply to the whole cart
1003
-            if ( !empty( $reqs ) && wpinv_is_discount_not_global( $code_id ) ) {
1004
-                foreach ( $reqs as $item_id ) {
1005
-                    if ( $item_id == $item['id'] && ! in_array( $item['id'], $excluded_items ) ) {
1006
-                        $discounted_price -= wpinv_get_discounted_amount( $discount, $price );
1003
+            if (!empty($reqs) && wpinv_is_discount_not_global($code_id)) {
1004
+                foreach ($reqs as $item_id) {
1005
+                    if ($item_id == $item['id'] && !in_array($item['id'], $excluded_items)) {
1006
+                        $discounted_price -= wpinv_get_discounted_amount($discount, $price);
1007 1007
                     }
1008 1008
                 }
1009 1009
             } else {
1010 1010
                 // This is a global cart discount
1011
-                if ( !in_array( $item['id'], $excluded_items ) ) {
1012
-                    if ( 'flat' === wpinv_get_discount_type( $code_id ) ) {
1011
+                if (!in_array($item['id'], $excluded_items)) {
1012
+                    if ('flat' === wpinv_get_discount_type($code_id)) {
1013 1013
                         $items_subtotal    = 0.00;
1014 1014
                         $cart_items        = wpinv_get_cart_contents();
1015 1015
 
1016
-                        foreach ( $cart_items as $cart_item ) {
1017
-                            if ( ! in_array( $cart_item['id'], $excluded_items ) ) {
1018
-                                $options = !empty( $cart_item['options'] ) ? $cart_item['options'] : array();
1019
-                                $item_price      = wpinv_get_cart_item_price( $cart_item['id'], $cart_item, $options );
1016
+                        foreach ($cart_items as $cart_item) {
1017
+                            if (!in_array($cart_item['id'], $excluded_items)) {
1018
+                                $options = !empty($cart_item['options']) ? $cart_item['options'] : array();
1019
+                                $item_price      = wpinv_get_cart_item_price($cart_item['id'], $cart_item, $options);
1020 1020
                                 $items_subtotal += $item_price * $cart_item['quantity'];
1021 1021
                             }
1022 1022
                         }
1023 1023
 
1024
-                        $subtotal_percent  = ( ( $price * $item['quantity'] ) / $items_subtotal );
1025
-                        $code_amount       = wpinv_get_discount_amount( $code_id );
1024
+                        $subtotal_percent  = (($price * $item['quantity']) / $items_subtotal);
1025
+                        $code_amount       = wpinv_get_discount_amount($code_id);
1026 1026
                         $discounted_amount = $code_amount * $subtotal_percent;
1027 1027
                         $discounted_price -= $discounted_amount;
1028 1028
 
1029
-                        $wpinv_flat_discount_total += round( $discounted_amount, wpinv_currency_decimal_filter() );
1029
+                        $wpinv_flat_discount_total += round($discounted_amount, wpinv_currency_decimal_filter());
1030 1030
 
1031
-                        if ( $wpinv_is_last_cart_item && $wpinv_flat_discount_total < $code_amount ) {
1031
+                        if ($wpinv_is_last_cart_item && $wpinv_flat_discount_total < $code_amount) {
1032 1032
                             $adjustment = $code_amount - $wpinv_flat_discount_total;
1033 1033
                             $discounted_price -= $adjustment;
1034 1034
                         }
1035 1035
                     } else {
1036
-                        $discounted_price -= wpinv_get_discounted_amount( $discount, $price );
1036
+                        $discounted_price -= wpinv_get_discounted_amount($discount, $price);
1037 1037
                     }
1038 1038
                 }
1039 1039
             }
1040 1040
         }
1041 1041
 
1042
-        $amount = ( $price - apply_filters( 'wpinv_get_cart_item_discounted_amount', $discounted_price, $discounts, $item, $price ) );
1042
+        $amount = ($price - apply_filters('wpinv_get_cart_item_discounted_amount', $discounted_price, $discounts, $item, $price));
1043 1043
 
1044
-        if ( 'flat' !== wpinv_get_discount_type( $code_id ) ) {
1044
+        if ('flat' !== wpinv_get_discount_type($code_id)) {
1045 1045
             $amount = $amount * $item['quantity'];
1046 1046
         }
1047 1047
     }
@@ -1049,59 +1049,59 @@  discard block
 block discarded – undo
1049 1049
     return $amount;
1050 1050
 }
1051 1051
 
1052
-function wpinv_cart_discounts_html( $items = array() ) {
1053
-    echo wpinv_get_cart_discounts_html( $items );
1052
+function wpinv_cart_discounts_html($items = array()) {
1053
+    echo wpinv_get_cart_discounts_html($items);
1054 1054
 }
1055 1055
 
1056
-function wpinv_get_cart_discounts_html( $items = array(), $discounts = false ) {
1056
+function wpinv_get_cart_discounts_html($items = array(), $discounts = false) {
1057 1057
     global $wpi_cart_columns;
1058 1058
 
1059
-    $items  = !empty( $items ) ? $items : wpinv_get_cart_content_details();
1059
+    $items = !empty($items) ? $items : wpinv_get_cart_content_details();
1060 1060
 
1061
-    if ( !$discounts ) {
1062
-        $discounts = wpinv_get_cart_discounts( $items );
1061
+    if (!$discounts) {
1062
+        $discounts = wpinv_get_cart_discounts($items);
1063 1063
     }
1064 1064
 
1065
-    if ( !$discounts ) {
1065
+    if (!$discounts) {
1066 1066
         return;
1067 1067
     }
1068 1068
 
1069
-    $discounts = is_array( $discounts ) ? $discounts : array( $discounts );
1069
+    $discounts = is_array($discounts) ? $discounts : array($discounts);
1070 1070
 
1071 1071
     $html = '';
1072 1072
 
1073
-    foreach ( $discounts as $discount ) {
1074
-        $discount_id    = wpinv_get_discount_id_by_code( $discount );
1075
-        $discount_value = wpinv_get_discount_amount( $discount_id );
1076
-        $rate           = wpinv_format_discount_rate( wpinv_get_discount_type( $discount_id ), $discount_value );
1077
-        $amount         = wpinv_get_cart_items_discount_amount( $items, $discount );
1078
-        $remove_btn     = '<a title="' . esc_attr__( 'Remove discount', 'invoicing' ) . '" data-code="' . $discount . '" data-value="' . $discount_value . '" class="wpi-discount-remove" href="javascript:void(0);">[<i class="fa fa-times" aria-hidden="true"></i>]</a> ';
1073
+    foreach ($discounts as $discount) {
1074
+        $discount_id    = wpinv_get_discount_id_by_code($discount);
1075
+        $discount_value = wpinv_get_discount_amount($discount_id);
1076
+        $rate           = wpinv_format_discount_rate(wpinv_get_discount_type($discount_id), $discount_value);
1077
+        $amount         = wpinv_get_cart_items_discount_amount($items, $discount);
1078
+        $remove_btn     = '<a title="' . esc_attr__('Remove discount', 'invoicing') . '" data-code="' . $discount . '" data-value="' . $discount_value . '" class="wpi-discount-remove" href="javascript:void(0);">[<i class="fa fa-times" aria-hidden="true"></i>]</a> ';
1079 1079
 
1080 1080
         $html .= '<tr class="wpinv_cart_footer_row wpinv_cart_discount_row">';
1081 1081
         ob_start();
1082
-        do_action( 'wpinv_checkout_table_discount_first', $items );
1082
+        do_action('wpinv_checkout_table_discount_first', $items);
1083 1083
         $html .= ob_get_clean();
1084
-        $html .= '<td class="wpinv_cart_discount_label text-right" colspan="' . $wpi_cart_columns . '">' . $remove_btn . '<strong>' . wpinv_cart_discount_label( $discount, $rate, false ) . '</strong></td><td class="wpinv_cart_discount text-right"><span data-discount="' . $amount . '" class="wpinv_cart_discount_amount">&ndash;' . wpinv_price( wpinv_format_amount( $amount ) ) . '</span></td>';
1084
+        $html .= '<td class="wpinv_cart_discount_label text-right" colspan="' . $wpi_cart_columns . '">' . $remove_btn . '<strong>' . wpinv_cart_discount_label($discount, $rate, false) . '</strong></td><td class="wpinv_cart_discount text-right"><span data-discount="' . $amount . '" class="wpinv_cart_discount_amount">&ndash;' . wpinv_price(wpinv_format_amount($amount)) . '</span></td>';
1085 1085
         ob_start();
1086
-        do_action( 'wpinv_checkout_table_discount_last', $items );
1086
+        do_action('wpinv_checkout_table_discount_last', $items);
1087 1087
         $html .= ob_get_clean();
1088 1088
         $html .= '</tr>';
1089 1089
     }
1090 1090
 
1091
-    return apply_filters( 'wpinv_get_cart_discounts_html', $html, $discounts, $rate );
1091
+    return apply_filters('wpinv_get_cart_discounts_html', $html, $discounts, $rate);
1092 1092
 }
1093 1093
 
1094
-function wpinv_display_cart_discount( /** @scrutinizer ignore-unused */ $formatted = false, $echo = false ) {
1094
+function wpinv_display_cart_discount(/** @scrutinizer ignore-unused */ $formatted = false, $echo = false) {
1095 1095
     $discounts = wpinv_get_cart_discounts();
1096 1096
 
1097
-    if ( empty( $discounts ) ) {
1097
+    if (empty($discounts)) {
1098 1098
         return false;
1099 1099
     }
1100 1100
 
1101
-    $discount_id  = wpinv_get_discount_id_by_code( $discounts[0] );
1102
-    $amount       = wpinv_format_discount_rate( wpinv_get_discount_type( $discount_id ), wpinv_get_discount_amount( $discount_id ) );
1101
+    $discount_id  = wpinv_get_discount_id_by_code($discounts[0]);
1102
+    $amount       = wpinv_format_discount_rate(wpinv_get_discount_type($discount_id), wpinv_get_discount_amount($discount_id));
1103 1103
 
1104
-    if ( $echo ) {
1104
+    if ($echo) {
1105 1105
         echo $amount;
1106 1106
     }
1107 1107
 
@@ -1109,65 +1109,65 @@  discard block
 block discarded – undo
1109 1109
 }
1110 1110
 
1111 1111
 function wpinv_remove_cart_discount() {
1112
-    if ( !isset( $_GET['discount_id'] ) || ! isset( $_GET['discount_code'] ) ) {
1112
+    if (!isset($_GET['discount_id']) || !isset($_GET['discount_code'])) {
1113 1113
         return;
1114 1114
     }
1115 1115
 
1116
-    do_action( 'wpinv_pre_remove_cart_discount', absint( $_GET['discount_id'] ) );
1116
+    do_action('wpinv_pre_remove_cart_discount', absint($_GET['discount_id']));
1117 1117
 
1118
-    wpinv_unset_cart_discount( urldecode( $_GET['discount_code'] ) );
1118
+    wpinv_unset_cart_discount(urldecode($_GET['discount_code']));
1119 1119
 
1120
-    do_action( 'wpinv_post_remove_cart_discount', absint( $_GET['discount_id'] ) );
1120
+    do_action('wpinv_post_remove_cart_discount', absint($_GET['discount_id']));
1121 1121
 
1122
-    wp_redirect( wpinv_get_checkout_uri() ); wpinv_die();
1122
+    wp_redirect(wpinv_get_checkout_uri()); wpinv_die();
1123 1123
 }
1124
-add_action( 'wpinv_remove_cart_discount', 'wpinv_remove_cart_discount' );
1124
+add_action('wpinv_remove_cart_discount', 'wpinv_remove_cart_discount');
1125 1125
 
1126 1126
 function wpinv_maybe_remove_cart_discount() {
1127 1127
     $discounts = wpinv_get_cart_discounts();
1128 1128
 
1129
-    if ( !$discounts ) {
1129
+    if (!$discounts) {
1130 1130
         return;
1131 1131
     }
1132 1132
 
1133
-    $discounts = array_filter( $discounts );
1134
-    foreach ( $discounts as $discount ) {
1135
-        if ( !wpinv_is_discount_valid( $discount ) ) {
1136
-            wpinv_unset_cart_discount( $discount );
1133
+    $discounts = array_filter($discounts);
1134
+    foreach ($discounts as $discount) {
1135
+        if (!wpinv_is_discount_valid($discount)) {
1136
+            wpinv_unset_cart_discount($discount);
1137 1137
         }
1138 1138
     }
1139 1139
 }
1140
-add_action( 'wpinv_post_remove_from_cart', 'wpinv_maybe_remove_cart_discount' );
1140
+add_action('wpinv_post_remove_from_cart', 'wpinv_maybe_remove_cart_discount');
1141 1141
 
1142 1142
 function wpinv_multiple_discounts_allowed() {
1143
-    $ret = wpinv_get_option( 'allow_multiple_discounts', false );
1144
-    return (bool) apply_filters( 'wpinv_multiple_discounts_allowed', $ret );
1143
+    $ret = wpinv_get_option('allow_multiple_discounts', false);
1144
+    return (bool) apply_filters('wpinv_multiple_discounts_allowed', $ret);
1145 1145
 }
1146 1146
 
1147
-function wpinv_get_discount_label( $code, $echo = true ) {
1148
-    $label = wp_sprintf( __( 'Discount%1$s', 'invoicing' ), ( $code != '' && $code != 'none' ? ' (<code>' . $code . '</code>)': '' ) );
1149
-    $label = apply_filters( 'wpinv_get_discount_label', $label, $code );
1147
+function wpinv_get_discount_label($code, $echo = true) {
1148
+    $label = wp_sprintf(__('Discount%1$s', 'invoicing'), ($code != '' && $code != 'none' ? ' (<code>' . $code . '</code>)' : ''));
1149
+    $label = apply_filters('wpinv_get_discount_label', $label, $code);
1150 1150
 
1151
-    if ( $echo ) {
1151
+    if ($echo) {
1152 1152
         echo $label;
1153 1153
     } else {
1154 1154
         return $label;
1155 1155
     }
1156 1156
 }
1157 1157
 
1158
-function wpinv_cart_discount_label( $code, $rate, $echo = true ) {
1159
-    $label = wp_sprintf( __( 'Discount: %s', 'invoicing' ), $code );
1160
-    $label = apply_filters( 'wpinv_cart_discount_label', $label, $code, $rate );
1158
+function wpinv_cart_discount_label($code, $rate, $echo = true) {
1159
+    $label = wp_sprintf(__('Discount: %s', 'invoicing'), $code);
1160
+    $label = apply_filters('wpinv_cart_discount_label', $label, $code, $rate);
1161 1161
 
1162
-    if ( $echo ) {
1162
+    if ($echo) {
1163 1163
         echo $label;
1164 1164
     } else {
1165 1165
         return $label;
1166 1166
     }
1167 1167
 }
1168 1168
 
1169
-function wpinv_check_delete_discount( $check, $post ) {
1170
-    if ( $post->post_type == 'wpi_discount' && wpinv_get_discount_uses( $post->ID ) > 0 ) {
1169
+function wpinv_check_delete_discount($check, $post) {
1170
+    if ($post->post_type == 'wpi_discount' && wpinv_get_discount_uses($post->ID) > 0) {
1171 1171
         return true;
1172 1172
     }
1173 1173
 
@@ -1178,33 +1178,33 @@  discard block
 block discarded – undo
1178 1178
     global $wpi_checkout_id;
1179 1179
 
1180 1180
     $discounts = wpinv_get_cart_discounts();
1181
-    $discounts = array_filter( $discounts );
1181
+    $discounts = array_filter($discounts);
1182 1182
 
1183
-    if ( !empty( $discounts ) ) {
1183
+    if (!empty($discounts)) {
1184 1184
         $invalid = false;
1185 1185
 
1186
-        foreach ( $discounts as $key => $code ) {
1187
-            if ( !wpinv_is_discount_valid( $code, (int)wpinv_get_user_id( $wpi_checkout_id ) ) ) {
1186
+        foreach ($discounts as $key => $code) {
1187
+            if (!wpinv_is_discount_valid($code, (int) wpinv_get_user_id($wpi_checkout_id))) {
1188 1188
                 $invalid = true;
1189 1189
 
1190
-                wpinv_unset_cart_discount( $code );
1190
+                wpinv_unset_cart_discount($code);
1191 1191
             }
1192 1192
         }
1193 1193
 
1194
-        if ( $invalid ) {
1194
+        if ($invalid) {
1195 1195
             $errors = wpinv_get_errors();
1196
-            $error  = !empty( $errors['wpinv-discount-error'] ) ? $errors['wpinv-discount-error'] . ' ' : '';
1197
-            $error  .= __( 'The discount has been removed from cart.', 'invoicing' );
1198
-            wpinv_set_error( 'wpinv-discount-error', $error );
1196
+            $error  = !empty($errors['wpinv-discount-error']) ? $errors['wpinv-discount-error'] . ' ' : '';
1197
+            $error .= __('The discount has been removed from cart.', 'invoicing');
1198
+            wpinv_set_error('wpinv-discount-error', $error);
1199 1199
 
1200
-            wpinv_recalculate_tax( true );
1200
+            wpinv_recalculate_tax(true);
1201 1201
         }
1202 1202
     }
1203 1203
 }
1204
-add_action( 'wpinv_before_checkout_form', 'wpinv_checkout_form_validate_discounts', -10 );
1204
+add_action('wpinv_before_checkout_form', 'wpinv_checkout_form_validate_discounts', -10);
1205 1205
 
1206 1206
 function wpinv_discount_amount() {
1207 1207
     $output = 0.00;
1208 1208
 
1209
-    return apply_filters( 'wpinv_discount_amount', $output );
1209
+    return apply_filters('wpinv_discount_amount', $output);
1210 1210
 }
1211 1211
\ No newline at end of file
Please login to merge, or discard this patch.